From: SangJin Kim Date: Wed, 9 Nov 2016 12:20:48 +0000 (+0900) Subject: Revert "add data encryption feature" X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eaed2ffee004baeb6835210a5475097c6bbfa150;p=sdk%2Ftools%2Fsdb.git Revert "add data encryption feature" This reverts commit 37b3b97cb063f6e8296ee1e4004ebc6af778f465. Change-Id: Ie848df07e90f2ca2fbe2e52fdc47b9c91fca529e --- diff --git a/Makefile b/Makefile index d9044f2..9f1886c 100644 --- a/Makefile +++ b/Makefile @@ -6,14 +6,9 @@ # HOST_OS := $(shell uname -s | tr A-Z a-z | cut -d'_' -f1) LBITS := $(shell getconf LONG_BIT) -BINDIR := ./bin +OBJDIR := bin MODULE := sdb -ENCLIB := spc -ENCLIB_BUILD_PATH := ./SPC/gcc -ENCLIB_CFLAGS := -I./SPC/Inc -ENCLIB_LFLAGS := ./SPC/gcc/build/linux/libPAKEClient.a - # sdb host tool # ========================================================= @@ -48,7 +43,7 @@ ifeq ($(HOST_OS),mingw32) endif -SDB_SRC_CFILES := \ +SDB_SRC_FILES := \ src/sdb.c \ src/transport.c \ src/transport_local.c \ @@ -74,51 +69,24 @@ SDB_SRC_CFILES := \ src/sdb_map.c \ src/sdb_messages.c \ src/adb_auth_host.c - -SDB_SRC_CPPFILES := \ - src/encryption.cpp \ - src/SPCManager.cpp SDB_CFLAGS := -O2 -g -Wall -Wno-unused-parameter SDB_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE -SDB_CFLAGS += -DSUPPORT_ENCRYPT SDB_CFLAGS += -Iinclude -Isrc SDB_CFLAGS += $(LOCAL_CFLAGS) -SDB_CFLAGS += $(ENCLIB_CFLAGS) - ifeq ($(MAKE_DEBUG),true) SDB_CFLAGS += -DMAKE_DEBUG endif SDB_LFLAGS := $(LOCAL_LFLAGS) -SDB_LFLAGS += $(ENCLIB_LFLAGS) STATIC_LFLAGS := $(LOCAL_STATIC_LFLAGS) -OBJS=${SDB_SRC_CFILES:%.c=%.o} ${SDB_SRC_CPPFILES:%.cpp=%.o} - -%.o : %.c - @echo "<<< ${>> $(ENCLIB)" - $(MAKE) -C $(ENCLIB_BUILD_PATH) - - @echo ">>> $@" - @mkdir -p $(BINDIR) - $(CXX) -o $(BINDIR)/$@ $^ $(SDB_LFLAGS) $(STATIC_LFLAGS) +sdb : $(SDB_SRC_FILES) + mkdir -p $(OBJDIR) + $(CC) $(SDB_CFLAGS) -o $(OBJDIR)/$(MODULE) $(SDB_SRC_FILES) $(LOCAL_IFLAGS) $(SDB_LFLAGS) $(STATIC_LFLAGS) clean : - $(MAKE) -C $(ENCLIB_BUILD_PATH) clean - rm -rf src/*.o - rm -rf $(BINDIR) + rm -rf $(OBJDIR) diff --git a/SPC/Inc/CC_API.h b/SPC/Inc/CC_API.h deleted file mode 100755 index fe46a25..0000000 --- a/SPC/Inc/CC_API.h +++ /dev/null @@ -1,221 +0,0 @@ -/** - * \file CC_API.h - * @brief API of samsung Crypto Library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jae Heung Lee - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/06 - */ - -#ifndef _CRYPTOCORE_API_H -#define _CRYPTOCORE_API_H - -#include "CryptoCore.h" - - -typedef union -{ - SDRM_X931Context *x931ctx; //RNG : ANSI X9.31 Context - SDRM_MD5Context *md5ctx; //Hash : MD5 Hash Context - SDRM_SHA1Context *sha1ctx; //Hash : SHA1 Hash Context - SDRM_SHA224Context *sha224ctx; //Hash : SHA224 Hash Context - SDRM_SHA256Context *sha256ctx; //Hash : SHA256 Hash Context -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context *sha384ctx; //Hash : SHA384 Hash Context - SDRM_SHA512Context *sha512ctx; //Hash : SHA512 Hash Context -#endif //_OP64_NOTSUPPORTED - SDRM_CMACContext *cmacctx; //MAC : C-MAC Context - SDRM_HMACContext *hmacctx; //MAC : Hash MAC - SDRM_DHContext *dhctx; //Key Exchange : DH Key Exchange Protocol - SDRM_ECDHContext *ecdhctx; //Key Exchange : EC-DH Key Exchange Protocol - SDRM_AESContext *aesctx; //Symmetric Encryption : AES Encryption Context - SDRM_DESContext *desctx; //Symmetric Encryption : DES Encryption Context - SDRM_TDESContext *tdesctx; //Symmetric Encryption : Triple DES Encryption Context - SDRM_RC4Context *rc4ctx; //Symmetric Encryption : RC4 Encryption Context - SDRM_SNOW2Context *snow2ctx; //Symmetric Encryption : SNOW2 Encryption Context - SDRM_RSAContext *rsactx; //Asymmetric Encryption and Signature : RSA Context - SDRM_DSAContext *dsactx; //Digital Signature : DSA Signature Context - SDRM_ECDSAContext *ecdsactx; //Digital Signature : EC-DSA Signature Context -} CryptoCoreCTX; - - -/** - * @brief Parameter sturcture - * - * Crypto Library¸¦ ½±°Ô »ç¿ëÇϱâ À§ÇØ »ç¿ëÇÏ´Â Parameter structure - */ -typedef struct _CryptoCoreContainer -{ - int alg; /**< Algorithm */ - CryptoCoreCTX *ctx; /**< Algorithm */ - - // Pseudo Random Number Generation (ANSI X9.17) - int (*PRNG_seed) (struct _CryptoCoreContainer *crt, cc_u8 *seed); - int (*PRNG_get) (struct _CryptoCoreContainer *crt, cc_u32 bitlength, cc_u8 *data); - - // Message Digest (MD5, SHA-1) - int (*MD_init) (struct _CryptoCoreContainer *crt); - int (*MD_update) (struct _CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - int (*MD_final) (struct _CryptoCoreContainer *crt, cc_u8 *output); - int (*MD_getHASH) (struct _CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - - // Message Authentication Code (CMAC, HMAC MD5, HMAC SHA-1) - int (*MAC_init) (struct _CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen); - int (*MAC_update) (struct _CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen); - int (*MAC_final) (struct _CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen); - int (*MAC_getMAC) (struct _CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen); - - // Key Exchange (DH, ECDH) - int (*DH_GenerateParam) (struct _CryptoCoreContainer *crt, cc_u8* pPrime, cc_u32 nPrimeLen, cc_u8* pGenerator); - int (*DH_SetParam) (struct _CryptoCoreContainer *crt, cc_u8* pPrime, cc_u32 nPrimeLen, cc_u8* nGenerator, cc_u32 nGeneratorLen); - int (*DH_Gen1stPhaseKey) (struct _CryptoCoreContainer *crt, cc_u8* pPriv, cc_u8* pPub); - int (*DH_GenAuthKey) (struct _CryptoCoreContainer *crt, cc_u8* pPriv, cc_u8* pPub, cc_u8* pSharedSecret); - int (*ECDH_Gen1stPhaseKey) (struct _CryptoCoreContainer *crt, cc_u8* pDH_Xk, cc_u8* pDH1stPhaseKey); - int (*ECDH_GenAuthKey) (struct _CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth); - - // Symmetric Encryption (DES, 3DES, AES, RC4, SNOW) - // mode example : ENC_ECB, DEC_ECB, ENC_CBC, DEC_CBC, ... - int (*SE_init) (struct _CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV); - int (*SE_process) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - int (*SE_final) (struct _CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen); - // Simple AES Function - int (*SE_EncryptOneBlock) (cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); - int (*SE_DecryptOneBlock) (cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - - // Asymmetric Encryption (RSA, Elgamal, EC-Elgamal) - int (*AE_encrypt) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - int (*AE_decrypt) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - int (*AE_decryptByCRT) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - - // Digital Signature (DSA, EC-DSA) - int (*DS_sign) (struct _CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen); - int (*DS_verify) (struct _CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result); - int (*DSA_genParam)( - struct _CryptoCoreContainer *crt, cc_u32 T_Siz, - cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len - ); - int (*DSA_setParam)( - struct _CryptoCoreContainer *crt, - cc_u8 *DSA_P_Data, cc_u32 DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 DSA_G_Len - ); - int (*DSA_genKeypair)( - struct _CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len - ); - int (*DSA_setKeyPair)( - struct _CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len - ); - - // RSA Support Functions - int (*RSA_genKeypair)( - struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 *RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len - ); - int (*RSA_genKeypairWithE)( - struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len - ); - int (*RSA_genKeyDWithPQE)( - struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len - ); - int (*RSA_setKeypair)( - struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 RSA_D_Len - ); - int (*RSA_setKeypairForCRT)( - struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 RSA_D_Len, - cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - cc_u8* RSA_DmodP1_Data, cc_u32 RSA_DmodP1_Len, - cc_u8* RSA_DmodQ1_Data, cc_u32 RSA_DmodQ1_Len, - cc_u8* RSA_iQmodP_Data, cc_u32 RSA_iQmodP_Len - ); - - // ECC Support Functions (EC-DSA, EC-Dlgamal) - int (*EC_setCurve)( - struct _CryptoCoreContainer *crt, cc_u16 Dimension, - cc_u8* ECC_P_Data, cc_u32 ECC_P_Len, - cc_u8* ECC_A_Data, cc_u32 ECC_A_Len, - cc_u8* ECC_B_Data, cc_u32 ECC_B_Len, - cc_u8* ECC_G_X_Data, cc_u32 ECC_G_X_Len, - cc_u8* ECC_G_Y_Data, cc_u32 ECC_G_Y_Len, - cc_u8* ECC_R_Data, cc_u32 ECC_R_Len - ); - int (*EC_genKeypair)( - struct _CryptoCoreContainer *crt, - cc_u8 *PrivateKey, cc_u32 *PrivateKeyLen, - cc_u8 *PublicKey_X, cc_u32 *PublicKey_XLen, - cc_u8 *PublicKey_Y, cc_u32 *PublicKey_YLen - ); - int (*EC_setKeypair)( - struct _CryptoCoreContainer *crt, - cc_u8* PRIV_Data, cc_u32 PRIV_Len, - cc_u8* PUB_X_Data, cc_u32 PUB_X_Len, - cc_u8* PUB_Y_Data, cc_u32 PUB_Y_Len - ); - -} CryptoCoreContainer; - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn create_CryptoCoreContainer - * @brief memory allocation and initialize the CryptoCoreContainer sturcture - * - * @param algorithm [in]algorithm want to use - * - * @return address of created sturcture - */ -CRYPTOCORE_INTERNAL CryptoCoreContainer ECRYPTO_API *create_CryptoCoreContainer(cc_u32 algorithm); - -/* - * @fn destroy_CryptoCoreContainer - * @brief free allocated memory - * - * @param crt [in]CryptoCoreContainer context - * - * @return void - */ -CRYPTOCORE_INTERNAL void ECRYPTO_API destroy_CryptoCoreContainer(CryptoCoreContainer* crt); - -/* - * @fn CCMalloc - * @brief memory allocation and initialize for CryptoCore - * - * @param crt [in]size - */ -CRYPTOCORE_INTERNAL void ECRYPTO_API *CCMalloc(int siz); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/CC_Constants.h b/SPC/Inc/CC_Constants.h deleted file mode 100755 index b9e84df..0000000 --- a/SPC/Inc/CC_Constants.h +++ /dev/null @@ -1,159 +0,0 @@ -/** - * \file CC_Constants.h - * @brief define constants for crypto library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon, Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/09/28 - * $Id$ - */ - -#ifndef _DRM_CONSTANTS_H -#define _DRM_CONSTANTS_H - -#define SDRM_SHIFT_HALF 16 /**< common value at both of 32-bit and 64-bit machine */ -#define SDRM_HIGH_HALF(A) ((A) >> SDRM_SHIFT_HALF) -#define SDRM_LOW_HALF(A) ((A) & ((1 << SDRM_SHIFT_HALF) - 1)) - -//////////////////////////////////////////////////////////////////////////// -// Algorithm Identifier -//////////////////////////////////////////////////////////////////////////// -enum CryptoAlgorithm { - /*! @brief RNG Module */ - ID_X931 = 1011, - - /*! @brief Hash Algorithms */ - ID_MD5 = 1021, - ID_SHA1 = 1022, - ID_SHA160 = 1022, - ID_SHA256 = 1023, -#ifndef _OP64_NOTSUPPORTED - ID_SHA384 = 1024, - ID_SHA512 = 1025, -#endif //_OP64_NOTSUPPORTED - ID_SHA224 = 1026, - - /*! @brief MAC Algorithms */ - ID_CMAC = 1031, - ID_HMD5 = 1032, - ID_HSHA1 = 1033, - ID_HSHA160 = 1033, - ID_HSHA256 = 1034, -#ifndef _OP64_NOTSUPPORTED - ID_HSHA384 = 1035, - ID_HSHA512 = 1036, -#endif //_OP64_NOTSUPPORTED - ID_HSHA224 = 1037, - - /*! @brief Symmetric Encryption Algorithms */ - ID_AES = 1041, - ID_AES128 = 1041, - ID_AES192 = 1047, - ID_AES256 = 1048, - ID_DES = 1042, - ID_TDES = 1043, - ID_TDES_EDE2 = 1043, - ID_TDES_EDE3 = 1044, - ID_RC4 = 1045, - ID_SNOW2 = 1046, - - /*! @brief Asymmetric Encryption Algorithms */ - ID_RSA = 1051, - ID_RSA512 = 1057, - ID_RSA1024 = 1054, - ID_RSA2048 = 1055, - ID_RSA3072 = 1056, - ID_ELGAMAL = 1052, - ID_ECELGAMAL = 1053, - - /*! @brief Signature Algorithms */ - ID_DSA = 1061, - ID_ECDSA = 1062, - - /*! @brief Key Exchange Algorithms */ - ID_DH = 1071, - ID_ECDH = 1072, - - /*! @brief Encryption/Decryption Mode of Operations */ - ID_ENC_ECB = 1111, - ID_ENC_CBC = 1112, - ID_ENC_CFB = 1113, - ID_ENC_OFB = 1114, - ID_ENC_CTR = 1115, - - ID_DEC_ECB = 1121, - ID_DEC_CBC = 1122, - ID_DEC_CFB = 1123, - ID_DEC_OFB = 1124, - ID_DEC_CTR = 1125, - - /*! @brief Symmetric Encryption/Decryption Padding Methods */ - ID_PKCS5 = 1201, - ID_SSL_PADDING = 1202, - ID_ZERO_PADDING = 1203, - ID_NO_PADDING = 1204, - - /*! @brief Asymmetric Encryption/Decryption Padding Methods */ - ID_RSAES_PKCS15 = 1131, - - ID_RSAES_OAEP = 1132, - ID_RSAES_OAEP_MD5 = ID_RSAES_OAEP + (ID_MD5 << SDRM_SHIFT_HALF), - ID_RSAES_OAEP_SHA1 = ID_RSAES_OAEP + (ID_SHA1 << SDRM_SHIFT_HALF), - ID_RSAES_OAEP_SHA160 = ID_RSAES_OAEP + (ID_SHA160 << SDRM_SHIFT_HALF), - ID_RSAES_OAEP_SHA256 = ID_RSAES_OAEP + (ID_SHA256 << SDRM_SHIFT_HALF), -#ifndef _OP64_NOTSUPPORTED - ID_RSAES_OAEP_SHA384 = ID_RSAES_OAEP + (ID_SHA384 << SDRM_SHIFT_HALF), - ID_RSAES_OAEP_SHA512 = ID_RSAES_OAEP + (ID_SHA512 << SDRM_SHIFT_HALF), -#endif - - ID_RSASSA_PKCS15 = 1133, - ID_RSASSA_PKCS15_MD5 = ID_RSASSA_PKCS15 + (ID_MD5 << SDRM_SHIFT_HALF), - ID_RSASSA_PKCS15_SHA1 = ID_RSASSA_PKCS15 + (ID_SHA1 << SDRM_SHIFT_HALF), - ID_RSASSA_PKCS15_SHA160 = ID_RSASSA_PKCS15 + (ID_SHA160 << SDRM_SHIFT_HALF), - ID_RSASSA_PKCS15_SHA256 = ID_RSASSA_PKCS15 + (ID_SHA256 << SDRM_SHIFT_HALF), -#ifndef _OP64_NOTSUPPORTED - ID_RSASSA_PKCS15_SHA384 = ID_RSASSA_PKCS15 + (ID_SHA384 << SDRM_SHIFT_HALF), - ID_RSASSA_PKCS15_SHA512 = ID_RSASSA_PKCS15 + (ID_SHA512 << SDRM_SHIFT_HALF), -#endif - - ID_RSASSA_PSS = 1134, - ID_RSASSA_PSS_MD5 = ID_RSASSA_PSS + (ID_MD5 << SDRM_SHIFT_HALF), - ID_RSASSA_PSS_SHA1 = ID_RSASSA_PSS + (ID_SHA1 << SDRM_SHIFT_HALF), - ID_RSASSA_PSS_SHA160 = ID_RSASSA_PSS + (ID_SHA160 << SDRM_SHIFT_HALF), - ID_RSASSA_PSS_SHA256 = ID_RSASSA_PSS + (ID_SHA256 << SDRM_SHIFT_HALF), -#ifndef _OP64_NOTSUPPORTED - ID_RSASSA_PSS_SHA384 = ID_RSASSA_PSS + (ID_SHA384 << SDRM_SHIFT_HALF), - ID_RSASSA_PSS_SHA512 = ID_RSASSA_PSS + (ID_SHA512 << SDRM_SHIFT_HALF) -#endif -}; - -//////////////////////////////////////////////////////////////////////////// -// Constants Definitions -//////////////////////////////////////////////////////////////////////////// -/*! @brief Endianness */ -#define CRYPTO_LITTLE_ENDIAN 0 -#define CRYPTO_BIG_ENDIAN 1 - -//////////////////////////////////////////////////////////////////////////// -// Crypto Error Code -//////////////////////////////////////////////////////////////////////////// -#define CRYPTO_SUCCESS 0 /**< no error is occured */ -#define CRYPTO_ERROR -3000 /**< error is occured */ -#define CRYPTO_MEMORY_ALLOC_FAIL -3001 /**< malloc is failed */ -#define CRYPTO_NULL_POINTER -3002 /**< parameter is null pointer */ -#define CRYPTO_INVALID_ARGUMENT -3003 /**< argument is not correct */ -#define CRYPTO_MSG_TOO_LONG -3004 /**< length of input message is too long */ -#define CRYPTO_VALID_SIGN CRYPTO_SUCCESS /**< valid sign */ -#define CRYPTO_INVALID_SIGN -3011 /**< invalid sign */ -#define CRYPTO_ISPRIME CRYPTO_SUCCESS /**< prime number */ -#define CRYPTO_INVERSE_NOT_EXIST -3012 /**< inverse is no exists */ -#define CRYPTO_NEGATIVE_INPUT -3013 /**< argument is negative */ -#define CRYPTO_INFINITY_INPUT -3014 /**< input is infinity */ -#define CRYPTO_BUFFER_TOO_SMALL -3015 /**< buffer to small */ - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/CC_Context.h b/SPC/Inc/CC_Context.h deleted file mode 100755 index 7fa6f79..0000000 --- a/SPC/Inc/CC_Context.h +++ /dev/null @@ -1,387 +0,0 @@ -/** - * \file CC_Context.h - * @brief context definitions for samsung Crypto Library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon, Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/07 - */ - -#ifndef _DRM_CONTEXT_H -#define _DRM_CONTEXT_H - -#include "CC_Type.h" - -//////////////////////////////////////////////////////////////////////////// -// constant & context for Big Number Operation -//////////////////////////////////////////////////////////////////////////// -/** - * @brief Big number structure - * - * used for big number representation - */ -typedef struct { - cc_u32 sign; /**< 0 for positive, 1 for negative number */ - cc_u32 Length; /**< number of valid integers */ - cc_u32 Size; /**< unsigned long size of allocated memory */ - cc_u32 *pData; /**< unsigned long array */ -} SDRM_BIG_NUM; - -/** - * @brief Parameter sturcture - * - * Montgomery ¾Ë°í¸®ÁòÀ» »ç¿ëÇϱâ À§ÇØ »ç¿ëÇÏ´Â Parameter structure - */ -typedef struct { /**< Structure to keep parameters for Montgomery */ - cc_u32 ri; /**< Length of Modulus */ - SDRM_BIG_NUM *R; /**< R^2 mod m */ - SDRM_BIG_NUM *Mod; /**< modulus */ - SDRM_BIG_NUM *Inv_Mod; /**< Inverse of Modulus */ - cc_u32 N0; /**< m' */ -} SDRM_BIG_MONT; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for Elliptic Curve Crypto System -//////////////////////////////////////////////////////////////////////////// -#define SDRM_ECC_BN_BUFSIZE 19 //allows max 256 bit curve(uint32_len * 2 + 3) -#define SDRM_ECC_ALLOC_SIZE (sizeof(SDRM_BIG_NUM) + SDRM_ECC_BN_BUFSIZE * SDRM_SIZE_OF_DWORD) - -/** - * @brief EC Point structure - * - * used for representation of one point at ECC curve - */ -typedef struct { - cc_u32 IsInfinity; /**< if infinity , then 1 else 0 */ - SDRM_BIG_NUM *x; /**< prime(1024 + 128i bits i=0..8) */ - SDRM_BIG_NUM *y; /**< subprime(128 + 32j bits j=0..4) */ - SDRM_BIG_NUM *z; - SDRM_BIG_NUM *z2; - SDRM_BIG_NUM *z3; -} SDRM_EC_POINT; - -/** - * @brief ECC Context structure - * - * used for parameters for ECC curve - */ -typedef struct { - cc_u32 uDimension; /**< Dimension */ - SDRM_BIG_NUM *ECC_p; /**< GF(p) */ - SDRM_BIG_NUM *ECC_a; /**< y^2 = x^3 + ax + b */ - SDRM_BIG_NUM *ECC_b; - SDRM_BIG_NUM *ECC_n; /**< order of base point */ - SDRM_EC_POINT *ECC_G; /**< Base point */ - SDRM_BIG_NUM *PRIV_KEY; /**< private key */ - SDRM_EC_POINT *PUBLIC_KEY; -} SDRM_ECC_CTX; - -typedef SDRM_ECC_CTX SDRM_ECDSAContext; -typedef SDRM_ECC_CTX SDRM_ECELContext; -typedef SDRM_ECC_CTX SDRM_ECDHContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for ANSI X9.31 PRNG -//////////////////////////////////////////////////////////////////////////// -#define SDRM_X931_SEED_SIZ 16 - -/** - * @brief X931 Context structure - * - * used for maintain seed vaule for random number generation - */ -typedef struct { - cc_u8 Seed[SDRM_X931_SEED_SIZ]; /**< Seed */ -} SDRM_X931Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for AES-128 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_AES_BLOCK_SIZ 16 - -/** - * @brief AES Context structure - * - * used for aes parameters - */ -typedef struct { - cc_u32 moo; /**< mode of operations */ - cc_u32 padding; /**< padding method */ - cc_u8 IV[SDRM_AES_BLOCK_SIZ]; /**< Initial Vector */ - cc_u8 Block[SDRM_AES_BLOCK_SIZ]; /**< remained msg block */ - cc_u32 BlockLen; /**< length of Block */ - cc_u8 RoundKey[16*(14 + 1)]; /**< round key */ - cc_u32 CTR_Count; /**< counter for CTR mode */ -} SDRM_AESContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for SHA-1 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_SHA1_BLOCK_SIZ 20 -#define SDRM_SHA1_DATA_SIZE 64 -/** - * @brief SHA1 Context structure - * - * used for SHA1 parameters - */ -typedef struct { - cc_u32 digest[SDRM_SHA1_BLOCK_SIZ / 4]; /**< Message digest */ - cc_u32 countLo, countHi; /**< 64-bit bit count */ - cc_u32 data[16]; /**< SHS data buffer */ - int Endianness; -} SDRM_SHA1Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for SHA-256 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_SHA256_BLOCK_SIZ 32 -#define SDRM_SHA256_DATA_SIZE (512 / 8) -/** - * @brief SHA256 Context structure - * - * used for SHA256 parameters - */ -typedef struct { - cc_u32 tot_len; - cc_u32 len; - cc_u8 block[2 * SDRM_SHA256_DATA_SIZE]; - cc_u32 h[8]; -} SDRM_SHA256Context; - -#ifndef _OP64_NOTSUPPORTED - -//////////////////////////////////////////////////////////////////////////// -// constant & context for SHA-384 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_SHA384_BLOCK_SIZ 48 -#define SDRM_SHA384_DATA_SIZE (1024 / 8) -/** - * @brief SHA384 Context structure - * - * used for SHA384 parameters - */ -typedef struct { - cc_u32 tot_len; - cc_u32 len; - cc_u8 block[2 * SDRM_SHA384_DATA_SIZE]; - cc_u64 h[8]; -} SDRM_SHA384Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for SHA-512 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_SHA512_BLOCK_SIZ 64 -#define SDRM_SHA512_DATA_SIZE SDRM_SHA384_DATA_SIZE -/** - * @brief SHA512 Context structure - * - * used for SHA512 parameters - */ -typedef SDRM_SHA384Context SDRM_SHA512Context; - -#endif //_OP64_NOTSUPPORTED - -//////////////////////////////////////////////////////////////////////////// -// constant & context for SHA-224 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_SHA224_BLOCK_SIZ 28 -#define SDRM_SHA224_DATA_SIZE SDRM_SHA256_DATA_SIZE -/** - * \brief SHA224 Context structure - * - * used for SHA224 parameters - */ -typedef SDRM_SHA256Context SDRM_SHA224Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for MD5 -//////////////////////////////////////////////////////////////////////////// -#define SDRM_MD5_BLOCK_SIZ 16 -#define SDRM_MD5_DATA_SIZE 64 -/** - * @brief MD5 Context structure - * - * used for MD5 parameters - */ -typedef struct { - cc_u32 state[4]; /**< state *ABCD */ - cc_u32 count[2]; /**< number of bits, modulo 2^64 (lsb first) */ - cc_u8 buffer[64]; /**< input buffer */ -} SDRM_MD5Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for C-MAC Generation -//////////////////////////////////////////////////////////////////////////// -/** - * @brief C-MAC Context structure - * - * used for aes parameters - */ -typedef struct { - cc_u8 IV[SDRM_AES_BLOCK_SIZ]; /**< Initial Vector */ - cc_u8 Block[SDRM_AES_BLOCK_SIZ]; /**< remained msg block */ - cc_u32 BlockLen; /**< length of Block */ - cc_u8 K1[SDRM_AES_BLOCK_SIZ]; - cc_u8 K2[SDRM_AES_BLOCK_SIZ]; - cc_u8 RoundKey[16*(10 + 1)]; -} SDRM_CMACContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for H-MAC Generation -//////////////////////////////////////////////////////////////////////////// -/** - * @brief C-MAC Context structure - * - * used for aes parameters - */ -typedef struct { - cc_u32 algorithm; /**< algorithm */ - SDRM_SHA1Context *sha1_ctx; /**< SHA-160 context */ - SDRM_SHA224Context *sha224_ctx; /**< SHA-224 context */ - SDRM_SHA256Context *sha256_ctx; /**< SHA-256 context */ -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context *sha384_ctx; /**< SHA-384 context */ - SDRM_SHA512Context *sha512_ctx; /**< SHA-512 context */ -#endif //_OP64_NOTSUPPORTED - SDRM_MD5Context *md5_ctx; /**< MD5 context */ - - cc_u32 B; - cc_u8 *k0; -} SDRM_HMACContext; - -//////////////////////////////////////////////////////////////////// -// constant & context for RSA -//////////////////////////////////////////////////////////////////////////// -#define SDRM_RSA_BN_BUFSIZE (RSA_KeyByteLen / 2 + 1) -#define SDRM_RSA_ALLOC_SIZE (sizeof(SDRM_BIG_NUM) + SDRM_RSA_BN_BUFSIZE * SDRM_SIZE_OF_DWORD) - -/** - * @brief RSA Context structure - * - * used for rsa parameters - */ -typedef struct { - SDRM_BIG_NUM* n; /**< n value */ - SDRM_BIG_NUM* e; /**< public key */ - SDRM_BIG_NUM* d; /**< private key */ - SDRM_BIG_NUM* p; /**< p */ - SDRM_BIG_NUM* q; /**< q */ - SDRM_BIG_NUM* dmodp1; /**< d mod p-1 */ - SDRM_BIG_NUM* dmodq1; /**< d mod q-1 */ - SDRM_BIG_NUM* iqmodp; /**< q^-1 mod p */ - - cc_u32 crt_operation; /**< CRT Algorithm indicator */ - cc_u32 k; /**< byte-length of n */ - cc_u32 pm; /**< padding method */ - cc_u32 hash_algorithm; /**< used hash algorithm for pkcs padding */ -} SDRM_RSAContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for DSA -//////////////////////////////////////////////////////////////////////////// -#define SDRM_DSA_BN_BUFSIZE (128 / 2 + 1) -#define SDRM_DSA_ALLOC_SIZE (sizeof(SDRM_BIG_NUM) + SDRM_DSA_BN_BUFSIZE * SDRM_SIZE_OF_DWORD) - -/** - * @brief Parameter sturcture - * - * used for DSA parameters - */ -typedef struct { - SDRM_BIG_NUM* p; /**< 'p' value - prime modulus */ - SDRM_BIG_NUM* q; /**< 'q' value - prime Divisor */ - SDRM_BIG_NUM* al; /**< 'alpha' value - generator */ - SDRM_BIG_NUM* y; /**< 'y' value - public key */ - SDRM_BIG_NUM* a; /**< 'a' value - private key */ -} SDRM_DSAContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for RC4 -//////////////////////////////////////////////////////////////////////////// -typedef struct { - cc_u32 keyLen; - - cc_u32 i; - cc_u32 j; - - cc_u8 s[256]; - cc_u8 key[32]; -} SDRM_RC4Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for SNOW2 -//////////////////////////////////////////////////////////////////////////// -typedef struct { - cc_u32 s[16]; - cc_u32 r1; - cc_u32 r2; - cc_u32 keyStream; - cc_u32 usedKeyLen; - - cc_u32 t; - cc_u32 endian; //0 if little endian, 1 if bigendian - -} SDRM_SNOW2Context; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for DES -//////////////////////////////////////////////////////////////////////////// -#define SDRM_DES_BLOCK_SIZ 8 - -/** - * @brief DES Context structure - * - * used for aes parameters - */ -typedef struct { - cc_u32 moo; //mode of operations - cc_u32 padding; - cc_u8 IV[SDRM_DES_BLOCK_SIZ]; //Initial Vector - cc_u8 UserKey[SDRM_DES_BLOCK_SIZ]; - cc_u8 Block[SDRM_DES_BLOCK_SIZ]; - cc_u32 BlockLen; - cc_u32 RoundKey[16][2]; //each round key, expanded - cc_u32 CTR_Count; -} SDRM_DESContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for Triple DES -//////////////////////////////////////////////////////////////////////////// -#define SDRM_TDES_BLOCK_SIZ SDRM_DES_BLOCK_SIZ - -/** - * @brief DES Context structure - * - * used for aes parameters - */ -typedef struct { - cc_u32 moo; //mode of operations - cc_u32 padding; - cc_u8 IV[SDRM_DES_BLOCK_SIZ]; //Initial Vector - cc_u8 UserKey[SDRM_DES_BLOCK_SIZ * 3]; - cc_u8 Block[SDRM_DES_BLOCK_SIZ]; - cc_u32 BlockLen; - cc_u32 RoundKey[48][2]; //each round key, expanded - cc_u32 CTR_Count; -} SDRM_TDESContext; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for Deffie-Hellman protocol -//////////////////////////////////////////////////////////////////////////// -/** - * @brief Diffie-Hellman Context structure - * - * used for dh parameters - */ -typedef struct { - unsigned int PrimeLen; /**< length of prime */ - SDRM_BIG_NUM* p; /**< Prime */ - SDRM_BIG_NUM* g; /**< generator */ -} SDRM_DHContext; - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/CC_Type.h b/SPC/Inc/CC_Type.h deleted file mode 100755 index 65e34dd..0000000 --- a/SPC/Inc/CC_Type.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * \file CC_Type.h - * @brief data types for CryptoCore library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2008/08/26 - */ - -#ifndef _CC_TYPE_H_ -#define _CC_TYPE_H_ - -//remove symbol - -#ifndef _WIN - -#define CRYPTOCORE_INTERNAL __attribute__((visibility("hidden"))) -#else - //#define #define CRYPTOCORE_INTERNAL __attribute__((visibility("hidden"))) - #define CRYPTOCORE_INTERNAL -#endif - - -/*! @brief 1-byte data type */ -typedef unsigned char cc_u8; - -/*! @brief 2-byte data type */ -typedef unsigned short cc_u16; - -/*! @brief 4-byte data type */ -typedef unsigned int cc_u32; - -#ifndef _OP64_NOTSUPPORTED - -/*! @brief 8-byte data type */ -#ifdef _WIN32 - typedef unsigned __int64 cc_u64; -#else - typedef unsigned long long cc_u64; -#endif //_WIN32 - -#endif //_OP64_NOTSUPPORTED - -#endif //_CC_TYPE_H_ - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/CryptoCore.h b/SPC/Inc/CryptoCore.h deleted file mode 100755 index 1217619..0000000 --- a/SPC/Inc/CryptoCore.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - * \file CryptoCore.h - * @brief main header file of crypto library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/02 - */ - -#ifndef _CRYPTOCORE_H -#define _CRYPTOCORE_H - -#ifdef _USRDLL - #if defined(CRYPTOLIB_EXPORTS) - #define ECRYPTO_API __declspec(dllexport) - #elif defined(CRYPTOLIB_IMPORTS) - #define ECRYPTO_API __declspec(dllimport) - #else - #define ECRYPTO_API - #endif -#else - #define ECRYPTO_API -#endif - -//////////////////////////////////////////////////////////////////////////// -// Header File Include -//////////////////////////////////////////////////////////////////////////// -#include -#include -#include "CC_Type.h" -#include "drm_macro.h" -#include "CC_Constants.h" -#include "CC_Context.h" - -#ifdef _WIN32_WCE - #include -#else - #include -#endif - -//////////////////////////////////////////////////////////////////////////// -// Global Variable -//////////////////////////////////////////////////////////////////////////// - -#endif - -/***************************** End of File *****************************/ - diff --git a/SPC/Inc/DRMLog.h b/SPC/Inc/DRMLog.h deleted file mode 100755 index 2b26ae6..0000000 --- a/SPC/Inc/DRMLog.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef _DRMLOG_H_ -#define _DRMLOG_H_ - -#include -#include -#include - -#ifdef _MSC_VER - #ifdef DRMLOG_EXPORTS - #define DRMLOG_API __declspec(dllexport) __cdecl - #elif defined(DRMLOG_DLL) - #define DRMLOG_API __declspec(dllimport) __cdecl - #else - #define DRMLOG_API __cdecl - #endif -#elif __linux - #define DRMLOG_API -#else - #define DRMLOG_API __attribute__((cdecl)) -#endif - -#define LOG_BUFFER_LEN 1024 - -typedef struct -{ - FILE* file; - int level; - int format; -} DRMLOG_CTX; - - -/* Log level */ -typedef enum -{ - LOG_DEBUG = 1, - LOG_INFO = 2, - LOG_WARN = 3, - LOG_ERROR = 4, - LOG_FATAL = 5 -} DRMLOG_LEVEL; - - -/* Constants for logging format */ -typedef enum -{ - LOG_FORMAT_LEVEL = 0x0001, - LOG_FORMAT_TICK = 0x0002, - LOG_FORMAT_TIME = 0x0004, - LOG_FORMAT_FILE = 0x0008, - LOG_FORMAT_ALL = 0x000F -} DRMLOG_FORMAT; - -/* Macro Functions */ -//#define DRMLOG_Msg(CTX, LEV, ...) DRMLOG_Message(CTX, LEV, __FILE__, __LINE__, __VA_ARGS__) -#define DRMLOG_Msg(CTX, LEV, ...) DRMLOG_Message(CTX, LEV, __FILE__, __LINE__, ##__VA_ARGS__) -#define DRMLOG_Hexa(CTX, LEV, MSG, BUF, LEN) DRMLOG_HexaBytes(CTX, LEV, __FILE__, __LINE__, MSG, BUF, LEN) - -#ifdef __cplusplus -extern "C" { -#endif - -/*! \brief Set log format - * \param ctx log context - * \param format log format(Ex. "LOG_FORMAT_LEVEL | LOG_FORMAT_TIME") - */ -void DRMLOG_API DRMLOG_SetFormat(DRMLOG_CTX* ctx, int format); - -/*! \brief Set logging level - * \param ctx log context - * \param level logging level - */ -void DRMLOG_API DRMLOG_SetLevel(DRMLOG_CTX* ctx, int level); - -/*! \brief Set \c FILE* to be written log strings - * \param ctx log context - * \param stream Destination \c FILE*. \c stdout can be used - */ -void DRMLOG_API DRMLOG_SetOutput(DRMLOG_CTX* ctx, FILE* output_file); - -/*! \brief Log a message - * \param ctx log context - * \param level logging level - * \param format [IN] formatted string like printf followed by variable number of arguments - */ -void DRMLOG_API DRMLOG_Message(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, const char* format, ...); - -/*! \brief Log a byte array in hexadecimal format - * \param ctx log context - * \param level logging level - * \param szMsg [IN] null-terminated string for short description - * \param bytes [IN] Pointer to buffer to print - * \param len length of \a bytes in bytes - */ -void DRMLOG_API DRMLOG_HexaBytes(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, - const char* szMsg, const unsigned char* bytes, int len); - -#ifdef __cplusplus -} -#endif - -#endif // _DRMLOG_H_ diff --git a/SPC/Inc/DtcpCTcpSocket.h b/SPC/Inc/DtcpCTcpSocket.h deleted file mode 100755 index ad41511..0000000 --- a/SPC/Inc/DtcpCTcpSocket.h +++ /dev/null @@ -1,266 +0,0 @@ -/** - * \file DtcpCTcpSocket.h - * \brief DtcpCTcpSocket class - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Soyoung Lee, Sangsu Choi - * Dept : Core S/W Component Lab, Digital Media Laboratory - * Creation date : 2008/09/02 - */ - -#ifndef __DTCPCTCPSOCKET_H -#define __DTCPCTCPSOCKET_H - - -#ifdef _WIN32_ -// °¡ ¸¦ includeÇϰí -// common C++°¡ ¸¦ includeÇØ¼­ struct redefinition problemÀÌ ¹ß»ý -// ÇϹǷΠ´ÙÀ½ literalÀ» Ãß°¡ -#define _WINSOCKAPI_ - #include - #include - #include -#elif defined _ANYVIEW -// °¡ ¸¦ includeÇϰí -// common C++°¡ ¸¦ includeÇØ¼­ struct redefinition problemÀÌ ¹ß»ý -// ÇϹǷΠ´ÙÀ½ literalÀ» Ãß°¡ -#define _WINSOCKAPI_ - #include - #include - #include -#elif _LINUX - #include - #include - #include - #include - #include -#endif -#include - -#include "CC_Type.h" -//#include "DtcpCConstants.h" -//#include "DtcpCErrorCode.h" - -//////////////////////////////////////////////////////////////////////////////// -// Constants -//////////////////////////////////////////////////////////////////////////////// -#define DTCP_QUE_LIMIT 5 // Maximum outstanding connection requests -#define INFINITE_32 0xffffffff - -/** -* DtcpCTcpSocket class -*/ -class DtcpCTcpSocket -{ -public: - -#ifndef _DTCP_PLUS - /** - constructor - */ - DtcpCTcpSocket(); - /** - constructor - @param uFd (Input) - File descriptor - */ - DtcpCTcpSocket(cc_u32 uFd); - -#else - /** - constructor - */ - DtcpCTcpSocket(bool bSetTTL = true); - /** - constructor - @param uFd (Input) - File descriptor - */ - DtcpCTcpSocket(cc_u32 uFd, bool bSetTTL = true); -#endif - - /** - destructor - */ - virtual ~DtcpCTcpSocket(); - - /** - Bind ¼öÇà - @param pAddr (Input) - sockaddr structureÀÇ Æ÷ÀÎÅÍ - @return Errorcode - */ - int bindSocket(sockaddr_in* pAddr); - - /** - Connect ÇÔ¼ö ¼öÇà - @param pDest (Input) - sockaddr structureÀÇ Æ÷ÀÎÅÍ - */ - long connectSocket(sockaddr_in* pDest); - - /** - close socket ÇÔ¼ö ½ÇÇà - @return Errorcode - */ - int closeSocket(void); - - /** - TTL ¼³Á¤ - */ -#ifdef _DTCP_PLUS - void SetTTL (bool bSetTTL = true); -#else - void SetTTL (); -#endif - - /** - read method - @param pbyBuf (Output)- ÀÐÀº ¸Þ½ÃÁöÀÇ pointer - @param dwBufLen (Input)- ¹öÆÛÀÇ Å©±â - @param pdwRcvLen (Output)- ÀÐÀº ¸Þ½ÃÁöÀÇ Å©±â - @param dwMsec (Input) - timeoutÀÇ ½Ã°£ - - @return Errorcode - */ - int read(cc_u8* pbyBuf, - cc_u32 dwBufLen, - cc_u32* pdwRcvLen, - cc_u32 dwMsec); - - /* - //read in non-blocking mode - inline cc_u32 readNB(char* pchBuf, - cc_u32 dwBufLen, - cc_u32* pdwRcvLen) - { - return read(pchBuf, dwBufLen, pdwRcvLen, 0); - }; - - */ - - // query TCP socket to see how many bytes are in read buffer - /** - read buffer¾È¿¡ ÀÐÀ» ¹ÙÀÌÆ®°¡ ÀÖ´ÂÁö È®ÀÎ - @param iBufLen (Output)- ÀÐÀ» ¸Þ½ÃÁöÀÇ bytes - @return Errorcode - */ - long readBufLen(int* iBufLen); - - /** - - @param pchBuf (Input) - º¸³¾ ¸Þ½ÃÁöÀÇ Æ÷ÀÎÅÍ - @param dwBufLen (Input) - º¸³¾ ¸Þ½ÃÁöÀÇ ±æÀÌ - @param pdwSndLen (Output) - º¸³½ ¸Þ½ÃÁöÀÇ ±æÀÌ - - @return Errorcode - */ - int send(const char* pchBuf, - cc_u32 dwBufLen, - cc_u32* pdwSndLen); - - /*int send(const cc_u8* pbyBuf, - cc_u32 dwBufLen, - cc_u32* pdwSndLen); - - */ - - - /** - file descriptor ¾ò±â - @return file descriptor value - */ - inline int getFd(void) const {return m_iFd;}; - - ////////////////////////////////////////////////////////////////////// - // Address(member attributes) interface functions - /** - local Address ¾ò±â - @return address - */ - inline cc_u32 getLocalAddr(void) const {return ntohl(m_AddrLocal.sin_addr.s_addr);}; - - /** - local port host byteÇüÅ ¾ò±â - @return port - */ - inline cc_u16 getLocalPort(void) const {return ntohs(m_AddrLocal.sin_port);}; - - /** - ¸ñÀûÁö host byteÇüÅÂÀÇ ÁÖ¼Ò ¾ò±â - @return address - */ - inline cc_u32 getDestAddr(void) const {return ntohl(m_AddrDest.sin_addr.s_addr);}; - - /** - ¸ñÀûÁö host byteÇüÅÂÀÇ port ¾ò±â - @return port - */ - inline cc_u16 getDestPort(void) const {return ntohs(m_AddrDest.sin_port);}; - - /** - local address¸¦ stringÀ¸·Î ¾ò±â - @return addressÀÇ sting - */ - inline char* getLocalAddrStr(void) {return inet_ntoa(m_AddrLocal.sin_addr);}; - - /** - ¸ñÀûÁöÀÇ address¸¦ stringÀ¸·Î ¾ò±â - @return addressÀÇ string - */ - inline char* getLocalDestStr(void) {return inet_ntoa(m_AddrDest.sin_addr);}; - - ////////////////////////////////////////////////////////////////////// - // Non-blocking - /** - nonblocking ÀÎÁö °Ë»ç - @return nonblocking flag °ª - */ - inline bool isNonBlocking(void) const {return m_bNonBlocking;}; - - /** - nonblocking flag¼³Á¤ - @param bNonBlocking (Input) - nonbloking flag - @return ¼³Á¤ ¼º°ø ¿©ºÎ - */ - bool setNonBlocking(bool bNonBlocking); - - /** - listen ÇÔ¼ö - @return Errorcode - */ - int listen(void); - - /** - accept ÇÔ¼ö - @return »õ·Î¿î socket pointer - */ - DtcpCTcpSocket* accept(void); -protected: - -private: - /** - socketÀ» Åë½ÅÀ» À§ÇÑ ÃʱâÈ­(file descriptor,address copy) - @return Errorcode - */ - int init(void); - -//Variable -public: -protected: -private: -#ifdef _WIN32_ - SOCKET m_iFd; -#elif _ANYVIEW - SOCKET m_iFd; -#else - int m_iFd; -#endif - struct sockaddr_in m_AddrLocal; - struct sockaddr_in m_AddrDest; - - bool m_bNonBlocking; -#ifdef _DTCP_PLUS - bool m_bSetTTL; -#endif -}; - -#endif diff --git a/SPC/Inc/SAKEP.h b/SPC/Inc/SAKEP.h deleted file mode 100755 index a6cc268..0000000 --- a/SPC/Inc/SAKEP.h +++ /dev/null @@ -1,319 +0,0 @@ -/** - * \file SakepApi.h - * \brief API for key sharing and En/Decryption - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : sangsu choi - * Dept : S/W center Cloud Computing lab - * Creation date : 2012/10/29 - */ - -/* -Sequnce Diagram - -Client Side Server Side - ////////////////////////////////////////////////////////////////////// - AKE Step - ////////////////////////////////////////////////////////////////////// - - GeneratorServerHello ----------------------------------> - - ParseServerHello - - <---------------------------- GeneratorClientHello - - ParseClientHello - - GeneratorAck -------------------------------------------> - ParseAck - - ////////////////////////////////////////////////////////////////////// - Centent En/Decryption Step - ////////////////////////////////////////////////////////////////////// - EncryptContents------------------------------------------> - DecryptContents -*/ - -#ifndef __SAKEPAPI_H -#define __SAKEPAPI_H - -#define __STDC_LIMIT_MACROS -#include - -//#include - -#include "CC_API.h" -#include "Util.h" -#include "base/aes.h" -#include "WhiteBox/SDWAP.h" -#include "WhiteBox/SDWAP_TblGen.h" -#include "WhiteBox/SWAPv2.h" -#include "WhiteBox/SWAPv2_defines.h" -#include "DRMLog.h" - -#include "Wrapper_common.h" - -typedef uint8_t u_int8_t; - - - - -#ifndef _WIN - - #define SPC_INTERNAL __attribute__((visibility("hidden"))) -#else - #define SPC_INTERNAL -#endif - -//#define SPC_INTERNAL - -extern DRMLOG_CTX SPCLogCTX; - - -//++ added -/* -#ifndef PRINT_LOG -#define PRINT_BUFFER(A, B, C) -#else -#define PRINT_LINE(format, ...) printf(format, ##__VA_ARGS__); __android_log_print(ANDROID_LOG_INFO, "SPC_SWC", format, ##__VA_ARGS__) -#define PRINT_BUFFER(A, B, C) PrintHexBYTE(A, B, C) -#endif -*/ -//-- added - -#ifndef PRINT_LOG -#define PRINT_BUFFER(A, B, C) -#else -#define PRINT_BUFFER PrintBYTE -#endif - - - - -// Key Length -#define SAKEP_PRE_SK_MESSAGE_SIZE 396 - - -//using debugging - print hexbyte -#define PrintHexBYTE(msg, Data, DataLen) { \ - int idx; \ - printf("%10s =\n", msg); \ - for( idx=0; idx<(int)DataLen; idx++) { \ - if( (idx!=0) && ((idx%16)==0) ) printf("\n"); \ - if((idx % 4) == 0) printf(" 0x"); \ - printf("%.2x", Data[idx]); \ - } \ - printf("\n"); \ -} - - - -//Data Type -typedef enum{ - CLIENT_HELLO=0x01, - SERVER_HELLO=0x02, - SERVER_ACKNOWLEDGEMENT=0x03, - CLIENT_ACKNOWLEDGEMENT=0x04, - INITIALSETUP=0x05, - UNEXPECTED_DATA=0x10, - ENCRYPTED_DATA=0x11, - ENCRYPTED_CREDENTAIL_DATA = 0x12 -}DataType; - -typedef enum{ - NO_INTEGRITY=0x00, - CRC_32=0x01, - SHA1=0x11, - HMAC_SHA1=0x21 -}IntegrityType; - - - - -typedef enum { - NO_ENCRYPTION = 0x00, - AES_E_CRT = 0x01 -}PayloadEncAlg; - - -//#define SEQUENCE_NUM_MAX 4294967295 - -//////////////////////////////////////////////////////////////// -//v2 -/** - * \brief Big number structure - * - * used for big number representation - */ -typedef struct { - unsigned int sign; /**< 0 for positive, 1 for negative number */ - unsigned int Length; /**< number of valid integers */ - unsigned int Size; /**< unsigned long size of allocated memory */ - unsigned int *pData; /**< unsigned long array */ -} SAKEP_BIG_NUM; - -//////////////////////////////////////////////////////////////////////////// -// constant & context for DL BPKAS-SPEKE protocol -//////////////////////////////////////////////////////////////////////////// -/** - * \brief DL BPKAS-SPEKE structure - * - * used for DL BPKAS-SPEKE parameters - */ -typedef struct { - unsigned int PrimeLen; /**< length of prime */ - SDRM_BIG_NUM* p; /**< Prime */ - SDRM_BIG_NUM* g; /**< generator */ -} SAKEP_BSContext; - -typedef struct _SAKEPContainer -{ -// unsigned char pPiPrime[16]; /**< Algorithm */ - SAKEP_BSContext *ctx; /**< Algorithm */ -} SAKEPContainer; - -//////////////////////////////////////////////////////////////// - -class SAkepApi -{ - -public: - - SPC_INTERNAL SAkepApi(); - SPC_INTERNAL SAkepApi(Handle_CTX* ctx,ModeType eMode); - ~SAkepApi(); - - - /** - * @fn int GeneratorServerHello(Handle_CTX* ctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pUserID,unsigned int nUserIDLen,unsigned char* pOutMsg,unsigned int* nOutLen) - * @brief Generate Server Hello Message - * - * @param [in] ctx Context Container - * @param [in] pPwd password - * @param [in] nPwdLen password Length - * @param [in] pUserID UserID - * @param [in] nUserIDLen UserID Length - * @param [out] pOutMsg ClientHelloMessage result - * @param [out] nOutLen ClientHelloMessage Length - * @return result of GeneratorServerHello - */ - SPC_INTERNAL int GeneratorServerHello(Handle_CTX* ctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pUserID,unsigned int nUserIDLen,unsigned char* pOutMsg,unsigned int* nOutLen); - - /** - * @fn int GeneratorAck(Handle_CTX* ctx,unsigned char* pOutMsg,unsigned int* nOutLen) - * @brief Generate ACK Message - * - * @param [in] ctx Context Container - * @param [out] pOutMsg ClientHelloMessage result - * @param [out] nOutLen ClientHelloMessage Length - * @return result of GeneratorAck - */ - SPC_INTERNAL int GeneratorServerAck(Handle_CTX* ctx,unsigned char* pOutMsg,unsigned int* nOutLen); - - - - /** - * @fn int ParseAck(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen) - * @brief Parse Ack Message - * - * @param [in] ctx Context Container - * @param [in] pMessage input Message - * @param [in] nInLen input Message len - * @return result of ParseAck - */ - SPC_INTERNAL int ParserClientAck(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen); - - - /** - * @fn int ParseClientHello(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen) - * @brief Parse Client Hello Message - * - * @param [in/out] ctx Context Container - * @param [in] pMessage input Message - * @param [in] nInLen input Message Length - * @return result of ParseClientHello - */ - SPC_INTERNAL int ParseClientHello(Handle_CTX* ctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen); - - - /** - * @fn GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen) - * @brief Content Encrytion - * - * @param [in] ctx Context Container - * @param [in] pPlainData Plain Data(original data) - * @param [in] uPlainDataLen Plain Data Length - * @param [out] pEncryptedData Encrypted Message(including Header) - * @param [out] uEncryptedDataLen Encrypted Message length( Encrypted Data Length + Header length) - * @return result of GeneratorRecordMsg - */ - SPC_INTERNAL int GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen); - - /** - * @fn int ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen) - * @brief Content Encrytion - * - * @param [in] ctx Context Container - * @param [in] pEncryptedData Encrypted Message(including Header) - * @param [in] uEncryptedDataLen Encrypted Message length( Encrypted Data Length + Header length) - * @param [out] pPlainData Decrypted Message(only payload Message) - (delete Header) - * @param [out] uPlainDataLen Decrypted Message length(only payload Message length)-- (delete Header) - * @return result of ParseRecordMsg - */ - SPC_INTERNAL int ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen); - - - -private : - - SPC_INTERNAL int GetGy(unsigned char *pPin,unsigned int nPinLen,unsigned char* pGy,unsigned char* py) ; - SPC_INTERNAL int SetPrivatekeyY(unsigned char* pPrivateKey); - SPC_INTERNAL int GetPrivatekeyY(unsigned char* pPrivatekey); - SPC_INTERNAL int SetMac(unsigned char* pMac,unsigned int nMacLen); - SPC_INTERNAL int GetMac(unsigned char* pMac,unsigned int nMacLen); - SPC_INTERNAL int GetPeerMacLen(unsigned int* pPeerMacLen); - - SPC_INTERNAL int SetPublicKeyY(unsigned char* pPublicKey); - SPC_INTERNAL int GetPublicKeyY(unsigned char* pPublicKey); - - - SPC_INTERNAL int SetWcValue(unsigned char* pWc); - SPC_INTERNAL void* SAKEPMalloc(int siz); - SPC_INTERNAL void SAKEPFree(void *ptr); - SPC_INTERNAL SAKEPContainer* create_SAKEPContainer(); - SPC_INTERNAL void destroy_SAKEPContainer(SAKEPContainer* crt); - SPC_INTERNAL int SAKEP_SetBSParam(SAKEPContainer* crt,const unsigned char* pPrime, unsigned int nPrimeLen,const unsigned char* pGenerator, unsigned int nGeneratorLen); - SPC_INTERNAL int SAKEP_GenerateBSPublic(SAKEPContainer* crt, unsigned char *pPin,unsigned int nPinLen,unsigned char* pPriv/* x */, unsigned char* pPub/* g^x */);//,unsigned char* pWc,unsigned int* nWcLen); modified 0404 - SPC_INTERNAL int SAKEP_GetAuthClient(unsigned char* pPrivY,unsigned int nPrivYLen,unsigned char* pGX,unsigned int nGXLen,unsigned char* pSharedSecret,unsigned int *pSharedSecretlen); - - SPC_INTERNAL int GetMyMacLen(unsigned int* pMacLen); - - SPC_INTERNAL int ApplyPasswordTransform(unsigned char* pPwd, unsigned int nPwdLen, unsigned char* pTransPwd, unsigned int* pTransPwdLen); - SPC_INTERNAL int ReversePasswordTransform(unsigned char* pTransPwd, unsigned int nTransPwdLen, unsigned char* pPwd, unsigned int* pPwdLen); - SPC_INTERNAL void ReverseKeyTransform(unsigned char* in, unsigned char* out); - SPC_INTERNAL void ApplyKeyTransform(unsigned char* in, unsigned char* out); - - SPC_INTERNAL int EncryptGy(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInGy, unsigned int nInGyLen, unsigned char* pOut, unsigned int* pOutLen); - SPC_INTERNAL int DecryptGx(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInEncryptedGx, unsigned int nInEncryptedGxLen, unsigned char* pOut, unsigned int* pOutLen); - - SPC_INTERNAL int EncryptParameterDataWithWB(unsigned char* pIn, unsigned char* pOut); - SPC_INTERNAL int DecryptParameterDataWithWB(unsigned char* pIn, unsigned char* pOut); - - - - unsigned char m_pPrivatekeyY[SAKEP_DLBP_PAK_PARMETER_SIZE]; - unsigned char m_pPublickeyY[SAKEP_DLBP_PAK_PARMETER_SIZE]; - unsigned char *m_pMac; - unsigned int m_nMyMacLen; - unsigned char m_pWc[SAKEP_DLBP_PAK_PARMETER_SIZE]; - - -protected: - - - -}; - -#endif diff --git a/SPC/Inc/SPCApi.h b/SPC/Inc/SPCApi.h deleted file mode 100755 index 8242de1..0000000 --- a/SPC/Inc/SPCApi.h +++ /dev/null @@ -1,156 +0,0 @@ -/** - * \file SPCApi.h - * \brief API for key sharing and En/Decryption - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : sangsu choi - * Dept : S/W center Cloud Computing lab - * Creation date : 2013/01/15 - */ -#include -#include -#include -#include "SAKEP.h" -#include "Util.h" -#include "DRMLog.h" - - - -class SPCApi -{ -public: - /** - * @fn SPCApi() - * @brief SPCApi Constrctor - * - * @return None - */ - SPC_INTERNAL SPCApi(); - - /** - * @fn SPCApi() - * @brief SPCApi Destrctor - * - * @return None - */ - ~SPCApi(); - - - /** - * @fn InitSPCContext(SPCHandle_CTX* pSPCctx,ModeType eMode,unsigned char* pUserID,unsigned int nUserIDLen) - * @brief SPC Context initialize - * @param [in] pSPCctx context of SPC - * @param [in] eMode Server or Client - * @param [in] pUserID UserID - * @param [in] nUserIDLen UserID Length - * - * @return None - */ - SPC_INTERNAL int InitSPCContext(SPCHandle_CTX* pSPCctx,ModeType eMode,unsigned char* pUserID,unsigned int nUserIDLen); - - /** - * @fn void DestroySPCContext(SPCHandle_CTX* pSPCctx) - * @brief Destroy Context - * @param [in] pSPCctx context of SPC - * - * @return None - */ - SPC_INTERNAL void DestroySPCContext(SPCHandle_CTX* pSPCctx); - - /** - * @fn void ClearSPCSessionContext(SPCHandle_CTX* pSPCctx) - * @brief Clear Context - * @param [in] pSPCctx context of SPC - * - * @return None - */ - SPC_INTERNAL void ClearSPCSessionContext(SPCHandle_CTX* pSPCctx); - - /** - * @fn int ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen) - * @brief Parse Client Hello Message - * - * @param [in] pSPCctx Context Container - * @param [in] pMessage Received Client Hello Message - * @param [in] nInLen Received Client Hello Message Length - * @return result of ParseClientHello - */ - SPC_INTERNAL int ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen); - - /** - * @fn int GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen) - * @brief Generate Server Hello Message - * - * @param [in] ctx Context Container - * @param [in] pPwd common password Data - * @param [in] pPwdLen password Data length - * @param [in] pID Client's ID Value - * @param [out] pOutMsg ClientHelloMessage result - * @param [out] nOutLen ClientHelloMessage Length - * @return result of GeneratorServerHello - */ - SPC_INTERNAL int GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pID,unsigned char* pOutMsg,unsigned int* nOutLen); - - - /** - * @fn int GeneratorServerAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen) - * @brief Generate Server Acknowledgement Message - * - * @param [in] ctx Context Container - * @param [out] pOutMsg ClientHelloMessage result - * @param [out] nOutLen ClientHelloMessage Length - * @return result of GeneratorServerAck - */ - SPC_INTERNAL int GeneratorServerAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen); - - - /** - * @fn int ParseClientAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen) - * @brief Parse Client Acknowledgement Message - * - * @param [in] pSPCctx Context Container - * @param [in] pMessage input Message - * @param [in] nInLen input Message len - * @return result of ParseClientAck - */ - SPC_INTERNAL int ParseClientAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen); - - - /** - * @fn int GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen) - * @brief Content Encrytion - * - * @param [in] pSPCctx Context Container - * @param [in] pPlainData Plain Data(original data) - * @param [in] uPlainDataLen Plain Data Length - * @param [out] pEncryptedData Encrypted Message(including Header) - * @param [out] uEncryptedDataLen Encrypted Message length( Encrypted Data Length + Header length) - * @return result of GeneratorRecordMsg - */ - SPC_INTERNAL int GeneratorRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen); - - /** - * @fn int ParseRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen); - * @brief Content Decryption - * - * @param [in] pSPCctx Context Container - * @param [in] pEncryptedData Encrypted Message(including Header) - * @param [in] uEncryptedDataLen Encrypted Message length( Encrypted Data Length + Header length) - * @param [out] pPlainData Decrypted Message(only payload Message) - (delete Header) - * @param [out] uPlainDataLen Decrypted Message length(only payload Message length)-- (delete Header) - * @return result of ParseRecordMsg - */ - SPC_INTERNAL int ParseRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen); - - -private: - - - SAkepApi m_SAkep; - -}; - - - diff --git a/SPC/Inc/SPC_Table.h b/SPC/Inc/SPC_Table.h deleted file mode 100755 index a032ca0..0000000 --- a/SPC/Inc/SPC_Table.h +++ /dev/null @@ -1,20563 +0,0 @@ - -static unsigned char pParameterDataEncTbl[] = -{ -0x08,0x72,0x47,0x7B,0x94,0xA3,0x9F,0x0A,0xB0,0x99,0x28,0x14,0x26,0x1A,0xAC,0xB7, -0xB5,0x3D,0xB5,0x89,0x0A,0x4F,0x73,0x78,0x24,0x92,0xB7,0x8B,0x46,0x7A,0x28,0x53, -0x11,0xF8,0xD4,0xE8,0x2B,0x59,0x65,0x4F,0xDB,0x20,0xFA,0xC6,0x5F,0x63,0x4A,0x28, -0xAD,0xA1,0x31,0x0D,0xB0,0x82,0xBE,0x0F,0x32,0x93,0xA0,0x9C,0xA6,0x9A,0xA4,0x3F, -0xC7,0x52,0xA8,0x94,0xCC,0x37,0x0B,0xC6,0x5E,0x1F,0x40,0x7C,0x5E,0x62,0x6A,0x09, -0x2A,0x59,0x4E,0x72,0x15,0xF4,0xC8,0xDC,0xB3,0x67,0xD5,0xE9,0xB7,0x8B,0xC4,0x4E, -0x24,0xFF,0xE6,0xDA,0x61,0xC1,0xFD,0x9D,0xEA,0xDB,0x30,0x0C,0x8F,0xB3,0x82,0x30, -0xCB,0xFE,0x08,0x34,0x0E,0x6F,0x53,0x5C,0x88,0x9E,0x17,0x2B,0x0F,0x33,0x8A,0xB8, -0x53,0xA2,0xCC,0xF0,0xF1,0x85,0xB9,0x49,0x76,0xC3,0xB4,0x88,0x7D,0x41,0x3F,0x7F, -0x8D,0x80,0x30,0x0C,0x60,0xD6,0xEA,0x8B,0xA9,0xBE,0x16,0x2A,0x1E,0x22,0xEA,0xC9, -0x32,0xC5,0xCA,0xF6,0xC8,0x17,0x2B,0xE2,0x86,0x57,0xD0,0xEC,0x3A,0x06,0xFE,0xF9, -0xF5,0x6D,0xA5,0x99,0x49,0x40,0x7C,0x34,0xCA,0x14,0xDF,0xE3,0x7F,0x43,0x4E,0x0C, -0xC9,0xF4,0x00,0x3C,0xCE,0x3F,0x03,0xCC,0x38,0x91,0xA8,0x94,0x7E,0x42,0x6E,0x2D, -0x07,0xC2,0xF8,0xC4,0x04,0xE7,0xDB,0xDE,0x10,0x4D,0x5C,0x60,0x55,0x69,0x39,0x51, -0xE4,0x6F,0xB6,0x8A,0x7B,0x4D,0x71,0x0B,0xCD,0x21,0xED,0xD1,0xE1,0xDD,0x65,0xB9, -0x3B,0x5B,0x5D,0x61,0x13,0xDC,0xE0,0xF2,0xB6,0x43,0xF4,0xC8,0x77,0x4B,0x4C,0x06, -0x22,0xD1,0xCE,0xF2,0x72,0xDA,0xE6,0x95,0xC0,0x16,0xD7,0xEB,0x9E,0xA2,0xE2,0x41, -0x8F,0x8A,0x38,0x04,0xB2,0x8A,0xB6,0x05,0x11,0xA2,0xB2,0x8E,0xDD,0xE1,0x33,0xD3, -0xA0,0x1B,0x86,0xBA,0xF2,0x9A,0xA6,0x55,0xE7,0xEC,0x0A,0x36,0xF7,0xCB,0x44,0x8E, -0x52,0xB4,0xDB,0xE7,0xD1,0x84,0xB8,0x68,0x6E,0x0B,0x64,0x58,0xC9,0xF5,0x63,0x97, -0x36,0xE1,0xEA,0xD6,0xDF,0x2C,0x10,0xCE,0x91,0xB9,0x29,0x15,0x0D,0x31,0xFB,0xCB, -0x37,0xF7,0xFD,0xC1,0xFA,0x1A,0x26,0xDD,0x7D,0x2E,0x52,0x6E,0xCD,0xF1,0x73,0x83, -0xC1,0x7C,0x80,0xBC,0xB1,0x95,0xA9,0x19,0x6B,0x2F,0x45,0x79,0xA0,0x9C,0xC5,0x58, -0xBF,0xBF,0x3D,0x01,0x42,0xDF,0xE3,0xA0,0x29,0xA5,0x8D,0xB1,0x61,0x5D,0x6D,0x31, -0xD0,0x7E,0x93,0xAF,0x19,0x54,0x68,0x70,0x92,0x47,0xD4,0xE8,0xD0,0xEC,0x01,0xEC, -0xEF,0xFB,0x29,0x15,0x03,0xD8,0xE4,0xE6,0xCF,0x30,0xFE,0xC2,0xD3,0xEF,0x50,0xBE, -0x17,0xD6,0xFC,0xC0,0x87,0xB8,0x84,0x02,0x08,0x85,0x8C,0xB0,0xF3,0xCF,0x54,0x9A, -0x7C,0x33,0x72,0x4E,0x64,0xF6,0xCA,0xAF,0x2F,0x7F,0x51,0x6D,0xFE,0xC2,0x66,0xA5, -0x9B,0xBA,0x1C,0x20,0xE0,0x96,0xAA,0x4B,0xAE,0x8B,0x24,0x18,0x33,0x0F,0xDC,0xD2, -0x79,0x01,0x45,0x79,0xFC,0x32,0x0E,0xF3,0x45,0x29,0x6D,0x51,0x67,0x5B,0x0C,0x56, -0xB3,0x13,0x9D,0xA1,0xBD,0x35,0x09,0xB5,0x22,0x48,0x6B,0x57,0x12,0x2E,0xF8,0xD7, -0x76,0xB1,0xFA,0xC6,0x31,0xD5,0xE9,0xD9,0x5F,0xF0,0xAE,0x92,0x8C,0xB0,0xD3,0x62, -0x90,0x2E,0x83,0xBF,0xF4,0xB2,0x8E,0x7B,0xD4,0x06,0xD3,0xEF,0xC5,0xF9,0x71,0x89, -0xAB,0x8F,0x19,0x25,0x25,0xF1,0xCD,0xE9,0x0D,0xA1,0xAD,0x91,0x63,0x5F,0x1C,0x42, -0x38,0x47,0x42,0x7E,0x56,0xFB,0xC7,0x90,0x1A,0x4F,0x54,0x68,0xAD,0x91,0xF7,0x67, -0xF9,0xC1,0x05,0x39,0xD9,0x04,0x38,0xE0,0x98,0x45,0xDC,0xE0,0x0E,0x32,0xAA,0x99, -0xD2,0x74,0x9B,0xA7,0x05,0xF0,0xCC,0xC8,0xEE,0x10,0xFF,0xC3,0xFF,0xC3,0x46,0x84, -0x98,0xA6,0x03,0x3F,0x23,0xD9,0xE5,0xC7,0xC3,0xE8,0x2A,0x16,0x2F,0x13,0x8E,0x9C, -0x55,0x8C,0xE4,0xD8,0x7A,0x5A,0x66,0x1D,0xBB,0x74,0xCE,0xF2,0xBE,0x82,0xE6,0x65, -0x69,0x15,0x41,0x7D,0x3C,0x62,0x5E,0x63,0x9E,0x9F,0x00,0x3C,0x11,0x2D,0xA9,0x85, -0x6C,0x27,0x76,0x4A,0x7D,0x65,0x59,0x25,0xA7,0x77,0xD1,0xED,0xBC,0x80,0x97,0x16, -0x2D,0x61,0x71,0x4D,0xE9,0x01,0x3D,0xD5,0x0E,0x5F,0x50,0x6C,0xAE,0x92,0xA6,0x35, -0xD7,0x46,0xAC,0x90,0x89,0x10,0x2C,0xA4,0x66,0x18,0x7F,0x43,0x44,0x78,0x59,0x20, -0x4B,0x3E,0x48,0x74,0x84,0xA7,0x9B,0x1E,0x39,0x7E,0x46,0x7A,0x09,0x35,0xEB,0xDF, -0xBC,0xA3,0x22,0x1E,0xDD,0x24,0x18,0xC4,0x1C,0x95,0x88,0xB4,0x21,0x1D,0xED,0xF1, -0x86,0x14,0xAF,0x93,0xCA,0x1F,0x23,0xE8,0x07,0xA3,0xA5,0x99,0xC0,0xFC,0x41,0xBC, -0xB8,0x87,0x02,0x3E,0xB4,0xA2,0x9E,0x2B,0x04,0x5D,0x58,0x64,0x3E,0x02,0xEE,0xED, -0x58,0x36,0x53,0x6F,0x51,0xC4,0xF8,0xA8,0x18,0x5E,0x47,0x7B,0xF5,0xC9,0x35,0xFD, -0xE7,0x73,0xA9,0x95,0x68,0x56,0x6A,0x03,0x82,0x9C,0x1F,0x23,0x28,0x14,0xCF,0xDA, -0x78,0x17,0x52,0x6E,0xDE,0x3B,0x07,0xD8,0x64,0x09,0x6C,0x50,0x4A,0x76,0x3A,0x4D, -0x34,0xEB,0xE2,0xDE,0x12,0xCB,0xF7,0xE4,0x2C,0x81,0xAC,0x90,0x39,0x05,0xAF,0xAB, -0x62,0x81,0xDE,0xE2,0x2C,0x66,0x5A,0x77,0x69,0x3E,0x56,0x6A,0xBB,0x87,0xD6,0x50, -0x6F,0x3B,0x69,0x55,0xBA,0x0A,0x36,0x8D,0x94,0x9D,0x08,0x34,0xBF,0x83,0xC6,0x44, -0xFD,0xE5,0x25,0x19,0x3D,0x75,0x49,0x75,0x3A,0x80,0xBB,0x87,0x97,0xAB,0xC0,0x6A, -0x5C,0x12,0x73,0x4F,0x75,0xE5,0xD9,0xAD,0x57,0xE3,0xB5,0x89,0x1B,0x27,0xDA,0xFC, -0x5B,0x2A,0x4C,0x70,0xA8,0x06,0x3A,0x93,0x6C,0x1A,0x77,0x4B,0x49,0x75,0x6B,0x1F, -0x88,0xB2,0x07,0x3B,0x00,0xC7,0xFB,0xFA,0xAA,0x40,0xEB,0xD7,0xBD,0x81,0xB7,0x37, -0x1E,0x48,0x6B,0x57,0xD4,0xB3,0x8F,0x5A,0xF6,0xD8,0x2F,0x13,0x2E,0x12,0xAE,0xBD, -0xC2,0x60,0x9F,0xA3,0xE5,0xA1,0x9D,0x79,0x7A,0x1B,0x60,0x5C,0x1D,0x21,0xBB,0x9B, -0x26,0xF5,0xEE,0xD2,0xA7,0xB9,0x85,0x23,0x40,0x0D,0x4C,0x70,0x74,0x48,0x1D,0x54, -0xB6,0x21,0xAA,0x96,0x70,0xD2,0xEE,0x9F,0xEF,0xFF,0x11,0x2D,0x98,0xA4,0x83,0x26, -0xD5,0x4C,0xA4,0x98,0x9A,0x0B,0x37,0xAC,0x4A,0x0F,0x44,0x78,0x20,0x1C,0xCD,0xD0, -0xF3,0x43,0x8D,0xB1,0x27,0xF9,0xC5,0xE3,0x3C,0x5A,0x67,0x5B,0xAB,0x97,0x96,0x00, -0x8C,0x96,0x27,0x1B,0xE1,0x81,0xBD,0x5D,0xF0,0x02,0xF3,0xCF,0xBA,0x86,0xF6,0x71, -0xD6,0x9E,0xCA,0xC8,0xCE,0x88,0x92,0x86,0x61,0x29,0xB8,0x45,0xAC,0x97,0xEF,0xA7, -0xAD,0xE5,0x5D,0x24,0x0E,0x00,0xDA,0x46,0x76,0x3E,0xAE,0x44,0x89,0x84,0xD9,0x91, -0xBA,0xF2,0x5C,0x32,0x63,0xB6,0x01,0x2B,0x0B,0x43,0x25,0xB2,0xC2,0x40,0x56,0x1E, -0x72,0x3A,0xD6,0x70,0xA2,0x1E,0x68,0xEA,0xB6,0xFE,0xE6,0xCC,0x31,0xF9,0x1C,0x54, -0x28,0x60,0x65,0x99,0x5D,0x91,0x18,0x15,0x45,0x0D,0x88,0x51,0x01,0xCC,0x19,0x51, -0x4D,0x05,0xD1,0x48,0x1E,0x40,0x8A,0x56,0xB3,0xFB,0xD3,0xFC,0xC1,0x5C,0x49,0x01, -0xF5,0xBD,0x9F,0xBE,0x34,0x37,0xD7,0x7C,0x0D,0x45,0x42,0xD3,0x81,0x0C,0x59,0x11, -0x9B,0xD3,0x78,0x37,0x0A,0x10,0xCE,0x42,0x50,0x18,0xED,0x21,0xA2,0x31,0x47,0x0F, -0xDB,0x93,0xF8,0xF7,0xF0,0xAF,0x8B,0xB8,0x97,0xDF,0xE3,0xE8,0x93,0x12,0x55,0x1D, -0x92,0xDA,0x5A,0x1C,0xA4,0x7F,0x0F,0xEC,0xCE,0x86,0x58,0x0A,0x8F,0xAA,0xF1,0xB9, -0x94,0xDC,0x3B,0x7B,0xD1,0x8B,0x8E,0x99,0x16,0x5E,0x4A,0xC0,0xCE,0xEC,0xF6,0xBE, -0x51,0x19,0x83,0x06,0x4F,0xA0,0x3B,0x07,0x71,0x39,0xE8,0x05,0x42,0x80,0x16,0x5E, -0x2B,0x63,0x34,0xCB,0x13,0x72,0xB5,0x5B,0x18,0x50,0x27,0xA3,0x6A,0x29,0x97,0xDF, -0x01,0x49,0x43,0x96,0x10,0x23,0xE7,0x58,0xA2,0xEA,0xA2,0x9C,0x70,0xBF,0x1B,0x53, -0x73,0x3B,0xF6,0x51,0x30,0x27,0xC3,0x78,0x77,0x3F,0x8F,0x64,0xF4,0x5B,0x7B,0x33, -0xAE,0xE6,0x0C,0x76,0x3D,0x15,0xFC,0x75,0xF9,0xB1,0x6A,0x0F,0x17,0xF6,0x35,0x7D, -0xBF,0xF7,0x6C,0x07,0x9D,0x19,0x50,0xD5,0x23,0x6B,0x0B,0xB4,0xBF,0x9F,0xF4,0xBC, -0x2A,0x62,0x14,0xEA,0x74,0xB7,0x17,0x3C,0xC5,0x8D,0x00,0x59,0x66,0x85,0x37,0x7F, -0xCF,0x87,0xA8,0xB3,0x4C,0xF1,0x69,0x04,0x6D,0x25,0xA6,0x57,0x12,0xC4,0x02,0x4A, -0xE8,0xA0,0xED,0xD1,0xCC,0xF9,0xE1,0x84,0x83,0xCB,0xA7,0xB8,0x7D,0x05,0xAC,0xE4, -0xD7,0x9F,0xEA,0xE9,0xE5,0xDF,0xEE,0xAD,0xCC,0x84,0x2B,0x7B,0xE7,0x53,0x60,0x28, -0x48,0x00,0xE1,0x7D,0x85,0x5B,0x0A,0xCD,0x3E,0x76,0x64,0xC6,0x79,0x21,0x8C,0xC4, -0x05,0x4D,0x53,0x82,0x9C,0x39,0x71,0xD4,0x5F,0x17,0xA1,0x62,0x58,0x16,0x9A,0xD2, -0x5F,0x17,0xE0,0x6B,0x65,0xD7,0x66,0x2D,0xBA,0xF2,0xF8,0xDE,0xC3,0x56,0x41,0x09, -0x57,0x1F,0xE2,0x61,0xBD,0x1D,0x74,0xF5,0x8B,0xC3,0xAD,0xBA,0xBD,0x95,0xFC,0xB4, -0xA3,0xEB,0x3E,0x49,0x96,0x4A,0x08,0xDE,0x73,0x3B,0x9B,0x74,0x77,0x87,0x24,0x6C, -0x12,0x5A,0x52,0x94,0x22,0x16,0xE0,0x6A,0x3D,0x75,0x36,0x97,0x08,0x52,0x8E,0xC6, -0x0B,0x43,0x30,0xEF,0xB4,0x3F,0x5F,0xFC,0xD6,0x9E,0x02,0x48,0x60,0xAB,0x1F,0x57, -0x4B,0x03,0xB0,0x2F,0xBE,0x4C,0x26,0xF6,0x47,0x0F,0xFB,0x20,0x82,0x10,0x46,0x0E, -0xE9,0xA1,0xCD,0xF0,0xDD,0x99,0x90,0x95,0xBB,0xF3,0xD9,0xFE,0x13,0xD2,0x15,0x5D, -0x2F,0x67,0x24,0xDF,0xF9,0x8D,0xA0,0xB1,0x41,0x09,0x9C,0x41,0xBB,0xBB,0xD4,0x9C, -0x20,0x68,0x67,0x93,0xBC,0x3D,0x55,0xF4,0x2E,0x66,0x34,0x86,0x3A,0x6D,0x83,0xCB, -0xF7,0xBF,0xEE,0xCD,0x7C,0xB5,0x1D,0x34,0xE2,0xAA,0x62,0x1C,0xC9,0xD4,0xC9,0x81, -0x44,0x0C,0xF3,0x63,0x54,0xB3,0x33,0x1C,0xAE,0xE6,0xBC,0x8E,0x4E,0x2C,0xB6,0xFE, -0x4A,0x02,0x90,0x0E,0xD8,0xA9,0xA5,0x90,0xF8,0xB0,0x4B,0x2F,0x06,0xF4,0x26,0x6E, -0x88,0xC0,0x69,0x35,0x8A,0x18,0x46,0xC2,0xC7,0x8F,0x73,0x28,0xDB,0xCA,0xC5,0x8D, -0xE0,0xA8,0xEF,0xDB,0xEB,0xBC,0x83,0xA3,0x22,0x6A,0x2A,0x94,0x1B,0x5A,0x95,0xDD, -0x93,0xDB,0x7A,0x3D,0x89,0x49,0x14,0xC1,0xD9,0x91,0x4E,0x0B,0xAD,0x81,0xF8,0xB0, -0x53,0x1B,0xF2,0x75,0xFA,0xDC,0xF2,0xB2,0x69,0x21,0xB2,0x47,0x61,0xBD,0x08,0x40, -0xA9,0xE1,0x4D,0x30,0x78,0xA5,0x09,0x30,0x55,0x1D,0xD8,0x11,0x5F,0x2E,0xA5,0xED, -0xEE,0xA6,0x8C,0xB6,0x5B,0xF0,0x7F,0x13,0x21,0x69,0x78,0xC5,0x03,0xC6,0x11,0x59, -0xBB,0xF3,0x7C,0x13,0xE3,0xBE,0x89,0xAB,0x2F,0x67,0x15,0xA6,0xE9,0xF5,0xC8,0x80, -0x98,0xD0,0x29,0x65,0x68,0xE5,0x59,0x20,0x06,0x4E,0x1A,0x80,0x54,0xBA,0x3A,0x72, -0x0C,0x44,0x71,0xA9,0x79,0x85,0x28,0x31,0xAC,0xE4,0xCF,0xFF,0x92,0x04,0x42,0x0A, -0x14,0x5C,0x33,0xF3,0x7E,0xC4,0x6E,0x36,0x8C,0xC4,0xEB,0xFB,0x73,0xA3,0x04,0x4C, -0xD0,0x98,0xAB,0xAF,0xED,0xDD,0xE4,0xA5,0xE0,0xA8,0x11,0x6D,0xA7,0x03,0x70,0x38, -0x9F,0xD7,0x68,0x23,0xDE,0xC8,0xC2,0x96,0x14,0x5C,0x39,0xB1,0x96,0x20,0x62,0x2A, -0xB3,0xFB,0x7E,0x19,0xB7,0x6E,0x0D,0xFF,0x65,0x2D,0xAC,0x55,0xD4,0x7A,0x7A,0x32, -0x00,0x48,0x63,0xB7,0x3C,0x35,0xDD,0x74,0x10,0x58,0x2D,0xA1,0x76,0x91,0x33,0x7B, -0xD5,0x9D,0x9B,0x9A,0xEC,0xFD,0xC5,0xA4,0x88,0xC0,0xFF,0xEB,0x50,0x9E,0x1A,0x52, -0x31,0x79,0x07,0xE2,0x7D,0x95,0x3C,0x35,0x6F,0x27,0xD5,0x26,0x09,0x44,0x99,0xD1, -0xFF,0xB7,0xEC,0xC7,0xD2,0xDA,0xDC,0x9A,0xCA,0x82,0x4C,0x1A,0x4F,0x3A,0xA1,0xE9, -0x2C,0x64,0x75,0x8D,0x06,0x02,0xD0,0x4E,0x08,0x40,0x77,0xE3,0x87,0x22,0x71,0x39, -0x52,0x1A,0xD2,0x54,0xA0,0x6F,0x1B,0xE8,0x92,0xDA,0xD6,0xD8,0x56,0xB0,0x32,0x7A, -0xAB,0xE3,0x3C,0x43,0x6E,0x84,0x3E,0x26,0xC9,0x81,0x1E,0x4B,0x25,0xC9,0x38,0x70, -0x23,0x6B,0x36,0xC1,0xCD,0xD9,0xC0,0x85,0x8E,0xC6,0x98,0x8A,0xAA,0xB9,0xC7,0x8F, -0x77,0x3F,0xE6,0x45,0xE2,0x9E,0xA8,0xAA,0xA9,0xE1,0xFA,0xCF,0xAE,0x9D,0xE7,0xAF, -0x5A,0x12,0xD0,0x5E,0x03,0x32,0xE5,0x4B,0x24,0x6C,0x4D,0xF5,0xB9,0xB1,0xDC,0x94, -0xA7,0xEF,0x2E,0x5D,0xFD,0x9D,0xB4,0xB5,0x89,0xC1,0xDE,0xCB,0xC7,0x72,0x61,0x29, -0xB8,0xF0,0x2D,0x41,0x36,0x46,0xA4,0x7E,0xD8,0x90,0x6F,0x2B,0x22,0xF1,0x07,0x4F, -0x2E,0x66,0x04,0xFE,0x7F,0xE4,0x4F,0x37,0xFD,0xB5,0x7E,0x1F,0x0E,0x7C,0xA6,0xEE, -0xAF,0xE7,0x2C,0x57,0x6D,0xD5,0x6C,0x25,0xFA,0xB2,0x38,0x5E,0x9A,0x8C,0xC2,0x8A, -0x80,0xC8,0x6B,0x3F,0x87,0x2A,0x79,0xCF,0x27,0x6F,0x1F,0xA4,0xFA,0xFD,0xD3,0x9B, -0xB9,0xF1,0x0D,0x60,0xCA,0x98,0x86,0x82,0xC3,0x8B,0x67,0x38,0xF7,0x47,0x64,0x2C, -0xFE,0x39,0x91,0x29,0xAE,0x85,0x3D,0x7D,0xED,0x6E,0x6D,0xD5,0xA0,0x18,0x9A,0x6C, -0x3E,0xA9,0xC1,0x79,0x03,0x73,0xCB,0x26,0x7F,0xBF,0x2E,0x96,0xC5,0x7D,0x2E,0xBD, -0x7E,0xF9,0xD1,0x69,0x2C,0xCD,0x75,0xB7,0x22,0xC8,0x04,0xBC,0x7D,0xC5,0x60,0x4B, -0x5D,0xC4,0xCF,0x77,0xDE,0x90,0x28,0x18,0x3B,0xEF,0x3A,0x82,0x13,0xAB,0x87,0xC2, -0x53,0x62,0x67,0xDF,0xBA,0xA1,0x19,0x4D,0x67,0x77,0xFE,0x46,0x5E,0xE6,0x35,0x3D, -0x76,0x71,0x51,0xE9,0xBB,0xB6,0x0E,0x5B,0x2F,0xFF,0x3E,0x86,0x25,0x9D,0xA2,0xD1, -0x3D,0xB5,0xDE,0x66,0x4D,0xCB,0x73,0xD0,0xF4,0x49,0x53,0xEB,0x32,0x8A,0xA3,0xC7, -0xCE,0x0C,0x94,0x2C,0x33,0x76,0xCE,0x13,0x9D,0xE1,0x92,0x2A,0xFA,0x42,0x29,0x85, -0x95,0xDC,0x1F,0xA7,0x5C,0xD8,0x60,0xD2,0x40,0x8D,0x23,0x9B,0xA3,0x1B,0xCB,0x3E, -0x8F,0x4A,0x93,0x2B,0x63,0x62,0xDA,0x57,0x12,0xDC,0x20,0x98,0x89,0x31,0xBC,0x63, -0x0B,0xAE,0xF3,0x4B,0x9B,0xB7,0x0F,0x7A,0x36,0xD8,0x00,0xB8,0xFB,0x43,0x09,0xA4, -0xE8,0x03,0xBD,0x05,0xF0,0x39,0x81,0x9F,0x09,0xEA,0x0D,0xB5,0x26,0x9E,0xF3,0x83, -0x6C,0xE7,0xDD,0x65,0x17,0x57,0xEF,0x16,0x7E,0x50,0xC0,0x78,0x53,0xEB,0x07,0x02, -0x70,0x5F,0x79,0xC1,0xF5,0x0E,0xB6,0xAD,0xFA,0x80,0x94,0x2C,0x1A,0xA2,0xA5,0xE9, -0x31,0x19,0x7E,0xC6,0x3F,0xD6,0x6E,0xBF,0x7B,0x74,0xE1,0x59,0x1C,0xA4,0xC4,0x8E, -0xBD,0x75,0x9E,0x26,0xFA,0xB1,0x09,0x1D,0xCE,0x5F,0x7F,0xC7,0xD9,0x61,0x7C,0xF3, -0x18,0xA6,0xE8,0x50,0x84,0x0C,0xB4,0xDE,0x1B,0x20,0xD5,0x6D,0x5F,0xE7,0x15,0x1C, -0x86,0xD4,0x04,0xBC,0x39,0xFE,0x46,0x91,0xFF,0xA4,0xB5,0x0D,0xC0,0x78,0x1E,0x88, -0xA7,0xE3,0x12,0xAA,0x9D,0x9F,0x27,0x54,0x84,0xC6,0xAC,0x14,0x8D,0x35,0xAC,0x77, -0x3C,0xA3,0xC9,0x71,0x21,0x7A,0xC2,0x0D,0x93,0x28,0x55,0xED,0xD7,0x6F,0x1F,0x9E, -0x40,0x6A,0x7C,0xC4,0x4B,0xE3,0x5B,0xFE,0xA5,0xE6,0xAD,0x15,0x37,0x8F,0x93,0xF2, -0x99,0x70,0xBF,0x07,0xA6,0x05,0xBD,0xF5,0xE2,0x48,0x44,0xFC,0xA2,0x1A,0xEB,0x1F, -0xED,0x31,0x8A,0x32,0xA8,0xAD,0x15,0x53,0x9C,0x0E,0x7C,0xC4,0x47,0xFF,0x57,0x46, -0x82,0xF0,0x24,0x9C,0x47,0x43,0xFB,0x52,0x14,0x06,0xFC,0x44,0x60,0xD8,0x12,0x24, -0x7D,0xE5,0xCE,0x76,0xDF,0x87,0x3F,0x0E,0xD3,0xB3,0x8E,0x36,0xC3,0x7B,0x4F,0xDA, -0xEC,0x27,0x9D,0x25,0x01,0x7B,0xC3,0x2C,0x65,0x66,0xED,0x55,0x61,0xD9,0x32,0x05, -0x44,0x4E,0x5C,0xE4,0xBE,0x81,0x39,0x69,0x55,0x72,0xC9,0x71,0xA7,0x1F,0xDB,0x2A, -0xC5,0x98,0x0B,0xB3,0x79,0xEE,0x56,0xC1,0xA0,0xC2,0x8C,0x34,0xA8,0x10,0x98,0x66, -0x42,0x60,0x74,0xCC,0x45,0x4B,0xF3,0x58,0x81,0xE2,0x8D,0x35,0xDF,0x67,0x1D,0x94, -0x88,0x72,0xAC,0x14,0x8B,0xB3,0x0B,0x6E,0xFD,0xB5,0xA6,0x1E,0x2B,0x93,0xC1,0xBC, -0xF7,0xA7,0x06,0xBE,0x68,0xFD,0x45,0xC3,0x15,0xE9,0x12,0xAA,0x9A,0x22,0xAD,0x61, -0x9F,0x5E,0x97,0x2F,0xB7,0x16,0xAE,0xF7,0xAA,0xC0,0x84,0x3C,0x83,0x3B,0xCF,0x1A, -0xE4,0xAF,0x1D,0xA5,0x6B,0xE2,0x5A,0xDF,0x76,0x43,0xDB,0x63,0x68,0xD0,0x10,0x2E, -0x52,0x74,0x70,0xC8,0xF4,0x19,0xA1,0xBB,0xE1,0xB6,0xB9,0x01,0x1B,0xA3,0x85,0xC8, -0x9E,0x48,0x80,0x38,0xB8,0xA9,0x11,0x47,0x07,0x23,0xCA,0x72,0xDB,0x63,0x0D,0x80, -0xA0,0xDB,0x2D,0x95,0xEE,0x95,0x2D,0x2D,0xFC,0x5A,0x48,0xF0,0x21,0x99,0xB2,0xC5, -0x36,0x21,0x41,0xF9,0xE3,0x22,0x9A,0x97,0xE8,0x4A,0x4C,0xF4,0x7F,0xC7,0x11,0x38, -0xB1,0xD9,0x3E,0x86,0x71,0x6E,0xD6,0x49,0xC6,0x4C,0x64,0xDC,0xCC,0x74,0x0C,0x96, -0xF9,0x01,0xAE,0x16,0xD0,0x38,0x80,0xBE,0x50,0x56,0xE8,0x50,0xC2,0x7A,0x6F,0xFB, -0x24,0x3F,0x4D,0xF5,0xD7,0x07,0xBF,0x86,0xB3,0xE7,0xBA,0x02,0x00,0xB8,0x96,0xC0, -0x8C,0x56,0x8C,0x34,0x04,0x4C,0xF4,0x1E,0x9B,0x3B,0x4E,0xF6,0x9C,0x24,0xCC,0x06, -0x58,0xF6,0xF8,0x40,0x92,0x20,0x98,0xE4,0x11,0x22,0xDD,0x65,0x58,0xE0,0x54,0x5A, -0x69,0xD5,0xEA,0x52,0x4E,0xD4,0x6C,0xCC,0x37,0x37,0xEE,0x56,0x17,0xAF,0x97,0xD6, -0x2B,0x8F,0xF2,0x4A,0xAA,0xA5,0x1D,0x59,0xF8,0x91,0x87,0x3F,0x3B,0x83,0x81,0xEC, -0xFC,0x33,0x99,0x21,0x3A,0xE1,0x59,0x8D,0x8A,0x0F,0x6B,0xD3,0x66,0xDE,0x73,0x43, -0x16,0x00,0x40,0xF8,0x59,0xEF,0x57,0xE0,0x7C,0x41,0xD3,0x6B,0x33,0x8B,0x83,0xE6, -0xAB,0x4F,0xB2,0x0A,0x7F,0xC6,0x7E,0xEF,0xAC,0x1A,0x58,0xE0,0x10,0xA8,0xD6,0x90, -0x6D,0xF1,0xCA,0x72,0x00,0x6C,0xD4,0x3A,0xDD,0x7A,0x49,0xF1,0x84,0x3C,0x8E,0x5C, -0x78,0xD7,0xF9,0x41,0x1C,0xC8,0x70,0x82,0x25,0xFD,0x36,0x8E,0xA4,0x1C,0x8A,0x78, -0xA9,0x45,0xBA,0x02,0x27,0x52,0xEA,0x23,0xEE,0x90,0x90,0x28,0xDA,0x62,0x2D,0xA1, -0xDA,0x3C,0xB0,0x08,0xB4,0x09,0xB1,0xEB,0xCB,0x7B,0x5E,0xE6,0x23,0x9B,0xC3,0xB6, -0x55,0x4C,0x4F,0xF7,0x75,0x4E,0xF6,0x6D,0x35,0x26,0xFD,0x45,0xAB,0x13,0xC9,0x34, -0x89,0x64,0xBB,0x03,0x5E,0xD0,0x68,0xD8,0x28,0xCA,0x0C,0xB4,0x88,0x30,0x9C,0x42, -0xAF,0x6B,0x92,0x2A,0x14,0x48,0xF0,0x0A,0x30,0x02,0xDC,0x64,0x5D,0xE5,0x64,0x6F, -0xF6,0xB1,0x11,0xA9,0xD9,0xAF,0x17,0x20,0xC9,0x6A,0x4D,0xF5,0xB9,0x01,0xF8,0x17, -0xB0,0xCF,0x29,0x91,0xE5,0x0A,0xB2,0xB9,0x29,0x25,0xE2,0x5A,0x77,0xCF,0x13,0x32, -0xF1,0x89,0x2E,0x96,0xE0,0x3D,0x85,0x8B,0xBA,0x1B,0x4F,0xF7,0xA6,0x1E,0xFB,0x0B, -0x65,0x79,0x4A,0xF2,0xA1,0x3A,0x82,0xCD,0x99,0x2A,0x5D,0xE5,0x27,0x9F,0xD3,0xA2, -0x05,0x08,0x5B,0xE3,0x5B,0xE7,0x5F,0xEA,0x8C,0xD5,0xB7,0x0F,0x08,0xB0,0x94,0xCA, -0x08,0xB2,0xEC,0x54,0xC7,0x03,0xBB,0x92,0x73,0x67,0xFA,0x42,0x31,0x89,0xF2,0x95, -0x51,0x68,0x6F,0xD7,0x30,0x69,0xD1,0x0F,0x5D,0x61,0xD2,0x6A,0xFF,0x47,0x19,0xB0, -0x46,0x44,0x54,0xEC,0x0A,0xE4,0x5C,0xB8,0x10,0xCD,0x33,0x8B,0xD2,0x6A,0x2F,0xAB, -0x38,0x87,0xE9,0x51,0x34,0x49,0xF1,0x2B,0x41,0x62,0xCD,0x75,0x2F,0x97,0xD1,0xA8, -0xDD,0x04,0x8F,0x37,0xD4,0x18,0xA0,0x9A,0x51,0xB9,0x06,0xBE,0x30,0x88,0xD2,0xB4, -0x92,0x1B,0x04,0xE1,0x54,0xED,0xCE,0xDD,0x3A,0xB3,0xE4,0x20,0x62,0xBE,0xAB,0x22, -0xA4,0x2D,0x21,0xF2,0x43,0xEC,0xD8,0xCA,0xFA,0x73,0xAC,0xA8,0xF5,0x52,0xD0,0x59, -0x2B,0xA2,0x6A,0x36,0x3E,0x1A,0x53,0xB7,0x97,0x1E,0x77,0x1E,0xF4,0x44,0xC7,0x4E, -0x61,0xE8,0x99,0x8F,0x83,0x64,0x90,0x0A,0x56,0xDF,0x1E,0xB6,0x7E,0x06,0x0F,0x86, -0x64,0xED,0xA9,0xBA,0x70,0xF9,0xFE,0xF9,0xA9,0x20,0x6E,0x39,0xCD,0xEF,0x55,0xDC, -0x34,0xBD,0x69,0x2A,0x86,0x54,0xA5,0x0F,0xEA,0x63,0xFC,0xE8,0x79,0x3E,0x30,0xB9, -0x24,0xAD,0x29,0x7A,0x38,0x7B,0x34,0xB1,0xC0,0x49,0xA1,0x9F,0x37,0xC8,0x88,0x01, -0x3A,0xB3,0x0A,0x47,0x65,0x89,0x9B,0xEC,0xFE,0x77,0xB8,0xB8,0xD0,0x41,0xE6,0x6F, -0x28,0xA1,0x3B,0x64,0xA2,0x40,0x95,0x2B,0x04,0x8D,0xFD,0x07,0x50,0x81,0xA6,0x2F, -0x8C,0x05,0x27,0xDC,0xFB,0xA2,0x2E,0x72,0x50,0xD9,0x79,0xD7,0xF2,0x6A,0xEF,0x66, -0x8B,0x02,0x66,0x9A,0x23,0x68,0x3C,0xAA,0x25,0xAC,0xF8,0x23,0x93,0x0D,0xE9,0x60, -0x6B,0xE2,0xEA,0xF6,0x44,0xAD,0x9E,0xCD,0xBB,0x32,0x4D,0x08,0x2B,0x70,0x2C,0xA5, -0xEA,0x63,0xC2,0x5F,0x2D,0x0B,0x51,0xA4,0xE7,0x6E,0xC3,0xDA,0x9C,0xBD,0x56,0xDF, -0x66,0xEF,0xD8,0xC9,0x97,0x34,0xD4,0x1E,0xE4,0x6D,0x91,0x8B,0xEB,0xE0,0x7C,0xF5, -0x06,0x8F,0x5C,0x2D,0x42,0xCC,0xF9,0xCB,0xC4,0x4D,0xB5,0x8F,0x5E,0x27,0x0E,0x87, -0x48,0xC1,0xBF,0x80,0xCC,0xA7,0x1C,0x45,0xC9,0x40,0x8A,0xBD,0xA4,0x00,0xD3,0x5A, -0x89,0x00,0x17,0xE9,0x16,0x1C,0x7D,0x9F,0x69,0xE0,0x26,0xB1,0xC4,0x71,0xC2,0x4B, -0x4A,0xC3,0xCE,0xF3,0xF0,0xF1,0x76,0x79,0x80,0x09,0x61,0x1F,0xBC,0x9C,0x57,0xDE, -0x7F,0xF6,0xBA,0xB2,0x58,0xFF,0xD0,0xD1,0xB8,0x31,0x1F,0x59,0x00,0xC5,0xB2,0x3B, -0xD1,0x58,0xD5,0x73,0xB6,0x10,0xD1,0x3F,0x38,0xB1,0x97,0x51,0x45,0xA7,0x95,0x1C, -0x1D,0x94,0x4F,0x25,0xF9,0xD3,0x5D,0x70,0x11,0x98,0x98,0x77,0x42,0x9F,0xAA,0x23, -0xF1,0x78,0xD1,0x57,0x0B,0x6E,0x12,0x82,0x71,0xF8,0x7C,0xF3,0x49,0x0B,0x35,0xBC, -0xE7,0x6E,0xF0,0x60,0x6A,0xCA,0xD7,0xE3,0x68,0xE1,0x07,0x91,0xFB,0xF4,0x78,0xF1, -0x3C,0xB5,0x6B,0x20,0x8F,0x76,0x8E,0x06,0x91,0x18,0x10,0x7F,0x48,0x1D,0x22,0xAB, -0x81,0x08,0x15,0xE3,0xBE,0x12,0xDB,0x37,0x49,0xC0,0x02,0xB5,0x4A,0x17,0x2A,0xA3, -0x59,0xD0,0xDF,0xF1,0x46,0xDC,0xED,0xCF,0x62,0xEB,0x7E,0xE2,0x96,0x3F,0xDE,0x57, -0xF3,0x7A,0xA0,0x24,0x08,0x3F,0x40,0x81,0xD6,0x5F,0x96,0xBE,0xFA,0xE2,0x6F,0xE6, -0x62,0xEB,0xC8,0xDD,0xE3,0xE0,0x74,0x6A,0x40,0xC9,0x29,0x97,0x98,0x99,0x76,0xFF, -0x3B,0xB2,0x2A,0x66,0x72,0x88,0x8D,0xFB,0x4A,0xC3,0x50,0xE4,0x18,0x59,0x36,0xBF, -0x68,0xE1,0xBB,0xA4,0x8E,0x56,0xAF,0x07,0x29,0xA0,0xE6,0x31,0x65,0x86,0x94,0x1D, -0xA9,0x20,0x13,0xCD,0x74,0xE9,0xEA,0xFD,0x0D,0x84,0xD6,0x25,0x8C,0xA9,0x52,0xDB, -0xFE,0x77,0x92,0x1B,0x1B,0x2E,0x42,0x92,0x48,0xC1,0x23,0x95,0xCF,0xE5,0x5D,0xD4, -0xB4,0x3D,0x61,0xA2,0xD7,0xB4,0x14,0x5E,0x88,0x01,0x6B,0x1D,0x46,0xBB,0x8A,0x03, -0xCB,0x42,0xE6,0x5A,0x9B,0x26,0xCA,0x12,0xA0,0x29,0x45,0x1B,0x5B,0x15,0x39,0xB0, -0x5B,0xD2,0xAE,0x82,0xCD,0x87,0x3D,0x44,0x2C,0xA5,0xD3,0x01,0x38,0x78,0x37,0xBE, -0xB8,0x31,0x73,0xBC,0xF2,0x80,0x05,0x7B,0x7E,0xF7,0x30,0xB0,0xC1,0x43,0xF5,0x7C, -0xE8,0x61,0xB3,0x2C,0x17,0x3C,0x5C,0x9E,0x1F,0x96,0xF5,0x14,0x47,0xAD,0x9D,0x14, -0x85,0x0C,0x05,0xF7,0xEC,0xA3,0x38,0x65,0x7D,0xF4,0x62,0xE1,0xD2,0x4B,0xEE,0x67, -0x75,0xFC,0xC9,0xCB,0x5C,0xEF,0xC4,0xD5,0x0E,0x87,0x84,0x74,0x5A,0x03,0x2E,0xA7, -0xD8,0x51,0xF7,0x58,0x60,0xB9,0xAE,0xE9,0x8C,0x05,0x7F,0x0D,0xE5,0x46,0xD4,0x5D, -0x6C,0xE5,0xAB,0xB0,0x14,0x6D,0x0E,0x9D,0xAF,0x26,0x09,0x58,0x24,0xC0,0x93,0x1A, -0xB5,0x3C,0x41,0x83,0x1A,0x0E,0x63,0x93,0x17,0x9E,0xFF,0x16,0xD4,0x65,0xC6,0x4F, -0x47,0xCE,0xFC,0xCC,0x33,0x28,0x6C,0xBA,0x9C,0x15,0x2F,0x4D,0x81,0x13,0xE5,0x6C, -0x3F,0xB6,0x3A,0x72,0x99,0x57,0xB9,0x10,0x8D,0x04,0x5E,0x2D,0xD9,0xDF,0x71,0xF8, -0x79,0xF0,0xDB,0xD5,0xB9,0x53,0x9D,0x30,0x8A,0x03,0x18,0x6C,0x9B,0x85,0x69,0xE0, -0x0D,0x84,0x0F,0x75,0xD5,0xC5,0x67,0x5C,0x19,0x90,0x92,0x75,0x03,0xD9,0xAD,0x24, -0x1F,0x96,0x3E,0x56,0x21,0x19,0x4F,0xA8,0x2A,0xA3,0xB4,0x60,0xC0,0x55,0xE2,0x6B, -0x07,0x8E,0x7C,0x0C,0x50,0xFD,0xDA,0xD9,0x43,0xCA,0x7B,0xC6,0xD6,0x6F,0xCE,0x47, -0x4E,0xC7,0xDE,0xE7,0x25,0x09,0x5B,0xAC,0xC8,0x41,0xAB,0x9D,0xCB,0xC1,0x7D,0xF4, -0x67,0xEE,0xF8,0xE8,0xBD,0x43,0x89,0x34,0x18,0x91,0xB3,0x55,0x33,0xEC,0xA8,0x21, -0xE4,0x6D,0xA1,0x32,0x5A,0x8E,0xA3,0xD3,0x89,0x00,0x4A,0x3D,0xAF,0x94,0x4C,0xC5, -0xDC,0x55,0xE7,0x4C,0xFF,0xB2,0x3A,0x76,0x26,0xAF,0xAA,0x72,0x44,0xB1,0x82,0x0B, -0x0C,0x85,0x2F,0x54,0x3D,0x4B,0x01,0xB4,0xF2,0x7B,0xA6,0xAA,0xDD,0xFB,0x51,0xD8, -0x4F,0xC6,0xFE,0xC6,0xA7,0x70,0xA0,0x2E,0x54,0xDD,0x6D,0xC7,0x7A,0x22,0x2F,0xA6, -0x45,0xCC,0x8D,0xBF,0xFC,0xE3,0x68,0x75,0x9A,0x13,0x48,0x2C,0x94,0x35,0xD6,0x5F, -0xBA,0x33,0x02,0xCF,0xBB,0x22,0xEE,0x32,0x39,0xB0,0xB6,0x71,0x9E,0xB7,0x5E,0xD7, -0x9A,0x13,0x06,0xEB,0x9C,0x67,0x8C,0x15,0x16,0x9F,0xDE,0x36,0x4E,0x33,0x0A,0x83, -0xA1,0x28,0x11,0xC7,0x11,0x5D,0x3B,0x98,0xF7,0x7E,0x93,0x9A,0x78,0x28,0x27,0xAE, -0x1C,0x95,0x6F,0x04,0xBC,0x63,0xA8,0x35,0x09,0x80,0xC2,0x35,0x86,0x2B,0xDA,0x53, -0x7A,0xF3,0x8A,0x87,0xED,0x83,0x19,0x64,0xC2,0x4B,0xD2,0xEE,0x85,0x37,0xC5,0x4C, -0xDB,0x52,0xA6,0x0A,0xC8,0xB7,0x08,0x41,0x8B,0x02,0x39,0x4C,0xAC,0x88,0x53,0xDA, -0xBF,0x36,0x32,0xFA,0xCF,0xF6,0x4E,0x46,0x99,0x10,0x1A,0x7D,0x84,0x21,0xD2,0x5B, -0xAE,0x27,0x52,0x8B,0x12,0x0C,0x69,0x9B,0x73,0xFA,0x0F,0x82,0xC3,0x49,0xFD,0x74, -0x19,0x90,0x5F,0x31,0xF6,0x90,0x11,0x7F,0x3E,0xB7,0xF0,0x30,0xA5,0x16,0xC4,0x4D, -0xB6,0x54,0x62,0xAC,0x27,0x9B,0x3D,0x3C,0xE6,0xFB,0xE1,0x9D,0x41,0xBE,0xA4,0x65, -0x88,0x73,0x7B,0x92,0x49,0x12,0x53,0xDB,0xC5,0xE5,0xFF,0xA0,0xEE,0xE3,0xF9,0x97, -0xA2,0x04,0x26,0xB8,0xF1,0xE4,0xEB,0x95,0x85,0xF5,0xEF,0xF0,0x7F,0x5D,0x47,0xB8, -0xE1,0xD5,0xB4,0xFB,0x94,0x35,0x8E,0x21,0x45,0xA5,0xBF,0x60,0x24,0xAB,0xB1,0x15, -0x1E,0x5A,0xC4,0x04,0xCE,0xDC,0xD4,0x92,0x75,0xA0,0xBA,0x55,0x4A,0x58,0x42,0x88, -0xDF,0xF2,0xAD,0xC5,0x06,0x9E,0x1C,0x18,0x86,0xEA,0xF0,0xEC,0x89,0xE5,0xFF,0xF6, -0xB2,0x44,0x76,0xA8,0x11,0x88,0x0B,0x19,0xCD,0x65,0x7F,0x28,0x02,0x98,0x82,0x00, -0x72,0xCC,0x3E,0x68,0x6A,0x64,0x70,0x8E,0xE8,0x53,0x49,0x3B,0x14,0x8F,0x95,0x01, -0x81,0x51,0x50,0x9B,0x12,0xDA,0x08,0x48,0x53,0x89,0x93,0x5A,0xC6,0x17,0x0D,0x4B, -0x8C,0x63,0x6F,0x96,0xCF,0xFD,0xD5,0xB2,0xB0,0xC7,0xDD,0xF7,0x23,0x99,0x83,0x20, -0xAC,0x67,0x4B,0xB6,0xBD,0x3A,0xA7,0x07,0x34,0xA7,0xBD,0x13,0x0E,0x4C,0x56,0xD8, -0xAF,0x36,0x19,0xB5,0x97,0x67,0x8D,0x70,0x2E,0x2B,0x31,0x85,0x8B,0xF6,0xEC,0xE7, -0xF3,0xE4,0x97,0xE9,0xED,0xAA,0xF7,0xC7,0x06,0xAA,0xB0,0x2C,0x44,0x9F,0x85,0x41, -0x6D,0xCF,0x22,0x77,0x28,0xD7,0x32,0x7F,0x8A,0x4A,0x50,0x40,0xE6,0xF8,0xE2,0x84, -0x18,0x3B,0xA3,0x02,0x2E,0xB0,0x34,0x1E,0xCB,0x4D,0x57,0x06,0xF4,0x20,0x3A,0x4E, -0x4C,0xEB,0x27,0x56,0x67,0x5B,0x7D,0xBC,0xD7,0xE9,0xF3,0xBE,0x4F,0x79,0x63,0xAC, -0xD9,0x93,0xCA,0xC3,0xE3,0xC7,0xF9,0xA4,0x87,0xFD,0xE7,0xFA,0x54,0x54,0x4E,0x9A, -0x20,0x7D,0xDD,0x3A,0xB9,0x2E,0xA3,0x17,0x1C,0x26,0x3C,0xBA,0x0D,0xB1,0xAB,0x26, -0x39,0x1F,0xA6,0x23,0xF4,0xD1,0xEE,0xA5,0x3D,0x30,0x2A,0x8D,0xC8,0xD0,0xCA,0x82, -0x59,0x9B,0x42,0x43,0x6B,0x45,0x71,0xAE,0xA3,0xDC,0xC6,0xFF,0x87,0x22,0x38,0x3F, -0x70,0xBD,0x4D,0x6A,0x54,0x7D,0x4E,0xA9,0x39,0x10,0x0A,0xA9,0x0B,0x6D,0x77,0xFC, -0xF0,0xB5,0xC5,0xEA,0x73,0x1F,0x69,0xEC,0x56,0xBE,0xA4,0x68,0x0A,0x83,0x99,0x13, -0xC8,0xF3,0xBB,0xD2,0x96,0x46,0x8C,0x50,0x22,0x8B,0x91,0x29,0xAC,0x2B,0x31,0x1D, -0x21,0x5D,0xFC,0x3B,0x03,0xAB,0x19,0x28,0xFB,0x48,0x52,0x33,0xA7,0xCD,0xD7,0xF0, -0x00,0x79,0xF9,0x1A,0x9C,0x3F,0x86,0x23,0x7E,0x3F,0x25,0xC1,0x98,0xC0,0xDA,0xC2, -0x45,0xC9,0x0C,0x5F,0x93,0x73,0x89,0x60,0xFF,0x68,0x72,0x17,0x30,0xAF,0xB5,0x05, -0x61,0xDD,0x3C,0x7B,0x55,0x5C,0x4F,0x89,0x57,0xA9,0xB3,0x7E,0x75,0x55,0x4F,0xBA, -0x02,0x08,0x8A,0x18,0xF7,0x83,0xED,0xF4,0xC6,0xFA,0xE0,0xBC,0x57,0xA9,0xB3,0x64, -0x08,0x7B,0xF3,0x12,0xB7,0x43,0xAD,0x74,0x24,0xA3,0xB9,0x07,0xAE,0x38,0x22,0x0C, -0x9E,0x52,0x4C,0x84,0xAE,0x38,0xB4,0x16,0x4C,0x32,0x28,0xFE,0x9A,0xD3,0xC9,0xD3, -0x2A,0x0E,0xA4,0x30,0x1F,0xE5,0x05,0x7A,0x33,0x98,0x82,0x2B,0x37,0x9D,0x87,0x30, -0x01,0x59,0xD8,0x1B,0xEB,0xCD,0xF1,0xA6,0xF9,0x40,0x5A,0x39,0x01,0x65,0x7F,0xFE, -0xC4,0xE1,0xA5,0xDE,0x15,0x9C,0x0F,0x09,0x1B,0x19,0x03,0x82,0x74,0xBB,0xA1,0x55, -0x46,0x98,0x5E,0x5C,0xEF,0xD9,0xF5,0xB6,0x25,0xB4,0xAE,0x11,0x1E,0x87,0x9D,0x03, -0x35,0x0D,0xB8,0x2F,0x2F,0x91,0x35,0x3E,0xE9,0x44,0x5E,0x2D,0xE2,0x37,0x2D,0x4F, -0x57,0xF8,0x2F,0x4D,0x5C,0x77,0x46,0xAB,0x5F,0x29,0x33,0xF6,0x86,0xCC,0xD6,0xD0, -0x36,0x5C,0xEA,0x2C,0x34,0x99,0x2E,0x2D,0x9F,0x79,0x63,0x66,0xDF,0x29,0x33,0x6C, -0x64,0xED,0x09,0x7E,0xF6,0xA2,0xEC,0xD4,0x42,0x9A,0x80,0x58,0xE7,0x16,0x0C,0x6B, -0xE8,0xF7,0x9F,0xF2,0xF8,0xCF,0xE2,0xB7,0x0A,0x0A,0x10,0x80,0x10,0x40,0x5A,0xCA, -0xC0,0xF1,0xB1,0xDA,0x4B,0x61,0x51,0xAA,0x8D,0x75,0x6F,0x78,0xCE,0x0C,0x16,0x58, -0x0B,0x2A,0xA1,0x11,0x0F,0xB5,0x15,0x3A,0x90,0xC6,0xDC,0xD6,0x00,0x8B,0x91,0x11, -0x62,0x8C,0x6E,0x78,0x23,0x8F,0x39,0x2C,0xD2,0xDE,0xC4,0x8C,0x95,0xFA,0xE0,0xF5, -0x51,0x99,0x48,0x4B,0x6C,0x03,0x76,0xEF,0xE3,0xCC,0xD6,0xAF,0xBD,0x0E,0x14,0x29, -0xC2,0x80,0xC2,0xD8,0xA8,0x5F,0xB2,0x77,0x37,0xB8,0xA2,0x0F,0x47,0x62,0x78,0xBF, -0xC5,0xC1,0x84,0xDF,0xB0,0x05,0xAA,0x35,0xD6,0xFE,0xE4,0xA8,0x63,0x42,0x58,0xBB, -0xD4,0xA1,0xF5,0xCE,0x24,0xC9,0x3E,0x6D,0x10,0x86,0x9C,0x16,0xB6,0xE8,0xF2,0xC4, -0x5F,0xFA,0x25,0x45,0x07,0xBF,0x1D,0x38,0xAD,0x74,0x6E,0x59,0xB9,0xC1,0xDB,0xE2, -0xE7,0xB4,0xD3,0xFD,0x52,0x1A,0x48,0xC8,0x47,0xAD,0xB7,0x6A,0xD4,0xCF,0xD5,0x81, -0x71,0x9D,0x6C,0x6B,0x9F,0x6D,0x85,0x72,0xEE,0x7B,0x61,0x15,0x34,0x60,0x7A,0xCE, -0xD2,0xC0,0x92,0xC8,0x17,0xEF,0x0D,0x78,0x61,0x84,0x9E,0x65,0xB2,0x27,0x3D,0x0F, -0x1C,0x2B,0xB7,0x06,0xEE,0xF8,0xF4,0x96,0x12,0x8E,0x94,0x1C,0x7A,0x7C,0x66,0x9C, -0xBA,0x46,0x7C,0xA0,0x90,0x21,0x8A,0x31,0xC3,0xCD,0xD7,0x8E,0xDB,0xE6,0xFC,0xA7, -0x6E,0x9E,0x70,0x74,0x43,0x6B,0x59,0xA8,0x0B,0x1D,0x07,0x96,0xE0,0x24,0x3E,0x5E, -0xC1,0xD1,0x90,0xDB,0x8D,0x4E,0x97,0x43,0x4D,0x25,0x3F,0xE8,0x79,0x81,0x9B,0x62, -0x50,0xB9,0x69,0x4A,0x69,0x36,0x73,0xDF,0x14,0xA6,0xBC,0x32,0x53,0x66,0x7C,0xAF, -0x80,0x71,0x71,0x9A,0xBC,0x1B,0xA6,0x27,0x32,0x8F,0x95,0x3D,0x81,0xFE,0xE4,0xE5, -0x76,0xDC,0x2A,0x6C,0x05,0xCC,0x1F,0x49,0xB3,0xD8,0xC2,0xEB,0xCB,0x2D,0x37,0x7C, -0x3B,0x6E,0xD5,0x21,0x3C,0x93,0x26,0x2F,0xBE,0x6F,0x75,0x51,0xB3,0xC9,0xD3,0xE0, -0xD1,0x91,0xC0,0xCB,0x13,0xFB,0x09,0x68,0xDE,0x7E,0x64,0x20,0x94,0x14,0x0E,0x1A, -0xC3,0xA0,0xE3,0xD9,0x92,0x52,0x88,0x40,0x4A,0x1A,0x00,0xD0,0xD2,0x13,0x09,0x5B, -0x8A,0x02,0x08,0x90,0x04,0xED,0x1E,0x69,0x66,0xBB,0xA1,0x5D,0xC3,0x36,0x2C,0x6F, -0x41,0xD9,0x18,0x5B,0x1B,0xF1,0x01,0x6A,0x83,0xDD,0xC7,0xDE,0x72,0x67,0x7D,0x8F, -0xBF,0x76,0x49,0xA5,0xE6,0xF2,0xFC,0x94,0xFD,0x60,0x7A,0x1D,0xE1,0xCA,0xD0,0xB1, -0x5E,0xDA,0x04,0x44,0xCB,0xE9,0xD1,0xA2,0xEA,0x5B,0x41,0x31,0x56,0x47,0x5D,0x8B, -0x2D,0x6C,0xD6,0xE3,0x07,0x31,0x2E,0x8B,0xBB,0x73,0x6A,0x01,0xA2,0x37,0x8D,0x18, -0x3E,0x5A,0xE0,0xC6,0x11,0x26,0x2F,0x9C,0x7B,0x3B,0xE2,0xC1,0xD9,0xA0,0x61,0x63, -0x50,0xA9,0x13,0x5B,0x4F,0xF1,0xA6,0x4B,0x17,0xC1,0x74,0xAD,0x7D,0xBC,0xD9,0xC7, -0xE9,0xE3,0x59,0xA8,0x8C,0x4C,0xD8,0xF6,0xD6,0xA8,0xDC,0x6C,0xB5,0x36,0x9B,0x0F, -0xF5,0xFC,0x46,0xAB,0x7A,0xF4,0x96,0x4E,0xAB,0x23,0x2A,0x11,0x42,0xBB,0xE1,0xF8, -0x65,0xAC,0x16,0x6B,0x21,0x02,0x3B,0xB8,0xE8,0xB1,0xFB,0x52,0x27,0x0F,0x30,0x9D, -0x98,0xF2,0x48,0xC8,0x44,0x17,0x4B,0xAD,0xBF,0x67,0x7A,0x05,0x94,0x12,0x9E,0x2E, -0xA5,0xEC,0x56,0xEB,0xEB,0x4A,0xB9,0xF0,0x81,0x7E,0x5D,0x3B,0xFA,0xF5,0x17,0x40, -0x03,0x44,0xFE,0xE5,0xF1,0x89,0x60,0x33,0x11,0xA6,0x15,0xAB,0x9D,0x30,0xB5,0x27, -0xBB,0xE0,0x5A,0xF9,0x4A,0xD0,0x82,0x6A,0x45,0x22,0xC5,0xFF,0xD4,0x92,0x5E,0x6E, -0x29,0xA3,0x19,0x28,0x41,0x36,0x6F,0x8C,0xFA,0x92,0xCA,0x40,0x5E,0xE9,0xAF,0xE4, -0x45,0x43,0xF9,0xA4,0xE3,0x51,0xAA,0xEB,0x64,0x27,0xE1,0xDE,0x9B,0x51,0xD2,0x21, -0x16,0xAE,0x14,0x1A,0x0B,0xE5,0xF6,0x5F,0xA5,0x4E,0x49,0x1F,0x0E,0x29,0x3F,0xB4, -0x80,0x22,0x98,0x00,0x8E,0x5F,0xC9,0xE5,0xA6,0x1C,0x18,0x1C,0x24,0x5E,0x62,0x9E, -0x5F,0x80,0x3A,0x7D,0xC3,0xBE,0x65,0x04,0x88,0x55,0x7F,0x32,0xA1,0x66,0xDF,0x1B, -0xF2,0xCE,0x74,0x9E,0x26,0x30,0x0E,0x8A,0x85,0x6A,0x4D,0x3F,0x7C,0x9C,0xF8,0xC6, -0x2C,0x82,0x38,0x0C,0xA9,0x82,0x33,0x38,0xC1,0xBE,0xDD,0x7B,0x25,0x7E,0x43,0x9F, -0x36,0x41,0xFB,0xD5,0xA2,0x64,0xDE,0xDE,0x28,0xF9,0x73,0x92,0xB0,0x06,0xAE,0x0A, -0xAC,0x19,0xA3,0x17,0x0E,0xC4,0xD2,0x7E,0x79,0x48,0x93,0xC3,0xE7,0x87,0x78,0x5D, -0x6D,0xB7,0x0D,0x78,0x0F,0x2A,0x3D,0x90,0xF9,0xC0,0x9B,0x43,0xC0,0xC2,0x1A,0x7A, -0x88,0x39,0x83,0x13,0xCD,0x79,0xAC,0xC3,0x30,0xA3,0x31,0x8A,0x47,0x8B,0xD4,0xFD, -0xFA,0xD5,0x6F,0x8D,0x82,0x8B,0x11,0x31,0x50,0x47,0xB5,0xEA,0xD8,0x80,0x40,0x62, -0xFF,0xF4,0x4E,0xA9,0x51,0xFD,0xB4,0x47,0xD0,0xCF,0xBD,0x6A,0x50,0x8A,0xC2,0xEA, -0xBF,0x2F,0x95,0x32,0x08,0x18,0x08,0xA2,0x29,0xD8,0x53,0x93,0x0A,0x39,0x2B,0xB0, -0x2E,0x91,0x2B,0x1D,0x32,0x34,0x1E,0x8E,0x23,0xA1,0x20,0x99,0xAC,0x54,0xE0,0x16, -0x3C,0x49,0xF3,0xD7,0x04,0xCC,0xD0,0x76,0x08,0xDD,0x77,0xB2,0x58,0x88,0xC8,0xE2, -0x02,0xAA,0x10,0x0A,0xAB,0x91,0x22,0x2B,0x01,0xF6,0x55,0xBB,0x04,0x5A,0x46,0xBE, -0xFB,0x3B,0x81,0x62,0x9F,0x7A,0xFD,0xC0,0x97,0x49,0x7C,0x2D,0x1D,0x38,0x3D,0xA7, -0x7B,0xA0,0x1A,0x79,0x70,0xFC,0x94,0x46,0x68,0x39,0xF3,0xD2,0xE6,0xA7,0x59,0x5C, -0xB9,0xF3,0x49,0xE8,0x52,0x00,0x4A,0xBA,0x0B,0x8F,0x26,0xB1,0x44,0xDA,0x86,0xFE, -0xC4,0x36,0x8C,0x50,0x9D,0x69,0xEC,0xD3,0x09,0xFC,0x57,0xB3,0x2F,0x0D,0x3A,0x95, -0x12,0x61,0xDB,0xD1,0x35,0x06,0x2B,0xBC,0x4C,0x09,0xE7,0xF6,0x20,0x4E,0x76,0x9A, -0x85,0x03,0xB9,0x24,0x15,0xE9,0xE4,0x53,0xE1,0x9A,0xD9,0x5B,0x4B,0x99,0xCA,0xF1, -0x7D,0x7C,0xC6,0xA3,0xCB,0xA5,0x76,0x1F,0xC9,0xB4,0xDF,0x73,0xF8,0x84,0x64,0x42, -0x63,0x70,0xCA,0xB1,0xDA,0x80,0x42,0x3A,0x3F,0xEF,0x72,0x85,0x87,0x03,0x9C,0x3D, -0x5D,0x93,0x29,0x6C,0xE2,0xBF,0x45,0x05,0x6D,0x0C,0xC3,0xD7,0x45,0xFA,0xA7,0xFF, -0x28,0x4D,0xF7,0xC7,0xE7,0x9E,0x61,0x24,0x3C,0xBD,0x23,0x86,0x9C,0x10,0x94,0x26, -0xF3,0x20,0x9A,0x71,0x83,0x65,0xFE,0xDF,0x5E,0x2A,0xD6,0xE4,0xEF,0x85,0x72,0x55, -0x87,0x10,0xAA,0x35,0x71,0x12,0x7B,0xA8,0xCD,0xA0,0xCF,0x77,0xA6,0x27,0x99,0x1C, -0x14,0xBD,0x07,0x0B,0x1B,0x2E,0x2D,0x94,0x4F,0x5B,0xB6,0xF5,0x5C,0x98,0xDC,0xE6, -0x5C,0x7D,0xC7,0x83,0xBC,0x68,0xCC,0xD2,0x56,0x20,0xD4,0xEC,0xB4,0x16,0xBA,0x0E, -0x6F,0xA4,0x1E,0x69,0xD1,0x66,0xAF,0xDC,0xEE,0xD6,0x9A,0x54,0xE1,0xE6,0x1F,0x5B, -0xAD,0xF7,0x4D,0xF8,0x66,0xEB,0x95,0x51,0xCC,0x81,0xEF,0x76,0x03,0x1B,0x00,0xB9, -0x13,0x8F,0x35,0x3E,0xB3,0x41,0xEA,0xFB,0xDD,0xF0,0x8F,0x67,0x97,0x43,0xCC,0x2D, -0xAA,0xC5,0x7F,0xCD,0xB8,0xA7,0x07,0x1D,0x58,0x4D,0xB7,0xE2,0xDF,0xC1,0x06,0x65, -0x0A,0xB1,0x0B,0x19,0x42,0xCB,0x91,0x71,0xCB,0xC7,0xAE,0x71,0x1B,0x59,0x5A,0xA1, -0xD3,0xCF,0x75,0xBE,0x05,0x22,0x3F,0x98,0x02,0xA4,0x04,0xB8,0xBC,0x14,0xB0,0x06, -0x89,0xD7,0x6D,0xFC,0x90,0x53,0xDB,0xE9,0x6B,0x6B,0xA2,0xD1,0x90,0x02,0x8A,0x2A, -0x37,0xAF,0x15,0x3A,0x56,0xCF,0x81,0x75,0x59,0x6C,0x97,0xE3,0xDA,0xF1,0x33,0x60, -0x38,0x86,0x3C,0x1C,0x84,0x57,0xCB,0xED,0x89,0x74,0x5F,0x33,0x0F,0x09,0x1E,0xB5, -0x93,0x14,0xAE,0x25,0xE5,0x8D,0x70,0x37,0x67,0x75,0xB0,0xDD,0xF0,0x86,0x6E,0x4A, -0xED,0x2C,0x96,0x63,0x7C,0x28,0x4C,0x92,0xC8,0x95,0xFF,0x72,0x3E,0x6D,0x4B,0x84, -0x19,0x87,0x3D,0x3C,0x7F,0xD5,0xB2,0x6F,0x15,0xB2,0x05,0xAF,0x5D,0xB8,0xFD,0xE7, -0x8B,0xC4,0x7E,0xED,0xDE,0x4F,0x89,0xF5,0xB3,0x79,0x68,0x09,0x23,0x1F,0x24,0x99, -0x10,0x72,0xC8,0xC0,0x31,0xC9,0xE0,0x73,0x78,0x69,0xB3,0xC2,0x2C,0x5C,0x68,0x96, -0x60,0x8D,0x37,0x4F,0xB7,0x8E,0x21,0x34,0xDB,0x97,0xEE,0x61,0xA4,0x56,0xEA,0x1E, -0x18,0x69,0xD3,0xD3,0xE4,0x63,0x9F,0xD9,0xB6,0x4C,0x58,0x0C,0x55,0xBA,0xF7,0xEF, -0x34,0x52,0xE8,0xC4,0x53,0xEE,0xA5,0x54,0x57,0x01,0xF4,0xED,0x78,0x8C,0xEC,0xC2, -0x58,0xB2,0x08,0x48,0xC6,0x9F,0x41,0x25,0x83,0x0D,0x2C,0x39,0xB7,0x47,0xE8,0x0D, -0xDB,0xD4,0x6E,0xAD,0x77,0xCE,0xA1,0x74,0x48,0x1D,0xF7,0xF2,0xA8,0x44,0xF4,0x12, -0x25,0x77,0xCD,0xF0,0x91,0xBD,0x34,0x07,0xD8,0xC5,0xBF,0x62,0xA0,0x46,0xFE,0x1A, -0xD5,0x13,0xA9,0x64,0xD7,0xBA,0x75,0x00,0xCA,0xE6,0x8E,0x70,0x21,0x6E,0x57,0x9B, -0xEE,0xD1,0x6B,0x9D,0xCE,0x84,0x52,0x3E,0x7F,0x2F,0xF2,0xC5,0xB6,0x67,0xC9,0x0C, -0x54,0x66,0xDC,0x90,0xB6,0x60,0xCE,0xDA,0x32,0xD0,0x40,0x88,0x8F,0x01,0x96,0x35, -0x9A,0x83,0x8E,0x77,0xEF,0x0F,0x02,0x77,0xB7,0xBF,0x52,0x9F,0xDB,0x46,0xAB,0xE7, -0xFF,0x37,0x5F,0x12,0xAC,0x9D,0x41,0xA6,0x1A,0x49,0xA4,0xC4,0x4B,0x16,0xFB,0x27, -0x47,0x79,0xA9,0xAA,0x86,0xC0,0x6B,0xD1,0x35,0xF7,0x1A,0x55,0x1B,0x06,0xEB,0x67, -0x29,0x9E,0x20,0xC4,0xB8,0xD9,0x55,0xF6,0xC7,0xAA,0x47,0xFA,0x26,0x18,0xF5,0x44, -0x64,0x2C,0xDF,0x89,0x7C,0x85,0x91,0x6E,0xA3,0x9B,0x76,0xAF,0x80,0xB0,0x5D,0x4A, -0x1F,0xBB,0x33,0xF2,0xBC,0xCD,0x51,0xE6,0xA2,0x8C,0x61,0xB9,0x93,0x86,0x6B,0x6F, -0x08,0xBA,0x25,0xE5,0xD1,0x16,0x3C,0x50,0x54,0xF1,0x1C,0x32,0x57,0x09,0xE4,0x24, -0xC0,0x30,0x67,0x2D,0x10,0x7F,0xFD,0xF8,0x2A,0x4C,0xA1,0xF1,0xEE,0x43,0xAE,0xD7, -0x99,0xD2,0xDC,0x74,0xA1,0xA2,0x4C,0x94,0x45,0xE2,0x0F,0x30,0x3E,0xC8,0x25,0x8C, -0xB3,0xA5,0x81,0x5E,0xA2,0xF0,0x4F,0xC5,0x7A,0x58,0xB5,0xB5,0xA8,0x44,0xA9,0x96, -0xC1,0x10,0x46,0x2C,0x82,0xD4,0x6F,0xC1,0x82,0x8D,0x60,0x98,0x4C,0x24,0xC9,0x12, -0x1C,0xEA,0x61,0xF1,0x8F,0xEB,0x62,0xF3,0xE9,0x03,0xEE,0x7D,0xE1,0x6A,0x87,0xF1, -0x69,0x1E,0xE0,0x84,0x42,0x9C,0xAF,0x49,0x0E,0x6D,0x80,0xF4,0x05,0x0A,0xE7,0x75, -0x20,0xBC,0x0B,0xCD,0x16,0x18,0xFB,0x99,0xEC,0x34,0xD9,0x4F,0xBD,0xAE,0x43,0x69, -0x26,0xDD,0x6C,0xCB,0x63,0x99,0x8E,0x6D,0x26,0xEC,0x01,0x5D,0xFB,0xA9,0x44,0x28, -0xE3,0x65,0x11,0x0E,0xFD,0x2C,0x10,0x46,0xE3,0x8B,0x66,0xFF,0x97,0x49,0xA4,0xA4, -0x65,0x0C,0xFE,0x88,0x57,0xF9,0xBA,0x39,0x9D,0x36,0xDB,0x3C,0x44,0x3F,0xD2,0x01, -0xFA,0x07,0x6A,0x17,0x37,0x1D,0xDA,0xBD,0x20,0xC4,0x29,0x73,0x36,0xD3,0x3E,0x9F, -0xB7,0xB5,0x95,0x5A,0x2E,0x66,0xC3,0xDF,0x84,0xA5,0x48,0xB6,0x01,0xC5,0x28,0xBE, -0xED,0x06,0x7C,0x00,0xD7,0x71,0x3A,0x31,0x38,0x40,0xAD,0xEF,0x41,0x1E,0xF3,0x25, -0x0D,0x8A,0x10,0xE0,0x2F,0x47,0xC2,0xFF,0x52,0xD9,0x34,0x1C,0x88,0xAB,0x46,0x59, -0x98,0xF2,0xFD,0x75,0xC6,0x00,0x2B,0x51,0xBF,0x3F,0xD2,0x17,0x92,0x68,0x85,0x80, -0x7D,0x4E,0xA4,0x90,0xFE,0x7E,0x13,0x17,0xB1,0x97,0x7A,0xB1,0xD3,0x5D,0xB0,0xF4, -0x5A,0x0B,0xC6,0xB7,0x7E,0xF6,0x93,0x1F,0x5E,0x79,0x94,0xB0,0x12,0xF3,0x1E,0x9B, -0xF9,0x56,0x38,0x14,0x0C,0x31,0xE1,0xAA,0xC6,0xBD,0x50,0xEC,0x07,0x19,0xF4,0x64, -0x5B,0x2B,0xE7,0xB6,0x6F,0x87,0x82,0x7F,0x18,0x41,0xAC,0xCE,0xC5,0x4A,0xA7,0xF5, -0x9D,0xC2,0xC8,0x70,0x4B,0xB7,0xA6,0x6B,0xA7,0xBB,0x56,0x8B,0xAC,0x8B,0x66,0x5D, -0x92,0x81,0x84,0x7F,0x0E,0x42,0xE3,0xDB,0x60,0xD4,0x39,0x23,0x7A,0xDC,0x31,0xDC, -0xE5,0x04,0x76,0x08,0x0F,0x63,0xE2,0xFB,0x5C,0x71,0x9C,0xBA,0x82,0xA3,0x4E,0x5B, -0x11,0xD8,0x5E,0xFC,0x24,0x1F,0xC9,0xAC,0x92,0x89,0x64,0x8C,0x90,0x7B,0x96,0x91, -0xA0,0xB4,0x83,0x4D,0x90,0xF7,0x7D,0xF0,0x71,0xC7,0x2A,0x21,0x45,0xD1,0x3C,0xEE, -0xB9,0xD6,0xF8,0x54,0x06,0x48,0xEB,0xD9,0xAE,0x2C,0xC1,0x15,0xBC,0x40,0xAD,0x86, -0x52,0x09,0xCC,0xBF,0x59,0x94,0xB4,0x5A,0x72,0xD8,0x35,0x3D,0x4D,0xCA,0x27,0xFD, -0x21,0x9C,0x2A,0xCC,0x3B,0x03,0xD6,0xAF,0xED,0x23,0xCE,0x59,0x96,0xA7,0x4A,0x4B, -0xE1,0x14,0x62,0x0C,0x48,0xE5,0xA5,0x3A,0xA1,0x93,0x7E,0xA5,0xAA,0x57,0xBA,0x87, -0x1B,0xAB,0x27,0xF6,0xCA,0x1E,0x27,0x43,0xF7,0xAF,0x42,0xCF,0x39,0xFA,0x17,0xB9, -0x45,0x08,0xDA,0xA8,0xCE,0x0A,0x23,0x53,0xFA,0x18,0xF5,0x75,0xC3,0x96,0x7B,0x2F, -0xF6,0x15,0x74,0x1B,0xE6,0x24,0x0B,0x55,0x68,0x54,0xB9,0xAB,0x3B,0xE9,0x04,0xA8, -0xF8,0x76,0x19,0x15,0x6A,0xB2,0x87,0x4F,0xC9,0x02,0xEF,0x5C,0xE3,0x79,0x94,0xE0, -0x3A,0x8F,0x22,0xD7,0x38,0x51,0xD5,0xFE,0xCE,0x3D,0xD0,0x64,0xDD,0x9A,0x77,0x3D, -0xA6,0xD5,0xE4,0x4B,0xCC,0x79,0x21,0x22,0x1D,0x76,0x9B,0xFC,0xB4,0x5B,0xB6,0x95, -0x62,0x4D,0xB8,0x8F,0x5F,0xF3,0xB2,0x3B,0x8B,0x1A,0xF7,0x06,0x14,0x2F,0xC2,0x41, -0x2D,0x8E,0x34,0xC0,0x6C,0xD5,0x81,0x2E,0x57,0xEE,0x03,0x2E,0x37,0x3D,0xD0,0x70, -0x01,0x98,0x0E,0xEC,0x05,0x1A,0xE8,0x88,0xB3,0x9F,0x72,0xBB,0x6D,0x25,0xC8,0x32, -0x5C,0x6A,0xA1,0xB1,0xE9,0x68,0x04,0x16,0x23,0xDB,0x36,0x6F,0xD1,0x4E,0xA3,0xE5, -0x09,0x9A,0x04,0xE4,0x51,0x9E,0xBC,0x58,0x40,0xD5,0x38,0x02,0xE2,0x97,0x7A,0x0F, -0x2A,0xCF,0x72,0xC7,0xDA,0x4E,0x37,0x03,0x66,0xFC,0x11,0x0D,0xAD,0x65,0x88,0xB2, -0xBE,0x97,0xBE,0x53,0xCB,0x3F,0x26,0x63,0x19,0x56,0xBB,0xD8,0x13,0x1D,0xF0,0x74, -0x9E,0x93,0x9A,0x73,0xB4,0xC7,0x59,0xE4,0x05,0xF2,0x1F,0x60,0x35,0x2E,0xC3,0x61, -0xE0,0x34,0x43,0x0D,0x12,0x0C,0xFF,0x89,0x3E,0x68,0x85,0xC1,0xA7,0x6D,0x80,0xB0, -0x19,0xDA,0x54,0xF4,0xDC,0x29,0x31,0x62,0xAD,0x33,0xDE,0x09,0xDE,0x67,0x8A,0xC3, -0x91,0xD0,0xD6,0x7C,0x7F,0xD7,0x92,0x3F,0x6C,0x74,0x99,0x8F,0xAE,0x98,0x75,0x4C, -0xB2,0x85,0xA0,0x5F,0x8E,0xCA,0x63,0xD3,0x47,0xEA,0x07,0x3A,0x86,0x6C,0x81,0x90, -0x67,0x7D,0x8D,0x8A,0x5E,0xD2,0xB3,0x1B,0x0D,0x72,0x9F,0xE8,0x89,0x45,0xA8,0xB6, -0x83,0xE1,0xF5,0x6E,0xCF,0x2B,0x22,0x73,0xC0,0x95,0x78,0xC2,0x53,0xC6,0x2B,0xEF, -0x4D,0x0A,0xD0,0xA0,0x60,0xCB,0x8D,0x3C,0xFC,0x30,0xDD,0x5B,0x2D,0xFE,0x13,0xA9, -0x9C,0xE2,0xE9,0x71,0xCD,0x58,0x20,0x02,0xF9,0x07,0xEA,0x69,0x6B,0xF9,0x14,0xE8, -0x1D,0xCA,0x40,0xF0,0xDF,0x7B,0x32,0x33,0xB8,0x00,0xED,0x2F,0x9B,0x9D,0x70,0x7C, -0x32,0x8D,0x28,0xDF,0x35,0x6E,0xD8,0xCC,0x42,0xDD,0x30,0x08,0xEA,0x8C,0x61,0x1C, -0x0B,0xEB,0x77,0xE6,0x78,0x91,0x95,0x7E,0xDE,0x39,0xD4,0x70,0x50,0x3B,0xD6,0x11, -0xC5,0x00,0x52,0x28,0x50,0xBF,0xBD,0x78,0x29,0x53,0xBE,0xED,0x8A,0xB8,0x55,0x48, -0xE8,0x36,0x49,0x05,0xB1,0xF2,0x5C,0xD4,0x13,0xDE,0x33,0x5A,0xA6,0x83,0x6E,0x5F, -0x15,0xC8,0x4A,0xF8,0x4F,0xA3,0xA2,0x7B,0x2D,0x73,0x9E,0xC9,0x65,0x3E,0xD3,0x21, -0x0A,0xCB,0x56,0xE7,0x84,0xB3,0x69,0xA0,0xCD,0x22,0xCF,0x78,0xE6,0x58,0xB5,0xC4, -0x2A,0xDA,0x34,0x8D,0x82,0xF5,0x4C,0xB3,0x26,0x66,0x3D,0x84,0x98,0x21,0x34,0x68, -0xCD,0x53,0x5A,0xE3,0xA5,0xCB,0x72,0xAA,0x89,0x94,0x60,0xD9,0x86,0x3F,0x17,0x55, -0xD0,0xFD,0xE9,0x50,0x24,0x9C,0x25,0x7C,0xEC,0xE4,0x75,0xCC,0xD8,0x61,0xB4,0xA8, -0x64,0x2C,0x8C,0x35,0xF5,0xDF,0x66,0xEE,0xB7,0x49,0x83,0x3A,0x88,0x31,0x74,0x38, -0xE9,0x56,0x7B,0xC2,0x03,0xA2,0x1B,0x65,0x41,0x07,0x3B,0x82,0x97,0x2E,0x77,0x24, -0x63,0x14,0xB3,0x0A,0xAB,0x63,0xDA,0x0C,0x82,0x79,0x86,0x3F,0xDD,0x64,0x84,0x9D, -0x7F,0xAC,0x17,0xAE,0x3D,0x0F,0xB6,0xF6,0xDC,0xF0,0x51,0xE8,0x2E,0x97,0x19,0xF3, -0xE8,0x40,0x6C,0xD5,0xB5,0xCF,0x76,0xBE,0xCA,0xF1,0x46,0xFF,0x18,0xA1,0x3C,0xE0, -0x43,0x35,0xB2,0x0B,0x92,0xF1,0x48,0xA7,0xEB,0xD1,0x47,0xFE,0xBA,0x03,0x41,0x3F, -0xB9,0x12,0x6F,0xD6,0xA0,0xFC,0x45,0x98,0x0E,0xBA,0xC9,0x70,0xF4,0x4D,0xA2,0x92, -0x81,0xAF,0xEA,0x53,0xC7,0xD2,0x6B,0xD1,0x43,0x16,0x28,0x91,0x56,0xEF,0xDF,0x4D, -0xF6,0xF2,0xC0,0x79,0x96,0xD1,0x68,0x83,0xC6,0x29,0x92,0x2B,0xDA,0x63,0xC5,0xDB, -0x8E,0x1F,0x55,0xEC,0x3E,0x10,0xA9,0xEA,0x2E,0x75,0x26,0x9F,0x37,0x8E,0x7B,0x88, -0x36,0x62,0x90,0x29,0x15,0x8E,0x37,0x5F,0x8C,0xB0,0x41,0xF8,0xD7,0x6E,0xF7,0xE4, -0x4D,0x93,0x1A,0xA3,0x1A,0x31,0x88,0xEF,0x87,0x5D,0xA7,0x1E,0x94,0x2D,0x26,0x76, -0xEF,0x78,0x53,0xEA,0xCA,0x65,0xDC,0x6B,0x3C,0xBF,0xFE,0x47,0x30,0x89,0x3A,0xCE, -0xE6,0xE6,0xC4,0x7D,0x8C,0x5D,0xE4,0x15,0xC5,0xD7,0x6F,0xD6,0x5B,0xE2,0xED,0x72, -0x55,0x0F,0x9E,0x27,0x62,0xA4,0x1D,0x02,0x9C,0x6B,0x8A,0x33,0x80,0x39,0x76,0x32, -0x5F,0x8D,0x16,0xAF,0x6A,0x24,0x9D,0x8A,0x4F,0xCE,0xFC,0x45,0xA1,0x18,0x52,0x37, -0x54,0x19,0x89,0x30,0xEE,0x44,0xFD,0x6E,0x00,0x73,0x0E,0xB7,0x4D,0xF4,0xCC,0x45, -0x1D,0xD7,0x0E,0xB7,0x44,0x8D,0x34,0x0D,0xC2,0xE2,0x5D,0xE4,0xC3,0x7A,0xA7,0xA0, -0x58,0xB5,0x29,0x90,0x4C,0x0D,0xB4,0x85,0xC3,0x0D,0xB3,0x0A,0x6D,0xD4,0xC8,0x61, -0xD9,0x63,0x7E,0xC7,0xAC,0x5C,0xE5,0x34,0x6F,0x01,0x13,0xAA,0x35,0x8C,0x0A,0xFB, -0xA1,0x8E,0xEB,0x52,0x02,0xB5,0x0C,0x73,0x64,0xEC,0xF5,0x4C,0xF6,0x4F,0xD3,0xE1, -0x91,0xBB,0xEE,0x57,0x38,0x38,0x81,0xC4,0xF8,0xF4,0x71,0xC8,0x15,0xAC,0x0E,0xDF, -0xD2,0xF7,0xE1,0x58,0x88,0x7D,0xC4,0x31,0x50,0x33,0x1E,0xA7,0x42,0xFB,0x8F,0x09, -0x05,0x4B,0x8A,0x33,0xF9,0x7F,0xC6,0x42,0x9F,0x95,0x77,0xCE,0x87,0x3E,0x37,0x74, -0x78,0x94,0x28,0x91,0x2C,0x1C,0xA5,0xF4,0xBD,0x4B,0x8B,0x32,0xD4,0x6D,0xA6,0xB6, -0xE7,0xF0,0xD3,0x6A,0xA3,0xE3,0x5A,0x84,0x52,0x22,0x0D,0xB4,0x4F,0xF6,0xBD,0x36, -0x85,0x8B,0xCA,0x73,0x8A,0x75,0xCC,0x3B,0x66,0xFD,0xE6,0x5F,0xDE,0x67,0xD5,0xCF, -0x57,0x05,0x96,0x2F,0xA8,0x7C,0xC5,0x10,0xC9,0x0F,0xBB,0x02,0x3D,0x84,0x08,0xF1, -0x8B,0x2D,0x62,0xDB,0xFF,0x57,0xEE,0x6C,0xFF,0xC1,0x43,0xFA,0xE5,0x5C,0xC2,0xE3, -0x47,0x11,0x92,0x2B,0x69,0x3B,0x82,0x96,0xD6,0xF2,0x59,0xE0,0xC9,0x70,0xD4,0xD9, -0xF8,0x54,0x68,0xD1,0x10,0xB9,0x00,0x6D,0xBC,0xA4,0x65,0xDC,0x64,0xDD,0xEA,0x4A, -0x5A,0xBF,0x21,0x98,0x09,0x2A,0x93,0xE7,0x4E,0x21,0x12,0xAB,0x54,0xED,0xAE,0x3E, -0xCF,0x59,0x52,0xEB,0xFC,0x48,0xF1,0x70,0x2A,0xBE,0xE9,0x50,0x39,0x80,0x18,0xE5, -0x25,0x6A,0x8B,0x32,0x1C,0x19,0xA0,0xC1,0x2F,0x9A,0xC8,0x71,0xE7,0x5E,0xB3,0x90, -0xDC,0x51,0x49,0xF0,0xAD,0x4B,0xF2,0x22,0x17,0x9D,0xF7,0x4E,0x04,0xBD,0x6E,0xAE, -0x5B,0xA9,0x36,0x8F,0x00,0xBD,0x04,0x79,0x06,0xA9,0xD2,0x6B,0x08,0xB1,0x7C,0xB0, -0x46,0x07,0x85,0x3C,0x06,0x95,0x2C,0x57,0xD8,0x3B,0x9E,0x27,0x77,0xCE,0xFB,0x48, -0xDD,0x47,0x5E,0xE7,0x7D,0x1F,0xA6,0xA6,0x5D,0x04,0x24,0x9D,0xA3,0x1A,0x23,0x44, -0xCB,0x7D,0x72,0xCB,0xDB,0x76,0xCF,0x69,0xC8,0xE0,0x55,0xEC,0xBB,0x02,0x61,0x1E, -0x86,0x97,0xD5,0x6C,0x71,0xBF,0x06,0x0A,0x8F,0x4E,0xBC,0x05,0xC5,0x7C,0xC6,0xC7, -0x1E,0xCB,0x11,0xA8,0x68,0x2C,0x95,0x80,0x75,0xD8,0xD0,0x69,0xB1,0x08,0x12,0x67, -0x9C,0x01,0x59,0xE0,0x50,0xA9,0x10,0x3D,0x7E,0x35,0x36,0x8F,0xFB,0x42,0xE1,0xDE, -0xC4,0xCD,0xCD,0x74,0x30,0xB8,0x01,0x4C,0xAB,0x4A,0x9C,0x25,0x83,0x3A,0x27,0x60, -0x39,0xD2,0x2F,0x96,0x45,0x9A,0x23,0x1B,0x1C,0x70,0x11,0xA8,0xD0,0x69,0xB6,0xA2, -0xC9,0x77,0x7A,0xC3,0x0B,0x22,0x9B,0xED,0x71,0x13,0x1F,0xA6,0x09,0xB0,0x5C,0x91, -0x89,0x27,0x6A,0xD3,0x31,0xAF,0x16,0x5A,0x7A,0xFE,0xF9,0x40,0xF9,0x40,0x90,0xAD, -0x83,0xA5,0xE2,0x5B,0x6C,0x0C,0xB5,0xA4,0xFC,0x3F,0xBE,0x07,0x06,0xBF,0x1F,0xDD, -0xC0,0xE9,0xED,0x54,0xB7,0xC7,0x7E,0xB4,0x13,0x56,0x38,0x81,0xB0,0x09,0x32,0x46, -0x67,0x30,0x93,0x2A,0xDA,0x61,0xD8,0x7F,0xB2,0x6D,0xA2,0x1B,0xF3,0x4A,0xE3,0xD4, -0xB2,0x86,0xF0,0x49,0x20,0xBC,0x05,0x58,0xB1,0x93,0x5F,0xE6,0x58,0xE1,0xBC,0x20, -0x59,0xA3,0x3E,0x87,0x6F,0x13,0xAA,0xB8,0x28,0xAF,0xFA,0x43,0x60,0xD9,0xFA,0x5E, -0xD6,0xD3,0xC1,0x78,0x80,0xFD,0x44,0xB9,0x49,0x14,0x20,0x99,0xF2,0x4B,0xC3,0xF5, -0x2E,0xFE,0x14,0xAD,0x48,0x2D,0x94,0xA1,0x9B,0x5E,0xB8,0x01,0xDB,0x62,0xE5,0xFA, -0xDE,0x5B,0x41,0xF8,0x9F,0x46,0xFF,0x1D,0x7B,0x11,0x17,0xAE,0x12,0xAB,0x4F,0x99, -0xB8,0x04,0x78,0xC1,0x2D,0x0B,0xB2,0xE2,0x03,0x8D,0xF3,0x4A,0xA5,0x1C,0x42,0x23, -0xB1,0x9A,0xEF,0x56,0x51,0xBE,0x07,0x2B,0x1A,0xAA,0xCD,0x74,0x67,0xDE,0xBB,0x18, -0x99,0x33,0x6E,0xD7,0x60,0xAC,0x15,0x08,0x5C,0xEB,0xCA,0x73,0x03,0xBA,0x2F,0xE8, -0x9B,0x39,0x66,0xDF,0x28,0x3C,0x85,0xD0,0xBA,0x7E,0xB9,0x00,0xA0,0x19,0x72,0x16, -0x98,0x25,0x79,0xC0,0xF3,0xF7,0x4E,0xC0,0x0B,0x9E,0xE8,0x51,0xC6,0x7F,0x97,0x95, -0x53,0x21,0xB6,0x0F,0x2B,0x23,0x9A,0xCC,0x9E,0x7A,0x99,0x20,0x26,0x9F,0x1B,0xF9, -0x65,0x3A,0x9B,0x22,0x87,0xC2,0x7B,0x81,0x29,0x40,0x14,0xAD,0x1D,0xA4,0x0C,0xD5, -0x3A,0x2D,0x4A,0x35,0x50,0x76,0x63,0x11,0x75,0xA0,0xF7,0x12,0x79,0x20,0x1C,0x1E, -0x17,0xF8,0x9F,0xCD,0x48,0xA6,0xAB,0xC1,0xED,0x72,0xBD,0x8A,0x50,0x06,0x13,0x37, -0x6F,0x1C,0x7B,0x51,0xB1,0x37,0xC3,0x50,0x0A,0x58,0x70,0x6D,0xD3,0x5F,0xC9,0xB4, -0x4A,0xD2,0xB5,0xBA,0x51,0x98,0x8C,0xFF,0xAF,0xC1,0x4C,0xC8,0xEB,0x19,0xB7,0x8C, -0x00,0x01,0x66,0x23,0x5D,0x4C,0x54,0x2B,0x6D,0xFA,0xB5,0x0A,0x3B,0xD1,0xAF,0x5C, -0xD9,0x7F,0x18,0x84,0x96,0xEA,0x39,0x8D,0xF7,0x5B,0x8E,0x90,0x78,0x00,0x3D,0x1F, -0xCE,0x86,0xE1,0x6A,0xB3,0x24,0xD2,0x43,0xAC,0x93,0x1D,0xCB,0x72,0x73,0x44,0x15, -0x4C,0x0E,0x69,0x60,0x4D,0x87,0x8F,0xE0,0xEB,0x15,0xDC,0x8C,0x8D,0xFC,0x34,0xEA, -0xC8,0x5A,0x3D,0xB0,0x25,0xA8,0xC8,0xCF,0xCC,0x77,0x99,0xAB,0xAD,0xF8,0x10,0xCA, -0xD3,0x77,0x10,0x86,0x68,0x49,0x64,0x2E,0x41,0xC0,0xA3,0x26,0x96,0xEF,0x3C,0xF1, -0xD0,0x8A,0xED,0x78,0x39,0xB7,0xCB,0xD0,0xEC,0x53,0x9D,0x8B,0x2B,0x91,0xFF,0x4C, -0xCC,0x95,0xF2,0x7B,0x29,0x7C,0x10,0x1B,0xBD,0xE2,0x7D,0xDA,0x4D,0x74,0x7C,0x2A, -0x73,0x03,0x64,0x52,0xC2,0x35,0xB2,0x52,0x98,0xF3,0x49,0xFF,0xEC,0x58,0xF1,0x8B, -0xDA,0x82,0xE5,0x7A,0xE1,0x27,0x83,0x40,0x9F,0xB5,0x08,0xF8,0x88,0xCC,0x01,0xEF, -0xB2,0xAD,0xCA,0x3D,0xF4,0xCD,0x7C,0xAA,0x42,0x92,0xF2,0x25,0x99,0xAC,0x70,0xFE, -0xED,0x94,0xF3,0x5B,0x0B,0x80,0xCE,0xE7,0xA6,0xEA,0x6E,0xC1,0x2E,0xA1,0xCA,0x49, -0x40,0xDA,0xBD,0xB8,0x90,0x36,0xE3,0x51,0x87,0xEF,0x4A,0xE0,0x83,0x9F,0x59,0xE4, -0xEE,0x69,0x0E,0xA5,0xBE,0x1E,0xE5,0x79,0xCB,0x31,0xD8,0xAC,0xFC,0x18,0xA1,0x9B, -0x83,0x67,0x00,0xC6,0x28,0x92,0xFF,0xF5,0x9D,0xC6,0x79,0xFA,0x6C,0x50,0x79,0x0B, -0xB8,0xA5,0xC2,0x3F,0xCB,0xC0,0x4E,0xA7,0xA2,0xFE,0x7E,0xC5,0x8F,0x8D,0x47,0xE8, -0x56,0xCD,0xAA,0xB9,0x0E,0xA1,0xEA,0xC6,0x47,0xA7,0xC2,0x20,0xDF,0x4D,0xD7,0xB8, -0xB0,0xBE,0xD9,0x2C,0x99,0xC3,0x1F,0xA4,0xBC,0xC3,0x5D,0xDB,0xB2,0xFB,0x0C,0xD5, -0xF8,0x7E,0x19,0xA4,0x7F,0xB0,0x8A,0xD7,0x0C,0x3F,0x11,0x6B,0x42,0x37,0x30,0x25, -0xBD,0x84,0xE3,0x1B,0x84,0x32,0xF3,0x55,0x30,0x55,0x47,0x57,0xEF,0x09,0xA3,0x88, -0x3B,0xC3,0xA4,0xDA,0xF2,0x11,0xA6,0x76,0x44,0xF5,0x93,0x23,0x5B,0x55,0x4B,0x3C, -0x9E,0x96,0xF1,0x2A,0x04,0xA9,0xE8,0xCE,0x4A,0x98,0xF0,0x2D,0x82,0xBF,0x78,0xE5, -0xE8,0xB5,0xD2,0x7F,0xD4,0x22,0xB3,0x45,0x63,0x97,0xD6,0x04,0x70,0x02,0x37,0x17, -0x24,0x21,0x46,0x27,0xA5,0x33,0xD3,0x54,0xC9,0x42,0xA9,0xAE,0x08,0xC4,0x89,0x6F, -0x7E,0x39,0x5E,0x65,0xE3,0x34,0x92,0x53,0xE9,0x66,0xAD,0x8E,0x4E,0x25,0x2E,0x29, -0x22,0xFD,0x9A,0xFD,0x69,0xA7,0x8B,0xC0,0x85,0x9C,0x3B,0xE2,0x3A,0xF1,0x8E,0x5D, -0xAE,0xB2,0xD5,0x3E,0x4F,0x94,0x9E,0xF3,0x71,0xB4,0xE7,0x16,0x28,0xC0,0xAD,0x4F, -0x94,0x9E,0xF9,0x28,0x80,0xFD,0x38,0x9A,0x00,0x21,0x03,0x67,0x30,0x82,0xF7,0x57, -0x8A,0x92,0xF5,0x3A,0xDD,0xD7,0x4F,0xB0,0x46,0x86,0xE2,0x21,0xBE,0xE9,0x12,0xD9, -0x67,0x07,0x60,0x42,0x9A,0x3E,0xE1,0x59,0xA0,0x8D,0x0F,0xC7,0x7D,0x30,0x08,0x1A, -0x3E,0xE2,0x85,0xFE,0xE4,0x06,0xA7,0x61,0x08,0x2B,0x01,0x6F,0x48,0x44,0x49,0x2F, -0x5C,0xC5,0xA2,0xBB,0x6C,0x86,0xAF,0xE1,0xE6,0x2A,0xEE,0x81,0xE6,0x2B,0x88,0x81, -0x64,0xFA,0x9D,0xBC,0x63,0xAF,0x89,0xC8,0xA9,0xA6,0x2D,0xCE,0x2A,0xB1,0xDE,0x4D, -0xF0,0x65,0x02,0xB7,0x87,0xCF,0x0D,0xA8,0x5B,0xE9,0x90,0x3C,0xC6,0x2F,0xAC,0xA1, -0x0F,0x28,0x4F,0x05,0xFC,0xD6,0x6F,0xB1,0x3A,0x2C,0x34,0x5D,0xD0,0x0E,0x9B,0xB7, -0xE6,0x72,0x15,0xB6,0xEB,0x2F,0x81,0x48,0xDF,0x75,0x88,0xB8,0x0B,0x95,0xDB,0x6C, -0xEC,0x7A,0x1D,0xB4,0xF9,0xF7,0x4B,0x90,0xEE,0x20,0xEC,0x89,0xB6,0xEB,0x18,0xD1, -0xC4,0x8E,0xE9,0x68,0x85,0xDC,0x1C,0xBB,0x16,0x16,0x22,0x71,0x6E,0x21,0x0A,0x09, -0x19,0x3F,0x58,0x04,0x6D,0x68,0x40,0x0F,0x58,0xBB,0xC1,0x3F,0xC4,0x5E,0xDF,0xA3, -0x62,0x26,0x41,0x66,0xD2,0xFE,0x69,0x99,0xB3,0x8F,0x1E,0xD4,0x55,0x36,0x26,0x32, -0xA2,0x66,0x01,0xE6,0xAB,0xF4,0x1A,0x93,0x22,0x76,0x76,0x45,0x0C,0xD4,0x9D,0x6B, -0x7D,0xC4,0xA3,0x9B,0x1D,0x97,0xCF,0xF0,0xDE,0x54,0xA8,0xB9,0x5F,0x45,0x5F,0x38, -0x52,0x02,0x65,0x72,0x2D,0xB3,0xDB,0xD4,0x24,0x11,0x17,0x43,0x9E,0xED,0x36,0xF9, -0x1E,0x0D,0x6A,0x31,0xD8,0xF6,0x6B,0x91,0x4B,0xB9,0xD0,0x2C,0xC9,0x6C,0xE0,0xAE, -0x45,0xFB,0x9C,0x9C,0x1F,0x84,0xDE,0xE3,0x04,0x35,0x13,0x63,0xA5,0xFA,0x1A,0xC2, -0xA9,0x80,0xE7,0x0B,0x57,0x44,0x56,0x23,0x13,0x23,0x12,0x74,0x93,0xDF,0x09,0xF4, -0xBF,0x97,0xF0,0x0A,0x8C,0x29,0xE0,0x4E,0x6E,0xA8,0xE4,0x09,0x1C,0x94,0xCD,0x7B, -0xFD,0x5F,0x38,0x80,0xE5,0xE8,0x48,0x8F,0xD3,0x6B,0x9A,0xB4,0x56,0x67,0x74,0x31, -0x14,0x05,0x62,0x33,0x95,0x17,0xC7,0x70,0x20,0x05,0x07,0x47,0x53,0x57,0x41,0x34, -0xC5,0x60,0x07,0x87,0x07,0x54,0x16,0x33,0xD6,0x5E,0xAA,0xB1,0x03,0x97,0xD1,0x64, -0x33,0xD8,0xBF,0xC9,0x5A,0x7E,0x61,0x19,0x68,0xCF,0x85,0x0F,0x13,0xD7,0x81,0x74, -0xBA,0xB6,0xD1,0x2E,0x43,0x40,0x46,0x27,0x35,0x60,0x77,0x52,0x0D,0xF4,0xBC,0x6A, -0x7A,0xF6,0x91,0xAE,0x06,0xBA,0xF9,0xDD,0xF2,0x6E,0xBE,0x95,0x1F,0xC5,0x9F,0x78, -0x91,0xBF,0xD8,0x0C,0x82,0xEE,0x29,0x89,0xAB,0xD5,0x5C,0xCC,0xBB,0xD9,0x27,0xDC, -0xF6,0xB9,0xDE,0x6D,0x03,0x9B,0xDD,0xFC,0x73,0xC7,0x96,0x14,0xBC,0x98,0x61,0xDB, -0x8B,0x7C,0x1B,0xD5,0xB6,0x05,0xF6,0x62,0x14,0x65,0x53,0x73,0x5C,0x14,0x0D,0x3B, -0x46,0x06,0x61,0x62,0x38,0x59,0x24,0x3E,0x7D,0xAA,0xF5,0x1A,0xDD,0x3C,0xA4,0xBA, -0x1B,0x2C,0x4B,0x15,0x6A,0x5A,0x75,0x3D,0xC7,0x2F,0xCA,0xA0,0x51,0x26,0x32,0x36, -0xDC,0x5E,0x39,0xA0,0x4E,0x7A,0x71,0x1D,0x12,0x02,0x32,0x75,0x31,0xA2,0xD6,0x56, -0xFB,0x83,0xE4,0x5A,0x71,0x77,0x43,0x10,0x9C,0xE7,0x59,0xFB,0x7F,0x41,0x7B,0x18, -0xA9,0x66,0x2E,0x42,0x4D,0x56,0xA6,0xFA,0x5E,0x2C,0xC7,0x93,0x94,0xF5,0x1E,0x6B, -0x45,0xF8,0x5C,0xAE,0xBF,0x19,0x54,0x47,0xDA,0x4C,0xA7,0x77,0x00,0x6A,0x81,0x60, -0x53,0xD9,0x6B,0xB8,0xDE,0xDC,0x35,0xE3,0xB8,0x55,0xBE,0x0C,0xFF,0x27,0xCC,0xD2, -0x88,0x42,0x2B,0x63,0x3B,0x85,0xD0,0x5F,0x56,0xAC,0x47,0x1B,0x16,0x7D,0x96,0x61, -0x3D,0x3E,0xE2,0xD6,0xA2,0x76,0x49,0x35,0x98,0x54,0xBF,0x2D,0x7A,0x9D,0x76,0xED, -0xFE,0xE7,0xF8,0x15,0x44,0x7D,0xAF,0xD8,0x36,0xBD,0x56,0x6A,0x97,0x08,0xE3,0x95, -0xCB,0x93,0xB9,0x20,0xEC,0xDB,0x07,0xD6,0x70,0x85,0x6E,0x14,0xCE,0xED,0x06,0x29, -0x65,0xFC,0x78,0x8E,0x02,0xDA,0xE9,0x39,0x78,0x05,0xEE,0x9C,0xAC,0xCA,0x21,0x6C, -0x8F,0x03,0x6D,0x64,0xC6,0x86,0x2D,0xA1,0xCD,0x77,0x9C,0x5B,0x52,0x69,0x82,0x31, -0xDC,0x92,0xAF,0x37,0x3A,0xA4,0xD1,0x7F,0x18,0x14,0xFF,0xED,0x8D,0xCB,0x20,0x4C, -0x1D,0x3A,0xC6,0xF6,0xC0,0xE1,0x2B,0xC0,0x0C,0x30,0xDB,0xDD,0xA2,0x0D,0xE6,0xA5, -0x4A,0xBB,0x10,0xA1,0xAF,0x49,0x44,0x07,0xBC,0x75,0x9E,0x28,0xEE,0x02,0xE9,0xE6, -0x35,0x3C,0xE8,0xDE,0x0A,0xD0,0xE1,0x3B,0x9C,0x74,0x9F,0x09,0x1C,0x75,0x9E,0x63, -0xED,0xF6,0xFA,0x06,0xF2,0xE6,0x19,0xF5,0xCB,0x5F,0xB4,0x75,0x34,0x81,0x6A,0xBF, -0x47,0x89,0x2F,0xAC,0xBC,0x4B,0x57,0x16,0x97,0xEB,0x00,0x9D,0xE9,0x30,0xDB,0xD3, -0xD6,0xE1,0xD6,0x3D,0x57,0x7F,0xBC,0xC9,0xBE,0x7D,0x96,0x22,0x92,0x29,0xC2,0xB1, -0xD0,0x80,0xB1,0x3B,0xC4,0xF5,0x2F,0xD0,0x10,0x94,0x7F,0x65,0xE4,0x0A,0xE1,0xE4, -0x80,0x40,0x21,0x6B,0x32,0xAE,0xD9,0x7D,0xC1,0xD7,0x3C,0xF7,0x35,0x6F,0x84,0x50, -0x90,0x00,0x71,0x7B,0x8C,0x3F,0x67,0x52,0xB6,0xFD,0x16,0xAA,0xC3,0xD7,0x3C,0x1E, -0x8E,0x23,0x4C,0x65,0xD1,0x90,0x3A,0xA0,0x91,0xC3,0x28,0xB3,0x4A,0xB9,0x52,0xF9, -0x26,0x2D,0xEA,0xCD,0xE0,0xC5,0x0B,0xC4,0x09,0x07,0xEC,0xEF,0xB5,0xF4,0x1F,0x4B, -0x10,0x08,0xF9,0xFB,0xF7,0xD3,0x1C,0xC5,0x81,0xC7,0x2C,0xA7,0x59,0x8F,0x64,0xDC, -0x9F,0x43,0x3D,0x74,0x8A,0x58,0x61,0x33,0x37,0xAA,0x41,0x7C,0x4F,0x98,0x73,0xDD, -0xD5,0xB0,0x84,0x3E,0x37,0x9B,0xDC,0x4D,0x9F,0x6B,0x80,0x15,0x0D,0x50,0xBB,0x57, -0x5E,0xEB,0x54,0xB5,0x99,0x5A,0x72,0x22,0xF3,0xDA,0x31,0xC8,0xB6,0x09,0xE2,0xB5, -0xD2,0xF1,0xC2,0x39,0x23,0xDF,0xC8,0x1D,0xA2,0xD9,0x32,0x9A,0xEB,0x23,0xC8,0xC2, -0xB2,0x75,0x26,0x59,0xF6,0xF2,0x1D,0xE5,0xA6,0xF9,0x12,0xBE,0x2C,0x51,0xBA,0x77, -0xFC,0x96,0x8B,0x17,0x78,0x17,0x93,0x8E,0x94,0xF4,0x1F,0x81,0x0B,0x8C,0x67,0x8D, -0x9C,0x12,0x6F,0x77,0x16,0x9E,0xFD,0x69,0x2E,0x39,0xD2,0xF6,0x8A,0xF9,0x12,0x79, -0x38,0x0E,0xD7,0xD3,0x4F,0x25,0xA4,0x8B,0xFE,0x6D,0x86,0x72,0x61,0xB0,0x5B,0xDB, -0x3F,0x4F,0x91,0xD4,0x97,0x37,0x7C,0x41,0x0A,0x18,0xF3,0xF3,0x06,0xB6,0x5D,0xBA, -0xDF,0xC3,0xFD,0x34,0xF0,0x95,0x1B,0x84,0x21,0x86,0x6D,0x46,0x7B,0x73,0x98,0x02, -0xB8,0x06,0x5F,0x53,0x89,0x0A,0x62,0x62,0x83,0xCF,0x24,0xAD,0xF0,0x0E,0xE5,0xF4, -0xFB,0xD7,0xCD,0x10,0x13,0xAB,0xF8,0x59,0xEE,0x69,0x82,0x66,0x29,0x70,0x9B,0x53, -0xF1,0xA4,0xB4,0x1A,0x48,0x63,0xA3,0xCA,0x05,0xA7,0x4C,0x43,0x3E,0x89,0x62,0xBD, -0x0E,0x2B,0xC4,0xE5,0x0F,0xE5,0xE4,0x0B,0x58,0x04,0xEF,0xBD,0xBC,0x01,0xEA,0xB7, -0xFA,0xF7,0xEC,0x11,0x91,0x50,0x7A,0x20,0xB4,0xF5,0x1E,0xA0,0xCA,0x22,0xC9,0xE2, -0xD3,0xD1,0xE3,0x38,0x09,0x82,0xE2,0x6A,0x7C,0x25,0xCE,0xB8,0xE7,0xF7,0x1C,0x1A, -0x50,0x88,0x39,0xBB,0xEE,0xA8,0x05,0xA7,0x14,0xB4,0x5F,0x41,0x9F,0x13,0xF8,0x86, -0x68,0xCE,0x47,0x83,0x4B,0x31,0xA0,0x9B,0x5B,0x1B,0xF0,0xA1,0xBA,0xDD,0x36,0x6D, -0x6F,0x8F,0x01,0x84,0x7C,0x03,0x97,0x9E,0x65,0xB6,0x5D,0x32,0x83,0x0C,0xE7,0x85, -0x0B,0x1B,0xF1,0xE0,0x7B,0x45,0x90,0xDF,0x54,0xA4,0x4F,0x11,0x2A,0x8D,0x66,0xAD, -0x1A,0x7B,0x80,0xF1,0xA6,0x62,0x4D,0x25,0xAB,0x4E,0xA5,0x04,0x42,0xA2,0x49,0xEA, -0xAD,0x76,0x3A,0x46,0x42,0x1A,0xA9,0xB9,0x19,0x03,0xE8,0xFB,0x1D,0x9B,0x70,0x8C, -0x2E,0x2F,0xE0,0xC5,0x28,0x87,0xC3,0x4E,0x1F,0x2B,0xC0,0xD5,0x38,0x55,0xBE,0x67, -0x15,0x38,0xCC,0xFE,0xA5,0x30,0x4E,0x74,0xB3,0xCA,0x21,0x98,0x23,0x78,0x93,0x51, -0xA8,0x46,0x0F,0x43,0x08,0xA3,0xE3,0x4A,0x1C,0x34,0xDF,0xC9,0x20,0x85,0x6E,0xAF, -0xCE,0xA3,0x8C,0x25,0x59,0x12,0xB2,0xAA,0xC7,0xFF,0x14,0xD9,0x3C,0x9A,0x71,0xAC, -0x5C,0x9A,0x27,0xB7,0xA3,0x57,0x48,0x15,0x3D,0x22,0xC9,0xFE,0xA6,0xC2,0x29,0x6E, -0x31,0x2C,0xFC,0xDA,0x58,0x33,0xB3,0x8A,0xC8,0x40,0xAB,0x69,0x40,0xB1,0x5A,0xFB, -0xC1,0xE0,0xC0,0x2A,0xE8,0xCF,0x03,0xC6,0x5D,0x33,0xD8,0x8F,0x08,0x71,0x9A,0x73, -0x6C,0xDE,0x53,0x87,0xD4,0xA5,0x3F,0x90,0x24,0xB1,0x5A,0x74,0x4D,0x8B,0x60,0xCC, -0x00,0x48,0xA9,0xEB,0x63,0x1F,0x88,0x9D,0x34,0xB5,0x5E,0x60,0xB0,0xD5,0x3E,0x6F, -0x7F,0xCF,0x51,0x94,0x2F,0xC1,0xC4,0x0F,0x32,0x9D,0x76,0x4E,0x1E,0x66,0x8D,0x72, -0xEF,0x87,0x89,0x04,0x79,0x36,0x92,0xAE,0x28,0x11,0xFA,0xD8,0x73,0x68,0x83,0x11, -0x0C,0x5A,0xB7,0xE7,0x46,0x0E,0xAD,0xA9,0x99,0x43,0xA8,0x3B,0x48,0xAA,0x41,0xE8, -0xCD,0xF2,0xDE,0x26,0x0D,0x96,0xE6,0x7A,0x45,0xB7,0x5C,0x13,0x8E,0x36,0xDD,0xB2, -0xB9,0x26,0x7E,0x52,0x61,0x6C,0x8A,0xEC,0x5C,0x24,0xCF,0x99,0xD2,0xF2,0x19,0x2A, -0xAB,0x17,0x5D,0x40,0x95,0x44,0x7E,0x30,0x49,0x17,0xFC,0xBF,0x5E,0xBD,0x56,0xE9, -0xB3,0x55,0x07,0x58,0xE4,0xD1,0x0F,0xD4,0xEF,0x7E,0x95,0x70,0x64,0x91,0x7A,0xFF, -0xD8,0x82,0xBB,0x33,0xA0,0x05,0x4B,0x44,0x71,0x92,0x79,0x02,0xCB,0xCC,0x27,0x0D, -0x01,0x68,0x88,0xEA,0xAE,0x68,0x45,0x27,0x3F,0x2A,0xC1,0xF4,0x6E,0x99,0x72,0xFD, -0xF3,0xD5,0xC7,0x18,0x87,0x67,0x6C,0x01,0x64,0xA1,0x4A,0x24,0x18,0xBA,0x51,0xA8, -0x8B,0x13,0x79,0x60,0x2D,0xB2,0xC6,0x7E,0x04,0xB0,0x5B,0x55,0xD4,0x2E,0xC5,0xF0, -0xAA,0xAF,0x56,0x9D,0x0A,0x5A,0x31,0x0F,0x33,0x36,0x5B,0x0C,0xBF,0xB2,0x6C,0x69, -0xCC,0xC9,0xB3,0x1E,0x5B,0xBA,0x80,0x5E,0xF8,0xFD,0x4B,0xD7,0xBC,0xAE,0x73,0x76, -0x2C,0x29,0x3F,0x72,0x2A,0x5E,0x15,0x2F,0x2C,0x29,0x47,0x0F,0x77,0xAA,0xBC,0xB9, -0x17,0x12,0x28,0x5E,0xA7,0x64,0xA2,0xA2,0xCD,0xC8,0x0A,0xA3,0x41,0xB1,0x91,0x94, -0x18,0x1D,0x6B,0x12,0xA4,0x35,0xF0,0xA1,0x49,0x4C,0x96,0xBB,0xFA,0xD0,0x4B,0x4E, -0xAF,0xAA,0x66,0xA8,0x40,0xA9,0x88,0x45,0x04,0x01,0x69,0x09,0x9C,0x8F,0x72,0x77, -0x6D,0x68,0x9F,0x93,0x7E,0x8E,0x91,0x7B,0xB1,0xB4,0xA0,0x75,0x95,0x11,0xE5,0xE0, -0x09,0x0C,0x0B,0x63,0x79,0xCF,0xD7,0x7C,0xA3,0xA6,0x83,0x44,0xBD,0xB8,0x64,0x61, -0x52,0x57,0x98,0xAB,0xEC,0xB7,0x3A,0xE9,0xB3,0xB6,0xD3,0x04,0x96,0x0D,0xFA,0xFF, -0x6A,0x6F,0xDE,0xD5,0x49,0x8B,0xA3,0x4C,0x1C,0x19,0x33,0x4B,0x7D,0x28,0x34,0x31, -0xF8,0xFD,0xE7,0x7E,0x93,0x30,0xC2,0x96,0xF2,0xF7,0x32,0xA4,0xF2,0x58,0xCB,0xCE, -0xD1,0xD4,0xC1,0x71,0x0B,0x7A,0x10,0x0E,0x22,0x27,0x2A,0x6C,0x0A,0x75,0x1E,0x1B, -0xF3,0xF6,0xB4,0x26,0x4A,0xDA,0xF1,0x4F,0xA0,0xA5,0xD1,0x15,0xAD,0xAC,0x60,0x65, -0x0C,0x09,0x3B,0x56,0x0D,0x1B,0x77,0x08,0x03,0x06,0x2F,0x48,0xA7,0x2E,0xE8,0xED, -0xBA,0xBF,0x16,0xCD,0x8B,0x72,0x98,0x8E,0xC8,0xCD,0x3F,0x93,0xE4,0x62,0xE7,0xE2, -0xF9,0xFC,0xC7,0x5F,0x11,0x49,0x39,0x14,0x6E,0x6B,0xF4,0xFE,0x43,0xBB,0x99,0x9C, -0xF1,0xF4,0xC5,0x55,0x85,0x11,0xF5,0x80,0xA6,0xA3,0xB6,0x74,0xB8,0x8A,0x53,0x56, -0x89,0x8C,0x03,0xEB,0x2F,0x6E,0x20,0x2A,0xB7,0xB2,0xC7,0x14,0xE0,0x46,0xC7,0xC2, -0xDA,0xDF,0x92,0x29,0xA2,0x54,0x97,0xA7,0x95,0x90,0x90,0x61,0x1D,0x59,0x25,0x20, -0x03,0x06,0x78,0x1A,0xAC,0x37,0xFA,0xA9,0x2D,0x28,0x66,0x2F,0xED,0xFC,0x70,0x75, -0xA9,0xAC,0x07,0xCF,0x97,0x20,0xD6,0x92,0x10,0x15,0x2D,0x59,0xF9,0xCC,0x54,0x51, -0xB1,0xB4,0x45,0x95,0xE6,0xC4,0x43,0xE3,0x79,0x7C,0xE2,0xFF,0xEF,0xF6,0x78,0x7D, -0xCF,0xCA,0xE2,0x4C,0x0F,0x6A,0x04,0x0A,0xB0,0xB5,0x81,0x55,0xA2,0x1C,0xDF,0xDA, -0xBB,0xBE,0x36,0xEC,0x63,0xFC,0xFE,0x66,0x23,0x26,0x0B,0x4C,0x3A,0x40,0x1B,0x1E, -0xED,0xE8,0x97,0x1B,0x7B,0xBE,0xA4,0x7E,0x16,0x13,0x4A,0x38,0x01,0xE1,0x81,0x84, -0x0E,0x0B,0x4A,0x25,0x44,0xB9,0x9C,0x41,0x44,0x41,0xA9,0x89,0xF8,0xDA,0x43,0x46, -0x02,0x07,0x58,0x3B,0x61,0x8D,0x8D,0x64,0xB2,0xB7,0xF2,0x24,0x7F,0x22,0x3C,0x39, -0x7D,0x78,0xDF,0xC3,0x2D,0x1F,0x53,0x28,0x9A,0x9F,0xDC,0x22,0x62,0x8C,0x8F,0x8A, -0xC3,0xC6,0xF0,0x52,0xEA,0xD6,0x5D,0xEF,0x34,0x31,0x1D,0x4D,0x63,0x9A,0x98,0x9D, -0x6E,0x6B,0xCE,0xC1,0xD6,0x80,0x37,0xD3,0xB6,0xB3,0xE6,0x34,0xDC,0xDF,0x62,0x67, -0x5E,0x5B,0x8A,0xB5,0xA1,0x05,0xC5,0xA4,0x25,0x20,0x6C,0x2D,0x7E,0x34,0x2B,0x2E, -0x33,0x36,0x3C,0x6E,0x5A,0x9A,0xA1,0x5F,0x47,0x42,0xFB,0xD8,0xEB,0xD2,0x58,0x5D, -0x45,0x40,0x99,0xBD,0xBE,0x06,0xD9,0xBB,0xEC,0xE9,0x0F,0x87,0xC3,0x7B,0xD9,0xDC, -0xD4,0xD1,0xF1,0x44,0x55,0xD9,0xED,0x50,0x7A,0x7F,0xB0,0xAE,0xA1,0x00,0xC0,0xC5, -0x37,0x32,0x2C,0x7A,0x08,0x2B,0x42,0x0D,0x73,0x76,0x9B,0x8C,0x73,0x8E,0x9C,0x99, -0xEF,0xEA,0xE6,0x68,0xF0,0xE5,0x74,0xF5,0x58,0x5D,0xE7,0xDB,0xAF,0xA6,0x68,0x6D, -0x1F,0x1A,0x2A,0x54,0xC2,0xD0,0x73,0xC7,0x37,0x32,0x4F,0x1C,0xB5,0x30,0xE4,0xE1, -0x48,0x4D,0xAB,0x82,0xAD,0x17,0xDB,0xA8,0x72,0x77,0xBA,0xAC,0xF6,0x7C,0xEB,0xEE, -0x8D,0x88,0x13,0xFF,0xC4,0xB1,0x14,0xC1,0x70,0x75,0xC9,0xDD,0x21,0xC0,0x80,0x85, -0xDE,0xDB,0x82,0x3D,0x38,0x6F,0x36,0x3D,0x13,0x16,0x7F,0x08,0x5C,0x1F,0x22,0x27, -0xC9,0xCC,0x83,0x2B,0xEE,0xC6,0x49,0xEB,0x82,0x87,0x86,0x60,0x39,0x5C,0x04,0x01, -0x67,0x62,0xEC,0xEA,0x00,0x29,0x48,0x05,0x02,0x07,0x0E,0x68,0x7C,0x3E,0x23,0x26, -0x3F,0x3A,0x2E,0x70,0xA0,0x25,0xE4,0xA5,0x53,0x56,0xBF,0x88,0xFD,0xE8,0x74,0x71, -0xFC,0xF9,0xF7,0x6A,0x46,0xC8,0xEF,0x43,0xBA,0xBF,0xF8,0x26,0x85,0x05,0xE1,0xE4, -0x51,0x54,0xC9,0xF9,0xDC,0xF3,0x4E,0xD9,0x52,0x57,0x9E,0xA8,0xC2,0x6D,0xCE,0xCB, -0x8A,0x8F,0x52,0xB9,0x39,0x4F,0x17,0x3C,0xAB,0xAE,0x89,0x46,0x71,0x84,0x94,0x91, -0xAB,0xAE,0x76,0xBC,0x4F,0xEA,0xC4,0x4A,0x2B,0x2E,0x01,0x4E,0x7B,0x06,0x1C,0x19, -0x47,0x42,0xE8,0xCE,0xBD,0x57,0x8B,0xB8,0x4B,0x4E,0xE5,0xCA,0x70,0x92,0x83,0x86, -0x3D,0x38,0x5F,0x03,0x95,0x51,0xA5,0x90,0x1F,0x1A,0x61,0x1A,0xAA,0x94,0x5F,0x5A, -0xDD,0xD8,0xD3,0x6F,0xF2,0x94,0x07,0xF7,0x81,0x84,0xD4,0x31,0x12,0xE9,0x9A,0x9F, -0x9E,0x9B,0x02,0xFD,0x14,0x79,0x0C,0x11,0x3E,0x3B,0x64,0x3E,0x69,0x18,0x10,0x15, -0x3A,0x3F,0x1E,0x45,0x4D,0x9B,0xB7,0x48,0x6A,0x6F,0xE0,0xEE,0xCB,0xF3,0x59,0x5C, -0xB0,0xB5,0x65,0xB4,0xF4,0xF5,0x60,0xF1,0xFE,0xFB,0x2C,0xB6,0x67,0xBE,0xB8,0xBD, -0xFE,0xFB,0x86,0x19,0x7A,0x9E,0x85,0x7F,0xF3,0xF6,0x13,0x84,0x9D,0x99,0x65,0x60, -0x5C,0x59,0xFB,0xC6,0x9B,0x32,0xC8,0x9E,0xDD,0xD8,0x5A,0xE3,0xA5,0x24,0xE0,0xE5, -0xD0,0xD5,0xE1,0x50,0x21,0x0D,0x4D,0x24,0xDE,0xDB,0x08,0xB2,0xD2,0x79,0xCA,0xCF, -0x9D,0x98,0x53,0xAF,0x88,0x23,0xCA,0x8D,0xAD,0xA8,0xEE,0x27,0xCD,0xDD,0x71,0x74, -0xD7,0xD2,0xA0,0x16,0x35,0x5D,0x09,0x30,0x6C,0x69,0x87,0x8F,0x47,0x9F,0xB9,0xBC, -0x24,0x21,0x3D,0x78,0xE2,0xD4,0x57,0xE7,0x00,0x05,0x7D,0x19,0x5B,0x27,0x1D,0x18, -0x12,0x17,0x18,0x6B,0xF5,0xD5,0x41,0xF0,0xC0,0xC5,0x35,0x91,0xCC,0xCB,0x66,0x63, -0x92,0x97,0x10,0xE3,0x8E,0x42,0xAD,0x8B,0xFA,0xFF,0x38,0xA6,0x0E,0x51,0x3E,0x3B, -0x8C,0x89,0x33,0xDE,0xD3,0xB0,0x02,0xD6,0xC4,0xC1,0x21,0x81,0xE9,0xD8,0x50,0x55, -0xD2,0xD7,0x90,0x23,0xC6,0xC0,0x67,0xC3,0x93,0x96,0xF7,0x00,0xF4,0x76,0xE3,0xE6, -0x82,0x87,0x50,0xB3,0x30,0x6D,0x3C,0x35,0xD0,0xD5,0x65,0xD1,0x40,0xA7,0x86,0x83, -0x0E,0x16,0xFC,0x8F,0xBA,0x8C,0x4B,0x66,0x0B,0x61,0xFD,0xE1,0x23,0x04,0x5A,0xC9, -0x48,0x11,0xFB,0xCE,0x4A,0xE8,0xDF,0x02,0x8A,0xC8,0xD5,0x60,0x31,0x35,0x79,0xDB, -0x51,0x2F,0xC5,0xE9,0x71,0x2A,0x26,0xC0,0x1D,0x56,0xDC,0xF7,0x84,0x49,0xB0,0x6E, -0x29,0xCB,0x21,0x75,0xCB,0x9D,0x2B,0x77,0x24,0x09,0xBA,0xCE,0xC9,0xFB,0x4F,0x23, -0x7B,0xC8,0x22,0x24,0x87,0x92,0x68,0x78,0xFE,0x68,0x01,0x14,0x4D,0xE3,0xD3,0xA7, -0xCC,0x45,0xAF,0x1E,0xAB,0xA9,0x7F,0x43,0xD3,0x73,0x37,0x39,0xAC,0x4F,0x9E,0x46, -0x59,0x34,0xDE,0xFA,0xC7,0x49,0xF3,0xA3,0x1C,0x77,0xFC,0xF6,0x78,0x97,0x92,0x92, -0xE8,0x65,0x8F,0x1A,0x44,0x2F,0x16,0xC5,0x03,0x6B,0xFF,0xE9,0xB3,0x4C,0x82,0x59, -0xE0,0x7E,0x94,0x09,0x86,0x7C,0x87,0x96,0xF6,0x62,0x03,0x1C,0xEE,0xBE,0x2D,0x04, -0x41,0xE4,0x0E,0x32,0x14,0x3F,0x56,0xD5,0x88,0xBB,0xA4,0x62,0x48,0xD3,0xE6,0xA2, -0xAE,0x62,0x88,0x5B,0x8F,0x89,0x7B,0x63,0x87,0xF7,0xE7,0x6D,0x83,0x08,0xF6,0x69, -0x28,0x25,0xCF,0x9A,0xFF,0x76,0xF4,0x9C,0x0F,0x75,0xED,0xE5,0x20,0x55,0x08,0xCA, -0xC9,0x64,0x8E,0x3A,0xA8,0x54,0x81,0xBE,0x71,0xAC,0x4A,0x9B,0xA2,0x2C,0xF3,0x48, -0x1B,0xFC,0x16,0x70,0xA7,0x7D,0xA7,0x97,0xA4,0x81,0xB2,0x4E,0x72,0xE4,0xEB,0x98, -0x7A,0x26,0xCC,0xCB,0x0C,0xEF,0x9E,0x05,0x5B,0xF1,0x3D,0xB1,0x9C,0x0B,0xEA,0x76, -0xE3,0x83,0x69,0xF7,0x72,0xD7,0xD8,0x3D,0x95,0xD4,0xD6,0x7F,0x33,0x44,0x0A,0xD9, -0x27,0x0C,0xE6,0xBC,0x35,0x3E,0x76,0xD4,0x74,0x99,0x7A,0x9E,0xA3,0x0C,0xD2,0x49, -0xDD,0x60,0x8A,0x2A,0x95,0x4A,0xA2,0xA0,0xB0,0xC5,0xE2,0x5A,0x30,0x15,0x58,0xDA, -0x9A,0x89,0x63,0x84,0x4C,0x34,0x05,0xDE,0x17,0x2F,0xAF,0xFD,0xF9,0xBF,0x3B,0x13, -0x0F,0xF8,0x12,0x60,0x16,0x2C,0x47,0xC6,0x3B,0x15,0xB9,0xD1,0x90,0x19,0xF4,0x7A, -0x23,0xC3,0x29,0x77,0xC3,0x86,0x38,0x6C,0x1F,0x25,0xAD,0xF5,0xAD,0x6F,0xBF,0x47, -0x4E,0xCD,0x27,0x14,0xF0,0x5F,0xD2,0xB5,0x4A,0x80,0x5D,0xA0,0x15,0x21,0x49,0xFF, -0xF9,0x40,0xAA,0x2E,0x32,0x0C,0x43,0xE6,0xA8,0x9F,0xA0,0x42,0x37,0x54,0x1E,0xDD, -0x2C,0xEA,0x00,0x51,0x8C,0x74,0x85,0x9E,0x3C,0x53,0xF8,0xD6,0x26,0x34,0x6F,0xCC, -0x78,0x35,0xDF,0xDA,0xB7,0xB6,0x7C,0x5C,0x37,0x0B,0xAB,0xDD,0xC7,0x98,0x22,0x2D, -0x1C,0xCE,0x24,0x45,0x6C,0xDB,0xCA,0x31,0x44,0xED,0x3E,0xAE,0xA5,0x6D,0xB5,0x4F, -0xEE,0xB9,0x53,0xC0,0x18,0xEB,0x8E,0x01,0x0D,0x06,0x9C,0xE7,0x36,0x74,0x3F,0xDC, -0x84,0x85,0x6F,0x96,0x8B,0x46,0xB0,0xAC,0xF7,0x43,0x23,0x1D,0xB4,0x0D,0xC4,0x5E, -0x8A,0x42,0xA8,0x5F,0x1A,0xF8,0x9F,0x12,0xE0,0x55,0x22,0x0A,0x1A,0x62,0x05,0xF0, -0x54,0x0E,0xE4,0xCD,0xE2,0x87,0x18,0x6D,0x53,0xFB,0x3F,0xB9,0x32,0x64,0x2B,0xD8, -0x45,0x2B,0xC1,0xF9,0xFC,0x8B,0x0A,0x61,0x2C,0x03,0xB8,0xC6,0xC4,0xC9,0x70,0x2E, -0x7D,0x14,0xFE,0xFE,0xC2,0x68,0xD7,0x82,0xEE,0x38,0x41,0x04,0x96,0x78,0x93,0x7C, -0xEF,0x57,0xBD,0x2F,0xE4,0x5B,0xC2,0xB1,0x4D,0xC6,0x1C,0xA7,0x93,0x48,0xA6,0x79, -0xCD,0xAB,0x41,0xF1,0x26,0x08,0x53,0xE2,0xEF,0x19,0x61,0x05,0xF0,0x9D,0x10,0x1A, -0x02,0xC2,0x28,0x57,0x5B,0xCD,0xEB,0x27,0x84,0xA5,0xB6,0x6E,0xF2,0xEC,0x63,0x18, -0xAA,0xAD,0x47,0x90,0x8D,0x9A,0x6A,0x70,0x8B,0xE9,0xF5,0x61,0xB7,0x5C,0x96,0x5D, -0xAD,0x9F,0x75,0xA5,0xB1,0x6A,0xA6,0x80,0x07,0x7F,0xEF,0xED,0xD8,0x9B,0x3E,0x32, -0x9B,0x67,0x8D,0x6B,0xA3,0xB2,0x6C,0x58,0xF3,0x57,0x33,0x19,0xF3,0xCC,0x42,0x19, -0x34,0x3A,0xD0,0x99,0x9D,0x51,0xB1,0xBB,0xAF,0xD9,0xE1,0x45,0xFA,0xEE,0x69,0x10, -0x00,0xD1,0x3B,0x46,0x64,0xC0,0xD9,0x2A,0xB6,0xA2,0x83,0x5C,0x6C,0xC7,0xD6,0x86, -0x52,0xD2,0x38,0x17,0x17,0xC2,0xA8,0x28,0xEC,0x4B,0x30,0x06,0xCB,0x8A,0x3C,0x21, -0x1D,0x20,0xCA,0xAA,0x65,0x2E,0x36,0xC4,0x73,0xDF,0x3B,0x99,0xAB,0x0E,0xD8,0x41, -0xCE,0x56,0xBC,0x0F,0x60,0x0F,0x12,0xE5,0xFB,0x5D,0x31,0x11,0x2B,0x06,0x50,0xC1, -0x97,0xB3,0x59,0xB3,0x20,0xD4,0x89,0x3E,0xA1,0xB4,0x82,0x4B,0xD2,0xE8,0x47,0x38, -0x36,0x29,0xC3,0x88,0xB3,0x79,0xB7,0x93,0x8E,0xDC,0xC5,0x64,0x3A,0x66,0x21,0xD0, -0x3D,0xCF,0x25,0x65,0xA9,0xBA,0x6E,0x50,0x1B,0x31,0xBD,0xF1,0xD3,0xC8,0x66,0x39, -0x91,0x6F,0x85,0x69,0x33,0xE2,0xAC,0x08,0x4C,0xE7,0x3C,0xA6,0x82,0x28,0xD7,0x68, -0x90,0x81,0x6B,0x86,0xF2,0x4C,0xC3,0xA6,0x6B,0x85,0x79,0x81,0x02,0x20,0x5F,0xE8, -0x94,0x4E,0xA4,0x4D,0x89,0x55,0xA1,0xBF,0xA5,0xA0,0x92,0x4F,0x5E,0xF2,0xD1,0xB4, -0x11,0xF4,0x1E,0x72,0x1F,0xD9,0xBB,0x33,0x8F,0xFD,0xE5,0x65,0x5D,0xA3,0x83,0xB7, -0x5C,0x15,0xFF,0xDE,0xC0,0x7B,0xC6,0x91,0x0A,0x40,0xDD,0xE0,0x73,0xC4,0xCA,0x99, -0xB9,0x9B,0x71,0xB5,0x6D,0x35,0x25,0xDF,0xD7,0x67,0x27,0x3D,0x7E,0xF6,0xF5,0x94, -0x6E,0x22,0xC8,0xDB,0x9C,0xBF,0x5E,0x55,0x36,0x2A,0x8B,0xDC,0xEA,0xAE,0x39,0x00, -0xD5,0x7B,0x91,0x39,0x24,0x1B,0x42,0xF1,0x7F,0xC1,0x29,0x95,0xBE,0x7E,0xBD,0x54, -0xDE,0x9D,0x77,0xD4,0xB6,0x58,0x93,0xB2,0xF5,0x30,0x52,0x1F,0x01,0x71,0x0D,0xEB, -0x7C,0xFA,0x10,0x11,0xDA,0xB8,0x1F,0x52,0x30,0x4D,0xEA,0xDA,0x9F,0x5A,0xB8,0x75, -0xE5,0x5F,0xB5,0x2D,0x6A,0x07,0x10,0xED,0xE9,0x7E,0x00,0x03,0x50,0x91,0xBC,0xBA, -0xBE,0xA9,0x43,0x80,0xFA,0x57,0xD0,0xBD,0x8C,0xAF,0xB4,0x66,0x13,0x40,0x2E,0xF9, -0xDB,0xBC,0x56,0xF0,0x07,0x09,0x73,0xE3,0x3F,0x01,0xA9,0xD5,0x44,0xC1,0xF8,0xAE, -0x74,0xE1,0x0B,0x02,0x3A,0x17,0x50,0xFD,0x51,0x88,0x4E,0xBB,0x7A,0xE6,0xE1,0x90, -0x98,0x9A,0x70,0x95,0xB2,0x97,0x58,0x7D,0x09,0x12,0x8C,0xE3,0x40,0xD1,0xEC,0xAA, -0x8E,0x8D,0x67,0x94,0xA1,0xA1,0x7D,0x4B,0x72,0xFE,0x1B,0x98,0x80,0x59,0xA4,0x6A, -0xD0,0x5A,0xB0,0x1D,0xCF,0x52,0xE0,0xB8,0xD6,0x46,0x07,0x3C,0xEC,0xCF,0x5E,0x06, -0x13,0xE7,0x0D,0x63,0x76,0x18,0x13,0xF2,0x1E,0x04,0x8D,0xF4,0x2D,0x67,0x37,0xC7, -0xB5,0xC8,0x39,0x9F,0x1D,0x37,0x39,0x60,0x02,0x7F,0xAE,0xC2,0x72,0x5B,0x3A,0x47, -0xD2,0xAF,0xFC,0x3D,0xFD,0xBB,0x55,0x80,0xC7,0xBA,0xD3,0x7A,0x59,0xEE,0xA4,0xD9, -0x34,0x49,0x11,0x36,0xBE,0x6A,0xC7,0xC3,0x4D,0x30,0x22,0x01,0x56,0x5E,0x1B,0x66, -0x6D,0x10,0xF3,0x8D,0x1A,0x76,0x7F,0x67,0x04,0x79,0xC9,0xA3,0x86,0xDA,0x4F,0x32, -0xD4,0xA9,0x9D,0x5A,0x90,0x0D,0x8E,0xED,0xE5,0x98,0x84,0x0F,0xDE,0x16,0xDB,0xA6, -0x5A,0x27,0xF6,0xBF,0xDE,0xEE,0x23,0xA3,0x38,0x45,0xA3,0xF5,0xEC,0x29,0xD6,0xAB, -0xBB,0xC6,0x5A,0xF2,0x7C,0x93,0xFC,0x01,0xBD,0xC0,0x1E,0xCD,0x8B,0x60,0xF8,0x85, -0x01,0x7C,0x65,0x77,0xF0,0x89,0x6A,0x8D,0x97,0xEA,0x43,0xBA,0xDA,0x32,0xFB,0x86, -0xA8,0xD5,0x4B,0xF0,0xBD,0x3B,0x95,0xC0,0x2C,0x51,0xE7,0xA5,0x4F,0xD4,0x88,0xF5, -0x15,0x68,0x35,0x33,0xF7,0xC8,0x2C,0x8A,0xE4,0x99,0xA5,0x2F,0xE7,0xBD,0x49,0x34, -0xC2,0xBF,0xBC,0x6D,0x04,0x55,0x42,0x79,0x40,0x3D,0x1D,0x33,0x71,0x47,0x25,0x58, -0xD5,0xA8,0xBD,0x7B,0x32,0x70,0x51,0x4F,0x3B,0x46,0xF1,0xA4,0xF9,0x0F,0xE5,0x98, -0xAE,0xD3,0x2A,0x97,0xB2,0x78,0xD9,0xCF,0x63,0x1E,0x6B,0x66,0xCE,0x02,0xDF,0xA2, -0xF3,0x8E,0xD8,0x38,0xAC,0x5B,0xE4,0xD1,0x0D,0x70,0xE2,0x81,0xE9,0x1B,0xE1,0x9C, -0xE6,0x9B,0xA8,0x5D,0xF2,0xF8,0x19,0x8F,0xBE,0xC3,0x4C,0x9C,0x68,0xCD,0xB6,0xCB, -0x10,0x6D,0x05,0x06,0xA2,0x38,0x89,0xDF,0xDB,0xA6,0x9D,0x28,0xB9,0x5F,0xF5,0x88, -0x9E,0xE3,0x6E,0xE3,0x65,0xF1,0x87,0x18,0x84,0xF9,0x41,0xAB,0xEF,0x35,0xC9,0xB4, -0x75,0x08,0xB1,0xD7,0xF4,0x99,0x7E,0x89,0x9D,0xE0,0x3A,0xC9,0xC6,0x8A,0x5F,0x22, -0x28,0x55,0x43,0x78,0x17,0x44,0x40,0x6A,0xC1,0xBC,0xB4,0x1B,0xE4,0xA1,0x56,0x2B, -0xD0,0xAD,0x8D,0x4E,0xCF,0x8E,0x52,0xB2,0x35,0x48,0x9C,0xC7,0xB3,0xDD,0x7D,0x00, -0xE2,0x9F,0xB8,0x49,0x3F,0x42,0x6E,0x42,0xB9,0xC4,0x0A,0xDD,0x74,0x75,0x12,0x6F, -0x8D,0xF0,0x7F,0xE1,0x68,0xC3,0xB8,0x15,0xB6,0xCB,0x46,0x9E,0xC4,0x80,0x57,0x2A, -0xE4,0x99,0xD9,0x2E,0xAD,0x7B,0xC5,0xD0,0xDD,0xA0,0xFA,0x49,0xB5,0xF3,0x55,0x28, -0x18,0x65,0x07,0x0C,0xFE,0xEA,0x07,0x83,0x7F,0x02,0x25,0x34,0x60,0x45,0x36,0x4B, -0xCE,0xB3,0xAE,0x73,0xE9,0xEB,0x11,0x94,0x59,0x24,0x66,0x51,0x08,0xBC,0xA7,0xDA, -0x20,0x5D,0x41,0x72,0x47,0x84,0xD0,0x3A,0x7E,0x03,0x04,0x14,0x00,0x34,0x27,0x5A, -0x80,0xFD,0x4D,0xDE,0x1F,0x46,0x4A,0x62,0x29,0x54,0xD2,0x95,0xE0,0x85,0x76,0x0B, -0x66,0x1B,0xA0,0xD5,0xDC,0x9F,0x50,0xA1,0xBC,0xC1,0x3F,0xED,0x4E,0xC2,0x9F,0xE2, -0xFC,0x81,0x9B,0x74,0x71,0xA1,0xC3,0x0C,0x93,0xEE,0x57,0xAA,0xC0,0xA4,0x77,0x0A, -0x19,0x64,0x27,0x2D,0xAA,0x3A,0x83,0xD7,0xC9,0xB4,0xBE,0x19,0x2E,0xB3,0x8E,0xF3, -0x6F,0x12,0x82,0xFE,0x8B,0x1E,0x86,0xF6,0x41,0x3C,0x3C,0x13,0x26,0x3B,0x0E,0x73, -0x9D,0xE0,0x3F,0xB1,0x67,0x80,0xF4,0x1A,0xDE,0xA3,0xA8,0x18,0xA2,0xDF,0x6E,0x13, -0xA5,0xD8,0x79,0xCF,0xD1,0xAD,0x6F,0xAC,0x0E,0x73,0xB0,0xD0,0x1C,0x8C,0x83,0xFE, -0x0F,0x72,0x06,0x1A,0xA9,0x6B,0xD1,0xD4,0x9A,0xE7,0x7C,0x88,0x7C,0xFD,0x92,0xEF, -0x82,0xFF,0x3C,0xAD,0xFA,0xFA,0x13,0x87,0x78,0x05,0x63,0x75,0x09,0xAA,0xB0,0xCD, -0x8C,0xF1,0x5F,0xC0,0x23,0x10,0x20,0x5E,0x2D,0x50,0xC6,0x85,0x47,0x5C,0x08,0x75, -0xB7,0xCA,0x48,0xEC,0x89,0x6F,0xF5,0xF4,0x09,0x74,0xF6,0x91,0x31,0x17,0x35,0x48, -0xC6,0xBB,0xAC,0x79,0x91,0x2D,0xAF,0xEC,0x25,0x58,0xCC,0x87,0x97,0xD8,0x5C,0x21, -0x2F,0x52,0x02,0x3E,0xEF,0x8A,0x76,0x92,0x82,0xFF,0x26,0xCA,0x3D,0xBB,0x95,0xE8, -0x43,0x3E,0x94,0xC4,0x9B,0x5E,0xD6,0xE6,0x46,0x3B,0x7A,0x52,0x24,0x31,0x06,0x7B, -0x5B,0x26,0xD6,0x9E,0xCD,0xFF,0x21,0xB0,0xDC,0xA1,0xDB,0x69,0x50,0x70,0x33,0x4E, -0x64,0x19,0xD1,0xA6,0x2E,0x22,0x1F,0x53,0x1E,0x63,0xE0,0x90,0xE1,0x93,0x61,0x1C, -0x41,0x3C,0xE5,0xB7,0x22,0x30,0x01,0x5F,0x61,0x1C,0x18,0x17,0x4C,0xC8,0x97,0xEA, -0x0D,0x70,0x77,0x69,0x5D,0xB7,0xF9,0x20,0xD2,0xAF,0xB6,0x0A,0x4A,0xE6,0xBF,0xC2, -0xCA,0xB7,0xBE,0x67,0xE3,0x98,0x68,0x9E,0xC5,0xB8,0xA0,0x0B,0x25,0x27,0x11,0x6C, -0xF6,0x8B,0xE8,0x0D,0x4E,0xA6,0xFB,0x33,0x3F,0x42,0xE5,0xB4,0x5C,0xDC,0x93,0xEE, -0x81,0xFC,0x6D,0xFF,0x7E,0xE2,0x8F,0x03,0x76,0x0B,0x0E,0x16,0x45,0x56,0x00,0x7D, -0x7A,0x07,0xF2,0x9B,0x13,0x54,0x54,0x6E,0x05,0x78,0xE8,0x83,0xB0,0xC1,0x62,0x1F, -0x2A,0x57,0x32,0x0B,0x8A,0x3E,0xA7,0xF7,0x31,0x4C,0x88,0xD7,0x64,0x61,0x16,0x6B, -0x7B,0x06,0xD2,0xBA,0xEC,0xDB,0x24,0x91,0x2E,0x53,0x94,0xD4,0xBF,0x71,0xDD,0xA0, -0x0A,0x77,0x36,0x2F,0x0C,0x57,0x48,0x71,0xE1,0x9C,0x90,0x1F,0x67,0x7D,0x09,0x74, -0x87,0xFA,0x0C,0x98,0x37,0x40,0x64,0x4A,0xCC,0xB1,0x8B,0x29,0xCB,0x30,0xE8,0x95, -0x84,0xF9,0x5D,0xCA,0x38,0x03,0x28,0x45,0x16,0x6B,0xEA,0x92,0xD3,0xAC,0x6C,0x11, -0x60,0x1D,0xC1,0xB2,0x8F,0x0E,0x92,0xF2,0x2F,0x52,0xB5,0xF4,0x61,0x53,0x21,0x5C, -0x5E,0x23,0xE6,0xAB,0x4D,0xF7,0xA9,0x30,0xB8,0xC5,0x2B,0xFD,0x1D,0x9A,0x94,0xE9, -0x59,0x24,0xA7,0xED,0x29,0x63,0x59,0x54,0x39,0x44,0x82,0xD5,0x2C,0xB9,0x86,0xFB, -0xCC,0xB1,0xDF,0x00,0x72,0xF0,0x91,0x0F,0xA7,0xDA,0x37,0xFE,0x6C,0xE9,0x96,0xEB, -0x69,0x14,0xE3,0x99,0x4A,0xB6,0xEF,0x37,0x69,0x14,0x12,0x15,0x23,0x09,0x39,0x44, -0xB3,0xCE,0x58,0xF8,0xD8,0x8F,0x44,0xA5,0x96,0xEB,0x62,0x9A,0xCC,0x08,0xD7,0xAA, -0x2B,0x56,0x12,0x2A,0xF1,0xA9,0x4B,0x8C,0x43,0x3E,0x4F,0x62,0x04,0x10,0x07,0x7A, -0x6A,0x17,0xB2,0xCB,0xD3,0xDC,0x1C,0xAE,0x3D,0x40,0x96,0xC5,0x7D,0xEB,0x85,0xF8, -0x2D,0x50,0x73,0x4D,0x2C,0x53,0x6C,0x51,0xB5,0xC8,0x14,0xCF,0x20,0x15,0x26,0x5B, -0xAB,0xD6,0x1A,0xA2,0x9A,0x7E,0xF7,0xE7,0xBA,0xC7,0x58,0x8C,0xFB,0x05,0xED,0x90, -0x31,0x4C,0x21,0x03,0xD9,0xAF,0x65,0xA4,0xC4,0xB9,0x81,0x2B,0x96,0xCE,0x4B,0x36, -0x61,0xB8,0x6D,0xBE,0xC1,0x19,0x6A,0xCC,0x6E,0x1E,0x17,0xBB,0x4B,0xDB,0x22,0x9E, -0xB4,0x12,0xC7,0xC1,0x7F,0x61,0xAC,0xB4,0xFA,0xD2,0x4F,0x2F,0x5A,0xBB,0x53,0x8F, -0x03,0x9F,0x4A,0xFB,0xBD,0x32,0x3D,0xE7,0x18,0xCD,0xB2,0xCD,0x78,0xCE,0x04,0xAD, -0x6E,0x91,0x44,0x98,0x8E,0xEB,0xD7,0x3E,0x4D,0x68,0x42,0x98,0xC0,0x80,0xF2,0x15, -0x42,0xAA,0x7F,0x8F,0x5B,0x41,0xA8,0x94,0x69,0x58,0x56,0xBC,0xFD,0xF6,0xB9,0x28, -0xD7,0xDB,0x0E,0x6B,0x01,0x59,0xEA,0x8C,0x45,0x62,0x40,0x90,0x94,0x50,0x76,0x41, -0x90,0x32,0xE7,0xC5,0xD8,0x27,0x4D,0xF2,0xE2,0x88,0x0D,0x37,0x5D,0xFA,0x15,0x88, -0x6A,0x5E,0x8B,0x53,0x78,0x53,0x99,0x86,0x26,0xD4,0x95,0xF3,0xCE,0xE3,0x9F,0x1B, -0x30,0x46,0x93,0x11,0x8F,0x05,0x38,0xD0,0xBC,0x75,0xAE,0x69,0xFB,0x97,0xDE,0x2E, -0x08,0x79,0xAC,0x16,0xB1,0xE6,0xE5,0x33,0x7E,0x4E,0x57,0xAB,0xA9,0x26,0x3D,0x7C, -0x19,0x5C,0x89,0x22,0xAF,0xEA,0xF7,0x3F,0x01,0xB6,0xD0,0xD4,0x5F,0x8B,0x66,0x8A, -0xC7,0x10,0xC5,0xB0,0x57,0x95,0x70,0x40,0xB2,0x18,0xCD,0x67,0x77,0x8D,0x48,0xA2, -0xC9,0xD7,0x02,0x79,0xC6,0x2B,0x5F,0xFE,0xA5,0x0E,0xCC,0x70,0xD9,0xE2,0x89,0x0C, -0xA3,0xEB,0x3E,0x2F,0x55,0x86,0x61,0x53,0x5F,0x4B,0x73,0x8A,0x5B,0x9B,0x72,0x8E, -0x51,0x9C,0x49,0xAA,0x21,0xB6,0x25,0x63,0x16,0xA0,0xD1,0xC3,0xC8,0x82,0xF8,0x1D, -0x35,0x67,0xB2,0x35,0xFA,0xDB,0x93,0x0E,0x65,0x46,0x44,0xB0,0xAA,0x77,0x6F,0x7F, -0xA5,0x37,0xE2,0xF5,0x09,0x42,0xF9,0x97,0x51,0x26,0x10,0x84,0xDE,0xA3,0xCF,0x0B, -0x14,0x66,0xB3,0x15,0x8A,0x24,0x1C,0xF1,0x4E,0x3A,0x13,0x9B,0x15,0x78,0xDF,0xC0, -0x81,0x17,0xC2,0xF1,0xE6,0xC4,0x90,0x11,0x81,0x3E,0xD8,0x54,0xC1,0xA0,0xD3,0x14, -0x36,0x9A,0x4F,0xCB,0xCA,0xFF,0x87,0x2A,0xAC,0x25,0xEE,0x79,0x20,0x0C,0x9E,0xF5, -0x64,0x99,0x4C,0x9A,0x86,0xF0,0xC4,0x25,0x76,0x44,0x55,0xA3,0xA4,0x14,0x02,0x71, -0x1C,0x7D,0xA8,0x06,0x3C,0x47,0xC9,0x92,0x4F,0x1B,0x33,0x9A,0xE9,0xA6,0xFD,0x3C, -0x05,0x43,0x96,0x21,0x07,0x85,0x30,0x50,0xD8,0x85,0x3A,0x0D,0x5C,0xDA,0x34,0x89, -0x43,0x44,0x91,0x60,0xF7,0xE1,0xA4,0x34,0x59,0x2C,0x12,0x8C,0x4E,0xEB,0x17,0x9B, -0xAE,0xD1,0x04,0x18,0x3F,0xBA,0x37,0x6F,0xC7,0x99,0x39,0x12,0x5E,0xAB,0x47,0x8B, -0x37,0x74,0xA1,0x24,0x41,0x82,0x71,0x57,0x09,0xBC,0xD2,0xDC,0xF1,0xE4,0xA7,0x24, -0x56,0xAE,0x7B,0x9F,0xEA,0x10,0x48,0xC5,0xF6,0xCC,0x5D,0x23,0x1F,0x0B,0xA6,0xCA, -0x84,0x36,0xE3,0xD5,0xE5,0x39,0x6E,0xEC,0x23,0xE1,0xA5,0xF6,0xCF,0xC3,0xBE,0x1A, -0x65,0x77,0xA2,0x75,0xB2,0x1B,0x1B,0xCE,0x5D,0x38,0x02,0x88,0x4D,0xBA,0x45,0x98, -0xE3,0x30,0xE5,0xB4,0xC2,0xE4,0x94,0x31,0xD5,0xBA,0x08,0x00,0xEE,0xE7,0xBB,0x3B, -0x0C,0xB6,0x63,0xDD,0x59,0x52,0xB9,0x87,0xDA,0xF6,0x4B,0x0F,0x25,0x3C,0xAB,0xF0, -0xAD,0x2C,0xF9,0xE6,0xCB,0x11,0x68,0xC4,0xA4,0x2F,0xEC,0x71,0x83,0x51,0x60,0x56, -0x31,0xA8,0x7D,0xFE,0x97,0xD5,0xF0,0x00,0x62,0x00,0x05,0xB7,0xF2,0xB5,0xF5,0x27, -0x93,0xCF,0x1A,0x3B,0xFB,0x35,0x7C,0xE0,0xA7,0x7D,0xBD,0x72,0x6C,0x9E,0x40,0xB9, -0x98,0x29,0xFC,0xD6,0x69,0x76,0xAD,0xA3,0x2D,0x8C,0xC6,0xF8,0xD3,0x91,0xF0,0x06, -0x23,0x70,0xA5,0x34,0xD1,0xD2,0xB1,0x07,0x64,0x67,0x64,0xB1,0x87,0x41,0x74,0x52, -0xF4,0xC9,0x1C,0x5A,0x20,0x58,0xCA,0x8D,0x85,0x2A,0xC8,0x50,0x13,0x19,0xB8,0xC6, -0x11,0x47,0x92,0x31,0x8D,0x16,0x29,0xC3,0x58,0x0D,0x32,0x8D,0x1E,0x2B,0x87,0xCB, -0x5C,0xA6,0x73,0x9D,0x52,0xB4,0x54,0x61,0xDD,0xB0,0x0A,0x08,0x30,0x4C,0xCE,0xE5, -0xD9,0x1C,0xC9,0xA2,0xC4,0x38,0x4E,0xED,0xF7,0xED,0x7D,0x22,0x33,0x1D,0x9C,0xE6, -0x5E,0xB5,0x60,0x8C,0x3B,0x75,0xFC,0xA0,0x4C,0x49,0x62,0x99,0x40,0x88,0x7A,0x95, -0x9D,0x08,0xDD,0xF2,0x82,0x3F,0x0F,0xEA,0x84,0x0B,0xE8,0x51,0x81,0x20,0x13,0x54, -0xC3,0xDF,0x0A,0x7B,0xEC,0xCC,0x92,0x19,0x20,0xB3,0xF4,0xF5,0xED,0xB6,0xE9,0x38, -0xD5,0xC8,0x1D,0x7A,0xFF,0xFA,0xB7,0x2F,0x5B,0x5F,0x63,0x8E,0x2D,0x3E,0xA1,0xF8, -0x39,0xB3,0x66,0xED,0x77,0x7A,0xBF,0xAF,0x03,0xC5,0xA1,0xD6,0x17,0x09,0xAC,0xC2, -0x96,0xEE,0x3B,0x1F,0x4A,0x64,0x9C,0xB1,0x6D,0x4C,0x46,0xB8,0x29,0x2E,0xB5,0xFC, -0xF3,0xFB,0x2E,0x6F,0xB7,0x3A,0x3F,0xEF,0xDE,0xE2,0x5B,0x0B,0x7E,0xAF,0x63,0xAB, -0xA8,0x0D,0xD8,0xC2,0x27,0x6A,0xFF,0xBF,0xBB,0x33,0xEF,0x6E,0x3D,0x7E,0xF1,0xE8, -0x4D,0x83,0x56,0xA9,0x29,0xAD,0x36,0x78,0xE4,0xEF,0x6C,0x31,0x01,0x28,0x9B,0xD4, -0x79,0x68,0xBD,0x76,0xD0,0x3C,0x5E,0xE9,0xFD,0x94,0x0E,0x28,0x97,0x01,0x24,0x42, -0xD6,0x35,0xE0,0x84,0xEE,0xDF,0x83,0x0A,0xA1,0x1A,0xDC,0x74,0x9E,0x23,0x0F,0x4B, -0xE0,0xCD,0x18,0x4A,0xFC,0x07,0x49,0xD2,0x55,0x32,0x00,0x80,0xB5,0x74,0x73,0x60, -0xE7,0xFF,0x2A,0x7F,0xC0,0xF7,0x85,0x22,0xD9,0xA4,0x1A,0x0C,0xDA,0xB3,0xDB,0x0F, -0x4F,0x90,0x45,0xB8,0x16,0xA0,0x04,0x75,0xD6,0xE8,0x59,0x03,0x9F,0x03,0x2E,0x4A, -0x80,0xF9,0x2C,0x1E,0x6B,0x65,0xBC,0xB0,0xBD,0x54,0x8E,0x68,0x9D,0x72,0x5D,0x48, -0xA2,0x05,0xD0,0xC0,0xA9,0x36,0x2D,0xE3,0x1F,0x8B,0xF3,0xCA,0xFE,0xA7,0xEB,0x2B, -0xDD,0xD3,0x06,0x69,0xBF,0x21,0x2C,0xF4,0x39,0xC8,0x96,0xEC,0x6F,0xCF,0x12,0xBA, -0xDC,0x3D,0xE8,0x86,0x7E,0x8F,0x43,0x5A,0x1E,0xAA,0xD3,0xCB,0xEF,0xC7,0x9A,0x3A, -0x70,0x9D,0x48,0x8A,0xE4,0xD7,0x81,0x02,0x49,0x7C,0x52,0x9C,0xBE,0x27,0x2B,0x6B, -0x7B,0x7B,0xAE,0x67,0xFE,0x14,0x58,0xC1,0xDC,0x91,0x2A,0x09,0x57,0x89,0x6C,0x82, -0xDA,0xE1,0x34,0x5C,0x6D,0xB9,0x66,0x6C,0xF3,0xF9,0x6D,0x26,0xBF,0x07,0x0A,0x6A, -0x83,0x04,0xD1,0xE0,0x2D,0x62,0xFD,0xB7,0xA9,0x10,0xDE,0x7C,0x46,0xE9,0x1D,0x93, -0x50,0x72,0xA7,0x45,0x28,0x43,0xD9,0x96,0x21,0x92,0xD4,0xF4,0xC6,0xE1,0x95,0x13, -0x1F,0x80,0x55,0xF8,0x5A,0xAF,0x47,0x7A,0xBE,0x06,0xDF,0x6B,0xA6,0x65,0x71,0x73, -0x50,0xBF,0x76,0x30,0x77,0x48,0x0E,0xA6,0xA5,0x89,0xF3,0xB5,0xF4,0xB2,0x29,0x44, -0xB4,0x2A,0x07,0x41,0x35,0x50,0x16,0xFC,0x9F,0x9F,0xDF,0x99,0x9D,0xDB,0x8F,0x8B, -0x1A,0x6D,0xEE,0xA8,0x92,0x2E,0x68,0x25,0x75,0xD2,0x78,0x3E,0x54,0x12,0x25,0xE8, -0x8C,0x97,0x82,0xC4,0x46,0x5A,0x1C,0x85,0x29,0x4A,0xBC,0xFA,0xC7,0x81,0x3C,0x62, -0x61,0x9C,0x64,0x22,0xB5,0x10,0x56,0x3C,0xE3,0xC8,0xF4,0xB2,0x42,0x04,0x04,0xDF, -0x1E,0x49,0xCE,0x88,0x73,0x68,0x2E,0x82,0x2F,0x90,0x60,0x26,0x53,0x15,0x64,0xAE, -0x24,0xFE,0x43,0x05,0xE2,0x3B,0x7D,0x40,0x30,0x6D,0x82,0xC4,0x71,0x37,0x11,0xF9, -0x47,0x93,0x4D,0x0B,0x08,0xE2,0xA4,0x73,0x95,0x9D,0xD7,0x91,0xC9,0x8F,0x5F,0x0F, -0xA6,0x34,0x0B,0x4D,0x80,0x22,0x64,0x3B,0xF3,0x13,0x3F,0x79,0xD0,0x96,0x3D,0x74, -0xF0,0x5E,0x37,0x71,0xBE,0x8F,0xC9,0xA8,0xB6,0xAC,0xC5,0x83,0x52,0x14,0x44,0x8F, -0x75,0xAC,0x40,0x06,0xFA,0xBF,0xF9,0xDC,0x5D,0x0E,0x8C,0xCA,0xC1,0x87,0x5D,0x05, -0xEA,0xC8,0xBB,0xFD,0x4C,0xD2,0x94,0x07,0xBB,0x9B,0xFF,0xB9,0xA3,0xE5,0xA8,0x92, -0xCE,0xCD,0x9A,0xDC,0xE7,0x0C,0x4A,0x72,0x88,0x71,0x26,0x60,0xF2,0xB4,0x48,0x23, -0xC9,0xF5,0xA5,0xE3,0x3A,0xEF,0xA9,0x4C,0xB3,0x88,0xE4,0xA2,0xA0,0xE6,0xF9,0xC0, -0xFD,0xE4,0x80,0xC6,0x28,0xE3,0xA5,0x52,0x4B,0x0F,0x9B,0xDD,0x56,0x10,0x54,0x9B, -0x6F,0x3A,0xCC,0x8A,0xAF,0x9C,0xDA,0xAA,0xE5,0x12,0x28,0x6E,0x7E,0x38,0x52,0xB5, -0x45,0x99,0x45,0x03,0x1B,0xF9,0xBF,0x7B,0xB9,0x8A,0xEC,0xAA,0xAD,0xEB,0xCB,0xFF, -0xD9,0xE1,0xA1,0xE7,0x16,0x4E,0x08,0xC1,0xE6,0xEC,0xD5,0x93,0xE0,0xA6,0x79,0x00, -0xFE,0xF8,0x9F,0xD9,0xEF,0x8C,0xCA,0xFA,0x78,0xE5,0x42,0x04,0x55,0x13,0x05,0xC9, -0xBF,0xBE,0x98,0xDE,0x7B,0xE8,0xAE,0x0A,0xD1,0xCD,0xC3,0x85,0x47,0x01,0x34,0xEA, -0x2A,0x58,0xEB,0xAD,0x26,0x4B,0x0D,0xF4,0xDB,0xCF,0xCB,0x8D,0xD7,0x91,0x7C,0x32, -0xCA,0xE9,0xBA,0xFC,0xC3,0x2D,0x6B,0x77,0xC7,0xCC,0xD4,0x92,0x1C,0x5A,0xA7,0x22, -0x2E,0x7C,0xCB,0x8D,0x4F,0xCD,0x8B,0x1B,0xC3,0x07,0x1B,0x5D,0xC8,0x8E,0x7F,0x2E, -0x14,0xCB,0x46,0x00,0x58,0xF6,0xB0,0x37,0xD8,0x31,0x36,0x70,0x29,0x6F,0xD3,0x63, -0xAA,0x98,0xAB,0xED,0xC4,0x12,0x54,0x4F,0xC5,0xDD,0xC7,0x81,0x44,0x02,0x65,0xB8, -0x6B,0x1E,0xEC,0xAA,0x4B,0xED,0xAB,0x3F,0x47,0xD7,0x4F,0x09,0xE7,0xA1,0x38,0x46, -0x02,0xF1,0x6A,0x2C,0x66,0x5B,0x1D,0xA4,0x0B,0x94,0x40,0x06,0x2C,0x6A,0xE3,0x56, -0x39,0x50,0xF0,0xB6,0xB7,0x18,0x5E,0x36,0xD2,0x33,0x3E,0x78,0x8A,0xCC,0x8E,0x9D, -0xC7,0x53,0x0D,0x4B,0xE8,0xB3,0xF5,0xC2,0x64,0xE6,0x5D,0x1B,0x57,0x11,0x74,0xBA, -0xFB,0xCA,0xA8,0xEE,0xAE,0x8B,0xCD,0xBC,0x41,0x0D,0x93,0xD5,0xF8,0xBE,0x3B,0x5A, -0x40,0xAB,0x72,0x34,0x97,0x19,0x5F,0x17,0x31,0x82,0x6C,0x2A,0x16,0x50,0xD4,0x5B, -0x0A,0x79,0xEA,0xAC,0xB1,0x30,0x76,0x18,0x1C,0x7A,0xB9,0xFF,0xC6,0x80,0x1C,0x43, -0x85,0x09,0x15,0x53,0x15,0x51,0x17,0xDD,0xD7,0x17,0x1F,0x59,0x1A,0x5C,0xC6,0x45, -0xEE,0xEC,0x9B,0xDD,0xF6,0x1F,0x59,0x70,0xF0,0xED,0xC2,0x84,0x17,0x51,0xF4,0x7A, -0x42,0xA1,0x7A,0x3C,0x8B,0xBD,0xFB,0xAF,0x4D,0xD5,0x47,0x01,0x39,0x7F,0x93,0x33, -0x7D,0x24,0xC0,0x86,0x91,0x31,0x77,0x39,0x10,0xA2,0x6D,0x2B,0x3A,0x7C,0xC2,0x61, -0x21,0xCC,0x74,0x32,0x2F,0xDC,0x9A,0x6A,0xFD,0xDA,0xF8,0xBE,0xFB,0xBD,0x6A,0x08, -0xE4,0x6E,0x13,0x55,0xA3,0x3C,0x7A,0x06,0x80,0x62,0x3D,0x7B,0x65,0x23,0x41,0xBD, -0x09,0x65,0xF5,0xB3,0x72,0x7F,0x39,0x94,0x71,0x19,0xB7,0xF1,0xDA,0x9C,0x4E,0x0D, -0xEB,0xDE,0xAC,0xEA,0x6E,0xDB,0x9D,0x2C,0x9A,0xBB,0xFE,0xB8,0x8E,0xC8,0x9E,0x89, -0x32,0xC4,0x6F,0x29,0x60,0x73,0x35,0x8A,0x38,0x7E,0x99,0xDF,0x1E,0x58,0xD6,0x51, -0xC0,0x6B,0x32,0x74,0x43,0x6D,0x2B,0xB7,0xB1,0x99,0xF7,0xB1,0x20,0x66,0xF1,0x48, -0xB0,0x0E,0x27,0x61,0xE0,0x33,0x75,0x4A,0x1F,0x84,0x44,0x02,0x77,0x31,0x70,0x9E, -0x1D,0x55,0xD1,0x97,0x20,0x63,0x25,0xDA,0xCE,0x30,0x21,0x67,0x34,0x72,0xA1,0x0C, -0x53,0xA3,0x69,0x2F,0x23,0x7C,0x3A,0xC6,0xB4,0xBD,0xD6,0x90,0x49,0x0F,0x57,0x87, -0x2D,0x60,0xD4,0x92,0xD0,0x36,0x70,0x7F,0xF6,0x37,0x1E,0x58,0x88,0xCE,0xFF,0xEE, -0xA4,0x3E,0x03,0x45,0x4D,0xC5,0x83,0x11,0x4E,0x2B,0xBA,0xFC,0xE4,0xA2,0x69,0x14, -0xA5,0x28,0x14,0x52,0x68,0xF3,0xB5,0x02,0xA2,0xBC,0xC1,0x87,0x24,0x62,0xE1,0x5C, -0xA0,0x1A,0x23,0x65,0x5A,0xFE,0xB8,0x3D,0x59,0xC5,0x43,0x05,0xD3,0x95,0x6C,0x26, -0x67,0xB2,0x4C,0x0A,0xDB,0xA9,0xEF,0xEB,0x15,0x86,0x4C,0x0A,0x96,0xD0,0xDC,0xD3, -0xC1,0x7D,0x25,0x63,0x63,0x6C,0x2A,0x96,0xA9,0x51,0x27,0x61,0x94,0xD2,0xAD,0xA0, -0x1F,0x5F,0xD9,0x9F,0xF2,0x3F,0x79,0x54,0x76,0x2C,0x85,0xC3,0xF7,0xB1,0x78,0x16, -0x76,0xB0,0x5F,0x19,0xE9,0xA4,0xE2,0xD4,0x12,0xB3,0x7E,0x38,0x08,0x4E,0xF7,0x66, -0xA9,0x84,0xB4,0xF2,0x81,0x35,0x73,0x2D,0x69,0xD1,0x67,0x21,0x9E,0xD8,0xDE,0xD9, -0x5B,0x2B,0xE9,0xAF,0x5C,0xD6,0x90,0x13,0xE7,0x03,0x3B,0x7D,0x97,0xD1,0xFC,0xF2, -0x95,0x1D,0x11,0x57,0x96,0x0E,0x48,0x01,0xCF,0xDF,0xCF,0x89,0xBC,0xFA,0xAB,0x8E, -0x83,0x27,0x3D,0x7B,0xB9,0xB0,0xF6,0x90,0x04,0xB2,0x69,0x2F,0xB6,0xF0,0xD8,0xF7, -0x3F,0x7E,0xD8,0x9E,0x22,0x6B,0x2D,0xD0,0xED,0x01,0x33,0x75,0x4F,0x09,0x36,0xE0, -0x9A,0xAD,0xAE,0xE8,0x06,0x4A,0x0C,0xD5,0x6F,0x0B,0xBB,0xFD,0xCF,0x89,0x3E,0x68, -0x27,0xE2,0x5C,0x1A,0x98,0xA6,0xE0,0xA7,0xFB,0x00,0x24,0x62,0xAF,0xE9,0xBA,0x8C, -0xB6,0x20,0x0F,0x49,0xF3,0x28,0x6E,0x42,0x35,0x49,0xA3,0xE5,0x66,0x20,0x10,0xEF, -0x59,0x21,0xE1,0xA7,0x9C,0x86,0xC0,0x83,0x57,0x0C,0x84,0xC2,0xE6,0xA0,0x18,0x67, -0x55,0x8D,0x41,0x07,0x5E,0xDE,0x98,0x19,0x81,0x8D,0xD3,0x95,0xB7,0xF1,0xF8,0xD6, -0xB8,0x86,0xA7,0xE1,0x87,0x1D,0x5B,0x03,0x6C,0xF5,0x46,0x00,0x5E,0x18,0x56,0x91, -0xB8,0xB2,0xA5,0xF6,0x49,0xB8,0x07,0x5E,0x6D,0x53,0x1D,0x91,0xE0,0x0C,0x42,0x0D, -0x02,0x8D,0x20,0x4C,0xC5,0x2E,0x8B,0x44,0x1A,0x79,0x37,0xCC,0xB2,0x0F,0x41,0x5C, -0xE3,0x21,0x6D,0xAD,0x67,0xF1,0x29,0x39,0x22,0xFC,0xB2,0x71,0xFB,0x21,0x6F,0x3B, -0x6D,0x4A,0x88,0x23,0x29,0x5C,0x67,0xDA,0xD8,0x21,0x6F,0x56,0xC4,0x2C,0x62,0x09, -0xD4,0x24,0x5F,0x9A,0xA3,0xAD,0xED,0xA1,0x74,0xC0,0x8E,0x1B,0x08,0xB8,0xF6,0x51, -0x8D,0xC6,0xE4,0xC3,0x07,0x15,0x49,0xBD,0xD6,0x89,0xC7,0xF0,0x8C,0xEC,0xA2,0x81, -0x6B,0x2B,0xEF,0x25,0x44,0x87,0x0A,0x6C,0xAD,0x03,0x4D,0x01,0x3C,0x53,0x1D,0x8E, -0x0C,0xEE,0x4D,0x42,0xA4,0xEB,0xEA,0xE0,0x15,0xC6,0x88,0x7C,0x89,0xCD,0x83,0xA5, -0xA9,0xD2,0xD4,0xE7,0x1B,0x5B,0x55,0xEF,0xFF,0x1F,0x51,0x4F,0x8D,0x02,0x4C,0x6E, -0x5F,0x7F,0x8F,0x11,0x4B,0xCB,0x05,0x2F,0x4B,0x7A,0x34,0x9E,0x1F,0x41,0x0F,0xBF, -0x4A,0x0F,0xEA,0x04,0x15,0x36,0x5B,0x8C,0x56,0xC9,0x87,0x30,0xC9,0x16,0x58,0x3E, -0x17,0xFD,0x45,0x59,0x0B,0x0B,0x45,0xAF,0xB1,0xA7,0xE9,0xB9,0xD0,0x28,0x66,0x19, -0x6C,0x6A,0xA9,0x22,0x8B,0x83,0xC5,0xA7,0x73,0xFF,0xB1,0x23,0xDD,0x12,0x5C,0x2E, -0x7B,0x6B,0xBF,0x35,0xBD,0x90,0xF3,0x82,0xE4,0x84,0xCA,0xCF,0x95,0xD2,0x9C,0xA6, -0xAC,0xE2,0xE1,0xE2,0x4E,0xFE,0x00,0x1F,0xF8,0x20,0x6E,0x77,0x6F,0xBE,0xF0,0x30, -0x11,0x9C,0x22,0x5F,0x04,0x47,0x4A,0xEC,0x72,0xE8,0xA6,0x35,0x06,0x7F,0x31,0x98, -0xA1,0xD0,0xDE,0xEF,0x47,0xD5,0x09,0x3D,0xE3,0xBB,0xF5,0xF7,0x97,0xC1,0x8F,0xB7, -0x5D,0x0E,0xFC,0x13,0x14,0x17,0x5A,0xAC,0x9E,0x19,0x57,0x28,0x21,0xA2,0xEC,0x62, -0x34,0xA8,0x33,0x7A,0xD1,0x6A,0x9F,0x14,0x49,0x72,0x3C,0x94,0x52,0xA0,0xEE,0x13, -0x5B,0x6F,0x9B,0x15,0x86,0xBC,0xC8,0x95,0x0A,0x7D,0x33,0xD8,0xA7,0xE5,0xAB,0xA3, -0x69,0x5A,0x9C,0x27,0x76,0x80,0x38,0x59,0x10,0xF1,0xBF,0x4E,0x0F,0x8A,0xC4,0x64, -0x91,0x94,0xAA,0xDF,0xAE,0x92,0xE0,0x93,0xCC,0x05,0x4B,0x66,0x73,0xA1,0xEF,0x33, -0xCC,0x66,0x05,0x82,0x4D,0xAC,0x03,0x4E,0x1E,0x59,0x17,0xE8,0x58,0xA8,0xE6,0x11, -0x27,0xB9,0x31,0x69,0xDC,0x55,0x92,0x26,0x7C,0x40,0x0E,0x93,0xE7,0x3E,0x70,0x38, -0x24,0xE8,0x63,0x6A,0xDE,0x26,0x90,0x57,0xCF,0x1A,0x54,0x7A,0x0D,0x99,0xD7,0x75, -0xD6,0x55,0x2C,0x98,0x32,0x54,0x7C,0xC9,0xC4,0x85,0xCB,0xEE,0xE9,0xF9,0xB7,0xF1, -0xA0,0xF0,0xFF,0xEE,0x13,0x51,0x5D,0xED,0xCE,0x0D,0x43,0x6C,0x61,0x79,0x37,0xF9, -0x45,0x4C,0xA6,0x0B,0xC8,0x11,0x86,0x76,0x7D,0x57,0x19,0x85,0x76,0x80,0xCE,0x17, -0xDF,0x77,0x07,0x91,0x65,0x82,0x2B,0x48,0x3A,0x78,0x36,0xED,0x10,0x68,0x26,0x99, -0x39,0x9A,0x0C,0x77,0xA6,0x98,0xE8,0x91,0x42,0xED,0xA3,0x00,0x57,0x81,0xCF,0x37, -0x99,0x96,0xA0,0xD7,0xFE,0x02,0xB0,0x53,0xC3,0xBA,0xF4,0xD6,0xE6,0xD0,0x9E,0xD7, -0x77,0x79,0xA1,0x39,0x50,0xC3,0x1E,0x3C,0x86,0x9D,0xD3,0xB4,0x6E,0x50,0x1E,0xDF, -0xFA,0x43,0x16,0xB4,0x22,0x04,0x6C,0x89,0x85,0x82,0xCC,0xA8,0xE3,0xF1,0xBF,0xF3, -0x96,0xD5,0xEC,0xD8,0x56,0xA4,0x18,0x5D,0x1D,0x46,0x08,0xF4,0x69,0x62,0x2C,0xEA, -0x7F,0x7B,0xAB,0x31,0x28,0x7D,0x66,0xFA,0x50,0xE1,0xAF,0x1E,0x0A,0xAB,0xE5,0x40, -0x0E,0x9F,0x3E,0x40,0x30,0x27,0x7E,0xB8,0x46,0xCD,0x83,0x24,0xC5,0xC2,0x8C,0xE6, -0x35,0x88,0x12,0x7B,0x9A,0xF2,0xD4,0xC7,0x52,0xE9,0xA7,0x14,0x8E,0xFF,0xB1,0x90, -0x3B,0xEB,0x7F,0x75,0x43,0xC1,0x0D,0x2D,0xA2,0xBC,0xF2,0xB1,0x78,0x47,0x09,0xDE, -0xB6,0xD1,0xC8,0xF8,0x10,0x03,0x5E,0xBC,0x5F,0x5E,0x10,0xAE,0x2F,0x65,0x2B,0xAB, -0x1C,0xAE,0x1D,0x52,0x68,0xBD,0x26,0x7A,0x07,0xCA,0x84,0x62,0x5E,0x74,0x3A,0xCB, -0xC3,0x25,0x49,0x8D,0xAA,0x86,0xE4,0x83,0x54,0xC1,0x8F,0x3A,0x13,0x95,0xDB,0x67, -0x38,0xBA,0x2D,0x76,0xC7,0x5D,0x89,0x35,0xC1,0xB2,0xFC,0xDC,0x84,0xF7,0xB9,0x92, -0x4F,0x3F,0xDF,0x01,0xF7,0x29,0xB9,0x71,0x63,0xFB,0xB5,0x37,0x0E,0x64,0x2A,0x8B, -0x73,0x69,0xB5,0x3D,0x5A,0xBA,0x14,0x4F,0xDC,0x01,0x4F,0x72,0xF5,0xE6,0xA8,0xF2, -0xB4,0xA0,0xBB,0xFA,0xE4,0x2B,0xAA,0x60,0xDD,0x16,0x58,0x64,0x34,0x48,0x06,0x9D, -0xF8,0x32,0x65,0xB6,0x9B,0xD3,0xD5,0xE7,0xC0,0xA5,0xEB,0xCA,0x1A,0x60,0x2E,0x9B, -0xDD,0x06,0x74,0x93,0x97,0xCD,0xD9,0xF5,0x47,0xDA,0x94,0x32,0x41,0x96,0xD8,0x36, -0xE2,0x01,0x4C,0xAC,0x74,0xF3,0x3A,0x28,0xBE,0x18,0x56,0x09,0xA2,0xC4,0x8A,0x87, -0xE0,0x70,0x3F,0xAE,0x90,0x8B,0xDE,0xB4,0x02,0xFD,0xB3,0x50,0x6B,0x71,0x3F,0xFB, -0xE7,0x31,0x79,0xA9,0xF4,0x7B,0xBA,0x20,0x2A,0x7C,0x32,0xF9,0x48,0x63,0x2D,0xCA, -0xD9,0x16,0x60,0x97,0x36,0x40,0x78,0xD9,0x23,0xEB,0xA5,0x67,0x81,0xD6,0x98,0xB6, -0x3D,0x8A,0x18,0x73,0x81,0xFA,0xCF,0xD4,0x45,0xD2,0x9C,0x38,0x7E,0x9B,0xD5,0x04, -0x3E,0xDB,0x4A,0x70,0x8E,0xB6,0xC0,0x97,0xFE,0x08,0x46,0x59,0xE2,0x1F,0x51,0x1C, -0xB3,0xE1,0xFD,0xFD,0xB5,0x9A,0xFB,0x80,0xC8,0x25,0x6B,0x42,0xAF,0xFE,0xB0,0xB0, -0xC2,0x05,0x68,0x8C,0x55,0xF6,0x1B,0x0C,0x03,0xEA,0xA4,0x46,0xA3,0x2A,0x64,0x68, -0x93,0xE5,0xD9,0xDD,0x33,0x75,0x7D,0xE9,0x00,0xF5,0xBB,0x5A,0xB3,0xE1,0xAF,0xB3, -0x88,0xF6,0xD1,0xC6,0x60,0xB7,0x2E,0x78,0xFC,0x00,0x4E,0x53,0x1C,0xBC,0xF2,0x41, -0x12,0xCD,0x70,0x5C,0x23,0x25,0x6D,0xA9,0x5B,0x7E,0x30,0x8A,0xD7,0x1A,0x54,0x2C, -0x94,0xA4,0x9F,0xDA,0x95,0xBE,0xDB,0x84,0x18,0x71,0x3F,0xC6,0xC7,0xD1,0x9F,0xF7, -0xD3,0x65,0x19,0x9D,0x6A,0xCE,0x24,0x0B,0x12,0xF9,0xB7,0x44,0x39,0x72,0x3C,0xAA, -0x92,0xC5,0xF8,0xDC,0x48,0x99,0x06,0x7E,0xB5,0x87,0xC9,0x9D,0xC2,0xF0,0xBE,0xD3, -0x0A,0x8F,0x2A,0x44,0x61,0x96,0x2F,0x58,0x4D,0x52,0x1C,0xB0,0xDA,0x20,0x6E,0x1B, -0xD0,0x34,0x4B,0x9E,0xF3,0x3D,0xBD,0x61,0xC2,0xAD,0xE3,0xC0,0xDB,0xCE,0x80,0xF4, -0x75,0x08,0xD2,0x3B,0xCB,0x43,0x85,0x27,0x29,0x63,0x2D,0xE5,0x3B,0x61,0x2F,0xBB, -0xEC,0x20,0xC3,0xDC,0xC6,0x25,0x31,0xE7,0xF7,0xB2,0x55,0x14,0x06,0x64,0x87,0x91, -0x2E,0x73,0x90,0x4D,0x3A,0xD9,0xEF,0xC5,0x93,0x42,0xC1,0x70,0x40,0x63,0x80,0xD0, -0x81,0x2E,0xCD,0xBF,0xDF,0x3C,0x53,0x9C,0x45,0x3D,0x68,0xA6,0x2F,0x7E,0x9D,0xA2, -0x17,0xA2,0x41,0xA5,0x65,0x86,0x6C,0x19,0x31,0x9D,0xBC,0xD2,0xD5,0x12,0xF1,0x34, -0x53,0xB6,0x55,0xF5,0x53,0xB0,0x49,0x0A,0x51,0x79,0x38,0xB2,0x59,0x5D,0xBE,0xF7, -0x85,0xE1,0x02,0x74,0x3C,0xDF,0x8E,0xA2,0xE6,0xC3,0x35,0x05,0x21,0xB9,0x5A,0x6B, -0xC8,0x00,0xE3,0xD8,0x84,0x67,0xC0,0x54,0x4F,0x44,0x1B,0xAC,0x92,0xFB,0x18,0x9A, -0x65,0x4E,0xAD,0x3B,0x0A,0xE9,0xAB,0xB1,0x57,0x1E,0x59,0xB4,0x07,0x8A,0x69,0x7E, -0xAE,0xE8,0x0B,0x56,0xDC,0x3F,0x02,0xCE,0x58,0x52,0x1A,0xBB,0x69,0x79,0x9A,0xE3, -0x18,0x8B,0x68,0x83,0x7E,0x9D,0x7F,0x11,0x4A,0x71,0x2B,0xA9,0xC0,0xF8,0x1B,0xCB, -0xD9,0x25,0xC6,0xEC,0x34,0xD7,0x8C,0xA8,0xD8,0xDA,0x12,0x3B,0x91,0x06,0xE5,0x64, -0x8B,0x26,0xC5,0xBD,0x1E,0xFD,0xFB,0xF5,0x4B,0x50,0x0B,0xA8,0xCD,0xC2,0x21,0xFC, -0x6B,0x89,0x6A,0xF2,0x15,0xF6,0xA8,0xAD,0xFF,0xB8,0x57,0x1C,0x5E,0x6F,0x8C,0xC2, -0x9E,0xCC,0x2F,0x42,0x1A,0xF9,0xEB,0xE1,0xB2,0x47,0xE5,0x51,0x01,0x56,0xB5,0xA4, -0xC2,0x08,0xEB,0xDA,0x9B,0x78,0xC3,0x48,0x82,0x33,0xA1,0x61,0x27,0x65,0x86,0xB1, -0xFD,0x05,0xE6,0xE8,0x46,0xA5,0x39,0x6F,0xEB,0xFC,0x07,0x08,0x1D,0x49,0xAA,0xA7, -0xB9,0x11,0xF2,0xB8,0x0E,0xED,0xBB,0xA5,0xE9,0x8F,0x76,0x0A,0x73,0xBA,0x59,0x3A, -0xAB,0xC9,0x2A,0x72,0xF6,0x15,0x75,0x93,0xD2,0xA3,0x61,0x31,0xC4,0x37,0xD4,0x00, -0x94,0xC4,0x27,0x40,0xB3,0x50,0xC5,0x66,0xFD,0xCB,0x26,0x1E,0x2B,0xB1,0x52,0x69, -0x2C,0x60,0x83,0x5C,0xEA,0x09,0x27,0xDD,0x24,0xF8,0xCC,0xC7,0x46,0xBF,0x5C,0x0A, -0x95,0x2A,0xC9,0xAF,0xAB,0x48,0x87,0x3C,0x32,0xCF,0xED,0xD1,0x51,0x46,0xA5,0xE4, -0x6C,0xBB,0x58,0xC7,0x40,0xA3,0x58,0x08,0x54,0x4C,0x08,0xB7,0xE0,0x17,0xF4,0x04, -0xBE,0x23,0xC0,0x8D,0x0C,0xEF,0xCA,0xD6,0x77,0x3A,0x5D,0x94,0xF1,0x32,0xD1,0x30, -0xD2,0xC3,0x20,0x01,0x6B,0x88,0x0F,0x74,0x0F,0x84,0x9B,0xEC,0x24,0x98,0x7B,0x4F, -0x36,0xA3,0x40,0x85,0x96,0x75,0xF1,0x77,0x36,0xDB,0xFD,0xD5,0x60,0x8C,0x6F,0x1F, -0x4A,0x88,0x6B,0xD2,0x62,0x81,0x2D,0x5F,0xD7,0x96,0x51,0x34,0x7B,0xA1,0x42,0x29, -0x31,0x91,0x72,0xB0,0xA7,0x44,0x95,0x22,0xD6,0xB7,0x71,0x35,0x2D,0x6D,0x8E,0xB3, -0xB5,0xC5,0x26,0x60,0xEE,0x0D,0x37,0xC9,0x6E,0x41,0x3F,0x8D,0x88,0x38,0xDB,0x43, -0x61,0x81,0x62,0xF0,0x3E,0xDD,0xFF,0xD1,0x03,0x9A,0x89,0xE0,0x7F,0x6E,0x8D,0xE2, -0xDE,0x17,0xF4,0xD9,0x27,0xC4,0x9D,0xAA,0xC8,0x8A,0x52,0x2B,0x63,0x71,0x92,0xE1, -0x05,0x7A,0x99,0x6F,0x64,0x87,0x4C,0x38,0x4C,0x16,0x4A,0xAF,0x97,0xDA,0x39,0xBE, -0xB0,0xE4,0x07,0x44,0xA1,0x42,0xF4,0x45,0x5D,0x67,0x2A,0xBE,0x5B,0x4E,0xAD,0xE6, -0x1F,0xB9,0x5A,0xB6,0x43,0xA0,0x09,0x5A,0x07,0x8E,0x99,0xE4,0xE8,0x0C,0xEF,0x17, -0x6D,0x55,0xB6,0x28,0xB1,0x52,0xB4,0x15,0x44,0x1C,0x48,0xA7,0x49,0x96,0x75,0x2C, -0x62,0x7C,0x9F,0x0E,0xCE,0x2D,0x33,0xED,0xCD,0xBF,0x62,0x2E,0x70,0x47,0xA4,0xC4, -0xF2,0x2C,0xCF,0xCE,0x38,0xDB,0x9E,0xB6,0xA0,0x64,0xD4,0x43,0x14,0xBC,0x5F,0x5B, -0x68,0x74,0x97,0x0C,0xC7,0x24,0x11,0xC6,0xF2,0x87,0x65,0x11,0xA6,0x10,0xF3,0x45, -0x28,0xAF,0x4C,0x97,0x22,0xC1,0xAD,0x9F,0x0D,0xF7,0xEA,0xEE,0x20,0x57,0xB4,0x84, -0x0F,0x72,0x91,0x6D,0x2D,0xCE,0xEE,0xD3,0x90,0x10,0x90,0x73,0xE6,0xCB,0x28,0xDE, -0x32,0x6C,0x8F,0x4E,0x70,0x93,0x1C,0x7C,0x3D,0x83,0xAE,0xDE,0x8C,0xF7,0x14,0x88, -0x34,0xB0,0x53,0x94,0x7D,0x9E,0x2E,0x43,0x95,0x25,0xA0,0x76,0x6A,0x84,0x67,0x1D, -0xD0,0xD0,0x33,0x10,0xE2,0x01,0x25,0xD7,0x33,0xEE,0xCD,0xD0,0xB3,0xFA,0x19,0xBA, -0xB4,0x2B,0xC8,0x8F,0x78,0x9B,0x1E,0x76,0xBC,0x2A,0x86,0x5F,0x03,0x45,0xA6,0xB5, -0x26,0x68,0x8B,0x5E,0x1D,0xFE,0xAA,0xA7,0xDE,0xBD,0x73,0x3D,0xE5,0x36,0xD5,0x20, -0x58,0x50,0xB3,0x18,0x6A,0x89,0x2F,0x55,0xF8,0xFE,0x16,0x1B,0xFF,0xF5,0x16,0xF9, -0x4F,0xA9,0x4A,0xF6,0x30,0xD3,0x9C,0xBC,0x5B,0x00,0x4B,0xB8,0x7D,0x7D,0x9E,0xF3, -0xF0,0x3F,0xDC,0xDF,0xAE,0x4D,0xB7,0x09,0x4D,0x37,0x6A,0xAE,0x0E,0x7F,0x9C,0x82, -0xE9,0x01,0xE2,0xF8,0xC0,0x23,0x50,0x80,0xCF,0xCC,0x13,0x2C,0x4B,0x85,0x66,0x3D, -0xBB,0x02,0xE1,0xA9,0xB8,0x5B,0x96,0x3E,0x2F,0xA0,0x9F,0xCC,0xC1,0x16,0xF5,0x24, -0xA1,0xC1,0x22,0x70,0x5E,0xBD,0x7B,0x35,0x06,0xAF,0xB9,0xE5,0x13,0x8E,0x6D,0x6E, -0xBA,0xEC,0x0F,0x46,0x0B,0xE8,0x8B,0x90,0x83,0x12,0x81,0x60,0x82,0x30,0xD3,0x41, -0xA9,0xDA,0x39,0x63,0x1C,0xFF,0x8A,0x86,0xFC,0xEA,0x06,0x1F,0x5C,0x7C,0x9F,0xD3, -0x3B,0x99,0x7A,0xB2,0xFE,0x1D,0x77,0x99,0x94,0x04,0x80,0x77,0x72,0x54,0xB7,0xD5, -0xFA,0x37,0xD4,0xDD,0x10,0xF3,0x98,0x98,0xAC,0x7A,0xC6,0x4F,0xEB,0xF1,0x12,0xE9, -0xC7,0x29,0xCA,0xFE,0xCB,0x28,0x03,0xD8,0xF0,0xF4,0x14,0x13,0x4D,0x59,0xBA,0xE7, -0x7E,0x63,0x80,0x0D,0x76,0x95,0x7D,0x1B,0x13,0xCA,0xC9,0xF0,0x75,0x66,0x85,0xE0, -0x29,0x41,0xA2,0x78,0x1F,0xFC,0xDB,0xD4,0xD9,0xFB,0x32,0x3A,0xA4,0x03,0xE0,0x54, -0x6E,0xA8,0x4B,0xD6,0x8A,0x69,0xA3,0x39,0x09,0xE3,0xFA,0xEA,0x89,0xD6,0x35,0xAC, -0xE4,0x3B,0xD8,0xCF,0x98,0x7B,0x92,0x1A,0x61,0x0D,0x7C,0x82,0x5D,0x92,0x71,0x3C, -0xAC,0xFB,0x18,0x47,0xE3,0x00,0x05,0xF6,0x49,0x23,0x7A,0xAA,0xF3,0x21,0xC2,0x21, -0xDF,0xF9,0x1A,0x36,0xDD,0x3E,0x22,0xEF,0xE7,0xE2,0x15,0x04,0xF9,0x29,0xCA,0x23, -0x57,0x79,0x9A,0x3E,0xFA,0x19,0x67,0x8D,0x48,0x02,0x5A,0xAB,0xDC,0xE7,0x04,0xC8, -0x56,0x97,0x74,0xD1,0x47,0xA4,0x19,0x4E,0xBF,0x78,0xD7,0x5C,0x0B,0x5E,0xBD,0xA6, -0x3F,0x56,0xB5,0x79,0x8F,0x6C,0x93,0x0C,0xED,0x9B,0x66,0x0E,0x30,0x9C,0x7F,0x5F, -0x4A,0x63,0xB3,0x87,0xA6,0x0B,0xFA,0x8F,0xCD,0xE4,0x46,0xDC,0x7D,0xB6,0x54,0xB5, -0xC2,0xEB,0xB9,0x05,0x05,0x56,0x04,0x2C,0x97,0xBE,0xAF,0x6F,0x84,0x58,0xAD,0xA2, -0xB2,0x9B,0x7D,0xB1,0x32,0x53,0x36,0x1B,0x3D,0x14,0x7A,0x10,0xD5,0xB8,0xFC,0x13, -0x48,0x61,0xC2,0xF4,0xB0,0x2A,0xCD,0x99,0x53,0x7A,0xF3,0xF7,0xEB,0x9F,0xC2,0x0A, -0xCD,0xE4,0xFA,0x49,0xCE,0x8D,0x14,0xE7,0x1F,0x36,0x2D,0x65,0x04,0x50,0x2D,0x2A, -0xB3,0x9A,0x5D,0x90,0x68,0xE0,0xDF,0x41,0x80,0xA9,0xB9,0x6E,0x64,0xD4,0x4D,0xCE, -0x01,0x28,0x60,0x1F,0x23,0x33,0x47,0x0A,0xE0,0xC9,0x5D,0xEA,0xBC,0x1E,0x95,0xDC, -0x72,0x5B,0xF5,0xF9,0x41,0xC6,0xD0,0x68,0x85,0xAC,0x8C,0x5E,0xFF,0xCF,0xD6,0x4E, -0x60,0x49,0xC4,0xDA,0xF0,0xAA,0x0D,0xD9,0xDF,0xF6,0x65,0xED,0x7B,0xD7,0x52,0xD2, -0x27,0x0E,0x05,0x5C,0x0F,0x25,0x7D,0x26,0x3A,0x13,0x3C,0x51,0xA0,0x4C,0x89,0x92, -0xC0,0xE9,0xC8,0x76,0xC0,0xEE,0x79,0xE9,0x8D,0xA4,0x86,0x5C,0xB8,0x0E,0x91,0xC8, -0xFC,0xD5,0x9E,0x1C,0x6D,0xD0,0xEA,0x44,0xD0,0xF9,0x29,0xAE,0xA6,0x2D,0x8F,0xF5, -0xA1,0x88,0x6C,0xB3,0xB9,0x08,0xE6,0x90,0x4C,0x65,0xEF,0xF4,0x81,0x68,0xA8,0x97, -0x3B,0x12,0x57,0x12,0xFA,0xD9,0x74,0xD3,0xBE,0x97,0xA0,0x49,0x6D,0xF6,0x44,0xE5, -0x8B,0xA2,0x1B,0xEE,0x5D,0x94,0x9E,0x74,0xC5,0xEC,0x4C,0xDE,0xF8,0x8E,0xD1,0x08, -0x70,0x59,0x84,0x8A,0x30,0x22,0x45,0x19,0x33,0x1A,0x17,0x73,0xA8,0x4E,0x81,0x98, -0xD0,0xF9,0x88,0x26,0xB5,0x1A,0xF8,0x9C,0x07,0x2E,0x77,0x27,0xAD,0x7E,0x84,0xAD, -0x1E,0x37,0x63,0x03,0x1A,0x55,0x18,0x33,0x20,0x09,0x15,0x62,0x2D,0x76,0x04,0x25, -0xAB,0x82,0x1F,0xCA,0x10,0x26,0x61,0x39,0x72,0x5B,0xF6,0xD3,0x82,0x39,0xAB,0xC5, -0x69,0x40,0xE6,0xF1,0x42,0x97,0x82,0x6B,0xBA,0x93,0xB4,0x59,0x43,0x91,0x6A,0xAC, -0xE1,0xC8,0xEC,0x73,0xF4,0xBA,0x19,0xDD,0x77,0x5E,0xC3,0xE3,0x7C,0x96,0x55,0x94, -0x34,0x1D,0x14,0x5E,0x24,0x72,0x01,0x0D,0xE2,0xCB,0x2E,0x9B,0x95,0x38,0xBC,0xD3, -0x16,0x3F,0x61,0x09,0xB4,0x3A,0xD9,0x9D,0x1E,0x37,0x0C,0x45,0x2F,0x07,0x06,0x56, -0xA5,0x8C,0x7C,0xA7,0x9C,0x3C,0xF7,0xB5,0x65,0x4C,0xE0,0xD2,0xEF,0x8F,0xC6,0x1E, -0xC6,0xEF,0xA9,0x11,0x51,0x86,0x80,0x78,0xED,0xC4,0x62,0xD8,0xE3,0x9D,0xCA,0x00, -0x63,0x4A,0x95,0x88,0x69,0xC0,0xFE,0x40,0x03,0x2A,0x63,0x37,0x4D,0xF2,0x64,0xC1, -0x51,0x78,0xA0,0x8F,0xEE,0x89,0x30,0xC7,0x8B,0xA2,0xE1,0x3D,0xB7,0x4D,0x9E,0x84, -0x6E,0x47,0xA7,0xB7,0x0D,0x54,0x0E,0x24,0x36,0x1F,0x22,0x43,0xFD,0xBE,0xD4,0x3D, -0xB9,0x90,0x2E,0xE9,0xFB,0xF9,0x55,0xD2,0xA3,0x8A,0xCF,0x3B,0x15,0x30,0x3C,0x5B, -0x21,0x08,0x64,0x3B,0xD2,0xDF,0x5A,0xFB,0x45,0x6C,0xC4,0xD6,0xD6,0xE9,0xFF,0x41, -0x4B,0x62,0x93,0xA6,0x01,0x46,0x10,0x28,0xE1,0xC8,0x7C,0xCA,0x0E,0x23,0x27,0x53, -0x07,0x2E,0x01,0x78,0x7E,0xC1,0xE8,0x57,0xF6,0xDF,0x6A,0xCB,0x38,0x06,0x11,0x40, -0x61,0x48,0xE4,0xFB,0x4F,0xA5,0xBD,0x66,0xE7,0xCE,0x1B,0xAB,0x18,0x02,0x31,0x64, -0x58,0x71,0x82,0xA4,0x02,0x17,0x42,0x2B,0xE8,0xC1,0x57,0xE8,0x5D,0xB2,0x74,0x91, -0x7E,0x57,0xE7,0xE7,0x16,0x47,0x06,0x3F,0xBB,0x92,0x95,0x79,0xD1,0xA8,0xF8,0x07, -0x52,0x7B,0xF1,0xDD,0x7F,0xE1,0xC9,0x56,0x66,0x4F,0xB2,0x83,0xDC,0x9A,0xF5,0x38, -0xCF,0xE6,0x8B,0x3A,0xB7,0x6B,0x8B,0x9E,0x83,0xAA,0xEB,0x3F,0x5F,0xC3,0x76,0xE2, -0x4E,0x67,0xA3,0x93,0xA5,0x5A,0xA8,0x8C,0x21,0x08,0x34,0x42,0x3C,0x16,0x15,0x54, -0xF5,0xDC,0xBC,0x37,0xB6,0x4B,0xAA,0x9F,0xE3,0xCA,0x0F,0xBB,0xF2,0xFD,0xDB,0x71, -0x31,0x18,0x24,0x6B,0x25,0x52,0x20,0x0C,0xC9,0xE0,0x52,0xCC,0xF1,0xAC,0xD8,0x23, -0x8E,0xA7,0x2B,0xDB,0x1B,0x75,0x39,0x32,0xC1,0xE8,0x58,0xCE,0x35,0x34,0x1C,0x7F, -0x6A,0x43,0xB7,0xA3,0xAC,0x78,0x83,0x85,0xAE,0x87,0xF0,0x09,0x62,0xB5,0x4B,0xA9, -0xBD,0x94,0x3E,0xFD,0xAA,0x19,0xE4,0x83,0xF7,0xDE,0x4B,0xEB,0x9A,0x7B,0xB3,0x9F, -0xCC,0xE5,0xDA,0x68,0xB2,0x5B,0xBE,0x9B,0x79,0x50,0xAE,0x80,0xD4,0x98,0xFD,0x32, -0x54,0x7D,0x90,0xBA,0x6E,0x81,0xB8,0x47,0xC7,0xEE,0x3F,0xAF,0xA7,0x0D,0x8E,0xD4, -0x53,0x7A,0xD1,0xFC,0x0A,0x15,0x48,0x23,0x3B,0x12,0x1D,0x71,0xF4,0x9C,0xDD,0x16, -0x25,0x0C,0x74,0x2F,0xCC,0xFC,0x67,0xE5,0x98,0xB1,0xE3,0x2C,0x76,0xE5,0x5F,0xED, -0x49,0x60,0xE2,0xD5,0xB8,0x28,0xC7,0x91,0x22,0x0B,0x66,0x13,0xFA,0xFF,0xD3,0x7B, -0x46,0x6F,0xA1,0x99,0x35,0x12,0x70,0x1C,0xDA,0xF3,0x50,0xDD,0xC3,0x99,0xEA,0x24, -0x59,0x70,0xA2,0x85,0xFE,0xC9,0x60,0xD7,0xC3,0xEA,0x2B,0xBF,0x55,0xB0,0x7C,0x9B, -0x79,0x50,0xA6,0xA1,0xA0,0x6A,0x9D,0x89,0x5C,0x75,0xBF,0xB4,0x30,0x04,0x19,0x4A, -0xED,0xC4,0xFE,0x6D,0xB1,0x0A,0xEC,0x98,0x99,0xB0,0xC2,0x0C,0xAE,0x2F,0x87,0xFF, -0x96,0xBF,0x69,0x81,0x2A,0x11,0x6C,0x03,0x9F,0xB6,0xA5,0x6D,0x5C,0x92,0x75,0xB0, -0xBB,0x92,0x5F,0x9A,0xCB,0xBD,0x21,0xE2,0x6B,0x42,0x8D,0xB1,0x77,0xC5,0x5E,0xCC, -0x0F,0x26,0x03,0x72,0x93,0x7F,0xBB,0xBA,0x13,0x3A,0x33,0x77,0x11,0x20,0x38,0x4F, -0x5A,0x73,0xF3,0xD7,0x2B,0x31,0x4D,0x02,0x5A,0x73,0xD8,0xD5,0x45,0xF0,0x6C,0xCB, -0x20,0x09,0x44,0x1A,0xA9,0x48,0xB6,0x80,0xBD,0x94,0xF2,0x18,0x6F,0x87,0x46,0x96, -0x71,0x58,0xA4,0xAB,0xCF,0xAD,0x35,0xE6,0x56,0x7F,0xC6,0xC7,0xFE,0xEF,0xD7,0x6F, -0xAF,0x86,0x0F,0xDE,0xF2,0xDB,0x7E,0xDB,0x96,0xBF,0x8E,0x4F,0x17,0x41,0x3E,0x28, -0x05,0x2C,0x70,0x0B,0x8A,0x1D,0xC0,0xA3,0xF1,0xD8,0x2C,0x8A,0xF7,0xCD,0xDE,0x44, -0x00,0x29,0x40,0x3E,0x2F,0x21,0x59,0x06,0x0B,0x22,0x69,0x35,0x1D,0x32,0x34,0x51, -0x8D,0xA4,0x7A,0x89,0x14,0x36,0x75,0x3D,0xF3,0xDA,0x5F,0xFB,0xC5,0xF8,0xEC,0x43, -0x88,0xA1,0x4A,0xBC,0xD9,0x8C,0x02,0xF0,0x17,0x3E,0x27,0x67,0xB4,0x1C,0x9D,0xD6, -0x86,0xAF,0x29,0xD1,0x00,0x66,0x31,0x29,0x4E,0x67,0x9C,0x85,0x10,0x00,0x39,0x6E, -0xF3,0x46,0x2A,0x30,0x0F,0x63,0x92,0x18,0xA6,0x9F,0xBC,0xCA,0x9D,0xD9,0xB5,0xAD, -0x31,0x15,0x79,0xA1,0xF3,0x9F,0x4C,0x3A,0xC2,0x6F,0x28,0xAE,0xDB,0xDE,0xB2,0xEC, -0xCA,0x97,0xFB,0xD8,0x50,0x3C,0x11,0xC4,0x04,0x40,0xC1,0x68,0x08,0xA8,0xC4,0x49, -0x5C,0x1B,0x77,0xC2,0xEA,0x86,0x2E,0x41,0x70,0xE0,0x15,0x1C,0xF2,0xC4,0xA8,0xDF, -0x58,0xD4,0xB8,0x09,0x09,0x65,0xF3,0x7F,0xD3,0x1E,0x48,0xBF,0xFC,0x03,0x6F,0x16, -0x8E,0x83,0xEF,0x88,0x66,0x0A,0x34,0xD7,0x64,0xA4,0x45,0x08,0x84,0xE7,0x8B,0x8A, -0xB8,0x7B,0x17,0x46,0x3F,0x53,0xD6,0x6C,0x62,0xC3,0x24,0x0E,0xDA,0x30,0x5C,0x03, -0x15,0x35,0x59,0xA5,0xB1,0xDD,0xBD,0x89,0x7A,0x99,0x66,0x16,0x4F,0x41,0x2D,0xE7, -0xC5,0xBE,0xD2,0xFE,0x4B,0x27,0x02,0xCC,0x7F,0xAC,0x56,0x13,0x1D,0x42,0x2E,0xB6, -0x73,0xDD,0xB1,0x2B,0xE9,0x85,0x7F,0x13,0x6D,0x8F,0x67,0x01,0xB4,0xC3,0xAF,0x9E, -0x56,0x13,0x7F,0xC0,0x2B,0x47,0x86,0x28,0x7E,0x8D,0x76,0x12,0x10,0x78,0x14,0x81, -0x04,0x10,0x7C,0x91,0x01,0x6D,0xF1,0x75,0xED,0x07,0x6F,0x81,0x4C,0xBC,0xD0,0x19, -0x43,0xF9,0x95,0x3F,0x2F,0x43,0x96,0x3C,0x87,0x9A,0x98,0xEB,0xDC,0xEC,0x80,0xD9, -0xB6,0xBC,0xD0,0x8F,0x20,0x4C,0xD5,0x70,0xCA,0x65,0x2A,0xA6,0x83,0xD5,0xB9,0xBF, -0x20,0x30,0x5C,0x95,0x73,0x1F,0x44,0xB2,0xDE,0x21,0x7A,0xB2,0xC0,0xF3,0x9F,0xDA, -0x1F,0x3D,0x51,0xA7,0xAE,0xC2,0xBE,0x95,0xB7,0xEE,0xDC,0xDB,0xFA,0xDF,0xB3,0xCC, -0x76,0xFC,0x90,0x0F,0xC3,0xAF,0x08,0x4E,0xE7,0x7E,0x1C,0x8B,0x19,0x8D,0xE1,0x7D, -0x64,0x24,0x48,0xC5,0x3B,0x57,0xC6,0x78,0xDC,0x52,0x0B,0xB0,0xAE,0x00,0x6C,0x47, -0xF1,0x55,0x39,0x21,0xDF,0xB3,0x5A,0x00,0x11,0x25,0xB1,0x7D,0x9B,0x05,0x69,0x77, -0x49,0xF1,0x9D,0x3D,0x86,0xEA,0xB8,0xBB,0xC8,0x16,0x5B,0xA4,0xF6,0x0B,0x67,0x14, -0xB1,0x8E,0xE2,0xBA,0x75,0x19,0x25,0xD5,0x61,0x91,0x75,0x0D,0x3D,0xAD,0xC1,0x79, -0x48,0x1F,0x73,0xD2,0x9E,0xF2,0xFA,0xE1,0x07,0x12,0x90,0x6B,0x8C,0xFC,0x90,0x99, -0x0F,0xF6,0x9A,0x7C,0x5E,0x32,0x72,0xA9,0x3A,0x59,0xE6,0x56,0xF9,0x22,0x4E,0x32, -0x63,0x16,0x7A,0xF0,0x39,0x55,0xB7,0x0B,0x42,0xE7,0x20,0x2E,0x2C,0x88,0xE4,0x4D, -0x97,0xBD,0xD1,0xAF,0x57,0x3B,0x50,0x82,0xE2,0x4B,0x2C,0x8E,0xA6,0x1B,0x77,0x54, -0xEB,0x96,0xFA,0xF8,0xA3,0xCF,0x8C,0xAA,0x03,0x06,0x80,0x6F,0xBD,0x36,0x5A,0x62, -0x68,0xF0,0x9C,0x1D,0xDB,0xB7,0x4A,0x14,0x5B,0x9C,0x42,0x37,0x55,0x82,0xEE,0x3E, -0xEC,0xA4,0xC8,0xCD,0x92,0xFE,0xE8,0xFF,0xE3,0x6A,0x0C,0x8F,0xF0,0xD7,0xBB,0xCE, -0x03,0x22,0x4E,0xA4,0x12,0x7E,0xE0,0x77,0xFD,0x57,0x2F,0x91,0xBE,0xCB,0xA7,0x9C, -0xBC,0xB4,0xD8,0x8D,0x0B,0x67,0x82,0x0C,0x36,0x47,0xF4,0x5A,0xA2,0xD4,0xB8,0x9F, -0x6D,0xD1,0xBD,0x39,0x94,0xF8,0x89,0x98,0x68,0xBA,0x57,0x04,0x86,0xF4,0x98,0x9B, -0xD8,0x4F,0x23,0x12,0x51,0x3D,0x31,0xE5,0x79,0xCB,0x37,0x15,0x4A,0x60,0x0C,0xC3, -0xB0,0x60,0x0C,0x55,0x84,0xE8,0xC9,0xC8,0x71,0xC1,0x35,0x1D,0x94,0x2C,0x40,0x51, -0xC2,0x8C,0xE0,0xCB,0x76,0x1A,0x74,0x87,0x32,0x53,0xE4,0x5E,0x35,0xB6,0xDA,0x6A, -0x2F,0x19,0x75,0xB3,0x0D,0x61,0xE3,0x6B,0x95,0xB9,0xA9,0xF9,0xC9,0x06,0x6A,0x26, -0xBF,0x49,0x25,0x73,0xFB,0x97,0x4E,0x30,0xF8,0x62,0x1F,0x94,0xAD,0xFD,0x91,0xB9, -0xF5,0x9A,0xF6,0xEA,0x17,0x7B,0xD0,0x42,0x38,0x2A,0x97,0x54,0xFD,0xED,0x81,0xF9, -0xB5,0x41,0x2D,0x71,0xF2,0x9E,0x6C,0x1B,0xC7,0x5A,0x18,0xAB,0x7B,0xAA,0xC6,0x38, -0xEF,0x59,0x35,0x33,0x45,0x29,0x61,0xA1,0x08,0x5E,0xD3,0x64,0x51,0x4D,0x21,0xF5, -0xD2,0x47,0x2B,0x10,0x18,0x74,0x93,0x0E,0xA5,0xCD,0xED,0xC9,0x3B,0x71,0x1D,0xA3, -0x0D,0xE5,0x89,0x6D,0xD7,0xBB,0x58,0x0A,0x06,0x33,0xB0,0x6A,0x6E,0x40,0x2C,0xC7, -0xE9,0x85,0xE9,0xE9,0x48,0x24,0x53,0x9E,0xA0,0xF8,0xDD,0xCC,0xB7,0x3E,0x52,0x60, -0xFB,0x5D,0x31,0x23,0x28,0x44,0xD7,0x7A,0xEB,0x60,0x0E,0x87,0x38,0x8C,0xE0,0x5D, -0x69,0x1E,0x72,0xF2,0x4D,0x21,0x63,0xAB,0x89,0xF7,0xFB,0xE5,0xDE,0xFF,0x93,0xC8, -0x92,0x9C,0xF0,0x8B,0x05,0x69,0xE1,0x61,0x6E,0xDD,0x36,0x02,0xA0,0xC7,0xAB,0x8E, -0x85,0x65,0x09,0x65,0x5F,0x33,0x52,0x88,0xCD,0x23,0x6B,0xA1,0x22,0x4F,0x23,0x84, -0x34,0x34,0x58,0x85,0xF5,0x99,0x2D,0x5D,0xFA,0x11,0x6E,0x96,0x96,0x3F,0x53,0x40, -0x2D,0x0A,0x66,0xA2,0x9B,0xF7,0xCA,0xD4,0x78,0xEA,0x17,0x14,0xD3,0xC5,0xA9,0xFF, -0x7C,0xF4,0x98,0x0D,0x6B,0x07,0x06,0xE8,0x33,0x72,0xC4,0x5F,0xCE,0x34,0x58,0x13, -0x66,0x37,0x5B,0xD4,0x8D,0xE1,0xEB,0xE3,0x1A,0x7D,0xE2,0x76,0x1C,0xAC,0xC0,0x59, -0x74,0xEF,0x83,0x1E,0x29,0x45,0xF7,0x5B,0xC9,0x37,0x7B,0xA5,0x81,0xC6,0xAA,0xAE, -0x67,0xD9,0xB5,0x3B,0x3E,0x52,0xF6,0x4D,0xB6,0xCF,0xFC,0xDA,0x5F,0x8A,0xE6,0x3C, -0x27,0x02,0x6E,0xA0,0x25,0x49,0xE5,0x45,0x99,0xA7,0xBB,0xF5,0x36,0x4B,0x27,0x94, -0xE6,0xAC,0xC0,0xCF,0xCB,0xA7,0x0A,0x44,0xA1,0xD9,0xFD,0xCD,0xAF,0xEE,0x82,0xA8, -0xA3,0x56,0x3A,0x70,0x43,0x2F,0x00,0xC6,0x26,0x17,0xB4,0x4A,0xA8,0xDC,0xB0,0x9D, -0x1A,0x1C,0x70,0x83,0xFE,0x92,0x7E,0x05,0xC5,0x29,0x69,0xA9,0x90,0xE3,0x8F,0x9A, -0xB3,0x9D,0xF1,0xAB,0xBF,0xD3,0xDE,0xE4,0x3C,0x3E,0x87,0x50,0x54,0x6C,0x00,0xD1, -0xF4,0x74,0x18,0x05,0x2A,0x46,0xA6,0x09,0xEC,0x26,0x4F,0x80,0x79,0xB9,0xD5,0x29, -0x71,0xCE,0xA2,0x3A,0xD6,0xBA,0x78,0x2B,0x7C,0xFE,0x07,0x10,0x2E,0x9B,0xF7,0x5C, -0x39,0x0E,0x62,0xB2,0xAD,0xC1,0xEF,0xC7,0x54,0xD0,0x01,0x38,0x80,0x28,0x44,0x41, -0x8A,0x4C,0x20,0x43,0xCF,0xA3,0x1A,0x50,0x7D,0xDF,0x27,0x11,0x01,0x5D,0x31,0xB5, -0x02,0xCC,0xA0,0x4B,0xE8,0x84,0x5F,0x32,0xD2,0x3F,0x68,0xBE,0x24,0x93,0xFF,0x5E, -0xE2,0x63,0x0F,0x04,0xBA,0xD6,0xEE,0xD1,0xD8,0x46,0x1B,0xB4,0xED,0x26,0x4A,0x22, -0x8B,0xA2,0xCE,0xAC,0x72,0x1E,0x64,0x93,0x8A,0xA5,0xAA,0xE6,0xD6,0xE4,0x88,0xDB, -0x7D,0x31,0xFF,0xCB,0xC7,0x47,0x73,0x33,0x04,0x4D,0xCE,0xFA,0xCE,0xA5,0xD8,0x91, -0x2B,0x5B,0xC3,0xF7,0x54,0xEA,0xDE,0x0D,0xAB,0xBF,0x93,0xA7,0xED,0xBB,0xE5,0x8F, -0xE6,0x71,0x24,0x10,0x50,0x25,0x11,0xC6,0x11,0xB2,0x24,0x10,0xAF,0xA3,0xBF,0x97, -0x27,0xF7,0x63,0x57,0x20,0xDA,0xEE,0x49,0x48,0x0E,0xC1,0xF5,0x34,0x78,0xFF,0x4C, -0x67,0xA7,0x73,0x47,0x68,0x1A,0x2E,0xC1,0x3A,0x90,0x2D,0x19,0xAD,0xAB,0xB5,0x9F, -0xF8,0xC3,0x88,0xBC,0xB3,0x77,0x43,0x77,0x61,0x3D,0xDB,0xEF,0x6D,0xFB,0x25,0xCF, -0xB4,0x3F,0x38,0x0C,0x59,0xD0,0xE4,0x3A,0x8D,0xAA,0xA0,0x94,0x15,0x6E,0xC8,0x5A, -0x8F,0x9E,0xA2,0x96,0xCB,0x93,0xA7,0xEB,0xC2,0x17,0x52,0x66,0x8B,0x82,0xBA,0xB6, -0x21,0xD9,0x4B,0x7F,0xE0,0x9A,0xAE,0xC9,0xDE,0x14,0x4D,0x79,0x7C,0xE8,0x27,0xDC, -0x9E,0x9C,0xB1,0x85,0x1B,0x18,0x2C,0xB0,0x57,0xF3,0x23,0x17,0x5B,0xD6,0x3E,0xE2, -0x5A,0x28,0xC1,0xF5,0x29,0x2F,0x1B,0xB5,0x82,0x8C,0x89,0xBD,0xBB,0x87,0x8F,0xB3, -0x50,0xAA,0x49,0x7D,0xD7,0x8C,0xB8,0xE8,0x6B,0x3F,0xD3,0xE7,0x55,0x7E,0x98,0x4A, -0x16,0xD4,0x71,0x45,0xFD,0x6B,0x5F,0x25,0xA1,0xBD,0x9B,0xAF,0x2C,0xFC,0x63,0xC8, -0x83,0x32,0x02,0x36,0x6A,0x09,0x3D,0xD0,0x70,0x09,0xFE,0xCA,0xFD,0xBF,0xF1,0x8B, -0xBE,0xBD,0xB0,0x84,0xF2,0x42,0x76,0x03,0x94,0x8D,0x9E,0xAA,0x37,0x67,0xE3,0x53, -0x19,0x64,0xCE,0xFA,0x39,0xE4,0xD0,0x6E,0x00,0x86,0x01,0x35,0xB3,0x07,0x07,0x33, -0x44,0x9A,0x6D,0x59,0x23,0x27,0x13,0xB7,0x0F,0xA0,0x28,0x1C,0x5D,0xFE,0x10,0xCA, -0x43,0xA2,0x52,0x66,0x1D,0xC4,0xF0,0x6A,0xCC,0xDE,0x95,0xA1,0xAE,0xB4,0xA9,0x80, -0x76,0xA5,0x60,0x54,0xD3,0x43,0x77,0x23,0x4E,0xD4,0x1D,0x29,0x11,0x4E,0xEC,0x7A, -0x4A,0x3C,0xC5,0xF1,0xAD,0x7B,0x4F,0x65,0x4F,0x3B,0xF3,0xC7,0x7E,0xE0,0x2D,0xD4, -0xE2,0x55,0x04,0x30,0xC5,0x54,0x60,0x22,0x47,0x28,0xE8,0xDC,0xE5,0x3B,0x6D,0x0F, -0x70,0x8B,0x48,0x7C,0x3D,0x2B,0x1F,0xA5,0x51,0x29,0xFF,0xCB,0xC0,0x0D,0x7E,0x39, -0x87,0x16,0x22,0x16,0x77,0xF8,0xCC,0x3C,0xE9,0x35,0x5B,0x6F,0x0A,0xD5,0x6C,0xE1, -0xCD,0xC4,0xBA,0x8E,0x78,0xD1,0xE5,0x1A,0xE2,0xD8,0xBD,0x89,0xD3,0x16,0x76,0x22, -0x05,0xDC,0x6A,0x5E,0xAF,0x68,0x5C,0x74,0x99,0xBA,0xA4,0x90,0x72,0x40,0x81,0x74, -0xFC,0xE7,0xA8,0x9C,0x4C,0x3A,0x0E,0xC5,0xDB,0x30,0x6C,0x58,0xDA,0x81,0xE8,0xB5, -0x80,0x2E,0x1D,0x29,0x35,0x30,0x04,0xB6,0x38,0x81,0x3E,0x0A,0x95,0x2E,0x08,0x1A, -0x6B,0x0B,0xD3,0xE7,0xD5,0x9F,0xAB,0xF9,0x5A,0xC4,0x19,0x2D,0x9D,0xAE,0x80,0x9A, -0x9F,0x8A,0xA6,0x92,0xDA,0xB6,0x82,0xDF,0xCD,0x31,0x7B,0x4F,0x6C,0xEC,0x33,0xD8, -0x82,0x24,0x15,0x21,0xF4,0x9E,0xAA,0xD9,0x21,0xA6,0x00,0x34,0xE4,0x2C,0x7B,0x18, -0xF7,0x73,0x37,0x03,0x2C,0x0E,0x3A,0x91,0x03,0x78,0xFC,0xC8,0xDB,0x96,0xFE,0xA2, -0x0F,0x5E,0xE2,0xD6,0x34,0xDE,0xEA,0x59,0xEE,0x00,0x69,0x5D,0x75,0x7F,0xB9,0x4B, -0x39,0x45,0xCF,0xFB,0x93,0x98,0xAC,0xB8,0x83,0x63,0x67,0x53,0x7B,0xD7,0x1F,0xE3, -0xDD,0xD0,0xBE,0x8A,0xC9,0x80,0xB4,0xFA,0x66,0x08,0xE9,0xDD,0x98,0x99,0xB2,0xAD, -0x54,0x8E,0x69,0x5D,0xAE,0x86,0xB2,0x9B,0xDD,0xEA,0xB0,0x84,0x56,0x61,0x84,0x55, -0xC8,0xF6,0x8D,0xB9,0x14,0x31,0x05,0x96,0x75,0x2D,0xDF,0xEB,0xD7,0x36,0x52,0x02, -0x01,0xF8,0x4A,0x7E,0xEA,0x92,0xA6,0xCB,0x4B,0xF0,0x3C,0x08,0x1C,0xF9,0x56,0xCD, -0x97,0x02,0x26,0x12,0x4A,0xE6,0xD2,0x1F,0xCE,0xCF,0x86,0xB2,0x06,0x75,0xC0,0x41, -0x32,0xD1,0x50,0x64,0x65,0x20,0x14,0xF6,0x30,0x92,0x25,0x11,0x7F,0xF7,0x3B,0xC3, -0x73,0x97,0x57,0x63,0x95,0x44,0x70,0x62,0x12,0x4C,0xD9,0xED,0xEE,0xA4,0xF9,0x90, -0x12,0xF0,0x51,0x65,0xE4,0x55,0x61,0x02,0x9F,0x60,0x78,0x4C,0x79,0xDF,0x15,0xEB, -0x04,0xCA,0x7D,0x49,0x2B,0x3C,0x08,0xA4,0xB8,0x9A,0xA5,0x91,0x4B,0xD2,0x2A,0xE6, -0x61,0x89,0x5B,0x6F,0x6F,0x28,0x1C,0xF4,0x7A,0x0B,0xF6,0xC2,0x51,0x5E,0xBC,0x6A, -0x07,0xD6,0x62,0x56,0x90,0x65,0x51,0x46,0x36,0x48,0xF9,0xCD,0xE1,0x1B,0x49,0x2F, -0xC7,0x46,0x32,0x06,0x0D,0x0F,0x3B,0xB1,0x7F,0x2F,0xD7,0xE3,0x4F,0xF2,0x0E,0xC6, -0x5F,0x1A,0xF6,0xC2,0x87,0x9C,0xA8,0xA8,0x22,0x58,0xFD,0xC9,0x1E,0xF1,0x5C,0xC5, -0x40,0xBE,0x4D,0x79,0x85,0x8F,0xBB,0xB9,0x19,0xA1,0x3F,0x0B,0xF5,0x3F,0x79,0x0B, -0x68,0x17,0xCC,0xF8,0xA6,0x9D,0xA9,0x88,0xC6,0xDC,0x9D,0xA9,0x20,0x5C,0xCF,0x68, -0x93,0x26,0x06,0x32,0xED,0xA0,0x94,0xFE,0x01,0x69,0xEF,0xDB,0x2E,0xF4,0x69,0xC0, -0xEC,0xF3,0xAC,0x98,0x53,0xD8,0xEC,0x38,0xA3,0xAC,0x88,0xBC,0xA2,0x14,0x05,0x20, -0x47,0x86,0x72,0x46,0x18,0xE5,0xD1,0x4E,0xEB,0x24,0x48,0x7C,0x0C,0xFD,0x42,0xC9, -0xA7,0x37,0x23,0x17,0x9B,0x83,0xB7,0xAB,0xDF,0xFB,0xA3,0x97,0x64,0x6C,0xBB,0x58, -0xCA,0xFC,0x85,0xB1,0x1C,0x2A,0x1E,0x85,0xB1,0x66,0x50,0x64,0xE3,0x13,0x43,0x27, -0xA9,0x91,0x8B,0xBF,0x2F,0xF3,0xC7,0x6F,0x0A,0x84,0x09,0x3D,0xFF,0xB7,0xFB,0x83, -0x99,0xA4,0x8E,0xBA,0x58,0x3E,0x0A,0xD5,0x72,0x18,0xED,0xD9,0x1B,0xC6,0x6E,0xF2, -0xA3,0x13,0x03,0x37,0x74,0x05,0x31,0xC2,0x44,0xD6,0x15,0x21,0xD1,0x1E,0x7C,0x2A, -0x1D,0x40,0xEE,0xDA,0xC1,0x9B,0xAF,0xE9,0xEF,0xEF,0x87,0xB3,0xCC,0xAD,0xD2,0x99, -0x45,0x8C,0x7A,0x4E,0xB0,0x8A,0xBE,0x89,0x92,0x57,0x42,0x76,0xE7,0x33,0x67,0x07, -0x41,0xA8,0x5A,0x6E,0x4D,0xD4,0xE0,0x2A,0x06,0x5C,0xDD,0xE9,0x53,0x56,0xB6,0x62, -0x42,0xB4,0x45,0x71,0x5D,0x1F,0x2B,0xF1,0x7D,0x3E,0xC4,0xF0,0x7A,0xC0,0x09,0xF4, -0x10,0xFA,0x59,0x6D,0x60,0x01,0x35,0xD2,0xF5,0x36,0x44,0x70,0x13,0x46,0xE6,0x72, -0xE0,0x5F,0x0C,0x38,0x96,0xB9,0x8D,0x9C,0x1E,0x94,0x0D,0x39,0xC3,0x12,0x62,0x26, -0xBC,0xB7,0xB8,0x8C,0x0C,0xE1,0xD5,0x5E,0xA0,0x52,0x75,0x41,0x26,0x74,0xE1,0x40, -0x8A,0xAC,0x95,0xA1,0x41,0x00,0x34,0xF2,0x88,0x8E,0x81,0xB5,0x71,0x5F,0x9D,0x6B, -0xB5,0xA1,0xF9,0x2A,0xCA,0x2E,0x96,0xDE,0x66,0x72,0x24,0x30,0xED,0x3B,0xF9,0xB0, -0x9C,0x88,0xDF,0x25,0x52,0x64,0x44,0x46,0xA5,0xB1,0x3E,0xE9,0x0B,0xD6,0x1F,0xBB, -0x4F,0x5B,0x46,0x6F,0x38,0x93,0xD9,0x2C,0x7D,0x69,0x2C,0x23,0xAF,0xCA,0xBB,0x03, -0x30,0x24,0xC1,0x97,0x74,0x01,0x07,0x60,0x4B,0x5F,0x3F,0x06,0xB8,0xCB,0xAC,0x15, -0x1F,0x0B,0x86,0xFF,0xB5,0xA9,0x6E,0xA1,0x90,0x84,0x7F,0x9D,0xA3,0xD8,0xB7,0x1D, -0x27,0x33,0xC0,0x81,0x10,0x95,0xF7,0x04,0x3E,0x2A,0xBE,0xF2,0x4D,0x37,0x59,0x1C, -0xA0,0xB4,0x89,0x4F,0x22,0xA0,0xF0,0x36,0xC4,0xD0,0xFB,0x4D,0xC5,0x3D,0xD1,0x9E, -0x43,0x57,0x54,0x71,0x1D,0xA7,0xC8,0x09,0x8E,0x9A,0x42,0xBE,0x78,0x43,0x6C,0x5D, -0xBA,0xAE,0xBA,0x66,0x92,0xEC,0x0C,0x86,0x0F,0x1B,0xEB,0x96,0x39,0xE3,0x2D,0xBC, -0x6A,0x7E,0x72,0x7E,0x47,0x14,0x21,0x53,0xE6,0xF2,0xAC,0x38,0xAC,0x9B,0xB8,0x51, -0xFA,0xEE,0x3A,0xA6,0x65,0x61,0x76,0x71,0x5C,0x48,0x29,0x07,0x50,0x45,0x44,0x73, -0xD2,0xC6,0x3C,0x88,0xD6,0x7C,0xD8,0xC2,0x9C,0x88,0x61,0x8F,0x2B,0xD2,0x3F,0x9F, -0xFB,0xEF,0x1A,0x87,0xA3,0x88,0x59,0xB7,0xDE,0xCA,0xD2,0x7E,0x49,0x27,0x5D,0x08, -0x54,0x40,0x55,0x67,0x6D,0x63,0x7C,0x79,0x5E,0x4A,0x5A,0x76,0x6E,0x62,0x7A,0x6A, -0x5E,0x4A,0x26,0x1E,0xD8,0x1F,0xB5,0xCC,0xF1,0xE5,0xBA,0x39,0x3C,0xD3,0x28,0x89, -0x0C,0x18,0x97,0xFD,0x1A,0xE6,0x8E,0x0E,0x30,0x24,0xD3,0x91,0xF4,0x59,0xE0,0xCB, -0xF7,0xE3,0x08,0x99,0xD2,0x6C,0xCC,0xC6,0xF2,0xE6,0xE8,0x68,0x02,0xF4,0x16,0x90, -0xB4,0xA0,0xD9,0x0B,0x48,0x57,0x6D,0x5C,0x1E,0x0A,0x9A,0xF6,0xF0,0x49,0xE4,0xDF, -0x13,0x07,0x94,0xE1,0xF8,0x1B,0x91,0xEC,0x8B,0x9F,0x77,0x8E,0x8B,0xDE,0x9F,0x33, -0x7E,0x6A,0x22,0x3A,0x03,0x84,0xF5,0x17,0xDB,0xCF,0xE7,0x4E,0x7D,0x73,0x69,0x68, -0xBE,0xAA,0xAA,0x72,0x13,0xC4,0xA5,0x07,0x08,0x1C,0xAD,0xD7,0x91,0xED,0x85,0x1A, -0x41,0x55,0x25,0x02,0x54,0x05,0x23,0x40,0xD3,0xC7,0xED,0x4C,0x74,0x51,0x60,0x43, -0x8E,0x9A,0xEE,0x06,0xB3,0xC8,0x09,0xA7,0xCB,0xDF,0xB7,0x0E,0xC3,0x5C,0xD7,0xF9, -0x23,0x37,0xD0,0x95,0x8F,0x9E,0x63,0x9B,0xD5,0xC1,0x8A,0x2D,0x9E,0xAE,0x8A,0x56, -0x80,0x94,0x8D,0x6B,0xBE,0xFA,0x36,0xAA,0x77,0x63,0x55,0x50,0x51,0x65,0x45,0x52, -0x26,0x32,0xE0,0xA0,0xC0,0x5D,0xEF,0xD4,0x17,0x03,0xB1,0xD4,0xCE,0x6E,0xDA,0xC6, -0x6D,0x79,0x33,0x38,0x72,0x60,0x60,0x66,0xCF,0xDB,0xA3,0x1E,0xAE,0xEA,0xBA,0x22, -0x0F,0x1B,0xC6,0xAF,0x01,0xF5,0x86,0x15,0x8C,0x98,0x31,0xCF,0xCB,0x5E,0xDF,0xF3, -0xE8,0xFC,0x0B,0x85,0x39,0xB3,0xF8,0x2D,0x0E,0x1A,0xCA,0xB6,0x83,0xDC,0x97,0x39, -0x4B,0x5F,0x56,0x7B,0xB1,0xB9,0x7A,0xA5,0xF7,0xE3,0xDD,0x58,0xD9,0x6F,0xCD,0xD0, -0x7C,0x68,0x53,0x49,0xC1,0x7D,0xCE,0xD5,0xA6,0xB2,0x6C,0xB8,0x73,0x10,0x67,0x05, -0xFE,0xEA,0x2A,0xB2,0x3B,0xC2,0x8B,0x2F,0x98,0x8C,0x75,0x9F,0x1D,0xF7,0x09,0x8C, -0x61,0x75,0x21,0x26,0x73,0x40,0x41,0x67,0x6E,0x7A,0x2E,0x32,0x45,0x35,0x51,0x16, -0x5A,0x4E,0x36,0x0A,0xFE,0x7A,0xF6,0xEA,0xB6,0xA2,0x3C,0xF8,0xBD,0xFB,0xA9,0x20, -0x97,0x83,0x8C,0x7D,0xFB,0x4A,0xC3,0xEF,0xC7,0xD3,0xA9,0x1C,0x59,0x67,0x4D,0x58, -0x4E,0x5A,0x66,0x4E,0xF5,0x29,0xAE,0xE1,0x63,0x77,0x11,0x00,0x00,0x85,0x14,0xE3, -0xE7,0xF3,0x48,0xC9,0x53,0x44,0x65,0x47,0x1C,0x08,0xE9,0x87,0xF3,0x18,0xE7,0x8D, -0x81,0x95,0xAD,0x4A,0x02,0xA4,0xD4,0x16,0x8D,0x99,0x10,0xEF,0x18,0xC7,0x0C,0xB9, -0xBC,0xA8,0xDB,0x01,0xDC,0x0F,0xA1,0xC8,0x64,0x70,0x57,0x41,0xD8,0x4F,0xCC,0xF1, -0xC4,0xD0,0x1D,0xBF,0x76,0x70,0x74,0x62,0x84,0x90,0x3B,0xCD,0xBF,0x8A,0xAB,0x53, -0x64,0x70,0x11,0x13,0xE5,0x69,0xFE,0xF1,0x2F,0x3B,0xCF,0x92,0xD1,0x6D,0xC5,0xDA, -0x85,0x91,0xBD,0x5E,0xC8,0x5F,0xE5,0xDC,0x04,0x10,0xB3,0xC5,0x25,0xB1,0x31,0xF2, -0xDD,0xC9,0x7F,0xC4,0x7C,0x03,0x0D,0x68,0x62,0x76,0x30,0x20,0x5D,0x77,0x49,0x4C, -0x65,0x71,0x31,0x32,0x29,0xF3,0xA8,0x3D,0x36,0x22,0xB4,0xF0,0x14,0xD5,0x00,0xA7, -0x7B,0x6F,0x12,0x0F,0x35,0xA1,0xE6,0x21,0xB0,0xA4,0x5B,0x99,0x94,0xDD,0x80,0x2F, -0xB0,0xA4,0xC9,0x1F,0x2A,0xA2,0xFA,0x3E,0x26,0x32,0xE4,0xB0,0x8D,0xBF,0x99,0x54, -0xEE,0xFA,0x6A,0xE2,0x0A,0xA6,0xDE,0x1E,0x43,0x57,0x35,0x04,0x12,0xB4,0x06,0xC0, -0xFF,0xEB,0x0A,0x93,0x9E,0xFE,0x12,0x8A,0xDD,0xC9,0x80,0x2F,0xD7,0x0C,0xC3,0xBD, -0x20,0x34,0x81,0xC7,0x27,0x90,0xC5,0x33,0xD4,0xC0,0xAB,0x0D,0x89,0xAF,0x9D,0x40, -0x44,0x50,0x15,0x37,0x20,0xD1,0x83,0x34,0x87,0x93,0x69,0x9C,0x75,0x71,0x61,0x62, -0x82,0x96,0xFC,0x18,0x56,0x74,0x50,0x42,0x05,0x11,0x92,0xE5,0xD6,0x2C,0xC2,0x9C, -0xF6,0xE2,0x28,0xB8,0x3A,0xE2,0xAA,0x2E,0x89,0x9D,0x04,0xFF,0x6C,0x13,0x78,0x19, -0x55,0x41,0x75,0x46,0xFD,0x2B,0xA4,0xE9,0x46,0x52,0x00,0x34,0x8F,0xCE,0x9B,0x27, -0xE2,0xF6,0x78,0xFC,0x19,0xB7,0xDC,0x0D,0x11,0x05,0xD6,0xB5,0xE0,0x09,0xF4,0x8F, -0xE4,0xF0,0x19,0x9B,0xCE,0x3E,0x82,0xDA,0xE9,0xFD,0xE0,0x7B,0xB9,0xEB,0xAD,0x34, -0xFC,0xE8,0x5B,0xC1,0xBF,0xDA,0x17,0xAB,0xA7,0xB3,0x4D,0x98,0x37,0x80,0x23,0xD1, -0xF9,0xED,0x6B,0xF4,0xBC,0x8B,0x45,0xA8,0x2C,0x38,0x9D,0xC3,0xCD,0x3F,0xD9,0x94, -0xEB,0xFF,0x5A,0xD7,0x3D,0xA3,0xEC,0x29,0x4F,0x5B,0x2B,0x16,0x6F,0x42,0x7B,0x4B, -0xF8,0xEC,0x4B,0xD5,0x86,0xBC,0x48,0x92,0x81,0x95,0x0E,0xFD,0xAD,0xBB,0xB9,0x70, -0x6B,0x7F,0x52,0x5F,0x42,0x24,0x14,0x56,0x82,0x96,0x5C,0xAC,0x87,0xCC,0x93,0x2D, -0x01,0x15,0xA5,0xC2,0x12,0xE4,0x84,0x06,0x6B,0x7F,0x1B,0x02,0xA9,0xAB,0xBD,0x64, -0x4C,0x58,0x17,0x3D,0x2B,0x82,0xDB,0x3F,0x2E,0x3A,0xEE,0xB2,0xA6,0xE8,0xB2,0x28, -0x58,0x4C,0x47,0x79,0x0D,0xE7,0x98,0x19,0xA2,0xB6,0x78,0xA8,0xF5,0x79,0xE1,0xEA, -0x31,0x25,0xE1,0xB6,0x21,0xF1,0xA2,0x35,0xAF,0xBB,0x47,0x9A,0x28,0x83,0x3C,0xCD, -0x2C,0xE0,0xB5,0x3B,0x51,0xE4,0x6A,0xCC,0x31,0x98,0x5E,0xD0,0x64,0x25,0x38,0xAB, -0x04,0x49,0x34,0xBA,0x72,0xF6,0x78,0xFD,0xEE,0xE5,0xFC,0x72,0xB1,0x46,0x8E,0xC8, -0x1B,0xED,0x8F,0x01,0x70,0xE5,0x6B,0xEC,0xD5,0x1C,0x3E,0xB0,0x5A,0x88,0xAB,0x06, -0x83,0xB1,0x4B,0xC5,0xFA,0x76,0xF8,0xF5,0x88,0x6B,0x14,0x9A,0x0B,0x8B,0xF9,0x05, -0x43,0x21,0x1B,0x95,0x67,0x1C,0x92,0x02,0xC1,0x0C,0x3A,0xB4,0xA5,0x62,0xBE,0xEC, -0x25,0x7E,0x22,0xAC,0x98,0x51,0xDF,0xB0,0x8D,0x4F,0x35,0xBB,0x15,0x27,0x4B,0xA9, -0x40,0x3D,0x04,0x8A,0xDC,0x45,0xCB,0xE0,0x4F,0xDE,0x66,0xE8,0x0F,0xAB,0xDD,0x25, -0x56,0x07,0x28,0xA6,0x13,0x2C,0xA2,0x46,0x68,0x24,0xBB,0x35,0x3D,0xA6,0xE2,0x28, -0x37,0x60,0x2E,0xA0,0x62,0x3D,0xB3,0x26,0xE5,0x08,0x1A,0x94,0xAA,0xDD,0x0E,0x53, -0x76,0x26,0x29,0xA7,0x92,0x59,0xD7,0xB2,0xC7,0xD6,0xE6,0x68,0x3B,0x8E,0xCC,0x00, -0xD3,0xF5,0x5F,0xD1,0xBD,0x9F,0x11,0x5B,0x39,0x8B,0x45,0xCB,0x42,0x0C,0x37,0x82, -0x45,0x0F,0x33,0xBD,0x1D,0xEB,0x65,0x8F,0xBC,0xB4,0xFF,0x71,0x58,0x80,0xA1,0x0E, -0x8C,0x01,0xF4,0x7A,0xE3,0x48,0xC6,0xD2,0x82,0x69,0x1C,0x92,0x93,0x4F,0xA5,0xC1, -0x10,0x79,0x10,0x9E,0x59,0xFF,0x71,0xDF,0x2A,0xAE,0x73,0xFD,0x12,0x18,0x73,0x96, -0x99,0x27,0xC7,0x49,0x3E,0xF9,0x77,0xBE,0x91,0x4C,0x2A,0xA4,0xDC,0xE0,0x45,0x6E, -0x7D,0xB2,0xB6,0x38,0x64,0xE1,0x6F,0xFC,0x74,0x27,0xA4,0x2A,0x3F,0xAE,0xE8,0x20, -0xCE,0x5B,0xEC,0x62,0xB6,0x79,0xF7,0xB6,0x7F,0xCA,0x42,0xCC,0x35,0x26,0x6A,0xA8, -0xF8,0x40,0xC1,0x4F,0xFB,0x98,0x16,0x1A,0x57,0x16,0xB6,0x38,0x62,0x0D,0x16,0x83, -0xA4,0xA8,0x75,0xFB,0x61,0xC0,0x4E,0xD8,0xE9,0xD0,0xCE,0x40,0x87,0x6B,0x95,0xE5, -0x54,0x0D,0x20,0xAE,0x97,0x78,0xF6,0x96,0x02,0x72,0x87,0x09,0x57,0x3F,0x11,0xB1, -0x06,0x43,0x3C,0xB2,0xAA,0x66,0xE8,0xB5,0x8A,0x7A,0x07,0x89,0x3E,0xB9,0xFE,0x37, -0x05,0x5F,0x23,0xAD,0xBA,0xAD,0x23,0x6E,0xF1,0x18,0x1E,0x90,0x17,0x2F,0x41,0xA1, -0x01,0x7B,0x03,0x8D,0x47,0xF3,0x7D,0xCD,0x65,0x13,0x81,0x0F,0xA3,0x4A,0x90,0xC4, -0x59,0xB7,0x97,0x19,0x36,0xE2,0x6C,0xAD,0x18,0xAB,0x44,0xCA,0x88,0xD4,0x25,0x5A, -0xE7,0xE4,0x7A,0xF4,0x83,0x7C,0xF2,0x86,0xB3,0x92,0xD6,0x58,0x95,0x67,0x8B,0xE9, -0xDD,0x53,0xF7,0x79,0xAF,0x47,0xC9,0x91,0x85,0x5C,0x2E,0xA0,0x5F,0xBF,0x99,0x31, -0xED,0x66,0xF2,0x7C,0xD8,0x8A,0x04,0x2B,0xFD,0xC0,0xCA,0x44,0xBB,0xCE,0x0C,0x40, -0x8E,0x0B,0xFC,0x72,0xEB,0x53,0xDD,0xC1,0x46,0x22,0x93,0x1D,0xA7,0x6A,0xB4,0xE4, -0xE3,0xC0,0x5A,0xD4,0x6C,0xFA,0x74,0xEF,0x28,0xBF,0x60,0xEE,0x20,0x15,0x4C,0x9B, -0x03,0x71,0x0B,0x85,0xEF,0x9C,0x12,0x0A,0x1C,0x60,0x8B,0x05,0x48,0x84,0xB5,0x0A, -0xA8,0x04,0xD5,0x5B,0xA4,0xA1,0x2F,0x7C,0x54,0xE8,0x4B,0xC5,0xE6,0x6D,0xF2,0xE3, -0xD7,0xD1,0x7F,0xF1,0x1A,0xD9,0x57,0xBA,0xF6,0x2D,0x2C,0xA2,0x6A,0x8D,0x9E,0x03, -0x5D,0x93,0xB7,0x39,0xCE,0x9D,0x13,0x2A,0xF7,0xC2,0xC2,0x4C,0xF7,0x7E,0xF0,0xF0, -0xFA,0x4A,0xC9,0x47,0x05,0x3B,0xB5,0x47,0x63,0xC9,0x5D,0xD3,0x73,0x1E,0x14,0x90, -0xC7,0xC5,0x7B,0xF5,0x9D,0x70,0xFE,0x94,0x87,0x4D,0x3D,0xB3,0xB9,0xC6,0x06,0x48, -0x52,0x23,0x08,0x86,0x0A,0x12,0x9C,0x61,0x56,0xF9,0x58,0xD6,0x68,0x85,0x94,0x0B, -0x14,0x5D,0x30,0xBE,0x20,0xF5,0x7B,0xAC,0x9C,0x7B,0x10,0x9E,0x11,0x07,0x6F,0x89, -0x1E,0xDF,0xB8,0x36,0xDE,0x56,0xD8,0xF1,0x75,0xC8,0x4A,0xC4,0xFF,0xFE,0x78,0x70, -0xDA,0x6B,0xC8,0x46,0xEC,0x61,0xEF,0xF4,0xA0,0xB7,0xE0,0x6E,0x1F,0xAF,0xC9,0x21, -0x65,0x2E,0x32,0xBC,0x17,0xE3,0x6D,0x8D,0x29,0x50,0x8E,0x00,0x38,0x91,0xD0,0x1F, -0xCB,0x69,0xDB,0x55,0x3C,0xEA,0x64,0xAF,0x35,0x53,0x91,0x1F,0xCF,0xFB,0x4D,0x75, -0xF0,0xC8,0x41,0xCF,0xAE,0xA9,0x27,0x7E,0x7A,0xEE,0x63,0xED,0x51,0x17,0x3F,0x99, -0xBC,0x34,0xF1,0x7F,0x44,0x0E,0x80,0x33,0x96,0x79,0x18,0x96,0x29,0x82,0xD2,0x0C, -0x23,0x50,0x0A,0x84,0x9F,0x63,0xED,0x85,0xCD,0xD4,0xEE,0x60,0xE9,0xD2,0x42,0x5C, -0x63,0x00,0x1A,0x94,0xD7,0xA3,0x2D,0x0D,0xBF,0x4A,0x02,0x8C,0x70,0x01,0x08,0x8F, -0xA2,0x86,0x5D,0xD3,0xA7,0x5C,0xD2,0x82,0xE6,0xF6,0xE7,0x69,0xEB,0xDA,0x48,0x54, -0x6F,0xAC,0xBA,0x34,0xA3,0x93,0x1D,0x49,0x5C,0xFB,0x50,0xDE,0xA9,0xC2,0x12,0x4C, -0x39,0xC6,0x86,0x08,0x30,0x3E,0xB0,0x77,0xF3,0x09,0x0D,0x83,0x8A,0xDC,0x2F,0x52, -0x4B,0xA9,0x9B,0x15,0xC3,0xA7,0x29,0x1D,0x19,0x44,0xAA,0x24,0x31,0x06,0x4E,0x88, -0xB3,0x84,0x4E,0xC0,0xDB,0x77,0xF9,0xD5,0xF4,0x3C,0x3F,0xB1,0x9F,0xEF,0x09,0x61, -0xC6,0xD3,0x6C,0xE2,0x03,0xE7,0x69,0x9D,0xD6,0xE2,0xC3,0x4D,0xA0,0x55,0x8C,0xDB, -0xDB,0x7D,0xDF,0x51,0x2D,0xCF,0x41,0x9B,0x3A,0x75,0xB8,0x36,0x28,0x95,0xC4,0x1B, -0x2F,0xFC,0xAA,0x24,0x22,0xE6,0x68,0xBD,0xAD,0x80,0xDA,0x54,0xD9,0xD7,0x77,0x59, -0xC4,0xD9,0x64,0xEA,0xC2,0x49,0xC7,0xF2,0xCF,0xC5,0xFD,0x73,0xD1,0x57,0xFF,0xD9, -0xB8,0x10,0xD1,0x5F,0xBB,0x43,0xCD,0x81,0x2C,0x74,0xAF,0x21,0x9E,0xF8,0x1F,0x76, -0x41,0x2B,0x13,0x9D,0x58,0x11,0x9F,0x30,0x6E,0xFE,0x67,0xE9,0x36,0x39,0x76,0xB7, -0x89,0x33,0xC3,0x4D,0x8F,0xA8,0x26,0x5E,0x15,0x9C,0x7E,0xF0,0x97,0x6F,0x81,0xE1, -0xC3,0xE1,0x5B,0xD5,0x80,0x81,0x0F,0x78,0x1E,0x71,0x98,0x16,0x4E,0xAC,0x9B,0x22, -0x34,0x7C,0x31,0xBF,0xCA,0x52,0xDC,0xE1,0xA6,0x6D,0x3C,0xB2,0x84,0x74,0x89,0xFA, -0xA6,0xA2,0x7D,0xF3,0x32,0x2D,0xA3,0x66,0xB0,0x6C,0x2B,0xA5,0xA1,0x42,0x9A,0xCC, -0x0E,0xCB,0xBC,0x32,0x5A,0x02,0x8C,0x21,0xB8,0x7F,0x30,0xBE,0x3A,0x99,0xDA,0x17, -0x32,0x52,0x19,0x97,0x24,0x3A,0xB4,0x67,0xB9,0x90,0xDE,0x50,0x55,0x37,0x1B,0xB9, -0x07,0x55,0x2B,0xA5,0xEA,0xBD,0x33,0x2E,0x3B,0x9A,0x56,0xD8,0xEA,0xCD,0x5E,0x43, -0x00,0x6D,0x14,0x9A,0xD4,0x5E,0xD0,0xF3,0xF8,0xE4,0xEB,0x65,0x19,0x87,0xE7,0x09, -0x27,0xE2,0xCC,0x89,0x19,0x53,0xED,0xDC,0x0D,0xC8,0xA9,0x03,0x68,0x0F,0xAD,0x05, -0xB6,0x73,0xA4,0x70,0xF2,0x8C,0xD9,0x37,0x6B,0xAE,0x2A,0xE6,0x39,0xEF,0xFC,0xB4, -0x5F,0x9A,0x0A,0x37,0x32,0x04,0x91,0xF7,0x56,0x93,0x61,0x90,0xE7,0x44,0x22,0xC1, -0xBF,0x7A,0x86,0x5B,0x55,0xC1,0x33,0x90,0x2E,0xEB,0xDF,0x56,0x4D,0x3B,0x88,0x14, -0x55,0x90,0x79,0x4E,0xAF,0x7E,0x76,0x6A,0x8B,0x4E,0x46,0x6A,0x48,0x0B,0x8D,0x21, -0x8D,0x48,0xB3,0x5C,0x57,0xB0,0x40,0x92,0xB0,0x75,0x6A,0x7D,0xC5,0x31,0x00,0x96, -0xFC,0x39,0x57,0xC9,0xB3,0x2C,0x38,0x76,0x7D,0xB8,0x1D,0xC7,0xC0,0x01,0x05,0xA3, -0x58,0x9D,0x4B,0x71,0xEA,0xCE,0x83,0x2F,0xA4,0x61,0x2E,0x2D,0xCE,0x62,0x0B,0xCE, -0x8B,0x4E,0xD2,0x3B,0x7E,0x96,0x4F,0xBB,0x91,0x54,0x6F,0x59,0x0E,0xEA,0xCB,0x86, -0x1D,0xD8,0xFB,0x84,0x67,0xF4,0x34,0xA2,0x5A,0x9F,0x7F,0x82,0x11,0xE9,0xD4,0x9A, -0x78,0xBD,0x4F,0x55,0xF8,0xFF,0xA0,0x3D,0x04,0xC1,0x82,0x21,0x31,0xED,0xF4,0xBE, -0xE6,0x23,0x64,0xE0,0x3D,0x47,0xDD,0xF8,0x15,0xD0,0xF3,0x41,0xA5,0xB5,0x60,0x72, -0x14,0xD1,0xD9,0xAF,0x3B,0x26,0xBA,0xFE,0x8E,0x4B,0x73,0x5A,0xDE,0x22,0x1B,0x9E, -0x3F,0xFA,0x8E,0xD3,0xCF,0xFA,0x92,0x0A,0x6F,0xAA,0x3E,0xF6,0xF3,0x14,0x36,0x85, -0x59,0x9C,0x6B,0x50,0xB7,0x3C,0x2C,0x72,0x37,0xF2,0xA4,0x34,0x47,0x48,0x82,0x6D, -0x0D,0xC8,0xBB,0xD4,0xFE,0x9E,0xC7,0x3B,0x8F,0x4A,0x52,0x7A,0x12,0xB8,0xD7,0xC8, -0x7D,0xB8,0x7F,0x60,0x65,0x85,0x47,0xA0,0xBF,0x7A,0x26,0x3E,0xC6,0x60,0x03,0xC4, -0x2A,0xEF,0xFE,0xB6,0x0A,0x42,0xEF,0xCF,0x08,0xCD,0x9C,0x33,0x22,0xFC,0xE7,0xBC, -0xD2,0x17,0x30,0x80,0x53,0xA0,0x54,0x96,0x0E,0xCB,0xFB,0x52,0xF5,0x75,0x30,0xE2, -0x9C,0x59,0xD3,0x2D,0xDD,0xCB,0xB1,0x18,0x16,0xD3,0xA1,0x10,0x84,0x91,0x41,0x77, -0xEF,0x2A,0x46,0xCB,0x63,0xE4,0x20,0xA6,0xCA,0x0F,0xA7,0xCA,0x1C,0xDB,0xD9,0xA5, -0xBC,0x79,0xD7,0x09,0x9F,0x3A,0x02,0x5A,0xAE,0x6B,0x57,0x5E,0x1B,0x9A,0xDE,0xE3, -0x3E,0xFB,0xAE,0xF2,0x3C,0x67,0xFC,0xF9,0x68,0xAD,0x78,0xB7,0x6D,0x3F,0xA8,0x30, -0xB2,0x77,0xB4,0x64,0x86,0x58,0x79,0x43,0x1C,0xD9,0xD8,0x63,0x01,0xA9,0xC4,0xCA, -0x50,0x95,0x49,0x7B,0x43,0xE0,0x04,0x86,0xEB,0x2E,0xA2,0xEE,0x29,0xAF,0xEC,0xE4, -0x15,0xD0,0xF9,0x8E,0x4C,0xA3,0x48,0x89,0xA6,0x63,0x5D,0x5C,0x10,0xC9,0xD5,0xBB, -0x99,0x5C,0xE3,0x18,0x1F,0x32,0x8A,0xDA,0xB2,0x77,0x19,0x0C,0x36,0xAC,0xF3,0xF8, -0x94,0x51,0xD1,0x27,0xC2,0xC8,0xAD,0x07,0xDB,0x1E,0xD6,0xAA,0x1A,0xBA,0xDF,0xC2, -0x17,0xD2,0x88,0xFD,0x27,0x74,0xF4,0xE2,0x13,0xD6,0x94,0x20,0x87,0xC0,0x42,0x25, -0x74,0xB1,0x5D,0x4B,0x85,0x09,0x2B,0x40,0x01,0xC4,0xB7,0x11,0x06,0xE8,0xC3,0x8C, -0xBA,0x7F,0xB6,0x6E,0x47,0xF0,0x10,0x82,0x12,0xD7,0xB5,0x00,0xBD,0xF7,0x78,0x28, -0xB9,0x7C,0xE7,0x3C,0x6D,0x87,0x4D,0xA8,0x81,0x44,0x3F,0x19,0x79,0x6F,0xBC,0x74, -0xAB,0x6E,0xD6,0x1F,0x49,0x93,0x7D,0x8C,0xF5,0x30,0x9F,0xCD,0x8E,0xE2,0x4B,0x0E, -0x05,0xC0,0xB9,0xDE,0xA7,0x7C,0x7C,0x62,0xCD,0x08,0xE1,0x8B,0x2B,0xDE,0xEE,0x97, -0xFF,0x3A,0x06,0x9B,0x2F,0x76,0xFE,0xEA,0x4A,0x8F,0x2F,0xC2,0x19,0xEB,0xDC,0x90, -0xB5,0x70,0xF5,0x22,0x92,0x08,0x3D,0x57,0xA9,0x6C,0x11,0x1F,0x26,0xEC,0xE3,0xA8, -0x5D,0x98,0x7B,0x44,0x07,0x70,0xD0,0xC2,0x5F,0x9A,0x4A,0xB2,0xF1,0x65,0x34,0xF6, -0x9E,0x5B,0xA2,0x5E,0xE1,0x9D,0xDB,0x24,0x76,0xB3,0x45,0x94,0x69,0x2F,0xAC,0x24, -0x46,0x83,0x68,0x4C,0x45,0x81,0x63,0x80,0xA5,0x60,0x0F,0x0D,0x03,0xD8,0xC6,0xB9, -0x70,0xB5,0x4D,0x5F,0x52,0x80,0x75,0x97,0xDA,0x1F,0xF7,0x8A,0x4F,0x4A,0x8A,0x67, -0xE5,0x20,0x35,0xB2,0xA3,0x6C,0x68,0x66,0x11,0xD4,0xE7,0x51,0x98,0xC3,0x5D,0x39, -0x65,0xA0,0x3D,0x3A,0x84,0x29,0x0A,0x41,0xBE,0x7B,0x07,0x1E,0x56,0x28,0x93,0x1C, -0xCA,0x0F,0x72,0xDA,0xD6,0x98,0xE9,0x13,0xB4,0x71,0x7E,0x6D,0xE3,0x54,0x26,0xD5, -0x0B,0xCE,0xDA,0xB3,0x1E,0x12,0xAB,0xDB,0xE6,0x23,0x9D,0xDC,0x21,0xAD,0xE4,0xEE, -0x34,0xF1,0xDD,0x8B,0xD3,0xA8,0xDC,0x16,0x50,0x95,0x06,0xF1,0xA9,0xA7,0x6C,0x6C, -0xDD,0x18,0x73,0xCC,0x46,0xD0,0x31,0x83,0x80,0x45,0x1E,0x39,0x7C,0x5F,0xB9,0x41, -0x67,0xA2,0x4C,0x49,0xBA,0x0E,0x13,0x7F,0x10,0xD5,0xC6,0x71,0x5E,0x2A,0x9B,0x16, -0xA7,0x62,0xC4,0x01,0xC1,0x99,0xFF,0x04,0x38,0xFD,0xE8,0x77,0xED,0x37,0x28,0xB8, -0x33,0xF6,0x9C,0xCD,0x7B,0xA6,0x7A,0xBE,0x54,0x91,0x12,0xE1,0x28,0x8F,0xED,0xC5, -0xE8,0x2D,0x07,0x8D,0x9E,0x1A,0x23,0x5B,0xAB,0x6E,0x62,0x6E,0x6F,0x4E,0xAA,0x43, -0xF0,0x35,0x45,0xD7,0x29,0x17,0x99,0xEC,0x64,0xA1,0x66,0xA5,0x88,0x83,0x4D,0x69, -0xEE,0x2B,0x66,0xEA,0x74,0xE5,0x36,0xB1,0xC9,0x0C,0xF5,0x9B,0xB4,0xD5,0x71,0x03, -0xC9,0x0C,0x23,0x88,0xE8,0xBF,0xF0,0x2D,0x1D,0xD8,0xF9,0x43,0xE9,0x27,0x2C,0xAC, -0x25,0xE0,0xBD,0xFA,0x1A,0x02,0xBF,0xDF,0x5E,0x9B,0x6B,0x92,0x73,0x1C,0xB6,0x0D, -0xB0,0x75,0xC5,0x17,0x61,0x95,0x53,0xA4,0xF9,0x3C,0x81,0xDF,0xC3,0x50,0x06,0xF1, -0xE0,0x25,0x05,0x87,0x97,0x38,0x08,0x52,0x94,0x51,0x5A,0x69,0x38,0xCF,0xFD,0x95, -0x35,0xF0,0xFD,0xAA,0x69,0x97,0x59,0xAC,0x02,0xC7,0xE5,0x40,0x02,0xF8,0xC7,0x98, -0xCC,0x09,0x13,0xBD,0x33,0x24,0xB0,0xF6,0xA1,0x64,0x1B,0x1D,0x8A,0xF2,0x4F,0x1A, -0x9D,0x58,0xF3,0x0C,0x99,0x5B,0x65,0x5C,0x96,0x53,0x29,0x18,0xFA,0x36,0x3F,0xAE, -0xA3,0x66,0xD4,0x15,0xF7,0xBC,0xEC,0x32,0x14,0xD1,0xD2,0x61,0x00,0x89,0xC5,0xEB, -0x4C,0x89,0x1B,0x35,0xBB,0x2E,0x32,0x7E,0x6A,0xAF,0x0B,0xC6,0x85,0xB1,0x40,0x56, -0x2C,0xE9,0x9F,0xD1,0x24,0x25,0xA6,0xE1,0xCC,0x09,0xC0,0xAB,0xFB,0x16,0x3E,0x8F, -0xF4,0x31,0x55,0xC3,0x44,0xA1,0x42,0x81,0x87,0x42,0x58,0x78,0x49,0x2B,0x8C,0x00, -0xB7,0x72,0x84,0x51,0x21,0x15,0x93,0xE4,0xE5,0x20,0xCF,0x8D,0x3A,0xBE,0xFF,0xE6, -0x48,0xC1,0x3E,0xFC,0xCF,0x98,0x54,0xE0,0x81,0x58,0xEC,0x6E,0x2C,0xCE,0x55,0x98, -0x2F,0x04,0x9C,0x9B,0x43,0xF4,0xB4,0x00,0xFE,0xF2,0x46,0xBB,0x54,0x70,0x93,0xE0, -0x63,0x96,0x42,0xD7,0x09,0x26,0x2C,0x98,0xCA,0xD7,0x63,0xAA,0x77,0x06,0xC6,0xC3, -0x88,0x49,0x76,0x3C,0x61,0xDF,0xBD,0x09,0x2A,0x86,0x32,0x1B,0x11,0x85,0x23,0xA5, -0xC9,0xE9,0x97,0x7D,0x92,0x66,0xF7,0x43,0xC4,0x7F,0xCB,0x0C,0x07,0xB2,0x02,0xB3, -0x90,0x0B,0x2C,0x24,0x8E,0xDE,0x53,0xE7,0xA7,0x71,0xC5,0x61,0xDE,0x81,0xE8,0x6A, -0xD5,0xBB,0xD9,0x61,0xBC,0xE1,0x5E,0xEA,0xCE,0xF7,0x43,0x8E,0xF1,0xE9,0xAF,0x45, -0x2D,0x75,0xEF,0x99,0x76,0xF3,0x86,0x32,0xF4,0x7A,0xCE,0x39,0xCA,0xC5,0xB8,0x7E, -0x82,0x3A,0x0F,0x36,0x8A,0xFA,0x73,0xC7,0x28,0x8E,0x3A,0x11,0x7E,0x2D,0xE4,0xCA, -0x47,0x82,0x72,0xF3,0xA1,0x4F,0xED,0x59,0x70,0x1A,0xAE,0xDD,0x6F,0x5C,0x84,0xDB, -0x04,0x53,0xE0,0xB0,0x17,0x94,0x80,0x34,0x2F,0xB1,0x05,0x29,0xEB,0xC0,0x9C,0x5F, -0x1D,0x31,0x9B,0xA9,0x3E,0x2B,0x16,0xA2,0x2C,0xAE,0x1A,0x35,0x20,0xD0,0x47,0x94, -0xCD,0xF9,0x83,0x79,0xAE,0xFF,0x52,0xE6,0x8D,0xF8,0x4C,0xC2,0x4D,0x0B,0xF1,0xF9, -0x84,0x5B,0x68,0x30,0x7E,0x7B,0x06,0xB2,0x7D,0xAD,0x19,0x67,0xF5,0xFD,0xBF,0x41, -0x41,0xE3,0x15,0xF5,0x1C,0x00,0x1F,0xAB,0xE7,0x61,0xD5,0x31,0xF4,0xDC,0x9F,0x40, -0xB5,0x3F,0x3D,0x01,0x4B,0x7C,0x34,0x80,0xD1,0x4C,0xF8,0x2A,0x15,0x91,0x33,0xA1, -0x29,0x65,0xFB,0x9D,0xF5,0x2F,0xD9,0x6D,0xB0,0x4A,0xFE,0x4D,0x74,0x54,0x97,0xC0, -0xA7,0x0E,0x1E,0x13,0x16,0x82,0x97,0x23,0x54,0x3B,0x8F,0xD8,0x6C,0x0E,0xD5,0xD8, -0x1F,0x40,0xE8,0xAB,0xBA,0xCF,0x76,0xC2,0xA5,0x79,0xCD,0x6B,0xC5,0x89,0xFB,0x71, -0x70,0x87,0x40,0xC4,0x3B,0x19,0x21,0x95,0x39,0x9D,0x29,0x13,0x72,0x33,0xF6,0xC6, -0x46,0xA2,0x53,0xF2,0x6B,0x5D,0x35,0x81,0xFA,0xD2,0x66,0x9F,0x12,0xD7,0x72,0xA6, -0xFC,0x9D,0xD6,0x48,0x71,0xCB,0xB9,0x0D,0x6C,0xBE,0x0A,0x65,0x66,0x77,0xA6,0xD2, -0x19,0x21,0x8F,0xAD,0x83,0x64,0xE4,0x50,0x1E,0xA3,0x17,0x0A,0xB0,0x08,0x0F,0x04, -0xE5,0xFF,0xAD,0x51,0x12,0xA6,0xB7,0x03,0x5F,0xA4,0x10,0x4C,0xD4,0xF8,0x9B,0x60, -0x65,0xF7,0x25,0xD1,0x26,0xB7,0x92,0x26,0x69,0x89,0x3D,0x57,0xC8,0xB6,0xC9,0x7C, -0xB8,0x0D,0x02,0x0C,0x14,0x88,0x9F,0x2B,0x7F,0xA5,0x11,0x6D,0xA1,0x79,0x6F,0x15, -0x39,0x25,0xAB,0x8D,0x8C,0xD4,0x5B,0xEF,0x6A,0x96,0x22,0x4B,0x91,0x0D,0x2B,0x25, -0x36,0x66,0xE7,0x82,0x3C,0x21,0x1E,0xAA,0x0C,0xAF,0x1B,0x14,0xDC,0xF2,0x99,0x68, -0x3D,0x35,0xBF,0x89,0x73,0xC1,0xB1,0x05,0x32,0x02,0xB6,0x87,0x68,0x1A,0xC5,0xDC, -0x17,0x42,0xE2,0xA3,0x22,0x93,0xB2,0x06,0xAA,0xC6,0x72,0xDB,0xFB,0x90,0xDC,0x4F, -0x5D,0xB1,0x5B,0xE9,0x4D,0x52,0x1C,0xA8,0x05,0x38,0x8C,0x8A,0x69,0x3B,0xE5,0xDD, -0xFF,0xCC,0x84,0x4B,0x98,0xE4,0x7F,0xCB,0x2D,0xB9,0x0D,0x23,0x7B,0x18,0xD4,0xCF, -0x55,0xB3,0x51,0xE1,0xC3,0x34,0xF4,0x40,0x2E,0xA6,0x12,0x3F,0x30,0x80,0x07,0x84, -0xE8,0xCD,0x92,0x5C,0x30,0x8D,0xBE,0x0A,0x29,0x99,0x2D,0x07,0xD3,0xBE,0xDA,0x67, -0x33,0x56,0xD2,0x87,0x13,0xB0,0xA0,0x14,0x27,0x31,0x85,0xA1,0x8F,0x30,0x08,0x3B, -0xDD,0xB9,0xD3,0x69,0x7C,0x71,0x0E,0xBA,0x1B,0x94,0x20,0x38,0xB7,0x4E,0x4E,0x03, -0x3F,0x44,0xCC,0x8B,0xAD,0xE3,0x4D,0xF9,0x1D,0xBC,0x08,0x16,0xDF,0xA0,0xC8,0x6B, -0x28,0x45,0xDA,0x9C,0x88,0xF0,0x7B,0xCF,0x8F,0xF0,0x44,0xC8,0xA0,0x58,0x4F,0x14, -0x7D,0xB5,0x7F,0xC9,0xBE,0xEB,0x56,0xE2,0xA0,0x4E,0xFA,0x59,0x25,0xE5,0x77,0x91, -0x9B,0x58,0x74,0x2F,0x67,0xF1,0x95,0x21,0xEA,0xD6,0x62,0x8B,0x0C,0xEA,0x51,0xB8, -0xAC,0x5D,0x46,0x18,0xB7,0x75,0xC1,0x75,0x91,0x5C,0xE8,0x7A,0xCE,0xD1,0xA8,0x7A, -0x64,0xD7,0x04,0xD0,0x1F,0x1C,0x00,0xB4,0x68,0x9E,0x2A,0x41,0x9C,0x32,0x19,0x28, -0xD9,0xA9,0xC7,0x6D,0xF0,0x1D,0xEE,0x5A,0x06,0x27,0x93,0x96,0x6B,0x48,0x94,0xDF, -0xFE,0xEC,0xA5,0x4A,0xF8,0x95,0x6E,0xDA,0xED,0xE9,0x5D,0xB3,0xC4,0xA8,0xDB,0x70, -0xC0,0xCB,0xBC,0x74,0x89,0xE6,0x6C,0xD8,0xEF,0xE1,0x55,0xB9,0x6A,0x69,0xB4,0xDE, -0xBB,0x5C,0x50,0x0F,0x01,0xAE,0xAC,0x18,0xF2,0x52,0xE6,0x17,0x42,0x47,0xB2,0xF6, -0xA9,0x6D,0x73,0x1D,0x18,0x24,0x3F,0x8B,0x62,0x16,0xA2,0xC3,0x2A,0xA9,0x34,0x9E, -0x3C,0x15,0x9E,0x88,0xB6,0x63,0xD6,0x62,0x9A,0xC3,0x77,0xEE,0xFA,0xB1,0xFC,0x4E, -0x53,0xD2,0x36,0xE7,0x80,0x78,0xFB,0x4F,0x46,0x37,0x83,0xC6,0x1E,0xC9,0x60,0xAA, -0x0E,0x20,0x99,0xBA,0xA3,0x45,0xE5,0x51,0x10,0x0B,0xBF,0xAC,0xB3,0x5A,0x5E,0x07, -0x01,0x63,0xD5,0xB5,0x59,0x62,0x38,0x8C,0x4A,0x97,0x23,0x6A,0x2E,0xBD,0x24,0x9A, -0xE4,0xDF,0x8C,0x50,0xC2,0x22,0xE3,0x57,0x8B,0xD0,0x64,0xEC,0xD1,0xCD,0xAB,0x65, -0x1B,0x50,0xFC,0xAF,0x00,0xB8,0xBB,0x0F,0x95,0x7C,0xC8,0x5E,0x83,0x2E,0x1A,0x37, -0xED,0xFD,0xA7,0x59,0xC0,0x28,0xEB,0x5F,0x0A,0x87,0x33,0x3A,0xEE,0xF5,0xAC,0x5A, -0x92,0x7A,0x5F,0x26,0xE6,0x27,0xC2,0x76,0xE2,0x56,0xE2,0x03,0x67,0x56,0x86,0xD3, -0x60,0xC7,0x10,0xD4,0x78,0x55,0x2E,0x9A,0xD9,0xCC,0x78,0xA2,0x24,0xC4,0x57,0x90, -0xE3,0x9E,0xCA,0x57,0x36,0xA3,0x96,0x22,0xF3,0x45,0xF1,0x01,0xEC,0x86,0xDD,0x58, -0x8D,0x79,0x43,0x39,0x11,0xBA,0xA8,0x1C,0x4C,0xBF,0x0B,0x44,0x6E,0x7D,0xA4,0xDA, -0x13,0x52,0xF6,0xA7,0x38,0x05,0x3E,0x8A,0x3D,0xBD,0x09,0x37,0x78,0x4A,0x85,0xCC, -0x49,0xE1,0x1F,0xFD,0xD6,0x12,0xC7,0x73,0x37,0x35,0x81,0xB5,0xDB,0xB4,0xD8,0x6F, -0x3E,0x64,0xED,0x8A,0x90,0x6C,0xFF,0x4B,0xEE,0xF6,0x42,0xAF,0xFD,0xF7,0xBD,0x49, -0x5B,0xD0,0x3C,0xEF,0x41,0xFE,0xBC,0x08,0x7B,0x85,0x31,0x49,0x9F,0x60,0x48,0x2B, -0xC1,0xEB,0x9D,0x75,0xDE,0x9A,0x47,0xF3,0x74,0x3A,0x8E,0xF9,0x10,0xA4,0x03,0xA4, -0x5E,0xE0,0x09,0xEA,0x5A,0x7E,0x27,0x93,0xD3,0x44,0xF0,0x20,0xB6,0x6F,0x6E,0x02, -0xF1,0xA2,0xAA,0xBD,0x23,0x2B,0x95,0x58,0xBA,0xAB,0xFF,0xB2,0x35,0x25,0x2D,0xF6, -0x08,0x33,0x3B,0xD5,0xC8,0xC0,0x4A,0x6C,0xDC,0x28,0x1A,0xD4,0x84,0x74,0x7C,0x16, -0xDA,0xAB,0xA3,0x9F,0x84,0x8C,0xD8,0xB2,0xFF,0x5E,0x4F,0xF7,0x95,0x51,0x59,0x22, -0xB6,0x4B,0x43,0x13,0xE3,0xEB,0x1D,0x10,0x87,0xE0,0x89,0x8F,0x40,0xFB,0xF3,0x5D, -0xDD,0x99,0x91,0xAA,0x86,0x8E,0xA9,0xC1,0x61,0xEB,0x64,0x69,0x17,0xD9,0xD1,0x28, -0xCF,0x41,0x49,0x60,0x7E,0x76,0x67,0xF7,0x5A,0xC7,0x73,0x52,0xA0,0x54,0x5C,0x12, -0xF0,0x4C,0x44,0x52,0x3B,0x33,0xD7,0x02,0x75,0xAF,0x34,0x7D,0x4F,0xD2,0xDA,0x7B, -0x48,0xE8,0xE0,0x4E,0x62,0x6A,0x35,0xB9,0xAC,0x9C,0xDE,0xA4,0x22,0xDC,0xD4,0x18, -0x05,0x09,0x01,0xE2,0xB6,0xBE,0xED,0xB5,0x8B,0xFE,0x9B,0x83,0x1B,0x0D,0x05,0xF0, -0xBA,0x9F,0x97,0xCB,0xAF,0xA7,0x8F,0xCE,0x40,0xEE,0x40,0x48,0x07,0x12,0x1A,0xF3, -0x61,0xF2,0xFA,0x7D,0xEC,0xE4,0x5E,0x5C,0xC4,0x72,0x58,0xCC,0xF3,0xB9,0xB1,0xAC, -0xD4,0x6C,0x64,0x56,0x29,0x21,0xE6,0x21,0xD5,0x03,0x38,0xDD,0x3F,0x2D,0x25,0xF4, -0x52,0x2B,0x23,0x97,0x1E,0x16,0xE3,0x13,0xBE,0xBF,0xEF,0xB6,0x04,0xEF,0xE7,0x0D, -0x2E,0x00,0x08,0xC0,0xEA,0xE2,0x3F,0x3B,0x5F,0xF2,0x43,0x57,0x1F,0xC2,0xCA,0x3B, -0x55,0x19,0x11,0xA2,0x2F,0x27,0x87,0x46,0x5E,0xD3,0x63,0x56,0x49,0x0E,0x06,0xA1, -0xD1,0x4D,0x45,0x72,0x66,0x6E,0x25,0xAD,0xE6,0x25,0x2D,0xEE,0xEC,0x5B,0x53,0x51, -0x37,0x3E,0x36,0xE7,0xDB,0xD3,0x5B,0x6E,0xD9,0x1D,0x2A,0xD1,0x3D,0x3E,0x36,0xE5, -0xE1,0x69,0x61,0x66,0xB4,0xBC,0x9C,0xC6,0x6E,0xA7,0x27,0x66,0x45,0xDA,0xD2,0x79, -0xAC,0x88,0x80,0xCA,0x0C,0x04,0xD2,0x30,0xC7,0x20,0x09,0xCF,0xF6,0x98,0x90,0x88, -0x01,0xC6,0xCE,0x29,0x82,0x8A,0xB9,0xD5,0xDF,0x7A,0x4B,0xD7,0x63,0xE9,0xE1,0x6C, -0x88,0xA8,0xA0,0xCE,0x4E,0x46,0x23,0x83,0x7F,0xD6,0x47,0x77,0x62,0x07,0x0F,0x83, -0x4A,0xFB,0xF3,0x5F,0xB2,0xBA,0xFD,0xA1,0x1B,0x26,0xD3,0x13,0x24,0x00,0x08,0xC2, -0xE5,0xA6,0xAE,0xAD,0x57,0x5F,0x41,0xF8,0xCD,0x59,0x7A,0xC5,0x4B,0x1D,0x15,0xB0, -0x73,0x2A,0x22,0xB7,0xED,0xE5,0x7E,0x7D,0xB9,0xF9,0xAE,0xB1,0xB1,0x71,0x79,0x26, -0x0F,0x01,0x09,0xE0,0x9D,0x95,0xBA,0xC9,0x77,0xDC,0x45,0x7F,0x3A,0x0C,0x04,0xD0, -0xFA,0x44,0x4C,0x50,0x92,0x9A,0xF9,0x85,0x3A,0x23,0xF7,0x32,0x65,0x35,0x3D,0xB6, -0xA6,0x80,0x88,0xC8,0x13,0x1B,0xD1,0x2C,0x0A,0x57,0xB3,0x02,0x43,0x06,0x0E,0xA3, -0x99,0x8D,0x85,0xFA,0xCE,0xC6,0x2B,0x0B,0x63,0x98,0x15,0x6B,0x79,0x2A,0x22,0xB5, -0xCA,0x60,0x68,0x44,0x54,0x5C,0x10,0xAA,0xD0,0x36,0x08,0xD8,0x0D,0x1A,0x12,0xF1, -0x7C,0x03,0x0B,0x91,0xF6,0xFE,0x6D,0x75,0xC2,0x15,0x39,0xCA,0xA4,0x9B,0x93,0xD9, -0xBD,0xAD,0xA5,0xFE,0xBC,0xB4,0x9E,0xCC,0x50,0xBE,0x00,0x58,0xF5,0x65,0x6D,0x76, -0xEF,0xAE,0xA6,0xAF,0x96,0x9E,0xE9,0x91,0xC3,0x34,0x19,0xCB,0xA9,0xA1,0xA9,0xEE, -0x5F,0x11,0x19,0xA0,0x76,0x7E,0x65,0xFD,0x1C,0x60,0x92,0x14,0x16,0x37,0x3F,0xC7, -0x9E,0xBF,0xB7,0xCF,0x98,0x90,0x8A,0xFC,0x24,0x1E,0xD4,0x2C,0x8F,0x92,0x9A,0xFB, -0xA3,0xA1,0xA9,0xEC,0x43,0x4B,0x11,0xBC,0x78,0x90,0x06,0x70,0x29,0x3A,0x32,0xF5, -0x1A,0xEB,0xE3,0x1F,0xFE,0xF6,0x6F,0x7F,0x9B,0xAE,0xDB,0x93,0x11,0x05,0x0D,0xF2, -0xDF,0x8A,0x82,0xBB,0x30,0x38,0x84,0x5A,0xA7,0xC4,0x8D,0xAF,0xA5,0x75,0x7D,0x36, -0xC5,0x49,0x41,0x62,0xD6,0xDE,0x69,0x51,0x8E,0xCB,0xAB,0x86,0x77,0xED,0xE5,0x7C, -0xDE,0x64,0x6C,0x54,0x83,0x8B,0x99,0xF4,0x0B,0x76,0x93,0x03,0xE6,0x53,0x5B,0x53, -0xCD,0x52,0x5A,0x71,0x94,0x9C,0x98,0xE2,0x74,0x8E,0x14,0x7C,0x38,0x1F,0x17,0xC1, -0xBB,0x71,0x79,0x24,0x55,0x5D,0x30,0x8B,0x6F,0x86,0x07,0x67,0x9D,0x4A,0x42,0x31, -0x33,0xF1,0xF9,0x2C,0x72,0x7A,0x75,0xE9,0xC0,0x66,0x48,0xC8,0xB8,0x84,0x8C,0xDA, -0x32,0x1F,0x17,0xC3,0xCF,0xC7,0x0B,0x2A,0x37,0x1C,0xC5,0x3F,0x6F,0x3D,0x35,0xB4, -0x5B,0xDE,0xD6,0x6B,0x07,0x0F,0x81,0x68,0x65,0xFF,0x74,0x6D,0x54,0xFF,0xF7,0x4D, -0x4D,0xC9,0xC1,0x6A,0x97,0x9F,0xC9,0xB0,0x51,0x9F,0x20,0x59,0xC0,0x60,0x68,0x46, -0x0A,0x20,0x28,0xC4,0x02,0x0A,0xB1,0x5D,0x81,0x87,0xE8,0x89,0xED,0xB5,0xBD,0xBE, -0x80,0xB3,0xBB,0xDD,0x10,0x18,0x80,0x7E,0xE9,0x69,0x6E,0xE1,0x39,0xF1,0xF9,0x2E, -0xC8,0x73,0x7B,0x55,0x6B,0x63,0x17,0x92,0xC1,0x47,0x68,0xC9,0x97,0x42,0x4A,0x33, -0x0C,0xFC,0xF4,0x1E,0x4F,0x47,0x03,0xA2,0x7A,0xE3,0x77,0x72,0xC2,0x73,0x7B,0x57, -0x4C,0x27,0x2F,0x85,0xAA,0xA2,0xBF,0xFB,0x85,0x93,0xF8,0x8D,0x44,0x34,0x3C,0x96, -0x6B,0xFA,0xF2,0x7F,0xA5,0xAD,0xFC,0xB7,0x18,0x74,0x82,0x10,0x82,0xA8,0xA0,0xCC, -0x56,0xE4,0xEC,0x5C,0xF8,0xF0,0x0E,0x18,0xB5,0xE7,0xBC,0xBD,0xE8,0x94,0x9C,0x9A, -0x7B,0x31,0x39,0xA4,0xCB,0xC3,0x1B,0x3E,0x8F,0xEA,0x8B,0x87,0x8C,0x6F,0x67,0x05, -0x09,0xDD,0xD5,0x3A,0x39,0x31,0xA6,0x71,0xCC,0x78,0x5A,0xC4,0x2D,0xF5,0xFD,0x3E, -0x06,0xF4,0xFC,0x1C,0x46,0x4E,0x21,0x89,0x45,0xDB,0x70,0x4D,0x14,0x24,0x2C,0xD6, -0x96,0xA4,0xAC,0xDC,0xB0,0xB8,0x8C,0xD2,0x28,0x00,0xC6,0x20,0x70,0xDF,0xD7,0x49, -0x3C,0xD8,0xD0,0x0A,0xE2,0xEA,0x3D,0x31,0x70,0x9A,0x04,0x78,0x9B,0x96,0x9E,0xEB, -0x2B,0x21,0x29,0xE4,0xB8,0xB0,0x8E,0xD8,0xD3,0x64,0x59,0xDB,0x19,0x1E,0x16,0xE1, -0x94,0xB7,0xBF,0xCD,0x26,0x2E,0xA5,0x6D,0xC5,0x53,0x78,0xCD,0x6A,0x1C,0x14,0x90, -0x8D,0x89,0x81,0xEA,0x48,0x40,0x42,0xE4,0x47,0xA8,0x01,0x4F,0x2F,0xE6,0xEE,0x2F, -0x50,0x38,0x30,0x86,0xF5,0xFD,0x3C,0x27,0x1D,0x41,0xB2,0x15,0x0E,0xE7,0xEF,0x0F, -0xB4,0x58,0x50,0x02,0x6A,0x62,0x37,0xB3,0xBB,0x8A,0xDF,0xB3,0xD7,0x99,0x91,0xA8, -0xD0,0xA3,0xAB,0x9D,0xF0,0xF8,0x0C,0x12,0x34,0x4E,0x94,0x3C,0x67,0x26,0x2E,0xA7, -0x42,0xE0,0xE8,0x4C,0x95,0x9D,0xB8,0xC3,0x56,0xD9,0x61,0x5E,0x81,0x55,0x5D,0x32, -0x92,0xE0,0x82,0x9D,0xB7,0xFE,0xB6,0xB9,0x94,0xA7,0xA8,0xC3,0x12,0x0A,0xE8,0x1D, -0xDB,0x42,0x69,0xD4,0x67,0x7A,0xE2,0xED,0x64,0xF2,0xFD,0x66,0xAA,0xFC,0xA6,0xA5, -0x1E,0xFA,0x14,0x11,0x05,0x01,0xFB,0xF4,0xFE,0x3E,0x31,0x30,0xAB,0xDD,0x86,0xA4, -0xEA,0x26,0x3C,0xE5,0x52,0x7D,0xD0,0xDF,0xC8,0x13,0x1C,0x2B,0x4A,0x90,0x2A,0x45, -0xDD,0x23,0x0E,0xD2,0x93,0xFB,0x97,0x98,0x31,0xD1,0xDE,0x10,0x21,0x2C,0xFD,0x2E, -0x18,0x9B,0x73,0x17,0xB8,0x4E,0x09,0x06,0x69,0x45,0x4A,0xDC,0x30,0x5D,0x9D,0x3F, -0x5B,0x4A,0xE1,0x54,0x0E,0x95,0x64,0x6B,0x36,0xEE,0xE1,0x28,0xB4,0xC1,0x85,0xBB, -0x42,0x28,0x9A,0x4D,0x27,0x2A,0xF2,0xFD,0x35,0xF1,0xFE,0x34,0x7F,0xD1,0x5E,0x70, -0x96,0xF0,0x96,0x99,0x8B,0x67,0x13,0x1C,0xDD,0x20,0x2F,0x0D,0x58,0xB3,0x1B,0x57, -0xCF,0x12,0x2D,0xC0,0x97,0xDF,0xB7,0xB8,0xBE,0x2E,0x21,0x60,0x81,0x80,0xF1,0x8E, -0x8A,0xA2,0xD8,0x85,0xA5,0xE0,0xBA,0xB5,0xD7,0xA8,0xA7,0x8F,0xAE,0xE8,0xB6,0xA1, -0x72,0x6C,0xEE,0x7D,0x6F,0xF2,0x62,0x6D,0xED,0x25,0x2A,0x38,0x95,0xC4,0xA1,0x9A, -0x17,0xD8,0x3F,0x18,0xD6,0x99,0xB0,0xBF,0x98,0x07,0x08,0x6F,0x73,0xCF,0x4C,0x7C, -0x70,0x1D,0x9D,0x7F,0x5A,0xF5,0x50,0x5F,0xE7,0xAD,0xA2,0xBA,0x0B,0x71,0x8A,0x04, -0x3C,0x8F,0x43,0x33,0x10,0x27,0xC8,0xC7,0xD3,0x88,0x87,0xAB,0x28,0x07,0xDF,0x27, -0xD7,0x50,0x77,0xD8,0x78,0xDE,0x59,0x56,0x33,0xD9,0xD6,0x1A,0x4E,0x84,0x3A,0x41, -0x62,0x2C,0xBE,0x6D,0x6A,0xC0,0x55,0x5A,0x2B,0x5D,0x52,0x86,0x37,0x1B,0xDC,0x38, -0x48,0x5B,0xE3,0x47,0x3B,0x92,0x56,0x59,0xB3,0x99,0x96,0xDA,0xA4,0x91,0xC5,0xAB, -0x02,0xA8,0x5A,0x0D,0x54,0x53,0xF8,0xF7,0x1C,0x67,0x68,0x8B,0x36,0x3A,0xFC,0x39, -0xA0,0xD5,0x85,0xAF,0x81,0xE5,0x9B,0x94,0x34,0xE6,0xE9,0x22,0x24,0x19,0xCD,0x2B, -0x3A,0xEE,0x24,0x35,0x3F,0xB6,0x76,0x79,0x70,0xD6,0xD9,0x56,0x97,0xB7,0xD0,0x98, -0xE7,0x14,0x03,0xE8,0x0D,0x89,0x7B,0x74,0x66,0xFA,0xF5,0x6C,0xFE,0x78,0x76,0xF1, -0x66,0x3C,0xAA,0x69,0x95,0xD5,0xBF,0xB0,0x73,0xC9,0xC6,0x4A,0xCE,0x0C,0x32,0xC1, -0x69,0x7F,0xE6,0x66,0x25,0x20,0xFA,0xF5,0x15,0xF0,0xFF,0x15,0x83,0xF3,0x80,0x8C, -0x19,0xBB,0x52,0x16,0x72,0x5C,0xD1,0xDE,0xE3,0x8D,0x82,0x9E,0x4D,0xD6,0x6B,0x42, -0xA3,0x84,0xD7,0xAC,0x68,0xCA,0x5D,0x52,0x75,0xE1,0xEE,0x64,0x39,0x76,0xBF,0x36, -0x46,0x38,0x8E,0x49,0x9A,0x65,0x00,0x0F,0x07,0xFC,0xF3,0x0B,0xEF,0x09,0x16,0xE0, -0xBA,0xE6,0xAC,0xB5,0x0B,0xA7,0x53,0x5C,0x46,0xFB,0xF4,0x4D,0x8B,0xF9,0x82,0x84, -0x76,0x7C,0xFA,0x79,0xEC,0x2E,0x3D,0x32,0xA9,0x15,0x1A,0x4C,0x2B,0x55,0x8E,0x24, -0xF8,0x17,0x1F,0xF7,0x0F,0x83,0x73,0x7C,0x4D,0x64,0x6B,0xD9,0x33,0x0F,0xCC,0x3C, -0x40,0x59,0xE9,0x4F,0xA3,0xCE,0x92,0x9D,0xBC,0x26,0x29,0x6A,0x9A,0x88,0xE2,0x95, -0x2F,0x9E,0x41,0x20,0x22,0x18,0xC5,0xCA,0x20,0xC2,0xCD,0x12,0x2D,0x32,0xEF,0x22, -0x9F,0xD2,0xBD,0x90,0x90,0xE7,0x88,0x87,0xF6,0xBE,0xB1,0xB8,0x35,0x68,0xAD,0x3A, -0xE4,0x45,0x51,0xEB,0x18,0xAF,0x48,0x47,0xEB,0x0D,0x02,0x16,0x1D,0x46,0xAB,0x12, -0xF6,0x74,0x72,0xF9,0x01,0x25,0xDB,0xD4,0x7B,0x49,0x46,0xC2,0x75,0xA8,0x2D,0x7A, -0x63,0x0C,0x9F,0x6C,0xAF,0x62,0x32,0x3D,0x83,0x9C,0x93,0xEF,0xA5,0xB0,0xE5,0xAA, -0xF3,0x44,0x47,0xFC,0xAE,0x74,0x25,0x2A,0x88,0x03,0x0C,0x7B,0x91,0xD0,0xB1,0x9E, -0x3B,0xCE,0x05,0x34,0x06,0x1D,0xE4,0xEB,0x71,0xC1,0xCE,0x40,0xC3,0x33,0x00,0xCC, -0x86,0xB0,0xC6,0x89,0xE9,0x1C,0x0A,0x05,0x1F,0x78,0x77,0x97,0x34,0x49,0x8D,0x3B, -0xA1,0xF5,0xA4,0xAE,0xE1,0x94,0x8A,0x85,0xF4,0xB6,0xB9,0xB2,0x9B,0xA9,0xC2,0x94, -0x60,0x5D,0xCD,0x6F,0xB4,0xE2,0xA9,0xA6,0x04,0xE3,0xEC,0x17,0x80,0xA1,0xD1,0x8F, -0x77,0x5C,0xDB,0x78,0x91,0xF1,0x9F,0x90,0x96,0xAF,0xA0,0xC9,0xFF,0x59,0x56,0xF0, -0x22,0xAC,0x7E,0x2D,0xA7,0xEA,0xB2,0xBD,0xB9,0x11,0x1E,0x58,0x7A,0xE4,0x6E,0x75, -0xC4,0x41,0x75,0xCB,0x7E,0xF0,0x71,0x7E,0xF3,0x89,0x86,0x8A,0x53,0xEB,0x48,0x5C, -0x0A,0xAA,0x50,0x05,0xDA,0x35,0x10,0x1F,0x37,0xF9,0xF6,0x3E,0x6F,0x81,0x1E,0x60, -0xB7,0xD4,0x93,0xB8,0x29,0x8C,0x5A,0x55,0x30,0xC6,0xC9,0x06,0x8C,0xBF,0xC3,0x83, -0x6C,0x4F,0xD3,0x63,0x0A,0xB1,0x44,0x4B,0x3E,0x6E,0x61,0xA0,0xD0,0x31,0x11,0xDF, -0x82,0xA0,0xD2,0x8D,0x65,0x70,0xEA,0xE5,0x02,0xCB,0xC4,0x39,0xE8,0x4F,0x57,0xE7, -0x61,0x7D,0xEC,0x6E,0x89,0x6D,0x1B,0x14,0xF7,0xA9,0xA6,0xAE,0xA2,0xF6,0xA4,0xAD, -0x04,0xC9,0x3D,0x0B,0x58,0xFF,0x58,0x57,0x62,0xDA,0xD5,0x48,0xC0,0x61,0x51,0xCF, -0x9E,0xF2,0x9C,0x91,0xC7,0x9B,0xA3,0xAC,0x6D,0x65,0x6A,0xF8,0x4F,0xA5,0x1A,0x40, -0x01,0xF9,0x08,0x0E,0x43,0x7F,0xC3,0xCC,0xCA,0x1B,0x14,0x21,0xE9,0x6E,0x77,0xE6, -0xBC,0x87,0xCB,0xB3,0x2F,0xA2,0x72,0x7D,0xEA,0x1A,0x15,0x00,0xB3,0x87,0xC4,0xBC, -0xD2,0x60,0x42,0xDD,0x08,0xBB,0x4C,0x43,0x55,0xE0,0xEF,0x45,0x31,0x7C,0xBD,0x3E, -0x4C,0x4B,0xF7,0x43,0x21,0x04,0xDA,0xD5,0x24,0xE2,0xED,0x36,0x27,0x4B,0x9C,0x28, -0x16,0xF8,0x1E,0x19,0xCF,0x13,0x23,0x2C,0x2E,0x6A,0x65,0xB4,0x84,0xB5,0xC1,0x8B, -0x44,0x49,0xFD,0x4B,0x19,0xB9,0x5F,0x50,0x8C,0x23,0x2C,0x5F,0xDC,0x2F,0x03,0xD3, -0xB2,0xE4,0xA6,0xBD,0xD9,0x29,0x0F,0x00,0x13,0xD8,0xD7,0x3B,0xB1,0xF4,0xB5,0xBE, -0xCD,0x63,0x5E,0xC2,0xFF,0x26,0x26,0x29,0xFB,0x09,0x06,0x02,0x38,0x57,0x9F,0x37, -0x3F,0xDE,0x11,0x30,0x61,0x54,0xCA,0xC5,0xC0,0x93,0x9C,0xA3,0x7B,0xC5,0x4E,0x74, -0x0C,0xCB,0x37,0x03,0x99,0x79,0x1F,0x10,0x5F,0x68,0x67,0xC7,0x41,0xC8,0x79,0x4E, -0x51,0x39,0x98,0x5E,0xBA,0x44,0x01,0x0E,0x09,0x54,0x5B,0xAD,0xEC,0x5B,0x47,0xE3, -0x5E,0x7A,0xD4,0x51,0x40,0x63,0xDC,0xD3,0x53,0xC8,0xC7,0x6B,0x71,0xBC,0x3D,0x7E, -0xBB,0xC6,0x8D,0xB4,0xDB,0x23,0x07,0x08,0x92,0x8F,0x80,0xED,0x8E,0xCC,0xB2,0x81, -0x20,0x03,0xD8,0xE2,0xE8,0x91,0xAB,0x82,0x6F,0xAC,0x02,0x38,0xBD,0x2B,0x6D,0x11, -0xB1,0xC1,0x8B,0xB1,0xCA,0x6D,0x57,0x5C,0x9F,0x38,0x66,0x5C,0xFC,0x2C,0x2B,0x16, -0xC8,0x3A,0x09,0x33,0x34,0xCE,0xF4,0x01,0xB0,0xD1,0xA0,0x9A,0x59,0x5A,0xF8,0x60, -0xD2,0xAC,0x85,0xBF,0xB1,0x74,0x4E,0x3E,0x10,0x05,0xD4,0xEE,0xCF,0x36,0x02,0x0C, -0x19,0xA8,0x4A,0x70,0x8F,0x97,0xAD,0xE3,0xEE,0x58,0x77,0x4D,0x06,0xF1,0x0C,0xCB, -0x98,0x7E,0x1D,0x27,0x27,0xF8,0xC2,0x24,0x54,0x55,0xC0,0xFA,0x9A,0x15,0x74,0x2F, -0x56,0x48,0xE5,0xDF,0x9C,0xA1,0x9B,0xC6,0x33,0x34,0xC6,0xFC,0x13,0xC2,0x2A,0xF8, -0xB5,0xE5,0xAB,0x91,0x79,0x2F,0x15,0xAD,0x69,0x76,0xDE,0xE4,0xF7,0xB3,0xBF,0x89, -0xEE,0x35,0x20,0x1A,0x3C,0xD5,0xEF,0x12,0x5C,0x46,0xDB,0xE1,0xA6,0xB0,0xED,0x8A, -0x3B,0x83,0x43,0x79,0xE3,0x77,0x4D,0x6F,0x7F,0x77,0xC9,0xF3,0x8E,0x31,0x44,0x0B, -0xD0,0xA6,0x8D,0xB7,0xD8,0xB5,0x8F,0x96,0x7D,0x66,0xDA,0xE0,0x91,0x8A,0xE0,0xB0, -0x81,0xF4,0x8E,0xB4,0x85,0x9F,0xA5,0xE1,0xF7,0x7F,0x49,0x73,0x09,0x4E,0xBC,0x74, -0x2F,0xB3,0x67,0x5D,0xCC,0xB1,0x8B,0x86,0x6A,0x88,0x23,0x19,0xC9,0x1E,0x2C,0x24, -0x9F,0x46,0x22,0x18,0x80,0xBE,0x84,0xC5,0x95,0x3A,0x6E,0x54,0xAF,0x27,0x73,0x1D, -0x85,0xD0,0xAE,0x94,0x42,0xED,0xD7,0x54,0xD1,0x6A,0x7A,0x40,0xCA,0x01,0x30,0x3B, -0xB7,0xEF,0xA3,0x99,0x65,0x30,0x0A,0xAE,0x1E,0xCC,0x13,0x29,0xDC,0x2D,0x0A,0x17, -0x1F,0x86,0x62,0x58,0xBE,0x5D,0x67,0x18,0x8E,0x0C,0x43,0x79,0x6D,0x7F,0xE9,0x45, -0xD5,0x94,0xBA,0x80,0x88,0xA5,0x9F,0xD6,0xA2,0x1B,0x78,0x42,0x57,0xF2,0x5E,0xC8, -0x31,0x01,0xCB,0xF1,0xF0,0x41,0x7B,0x4A,0xD5,0xA1,0xB5,0x8F,0x67,0xF7,0x6B,0xCD, -0x2D,0xB9,0x6F,0x55,0x4B,0x18,0x22,0xA8,0xE6,0x4B,0x6C,0x56,0x04,0xF9,0x06,0xC3, -0xAA,0x41,0x10,0x2A,0x25,0xEB,0xD1,0x35,0x61,0x65,0xC5,0xFF,0x69,0x5F,0xCD,0x65, -0xC2,0xB8,0x81,0xBB,0x11,0x00,0x3A,0xEA,0xE2,0x80,0xA3,0x99,0x89,0x0E,0x7C,0x34, -0x6C,0xFF,0x68,0x52,0x59,0xC0,0xFA,0x62,0xA9,0xF6,0x9E,0xA4,0x22,0xD0,0x09,0xEA, -0xE0,0x93,0x88,0xB2,0xFB,0xA7,0x9D,0xA7,0x17,0x30,0xE6,0xDC,0x5D,0x7A,0xDC,0x40, -0xBF,0x67,0x23,0x19,0x72,0xC9,0xF3,0x40,0xBB,0x3C,0x46,0x7C,0x44,0xE9,0x56,0xD3, -0xE8,0x1B,0x08,0x32,0x5A,0x3D,0x07,0x9C,0xF6,0x90,0xA7,0x9D,0x72,0xC4,0x4D,0xFE, -0x0D,0x98,0x6E,0x54,0xE4,0x45,0x7F,0x5A,0x6C,0x52,0xFF,0xC5,0x2E,0x70,0xA5,0x4A, -0xDD,0x1C,0x3A,0x00,0x0F,0x0C,0x36,0xF8,0x9A,0x1C,0x47,0x7D,0xDE,0x25,0x00,0x1F, -0xB4,0xF3,0xBC,0x86,0x87,0x8C,0xB6,0xF0,0xA7,0x3F,0x59,0x63,0x8C,0x39,0x4E,0x03, -0x9D,0x4C,0x2A,0x10,0xFC,0x95,0xAF,0x92,0xB7,0xE4,0x92,0xA8,0x8F,0x26,0x52,0x1C, -0x29,0x9D,0x4F,0x75,0x68,0x0A,0x30,0x99,0x4A,0x47,0xCC,0xF6,0x8B,0x06,0x76,0x3C, -0x02,0x28,0xD1,0xEB,0x15,0xCF,0xF5,0x21,0x3B,0x27,0xDD,0xE7,0xD3,0x92,0xBA,0xA8, -0x45,0x40,0xFE,0xC4,0x38,0x1A,0x20,0xD9,0x31,0x25,0xD5,0xEF,0x41,0xDE,0x64,0xE4, -0xDB,0x32,0x12,0x28,0x77,0xE8,0xD2,0x64,0xA3,0xF4,0x96,0xAC,0x7A,0x44,0xC5,0x7E, -0xA3,0xDF,0x87,0xBD,0x9B,0x93,0xA9,0xF3,0x49,0xB9,0x31,0x0B,0x36,0xF4,0x39,0xCE, -0x63,0x4F,0xD7,0xED,0xC0,0x65,0x5F,0x5E,0x92,0x0F,0x5C,0x66,0xA9,0x0F,0x5D,0x35, -0xFA,0x05,0x04,0x3E,0xB2,0x89,0xB3,0xC0,0xDA,0x87,0x9C,0xA6,0xE9,0x1F,0x0D,0x25, -0x61,0x45,0xDF,0xE5,0xEB,0x6C,0x56,0x7C,0xAA,0x08,0x63,0x59,0x28,0x58,0x8B,0x62, -0x23,0x1F,0xC7,0xFD,0x51,0xDB,0xE1,0x71,0xAE,0xC3,0xAC,0x96,0xE5,0xBF,0xA1,0x85, -0x00,0x22,0xD9,0xE3,0xFE,0x86,0xBC,0x83,0x3D,0xFD,0x01,0x3B,0xB3,0x83,0xCB,0xB9, -0x7D,0xFD,0x7B,0x41,0xFA,0x49,0x73,0x48,0xC3,0xA0,0xA2,0x98,0xD7,0xB2,0x9E,0x88, -0xF9,0x19,0x1B,0x21,0x6E,0xD6,0xEC,0x43,0x08,0xCD,0x04,0x3E,0x70,0xCC,0x47,0xF6, -0x33,0x0B,0xC3,0xF9,0x8A,0xB6,0x8C,0xC7,0x90,0x1E,0x4F,0x75,0x4D,0x7E,0xC8,0x44, -0xE2,0x99,0x80,0xBA,0x5B,0xD3,0xE9,0x73,0x07,0xEB,0x2D,0x17,0xD8,0x0D,0x2E,0x37, -0x9B,0x62,0x02,0x38,0x91,0x9B,0xA1,0xF1,0x2D,0x26,0xCA,0xF0,0x9E,0x35,0x50,0x0F, -0x75,0x75,0xFB,0xC1,0x78,0xC1,0xFB,0x42,0xD3,0x7B,0x69,0x53,0x94,0xBD,0xD2,0x87, -0x95,0xC4,0xAA,0x90,0xAD,0x6B,0x51,0x3D,0xE1,0x7E,0x5E,0x64,0x50,0xCD,0x66,0xF7, -0xB2,0xDD,0x94,0xAE,0x24,0x05,0x3F,0xDA,0x1A,0x07,0xDC,0xE6,0xEF,0x37,0x23,0x0D, -0x1D,0x8C,0x6A,0x50,0x18,0xF5,0xCF,0x16,0x82,0xD4,0x97,0xAD,0x03,0xC6,0x3E,0xFC, -0xC4,0x96,0xA9,0x93,0x13,0x13,0x29,0xFB,0x8D,0xF2,0xBE,0x84,0x49,0x5E,0xEC,0x64, -0x0E,0x84,0x71,0x4B,0xAB,0xB7,0x8D,0xE7,0xC7,0x6B,0x6D,0x57,0xBE,0x34,0x71,0x0E, -0x2B,0x97,0x47,0x7D,0xBD,0xA0,0x9A,0xE6,0x3F,0xEC,0x12,0x28,0x2C,0x78,0xAF,0x42, -0xB0,0xD7,0x9C,0xA6,0xB5,0xBB,0x81,0xF5,0x57,0xAB,0x3D,0x07,0x84,0xB9,0xC6,0x83, -0xDF,0x16,0x32,0x08,0xB4,0x55,0x6F,0x1A,0x29,0xED,0x05,0x3F,0xB8,0x1C,0x5F,0x26, -0x60,0x53,0xC8,0xF2,0x36,0xDD,0xE7,0x10,0xE7,0xA4,0x82,0xB8,0x8D,0x2E,0x58,0x14, -0x93,0xEA,0x82,0xB8,0xF5,0x60,0x5A,0x6E,0xD9,0x79,0x61,0x5B,0x8A,0x11,0x60,0x2B, -0xBB,0x43,0x03,0x39,0x14,0x21,0x1B,0xCE,0xCE,0x97,0x98,0xA2,0xC1,0x9E,0xA4,0xA4, -0x15,0x04,0xEA,0xD0,0xF9,0xB4,0x8E,0xB6,0xD6,0x5F,0x48,0x72,0x39,0x4B,0x89,0x71, -0x2A,0x81,0x50,0x6A,0xDB,0x48,0x72,0x68,0x0E,0x17,0xD8,0xE2,0x4C,0x69,0xDE,0x53, -0xA2,0xC9,0x90,0xAA,0x37,0x33,0x09,0xFF,0x20,0x11,0xF0,0xCA,0x51,0xDA,0x70,0xE0, -0x53,0x7A,0xD2,0xE8,0xA0,0x51,0x6B,0x0A,0x2F,0x37,0xD9,0xE3,0xA5,0xAF,0xF1,0x95, -0x5B,0xF2,0x52,0x68,0xC2,0x76,0x4C,0x4F,0xCF,0x78,0x76,0x4C,0x4E,0x61,0xD4,0x5B, -0x14,0x12,0xFD,0xC7,0x21,0x24,0x1E,0xFE,0xB6,0x0B,0x7C,0x46,0x32,0xD4,0x1D,0xEE, -0xBC,0x7B,0x3C,0x06,0x63,0xEC,0xD6,0x74,0x55,0xBA,0x2E,0x14,0xCB,0x16,0x26,0x2C, -0x4A,0xB1,0xE7,0x69,0x2E,0xEC,0xFD,0xD5,0x82,0x79,0x4F,0xF2,0x12,0x25,0xE9,0xF3, -0xAC,0x57,0x0A,0x62,0xED,0x35,0xE7,0x16,0x1A,0xE1,0x9D,0xB8,0x3B,0x03,0xC0,0xFC, -0x08,0xF3,0x16,0xDA,0x35,0xFF,0xF5,0xCE,0x70,0x8B,0x00,0x4F,0xE8,0x9A,0x13,0xB6, -0x1F,0xE4,0x17,0xCC,0x03,0xDA,0xE6,0xF8,0x3C,0xC7,0xDE,0xDD,0x97,0x1D,0x6C,0x4E, -0x04,0xFF,0x04,0xC4,0xD8,0x41,0xA6,0x23,0xFD,0x06,0xB7,0x75,0xB8,0x5A,0x43,0x26, -0xEA,0x11,0xEB,0xC5,0x76,0x2E,0x67,0x8D,0x58,0xA3,0x2E,0x49,0x80,0x1C,0x7B,0x58, -0x62,0x99,0xE1,0x47,0x8C,0x91,0x22,0x77,0x6A,0x91,0x29,0x7C,0x07,0x55,0xFC,0x96, -0xDF,0x24,0x9F,0x84,0xC6,0x62,0x9B,0x3D,0x55,0xAE,0x11,0x7B,0xE4,0x88,0x1F,0xA8, -0x9E,0x65,0x3F,0x65,0x47,0x4A,0x32,0xBC,0xDA,0x21,0xD5,0x30,0x1D,0x66,0xE6,0xBF, -0x0B,0xF0,0x47,0x88,0xAE,0xE4,0x75,0x55,0x0F,0xF4,0xF8,0xC8,0xCD,0xAE,0x36,0xA7, -0xF7,0x0C,0x99,0xAA,0x14,0xDB,0xF0,0xEF,0x2D,0xD6,0xAF,0xBD,0x5D,0xE6,0xA6,0x7F, -0x8C,0x77,0x0E,0x46,0xD4,0x53,0xB8,0x2F,0x9E,0x65,0x01,0xA0,0x75,0xE0,0x8E,0x51, -0xEE,0x15,0xFB,0xD1,0x96,0xA2,0x0B,0x6D,0xEB,0x10,0x80,0x54,0x5C,0xC6,0xA7,0x5E, -0xC9,0x32,0xBE,0xB3,0x16,0xAA,0x83,0xED,0x25,0xDE,0xA5,0xBF,0xF3,0x89,0x08,0xBE, -0x9B,0x60,0x0F,0x50,0xB9,0xE5,0x63,0x42,0x90,0x6B,0x6C,0xC3,0xF9,0xFA,0x02,0xC7, -0x53,0xA8,0x85,0x12,0x78,0x4D,0x0A,0x83,0x52,0xA9,0x57,0x3A,0xAB,0x4B,0x50,0x24, -0xA5,0x5E,0x28,0x49,0xBA,0xB4,0x31,0x41,0x9A,0x61,0x15,0xB0,0x50,0xD4,0xAB,0x40, -0x57,0xAC,0x95,0x06,0x56,0x2A,0x43,0xAD,0x00,0xFB,0xB4,0x8B,0x13,0x05,0xE8,0xD2, -0x2C,0xD7,0x02,0xEA,0xC3,0x52,0xAE,0x38,0xB0,0x4B,0x48,0xC7,0xB4,0x48,0x4F,0x38, -0xDA,0x21,0xAF,0xB1,0x93,0x92,0x3E,0x68,0x4B,0xB0,0x2C,0x58,0xD9,0xFE,0x22,0xE3, -0x36,0xCD,0x31,0xC3,0x40,0x0B,0x74,0xBB,0x5B,0xA0,0x7C,0x18,0x19,0x76,0xE2,0xAB, -0xD3,0x28,0x8D,0x9A,0x9B,0x90,0x34,0x60,0x1C,0xE7,0xFA,0xD9,0xE6,0xF9,0x1D,0xDB, -0x64,0x9F,0x80,0x20,0x83,0xD2,0x6E,0x78,0xFB,0x00,0xD0,0x14,0x29,0x32,0xD2,0xDF, -0x39,0xC2,0x72,0x8F,0x9D,0xF1,0x53,0x66,0xC7,0x3C,0xBA,0x42,0x84,0x0C,0x7F,0x4C, -0xF6,0x0D,0xB9,0x8B,0x3F,0x8C,0x8C,0xC4,0xF6,0x0D,0xEF,0x26,0x27,0x51,0xDC,0xB2, -0x69,0x92,0xB2,0x1F,0x5F,0x08,0x68,0xA4,0x88,0x73,0x36,0x81,0x81,0x3C,0x7A,0x79, -0x09,0xF2,0x36,0xFB,0x87,0xC2,0x7A,0x7C,0x3A,0xC1,0xB9,0xBC,0xCA,0xEF,0x31,0xE1, -0x6C,0x97,0x82,0x2A,0xC4,0x13,0xE8,0x3F,0x49,0xB2,0x5F,0x29,0xA8,0x1A,0x53,0x76, -0x24,0xDF,0x00,0xE0,0x46,0x6A,0x13,0xBD,0x71,0x8A,0x21,0x6F,0x4F,0xD7,0xB4,0x5C, -0x7E,0x85,0xB3,0x09,0xBF,0x84,0x04,0x44,0xF9,0x02,0xA3,0x65,0xEC,0x8A,0x17,0xA2, -0xD4,0x2F,0xCC,0xDC,0xEE,0x64,0xB5,0x15,0x89,0x72,0x17,0xA1,0xDB,0x8F,0x20,0x90, -0xBA,0x41,0x2B,0x55,0xD0,0x43,0xAC,0x2B,0x73,0x88,0x52,0x1E,0x59,0xF6,0xA2,0x6B, -0xE2,0x19,0xE9,0xCF,0x26,0xEE,0xF7,0xDD,0x3B,0xC0,0x98,0x9C,0xC6,0xFD,0x3D,0xFF, -0x1A,0xE1,0x27,0xF9,0xFE,0x24,0xE5,0x05,0xB6,0x4D,0x2F,0xA6,0xFD,0xEA,0x06,0xD3, -0xFE,0x05,0xBB,0x81,0x8F,0xC0,0x70,0x74,0xB3,0x48,0x1A,0x96,0x30,0x50,0xCB,0xA4, -0xA7,0x5C,0x59,0x3A,0x2B,0xDC,0xC8,0xD0,0xBD,0x46,0x77,0xF5,0xE9,0xBA,0x12,0x97, -0x54,0xAF,0xC4,0x54,0x54,0x5B,0x30,0xAF,0x1B,0xE0,0xBC,0x98,0x40,0x94,0xBB,0x10, -0xBF,0x44,0x1B,0x60,0xC5,0x33,0xC9,0x3E,0x4A,0xB1,0x0D,0x78,0x26,0x71,0xDD,0x93, -0x7F,0x84,0x93,0x28,0x2C,0x9D,0x8E,0xD7,0x94,0x6F,0x78,0xD3,0x1B,0x07,0xE0,0xD8, -0x18,0xE3,0x56,0x8A,0xCC,0x11,0xE2,0x37,0x3E,0xC5,0xAD,0xAC,0x63,0xC1,0x98,0x66, -0x76,0x8D,0xB1,0x03,0x67,0x4E,0x16,0x9C,0xAD,0x56,0x27,0xB5,0xC3,0xCD,0x38,0xCA, -0x82,0x79,0x6D,0x2B,0x4C,0x19,0x6A,0xB7,0x80,0x7B,0x3C,0x83,0x22,0x61,0xD9,0x87, -0xFA,0x01,0xAB,0x95,0x2A,0xFC,0xE9,0xD1,0x34,0xCF,0xD4,0xDF,0x7A,0xA3,0x81,0x1D, -0xB3,0x48,0x09,0x7E,0x7E,0x2C,0x6D,0x85,0x61,0x9A,0x71,0x2F,0xC2,0xED,0x39,0xEB, -0x33,0xC8,0x01,0xF6,0xF8,0x45,0x82,0x03,0x7D,0x86,0x3F,0x7D,0xDC,0xCE,0x27,0xD6, -0x2A,0xD1,0x63,0x8D,0x6E,0x6C,0x3D,0x95,0x62,0x99,0x23,0x7E,0x17,0x15,0xEC,0xC6, -0xB5,0x4E,0x68,0x19,0x0B,0xD8,0xEC,0xF0,0x42,0xB9,0x07,0x7A,0x49,0xB6,0xB2,0x3B, -0x70,0x8B,0xD0,0x64,0x95,0xF3,0x59,0x6E,0xD6,0x2D,0xCB,0x22,0x58,0xD6,0xA3,0x4A, -0x2E,0xD5,0x73,0x99,0x9C,0xD1,0x72,0x67,0x6F,0x94,0x1C,0x4C,0x87,0x5D,0x7C,0x1E, -0xD2,0x29,0xAD,0xBB,0xCF,0x40,0xB0,0x34,0x68,0x93,0x5A,0x0D,0xE3,0xC9,0x18,0xEE, -0x71,0x8A,0xF0,0x45,0x4D,0x39,0x4B,0xB6,0x1E,0xE5,0x89,0xA8,0x25,0x20,0xDE,0xC1, -0xCB,0x30,0xCF,0xC0,0xC1,0x23,0xDD,0x3A,0x72,0x89,0x73,0x3E,0x51,0xF4,0xAA,0x61, -0x28,0xD3,0x12,0xFE,0x0E,0xE8,0xD9,0xF5,0xB5,0x4E,0x7D,0xF7,0xF2,0xA9,0x09,0x9F, -0x47,0xBC,0xD5,0x56,0x59,0x69,0x0F,0xA2,0x51,0xAA,0x05,0x6B,0x45,0xA4,0xBE,0x25, -0x1E,0xE5,0x37,0xED,0xA1,0xA7,0x39,0x5A,0x86,0x7D,0x5B,0xE2,0x43,0xC5,0xB8,0x42, -0x90,0x6B,0x5C,0x08,0xEF,0x44,0x94,0x14,0xF7,0x0C,0xCE,0x06,0x5B,0x87,0xA0,0x18, -0x6A,0x91,0xE3,0x4D,0x64,0x1F,0x44,0x9F,0xF4,0x0F,0x9C,0x57,0x5E,0xB7,0xA5,0x2D, -0xC8,0x33,0x9E,0x92,0x07,0xCA,0xF2,0xFC,0x75,0x8E,0x35,0x7F,0x4C,0x86,0xB7,0x0E, -0x0A,0xF1,0x67,0xA9,0xC9,0x21,0xD7,0x32,0xCE,0x35,0x91,0x60,0x5F,0x97,0xA4,0x0C, -0x20,0xDB,0x10,0xF4,0xCA,0x70,0x85,0x31,0x0A,0xF1,0xCD,0xF8,0xCC,0x8E,0x37,0x86, -0x0E,0xF5,0x77,0xBD,0x23,0xDE,0xC2,0xD8,0x5A,0xA1,0x5D,0x38,0xA6,0x79,0x5D,0x1B, -0x01,0xFA,0x34,0xF1,0x66,0x6E,0x37,0x9D,0x63,0x98,0x02,0x5E,0xEB,0xCB,0x10,0xE4, -0x52,0xA9,0xA5,0x33,0xEA,0x74,0xA1,0x11,0x45,0xBE,0x41,0x3B,0xFF,0x9B,0x04,0xA0, -0x8F,0x74,0x5F,0x14,0xE7,0x46,0x9E,0x1C,0x69,0x92,0x7B,0x2D,0x96,0x3D,0x6D,0x6F, -0x71,0x54,0xE6,0x7C,0x85,0x74,0x3F,0x32,0xCA,0x9D,0x90,0x94,0xDC,0x75,0x6A,0xD1, -0xAC,0xAE,0xC1,0xA1,0xB7,0x4B,0x32,0x3F,0xDC,0xB1,0xBC,0xAE,0xB5,0xBA,0xCC,0xB8, -0x2D,0x86,0x68,0x20,0x2F,0x17,0xF6,0xFB,0xC9,0x82,0x8F,0x88,0x85,0xCE,0x88,0x88, -0x22,0xC5,0x24,0x2F,0x9F,0xE2,0xB3,0xBE,0xAF,0xBB,0xB6,0xD7,0xC8,0x31,0x3A,0xC5, -0x29,0x96,0x7C,0x24,0xD0,0x02,0x1C,0x11,0x91,0x16,0x1B,0x44,0x7C,0xD9,0x66,0x71, -0x03,0xE1,0x21,0x0E,0x81,0x50,0x1F,0x12,0x09,0xD2,0xDF,0x18,0xEF,0x53,0x7F,0xE2, -0x49,0x12,0x98,0x44,0xEE,0x91,0xB1,0xBC,0xA6,0x2C,0x21,0x49,0x7D,0xF8,0x46,0x70, -0xEB,0x6F,0x47,0xE6,0x3B,0x27,0xD2,0xDF,0x8E,0xAD,0xA0,0xE0,0x6F,0xDB,0x77,0x62, -0x3D,0xC6,0x38,0x30,0x56,0xEC,0x74,0x79,0x13,0x5E,0x53,0x8E,0x60,0x97,0x34,0x6D, -0xB3,0xAD,0xDD,0xBE,0xB5,0x41,0x3A,0x37,0xF7,0x2F,0x22,0x1B,0x78,0xCD,0x76,0x75, -0x0B,0xE3,0x2B,0x06,0x19,0x0C,0xDB,0xD6,0x06,0x6D,0x60,0xA8,0xD1,0x4A,0x58,0xDC, -0x64,0x24,0x83,0x69,0x98,0xDA,0x8C,0x81,0x9A,0x89,0x84,0xD0,0x66,0xF0,0x55,0x6B, -0x52,0x01,0x90,0x5F,0xC8,0x9E,0x98,0x95,0x59,0xC6,0xCB,0x5C,0x06,0x14,0xD1,0x0B, -0xE8,0x3E,0x15,0xE5,0xD2,0x08,0x14,0x19,0xCF,0xAA,0xA7,0xA6,0x72,0xB4,0x05,0x7F, -0x0D,0x82,0x4C,0x00,0x20,0xA7,0x49,0x44,0xBD,0xB7,0xBA,0xC9,0xA4,0xCB,0xAC,0xA9, -0xF1,0x5C,0x6E,0xFC,0xB1,0x65,0x1A,0x17,0xFC,0xB0,0xBD,0x8F,0xC0,0x3B,0x38,0xCD, -0x96,0x99,0xCC,0x9B,0x29,0x39,0xDE,0xD3,0x8B,0x9A,0x97,0xD2,0x6A,0xEE,0x47,0x67, -0x53,0x21,0xB1,0x5E,0x02,0x8C,0x40,0x4D,0xD3,0x0E,0x03,0x1E,0x7B,0x9F,0x27,0x76, -0x10,0xF0,0x23,0x1D,0xB4,0x57,0x2D,0x20,0x8C,0xA5,0xA8,0xEA,0xFF,0x03,0x3F,0xF2, -0x09,0x92,0x58,0x04,0x9D,0xE8,0xBB,0xB6,0x8F,0xBA,0xB7,0xF6,0x34,0x13,0xE4,0x39, -0xD9,0x5A,0x40,0xD4,0x0D,0x3C,0xFF,0xF2,0x2E,0xEC,0xE1,0x01,0x59,0xC8,0x52,0x54, -0x90,0xF8,0xAB,0x9D,0xDD,0xB8,0xAB,0xA6,0xDE,0xB9,0xB4,0xA4,0xE1,0x3E,0x1C,0xEC, -0x55,0x40,0xD6,0x58,0xBF,0xC3,0xB2,0xBF,0x44,0x75,0x78,0xF2,0xE0,0x1F,0x3C,0xED, -0xA1,0x9C,0xFE,0xAC,0xE8,0xBF,0x99,0x94,0x72,0x58,0x55,0xE9,0x01,0x52,0x90,0x0C, -0x5C,0x62,0xFD,0x51,0x6C,0x5B,0xF9,0xF4,0x22,0x4C,0x41,0xAD,0x38,0x0D,0xF6,0x35, -0x3B,0xA7,0x5F,0x36,0xE0,0x37,0x19,0x14,0x5D,0xE6,0xEB,0x78,0x40,0xB3,0x30,0x4D, -0x77,0x35,0x81,0x7A,0xAA,0xE5,0x81,0x8C,0x69,0xC3,0xCE,0x69,0x63,0xC5,0x65,0x6E, -0x9C,0xEA,0xB5,0x91,0xC2,0x1C,0x10,0x1D,0x89,0x92,0x9F,0xD8,0x05,0x46,0x80,0x08, -0xDD,0x4A,0x54,0xD0,0x31,0xA5,0x5A,0x57,0x67,0x6B,0x66,0xCF,0x13,0x71,0xA1,0x1E, -0x84,0xA8,0xEF,0x89,0x2D,0x1D,0xFE,0xF3,0x04,0x65,0x68,0xA2,0xCA,0x42,0x4B,0xC7, -0xC1,0x18,0x1A,0xCC,0x1F,0x22,0xF3,0xFE,0x6D,0xE3,0xEE,0x4D,0xE5,0x2A,0x0C,0xE8, -0x39,0xD6,0x2C,0x34,0xD5,0x30,0x2B,0x26,0x57,0x6E,0x63,0xFA,0xDE,0x06,0x1B,0xD3, -0xF7,0x3D,0x09,0xFA,0x95,0x60,0x3B,0x36,0x50,0x51,0x5C,0xC2,0xF8,0x45,0x7E,0xF5, -0x99,0xDA,0x80,0x94,0xB2,0x79,0x05,0x08,0xEF,0xAB,0xA6,0x87,0x7A,0xBE,0x07,0x77, -0x07,0xF1,0x35,0x0A,0x9B,0xC6,0x93,0x9E,0x9E,0xA9,0xA4,0xF4,0x6C,0x89,0x26,0x61, -0x5D,0x42,0xDC,0x50,0x75,0xD1,0x6A,0x67,0x94,0x21,0x2C,0x76,0xCF,0x77,0x7B,0xC2, -0x2A,0xC7,0x2E,0x27,0x33,0xAF,0x52,0x5F,0x4D,0xE2,0xEF,0x6C,0xE9,0x34,0x1E,0xE4, -0x4F,0x73,0xFF,0x42,0xE2,0x3D,0x11,0x1C,0xD8,0x91,0x9C,0x8A,0x8B,0xA3,0xEB,0x86, -0xD5,0x48,0x5E,0xD8,0x7D,0x59,0xEA,0xE7,0xD7,0x2E,0x23,0x3A,0x04,0x67,0xA0,0x09, -0x4A,0x43,0xCA,0x47,0xF9,0xBD,0x8A,0x87,0x70,0x50,0x5D,0xE3,0xA2,0xAC,0xCD,0xAF, -0x47,0x71,0xF5,0x4A,0x23,0xBB,0x56,0x5B,0xE5,0x23,0x2E,0x05,0x0A,0x0A,0xC3,0x07, -0x1A,0x83,0x5A,0x17,0x00,0x86,0x48,0x45,0xB3,0x1F,0x12,0x6F,0xA7,0x99,0xFD,0xAA, -0x15,0xC0,0x16,0x18,0xFA,0xA1,0x95,0x98,0xE9,0x83,0x8E,0xA9,0x3A,0x7E,0x87,0x37, -0xF0,0x7C,0x4F,0xFD,0x61,0xE1,0x4E,0x43,0x28,0xC4,0xC9,0x2F,0xC5,0x0E,0x08,0xC8, -0x0F,0xF3,0x3F,0x02,0xA3,0x7B,0x16,0x1B,0x36,0x68,0x65,0x9D,0x97,0xED,0xB9,0x9A, -0xF9,0x5E,0x64,0xF4,0x63,0xEB,0x46,0x4B,0xA9,0x93,0x9E,0xF9,0xFA,0x36,0x0F,0xF7, -0x86,0xD9,0x9C,0x8B,0x45,0xE4,0x6F,0x62,0x41,0x42,0x4F,0xC0,0x73,0x95,0x25,0x7E, -0x74,0x64,0xD3,0x79,0xDB,0x96,0x83,0x8E,0x7A,0xD8,0xD5,0x61,0x30,0x07,0xF4,0x3D, -0xB8,0xFE,0x85,0xB5,0x14,0xB6,0x6C,0x61,0x32,0x48,0x45,0xB9,0xDA,0x12,0x0B,0xD7, -0x70,0x74,0xC7,0x7D,0xBC,0xDF,0xAD,0xA0,0xCB,0x8A,0x87,0x82,0x88,0xF1,0xBA,0x85, -0xCD,0x0A,0x04,0xC0,0x53,0xDE,0x43,0x4E,0xA5,0x33,0x3E,0x55,0x7F,0x8B,0x37,0x72, -0xEA,0x4F,0x66,0xE7,0x5B,0x56,0xC3,0xCE,0x4E,0xFD,0xF0,0x70,0xD0,0x6B,0x78,0xDD, -0xD4,0x68,0x7F,0xD9,0x2A,0x25,0xC1,0xCC,0x4C,0xF5,0xF8,0x7A,0x7E,0xAA,0x17,0x73, -0xAF,0xFF,0x93,0xA2,0xA2,0x6D,0x01,0x0C,0x51,0x46,0x4B,0xD4,0x56,0x84,0x11,0x5B, -0xBD,0xCE,0xB0,0xB0,0xBB,0xE7,0x92,0x9F,0xC1,0x02,0x0F,0x00,0x3E,0x6A,0x97,0x33, -0x28,0xB6,0x5D,0x25,0x15,0xA0,0x7B,0x76,0x39,0xD7,0xDA,0x2D,0xEE,0x72,0x5F,0xE3, -0x41,0x10,0x92,0x4C,0x60,0xF7,0x59,0x54,0x8D,0xB2,0xBF,0xFC,0x24,0x43,0xA4,0x29, -0xFC,0x6E,0x51,0xF1,0x93,0x4E,0x13,0x1E,0x8A,0x8D,0x80,0xC4,0xC7,0x7D,0x79,0xCA, -0x27,0xF5,0x11,0x2A,0xB0,0x73,0x0D,0x00,0x84,0x25,0x28,0x62,0x9B,0xF3,0xAB,0x96, -0xC9,0x1A,0x10,0xC4,0xDF,0xB2,0xA3,0xAE,0xB8,0x80,0x8D,0xFB,0xA3,0x8D,0xED,0xAE, -0x2B,0xE7,0x0F,0x26,0x0E,0x20,0xE0,0xED,0xBE,0xA8,0xA5,0xD5,0xCB,0x63,0x6B,0xC6, -0x3C,0xE6,0x19,0x31,0x2B,0x33,0xD6,0xDB,0x2C,0xE4,0xE9,0x0B,0xB4,0x9B,0xEC,0xB9, -0x69,0x16,0xBC,0x64,0x1D,0x28,0xFB,0xF6,0x03,0x5A,0x57,0x9A,0x31,0x26,0xD4,0x3C, -0x8F,0xFB,0xB7,0x82,0xC4,0x32,0x38,0x35,0x49,0xC2,0xCF,0x48,0x18,0x29,0xF2,0x15, -0x9D,0x41,0x8C,0xA6,0x46,0xB4,0x99,0xA2,0x34,0xBF,0x84,0xDB,0xB9,0xBC,0x55,0x82, -0x65,0x8F,0xBA,0x5E,0x8C,0xA6,0x41,0x7A,0x0E,0x32,0x09,0x6C,0x82,0x90,0x42,0xB9, -0x81,0x13,0xC2,0xBA,0x68,0x33,0x30,0x0B,0x3E,0x37,0x0C,0x59,0x4F,0xE7,0xF8,0x74, -0xD8,0xF1,0x79,0xE3,0x74,0x8B,0x94,0xAF,0x5D,0x39,0x02,0x34,0x96,0xD4,0x12,0xAD, -0x2B,0x6C,0x17,0x10,0xF3,0x73,0xEB,0xD0,0x30,0x9F,0xA4,0xFF,0x3F,0x53,0x3C,0x04, -0xC0,0xB3,0x23,0xFB,0x9B,0x8A,0x7A,0x41,0xD0,0xCE,0xF5,0x4E,0x59,0xD0,0xD9,0x62, -0x00,0x3B,0x6B,0x3B,0x35,0xCD,0x93,0xA8,0x7B,0x10,0x2B,0x3B,0x64,0x9B,0xAF,0x5F, -0x67,0xFE,0xC9,0x5C,0xB9,0xA1,0x73,0x48,0x04,0xBA,0x81,0xEE,0x1C,0x25,0x69,0x27, -0x09,0x19,0x40,0x32,0xE6,0x55,0xD8,0xE3,0x1D,0x29,0x12,0x64,0xBC,0x89,0x65,0x87, -0xFD,0xC5,0x68,0xC6,0xB1,0x29,0xF3,0xC8,0x2B,0x04,0x3F,0x7F,0x5D,0xC4,0xC9,0x66, -0x85,0x03,0xD6,0xBE,0x54,0xAA,0x95,0xAE,0x77,0xB0,0x8B,0x97,0x05,0x5E,0x0B,0x3E, -0xCC,0xA1,0x3D,0xF7,0x84,0x2E,0xC1,0xFA,0x87,0xE5,0xDE,0x32,0xBD,0xA8,0x45,0x86, -0x4C,0xA9,0xB5,0x77,0xED,0xC1,0x47,0x7C,0xD5,0xF9,0xC2,0x7C,0xA3,0x95,0x66,0x98, -0x55,0xCB,0xCE,0x6E,0xC4,0x7E,0xD1,0xEA,0xD6,0xE6,0xDD,0x60,0x68,0x85,0xBD,0x53, -0xCA,0xC0,0x5A,0xF1,0x70,0xAF,0xB4,0x8F,0xD2,0xC6,0xFD,0x44,0x36,0x78,0x1E,0x0D, -0x0F,0x78,0x27,0x34,0x5B,0x1A,0x2A,0x11,0x8A,0x52,0x69,0x88,0x27,0x09,0x7E,0x1C, -0x51,0xDB,0xDA,0x6A,0x79,0x31,0x23,0x18,0xE4,0xEB,0xD0,0x5F,0xF8,0x5D,0xF5,0xC3, -0xAD,0x05,0xF8,0x96,0xE8,0xF3,0x70,0x4B,0xA5,0xEC,0xD7,0x19,0x9C,0xAD,0x61,0xA7, -0x0E,0x58,0x06,0x35,0x91,0x08,0xF2,0xC9,0x00,0x9A,0xA1,0xCA,0x5A,0x82,0x88,0x61, -0xB4,0x67,0x83,0x8F,0x8B,0x9E,0x7E,0x45,0x96,0xF6,0xCD,0x30,0x2E,0x22,0x5C,0x15, -0x57,0xBA,0xBD,0x6C,0x40,0x9A,0xB1,0x8A,0x5F,0x31,0x0A,0x3E,0x8D,0xDC,0x01,0xB6, -0x38,0x7D,0x15,0x03,0xC1,0x4C,0xE6,0xDD,0xC3,0xD5,0xEE,0x46,0x3A,0x66,0x0C,0x01, -0x61,0x9F,0xAE,0x5A,0x0F,0x7A,0x1E,0x25,0x4A,0x02,0x39,0x18,0x3C,0x01,0x6D,0x07, -0xEF,0xF4,0x4B,0xD4,0xEC,0xD7,0x50,0x6B,0xAE,0x73,0x48,0x8D,0x24,0x5B,0x2F,0x1F, -0x15,0x4B,0x0E,0x2E,0xB7,0x07,0xDB,0xE0,0xFF,0x70,0x4B,0xDF,0x21,0x6E,0x1F,0x1A, -0xB7,0x36,0xD1,0x8C,0x62,0xB1,0xB8,0x83,0xD7,0xF1,0xCA,0x76,0x33,0x4D,0x2E,0x08, -0x75,0xCF,0xEA,0x4E,0x89,0x94,0x76,0x4D,0xC8,0x4A,0x71,0xD2,0x20,0x4F,0x3F,0x1B, -0x5F,0xB8,0xB7,0x64,0xD8,0xC6,0x75,0x4E,0x50,0x8E,0xB5,0x8E,0xB3,0xC5,0x26,0x88, -0x71,0xDF,0xFE,0x4A,0x76,0x81,0x9C,0xA7,0x90,0xDE,0xE5,0x1E,0xD9,0x58,0xD1,0xE2, -0x7E,0x9C,0xB2,0x45,0xC6,0x74,0xD9,0xE2,0xF6,0xE7,0xDC,0x41,0x94,0xA7,0x63,0xAF, -0x2D,0x0D,0x70,0x16,0xDC,0xE2,0x55,0x6E,0x93,0xC1,0xFA,0x02,0x80,0xE3,0x33,0xBB, -0xF0,0xF7,0x57,0xCB,0xEE,0xDD,0x58,0x63,0x85,0xED,0xD6,0x38,0xE9,0x2C,0x95,0xD2, -0x35,0x4F,0x2A,0x0E,0x44,0xBE,0x91,0xAA,0x5A,0x06,0x3D,0x0C,0x6D,0xB0,0x8D,0x56, -0xD3,0xA2,0x21,0xE8,0x9D,0xA4,0x52,0x69,0x10,0x9E,0xA5,0xDE,0x44,0xBF,0xAB,0x7F, -0x77,0xBE,0x99,0x4C,0x57,0xB6,0x8A,0xB1,0xE7,0xF4,0xCF,0x43,0x97,0xF5,0x32,0xAC, -0x60,0xBF,0x8F,0x5B,0x72,0xA5,0xBC,0x87,0x75,0xB8,0x83,0x9D,0xE8,0x0D,0xB5,0xD3, -0x7B,0xAC,0x87,0x40,0xE9,0xE5,0x67,0x5C,0xDD,0x79,0x42,0xF4,0xC7,0x65,0xF2,0xFC, -0x95,0x43,0x86,0xAE,0x86,0x24,0xC9,0xF2,0xE1,0xDC,0xE7,0x6D,0xFF,0x1B,0xB4,0xC4, -0x1D,0x49,0x04,0x26,0x39,0x61,0x33,0x08,0xD4,0xEE,0xD5,0x6A,0x78,0xD5,0xFD,0x43, -0xA0,0x37,0xC7,0x9B,0xCA,0xD8,0x79,0x42,0xD3,0xD1,0xEA,0x52,0x9B,0xEB,0x20,0xA0, -0xE1,0x97,0x26,0xDA,0xE2,0x71,0xF8,0xC3,0x98,0x5E,0x65,0x96,0x62,0xFC,0xCE,0x59, -0x74,0xEF,0xCB,0x4F,0x4C,0x36,0x11,0x2A,0x60,0x8B,0xB0,0xBB,0xB2,0xE4,0x06,0x89, -0x88,0x31,0xE9,0xB3,0x73,0xB3,0xAB,0x90,0x15,0xA9,0x92,0xEC,0x22,0x3C,0x4E,0x19, -0xF3,0xA6,0x05,0xC8,0xFB,0xFB,0x6B,0x50,0x08,0x1A,0x21,0x42,0x0A,0x12,0x48,0x31, -0x91,0x53,0x92,0xAA,0x0A,0x48,0x29,0x12,0xFC,0x6F,0x54,0xC3,0x23,0x1D,0x6E,0x18, -0xB6,0x16,0xF0,0x8D,0x02,0xC0,0xA9,0x92,0x17,0xA1,0x9A,0xE6,0x8C,0xFD,0x21,0xB7, -0xE4,0xA7,0x13,0xDF,0x4D,0x20,0x06,0x3D,0x6B,0x14,0x2F,0x2F,0x86,0x84,0x52,0xBD, -0x2C,0x2D,0x51,0x17,0xE5,0x49,0xC7,0xFC,0x92,0xD6,0xED,0x14,0xD4,0x67,0xE3,0xEF, -0xDA,0x80,0x0A,0xE1,0x1C,0x72,0x05,0x3E,0x18,0x1E,0x25,0x56,0x2F,0x03,0x7C,0x14, -0x28,0x3D,0x45,0x13,0x82,0x00,0xE9,0xD2,0x23,0x84,0xBF,0xF7,0x6C,0x91,0xAD,0x57, -0x53,0xAA,0xA9,0x68,0xFA,0xED,0x7C,0x47,0x6F,0x34,0x0F,0x0B,0xCB,0x7B,0xE0,0xF0, -0xA5,0x07,0xF2,0x9E,0x3A,0x7D,0x2C,0x17,0xF0,0xCF,0xF4,0x6F,0xA6,0xA0,0x56,0x9D, -0x49,0x99,0x80,0x72,0xA3,0x37,0xFF,0xC4,0xB0,0xDF,0xE4,0x3F,0x66,0xE8,0xDE,0x5D, -0xAC,0x25,0xD9,0x97,0x38,0x77,0x24,0x1F,0x71,0x98,0xA3,0xB9,0x99,0x98,0x51,0xA2, -0x1B,0x28,0x63,0x20,0x7A,0x2D,0x3C,0x07,0xBC,0x7F,0x44,0x93,0x56,0x9C,0x9A,0x6D, -0x46,0xDA,0xCC,0x7D,0x59,0x10,0x22,0x19,0xEA,0x43,0x78,0xF9,0xFB,0x0F,0xA4,0xC0, -0x89,0x11,0xC8,0xB2,0x24,0xCF,0x80,0xBB,0x8E,0x72,0x49,0xAC,0x58,0xF1,0xF9,0x63, -0x16,0x1A,0x5C,0x2D,0xA0,0x2B,0xE0,0xDB,0x29,0x0C,0x37,0x75,0xFE,0x3A,0x94,0xC5, -0x76,0x9E,0xB8,0x4D,0x6A,0x39,0x38,0x03,0x14,0xBE,0x85,0xFA,0xB5,0xA2,0x47,0x8E, -0x13,0x2A,0x69,0x28,0xBB,0xAB,0x7B,0x40,0x81,0xCD,0xF6,0x1C,0xD7,0x35,0xB2,0xEC, -0x5B,0xA8,0xA3,0x60,0xC2,0x50,0xF9,0xC2,0xC7,0xF5,0xCE,0x62,0x30,0x1F,0x7F,0x0B, -0x01,0x1B,0x4A,0x3A,0x2C,0x47,0x00,0x3B,0xCD,0x7D,0x46,0xE0,0x93,0xE1,0x22,0xA8, -0xAB,0x64,0x9F,0x90,0xCC,0xF6,0x51,0x6A,0x09,0x0D,0x36,0x54,0xA4,0xD3,0x27,0x9F, -0xC5,0x83,0x16,0xFE,0xEB,0xEF,0x6F,0x54,0xB6,0xF7,0xCC,0x11,0x26,0x28,0x5E,0x1D, -0x12,0x74,0xB8,0xC7,0x44,0x9C,0xE3,0x06,0x49,0x31,0xD9,0xA6,0x07,0x8B,0x52,0xF4, -0x1A,0xFC,0x38,0x47,0x26,0xBB,0xC4,0x43,0xA9,0x7E,0x76,0x09,0xEC,0x45,0x77,0x3A, -0xF5,0xFD,0xD6,0xA9,0xE5,0x06,0x79,0x3D,0xD3,0xF3,0x81,0xFE,0x82,0xFC,0xA0,0x83, -0x5D,0x94,0x17,0x68,0xA7,0xCE,0xB1,0xB7,0x30,0x42,0xD3,0xAC,0x7B,0x3E,0x9B,0x41, -0x5C,0x82,0x00,0x7F,0x7F,0x5E,0x21,0xFF,0x50,0x16,0xE7,0x98,0x70,0xA1,0x0F,0xDE, -0xF2,0xC5,0xE9,0x96,0x92,0xCB,0xB4,0x87,0x48,0xDE,0x37,0x48,0x88,0x74,0x22,0x0B, -0xEB,0x4F,0x7A,0x05,0xB1,0xD9,0xA6,0xB6,0xA6,0x58,0x5F,0x20,0x18,0x30,0xF6,0x4F, -0x63,0x07,0xBA,0xC5,0x5D,0xA2,0xDD,0x21,0x88,0x5E,0x77,0x08,0x05,0x83,0x58,0xFC, -0x96,0x90,0xD8,0xA7,0x32,0xBF,0xC0,0x53,0xAF,0xA4,0xAA,0xD5,0xF1,0xF6,0xD9,0x89, -0xF9,0x51,0x76,0x09,0x33,0x51,0x2E,0xBC,0xD1,0xE2,0x92,0xED,0xCD,0x53,0x40,0x2C, -0xDA,0x6C,0x68,0x17,0x73,0x8A,0xF5,0x27,0x5F,0x30,0xCE,0xB1,0xC3,0xFB,0xE6,0x84, -0x29,0xD5,0x22,0x5D,0xB0,0x37,0x48,0x59,0x61,0xED,0x2D,0x52,0xC4,0xC4,0xDE,0xBB, -0x8D,0x10,0x43,0x3C,0x95,0xF9,0x86,0xB2,0x0B,0xBB,0x11,0x6E,0x00,0xB4,0x6A,0xCB, -0x54,0x0A,0x80,0xFF,0x9E,0x1F,0x60,0x5F,0x04,0x9D,0x38,0x47,0x4A,0x2C,0xB8,0x53, -0x62,0x11,0xAD,0xD2,0x3B,0x4A,0x35,0xAF,0xB9,0xA5,0xBD,0xC2,0x65,0x92,0x29,0xED, -0x47,0x02,0x9B,0xE4,0x2D,0x5D,0x22,0xAE,0x41,0x22,0xC2,0xBD,0xF7,0xDE,0xF7,0xA1, -0x3C,0xF3,0x11,0x6E,0xFE,0x2B,0x54,0x0B,0x55,0x32,0xC6,0xB9,0xDD,0x57,0x54,0x28, -0xD2,0xE4,0xE8,0x97,0x17,0x71,0x0E,0xB8,0xAB,0x6F,0x65,0x1A,0xD7,0xDF,0xD6,0xA0, -0xFB,0x5B,0x7E,0x01,0xA2,0xEF,0x90,0x93,0x9C,0x4E,0x73,0x0C,0xA6,0xDD,0xA5,0xA2, -0xDC,0x42,0x40,0x3F,0x2B,0x81,0xFE,0x74,0x67,0x37,0xF1,0x8E,0x19,0x27,0xE0,0x58, -0xB0,0x9F,0xF1,0x8E,0xE8,0x3C,0x43,0x0A,0x8E,0x84,0xAB,0xD4,0x39,0x26,0xC1,0x59, -0x34,0x7B,0x91,0xEE,0x7C,0xA3,0xDC,0x01,0x45,0xE9,0x0D,0x72,0x9E,0x58,0x18,0x27, -0xAB,0x1F,0x6A,0x15,0xDD,0x39,0x46,0x3A,0x81,0xA2,0x82,0xFD,0x91,0xE7,0xA8,0x98, -0x7A,0x8D,0x29,0x56,0x0C,0x5C,0x23,0x8E,0x16,0x57,0xE0,0x9F,0x04,0x94,0x4E,0xEB, -0x28,0xC3,0x35,0x4A,0x6D,0x86,0xF9,0x35,0x2C,0x41,0xCC,0xB3,0x61,0xB2,0x0D,0xCD, -0xB3,0x83,0xEE,0x91,0x34,0x63,0x1C,0x89,0x5C,0xCE,0x33,0x4C,0xA0,0xF5,0x8B,0x8A, -0x49,0xA4,0x33,0x4C,0x78,0x6C,0x13,0xCA,0xBB,0xB4,0xAE,0xD1,0xFA,0x69,0x4D,0x16, -0x6A,0x99,0x2D,0x52,0xD7,0x31,0x4E,0x38,0x28,0x8A,0x03,0x7C,0xAC,0x55,0x27,0x2A, -0x92,0xB4,0xF8,0x87,0xF1,0x02,0x7D,0x2D,0x25,0xBD,0x39,0x46,0x33,0xAE,0x43,0xD1, -0x0C,0xC6,0x14,0x6B,0xBE,0xF0,0x8F,0x90,0xB7,0x6C,0x7A,0x05,0x08,0x34,0xE2,0x4B, -0x2A,0xC9,0x3D,0x42,0x46,0x8F,0xF0,0x17,0x14,0x46,0xF3,0x8C,0xE0,0xE5,0xDB,0x9A, -0xEA,0x59,0x6D,0x12,0x1D,0x79,0x06,0xBA,0xCF,0xF0,0x9E,0xE1,0x7F,0x1E,0xBF,0x61, -0xD4,0xCA,0xC0,0xBF,0x7A,0x7F,0x00,0xDB,0x31,0xAD,0x3D,0x42,0xC6,0xCC,0xD4,0xB3, -0xFD,0x75,0x56,0x29,0x01,0x66,0x19,0xB9,0x21,0x76,0xF6,0x89,0xC5,0xD3,0xC8,0xAC, -0x4B,0xAE,0x3B,0x44,0x93,0x25,0x5A,0x68,0xBD,0x6E,0x72,0x0D,0x9A,0x78,0x3C,0x07, -0x60,0x1B,0xA5,0xDA,0xEE,0xE0,0x9F,0xD0,0xCC,0x0E,0x63,0x1C,0xC2,0xEC,0xF0,0x93, -0xA1,0x9D,0xE2,0x9D,0xDC,0xD7,0xA8,0xD5,0x70,0xD9,0x08,0x77,0x3B,0x2E,0xCB,0x51, -0xF6,0xE1,0xC9,0xB6,0xF4,0x23,0x5C,0x09,0x3D,0x75,0xE9,0x96,0x0D,0x03,0xD0,0x7C, -0x94,0x9A,0xD0,0xAF,0x89,0xE6,0x99,0xB1,0x1C,0x55,0xE8,0x97,0x97,0xCF,0x86,0xB0, -0x44,0x1E,0x84,0xFB,0x62,0xAF,0xD0,0x13,0xEA,0x1B,0x50,0x2F,0x67,0x9A,0x23,0xE5, -0x8B,0x3E,0x6B,0x14,0x97,0xEA,0x95,0xA3,0x64,0xC9,0x0C,0x73,0xC0,0xE4,0xFA,0x9B, -0xE3,0xC7,0xFA,0x85,0xA3,0x01,0x7E,0x7C,0xE7,0x2C,0x6A,0x15,0x20,0xB5,0x4B,0xCA, -0xA9,0x15,0x62,0x1D,0x7D,0x4D,0x32,0xEE,0x91,0x79,0x49,0x36,0x14,0x90,0x5A,0xEF, -0x25,0x79,0x82,0xFD,0xDF,0x2A,0x55,0x2B,0x2F,0xBF,0x31,0x4E,0x6B,0x3A,0x8F,0x45, -0x9C,0x12,0x50,0x2F,0x0E,0x4F,0x30,0x9F,0x24,0x52,0xD7,0xA8,0x1E,0x18,0xD8,0x67, -0x56,0x00,0x88,0xF7,0x38,0xB7,0xC8,0x51,0x08,0x45,0xEC,0x93,0x24,0x95,0x6F,0xEA, -0x64,0x3F,0x85,0xFA,0xCD,0xF2,0x8D,0xE1,0x60,0x02,0xC3,0xBC,0x4D,0x13,0x80,0x6C, -0x78,0x87,0x21,0x5E,0x76,0xAB,0xD4,0x03,0x53,0xE8,0x1A,0x65,0x2E,0x1D,0xED,0x62, -0xD6,0xC0,0xC8,0xB7,0x06,0x54,0x2B,0x8C,0x13,0x73,0xC1,0xBE,0xE6,0xCD,0xF5,0xB2, -0x66,0x35,0x8D,0xF2,0x4A,0x5B,0x24,0xCF,0xEC,0xC1,0x8C,0xF3,0x80,0xF4,0xAA,0x8B, -0xFE,0x69,0x49,0x36,0xE3,0xDA,0xA5,0xE7,0x98,0x85,0xBC,0xC3,0x95,0xC7,0x8C,0xB8, -0xCC,0x56,0x44,0x3B,0xC4,0x07,0x78,0x1D,0x57,0x23,0xD5,0xAA,0x83,0xEB,0xB6,0x94, -0x72,0x05,0xA9,0xD6,0x65,0x9D,0xE2,0x26,0xF9,0x3E,0x66,0x19,0xC7,0xDB,0xC2,0xA4, -0xA7,0xB3,0xCA,0xB5,0xBA,0x3F,0x40,0x5B,0xDA,0x0F,0x74,0x0B,0xEF,0x5A,0x6B,0x25, -0xC8,0x72,0x64,0x1B,0x03,0x75,0x0A,0xA8,0x71,0x36,0xE6,0x99,0x40,0xA4,0x3A,0xDB, -0x99,0x20,0x67,0x18,0x5E,0x5F,0x20,0xDF,0xFB,0x2F,0x75,0x0A,0xD8,0x60,0x66,0x1F, -0xD1,0xF8,0xF7,0x88,0xA1,0x12,0x6D,0x6D,0xD2,0x1C,0x6F,0x10,0xD3,0xFF,0xF2,0x80, -0x50,0x2E,0xA0,0xDF,0x09,0x7D,0x02,0xAA,0x68,0x11,0xD8,0xA7,0x4F,0x1B,0x8A,0x64, -0xFC,0x63,0x41,0x3E,0xFF,0xC5,0xBA,0xE4,0xEF,0x3F,0x71,0x0E,0xBE,0x59,0x39,0x26, -0x1F,0xCE,0x0F,0x70,0x1A,0x4B,0x34,0x8F,0xB5,0x7D,0x69,0x16,0x5A,0x28,0xAC,0x57, -0xF8,0x47,0x61,0x1E,0x4C,0x87,0xF8,0x15,0x19,0x71,0xC9,0xB6,0xB5,0xC6,0xAD,0xB9, -0x69,0x85,0x32,0x4D,0x6E,0x7B,0x04,0xCB,0xE9,0xE5,0xAD,0xD2,0xF4,0xC1,0xEB,0xBE, -0x9B,0x2A,0x6F,0x10,0x37,0x9E,0xE1,0x77,0x96,0x4C,0x7B,0x04,0x86,0xDC,0x84,0xA3, -0x81,0xBC,0xE3,0x9C,0xB2,0x24,0x5B,0x48,0x36,0x98,0x0F,0x70,0x10,0xB0,0x7E,0xCF, -0xF0,0xEA,0x7D,0x1E,0xC1,0x56,0x49,0x8C,0xDF,0xB1,0x6A,0x48,0x78,0xFD,0x6A,0x16, -0x1B,0xA3,0x34,0xBC,0x95,0x02,0x99,0x08,0x8A,0x14,0x9A,0x1D,0x8E,0x45,0xD2,0x58, -0x66,0x66,0xF1,0x04,0x8C,0x1B,0xFB,0x73,0x46,0x42,0x00,0xD1,0xAF,0x44,0xD3,0x78, -0x4E,0x92,0x05,0xD8,0xA7,0x30,0xAC,0x0F,0x6B,0x59,0x36,0xFC,0xE2,0xA5,0x32,0xD4, -0x7C,0xA5,0x32,0xDD,0xE0,0x77,0x6D,0x89,0xA9,0x62,0xCF,0x3E,0x5E,0xCE,0x59,0x03, -0x01,0x60,0xF7,0x65,0x7E,0xE9,0x46,0x3C,0x3D,0xAE,0x97,0xAA,0x2F,0xDF,0x48,0x63, -0x93,0x23,0xB4,0xB4,0x13,0x84,0xF0,0xE7,0x96,0x5A,0xC8,0x01,0xB3,0x5B,0xCC,0x7B, -0xE8,0x3A,0xAD,0xD6,0x85,0x12,0xD9,0x58,0x89,0x46,0xCB,0x1E,0xA3,0x90,0x07,0xA0, -0xE4,0xEE,0x79,0x0E,0x64,0xF3,0x75,0x15,0x58,0x7F,0x23,0xCF,0xC1,0xB7,0x20,0xE5, -0x5F,0xB7,0x20,0xEC,0xC0,0x57,0x69,0xAD,0x56,0x12,0x40,0xC1,0xF2,0x6E,0xF9,0x0F, -0xAA,0xF2,0x65,0x5C,0xCD,0x5A,0x5B,0x92,0xD0,0xFD,0x29,0x47,0x9A,0x41,0xD6,0x48, -0x9C,0x0A,0x9D,0x92,0x15,0x82,0x91,0x80,0x5D,0x4A,0x13,0xCA,0xB6,0x7A,0xED,0x5F, -0x4D,0x6F,0xF8,0x26,0xC7,0x50,0x28,0xEB,0x7F,0x1D,0x66,0xE8,0xBD,0x9C,0x0B,0xB2, -0xEF,0x08,0x9F,0xE3,0x27,0xB0,0xA4,0x87,0xD5,0xC8,0x19,0x42,0x03,0xE4,0x73,0x74, -0x31,0x44,0xD3,0x71,0xBF,0x28,0xEE,0x55,0xF0,0xD9,0x2D,0x67,0x75,0xC7,0x50,0x21, -0x05,0xAF,0x38,0xAE,0x2E,0xB9,0x86,0xAC,0xA1,0x68,0xCD,0x36,0xF6,0xA1,0x36,0xC4, -0xCC,0x1A,0x8D,0xD2,0x22,0xB5,0x94,0xB2,0x25,0xF4,0xD5,0xB2,0x69,0xD8,0x4F,0x22, -0x91,0x30,0xA7,0xA5,0x21,0xB6,0xC5,0xE0,0xE1,0xA8,0x4D,0x76,0xE3,0x4B,0xDC,0x3B, -0x28,0x7A,0xED,0x56,0x8F,0x18,0xAA,0x21,0x1F,0xF9,0xE2,0x88,0x48,0xD9,0x4E,0x02, -0xF7,0xD8,0x4F,0x2B,0xEC,0x7B,0x7F,0x97,0x9E,0x50,0xCA,0x09,0x6B,0xCB,0x5C,0x33, -0x56,0x42,0xD5,0x10,0x01,0x96,0xC1,0xC4,0xAE,0x24,0x8E,0x39,0xC5,0x78,0xEF,0x2E, -0x71,0x9F,0x08,0xEA,0x0C,0x9B,0xF3,0xFB,0x82,0x1E,0x98,0x15,0x0A,0x11,0x86,0x88, -0xD8,0x1E,0x89,0xC2,0xC8,0x5F,0x6B,0xA7,0xB1,0x38,0x8D,0x26,0x7E,0x21,0xB6,0xCC, -0x94,0x11,0x86,0x81,0x8D,0x1A,0xDB,0x52,0x88,0x67,0xEB,0x1F,0x81,0x6C,0xFB,0x7E, -0x20,0x61,0xF6,0x45,0xA6,0x31,0x8C,0x2E,0xF5,0xEC,0x1D,0x62,0xA4,0xA2,0x35,0x95, -0xA5,0xDB,0x4C,0x7A,0x2A,0xBD,0x96,0xB8,0x99,0x16,0x8B,0x0E,0x04,0xD6,0x41,0x41, -0xFC,0x3E,0xA9,0xC6,0x77,0xE0,0x64,0x17,0x84,0x79,0xF9,0x13,0x7B,0x00,0x97,0xE8, -0xDE,0xC2,0x55,0x18,0x24,0xB3,0xF5,0xD5,0x83,0x3F,0xB8,0x14,0x8B,0x64,0xF3,0x7C, -0x88,0x0E,0x99,0x82,0x4A,0xDD,0x12,0x5C,0x6D,0x3E,0x57,0xFA,0x27,0xC4,0x53,0x70, -0x6D,0x80,0x17,0xE9,0x04,0x93,0xF1,0xF1,0x1C,0xAB,0xB3,0x8B,0x7D,0xDC,0x4B,0x32, -0x9B,0x38,0xAF,0xA7,0xE5,0x72,0x5D,0xBC,0x5E,0x18,0x42,0xC9,0xFA,0x75,0xE2,0x1C, -0x33,0x57,0xC0,0x60,0xB2,0x25,0xDC,0x6A,0xBA,0x60,0xDE,0x2D,0x40,0xC2,0x55,0x11, -0xCF,0xE7,0x70,0x2C,0xFF,0x68,0x6E,0x95,0xC6,0xCA,0x08,0x51,0x1A,0xDA,0x4D,0x53, -0x23,0x9C,0x0B,0xBB,0x3F,0xA8,0xE6,0xDD,0x75,0x64,0x15,0xE2,0x34,0xF2,0x65,0x55, -0x00,0x8E,0x19,0x8A,0xAC,0x3B,0xFF,0x57,0x31,0xB0,0x85,0xA6,0xDA,0x9A,0x0D,0xD3, -0xED,0x1B,0x8C,0xF2,0x45,0xD2,0x51,0x10,0xE4,0x9D,0x7D,0x73,0xC2,0x4A,0xDD,0x1B, -0x35,0x8B,0x1C,0xBA,0x52,0xC5,0x50,0x06,0x7B,0x09,0x76,0xEC,0xA2,0x7E,0xE9,0x4F, -0x77,0x43,0xD4,0x30,0x93,0x04,0xF8,0x6F,0xB9,0x32,0x8F,0x2E,0x41,0x2C,0xBB,0xFE, -0xB4,0xFE,0x69,0x4E,0x7D,0xEA,0x17,0x6E,0x00,0xE5,0xE1,0x97,0x3B,0xDB,0x4C,0x73, -0xD6,0xD9,0x4E,0x0B,0xFD,0x6A,0x1F,0xE6,0xCE,0xC0,0x0A,0x59,0xDB,0x74,0xE3,0x3C, -0xBF,0x18,0x8F,0xA3,0xDE,0x49,0x4A,0x90,0x9B,0x65,0xFA,0x0C,0xD3,0x6F,0xF8,0x2F, -0xA9,0x0F,0x98,0xA2,0xE8,0x7F,0x6F,0x83,0xD7,0xBB,0x68,0x40,0x2B,0x10,0x87,0xA8, -0x0C,0x5A,0xCD,0x52,0xC5,0x52,0x59,0x98,0x69,0x2A,0x47,0xFE,0x96,0x95,0x02,0x90, -0x07,0xBC,0x2B,0xBF,0x06,0x91,0x80,0x82,0xF1,0xF8,0x0D,0x66,0x99,0xBC,0x2B,0xB6, -0x22,0x72,0xE5,0x54,0x67,0xF0,0x24,0x47,0x81,0x4C,0xC9,0x16,0xF3,0x80,0x17,0xE0, -0xE1,0xCF,0x58,0x2A,0x2D,0xBA,0xD7,0xFE,0xBE,0x74,0xCE,0x29,0xCD,0x63,0xF4,0x3D, -0xA1,0x14,0x83,0xB1,0x33,0xA4,0xF4,0xC3,0x16,0xD2,0xC0,0x81,0x43,0x3F,0xA8,0xEF, -0xA0,0xFA,0x6D,0x5E,0x9D,0x0A,0x9B,0x02,0xB3,0x4B,0xFC,0x24,0x3D,0x07,0x90,0xA9, -0x9E,0x19,0x8E,0x83,0x6C,0xFB,0x77,0x1F,0xD1,0xDC,0x09,0x46,0x84,0x4D,0xDA,0x5A, -0x4F,0x7C,0xEB,0x37,0x2F,0xB8,0xA6,0x8D,0xA2,0x3A,0x9C,0x35,0x13,0x2F,0xB8,0xAF, -0xEE,0xE6,0x71,0x0C,0xD4,0x43,0x39,0xE9,0x1D,0x8A,0x93,0x8A,0xD7,0xA0,0x37,0xE4, -0x7A,0x79,0xEE,0x07,0xB4,0x23,0xBD,0x0D,0x63,0x53,0x34,0xF4,0x1C,0x06,0x91,0x89, -0xB9,0xC4,0x53,0x79,0x05,0x92,0xD1,0xD0,0x62,0x72,0x14,0xF5,0xF5,0x5C,0xCB,0x3A, -0x30,0xAA,0x3D,0x9E,0x3B,0xAC,0xF6,0xC9,0x98,0x37,0xAB,0x0F,0x0E,0xDE,0x49,0x43, -0x85,0x34,0xA3,0xB5,0xAD,0x3A,0xDF,0x76,0x9A,0x44,0xDA,0x0D,0x39,0xC8,0x5F,0x62, -0x6C,0x6E,0xF9,0x06,0x54,0xC3,0x31,0x61,0x12,0xC6,0xD0,0x85,0xC7,0x6B,0xFC,0x3F, -0x8F,0x3C,0xAB,0xB7,0x28,0xBF,0xE7,0xCB,0x5B,0x2D,0x72,0xCC,0x5D,0x33,0xA4,0xFD, -0xD4,0xCA,0x5D,0x1A,0x78,0xEF,0x27,0x5B,0xA0,0x49,0xED,0x37,0x86,0x5E,0xC9,0x4B, -0x2C,0xB5,0x22,0x9D,0x51,0xC6,0x01,0x54,0x71,0x70,0x05,0xE6,0x25,0xD7,0x40,0x61, -0x63,0x47,0xD0,0x20,0xBD,0x2A,0x9F,0x26,0xEB,0xD1,0x3E,0x7C,0xB7,0x94,0x03,0xB0, -0x45,0x74,0xE3,0x35,0x68,0xFF,0x67,0x0B,0x10,0xB5,0xA1,0x87,0xBA,0xAE,0x39,0x87, -0xEA,0x29,0xBE,0xC7,0x76,0xE1,0x44,0x36,0x2C,0xDF,0xF7,0xBB,0x29,0x03,0x94,0xB9, -0xA6,0x26,0xB1,0x84,0xAB,0x3C,0xBE,0x11,0xB0,0x19,0xAD,0x27,0xCE,0x9E,0x09,0xC3, -0xFF,0xC3,0x54,0x38,0x70,0xE7,0x25,0x51,0xF7,0x9F,0x6C,0x60,0xBE,0x61,0xF6,0x4C, -0x81,0xE6,0x20,0x2C,0xF9,0xF5,0xD5,0x6B,0x9E,0x9B,0x97,0x42,0x09,0xA7,0x05,0xE9, -0x29,0x8F,0xE1,0xED,0x31,0x3D,0x97,0xE1,0x2F,0xC9,0xC5,0xA1,0xCB,0x5E,0xC7,0xD2, -0xC6,0x8E,0x0F,0x03,0x8C,0x80,0x54,0x9F,0xA2,0x3E,0x32,0xDB,0x72,0x30,0x7E,0x05, -0xCE,0x06,0x8F,0x83,0xAB,0xA7,0x36,0xDA,0xED,0x91,0x9D,0x3B,0xBC,0xDB,0xB0,0x20, -0xBF,0x75,0x8D,0x81,0x95,0x99,0x2F,0xFD,0x82,0x3F,0x33,0xFA,0xB4,0xD9,0xB8,0x2A, -0x37,0x3D,0x4D,0x41,0xEE,0xE2,0xC3,0x6A,0x84,0x17,0x1B,0xD4,0x07,0xC4,0x0B,0x84, -0x2E,0xB7,0xDE,0xD2,0xFC,0xF0,0xE0,0x5B,0x02,0x7F,0x73,0x3A,0x43,0x54,0x4F,0x50, -0x80,0xF0,0x37,0x3B,0x69,0x65,0x0D,0x23,0xCA,0xAF,0xA3,0x22,0x96,0xAC,0x9A,0x7D, -0xF5,0xA7,0x15,0x19,0x00,0x0C,0xC2,0x85,0x31,0x65,0x69,0x13,0xF3,0x18,0xFF,0xAC, -0x06,0x1E,0x5F,0x53,0xBD,0xB1,0x01,0xFB,0xEC,0x86,0x8A,0x2D,0xCC,0x1F,0xC0,0x94, -0x25,0x23,0x41,0x4D,0x66,0x6A,0x41,0x60,0x3E,0xDA,0xD6,0xA3,0x64,0x11,0x68,0x32, -0x4A,0xE2,0xEF,0xE3,0x88,0x84,0x40,0x8F,0x78,0xE2,0xEE,0xDD,0xC1,0x2D,0xCD,0xAB, -0x9B,0x70,0xAC,0xA0,0x6A,0x66,0x5F,0x72,0xFE,0x8A,0x86,0x33,0xE9,0x2B,0xE5,0x85, -0xBE,0x63,0x9A,0x96,0x7D,0x71,0x49,0x73,0x79,0xF5,0xF9,0xCB,0xA5,0xB9,0xA9,0x5B, -0x88,0x78,0xB7,0xBB,0x28,0x24,0xEC,0x83,0x41,0x70,0x7C,0x76,0x1B,0x96,0x17,0xCA, -0x51,0x62,0x74,0x78,0xCE,0xC2,0xE7,0x6E,0x67,0x59,0x55,0x79,0x83,0xDC,0x8F,0x18, -0x00,0x30,0x77,0x7B,0xB6,0xBA,0x59,0xA8,0xEB,0xB9,0xB5,0x15,0x10,0xC5,0x1C,0x92, -0x27,0x29,0x49,0x45,0xD8,0xD4,0xD0,0x4F,0x92,0x3B,0x37,0xEE,0xEA,0x7A,0xE6,0xD7, -0x0E,0x96,0xDF,0xD3,0x46,0x4A,0x65,0x64,0xB3,0x2D,0x21,0xD9,0xE8,0x0B,0xE4,0xA4, -0xE0,0x81,0x26,0x2A,0x1C,0x10,0x8C,0xD7,0xEE,0x8E,0x82,0x27,0x60,0x01,0x6C,0x26, -0xA6,0xFF,0x1E,0x12,0x6B,0x67,0x7E,0x52,0x8B,0xA8,0xA4,0x64,0xA3,0xD8,0xAF,0x3C, -0x77,0x6D,0x5D,0x51,0x0E,0x02,0xAF,0xE6,0x7E,0xCA,0xC6,0xF3,0xD0,0x4D,0xDC,0xDA, -0xE8,0x09,0xA6,0xAA,0x94,0x98,0x0E,0xDD,0x35,0x45,0x49,0x37,0x6F,0x42,0x63,0x6A, -0x6C,0xED,0xC6,0xCA,0x0B,0x07,0x9A,0xD6,0x58,0xE3,0xEF,0xFC,0x11,0xE5,0x1D,0xB3, -0xB6,0xEB,0x1A,0x16,0x06,0x0A,0xA5,0xE4,0x56,0x4B,0x47,0x5A,0x62,0x70,0x6E,0x55, -0x95,0xD6,0x04,0x08,0x5B,0x57,0x0A,0x16,0x68,0xE6,0xEA,0xC9,0x5E,0x26,0x52,0x3F, -0x6F,0xF1,0xD9,0xD5,0x54,0x58,0x46,0x55,0x12,0x7B,0x77,0x2E,0xC2,0x7C,0xCE,0xF9, -0xF4,0xB1,0x02,0x0E,0xB1,0xBD,0x1F,0xE9,0x9D,0x84,0x88,0x5E,0x85,0xBD,0x89,0x7F, -0x36,0x2B,0x5A,0x56,0x4E,0x42,0x6F,0x66,0x2C,0xD6,0xDA,0xBD,0x29,0xA3,0x25,0xCD, -0xF6,0xBB,0x0A,0x06,0xB8,0xB4,0x34,0xCB,0x9A,0xBB,0xB7,0x66,0xD2,0x3C,0xDE,0xA9, -0xD0,0xB4,0x23,0x2F,0xC7,0xCB,0xCC,0x4C,0xB0,0x32,0x3E,0xC5,0x03,0xD4,0x0F,0x90, -0x4E,0xC6,0xCF,0xC3,0x35,0x39,0x83,0xF1,0x61,0x71,0x7D,0x57,0x99,0xEF,0x95,0x31, -0xBC,0x69,0x92,0x9E,0xD7,0xDB,0x9C,0x0C,0xD2,0x2B,0x27,0xBE,0xDB,0x1E,0xD7,0x82, -0x97,0xDC,0x0C,0x00,0x12,0x1E,0xE1,0xB4,0xB2,0x3A,0x36,0xCF,0x4F,0x46,0x43,0x4E, -0x21,0x07,0x61,0x6D,0x51,0x5D,0x73,0x65,0xAA,0xBE,0xB2,0x53,0xE4,0x19,0xE8,0xBA, -0x08,0xB8,0xF7,0xFB,0x48,0x44,0x08,0x07,0x71,0x75,0x79,0x43,0xFB,0x1A,0xF7,0xA6, -0x98,0x6C,0xB3,0xBF,0x98,0x94,0x10,0xCF,0xC7,0x18,0x14,0x98,0xAD,0xBB,0xA1,0x51, -0x48,0xE8,0xE7,0xEB,0xD1,0xDD,0xFB,0x6D,0x89,0xA0,0xAC,0x6E,0xF8,0x4B,0xF4,0xF4, -0x2A,0x93,0xFE,0xF2,0x14,0x18,0x86,0xD5,0xA9,0xA1,0xAD,0x4F,0x34,0xD1,0x38,0xA2, -0x7D,0xEF,0xD5,0xD9,0xE0,0xEC,0xAE,0x09,0x05,0x40,0x4C,0x02,0x19,0xE7,0x15,0xB9, -0xF9,0x0B,0xB5,0xB9,0x1D,0x11,0xAD,0xF7,0x63,0x79,0x75,0x5D,0x0D,0xB7,0x01,0xFD, -0x75,0x67,0x55,0x59,0x7A,0x76,0x0F,0x32,0xA5,0x01,0x0D,0xE3,0xA7,0xC8,0xAB,0x28, -0x3F,0xB5,0xCD,0xC1,0x36,0x3A,0xD1,0xA0,0xF0,0x22,0x2E,0x95,0x82,0xFC,0x8E,0x39, -0x57,0x4C,0x5C,0x50,0xDD,0xD1,0xE5,0x7F,0x15,0x44,0x48,0x16,0xD3,0x1C,0xDF,0x88, -0xA4,0xF5,0x16,0x1A,0x9C,0x90,0x04,0xDF,0x34,0x52,0x5E,0x21,0x2A,0xF2,0x26,0x9F, -0xB8,0x4D,0xB2,0xBE,0xC5,0xC9,0xBF,0x3D,0xDE,0x8B,0x87,0x12,0x24,0x91,0x28,0xF2, -0x8A,0x72,0xBF,0xB3,0x80,0x8C,0x4A,0x8D,0x99,0xA4,0xA8,0x7A,0xA2,0xF8,0xAE,0x1D, -0x40,0x60,0x67,0x6B,0x78,0x74,0x7C,0x43,0x8E,0x9F,0x93,0x56,0x2F,0xC2,0x23,0xAA, -0x10,0x24,0x73,0x7F,0x30,0x3C,0xB6,0xC1,0xFF,0x9D,0x91,0x25,0xDC,0x5F,0xD0,0xC4, -0x22,0x1B,0x7E,0x72,0xED,0xE1,0x91,0x3B,0x59,0xF4,0xF8,0xEA,0xF0,0x49,0xFC,0xFE, -0xBA,0x47,0xBA,0xB6,0x6C,0x60,0x38,0x13,0x1D,0xC4,0xC8,0x9E,0xC3,0x5C,0xCF,0xD8, -0x0A,0xB2,0xFF,0xF3,0x63,0x6F,0x74,0x50,0xAF,0x89,0x85,0x61,0xFA,0x3A,0xF6,0x87, -0x45,0x52,0x50,0x5C,0x68,0x64,0x2C,0x03,0xF3,0x3D,0x31,0x89,0x57,0x04,0x5B,0x14, -0x14,0x00,0x53,0x5F,0x42,0x4E,0x71,0x74,0xEA,0xAE,0xA2,0x03,0x93,0x9C,0x9F,0x48, -0x7B,0xC1,0xFD,0xF1,0x08,0x04,0xC8,0x87,0xD3,0x3C,0x30,0xA8,0x6D,0x33,0x61,0x19, -0xAE,0x77,0x9E,0x92,0xAA,0xA6,0x17,0xFA,0xE2,0x2E,0x22,0x8B,0xEC,0x1B,0xE0,0xB0, -0xC3,0xBC,0x38,0x34,0x7C,0x70,0x68,0x53,0xA1,0x21,0x2D,0xC7,0x1F,0x86,0x13,0xDE, -0x20,0x11,0x76,0x7A,0xF2,0xFE,0x8D,0x38,0xE3,0x39,0x35,0x9D,0x6E,0x62,0x62,0x4B, -0x8C,0x5C,0x97,0x9B,0x4A,0x46,0x7B,0x76,0xCD,0x90,0x9C,0x1A,0x2C,0x93,0x20,0xF8, -0x0D,0x8A,0xC0,0xCC,0x25,0x29,0xD3,0xB1,0xC0,0x27,0x2B,0xA0,0xC8,0x0F,0xC4,0x80, -0x5D,0xCE,0xD4,0xD8,0x13,0x1F,0xC0,0x94,0x44,0x47,0x4B,0x44,0x87,0xCC,0x8B,0x0C, -0x47,0x58,0x58,0x54,0xA9,0xA5,0x45,0xAB,0x90,0x33,0x3F,0xE4,0xEB,0x5A,0xE7,0xF6, -0xB5,0xF7,0x05,0x09,0x4C,0x40,0x1C,0x17,0x39,0xE5,0xE9,0x9B,0xF6,0x28,0xFA,0x99, -0x24,0x35,0x56,0x5A,0xB0,0xBC,0x3E,0xC9,0xAD,0x81,0x8D,0x6B,0xF1,0x69,0xFD,0xDF, -0x20,0xAD,0x27,0x6A,0x7F,0x32,0x37,0xE2,0x06,0x0E,0x43,0xA2,0x38,0x23,0x75,0xB1, -0xD0,0x08,0x72,0x3F,0xC7,0x8A,0xC1,0xAC,0xA4,0x47,0x0A,0x49,0x6C,0xF3,0x21,0x35, -0x8C,0xE0,0xC6,0x8B,0x9F,0xD2,0x5B,0x6E,0x62,0x3F,0x72,0xF7,0x0A,0x16,0x47,0xB6, -0xBA,0xFB,0xEB,0xA6,0x7E,0x33,0x16,0xC2,0xBE,0xCB,0x86,0xDF,0x21,0x41,0x6C,0xCA, -0x2D,0x17,0x90,0xDD,0xE5,0xA8,0x96,0xD9,0xDF,0xCD,0x80,0xB8,0xD3,0xFC,0x9E,0x85, -0x75,0xDB,0x04,0x49,0xF4,0xB9,0xE7,0xB9,0x67,0x08,0x45,0xC5,0x4D,0xD7,0x00,0x30, -0x71,0xFF,0x24,0x69,0xAA,0xE7,0x1A,0x1A,0x6C,0x97,0xDA,0x51,0x28,0x63,0x65,0xE1, -0x72,0xE3,0x3B,0x76,0x61,0x2C,0x0A,0xC1,0x0E,0x8E,0xC3,0x2A,0xBE,0x4A,0xF3,0x5E, -0xFA,0xAB,0xFB,0xB6,0x54,0x19,0x4B,0xB5,0x56,0x1A,0x57,0xE6,0x6D,0xD3,0x20,0x14, -0x99,0xC6,0xF5,0xB8,0x8D,0xC0,0x78,0x5F,0xB4,0x43,0x0E,0x5D,0xC9,0xCF,0x84,0xAC, -0xA9,0xF3,0xF0,0xBD,0x40,0x0D,0x0F,0xE5,0x28,0xA7,0xEA,0x25,0xB8,0x2B,0xF5,0x39, -0x93,0x44,0x7D,0x30,0x7B,0x36,0x23,0xF2,0xE6,0x5F,0x12,0x13,0x60,0xE1,0x2D,0x2B, -0xA3,0x71,0x78,0x35,0xDE,0x93,0xBA,0xCE,0x59,0xA5,0xE8,0x56,0x8A,0x1E,0xC7,0x3E, -0xDC,0xA4,0xD2,0x9F,0xA6,0xEB,0x04,0x08,0x9C,0xC2,0x8F,0xF4,0x6A,0x92,0x27,0x52, -0x77,0xD1,0x0C,0x41,0x9B,0xD6,0x4F,0x7E,0x14,0x02,0x4F,0xBC,0x83,0x3C,0xCE,0x15, -0x97,0x60,0x5D,0x10,0xFD,0xB0,0xCC,0x9B,0xCB,0xE9,0xA4,0x88,0x12,0x54,0x5F,0xEC, -0xF7,0x11,0x4C,0x01,0x71,0x3C,0x5A,0x81,0x1F,0x9D,0xD0,0x28,0x8C,0x7F,0xC1,0x59, -0x6F,0x4D,0x88,0xC5,0xE2,0xAF,0xD0,0x98,0x68,0xB7,0xFA,0x75,0x8F,0x2E,0xC2,0x0B, -0x70,0xE9,0x33,0x7E,0xF1,0xBC,0xD2,0x89,0x91,0x75,0x38,0x4E,0x41,0xC5,0x0C,0x2E, -0x58,0x40,0xB2,0xFF,0xE3,0xAE,0xF1,0xB8,0xEC,0xD7,0x9A,0x91,0x22,0x10,0x6F,0x98, -0x22,0xA7,0x2F,0x62,0x2B,0x66,0xB3,0x32,0x50,0x32,0x7F,0xC8,0xA1,0x49,0xEC,0x42, -0x34,0x9D,0x03,0x4E,0x42,0x0F,0x7C,0x94,0xAA,0xEF,0xA2,0xEF,0xAC,0x7B,0xE1,0x7D, -0x51,0xDE,0x25,0x68,0x56,0x1B,0x38,0xC4,0x3B,0xBC,0xF1,0x2D,0x20,0x61,0x6D,0xEB, -0x37,0x81,0x1C,0x51,0x1B,0x56,0xC7,0x76,0x78,0xB3,0xFE,0x61,0x65,0xD1,0x28,0x1E, -0x31,0xAF,0x34,0x79,0xEC,0xA1,0xBD,0xFB,0xC0,0x76,0x3B,0x1C,0x87,0x2C,0xCA,0x01, -0xA7,0x55,0x58,0x15,0x98,0xD5,0x1D,0x2F,0xFF,0xCC,0x81,0x99,0x0B,0x36,0x46,0x97, -0x02,0x86,0x2E,0x63,0x5E,0x13,0x32,0xC6,0xA2,0x6F,0x22,0x67,0x89,0x4F,0xC4,0x6C, -0x43,0xC0,0x29,0x64,0x3A,0x77,0xC2,0x52,0x7C,0x93,0xDE,0x45,0xDA,0xDE,0x97,0xAE, -0x09,0x12,0xB1,0xFC,0xE6,0xAB,0xC4,0x88,0x53,0x2D,0x60,0xD4,0xA9,0x4B,0xE4,0x48, -0xED,0x87,0xC0,0x8D,0xFE,0xB3,0x9E,0xCA,0x38,0xA3,0xEE,0x31,0xE7,0xA8,0xAA,0xE5, -0x64,0xD9,0x17,0x5A,0xF8,0xB5,0xF9,0xAB,0xDA,0xFA,0xB7,0x8A,0x1F,0x66,0x52,0xD3, -0xF8,0xA1,0xF3,0xBE,0x4F,0x02,0x43,0xA6,0x1D,0x95,0xD8,0x22,0x48,0xE7,0x05,0x05, -0xAF,0xDD,0xD8,0x95,0xC8,0x85,0x8D,0xEF,0x01,0x31,0x7C,0x9A,0x92,0x5C,0xDF,0x64, -0xB2,0x73,0x6B,0x26,0xE0,0xAD,0xA3,0xE9,0x96,0x4A,0x07,0x76,0x52,0xD4,0x1F,0x2C, -0xC7,0x24,0x49,0x04,0x70,0x3D,0x7B,0xA1,0x48,0xB6,0xFB,0x54,0xE8,0xEB,0xA5,0xA9, -0x3F,0x09,0x9C,0xD1,0xA0,0xED,0x63,0x69,0x30,0x23,0x6E,0xB9,0x01,0x45,0x4C,0xEE, -0x35,0x8B,0x14,0x59,0x16,0x5B,0xF8,0x44,0x8A,0xEE,0xA3,0xCE,0x3E,0x42,0x73,0xD6, -0xCC,0xB0,0xD6,0x9B,0x44,0x09,0x1B,0xF5,0x00,0x26,0x6B,0x8C,0xFF,0xEA,0xB2,0xBF, -0xB0,0x79,0x63,0x2E,0x4E,0x03,0x62,0x86,0xB1,0x74,0x39,0x6F,0x50,0xA5,0x1D,0x5F, -0x5B,0x5C,0xAD,0xE0,0xE1,0xAC,0x82,0xC9,0xF4,0x53,0x1E,0x0D,0xD0,0xAD,0x9D,0xD7, -0xD2,0x02,0x7A,0x37,0x2A,0x67,0x92,0x12,0x18,0xA2,0xEF,0x10,0x45,0xD5,0x08,0x3A, -0x40,0xDC,0x36,0x7B,0x55,0x18,0x6A,0x95,0x19,0xB5,0xF8,0x06,0x73,0xF0,0x3E,0x29, -0xB7,0x41,0x5C,0x11,0x86,0xCB,0x20,0x0C,0x05,0x11,0x5C,0xBE,0xAB,0x3A,0xE6,0x3B, -0xFD,0x93,0xC4,0x89,0xAF,0xE2,0x2F,0x2A,0xE8,0xF7,0xBA,0xB5,0x68,0xE3,0x25,0x21, -0x74,0xCD,0x13,0x5E,0x59,0x14,0x74,0x87,0x90,0x62,0x2F,0x58,0x80,0x6D,0xCD,0x47, -0x73,0xF5,0x2C,0x61,0xBA,0xF7,0x4A,0x5A,0xEE,0xDF,0x92,0x9B,0xCA,0x9E,0x87,0xFE, -0x46,0xF2,0x1E,0x53,0x3D,0x70,0x84,0x13,0xE4,0x57,0x1A,0x19,0x30,0x21,0x7D,0xBB, -0x7A,0x6B,0xBB,0xF6,0x05,0x48,0xFA,0x55,0x0B,0xB9,0xF4,0x18,0x9E,0x4E,0xD3,0x7A, -0x26,0x83,0x0F,0x42,0x15,0x58,0xAA,0x15,0x8D,0xD1,0x9C,0xF6,0x82,0x1C,0xCF,0x34, -0xB3,0x65,0x7C,0x31,0x77,0x3A,0x3D,0xE0,0x39,0xB4,0xF9,0x27,0xC1,0xCD,0x8C,0xA6, -0x8E,0xEA,0xCE,0x83,0x3C,0x71,0xA5,0x33,0xBD,0xD4,0x99,0xC3,0x19,0x07,0x54,0xB4, -0x29,0x33,0xB0,0xFD,0x9A,0xD7,0x6E,0x5E,0xB6,0x4B,0x06,0x57,0x79,0x83,0x34,0x50, -0x11,0x8E,0x35,0x78,0xE4,0xA9,0xB7,0xF9,0x24,0x07,0x4A,0x89,0x96,0x4C,0xDB,0x70, -0xAE,0xCB,0xCF,0x82,0x66,0x2B,0x4C,0x80,0xC3,0x69,0x24,0x00,0xA8,0x6B,0xE5,0x69, -0x6A,0x7F,0xBF,0xF2,0x51,0x1C,0x7E,0x85,0xBC,0xC3,0x8E,0xD5,0xF9,0x8B,0xB4,0xD8, -0x60,0xFD,0x37,0x7A,0xF2,0xBF,0x80,0xD8,0x0F,0x99,0xD4,0x3C,0x00,0x65,0x4D,0xCF, -0x57,0xF0,0x0D,0x40,0x64,0x29,0x3F,0xF1,0xA0,0x67,0x2A,0x6D,0xD5,0x9D,0x98,0xE2, -0xC8,0x94,0xF6,0xBB,0x09,0x44,0xE4,0x47,0x0D,0x91,0xDC,0x36,0x85,0x5D,0xC8,0x72, -0x84,0x68,0x46,0x0B,0xAE,0xE3,0x0E,0x0A,0x9A,0xEA,0xA7,0xDA,0x10,0x25,0x5D,0x9F, -0xBF,0xC9,0xDC,0x91,0xED,0xA0,0x9C,0xDB,0x27,0x18,0x55,0x95,0xFC,0xBB,0xB1,0xED, -0x4D,0x66,0x81,0xCC,0x39,0x74,0x90,0x03,0x7D,0x84,0xC9,0x53,0xDB,0xFE,0x96,0x8F, -0x1B,0x0C,0xBD,0xF0,0x94,0xD9,0x03,0x3D,0x8F,0xD9,0x94,0xFC,0xC5,0xDD,0x88,0xB2, -0xD6,0x26,0x5A,0x17,0x5B,0x16,0x07,0xF6,0x82,0x6E,0x23,0x46,0xDD,0x9F,0x90,0xE8, -0x17,0xA0,0x1D,0x50,0xA4,0xE9,0x77,0x79,0x3E,0x8B,0xC6,0x1F,0x06,0x04,0x4B,0xA8, -0xF5,0x7F,0x19,0xD0,0x70,0x11,0xD7,0x34,0x3B,0x3C,0x1E,0x94,0xBB,0x92,0xB7,0xBA, -0xCB,0x58,0x00,0xEE,0xF9,0x7F,0x30,0x5A,0xB9,0xC7,0x9C,0xED,0xFE,0x68,0x4D,0x05, -0x5D,0x71,0xBF,0x78,0x4C,0xE1,0x1B,0xC4,0xAF,0xF0,0x8A,0xCC,0x8D,0x6A,0x4F,0x74, -0xA4,0x9F,0xA8,0x81,0xA5,0xBB,0xA8,0x9E,0x0C,0x0E,0x29,0x91,0x0F,0xE2,0xC7,0x7E, -0x9C,0xD9,0xD6,0xB9,0x57,0xCC,0x2D,0xE9,0x2A,0x4D,0x0F,0xF4,0x15,0x21,0x04,0xA7, -0xDF,0x08,0x44,0xFA,0x86,0xA9,0x99,0x8C,0x48,0xDA,0x6D,0x01,0xF3,0x52,0x77,0x32, -0x24,0x97,0x20,0x01,0x27,0x33,0xA2,0x16,0xC7,0x1E,0xE2,0x4A,0x43,0xED,0xC8,0x3D, -0x44,0x13,0xC4,0x61,0xB3,0xAC,0xA9,0x89,0x61,0xD5,0x44,0x27,0x9A,0x93,0xB6,0x9A, -0x98,0xC9,0xC2,0xBD,0x8C,0xA1,0x9B,0x84,0xC9,0x73,0xEC,0x29,0x7C,0xE0,0xC5,0x0F, -0x86,0xEA,0xFF,0xA3,0x23,0xFC,0x69,0xD9,0x64,0xE0,0x41,0x17,0x16,0xDC,0xF9,0x59, -0x5B,0x10,0xD8,0x7E,0x6F,0xF3,0x2A,0xD6,0xF9,0x07,0xDC,0x6D,0xD0,0x40,0x65,0x03, -0x80,0x8B,0x98,0xA5,0x36,0x16,0x96,0x33,0x06,0x77,0x23,0xE2,0x56,0x07,0x22,0xC2, -0xD8,0x49,0x02,0xFD,0x46,0xE9,0x19,0xCC,0x54,0x94,0x71,0x53,0xE4,0xAB,0x8E,0xDC, -0x88,0x89,0x92,0xAD,0x1D,0x1F,0xB4,0x3A,0x39,0x4F,0x1C,0xE5,0x80,0x50,0x75,0x43, -0xA1,0xAF,0x9D,0x84,0xE5,0x60,0x33,0x45,0xB0,0xEC,0x95,0xCF,0xB9,0x81,0xA4,0xAB, -0x4D,0x31,0xEF,0x68,0xAA,0x92,0x8E,0xB7,0xF3,0x7E,0xD6,0x1E,0x18,0x1B,0x3E,0x90, -0xA2,0xFE,0xCF,0x87,0xFC,0x5E,0x14,0x7B,0x19,0x6B,0x3C,0xE1,0xC0,0x8B,0xAE,0xD8, -0x63,0x56,0xA6,0x46,0xBE,0x96,0x9E,0xB3,0x4B,0x88,0x6E,0x50,0xFB,0x49,0x6C,0x21, -0x8D,0xB9,0xA7,0xA8,0x7D,0x2B,0xE0,0x0E,0xBC,0xF2,0x99,0xDD,0x2C,0xF0,0xD5,0x4F, -0x0D,0xB1,0x2F,0x28,0x1F,0x0C,0xA5,0x29,0x13,0x12,0x36,0x92,0x09,0x3E,0x1B,0xA4, -0x0F,0xC0,0x5C,0x2A,0x06,0x32,0x82,0x17,0xBD,0xD3,0x98,0xFD,0x03,0x36,0x13,0xA6, -0xCF,0x48,0x14,0xEA,0xEA,0x49,0x15,0x6C,0x95,0xFD,0xB0,0xFB,0xAD,0x85,0xA0,0xBB, -0x5C,0x51,0x9E,0x79,0xC9,0x5B,0x24,0x7E,0xFD,0x13,0xD8,0x7D,0x79,0xC1,0xE4,0x2B, -0xB5,0xFF,0xD9,0x90,0x24,0xCE,0x5C,0xEB,0x2D,0x0B,0x08,0xB5,0x54,0x14,0x31,0xD3, -0x97,0x8A,0x8E,0xB2,0xEB,0xA7,0xFA,0x82,0xE7,0x3A,0xC2,0x4E,0x85,0x71,0x54,0x67, -0xDD,0x79,0x37,0xF8,0x28,0x1A,0x84,0x3F,0x04,0x04,0x21,0x93,0xBD,0x4E,0x6B,0x60, -0xC3,0x5A,0x0A,0xE6,0x68,0xC1,0x1F,0xE4,0x58,0x8A,0x7D,0x41,0x1B,0xE6,0xC3,0x6E, -0x6D,0x35,0xCB,0x48,0x69,0x2F,0xF0,0x0A,0x60,0xF4,0x45,0x07,0x82,0x43,0x66,0x52, -0x2E,0xE4,0x59,0x0B,0x76,0xCD,0x0D,0xE8,0x08,0x1A,0x2D,0x81,0xAC,0x6B,0x4E,0x54, -0x18,0xC1,0x4A,0x3D,0x60,0xDA,0x0C,0xFF,0x77,0xE2,0x52,0x06,0x72,0x27,0x02,0xC6, -0x35,0xF7,0x51,0x10,0xC5,0x8F,0xFC,0xAA,0xF2,0x5F,0xD7,0x3E,0xE3,0x99,0xBC,0xE9, -0xF6,0x2E,0x4B,0xD3,0xCE,0x69,0x11,0x4C,0xDB,0x50,0xFE,0x18,0x31,0x01,0x24,0xA3, -0xF1,0x6F,0x0D,0xD4,0x9F,0x97,0xBE,0xB2,0x1F,0x0C,0x3A,0x80,0xED,0x5E,0x7B,0x20, -0xFC,0x5D,0x32,0xD9,0xB8,0x4A,0x44,0x6F,0x76,0xC3,0x53,0x26,0xD7,0x72,0x57,0x36, -0x38,0xC5,0x6E,0x1D,0x11,0xCB,0x6C,0xEE,0x46,0xB7,0x63,0x62,0xF1,0x41,0x64,0x23, -0x7D,0x75,0x9B,0x58,0x5D,0xC4,0x2F,0xE1,0x0B,0x48,0x2E,0xD0,0xAE,0x78,0x5D,0x45, -0xD2,0x3A,0x7B,0xF7,0x05,0xCF,0x7C,0xEA,0xBF,0xA0,0x9A,0x8C,0x3D,0xD5,0xF0,0x7B, -0xD1,0x6B,0x29,0xF4,0x58,0xE5,0x0B,0xC0,0x2C,0x2A,0x09,0x95,0x61,0x11,0x34,0xE3, -0x7F,0x04,0xE8,0x5A,0xE1,0xAF,0xF8,0x8A,0xBE,0x81,0x9B,0xAC,0x30,0xEF,0xCA,0x4C, -0x1C,0xD1,0x5E,0x39,0x3E,0x0D,0x85,0x28,0xAC,0xA2,0x89,0x9D,0x99,0x6E,0x4B,0x64, -0xBA,0xBC,0x95,0x9F,0x41,0xDB,0x2C,0xFE,0xA3,0xEE,0x86,0xDE,0xF7,0x9D,0xB8,0xF9, -0xF4,0x5F,0x38,0xD1,0xA4,0x55,0x47,0x70,0xBB,0xB4,0x9E,0x9C,0x62,0xEC,0xC9,0x1D, -0x15,0xF3,0x75,0x30,0x52,0xED,0x09,0xC8,0x12,0x33,0x37,0xB2,0xD1,0xAE,0x8B,0xEC, -0x42,0x72,0xA3,0x67,0xFA,0x82,0xCE,0xA7,0xA5,0x89,0x80,0xBF,0xA9,0x4A,0x6F,0x70, -0x56,0x22,0xE7,0x73,0xE9,0xB4,0xEB,0x91,0xC5,0x6D,0xE0,0x3B,0x25,0x05,0x20,0xB3, -0xDA,0x38,0x71,0xFF,0x6C,0x0E,0xD4,0x2B,0xB1,0xCD,0x94,0xEF,0xDF,0x69,0x4C,0x25, -0x87,0xCA,0xDE,0xA2,0x35,0xEB,0x68,0xCE,0x67,0xB2,0x42,0x46,0xB0,0x74,0x51,0x57, -0xD4,0x5B,0x1C,0xF1,0x17,0x17,0xB6,0x32,0x03,0x42,0x26,0xD2,0xF6,0x73,0x56,0x16, -0x10,0xC3,0x40,0x35,0xB5,0x70,0x73,0x55,0xA9,0x97,0x8C,0xAD,0xAB,0x59,0x7C,0x61, -0x8E,0xE8,0xF5,0xAB,0xC8,0xB5,0xCB,0x90,0xB8,0xE6,0x9D,0xCD,0x67,0xCD,0xE8,0x39, -0xE3,0x5E,0x2E,0xC6,0x5A,0xF6,0x1A,0xD3,0x3C,0x7A,0x19,0xD5,0x93,0x66,0x43,0x66, -0x75,0x77,0x91,0x50,0x21,0xEF,0x78,0xCA,0xF7,0x6A,0xD2,0x0E,0x8F,0x79,0x5C,0x65, -0x31,0xE7,0x45,0x14,0x39,0x3F,0xB0,0x1A,0x9A,0xB1,0xBF,0xB8,0x78,0x2F,0x0A,0xC4, -0x65,0x37,0xC1,0x40,0xD2,0x76,0x12,0x53,0x22,0x47,0x07,0xF6,0xDD,0x7A,0x5F,0x34, -0x7C,0x55,0xBA,0x59,0xAF,0xB3,0xAA,0x96,0x23,0x66,0x06,0xD6,0x8B,0xB6,0x93,0xAE, -0x57,0x02,0xC6,0x72,0x87,0x47,0x76,0x62,0xC2,0x2B,0xE7,0x7A,0x90,0x9B,0xBE,0x98, -0x37,0x86,0x22,0x12,0x84,0xBA,0x88,0x9F,0xFB,0x74,0xDE,0x1C,0xD4,0x8F,0xAA,0xC8, -0xD7,0x0A,0x4E,0xF2,0x26,0xDD,0x4D,0xF8,0x83,0xCA,0xA6,0xDA,0x01,0x25,0x00,0xB7, -0x4F,0x40,0x9C,0x6A,0xF8,0x91,0xDF,0xB4,0xA0,0xBC,0x85,0x8F,0x10,0x00,0x25,0x83, -0xDE,0x28,0x65,0xFB,0xCC,0x7A,0x00,0x5F,0xC6,0x3F,0xE3,0x6A,0xA1,0x51,0x74,0x63, -0x94,0xDB,0xDC,0xB1,0x2D,0x3B,0xA0,0x1E,0xD0,0x08,0xF5,0x4B,0xB6,0xA8,0x8D,0x8D, -0x30,0xC7,0x64,0x15,0x96,0x62,0x42,0x47,0x09,0x3B,0x2C,0xA1,0xDB,0xA6,0x83,0xEE, -0x3D,0xF5,0x5B,0x18,0x63,0x27,0xF2,0x02,0x26,0x53,0x03,0xE6,0x34,0x20,0x05,0x87, -0xE5,0x3F,0x49,0xC0,0x55,0xDF,0x3C,0xFA,0x1D,0x7F,0x38,0xF1,0x83,0xAD,0x88,0xBD, -0x4C,0x54,0x74,0x8C,0x9B,0x8D,0xBA,0xA2,0x30,0xA2,0x26,0x28,0x95,0x0A,0x2B,0x12, -0xC4,0xDC,0x7E,0x0E,0xC6,0x73,0x19,0x01,0x6A,0x11,0xCF,0x72,0x7B,0xF3,0x3C,0xEB, -0xC6,0xDE,0x0F,0x7D,0xE7,0x44,0x0F,0x17,0xF4,0x3A,0x7A,0xEC,0x52,0x65,0x83,0x7D, -0x3C,0x24,0xB0,0x38,0x9E,0xBF,0x8D,0x95,0x9A,0xDD,0xF3,0x82,0x75,0x5B,0x9A,0x43, -0x3D,0x25,0x90,0x19,0x2D,0x56,0xD7,0xCF,0x27,0xA3,0x30,0x3F,0x19,0xEA,0x47,0xF2, -0x43,0x5B,0x37,0xC0,0x40,0x9D,0x71,0x69,0xB8,0xA8,0xA4,0xA0,0x9D,0x8A,0xA3,0x92, -0xFC,0xE4,0x38,0x70,0x0B,0x59,0xFE,0xE6,0x22,0x93,0x05,0x3A,0x02,0x71,0xC7,0x69, -0x8F,0x97,0xAD,0x96,0xFE,0xCE,0x9C,0x84,0x47,0x27,0xD4,0x5F,0xD3,0x32,0x55,0x2A, -0xA9,0xB1,0xC8,0xD5,0xE8,0xF4,0xB0,0xA8,0x9D,0x9C,0xB5,0x85,0x81,0x2E,0x1B,0x36, -0xEE,0xF6,0x09,0x53,0x67,0x84,0x4F,0x57,0x78,0x20,0xEC,0x60,0x1A,0xF5,0x5B,0xED, -0x72,0x6A,0x53,0x95,0x1D,0x63,0xD2,0xCA,0x77,0x63,0xA0,0x6F,0xE0,0x28,0x7C,0x30, -0x4E,0x56,0x05,0xFF,0x23,0xF0,0x7F,0x67,0x2A,0x91,0x0F,0x32,0xC3,0x36,0x41,0x2E, -0xB5,0xAD,0x9A,0x9B,0x14,0xFD,0x45,0x5D,0x19,0x84,0x29,0x01,0x3B,0xE3,0x6C,0xFB, -0x2F,0x37,0xA1,0x3A,0xC5,0x6F,0x06,0x1E,0xEB,0x39,0x66,0xF3,0xA5,0x0F,0x1E,0x17, -0xFE,0xE6,0x49,0x03,0xEF,0xCC,0x8F,0x97,0x94,0xBE,0x9E,0x8C,0x83,0x26,0x11,0x3E, -0x05,0x1D,0xD6,0x67,0x59,0x17,0xE2,0xFA,0x62,0x13,0xC5,0x7A,0x43,0x76,0x81,0x6E, -0x90,0x88,0xAE,0x8A,0x98,0x91,0xA5,0xBD,0x87,0xAF,0x9C,0x9F,0xBB,0xA3,0xAC,0xBB, -0x5E,0x46,0x45,0xAF,0xD7,0x71,0x0A,0x12,0xA0,0xEA,0xFE,0xB8,0xB3,0x23,0x24,0x3B, -0xE7,0xFF,0x2B,0x78,0x5A,0x0B,0xFD,0xE5,0x1D,0x94,0x3D,0x05,0x5C,0xCD,0x25,0xD5, -0x25,0x3D,0xD2,0x43,0xEB,0xE8,0xAF,0xB7,0xD5,0x1E,0x7F,0xCD,0xF4,0x0C,0x4C,0x14, -0xBA,0xA2,0xD9,0xD7,0xBF,0x88,0x9B,0x83,0x45,0x56,0xA7,0x5D,0xF5,0x1B,0x5A,0x03, -0x6F,0x77,0x21,0xFA,0x77,0x90,0x4B,0x53,0xD0,0x2E,0x4A,0xC8,0x5B,0xF2,0x1D,0xEA, -0x2B,0x33,0xB1,0x2E,0xF1,0x7E,0x23,0x3B,0xC2,0x1F,0x69,0xDA,0x42,0x61,0x97,0x79, -0x98,0x80,0xAC,0x80,0xF7,0x50,0x0B,0x13,0xB9,0x88,0x85,0xA1,0xCA,0xA1,0xDF,0xB9, -0xED,0xF5,0x58,0x01,0x0D,0x77,0xD6,0xCE,0xA4,0xFA,0xEA,0xBC,0x3F,0xC3,0x48,0xDB, -0x48,0x50,0x64,0x98,0x4B,0x09,0xEE,0xF6,0x4A,0x15,0xEB,0x52,0x50,0x6D,0x89,0x75, -0xE0,0xF8,0x6A,0x3E,0x99,0x87,0xB2,0xAA,0x91,0x8E,0xAB,0x89,0x73,0x73,0xB4,0x6B, -0xDF,0xC7,0x6D,0x06,0x44,0xB9,0x51,0x49,0x2C,0xF0,0x68,0x34,0x80,0x39,0x0D,0x21, -0xAF,0xB7,0xA9,0xB2,0x12,0xD3,0x6D,0x75,0xE2,0x1B,0x4D,0xFA,0x24,0x58,0xC8,0x40, -0x37,0x2F,0xE3,0x60,0x34,0xDC,0x44,0x5C,0x04,0xF6,0x46,0x1C,0xFD,0x9B,0xD2,0x83, -0x89,0x91,0xCC,0xF1,0x0C,0x61,0xC1,0xD9,0x51,0x06,0xE3,0x49,0xCB,0xB6,0xC9,0xAE, -0xC5,0xDD,0x5E,0x2F,0x8B,0x99,0xBE,0xA6,0x46,0x07,0xF5,0x5E,0xEE,0x80,0xDA,0x98, -0xD6,0xCE,0x4F,0x2D,0xDA,0xCB,0xBD,0xA5,0x4F,0x25,0xDE,0x57,0x7F,0xD3,0x18,0xCB, -0xEF,0xF7,0x29,0x72,0x68,0x34,0xF0,0xE8,0x40,0x66,0x92,0x58,0xCF,0x96,0xED,0x8E, -0xDC,0xC4,0x3C,0x54,0x2C,0x40,0xC0,0xD8,0xC1,0x4E,0x3B,0xD9,0x57,0x52,0xB1,0x4A, -0xF0,0xE8,0x2A,0x6E,0x8A,0x8F,0xA9,0xB1,0x1C,0xB4,0x1C,0x04,0x65,0x5F,0x8E,0x47, -0xC0,0xD8,0x6E,0x1A,0x97,0x21,0x1A,0x02,0x86,0x8F,0xBD,0x9E,0xDB,0xB2,0xDD,0xAA, -0x41,0x59,0x46,0xB3,0xA6,0x02,0x08,0x10,0x24,0xF2,0x62,0x3C,0x0E,0xD1,0x6B,0xC9, -0xBF,0xA7,0xE9,0xE2,0x9F,0xA9,0x9A,0x82,0x6E,0x01,0xDB,0x76,0x61,0x7F,0xAA,0x67, -0x7B,0x63,0x71,0xBE,0x86,0x23,0x09,0x11,0x44,0x76,0x86,0x5C,0x30,0x7C,0xF8,0x64, -0xE4,0xFC,0x7A,0x2A,0xB5,0x0A,0x13,0x0B,0x09,0xC4,0x79,0x11,0x78,0xEC,0x20,0xF4, -0x00,0x18,0xE6,0x52,0xB8,0xB0,0xA4,0xBC,0x66,0x03,0xD1,0x7E,0xF9,0xBB,0xF6,0xA3, -0x42,0x5A,0x17,0xE1,0x96,0x37,0x0D,0x15,0xDE,0x4D,0x27,0xC6,0x55,0x5A,0xBB,0x42, -0x33,0x2B,0xF3,0x74,0xD4,0x6D,0x15,0x0D,0x50,0x26,0xC2,0x48,0xB6,0x14,0x16,0x0C, -0xDD,0xC5,0x1C,0x75,0xD8,0xC1,0xB5,0xAD,0x9C,0xBC,0x94,0x84,0x51,0x7A,0x9F,0x62, -0xDA,0xC2,0x5D,0x33,0x4C,0x31,0xD1,0xC9,0x60,0x62,0xB6,0x78,0xC0,0x29,0x5D,0x31, -0xC7,0xDF,0x2F,0x5C,0xE5,0x4E,0x07,0x1F,0x85,0xDE,0xEF,0x9D,0x32,0x74,0xF2,0x6C, -0xAB,0xB3,0xB9,0xA6,0x31,0xEE,0x73,0x6B,0x3F,0xE1,0x6A,0x27,0x28,0xF8,0x64,0xE0, -0xD7,0xCF,0x6F,0x0C,0x04,0xE9,0x41,0x59,0x64,0x72,0xA2,0x7C,0x7D,0xDB,0x12,0xC3, -0xC8,0xD0,0x6C,0x10,0xDF,0xF9,0x8A,0x92,0x7D,0x10,0xD9,0x65,0x54,0x4D,0xAD,0x55, -0x63,0x7B,0x33,0xE4,0xC7,0x65,0x0E,0x16,0x3E,0xC1,0x4B,0x26,0xE2,0x20,0x76,0x38, -0xF7,0xEF,0x6B,0x28,0xA7,0x14,0x1F,0x07,0xFB,0x79,0x36,0xE3,0xC9,0xBE,0xC3,0xA6, -0x35,0x2D,0x92,0x13,0x70,0xA8,0x74,0x6C,0xCC,0x7C,0x04,0xD4,0x08,0xF9,0x45,0xE1, -0x18,0x00,0xA4,0x08,0xDC,0xE5,0x95,0x8D,0x38,0xA0,0x2C,0x20,0x5F,0xD2,0x39,0xCA, -0xD4,0xCC,0x3E,0x5E,0xFC,0xC4,0x94,0x8C,0xFD,0x18,0x51,0xE5,0x3D,0xCB,0x42,0xD3, -0x81,0x99,0xCE,0xFB,0xB2,0x32,0x2C,0x34,0xB4,0xBA,0xBA,0xAC,0xED,0x9F,0xC6,0x87, -0xFF,0xE7,0x69,0x22,0x60,0xBC,0x70,0x68,0xF1,0x0A,0x4F,0xE9,0x22,0x70,0xE6,0x68, -0xAE,0xB6,0x89,0x93,0x85,0x3F,0x16,0x0E,0x1A,0xD5,0x7B,0x02,0x4A,0xE1,0x1F,0xF9, -0x8B,0x93,0xBD,0x82,0xD0,0x49,0x35,0x2D,0x56,0x47,0xA5,0x4E,0x00,0x79,0xCD,0x61, -0x21,0x39,0xC2,0x57,0x16,0xF7,0x4D,0x55,0x31,0x82,0x07,0x29,0x8C,0x99,0xA1,0x81, -0x03,0x1B,0xB7,0x00,0xFB,0xFC,0xAB,0xB3,0x54,0x36,0xD6,0x4C,0x35,0x4B,0xCA,0x53, -0x8E,0x96,0x8D,0xB7,0xEC,0xD0,0x90,0x88,0xAC,0xF8,0xE0,0xB4,0xFF,0x93,0xD8,0x8B, -0x08,0x10,0xE4,0x58,0xAB,0xB8,0xBF,0xA7,0xE9,0x48,0x15,0xF1,0xCD,0x9E,0xE7,0x86, -0x06,0x1E,0x87,0x35,0x41,0x8B,0x66,0x7E,0xB0,0xAA,0xAE,0xA8,0xD1,0x3A,0x5F,0x22, -0x71,0x1C,0xBD,0x2F,0xCA,0x58,0xEE,0xF4,0xDD,0x5C,0xCE,0x51,0xF3,0x92,0x61,0xB1, -0x93,0xA7,0xE4,0x76,0x6E,0xFC,0x56,0xE8,0xBE,0x52,0xC0,0x3C,0x2A,0x78,0xB8,0x82, -0x0F,0xDF,0x00,0x92,0x1F,0x8D,0xC3,0x0C,0x8E,0x57,0xC5,0x09,0xE7,0xC2,0x75,0xF5, -0xC1,0xE9,0xF8,0x6A,0xC7,0x55,0xD1,0xC6,0xB4,0xDA,0x48,0xBE,0xDC,0xD5,0x4E,0xD9, -0x7E,0xAC,0x02,0x90,0x2D,0xBF,0xC4,0x39,0x84,0xDF,0x4D,0x8B,0x79,0xE9,0xEB,0x40, -0xBB,0x0E,0x65,0xF7,0xCD,0x5F,0xA8,0xB5,0xFB,0x75,0xE7,0x5E,0x01,0x2F,0x93,0xFE, -0x33,0x46,0xA5,0x37,0x24,0xB6,0xEF,0x1B,0x50,0xAB,0x39,0x2B,0x3C,0x59,0xAE,0xB5, -0xEC,0x72,0x4E,0xDC,0xB5,0x27,0x16,0x73,0xB0,0xFA,0x68,0x9A,0x5A,0xBC,0xC8,0x36, -0x21,0x58,0xA9,0x3B,0x9F,0x0D,0x4B,0x04,0x07,0x80,0x12,0x57,0xD8,0xC5,0x4A,0xCD, -0x83,0xB3,0xE0,0x72,0xCB,0x59,0xCF,0xD4,0xF7,0xD5,0x47,0xF2,0x60,0x8B,0xF2,0x3B, -0x45,0x0D,0x98,0x0A,0xAD,0x3F,0x4C,0x31,0xAB,0x61,0xF3,0x1A,0x38,0x49,0xAA,0xA1, -0x99,0x25,0x6C,0xFE,0x86,0x14,0x30,0x66,0x9D,0x4C,0xDE,0x01,0xD9,0xE5,0x4B,0xEC, -0xF8,0x42,0x6A,0xF8,0x74,0xE6,0x7F,0xDB,0x0A,0x37,0xA5,0xED,0x42,0xFE,0xD0,0x6C, -0x40,0x3F,0xAF,0x3D,0xEA,0x78,0xCA,0xF0,0x52,0xA3,0x31,0x21,0x53,0x9E,0xC1,0x1D, -0x4B,0xAB,0x30,0xA2,0x8F,0x1D,0x1B,0x44,0x56,0x83,0x11,0x05,0x0D,0x3D,0x9F,0xE0, -0x29,0xD0,0x29,0xBB,0x19,0x8B,0xA4,0x6D,0x55,0x9C,0x0E,0x19,0xC6,0xE6,0x54,0xF0, -0xE7,0xE6,0xD1,0x43,0x20,0xB2,0xFB,0x0B,0x16,0x93,0x01,0x55,0x4B,0xDC,0xD9,0x47, -0xD8,0x63,0x6B,0xF9,0xAC,0x3E,0x6D,0x11,0x80,0xFF,0x6D,0xAF,0x3F,0x08,0xAD,0xE7, -0x85,0x9D,0xC8,0x5A,0x2E,0xBC,0x96,0x68,0x25,0x89,0x1B,0x7C,0xF9,0xE1,0x6B,0xC8, -0x5B,0xBF,0x34,0xA6,0x7D,0xEF,0x54,0xF9,0x64,0x8E,0x1C,0x3A,0x9D,0x75,0x0F,0x38, -0x74,0x2E,0x8A,0x18,0x0E,0x9C,0xB2,0x6C,0x2E,0x16,0x84,0xE8,0x41,0xAF,0xD3,0x3E, -0x1F,0xCB,0x04,0x96,0x40,0xD2,0x1F,0x8F,0xCA,0x67,0xF5,0x7D,0x59,0xED,0xCB,0x64, -0xFD,0x70,0x5D,0xCF,0xB8,0x2A,0x29,0x41,0x43,0xB0,0x22,0x23,0x5F,0x8C,0xCD,0x03, -0x3A,0xD8,0x32,0xA0,0xEF,0x7D,0xFF,0xC0,0xDF,0x54,0xC6,0x5B,0xE8,0x81,0x7A,0xB9, -0x38,0xD2,0x3A,0xA8,0x2B,0xB9,0xA3,0x58,0xD0,0xEB,0x79,0xEB,0xD6,0xA6,0x44,0xA0, -0x4F,0x8F,0x10,0x82,0x28,0xBA,0xF1,0x09,0x48,0x2F,0xBD,0xB7,0x45,0xBF,0xD7,0x2A, -0xB6,0xB4,0xD2,0x40,0xE6,0x74,0xD4,0xE2,0x57,0x94,0x06,0x13,0x56,0xAE,0xC4,0x28, -0xCB,0x6B,0x70,0xE2,0x85,0x17,0x62,0x37,0x7F,0x15,0x87,0xBA,0x44,0x9F,0xD6,0x0B, -0x77,0x32,0x95,0x07,0x06,0x94,0xB8,0x6E,0x05,0x88,0x1A,0x5D,0x8C,0x15,0x1E,0x49, -0x8D,0x15,0x48,0xDA,0x0B,0x99,0x87,0x5C,0x13,0xA4,0x36,0x67,0xE5,0xB3,0x77,0x86, -0x1C,0xD7,0x1B,0x89,0x87,0x15,0x11,0x46,0x76,0x82,0x10,0x24,0xF1,0xE3,0x63,0xC2, -0x5F,0x9B,0x14,0x86,0xC2,0x50,0xE4,0xF6,0x10,0xBB,0x29,0x7B,0xBC,0x51,0x2E,0x3D, -0x3F,0xEA,0x05,0x97,0xE2,0x70,0xC0,0xF2,0xF5,0xDD,0x4F,0xF8,0x8D,0x35,0x1F,0x68, -0x3E,0xFC,0x12,0x80,0xD4,0x46,0xD3,0xD7,0x67,0x91,0x03,0x26,0xF2,0xB2,0x60,0x90, -0x22,0x44,0xB6,0x24,0x0C,0x9E,0xC1,0x1D,0x90,0xFB,0x69,0xBB,0x21,0x2B,0xB3,0xDA, -0xCF,0x4F,0x50,0xC2,0xCF,0x5D,0xDB,0xC4,0xDA,0x63,0xF1,0x69,0x08,0x0D,0x9A,0xD5, -0xB7,0xA2,0xC5,0x57,0x27,0xB5,0xBD,0x4A,0x53,0xB4,0x26,0x37,0xFE,0xA0,0x6C,0x8E, -0xC9,0x61,0x78,0xEA,0x6D,0xFF,0x04,0xB9,0x54,0x8B,0x19,0x0F,0x1D,0x7D,0x8F,0xB0, -0xC3,0xE3,0xF0,0x62,0x97,0x05,0x41,0x06,0x61,0xB9,0x2B,0x08,0x9A,0x34,0x08,0x7E, -0x2C,0xE2,0x1E,0x8C,0x39,0xAB,0x80,0x69,0x5D,0x1C,0x8E,0x91,0xA2,0x72,0x30,0x00, -0x26,0x60,0x96,0x04,0x35,0xA7,0x9E,0x7B,0x88,0x7F,0xED,0x27,0x6F,0xC8,0xFD,0x77, -0xB1,0x8C,0xED,0x7F,0xF5,0x67,0xD6,0xF3,0x95,0xCC,0x5E,0x89,0x47,0xCE,0xD5,0x59, -0x6F,0xAE,0x11,0x83,0x4F,0xDD,0x53,0xCC,0xE0,0xEE,0x7C,0xDE,0xD7,0x86,0x45,0x81, -0x17,0x43,0x84,0x16,0xA6,0x34,0x14,0x62,0x18,0x3B,0xA9,0xF3,0x07,0x4E,0x95,0x99, -0xAD,0x34,0x49,0xDB,0x99,0x0B,0x2C,0x65,0x12,0xB3,0x21,0x71,0xB1,0x63,0x23,0x02, -0x27,0x76,0x81,0x13,0x58,0xCA,0x45,0xCD,0xEB,0x71,0xE3,0x4A,0xE3,0xD2,0x71,0xE1, -0x96,0x95,0xD3,0x41,0xF7,0x65,0xA5,0x82,0x97,0xC4,0x56,0x83,0xE9,0xA1,0x7B,0x98, -0xD3,0xF7,0xF4,0x66,0x77,0xE5,0x2D,0x8A,0x7C,0x0A,0x98,0xA6,0x46,0xEE,0xD4,0x78, -0x87,0x97,0xC0,0x52,0x72,0xE0,0x18,0xBA,0x70,0xAA,0x38,0x0A,0xC3,0xD6,0x51,0xC5, -0x2A,0xCC,0x36,0xA4,0x22,0xB0,0x88,0x7A,0xEF,0x51,0xC3,0x6E,0xAE,0x60,0x3C,0x1E, -0xBD,0x20,0x4D,0xDF,0xB7,0x25,0x65,0x02,0xA3,0xE1,0x73,0x92,0x09,0x2D,0x9B,0xF4, -0x00,0x6F,0xBF,0x2D,0x5B,0xC9,0x17,0x9C,0x98,0x7B,0xE9,0x33,0x4A,0xFC,0xD8,0x66, -0x5A,0xA9,0x23,0xB1,0x7C,0xEE,0x75,0xD9,0x6A,0x26,0xB4,0x9C,0x9E,0x24,0x0C,0x6A, -0xA8,0x06,0x7E,0xEC,0x62,0xF0,0x48,0xFA,0x3C,0x1A,0x88,0xF6,0x33,0x1A,0xA1,0xF9, -0xA5,0xBC,0xC9,0x5B,0x7A,0xE8,0x12,0xB8,0xF1,0xFD,0x6F,0xDC,0xFC,0xD1,0x6E,0xFD, -0x19,0xE5,0x2C,0xBE,0xA1,0x33,0x52,0x23,0x30,0xBA,0x28,0x5A,0x03,0x5E,0x91,0x8D, -0xAA,0x0C,0x76,0xE4,0x25,0xB7,0xCE,0x3B,0x01,0xA8,0x3A,0x79,0xB2,0x32,0x20,0x50, -0x1E,0xDD,0x13,0x81,0x66,0xF4,0x5C,0xEA,0x94,0xDB,0x49,0x9F,0xD0,0xC7,0x42,0xC7, -0x9A,0x39,0x73,0xE1,0xBE,0x2C,0x4E,0x20,0xA9,0x69,0xFB,0x10,0x9B,0x14,0x09,0x5F, -0x91,0xAD,0xEC,0x7E,0xDE,0x4C,0xAA,0xA4,0x0E,0x17,0x85,0xC9,0x3D,0x79,0xAF,0x94, -0x03,0x73,0xA0,0x32,0x31,0xA3,0x8A,0x6B,0x36,0x92,0x00,0x74,0x43,0xDE,0xD1,0x4D, -0xE4,0xFA,0xCE,0x5C,0x0F,0x9D,0x93,0x4C,0x89,0x68,0xFA,0x31,0xC1,0xA7,0x53,0xB6, -0x9B,0x2F,0x64,0xF6,0x5E,0xCC,0x22,0xAC,0x4D,0x18,0x8A,0x85,0xF6,0xA2,0x64,0x84, -0x28,0xC6,0x3E,0xAC,0xA7,0x35,0x35,0x42,0x47,0x90,0x02,0x07,0x55,0xFF,0xC7,0x7A, -0xEE,0x8D,0x13,0x0D,0x34,0x14,0xB3,0xD0,0xF7,0x71,0x76,0x94,0xE1,0xB3,0xA2,0xD0, -0xF6,0x95,0x51,0x57,0xD0,0x81,0xC2,0xA1,0xB9,0x92,0xDB,0xDA,0x8A,0x3D,0x47,0x5E, -0x5F,0x3C,0x7F,0xD0,0x21,0x32,0x80,0xE3,0x58,0x3E,0x96,0x3B,0xC4,0x85,0xB1,0xE6, -0xE8,0x8B,0x72,0x6A,0xBD,0x4A,0x64,0x07,0x0F,0xBF,0x40,0x6C,0x03,0xEA,0x19,0x89, -0x88,0xEB,0xF6,0x8E,0x7E,0xC6,0x2B,0x48,0x1B,0xEF,0x04,0x78,0x26,0xDC,0x0A,0xBF, -0xFC,0x9F,0x22,0x2E,0xE8,0x3C,0x47,0x24,0x97,0xF5,0x92,0xF4,0x19,0x66,0x8F,0x05, -0x2A,0x49,0x8B,0x51,0x9A,0x53,0x5A,0x39,0xCA,0x07,0x3D,0xA9,0xA5,0x83,0xD6,0xE0, -0x4E,0x2D,0x1F,0xA1,0xDB,0x15,0x5D,0x3E,0x99,0x96,0xFF,0xFA,0x7B,0x7F,0xF4,0x1C, -0x52,0x31,0x4D,0xEF,0xED,0x0E,0x70,0x13,0xBC,0xA2,0xEE,0xDF,0x73,0xFF,0x7C,0x9C, -0x3B,0x58,0xEB,0x20,0xFB,0x34,0x5C,0x3F,0xB1,0x90,0xD1,0xD2,0x89,0x22,0x5B,0x41, -0x0B,0x68,0xAF,0x54,0xEE,0x12,0x6F,0x0C,0x75,0x08,0x8D,0x16,0xA1,0xA3,0xF2,0xC0, -0x46,0x25,0x1D,0xAB,0x88,0x4D,0x56,0x35,0x30,0xB8,0x78,0x53,0xE2,0xAC,0xBE,0xCF, -0xF2,0x91,0x41,0x43,0xB6,0xDE,0xFB,0x98,0x9F,0xF7,0x98,0xFC,0xB1,0xA7,0xE6,0xC4, -0x61,0x02,0x58,0xC9,0x2E,0x82,0x3F,0x5C,0x9C,0xA6,0xCA,0xFF,0xC6,0x8D,0xBB,0xEE, -0xF3,0x90,0x61,0x62,0x81,0xD3,0xC1,0xA2,0x32,0xC9,0x0B,0x51,0x35,0xC7,0x02,0xA4, -0xE1,0x82,0x50,0x41,0xA9,0x7A,0x40,0x23,0x51,0x1C,0xBD,0x32,0x48,0x65,0xDD,0x06, -0xB6,0xD5,0xD1,0x97,0x05,0x37,0xA1,0xC2,0x7A,0x4B,0xC1,0x19,0x45,0xD2,0x67,0xB1, -0xCE,0xAD,0x17,0x29,0x7A,0xE2,0x0B,0x68,0x9A,0xC7,0xAD,0xF9,0x80,0xB5,0xC5,0xD6, -0xED,0x8E,0x42,0x5F,0x4E,0xF3,0x2E,0x4D,0x02,0x8D,0x7F,0x61,0x12,0xF9,0x1B,0x9A, -0x8B,0xE8,0xA7,0xDC,0xAE,0x42,0x7F,0x1C,0x93,0xE5,0x86,0xF0,0xCD,0x12,0x2F,0x71, -0x9D,0xFE,0x86,0xEB,0x40,0x55,0x86,0xE5,0xD9,0x16,0x3F,0xBA,0x6D,0x53,0xCE,0x30, -0x44,0x27,0x6C,0xD8,0x23,0x38,0x88,0xEB,0x7D,0x0A,0x87,0x1E,0x8F,0x0A,0x75,0x69, -0x6B,0x08,0x2B,0xB0,0x4A,0xD7,0x0E,0x6D,0x70,0x38,0xB8,0x13,0x3F,0x4F,0x80,0x2C, -0x50,0x33,0x3C,0x9C,0x70,0x60,0x83,0xE0,0xA8,0xF2,0xAA,0xCB,0xF1,0xB7,0xB6,0xD4, -0xE4,0x87,0x60,0x74,0xAC,0x48,0x77,0x14,0x5D,0x0E,0xA3,0x3E,0xBE,0x18,0x56,0x7B, -0xF5,0x96,0x00,0x05,0xF4,0x84,0xE3,0x80,0xC3,0x25,0x16,0xA0,0x06,0xDD,0x2B,0xBE, -0x71,0x12,0x18,0x99,0xAB,0x70,0x48,0x2B,0xAE,0x93,0xCD,0xCD,0xD7,0x9E,0xB9,0xFD, -0xBA,0xD9,0xC3,0x89,0xA8,0x6C,0x57,0x34,0x38,0xBA,0x72,0x5B,0xB5,0x87,0xC2,0xE4, -0xD7,0xB4,0x75,0x52,0x09,0x9B,0x01,0x62,0x7C,0x2A,0xA6,0x1F,0x7D,0x57,0xDA,0x34, -0x6F,0x0C,0x3B,0xA4,0xF9,0x3E,0x54,0x37,0x28,0xFA,0x22,0x4B,0xDF,0x1E,0x31,0x7D, -0x6E,0x0D,0x1B,0x85,0x63,0x68,0x98,0xFB,0x31,0x98,0x59,0x52,0x67,0xDB,0x4C,0xB8, -0x8F,0xEC,0xB7,0xC8,0x55,0x73,0xB5,0xD6,0x1A,0xCF,0x25,0x79,0xBB,0x2F,0x64,0x4C, -0x84,0xE7,0xE4,0x90,0xC2,0x9F,0xCE,0xAD,0xD5,0x04,0x21,0xB6,0x56,0xC9,0x6F,0xAA, -0x29,0x4A,0xDA,0x03,0x94,0xF5,0xF2,0x91,0xCB,0x27,0x1C,0xA8,0xA4,0x94,0xC0,0xF7, -0xB4,0xD7,0xA0,0xE4,0xCE,0x33,0x6E,0x0D,0x16,0xDD,0x3B,0x75,0xE7,0x9B,0x8C,0xF8, -0x4B,0x28,0x2F,0x94,0x0F,0xB5,0x29,0x4A,0xCD,0x46,0x7B,0xAE,0x5B,0x7E,0xD5,0x1D, -0x19,0x7A,0x9E,0x77,0x11,0x07,0x85,0xE6,0x95,0x84,0xE1,0xF6,0xD4,0x81,0xA5,0xE2, -0x74,0x17,0x28,0xAC,0x8E,0x63,0x7E,0x1D,0xC5,0x44,0x71,0xA6,0x79,0x77,0xFE,0x14, -0xFD,0x9E,0x02,0x0F,0x66,0x5A,0xAF,0xCC,0xEC,0x62,0x7E,0x8F,0xFE,0x08,0x06,0x6B, -0xBE,0xDD,0xD3,0x9D,0x5D,0xFB,0x35,0x56,0x00,0xFC,0x0C,0x63,0x43,0xFA,0x49,0x99, -0x76,0x15,0x59,0xDF,0x77,0x58,0xBC,0xDF,0xB8,0xB2,0xFA,0xDB,0x1A,0x79,0x93,0x1A, -0xF4,0x97,0x20,0x24,0xC8,0x1D,0x46,0x25,0x86,0x95,0xE3,0xE5,0xFD,0x17,0x1A,0x74, -0xE2,0x81,0x01,0x13,0xB9,0x6E,0x44,0x27,0x10,0xBC,0x5C,0x73,0xD6,0x89,0xAF,0xEA, -0x41,0x22,0x5C,0xED,0xB3,0xEC,0xCC,0xAF,0xE9,0x52,0x4B,0x8A,0x65,0xD3,0x46,0xB0, -0x67,0x04,0x39,0xAE,0x6A,0xF6,0x0F,0x6C,0xD1,0x14,0x35,0xB2,0xE0,0xA4,0xB4,0xC7, -0x05,0x66,0xCC,0x39,0xFF,0x10,0x7C,0x1F,0x92,0xC5,0xA7,0xF1,0x54,0xC1,0x65,0xA2, -0x8A,0xE9,0x87,0xFD,0xF0,0xA0,0xC3,0xA0,0x69,0x5A,0xC3,0x0A,0x6F,0x5B,0xC4,0x38, -0x2C,0x4F,0xEA,0x36,0x57,0x79,0xBD,0xDE,0x09,0xDE,0x27,0x6A,0x64,0xC4,0x50,0xA7, -0xAA,0xC9,0x83,0xD9,0xAA,0x66,0x5F,0x3C,0xDA,0x47,0x6D,0xB9,0x37,0xCF,0x08,0xAC, -0x49,0x2A,0x5E,0xE7,0xAD,0x5E,0x60,0x03,0x90,0xB4,0xD4,0xF3,0x49,0x72,0xCB,0x11, -0x15,0x76,0x8C,0x69,0xA3,0xF8,0xC8,0xAB,0x8E,0x97,0xE9,0xED,0xD2,0xA9,0x8B,0xCA, -0x2D,0x4E,0xCA,0x17,0x9F,0x61,0x6D,0x0E,0x20,0xF8,0x28,0x43,0x3D,0x47,0x8A,0x24, -0x45,0x26,0x4C,0xF9,0x99,0x4F,0x45,0x26,0x63,0x29,0xBA,0x00,0xC0,0xA5,0x95,0xC6, -0x3A,0x59,0xCB,0x01,0x0B,0x91,0x09,0x6A,0x55,0x0C,0xA9,0x36,0xC1,0xB2,0x83,0xD1, -0xBF,0xDC,0xF3,0xBC,0x24,0x00,0xB7,0xD4,0x78,0x3A,0xB2,0x1B,0x31,0xE7,0x26,0x84, -0x96,0xF5,0xD5,0xB3,0x6E,0xD2,0x2F,0x4C,0xBB,0xE3,0xA8,0xD8,0xDC,0x01,0x2D,0x62, -0x54,0x37,0x2C,0x88,0x15,0x23,0xA5,0xC6,0xEF,0x33,0x2C,0x8C,0xD9,0x36,0x1F,0x55, -0x06,0x65,0x9D,0x6B,0xEC,0x18,0x67,0x04,0x2E,0x9B,0x45,0x4D,0x53,0xFE,0x5D,0x9D, -0xF1,0x92,0x10,0x11,0x82,0xCF,0xDE,0xBD,0xC0,0x74,0x44,0xA3,0x2D,0x43,0x9E,0x20, -0x5E,0x3D,0x5F,0xF1,0x69,0xEA,0x10,0x73,0x40,0x7C,0xCC,0x23,0x68,0x64,0xFC,0x07, -0xF0,0x93,0x30,0x30,0x6B,0xE0,0x18,0x7B,0x42,0x0D,0xBF,0x21,0x4F,0x5A,0xE5,0x39, -0xD8,0xBB,0x36,0x1E,0x76,0x4E,0xAB,0xC8,0x82,0x85,0xF7,0xE1,0xD8,0x21,0x09,0x42, -0xB0,0xD3,0xB0,0xF0,0xE6,0x9A,0xEF,0x8C,0x11,0x9C,0x7D,0x72,0xE9,0x33,0x2A,0x50, -0x60,0x03,0x78,0xE8,0x1E,0xB7,0x3A,0x59,0xF8,0x32,0x3A,0x9B,0x91,0xA6,0xC7,0xC5, -0xA7,0x08,0x52,0x87,0x31,0x52,0x6B,0x11,0x7D,0xD1,0xDE,0x8B,0x17,0x52,0x37,0x4D, -0x79,0x44,0x1E,0x15,0x4E,0xD5,0x14,0xE9,0x6B,0xC6,0xDF,0x9C,0x21,0x41,0x12,0x7B, -0xE8,0xFA,0xA0,0x3A,0xCB,0xED,0x91,0x54,0xCE,0x93,0x2F,0xC9,0x0C,0x5A,0x24,0x56, -0x3A,0x62,0x38,0x70,0xE2,0xCB,0xB8,0x5B,0xC5,0x75,0xC2,0x2F,0xCF,0x40,0xFD,0x95, -0x8E,0x12,0x48,0xB4,0xDE,0x9D,0x84,0x31,0xE0,0xBB,0x29,0xE1,0xAE,0x85,0x59,0xF4, -0xB6,0x2D,0x77,0xB3,0x3D,0x40,0x67,0x0F,0x23,0x06,0x57,0x5C,0xE4,0x3C,0xAA,0xBE, -0x10,0x85,0xDF,0xBD,0x61,0x92,0x3B,0x81,0x63,0xDD,0xCC,0x87,0xFA,0x01,0x89,0xA0, -0x89,0x20,0x7A,0x81,0x59,0xD4,0x03,0xFF,0x62,0x33,0x23,0x69,0x54,0xC0,0xE6,0x0E, -0x08,0x55,0x0F,0x75,0x84,0x2E,0xDE,0xD8,0x0D,0x2E,0x51,0x74,0x36,0x57,0x13,0x6C, -0xA6,0xE6,0xBC,0x68,0xAC,0x28,0xF6,0xF6,0xE1,0x55,0xC6,0x0F,0xF6,0x1F,0x9B,0xAC, -0x72,0xA2,0xF8,0xF8,0xC4,0xAE,0x9E,0x18,0xC2,0x47,0xF7,0x1D,0x65,0x95,0x82,0x3F, -0x5F,0x77,0x2D,0x00,0x14,0x66,0x4E,0x00,0x2F,0xD2,0x8F,0x88,0x8C,0xD2,0x2C,0xD6, -0xCB,0xE8,0xB2,0x0B,0x20,0x32,0x7A,0x60,0xF7,0x42,0xC7,0x18,0x9B,0xC4,0x2D,0xC1, -0xF0,0x2A,0x70,0xF2,0x72,0x83,0x28,0x83,0xB5,0x8A,0x4D,0xD0,0x5A,0xAD,0x85,0x00, -0x27,0x93,0xC9,0x9C,0x85,0x0E,0xDF,0xF9,0x76,0x37,0x33,0x6D,0xB4,0xAC,0x6A,0xEE, -0x02,0x5D,0x07,0x77,0x2A,0x41,0x70,0x19,0x14,0x10,0x76,0x4A,0x34,0x24,0x62,0x6E, -0xEF,0xC8,0x92,0x0F,0x6D,0x80,0x37,0x9F,0x4D,0xF5,0xCA,0xAF,0xE1,0x09,0x9A,0xBB, -0x8B,0x33,0x69,0x90,0x00,0x36,0x5A,0x44,0x16,0x03,0x67,0x59,0xB1,0x99,0x5A,0xEB, -0xB2,0xE2,0xB8,0x78,0x89,0x1C,0xD3,0xE7,0xEE,0x7C,0xE0,0x26,0x98,0x96,0x7C,0xC2, -0x13,0x78,0x22,0x43,0xCA,0xCD,0x90,0x75,0xA1,0x8E,0x5D,0xD4,0x74,0xE4,0xE2,0x2E, -0x77,0x83,0xD9,0xDC,0xF0,0xFA,0xAA,0x78,0x87,0xBD,0x48,0xE7,0xA1,0xC9,0x1A,0xFB, -0x1D,0xBF,0xE5,0x8A,0x5D,0xC4,0x07,0xEB,0x28,0xE0,0xBA,0xBA,0xBF,0xF4,0x39,0xE5, -0xDB,0x23,0x79,0xD0,0xC0,0xBE,0x9A,0x0C,0x64,0xEF,0xF9,0xB5,0x62,0xD3,0xC3,0x38, -0x5D,0x64,0x3E,0x11,0x3F,0x31,0x65,0x7C,0x3D,0x0A,0x45,0x50,0xB9,0x93,0x58,0xE3, -0x1E,0x42,0x18,0x74,0x13,0x27,0x49,0x46,0x5C,0xD0,0xFE,0x8A,0xA5,0xDD,0x0A,0xFF, -0xF8,0x31,0x6B,0xE1,0x71,0xD2,0x2B,0xD1,0x8D,0xB5,0x4A,0xEF,0xE6,0x4F,0xDB,0xBC, -0x48,0x8E,0xD4,0xEE,0xFE,0x99,0xA4,0x15,0x2C,0x2F,0x71,0x75,0x1D,0x2B,0x44,0x47, -0x91,0xF0,0xAA,0x49,0x58,0xF4,0x02,0xDE,0xB8,0xB0,0x7A,0xEA,0x7D,0xCF,0xC0,0x27, -0xB0,0xF1,0xAB,0x69,0x02,0x47,0x58,0x37,0x7B,0x0D,0x04,0x57,0xCC,0x12,0xAC,0x96, -0xF5,0x0B,0x51,0xD6,0x80,0x3E,0xDA,0xCC,0xF2,0x63,0xE3,0x39,0xF2,0x0B,0x8B,0xA8, -0x86,0x09,0x53,0xA7,0x96,0x1F,0xCC,0xFB,0x47,0xFD,0xC8,0xA7,0x64,0xB4,0xA2,0x3E, -0x04,0x81,0xDB,0xAD,0x35,0x42,0x6F,0x05,0xAE,0xA7,0x7B,0xFD,0x9D,0xA3,0x4C,0xC7, -0xBD,0xCB,0x91,0x5E,0xE9,0x98,0xB3,0x03,0x26,0x27,0x73,0x7D,0xAD,0xD7,0x08,0xF7, -0xD0,0xC5,0x9F,0x3D,0x30,0x72,0x6A,0x30,0x9D,0x7E,0x91,0x24,0x09,0x6F,0x14,0x53, -0x3F,0x43,0x19,0x54,0x1F,0x35,0x45,0x58,0x68,0x3B,0x21,0x61,0x04,0x50,0x26,0x5E, -0x88,0xCE,0x94,0x6E,0x24,0x22,0x7E,0x74,0x5E,0xC3,0xEF,0x99,0xDC,0x42,0xEC,0x86, -0xDF,0xEC,0xB6,0x1B,0xC2,0xCF,0x98,0x7F,0x8F,0xA6,0x5B,0xFC,0x0E,0x29,0x55,0x54, -0x0A,0x46,0x1C,0x64,0xBA,0x09,0xE0,0xC1,0x2D,0xC1,0x9E,0x9B,0xEE,0x45,0xD9,0xB4, -0x1B,0x63,0x39,0x50,0x99,0x5C,0xC3,0xB7,0xF3,0x8D,0x0C,0xD7,0x76,0x97,0x93,0x2C, -0xAA,0x32,0x68,0xB0,0xFF,0xB9,0xA5,0x34,0xC7,0x66,0xD3,0x3C,0xE7,0x6E,0xFB,0xBD, -0x73,0x4C,0x16,0x17,0xA3,0x6B,0xF9,0xBA,0x32,0x23,0x63,0x79,0x08,0x4E,0x34,0x52, -0xD6,0x19,0x43,0xE7,0x1B,0x25,0x41,0x4C,0xD9,0x6A,0xC1,0x30,0x5C,0xCA,0xE4,0x06, -0x80,0xD5,0x8F,0x7D,0x1A,0x05,0x40,0x6D,0xA4,0xAF,0x79,0xF5,0x45,0xB1,0x86,0x1F, -0x9B,0xF8,0xA2,0x4B,0xFB,0xA9,0xA1,0x20,0x8C,0x5B,0xA5,0x01,0x6E,0xCD,0xD1,0x34, -0xA0,0x3A,0x60,0xB2,0x90,0x7E,0xCA,0x9C,0xBE,0x6C,0xA0,0x36,0x29,0x4B,0x10,0x73, -0x6C,0xAE,0xF4,0xEA,0x81,0x1E,0xDB,0xED,0xC3,0xA9,0x18,0xF3,0xB7,0xFE,0x3B,0xED, -0x98,0x05,0x5F,0xB5,0x05,0x06,0x5F,0x71,0x51,0xEA,0xC9,0xB0,0xDA,0x25,0x8D,0x80, -0x84,0x1A,0x40,0xB6,0xCE,0xDD,0x94,0x61,0x2A,0xF3,0xAB,0xA9,0x4C,0x9A,0xA4,0x16, -0x2E,0x66,0x3C,0x60,0xFC,0xE8,0xA6,0x66,0xE2,0xA8,0x38,0xF2,0x6F,0xEC,0xF1,0x35, -0xD4,0x0A,0x50,0xF6,0x88,0x3C,0xD2,0xC6,0x67,0x12,0x07,0x48,0xE3,0x7A,0xEB,0xB9, -0xBB,0x17,0x4D,0x84,0x5E,0x95,0x04,0xB9,0x3E,0xF7,0xBB,0xAD,0xBE,0xD5,0x19,0xE4, -0xFD,0x10,0x4A,0xC5,0x3A,0x01,0x60,0x49,0x1C,0x0B,0x65,0x51,0xED,0x17,0x88,0xB7, -0xFC,0xFE,0xA4,0x2A,0x9A,0x0D,0xC0,0xE5,0x4A,0xC7,0xFF,0x9D,0x83,0x9E,0x6F,0xD9, -0x69,0x8F,0xD5,0xCE,0x82,0x4F,0xD8,0xBF,0xAF,0x49,0x94,0x13,0xCD,0x33,0x8C,0x97, -0xDA,0xCD,0x97,0x3F,0x2B,0x61,0x71,0x38,0x59,0xF1,0xDA,0xAB,0x2C,0x7E,0x20,0x76, -0xA2,0x29,0x73,0xA3,0x9C,0x6C,0xC6,0x82,0xF1,0x9E,0x1D,0xC4,0x7B,0xA8,0xA1,0x21, -0x36,0xB6,0xEC,0xA8,0x86,0x5F,0xDC,0xAB,0x0E,0xD3,0xAF,0x89,0xEB,0x70,0xE9,0xB1, -0x6A,0x72,0x28,0x30,0x15,0x46,0x4F,0x21,0x53,0xF9,0xD8,0xA3,0xE8,0x22,0xB8,0xB2, -0x3B,0x8C,0xD6,0x9F,0x87,0x7F,0xDD,0x8A,0xEA,0xB3,0x2B,0xE9,0x46,0xE3,0xD7,0x1C, -0x92,0x0D,0x57,0xB7,0x95,0x4E,0xCF,0xA9,0x35,0x11,0x56,0x4B,0x25,0x55,0x02,0x7F, -0xE6,0x3D,0x67,0xF3,0x26,0x53,0x7C,0x07,0x94,0x8B,0x6D,0xD1,0xC8,0x06,0xBC,0x92, -0xDC,0x11,0x4B,0xE5,0x4F,0xF5,0x15,0xC8,0xB3,0x56,0x97,0x0C,0xC5,0x39,0x8E,0x9F, -0xFA,0x22,0x78,0xF0,0x7F,0xB1,0x25,0xBC,0x1A,0xD7,0xBF,0x8D,0x01,0x65,0x16,0x5B, -0xA5,0x1B,0x41,0x96,0x32,0x03,0x68,0x43,0x56,0xD8,0xFC,0x82,0x44,0x90,0xA6,0x1E, -0x45,0x9E,0x18,0x8C,0xEB,0x35,0xD4,0x0F,0x34,0xFC,0x19,0xEF,0x01,0xD6,0x06,0x0D, -0x7A,0xA1,0x1F,0xB4,0x36,0x0B,0x37,0xEC,0x89,0x82,0xDA,0x52,0xF2,0x9C,0xBF,0x47, -0x48,0x93,0x2A,0xB3,0x7F,0xC5,0xB0,0x6B,0x01,0x88,0x58,0xDA,0x4D,0x66,0xFA,0xBD, -0xED,0x36,0x16,0x2A,0x39,0xBB,0x88,0x53,0xEF,0x67,0x59,0x34,0x22,0xC8,0x3B,0x13, -0x2C,0xF7,0xBE,0x43,0x7E,0xD3,0xA7,0x7C,0xF4,0x74,0x51,0x2F,0xB9,0x13,0x7B,0xC8, -0x60,0xBB,0x2C,0x9D,0xF9,0x2B,0xD8,0x03,0xE3,0x75,0x47,0x38,0x9C,0x25,0x68,0xFE, -0x0A,0xD1,0xDB,0x00,0x60,0x61,0x0B,0xD0,0x47,0x69,0xFF,0x9C,0x56,0xFD,0x7A,0x26, -0x92,0x49,0x91,0xD2,0x46,0x6E,0x22,0xF9,0xA1,0x84,0xF4,0x7A,0x8F,0x3E,0x60,0xE5, -0x42,0x99,0x59,0xCA,0x28,0xB9,0x9B,0x40,0xB8,0xE6,0x8F,0x63,0x2E,0x68,0x97,0xB3, -0x80,0x5B,0xA0,0xF1,0x99,0x5A,0xC9,0x12,0x70,0x6C,0xCD,0xAB,0x86,0xA9,0xFE,0x72, -0x35,0xEE,0xDC,0x38,0xEA,0x23,0xC3,0x18,0x22,0xDD,0x2E,0xF9,0xC9,0x06,0x1E,0xDD, -0xFB,0x20,0x37,0x1D,0xA5,0xC3,0x6C,0xB7,0x05,0x98,0x4C,0xDE,0xC1,0x86,0x96,0x5D, -0x8E,0x55,0xC3,0x9C,0x83,0xCC,0x45,0x9E,0x67,0x6D,0xDB,0xBC,0x30,0xC4,0x25,0x1F, -0x3D,0xE6,0xDE,0x32,0x85,0xE2,0x6D,0xB6,0x1C,0xFA,0x37,0xC7,0xB8,0x04,0x6D,0xDF, -0x1F,0xC4,0xAB,0x65,0xCD,0x3A,0xFD,0x26,0xE0,0x24,0x15,0x3B,0x87,0xBE,0xE8,0x65, -0xCA,0x11,0x53,0x48,0x05,0x22,0x2D,0xF6,0x75,0x5C,0xF8,0xAE,0x29,0x57,0xAF,0x8C, -0xD7,0x0C,0x21,0x27,0x6F,0xD1,0xB4,0x6F,0xD2,0x11,0x12,0x09,0x92,0x8D,0xCE,0x56, -0xEB,0x30,0x77,0x4D,0x51,0x42,0x19,0xC2,0x8F,0xE3,0xBD,0x54,0xB1,0x93,0xF3,0x48, -0x0C,0xD7,0xBA,0x67,0x9A,0x46,0xD6,0x0D,0x38,0xEE,0x07,0xE3,0xF3,0x8B,0xA9,0x50, -0x4B,0x90,0x7B,0xE1,0x15,0x36,0x29,0xF2,0xDD,0x52,0x5E,0x06,0x68,0x50,0xE9,0x8B, -0x5B,0x80,0x3B,0xB1,0x9D,0x7E,0xE9,0x32,0x31,0xCC,0x2C,0xEA,0xF1,0x83,0xA3,0x58, -0xA0,0x7B,0xA4,0xD5,0x2B,0xA5,0x84,0x5F,0xC7,0x61,0x77,0x1C,0x31,0xD3,0x33,0x08, -0x10,0xCB,0xE8,0x29,0x66,0x4F,0x23,0xF8,0xBC,0xF6,0x9B,0x67,0x49,0x46,0xDE,0x9D, -0x8A,0x51,0xD3,0x88,0xB7,0xDD,0x60,0xBB,0x4E,0x4B,0xD4,0x95,0xD7,0xAA,0xAC,0x71, -0x63,0xB8,0x7D,0xCF,0x95,0xF6,0x69,0xB2,0x51,0x48,0xC8,0x8A,0x20,0xC0,0x31,0x1B, -0x99,0x42,0xC2,0x8A,0xEC,0x0D,0xEB,0x30,0x3F,0xAF,0x41,0xE4,0x07,0xFE,0x28,0x25, -0xE9,0x32,0x06,0x3E,0xE9,0x3F,0xDC,0x07,0x95,0xD0,0x94,0x4E,0xE7,0xAF,0x99,0x74, -0x61,0xBA,0x0C,0xBC,0xB4,0xC1,0x7F,0xA4,0xCF,0x63,0x7D,0x14,0x09,0x56,0x8E,0x8D, -0x59,0x82,0x4A,0xC2,0x79,0xEB,0x98,0x43,0x87,0xE1,0xB7,0x5C,0x70,0xD4,0x75,0x0F, -0x2A,0xF1,0xDF,0x24,0x8C,0x7C,0xFA,0x21,0xE2,0x55,0x66,0x39,0xA1,0x97,0xE7,0x4C, -0x98,0x43,0xE2,0xAB,0x5F,0xE4,0xB1,0x6A,0x82,0xD1,0x82,0x59,0x6B,0x4F,0xF5,0x94, -0xE6,0x3D,0x45,0x72,0x32,0x2F,0x17,0xCC,0x1D,0xDA,0x16,0xC6,0xEF,0x2F,0x11,0xF4, -0x2E,0xF5,0xCF,0x30,0xA2,0xFB,0x53,0x88,0xF3,0x35,0x17,0x28,0x72,0xDC,0x7F,0x07, -0x84,0x5F,0xB0,0xE5,0x64,0x45,0x2B,0xF0,0x94,0xF0,0xB5,0x4F,0xFE,0x3C,0x13,0xE7, -0x5A,0x81,0x1B,0x90,0x12,0x0E,0x16,0xCD,0x54,0x78,0xFD,0x8F,0x50,0xD5,0x54,0x0E, -0x0B,0xD0,0xFB,0x21,0xF7,0x8D,0x70,0xAB,0xBF,0xA7,0xC9,0x64,0x38,0x44,0xAD,0x9F, -0xAD,0x76,0x96,0xEA,0xD9,0x0A,0xD9,0x02,0x4C,0x3A,0xA7,0x97,0xBF,0x3B,0x55,0xE0, -0xA3,0x78,0xF5,0x87,0x33,0x39,0x00,0xDB,0x15,0xD8,0x1C,0xCE,0xA3,0x9F,0xED,0x44, -0xA6,0x7D,0xC5,0xB2,0x89,0x4E,0xCD,0x16,0xF1,0x44,0x64,0x2A,0x47,0xEE,0x78,0x35, -0x2B,0xF0,0xFF,0x05,0x9E,0x62,0xF6,0x2D,0x09,0x8A,0x52,0xD2,0x8D,0x36,0x6A,0xED, -0xC6,0x1D,0x41,0x56,0xB5,0xD7,0x68,0xB3,0x9B,0xB3,0xF9,0x40,0x90,0x85,0xC4,0x5E, -0x52,0x89,0x19,0x9A,0xD5,0xA6,0x79,0xA2,0x5E,0x0B,0x84,0x85,0xBB,0x1B,0x71,0xC0, -0x72,0xA9,0x1D,0xBE,0x76,0x5B,0x27,0xFC,0xC1,0x00,0x10,0x1A,0x0F,0x7E,0xA0,0xA5, -0x6D,0xB6,0x1E,0xA2,0xAD,0x4B,0xEC,0x37,0xD8,0x62,0x6B,0x03,0x26,0xE8,0x1F,0x33, -0x71,0xAA,0x4C,0xEC,0x8E,0x76,0xF2,0x29,0x58,0x6A,0xE3,0x83,0x4F,0x6E,0xF0,0xB5, -0x24,0xFF,0xBC,0x49,0xC0,0x80,0x4A,0x91,0x11,0xC8,0x08,0xCA,0x9F,0x3A,0x74,0xE1, -0x90,0x4B,0xE0,0xA1,0x02,0x1A,0x12,0xC9,0x69,0x0E,0xB6,0xB2,0x7A,0x5C,0xF7,0x87, -0xBD,0x66,0xD6,0xBA,0xAE,0x57,0xF3,0x28,0x9D,0xD2,0x9E,0x46,0x2D,0x77,0x8B,0xAC, -0xE7,0x3C,0x65,0x53,0xE4,0x85,0x6B,0xB0,0x7B,0x3F,0x95,0xA0,0x27,0xFF,0x09,0x24, -0x96,0x4D,0x81,0xC6,0xA6,0xDF,0x73,0xA8,0xF5,0x54,0x70,0x2E,0xC4,0xB1,0xA4,0x6A, -0x41,0x9A,0x08,0x98,0xC7,0xB8,0x75,0xAE,0xAC,0xB6,0xCB,0x77,0x0A,0x49,0x92,0x92, -0xA5,0x7E,0x94,0xE0,0xCA,0x02,0xC2,0x19,0xC3,0x71,0x63,0x18,0x8B,0x1E,0x44,0xC5, -0x62,0xB9,0x5D,0xEE,0x97,0xFC,0x61,0xBA,0x20,0xAC,0x5D,0xFB,0x40,0xD1,0x40,0x0A, -0x0E,0xD5,0xCB,0x14,0x43,0x5C,0x15,0xCE,0x9A,0x93,0xD8,0x41,0x5A,0x5D,0xD6,0x86, -0x78,0xA3,0x6E,0xC7,0xAA,0x73,0xD3,0x08,0x39,0xCE,0x26,0xE2,0x23,0xDF,0x2D,0x04, -0x7F,0xA4,0x2F,0x81,0x3E,0x83,0xB7,0x6C,0xC5,0x10,0x04,0x1E,0xB2,0x8C,0xEF,0x57, -0x79,0xA2,0x4E,0xE6,0x5E,0xF2,0xA6,0x7D,0x64,0x3C,0x89,0xBF,0x25,0xF7,0x03,0x2C, -0x55,0x8E,0x58,0xDC,0xF8,0x3D,0xCF,0x14,0xB9,0xC6,0xAE,0x62,0x17,0xFA,0x3C,0x21, -0x73,0xA8,0x3D,0x9F,0xA8,0x79,0xDB,0x00,0xEA,0x57,0x6C,0x31,0x0D,0x76,0xAA,0xAD, -0x4A,0x91,0x5B,0xC0,0x1A,0x86,0x96,0x4D,0xE5,0x14,0x20,0x3E,0xBD,0x33,0x5F,0xE8, -0x1A,0xC1,0x9B,0x50,0xED,0x1B,0xFC,0x27,0xCB,0x73,0x69,0x10,0x13,0xDA,0x18,0x01, -0xDE,0x05,0x03,0x0C,0xF4,0x91,0x6F,0xB4,0xE1,0x04,0x34,0x3A,0x42,0xD9,0x4A,0x02, -0x65,0xBE,0x1C,0xA8,0xE5,0x93,0x7C,0xA7,0x23,0xFD,0x0F,0xF8,0xA9,0x17,0x6F,0xCC, -0xE4,0x3F,0x34,0x01,0xD4,0xB0,0x6E,0xB5,0x81,0x80,0xD0,0x5A,0x7C,0x74,0xD9,0xAF, -0x1D,0xF2,0xDA,0xBB,0x1F,0x03,0x37,0x60,0x52,0x28,0x06,0x00,0xB1,0xA1,0x6C,0x99, -0xE3,0x51,0x79,0xE6,0x97,0x09,0xBF,0xE2,0x45,0xD1,0xE8,0xF9,0xEB,0x48,0xDF,0xC3, -0xD1,0x66,0x4E,0xE3,0xE7,0xCD,0xCF,0x56,0xF4,0x80,0x08,0xA8,0x41,0x9D,0xA0,0x69, -0x2A,0xE4,0xCC,0x9A,0x1D,0x72,0x35,0x13,0xED,0xBE,0x2F,0x96,0x2F,0x14,0x47,0x07, -0xF3,0x9A,0xB2,0x3D,0x98,0x4A,0xB0,0xAE,0xCD,0x51,0xE0,0x79,0x63,0xCA,0xD5,0x4B, -0x38,0x3C,0x14,0x50,0xE6,0xED,0xCE,0x77,0x29,0x31,0x64,0x19,0xFC,0x5E,0xDE,0xD4, -0xA0,0x77,0x5F,0x83,0x54,0xD0,0x7C,0xF8,0x3B,0xE9,0xAE,0xC1,0x9C,0xBA,0x5A,0xB4, -0x37,0x15,0x3D,0x76,0x27,0x45,0x0F,0x1E,0xA9,0xAA,0x7F,0x82,0xF9,0x6B,0xEE,0xD1, -0xEA,0xA4,0x8C,0x1A,0x35,0x74,0x1D,0x3D,0x35,0x2E,0x67,0x06,0xA3,0x82,0x5D,0x8B, -0x9A,0x5B,0x73,0x95,0x72,0xB5,0x5A,0xBB,0x75,0xF5,0xFC,0xDD,0x46,0xDB,0xE1,0x6E, -0x9E,0x94,0xBC,0x5E,0x95,0x78,0xBD,0x91,0x2F,0xED,0xBE,0xC5,0xF1,0x61,0xEC,0xD9, -0x0D,0x39,0x11,0x60,0xA9,0x2E,0x81,0xFB,0x12,0xF3,0x9D,0xDB,0xAC,0xCE,0x1E,0x84, -0x01,0xED,0xC5,0xB8,0xF4,0xDC,0xDC,0x54,0x70,0xD4,0xD8,0xFC,0x30,0x08,0x44,0x18, -0x93,0xAE,0x86,0x69,0x6E,0xE7,0x46,0xF5,0x02,0x38,0x46,0x10,0xC2,0x47,0xF9,0xEA, -0x79,0x09,0x21,0x24,0xDE,0xAB,0xF6,0x09,0xEF,0xAD,0x3E,0x85,0xB9,0xAB,0x6E,0x91, -0xA2,0x64,0x4C,0x92,0x25,0x34,0x0D,0x6D,0x7F,0xFD,0xFE,0xD5,0x4F,0xF0,0xC3,0x67, -0x1F,0xE1,0xC9,0xAA,0x85,0x38,0xAD,0xC1,0x4A,0xF8,0xCE,0xD0,0x7B,0x90,0x97,0x53, -0xFF,0x4E,0x66,0xE5,0x4B,0xD3,0x63,0xE4,0xC2,0x78,0xC6,0x50,0x5C,0xF2,0xD2,0x74, -0x86,0x44,0x6C,0x96,0xFE,0xAF,0xD6,0x2D,0x22,0xD7,0x89,0xFF,0x0E,0x11,0x63,0x26, -0x65,0x16,0x3E,0x27,0x3C,0x56,0x14,0x16,0x4B,0x16,0x21,0x3E,0xC6,0x53,0xE9,0xEE, -0xFE,0xA0,0x88,0x0A,0xB4,0x5C,0x9C,0x94,0x73,0x29,0x26,0x01,0x0B,0x24,0x53,0x23, -0xE6,0x70,0x58,0xC2,0x61,0xA4,0x49,0xB9,0x34,0xC0,0x88,0xE8,0x9E,0xC9,0x2B,0xB6, -0x3E,0xE0,0xC8,0x8A,0x43,0xD1,0x6B,0xEE,0xB1,0x7A,0xB7,0x52,0x62,0xEB,0xF5,0x4A, -0x10,0xC8,0xE0,0x8C,0xF0,0xCC,0xD8,0x40,0xF9,0xBA,0x3F,0x92,0x19,0x07,0x62,0x31, -0x67,0x05,0x2D,0x36,0x93,0x19,0xBB,0xF6,0xE7,0xB6,0x2D,0x9E,0x91,0x85,0x68,0xB9, -0x19,0x3D,0x15,0x70,0x36,0x25,0x1E,0x6F,0x26,0x18,0x42,0x30,0x7F,0x84,0x87,0x57, -0xD7,0xBA,0x92,0x39,0x04,0x10,0x2C,0x68,0x63,0xE2,0xFD,0xCA,0xF7,0x06,0x8D,0xDF, -0xE9,0x59,0x71,0xE4,0x3B,0x17,0x13,0x50,0xDA,0xA8,0x0E,0x80,0x4A,0xC5,0xF3,0x62, -0xB2,0xAF,0x87,0x49,0xEC,0x9E,0xC4,0x0E,0xBC,0x40,0x80,0x68,0xDF,0x28,0x8B,0xF7, -0xBD,0x86,0xAE,0x6F,0x74,0xD4,0x5C,0xDC,0xA6,0x83,0x59,0xAB,0x39,0x23,0x66,0x11, -0xF7,0x55,0x7D,0xF6,0x1E,0x23,0x36,0x41,0xB4,0x5B,0x93,0x73,0x9D,0x9B,0x7A,0xB5, -0x0F,0x2A,0x02,0x71,0x52,0xB1,0x7A,0x9F,0xA7,0x6D,0xB6,0x45,0x8A,0x8D,0x7B,0xA2, -0x5A,0x1B,0x33,0x15,0x34,0x54,0x1C,0x1C,0x83,0x4D,0xB2,0x65,0x9B,0xFC,0x1B,0xB3, -0xA5,0x56,0x7E,0xA7,0x0D,0x32,0x25,0x43,0x76,0x08,0x02,0x20,0x94,0xB0,0x58,0xBC, -0xE1,0x42,0x6A,0xF7,0x2B,0x57,0x03,0x00,0xE0,0x84,0x18,0xAC,0xC7,0x72,0xC9,0xEF, -0x2E,0x2B,0x03,0x51,0x07,0x41,0x2F,0x3A,0xDF,0x89,0x2A,0xA1,0x1A,0x55,0x33,0x32, -0x6C,0xE3,0xCB,0xDB,0x9A,0x3B,0xB2,0xDD,0x05,0x0A,0x73,0x22,0xFF,0x0C,0x8F,0xD7, -0x4F,0xF1,0xD9,0xEA,0x1B,0x13,0x33,0x74,0xB3,0x69,0xA6,0x41,0x5D,0xD3,0xF2,0x75, -0x4D,0xE2,0xCA,0xFB,0xA0,0x0C,0x88,0xD0,0x96,0xA7,0x4D,0x8F,0x9F,0xE8,0x0B,0xB7, -0xC7,0x71,0x59,0xE2,0x64,0x94,0x4C,0x8C,0xC4,0xA4,0x1C,0x8C,0xB5,0xB5,0x7C,0x9D, -0xDE,0x4F,0x67,0xC5,0xDB,0x9B,0xF3,0x3C,0x98,0x60,0x84,0x48,0xBD,0xBF,0x7E,0x95, -0x64,0xF8,0xD0,0xC8,0x3F,0x07,0x17,0x44,0x4E,0x37,0x05,0x1F,0xD2,0x17,0xB9,0xFA, -0x03,0xFE,0xD6,0xA9,0xE8,0x8E,0xC0,0x1A,0x78,0xCF,0xCB,0xE7,0x8B,0xAC,0x5B,0xA3, -0x59,0xE6,0xCE,0xEB,0x99,0x6A,0xB1,0x8F,0xD5,0x81,0x28,0xA9,0x05,0x49,0x30,0x2D, -0x5F,0x3A,0x12,0x31,0x01,0x20,0x29,0x5D,0x33,0xF2,0xBD,0xDA,0xBB,0xD8,0x1F,0x93, -0xAF,0x5E,0x76,0xA5,0x06,0x61,0x2E,0x1B,0xF1,0xA1,0x2C,0x89,0x47,0xFA,0xC1,0x6F, -0x80,0x98,0xB0,0x4C,0x70,0xC4,0x58,0xC8,0x0A,0x23,0x55,0x0B,0xE4,0x04,0x9C,0xCC, -0x20,0xEC,0xC4,0x98,0x1C,0x52,0x34,0x32,0x9C,0xAF,0x4F,0x87,0x5E,0x81,0xA3,0x76, -0x97,0x61,0x49,0xA2,0x13,0x11,0x3B,0x7E,0xC3,0x96,0x29,0xBE,0xA6,0xB7,0x6D,0x8E, -0x87,0xAA,0x82,0x79,0x0C,0x12,0x24,0x62,0x7C,0x00,0x00,0x28,0xBF,0xCC,0x0F,0x97, -0x7A,0xF4,0xDC,0xDA,0x2C,0x16,0x04,0x46,0xAD,0x65,0xB4,0x4D,0x20,0x58,0x04,0x08, -0x0B,0xE5,0xCD,0xBA,0xB8,0x4E,0x90,0x8A,0x18,0xFB,0x9F,0xD3,0xE5,0x25,0xBC,0xCD, -0x8B,0x7E,0x56,0xA1,0xC3,0xD9,0xEB,0x66,0x57,0x09,0x22,0x21,0xE3,0x42,0xDD,0xCB, -0xC6,0x9F,0xB7,0x0D,0xEE,0xEF,0xC6,0x7D,0x2B,0x22,0x75,0x0A,0x17,0x6A,0x01,0x3F, -0x5C,0xC7,0xEF,0xCF,0x5A,0xB3,0x72,0x95,0xA8,0x44,0x90,0x6C,0x6F,0xD4,0xC7,0x47, -0xAA,0x7F,0x57,0x81,0x0F,0x43,0x27,0x30,0x2C,0x10,0x40,0x38,0x26,0x3F,0x65,0x0E, -0x51,0xFD,0xD5,0xF8,0x75,0xF4,0x5D,0xFD,0x71,0x3A,0x37,0x12,0xC1,0x15,0xA8,0xE9, -0xD2,0x9B,0xB3,0x1D,0x24,0x14,0x0C,0x4C,0x88,0xAB,0x5F,0x83,0x2A,0x21,0x77,0x02, -0x99,0xA6,0x8E,0x6B,0xFA,0xBF,0xD2,0x39,0xCF,0x42,0xF1,0x6A,0xEA,0x69,0xFF,0xC2, -0x27,0xDE,0xF6,0xAD,0x50,0xC0,0x78,0xEC,0xA3,0xA2,0x7D,0x8A,0x8D,0xCB,0x3A,0xA5, -0xBE,0x7B,0x53,0x91,0x55,0xF0,0x7D,0xD9,0xB6,0x48,0x82,0x60,0x77,0x8E,0x85,0x5F, -0x92,0x40,0x68,0x86,0xD8,0xCA,0xF0,0x6E,0xA4,0x90,0x48,0xB8,0x8F,0xB8,0x4B,0xA7, -0xE5,0x8D,0xA5,0x3C,0xDD,0xFA,0xF5,0x5B,0x31,0xE1,0xAC,0xC9,0x6B,0xC0,0xD7,0x43, -0xD6,0x54,0x7C,0xD6,0xD3,0x99,0xFB,0x36,0x89,0x45,0xB0,0x6D,0x32,0x7B,0x35,0x1A, -0x17,0x18,0x3B,0x7E,0xDF,0xE2,0xFC,0x6F,0x4B,0xFF,0xE6,0xDC,0xCE,0x1E,0x82,0xED, -0x58,0xEA,0xC9,0xC3,0x33,0x7C,0x10,0x1D,0xEA,0x65,0xDD,0x46,0x8D,0x8C,0x53,0xAE, -0xB4,0x91,0xB2,0x54,0xA6,0x04,0x85,0xF0,0x16,0xD5,0x91,0xF6,0x2A,0x66,0x1E,0x09, -0xEF,0x67,0x44,0xF9,0xF6,0xC4,0xD5,0x60,0x72,0x2E,0x0E,0x0D,0x47,0xBD,0xA8,0x64, -0x9D,0x8B,0xA8,0x67,0x25,0x5D,0x06,0x2A,0x22,0x3E,0x4E,0x1D,0x87,0xF5,0x20,0xA4, -0xC4,0x6E,0x4D,0xDB,0xFE,0xC6,0xDD,0x6A,0xA4,0x79,0x8F,0x5A,0x78,0x85,0xAF,0x5B, -0x7E,0xD9,0xFA,0xD6,0xE6,0x84,0xC5,0x30,0x8E,0x9E,0x42,0xBD,0xB7,0x81,0x64,0x94, -0xD1,0x84,0xA7,0x24,0xF8,0xA7,0xDB,0x0D,0xE4,0xA2,0x14,0x81,0x1A,0x12,0x5A,0x39, -0xD5,0x4B,0x68,0xEF,0x5A,0xDA,0x79,0xD2,0xB1,0x93,0x70,0xB0,0xB9,0xEC,0x07,0x9A, -0x41,0xD4,0xF7,0xE4,0x3A,0x5E,0x19,0x36,0x68,0xED,0xD7,0xCE,0x1F,0x27,0x6A,0x3C, -0xA5,0xB4,0x97,0x60,0xE2,0x94,0xC1,0x24,0xE7,0x5F,0xEA,0x7C,0x54,0xBF,0xB9,0x77, -0x74,0xD1,0xF2,0xD4,0xA1,0x45,0x82,0xB6,0x01,0x2C,0x7F,0x0F,0x36,0x28,0x4C,0x15, -0xBE,0x99,0xBA,0x56,0x23,0x3C,0x00,0x4D,0x7F,0x14,0x39,0x37,0xD1,0x02,0x81,0xF2, -0x57,0xC3,0xE0,0xE5,0xDA,0xD2,0xF9,0x5A,0xFD,0x9C,0x33,0xBF,0x72,0xFC,0xDC,0x51, -0x82,0x69,0x4A,0x9A,0x8B,0x32,0xA8,0xEB,0x49,0xEC,0xF7,0xCF,0x45,0xCE,0xD9,0x66, -0x0B,0x07,0x24,0x7D,0xB5,0x15,0x96,0xF2,0x0C,0x16,0x48,0x35,0xC7,0x35,0xA0,0xE4, -0x37,0xF7,0xD4,0xB1,0x4B,0xBA,0x68,0xA3,0x11,0xE7,0xA4,0xC4,0x8C,0xAD,0x73,0xAF, -0x3C,0x11,0x32,0x5C,0x88,0x63,0xAB,0xB9,0xC3,0x7F,0xEE,0x5C,0xA5,0xA2,0x55,0x86, -0x84,0xB5,0x96,0x40,0x50,0xA9,0x73,0xAB,0x5E,0x15,0x19,0x36,0x76,0xE8,0xCC,0x55, -0x92,0xA2,0x81,0x41,0x66,0x8C,0x45,0xB8,0x80,0x59,0x8B,0x7A,0x09,0x10,0x4B,0x2A, -0x9A,0xB9,0x9A,0x52,0xBD,0x17,0x9E,0xF8,0xE9,0x98,0x23,0xBB,0x26,0x78,0x0C,0x05, -0x9B,0x57,0x74,0xBD,0x13,0x78,0x30,0x39,0x70,0x3D,0x1F,0x1E,0x1E,0x06,0x4A,0x3D, -0x19,0xDF,0xFC,0xB7,0xE9,0xC7,0xCA,0x7C,0x77,0x0F,0x2A,0x2C,0x99,0xC8,0x03,0xBA, -0xDA,0x62,0x41,0xC9,0xA3,0x34,0x80,0xC5,0x4F,0x30,0x2D,0x13,0x7A,0xF6,0xDE,0x59, -0x3B,0x23,0x00,0x69,0x22,0x1C,0x01,0x6C,0x8B,0xBF,0x66,0x9C,0x83,0xE1,0x30,0xA0, -0xD6,0xB6,0x95,0x11,0xCB,0xB2,0xE8,0x2B,0xA6,0x6A,0x9E,0x49,0x53,0xF9,0xF8,0x70, -0xF4,0x4A,0x69,0xCF,0x71,0x8D,0x52,0xAE,0xF1,0x48,0xEB,0x6B,0xC3,0x21,0xB0,0xE0, -0x18,0x31,0x12,0x58,0xB1,0x05,0x92,0xE6,0x5F,0xFB,0xF6,0xD8,0xEB,0x0F,0xB6,0xC8, -0x8F,0x53,0x70,0xAD,0xF3,0xF4,0xD0,0x55,0xDE,0x8E,0x02,0xAD,0xC2,0x00,0x90,0xE1, -0xED,0x74,0x57,0xE8,0x73,0xFC,0x50,0xDD,0xFB,0x40,0xE9,0x63,0x6D,0xE0,0xDF,0x4E, -0x0E,0x26,0x05,0x59,0xDC,0xB3,0xFF,0x3D,0x32,0xF5,0x95,0xD6,0x67,0x99,0xAC,0x44, -0x4C,0xEE,0xCD,0xD3,0x1D,0x1B,0x3E,0x54,0x09,0x37,0x6C,0x14,0x35,0x7A,0x1D,0x16, -0xC7,0x93,0xB0,0x25,0xF9,0x87,0xDA,0x2C,0x42,0x0A,0x1A,0x29,0x19,0x40,0x0B,0x3A, -0xE5,0x6F,0x4C,0xFB,0xAA,0x16,0x89,0xEE,0x04,0x0D,0x5B,0x2E,0x7D,0xB0,0x9F,0x5E, -0x1B,0xCC,0xEF,0xA6,0x28,0x6F,0x0B,0x15,0xD7,0x7B,0xFE,0x58,0xBB,0x9F,0x76,0x98, -0x9E,0x76,0x55,0x99,0xA4,0x75,0x87,0x83,0x2D,0x17,0x68,0x34,0xCF,0x3F,0xA2,0xEC, -0xA0,0x95,0xB6,0x44,0x6B,0xBE,0x48,0x87,0x23,0xD0,0xA1,0xF3,0x6C,0xC1,0xFF,0x4F, -0x08,0xFA,0xD9,0x83,0x3C,0x3F,0x1F,0x51,0x5B,0x34,0x3D,0x17,0xDB,0x7B,0xF2,0xF8, -0xB3,0xA3,0x80,0x61,0xC4,0xF1,0xE7,0x67,0x05,0xE3,0xB4,0xC0,0xDD,0x1C,0x93,0xFE, -0x56,0x2D,0x0E,0x0A,0x8A,0x12,0xA9,0xCA,0x90,0x92,0x50,0xB1,0xC5,0x46,0xD1,0xE6, -0x13,0xD7,0xF4,0xB5,0x01,0x49,0x22,0x1A,0xC2,0x91,0x01,0xB2,0xC0,0x73,0xE1,0xE3, -0xCC,0x75,0x56,0xC8,0x62,0x9C,0x41,0xAC,0x6B,0x10,0x29,0x33,0xD2,0x50,0xD0,0xF1, -0xF7,0xB7,0x94,0x31,0xAC,0x77,0x8F,0x89,0xCF,0xAB,0x36,0x88,0xC1,0x52,0xC1,0xE2, -0xAA,0x9D,0xBE,0x46,0xAF,0x26,0x8C,0xDB,0x93,0x6F,0xAE,0x4C,0x52,0xD8,0xD8,0x71, -0xE3,0xB3,0x90,0x21,0x46,0x88,0x65,0x9C,0x03,0x3F,0x6E,0x1C,0x38,0x45,0x2F,0x1B, -0xAF,0xBC,0x9F,0x62,0x03,0x38,0x20,0x69,0x5C,0x06,0x08,0x25,0x75,0xBA,0x9D,0x56, -0x6D,0xEF,0xCC,0xF3,0x8F,0x22,0xAC,0xFF,0x1F,0x20,0x6D,0x03,0x61,0xFE,0xCD,0x42, -0x4A,0x32,0x11,0x09,0x82,0x10,0xA1,0xC0,0x25,0x0C,0x7B,0x2F,0x08,0x31,0x6B,0x2B, -0x91,0x5F,0x7C,0xBF,0x43,0xB8,0x60,0xA9,0xC6,0x5E,0xCA,0x7D,0x58,0xA1,0xAB,0x7B, -0xA7,0xA7,0x84,0x71,0x9B,0x72,0xB8,0xBB,0x71,0xD3,0xF0,0xF0,0x63,0x8D,0xBC,0x40, -0xDF,0x43,0x60,0xED,0xEA,0x96,0xC9,0x2E,0x44,0xD6,0xC0,0xF5,0xAE,0xFA,0x06,0x8D, -0x64,0x1A,0x39,0x0F,0x4E,0x8A,0x6D,0x96,0x29,0xD8,0xA3,0xFB,0x77,0xC9,0xEC,0x54, -0x0A,0xE9,0xCA,0x92,0x31,0x0D,0x12,0x6E,0xE2,0x7E,0xCE,0x5D,0xDE,0x4E,0xC2,0xFD, -0x3E,0x02,0x21,0x4D,0xA0,0x65,0x83,0x97,0x53,0x2F,0x2E,0x0C,0xB8,0xCD,0x27,0x9B, -0x76,0xC2,0xE1,0xC5,0x49,0xCB,0x6A,0xD0,0x26,0xF1,0x85,0xD2,0x85,0x86,0x51,0xA6, -0xD4,0xA5,0x86,0x00,0xA9,0x47,0x8A,0xBC,0xF3,0x5B,0xFA,0x78,0xFD,0x38,0x97,0xDE, -0x5D,0xCB,0xE8,0xE7,0x02,0x18,0x21,0x48,0x79,0xC8,0xE3,0xEB,0x5D,0x94,0x9B,0x7E, -0x75,0x3F,0x1C,0x3B,0x29,0x4F,0x0A,0x34,0x62,0xE5,0xD5,0xC6,0xBC,0xD9,0x37,0x9F, -0xCB,0x47,0x64,0xFD,0x4F,0xAA,0x6C,0xB7,0x8A,0x51,0x89,0x72,0xE4,0x43,0xF5,0xC7, -0x20,0x0E,0x2D,0x5F,0x1B,0x7A,0x38,0x33,0x2F,0x04,0x79,0x27,0x5C,0xB5,0xBB,0x7F, -0xA8,0x8E,0xAD,0x57,0x9D,0x13,0xBE,0xDC,0x61,0x18,0x2B,0x3B,0x42,0x88,0x98,0x61, -0xD3,0x97,0xB4,0x35,0x0B,0x3A,0x28,0x63,0x7D,0x07,0x28,0x24,0x89,0x98,0x43,0xAA, -0x47,0x08,0x2B,0x3E,0x6E,0x8E,0x4D,0xB2,0x59,0x27,0x2C,0x04,0xD7,0x65,0xE0,0xF4, -0x3A,0xCD,0xEE,0x86,0xF0,0xA5,0xD3,0x07,0x95,0xB3,0x74,0x90,0xC6,0x14,0x80,0xE5, -0x3D,0xBF,0xAE,0xDE,0xBD,0xE8,0x9A,0x0B,0x14,0xA1,0xF7,0x99,0x3B,0x4C,0xAF,0x5B, -0x74,0x1D,0x45,0x97,0x39,0xBC,0x4A,0x5F,0x41,0x04,0xA2,0x69,0xCD,0xF4,0x17,0x15, -0x0C,0xDB,0xFB,0xEF,0xBA,0xDA,0xAF,0x39,0xF5,0xEC,0x16,0x35,0x57,0xAC,0x4F,0xD7, -0xF8,0x07,0xD3,0x1B,0xC6,0xF1,0xF8,0x12,0xD8,0xF7,0x3B,0x03,0x1A,0x4D,0xAE,0x7B, -0xFE,0x66,0xB4,0x1D,0x89,0x03,0x45,0xE0,0xA3,0x1B,0x40,0x94,0x9A,0xD6,0x35,0x60, -0x3B,0xDE,0xC9,0xD8,0x3C,0x9D,0x6E,0x7E,0x37,0xD7,0xD4,0xCC,0xEB,0xC7,0x24,0x00, -0xA4,0xD5,0x5D,0x47,0xED,0xF8,0xDA,0x1B,0x17,0xF3,0xF4,0xC8,0x16,0x99,0x7A,0xA3, -0xBD,0xB7,0x26,0x5E,0x52,0x6E,0xF3,0x8D,0x08,0xEF,0xEB,0xCB,0x06,0x52,0xB1,0x78, -0x29,0xEF,0xEA,0xCA,0x18,0xBD,0x6A,0x5E,0xC8,0xA7,0x2B,0x43,0x47,0x67,0x84,0x0C, -0x70,0x0D,0x51,0x93,0xA0,0x19,0x76,0xFA,0xC6,0xCA,0x25,0x20,0x74,0xBE,0x5D,0xE6, -0x94,0x91,0x29,0x77,0x35,0x68,0x92,0x8B,0xC3,0xFF,0x20,0x10,0x03,0x73,0x90,0x5C, -0x6C,0x5F,0x1F,0x8F,0x27,0xB0,0x58,0x53,0x4E,0x48,0xAD,0x2A,0x2F,0x48,0xAB,0x4B, -0x96,0xE0,0x5A,0x75,0x32,0x5A,0xA7,0xB9,0x4B,0x7D,0xA8,0x1A,0xB6,0xED,0x0E,0x77, -0xF1,0x25,0xF8,0x12,0x5E,0xBA,0x2B,0x59,0xE1,0xA8,0x02,0x65,0x08,0x95,0x76,0xB1, -0x31,0xAD,0xB0,0xD2,0x19,0x53,0x85,0xB0,0x3F,0xDD,0xDC,0xCE,0x43,0xA8,0x4B,0xC7, -0xDA,0x72,0x84,0x39,0xE0,0xC2,0xED,0x21,0x6E,0x6C,0x8D,0x2E,0xC0,0xCE,0x2D,0x22, -0xAE,0xA6,0x24,0x4D,0x55,0x5C,0xC6,0xBF,0x7F,0x1D,0x9C,0x4E,0x56,0x42,0xA1,0x38, -0x84,0xD1,0x79,0x67,0x07,0x5F,0x97,0xBC,0xBB,0x41,0x58,0xD6,0xDC,0xD1,0x32,0x21, -0x46,0x28,0x42,0xA5,0x22,0x91,0x7C,0x72,0x00,0xE5,0xE3,0xC9,0xDE,0xC2,0x21,0x30, -0xE4,0x55,0x9D,0x07,0x94,0xF2,0xA9,0x11,0x81,0x4C,0x62,0xE1,0xFD,0xD0,0x33,0x01, -0x01,0xE9,0xC4,0xE2,0x4E,0x71,0xF0,0x92,0x1C,0xAB,0xFF,0x9B,0xBF,0x18,0xFB,0x8B, -0xDC,0x13,0xE3,0x3F,0x71,0x7C,0xC2,0x9F,0x30,0x91,0xD3,0x8D,0x70,0x71,0x92,0x2D, -0x8F,0x82,0x21,0x6C,0xE7,0xF0,0xD8,0x13,0x16,0xD2,0xF5,0xE8,0x34,0x65,0x86,0x7D, -0x80,0xC1,0x6D,0x63,0x12,0xB5,0x68,0x56,0x2F,0x8D,0xCC,0x8E,0xCB,0x28,0xCB,0xCF, -0x45,0x79,0x10,0xA6,0x0D,0x57,0x95,0xB4,0x07,0xA3,0xE4,0x88,0xB1,0xDF,0x3C,0x42, -0xFF,0x46,0x95,0x1C,0x9B,0xDB,0x8F,0x38,0x6B,0x59,0x88,0x1E,0x11,0xAB,0x48,0x96, -0x5C,0x1B,0x6B,0xBF,0x60,0x59,0xF6,0xBA,0x1D,0x8A,0xFE,0xBB,0x3E,0x6D,0x8E,0x7F, -0xA0,0xC5,0x49,0x43,0xA2,0x0A,0x67,0xE9,0x1A,0xCC,0xF9,0xFA,0xCE,0x09,0xEA,0xEB, -0x1E,0xEA,0xD8,0xFD,0x44,0x79,0xF2,0x9A,0x82,0x1E,0x61,0xB0,0xC8,0xD5,0x36,0x31, -0x90,0x81,0x3D,0x73,0xE9,0x37,0x11,0xD4,0xF3,0x8B,0x10,0x54,0x92,0xCD,0x2E,0x73, -0xC9,0x63,0x86,0x2A,0xDF,0xCF,0xDF,0x2C,0x24,0xD5,0xC7,0xDD,0xF5,0xCB,0x28,0x12, -0xA6,0xA4,0x2E,0x45,0x09,0x98,0x5E,0x7B,0xC0,0xAD,0x23,0x41,0x4F,0x7C,0x9F,0x1F, -0x02,0xB8,0x96,0xE1,0x68,0x42,0xE5,0xA1,0xEB,0xD1,0x08,0x16,0x81,0xFB,0x18,0x56, -0x79,0x2F,0x7A,0x9A,0x20,0x82,0x6D,0x61,0x58,0x7F,0xBB,0x0B,0xAF,0xD3,0x30,0x50, -0x85,0xF1,0x58,0x66,0xA5,0x38,0x52,0xDB,0x7A,0x28,0x99,0x7E,0x77,0x43,0xA0,0x18, -0x10,0x89,0xB5,0xF3,0xE2,0xD1,0xFC,0x32,0xAF,0x05,0x4C,0x86,0x6F,0x93,0x70,0xD0, -0xDD,0x33,0xC2,0x3E,0xDA,0xEE,0xFB,0x0D,0x27,0x87,0xC4,0x8C,0xF4,0x25,0xC6,0xFD, -0x15,0xB9,0x80,0xF6,0xB3,0x2F,0x53,0xCC,0xE5,0xBC,0x06,0x75,0x17,0x77,0x94,0x4C, -0x47,0x08,0x63,0xA4,0x53,0x80,0x1C,0x63,0x50,0x75,0xB3,0x09,0x6E,0x7D,0x9E,0x3F, -0x60,0x4D,0x01,0x83,0xDB,0x00,0x14,0xE3,0x9E,0x50,0x7D,0xE2,0x8E,0xD2,0x31,0x70, -0x91,0xA1,0x1C,0x72,0x36,0x95,0x6C,0x76,0x49,0x0E,0xAA,0x6B,0x9E,0x19,0xFA,0xAB, -0x86,0xA0,0x0A,0x65,0x25,0xA3,0x49,0x40,0x05,0xD0,0xE6,0xF9,0x66,0x66,0x85,0x2C, -0x22,0xBC,0xB2,0xC1,0x37,0x7B,0x83,0x98,0x6F,0x4D,0x8C,0x0E,0x2C,0xB5,0x56,0xB5, -0xC4,0x51,0xB9,0x27,0x2D,0xB8,0x5A,0x5B,0xF7,0x9F,0x14,0x44,0x23,0x9C,0x7F,0x93, -0x51,0x29,0x54,0xB2,0x4B,0x50,0xD4,0xB3,0x20,0xC1,0xC3,0xCD,0x78,0x6A,0x89,0x3E, -0xEC,0x57,0x97,0x0F,0xF2,0x1A,0x27,0xF9,0x1F,0xF9,0xFC,0xCA,0x46,0x89,0x6A,0xE3, -0x64,0x5D,0x15,0x87,0xB7,0xE0,0x98,0x03,0x2D,0xFE,0xCE,0xFF,0x88,0x0E,0xED,0xAA, -0x8A,0xB2,0x14,0x69,0x76,0x4E,0xF7,0xAD,0x88,0x67,0x6B,0xC3,0xF6,0x36,0xD5,0xEC, -0xE2,0x34,0xFA,0x01,0x38,0x52,0xA5,0xB1,0x3C,0x8F,0xDF,0x9F,0xA6,0x26,0xC5,0xAC, -0x87,0x80,0x2B,0x64,0xAA,0x11,0x74,0xF2,0x4F,0x69,0xAC,0x0A,0x31,0x44,0xA7,0x59, -0xE7,0x04,0xCF,0x04,0xB8,0xC9,0xBE,0x2A,0xFD,0xE6,0x1E,0x37,0xA9,0x0F,0xEC,0x8A, -0x78,0x0F,0x5B,0x9B,0x5C,0xA9,0x3A,0x4A,0x83,0x3F,0x60,0x90,0x62,0xA9,0x4A,0xE7, -0x34,0x9D,0x85,0xD7,0x7C,0x46,0xF5,0xA5,0x06,0x82,0xE5,0xA8,0xBB,0xD7,0x34,0x40, -0x5A,0x7A,0x0C,0xB9,0x65,0x78,0xD2,0x9B,0xFC,0xC7,0x1F,0x17,0x40,0x55,0xB6,0x39, -0xF0,0x05,0xD9,0x13,0xD4,0x29,0x32,0xCA,0x8C,0x73,0x6F,0xD3,0x72,0x62,0x81,0x3C, -0xAA,0xB6,0x30,0x49,0xC3,0xD0,0xDC,0x33,0x04,0xF1,0xE7,0xD9,0x8C,0xC1,0x22,0x61, -0x54,0x19,0x61,0xB7,0xEE,0x05,0x24,0xE6,0x3E,0xFC,0xDD,0xEE,0x33,0x57,0xB4,0x48, -0xA2,0xB4,0x3A,0x41,0x7E,0x55,0xE4,0xB6,0xC5,0x98,0x26,0x71,0xE8,0x3A,0xD9,0xFE, -0xD9,0x23,0xD6,0x3A,0x93,0xC0,0x9C,0x23,0x75,0x64,0x96,0x3D,0x02,0x9D,0x7E,0xB3, -0x2B,0x9E,0x99,0xC8,0xE1,0x2C,0x02,0xCF,0xEF,0xC5,0x0C,0x06,0x90,0xDE,0x3D,0x62, -0xB7,0xC4,0x5F,0x54,0x83,0x0B,0x47,0xE8,0xB2,0x6A,0x51,0xF4,0x9C,0x0A,0xE9,0xBA, -0xEA,0x36,0xF0,0x09,0xBE,0x15,0x64,0xF6,0x8E,0x00,0x6D,0xA2,0x0F,0xA7,0x44,0x84, -0x5D,0x3B,0x4A,0xBE,0xE4,0x0D,0x26,0xEE,0x69,0x2A,0x8A,0x6F,0x0B,0x68,0x8B,0x4F, -0xB8,0x87,0x13,0x5B,0xA4,0xD6,0xBD,0x35,0x2E,0xAC,0xCD,0xAE,0x7B,0x97,0x74,0xC0, -0x8C,0xAE,0xBC,0xF1,0x7A,0x6D,0xF4,0x10,0xFA,0x6F,0x87,0x0B,0x89,0x89,0xF4,0x9E, -0xC9,0x1E,0x49,0xB4,0x36,0x62,0xB7,0x1F,0xB7,0x90,0xCA,0xB9,0xD6,0xB0,0xCD,0xF8, -0x0D,0x86,0x15,0x70,0x9F,0xE3,0x9F,0x9E,0x87,0xE4,0xFA,0xFD,0xF0,0x83,0xFE,0xED, -0x00,0xB4,0x2A,0x7D,0xB8,0x3E,0x65,0x43,0xEE,0x2B,0x93,0x5B,0xCA,0xAF,0xD2,0xFB, -0xED,0x0A,0x79,0x90,0x19,0xA4,0x5E,0xD9,0x5D,0x85,0x20,0x46,0xBE,0x9F,0xE2,0xBF, -0x8E,0xDF,0xCF,0xF3,0xC6,0x06,0x23,0x7B,0x4F,0xA6,0x32,0x77,0x17,0x1E,0x63,0x97, -0x20,0xB0,0x0E,0x5D,0x7F,0x4C,0xD0,0x31,0xDD,0x0D,0xA0,0x4E,0x46,0xE0,0x9D,0x38, -0x23,0xE1,0x5C,0x5E,0x22,0x66,0xA7,0x1B,0x4E,0x87,0x33,0x57,0x1A,0x24,0x59,0xA0, -0xB3,0xA9,0x84,0xCE,0xDD,0x2B,0x15,0x56,0x54,0xAE,0x29,0x64,0x8E,0xBB,0xC6,0xAB, -0xE4,0x28,0x52,0x99,0x75,0x44,0xD2,0x39,0xE3,0x14,0x9E,0x69,0xF6,0x5F,0x22,0x37, -0x05,0x84,0x1F,0x78,0x83,0xFC,0x9C,0x81,0x4A,0x93,0x37,0x47,0x45,0x1D,0x60,0xC6, -0x4B,0x67,0xB2,0x36,0x66,0x72,0xF7,0x0F,0x52,0xC9,0x2F,0x05,0xD0,0x6C,0x11,0x22, -0x25,0x80,0x3B,0x58,0x30,0xBE,0x6D,0xC3,0xF2,0x65,0x8F,0x09,0xD1,0x82,0xFF,0xCD, -0x76,0x11,0xF9,0x0B,0x12,0x42,0xB3,0x3F,0x96,0x95,0xEB,0x9D,0x97,0x85,0xF8,0x8C, -0x2B,0xE3,0x56,0x56,0x4B,0xA7,0x0F,0xDA,0x40,0xEA,0x3D,0x34,0xF8,0x98,0xE5,0xFE, -0xA7,0xF9,0xC0,0xDA,0xCE,0x1D,0x30,0x60,0x34,0x4A,0x49,0xE0,0x02,0xF4,0x89,0x68, -0x84,0xAC,0xB6,0xF9,0x06,0x46,0xA3,0x3B,0x06,0x4D,0x7B,0xD5,0xA8,0x88,0xF5,0xBE, -0x12,0x85,0x09,0x6F,0x7D,0x5F,0xC1,0x22,0xCD,0x5D,0xB0,0x0E,0xB4,0x97,0xEA,0xBD, -0x7F,0x33,0xD2,0x02,0xEF,0x1C,0x10,0x61,0x49,0xC1,0x34,0x16,0x40,0x3C,0x41,0xE2, -0xE1,0x18,0x67,0x9C,0x92,0xD9,0xA8,0xA4,0x58,0xB0,0x25,0x76,0x8C,0xA8,0xD5,0xBA, -0xA6,0xD9,0xE1,0xDB,0xA0,0xEE,0xAD,0x93,0x33,0x0C,0x4E,0xA1,0xB7,0x6A,0x17,0x43, -0x8D,0x8E,0x9D,0xF0,0x88,0x1A,0x71,0x67,0xD2,0x41,0xAF,0x0D,0xAC,0x47,0x3A,0x75, -0x94,0xEC,0xE6,0xE9,0xF5,0xDF,0xC9,0xA2,0xD3,0x60,0xAE,0x2D,0xFA,0x8B,0xF6,0xEF, -0xC0,0x3C,0x62,0xBD,0x1E,0x96,0x6B,0xEB,0x6B,0x96,0x16,0x63,0x5F,0xDE,0xA3,0x1F, -0x2F,0xF3,0x42,0x52,0xEB,0xD3,0xDB,0xAE,0x37,0x18,0x4A,0xB1,0x86,0xA0,0xDD,0xB8, -0xBE,0x9B,0xBB,0xC3,0xDF,0x38,0x04,0x45,0x51,0x9B,0x2C,0x54,0x37,0xF1,0x8C,0x58, -0x26,0xD1,0x69,0x5B,0x01,0x74,0x96,0x09,0x72,0xED,0x0F,0x01,0x26,0xD4,0xA9,0x6C, -0xC6,0x5D,0x05,0xBB,0xA3,0x13,0x53,0x6E,0x0A,0x53,0x77,0xC7,0xF3,0x7E,0x03,0x13, -0x14,0xE4,0x6E,0x69,0x72,0x76,0xE7,0x0B,0xEC,0x58,0x91,0x2A,0xA4,0x5C,0x21,0x66, -0xCC,0x2E,0x7C,0xB1,0x44,0x8E,0x29,0xF3,0xD7,0x74,0xAA,0x3D,0x13,0xD1,0xAC,0x5C, -0xC1,0x1C,0x43,0xBC,0xB1,0xCB,0x99,0xB6,0xF8,0x1C,0x85,0x7A,0xFC,0x57,0x2A,0x35, -0x65,0x00,0xFB,0x18,0x0A,0x92,0x7B,0xEF,0x21,0x2F,0x5C,0x90,0x91,0x59,0x24,0x56, -0x55,0x44,0x8F,0x28,0x82,0x12,0x73,0x6F,0xFD,0x29,0x80,0x4A,0x28,0x13,0x6E,0xA5, -0xAC,0xAA,0x98,0xD1,0x6B,0x48,0xC0,0x35,0x5E,0xD7,0x23,0x17,0xAA,0x9B,0xE6,0xAF, -0x3A,0x83,0x27,0x47,0xDE,0xD6,0xEB,0xAB,0x48,0xE0,0x35,0x36,0xD9,0x99,0xE4,0xDE, -0x04,0xA4,0x3E,0x79,0x57,0xB8,0x0C,0xC5,0xCA,0x1B,0xB7,0x4F,0x9C,0x63,0x1E,0x61, -0xB5,0xC8,0xE3,0xC8,0x94,0x05,0x72,0x78,0x90,0xF2,0xED,0xFC,0xBD,0x62,0x1F,0x41, -0xD5,0x4C,0x07,0xA8,0x00,0x9A,0x79,0xE7,0x36,0x39,0x4B,0x91,0x64,0x1C,0x61,0xE6, -0x2E,0xD3,0x63,0x53,0xA1,0x00,0x42,0x7D,0xB9,0xFD,0xC4,0xDA,0xD4,0xA3,0xDE,0xE9, -0x6D,0x02,0xF1,0x10,0x70,0x65,0xF6,0x18,0xDB,0x6A,0xA6,0x2F,0x32,0xD0,0xAD,0x7C, -0x71,0x50,0xBF,0x0C,0x11,0xBF,0x4D,0xC2,0xF7,0x50,0x8A,0x39,0x71,0xF6,0x8B,0x19, -0xAA,0xCB,0xFF,0xD7,0x48,0x5A,0xF1,0x27,0x08,0x20,0x75,0xB6,0xF7,0xB1,0xCC,0xD8, -0x77,0x31,0xD8,0x0A,0x04,0x55,0xB2,0x28,0x95,0xC7,0xE8,0xCC,0x31,0x2D,0x50,0x82, -0x69,0x12,0xE5,0x14,0xAB,0x08,0x40,0x75,0x38,0x54,0x45,0xF2,0x5B,0x11,0x6C,0xD4, -0xBC,0xEA,0xC8,0xC1,0x8D,0x3B,0x55,0x46,0x02,0x59,0x7F,0xC5,0x3F,0xEA,0x97,0x4B, -0x50,0x74,0xBA,0x2D,0xC2,0xC9,0xE8,0xB4,0x41,0xCB,0x3C,0x14,0x9E,0x70,0x0D,0x70, -0x79,0x52,0xB5,0x04,0x3A,0xB6,0x6F,0xCB,0xC8,0x68,0xB5,0x3E,0xA7,0xA1,0xDC,0x98, -0x29,0x92,0x25,0x54,0x61,0x40,0xC2,0x3D,0xA5,0xB3,0xD8,0x88,0xC3,0x5A,0x27,0x07, -0xFC,0x6A,0x08,0x81,0x38,0xA5,0x7E,0xD8,0xE2,0x35,0x9F,0x49,0x2E,0xCF,0xB2,0x7F, -0x7C,0x62,0x80,0x01,0x5A,0x82,0x3B,0xFF,0x4D,0xD5,0x30,0x06,0x0B,0x01,0x7C,0x94, -0x92,0x8D,0x81,0xEF,0x99,0x3F,0x45,0x42,0xBA,0xAF,0xC7,0x8B,0xDC,0xB8,0xC5,0xFA, -0x53,0x25,0xE8,0x2E,0xDB,0xF7,0xCF,0x8A,0xE8,0x4C,0x95,0x3A,0xE7,0x7A,0x07,0x03, -0x44,0x24,0xFE,0x39,0x03,0x67,0x87,0x1A,0xDC,0x2C,0xA1,0x6E,0x73,0xE5,0x98,0x08, -0xAD,0x8A,0xB9,0xD0,0xEE,0xF2,0xFF,0x8F,0x0C,0x34,0x71,0xA6,0x5E,0x30,0x4D,0xF0, -0x3E,0x93,0x33,0x43,0xCD,0xE0,0xCE,0x9D,0x64,0xDA,0x19,0x20,0x8A,0x74,0x09,0x60, -0xFE,0x1B,0x7B,0x83,0x21,0x9B,0x59,0xE6,0x4C,0xF4,0x31,0x26,0x24,0xC7,0xBA,0x7D, -0x9C,0xEE,0xEC,0xE1,0x4E,0x86,0x2B,0xFB,0x91,0xD3,0xEC,0xDC,0xA5,0xB2,0xCF,0x89, -0x32,0x81,0x2D,0x4F,0x4F,0x68,0xC4,0x15,0xA9,0xAD,0xD4,0x9A,0x3C,0x17,0x6A,0xB5, -0x2C,0xA2,0x10,0x51,0x0F,0xB3,0x5F,0xCE,0xF5,0x23,0x88,0x48,0x9A,0xBF,0xC2,0xBB, -0x66,0x51,0xA9,0x1B,0xCC,0x0E,0x21,0x73,0x16,0x1D,0x6B,0x95,0xA2,0x80,0xFD,0xBC, -0x07,0xF5,0x6C,0x7A,0xE9,0xC0,0xCA,0xBD,0x2A,0x77,0x57,0xC3,0x16,0xF0,0x8D,0x78, -0xC4,0x2C,0x76,0xB9,0xE2,0x26,0x27,0x5B,0x03,0x78,0x7E,0xE5,0xC4,0x68,0x15,0x32, -0xE9,0x1A,0x6D,0x94,0x47,0x73,0xD7,0x0E,0x86,0xC5,0xFB,0xDD,0x55,0xD6,0xAB,0x1D, -0xDF,0x3F,0x7E,0xA2,0x51,0x64,0xD6,0x19,0xF9,0x3D,0x84,0x5A,0x8B,0x9A,0xE7,0x8F, -0x0B,0x5D,0x7B,0xAC,0x22,0x4E,0x04,0xB0,0xE6,0xEE,0xD4,0xC8,0xDB,0xA7,0xA0,0xFD, -0x46,0xBC,0x9A,0x00,0x0F,0x78,0x29,0xAB,0x9A,0xC5,0x83,0xE3,0x2F,0x8F,0x7C,0x09, -0x67,0xBD,0x9B,0x20,0xC3,0xE2,0xE5,0xFD,0xE1,0xDC,0xE1,0xFA,0xEA,0xF2,0xC4,0xCC, -0x91,0x05,0x23,0x6E,0x96,0x12,0xB0,0x58,0x65,0x88,0x31,0xAE,0xA3,0x19,0x66,0x85, -0x4A,0x68,0x4E,0xD8,0xC0,0xB3,0xE6,0xAF,0xB1,0xCC,0xA1,0xEA,0x73,0x01,0xAE,0x55, -0x5A,0xA3,0x85,0x03,0xDF,0xB0,0xF9,0xB3,0x0E,0x5A,0x88,0x7C,0x6A,0x7A,0xCC,0x4C, -0xC6,0x27,0x01,0x1B,0x74,0xEF,0x52,0x47,0xD5,0x37,0x3E,0x11,0x29,0xE8,0x1D,0x0F, -0xB7,0x36,0x10,0x7B,0xE0,0xB7,0xC6,0x8B,0x60,0xA9,0x15,0x8F,0xEC,0x95,0xA5,0xCA, -0x5F,0x82,0xA4,0x27,0x14,0x6B,0x32,0xA3,0x69,0x5C,0xE9,0x7A,0x43,0x75,0xEA,0x65, -0x73,0xB9,0x9F,0x30,0x99,0x51,0xBF,0x14,0x7B,0x84,0x23,0xA2,0xBB,0x43,0x24,0x9D, -0x1B,0x96,0xB0,0x77,0x1F,0x38,0x39,0xFB,0x44,0x89,0x11,0xAF,0xFE,0xB6,0x94,0xD8, -0x28,0x4F,0x69,0x9D,0x11,0x5B,0x37,0x96,0xFC,0x2D,0x0D,0x0B,0xA7,0x0D,0x76,0x81, -0x1F,0x59,0x7F,0xBC,0xE8,0xB5,0xCE,0x81,0x45,0x67,0xFE,0x41,0xE6,0xEC,0xD6,0xC0, -0x9C,0x3F,0x19,0x59,0xB9,0x55,0x9F,0x30,0xBC,0xF6,0x96,0xD0,0x0D,0xD8,0x09,0x2B, -0xEA,0x1C,0x3A,0x0C,0x9C,0x61,0xBA,0x21,0x6E,0x6E,0xDC,0x48,0x41,0x06,0x9B,0x67, -0x54,0x64,0x42,0xCA,0x36,0x1E,0x10,0xF4,0x02,0x8E,0x50,0xA8,0x26,0xA4,0x5E,0x00, -0x82,0x33,0x15,0x4B,0xD7,0xB2,0xF1,0xB9,0x7E,0xA5,0x07,0x83,0x91,0x1E,0x53,0xB7, -0xA1,0x21,0x07,0x7A,0x56,0x9A,0x70,0x10,0xC8,0xC6,0xD2,0xE0,0x33,0xC1,0x2E,0x15, -0x0A,0xB3,0x95,0x43,0xA8,0x35,0x8E,0x41,0x09,0x68,0xBD,0x4E,0x79,0x78,0xDD,0x5F, -0x80,0x20,0x06,0x5A,0x6C,0xAD,0x4A,0x1D,0x5B,0x6B,0xEC,0x4D,0x53,0x25,0xAA,0x75, -0x68,0x94,0xB2,0x06,0xC1,0x93,0xE7,0x8E,0xBB,0xC4,0xA3,0xE2,0x58,0x7D,0xF9,0x7E, -0x97,0xD9,0xFF,0xB4,0xF8,0xF5,0xDE,0xD1,0x4E,0x81,0x13,0xA7,0x57,0x31,0xBA,0x71, -0xE3,0xE9,0xCF,0xF0,0xCB,0xE0,0xED,0xF7,0x12,0x45,0x8B,0x63,0xD6,0x98,0x92,0xF0, -0x2C,0x80,0xA6,0x56,0xE7,0xF6,0xC1,0xCD,0x2D,0x48,0xB9,0x6E,0x0B,0xBF,0x68,0x2D, -0x62,0x9C,0xBA,0x04,0xCA,0xC0,0xEC,0xD6,0x3C,0x6D,0x8D,0x4B,0x8B,0x37,0x60,0xAD, -0x92,0xF8,0xDE,0x90,0xCD,0x81,0xEB,0x90,0xFE,0x3E,0x1C,0x18,0x77,0x15,0xBE,0x51, -0xED,0x2E,0x08,0x39,0xD0,0xF3,0xF6,0xFF,0x51,0x63,0xEE,0x45,0x92,0x4C,0x02,0xB4, -0x4D,0x5A,0x7C,0xED,0xBC,0x65,0x9A,0x05,0xC7,0xEF,0xF4,0xC9,0x28,0xC9,0x3D,0x0E, -0xA9,0x3A,0x1C,0x69,0xF3,0xA6,0xD5,0x89,0x83,0xFB,0xA4,0xDD,0x1E,0xDA,0x18,0x38, -0x13,0x8D,0xAB,0x64,0x17,0x3A,0x31,0xF1,0x55,0xAC,0x25,0x8A,0x71,0x72,0xDF,0x57, -0x94,0x24,0x02,0x4A,0x55,0xCB,0x73,0x42,0x18,0x4D,0x89,0x6B,0xC9,0x84,0x91,0xEF, -0xCE,0x3C,0x1A,0x08,0x24,0x2F,0x02,0xD7,0xB5,0x03,0x6A,0x25,0x47,0x61,0xFA,0x61, -0x2B,0xB2,0x94,0x63,0xAD,0x05,0x8B,0x74,0xF9,0x0C,0x29,0x2A,0x52,0x04,0x8A,0x74, -0x33,0x62,0x44,0xAB,0x78,0xFD,0x5E,0x59,0xBE,0xE5,0x87,0xC3,0xC7,0xE9,0xF2,0xE1, -0xDD,0x0A,0x2C,0x2D,0x3C,0x6D,0x1A,0x8D,0x34,0x76,0x9E,0x50,0xD5,0xCA,0xC3,0xF3, -0xF3,0x22,0x04,0x2B,0x8F,0x70,0xA9,0x23,0x7C,0xB6,0x16,0x90,0xAE,0x26,0x54,0x88, -0x32,0x8C,0xAA,0x44,0x87,0x72,0xA1,0x29,0x0F,0xB4,0x67,0x92,0x90,0x3F,0x73,0xB6, -0xD2,0x23,0x05,0x0B,0x49,0x99,0x6F,0x0C,0x87,0x34,0x6F,0x12,0xB7,0x5D,0x36,0x91, -0xA8,0xD4,0xF2,0x86,0xF0,0xF7,0xD6,0xDB,0x86,0xDA,0x80,0xFC,0x0A,0x9E,0x48,0x2C, -0x4B,0x86,0xA0,0x37,0x32,0x0E,0x14,0xE0,0xEF,0x1B,0x28,0x3D,0xC2,0xDC,0xC2,0xE4, -0x70,0x44,0x62,0xCE,0xB8,0x75,0x9E,0x11,0x6B,0x4F,0xF8,0x69,0xF5,0xEE,0xC7,0xD3, -0x7F,0x6D,0x4B,0xE8,0x20,0x3F,0x06,0xC3,0x71,0x8C,0x21,0xAA,0x13,0xE5,0x2A,0x35, -0xC2,0xE8,0xCE,0xD0,0x9E,0x10,0xB8,0x52,0x6A,0xA1,0x17,0x87,0x46,0x40,0xDA,0x60, -0x3A,0x97,0xB1,0x57,0xD2,0x82,0xF4,0x8C,0x79,0x97,0x32,0xB1,0x51,0x56,0xDB,0x77, -0xD4,0xFF,0xD9,0xD1,0xFA,0x84,0xDC,0xA2,0xEB,0xD4,0xE3,0xF2,0xB3,0x49,0x26,0x95, -0xAA,0xC7,0xE1,0x97,0x5F,0xB8,0x79,0x3B,0x2A,0x7A,0x8C,0x5C,0x5D,0x48,0xC9,0x7B, -0x24,0x9B,0xBD,0x45,0xF7,0xB6,0xD1,0x9D,0x17,0x64,0xAF,0x42,0x86,0x08,0x52,0xA0, -0x1A,0x78,0x5E,0x98,0xC8,0xB1,0xEE,0xA5,0xAE,0x2E,0x5C,0x08,0x3B,0xCB,0x2C,0x1D, -0xF5,0xFE,0xD8,0xF1,0x2A,0x4C,0x0C,0xBA,0xE4,0xFD,0xC5,0xDB,0x30,0x93,0x7F,0x16, -0x3E,0x58,0x7E,0x9C,0x54,0xEB,0x72,0x63,0x00,0x9D,0x41,0xBB,0xAF,0x07,0x74,0x89, -0xFA,0xD7,0xF1,0xD7,0xEB,0xE4,0xCD,0xD3,0x64,0x66,0xDE,0x40,0x35,0xA6,0x4F,0x13, -0x6D,0xB5,0x93,0x22,0x98,0x71,0xBE,0x35,0xF6,0x25,0x0F,0x03,0x50,0x77,0xFB,0x76, -0x2E,0x93,0xB5,0x47,0x5B,0xA8,0x7D,0x2F,0x88,0x1D,0x49,0x3B,0x27,0x85,0x7E,0x01, -0xD0,0x30,0x16,0x1A,0xD3,0xA2,0xF5,0xAD,0x9F,0xE4,0xA7,0xC2,0x7D,0x6C,0xCD,0x5B, -0xE7,0x26,0x00,0x3B,0xD1,0xD3,0xF7,0xDE,0x20,0x72,0x8E,0x54,0xE3,0xD9,0xE6,0xC5, -0x1C,0xA4,0x82,0x42,0x2B,0x6C,0x0D,0x9B,0x39,0x4C,0xA9,0x6A,0x8D,0x50,0x01,0xAB, -0x5E,0x6C,0x4A,0xC8,0xA2,0x46,0x84,0x38,0xCF,0xF4,0xE7,0xD2,0x0E,0x8A,0x58,0x28, -0xCC,0x2F,0x09,0x19,0x38,0x7D,0x1E,0x99,0xBD,0x18,0x79,0x3E,0xFC,0xC5,0xE5,0xDA, -0x6F,0xA6,0x80,0x33,0xE9,0x95,0xCF,0xA0,0xB2,0x31,0x5F,0x17,0x83,0x3D,0x62,0xA5, -0xB4,0xCB,0xED,0x85,0x12,0x0A,0x34,0xC4,0x22,0x61,0x9F,0x47,0x75,0x66,0xCF,0x53, -0x57,0x99,0xBF,0x34,0xBE,0x14,0x98,0x76,0xB8,0x39,0x5D,0x1F,0x8A,0x16,0x40,0xAC, -0x27,0x66,0x40,0xBB,0xF9,0xD5,0xDF,0xF0,0xF8,0xE2,0xC6,0xC4,0x6F,0x4F,0xFC,0x49, -0xC0,0xFB,0xDD,0xC1,0x65,0x8F,0x43,0x36,0xDF,0x3F,0x3C,0x19,0x60,0x03,0xBF,0x46, -0x53,0x56,0x70,0xFF,0x59,0xD9,0x7F,0x5C,0xE2,0x21,0x1F,0x07,0x3D,0xAC,0x4D,0x1B, -0xB3,0xB8,0xF1,0x62,0x34,0xA7,0xC5,0x0B,0xDC,0x5F,0xCC,0x79,0xC6,0xB6,0x55,0x8A, -0xB9,0x3A,0x79,0xEA,0x97,0x04,0x3B,0x56,0x6F,0x05,0x96,0x90,0x3F,0x58,0xAC,0x9D, -0x7D,0x8E,0x09,0x9A,0xA0,0x33,0x09,0x53,0x10,0xAF,0x3C,0x45,0x6E,0xB8,0xFD,0x2C, -0xC2,0xCB,0xF3,0x60,0x22,0xB1,0xF2,0x2A,0xF7,0xC1,0x52,0xCC,0x50,0x9F,0xC3,0x35, -0xFA,0x76,0x76,0xE5,0x5C,0xCF,0x2B,0x8D,0x65,0x8D,0x1E,0x12,0xBF,0x50,0x2C,0x15, -0x5D,0xAF,0x08,0x9B,0xFA,0x69,0xE0,0xE0,0x6E,0x12,0x81,0x86,0xDF,0xD4,0x4C,0xF1, -0x60,0x20,0xBA,0x29,0xB1,0x22,0x78,0x33,0xEA,0x72,0xE1,0x62,0x07,0x1E,0x94,0xE3, -0xF5,0xC6,0xC9,0x5A,0xD3,0x40,0xEF,0xC6,0x5E,0x17,0x84,0xB3,0x44,0xCF,0xD7,0x71, -0xC4,0xE5,0xDB,0x48,0x62,0xF1,0x32,0xAA,0xED,0x4D,0xDE,0x5A,0xC0,0xD7,0x53,0xED, -0x05,0x63,0x9C,0x0F,0x9D,0x0E,0x42,0x25,0x51,0xA8,0x3B,0x03,0x1B,0x4C,0x88,0xAD, -0xC8,0x49,0x7B,0xE8,0x52,0xC1,0x46,0xEE,0x5C,0x1F,0x8C,0xB9,0x03,0x0E,0x90,0xF7, -0x9E,0x23,0x47,0xD4,0xFF,0x6C,0xD5,0xD0,0xAE,0x42,0xD1,0x16,0x1D,0x2D,0x8E,0xCA, -0x6C,0x8C,0x1A,0x89,0x2B,0xB8,0xD9,0x08,0xF4,0xDE,0x4D,0xD0,0x3A,0x68,0xA9,0xA8, -0x57,0x2D,0x80,0x13,0x68,0xFB,0x4B,0xD9,0x49,0x2C,0xBF,0x9F,0xD6,0xF6,0x45,0xDA, -0x1B,0xD1,0x30,0xA3,0xCF,0x5C,0xA1,0x94,0xDE,0x57,0xC4,0x73,0x43,0x8E,0xD0,0x37, -0x84,0xB5,0xCB,0x58,0xA2,0x31,0x7A,0x22,0x73,0xA1,0x32,0x28,0x13,0x4E,0x80,0xA7, -0x88,0x19,0x6B,0xF8,0x27,0xB4,0xC7,0x1A,0x27,0x95,0x06,0x48,0x16,0x7E,0x85,0x92, -0x63,0x3C,0xA5,0x36,0x88,0x1B,0x27,0x55,0x62,0xB2,0x21,0x2A,0x96,0x76,0x05,0x1A, -0x1F,0xF5,0x10,0x83,0x82,0x11,0x5E,0x26,0xD3,0xE0,0x73,0xC9,0x39,0x39,0xAA,0xFA, -0xE6,0xCE,0xD2,0x41,0xD0,0x43,0xBD,0x97,0x59,0x28,0xBB,0x8B,0xF8,0x91,0x6B,0x93, -0xEC,0x4C,0x5A,0xC9,0x66,0xF5,0x26,0xBA,0xE3,0xE5,0x76,0xFC,0xC7,0x96,0x54,0xAB, -0x14,0x61,0x8F,0x1C,0xB6,0x25,0x3E,0x72,0x9B,0x70,0xE3,0x11,0x2E,0x38,0xBD,0xEC, -0x61,0x36,0xAD,0x3E,0x26,0xB5,0xE6,0x3A,0x45,0x8C,0x1F,0x33,0x94,0x07,0x07,0x69, -0x7C,0x98,0x1E,0x8D,0x0E,0x9D,0xC8,0x3C,0xD2,0xF7,0x64,0xDF,0x54,0x8F,0xC7,0x21, -0xA9,0x2E,0x7D,0xEE,0xC3,0x50,0xBF,0x86,0xD8,0x7F,0xEC,0x5D,0x58,0x9D,0xCB,0x3F, -0x95,0xB7,0xD8,0x4B,0xFB,0x68,0xC1,0xC0,0x37,0x91,0x02,0x5C,0xF6,0xF2,0x65,0xFE, -0xA0,0xB0,0xEA,0x79,0x7C,0xEF,0x0F,0x89,0x3D,0x19,0x8A,0xDE,0x0C,0x4D,0x9F,0xBB, -0xA7,0x88,0xD5,0x46,0x9F,0x0C,0x31,0x54,0x43,0xA4,0x37,0x1D,0x46,0xBE,0xD5,0x02, -0x2E,0xD6,0x02,0x91,0x69,0xFA,0x6A,0xF9,0x3B,0x31,0xA2,0xF0,0xAE,0x30,0x3D,0x64, -0x64,0x04,0x9A,0x09,0x40,0xD3,0x65,0xDF,0xD6,0xD7,0x44,0xFB,0x6D,0xE9,0xFE,0x7E, -0x93,0x99,0xF0,0x63,0x93,0x00,0x2F,0x46,0xCA,0x73,0xE0,0x43,0xB5,0x23,0x26,0x6C, -0x01,0x47,0xBC,0x2F,0xEC,0x7F,0xD7,0xC1,0xCB,0x64,0xF7,0x55,0x83,0x06,0x10,0x7F, -0xE4,0xC4,0xDA,0x49,0xDD,0x4E,0x82,0xA5,0xAB,0x75,0xE6,0x24,0xA3,0x02,0x30,0x5B, -0x82,0x9B,0xE3,0x70,0x90,0x03,0x7D,0x17,0xE8,0x7A,0xE9,0x68,0xE6,0xB2,0x75,0xAE, -0xE7,0xD8,0xC5,0x56,0x84,0x17,0x39,0x47,0x79,0x29,0xBA,0xAA,0x6A,0xA8,0xF9,0x38, -0xF1,0xE2,0xE9,0x7A,0xED,0x7E,0xF6,0xE1,0x83,0xF4,0x67,0x8D,0x67,0x9A,0xF4,0x07, -0x8B,0x05,0x74,0xE7,0x25,0xB6,0xB4,0x6B,0x3F,0x11,0x82,0xD4,0xE4,0xC3,0x77,0xDD, -0xA3,0xAC,0xF5,0x66,0x37,0xA4,0x97,0x5A,0x42,0xB3,0x20,0x0B,0x87,0x16,0x14,0x6B, -0xBC,0x08,0x4E,0xDD,0x24,0xB7,0x95,0x4B,0xBB,0x71,0xE2,0x30,0x49,0xFD,0xDA,0x4E, -0x24,0x54,0x8A,0x19,0xB7,0x24,0x1F,0x52,0xCC,0x5B,0xC8,0x6D,0x4A,0xAC,0xD9,0x1C, -0x2B,0xE4,0x35,0xA6,0x89,0x1A,0x06,0x75,0xCE,0x53,0xC0,0x67,0x8E,0x34,0x1D,0x40, -0xB7,0x9C,0xD1,0x42,0x3E,0xAD,0xBC,0x78,0x09,0x3C,0xAF,0xCF,0xD9,0xB5,0x4A,0x96, -0x3E,0xC2,0x06,0x95,0x38,0xAB,0xDB,0x19,0xEB,0x65,0xF6,0x74,0x21,0x7B,0xB2,0xA0, -0xDA,0x57,0x77,0xE4,0x20,0xB3,0x81,0x5B,0x80,0xEB,0x78,0x91,0x6F,0x98,0xFC,0x0D, -0x90,0x85,0xEF,0x7C,0xFC,0x6F,0x87,0x81,0xAF,0x55,0xC6,0x00,0x1C,0x0D,0x8F,0xEB, -0xD1,0xC3,0xE8,0x7B,0x98,0x0B,0x77,0x15,0x71,0xA9,0x3A,0x22,0x4F,0x9C,0xDC,0x29, -0x74,0x10,0x9E,0x0D,0x5E,0xCD,0x58,0xFC,0x2C,0x0A,0x99,0xDC,0xCD,0xE5,0x5E,0xD2, -0xE2,0xEA,0xF2,0x61,0x2A,0xB9,0xF8,0x28,0x13,0xB0,0x23,0x59,0x41,0xFF,0xD2,0x44, -0xA1,0xA6,0xFD,0x6E,0xA7,0x34,0x4F,0x12,0xDD,0x48,0xDB,0x6F,0x78,0x99,0xEB,0x1B, -0xA2,0xBA,0xE2,0x71,0x6C,0xFF,0x5F,0xC9,0xBF,0x51,0xC2,0x14,0xEE,0xB0,0x7D,0xA4, -0xA6,0x9E,0xC2,0x51,0x32,0xA1,0xA2,0x6A,0xB4,0xCE,0x5D,0x80,0x8B,0x04,0x18,0x75, -0xFE,0x52,0x56,0xC5,0x23,0xB0,0xD3,0x0A,0x0C,0x0B,0x98,0xFD,0x15,0x2F,0x86,0xC0, -0x69,0xBE,0x2D,0xBE,0xB8,0x2B,0x53,0x11,0x6D,0x0D,0x9E,0x9A,0xE7,0x92,0x74,0x8F, -0x5F,0xA5,0x00,0x93,0x59,0xCA,0x1E,0xBD,0xB1,0xF9,0x6A,0xB2,0xCC,0xC5,0x5F,0xF3, -0x03,0x4D,0xB4,0x27,0x01,0x92,0x84,0x7F,0x77,0x81,0x12,0x0C,0xAA,0x20,0x39,0x70, -0xF3,0xE8,0xE1,0x72,0xB9,0x2A,0x72,0x31,0xD5,0xC8,0x5B,0xE7,0xFE,0xF0,0x6D,0xF4, -0x44,0x25,0x9B,0x08,0x3B,0xA8,0x89,0x48,0x18,0x2F,0xBC,0xCD,0xD4,0x87,0x47,0xA9, -0xA4,0x94,0xCA,0x59,0x5D,0xCE,0x0A,0xAD,0xC7,0xC4,0x57,0xF9,0x45,0xEF,0xD6,0x50, -0x0F,0xE1,0x14,0x87,0x60,0xF3,0x41,0xDB,0x4F,0x04,0x97,0xB1,0xAC,0x41,0x3F,0x17, -0x70,0x34,0xBE,0x2D,0x18,0x8B,0xFF,0x1D,0x8A,0x63,0xF0,0x13,0x4C,0xCD,0xDF,0x7B, -0x40,0x01,0xBB,0x28,0xBD,0x2E,0x66,0x21,0x35,0x99,0x0A,0x56,0xA6,0x32,0x35,0x6E, -0x7A,0xB6,0x36,0xA5,0x86,0x15,0x4A,0x36,0xFB,0x61,0xF2,0x60,0x7E,0xF8,0xED,0x7C, -0x4A,0x83,0x33,0xA0,0x4B,0xD8,0x3D,0x8C,0x67,0x85,0x16,0x18,0x0F,0x1C,0x9C,0xE9, -0x29,0xEE,0x3D,0xAE,0x92,0x01,0x0E,0x66,0x85,0xDC,0x4F,0xA3,0xAB,0x00,0x38,0x51, -0xD0,0x23,0x7C,0x24,0xFD,0xF2,0x74,0x87,0x4C,0x26,0xE2,0xBF,0x3E,0xC8,0x7E,0x3B, -0xA1,0x52,0x98,0xB1,0xBF,0xA8,0x6C,0x9F,0xC2,0x4D,0x07,0x31,0xDD,0x86,0xD3,0x75, -0x76,0x85,0x11,0xEF,0xDE,0xCF,0x6A,0x99,0x9B,0xAF,0xBC,0x68,0x13,0x7E,0xE5,0x8D, -0x92,0x61,0x8D,0x97,0xD3,0x75,0xDD,0x2E,0xF4,0x68,0x14,0x07,0x92,0x29,0x33,0xDA, -0x55,0xA6,0x44,0x99,0x8E,0x8B,0x7E,0x8D,0x17,0xB5,0x2A,0xE4,0x59,0xE6,0x37,0x15, -0x39,0xCA,0xD2,0x63,0x5A,0x2B,0x0A,0xF9,0xAD,0x8A,0xAF,0x5E,0x43,0x6A,0xA1,0x99, -0x4F,0xBC,0x77,0xB0,0xB3,0x04,0xCC,0x3F,0x0E,0xD7,0x51,0xFD,0x3A,0xE8,0x5A,0x1B, -0x48,0xBB,0x36,0xF6,0x27,0xF4,0xA8,0x5B,0xF2,0x09,0x73,0x01,0xAB,0xBB,0x98,0x48, -0x4E,0xBD,0x57,0x91,0x47,0x85,0xB9,0x4A,0x53,0x25,0xFE,0xA0,0x3C,0xC0,0x74,0x33, -0x62,0x91,0x41,0xAB,0xE1,0x4A,0xD0,0x23,0x8E,0xDF,0xD9,0x7D,0x0E,0xCD,0x4B,0x3E, -0x44,0xB7,0x24,0xE8,0xB1,0x0E,0xC4,0x37,0xDD,0x4E,0x1B,0x2E,0x14,0x41,0xDD,0xB2, -0x7D,0x8E,0x42,0xB7,0x03,0xF1,0x89,0x7A,0xD2,0x0D,0x57,0x21,0xA4,0x04,0x28,0xF7, -0x2D,0xDE,0x82,0x27,0xF4,0x6C,0xE3,0x10,0xFC,0x6A,0x1E,0x0F,0x0A,0xED,0x6F,0x1E, -0xE9,0x1A,0x1A,0x7B,0xED,0xE6,0x70,0x83,0xD6,0x1D,0x43,0x25,0x5B,0xEE,0x3D,0x1D, -0x52,0xA1,0x05,0xDF,0xFC,0xE4,0x63,0x90,0x14,0xE4,0x78,0xE7,0xB0,0x20,0x18,0xD3, -0xD3,0x20,0x2D,0x76,0xCD,0xC7,0x71,0x82,0xB6,0x99,0xA7,0x45,0x65,0x43,0xAE,0xB0, -0x19,0xEA,0xD6,0x47,0xBB,0x8C,0x4C,0xBF,0xC4,0x2C,0x60,0x37,0x6B,0xEB,0x08,0x18, -0xB3,0x40,0xA9,0x92,0x7D,0x32,0x34,0xC7,0xA3,0xE9,0xC2,0x50,0xE7,0x0B,0x64,0xF8, -0x6D,0x9E,0x02,0xE7,0x0B,0x79,0x09,0xFA,0x63,0x61,0x8A,0x90,0x49,0xE2,0x23,0x11, -0x3C,0xCF,0xE2,0x56,0xEE,0xFA,0x6F,0x9C,0x88,0xBE,0xBE,0x7B,0x21,0x73,0xDA,0x80, -0x9A,0x69,0x8F,0x9D,0xC0,0x7D,0xC6,0x35,0x7B,0x23,0xD0,0x88,0xA6,0x0C,0x22,0xFF, -0x94,0x67,0xEC,0xF0,0x2A,0x4E,0x1F,0xEC,0x22,0xC1,0x6B,0xD1,0xBA,0xA8,0x9A,0x5B, -0x91,0x62,0xDC,0xC5,0x90,0x39,0xD2,0x21,0xC6,0x5D,0x13,0x35,0x5E,0xD9,0x0F,0x2A, -0x1C,0xEF,0xE6,0x72,0x87,0x15,0xE9,0x1A,0x3E,0x93,0x25,0xCD,0x94,0x01,0x1D,0xF2, -0xF1,0x02,0x58,0x21,0xAC,0xA0,0x77,0x84,0xAC,0xAA,0x8E,0x5F,0x89,0xB2,0xB3,0x41, -0x65,0x96,0x00,0xED,0xCC,0xD1,0x66,0x95,0x69,0x12,0xF3,0x9A,0xA2,0x2C,0x06,0xDF, -0x45,0xB6,0x04,0xC9,0x6F,0x2C,0x38,0xCB,0xF6,0x19,0x67,0x05,0x16,0x49,0xD7,0xBA, -0x5A,0xA9,0x07,0xD5,0xB4,0x3C,0xF3,0x00,0xEF,0x7B,0x1C,0x1C,0x3F,0xDF,0x68,0x2C, -0x46,0xB5,0x55,0x9B,0x97,0x01,0xED,0x1E,0x6F,0x73,0x94,0x9C,0x56,0x59,0x87,0xAA, -0x13,0xE0,0xA5,0x3E,0xD9,0xF7,0x55,0xA6,0x26,0xD1,0x7F,0xD5,0x86,0x0D,0x03,0xFE, -0xA7,0x54,0xF9,0xD6,0x1B,0x6D,0x0D,0xFE,0x5E,0x17,0xC1,0xAD,0x63,0x6B,0x80,0x98, -0x8A,0x79,0xCF,0xCD,0xB7,0x20,0xEC,0x1F,0xAA,0xCB,0xE9,0x59,0x34,0x40,0xFC,0xB3, -0xE0,0x13,0x38,0x50,0x76,0xA6,0xAB,0x58,0xE5,0x08,0x65,0x16,0x8B,0xBA,0xB9,0x49, -0xDC,0x2F,0x6E,0x3A,0x48,0x35,0x06,0xF5,0xB8,0xFA,0xCA,0x4B,0xA8,0xA4,0x84,0x57, -0x3B,0xC8,0xA3,0x10,0x83,0x31,0xC9,0x3A,0x0F,0xF7,0x70,0xFC,0xEA,0xBC,0xDE,0x4F, -0x7C,0x8F,0x62,0x96,0x0C,0x41,0x36,0xC5,0xEA,0x4B,0x29,0x19,0x71,0x67,0x9E,0x94, -0x6C,0x9F,0x22,0xC6,0x84,0x09,0xF6,0x05,0x06,0xD5,0x5B,0xF5,0xE8,0xB4,0xD4,0x47, -0x97,0x64,0xBD,0xA2,0x32,0xD2,0x9B,0x68,0xF0,0x78,0x00,0x03,0x28,0xE4,0x44,0x17, -0x27,0xD4,0xF1,0x5E,0x7F,0x38,0x3C,0xCF,0x8B,0xEF,0xEC,0x78,0x50,0x71,0xA9,0x82, -0xBD,0x4E,0xCA,0xFF,0xAE,0xAA,0x7F,0x8C,0x79,0x52,0xA3,0x8A,0xCE,0x9D,0xDB,0x6E, -0x54,0xA7,0x64,0xB8,0x8C,0x81,0x76,0x85,0x66,0x51,0xBF,0x95,0x39,0xF7,0x46,0x04, -0xAE,0x5D,0xDB,0xFD,0xF5,0x7A,0xF4,0x07,0x08,0xB6,0x36,0xFB,0x1E,0xC9,0x5F,0x3A, -0xDE,0x2D,0x1F,0x49,0xF0,0x48,0xC3,0x30,0xA2,0xC9,0xE3,0x51,0xFE,0x98,0xEE,0x6B, -0x56,0xA5,0x15,0xCB,0xAD,0xB6,0x60,0x93,0xF8,0x7A,0x0A,0x0B,0x10,0x61,0xF9,0x92, -0x6E,0x9D,0x53,0xB5,0x60,0x9C,0x87,0x74,0xB0,0xF8,0xC0,0x43,0x69,0xE3,0x02,0x10, -0x1D,0xEE,0xC6,0x53,0x95,0x0B,0xE5,0x16,0xD5,0x4C,0x11,0x26,0xB8,0xA0,0x90,0x53, -0xAF,0x5C,0xFB,0xDC,0x46,0x93,0xAE,0x5D,0xB5,0xC8,0xF5,0x46,0x72,0x78,0x82,0x8B, -0xD1,0x22,0x5C,0x05,0x2B,0x58,0x08,0xFB,0x2A,0xC3,0x61,0xD9,0xF6,0x18,0x66,0xEB, -0x72,0x81,0x01,0xFB,0xF2,0x42,0xCB,0x38,0x03,0xE5,0x6E,0xF0,0x18,0xE1,0x71,0x12, -0x4D,0xBE,0x06,0xC3,0x2F,0x7C,0x28,0xDB,0xBE,0x9B,0xAD,0x4D,0xEB,0xAB,0xC8,0x58, -0x7F,0x8C,0x33,0xC4,0x66,0xB2,0xAF,0x5C,0x36,0x91,0x2F,0xC5,0x54,0x51,0x8D,0xA2, -0xDA,0x29,0x0F,0x5D,0x20,0xCC,0x97,0x64,0xD8,0x7E,0x2E,0x2B,0x3B,0xFF,0x4C,0x0C, -0x1B,0xE8,0xA7,0x34,0x67,0xA4,0xB8,0x4B,0xC3,0x6D,0x26,0x30,0xA0,0x24,0x0C,0xD7, -0x57,0xA4,0x35,0xEA,0xE0,0x5C,0xC7,0x34,0xD4,0x6C,0x30,0x27,0x85,0x12,0x1F,0xE1, -0x3D,0xCE,0xC2,0x77,0x79,0x16,0x14,0xE7,0x70,0x70,0x88,0x83,0x4F,0xCA,0x0D,0x39, -0xA5,0x56,0x88,0xA5,0x5F,0x19,0x3D,0xCE,0x96,0x9D,0x83,0x65,0x96,0x09,0x17,0xFA, -0x75,0x86,0x40,0xBD,0x31,0xCE,0x84,0x77,0x8F,0xFF,0xF8,0x7C,0x37,0x5F,0xE0,0xAC, -0xB7,0x44,0xB9,0x86,0x80,0x2D,0xD6,0x25,0x47,0x75,0xBA,0xB4,0x9F,0x9E,0x89,0x6D, -0x02,0xF1,0xC5,0x4F,0xF3,0x54,0xDC,0x2F,0x15,0xC4,0x59,0xE6,0xD0,0x31,0x69,0xC2, -0xCC,0x3F,0x2E,0x6A,0xBC,0xB4,0x73,0x80,0x32,0x81,0x3B,0xC1,0xD8,0xB1,0xE1,0x42, -0xB9,0x4A,0xDA,0xEB,0x9A,0xBB,0x5A,0xA9,0x50,0x74,0xAC,0xA3,0x29,0xF3,0x52,0x00, -0x0A,0xF9,0xC7,0x45,0x9C,0x95,0x72,0x81,0x2B,0xE3,0x40,0xD8,0xA1,0x33,0x1A,0xC0, -0x28,0xDB,0xB2,0x12,0xD4,0x4D,0xE2,0x11,0xD7,0x3D,0x62,0x24,0x9E,0x89,0x9F,0x7A, -0xFD,0x0E,0x4A,0x3F,0x1C,0x55,0x32,0xC1,0x42,0x45,0x8F,0xB1,0x30,0x60,0xD8,0x93, -0xD8,0xCB,0x46,0x31,0x6F,0x2B,0xF8,0xC2,0x06,0x33,0xEF,0x60,0xF1,0x55,0xBC,0xF1, -0xAB,0x5E,0xA0,0x42,0xF8,0x49,0x0D,0xA0,0x63,0xE2,0x8A,0xD4,0x63,0x16,0xFF,0x20, -0x19,0x63,0x2F,0xF0,0x60,0x02,0xDE,0xEB,0x03,0x06,0xEA,0x50,0x71,0xCE,0x27,0xEA, -0x67,0xC4,0xF6,0x8E,0xAB,0xA4,0xB3,0x4D,0x9C,0x92,0x75,0x5B,0x95,0xAE,0x47,0x6E, -0xE2,0xFC,0x4B,0x0B,0x72,0xDA,0x14,0x33,0xD0,0x4C,0x39,0xC9,0xB5,0x41,0xA8,0xA1, -0x18,0x43,0x0E,0xF1,0x89,0x58,0x6D,0xB1,0xBE,0xC5,0x57,0x2E,0xAC,0x7F,0x96,0x86, -0x68,0x87,0xBA,0x81,0xBB,0x6F,0x68,0x86,0x14,0x10,0xFD,0x51,0x1D,0x2E,0xC7,0x66, -0xE0,0x8D,0x38,0x09,0x45,0xCC,0x35,0x25,0x4E,0xF9,0xA7,0xE2,0x0A,0xD7,0x3E,0x88, -0xDA,0xBA,0x35,0x33,0xFA,0x5A,0x1C,0xB3,0xB0,0xA8,0x59,0x4D,0x27,0x02,0xEB,0x70, -0x21,0x25,0x51,0xC8,0x21,0x37,0xAA,0xDE,0x46,0xF3,0xAF,0xE0,0xB7,0x52,0xBB,0xB0, -0x91,0x69,0xAD,0x78,0xCB,0x90,0xE7,0x79,0x3D,0x1F,0xD4,0x77,0x5A,0xC7,0x2E,0xC8, -0x0B,0x52,0x0C,0xE2,0x59,0xD3,0x36,0x3A,0xCF,0x50,0x26,0xCA,0x28,0x2B,0xC2,0x56, -0x56,0xA0,0xA3,0xBF,0x55,0x07,0xEE,0xEE,0x53,0x96,0xBA,0x90,0x4A,0x0C,0xE5,0x13, -0x6A,0xF6,0xC9,0x83,0xC6,0xAA,0xD0,0x43,0x0E,0x39,0xE7,0x62,0x77,0x12,0xFB,0x30, -0x8D,0x3B,0xE3,0x64,0xC2,0x65,0x1B,0x8C,0xB9,0x83,0x50,0x6F,0x2D,0x0A,0xE3,0x72, -0xCA,0xFA,0x65,0x23,0xB2,0x9A,0x94,0x73,0x5C,0xDA,0xB5,0xD3,0x6D,0xD1,0x38,0xE9, -0x0F,0x42,0x18,0xE6,0x48,0xF6,0x02,0x1F,0xE6,0x5F,0x0F,0xEC,0xA1,0x45,0xAC,0xB1, -0xBC,0x5F,0xB6,0x55,0x66,0xDE,0x04,0x37,0x9D,0xB3,0x74,0x7B,0xE9,0x85,0x6C,0x39, -0x9E,0x2A,0xE1,0x77,0xBE,0x4E,0x4C,0xA7,0x61,0x91,0x88,0xA5,0x6C,0x3F,0xD6,0x06, -0x4B,0xD2,0xCC,0xA2,0xA6,0x9E,0x84,0x77,0xF4,0x7C,0x1D,0xDD,0x2B,0xD6,0x3F,0xA8, -0xC3,0xD8,0x4E,0x2A,0x3D,0x28,0xA9,0xC1,0x39,0x0B,0xD0,0x67,0x13,0xE9,0x00,0xAF, -0x01,0x21,0x75,0xE8,0xDE,0x7A,0x18,0x93,0xF1,0x49,0x18,0xED,0x7A,0x28,0xC1,0x07, -0xB4,0x5D,0xBC,0x5D,0xA7,0x70,0x6B,0x99,0xA3,0xAA,0x4A,0x5C,0x9A,0x87,0x6E,0x48, -0x7A,0xB6,0x99,0x93,0x47,0xDF,0x24,0x36,0x84,0xC8,0x6D,0x19,0x12,0x07,0xEE,0x40, -0xAD,0x3F,0xC7,0x44,0x57,0x14,0xFF,0xFD,0x75,0xD5,0x9C,0xF5,0xFF,0x92,0x7B,0x38, -0xE1,0xAD,0x19,0x08,0xAF,0x6B,0x78,0x82,0x62,0xC3,0x8B,0xF4,0xEC,0xA4,0x4D,0x1D, -0x8B,0x5A,0x84,0x62,0xE5,0xB8,0xE1,0x51,0xC6,0x7B,0x2F,0xE8,0xFE,0x7C,0x95,0xD7, -0x13,0x10,0x56,0xFA,0xEA,0x91,0xC7,0x78,0x20,0x70,0xC9,0x05,0xE4,0xBF,0x56,0x0E, -0xC4,0x99,0x08,0x2D,0xB1,0x67,0x6A,0x8E,0xB5,0x9D,0x5C,0x7D,0x82,0x57,0xBE,0x80, -0xFB,0x9E,0x30,0x12,0x8F,0x84,0xB7,0x6D,0x08,0x5E,0xE1,0x03,0x3B,0x1D,0xF4,0x73, -0xC9,0xAB,0x37,0x20,0x41,0x03,0xFE,0xEA,0x80,0xDC,0x69,0x09,0x7E,0xE7,0x0E,0xCC, -0x6C,0x97,0xAE,0x85,0x3F,0x3B,0xB8,0xD2,0x6E,0xDD,0x87,0xE6,0xBF,0x49,0xA0,0xA3, -0x9B,0x1A,0xD4,0x72,0x9F,0x4F,0x6C,0xA6,0x4A,0xED,0xA3,0xF2,0x9C,0x5B,0xB2,0x92, -0x5F,0x82,0x88,0xB6,0x15,0xDC,0x75,0x35,0x60,0xB0,0x89,0x85,0xCE,0x58,0xB1,0xC3, -0xE4,0x9D,0x2C,0x0D,0x17,0xCF,0x64,0x26,0xA2,0x8B,0x4B,0x7C,0xEB,0x96,0x7F,0x28, -0x65,0xB5,0x85,0x8C,0x34,0xDD,0x55,0x34,0x00,0x54,0xE9,0x01,0x5D,0xF5,0x1C,0xFD, -0xF8,0xCF,0x62,0x11,0x76,0x15,0xDF,0xFC,0xE5,0x0D,0x0C,0xBD,0x87,0x76,0x9F,0xA4, -0xD4,0xD9,0x58,0x3D,0xB9,0x7C,0x79,0x95,0x38,0x2A,0xD1,0x47,0xB8,0x7B,0x92,0x96, -0xF2,0xBC,0x1B,0x1B,0xFD,0x68,0x29,0x81,0x6B,0xE8,0x82,0xD6,0x2E,0xF7,0x1E,0x8C, -0xCB,0xDA,0x44,0x22,0x02,0x25,0x9B,0xCC,0x64,0xA4,0x8D,0x95,0xDB,0xB2,0x5B,0x3C, -0xE3,0xDC,0x6A,0x0A,0x78,0xD2,0x16,0x3B,0xA1,0xD9,0x48,0x2D,0xC4,0x50,0xB9,0xC1, -0x8F,0x4A,0x90,0x66,0xD8,0xA6,0xC2,0x4F,0x1B,0x5C,0xF2,0x12,0x52,0xDC,0x35,0xDB, -0xF9,0xEF,0x43,0x10,0xF7,0x60,0x2B,0x89,0xB8,0xA2,0x51,0x4F,0xA9,0x5E,0xB7,0xA2, -0xFE,0xAE,0x05,0x17,0x07,0x04,0xBF,0xED,0x44,0x80,0xAD,0x91,0x6B,0x0D,0xE4,0x33, -0x66,0xE4,0xD7,0x8F,0x01,0xD8,0x65,0x31,0xFA,0x11,0x13,0xBE,0x8D,0x7E,0x97,0xA6, -0x17,0x00,0x42,0xFE,0x5B,0xC0,0x27,0x29,0x74,0xF4,0x9D,0xD5,0x20,0x30,0xD9,0x45, -0xC0,0x89,0x1C,0x29,0x3C,0xC6,0x46,0x2F,0x2D,0x4F,0xC4,0x37,0x16,0xC8,0x21,0x8B, -0x24,0x15,0x64,0xCD,0x86,0x71,0x4B,0x98,0x42,0xE7,0xAB,0xF0,0xC0,0x9F,0x76,0x0A, -0xF0,0xCD,0x68,0x19,0xF2,0x41,0x0F,0xA8,0xD9,0x67,0x30,0xEB,0x74,0xEF,0x06,0xCE, -0xA5,0x3D,0xCD,0x4C,0x04,0xF9,0x41,0x10,0x90,0x8C,0x79,0x49,0xF0,0xBB,0x52,0x1E, -0x11,0x61,0x25,0xF8,0x9E,0xA1,0x83,0x48,0xE8,0x32,0x01,0x8F,0x73,0xDD,0x34,0xFB, -0x3C,0x57,0x3E,0xD5,0xD3,0x40,0x2F,0xA9,0x1C,0x1A,0xF5,0x53,0x0F,0xF6,0x1F,0xAC, -0x47,0xC0,0xD2,0xAE,0x53,0xDB,0x34,0x32,0x1A,0x7D,0xF3,0x32,0x40,0x04,0xED,0x11, -0xD3,0x98,0x1E,0x3A,0x22,0xCA,0x54,0x23,0xDF,0x00,0x36,0x8A,0xF5,0x9A,0x73,0x3A, -0xF3,0x9C,0x3A,0x1A,0xDF,0x94,0xF7,0x7D,0x40,0x94,0xA9,0x81,0x24,0xFF,0x16,0x8E, -0xEC,0x9F,0x26,0x05,0xCF,0x5F,0x2C,0xB6,0x59,0xEF,0xB0,0xE3,0x9B,0x69,0x80,0xA7, -0x2C,0x17,0x6E,0xC5,0x8E,0x6A,0x58,0x83,0xCD,0x23,0x24,0xBB,0xD1,0xBA,0x53,0x3E, -0x22,0x74,0x03,0xCB,0xBD,0xB3,0xB2,0x5A,0x94,0x98,0x7D,0x59,0x69,0x1E,0xF7,0x22, -0x27,0x44,0x36,0xCE,0xCA,0x7E,0x08,0x97,0x70,0xE0,0x99,0xC5,0xFC,0x6F,0x86,0xC6, -0xAA,0x7E,0x81,0x43,0xE6,0x45,0x1F,0xAC,0x88,0xD6,0x61,0x0B,0xEE,0xB7,0x5E,0x0C, -0xAF,0x4E,0xB4,0x46,0x7F,0xE0,0x23,0x09,0x72,0x93,0x9B,0xB4,0xFB,0x5D,0xB4,0xF3, -0x05,0x31,0x61,0xEC,0xC1,0x98,0xE5,0x71,0x15,0x31,0xFC,0x71,0x97,0xBD,0x54,0x7F, -0xDB,0x9A,0x14,0x32,0x8A,0xA5,0x93,0x4C,0xD5,0x79,0x3C,0xF9,0xD0,0x54,0xBD,0xD1, -0x8A,0x7A,0xA5,0x63,0x09,0xC3,0x76,0x2A,0x3E,0x4D,0xD7,0x26,0x29,0xC5,0x2C,0xB9, -0x26,0xFB,0x92,0xF2,0x1B,0x89,0x5D,0xDD,0x3E,0xB6,0xC7,0x13,0xBB,0xB0,0x44,0x64, -0x28,0x96,0xF1,0xFC,0x28,0x50,0x84,0x37,0xDC,0x0D,0x9E,0x4A,0xA7,0x14,0xFC,0xC0, -0x2D,0xA3,0xC1,0xF9,0x5F,0x9D,0x49,0x8D,0x40,0x75,0x7A,0xAE,0x43,0x65,0x69,0xB1, -0xA0,0x14,0xFB,0x74,0x73,0xA6,0x72,0x9A,0x8E,0x43,0x82,0x56,0x89,0xBD,0x7B,0x69, -0xA5,0x21,0xCB,0x71,0xEA,0x03,0xD7,0xA6,0x31,0x06,0x78,0xAC,0x76,0x57,0x6E,0x83, -0x0F,0xF4,0xB4,0xDB,0x54,0x7B,0xAF,0x60,0xF4,0xA4,0x1F,0xCB,0xFA,0xB7,0x02,0x63, -0xD1,0x81,0x1F,0x05,0x1F,0x46,0x92,0x16,0x7C,0xEC,0xDF,0x0B,0x54,0x5E,0x45,0x8A, -0x80,0x30,0xFF,0x54,0x9C,0x20,0xF4,0xF3,0xA3,0xD8,0x34,0xE0,0x3C,0xCF,0xBC,0x1B, -0xFA,0xFD,0x48,0x2E,0x67,0xA2,0x76,0x8A,0x6E,0xF2,0xD3,0x07,0x4B,0xE5,0xE1,0x31, -0xAF,0x58,0xB8,0x7B,0x91,0x1A,0xCE,0xC4,0xCC,0x19,0x9A,0x4E,0x9B,0xB1,0x65,0x65, -0x1B,0xB0,0xE4,0xCF,0x0B,0x42,0x96,0x06,0x0A,0xA7,0xE2,0x36,0x7E,0xD7,0xE6,0x03, -0x36,0xAB,0xD2,0xE2,0x46,0xA3,0x77,0xAA,0xD6,0x8F,0x16,0xC2,0x29,0xFC,0x9A,0x28, -0x4D,0x47,0x45,0x99,0xC6,0x38,0xEC,0xB1,0xB7,0xE8,0x10,0xC4,0x94,0x0E,0xD5,0xDA, -0xD9,0x8B,0x1D,0x0D,0xB7,0x29,0xFD,0xD1,0x0F,0x95,0xD5,0x01,0xBF,0x90,0x60,0x44, -0xF9,0xAF,0x19,0x2D,0x4A,0x77,0xA3,0x72,0x04,0x01,0x4A,0x9E,0x0B,0xF5,0xB1,0x21, -0xE6,0xB3,0x1A,0x32,0x5A,0xBC,0x68,0xA9,0x66,0x7A,0x53,0x87,0x22,0x63,0x0E,0xB7, -0xE9,0xFF,0x59,0x3D,0xED,0x31,0xE5,0x93,0xA8,0x4C,0xAB,0x7F,0x44,0x5A,0x51,0x8E, -0x85,0x05,0xCF,0x51,0x4D,0x45,0x91,0x47,0x97,0xC9,0x11,0xC5,0x5E,0xD6,0xC7,0x02, -0xF3,0xD6,0x6A,0x27,0x62,0x83,0x57,0xAE,0xCA,0x37,0xB2,0x66,0x27,0x54,0x3C,0x80, -0xF4,0x90,0x2B,0x20,0x92,0xE7,0x33,0x3A,0x14,0x15,0x4E,0x9A,0xB6,0x07,0xFE,0xD3, -0x6C,0x42,0x61,0xB8,0x94,0x3B,0xEF,0xE0,0x3B,0x84,0xF0,0x24,0x23,0x74,0x18,0xA0, -0x1D,0xD7,0x85,0xC9,0xCE,0x23,0xF7,0xA2,0x50,0x61,0x7E,0xAA,0xC0,0x3A,0xB5,0xEE, -0xCA,0x89,0x0C,0x1E,0xA9,0x25,0xF1,0xC3,0xB2,0xDA,0x27,0xF3,0x0E,0xC2,0x83,0x16, -0x2E,0xF1,0x90,0xFA,0x13,0x92,0x46,0xCE,0x75,0x72,0x48,0x9C,0x8F,0x95,0x55,0x41, -0x91,0x41,0x9F,0x45,0x0A,0xAC,0x78,0xE9,0x77,0x78,0x40,0x94,0x17,0x51,0x09,0x85, -0x55,0x1D,0x07,0x81,0x80,0x3F,0xEB,0xF0,0x00,0x25,0x6A,0xBE,0x46,0x52,0x5B,0x86, -0xEE,0xB9,0x18,0x3A,0x82,0x2C,0xF8,0xE1,0xF9,0x1E,0xA8,0x7C,0xAD,0x9C,0x7E,0x48, -0x6F,0x10,0x30,0xBB,0xA1,0x3E,0xEA,0xD0,0x84,0xC1,0x0A,0xDE,0x78,0xFF,0xC8,0x2B, -0xF2,0xF7,0x4A,0x26,0xE3,0xF6,0x22,0x5A,0x38,0x98,0xEF,0x3B,0x21,0x7C,0x12,0xA8, -0xDE,0xCD,0x5C,0x0A,0x2C,0x9F,0x4B,0xFC,0xC2,0xBF,0x32,0xE6,0x13,0x71,0x2D,0xA5, -0xF8,0x8E,0x39,0x2C,0x68,0x8B,0x5F,0xAC,0x53,0x7D,0x61,0xB5,0x09,0xFD,0xBB,0x29, -0xC1,0xD1,0x5F,0x15,0x97,0xC6,0x12,0x1E,0x10,0x31,0x6E,0xBA,0xB9,0xB8,0x4E,0x6C, -0xA7,0x52,0xBA,0x73,0xC2,0xF7,0x23,0x7A,0x70,0x40,0x7F,0xAB,0xBD,0x98,0x6A,0x4C, -0xEB,0x8C,0x28,0x3F,0x3A,0x88,0x5C,0xFD,0x71,0x56,0x68,0xBC,0x98,0xAE,0x79,0x7A, -0x81,0x11,0xDF,0x55,0x70,0x5B,0x8F,0x64,0x6D,0xEE,0xCC,0x18,0x52,0x76,0x6B,0xA2, -0x19,0xC3,0x95,0xCD,0x7F,0x72,0xA6,0x42,0x80,0xE5,0x2A,0xFE,0x8B,0xB5,0x71,0x61, -0xCE,0x9D,0x1C,0x1A,0x24,0x84,0x50,0xEF,0xF8,0x08,0xBF,0x6B,0x05,0x5D,0x17,0x89, -0xF1,0xA5,0x1B,0x25,0x1A,0x67,0xB3,0x32,0x86,0xCB,0x02,0xD6,0xF6,0x17,0xAE,0xC3, -0xC3,0xA2,0x2E,0x17,0xD4,0xE0,0x34,0x7B,0x8C,0x49,0x8A,0x5E,0x49,0xED,0xEB,0x39, -0x66,0x3B,0x12,0xB2,0xAA,0xD8,0x0C,0x3D,0x63,0x48,0x64,0xB0,0x26,0x43,0x2A,0x97, -0x05,0x8D,0xC7,0xD1,0xDD,0x15,0xC1,0x87,0x69,0xCA,0xEC,0x38,0x34,0x4F,0x34,0x9B, -0xB6,0x23,0xDA,0x62,0xF3,0x3D,0xE9,0x81,0xFE,0x26,0x97,0x43,0xBC,0x8F,0x7C,0x5B, -0x94,0x74,0xAF,0x40,0x2B,0xAD,0x79,0xC9,0x20,0x04,0x6B,0xBF,0x83,0x35,0xF9,0xE1, -0x41,0x59,0x57,0x95,0x33,0x7D,0xA9,0x01,0x58,0xE9,0xFE,0x2A,0x2D,0xDC,0xBE,0x08, -0xC9,0xDB,0x5D,0x1D,0xA8,0xCB,0x1F,0x2C,0xE2,0x9E,0x33,0xE7,0x2A,0xE3,0x86,0x37, -0x0B,0xE0,0xA4,0xDF,0x4B,0x99,0x4D,0x9D,0x68,0xDC,0xFB,0x2F,0x82,0x22,0xEF,0xF6, -0xBE,0x29,0xD8,0x6A,0x32,0x93,0x47,0xEE,0xD9,0x3F,0xA9,0x7D,0xCD,0x8D,0x0F,0x59, -0x70,0x0C,0x33,0xA4,0xD2,0x3C,0xE8,0xA1,0x9C,0x5D,0x8E,0x5A,0xC5,0x0D,0x87,0xD9, -0xD0,0xA0,0x3F,0x04,0x6F,0xB9,0x6D,0x99,0xC8,0x3D,0xBA,0x6E,0xF5,0x08,0xB2,0xDC, -0x2B,0xC4,0xA0,0xFF,0xB4,0xD4,0x00,0x2F,0x65,0x66,0x4C,0x98,0x35,0x58,0x22,0x8C, -0x9B,0x38,0xEC,0x4F,0x5E,0x73,0xA7,0x62,0xF2,0x8A,0x37,0xE3,0x4D,0xCD,0xCF,0x19, -0x01,0x99,0xD7,0xD5,0xCC,0x30,0xE4,0xB3,0x4F,0xC5,0xC5,0x11,0xD3,0x21,0xBD,0xF5, -0x5C,0x36,0x25,0x88,0xC0,0xE4,0x30,0x6B,0x15,0x03,0x59,0x8D,0x96,0x06,0xDF,0xD2, -0x60,0x5C,0x73,0xB4,0x53,0x49,0x9D,0x55,0xE7,0xAC,0x04,0xD0,0xB5,0x18,0xE2,0xCC, -0x87,0x76,0xBE,0x53,0x57,0x86,0x52,0x9E,0xEA,0x16,0xB3,0x67,0xF7,0x00,0xB8,0xD4, -0xC0,0xF0,0x7F,0x14,0x27,0x79,0xAD,0x11,0x56,0x4F,0x56,0x82,0x6C,0xDB,0xF8,0x0F, -0xD2,0xD3,0x4E,0x06,0xFA,0xC8,0x1C,0x7D,0xE5,0xA6,0x0C,0xD8,0x74,0x5F,0x64,0x8B, -0xA1,0x35,0xDB,0x75,0x6D,0xAA,0x7E,0x88,0x51,0x77,0x69,0xBD,0xA5,0x1C,0xF6,0xC8, -0x13,0xBA,0xE6,0xC7,0xF5,0xE1,0x35,0x5B,0xD5,0x93,0x09,0xDD,0x6F,0xC4,0xE4,0x10, -0x6D,0x63,0x41,0xB9,0x3E,0x47,0x93,0x36,0xDE,0x07,0x96,0x42,0xEB,0xA4,0x00,0x70, -0xE8,0xDE,0x79,0x3C,0xE7,0x39,0xED,0x91,0x4C,0xD9,0xDA,0x0E,0x24,0x4B,0x20,0x9F, -0x12,0x9B,0xC6,0xC6,0x1C,0xBB,0x6F,0xE8,0xAB,0x50,0xB4,0x60,0x03,0x75,0x39,0xA1, -0x62,0x2F,0x02,0xB6,0x2E,0x8C,0x58,0xED,0xD4,0x85,0x1E,0xCA,0xE3,0x24,0x88,0xF0, -0xEA,0xAD,0x08,0x3E,0xD0,0x2F,0xFB,0xB0,0x67,0x6C,0x44,0x90,0x0D,0xDD,0x9F,0x09, -0xC9,0xF3,0xB9,0x22,0x33,0x81,0xAA,0x79,0x2D,0x67,0x05,0x7A,0xEA,0x0B,0xA0,0xB3, -0x33,0x9F,0xD5,0xB4,0x47,0x21,0x7E,0x0D,0x97,0xDD,0x80,0x45,0x66,0x9D,0x2C,0xA9, -0x5C,0x82,0xC8,0xC6,0x91,0x5E,0xD7,0xDB,0x72,0x38,0xD9,0xF9,0x3B,0x32,0x71,0x5B, -0x1A,0x85,0xCF,0x87,0xF5,0xAE,0x43,0xBF,0x8E,0xC4,0xFB,0x27,0x68,0xF0,0x22,0xCA, -0x1B,0x6B,0x21,0x68,0x55,0x02,0x4F,0x1F,0x42,0x08,0xAD,0xBD,0x06,0x79,0x4C,0x2D, -0x8E,0x1A,0x50,0x8C,0x4D,0x58,0x0D,0x07,0xCC,0x86,0x48,0xD6,0x48,0xD4,0x02,0xCE, -0x3D,0x58,0x12,0x7D,0xE4,0xDF,0x23,0xAE,0x74,0x3E,0xBE,0x98,0xA9,0x99,0xE3,0x62, -0x45,0xBC,0xF6,0xE1,0x53,0x65,0x2E,0x19,0x1B,0x51,0x16,0x5F,0xFE,0x4F,0xB4,0xE3, -0xD1,0x23,0x69,0xEA,0x49,0x4C,0x1D,0x03,0x56,0x1C,0xE9,0xED,0x6E,0x97,0x24,0xAB, -0x8D,0xE7,0xAD,0x72,0xDA,0xC6,0x04,0x90,0x7C,0x36,0xB4,0x9A,0x6D,0xC5,0x27,0xFA, -0xDC,0x19,0x53,0xDD,0x48,0x6D,0x3D,0x02,0x36,0x7C,0x0D,0x69,0xC3,0x04,0x89,0x95, -0x75,0x98,0xD2,0xF5,0x5A,0x4E,0x0C,0x10,0x94,0xDE,0xD2,0x14,0xA0,0xB2,0xEA,0x40, -0x01,0xA8,0xE2,0xB1,0xE9,0xE0,0x11,0xA3,0x0E,0x44,0x73,0x2F,0x4D,0xE1,0x07,0xFE, -0x3B,0x84,0xCE,0xA7,0x80,0x2F,0xB7,0xCA,0xD3,0x99,0x54,0xD5,0x40,0xDE,0x0A,0xCC, -0x1D,0xB7,0xFD,0xB2,0xB0,0x5B,0xF3,0xFA,0x52,0x18,0xFD,0xFD,0x84,0x82,0xCE,0x54, -0x42,0x8E,0xC4,0xD4,0xFD,0xA4,0x41,0xB7,0x5D,0x17,0xB1,0xBE,0xC1,0x77,0x8B,0xE4, -0x5A,0x5E,0x14,0x1C,0x26,0xE4,0xDA,0x6C,0xA2,0xE8,0xC1,0x31,0x28,0x30,0x62,0x4A, -0x37,0x50,0x1A,0x7F,0xFF,0xD7,0x30,0xB5,0xFB,0xB1,0x7A,0xD3,0x8C,0x88,0xC6,0x56, -0xD8,0xD6,0x9C,0x16,0xD0,0xBF,0x77,0x9A,0xBE,0xF4,0x8F,0x63,0x81,0xB7,0xCB,0x64, -0x6F,0x5B,0x11,0x2C,0xEB,0x93,0x60,0xA1,0x46,0x0C,0xB9,0xAD,0x59,0xA5,0x13,0xAE, -0x38,0x79,0x33,0x59,0x0D,0x98,0x8D,0x47,0x23,0x69,0x68,0x19,0x8B,0xCE,0xC1,0x17, -0xED,0xD3,0x99,0x26,0x75,0x26,0x4B,0x3F,0x44,0x0E,0xCA,0xDC,0x6B,0xA2,0x21,0x9B, -0xFC,0xF6,0xBC,0x12,0x56,0x50,0x1E,0x1C,0x08,0x42,0x14,0x4E,0xF3,0x70,0xB9,0xD1, -0x4D,0xA7,0xED,0xF2,0x30,0xD3,0xFB,0x7A,0xE3,0xA9,0x20,0x91,0x62,0x89,0x28,0xB9, -0x94,0xD9,0x93,0x55,0x6C,0x5D,0x29,0x26,0xA6,0xEC,0xD5,0x21,0x8D,0xA9,0xC7,0x76, -0x31,0x8C,0xC6,0xA5,0xD4,0xAB,0x67,0x9E,0xEF,0xA5,0x3E,0x83,0xD9,0x2D,0x93,0xA6, -0x67,0x40,0x0A,0x3F,0xD5,0x8A,0x47,0x9F,0x2A,0x60,0x43,0x3B,0xC0,0x56,0x8A,0xC4, -0x7C,0x6D,0x27,0x09,0x34,0xC7,0xEB,0x7E,0xDE,0x94,0x6B,0xE7,0xEB,0x2A,0xA1,0x93, -0x47,0xAF,0xE5,0xF0,0x5F,0x7B,0x3C,0x15,0xE9,0xA3,0x59,0xE2,0xAC,0xAC,0xE6,0x52, -0x8B,0x3B,0x71,0xA8,0x4E,0x0A,0x5C,0x04,0x2C,0x66,0x24,0x5A,0x32,0x19,0x78,0x79, -0x7F,0x90,0xDA,0xF7,0xCA,0x96,0x44,0x80,0x6F,0x25,0xB6,0x8B,0x5F,0xC2,0x15,0xCF, -0x63,0x8F,0xC5,0xF4,0x01,0x86,0x9F,0x4B,0x76,0x3C,0xCD,0xE9,0xC9,0x7D,0x83,0xE6, -0x08,0x5D,0x17,0x4D,0xA2,0x78,0xC2,0xE8,0x70,0x3A,0xAA,0x88,0x64,0xEE,0x2E,0xD8, -0x6C,0xA6,0xEC,0xD2,0xCF,0xA3,0x74,0x85,0x86,0xCC,0xF1,0x25,0x34,0x7E,0x7E,0x18, -0x55,0x77,0x3D,0x3A,0x46,0x00,0x5E,0x0C,0xF9,0xB3,0x09,0xA2,0x1D,0x71,0x57,0x3E, -0xF4,0xED,0xA7,0x01,0x05,0x92,0x8F,0x4F,0x0B,0x41,0x46,0x1F,0xF1,0x03,0xBB,0xA0, -0x90,0x16,0x5C,0x9E,0x3F,0x9F,0xB8,0x75,0x38,0x72,0x60,0x0A,0x24,0x2E,0x6E,0x58, -0xFA,0x2A,0x60,0xC8,0x92,0x0C,0x86,0xD8,0x65,0x2F,0xCF,0xF8,0x3A,0x13,0x70,0x7B, -0x3C,0xB6,0xFC,0x92,0x0F,0xEB,0xFC,0x45,0x6A,0x20,0x83,0xBB,0xE7,0x34,0xAD,0x81, -0xBA,0xF1,0xBB,0x53,0xF0,0x9B,0x73,0xBA,0x8F,0xC5,0xDA,0x07,0x3C,0x74,0x76,0x1A, -0xF9,0xD7,0x9D,0x36,0xDC,0xA1,0x65,0x96,0x55,0x1F,0xBB,0xBC,0x20,0x3A,0x6A,0x48, -0x1F,0xA4,0xEE,0xA3,0xBE,0x36,0x90,0xF4,0x30,0x7A,0x6A,0x08,0x63,0xA8,0x29,0x99, -0xAF,0x1B,0x51,0xAC,0x31,0xF2,0xDB,0x7B,0xAA,0xE0,0xCB,0x33,0x98,0xCC,0xD2,0x06, -0x76,0x65,0x2F,0x0B,0x97,0x39,0xB6,0xDD,0x35,0x7F,0x5F,0x38,0xF8,0x28,0xB2,0x82, -0x57,0x64,0x2E,0x2B,0xCD,0xD0,0x05,0x87,0x88,0xC2,0x9C,0x46,0x49,0xF5,0x03,0xEE, -0x12,0x9E,0xD4,0x94,0x4F,0x2B,0x7C,0x05,0xE6,0xAC,0x15,0xA1,0x77,0xEC,0x3D,0xC9, -0x61,0x9C,0xD6,0xE5,0x59,0x1C,0x5D,0x13,0x78,0x32,0xA0,0x8A,0xE1,0x53,0xAB,0xE0, -0xE3,0x14,0x5E,0xEF,0xFA,0xE2,0x00,0xB0,0x22,0x68,0x49,0x39,0x18,0x44,0x52,0x0E, -0x40,0x9D,0xD7,0xC5,0xFE,0xF6,0x10,0xB4,0x54,0x1E,0x9A,0x9C,0x92,0xB5,0xD8,0x75, -0x9E,0xD1,0x9B,0x57,0x81,0x0E,0x97,0xCB,0x43,0x09,0x8C,0x9D,0xA4,0xA6,0xEE,0x50, -0x0F,0x6F,0x25,0x78,0x04,0xB3,0xAF,0x4E,0x16,0x5C,0x29,0x6D,0x89,0xBD,0xC3,0x66, -0xDD,0xF7,0xBD,0x32,0x2D,0xBC,0x89,0x67,0xF0,0xBA,0x22,0x80,0x4A,0xA7,0x00,0xBF, -0x69,0x87,0xCD,0xF6,0x11,0xD6,0xDF,0x5B,0x3E,0x74,0x07,0x6B,0x2B,0x62,0x61,0x1B, -0x51,0xB8,0xF2,0xF1,0xF2,0xE8,0x02,0xB8,0x83,0xC9,0xC4,0x15,0x61,0xDB,0x2B,0xE8, -0xF7,0x10,0x5A,0xFF,0xAE,0x66,0xD0,0xE4,0x58,0x12,0x84,0x8E,0x7F,0xE6,0x35,0xCB, -0x6E,0xB5,0xFF,0xC3,0x96,0x18,0x96,0xDC,0xB6,0xFC,0x85,0x61,0xD1,0x27,0x9B,0xA4, -0xEF,0xC0,0x8A,0x37,0x4B,0x3F,0x6C,0x01,0xAB,0xE1,0xEA,0x13,0xB3,0xB0,0xF9,0x51, -0x41,0x73,0x39,0x2A,0x63,0x11,0x6A,0x29,0xD0,0x9A,0x06,0x84,0x73,0xF8,0x39,0xD9, -0x95,0x37,0x7D,0xBA,0x0B,0xFF,0xEC,0x41,0xC2,0x88,0x25,0xB5,0xE0,0x72,0xAA,0xC0, -0xB8,0xE2,0xA8,0x42,0xDB,0xE7,0x24,0x91,0x57,0x1D,0xC8,0xCD,0x09,0x35,0x43,0x6E, -0x2C,0x7D,0x37,0x49,0xEF,0x87,0x70,0xA5,0xC7,0x8D,0x10,0x85,0x1E,0x23,0x54,0x6F, -0x17,0xBF,0xF5,0xB0,0xBD,0x64,0xC1,0xF7,0x0F,0x45,0x52,0x0F,0xDF,0x4A,0x95,0xC7, -0xC0,0x06,0x4C,0xDE,0x4A,0x1E,0x4C,0x00,0xB2,0xF8,0x91,0x71,0x31,0x4B,0x7B,0x28, -0xE5,0xC8,0x82,0x35,0xE5,0xFE,0x03,0xAF,0x95,0xDF,0xF3,0x34,0xB1,0xC3,0xFB,0x20, -0xA9,0x94,0x69,0x8F,0x52,0xD1,0x31,0x11,0xDF,0xB9,0x1F,0x14,0x55,0x95,0xC2,0xE5, -0xA7,0xF7,0x67,0xE2,0xB8,0x08,0x02,0xC8,0x86,0x5B,0x46,0xAF,0xF1,0x31,0xDE,0x5D, -0x21,0x9E,0xE1,0x0D,0xFF,0x27,0x6A,0xE7,0xC3,0xEB,0x03,0x5A,0xFC,0x3C,0xEC,0x62, -0xAC,0xA4,0x6C,0xBA,0xE8,0x1C,0x46,0xDC,0x3B,0x25,0xFB,0x6C,0x24,0xE4,0x26,0x70, -0x8E,0xD1,0x4E,0xED,0x05,0xFA,0x4D,0x3A,0x5E,0x91,0x9E,0xBD,0xF6,0x36,0x9F,0x1B, -0x24,0xAE,0xE4,0x38,0xC3,0x82,0xF3,0x42,0x39,0x54,0xF9,0x1F,0x16,0xD6,0x13,0x77, -0x01,0x9A,0xC1,0x29,0x96,0xA1,0x85,0x61,0x75,0xC6,0xB5,0xC1,0x8E,0x4E,0x59,0xA5, -0x50,0x7A,0x90,0x98,0x73,0xC7,0x06,0x07,0x9E,0x19,0x5E,0xF5,0x1F,0xDF,0x31,0x5C, -0x2E,0xDD,0xEE,0x41,0xA1,0x9B,0x88,0x5B,0xDB,0xA9,0x1B,0x00,0xF0,0x30,0xFE,0x7C, -0x7B,0x2D,0xBB,0xE4,0xEF,0x23,0x7E,0xE3,0x92,0x0B,0x52,0xEB,0xA4,0x64,0x2E,0xF8, -0xB7,0xB7,0x77,0xB2,0xCF,0x22,0x5F,0xE2,0x57,0xB3,0x97,0x96,0xBD,0x7D,0x4C,0x83, -0x9A,0x81,0x5A,0xA9,0x63,0xC3,0x12,0x03,0xA3,0x6F,0x63,0xBE,0x96,0x56,0x1B,0xFF, -0x58,0x78,0x98,0x92,0xB4,0xA8,0xAE,0x68,0x94,0x6A,0x54,0x8C,0xD1,0x11,0xDA,0x79, -0xCC,0x20,0x0C,0x5E,0xD4,0xB9,0xDF,0x79,0x51,0xD2,0x91,0xF1,0x4F,0x8F,0xF1,0xCC, -0x67,0x7F,0xA7,0xAA,0xCC,0x3D,0x43,0xFD,0x12,0x03,0xD2,0x63,0x22,0xE2,0x47,0x17, -0x78,0x7C,0xB8,0xB6,0x17,0xF6,0x53,0x36,0x0B,0x61,0xCB,0x18,0xB4,0x74,0x6E,0xA8, -0x04,0xAA,0xC4,0x1C,0x22,0xC4,0x54,0x04,0x50,0xF2,0x90,0xD0,0x97,0x57,0x3B,0xDE, -0x68,0x3C,0xA8,0xE6,0xF6,0xB0,0xF4,0x70,0xEA,0xCD,0x2A,0x55,0x1B,0xDB,0x21,0x48, -0x75,0x4E,0xB5,0x89,0x5F,0x66,0x8B,0xA6,0x0F,0x71,0xCF,0x0C,0x46,0x86,0xD3,0xE7, -0x72,0x0F,0xB2,0xCF,0xCB,0x02,0x7B,0xC2,0xF3,0xAF,0x33,0x2E,0x15,0xD5,0x42,0x25, -0x9C,0xE0,0x5C,0xCE,0xC7,0xA2,0xD7,0x62,0x3F,0x35,0xFF,0x78,0x7B,0xBB,0xA5,0xAC, -0xED,0x04,0x2D,0x5B,0x85,0xBA,0x8D,0x7A,0xB1,0x5E,0x71,0x9D,0x35,0xF5,0x46,0x01, -0xAF,0xF5,0x6F,0xE8,0xAB,0x13,0x0A,0xD3,0x09,0x10,0xC9,0x6B,0xD4,0x14,0xEA,0x4C, -0x4B,0x69,0x8B,0x90,0xA6,0xA4,0xB0,0x64,0x66,0xD7,0xA6,0xC3,0x83,0x43,0x6B,0x9A, -0xD4,0x62,0x14,0x04,0x95,0xBE,0x99,0x7E,0x2B,0x65,0xEB,0x3C,0x13,0xD3,0x23,0x42, -0x10,0xFA,0xD0,0x58,0x8C,0x2D,0x13,0xED,0x01,0x12,0xC1,0x61,0x10,0xD0,0x72,0x10, -0xEE,0x55,0x2E,0x09,0xB5,0xBF,0xB8,0x7F,0x4B,0xE1,0x8B,0xD8,0xBE,0x7E,0x1D,0xD1, -0x6F,0x7D,0xAF,0xA0,0x84,0xAD,0x9B,0x6D,0xE9,0x9C,0x29,0x07,0xDD,0x1D,0xC8,0x67, -0x5F,0x39,0x9F,0xD4,0x99,0x1E,0x35,0xDE,0x73,0xA7,0xB3,0xA6,0x30,0xF0,0x76,0x34, -0x73,0x2F,0xB3,0xEE,0x3F,0x77,0xFA,0xB7,0xAE,0x5D,0x6E,0x81,0x3D,0xFD,0x44,0x0B, -0x40,0x3A,0x80,0xC8,0x7B,0x47,0x8E,0x87,0x2F,0x75,0xEF,0x28,0xF9,0x39,0xDC,0x57, -0x79,0x5C,0xB9,0x97,0xC9,0x0A,0x71,0xCA,0x20,0x36,0xE0,0x64,0xBC,0x7C,0x6C,0xA2, -0x6A,0x4D,0xAA,0x95,0x98,0x09,0x23,0xC9,0x29,0x14,0xE9,0x4F,0xEF,0x2F,0xFD,0x60, -0x26,0xDF,0xE6,0x4B,0x1F,0x76,0xDB,0xB6,0x3E,0x15,0xFE,0x59,0xD9,0x19,0xD8,0x73, -0x98,0xF0,0x58,0xDA,0x27,0xF3,0x66,0x33,0x6B,0xE5,0xAB,0xFC,0xF4,0x34,0xEE,0x68, -0x00,0xBA,0xC0,0x08,0x01,0xDA,0x69,0x1A,0x8D,0x08,0x4D,0xF7,0x37,0xF7,0x37,0x72, -0x70,0x7E,0xB0,0xBC,0x57,0xE6,0x03,0x26,0x43,0xE3,0x83,0xD2,0x56,0x96,0x93,0xB7, -0x4F,0x79,0x8F,0x84,0x8A,0x05,0x3D,0xC5,0xFE,0x9D,0x3E,0x11,0x1C,0xDC,0x60,0x0E, -0xE7,0x77,0x27,0x22,0x58,0x59,0xB3,0x99,0x25,0x06,0xE5,0x51,0x02,0xC2,0x43,0x33, -0x42,0x4B,0x82,0xBB,0x1E,0x61,0xCD,0xA1,0xCB,0xE9,0x0B,0x50,0xAC,0x6C,0x2C,0xF2, -0x37,0xBF,0xF7,0x3A,0xE4,0xBC,0xEA,0x7C,0xD6,0x9B,0x16,0x3F,0xCE,0x0E,0xD9,0x65, -0x84,0xA2,0x44,0x94,0xE2,0x94,0xC4,0x54,0xAD,0x0C,0x6D,0xD3,0x0E,0xCE,0x51,0x2D, -0xC0,0x32,0x00,0x40,0x64,0xFC,0x2A,0x3C,0xBF,0x3D,0x7F,0xF0,0x9D,0x5D,0x48,0xA7, -0x15,0xCA,0xD5,0x6D,0xAC,0x2C,0x32,0xEC,0x2A,0x45,0xEA,0x1D,0x74,0xB4,0xE6,0xE0, -0x8A,0xC1,0x4A,0xF9,0xF8,0x18,0x52,0xD8,0xBA,0x0D,0x7A,0xC5,0x63,0xA3,0xE7,0xF6, -0x48,0x38,0x88,0xC2,0x49,0x4A,0xB1,0x8A,0x72,0x87,0xB2,0x87,0xA2,0x62,0x4F,0x9F, -0xF1,0x56,0x31,0x15,0xC4,0xBD,0xCB,0x7D,0xCF,0xF9,0x0F,0x44,0x4C,0x8C,0xA0,0x9E, -0x3F,0xBD,0xFF,0x30,0x8B,0x12,0x2B,0xD2,0xE8,0xBC,0x28,0x26,0xCC,0x0C,0xA8,0x16, -0xAA,0xC5,0x6A,0xDD,0x4A,0x55,0xAD,0x95,0x0D,0x00,0xCD,0x7F,0x19,0xD9,0x50,0x3B, -0x51,0x5A,0x91,0xB9,0xFC,0x38,0x76,0xF8,0xFB,0xAD,0x3B,0x24,0x49,0x89,0x90,0xAB, -0x80,0xB2,0x40,0x80,0xD6,0xB1,0xD5,0x71,0x84,0x2A,0x44,0xDC,0x60,0xA0,0xB6,0xA4, -0x1A,0x89,0xDA,0x21,0x07,0xF2,0x47,0x32,0x76,0x97,0xB6,0x93,0x8C,0x4C,0x28,0xD6, -0xE1,0x16,0x21,0x45,0x30,0xC8,0x4A,0x08,0x45,0x82,0x85,0xB5,0x59,0x99,0xD0,0xFB, -0xDD,0x40,0x1D,0x2F,0x0E,0x65,0xD9,0xA5,0x18,0x70,0xD8,0x1A,0x47,0x87,0xF3,0xC6, -0x41,0x1A,0x81,0xE9,0x74,0xF8,0x3E,0x38,0x17,0x33,0xD7,0x56,0x9A,0x5A,0x09,0xE1, -0x06,0xDB,0xC6,0x6F,0xFB,0x07,0x4E,0xC7,0xF2,0x8F,0x32,0x0F,0x41,0x81,0x92,0xA1, -0x20,0xBE,0xE0,0x2C,0xED,0x2B,0x74,0xEB,0x28,0x34,0xE8,0x6E,0x5D,0x9D,0xC0,0xEF, -0x53,0x2B,0x93,0xCA,0x18,0x49,0xE3,0x89,0x4D,0x80,0x8D,0xBF,0x1E,0xDE,0x11,0x7D, -0xEC,0x24,0x2C,0x7A,0x53,0xC6,0x27,0x06,0xD7,0xBB,0x17,0x1E,0xE5,0x25,0x8E,0x19, -0x92,0x83,0x52,0xA3,0x3E,0x60,0xEC,0xA0,0x48,0xB0,0x88,0x8A,0x85,0x45,0x0A,0xFD, -0x93,0xA3,0x53,0x82,0x8D,0x3A,0x05,0xFA,0xF5,0xCE,0x35,0x49,0x34,0xF4,0x66,0x20, -0x69,0x1C,0xA9,0xC7,0xF4,0xB8,0xFE,0x78,0x9B,0x29,0x5B,0xC0,0x0A,0xCA,0x41,0x39, -0x6B,0x6D,0xAB,0xB4,0xD5,0xAE,0xC9,0x6E,0x05,0x02,0xC5,0x75,0x9C,0x5C,0x68,0x86, -0xE3,0x67,0x23,0x36,0x88,0x0D,0x37,0xCD,0x5F,0xB1,0x9F,0x9C,0x65,0xA5,0x86,0x91, -0xDD,0x24,0xDD,0x59,0x3B,0x3F,0xBB,0x20,0x39,0xB1,0xAC,0x28,0xCA,0xE6,0x08,0x62, -0x60,0xE7,0xA3,0xE4,0x82,0x75,0xF1,0xD3,0x3E,0x89,0x93,0x17,0x17,0x05,0x36,0x81, -0xE8,0x65,0xA9,0x6C,0xC7,0x8F,0x0B,0x6C,0x0B,0x8E,0xA1,0x25,0x5E,0x82,0xF8,0x06, -0x06,0x64,0x46,0x82,0x06,0x21,0xA5,0x03,0x37,0x17,0x04,0x80,0x18,0xBA,0x86,0x3E, -0x1D,0x6C,0x55,0x99,0x46,0xFA,0x7E,0x98,0x9F,0x7E,0xC5,0x41,0x5F,0x95,0xEE,0x11, -0x0A,0x7A,0x54,0x8E,0x55,0xCC,0x48,0xBD,0x0D,0xA0,0x89,0x0D,0xD8,0xEA,0x16,0x6E, -0xAE,0xC2,0x48,0x2A,0x47,0x14,0x90,0x77,0xFA,0x3D,0xE3,0x67,0x41,0x39,0x5C,0xBD, -0x48,0xC9,0xA5,0xCC,0x5D,0xD7,0x53,0xAE,0xB0,0xEF,0x7B,0xFF,0x67,0x10,0x53,0x94, -0x51,0xB2,0xC7,0xD5,0xAA,0x81,0x05,0x0F,0x78,0xF7,0xAB,0x2F,0x09,0xA9,0x84,0x2D, -0x99,0xF0,0x4D,0x1D,0xC3,0x40,0xC4,0xA7,0x81,0xCC,0x69,0xED,0xB8,0xFB,0x67,0x7F, -0xCB,0x13,0xFC,0x4F,0x23,0xEF,0x6B,0xE8,0xFD,0x05,0xDC,0x58,0xCB,0xF1,0x1E,0x75, -0xEC,0x71,0xB9,0x68,0xAB,0x6F,0xEB,0xE0,0x16,0x20,0x12,0x96,0x84,0x5E,0xFE,0xDA, -0x8E,0xE6,0x4C,0x0A,0x18,0x2D,0xA9,0x11,0xE2,0xA1,0x67,0xE3,0xA2,0x77,0xF1,0xF3, -0xF5,0x0A,0xDB,0x71,0x50,0xED,0x69,0x99,0xFF,0x0F,0xD4,0x50,0xA4,0x5F,0xDF,0xDB, -0x09,0x28,0x05,0x8D,0xD5,0x57,0xD3,0xA6,0x8A,0x58,0xF6,0x72,0xEC,0xCF,0x07,0x4B, -0x9C,0xC5,0x7D,0x18,0x92,0xBE,0x3A,0x08,0x72,0x75,0x23,0xA7,0x24,0x1F,0x1F,0x9B, -0x3B,0x2F,0x30,0xBF,0xF3,0x64,0xE0,0xB3,0x00,0x1A,0x3E,0xBA,0x4E,0x86,0xEC,0x02, -0x66,0x80,0xC2,0xE2,0xCE,0x7A,0xFE,0x90,0x56,0x70,0x02,0x86,0x70,0x2B,0x7F,0xAF, -0xD1,0x3A,0xCF,0x55,0x94,0x62,0xE6,0xD2,0x9B,0x5A,0xE5,0x61,0xBB,0xE4,0x7B,0x60, -0x34,0x63,0x73,0xB0,0xD4,0xB9,0x3D,0x49,0x5A,0xDC,0xA2,0x26,0x34,0x1B,0x0B,0x9F, -0xD8,0x11,0xED,0x5C,0x9E,0x6A,0xEE,0xD0,0x1A,0x8C,0xB2,0x36,0xBC,0xDB,0x43,0x5F, -0x2E,0x4A,0x40,0xAA,0x0E,0x3A,0xBE,0x10,0x85,0xE8,0x49,0xCD,0x0A,0xB6,0x98,0x32, -0x55,0xA6,0xD7,0xD1,0xE3,0xAF,0x2B,0x68,0xC9,0x14,0xF9,0x7D,0x47,0x11,0x72,0x95, -0xA7,0xE9,0x6A,0x23,0x91,0x43,0xC7,0xF6,0xF2,0xB5,0x63,0xE7,0x96,0x52,0xE0,0xD6, -0xB8,0xF5,0x69,0x3C,0x0C,0x29,0xAD,0x01,0x5C,0xF2,0x8A,0x0E,0xB4,0x5B,0xCB,0xDF, -0xD6,0x7C,0x8E,0x52,0x15,0x17,0x93,0x26,0xE3,0xB7,0x70,0xF4,0xCD,0xD9,0x30,0x5D, -0x7C,0xA9,0xF1,0xF8,0xA4,0x46,0xC2,0xC6,0x27,0x03,0x00,0x84,0xC8,0xEE,0x02,0x6A, -0x26,0x40,0x42,0xA2,0xB3,0xBF,0x3B,0x28,0x2D,0x81,0x88,0x0C,0x95,0x4D,0xFC,0xC9, -0x6E,0x8A,0xC0,0xEA,0x48,0x3D,0xB9,0x51,0x6B,0xFF,0xB0,0x34,0x58,0xAA,0xD6,0x2E, -0x0B,0x5B,0x74,0x8F,0xDA,0x7E,0xFA,0x80,0xFE,0x19,0xC3,0x47,0xAD,0xC8,0x41,0x4C, -0x6B,0xBF,0xF0,0xEF,0xC8,0xA6,0x22,0x4A,0xC3,0x96,0x71,0xF5,0x7E,0x83,0xD9,0x07, -0xF4,0x2B,0xFB,0x70,0x2C,0xC6,0x42,0xCE,0x64,0x4F,0x0F,0x8B,0x13,0x25,0x12,0xA1, -0x1A,0x2A,0x14,0x9E,0x42,0x35,0xB1,0x53,0xEE,0x0D,0xC7,0x43,0x83,0x61,0xC6,0xE5, -0x7D,0x88,0xD1,0xF9,0x2E,0xD5,0x51,0xDF,0x91,0xD8,0x6D,0xE9,0x45,0x19,0x78,0x9D, -0xBD,0xC0,0x59,0x39,0x69,0x3C,0xB8,0x71,0x3A,0xAD,0xB3,0x37,0x33,0x24,0x33,0xA0, -0x56,0xF4,0x86,0xD2,0x90,0xAD,0x29,0x19,0xDA,0x1C,0xE2,0x66,0xD6,0x42,0xB0,0xC6, -0xA5,0x9A,0x1B,0x21,0x68,0xD2,0x56,0x9E,0xB7,0xD7,0x44,0xC0,0xF8,0xEB,0x37,0x6F, -0xFC,0x21,0xF9,0x78,0xD0,0x76,0xF2,0x82,0xD4,0xBA,0x4A,0xCE,0x12,0x32,0x04,0xB6, -0x18,0x59,0x65,0x9C,0x45,0x07,0x83,0x66,0xE4,0x8F,0x4F,0xCB,0xA8,0xFF,0x73,0x7B, -0xE0,0x6F,0xAB,0x64,0x57,0xDF,0x5B,0xAC,0xDE,0x38,0xC2,0x46,0xBF,0xC4,0x5F,0x40, -0x72,0xC4,0x92,0xF6,0xF9,0x6C,0xE8,0xB1,0x60,0x6B,0x2F,0xAB,0x94,0x5A,0xEA,0xDE, -0xB7,0xB9,0x2A,0x33,0x4C,0xF2,0x76,0x9A,0x38,0xA7,0xBB,0x3F,0xF4,0x4B,0x9B,0xCF, -0x28,0x2D,0x21,0xAC,0x9D,0x97,0x13,0x2E,0x3C,0x83,0x9B,0x1F,0x57,0x15,0x66,0x91, -0x31,0x56,0x43,0xB5,0x22,0x01,0x85,0x07,0x3F,0x9F,0x84,0x00,0x8C,0xDE,0x76,0x5A, -0xB1,0xDE,0x4B,0x35,0xCD,0x87,0x03,0x6E,0x6D,0xD1,0x98,0x1C,0xAF,0xC0,0x4B,0x44, -0xF8,0x35,0xE9,0x7C,0x49,0xD3,0x57,0xBE,0x9D,0x74,0xCD,0x49,0xE1,0x78,0xBD,0xFC, -0x80,0x8B,0x2F,0x04,0xCA,0xB5,0x31,0x5B,0xC1,0x9C,0x79,0xFD,0x23,0x20,0x27,0xA4, -0x74,0xA3,0xF3,0xF0,0xB6,0x9E,0x1A,0x0C,0xF7,0x87,0x54,0xD0,0x8F,0xC1,0x6A,0x45, -0x92,0xA8,0x1E,0x16,0x34,0x16,0x92,0x06,0x44,0x6E,0x0E,0x8A,0xC5,0x59,0xB8,0xDD, -0x1C,0x4D,0x75,0x98,0x99,0x58,0xDC,0xE5,0xA0,0xFB,0x7F,0xFB,0x87,0x41,0xE2,0xC5, -0x45,0xF6,0x97,0xC1,0xAF,0xA0,0x24,0x2B,0x29,0xA5,0xA8,0x2C,0xE6,0x47,0x85,0xC3, -0x2A,0x5E,0x50,0xAE,0x79,0xF7,0x73,0xAA,0xB5,0xDD,0x4C,0xC8,0xEB,0xF0,0x3F,0x74, -0xC9,0x60,0x8D,0x4D,0x7D,0x38,0xBC,0x61,0x7C,0xD3,0x8B,0x0F,0xB6,0x53,0xC1,0xD7, -0x73,0xE5,0xB2,0xF7,0xEB,0xB4,0x30,0x7B,0xEA,0x29,0xE7,0x63,0x62,0x27,0x61,0xA3, -0xD0,0x1B,0xEF,0x54,0x10,0x36,0xB2,0x02,0x4F,0xFA,0x91,0x15,0x8B,0xE1,0x4E,0x65, -0x2C,0x39,0x31,0xA8,0xD2,0x65,0xE1,0x93,0x0E,0xBC,0x96,0x12,0x1F,0x85,0xBE,0x01, -0x8D,0xB4,0x1D,0x09,0x3E,0x1E,0x9A,0x04,0x6F,0xDB,0x90,0x14,0x7F,0x94,0xCF,0x10, -0x50,0x93,0xE7,0xD4,0x01,0x13,0x97,0x36,0x79,0xE1,0xBC,0x38,0xD9,0xFD,0x00,0x79, -0x03,0x51,0x76,0x87,0x97,0x9F,0x1B,0x2C,0x1C,0xA2,0x9A,0x1E,0x89,0xE9,0x44,0x6D, -0x0C,0x1D,0x35,0x88,0x62,0xDA,0x5E,0x9C,0x7A,0xFD,0xA3,0x27,0x3B,0xA4,0xBB,0x20, -0x22,0x54,0x52,0xA6,0x25,0x33,0xB7,0x32,0xBA,0x6D,0xF3,0x77,0xCC,0xCE,0x26,0x4A, -0x08,0x09,0x25,0x8C,0x77,0x30,0xB4,0x63,0x22,0x31,0x37,0xB3,0xD5,0x5D,0xAC,0xD9, -0xCA,0x32,0xDC,0x4E,0x52,0xFE,0x7A,0x88,0x3D,0x95,0x8C,0x08,0xC4,0x4E,0xAE,0xCA, -0x68,0xED,0xA1,0xEC,0xE4,0x9D,0x19,0x5D,0x15,0x3C,0x0D,0x89,0xF5,0x5C,0x8D,0xD8, -0xD7,0xCD,0x58,0xFB,0x58,0x3A,0x83,0xCD,0x07,0x92,0x0B,0x78,0xED,0x1E,0x78,0x87, -0x9A,0x2C,0xB9,0x57,0x75,0x21,0xB5,0xE0,0x2C,0xB9,0x77,0x2F,0x19,0x36,0x8C,0x5B, -0x00,0x74,0xE1,0x95,0xC1,0xC9,0xE9,0x54,0x4A,0xDF,0xF4,0xCA,0x61,0x88,0xF4,0x9D, -0xF6,0xCC,0x59,0xDB,0x94,0x6C,0x19,0x01,0x1E,0x8B,0x70,0x1A,0x28,0x63,0xBD,0x3F, -0xCB,0xD2,0x47,0xF8,0x88,0x22,0x4B,0x1D,0x98,0x0D,0x9F,0x73,0xA8,0xEB,0x3D,0x37, -0xDB,0x19,0x8C,0x23,0x97,0x3E,0x48,0x02,0x0E,0x9B,0x20,0x5A,0xB1,0x90,0x24,0x55, -0x26,0x47,0xD2,0x80,0xB7,0x1A,0x4C,0x22,0x6B,0xFE,0xF1,0xEE,0x2E,0x04,0xBB,0x5E, -0x57,0x56,0xC3,0xE0,0x23,0xD6,0x14,0xB6,0xF5,0x60,0x44,0xC5,0xEB,0x79,0x7E,0xE6, -0xE2,0xC8,0x5D,0xCB,0xCE,0x85,0xAA,0x5B,0x46,0xD3,0xEA,0xD8,0x79,0xD2,0xEC,0xDF, -0xCE,0xF3,0x66,0xDC,0x43,0x32,0x90,0xD6,0x9E,0x0B,0xF8,0x12,0x81,0xE4,0x14,0x11, -0xB9,0x3E,0xAB,0x66,0x46,0x07,0xA0,0xD3,0xEF,0x7A,0x6D,0xF6,0x65,0x9C,0xF0,0x8D, -0x8A,0xE7,0x72,0x8C,0x48,0x6A,0xC3,0xDD,0x4B,0xDE,0xD5,0xEA,0x3C,0x27,0xA9,0x6F, -0x0D,0x4E,0xDB,0xA2,0xEE,0xA1,0xAE,0x7B,0x34,0xA1,0x2D,0x6D,0xCF,0x49,0x5A,0xF2, -0x8E,0x28,0xBD,0x47,0xBF,0x10,0x4E,0x2A,0xA5,0x30,0xD4,0x05,0x24,0x7D,0xB1,0x2D, -0xC5,0x15,0x80,0x31,0x61,0x65,0xE5,0xF4,0x4C,0xD9,0x93,0xAB,0xE4,0x35,0x71,0xA5, -0x7B,0x6D,0xF8,0xF7,0xCB,0xB0,0x9A,0x5E,0xAC,0x39,0xFF,0x27,0x83,0x97,0x16,0x60, -0x30,0x50,0xC5,0x81,0x01,0x81,0x61,0x94,0x04,0x91,0x59,0x29,0xF1,0x50,0x64,0xD5, -0x13,0x42,0xD7,0xB0,0x80,0x28,0x49,0x15,0x67,0xF2,0xEF,0xFC,0x53,0x8F,0xC6,0xA8, -0x11,0x51,0xC4,0xA1,0x3B,0x8C,0x56,0xAE,0xA9,0x3C,0xCA,0x17,0x91,0xB4,0x04,0x51, -0x9B,0xC2,0x57,0xB8,0xFF,0xD0,0xCE,0x6A,0xAA,0x3F,0x98,0x46,0xBB,0xE9,0x2E,0x26, -0x06,0xA8,0x3D,0x4F,0xAF,0x40,0x0E,0x3A,0x43,0xD6,0xDF,0xE8,0x95,0xA0,0x00,0x41, -0xF9,0xE5,0x70,0xFD,0x96,0x1F,0x68,0x03,0x06,0x93,0x2A,0x58,0x9A,0xEC,0x0F,0x02, -0xBD,0xF1,0x64,0xAD,0xB0,0x5C,0x0D,0x25,0x8A,0x1F,0xBC,0x42,0xC9,0x2E,0x5C,0x93, -0x72,0x98,0x0D,0x0B,0x9C,0x66,0x1B,0x09,0x87,0x12,0x83,0x70,0x14,0x09,0x81,0x69, -0x03,0x89,0x1C,0x6B,0x9A,0x01,0x7A,0x0F,0xFC,0x69,0x6F,0xE7,0xB5,0x84,0x20,0x45, -0xF3,0xED,0x78,0xFF,0x9D,0x47,0x3B,0x08,0xAF,0x3A,0xAD,0x76,0x49,0xA6,0xDC,0x9B, -0xDC,0x2B,0xBE,0x16,0xEB,0x94,0x9E,0x7E,0x2D,0xB8,0x56,0x0F,0xEA,0x58,0x7F,0xC6, -0x7C,0x5F,0xCA,0xC2,0x87,0x6E,0x08,0x12,0xA1,0x34,0xC0,0x15,0x50,0xDD,0xC5,0xF9, -0x82,0xFC,0x69,0x9F,0x40,0x60,0xC1,0xD5,0x6E,0xFB,0xC4,0xDE,0xB3,0xE3,0x26,0x24, -0x38,0x4B,0xDE,0x92,0xA4,0x18,0x5D,0x31,0x39,0xAC,0x12,0x5F,0xDC,0x4B,0x49,0xE3, -0x5F,0x4D,0xD8,0xF3,0x73,0x46,0xD4,0xE6,0xC1,0x54,0x24,0x91,0x85,0xF0,0x10,0x01, -0x05,0x55,0xC0,0xB1,0x02,0xD3,0x30,0x97,0x8F,0x1A,0x89,0x72,0x0B,0x15,0x9E,0x6A, -0xA2,0x13,0x86,0x50,0x2F,0xC8,0x06,0xBA,0x27,0xB2,0x2F,0x7C,0x05,0x78,0x90,0x09, -0xBA,0xC3,0x56,0x98,0xFA,0xE5,0xFE,0x6F,0xCE,0x5B,0x68,0xD2,0x90,0x95,0x05,0x71, -0x62,0x53,0xC6,0xD0,0xD8,0xB2,0x8B,0x4D,0x74,0xE1,0xED,0xED,0x6C,0xB7,0xF9,0xAF, -0x4C,0x7B,0xEE,0xD6,0x6B,0x1C,0x96,0xFE,0xB4,0x21,0xA5,0x65,0x17,0x5B,0x82,0x38, -0x43,0x52,0xC7,0xF0,0x1E,0x9D,0x62,0x8B,0xF6,0x63,0x16,0x94,0x75,0xCC,0xE0,0xCD, -0xA3,0xFD,0x68,0xBF,0xD0,0xB8,0x89,0x45,0x76,0xE3,0x9E,0x9C,0x52,0xAE,0xC7,0x88, -0xDA,0xF7,0x62,0xCC,0x65,0x71,0xF5,0xF0,0xD9,0x4C,0x7E,0xD3,0x00,0x4D,0x95,0x39, -0x39,0xA5,0x30,0x7D,0xA7,0x4A,0x0C,0x32,0x18,0x8D,0x17,0x7B,0xC8,0x0F,0x5D,0xB3, -0xEE,0x1C,0x89,0x13,0x77,0x52,0xC4,0xE2,0x4E,0xDB,0xE0,0xDA,0xD1,0x74,0x44,0xD1, -0xE1,0x35,0xA0,0x35,0xEF,0x80,0x8E,0x7A,0x8D,0x18,0xFA,0x03,0x37,0x7F,0xA2,0x3C, -0xAB,0xE6,0x73,0xAC,0x85,0x1D,0x79,0x10,0x55,0xC0,0xE8,0xC9,0x93,0xC7,0x06,0x20, -0x53,0x99,0x0C,0x2B,0xC9,0xC3,0xEB,0x5C,0x63,0xF6,0xFB,0xEC,0x84,0xD1,0x11,0x21, -0x3B,0xB6,0x23,0x6C,0x08,0xAA,0x43,0x9D,0xB8,0x2D,0xBB,0x77,0x9F,0xD9,0x0A,0x32, -0x45,0x8E,0x1B,0x2A,0xAD,0x33,0x7F,0x38,0x16,0x83,0x7A,0x18,0x71,0xD8,0xE4,0xDD, -0x8B,0x09,0x9C,0x63,0x9F,0x34,0x4A,0x0A,0xEC,0x79,0x3F,0xA7,0xF9,0x5A,0x6C,0xD7, -0xB5,0xEA,0x7F,0xBE,0xA0,0x0C,0x4D,0x35,0xA6,0x33,0x86,0x54,0x44,0x99,0xD1,0xA9, -0xAF,0x29,0xBC,0x67,0x03,0xF2,0x10,0x96,0x5F,0xCA,0x91,0xBA,0x6D,0x96,0xF8,0x8F, -0x64,0x8F,0x1A,0x0A,0x7D,0x2B,0xB7,0xE8,0x3F,0xAA,0x75,0x3E,0xF2,0x02,0x67,0x84, -0xFC,0xC4,0x51,0xD9,0xCF,0xA4,0x8A,0x5A,0xE7,0x72,0x67,0xF4,0x92,0xE6,0x07,0x00, -0x6B,0xA6,0x33,0x2C,0xBC,0x42,0x1F,0x29,0xA4,0x31,0xF5,0x25,0xF7,0x37,0x62,0xB4, -0x41,0x41,0xD4,0xE1,0x84,0x3C,0x59,0x11,0x26,0xB3,0x0E,0x5C,0xBF,0xFD,0x2A,0x36, -0xBF,0xE2,0x77,0xBC,0x0C,0xBE,0x53,0x99,0xDF,0x4A,0x19,0xB2,0xE5,0x14,0x70,0x85, -0x8D,0xD5,0x40,0xB9,0x7C,0x0A,0x97,0xE9,0x8E,0x1B,0xA8,0x52,0x4F,0xC1,0xDA,0xFA, -0x76,0x57,0xC2,0xC0,0x86,0x4F,0x28,0x13,0xB0,0x25,0xB1,0x75,0x21,0x48,0xB4,0x1D, -0x5D,0x5E,0xCB,0xE2,0x6F,0x08,0x86,0xFA,0xDA,0x4F,0x2C,0x82,0x3E,0x54,0xAB,0x1E, -0xCF,0x1D,0x88,0x33,0xF5,0xA9,0xBD,0x60,0x36,0xA3,0x5E,0x1C,0xCC,0x1B,0x59,0xA3, -0x25,0xBA,0x2F,0x7E,0x45,0x55,0xF1,0xD0,0xA3,0x36,0xB3,0x64,0xB7,0xF7,0x22,0x34, -0xFE,0xD7,0x42,0xC8,0xBE,0x31,0x6E,0x2B,0xF3,0x66,0x23,0xA4,0x41,0xAC,0xD4,0x99, -0xB6,0x17,0x82,0x40,0xAE,0x61,0x2E,0x3B,0x20,0xB5,0x69,0x3D,0xAD,0xDE,0x38,0x07, -0xC6,0xE8,0x7D,0xCF,0xE9,0xE7,0xEF,0x7C,0xFB,0x6E,0x29,0xA6,0x48,0x87,0xDD,0xBB, -0xC2,0x27,0xB2,0x04,0x0E,0xCD,0x22,0x9B,0xE3,0x76,0x73,0xE4,0xFF,0x3D,0x6A,0xB6, -0x51,0x8A,0x1F,0x3A,0x32,0xA7,0x74,0xA7,0xFD,0x68,0x4E,0xC7,0xA2,0x92,0x37,0x44, -0x2B,0x70,0x53,0x60,0xA9,0xC1,0xB9,0x60,0x6F,0x80,0xE7,0x90,0xC4,0xDE,0x12,0x02, -0xA1,0xB8,0x11,0xA8,0x68,0x69,0x78,0x09,0x54,0x42,0x1E,0x52,0x27,0x6F,0x40,0x50, -0xDF,0x05,0xD2,0x15,0x86,0x86,0x96,0x08,0x83,0xFB,0x70,0xEB,0x5D,0xE2,0xB7,0xA7, -0x9A,0x22,0xB0,0x32,0x06,0x8E,0x16,0x80,0xA6,0x35,0x9B,0x25,0xBD,0xAD,0x18,0x08, -0xBD,0x1C,0xA9,0x0C,0x04,0xFF,0x14,0xF3,0xAC,0x3D,0x99,0x2D,0x7C,0xC2,0xB6,0xA6, -0x2A,0x67,0x45,0x77,0xC4,0x77,0xD4,0xBB,0x02,0x8E,0x84,0x9E,0x52,0xC4,0x9E,0x8E, -0x1B,0x75,0x66,0x65,0x57,0x6E,0x47,0x31,0xD6,0xCA,0x14,0xDA,0xBC,0x42,0xF6,0xE6, -0x63,0xE0,0x8B,0xF0,0xBE,0xC0,0xAE,0x76,0xFB,0x1F,0xEC,0x0F,0xA4,0x8A,0x26,0x36, -0xC5,0x89,0x44,0x99,0x9C,0xB5,0x8C,0x21,0x2A,0x7A,0x58,0x6A,0x95,0x71,0xEC,0xFC, -0xBB,0x34,0x87,0x24,0xD6,0x46,0xC6,0x98,0x12,0x45,0x5F,0x55,0xAB,0xAC,0x0F,0x1F, -0x20,0xEF,0xC7,0xFF,0xC8,0x65,0xD8,0xA5,0xB4,0xED,0x51,0xFD,0x25,0x7E,0x53,0x43, -0xCF,0x01,0xC6,0x11,0x66,0x0A,0x76,0x64,0x2D,0x48,0x6D,0x58,0x5B,0x38,0x6B,0x7B, -0x32,0xE3,0xD9,0xF3,0x25,0xDB,0x35,0xF6,0x03,0x60,0x6B,0x70,0xB5,0xBE,0x03,0x13, -0x33,0xF4,0xCF,0xE4,0x13,0xFE,0x03,0xE5,0xDD,0x2C,0xF9,0x3C,0x4D,0x39,0x7C,0x6C, -0xC3,0xA1,0x6A,0xB1,0x3E,0xC8,0x2E,0xFE,0x4C,0x92,0xD6,0x82,0xF0,0x01,0xF9,0xE9, -0x2E,0x47,0x61,0x57,0xFD,0x11,0xED,0xE4,0x9E,0x0A,0x9C,0x1A,0xFF,0x27,0xD0,0xC0, -0xE8,0x3F,0xDF,0x2F,0xFE,0x40,0xEE,0xB6,0x14,0x99,0x85,0x89,0x93,0xAB,0x30,0x20, -0x0F,0x51,0x56,0x41,0xC0,0x67,0xD0,0xAF,0x51,0x63,0x3A,0x73,0x68,0xD2,0xB2,0xA2, -0x24,0xCF,0xE3,0xDF,0x56,0x4E,0x46,0x10,0x22,0x61,0x4B,0x71,0x5F,0xF3,0xA4,0xB4, -0x97,0x95,0x0A,0x85,0xAF,0xA0,0xBF,0x07,0xA0,0xE9,0x41,0xF9,0xA1,0xAE,0x07,0x17, -0x12,0xE2,0xF8,0xF2,0x97,0xE6,0x87,0x79,0xBA,0x2A,0x98,0x3A,0xE2,0xCB,0x21,0x31, -0xA6,0x87,0x29,0x97,0xD4,0x37,0xC4,0xEB,0x5C,0x59,0x0D,0x49,0x75,0x3E,0x43,0x53, -0x9D,0x1D,0x88,0x0D,0x2F,0xA8,0x3F,0x8F,0xEC,0xE6,0x02,0xF6,0xB1,0x75,0xCC,0xDC, -0x96,0x82,0x1C,0x92,0x4F,0x2C,0x5F,0x6B,0x35,0x98,0xA5,0x88,0x7A,0x18,0x6A,0x7A, -0xA4,0x8F,0x23,0x9F,0x93,0xF6,0x83,0x6D,0xD3,0xEB,0x30,0xFB,0xDC,0x16,0xC2,0xD2, -0x56,0xD2,0x8C,0xC2,0x8D,0xD5,0x9D,0x50,0xB9,0xD7,0x66,0xC7,0x4F,0x28,0x6F,0x7F, -0x15,0xDD,0xC0,0xCD,0x50,0x2F,0x40,0x77,0x7F,0x4B,0x3C,0x5B,0xA8,0x52,0xF2,0xE2, -0xA9,0x38,0x99,0x28,0x8B,0xB4,0x9B,0x37,0xF9,0x0C,0xFD,0x1C,0xD8,0xDD,0x0D,0x1D, -0x26,0xC7,0xE9,0xD7,0xD3,0x76,0xC3,0xAD,0x4B,0xA0,0xE3,0xB0,0x3B,0x6C,0x5F,0x4F, -0x8B,0x31,0xB2,0x21,0x83,0xB6,0x93,0x3D,0x2F,0x5B,0x7C,0x4B,0xE0,0xDA,0x32,0x22, -0x0C,0x4E,0x4A,0x5E,0xAA,0x90,0xBA,0x32,0x16,0x8A,0x94,0x9A,0x43,0xF0,0xBB,0xAB, -0xB1,0xBC,0x05,0xAC,0x46,0x0E,0x56,0x40,0xB7,0x10,0xAF,0x00,0xD1,0x21,0xF8,0xE8, -0x4C,0x5E,0x1A,0x4E,0x1B,0xFC,0x0B,0xEF,0x04,0x52,0x5E,0x42,0x38,0x92,0xA2,0xB2, -0xF4,0x9B,0x67,0x8B,0x85,0xD7,0x95,0x5A,0xC8,0xC6,0x06,0xD6,0x49,0xF2,0xB3,0xA3, -0x25,0xD8,0xF5,0xC8,0xE8,0x61,0xF8,0x81,0x3C,0x6D,0x59,0x7D,0xD5,0xEA,0x37,0x27, -0x47,0xC1,0x8E,0xD1,0x7E,0x48,0x6E,0x3E,0x20,0x72,0x5A,0x62,0xC5,0x31,0xFC,0xEC, -0x8F,0x11,0x96,0x01,0x3A,0xD8,0x2A,0xEA,0xD7,0x24,0xFB,0x34,0x1E,0x87,0x91,0x81, -0x2D,0x58,0x7D,0x48,0x6E,0x08,0x7E,0x6E,0x72,0x71,0x0B,0x61,0xE8,0xC9,0x29,0x39, -0x95,0x9D,0x00,0x8D,0x77,0x6A,0x67,0x15,0x24,0xBD,0x91,0xAD,0xC9,0xE9,0x28,0x38, -0x49,0x69,0x28,0x79,0x5C,0x3D,0x4C,0x69,0x3F,0x90,0xA7,0x80,0x84,0x45,0xC9,0xD9, -0xB7,0x94,0x2B,0x84,0x3C,0xB9,0x2C,0x8D,0x7B,0x84,0xF7,0x94,0xDB,0x23,0xF0,0xE0, -0x72,0xF3,0x89,0xE3,0xDC,0x35,0xCC,0xE1,0xAE,0x2E,0x88,0x3E,0x65,0xE5,0x88,0x98, -0xE0,0xBF,0x57,0xAF,0x44,0x7F,0x54,0x33,0xBF,0x0B,0xBC,0x1B,0x13,0xB0,0xAB,0xBB, -0x3F,0x54,0x63,0x44,0xD5,0x17,0xC5,0xCA,0x0E,0x5A,0x5C,0x4A,0x90,0x55,0xCD,0xDD, -0x9F,0x15,0x82,0x05,0x9F,0xE4,0x8F,0x73,0x19,0xA3,0xB2,0xB3,0xA7,0x74,0xDB,0xCB, -0x7D,0x4C,0x39,0x5C,0x3B,0xF8,0x2B,0xCB,0x74,0xAD,0xD1,0xBD,0x94,0x9E,0x02,0x12, -0xCD,0x09,0xCC,0x19,0x36,0xCA,0x26,0xF4,0x9B,0x2B,0xB8,0x3B,0xFC,0xD9,0x2D,0x3D, -0x03,0xF1,0xFA,0xE1,0xEE,0x00,0xFE,0xE6,0x2C,0xA6,0x82,0xB6,0xD0,0xCE,0x16,0x06, -0x81,0xB9,0x30,0xA9,0xFA,0x50,0xEA,0xA2,0x42,0x55,0x1F,0x45,0xA3,0xBF,0x14,0x04, -0x7B,0x64,0x17,0x74,0xF7,0x62,0xE7,0x9D,0x78,0x79,0x09,0x69,0x6C,0x19,0x7D,0x6D, -0x53,0xE5,0xBE,0xF5,0x33,0xFA,0x23,0xC1,0x5E,0x4A,0x1C,0x5A,0x18,0x5D,0x4D,0x5D, -0x10,0xEA,0xF2,0xFA,0x76,0x4A,0x66,0x34,0x01,0x73,0x7A,0x63,0xE7,0xEF,0x00,0x10, -0x43,0xE1,0xAA,0xF1,0xD9,0x05,0xC9,0xD4,0x92,0xDE,0x44,0xCE,0x0F,0xB3,0xB4,0xA4, -0x34,0xCB,0xF7,0xDB,0xDA,0x54,0xCA,0x86,0xCE,0x1A,0xDC,0x0A,0x85,0xAA,0x27,0x37, -0xC7,0x81,0x4E,0x91,0x74,0x3B,0x64,0x47,0x9F,0xE4,0x73,0xF4,0x2E,0x93,0xB5,0xA5, -0xBA,0x23,0x91,0x33,0x17,0xEE,0x07,0xF1,0x36,0x65,0x5B,0x75,0x0D,0xA2,0xA7,0xB7, -0x13,0xF5,0xEE,0xE5,0xB1,0x83,0xA1,0x3A,0x58,0x96,0xC6,0x86,0x41,0xE1,0xA8,0xB8, -0x78,0x7B,0x0B,0x6B,0xFF,0x60,0xEF,0x97,0xCD,0xE7,0x22,0xF7,0x1B,0xA3,0xB0,0xA0, -0x36,0xC3,0xFD,0xD3,0x1E,0xCC,0x0E,0xDA,0x7E,0xA5,0xD3,0xB5,0x9C,0x8D,0x19,0x09, -0xF1,0xAC,0x55,0xBC,0x49,0x4D,0x59,0x0C,0x06,0x41,0x4F,0x51,0x26,0x80,0xAE,0xBE, -0xD4,0x9A,0x46,0x8A,0x5D,0x1D,0x4D,0x48,0x8A,0x0E,0x8C,0x1E,0xC2,0x04,0xCE,0xDE, -0xEB,0x20,0xC3,0x30,0xD1,0x07,0xC1,0xDE,0x70,0x62,0x1A,0x72,0x62,0xD0,0xBA,0xAA, -0x57,0xC5,0x9A,0xD5,0x8C,0xF5,0x9C,0x71,0x1F,0x7F,0x68,0x6F,0x1D,0x79,0x6C,0x7C, -0x89,0x39,0xB8,0x29,0xDF,0x64,0xCF,0xB3,0x59,0x78,0x29,0x68,0xED,0xED,0x08,0x18, -0x97,0x40,0x45,0xEF,0xE3,0xCA,0x4C,0xBB,0x02,0xA9,0x39,0x06,0x52,0x79,0xB9,0x16, -0x00,0x3B,0xA9,0x94,0x23,0x42,0x8C,0xF3,0xAC,0x1A,0x24,0xB5,0x7C,0x7F,0x91,0x3E, -0xDE,0xC7,0x8B,0x68,0x99,0x7D,0x36,0x76,0xFB,0x38,0x51,0x97,0xA4,0x37,0x01,0xAE, -0xA6,0x52,0x66,0xFD,0x70,0xD3,0xDF,0x31,0xD6,0xED,0xA9,0x42,0xBC,0xFF,0xD1,0x7E, -0x1C,0x9F,0x11,0x30,0x4F,0xD4,0xE0,0x09,0x54,0x65,0xA3,0xCA,0x27,0xD2,0x67,0xC8, -0x96,0x57,0x53,0xF8,0x8E,0x7C,0x21,0x60,0x6F,0xA7,0x5A,0x08,0xC4,0x63,0x35,0x9A, -0x27,0x05,0xB0,0xAA,0x21,0x33,0x8E,0x80,0xA6,0x12,0x26,0xBD,0xBD,0x10,0x3F,0x90, -0x62,0x22,0xD2,0x8D,0xA1,0x3B,0x0E,0x08,0x83,0xDC,0xCD,0x73,0x5D,0x5F,0x90,0x3F, -0x8E,0xD3,0xCF,0x7C,0x34,0x43,0x9B,0xE5,0xDD,0x0B,0x44,0xA4,0x4D,0x84,0x5B,0xF4, -0x8F,0xC4,0xD9,0x6B,0x02,0x66,0xAD,0xF6,0x03,0x47,0xD6,0xE8,0xB5,0x03,0x24,0x8B, -0x93,0x60,0x61,0xCF,0xDA,0xAC,0x75,0xE4,0x9E,0x2D,0x21,0x82,0xFF,0x9A,0xF7,0x58, -0x7E,0x86,0x6A,0x29,0x19,0x75,0xB6,0xFE,0x4C,0xB5,0x6B,0x1A,0xF0,0xBC,0xDE,0x71, -0x06,0x13,0x87,0xBC,0xF1,0xFB,0x5E,0x98,0x12,0x62,0xE2,0xCD,0xAB,0x11,0x28,0x87, -0x78,0xAE,0x44,0x01,0xBB,0x08,0x14,0x21,0x2A,0x5D,0xE5,0xF2,0x95,0xCC,0xCB,0x64, -0x72,0x26,0xC6,0x89,0x41,0xB7,0xEE,0x64,0x2D,0x6F,0xD0,0xC0,0x5B,0x85,0x4C,0xE3, -0x9D,0xC8,0xC7,0x67,0xEF,0xD8,0x40,0xA5,0xB4,0xCA,0xEC,0x65,0x25,0xC3,0x74,0xDB, -0x1B,0xA0,0x29,0x0F,0xF3,0x8A,0x5C,0xEB,0x5C,0x7E,0xB0,0xD1,0x75,0x83,0x64,0xCB, -0xAF,0xC5,0xF8,0x6A,0xB0,0x5B,0x1F,0x79,0xBA,0x0D,0x25,0xA2,0xE2,0x76,0x06,0xA9, -0x2B,0xA5,0x1C,0x0A,0x68,0x91,0xC7,0x6B,0x35,0xBF,0x18,0x10,0x7A,0xA5,0x4D,0xE2, -0x20,0x3A,0x88,0x95,0x08,0x15,0xA7,0x8F,0xEC,0xC1,0xBF,0x6E,0xB1,0xC8,0xEB,0x44, -0xB2,0x76,0x56,0xD9,0xE7,0xDA,0x48,0xAF,0x51,0x44,0x87,0xEB,0x68,0x6F,0x95,0x3A, -0x55,0x18,0xDF,0xB7,0xD9,0xFD,0x76,0xB6,0x14,0xBE,0x38,0x11,0x93,0x16,0x17,0xB8, -0x2A,0xB2,0x0A,0x1D,0x88,0x1D,0x27,0x07,0xA0,0xCE,0xFC,0x61,0xA1,0x13,0x20,0x8F, -0x99,0xE8,0xE3,0x47,0x71,0xF3,0xDE,0x10,0x22,0x46,0xF6,0xE9,0x5F,0x4E,0x83,0x2C, -0x36,0x16,0xB2,0xB9,0xA4,0x0B,0x0B,0x3D,0x2F,0x7C,0xC1,0xD3,0xE0,0x67,0x15,0xBA, -0x9B,0xE0,0xE9,0x4F,0xF4,0xCB,0x5B,0xAD,0x4B,0x87,0x5E,0x28,0x3B,0xD1,0x78,0xD7, -0x0C,0x9B,0x05,0x34,0x61,0xB3,0xCE,0x40,0xB7,0x37,0x12,0x98,0xD1,0x9C,0xDF,0x70, -0xB1,0x69,0x4A,0xC6,0x8D,0x2D,0x22,0x32,0x16,0xAD,0x29,0x02,0x43,0x4D,0x9C,0x33, -0xEB,0xF5,0x8C,0x5A,0xAA,0x68,0x05,0x50,0xB9,0xF0,0xDB,0x5F,0x4F,0x95,0x48,0xE7, -0x19,0xA8,0x23,0x07,0xB4,0x4B,0x1B,0x6D,0xD3,0xCC,0x8D,0x63,0xDC,0xAB,0xE5,0x4A, -0x14,0x1F,0x99,0xB0,0xAC,0x09,0x03,0x37,0xF9,0x2B,0x40,0x84,0xD8,0x60,0x2A,0x85, -0xA8,0xFA,0xC0,0x55,0x77,0x92,0xD8,0x77,0x7F,0x6C,0x81,0xC3,0xA8,0xEF,0xD5,0x7A, -0x90,0x7F,0x7D,0xD0,0x49,0xB5,0xE6,0x6E,0x72,0x56,0xB6,0xF9,0xE8,0x74,0x0E,0xA1, -0x32,0x36,0x96,0x99,0x1D,0x65,0xB2,0xEA,0xD7,0x03,0x46,0xAC,0x1E,0x3A,0xB6,0x19, -0xF4,0x4E,0x28,0xE1,0x7B,0x80,0xD4,0x69,0x3F,0xB7,0x1A,0x18,0x84,0xF8,0xEE,0x41, -0x28,0xBA,0x00,0x15,0x50,0xD7,0xFF,0x15,0x24,0x9A,0x2C,0x35,0xC9,0x54,0x0F,0xA0, -0x49,0xBC,0x67,0x13,0xA2,0x6A,0x0D,0x5A,0xC8,0xE1,0xBB,0x4E,0x49,0x4F,0x94,0x3B, -0xF1,0x79,0x1A,0xD6,0x3C,0x41,0x93,0xEF,0x04,0x75,0xE3,0xDA,0x38,0x2F,0x85,0x2A, -0xFA,0xE6,0x8E,0x49,0x59,0xF5,0xF6,0x3E,0x20,0x55,0xE7,0xFA,0xC5,0x8C,0xDB,0x74, -0x98,0xFF,0xF5,0x50,0xCF,0xDC,0x60,0x81,0x3C,0x4A,0xE4,0xE5,0xD5,0x57,0x10,0xBF, -0xC0,0x6B,0x39,0xC4,0x1C,0x45,0xB3,0xCB,0x74,0x8A,0x6C,0x25,0x94,0x23,0x25,0x8A, -0x22,0x32,0x82,0x9D,0xB8,0x59,0x17,0x73,0x19,0x84,0x0F,0x2B,0xA7,0xC9,0xFC,0x53, -0xBE,0xD6,0xFA,0x79,0xC9,0xBD,0x66,0xE6,0x2C,0x81,0x3F,0x2E,0xD0,0x73,0x31,0x9E, -0x70,0x2E,0xCC,0x81,0x11,0x77,0xBE,0xF4,0x9B,0x0C,0x05,0xA3,0xFC,0x64,0x0A,0xA5, -0xCF,0xD4,0x89,0x7B,0xFB,0x88,0x54,0xE1,0xAE,0x09,0x35,0xA6,0x65,0x58,0xAF,0x00, -0x0A,0xB3,0x2B,0x1C,0x1B,0x04,0xB4,0x8D,0x7B,0xA3,0x4A,0x0C,0xDB,0x9E,0xD7,0x78, -0x82,0x73,0x63,0xDC,0xF2,0xAA,0x5D,0xCA,0x0E,0x7D,0xE1,0xD2,0x90,0xE8,0xEA,0x45, -0x5D,0x98,0x57,0x37,0x63,0xC2,0xCC,0x33,0xBF,0x2C,0x01,0x83,0x13,0x0D,0x8C,0x23, -0x89,0xEC,0xF7,0x43,0xFD,0xE9,0x52,0x86,0xCE,0x3D,0x61,0x92,0x85,0x17,0x00,0xAF, -0xFE,0xC6,0xAA,0x69,0xFE,0xB8,0x51,0xD4,0x92,0xF9,0xF9,0x56,0x0F,0x0E,0x93,0x3C, -0x07,0x04,0x91,0xAB,0x30,0x53,0x9F,0xF1,0x36,0x42,0xE6,0xED,0x0D,0x1F,0x80,0x2F, -0x7A,0xA6,0x4E,0x09,0x53,0x86,0xFC,0x47,0x9F,0xC3,0xCE,0x6C,0x2E,0x2E,0x92,0x3D, -0xC6,0x43,0x17,0xEC,0xD0,0xDF,0x7F,0x9D,0x78,0x5E,0xB4,0xF1,0x6C,0xA4,0x5A,0xF5, -0x3C,0x9E,0x30,0x31,0xDD,0xED,0x72,0xA2,0x42,0x72,0xA2,0xDD,0xA3,0x02,0x33,0x9C, -0xAD,0xCD,0xF2,0x62,0x51,0xF7,0xFE,0x34,0x01,0x54,0xC7,0xFB,0xE7,0x52,0x27,0x88, -0xEE,0xC2,0xBE,0x6D,0x14,0x47,0xBB,0xC1,0x5E,0x6D,0xA1,0xC2,0x18,0xE0,0x6A,0xC5, -0x56,0x07,0xC3,0xA8,0xF6,0xBA,0x59,0xDE,0x70,0x45,0xA7,0xEA,0x62,0x6D,0x9D,0x32, -0x69,0xBD,0x46,0x12,0x7A,0xA0,0xD5,0x48,0x8A,0x29,0x31,0x86,0xC2,0xB9,0xE9,0x46, -0x34,0x1E,0xB8,0xB1,0xF8,0xD9,0x57,0xB3,0x59,0x5F,0x94,0xF0,0xED,0x50,0x2F,0x80, -0xEA,0xE2,0x9A,0x4D,0xAB,0x48,0x04,0x71,0x1F,0x58,0xD5,0xF7,0x1D,0xC4,0x4B,0xE4, -0xC5,0x5C,0x0B,0xF3,0xD8,0xDD,0x77,0x97,0xCD,0xC0,0x9F,0x6F,0x1B,0x1E,0x97,0x38, -0xAE,0xD2,0xEE,0x7D,0x96,0x3E,0x39,0x3A,0x58,0xB1,0x7B,0x1E,0x41,0x5C,0x8F,0x20, -0x4C,0x8B,0x55,0x24,0x6E,0xF0,0xC1,0x0C,0x06,0x66,0xF2,0xC9,0x26,0x3D,0x89,0x26, -0x8B,0xE4,0xFD,0x4B,0x39,0x71,0x96,0xDA,0x7E,0x82,0x6E,0x2D,0x9C,0x30,0x3E,0x91, -0x2E,0xC0,0x65,0x63,0x7D,0xDC,0x2C,0x97,0x7F,0xF3,0x34,0x4A,0xB2,0xF9,0x49,0x3D, -0x50,0x67,0x1B,0xBA,0x10,0x7A,0xE7,0x31,0xE0,0xF8,0xAB,0xDE,0xD2,0x99,0xCD,0xD9, -0xEF,0x68,0xA4,0x0A,0x5B,0xF5,0x23,0xBE,0x7A,0xC3,0x31,0x7F,0x29,0x62,0x52,0xBD, -0x9C,0xFD,0xD7,0xEC,0xAE,0x97,0xB4,0xDC,0x1F,0x77,0x54,0xAE,0x6A,0x21,0x83,0x2F, -0x5F,0x24,0x14,0xF6,0xCB,0xB1,0xF7,0xFA,0x68,0xF2,0x23,0x5C,0x52,0x19,0xC5,0x51, -0xD7,0x2E,0x9C,0x74,0x96,0x12,0x09,0x59,0x32,0x41,0x79,0xB5,0xAB,0xE0,0x2B,0x46, -0xD5,0x5F,0x9E,0x07,0xB7,0x04,0x3E,0x4F,0xAC,0x6A,0xE7,0x00,0x3D,0x76,0x02,0xF9, -0x2F,0xE0,0x64,0x42,0xCE,0x86,0xC5,0xCD,0xC2,0x8D,0x89,0x89,0x03,0x48,0x25,0xE0, -0xA6,0xCA,0xED,0xE1,0x44,0x4E,0x87,0x05,0x41,0xD4,0x0A,0x53,0xBB,0xF0,0x6B,0x16, -0x3C,0xF1,0x77,0x40,0x95,0x0D,0x15,0x46,0xB3,0x69,0xF8,0x1C,0x57,0x1C,0xF5,0x64, -0xED,0x19,0xA6,0x79,0xBF,0x84,0xB6,0xCF,0xCC,0xEE,0x87,0xE4,0x7E,0x35,0xD3,0x6B, -0x16,0x86,0x5D,0x1D,0x09,0xE9,0x6D,0xA2,0x3A,0x43,0x71,0xBF,0x2E,0x65,0x13,0xFB, -0xBA,0x98,0xF1,0xAF,0xB8,0xBB,0x8E,0xF0,0xC5,0xCC,0x8E,0xCF,0x76,0x3D,0xD1,0x61, -0xFD,0x59,0xB6,0x29,0x37,0x44,0xFE,0x0F,0x20,0x70,0x6B,0x96,0xAD,0xE6,0x4A,0x21, -0x61,0x03,0x2A,0xEF,0x4D,0xD9,0x19,0x92,0x2F,0x33,0x64,0xDA,0x70,0x3B,0xB0,0x06, -0x5D,0x55,0x16,0x85,0x73,0x74,0x8A,0x3F,0x72,0xC1,0x39,0x75,0x6E,0x25,0x93,0x3B, -0xA9,0x89,0xE2,0xAD,0xEF,0x90,0xF2,0xDB,0x1D,0x06,0x56,0xDD,0x43,0x08,0xA5,0x20, -0x7C,0x71,0x37,0x80,0x27,0x40,0xEA,0x0B,0x88,0x7E,0xC3,0x30,0xAA,0xE1,0x0B,0x67, -0x38,0xE1,0x73,0x54,0xA1,0x28,0x04,0x63,0x9A,0x4F,0xD1,0x13,0x39,0x72,0x12,0xED, -0x8B,0xFC,0xC0,0xFA,0xA7,0x00,0x2A,0x4B,0xE1,0xD8,0xAA,0xFF,0xF9,0xB2,0x9A,0xA5, -0x83,0xFE,0xC8,0xF0,0xC8,0xAE,0xEB,0xE5,0xDF,0xFF,0x94,0xE6,0xFB,0xB0,0xEB,0xD6, -0x4D,0x15,0x06,0xD5,0x87,0x01,0x0B,0x4A,0xF8,0xBA,0xB3,0x84,0x7B,0x30,0xE3,0x5E, -0xF4,0x7B,0xBF,0x02,0x0A,0xF6,0x71,0xBD,0x45,0xC4,0x0E,0x47,0x95,0xDE,0x0C,0x5F, -0x36,0x82,0x7D,0x39,0xBB,0xA4,0x92,0xEF,0x8D,0x4E,0xC6,0x05,0x54,0x1F,0xA4,0x36, -0xBC,0xF9,0xF7,0xC8,0x42,0x66,0xA9,0x2D,0xBA,0x4B,0xF1,0x37,0x00,0x4B,0x74,0xB2, -0x24,0xB3,0x6F,0x1A,0x64,0x4F,0xA6,0x04,0x5C,0xA6,0x17,0x3C,0xC3,0x88,0xAD,0xA8, -0x9A,0x9C,0xD1,0x8B,0x5C,0xCA,0x1B,0x81,0x09,0x56,0x42,0x99,0xEE,0xA5,0x9B,0xB3, -0xD6,0x0E,0x9D,0x55,0xDB,0xB5,0xE3,0xFE,0x1E,0x57,0x55,0x8F,0xD8,0x93,0xBE,0xA0, -0xFE,0x08,0xB5,0x7B,0x5D,0xDD,0x0D,0x96,0xFC,0xAA,0xB7,0x90,0x9B,0xD0,0x6F,0x32, -0x5B,0x34,0x10,0xE2,0x1B,0xE5,0x73,0xAE,0x12,0x45,0x59,0x91,0x35,0x7E,0x00,0xF3, -0xF3,0x3A,0xB8,0x44,0xC9,0xB9,0xFD,0xF2,0xC9,0xDE,0x82,0xD1,0x2B,0x60,0x23,0xCE, -0xCC,0x3D,0x87,0x7C,0x14,0x5A,0xC3,0x11,0x74,0xA0,0x3F,0x12,0x61,0x2A,0xD0,0x77, -0xD3,0x3E,0x98,0x60,0xC7,0x11,0x5B,0x5A,0xDE,0xDF,0x95,0xC7,0xEA,0xA1,0x8B,0xA7, -0x52,0x16,0x19,0xC9,0xF6,0x03,0x78,0x48,0x7C,0xA2,0x37,0x18,0x89,0xC2,0x5E,0x11, -0xAC,0xB9,0xE7,0x98,0xCF,0x91,0xD3,0xDA,0x36,0x51,0x7D,0xA1,0x27,0x6C,0x31,0xD0, -0x68,0x21,0x23,0xC4,0xD6,0x02,0x59,0x49,0x1C,0x26,0x57,0xFC,0x24,0x6F,0x60,0x82, -0xC5,0x1F,0x8E,0x57,0x8A,0xB6,0xB1,0xFD,0x17,0x75,0x5C,0xA4,0x8B,0xC0,0x2F,0x62, -0xFC,0x79,0xB7,0x08,0x38,0xFB,0x4E,0xB0,0x18,0x36,0x53,0xE8,0xCE,0x85,0x9F,0x97, -0xCF,0x6C,0x84,0x2E,0x7C,0xCB,0x3A,0x80,0x99,0x1E,0xD2,0x41,0x0A,0x41,0x07,0xCB, -0xE3,0x7A,0xA8,0x14,0xDA,0xA2,0xF5,0xE9,0x44,0xE4,0x0F,0x66,0x07,0x4C,0x35,0xF4, -0xCE,0x4C,0x85,0x0F,0x88,0xBE,0xBB,0xF5,0xC4,0xEC,0x8F,0xEE,0x22,0x69,0x01,0xE5, -0xC9,0x0D,0x82,0x49,0x1C,0xDA,0x4B,0x91,0x38,0x32,0x73,0xCC,0x71,0x3A,0x90,0x27, -0xD4,0x7F,0x9F,0x26,0xB5,0x0C,0x34,0x47,0xDD,0x8E,0x96,0x95,0x2C,0x67,0x62,0x88, -0xB8,0xE9,0xF3,0xDC,0x61,0x78,0x94,0x33,0x67,0xB1,0x2C,0x10,0xA0,0xEB,0x78,0x1E, -0xF7,0x2A,0xBC,0x50,0xE5,0x18,0x70,0x53,0x51,0x94,0x1A,0x03,0xB4,0xFF,0x28,0x5A, -0x13,0xB6,0x58,0x28,0xE8,0xAF,0xCA,0xE4,0x3E,0x53,0x75,0xAB,0xE3,0xA8,0xA9,0x8C, -0x51,0x47,0x1A,0x9B,0xC6,0x06,0x4D,0x4D,0x86,0x1D,0xCD,0x5D,0x02,0x49,0x05,0xC1, -0x20,0xA3,0x6B,0x0E,0x84,0x1E,0x17,0x55,0x08,0x76,0x43,0xB8,0x4C,0x07,0xE6,0x6C, -0x26,0xC2,0x6D,0x69,0x20,0x7F,0xD2,0x34,0x94,0x2C,0xDF,0x7E,0xA1,0xEA,0x58,0x3F, -0x0B,0xF4,0x40,0x72,0x8C,0x9E,0x9F,0xD5,0x60,0xF0,0x2B,0x56,0x8A,0xC1,0x0F,0x43, -0xC7,0x6E,0x8C,0x24,0xAC,0x9F,0xBE,0xD4,0xA5,0x48,0xEE,0x2B,0x93,0xD8,0x6D,0x38, -0x92,0x9E,0xD9,0x81,0xE2,0x27,0x48,0x6C,0xEC,0xEA,0xA7,0xC0,0xC7,0x8C,0xBD,0xBC, -0xC4,0x3F,0x8F,0x76,0x54,0x4A,0x93,0x01,0x3C,0x22,0x77,0xD8,0x83,0xC8,0x2D,0x68, -0xDB,0x3C,0x90,0x6A,0x8F,0x81,0x83,0xCA,0x25,0x40,0x6E,0xA3,0x15,0x5E,0x04,0xD7, -0x70,0x63,0x3B,0x9E,0x97,0x05,0x1F,0x4E,0x66,0x91,0x2D,0x31,0x78,0x33,0xB2,0x0C, -0xE4,0x3B,0xAF,0x52,0xF7,0x14,0x6E,0x5F,0xA3,0x29,0xE8,0x4C,0xE6,0xAD,0x99,0xB9, -0x10,0xE7,0x5B,0x7A,0xAB,0xA0,0x86,0xEB,0x0C,0x66,0x47,0xAC,0x13,0x58,0x65,0xB0, -0x9D,0xDD,0xD6,0xCD,0xBC,0x9B,0xAA,0xD0,0xF4,0xA8,0xBF,0x9A,0xCB,0x80,0xAF,0xA2, -0x1B,0xB4,0x50,0x22,0xFB,0xB4,0xC2,0xFF,0xB1,0x18,0xFA,0x6F,0xC6,0x8D,0x9D,0x9D, -0x15,0xD7,0x5E,0x4F,0x11,0x6D,0xF1,0x26,0xE8,0xFA,0xA3,0xD4,0x62,0x29,0x81,0x25, -0xEC,0x39,0xA7,0x58,0x30,0x7B,0xC6,0x30,0xA9,0x5A,0xE2,0x35,0x28,0x63,0x72,0x9C, -0xBD,0xD9,0xF6,0xE9,0xD5,0x1D,0x45,0x56,0x42,0x85,0x09,0x01,0xB9,0xF2,0x1A,0x65, -0x98,0xED,0xD3,0xF8,0x80,0x3E,0x33,0x75,0x0E,0x17,0x45,0xDF,0x21,0x6A,0x50,0xB7, -0x32,0x92,0x79,0x2D,0x46,0x46,0x8D,0x0D,0x69,0xD2,0x22,0x7D,0xC1,0x8A,0xDC,0xDB, -0x68,0xB9,0x63,0xA1,0x94,0x5E,0x8C,0x78,0x5E,0xA7,0x4B,0xBF,0x6E,0x5F,0x83,0x9B, -0x27,0x16,0x83,0x0E,0x5A,0xB5,0x42,0x5D,0xD6,0x27,0x43,0x3F,0x0C,0x1A,0xA4,0xBC, -0xAA,0xE1,0xF9,0xF9,0xE3,0xDB,0xFB,0x8A,0xD7,0xC9,0xAC,0xD1,0xCF,0x64,0x19,0x01, -0x1B,0xB3,0x1A,0xAB,0x21,0x22,0x39,0xB1,0xBE,0x08,0x04,0x10,0x8D,0xEE,0xD1,0xC9, -0x4F,0x87,0x7A,0x9F,0xBE,0x29,0xA6,0x25,0xA8,0x1F,0x05,0x07,0x55,0xA6,0x41,0x59, -0x87,0x57,0x62,0x4F,0x6B,0xD1,0x73,0x08,0xEF,0xF6,0xAB,0xEE,0xB8,0xDE,0xD4,0xCC, -0x01,0x3F,0x8C,0x27,0x2F,0x41,0x37,0xDC,0x65,0x65,0xB2,0x7D,0x9B,0xEF,0xC6,0xDE, -0x07,0x17,0xA2,0x0F,0x9C,0x5C,0x84,0x72,0x2D,0xA5,0x3A,0xBD,0x77,0x78,0xBD,0xA5, -0xFD,0xCA,0x85,0xD2,0xE9,0xA8,0xF1,0xF3,0xBA,0xC7,0xCF,0xDF,0x18,0x0A,0xA0,0xB8, -0xBB,0xF2,0xFB,0xEA,0x4C,0x94,0x54,0x6A,0x7B,0x69,0xA0,0x71,0x19,0xE5,0x4E,0x56, -0x69,0xAE,0x75,0xB6,0xE4,0x9A,0xFC,0xCC,0x46,0x77,0x83,0x6F,0x59,0x7E,0x95,0x8D, -0xB4,0x4D,0x4B,0x55,0xDB,0x9D,0xC3,0xF4,0xFF,0x3D,0x70,0x25,0x9A,0x00,0x28,0x30, -0xE2,0x71,0x21,0x69,0xAB,0x59,0xB3,0x40,0x3A,0x5C,0xD4,0x44,0xBF,0xEB,0xE6,0xFE, -0xC4,0x58,0x2E,0x40,0x33,0x13,0x2B,0x92,0x20,0x9F,0x0D,0x87,0xB4,0x06,0x00,0x18, -0xFC,0xDD,0x93,0xC5,0x8D,0x3C,0x95,0x03,0x3B,0xB2,0x3B,0xAA,0x11,0xF6,0x55,0x4D, -0x7B,0xA2,0x6B,0xBA,0xC1,0xAE,0xD9,0xDD,0x28,0x84,0x1E,0x9C,0x07,0xF7,0x42,0x5A, -0x6B,0xA6,0x7F,0xBE,0x48,0x84,0x50,0x7E,0xD9,0x0E,0x65,0x16,0xD4,0x52,0x34,0x2C, -0x36,0x05,0x81,0x1D,0xC0,0x8E,0xD8,0xFC,0xCE,0xF7,0x8B,0xEF,0x3D,0xE1,0x6E,0x76, -0x17,0x13,0xB6,0x0B,0xC2,0xFF,0xDA,0x8F,0x71,0x61,0xA2,0x79,0x88,0xCA,0xF0,0xE8, -0x6E,0x91,0x4D,0x89,0x38,0x40,0x20,0xCA,0x68,0x5F,0x85,0x47,0x01,0x2D,0x9E,0x86, -0xDD,0xCB,0xA4,0xD3,0x39,0x60,0x21,0xEB,0xB5,0xEE,0xE9,0xF6,0xC2,0x53,0x23,0x3B, -0xB0,0x6D,0x6F,0x75,0x47,0xC7,0x5F,0x32,0x51,0x8E,0x6D,0x96,0x56,0x58,0xBC,0xA4, -0xFB,0xE2,0xAB,0xFA,0xF8,0xC8,0xE0,0x82,0x35,0x75,0xF2,0x6D,0xF7,0x63,0x26,0x3E, -0x0E,0x80,0x3C,0x98,0x8B,0x5D,0x93,0x64,0xA7,0x36,0x23,0x2E,0x26,0xD7,0x43,0x5B, -0x18,0xAC,0x06,0xB4,0xAD,0x38,0xB5,0x27,0xE9,0x2A,0x71,0x32,0x47,0x6C,0x99,0x81, -0x97,0x53,0x76,0x4B,0xEA,0xF9,0xF2,0xA1,0xA9,0xF1,0xEA,0xE9,0x1E,0xD0,0x7C,0x64, -0xED,0xCE,0x91,0xD6,0x76,0xA3,0x6E,0x67,0x8E,0x2C,0x10,0x34,0x52,0x93,0x73,0x6B, -0xD3,0x63,0x02,0x7B,0x4A,0xF5,0x52,0x0D,0xB3,0x32,0x33,0x2A,0xFD,0x61,0x2E,0x36, -0xE4,0x59,0x0F,0x41,0xB1,0x6A,0xA9,0x69,0x9E,0xE7,0xCB,0xFF,0xDB,0x74,0x1D,0x05, -0x35,0x1A,0x9D,0x02,0x2B,0x51,0x33,0xC8,0xEC,0x0B,0x55,0x13,0x94,0xC9,0xEF,0xF7, -0x1F,0x93,0x3E,0x8B,0xFA,0xB9,0xE2,0xF1,0xE3,0x22,0x73,0x3A,0x6C,0x4E,0x90,0x88, -0xA9,0xFE,0xE5,0xE6,0x01,0x26,0x19,0x95,0x73,0x72,0xB3,0x6A,0x37,0xE3,0x66,0x7E, -0xF4,0x5D,0x1B,0x45,0xD3,0x9F,0xCB,0xFE,0xE0,0xDF,0x8D,0xC7,0x50,0x82,0x60,0x78, -0x2F,0x96,0x0B,0x8E,0xCC,0x9C,0xD4,0xE2,0x5F,0x49,0xA4,0x51,0x2B,0xE0,0x79,0x61, -0x37,0x12,0x97,0x0A,0x67,0xC3,0x7F,0x16,0x84,0x24,0x12,0x3C,0xB9,0x31,0x3A,0x22, -0x57,0x03,0xE6,0x1B,0xF3,0x9B,0xEB,0xDA,0x31,0xBA,0x39,0xA2,0xC4,0x89,0xFF,0xE7, -0x80,0x68,0x5A,0x70,0x31,0x62,0x29,0xE1,0xB7,0xFD,0xF8,0xE5,0xF6,0x8C,0xC8,0xD0, -0x2C,0x89,0x17,0x91,0x1C,0x54,0x04,0xFA,0xCB,0xD6,0xAF,0xCE,0xDE,0x50,0x3C,0x24, -0x0C,0x88,0x36,0x90,0xD0,0xCE,0xC8,0xAC,0xB0,0xCF,0xCD,0xD7,0xA3,0xE8,0xF9,0xE1, -0x42,0x30,0xC0,0x28,0x85,0x3E,0x9D,0x09,0x34,0x9B,0x1D,0x83,0x48,0x4A,0xB0,0xA8, -0x90,0x6C,0x4E,0x74,0xFB,0x99,0xE3,0xD0,0x14,0x74,0xD2,0x6C,0xBD,0xFA,0xF5,0xED, -0x75,0x0A,0xCD,0x12,0xAA,0x79,0xB2,0x61,0xED,0xE5,0xBA,0xFD,0x89,0x25,0x1E,0x06, -0x20,0x29,0xBB,0x31,0x8F,0x4D,0x97,0x70,0x3F,0x7D,0xF0,0x65,0x57,0xB7,0x52,0x4A, -0xE6,0x51,0x05,0x49,0x25,0x32,0x3D,0xA5,0x53,0x9D,0x7C,0x85,0xF5,0x72,0x35,0x2D, -0x0B,0xB7,0x0E,0xAF,0x07,0x47,0x1F,0xF2,0x38,0x4F,0xC5,0x57,0x24,0xC6,0x50,0x48, -0x1C,0x8C,0x22,0x94,0x8A,0x7D,0x92,0x45,0x2A,0x97,0x0F,0x8F,0x12,0x08,0xA8,0xB0, -0x5B,0xA3,0x4A,0xBB,0x0C,0x14,0x14,0xAA,0x15,0x9A,0x3D,0x82,0xE7,0xB8,0xED,0xF5, -0xB1,0x7A,0x79,0x62,0x02,0x77,0x1A,0xC7,0xAD,0x3E,0x21,0x26,0x5C,0x5A,0xB4,0xAC, -0x2A,0xA1,0x39,0xB9,0xD2,0xBF,0xCA,0xDF,0xEA,0xD7,0x8F,0xCF,0x2C,0xD5,0x4B,0x53, -0x98,0xEC,0xC6,0xF4,0xEB,0xD9,0xF3,0x80,0x1F,0x92,0x3F,0x8A,0x60,0x96,0x44,0x5C, -0xDC,0xDC,0xB2,0xC4,0xD8,0xCC,0xC0,0xA6,0x43,0x56,0xA7,0x4E,0xC9,0xBE,0xC5,0xDD, -0x7A,0xB5,0x7D,0xAD,0xF4,0xDA,0xEC,0x9C,0x7C,0x5B,0x95,0x43,0xEE,0x44,0x18,0x00, -0x67,0x06,0xD3,0x1E,0xC4,0x9E,0xDC,0xE8,0x2F,0xB6,0x2B,0xAE,0x4F,0x7F,0x82,0x9A, -0x56,0x14,0xF0,0x0C,0x45,0xB6,0x5D,0x41,0x99,0xD5,0xFE,0xCD,0x90,0x02,0x20,0x38, -0x6F,0x86,0x5B,0x9E,0xBB,0x19,0xA3,0x10,0x58,0x7B,0x91,0x63,0x29,0xF1,0x6A,0x72, -0x76,0x15,0xD1,0x0D,0x7F,0x81,0x67,0x4C,0x0A,0x78,0xC0,0x60,0x74,0x86,0x40,0x58, -0x45,0x0F,0xF8,0x17,0xE0,0x8A,0xF8,0xD8,0xD2,0xE8,0x88,0xF0,0x8B,0x34,0x0D,0x15, -0x48,0xB8,0x42,0xA0,0x04,0x16,0x1C,0xA0,0x04,0xBF,0x09,0xA7,0x23,0xF3,0x62,0x7A, -0x66,0x11,0xC5,0x09,0x46,0xE7,0x5E,0x13,0x49,0x5E,0xA5,0x46,0xD5,0xBD,0xDA,0xC2, -0x24,0x09,0x9F,0x11,0x37,0x03,0x2F,0x86,0xE4,0x10,0x46,0x08,0x30,0xD6,0x54,0x4C, -0x28,0xA9,0x33,0xB1,0xD9,0xEC,0xC1,0x87,0x6D,0x7E,0xA1,0x66,0x66,0x4C,0x98,0x80, -0xBC,0xCD,0xC3,0xD5,0xDE,0xAD,0xC6,0xC1,0xAF,0x2D,0x30,0x35,0x44,0x92,0x64,0x7C, -0x15,0x1B,0xBC,0x03,0xC3,0xDF,0xDB,0xAE,0x00,0x70,0xC2,0x68,0x1D,0x2E,0x81,0x99, -0xC1,0x6F,0x1C,0x77,0xAF,0x49,0xB7,0x54,0x96,0xFC,0xD8,0xE4,0x98,0x11,0x3B,0x23, -0x2E,0xCC,0x23,0x84,0xBB,0xDC,0x01,0x54,0x1A,0xF5,0x71,0xE2,0xB5,0x91,0x5A,0xAD, -0x96,0x68,0x87,0x98,0xE2,0x67,0xE3,0x0D,0xC3,0x2C,0x42,0x08,0xBB,0xFC,0x54,0xCE, -0x03,0x19,0xF6,0x7C,0x06,0x1F,0x7F,0xE9,0x0E,0xE1,0x35,0xB2,0xBE,0xC9,0x51,0xFE, -0x11,0xC1,0x2E,0xB6,0xFE,0x29,0xB1,0x11,0x35,0xDA,0x19,0xA5,0x33,0x7E,0xDC,0xC4, -0x04,0x2B,0xC4,0x49,0x04,0x6C,0x0E,0xEB,0x90,0x7F,0x80,0x99,0x36,0x4B,0xD9,0xF4, -0x68,0xCB,0x24,0xC5,0x63,0xCE,0xCB,0x8C,0xE8,0x07,0x3E,0x5F,0x9C,0x9E,0x73,0x8B, -0x2F,0x22,0xCD,0x6B,0xA3,0x86,0x43,0x4C,0xD5,0x3A,0x75,0x29,0x42,0xEB,0xAD,0x20, -0xD6,0xB3,0x5C,0x03,0x48,0xB2,0x9C,0xA7,0xB3,0x5C,0xF6,0xCC,0x13,0x5A,0xFC,0xC0, -0x8B,0x99,0x76,0x74,0xAF,0x98,0x51,0x40,0x31,0xDE,0x0D,0xB5,0x69,0x97,0x86,0x77, -0x0F,0xCD,0x22,0xA4,0xE6,0x73,0xF3,0x09,0x89,0x66,0xFB,0xFB,0x3C,0x32,0xD3,0x87, -0x8C,0xAB,0x44,0x41,0x9E,0xCD,0x35,0x71,0xD1,0x3E,0x61,0x39,0x88,0xDA,0x67,0xDB, -0xF0,0x80,0x6F,0x16,0x6A,0xE5,0xE9,0x85,0x30,0xDF,0x2C,0x95,0xA5,0xC1,0x4A,0xED, -0xBF,0x72,0x9D,0xAB,0x6C,0x82,0x88,0x83,0xAB,0x44,0xAC,0x8E,0xDE,0x2D,0x31,0x7A, -0x0A,0xEC,0x03,0x80,0xA9,0xFF,0x30,0x46,0xBA,0x55,0xDD,0xEE,0x4A,0xE1,0xA5,0x22, -0xDB,0x89,0x66,0x34,0x36,0x6B,0x3B,0xD9,0xE4,0x0B,0x20,0x4D,0x6A,0xC5,0x85,0x26, -0x64,0x1F,0xF0,0x1D,0x2F,0x10,0x59,0xC0,0x2F,0xC0,0x30,0x96,0x75,0xD9,0x9A,0x25, -0x3B,0x26,0xC9,0x7B,0xD7,0x26,0x97,0x38,0xA2,0x4D,0x87,0xAC,0x7A,0x95,0x95,0x66, -0xAD,0xAA,0x45,0x61,0x6D,0xA3,0xA8,0x82,0xD6,0x39,0x27,0x78,0x16,0x6F,0xF9,0xF0, -0x56,0x28,0xC7,0x18,0xCE,0x5D,0xF5,0x21,0x10,0xFF,0x08,0x91,0x60,0xBC,0x8F,0x55, -0x94,0x7B,0x94,0x89,0x32,0x7F,0x2B,0xDD,0x74,0x9B,0xF8,0x05,0x67,0xFA,0x88,0x14, -0x72,0x08,0xE7,0x1C,0x8C,0xEE,0x04,0x63,0xA8,0x47,0xFE,0xDF,0xFF,0x28,0x10,0x5E, -0xDF,0x46,0xA9,0xFF,0x02,0x0B,0x6F,0xED,0xB0,0x5F,0xA4,0x9D,0x8E,0xBD,0x61,0xBA, -0xE9,0xBE,0x51,0x31,0x5B,0xB0,0x8D,0xB4,0xB6,0x59,0xC3,0xFC,0x59,0xE3,0xB6,0x33, -0x3F,0xE9,0x06,0xB0,0x34,0x18,0x4A,0xDB,0x01,0xEE,0x79,0xF1,0xBD,0x9B,0x52,0xAF, -0x63,0x2D,0xC2,0x28,0x3C,0x12,0x48,0xD3,0x3F,0xD0,0x60,0xD6,0x02,0x2B,0xED,0xA0, -0x31,0x2E,0xC1,0x79,0x16,0x4F,0x3F,0xF9,0xAC,0x43,0xEA,0xCF,0xC6,0x77,0x29,0x38, -0x14,0xE0,0x0F,0x92,0xD4,0x74,0xC6,0x3B,0xBF,0x50,0xE8,0xDE,0x7D,0xD3,0x92,0x27, -0xA2,0x83,0x6C,0x47,0x76,0xAB,0xBB,0x99,0xAD,0x42,0xCB,0xEF,0xFC,0x7A,0x13,0x0F, -0x78,0x00,0xEF,0x1E,0x93,0xF2,0x07,0x7C,0x65,0x8A,0x89,0x65,0x61,0x9D,0x8E,0x75, -0x47,0x0D,0xE2,0x2C,0x4E,0xD5,0xFD,0xA1,0x0C,0xE3,0x46,0xC3,0x4D,0xA7,0xA2,0x63, -0xD1,0x81,0x6E,0x36,0x1D,0x17,0x6C,0xF2,0x18,0xF7,0x02,0x93,0x6B,0xE4,0x84,0x06, -0x24,0xC4,0x2B,0x86,0x12,0x5B,0x2F,0xFD,0x55,0xBA,0xFD,0x21,0x52,0xBB,0xBD,0x60, -0x00,0xE4,0x0B,0x82,0x03,0x2A,0x4F,0xEC,0x64,0x8B,0xA8,0x45,0x34,0x38,0xDB,0x85, -0x13,0xD2,0x3D,0xA7,0x14,0x3C,0x4E,0xFB,0x1B,0xF4,0x50,0xC2,0x78,0xE6,0x97,0x17, -0x01,0x0A,0xE5,0x6D,0xB0,0x84,0x52,0x5F,0xC8,0x27,0x1A,0x5B,0x12,0x7B,0xFD,0xE0, -0x1B,0xC9,0x26,0xB4,0x56,0x8F,0xBF,0xB9,0xE1,0x0E,0x15,0x7D,0x8A,0xA9,0x65,0xAA, -0x7D,0x21,0xCE,0x3A,0xC3,0x62,0xC7,0x2C,0x17,0xF8,0x4E,0xD0,0x5D,0xF7,0xB2,0x23, -0xC4,0x6B,0x84,0xC9,0x7E,0xA1,0xB9,0x91,0xF4,0x1B,0x70,0x0D,0x62,0xCF,0x8D,0x24, -0x81,0x91,0x7E,0x76,0xF6,0x23,0xB3,0x19,0x73,0x9C,0xBE,0x44,0x50,0xC8,0xBF,0x11, -0x40,0x3F,0xD0,0x19,0x18,0x22,0x5C,0xF7,0x4B,0xA4,0xC0,0x02,0xF5,0x51,0x1A,0x2D, -0x5E,0x33,0xDC,0x0B,0x90,0xA0,0x56,0x7F,0x86,0x69,0xB7,0xB8,0x96,0xE7,0x79,0xF8, -0x16,0xF3,0x1C,0x83,0xEB,0x4C,0xC1,0x04,0xAE,0x41,0x99,0xBE,0x25,0x49,0xCA,0xE5, -0x93,0x49,0xA6,0xBC,0x17,0x6E,0x1F,0xF8,0x3E,0xD1,0x41,0xF6,0x07,0x1E,0xE8,0x90, -0xD4,0xA0,0x4F,0x12,0x82,0x83,0x67,0x6D,0xEE,0x01,0x59,0x3E,0xD2,0x33,0x3D,0x68, -0xEC,0x9F,0x70,0x15,0x4F,0xF4,0xDD,0xA0,0x58,0xB7,0xC2,0x13,0x5A,0xB1,0xB5,0x62, -0x85,0x5E,0xB1,0xBD,0x87,0xB6,0x57,0x68,0x0A,0xE5,0x21,0xA2,0x98,0x8A,0x77,0x9B, -0x65,0xF1,0x1E,0xF2,0xD5,0x55,0xE6,0x3A,0x00,0xEF,0x58,0xD1,0x2D,0x43,0xC2,0xE7, -0xED,0x71,0x9E,0xFA,0xF2,0x37,0xA3,0x1D,0xAF,0x40,0xB8,0x9E,0xE3,0x66,0x0C,0x0C, -0xD8,0x74,0x9B,0xCA,0xC6,0x57,0xF7,0x29,0x2A,0xC5,0x05,0xA6,0x43,0xCA,0xAC,0x00, -0x48,0x24,0xCB,0x0A,0x30,0x0C,0x5A,0xDF,0x47,0xA8,0xDE,0x10,0xB8,0xAE,0x57,0x9F, -0xA5,0xB1,0x5E,0x72,0x4B,0xE0,0xCD,0xA4,0xE0,0x0F,0x34,0x5D,0x08,0x52,0xE7,0xD3, -0xD7,0x5D,0xB2,0xEC,0xB9,0xAF,0x70,0x56,0xA3,0x4C,0xA6,0x8C,0x92,0xF3,0x7D,0xE8, -0xB5,0x7A,0x95,0xA9,0x25,0x69,0x2A,0xCA,0x77,0x98,0xAA,0x54,0xCF,0x5C,0x20,0x1A, -0x88,0x64,0x8B,0x8A,0x78,0xC6,0xD8,0x97,0xDA,0x35,0x39,0x6A,0xF3,0x36,0x1C,0x4C, -0xD2,0x7C,0x93,0xC8,0xCF,0x7C,0xD5,0x20,0x15,0xFA,0x3D,0xA1,0x14,0x1C,0xFB,0x81, -0x92,0xA7,0x48,0x53,0x2A,0x25,0x69,0xC5,0xEA,0x05,0x4D,0x2E,0x53,0x9A,0xBC,0x40, -0x0E,0x23,0xCC,0x4B,0x70,0xCC,0xDA,0x9F,0x5B,0xB4,0x90,0x42,0x41,0xB9,0xAE,0x71, -0x9C,0x60,0x8F,0x9A,0x15,0x1D,0x6E,0xFA,0x39,0xD6,0x07,0xB7,0x32,0x5F,0xDD,0xE4, -0x8E,0xB8,0x57,0x50,0x75,0xF9,0xEA,0x9A,0x72,0x9D,0x9F,0x64,0x80,0xD0,0x6F,0xD9, -0x6A,0xD8,0x37,0xD4,0xEA,0x6D,0xE1,0x05,0xD4,0x3B,0x54,0x09,0xFE,0x09,0x11,0x7E, -0x4A,0x37,0xD8,0x1B,0xA6,0xB3,0x73,0x49,0xAA,0x45,0x8D,0xAE,0x7B,0xB4,0x94,0x46, -0x53,0x09,0xE6,0x3C,0xC8,0x3A,0x94,0x27,0x28,0xC7,0x76,0xD7,0x81,0xF1,0x6E,0xF9, -0xE2,0x58,0xB7,0xDC,0x62,0xEF,0xEB,0x8D,0x1F,0xF0,0x44,0xD2,0xF1,0x45,0x1E,0x3D, -0xF5,0xA1,0x4E,0x32,0x38,0x06,0x58,0xD7,0xBC,0x53,0xBA,0x8F,0x79,0xC7,0x96,0x37, -0xCE,0x1A,0x54,0x50,0xBA,0xBA,0x24,0x80,0x14,0x4A,0xDE,0x40,0x1A,0x76,0xEC,0xE8, -0x64,0xCF,0x2B,0xFA,0x04,0xC2,0x5C,0x46,0xD1,0xE8,0xB9,0x27,0x96,0x96,0x80,0x08, -0x41,0xDE,0x1F,0xDF,0x72,0xE1,0x7F,0x13,0x43,0x36,0xF5,0x6B,0xDC,0x0E,0x52,0x90, -0x10,0x6F,0xFF,0x8E,0xF1,0x87,0x19,0xF6,0x9C,0x02,0x1E,0x80,0xB4,0x9F,0xAB,0x01, -0xE9,0x78,0x11,0x77,0xC6,0x91,0x0F,0xD7,0x3C,0xE3,0x5F,0xC1,0x47,0xD5,0x12,0x4B, -0xE7,0x15,0x72,0x79,0xF5,0x48,0xD6,0x3D,0xDE,0x58,0x06,0x98,0x5B,0x71,0xAA,0xEF, -0x61,0xFA,0x1B,0xFF,0x9D,0x67,0xF9,0x7A,0x6E,0xAD,0x43,0xDD,0x69,0x7C,0x95,0xE2, -0xEC,0x4D,0x21,0x72,0xB1,0x5C,0xC2,0x6D,0xA0,0x9B,0xBB,0x25,0xA3,0xA4,0x87,0x3A, -0x18,0x65,0xFD,0x86,0x59,0xE8,0x76,0x31,0xEF,0x7B,0x14,0x8A,0x5F,0x51,0x8E,0xCF, -0x8C,0xA9,0xA5,0x12,0x28,0xF9,0x67,0x51,0x57,0x06,0xD1,0x4F,0x74,0xCF,0x3B,0x51, -0x27,0x5D,0xFA,0xB9,0xB4,0x7D,0xE3,0x49,0x86,0x94,0x92,0x0C,0xC2,0xA2,0xE0,0x3C, -0x38,0x41,0xF9,0xA6,0xA4,0xB6,0x28,0x92,0xE4,0xEF,0x8B,0x15,0xEB,0x34,0x5F,0xAA, -0x6E,0xB6,0x58,0xF0,0x7F,0xDB,0x45,0x24,0x2C,0xF7,0x5B,0xC5,0x7B,0x70,0x8B,0xEE, -0x3B,0x13,0xA8,0xA5,0x89,0x63,0xFD,0x6A,0x8E,0x1C,0x12,0x8C,0xAB,0x24,0x0F,0xBA, -0xF7,0x45,0x32,0x69,0xA8,0x62,0xFC,0x4A,0x36,0x61,0xD7,0x49,0xC9,0x3D,0x74,0xA3, -0xDA,0x5E,0x04,0x44,0xE5,0x83,0x1D,0xE6,0xEA,0x49,0x23,0xBD,0x9E,0x16,0x08,0x88, -0xDC,0x39,0x65,0x42,0x20,0xE2,0x7C,0x42,0xB0,0x8F,0xBF,0x21,0x20,0xFB,0x5B,0x65, -0xAD,0xAC,0x81,0x33,0x7A,0xFA,0x64,0x00,0xDB,0x6A,0x31,0xAF,0xC3,0xB5,0xF6,0x2B, -0xEF,0x1F,0x70,0x71,0xFD,0x53,0xCD,0x2E,0x95,0x9C,0x89,0x17,0x6F,0x54,0xBB,0xCA, -0x0B,0x67,0xEC,0x95,0x47,0xE4,0x7A,0x23,0x52,0x34,0xE6,0x78,0xEE,0x03,0x6D,0x9D, -0x44,0xEB,0x2F,0xDA,0xA3,0x84,0x1A,0xA7,0x77,0x27,0xD0,0x4E,0xBE,0x17,0x29,0x89, -0x28,0x11,0xB9,0xB6,0x03,0xF0,0x6E,0x73,0x48,0xA2,0x6A,0xF4,0xA4,0x9B,0xBF,0x05, -0x35,0x7E,0xCB,0xAB,0x7C,0x26,0xB8,0xDA,0xF4,0xFB,0x8F,0x11,0x56,0xC6,0x10,0x58, -0x32,0x38,0x8A,0xAC,0x8C,0x42,0xDC,0x4E,0x2A,0xD9,0x73,0xED,0xC7,0x95,0xD2,0x0B, -0x1F,0x23,0xBC,0x81,0xC2,0x5E,0xC0,0x1C,0x22,0x51,0xF3,0x6D,0xF3,0xB0,0xC3,0x2E, -0x33,0x19,0xAA,0xAD,0x0D,0x37,0xA9,0xBA,0xD8,0x76,0x2E,0xB0,0xC1,0xBD,0xFC,0x23, -0x00,0x3F,0xBF,0x9E,0x79,0x07,0x99,0xFE,0xF0,0xDF,0xAF,0x31,0x59,0x79,0xA0,0xE7, -0x39,0x60,0xD9,0xA7,0x86,0x4A,0xD4,0x4C,0xB3,0x93,0xA0,0x3E,0xE9,0x3C,0x55,0xA2, -0x94,0xF3,0xE7,0x0A,0x6E,0xFE,0x60,0x10,0xE0,0xCB,0xAB,0x35,0xA6,0x93,0xB5,0x0D, -0x50,0xAF,0x7F,0xCE,0xE4,0x6D,0xF3,0x09,0x97,0x96,0x81,0x1F,0xF7,0x90,0xE7,0x0E, -0xAE,0xFE,0xD0,0x30,0x4F,0xFF,0x61,0x30,0x64,0x2F,0xCB,0x55,0x98,0x3E,0x26,0xA0, -0x2F,0x57,0xF8,0xB1,0x6C,0xED,0x73,0x01,0x19,0xF0,0x69,0xF7,0x4D,0x5D,0x90,0xC3, -0x30,0x4B,0xFB,0xAE,0xF4,0xA6,0x38,0xD2,0x66,0x25,0xC3,0x5D,0x16,0xD6,0x40,0x48, -0x0F,0x73,0xFC,0x91,0xCA,0x45,0xDB,0x0F,0x18,0xE6,0x7E,0xE0,0xE5,0x9C,0xF9,0x02, -0xA7,0xD5,0xF2,0x39,0x44,0x19,0x87,0xDD,0x83,0xA6,0xA5,0x3B,0xC6,0x82,0xC4,0x1C, -0x02,0x4C,0xCE,0x9C,0x3A,0x21,0xBF,0x9B,0x6C,0xA7,0x4B,0xD5,0xA9,0x2C,0x05,0xB2, -0x2A,0x62,0xC8,0xB4,0xD4,0x49,0xD7,0x1D,0x91,0xB8,0xA9,0x37,0x78,0x6F,0x97,0xF1, -0x66,0xBC,0x5A,0xF8,0x2C,0x36,0xA8,0x9A,0x90,0xAE,0xBE,0x20,0x5D,0x59,0x84,0xC7, -0xD8,0x2D,0x75,0x46,0x91,0xB3,0x2D,0xA2,0x60,0x0B,0xEB,0x75,0x6B,0x74,0x9F,0xEA, -0x40,0xFF,0x3F,0xDE,0x9E,0x9A,0x04,0x84,0x8D,0x00,0x0D,0x93,0xB2,0xB7,0x85,0x29, -0xCA,0x0E,0x44,0x54,0xA5,0x58,0xC6,0x7D,0x88,0x32,0x3A,0xA4,0x62,0xE3,0x01,0x7D, -0x08,0x35,0xBD,0x96,0x46,0x0A,0x94,0xCC,0x02,0x70,0xF2,0x6C,0xCA,0x22,0x68,0xBC, -0xB1,0xE2,0xD3,0x2F,0x3C,0xFD,0x63,0x41,0x7C,0xB3,0x4F,0xD1,0x25,0xCC,0x69,0x52, -0x7F,0xC7,0x38,0xE1,0xDC,0x52,0xCC,0x0E,0x39,0xD1,0x68,0xF6,0x2D,0x4C,0xE1,0xD2, -0x77,0xCD,0x3A,0xE9,0x1D,0xFC,0x62,0x61,0x1E,0xC8,0x56,0xC8,0x5C,0x4E,0x92,0xD0, -0xC4,0x63,0x27,0x5A,0x33,0xD4,0x4A,0x67,0x89,0x24,0x2D,0xB3,0xD4,0x8E,0xDA,0x10, -0x80,0xB7,0xB7,0x1E,0xDD,0xBC,0x22,0xE1,0xB8,0x07,0x3F,0xA1,0xCD,0x1D,0x50,0x83, -0x55,0x9A,0x4F,0xCB,0xC5,0x6C,0xF2,0x29,0xC0,0xEA,0xAA,0x34,0x63,0xF4,0x17,0x6A, -0xA1,0xB2,0x93,0x3F,0xBD,0x88,0x16,0xB5,0x07,0x42,0xC5,0x5B,0x55,0xD9,0x0C,0x47, -0x9D,0xD8,0xC5,0x03,0x2E,0x25,0xBB,0x8B,0xF5,0xED,0x98,0x06,0x76,0xC7,0x31,0x59, -0x01,0x1E,0x9F,0x9F,0xC9,0xB8,0x26,0xF1,0xB6,0xA1,0x97,0x09,0x8C,0x1A,0x16,0x84, -0x46,0x98,0x5E,0xD8,0xB9,0x47,0xD9,0x7E,0x0A,0xF8,0x72,0xEC,0x17,0xC1,0x56,0x5F, -0xEA,0x2A,0x40,0x74,0x5A,0x15,0x8B,0xCF,0x85,0x88,0x8D,0x13,0xD5,0x99,0xCC,0x07, -0x11,0x4E,0xDF,0x8F,0x81,0x78,0xE6,0x79,0x28,0xD3,0x7B,0xE5,0x15,0xC9,0x5C,0x57, -0xC0,0x77,0x37,0x5E,0x22,0xF1,0x6F,0x53,0xAF,0x2B,0x04,0x9A,0x33,0xE0,0x53,0x7E, -0x5A,0xD6,0x0C,0xC4,0xB0,0xB2,0x2C,0x82,0x12,0x64,0xF6,0x68,0xAD,0x0C,0x21,0x92, -0xD3,0x75,0x26,0x4D,0xF2,0x7A,0xE4,0x08,0x4B,0xBE,0x75,0xEB,0xE3,0xB4,0xD7,0x2A, -0x29,0x30,0x99,0xB7,0x09,0xF8,0x66,0x71,0xAC,0x37,0x1B,0x85,0xC4,0x8A,0xCE,0x14, -0x2B,0x43,0xE8,0xB5,0x3E,0xEE,0x70,0x50,0x87,0x82,0x85,0x1B,0xED,0x1C,0x71,0x82, -0xA3,0xC1,0xE2,0x3D,0xC0,0x4D,0xD3,0x0D,0x34,0x6B,0xDF,0x41,0x03,0xE5,0x66,0x7B, -0x60,0xDB,0x3B,0xFE,0x83,0x6B,0xF5,0x68,0xB1,0x99,0xA8,0x36,0x45,0xDD,0x18,0x43, -0x13,0x3D,0xAE,0x8D,0x14,0x09,0x97,0x9D,0x05,0x48,0xCD,0x53,0x94,0x9E,0x8A,0x00, -0xAC,0x8D,0xA1,0x32,0xD0,0x86,0x18,0xD6,0x3E,0xE9,0x57,0xC9,0x0B,0x65,0xEE,0xFB, -0xD2,0x54,0x06,0x4C,0x1B,0x20,0xBE,0xBB,0x35,0x7D,0xC8,0x56,0x8F,0x05,0x0A,0x9B, -0x87,0x68,0x34,0x7E,0xAC,0xF7,0xCA,0x44,0xE3,0xE1,0x50,0x20,0x05,0xB6,0x0C,0x2B, -0xE3,0xFC,0x50,0x8E,0xED,0xF0,0x8C,0x43,0xB0,0x70,0x03,0xE2,0xF9,0x4A,0xD2,0x09, -0x35,0x55,0x86,0xF1,0x9F,0xED,0xE3,0x5E,0xED,0x82,0x5E,0x4D,0x1C,0xAF,0x6E,0x50, -0x41,0x81,0xF2,0x51,0x09,0x81,0x19,0x32,0x61,0x98,0xD2,0xDB,0xA6,0x15,0x51,0xD5, -0x21,0x05,0x92,0xB5,0xCA,0xCE,0x95,0x7D,0x75,0xC8,0xC6,0x9F,0x90,0x23,0x74,0xC6, -0x96,0x08,0x25,0x0F,0x56,0x2A,0xED,0x99,0x22,0x49,0x91,0x49,0xFF,0x4C,0xB3,0x6E, -0x3F,0x26,0x8C,0x88,0xA7,0x68,0x5E,0xDB,0xC3,0xE5,0x70,0x04,0x47,0xF4,0xFD,0x98, -0x27,0x64,0x94,0xD2,0x43,0x19,0xCB,0xAA,0x8D,0x06,0x3E,0xA9,0xC9,0x7A,0x96,0x7D, -0x28,0x27,0x9B,0x9E,0xDE,0xEA,0xA5,0x59,0x2B,0x6B,0x98,0x62,0x1F,0xAC,0x3F,0x02, -0x3A,0x16,0x89,0xBD,0xF6,0x6B,0x0C,0xD8,0x48,0xBE,0xFB,0xD4,0xBD,0x0E,0x42,0xDD, -0xA8,0x2F,0x1B,0x16,0x59,0x95,0x5D,0x26,0xE6,0xD1,0x55,0x15,0xF7,0x44,0xB1,0x64, -0x3B,0x36,0x88,0x9C,0xC1,0x51,0x01,0xE2,0xE5,0x80,0x56,0x47,0xDD,0x6E,0xC6,0x39, -0x8F,0x6A,0x3C,0x74,0xFF,0xFC,0x92,0x4F,0x4A,0xCF,0xF9,0xA7,0xD6,0x65,0x95,0x61, -0xC2,0xD8,0x71,0x8B,0x99,0xC5,0xCD,0x76,0x0F,0x7F,0xBC,0x52,0xD9,0x6A,0xD6,0x2D, -0xF2,0x9C,0x41,0xFF,0x8C,0xF6,0xEB,0x45,0xCB,0xE7,0x78,0x0E,0x58,0xEB,0xFE,0x84, -0x9B,0x3A,0x28,0x30,0x9A,0xDA,0xD1,0x69,0xC6,0xD5,0x75,0x31,0x85,0x36,0x04,0xA3, -0x99,0x4B,0x2A,0x43,0x07,0x29,0xBF,0x9A,0xD2,0x85,0x61,0x75,0xCD,0x7E,0x86,0x69, -0xA2,0x5C,0x11,0x6F,0x3D,0xA4,0x08,0x17,0x0A,0x4F,0xB9,0x67,0x35,0x86,0x48,0x5F, -0x8D,0x1B,0x3E,0x07,0x54,0x22,0xE7,0x91,0x07,0x7D,0xB4,0x58,0x70,0xC3,0xF8,0xAA, -0x54,0xF1,0xE7,0x34,0x37,0x2C,0x8A,0x9F,0xA3,0x61,0x10,0xE0,0x29,0x9A,0x1A,0x11, -0x42,0xD0,0xF1,0x03,0xD9,0xD5,0x9D,0x66,0xE9,0x92,0x5A,0x59,0x68,0xDB,0xBA,0xF0, -0x24,0x35,0x97,0x80,0x39,0x84,0x2C,0x37,0x78,0xFA,0xCB,0xA0,0x83,0x30,0x65,0xC4, -0x07,0x60,0xB4,0xF6,0x0D,0xA1,0x3D,0x12,0xE0,0xB0,0x53,0x72,0xCF,0x7C,0xF7,0x1A, -0x7F,0xA6,0xCC,0x48,0x72,0x0B,0xE8,0xB8,0x00,0x3C,0xB3,0x1E,0xA8,0x1B,0x32,0xB8, -0x46,0xC0,0xF5,0x17,0x22,0x1F,0xAC,0xAC,0x60,0xB8,0xD3,0xFA,0x55,0xE6,0xCC,0xBB, -0xA7,0x6C,0x14,0x5A,0x14,0x32,0xB7,0x81,0x4B,0xEF,0xF8,0x86,0xA1,0x12,0x10,0x93, -0xA6,0x4C,0x15,0x7B,0x8E,0xFE,0xE1,0x4D,0x52,0x8D,0xE1,0xFD,0x64,0xD7,0xA8,0xEE, -0x1E,0x02,0xAD,0x8D,0x7E,0xAB,0x44,0x18,0x06,0x5D,0xB5,0x79,0x2D,0x9E,0x0A,0x05, -0x73,0xB4,0xC0,0x56,0xDF,0xFD,0xB3,0x4E,0x42,0xCD,0xF1,0xAD,0xFD,0x4E,0xC2,0x1D, -0xB8,0x6F,0x0B,0x46,0xDC,0xE2,0xAF,0x51,0xD4,0xE4,0x67,0x12,0xE4,0x57,0xA0,0x66, -0x3C,0x77,0x8F,0xDA,0x83,0x49,0x5B,0xFA,0xB9,0x52,0x0A,0xC9,0xA7,0x14,0x71,0xF4, -0x2D,0x17,0x9E,0xAB,0xDB,0xDD,0x97,0x6E,0x27,0x79,0x94,0x7C,0x62,0xD1,0xC9,0x89, -0x77,0xA4,0xC4,0x42,0x2A,0x9F,0x24,0x2C,0x7A,0x8B,0xC9,0xD3,0x80,0x33,0x34,0x96, -0x34,0x75,0x87,0xD0,0x11,0x05,0x85,0xB6,0x96,0x15,0x25,0xA1,0x72,0xC1,0x89,0xD9, -0xBD,0x5F,0x0E,0x73,0xF9,0xD4,0xBC,0x67,0xBF,0x33,0x0C,0xAE,0x0D,0xBE,0x0E,0x21, -0xD0,0xE9,0x63,0xA8,0x66,0x2F,0xD8,0x9C,0xEF,0xF3,0x5C,0x3E,0xFB,0x48,0xA3,0x7A, -0x82,0x58,0x31,0x4B,0x78,0x83,0x6A,0x30,0xB7,0x31,0x04,0xA4,0x04,0xB7,0x2C,0x0A, -0x7D,0xD7,0xCE,0x3B,0xB9,0xC4,0xEC,0x77,0x6C,0xAA,0xDF,0xE4,0xE1,0x52,0x90,0x53, -0xE0,0xAD,0x53,0xDC,0xE3,0x58,0x2A,0xEB,0xB1,0x50,0x02,0xC3,0xEE,0x5D,0xD3,0x1F, -0x4D,0x93,0xFE,0x4F,0xB5,0x64,0x40,0xD7,0xAF,0x73,0x1C,0xFE,0xB3,0x00,0x21,0xB0, -0xE5,0x9D,0x56,0xE9,0x20,0x17,0xA6,0xA4,0x73,0xA9,0xC0,0xF8,0xBE,0x0D,0x13,0x8F, -0x43,0xF0,0xF0,0x22,0x87,0x69,0x7F,0xDA,0x13,0x2D,0xA0,0x1C,0x21,0x92,0x18,0x1B, -0xCC,0xBB,0x7F,0xE6,0x88,0xD6,0xCF,0x65,0xE8,0xB2,0x5B,0x78,0xBB,0x08,0x23,0xBA, -0xAE,0x4E,0x1D,0x71,0x1D,0xA5,0x29,0x16,0xAB,0x63,0x18,0xEA,0xDE,0x6D,0x97,0x6B, -0x88,0x2B,0x3B,0x32,0xC4,0x66,0x33,0xD5,0x93,0x25,0x20,0x94,0xA9,0x1A,0x12,0x99, -0x2B,0x76,0x98,0xCC,0xCE,0xEE,0xB1,0x5D,0x6A,0xCB,0xD9,0x83,0xF3,0x40,0xA1,0x70, -0x3D,0x57,0x8E,0xFB,0xBF,0xEC,0xC2,0x5F,0xFC,0xE2,0x4F,0x3C,0x6D,0xDE,0x8A,0xC5, -0xBF,0x2E,0x0C,0x00,0x00,0x16,0x87,0xA5,0xC2,0xC5,0x71,0x25,0x03,0xB0,0x6D,0x4C, -0x5F,0xA2,0xEC,0x6C,0x19,0x85,0x0D,0x36,0xC1,0x94,0x72,0x77,0x7B,0xC8,0xAB,0xF2, -0x76,0x84,0xC5,0x63,0x53,0x1D,0xDF,0xAE,0x02,0x4D,0xB1,0x6D,0x9D,0x2E,0x46,0xF9, -0xF3,0xBC,0x40,0xDE,0x7C,0xA3,0x4E,0x10,0x2F,0x7B,0x9C,0x76,0xC8,0x7B,0xB6,0x5C, -0x8C,0x3B,0x3F,0x26,0xEE,0xEF,0x90,0x5C,0x19,0x5E,0xAA,0x65,0xDF,0x6C,0xB7,0x4A, -0xE4,0xBD,0x57,0xC8,0xE8,0xC7,0xBE,0x74,0x5A,0x8F,0xE9,0xF7,0x3D,0x8E,0x4A,0x55, -0xDC,0xFB,0x6F,0xB6,0xD4,0x62,0x27,0xD1,0xF4,0xE0,0x47,0x36,0xD3,0x60,0xA5,0x54, -0x80,0x29,0x33,0x38,0xDA,0xCA,0x81,0x79,0xEA,0xC3,0x59,0x0B,0x08,0xBB,0x3E,0x14, -0x63,0xF4,0xD0,0x06,0xDD,0xF5,0xB9,0x46,0xA0,0x30,0x13,0xB2,0xB5,0x06,0x40,0xD7, -0xA9,0x0F,0x1A,0x37,0x69,0x90,0x68,0x23,0x82,0x45,0x31,0xE5,0xDC,0x6F,0xE6,0x18, -0x79,0xC7,0xCA,0x2F,0x91,0x45,0x45,0xF6,0x6B,0xEB,0xD8,0xA2,0x49,0xFA,0x9E,0xF5, -0x11,0x41,0xA2,0xC1,0x01,0x01,0x91,0xB2,0xF8,0xF2,0x4B,0x28,0x5B,0xE8,0xAF,0xD6, -0x39,0x47,0x8A,0xEF,0x1C,0xB2,0x3F,0x01,0x38,0x7A,0x8B,0x60,0x20,0x93,0x38,0x3A, -0x97,0x28,0x24,0x2E,0x1E,0xBA,0x35,0x09,0x3A,0x0B,0x89,0x13,0x1E,0xAD,0x1F,0x23, -0x38,0x67,0x8B,0xCE,0xF5,0x74,0x10,0xC7,0xBA,0x03,0x09,0x9B,0x39,0x8A,0x5A,0x41, -0xCF,0xEA,0x7C,0xB4,0x9B,0xCD,0xC7,0x7E,0x54,0xEC,0xE7,0x9A,0x84,0x37,0x24,0x82, -0x9D,0x5B,0x2E,0x57,0x62,0x0F,0xFC,0xBC,0x95,0x44,0x26,0xF3,0x4C,0xFF,0xAE,0xC0, -0x71,0x7B,0xF0,0x96,0x42,0xA0,0x47,0x18,0xC5,0x7C,0x43,0xA4,0xAD,0xD2,0x85,0x35, -0x8B,0x3E,0x4F,0x6C,0xB9,0x22,0xC5,0x61,0x22,0xF5,0x2D,0xCA,0x8A,0xEC,0x9C,0x0B, -0xFB,0x8A,0x8B,0x1C,0x8B,0x15,0xF2,0x64,0x5D,0x20,0x87,0x60,0x6A,0xBD,0x2D,0x5A, -0x73,0x08,0x81,0x94,0x75,0xB6,0x51,0x39,0xEE,0xC9,0xDD,0x3A,0x84,0x44,0x3A,0xA3, -0x4B,0x76,0xC7,0xAC,0x5F,0x51,0xB6,0xF4,0x6C,0x03,0x95,0x72,0xFD,0xC6,0xC1,0x21, -0x38,0x90,0x52,0xDF,0xC8,0x33,0xD4,0x01,0xD8,0xD2,0xF0,0x17,0x2C,0x85,0x53,0x62, -0x8A,0x1F,0x6F,0x6D,0x50,0x78,0x9F,0xD2,0x5C,0x36,0x90,0x77,0xE6,0x5D,0x41,0xBA, -0xF4,0xC6,0xC8,0x13,0x9B,0xDE,0x39,0xBF,0x57,0xA2,0x0F,0xE8,0x62,0x3D,0xA5,0xDA, -0xC5,0x93,0xAC,0x22,0x65,0x7D,0x9A,0xE2,0x9C,0xA6,0xC0,0x27,0x1F,0x9F,0x7A,0x78, -0xF9,0xF9,0xFA,0x1E,0xF6,0xD0,0x37,0xDC,0x6E,0x09,0x9D,0x7A,0x3C,0x81,0x47,0x66, -0x1E,0xD3,0x37,0xF9,0xF2,0x1F,0xF8,0x17,0x63,0xB3,0x2A,0xCD,0x7E,0x99,0x1D,0x7E, -0x59,0x55,0xF6,0xBE,0x82,0xE0,0x07,0x98,0xDF,0xEA,0xCF,0x28,0xE5,0x42,0x5D,0xA5, -0x49,0x05,0xB6,0xAE,0xCA,0x20,0xC7,0x10,0x41,0x98,0x23,0xC4,0x7C,0x91,0x17,0x76, -0xB2,0x61,0x29,0x55,0x11,0x4D,0xAA,0xA6,0xEC,0xC3,0xD5,0x32,0xBC,0xC1,0x87,0x26, -0x02,0x9D,0x65,0xE5,0xFB,0xEA,0x0D,0xEB,0x7B,0x2F,0xAE,0x49,0xC4,0x54,0x6A,0xB3, -0x98,0x3C,0x5E,0x7F,0x69,0xA9,0x4E,0x3A,0xC6,0x60,0x5C,0xBB,0x5A,0xB8,0x18,0x5F, -0x50,0x7E,0xD4,0xB7,0x0D,0x52,0xB5,0xA5,0x6B,0x3B,0xAA,0x4D,0xA3,0x7A,0x23,0x9D, -0x92,0x45,0x2D,0x75,0xEE,0x00,0xE7,0x14,0xE1,0x79,0x62,0x85,0x0B,0xBB,0x4A,0x5C, -0x27,0x8C,0x51,0xC0,0x97,0x0A,0xED,0x67,0x50,0x9A,0x30,0xD7,0x44,0x14,0xAA,0xF3, -0xE9,0xA9,0xBA,0x0E,0x77,0xA5,0x42,0x28,0x15,0xF8,0x17,0xF0,0x4C,0x94,0x22,0x73, -0x9C,0x28,0x4E,0x7B,0x78,0x8C,0x6B,0x0E,0xE0,0x6F,0x75,0x92,0xBD,0xD6,0x91,0x31, -0x2F,0x86,0x53,0xC8,0x56,0xA4,0x43,0x08,0x77,0x83,0x0E,0xE9,0x35,0x16,0xD9,0xF1, -0x0D,0xD1,0x26,0xEA,0x8E,0x34,0xD3,0x40,0xA9,0xA1,0xF2,0x15,0x0A,0xAC,0x5C,0x4B, -0xD8,0xFC,0xDE,0x3F,0x96,0xE4,0x03,0x88,0xD1,0x4C,0x67,0x80,0xA4,0x45,0x1B,0xA2, -0x57,0x38,0x95,0xB0,0x81,0x1D,0xFA,0x66,0x71,0xAD,0x26,0xC1,0x8C,0xC4,0xB2,0x23, -0x68,0x00,0x92,0x8F,0xBF,0xFE,0x19,0xBB,0x0F,0x6E,0x9B,0x7C,0x7F,0x8E,0x0B,0x69, -0x5A,0x07,0xA7,0xBD,0x71,0x79,0x9E,0xF2,0x05,0xEC,0x13,0xF4,0xC0,0x74,0x4E,0x93, -0xFF,0x9E,0x9B,0x18,0x0F,0x41,0xA6,0xB4,0xEA,0xED,0xFD,0x1A,0xAF,0xDA,0x8F,0x3D, -0x3E,0xF7,0x33,0xD9,0x67,0x6E,0x89,0xF3,0xF9,0xE5,0xE6,0x01,0x34,0x01,0xCF,0xE6, -0x72,0x29,0xA1,0x95,0x9F,0x11,0xF6,0x74,0xF8,0xF3,0xF1,0x16,0x11,0x37,0xDC,0xD0, -0x18,0xB4,0x56,0xFF,0xD5,0xC2,0x25,0xED,0xE4,0x4B,0x55,0xB2,0xDB,0xEF,0xCE,0x08, -0x80,0x66,0x1C,0x67,0xDA,0xEB,0x0C,0xCB,0x09,0x40,0xB3,0x54,0x02,0x2C,0xD4,0xCB, -0x6B,0x52,0xC3,0x8C,0x46,0x6F,0x88,0xD3,0xB1,0x3D,0x76,0x91,0xA8,0xE5,0xB7,0x02, -0x47,0x68,0xD5,0xA0,0x89,0x06,0xE1,0x75,0x4B,0x1A,0xAB,0x4C,0x9A,0xE8,0x88,0x0F, -0x61,0x2B,0xB0,0x86,0xCD,0x12,0xF5,0x25,0xDA,0xD8,0xF8,0x1F,0x80,0x64,0x1E,0x83, -0x58,0x74,0xD6,0xBF,0x32,0x5F,0xB8,0x97,0x99,0x94,0xF7,0x10,0x30,0x21,0xEB,0xC6, -0x08,0xE4,0x16,0xEF,0xAF,0x35,0xD2,0x60,0xFE,0xDD,0xD9,0x3E,0x9E,0xC8,0xAC,0x2F, -0xCC,0xB8,0x8E,0x2B,0x25,0xA6,0x41,0x79,0x89,0x80,0xF3,0x14,0xCF,0xCB,0xFE,0x2C, -0x77,0x1C,0x91,0x90,0x27,0xB5,0x52,0x68,0x70,0xBB,0x31,0xD6,0x24,0x05,0xDB,0xE2, -0xF6,0xB5,0xB9,0x11,0x04,0xA7,0x40,0x59,0x0D,0x64,0x93,0x74,0xF1,0x66,0x6D,0x81, -0xF5,0xE7,0xE8,0x12,0x31,0xA2,0x45,0x69,0xB2,0x21,0x69,0x8E,0xAA,0xED,0xBD,0x0A, -0x84,0x72,0x0C,0x63,0x6B,0xBA,0x5D,0x2B,0xD9,0xC4,0xE7,0x00,0x49,0xA3,0x10,0x44, -0x53,0x2C,0x85,0xB4,0x0C,0xBC,0x5B,0x4A,0x3B,0x7F,0xBE,0x59,0x87,0x5B,0x26,0xBC, -0xB7,0x54,0x19,0x50,0xB6,0x0B,0xEC,0x47,0xFC,0xD7,0xD1,0x36,0x06,0x0C,0xF0,0xEB, -0x70,0x5A,0xD0,0x97,0x48,0xA8,0x4F,0x1A,0x21,0xE9,0x32,0xD5,0xCD,0xC3,0xF4,0x24, -0x1C,0xA0,0x46,0xFB,0xE8,0xDC,0x3B,0xCE,0x1E,0x6C,0x88,0x6F,0xD7,0x4F,0x62,0xA8, -0x6A,0x73,0xE3,0x8D,0xC7,0x1A,0xFD,0x27,0x43,0x92,0x2B,0xCC,0xAE,0xCD,0x99,0x2A, -0x6D,0x35,0xA2,0x8A,0x37,0x7E,0x99,0xB3,0x9D,0xB0,0xD7,0x30,0x3F,0x9E,0x5B,0x79, -0xD4,0xE2,0xCC,0x33,0x63,0xA1,0x46,0x38,0x3E,0x4D,0x89,0x6E,0x1D,0x97,0x70,0x70, -0x40,0x2E,0x94,0xA7,0x12,0xB0,0x57,0x58,0x86,0x30,0x4C,0xAB,0x36,0x09,0xC5,0xEE, -0x60,0x0A,0x90,0x87,0xEF,0xEE,0x09,0xFB,0x8D,0xA4,0xD3,0x34,0x82,0x6C,0x14,0x8B, -0x7F,0x16,0x93,0x98,0xFF,0x25,0xC2,0x20,0xEF,0xDF,0xCA,0x2D,0xAB,0xFA,0xAB,0x1D, -0x63,0x58,0xC1,0x84,0xC2,0x3B,0xDC,0x03,0xE7,0x57,0x4A,0xAD,0xC2,0x7C,0x44,0x9B, -0x36,0xFD,0x31,0xD1,0x34,0x83,0x64,0x4D,0x45,0xBC,0x03,0xE4,0x12,0x28,0xC0,0xCF, -0x82,0x15,0x6D,0x65,0xAE,0xDB,0x3C,0x8F,0x83,0x02,0x7B,0x9C,0xF7,0x4E,0x43,0xA9, -0xAF,0x0E,0x5B,0x48,0xE3,0x3A,0xDD,0x23,0x5F,0x2A,0x8F,0x68,0xA0,0x65,0x3F,0x82, -0x3C,0x84,0x42,0xDB,0x4F,0x9A,0x7D,0x2F,0xB8,0xA3,0xE1,0x06,0xFF,0xCE,0xCB,0x29, -0x96,0x51,0x3D,0x71,0xF1,0xE2,0x05,0xE9,0x7D,0x01,0x86,0x61,0x73,0x2E,0xA7,0xC9, -0x48,0x24,0x96,0xAF,0xBA,0xDF,0x38,0x9F,0xF5,0x49,0x46,0xA1,0xDD,0xC7,0xE0,0x20, -0x19,0x95,0x76,0xFE,0x39,0xB9,0x5E,0x7A,0x2A,0x7D,0xAD,0x4A,0xB5,0x56,0x19,0xB1, -0xBF,0x5E,0x1B,0x58,0xBE,0x10,0xF7,0x54,0xB7,0x13,0x5E,0xB9,0x32,0x29,0xE1,0xCE, -0xB1,0x33,0x78,0x56,0x8D,0xC9,0x2E,0xBE,0x55,0xA8,0x07,0xE0,0x2E,0x8D,0x59,0x6A, -0xB4,0x06,0x48,0x53,0xFA,0x04,0xE3,0x04,0xC9,0xD0,0xE3,0x04,0xCA,0xFC,0xCC,0x1B, -0x39,0xB1,0x72,0xDE,0xD6,0x3F,0xD8,0x13,0x07,0xE6,0x1B,0xFC,0x00,0x24,0xDE,0xC3, -0xD0,0xFE,0x21,0x5F,0xBB,0x60,0x1A,0xD4,0x3F,0xF2,0xC2,0x53,0x03,0x0E,0x02,0xA3, -0x68,0x3B,0x5C,0x9A,0x25,0x4B,0x84,0x61,0xF3,0x66,0x9A,0xC7,0x72,0x6E,0x13,0xB2, -0xB9,0x78,0xCE,0xD9,0x48,0xFD,0xE9,0xBA,0x07,0xCD,0xC5,0x6C,0xEE,0x76,0x97,0x36, -0xDB,0x61,0xB5,0xC0,0xDE,0xD4,0x7F,0x05,0x1B,0xD2,0xC6,0x73,0xFE,0xAD,0x5C,0xFD, -0x13,0xB1,0xAD,0x10,0x9A,0x44,0x3B,0xD1,0xEC,0x84,0x67,0x25,0x25,0x1B,0x31,0x90, -0xB1,0xF8,0x46,0x59,0xCE,0x94,0x6F,0x55,0x49,0xD1,0x97,0x70,0xD3,0x55,0x89,0x28, -0x09,0x3D,0x3B,0x9C,0xD7,0xF6,0x76,0x2E,0x1F,0x1D,0x0D,0xBC,0xF2,0x75,0x88,0x29, -0xD5,0xC9,0x13,0x68,0xFC,0xA1,0x5D,0x52,0x04,0x30,0x3B,0x91,0xBF,0xD9,0x69,0xC8, -0x2B,0x34,0x10,0x95,0x9C,0x25,0x3D,0xB6,0x40,0x24,0x6B,0x85,0xE0,0xBF,0x50,0xF1, -0xEE,0x53,0xB2,0xF2,0x7C,0xA9,0xDD,0xDA,0x95,0x8E,0x14,0x2F,0x5E,0x79,0x28,0x89, -0x7C,0x1F,0x6C,0xBE,0xE4,0xE3,0x45,0x08,0x84,0xAB,0x20,0x0A,0x28,0x2C,0x0B,0xAA, -0xA3,0xF4,0x58,0x55,0x75,0x8B,0xD4,0xF1,0x35,0xFA,0xC0,0x5B,0xAB,0xC9,0x6D,0xCC, -0x03,0xB5,0xB9,0x14,0x3F,0x78,0x9E,0x48,0x22,0x03,0x2E,0xA2,0x9C,0xE8,0x7B,0xDA, -0xE1,0xEC,0x02,0x4D,0x9B,0x64,0x3A,0xF0,0x4F,0x0D,0x4D,0xAC,0xAF,0x02,0xA2,0x03, -0x51,0xA9,0xF7,0x08,0x96,0x56,0x37,0xCF,0xA0,0x8B,0x24,0x2A,0xC7,0x45,0x8D,0x2C, -0x9F,0x51,0xC1,0xF0,0x4E,0x9C,0xEF,0xDD,0x17,0x06,0x1E,0xA7,0xEB,0x52,0xB6,0x17, -0x1D,0x19,0x0B,0xB8,0x5A,0xCC,0xFB,0x99,0x79,0xF5,0x83,0x54,0x98,0x23,0xB4,0x15, -0xE7,0xC4,0x2C,0x65,0x57,0xFE,0xF6,0xA6,0x43,0xD9,0x95,0x78,0x57,0x85,0xDD,0x7C, -0xCF,0x45,0x85,0xE4,0x93,0x66,0x32,0xFA,0x65,0xEA,0x80,0x4B,0x23,0xC1,0xED,0x4C, -0x8C,0x4A,0xC9,0xEB,0xD6,0xD6,0x77,0x0F,0x3A,0xD3,0xE6,0x72,0xDC,0x73,0xA0,0x01, -0xDF,0x41,0x91,0xE0,0x79,0x99,0xD8,0xEF,0xA9,0x7E,0xD8,0xDF,0x34,0x2F,0x14,0xB5, -0xA8,0x6B,0xCC,0xCA,0x7A,0xC8,0xDB,0xBD,0xF5,0xBA,0x40,0x1B,0xBE,0x36,0x87,0x26, -0x5B,0x21,0x75,0x80,0xD4,0xA7,0x75,0x7C,0xA4,0x44,0xEF,0xE5,0x15,0x0F,0x15,0xB4, -0x26,0x83,0xAA,0x22,0xB7,0x72,0x16,0xCA,0x0D,0xC5,0xC7,0x64,0x36,0x3E,0x07,0xA6, -0x8F,0x55,0xD5,0xF4,0x11,0x1F,0xB0,0x01,0x63,0x36,0x5A,0x97,0x7A,0x7D,0x08,0xA9, -0xE4,0xDB,0x30,0x7A,0x5F,0xFC,0xFE,0xAC,0xF6,0x47,0xBE,0xE6,0x20,0x3F,0x10,0xB1, -0xAA,0x63,0xC6,0xC2,0xBE,0x50,0x1F,0xE1,0x45,0x05,0x4F,0xA4,0xA7,0x11,0xB9,0x18, -0x6D,0x0C,0x6E,0xAD,0xE9,0xD1,0x48,0x37,0x3D,0xE1,0xD3,0x40,0x1D,0x1C,0x0E,0xAF, -0x48,0x3A,0x7D,0x9B,0xFD,0x81,0x5C,0x73,0xB1,0xAE,0x10,0x0F,0xF9,0x98,0x6E,0xCF, -0x77,0x80,0xF8,0x21,0x71,0x9B,0xD0,0xE5,0x4B,0xC2,0x86,0x63,0x59,0x4C,0x1A,0xBB, -0xCB,0x65,0xA1,0xC4,0x2C,0x69,0x8D,0x4A,0x24,0xDF,0xF4,0x7E,0x26,0xE5,0xCC,0x6D, -0x15,0x99,0x83,0x38,0x7F,0xF8,0xDE,0x88,0x62,0xD8,0xB5,0x79,0xD6,0x71,0xA8,0x09, -0xB7,0xD0,0x68,0x71,0x09,0x5D,0xA8,0x5B,0x54,0x20,0x7B,0x81,0xFF,0x42,0xB2,0x13, -0x3D,0x18,0x2A,0xB9,0xC8,0xF5,0x69,0x32,0x6F,0xE2,0x82,0x43,0x1C,0xF3,0xE0,0x41, -0x43,0xA5,0xE9,0x04,0x26,0x1A,0x87,0x33,0xB8,0x5B,0xEC,0xFA,0x66,0x7E,0x17,0xB6, -0x06,0x82,0x8B,0x23,0xA6,0x12,0x07,0xBB,0x9D,0x95,0x07,0x34,0x86,0x31,0xB8,0x19, -0x21,0xBC,0x92,0x1D,0xA4,0x63,0x05,0xC8,0x97,0x9D,0x05,0x3C,0x47,0x5E,0x16,0xB7, -0xB6,0xC7,0x7E,0x66,0x64,0xEB,0xC5,0x80,0x39,0x2E,0x18,0x8F,0x69,0x58,0x3E,0x9F, -0x87,0xD5,0x5D,0x74,0xF7,0xF2,0x56,0x0A,0xED,0x6A,0x88,0xCB,0x87,0xDE,0x56,0xF7, -0xFF,0x40,0xB0,0xE1,0x1E,0x5C,0xBF,0x4D,0xC0,0xBF,0x70,0x1E,0x9F,0x16,0x86,0x27, -0x59,0x29,0x7F,0x88,0x3C,0x29,0x9D,0x1A,0x11,0xDA,0xC4,0x7B,0xAE,0xED,0x4C,0xED, -0x27,0x94,0xBC,0x35,0x76,0xDA,0xD7,0xA3,0x29,0xE5,0xC3,0x44,0x90,0x30,0xAF,0x0E, -0xBC,0x4F,0xFC,0xEE,0x68,0xF9,0xC9,0x9E,0x8F,0x4D,0xCD,0xEC,0x1E,0xE2,0xF3,0x52, -0x53,0xA1,0xFD,0x00,0xC6,0x96,0x67,0x5F,0x16,0xE8,0xF1,0x49,0x60,0xA4,0xCB,0x6A, -0xAE,0x43,0xE2,0xE2,0x85,0x47,0x24,0xCD,0x38,0xC0,0xF7,0x61,0x8E,0x22,0xA3,0x02, -0xAF,0x54,0xF4,0xF5,0xB3,0x62,0x12,0xDE,0xE6,0x8C,0x65,0x2D,0x76,0xA5,0xDC,0x7D, -0x5F,0x01,0x51,0xA0,0x9E,0x54,0x3F,0xC5,0x77,0x32,0x4A,0x93,0xCB,0x9D,0x59,0xF8, -0xB2,0xE7,0x5A,0x46,0x5D,0x8D,0xFC,0xDF,0xA5,0xAA,0x00,0x0B,0xC4,0xBB,0x70,0xD1, -0x74,0x9F,0xE4,0x3E,0x5E,0xDC,0xFF,0x8D,0x2F,0x39,0x19,0x98,0xA8,0x37,0x90,0x31, -0x93,0xF1,0x6D,0x50,0x60,0xFB,0xC1,0x94,0x6A,0xC3,0xA6,0x62,0x53,0x4E,0x12,0xB3, -0xB8,0x6F,0xD8,0xCE,0xF6,0xD2,0x57,0x2B,0x19,0xC1,0xD7,0x60,0x64,0x6F,0x04,0xA5, -0x0B,0x35,0x31,0x94,0x0F,0x3C,0xAE,0x3C,0x9B,0x49,0xDD,0xE8,0x9A,0x32,0xA7,0x06, -0x8E,0x42,0xC3,0xE3,0x37,0x7A,0x96,0x42,0x81,0x8A,0x04,0x2B,0xD9,0x57,0x81,0x20, -0x3A,0x27,0x12,0x86,0x74,0xAB,0xD5,0xD0,0x67,0xF9,0x91,0x58,0x4E,0xA2,0xE3,0x42, -0x01,0xBD,0xB3,0x1C,0x8F,0x34,0x2E,0xB4,0xD7,0x46,0x9E,0xE7,0x8A,0xE9,0x6C,0xCD, -0x0A,0x22,0x27,0x83,0xEF,0xB0,0x4E,0x50,0x0E,0x38,0x39,0x99,0x41,0x84,0xCA,0x6B, -0x38,0x2F,0x18,0x8E,0x33,0x6A,0x92,0x56,0xE8,0x4B,0xAC,0xEA,0xE7,0x8A,0x62,0xC3, -0xCA,0x72,0xB7,0xD3,0x2D,0x49,0x8C,0x6B,0x82,0x77,0xFA,0xD6,0x74,0xB4,0xCF,0x6E, -0x89,0x7D,0xFB,0xDC,0xF0,0xB3,0x51,0x4C,0x44,0xEB,0xA0,0x4A,0x93,0xCE,0x52,0xF3, -0x35,0x98,0xA2,0x39,0x2B,0x28,0x8A,0x0C,0xC2,0xAC,0x61,0x0D,0xE3,0x41,0xAD,0x0C, -0xBA,0x67,0xD2,0xC6,0x73,0xEA,0xD2,0x96,0x70,0x00,0x7F,0xA1,0x00,0xF0,0xFF,0x5E, -0x17,0x91,0x89,0x30,0x23,0x2A,0x82,0x06,0x14,0xFB,0xE0,0x5A,0xDB,0x46,0x92,0x33, -0x90,0xEE,0x71,0x4F,0x0A,0x0C,0xAB,0x09,0x2D,0x2A,0x08,0x8B,0x78,0x6C,0x1B,0xBA, -0x2D,0x1C,0x3E,0xBD,0xE6,0x92,0x47,0x7B,0x8C,0xB0,0x33,0x11,0xEA,0xBD,0x58,0xF9, -0x77,0x60,0x6C,0x01,0xA0,0x27,0x91,0x3C,0xB4,0xAA,0xAF,0x13,0x53,0x48,0x67,0x39, -0x3B,0xF2,0x20,0xDF,0x27,0x58,0x69,0x43,0xA3,0xAB,0xB8,0x05,0x65,0x7E,0x42,0x2A, -0x51,0x05,0x4A,0x42,0xBE,0x8B,0x23,0x90,0x07,0xB7,0x1C,0xBD,0xBD,0xA6,0x88,0x38, -0xC9,0x4F,0xD2,0x90,0x98,0xA2,0x2C,0xB9,0xE1,0x5A,0xFA,0xB6,0x7E,0x65,0x51,0x22, -0x1E,0xC6,0x05,0xCE,0x35,0x54,0x77,0x4F,0x74,0x22,0x6F,0x5B,0x96,0x8D,0xDF,0x44, -0x21,0xC1,0x3A,0xF6,0xE8,0xB7,0x49,0xAC,0xC9,0x5C,0xD2,0x98,0xDC,0xC7,0x2C,0xFD, -0x13,0xF4,0x08,0xF1,0xA1,0x30,0x87,0x2B,0x41,0x56,0x5A,0x1A,0x26,0x3D,0x93,0xB8, -0xB6,0xC8,0xAD,0x68,0xE7,0x08,0xF9,0x13,0xAF,0xB9,0xB4,0x1B,0x88,0x93,0xFC,0x79, -0xD5,0x1D,0xCE,0xDE,0x5D,0xC5,0x8E,0xDE,0x27,0xB3,0x3C,0x99,0x84,0x9F,0xEE,0x67, -0x66,0x00,0x7D,0x70,0x5B,0xED,0xA0,0xF6,0x5C,0x24,0x47,0x75,0x44,0x5F,0x66,0x2F, -0x44,0x75,0x5F,0x27,0x13,0x7D,0x78,0x66,0xA0,0xFA,0xBB,0x57,0xFE,0xE5,0x59,0xAA, -0x91,0x8D,0x8A,0x0A,0xDB,0xAD,0x60,0xB6,0x35,0x82,0x2E,0xBA,0x17,0x0C,0xF7,0xED, -0x19,0x87,0x02,0x88,0xF6,0x1B,0xFB,0x00,0xF8,0x38,0xE3,0xCD,0x28,0x33,0xF0,0xD5, -0xDB,0x7E,0xC0,0xB3,0x47,0x49,0x18,0x52,0x30,0xB2,0x2B,0x8F,0xE9,0xF2,0x58,0xBC, -0x6E,0x02,0x75,0x7A,0x34,0x43,0x61,0x58,0x62,0x03,0x79,0x6C,0x46,0x5D,0x17,0x5C, -0xA0,0xE9,0xBB,0x5F,0x7B,0xEC,0x81,0xF7,0x45,0x46,0x5E,0x0E,0xC6,0xDD,0x1F,0xD4, -0x00,0xE5,0x1B,0xF3,0x43,0x69,0x3C,0x72,0x71,0x12,0x6A,0x6E,0xC3,0xD8,0x2F,0xE1, -0xFB,0x7A,0xE0,0x97,0xF5,0x04,0xE7,0x1F,0x87,0xBF,0x9C,0x35,0x93,0x88,0xEF,0x71, -0x4B,0x36,0x50,0x6B,0xB8,0xA3,0x0D,0xB8,0xFC,0x28,0xE7,0xD9,0x06,0x1D,0x97,0x9C, -0xD1,0x0D,0xCA,0xCA,0x69,0xE0,0x9F,0xFB,0x0E,0x95,0x15,0x96,0xEA,0xF1,0x09,0xEE, -0x8C,0xFF,0x97,0x65,0xB1,0x34,0x93,0x2F,0x92,0xCF,0x89,0x50,0xCD,0xD6,0x4C,0x8C, -0xB0,0xA9,0xAB,0x0F,0x8F,0x99,0x00,0x82,0xCF,0x3D,0xD4,0xFF,0xD3,0xC8,0x6F,0xB1, -0x57,0x64,0x4C,0x25,0x44,0x56,0x04,0x4D,0x78,0x30,0x63,0x45,0xCB,0xD0,0x2D,0xEB, -0x10,0xA5,0x0B,0xA3,0xCB,0xA9,0x74,0xB2,0x9D,0x8C,0x86,0x1C,0x10,0x0B,0xB6,0xAB, -0x02,0x94,0x19,0x80,0xA7,0x18,0xA9,0x03,0xC7,0x3F,0xDC,0xF5,0x94,0x8F,0xAE,0x37, -0x71,0x01,0x6A,0x66,0x52,0x7A,0x3E,0x61,0xA2,0x8B,0xB9,0x24,0xD7,0xCC,0x7F,0xA5, -0xC3,0x3C,0xD8,0xE9,0x81,0x31,0xA6,0x2A,0xC2,0x0F,0xD9,0xC0,0x0F,0x14,0xB5,0xB7, -0xBD,0x9B,0xA6,0x30,0xEC,0x97,0x6D,0x8C,0x5D,0x04,0x46,0x54,0x6F,0x74,0x31,0x53, -0x38,0xA3,0x23,0x8D,0x4B,0xE9,0xB4,0xF2,0x11,0x96,0x0A,0x8A,0x80,0x9B,0xFE,0x73, -0xC2,0x1C,0xD9,0xC8,0x32,0x6B,0x4F,0x70,0x7F,0x71,0x64,0x03,0xBE,0xA5,0xD9,0x6A, -0xB2,0xD8,0xA9,0x7C,0x37,0x5C,0x7D,0x47,0xD5,0x0E,0xCE,0xD6,0xEF,0xF4,0x39,0xDB, -0x3A,0xD2,0x21,0xFE,0x6A,0xFF,0x83,0xE4,0x8F,0xBD,0x94,0x3F,0x16,0x0D,0xD7,0xCC, -0xF6,0x48,0xED,0xA8,0x07,0x59,0x48,0x42,0x0C,0xE4,0x17,0xE5,0x7B,0x60,0x61,0x17, -0xF8,0x2B,0xE3,0xC5,0xED,0x80,0x7B,0x9B,0x55,0x06,0x4E,0x5E,0xDF,0xC4,0x7D,0xAF, -0xFD,0x1B,0xE6,0xF0,0x57,0x4D,0x0C,0x56,0xB1,0x9A,0xAA,0x26,0xAE,0xB5,0x99,0x3A, -0x70,0x21,0x6B,0x47,0x40,0x76,0x20,0x6D,0x49,0x54,0x52,0x10,0x76,0x6D,0x53,0x28, -0x75,0x11,0x6E,0x72,0x7C,0xD3,0xB9,0xC8,0xB3,0xEB,0xA8,0x55,0x9C,0x87,0xAC,0x3D, -0xDF,0x6E,0xC4,0xA7,0xBA,0xAB,0x07,0xB0,0xD4,0x2E,0xCF,0xF7,0x7C,0x67,0x20,0x51, -0x01,0xC5,0x1A,0xD2,0xCC,0x96,0x4C,0x8D,0x14,0xA6,0x0F,0xBF,0x95,0x8E,0x8E,0x16, -0x50,0x25,0x4B,0x63,0x29,0xF0,0xCF,0xEB,0xFF,0x79,0xE4,0x8B,0x04,0x1F,0xE6,0xEF, -0x2A,0x92,0x31,0xAE,0x50,0x72,0x34,0x69,0x18,0xB4,0x03,0xA1,0x2E,0x35,0x91,0xB2, -0x7F,0x62,0x64,0x0B,0x1E,0xCA,0xC2,0xD1,0x51,0x16,0x4A,0x4A,0x7A,0x61,0x41,0x36, -0xCB,0x3E,0xD0,0xE3,0xDC,0x92,0x58,0x89,0x29,0xD0,0x32,0xF4,0x1C,0x07,0xA4,0xB5, -0xE6,0x08,0xFD,0xF8,0x70,0x73,0x15,0x68,0xDD,0x0C,0xC6,0xDC,0x37,0x2C,0xF3,0xC9, -0x9D,0x9F,0x86,0x14,0x6B,0xE8,0x95,0xF3,0xDB,0x6D,0xC0,0xBB,0xC5,0xDE,0x4E,0x86, -0x09,0xC7,0x12,0xD8,0x0B,0xF9,0xE4,0xE2,0x1E,0xD5,0x05,0xC6,0x5B,0x40,0x65,0x33, -0x29,0xC3,0x32,0xFC,0xA8,0xA7,0x19,0xBC,0x81,0xDE,0x9A,0x52,0x3E,0x25,0xD1,0xE2, -0x36,0xC0,0x2D,0xE0,0x73,0x6C,0x09,0x77,0x98,0xBC,0x83,0x29,0xA8,0xB3,0xF8,0x5D, -0x39,0x83,0x22,0xAC,0x49,0xE1,0xBE,0xFA,0x60,0x72,0x7B,0x1F,0x91,0x8A,0x9E,0x02, -0x55,0x15,0x4E,0x56,0x9D,0x95,0x1E,0x8E,0xDA,0x4D,0xC1,0x9A,0x1D,0x06,0x84,0x94, -0x23,0xB0,0x38,0x85,0x74,0x53,0x31,0x48,0x79,0x10,0x62,0x64,0x9F,0x84,0xFD,0x6F, -0x24,0xF1,0x3F,0xC3,0xE0,0x37,0xC1,0x2C,0x85,0xCE,0x9E,0x46,0xCC,0xD7,0x6C,0xAD, -0xBC,0xBB,0xA7,0x11,0x3A,0xEB,0xC7,0xF0,0x3B,0xE1,0x20,0xD7,0xBF,0xA4,0xF9,0x4B, -0xCD,0x5F,0xD6,0x84,0x78,0xF3,0x9D,0xE8,0xB5,0x8A,0xAE,0x32,0xF1,0xEA,0x1A,0xE6, -0x1A,0xD6,0x01,0xDA,0x19,0xF5,0xFA,0xEE,0xEC,0x68,0xF7,0x89,0x09,0x12,0xD4,0xD0, -0xFE,0x4A,0xE5,0xA2,0x14,0x42,0x40,0x59,0x83,0xAF,0x98,0x21,0x5E,0x45,0x55,0x06, -0x41,0x45,0x5A,0x12,0x33,0x7C,0x59,0x67,0x8B,0xAD,0x90,0x2B,0x9A,0x81,0xCD,0x5A, -0x85,0xDD,0x9E,0x4E,0x2A,0xEF,0xD3,0xF4,0xA1,0xDA,0xBA,0x76,0x99,0x82,0x9C,0x08, -0x3E,0xC2,0x25,0xEA,0x3B,0xFC,0xD1,0xE7,0x63,0x23,0x78,0x4D,0x57,0x4C,0x77,0x2D, -0xBF,0xEA,0xA4,0x43,0x0A,0xEE,0xF2,0xF5,0xC1,0x5E,0xDA,0x92,0x34,0x2F,0xA2,0x9B, -0x22,0x90,0x39,0xA4,0x80,0x26,0xB0,0x3D,0x24,0xE2,0x3F,0xCB,0xB7,0xAC,0xFB,0x41, -0x0E,0x86,0x15,0x9E,0x26,0x4F,0x7F,0x54,0xF9,0x18,0xE2,0xEC,0xBA,0xA1,0xC9,0x7E, -0x28,0xE3,0x33,0xDD,0x76,0x5B,0x3B,0x40,0xAA,0x89,0xB1,0x2E,0x36,0x2D,0xD3,0xE8, -0x11,0x85,0x0A,0x82,0xC4,0x16,0xC4,0x0D,0xA5,0xCA,0xBE,0x62,0x73,0x68,0x63,0x1D, -0x6B,0x5D,0xBE,0xB9,0x80,0x4C,0x43,0x63,0xD8,0x3B,0xE8,0x5C,0x64,0x0A,0x87,0x02, -0xC3,0x32,0xD1,0x7E,0xD7,0x9A,0xC2,0x34,0x3C,0xDF,0x90,0xC0,0xD3,0xB0,0x30,0x0F, -0x78,0x6B,0x88,0x9C,0x2F,0xAC,0x0C,0xCC,0xEB,0x08,0xCE,0x49,0xD5,0xD7,0x36,0x6E, -0x9D,0xE5,0x06,0xF7,0x61,0x01,0xEF,0x82,0x9A,0x79,0x5B,0xAD,0xCD,0x8D,0x2E,0x2C, -0x0C,0x5B,0xB8,0xD8,0x12,0xE7,0x7A,0xF1,0x02,0xE1,0x89,0xE7,0x11,0x8B,0xF2,0xF6, -0x2E,0xA7,0x44,0x06,0x41,0x25,0xEB,0xA2,0x05,0xE6,0xCF,0xA6,0x75,0x7B,0x96,0x62, -0xD0,0x04,0xE7,0x5B,0xC3,0xDE,0x92,0x20,0x73,0x90,0x1C,0x03,0xB3,0x54,0x50,0x8B, -0x55,0xBE,0x5D,0x64,0x4F,0x48,0x88,0xAC,0x1F,0xFC,0xE6,0x95,0xC7,0xF4,0x24,0x5F, -0x28,0x7B,0x98,0xDC,0xAD,0x57,0x75,0x4E,0x37,0xD4,0xC8,0x93,0x30,0x8E,0xD3,0xD2, -0x64,0x74,0x97,0x9F,0xE8,0xA2,0xC5,0x0B,0x0E,0xED,0x97,0xF5,0x7D,0x71,0x9E,0x60, -0xA6,0x27,0xC4,0x0E,0x64,0x34,0xDF,0x87,0x28,0xCB,0xD4,0x90,0x69,0x35,0x8A,0x30, -0x81,0xFA,0x19,0xF4,0x69,0x0B,0xED,0x8A,0x04,0xE7,0xEE,0x86,0x00,0xFA,0xE3,0x96, -0xD8,0x1F,0xFC,0x48,0xEA,0xD1,0xB4,0x09,0x99,0x7A,0x09,0xFC,0xC8,0xB8,0x2B,0x1C, -0x07,0xBD,0x5E,0x35,0x89,0x67,0x61,0x6A,0x18,0xFB,0xA0,0xD4,0xDA,0x9B,0x39,0x2D, -0x3C,0x7F,0x9C,0xCC,0x47,0x42,0x8A,0xA4,0xA3,0x40,0x04,0xCB,0xC9,0x99,0x2A,0x3C, -0x61,0x55,0xB6,0xBB,0x44,0x10,0xDB,0xA7,0x67,0x84,0x58,0x53,0x5A,0x13,0xB9,0x25, -0xC1,0x21,0xC2,0x6F,0xDA,0xA5,0xF0,0x39,0x76,0x95,0x29,0x33,0xD6,0x85,0x35,0x3F, -0xF5,0xCA,0x29,0xB0,0x4B,0x5C,0x98,0xA8,0x27,0xC4,0x98,0xD3,0xB0,0x06,0x53,0xDA, -0xBD,0x0A,0xE9,0x38,0xA2,0x1B,0x36,0x41,0xF9,0x1A,0xED,0x78,0x8D,0x4D,0x6E,0xAC, -0x1F,0x6D,0x8E,0xFD,0x42,0x77,0xBA,0xA1,0x53,0xB0,0x38,0x07,0xF5,0xF3,0x16,0x6A, -0x5A,0x97,0x74,0x42,0xA8,0x62,0x45,0x4B,0x56,0xB5,0x0D,0x37,0x50,0x6A,0xB3,0x56, -0x6C,0x6F,0x8C,0x8C,0x70,0x70,0x8F,0x93,0xDB,0x38,0xBA,0x0D,0x6B,0x46,0x88,0x41, -0x14,0x8B,0x68,0x10,0x01,0xE5,0x6B,0xE2,0xDE,0x3D,0x8F,0x3D,0xA6,0x31,0x45,0xFB, -0xAF,0xD2,0x31,0xF2,0xA5,0x5D,0x77,0x46,0xD0,0x33,0xE2,0x5E,0x7F,0x02,0x9C,0x11, -0x63,0x46,0xA5,0xAA,0x76,0x17,0xEE,0x95,0x10,0xF3,0xAA,0xD6,0x4A,0x43,0xA9,0x65, -0x18,0x5F,0xBC,0xC8,0xE0,0xA8,0xC7,0x03,0x0F,0xEC,0xB6,0xD5,0x81,0x53,0x62,0xBE, -0x8C,0xC0,0x23,0xC3,0x85,0x79,0x73,0x66,0x2F,0xCC,0x92,0xD1,0xDF,0xAE,0x3C,0x1D, -0xF1,0x05,0xE6,0x7B,0x1B,0xCC,0x58,0xF8,0xBB,0x58,0x5E,0x89,0xCE,0xDF,0x2D,0x7D, -0x96,0x03,0xE0,0x1A,0xE9,0x83,0xE5,0x0A,0xC0,0x23,0xB2,0x1E,0x55,0x5F,0xB6,0x66, -0xBE,0xF7,0x14,0xC6,0xC2,0xFF,0xB2,0x21,0xED,0x0E,0xA9,0x28,0xB4,0x12,0x57,0xCA, -0x00,0x8F,0x6C,0x00,0xA4,0x7C,0x57,0x47,0x59,0xBA,0x41,0x74,0xEC,0x88,0x0F,0x08, -0xEB,0xC6,0x25,0xA2,0xF0,0xF8,0x87,0x13,0x0C,0xEF,0xE4,0x84,0x54,0x7E,0xB7,0x46, -0x56,0x43,0xA0,0x9A,0xCE,0xE1,0xA0,0x2D,0x36,0xD5,0xE9,0xB3,0x8F,0x3E,0x6C,0xDD, -0x0F,0xA6,0x45,0x26,0x15,0xA1,0x3B,0xF6,0x71,0x92,0x6F,0x72,0x70,0x4E,0x93,0x52, -0xB5,0x11,0xF2,0x2B,0x0D,0xFB,0x79,0xEE,0x96,0x75,0x45,0xBF,0xBF,0x4A,0x5C,0x99, -0x1A,0x4C,0xAF,0xD9,0x13,0xC6,0x5A,0xF0,0xAA,0x49,0x2F,0xE9,0x12,0xD9,0xF1,0xA7, -0xDC,0xD0,0x33,0x83,0x34,0xA4,0x1F,0xD7,0xF7,0x14,0x80,0x1B,0xC6,0xD5,0x25,0x7F, -0x93,0x22,0xC1,0x3E,0xD8,0xD6,0x81,0x3B,0x6D,0x8E,0x21,0x20,0x85,0x47,0x66,0xAE, -0x7F,0x59,0xBA,0xA9,0x4D,0x3B,0xF9,0xAE,0xDD,0x3E,0xDD,0x6C,0x22,0xAD,0xC1,0xE3, -0x24,0xAF,0x4C,0x04,0x1D,0xAB,0x39,0xFE,0x26,0xC5,0xB9,0xF3,0x4F,0x76,0xAC,0x55, -0x75,0x51,0xB2,0xAB,0xC8,0x86,0xC1,0x2B,0x1C,0xFF,0xB4,0xC4,0xD9,0xC9,0x3A,0x7C, -0x9C,0x0B,0xE8,0x18,0x31,0x91,0x2F,0xD2,0x94,0x77,0x36,0xCE,0x7A,0x37,0x99,0x21, -0x49,0xA1,0x42,0x67,0x60,0x20,0xCF,0x83,0xE4,0x07,0x82,0x0A,0x4D,0x05,0xAE,0x24, -0xC0,0xCF,0x2C,0x80,0x5E,0x39,0xE8,0xBD,0x1E,0xFD,0xC7,0xB5,0xCF,0xFE,0x2C,0x5D, -0x1E,0x83,0x60,0x12,0xB1,0x19,0x27,0x52,0x9B,0x78,0x7A,0x8D,0xB1,0x27,0x52,0xFA, -0x8A,0x1C,0xFF,0x19,0xD1,0xFD,0xA3,0x32,0xE5,0x06,0xA3,0x2A,0x17,0xEC,0xF4,0x97, -0x6E,0x7C,0x9F,0x9D,0x09,0xEF,0x69,0xEA,0x57,0xB4,0x2C,0x17,0x5C,0x74,0xBF,0x44, -0xBF,0x19,0xFA,0x29,0x4A,0x7D,0xB8,0xA9,0x24,0xC7,0xCA,0x82,0x3E,0xE3,0xDD,0xB1, -0x51,0x71,0x92,0xAF,0x56,0x33,0xEA,0xB5,0x90,0x73,0x22,0xDE,0x2E,0xB3,0xCD,0xF1, -0x50,0x9F,0x7C,0x40,0xF8,0xF2,0x85,0x1B,0x35,0xD6,0xBB,0xE2,0x16,0xCD,0xF5,0xB7, -0xD2,0x17,0xF4,0x4A,0x02,0xB7,0x3A,0xE1,0x07,0xE4,0xBC,0xD7,0x91,0x03,0x72,0xFE, -0x11,0xAA,0x49,0x34,0x48,0x0E,0xC9,0xAB,0x38,0xDB,0x84,0xD0,0x72,0x3D,0x91,0x23, -0xFC,0x3F,0xDC,0x4C,0xA0,0x68,0x47,0x43,0xEF,0x0C,0xDA,0x59,0x84,0x66,0x67,0x8E, -0xF7,0xD9,0x3A,0xA1,0x63,0x72,0x9E,0x80,0x77,0x94,0x08,0x13,0xAD,0x69,0x4E,0xA8, -0x4F,0x7D,0x9E,0xBD,0xBB,0x60,0x54,0x58,0x1D,0xFE,0x95,0xE4,0x7E,0x23,0x9D,0x31, -0x59,0x6A,0x89,0xBC,0x8D,0x73,0x71,0x6E,0x51,0xB2,0x4B,0x76,0x01,0xDB,0xE2,0xB6, -0x44,0x9B,0x78,0x50,0x18,0x9E,0x09,0xFB,0x86,0x65,0x15,0xFF,0xCA,0xCB,0x29,0x6D, -0x26,0xBC,0x5F,0x15,0x98,0x16,0x01,0x7B,0x48,0xAB,0x30,0x14,0x65,0x2B,0x86,0x22, -0xC5,0xEE,0x0D,0xA4,0x37,0xF6,0x4E,0xD4,0xFD,0x1E,0xF9,0x68,0x6F,0x52,0x8C,0x51, -0x87,0x26,0xC5,0x2E,0xF6,0x9F,0xE6,0x15,0x3F,0xDC,0xC2,0x91,0x3D,0xB1,0xDE,0xE0, -0xF0,0xEB,0x08,0x94,0xC9,0xA7,0xE1,0x2A,0xB7,0x54,0x40,0x9B,0x8B,0x2A,0x68,0xCD, -0x1D,0x7E,0x9D,0xEC,0x20,0xE0,0x4F,0xC3,0x62,0x81,0x6D,0x63,0x5B,0x32,0xB8,0x05, -0x3F,0x82,0x61,0x32,0x9A,0x65,0x70,0x79,0x40,0xA3,0x3A,0x16,0xCB,0xEA,0x28,0x4D, -0xD3,0xF9,0x1A,0xA5,0x5A,0x2D,0xF8,0xB9,0xF3,0x10,0x94,0x0B,0xE3,0xC4,0x00,0x4B, -0x7F,0x66,0x75,0x97,0xE8,0xA9,0xA3,0xCF,0x0B,0xC1,0x01,0x4E,0x80,0x06,0x08,0x0C, -0x3A,0xD6,0x30,0x62,0xA4,0xA6,0xAC,0x8C,0x46,0x73,0x4C,0xB1,0xE6,0x3F,0x57,0x35, -0xB6,0xCC,0xBC,0xF4,0x66,0xF5,0xFF,0x1D,0x52,0x23,0x58,0xF5,0x83,0x19,0x14,0x13, -0xBB,0xFE,0xB1,0xCB,0x41,0x28,0x22,0xE7,0x3B,0x85,0x31,0x3A,0x95,0x35,0x2E,0x3F, -0x38,0xA7,0x32,0x11,0x18,0xCD,0xC7,0x5B,0xF3,0x0F,0xF9,0x78,0xEF,0xA8,0xC9,0xA2, -0x5B,0x72,0x51,0xA7,0xC7,0x6F,0x65,0x26,0xE1,0x3E,0xEB,0x5B,0xC7,0x29,0x60,0x23, -0x95,0x99,0x9F,0x82,0xFC,0xAD,0xA7,0xDF,0xF2,0x2F,0xF8,0x59,0xD8,0x92,0xC4,0x98, -0x96,0xC8,0x9C,0xD0,0xA1,0x87,0x8D,0xA8,0x61,0x36,0x6B,0xD3,0x40,0x56,0x98,0x5C, -0x52,0x50,0x58,0x8C,0xAB,0x8F,0x85,0xAA,0x5F,0x11,0x55,0xCA,0x4F,0xE9,0x28,0xE3, -0x05,0xD1,0x0F,0x5A,0x03,0xE0,0xEA,0x6D,0xE8,0x1C,0xE2,0x70,0xD3,0x0D,0x50,0x07, -0xFD,0x1F,0xF7,0x6C,0xB8,0xB9,0xB3,0x8F,0xEE,0x7D,0xE4,0x17,0x5A,0xDA,0x0E,0xD0, -0xB3,0xFC,0xB9,0xC1,0x5D,0x37,0x3D,0xE4,0xF6,0x3F,0xFC,0x4D,0xBE,0xAB,0x9B,0xA1, -0xC0,0x69,0xCA,0x27,0xCC,0x89,0x83,0xCB,0x2A,0xE5,0x20,0x4B,0xF4,0x33,0x49,0x39, -0x93,0xF8,0x99,0xE5,0xEE,0x75,0x7F,0x15,0x4E,0x71,0x44,0xBB,0xB5,0x34,0x0F,0x3E, -0x11,0x81,0x1B,0x1E,0x10,0xD6,0xDC,0x48,0x88,0x98,0x82,0x94,0x10,0x42,0xDC,0x48, -0x9D,0x9B,0x97,0x88,0x95,0x6C,0x66,0x77,0xFC,0x4C,0xF6,0x34,0x86,0x2E,0x26,0x24, -0xA4,0xFD,0xAE,0xD7,0xA3,0x94,0x9E,0xB9,0x71,0x76,0x7B,0x83,0xC5,0x21,0x6A,0x2B, -0x32,0xD4,0x38,0x68,0xD8,0x8D,0x87,0xDB,0xBA,0xAD,0xB0,0x93,0xC6,0x3E,0x76,0x34, -0x57,0x60,0x5D,0xB9,0x4C,0x12,0x18,0xD0,0xE4,0x0E,0xEE,0x6E,0xC2,0x1E,0x52,0x14, -0xC9,0x4B,0xC3,0x0C,0x31,0xD7,0xDD,0x68,0xF5,0x6E,0xFF,0x1F,0x9A,0x8A,0x9E,0x80, -0x3B,0xF6,0x31,0x43,0x56,0xD1,0xDB,0x09,0x6E,0x75,0x64,0x9F,0x0D,0xF1,0x72,0xFB, -0x10,0xA1,0x1A,0x3F,0x7E,0x25,0x2F,0xD5,0x8F,0xD9,0x85,0xD2,0x3B,0xDC,0x69,0xD6, -0x76,0x44,0x7C,0xBC,0xC0,0x5D,0x57,0x13,0xD7,0x1B,0xDD,0x48,0x67,0x68,0x81,0x62, -0x22,0x94,0x28,0x38,0x2B,0x14,0x1E,0xB1,0x6F,0x55,0x65,0xBE,0x97,0x3D,0x24,0x37, -0x08,0xE3,0x02,0x65,0x01,0xF3,0xF9,0x7C,0xED,0x2C,0xE7,0x45,0x20,0x47,0xE9,0x4D, -0x99,0x8B,0x93,0x9C,0x35,0x18,0x12,0xA3,0x8B,0xC9,0x81,0xC6,0xC0,0x16,0x58,0x1C, -0x70,0x25,0x7A,0xDB,0x7D,0xD8,0xD2,0x2B,0xB6,0xBF,0xBC,0x8D,0x6B,0xC8,0x2D,0xC2, -0x90,0xA9,0x9A,0xB7,0xDF,0xBF,0xB5,0xEE,0xCE,0x79,0xC4,0x33,0x14,0x62,0xF8,0x68, -0x7A,0x56,0x70,0xA2,0x9A,0x45,0x4F,0x51,0x6B,0x45,0x61,0xAA,0x24,0x67,0xCD,0x6D, -0xA2,0x9C,0xA8,0xB0,0xAC,0xBD,0xB7,0x9F,0x50,0x52,0x5A,0x86,0x1E,0xEA,0x7A,0xE0, -0xD3,0x78,0xD9,0x25,0xD4,0x59,0x53,0x03,0x9D,0xE8,0x97,0xF1,0x2E,0xEF,0x4F,0xE5, -0x77,0x64,0x7D,0x9D,0x6F,0x00,0x0A,0xE1,0x44,0x02,0x4E,0xC2,0x4D,0xE1,0x22,0xEB, -0x1A,0xD2,0x10,0x46,0xB5,0x83,0x89,0xB8,0xE2,0x6F,0xE8,0x09,0xD7,0x2D,0x74,0x27, -0xE3,0x3C,0xE9,0x51,0x5C,0xD9,0xD3,0x0B,0x41,0x32,0x4B,0xF7,0xDD,0xA5,0xF6,0xAF, -0xB2,0xDC,0xB8,0xE0,0x89,0x73,0x79,0x74,0x76,0x37,0x7C,0xC5,0x19,0xD5,0x42,0xDF, -0x8C,0xFB,0x86,0xF9,0x00,0x1D,0x17,0x93,0xF4,0x4E,0xFE,0x3E,0xA6,0x2F,0x07,0x25, -0x63,0x34,0x69,0xD9,0xDE,0x51,0x5B,0x01,0x8A,0xE9,0x80,0xE7,0x9E,0xAA,0xBA,0xA0, -0x03,0xB0,0x09,0x3D,0x4A,0xCE,0xC4,0x0A,0x2C,0x84,0x26,0x2C,0x39,0xD4,0x63,0xDE, -0xDB,0x7A,0xD1,0x2F,0xAE,0xAE,0xA4,0x8E,0x67,0x57,0x6D,0xB4,0x04,0x66,0xEC,0x6C, -0x98,0xAB,0x92,0xBD,0x7F,0xCB,0xC1,0x3A,0x05,0xA2,0x0F,0x23,0x91,0x15,0x0A,0x1F, -0x1C,0xB3,0x16,0x21,0x96,0x91,0x9B,0x89,0xB4,0xCE,0xBE,0xFE,0xA0,0x07,0x29,0x0D, -0xC7,0x28,0xCD,0x61,0xCF,0x74,0x7E,0x35,0x4B,0x41,0x41,0x8E,0x61,0x40,0xAF,0x4A, -0xDF,0x6A,0xD5,0x3B,0x75,0xC3,0xC9,0x38,0x84,0x8A,0x8E,0x8A,0xAC,0xA7,0x85,0xAD, -0xC1,0x49,0xCB,0x06,0xDA,0x9E,0x94,0xCA,0x29,0xB4,0x23,0x19,0xFA,0x9B,0xEF,0x91, -0xE6,0x0C,0xEC,0x64,0x1C,0x02,0x08,0x90,0xFD,0x6C,0xF7,0x15,0x08,0xC6,0x40,0xCC, -0x0A,0x92,0x00,0x16,0x53,0xF0,0xFA,0x2D,0xBE,0xBD,0xB4,0x87,0x33,0x5C,0xE1,0x56, -0x9F,0xEA,0x95,0xFB,0xBF,0x8B,0x81,0xBA,0x19,0xF0,0x13,0x6D,0x7F,0xEC,0x1D,0xE6, -0xCF,0x2A,0xC5,0x6B,0xE4,0x7D,0x77,0x17,0x74,0x46,0x7E,0xB6,0xE0,0x17,0x79,0x1D, -0xCA,0x1A,0xC0,0x5E,0x84,0x49,0x43,0x43,0xF1,0x7E,0xFB,0x0B,0xEC,0xB7,0xD5,0xBD, -0x4A,0x12,0x40,0xD6,0xE6,0x6E,0x64,0x06,0x5E,0x31,0x54,0xEB,0x07,0x79,0xF0,0x73, -0xE5,0x5D,0xEF,0x36,0x05,0x3C,0x36,0xB7,0x54,0x42,0x5E,0x92,0x7B,0xCC,0x39,0xC6, -0x24,0xF5,0x2E,0x5F,0x47,0xF4,0xFE,0x3D,0x06,0xF3,0x0C,0x71,0x82,0x0E,0x02,0x04, -0x1B,0xF2,0x11,0x67,0x30,0x39,0x33,0x87,0xB0,0xDE,0xBA,0xEA,0x88,0x86,0x80,0x8C, -0xF2,0x5C,0xF8,0x20,0xDD,0xAC,0xA6,0xFF,0x60,0x16,0x6A,0xF2,0x70,0x53,0xAD,0x59, -0x48,0x63,0x42,0xA5,0xFF,0x50,0x5A,0x21,0xF0,0x5E,0xFA,0x2A,0x05,0x71,0xFA,0x7B, -0x88,0xEB,0x82,0xED,0x13,0x2B,0x21,0xB6,0xD8,0x58,0xD2,0x04,0x18,0xC2,0x54,0xC8, -0x84,0xF9,0x8E,0xF3,0x91,0xA3,0xA9,0xBC,0x15,0xE2,0x1F,0x73,0xCD,0xA1,0xE2,0xAB, -0x2A,0x96,0x20,0x32,0x90,0x4D,0x47,0x53,0x2D,0xA4,0x27,0x0D,0xF1,0x04,0x7B,0x0E, -0xD0,0x29,0xDA,0x77,0x12,0xC5,0xCF,0x59,0xAA,0xED,0xA0,0xC3,0xC4,0x36,0x7C,0x3C, -0x9A,0xDA,0x90,0xCE,0xD1,0x78,0x72,0x27,0x49,0x30,0x43,0xFD,0xC3,0x09,0x44,0x03, -0x72,0x54,0x78,0xA8,0x3C,0xED,0xE7,0x5F,0xBF,0x9D,0xB5,0xA6,0x4A,0xDE,0x1A,0xD4, -0xB1,0x8D,0xBB,0xB2,0x37,0x0B,0x01,0xB2,0x96,0xBB,0x9C,0xA9,0x00,0x46,0xC8,0x4C, -0x69,0x47,0x63,0xA0,0x8F,0xAF,0xA5,0xAE,0x45,0x22,0x4F,0xE3,0xF7,0x2C,0x55,0x26, -0x5F,0x62,0x55,0xB3,0x99,0xB8,0xB2,0xAF,0x3A,0xA5,0x30,0x1B,0x65,0x60,0x8B,0x6A, -0xAB,0x0F,0xC1,0x1B,0xBB,0x07,0xCD,0xAF,0x9D,0xBB,0x43,0xAF,0x40,0x27,0x54,0x02, -0x1A,0x5E,0x21,0x4A,0xDD,0x84,0x28,0xC9,0x42,0x50,0x77,0x44,0xD1,0xDE,0xC5,0x6A, -0x6F,0x80,0x8A,0x94,0xE0,0xCF,0x5E,0xF4,0xCA,0x90,0x3F,0x84,0x38,0x99,0x2C,0xC4, -0xBA,0x2A,0xF5,0x3E,0x98,0x71,0x98,0x8C,0x0F,0xF7,0x9D,0xE3,0xD8,0xF5,0xCC,0x48, -0x8F,0x2F,0xC5,0x3B,0x3D,0xE8,0xA4,0x29,0xB0,0x0D,0xD8,0x19,0x32,0xE0,0x26,0xB7, -0x38,0xA2,0xFF,0xB6,0x06,0xC4,0xB3,0x12,0x7E,0xF5,0xEE,0xE1,0xEA,0xF2,0xFE,0x7D, -0x0D,0xA7,0xCF,0xB3,0xCB,0xB3,0x09,0xDF,0xE2,0x11,0x96,0x05,0x9B,0x67,0x8F,0x99, -0x60,0xA9,0xAC,0xBD,0x12,0x80,0xE3,0x06,0x00,0x48,0x2D,0x5C,0x3F,0xDF,0x2B,0x85, -0x28,0x69,0x24,0x7D,0x27,0xC1,0x97,0x33,0x58,0xDC,0xE1,0xC8,0xEC,0x95,0xF8,0x1C, -0x34,0x76,0x27,0x62,0xEC,0xD1,0x4C,0xF8,0x3A,0xC5,0x9A,0xD1,0x7A,0x2A,0x6E,0x35, -0x10,0x56,0x23,0x42,0xB2,0x2C,0xEF,0xA6,0x31,0x5A,0x0E,0x4E,0x1F,0xFB,0x0B,0x81, -0xDC,0xC2,0x7B,0xD6,0xA3,0x5D,0x8F,0xB7,0x89,0x9F,0x73,0x8B,0x81,0x4E,0x95,0xAA, -0x30,0xB9,0xEC,0xAD,0x38,0xDD,0x94,0x2C,0xE8,0x99,0x14,0x8D,0x73,0x01,0x67,0x17, -0x2B,0x94,0xDA,0x80,0xD9,0x90,0x38,0xCD,0x34,0x6D,0x3C,0x79,0x58,0x7D,0x4C,0x40, -0xC3,0x20,0x86,0x34,0x81,0x0A,0xFA,0x95,0xF2,0x15,0x82,0x01,0x3E,0xFE,0x2A,0xA5, -0x66,0x75,0x76,0x61,0x39,0xFC,0xB4,0x2D,0x50,0x5C,0x69,0x48,0x6A,0x7A,0x7E,0x75, -0x6A,0xA1,0xAE,0xB5,0x09,0x88,0xF0,0x1D,0x4B,0xC7,0xE9,0xD3,0x1A,0xCE,0x0E,0xB1, -0x12,0x45,0x32,0x51,0xBE,0x32,0xFD,0xAA,0x8C,0xA8,0x41,0xBC,0x4D,0x18,0x59,0x30, -0x4C,0x92,0xBB,0x86,0xB8,0x55,0x9C,0xAC,0x6E,0xF1,0xFA,0xE5,0xB5,0x2E,0xA1,0xFE, -0xD9,0xE3,0x5F,0xF7,0xA0,0x0F,0xDE,0xB4,0x05,0x7F,0x1F,0x6B,0xFB,0x83,0xEF,0x1D, -0x0B,0x7B,0x15,0x6F,0x7C,0x09,0x04,0x68,0x2A,0xC1,0x8E,0xD5,0x88,0x65,0x9C,0x88, -0x4D,0x7C,0x54,0x68,0x18,0xF9,0x90,0x0C,0xF4,0x3D,0xAC,0x29,0xDB,0xA7,0xCF,0x19, -0x9E,0x0A,0xF1,0x1E,0xDE,0xD6,0x79,0xCA,0xA9,0x9E,0x52,0x8A,0x59,0x5C,0x4D,0x60, -0x64,0x66,0x67,0x72,0xAA,0x76,0xAD,0xBE,0x96,0x24,0xD7,0x30,0xD5,0xCA,0xC1,0x7A, -0x4A,0x4E,0x61,0x5A,0x5D,0x0C,0x20,0x49,0x2E,0xE1,0xAA,0xF5,0x37,0xD5,0x23,0x87, -0x15,0x77,0x07,0x63,0x10,0xF3,0x92,0x04,0x6D,0xEE,0xE6,0xFA,0x72,0x20,0x66,0x37, -0x56,0x51,0x62,0x45,0x04,0xB7,0xC2,0x10,0xFC,0xBD,0x24,0xA9,0xFE,0xB6,0xEA,0x2D, -0x6C,0x7D,0x74,0x69,0x6D,0x78,0x64,0x79,0x06,0x60,0x03,0x74,0xF3,0x89,0xE7,0x1F, -0x8B,0xE0,0x0E,0xF4,0xA5,0x3A,0xEE,0xB1,0xBA,0x85,0x5A,0x91,0x70,0x53,0x64,0x46, -0x22,0x61,0x26,0x75,0xB7,0x19,0xDF,0xA3,0xC7,0x27,0x85,0x33,0x13,0xE5,0x07,0x93, -0x86,0xDA,0x39,0xCE,0xA4,0x1B,0xCE,0xB0,0x3E,0xE5,0xBE,0xF1,0xDD,0xC0,0xC9,0x78, -0xDA,0x1E,0xA1,0x0A,0x37,0x91,0xD7,0x23,0x49,0xCF,0xE3,0xDB,0xDE,0x92,0xCA,0x29, -0xA0,0xE9,0x2C,0xFD,0x43,0x31,0x03,0x57,0x5D,0xEB,0xD3,0xFF,0xCC,0xB1,0xD8,0x18, -0x39,0x4C,0x10,0x58,0x7B,0x4F,0x45,0x6F,0xB2,0x05,0xD2,0x11,0x62,0x70,0x76,0x77, -0x3E,0x7E,0x25,0x6A,0xFC,0x81,0x0C,0xE8,0xB8,0x8D,0x50,0x99,0x98,0x35,0x8C,0xC8, -0x06,0x41,0x22,0x55,0x1F,0xBF,0xD1,0x0B,0xC6,0x30,0x93,0x24,0xD2,0x8C,0xC6,0x3B, -0x58,0x96,0xAB,0x82,0xE9,0xE4,0x7C,0xFD,0xBE,0xA5,0x7E,0xB1,0x3A,0xEA,0x2E,0xB5, -0x8A,0x0E,0xE1,0x1A,0xC0,0xEB,0x5A,0xD4,0x53,0x43,0x75,0x57,0xF9,0xF0,0xED,0x6C, -0x17,0x64,0x16,0x70,0x13,0xA1,0xC3,0x07,0x4F,0xE7,0xCD,0xF3,0x21,0xE2,0x35,0xA6, -0xC9,0x28,0x84,0x3C,0x6C,0x59,0x44,0x78,0x4E,0xF0,0xDB,0xE4,0x17,0xF1,0x03,0x83, -0x97,0xFF,0x0D,0xEB,0xA7,0x49,0x9F,0xB3,0xA2,0x01,0xC6,0x15,0x82,0x1C,0x96,0xFB, -0xB2,0x31,0xE6,0x25,0x08,0xA9,0xD0,0x1C,0xE7,0x26,0xA4,0x32,0x02,0x94,0x16,0xF3, -0x7B,0x84,0x9A,0x90,0x02,0xD0,0xA3,0x16,0x56,0x74,0x47,0x60,0xAD,0x74,0xB9,0xBC, -0x40,0x46,0x63,0x52,0x50,0x33,0x12,0x44,0xDC,0xBC,0x05,0xA8,0x6C,0x1D,0x78,0x14, -0xC2,0xCE,0x69,0xDA,0xE6,0xA8,0x3F,0xF2,0x66,0x71,0x72,0x65,0x53,0x25,0x47,0x13, -0xEF,0x1B,0x91,0x0F,0x36,0xB0,0xF7,0x22,0x1E,0xE4,0x9F,0xF0,0xBA,0x62,0xAE,0xBD, -0xB8,0x39,0xE4,0x2D,0xA6,0x68,0xBF,0xB2,0xC0,0x18,0xBD,0x0C,0x00,0xE7,0x14,0x82, -0x16,0x8A,0xF9,0x9E,0x8E,0x46,0xB9,0x9A,0x57,0x63,0x51,0x77,0xC0,0xAF,0xD4,0x0A, -0x6B,0x4F,0x41,0x5B,0xE2,0xBC,0x2F,0xF6,0x68,0xD9,0xD4,0xCD,0x54,0x63,0x40,0x52, -0xED,0x08,0x80,0x1C,0x1D,0xCC,0xA0,0x09,0xD4,0x3C,0x8D,0x28,0x8F,0x23,0x9B,0xC9, -0xC7,0xEF,0x4D,0xFB,0xD2,0xC8,0x6B,0xC6,0xD9,0x8B,0x37,0x9F,0x97,0x79,0x83,0x8B, -0xAD,0xD3,0x1B,0xC7,0x7F,0x5B,0x55,0x6B,0x2B,0xD6,0x98,0xC2,0x89,0x44,0x9D,0xA8, -0x02,0x8E,0xE9,0x9A,0xAB,0x57,0x8D,0xBF,0x71,0x4A,0x5E,0x5E,0xAE,0x26,0xBA,0xED, -0xA3,0x14,0xD2,0x00,0xE8,0xC5,0x5C,0xFC,0xCC,0xB8,0x11,0xAC,0x42,0x54,0x56,0x73, -0x5F,0xA4,0x9E,0xB0,0x4F,0x2F,0x11,0x5B,0x5B,0xC3,0xFD,0xD7,0xD7,0xB9,0xC3,0x0B, -0x3B,0x5F,0x01,0x4B,0x22,0xF4,0xA7,0x36,0xF6,0x35,0xA6,0x21,0x87,0x29,0x93,0xCB, -0x36,0x65,0x36,0x71,0xB4,0x4B,0x8E,0xA0,0x59,0xCB,0xF7,0xDF,0x52,0x04,0x46,0x33, -0xB4,0xED,0x3C,0xF9,0x17,0xB5,0xD3,0x03,0xEA,0x91,0x1E,0x85,0xAB,0x13,0xBF,0xDD, -0x00,0x9D,0xF8,0x89,0x20,0x87,0xD6,0x34,0x95,0x3B,0xCB,0x2F,0xFA,0xA2,0xEE,0x3D, -0x45,0x67,0x47,0x73,0xA2,0x7C,0xAF,0xB6,0x72,0x55,0x42,0x41,0xC4,0xBB,0xD0,0x1A, -0xF8,0xE2,0x7F,0xF6,0xDC,0xA5,0x08,0xC8,0xE0,0x19,0x9C,0x0D,0x2B,0x9B,0x3F,0xD5, -0x21,0x9C,0xD8,0x88,0x7A,0x6E,0x65,0x6E,0xEB,0x86,0x08,0x92,0x4B,0x7F,0x5F,0x51, -0xAE,0x2E,0xE5,0x3A,0x31,0xF6,0xB6,0x25,0x6F,0xE6,0xEC,0xF2,0x93,0x6D,0x87,0x9B, -0x48,0x5D,0x70,0x49,0x53,0x61,0x43,0x47,0xDB,0x83,0x3D,0x97,0xD0,0xFF,0xC4,0x4A, -0x8E,0x74,0x56,0xCD,0xDE,0x8C,0x47,0x67,0x69,0xCE,0x0B,0x77,0x87,0xE0,0x3E,0xCB, -0xC8,0x73,0x17,0xCA,0xBA,0x7C,0xD3,0x03,0xB7,0x32,0x29,0x8B,0xD4,0x22,0x6D,0x5A, -0x1B,0x05,0xB2,0xBC,0x7C,0x53,0x3A,0xC5,0xEA,0x91,0xD7,0x28,0x56,0xD9,0xEF,0x23, -0xE1,0x69,0x24,0xD0,0x08,0xF3,0xEE,0xB1,0xD5,0x2B,0x52,0x92,0xDA,0x4F,0x63,0x39, -0xEF,0xAE,0xED,0x17,0xAB,0x0D,0xB3,0x12,0x08,0xC8,0x6C,0x71,0x15,0x4B,0xAC,0xF2, -0x97,0x4A,0x71,0xF3,0x1C,0xB7,0xBE,0xA5,0xCF,0xA7,0xC4,0x1E,0x42,0x9D,0xFB,0x73, -0xC9,0x9D,0xF8,0x24,0x1A,0xD0,0xDF,0xA3,0x2D,0xFE,0x7F,0x47,0xBA,0xAB,0x03,0xBD, -0x5C,0xEC,0x1C,0x55,0x02,0x8A,0x9D,0xBB,0x46,0x70,0x9A,0xC9,0xF4,0x06,0x4D,0x5E, -0x0E,0xEF,0x4D,0x56,0x07,0xBF,0xAD,0xBE,0xF9,0x8A,0xDF,0x33,0x7F,0xD6,0xC6,0x05, -0xA7,0x6E,0x65,0xD7,0x15,0x9C,0x9C,0xAC,0x84,0x28,0x00,0x91,0x1C,0x60,0xA5,0xD0, -0x03,0xD5,0x7A,0x6C,0x06,0x9E,0x8D,0xBF,0x7D,0xEA,0x3B,0x53,0xD2,0x45,0x6B,0x3B, -0x5F,0x11,0xE2,0xA8,0x95,0x14,0x94,0x2C,0x0A,0xC0,0x66,0x79,0xD1,0x17,0x68,0x6A, -0xCF,0x41,0x22,0xF8,0xFF,0x89,0x63,0x46,0x6D,0xEE,0x2F,0x57,0x38,0x50,0x81,0xC4, -0x90,0x78,0x44,0xC1,0xB2,0x76,0xD1,0x0B,0x2E,0xE1,0x63,0x58,0x7D,0xA5,0xC4,0x74, -0xD3,0x5E,0x21,0xE7,0xA6,0x32,0x81,0x1F,0xBF,0xB2,0xA1,0x0B,0xF1,0x33,0x48,0x6E, -0xE9,0x72,0x37,0xCB,0xCF,0xFD,0x27,0x76,0x45,0x6F,0x86,0xD6,0xFC,0x0C,0x45,0x5C, -0x0A,0x20,0x86,0x99,0x9F,0x6D,0xE7,0x26,0xF3,0x02,0x5D,0xBB,0x3D,0x65,0x84,0xF4, -0xBD,0xAD,0xBC,0x14,0xA4,0x41,0xF0,0x1D,0x3D,0xFA,0x6B,0x43,0xE5,0x77,0x5C,0x3E, -0x88,0xA8,0x8C,0x11,0x69,0x36,0x4A,0xD0,0xA1,0x1E,0x13,0xA7,0x94,0xE2,0x2D,0xDA, -0xE5,0xA6,0xEF,0x1F,0xB0,0x05,0xA0,0x09,0x43,0x47,0xA8,0xFE,0x30,0x5A,0x89,0xC6, -0x2E,0x00,0x82,0xB9,0x19,0x82,0x8E,0xA0,0xDE,0xB4,0xC6,0x0D,0x4F,0xA2,0xF6,0x41, -0x9F,0x51,0x62,0xE8,0x7F,0x01,0x6B,0xC6,0x01,0x5F,0xF2,0xE6,0xDE,0x5B,0x67,0x29, -0xEA,0x8F,0xC9,0x36,0x42,0x4A,0x1D,0xFB,0x89,0x9F,0xBA,0x26,0x37,0x1C,0x8E,0x87, -0x3F,0x25,0xB6,0x9C,0x3A,0xF4,0xDB,0x83,0x4C,0xF8,0x18,0x41,0xD7,0x70,0x6E,0x0B, -0xB5,0xB6,0xAF,0x0F,0x9A,0x58,0xD7,0x23,0xAB,0x96,0x91,0x2F,0x7C,0x84,0xC5,0x54, -0xAE,0x9B,0x99,0x22,0x7B,0x15,0x7B,0xC2,0x77,0x62,0xB9,0xDB,0x57,0xF8,0xEE,0x03, -0x46,0x2F,0xC5,0x96,0x23,0x8F,0xB9,0x9A,0xB1,0x1A,0x07,0xA3,0x31,0x7B,0x88,0xE6, -0xE3,0x7A,0x35,0xC3,0x9B,0x79,0xF7,0x22,0x13,0x53,0xEC,0xEA,0x65,0xFF,0xDC,0x36, -0xAD,0x66,0x67,0xDF,0x85,0x44,0xD4,0x3C,0x1B,0xD3,0x64,0x6A,0xE3,0x10,0x5A,0x5F, -0xB1,0x79,0x64,0xC0,0x4E,0x54,0x0F,0xF7,0x79,0xCA,0x1F,0x73,0x75,0xAF,0xCC,0x76, -0x95,0x59,0x60,0xE0,0x10,0xA9,0xAC,0xA9,0x72,0x55,0x8B,0xEC,0x10,0x7E,0xA9,0xC2, -0x59,0xCD,0x38,0x74,0x01,0xD8,0xCC,0xB8,0xCA,0x90,0xF6,0x29,0x8E,0xCB,0x37,0xE9, -0x87,0x81,0xAA,0x38,0x09,0xD2,0xCE,0xB0,0x32,0x45,0xDB,0xFC,0xA1,0xA3,0x18,0xAE, -0x26,0x1B,0x91,0xA2,0x4A,0x40,0x1F,0xF3,0x8F,0xB7,0x94,0x0E,0x4D,0xD1,0xF4,0x30, -0xDA,0xAB,0xDD,0x12,0xED,0xAA,0x52,0x54,0x18,0xCC,0x78,0x75,0xD8,0x3C,0x61,0x48, -0xBE,0x50,0x42,0xE9,0x80,0x71,0xE4,0x39,0xB5,0x3A,0x23,0x83,0x88,0xAC,0x31,0x88, -0xEE,0x40,0x02,0xF9,0x40,0x39,0x6C,0xF9,0x2B,0xD6,0x51,0x6F,0x5B,0xE6,0xE2,0x11, -0x68,0x07,0xC3,0xBE,0xBF,0x49,0xE3,0x06,0x97,0x33,0x08,0x8A,0x80,0xA6,0x39,0x8A, -0x42,0xE0,0x0E,0x59,0x70,0x4D,0x28,0xC9,0x9A,0x84,0xB2,0x3D,0x98,0xFC,0x21,0xC8, -0x28,0xDC,0x58,0x65,0xDD,0xDE,0x16,0x64,0x68,0xD9,0x1D,0x60,0x86,0xC1,0x3F,0xEB, -0x7D,0xED,0x3C,0x54,0x7E,0x20,0x4B,0xC7,0xA3,0x16,0x19,0xAF,0x24,0x1E,0x9D,0x96, -0xA4,0x93,0x9B,0x2A,0xD8,0xEB,0x26,0x61,0xA8,0x89,0x8D,0x30,0x44,0xFA,0xFD,0x12, -0x2B,0x21,0xA6,0x98,0x93,0x73,0xF5,0x2A,0x2C,0xE9,0x69,0x50,0x9C,0xE8,0x25,0xD8, -0xCD,0x52,0x33,0xEB,0xF1,0xE4,0x00,0x48,0x98,0x8C,0xB8,0x35,0xDF,0x7A,0x66,0x09, -0xB3,0x6A,0x75,0xD3,0x16,0xCE,0xCD,0xAF,0x1A,0xC4,0x72,0x7D,0x5D,0x81,0xE4,0x70, -0x31,0xE2,0x7F,0x5B,0xB5,0x30,0x90,0x0C,0xA9,0x9E,0x9B,0x27,0xA4,0x96,0x1D,0x9E, -0x85,0x92,0xBB,0x2B,0x82,0x02,0x95,0x3B,0xD6,0x34,0x4E,0x8D,0xF5,0x27,0x4C,0x7E, -0xC0,0x68,0x04,0xD1,0x00,0xF9,0xEC,0xB9,0x31,0x5A,0xC7,0xE3,0xCB,0x3E,0x72,0x59, -0xDD,0x99,0xE8,0x20,0x4B,0x61,0x3F,0xF2,0xFD,0xAA,0xFB,0x13,0x35,0x6F,0x8C,0xF6, -0x0F,0x01,0xA2,0xB8,0x62,0x6E,0x19,0xDB,0x10,0x4C,0xF0,0xF5,0xF6,0x75,0x4F,0x2F, -0x92,0x6B,0x55,0xD2,0xB1,0x24,0x80,0x08,0x0C,0xE8,0x48,0x51,0x2E,0x67,0x97,0xE5, -0x4C,0x27,0xC7,0x9E,0xCE,0xDC,0x07,0x77,0x0D,0xFF,0x5E,0x46,0x18,0x74,0xA1,0xC0, -0x25,0xE6,0x6F,0x5F,0xE1,0xB4,0x40,0x58,0x1E,0xE4,0x56,0x5D,0xC3,0x34,0x7A,0x5B, -0xBC,0x43,0x53,0xFA,0xD9,0xCA,0x06,0x60,0xF1,0x0A,0x57,0xB3,0x6D,0xF5,0xD4,0x34, -0xBB,0x71,0x66,0xC8,0x5E,0x04,0x4F,0xE7,0xFB,0x82,0xD5,0x3B,0x97,0xB0,0x2E,0x8B, -0x83,0x4E,0x61,0xF7,0xBD,0x3A,0x92,0x04,0x85,0x3F,0x16,0x86,0xDD,0x09,0x64,0x78, -0x47,0xC1,0x2A,0x78,0x44,0x2D,0x7C,0xFD,0x25,0x7E,0xF7,0xC7,0x5C,0xA0,0xE5,0x50, -0x6A,0x14,0xD2,0xAD,0x94,0x35,0xB4,0x2D,0x5D,0xEB,0x1A,0x52,0xB5,0xE7,0x0C,0xFE, -0x3D,0x36,0xA7,0x8F,0x04,0xED,0xFC,0xBD,0x83,0x17,0x38,0xAE,0x0F,0x62,0xB6,0xC1, -0x93,0x85,0xBA,0x3C,0x2C,0xC3,0xFA,0x95,0x14,0x6C,0xD4,0xD5,0xCF,0x2A,0x76,0x49, -0x12,0xF0,0x4E,0x49,0x05,0xCC,0xDC,0xBC,0xE1,0x0E,0x43,0xB7,0x8D,0x99,0x34,0xB8, -0x37,0x3E,0xA5,0x87,0xAA,0x2C,0x93,0x13,0xA4,0x29,0x21,0x90,0x0D,0x11,0xB4,0xB0, -0xFE,0x8B,0xD9,0x32,0xA0,0x55,0xE0,0x19,0x15,0x7B,0xC2,0xC2,0xA2,0xF1,0x1B,0xFF, -0xC5,0x49,0x20,0xF0,0xF2,0xB6,0x51,0x4B,0x9F,0xB3,0x80,0x0A,0x63,0x98,0xDA,0x57, -0xF2,0xF3,0x90,0xF6,0x48,0x63,0xBF,0x4D,0x8B,0x68,0x72,0x6D,0x4F,0x10,0x4A,0xCE, -0x8C,0xCB,0xD6,0xCE,0xED,0xFA,0x83,0xE8,0xE4,0xC6,0xB3,0xC3,0xA1,0x11,0xA4,0x21, -0x42,0x4C,0x9F,0x49,0xDF,0xFD,0xB6,0xDA,0x5B,0x3C,0xF6,0x39,0x29,0x93,0x2C,0x2B, -0x7C,0xAF,0x42,0xAA,0xE0,0xC5,0xB1,0xE5,0xA8,0x76,0x4F,0x73,0x94,0x50,0x91,0x55, -0x27,0x59,0xEF,0x5C,0x37,0x9B,0x38,0x32,0x26,0x9E,0x29,0x9B,0x01,0xBD,0x04,0x2D, -0x28,0x70,0xC9,0x75,0xAF,0x49,0x72,0xAA,0xFF,0x5D,0x33,0x58,0xE7,0xB6,0xE2,0xC0, -0x62,0xA3,0x50,0xA6,0xC5,0xD4,0x85,0xC0,0x35,0x85,0x21,0x80,0x43,0x0E,0x46,0xDC, -0x9A,0xDC,0xD7,0xD9,0x89,0x0A,0x17,0x8C,0x10,0xB3,0x32,0xB6,0x54,0x18,0x51,0xDD, -0x8A,0x17,0x0C,0x12,0x5E,0x54,0x9E,0x5B,0x68,0x26,0xDF,0x23,0xA5,0x05,0xA0,0x31, -0x6A,0xB8,0x43,0xBD,0x90,0x71,0x75,0x95,0x60,0xA6,0x57,0xA3,0x82,0x67,0x87,0x74, -0x13,0xB2,0x30,0xB7,0x25,0xB8,0x09,0x20,0x2F,0x09,0xB7,0x0C,0xD0,0x84,0xD5,0xC5, -0xF0,0xE0,0x81,0xE5,0xE7,0x83,0xF0,0xE2,0x87,0xC8,0xDE,0xCD,0x18,0xC6,0x1D,0x4F, -0x6B,0x56,0xAC,0x53,0x6F,0x01,0xFA,0x6A,0x80,0xF7,0xE6,0xF2,0xD5,0xB1,0xD0,0xF5, -0x73,0x86,0x64,0x83,0xBA,0x2C,0x02,0xBF,0x2E,0x1E,0xA1,0x1B,0x40,0x5C,0x45,0x8D, -0xAB,0x16,0x2C,0x13,0x98,0x7B,0x77,0x9D,0x11,0xA4,0x24,0xA1,0xBC,0x7E,0xB9,0x53, -0x85,0x3E,0x2A,0x3B,0x2B,0xD5,0x6A,0x2E,0x99,0x64,0x6C,0x61,0xC7,0x92,0xC2,0xC4, -0x7F,0x52,0xBC,0x57,0xEE,0xA8,0xD2,0xEB,0xC1,0xF0,0xA0,0xF5,0x7D,0x17,0x78,0xFB, -0x0F,0xAD,0x33,0xA8,0xA9,0x2E,0x13,0xAC,0x5A,0x2B,0xE0,0x2E,0x98,0x4E,0x9D,0x47, -0x0B,0x62,0xF8,0x67,0x4E,0x04,0xDE,0x4B,0x18,0x33,0xBA,0x36,0x2F,0xF4,0x2A,0x4A, -0x98,0xCF,0xC6,0xCA,0x72,0x6E,0x88,0x77,0x3B,0x2D,0x87,0x28,0x72,0x5B,0x77,0xB8, -0x94,0x1B,0x1E,0x1E,0x2F,0xC1,0x7A,0x2A,0x7E,0x0A,0xE5,0x0F,0xEE,0x9D,0xEB,0xE2, -0x06,0x58,0xCF,0x5D,0xB5,0x60,0x41,0xB0,0xE0,0xE6,0x97,0xE3,0x1C,0xD2,0x19,0x5F, -0xEC,0xFF,0x82,0xFA,0x05,0x9C,0x0D,0x00,0x98,0x73,0x7A,0x76,0x67,0x3E,0x62,0xC8, -0x37,0x92,0x34,0x97,0xFE,0xF8,0x92,0xFB,0x58,0x23,0xEA,0x26,0x91,0x65,0x94,0x65, -0x88,0x04,0x1D,0x01,0xC4,0xF5,0xA5,0xC1,0xA0,0xF6,0xC7,0xF3,0x6F,0x34,0x6A,0xCA, -0x76,0xA7,0x40,0xA2,0x4C,0x77,0xAF,0x49,0x4E,0x0F,0xD0,0x0A,0x35,0xDD,0x30,0x79, -0x44,0x90,0x45,0x95,0x3C,0xC3,0x6B,0x39,0xAE,0x5E,0x61,0x5B,0x9F,0x08,0x9A,0x06, -0xBF,0x12,0x3C,0x17,0xC6,0x86,0xD4,0xC3,0x89,0x60,0x78,0x65,0xF1,0x81,0xF4,0xE1, -0x66,0x6C,0x9B,0x69,0x43,0x3B,0xEC,0x46,0x46,0x8F,0x58,0x8A,0xBD,0x5F,0xB8,0x73, -0xAD,0xCA,0xF6,0xCF,0x3D,0xE2,0x4B,0x38,0xC2,0xEF,0xBC,0xEA,0x22,0xCB,0x27,0x78, -0x35,0x81,0x25,0x84,0x8F,0x6D,0x76,0x8A,0x08,0x37,0xAE,0x32,0x42,0x2F,0x47,0xFC, -0xA2,0xE3,0xD0,0xE6,0xFC,0x8B,0xE3,0xF9,0xD9,0x74,0x3C,0x71,0x27,0xFE,0x22,0x48, -0xC4,0x0B,0x5E,0x0E,0xAE,0x68,0x52,0xAB,0x91,0xE4,0xE4,0xE1,0x1F,0x80,0x1A,0x0E, -0x47,0x6D,0xBB,0x68,0xFF,0xD9,0xB2,0xFA,0xF9,0x75,0x1D,0x70,0xF4,0xB4,0xF1,0xD1, -0x0C,0x50,0xCD,0x55,0x21,0xAC,0x19,0x24,0x57,0x9C,0x5A,0x99,0x34,0xFC,0x31,0x59, -0xB2,0x28,0x0B,0x2D,0x8B,0x79,0x66,0x8E,0xDB,0x7C,0x36,0x79,0x53,0x5E,0x56,0x9C, -0x2B,0x8D,0x37,0x88,0x8E,0x4C,0x56,0x8B,0x24,0x96,0x23,0x93,0xA9,0x1B,0xAC,0x23, -0x07,0xB6,0x20,0xB3,0x03,0xFB,0x6C,0x06,0xEE,0x4E,0x31,0x4B,0x51,0x2D,0x54,0xED, -0x70,0x7B,0x9A,0x7E,0x06,0xCE,0x5C,0x03,0x0A,0x3F,0xA4,0x3A,0xB5,0x55,0xB0,0x71, -0x43,0xA2,0x70,0xA7,0x08,0xA3,0x3F,0x0D,0x16,0x9B,0x1C,0x9E,0xEC,0xEE,0xE9,0x93, -0x02,0x97,0x04,0x92,0xC8,0xEB,0xB7,0xCD,0x8F,0x48,0x56,0x4D,0x78,0x22,0x7D,0xCB, -0x12,0x5C,0xDF,0x59,0xD7,0xF7,0xB4,0xD2,0xA6,0xDE,0xE9,0xDB,0x61,0x59,0x64,0xA9, -0xEF,0x02,0x7C,0x07,0xF7,0xD3,0xB0,0xF2,0x12,0xBB,0x38,0xBE,0xFE,0xCD,0xFB,0xA2, -0x9E,0x13,0x1C,0x16,0x63,0x1F,0xE8,0x66,0x39,0x25,0x8D,0x20,0x3B,0xB0,0x3E,0x1A, -0x1E,0x88,0x07,0x8D,0x18,0xF3,0x7F,0x1D,0x84,0xD7,0xC2,0xD2,0x3D,0xD7,0x38,0x7B, -0x53,0x69,0xAB,0x6C,0x35,0xE8,0x49,0x30,0xD3,0xFC,0xBE,0xF9,0xC9,0xFF,0xCC,0xA7, -0xC9,0x31,0x69,0x34,0x81,0x00,0x15,0x84,0x36,0x9A,0x3D,0x9F,0xB1,0x41,0xB4,0x61, -0x3F,0x89,0x27,0x8C,0xD4,0xA5,0xE5,0xD1,0xE6,0xCE,0xB9,0xCB,0xF8,0xAA,0xFD,0xC3, -0x4B,0xB9,0x63,0xBC,0x00,0xA9,0x3D,0x05,0x22,0xBE,0x0D,0xBB,0x63,0x2A,0x66,0xD8, -0xF1,0x0E,0x6E,0x0B,0xE4,0xD1,0xA1,0xE1,0xA3,0xE9,0xDB,0xEC,0x0C,0x82,0x09,0x1F, -0x96,0x08,0x0F,0x0D,0x33,0x8F,0x28,0x36,0x6D,0x11,0xED,0x14,0x55,0x39,0x50,0xFD, -0xCC,0x10,0x4D,0x15,0x42,0x1A,0xCC,0x47,0x8E,0x5F,0x40,0x5A,0xDB,0xDC,0xDE,0x96, -0xCA,0xCC,0x97,0xC9,0xDA,0xC8,0x86,0xDF,0x1B,0x2C,0xA6,0x29,0x65,0x4D,0x60,0xB9, -0x3A,0xA8,0x03,0xAD,0xDD,0x8E,0xC7,0xD8,0x8A,0x7F,0x64,0x7A,0x99,0x6F,0x9C,0x67, -0x15,0x6E,0xEA,0x6B,0xAB,0x5D,0x62,0xAE,0xF3,0xFD,0x9F,0xF8,0x3A,0x91,0x3F,0x3A, -0xB5,0x1A,0x3E,0x1F,0xC7,0xA7,0xF4,0xC2,0xE9,0x71,0x09,0x74,0x80,0x14,0x85,0x05, -0xCF,0xED,0xB3,0xE8,0xEF,0x89,0xF2,0xEA,0x14,0x93,0x16,0x96,0x45,0x69,0x40,0xBD, -0x30,0xA0,0x01,0xA5,0xD6,0xD6,0x94,0xD3,0xA4,0xD6,0xE3,0xD3,0x4A,0x25,0x4F,0xFE, -0x74,0xB4,0x51,0xB1,0xF0,0x95,0xF1,0xF5,0xBE,0x5A,0x75,0x5F,0x19,0xE7,0x1C,0x6F, -0xBB,0xDD,0xF7,0xD8,0xDC,0xAF,0xE7,0xD9,0x8C,0x57,0x4A,0x52,0xC4,0xC0,0xC1,0x95, -0xF9,0x15,0x7D,0x10,0x41,0x48,0x9D,0x44,0xD5,0xD4,0x90,0xD1,0x21,0x99,0x24,0x29, -0xDA,0x07,0x4C,0x02,0xC0,0xE1,0xB5,0xC5,0x00,0xB7,0x26,0xB2,0x83,0x46,0x86,0x54, -0xD8,0x14,0x5D,0x11,0x7B,0x45,0xAA,0x7E,0xEB,0x79,0x03,0x7C,0x41,0x7D,0x44,0xAD, -0x52,0x87,0x44,0x82,0xBF,0x19,0x32,0xBA,0xBA,0x7A,0x51,0x7F,0x6B,0x20,0x6E,0xDA, -0x2F,0x8B,0x02,0x36,0x68,0x93,0xE0,0x37,0x81,0xED,0x49,0xD3,0x30,0x94,0x29,0xA6, -0xCB,0x6F,0x7A,0xAA,0x65,0x24,0x5A,0x80,0x29,0x82,0x26,0x14,0x67,0xC3,0xA8,0x70, -0x1C,0xB8,0x24,0x23,0x04,0x22,0x3D,0x86,0x92,0xDB,0x7F,0xF6,0x9F,0x3B,0x66,0x46, -0x6D,0xC9,0xB1,0xC7,0x46,0x3A,0x67,0x9E,0x77,0x55,0xF1,0x9D,0xD1,0x75,0x85,0xEB, -0xF5,0x51,0x63,0x8D,0x9C,0xE6,0x61,0x42,0xE6,0xEB,0x4F,0xB2,0xA2,0x06,0x10,0x0D, -0xF2,0x56,0x25,0xCC,0x08,0x82,0x91,0x26,0xC4,0x17,0xB3,0x6C,0xF1,0x55,0x81,0xCF, -0x84,0x20,0xF6,0x69,0xE1,0x44,0xBE,0xE0,0x3A,0xB4,0x10,0x31,0x73,0xD7,0xF8,0x34, -0xE8,0x4C,0x0C,0xFF,0x35,0x30,0x1E,0x94,0xBF,0x0E,0xAA,0x0E,0xFF,0x5B,0xE2,0xA2, -0xC0,0x64,0x22,0xF9,0xB8,0xC7,0x64,0x63,0xC2,0xCB,0x6F,0xB6,0x1D,0xB9,0x1F,0xBD, -0xF9,0x5D,0x7D,0x9F,0x0A,0x8A,0x9B,0x2E,0x8E,0xC4,0x60,0xF5,0x58,0xFC,0xAF,0x48, -0xDF,0x7B,0x3E,0xFA,0x5A,0x9E,0xDF,0x3A,0x4C,0x97,0x33,0x64,0xD4,0x70,0xB5,0xDE, -0xF3,0x57,0x04,0xEC,0xFC,0xF7,0x10,0x53,0x6B,0x4A,0xEE,0x9E,0xD9,0x7D,0x87,0xE1, -0x6E,0xCA,0xE3,0x96,0x76,0x3F,0x52,0x9B,0x32,0xAF,0x0B,0x22,0x5A,0xFE,0xDE,0x3B, -0xEF,0x4B,0x4A,0xBE,0x47,0x2D,0x71,0x89,0xED,0x0D,0xA9,0x5F,0x39,0x9D,0x0B,0x8D, -0x54,0xF0,0xEE,0xA1,0x56,0x3E,0x73,0x9A,0xD6,0xCF,0x6B,0xA6,0xF7,0x53,0xE0,0xA8, -0x90,0x34,0xB2,0x39,0x4F,0xAD,0xF9,0x09,0x8B,0xE5,0x41,0xD1,0xF4,0x50,0xB1,0xFA, -0x81,0x25,0xC3,0x59,0x55,0x21,0x6F,0x85,0x2B,0x91,0x35,0x05,0x6A,0xCE,0x9A,0x4F, -0xD0,0x74,0x72,0xB9,0xB0,0x47,0xEC,0xE3,0x1F,0x7A,0xDE,0xDA,0xFB,0x5F,0xF2,0xB6, -0x0E,0xAA,0x07,0x12,0xC6,0x7A,0xA7,0xDE,0x57,0xBA,0x1E,0x52,0x12,0xB6,0x5C,0xF1, -0xA4,0x00,0xD2,0x6D,0x00,0x02,0x19,0xA6,0xF5,0xDD,0x79,0x97,0xF2,0x56,0xD0,0x9D, -0xA1,0x05,0xE7,0x5D,0x3C,0xA7,0x80,0x03,0xB0,0x27,0x83,0x28,0x18,0xBC,0x2F,0x88, -0x2C,0x88,0x50,0x67,0x2B,0x9C,0xAC,0x38,0x86,0xDF,0x7B,0xE6,0xC0,0x64,0xE5,0x9A, -0x29,0x8D,0x65,0x57,0x91,0x51,0xDB,0xF5,0xFE,0x3B,0x9F,0x7A,0xB1,0x15,0x01,0x0F, -0x27,0x83,0x08,0x34,0x7B,0x88,0xE8,0x2C,0x45,0x62,0xC6,0x98,0x15,0xB1,0x1D,0xB7, -0xE7,0x43,0x40,0xBC,0x0F,0xBD,0xA9,0x19,0x89,0xF6,0x52,0xC0,0xC6,0x62,0x84,0xFD, -0xF8,0x5C,0x5C,0xBF,0xD4,0x76,0xB9,0xD2,0xF2,0xEF,0x4B,0xA2,0x50,0xF4,0xAD,0x42, -0xD8,0x7C,0x78,0xBB,0x77,0x28,0x44,0x8C,0x66,0x70,0xD4,0xA9,0x35,0x91,0x19,0x93, -0x4C,0xE8,0xB4,0xE3,0x17,0x39,0x35,0x9D,0x1B,0xB5,0x11,0x11,0xAB,0x0F,0x32,0x26, -0x37,0x93,0x58,0x74,0x0C,0xA2,0xB5,0x06,0x7C,0xB3,0x17,0x70,0x59,0xFD,0x8F,0x69, -0x1A,0xBE,0x43,0x42,0xA0,0x43,0xF8,0xE7,0x54,0x47,0xE3,0xAC,0x72,0xD6,0xD8,0x15, -0xAE,0x0A,0xAB,0x1E,0x62,0x1B,0x62,0xBF,0xEA,0x3F,0x9B,0x6A,0x14,0xB0,0x3D,0x96, -0xFB,0x5F,0x0E,0xEE,0x2C,0xA3,0x94,0x07,0x01,0x76,0xD2,0xC8,0x40,0xE4,0xED,0x12, -0xC1,0x65,0x03,0xD9,0xB7,0x78,0xD4,0xDC,0xBC,0xF3,0x57,0xF0,0x7E,0xDA,0xCA,0x0B, -0x86,0x22,0x85,0x18,0x38,0x87,0xA4,0x23,0xE5,0x16,0xB2,0x4C,0xA5,0x01,0x51,0x4B, -0x61,0xC5,0xAF,0xD5,0xF3,0x48,0xA0,0xEC,0x5F,0xA1,0x05,0x41,0xBD,0x19,0x13,0x11, -0x5D,0xF9,0xC5,0x83,0xCD,0xE5,0x33,0x41,0xF0,0xFC,0x58,0xB3,0xA3,0x07,0x30,0x2C, -0x00,0xA4,0x6A,0x71,0x15,0x31,0x3F,0x95,0x36,0x60,0xC4,0xE9,0x84,0x20,0x75,0x4E, -0x9A,0x3E,0xCB,0x4A,0xC4,0x72,0xAD,0xD6,0x79,0x92,0x36,0x54,0x68,0xCC,0xEB,0x3C, -0x2A,0x8E,0x37,0x06,0x89,0xD5,0x47,0x71,0x95,0xE9,0x4D,0xC3,0xFD,0x59,0x93,0xD1, -0xD1,0x75,0x53,0x99,0x3F,0xB8,0x9C,0x1C,0xCE,0x1F,0xBB,0x6E,0xAD,0x09,0x53,0x41, -0xEB,0x4F,0x5E,0xAE,0x16,0x2E,0x23,0x8A,0x9F,0xE1,0x45,0xC1,0x78,0xDC,0xAB,0x6C, -0x63,0xC7,0xDC,0xA4,0x4B,0x8D,0xDD,0x29,0x76,0xBB,0x1F,0x72,0x81,0x25,0x45,0x7B, -0x13,0xB7,0x68,0x60,0x4E,0xBA,0xEF,0x1E,0xA3,0x11,0xB5,0x0D,0xD0,0x74,0xA5,0xCA, -0xE9,0x4D,0x2D,0xDF,0x37,0x38,0x14,0x9C,0x2A,0x7F,0xDB,0xEA,0xEE,0x4A,0x82,0xD3, -0x6C,0xC8,0x90,0xE7,0x90,0x46,0xCD,0xE2,0xF4,0x33,0x97,0x78,0x01,0xA5,0x4D,0xF3, -0x12,0xB6,0x49,0x40,0xFD,0xE0,0x06,0x44,0x60,0xAC,0x08,0x73,0x61,0xC5,0xC9,0x17, -0xA0,0x04,0xC6,0x7D,0x2E,0xAB,0x9E,0x0F,0x84,0xCC,0x68,0xF7,0xB9,0x1D,0x03,0x05, -0xD3,0x77,0x20,0xE8,0xDB,0xC9,0x09,0x6D,0x55,0xA9,0x0D,0x43,0xFA,0x5E,0xD2,0x97, -0x67,0xC3,0xC8,0xB4,0x9B,0xD9,0x59,0x7D,0xBB,0xC1,0x65,0xC5,0xE6,0x42,0x80,0xD9, -0xC2,0x66,0x51,0x88,0xDD,0xE1,0x27,0x45,0xBA,0x2F,0x8B,0x2A,0x48,0xEC,0xEF,0x18, -0xF0,0x54,0x56,0xBD,0x94,0x66,0xE9,0xC2,0x38,0xA7,0x03,0x20,0xB2,0x16,0x50,0x5D, -0xCF,0x6B,0x6E,0xBA,0x49,0x85,0xD7,0x21,0xFB,0x1A,0xBE,0x5E,0xF8,0x5C,0xA3,0xE4, -0x18,0xBC,0x30,0x33,0xE4,0x73,0x8C,0xD7,0x16,0x8F,0x2B,0x26,0x10,0xB4,0x2D,0x82, -0x80,0x24,0xE2,0x79,0xC2,0x5A,0x83,0xFE,0x1D,0x69,0xCD,0xCB,0xD3,0x77,0xF4,0x98, -0xEA,0x4E,0x7F,0x8E,0x5B,0x89,0xC9,0x2D,0xA5,0xCD,0x69,0xD7,0x0B,0xAF,0x3E,0x8A, -0xA6,0x02,0xA1,0x1C,0xDC,0xF6,0x31,0x52,0xB3,0xDA,0x7E,0xD6,0x3D,0x99,0x1B,0x99, -0x71,0xD5,0xFF,0x95,0x07,0x3D,0x21,0x99,0xAE,0x2B,0x8F,0x3A,0xA8,0x0C,0x63,0x74, -0xBF,0x1B,0xDA,0x7E,0x48,0x92,0xC1,0x36,0xCC,0x0C,0xA8,0x7F,0x28,0x8C,0x6B,0xFC, -0x0A,0xAE,0x13,0x02,0x3B,0x98,0xB8,0x3C,0x2F,0x5E,0xFA,0xCE,0x87,0x23,0x24,0x1C, -0xC8,0x6C,0x28,0xFB,0x8A,0xCA,0x5B,0x6E,0x6D,0x96,0x32,0x44,0x46,0xE2,0x8C,0x75, -0x40,0xE4,0xAA,0xF1,0xA7,0x7C,0xC0,0xD8,0x1A,0x5B,0xFF,0xFE,0x79,0xDD,0x8B,0x4D, -0x95,0x31,0x87,0x09,0x6F,0xAC,0xD8,0x08,0xF7,0xCE,0x6A,0x86,0x90,0x34,0x25,0x0A, -0xB7,0x13,0xD0,0x7C,0x27,0x3C,0x00,0x98,0xD5,0x32,0x96,0x58,0x2A,0x8E,0x1A,0x8F, -0x04,0xA0,0x7E,0x61,0x21,0x14,0x2E,0xB0,0x39,0x49,0xED,0xCF,0xEA,0x4E,0x92,0xC7, -0x2F,0xF4,0xBC,0x72,0x8D,0xC5,0xA9,0x1E,0x98,0xD4,0x0F,0x76,0x41,0x9A,0x0E,0x75, -0xDB,0x00,0x94,0xAE,0xDA,0xEE,0xD5,0x35,0x83,0xF9,0x22,0x40,0xA0,0x7B,0xA2,0x38, -0xA3,0x78,0x2A,0x68,0x3F,0x88,0x56,0x53,0x6B,0x4D,0x96,0x1C,0xF8,0x23,0x60,0xA2, -0xEA,0x31,0xC1,0xCA,0xEF,0xDC,0xD2,0x07,0xCE,0x18,0xC3,0xEC,0x40,0x9B,0x2E,0x54, -0x6A,0xB1,0x49,0xC2,0x86,0x5A,0x3D,0x81,0x80,0x04,0xDF,0xBE,0x5E,0x85,0x0D,0x69, -0x73,0xA8,0x32,0xA0,0xAF,0xCC,0x82,0x17,0x9C,0x1B,0xC0,0xBD,0x95,0x4E,0xD6,0x79, -0xEC,0x37,0xA6,0xAB,0x1B,0xA9,0x53,0x72,0xB8,0x3B,0xE0,0xB9,0xCB,0x10,0x75,0x84, -0x29,0xF2,0xDB,0x13,0x30,0x37,0xE6,0xEC,0x74,0xAF,0x74,0xE1,0xDA,0x01,0x15,0xF5, -0xBB,0x60,0x70,0x2A,0x2D,0x84,0x48,0x5F,0x27,0x42,0x99,0x5F,0x44,0x9F,0x3E,0x40, -0x43,0x98,0x46,0xE4,0xE7,0x5C,0x5A,0x87,0x90,0xCF,0x14,0x65,0x7F,0xA4,0x29,0x6C, -0xA7,0x7C,0x3E,0x78,0x03,0x2D,0xCF,0xF6,0xA5,0xCA,0x11,0x55,0xB2,0x69,0x93,0x1B, -0xFE,0x25,0x85,0x9A,0x1F,0x89,0x77,0x52,0xC8,0xC4,0x1F,0x36,0x6B,0xB0,0x79,0x28, -0x0D,0xD6,0xEB,0x07,0x98,0xF6,0x8F,0x2D,0x03,0x62,0xB9,0x5B,0xC2,0x19,0x57,0xAF, -0xE6,0x3D,0xDF,0xD8,0xF0,0x67,0x76,0xBC,0xB2,0x33,0xE8,0xBB,0xA4,0x7F,0xB2,0x2C, -0x26,0xFD,0x97,0x50,0x5E,0x8E,0x31,0x55,0xC7,0xED,0x36,0x10,0x99,0x42,0xC4,0x67, -0x41,0x9A,0x35,0x95,0xD2,0x6E,0x5D,0xB5,0x12,0x47,0x9C,0x6F,0xE1,0x3A,0x02,0xD9, -0x33,0xE8,0xF2,0x20,0xDC,0xC6,0xFB,0x1D,0x23,0x8D,0x56,0x94,0xDC,0x07,0x74,0x92, -0x91,0x4A,0x2D,0x5D,0x09,0xA5,0x4D,0x7E,0x8A,0x0C,0xD7,0xBC,0xCE,0x15,0x45,0xB1, -0x53,0x88,0x16,0xA4,0xE2,0x6B,0x68,0xB0,0x2E,0xB7,0x6C,0xA3,0xDD,0x06,0x54,0xB3, -0x79,0xA2,0x4B,0xD3,0xB3,0x68,0x3A,0xB3,0x72,0x73,0xA8,0x3B,0x4E,0x95,0x4D,0x39, -0x57,0x8C,0x02,0xB4,0x1D,0x81,0x7D,0x5A,0xE2,0x23,0xF8,0xFB,0x24,0xFF,0xBA,0xA4, -0x58,0x83,0x4E,0xF7,0xAD,0xC4,0x88,0x1F,0xBD,0x1A,0xC1,0x9D,0x69,0xB2,0x08,0x5B, -0x0B,0xD0,0x8C,0x66,0xB7,0x48,0x1E,0x93,0xFE,0x3C,0xE7,0xF8,0x7D,0xA6,0x58,0x1F, -0xD6,0x0D,0xAB,0x9C,0x85,0x45,0x21,0x9E,0xC4,0x10,0xCB,0xEE,0x14,0xCF,0xFE,0xD0, -0x77,0xAC,0x26,0xB0,0x12,0x3E,0xCD,0xE5,0xA3,0x16,0xCD,0x8F,0x05,0xDE,0x9E,0xA1, -0x8B,0x50,0x04,0x6E,0x83,0x6D,0x0F,0xB6,0xE5,0x11,0xCA,0xCE,0x61,0xBA,0x0A,0x51, -0x28,0xF3,0xFA,0x33,0xFA,0xEF,0xF4,0x34,0x36,0x67,0xBC,0x6B,0xA7,0x7C,0xE3,0x7E, -0x92,0x49,0x7F,0x0C,0xE0,0x63,0x62,0xB8,0xCC,0x0B,0xD0,0xFD,0xD3,0x08,0x37,0xDE, -0x71,0xAA,0x41,0xD1,0x2B,0xAC,0x66,0x77,0xC2,0xCC,0x17,0x34,0x70,0xAB,0x6A,0x20, -0x1E,0xC5,0xE9,0x16,0xAA,0xFB,0xB0,0x20,0xBA,0x28,0xF3,0xA8,0xC7,0x1C,0x67,0x9A, -0x47,0x9C,0x52,0xF4,0x64,0x03,0x86,0xD8,0xE4,0xFF,0x24,0x21,0xC1,0x1A,0x06,0xFD, -0xC9,0x12,0xB7,0x9F,0x87,0x4D,0x2B,0x96,0x71,0x8E,0x55,0xC5,0xD9,0x02,0x44,0xA7, -0xC7,0x1C,0xDA,0xFC,0x89,0xE5,0x8D,0x3E,0x6A,0xA3,0x78,0xF3,0x9F,0x44,0xA5,0x00, -0x52,0x89,0x37,0x84,0x27,0x0C,0xCA,0xD7,0x47,0x76,0xAD,0x0B,0x4F,0x94,0x6D,0x18, -0xAE,0x75,0x15,0x5A,0x18,0xB6,0x4F,0x6D,0x10,0x54,0x8F,0x7E,0xDF,0x04,0x25,0xC0, -0xD5,0x0E,0xF9,0xCD,0x90,0x76,0x07,0xAD,0xBE,0xE7,0x3C,0x63,0xF7,0x2C,0x23,0xEE, -0xB7,0x6C,0x6E,0x38,0x61,0x34,0xB4,0xEF,0x3F,0x92,0x49,0x97,0xDE,0x05,0x05,0xE1, -0x90,0x4B,0x0C,0x7D,0x69,0xB4,0x3C,0x6F,0x1A,0x5C,0x87,0x7C,0x71,0xAA,0x4A,0x01, -0xC2,0x19,0xEF,0xCC,0x26,0x1B,0xDC,0xC0,0xD3,0xE9,0x32,0x00,0x7B,0xA0,0x39,0x78, -0x0A,0xD1,0xAD,0x46,0x8E,0xDA,0xB5,0x01,0xE8,0x2B,0xF0,0xF9,0x29,0xF2,0x88,0x9B, -0x13,0xC8,0xD6,0x24,0x2F,0x8C,0x42,0x57,0xF0,0xFB,0x20,0x31,0x90,0x4B,0xE6,0x4C, -0xF5,0x2E,0xDD,0xC9,0xF6,0x4F,0x58,0x94,0x22,0x63,0xB8,0x7B,0xB9,0x62,0xC0,0x43, -0x51,0x8A,0x65,0xD5,0x3C,0x97,0x4A,0x4C,0xBF,0x09,0xD2,0x8C,0x6A,0xB1,0x59,0x09, -0x46,0x9D,0x73,0xD4,0x19,0xA1,0x59,0x7A,0x61,0x45,0x9E,0x1E,0x15,0xCE,0xDE,0xF1, -0x5D,0x86,0x7B,0xC7,0x82,0x7A,0x19,0xA1,0x08,0x84,0x5F,0xB6,0x3A,0xE1,0x99,0x99, -0xB3,0x68,0x7A,0x28,0xED,0xD4,0xD8,0x0F,0x91,0x21,0xFA,0x8A,0x02,0xD9,0xDF,0xE7, -0x3B,0xE0,0xF8,0x22,0x52,0x2E,0x9D,0xF5,0x96,0x13,0xC8,0xBF,0x85,0x5E,0x96,0x29, -0x86,0x5D,0x3B,0x5C,0xA1,0x64,0x24,0xBF,0xAE,0x2C,0xF7,0xB8,0x66,0xBD,0x4B,0x17, -0xAF,0x74,0x34,0x7A,0x4F,0x9D,0x33,0x46,0x50,0x8F,0x54,0xE5,0xA5,0x7E,0x92,0x0D, -0x30,0xEB,0xA0,0x71,0xCB,0xFD,0xD7,0x26,0x89,0xF1,0x2A,0x42,0x03,0xD8,0xFF,0xC6, -0x50,0x8B,0x44,0xF5,0x01,0x25,0xC5,0xFE,0x06,0x43,0x98,0x7F,0x48,0x93,0x2C,0x5E, -0x35,0xEE,0x95,0x41,0xD0,0x66,0x57,0xBD,0xE0,0x30,0xEB,0xEA,0x2A,0xF1,0xD9,0xC9, -0x7D,0xA6,0x5F,0xC3,0xA9,0xE4,0xAC,0x3F,0x9E,0x08,0xD3,0xAC,0xCD,0x16,0x14,0xE3, -0x27,0xFC,0xB6,0x70,0x47,0x1D,0xBB,0xC6,0x1C,0x80,0x5B,0xA6,0x6E,0xB5,0x49,0x1D, -0x8D,0x56,0x63,0x0F,0xA7,0x4C,0x0A,0x97,0xA8,0xF0,0x2B,0x62,0x59,0x82,0x4C,0x2F, -0xE3,0x38,0xEA,0xE8,0x80,0x72,0x13,0xA9,0xED,0x0A,0xD1,0xDD,0xDB,0x00,0x35,0xD4, -0xFC,0x27,0xF6,0xEB,0x77,0x18,0x8E,0xC3,0xAA,0xE3,0x38,0x73,0xD2,0x09,0x17,0xFF, -0x0E,0xD5,0xB9,0x56,0xE9,0xF4,0xFC,0x2F,0x0B,0x79,0xA2,0x48,0x91,0x4A,0xC6,0x6D, -0x75,0xAE,0x55,0xC1,0x91,0x61,0x11,0xBA,0xF7,0xC9,0x12,0x04,0x36,0xED,0x8B,0x87, -0x83,0x58,0x0E,0x6C,0x51,0x31,0x81,0xEA,0x93,0x32,0xE9,0x9B,0x5B,0x80,0x3D,0x5C, -0x6F,0xB4,0x7C,0xF2,0xC8,0xE2,0xCB,0x39,0xC3,0x22,0xF9,0xDB,0x9B,0x40,0xB5,0x14, -0x8A,0x51,0x25,0x4E,0x53,0x39,0x8B,0xE2,0x45,0x65,0xBE,0x1A,0x64,0xBF,0x3A,0x64, -0x3D,0xE6,0x9F,0x43,0x11,0x21,0xD1,0xFA,0x6F,0x82,0x59,0xD7,0xAB,0x70,0xF1,0x60, -0x60,0xBB,0x30,0xB1,0x32,0x3F,0xEC,0xE4,0x05,0xBE,0x65,0x81,0x06,0xDD,0xCF,0xF3, -0x43,0x81,0xC6,0x26,0x5A,0x68,0xED,0xD6,0x6D,0xDE,0xE8,0xD2,0xA2,0x5D,0x1B,0xD8, -0x17,0x51,0x92,0xA2,0xB1,0x21,0xA4,0x74,0xD5,0x90,0x50,0x24,0x52,0x08,0xBE,0x8D, -0x0E,0x33,0x8B,0xD9,0xCC,0xE4,0x61,0xCC,0xD4,0xB0,0x51,0x05,0xC8,0xC4,0xE8,0x41, -0x25,0x64,0xA0,0xA5,0xE4,0x10,0x95,0x10,0x35,0x1C,0xB0,0x48,0xFE,0xE9,0xF3,0x6C, -0x62,0xA5,0xE7,0x23,0xD6,0x27,0xA2,0x15,0x5E,0xCB,0xDB,0xF4,0x07,0x2B,0xC8,0xAE, -0xFC,0x8E,0x79,0x96,0xAB,0xE2,0x67,0xAD,0x4F,0xAB,0xCA,0x85,0x5F,0xBF,0x04,0x3A, -0x91,0x38,0x14,0x4D,0x39,0xA1,0x24,0x7C,0xCB,0xB3,0x4E,0x19,0x00,0x14,0xF0,0x91, -0x07,0x11,0x82,0xF2,0x42,0xB8,0x3D,0x1E,0x00,0x68,0x85,0x09,0x03,0x0B,0xEC,0x8E, -0xE6,0xBD,0x63,0xBF,0x4E,0x6C,0xE9,0xC6,0x27,0x2D,0xA2,0x6B,0xEB,0xDA,0xD5,0x5F, -0x42,0xA1,0xC7,0x07,0xF5,0x35,0xB0,0x24,0xFE,0xC7,0x7B,0x58,0x88,0xD4,0xB8,0x51, -0x4F,0x93,0xCA,0x38,0x00,0x70,0xF5,0x94,0xD1,0x80,0x54,0x30,0xE1,0x52,0x57,0xD7, -0x97,0x59,0x12,0x2A,0x36,0x88,0x0D,0x5A,0xEA,0x97,0x6F,0x1C,0xDB,0xDF,0xE0,0x5A, -0x45,0xE0,0xC0,0x41,0xE7,0xED,0x68,0xEE,0x0C,0x7A,0x89,0x17,0xAE,0xFD,0xB7,0x78, -0xA5,0x6C,0x20,0x2D,0x45,0x8A,0x0F,0x2B,0x74,0xBC,0xF1,0xA9,0xD1,0x57,0x62,0xD2, -0x3D,0x26,0xB8,0xFF,0x9B,0xC6,0x43,0xB9,0x57,0xE9,0xD2,0xDF,0xE5,0x72,0x73,0xF7, -0xAC,0x4E,0x29,0x06,0xAF,0x2D,0xA8,0x66,0x31,0x0C,0xB4,0x5C,0x05,0x23,0xC2,0xA6, -0xA0,0x5C,0x25,0x18,0x66,0x98,0x1D,0x1A,0x48,0xEA,0xCD,0xC3,0x1D,0xA7,0x5E,0x22, -0xA3,0x0D,0x26,0x4A,0x3B,0xB2,0x37,0x6D,0xDB,0xF3,0x5E,0x49,0x85,0x63,0x02,0xE6, -0x0D,0x62,0x88,0x8B,0x82,0xF8,0x7D,0x9E,0x49,0xCA,0xCC,0xE2,0x2A,0x9D,0x53,0x18, -0x6E,0xB7,0xEB,0x3D,0x5D,0x5A,0xDF,0xE3,0x5B,0xFB,0xDE,0xC1,0x02,0x1C,0xFA,0x99, -0x83,0x09,0x06,0x6E,0xFC,0xC0,0x45,0xD8,0xE8,0xE6,0x6D,0x6F,0x46,0x2C,0x8E,0xA9, -0x8E,0x3B,0x0B,0x51,0xDB,0x1D,0x98,0x22,0x81,0x40,0x04,0xA0,0x50,0x00,0xB4,0x85, -0x4A,0xA3,0xCF,0x0D,0x72,0x9C,0x19,0x0A,0xB1,0x04,0x34,0xD4,0x45,0x33,0x92,0xB6, -0x0F,0x13,0x8A,0xF8,0x3E,0x93,0x16,0x49,0xFC,0xB6,0x79,0x2B,0x23,0x0A,0xCD,0x8F, -0x24,0x44,0xA1,0x84,0x8A,0xE3,0x66,0x8D,0x32,0x5D,0xB7,0x0E,0xD5,0x77,0x46,0xF2, -0xA8,0x5E,0x2D,0x12,0x0F,0x59,0xDC,0xB2,0x46,0x89,0xC3,0xAE,0x43,0x1B,0xBC,0x9E, -0xF5,0xAC,0x70,0xBD,0x56,0xBC,0x39,0x0E,0x90,0x20,0x15,0xD1,0x31,0x06,0xD3,0x83, -0xA6,0x3D,0x23,0x7F,0x74,0x40,0xC5,0xD0,0xF4,0xB4,0x71,0x21,0x70,0x01,0x95,0x84, -0xC8,0xDA,0x4D,0xF6,0x22,0x8C,0x09,0x4A,0x54,0xB8,0xD1,0x8D,0x9F,0xEF,0x94,0x6A, -0x86,0x39,0x03,0x5B,0xC7,0x02,0x87,0x21,0x4C,0xFA,0xC9,0xD7,0x7B,0x9E,0x01,0x1B, -0x67,0x95,0xE2,0x16,0x31,0xBA,0x3F,0x6F,0xE5,0xD4,0x60,0x50,0x8A,0xDC,0xB2,0x59, -0x30,0x14,0xB5,0xC0,0x99,0xD5,0x50,0xA8,0x52,0xD9,0xD7,0xEA,0x16,0x38,0xCA,0xBD, -0x7D,0xA6,0xF8,0x3F,0x65,0x65,0xE0,0xE4,0x4A,0x9B,0xCF,0xB0,0xC0,0x44,0x60,0xC1, -0xBD,0x2E,0x38,0x77,0x89,0x1E,0x9B,0x73,0x62,0x9D,0xE7,0x9E,0xDD,0xF7,0xCE,0x72, -0x2E,0x37,0xAB,0xFD,0xAA,0x0C,0x89,0x42,0x0A,0x1B,0x8F,0x70,0x4D,0xB3,0x1A,0x36, -0xC7,0x99,0x42,0xBA,0x47,0x99,0x1C,0x3A,0xDA,0xD3,0x5F,0x68,0xB5,0x66,0x37,0xE3, -0xD0,0x98,0x55,0xAC,0x9F,0x09,0x8C,0x72,0xEE,0x87,0x6B,0x08,0xBE,0xF9,0xA3,0x7C, -0x11,0x30,0x94,0xC5,0xDD,0xC1,0x44,0xF8,0xBC,0x36,0x39,0xEB,0x47,0x3B,0x98,0xBE, -0xFF,0xDF,0x7A,0xC4,0x1E,0x7C,0xF9,0x86,0x4B,0xBB,0xCE,0x91,0x29,0x82,0x4F,0x07, -0x7F,0xD7,0xFA,0x4C,0x7C,0x5B,0xDE,0xC3,0xE4,0xF4,0x61,0x71,0xC2,0x4C,0x6A,0xC9, -0x5C,0x82,0xD9,0x3A,0x15,0x9A,0x1F,0x6B,0xFF,0xE7,0x7A,0x79,0x32,0x19,0xCF,0x9C, -0x6A,0xA7,0xEF,0x29,0x03,0x8D,0x08,0x6A,0x80,0x60,0x05,0x81,0xA0,0x55,0x11,0xD0, -0x47,0x91,0xC2,0x32,0xA6,0xD8,0x5D,0x9A,0x05,0x58,0x80,0x3C,0x8F,0xEB,0x80,0x6E, -0x84,0x48,0x01,0x28,0xAD,0x3E,0xBB,0x77,0x2C,0x7E,0xA9,0x33,0xC5,0x73,0x52,0xF6, -0xE5,0xEC,0x60,0xED,0x88,0xF0,0x75,0x9C,0x10,0x28,0x95,0x59,0x01,0x03,0xE6,0x86, -0xAF,0x1F,0x2A,0x54,0x4B,0x4D,0xC8,0xE2,0xF3,0xF5,0x76,0x67,0x06,0x3C,0xDE,0xB9, -0xB1,0x3C,0x34,0x69,0x0B,0x96,0x13,0x79,0xAF,0x27,0x2A,0xE9,0x08,0x94,0x78,0x11, -0x1F,0x53,0x9A,0xA8,0x0A,0x78,0xFD,0x96,0x97,0x61,0x12,0x97,0x34,0x31,0xE1,0xB4, -0xEE,0xBF,0x6B,0xB5,0x34,0x9B,0x1E,0x4B,0xDD,0x92,0x58,0x2E,0xC1,0x53,0x76,0xD6, -0xAD,0x6E,0x28,0x27,0xE5,0xFE,0x7B,0xFF,0xBF,0x67,0x3A,0xB9,0x54,0x20,0x90,0xA5, -0x56,0xF1,0xD3,0x43,0x44,0x64,0xE1,0xC4,0x30,0x2C,0xB5,0x7D,0x5B,0x9F,0x20,0x1A, -0x36,0x75,0xB3,0xA7,0xD0,0xFB,0x7E,0xCF,0x96,0x41,0x13,0xB6,0xFC,0xE1,0xF9,0x64, -0x87,0x19,0x02,0x7A,0x13,0x46,0xC3,0xB1,0xCC,0xF2,0x49,0x5F,0xDC,0xE0,0xD8,0x65, -0xB9,0x3E,0x3C,0x63,0x9A,0x28,0xAD,0x56,0x4E,0x8B,0xCB,0xA4,0x63,0x1A,0x9D,0x9F, -0x2F,0x17,0xAA,0xDC,0x2F,0xB6,0x33,0x7D,0x58,0xAA,0xDD,0x93,0x12,0x18,0xEE,0x9D, -0xD6,0xF9,0x53,0xCB,0xC6,0xEC,0x69,0xCE,0xFB,0xF7,0x7E,0x6D,0x18,0x90,0x6C,0x15, -0xAA,0x2F,0x2F,0x61,0x25,0xBE,0x3B,0x7F,0xA3,0x35,0x26,0xF7,0xBA,0xD9,0x87,0x5C, -0xFA,0xEF,0x7F,0xF1,0x7E,0x48,0xCD,0xD2,0xCE,0x83,0x4B,0x2C,0x25,0x22,0xE3,0xA7, -0xD3,0xC9,0x56,0xFE,0x86,0x37,0xB2,0x55,0x47,0xA9,0xC2,0x8F,0xCD,0xF3,0xDA,0x76, -0x3F,0x57,0xBA,0x8C,0xC9,0xC5,0x40,0xE8,0x04,0x78,0x81,0x1D,0xF6,0x69,0x7B,0xEC, -0xEA,0xAF,0x6F,0xA1,0xEF,0xF6,0x73,0xFD,0x3E,0x4F,0xBB,0x10,0x69,0x92,0x1F,0x17, -0xF4,0x8C,0x71,0x9C,0x40,0xAB,0x2E,0x0F,0x93,0x71,0x16,0x83,0x3F,0xAE,0x75,0x2B, -0x29,0x76,0xAC,0xBB,0x0C,0xA4,0x21,0x4C,0x0E,0x0B,0x8B,0x64,0x65,0x32,0xB3,0xB7, -0xF2,0xED,0x77,0xFB,0x55,0x41,0xC4,0xF0,0xF1,0x84,0x74,0x14,0xA4,0x75,0x35,0xF0, -0x8B,0x74,0x3A,0x19,0x9A,0xD4,0xE6,0x2B,0x25,0x96,0x69,0xE4,0x2E,0xD1,0xAA,0xD3, -0x95,0x6A,0x07,0x3A,0x68,0x89,0x49,0x76,0xB6,0x3B,0xC4,0xDA,0x12,0xED,0xFC,0xB9, -0x8D,0x72,0x5D,0x78,0x65,0x3E,0xF3,0xC1,0xB2,0xF4,0x0B,0x11,0xF5,0x0A,0x31,0x93, -0x56,0xA9,0x1D,0xE3,0xD9,0xDB,0xAA,0x24,0xC2,0x0B,0xF4,0x9E,0xB2,0x4D,0xF0,0x15, -0x85,0x7A,0x57,0x7A,0x47,0x37,0xD8,0xC8,0x8A,0xCB,0x34,0x16,0xA2,0x5D,0xB0,0x45, -0xD5,0x2A,0xC7,0xBA,0xEA,0xC1,0x83,0x3E,0x51,0xA6,0x59,0xA0,0x59,0xA6,0x2F,0x21, -0x40,0xBF,0x2A,0xC2,0x7D,0xBA,0x6F,0x45,0xBB,0x01,0xFE,0xED,0xE9,0x16,0x63,0xDD, -0xAC,0x53,0x58,0x5C,0xC0,0x48,0x20,0xB7,0x29,0x42,0xBD,0x3C,0x73,0x8C,0x58,0x7C, -0xC6,0x39,0xC5,0xAB,0xC3,0x57,0x3C,0xA8,0x02,0x4B,0xB4,0x1E,0x9A,0x65,0xF6,0x3B, -0xF8,0x07,0xDC,0x8C,0x24,0x39,0xB5,0xC6,0xF9,0xC9,0x36,0x67,0x60,0x9F,0x49,0x7E, -0xA9,0x56,0x6D,0x6C,0x5B,0x93,0x60,0x6C,0xCB,0xFE,0x01,0x62,0x10,0xEF,0x8D,0xCA, -0x50,0xAF,0x7A,0x82,0xE8,0xC9,0x89,0x36,0x35,0x5D,0xA2,0x3F,0x98,0x67,0x87,0x48, -0xD2,0x2D,0x81,0xFB,0x6A,0x81,0x43,0x7E,0x1F,0xBA,0x45,0xF2,0xA0,0x5F,0xC1,0x36, -0x91,0x6E,0x13,0x2A,0xDE,0xE4,0x92,0x1B,0x88,0xD8,0x27,0x07,0xD3,0x2C,0x54,0xD0, -0x49,0xB6,0x01,0xE0,0x5A,0x84,0x76,0x7B,0x10,0x93,0x6C,0xD4,0x61,0x9E,0x69,0x5F, -0x29,0xD6,0xE5,0x64,0x51,0x1B,0xE2,0xE4,0xDB,0x35,0xCA,0xB9,0x1F,0xE0,0xCE,0x86, -0xD0,0x2F,0xF2,0x8A,0x77,0x32,0xED,0xCD,0xC1,0xF6,0x09,0x60,0xBC,0x43,0x93,0x78, -0x9A,0x65,0x4B,0x79,0x09,0x8F,0x2E,0x70,0xFF,0x15,0xEA,0xBD,0x83,0x7C,0x94,0x40, -0x60,0x9F,0x0E,0xC6,0x03,0x07,0xAC,0xF8,0x31,0x92,0x6D,0xF4,0xB1,0x4E,0xA1,0x47, -0xCE,0x31,0xCF,0xA9,0xEC,0xE9,0xAD,0x16,0x4F,0xAA,0x55,0xB2,0x14,0xEB,0x9D,0xDE, -0x15,0xEA,0x8F,0x32,0xFF,0xF2,0xA5,0x0D,0x27,0x85,0x7A,0xF5,0xD5,0x2A,0x35,0xB7, -0x23,0xDC,0x9C,0x17,0xFE,0xE5,0xB3,0x1A,0xDF,0xFA,0x05,0x72,0x99,0x66,0xA7,0x69, -0xFB,0x04,0x8E,0xDD,0xE2,0x41,0x0B,0xBE,0x95,0x29,0xD6,0xEB,0xF3,0x0C,0x50,0xF4, -0x38,0xC7,0x94,0x04,0x0F,0xA7,0x00,0x58,0x9A,0x00,0xFF,0xCD,0x6B,0x94,0x1A,0x26, -0x6E,0x91,0x63,0xA5,0x6D,0xBE,0x7B,0x41,0x4D,0xB9,0x46,0xA3,0xBB,0x44,0xD2,0x3E, -0xAF,0x50,0x0A,0x0D,0xE7,0x76,0x39,0x89,0xAE,0xEB,0x14,0x12,0x79,0x86,0x2B,0x05, -0x00,0xFF,0xEA,0x42,0x56,0x24,0xDA,0xDB,0xD7,0xE1,0x1E,0x61,0xCC,0x33,0x57,0xCC, -0x80,0x7F,0x62,0x4A,0x13,0x03,0xB8,0xFC,0x37,0x4E,0xB1,0x2E,0x02,0xFD,0xBC,0xE9, -0xC2,0x3D,0xD1,0xBB,0xE6,0x61,0x2F,0x9E,0x38,0x67,0x98,0x08,0x77,0x88,0x48,0x68, -0x02,0xFD,0x99,0x33,0x71,0x1A,0xC3,0xE5,0x16,0x4F,0xB0,0x0E,0xC4,0x3B,0x55,0xC6, -0xB8,0x47,0x1C,0x0C,0xAF,0xE6,0xE1,0x19,0xCE,0xDF,0x20,0x46,0xE6,0x19,0x20,0x91, -0x51,0xAE,0x5B,0xA2,0xD7,0x73,0x0C,0x8C,0xD6,0x0F,0xF0,0x8E,0x33,0xCC,0xD8,0xBC, -0xF9,0x06,0xFD,0xAC,0xB4,0x7D,0x61,0x82,0x71,0x49,0xB6,0x6F,0x1E,0xE1,0xEE,0xA7, -0xB7,0x48,0x50,0x4F,0xDF,0xF3,0x84,0x0C,0x2B,0x51,0xAE,0x2D,0x6F,0x90,0x0A,0x32, -0x4F,0xB0,0x66,0x81,0x3D,0xAA,0x3F,0x55,0x4C,0x57,0xA8,0x4C,0xB8,0x47,0x83,0x6C, -0x18,0xE7,0xB0,0x00,0xFA,0xC5,0x97,0x3A,0xF6,0xE0,0x1F,0x41,0x5C,0xA3,0x1F,0x14, -0xD7,0x28,0xB4,0xCB,0x27,0x26,0xA9,0xD9,0x08,0x43,0xBC,0x1C,0x9B,0x64,0xD6,0x1A, -0x5B,0xA4,0x22,0xD1,0x18,0x9C,0x2C,0x63,0xA8,0x37,0xC8,0xC8,0xF7,0x08,0x40,0xE0, -0xD9,0x26,0xD9,0xA8,0x45,0x3F,0xD2,0xC0,0x87,0xF1,0x0E,0x21,0x81,0x7E,0xE5,0x33, -0x8A,0x75,0x1B,0x39,0x9B,0xC3,0xF0,0x3C,0x77,0x95,0x6A,0xB5,0x86,0x79,0xA4,0x75, -0xF1,0x0E,0xF7,0xAE,0xB7,0x62,0x7D,0x9D,0x06,0x84,0x7B,0xD5,0x80,0x7F,0xC5,0x12, -0xFC,0x03,0xC8,0x9C,0x4D,0xBF,0x5A,0x40,0xC9,0xED,0x12,0x73,0xAC,0x53,0xD3,0x28, -0x70,0x8F,0x5E,0x86,0xDC,0xEC,0x98,0x13,0x8D,0xF9,0x06,0x23,0x8A,0x75,0xB6,0x6B, -0x35,0xCA,0xAB,0x36,0x9F,0xE3,0xD4,0x1C,0x72,0xB4,0x4B,0x91,0xB3,0x4C,0xD0,0x34, -0xDC,0x23,0xEC,0x98,0xF8,0xCD,0x9D,0x32,0xEF,0xDE,0x21,0x66,0xE3,0x1C,0x10,0xA4, -0xDF,0x20,0xBE,0xC9,0x8F,0xE7,0xC0,0x18,0x65,0x4D,0xB2,0x7F,0x27,0xD8,0x88,0xF8, -0x11,0xEE,0x9B,0x22,0x76,0x25,0xFB,0xDA,0x67,0x5E,0xA1,0x6E,0x9C,0x63,0x97,0x5C, -0x72,0x8D,0x2D,0xF7,0x0B,0x87,0x24,0x78,0x44,0x4C,0xB3,0x5F,0x1D,0xE2,0xBF,0xF5, -0xDA,0x25,0x8B,0xF9,0xBE,0xF5,0xE3,0x0A,0x0F,0x71,0x8E,0x29,0xD7,0x28,0x44,0xC4, -0x3A,0xC5,0xE7,0x75,0x7B,0x92,0x41,0x6D,0xB1,0x09,0xF6,0xEF,0x7D,0x82,0x3B,0x11, -0xD3,0x2C,0xA0,0xDB,0xF3,0x52,0x09,0xAD,0xFA,0x34,0xCB,0x99,0xA3,0x5C,0x90,0x64, -0x42,0xBD,0x59,0xB3,0x2C,0xB9,0x3D,0x46,0x79,0x52,0xAD,0x7C,0xF2,0x0D,0x70,0xD5, -0x3D,0xC2,0xA1,0x34,0xB1,0x4A,0x53,0xB5,0xFE,0xFB,0x04,0x52,0x54,0xAB,0x1D,0x1E, -0x99,0x66,0x19,0x28,0x53,0x13,0xE8,0xEC,0xCD,0x22,0xDD,0xB8,0x5A,0xA5,0x7E,0x73, -0xE8,0x17,0x8C,0xCC,0xCF,0xF7,0x90,0x08,0xBA,0xEF,0x10,0x02,0x5F,0xA0,0x4E,0x46, -0x30,0xCF,0x9E,0x06,0x01,0x0F,0xA6,0xF0,0x96,0xD4,0x2B,0x15,0xD2,0x2D,0x74,0xF1, -0x83,0x7C,0x30,0x1B,0x38,0x9D,0x0D,0x62,0x23,0x4A,0xB5,0x3E,0x3F,0xC0,0xCA,0xA2, -0x1D,0xE2,0x85,0x30,0x80,0x58,0x70,0xA7,0x52,0x5B,0xA4,0x5E,0xAB,0x54,0x92,0x6E, -0x78,0x87,0x54,0x84,0x8B,0xC7,0xE4,0x38,0xAF,0x05,0xFA,0xFD,0x8B,0x74,0x96,0x4A, -0xEE,0x11,0xEB,0xAD,0xE9,0xDE,0x9F,0x21,0xBF,0xCE,0x31,0x26,0x94,0x6B,0x95,0x56, -0x68,0x97,0x04,0xC4,0xE1,0x5E,0x17,0xA1,0x82,0xD0,0x2F,0x05,0x88,0x77,0xC7,0x18, -0x3C,0xC3,0x80,0x14,0x43,0x17,0xFC,0xE8,0x74,0x68,0x97,0x4B,0xDD,0x22,0x37,0xBD, -0x5A,0xA5,0x03,0xF1,0x85,0x6F,0x42,0x90,0xEE,0x30,0xCF,0x89,0x69,0x96,0x6B,0x55, -0x71,0x8E,0x7F,0xA6,0x59,0x9B,0x6A,0x64,0xA3,0xD1,0x2E,0x25,0x44,0xBB,0x5D,0x4E, -0xF1,0x32,0x17,0x63,0x51,0xC4,0x25,0x35,0xF4,0x0C,0x2C,0x80,0x51,0x5B,0xAA,0xDE, -0x75,0xD6,0x77,0x03,0xCE,0xCF,0xBA,0xA1,0x52,0xC7,0x41,0x26,0x88,0xFC,0xD4,0xA0, -0xBF,0xC4,0xAF,0xDB,0xAE,0x4B,0xDA,0x45,0x19,0x5F,0x92,0x6D,0x07,0xC1,0x66,0x12, -0x6E,0x56,0xEC,0x98,0xCB,0xFF,0xBF,0x94,0x7B,0xC8,0x67,0x0F,0xE1,0x54,0x15,0x61, -0x17,0xAD,0x6E,0x1A,0x83,0x7D,0xF7,0x5E,0x9C,0xE2,0xAA,0xE8,0x9F,0x12,0x2D,0x59, -0xF9,0xBA,0x97,0xE3,0xD9,0xCE,0xAD,0xB7,0x3F,0x1C,0xF7,0x4B,0x1D,0x18,0xA5,0xD1, -0x19,0x0B,0xC6,0xB2,0x73,0xB1,0x07,0x62,0x08,0x2E,0xF2,0x7C,0xA9,0xDC,0xD5,0xA1, -0x3E,0x12,0xF8,0x8C,0x1D,0x56,0x69,0xEB,0x8A,0xD5,0x8B,0xFE,0xEC,0x63,0x2F,0x5B, -0xC9,0x8F,0x92,0xE6,0x02,0x55,0x76,0xF7,0x83,0xFE,0xA9,0xF7,0xAB,0xCD,0xC6,0xB2, -0x57,0xFD,0x7E,0x0A,0xF0,0xE8,0x84,0xB8,0xC0,0x6C,0x78,0xB4,0x0A,0xF6,0x5C,0x28, -0x2F,0x10,0xEB,0x9F,0x8B,0x7F,0xFF,0x54,0x67,0x86,0x35,0x13,0xF6,0xBA,0xEC,0x98, -0xEF,0x80,0xBB,0xCF,0x7D,0xD2,0x09,0x0F,0x0A,0x5D,0x83,0x7E,0x92,0x25,0x17,0x63, -0x76,0xCA,0x68,0x1C,0x91,0x4C,0xE5,0x7D,0xCA,0x15,0x0B,0xBE,0xC2,0x65,0x07,0x73, -0xED,0x8A,0xB3,0xC7,0x74,0xF0,0x00,0x24,0x35,0x65,0x84,0x41,0x44,0xA4,0x40,0x34, -0xAF,0xD0,0xAB,0xDF,0xC3,0xFD,0xB7,0x9E,0xFA,0x61,0x4F,0x8E,0x6E,0x69,0xA7,0xD3, -0x8C,0xED,0xB5,0xC1,0x9E,0x0F,0xEA,0x31,0x57,0xF2,0x71,0x23,0x04,0x3F,0x9B,0xEF, -0x37,0x8C,0x6F,0x1B,0x39,0x42,0x4D,0xDB,0xCE,0x01,0x1B,0xBA,0x6B,0x4D,0x86,0xF2, -0x99,0xCB,0x86,0xF2,0xAC,0x3A,0xD8,0x36,0x1E,0x19,0xD3,0x6A,0x46,0xB5,0x53,0x27, -0xA6,0x4E,0x3C,0x48,0x50,0xE4,0x24,0x14,0x8E,0xC1,0x9B,0xFA,0x11,0xC0,0x71,0x05, -0x2E,0x06,0xFC,0x88,0x2B,0x73,0x5F,0xF8,0xA6,0xEF,0x9D,0xD2,0xBF,0xDD,0xC2,0xB6, -0xDF,0xB5,0xBE,0xCA,0x49,0x86,0x3D,0x6F,0x8F,0xE0,0xBB,0xFB,0x3E,0x29,0xB7,0xC3, -0xD7,0x3D,0x3E,0x4A,0x6E,0xC3,0x1A,0x0D,0x20,0x00,0xF4,0x54,0x1B,0xC2,0x79,0x0D, -0x98,0xDD,0x91,0xE5,0x3C,0x72,0x48,0xEE,0x2A,0x79,0x87,0x5E,0xD2,0xBE,0xCC,0xB8, -0x30,0xB4,0x50,0x24,0xF4,0xF8,0x80,0xAC,0x78,0x9A,0x36,0x0C,0xE9,0x47,0x0E,0x7A, -0x91,0x43,0x06,0x72,0xED,0x9A,0x99,0xD7,0xC1,0x4D,0x58,0xB5,0xF1,0x8F,0xDE,0xAA, -0x48,0x59,0xC5,0xB1,0x0B,0x77,0x7F,0xDC,0xE8,0x42,0x7E,0x9C,0x23,0xC5,0x46,0x32, -0x82,0x4B,0x1D,0x69,0xAF,0x6B,0xDB,0x64,0x3B,0x08,0xE7,0x4F,0xBE,0x32,0x2C,0x58, -0xA7,0x58,0x2B,0x5F,0xB8,0x6A,0xCC,0x72,0x44,0xF0,0x60,0x30,0x60,0xA0,0x60,0x14, -0x3C,0x18,0xF0,0x84,0xA3,0x79,0xD7,0x7A,0x6B,0x98,0x27,0x1F,0x09,0x08,0xA1,0xD5, -0x53,0xD9,0x5E,0x2A,0x4D,0x96,0x39,0x7B,0x53,0xE6,0x61,0x27,0x90,0x34,0x04,0x70, -0xEC,0x9C,0xA4,0xD0,0xC5,0x9C,0xB1,0xF9,0xD4,0x28,0x28,0xA0,0x97,0x01,0x36,0x42, -0x1F,0x25,0xEE,0x9A,0x78,0xE2,0x0C,0x3A,0x37,0x16,0xF5,0x43,0xAF,0x06,0x09,0x7D, -0x62,0xFA,0x4C,0x38,0xCD,0x9E,0xB9,0xF3,0x8D,0x93,0xCA,0xF9,0x22,0x2A,0xA8,0xDC, -0xB7,0x4C,0x2F,0x5B,0x6F,0xE3,0x1B,0x2C,0x9F,0xB0,0xFB,0xEB,0x8B,0x02,0x29,0x5D, -0x5C,0x69,0xE1,0x95,0xAD,0x1A,0xD9,0x17,0x8C,0xB2,0xEA,0xF8,0x2F,0x1D,0x92,0xE6, -0x0D,0x3B,0xE2,0x96,0x87,0x6D,0xF3,0x4A,0x1F,0x38,0xF3,0x6B,0x73,0x85,0x56,0x22, -0xA3,0x7C,0x0B,0x7F,0xA9,0x0A,0xDD,0x03,0x75,0xA5,0x04,0x01,0xE3,0x45,0x06,0x72, -0x13,0x89,0x4E,0x3A,0xA6,0x49,0xD2,0x4F,0x38,0x5A,0xB6,0x4C,0xBC,0x23,0x3F,0x4B, -0x09,0x1F,0xC2,0xB6,0xF5,0xD8,0x81,0x8D,0x2C,0x1E,0xE6,0x58,0xFF,0x46,0x19,0x6D, -0x3B,0x20,0xCF,0xBB,0x28,0x22,0x5C,0xAA,0x45,0xD1,0x40,0x31,0xC5,0x50,0x35,0x41, -0xAC,0xCC,0xB4,0xC0,0x89,0x0E,0xFD,0x27,0x54,0xA0,0x20,0x20,0xA2,0x31,0x33,0x47, -0x3D,0x0E,0xE7,0x93,0x75,0xD0,0x01,0x05,0x30,0x50,0xB4,0x44,0xE4,0x70,0x34,0x40, -0x44,0xF5,0x65,0x11,0xD6,0x8D,0xA2,0xFB,0xF6,0x7F,0x5D,0x82,0x37,0xD5,0x42,0x36, -0x5E,0x63,0xE9,0x9D,0x6C,0xB2,0x18,0x7E,0x82,0xDF,0x89,0xF6,0xCD,0x43,0x2E,0x5A, -0x95,0x67,0x26,0x52,0x8F,0x6F,0xFB,0x40,0x21,0x21,0xD4,0x55,0xC3,0x8A,0xE9,0x9D, -0x14,0xB1,0x71,0x05,0xE0,0xA8,0x94,0xE8,0x96,0x9B,0xD9,0xE2,0xBB,0x16,0x0D,0x79, -0xDA,0x87,0x89,0xFD,0xB9,0x4A,0xCD,0x53,0x90,0xFC,0xB8,0xE4,0xE5,0x9F,0xDA,0xAE, -0x39,0x2A,0xC7,0xB3,0x37,0x21,0x43,0xB6,0x88,0xA6,0xFA,0xFC,0x70,0x7B,0xAB,0xDF, -0x33,0xA8,0x4F,0x3B,0xD1,0xCC,0xA5,0xBD,0x10,0x74,0xB0,0x64,0x99,0xC8,0xF1,0x85, -0x64,0xD4,0x64,0x10,0x25,0x10,0x51,0x95,0xF1,0x39,0x1C,0x85,0x82,0xFE,0xDC,0xA8, -0x81,0x57,0x02,0x76,0x5D,0xD6,0x29,0x2B,0xA9,0xA3,0xDE,0xDD,0x6A,0xA2,0x68,0x1C, -0x51,0xD3,0x56,0x22,0x14,0x74,0x60,0xC0,0x11,0x55,0x90,0x65,0xCF,0x52,0x3D,0x49, -0x38,0x3C,0xD0,0xA4,0x94,0x7C,0xE0,0x48,0x0F,0x68,0xB3,0x7B,0x81,0x00,0x21,0x55, -0x11,0x83,0x46,0x32,0x8D,0x1E,0xF9,0x33,0xC4,0x78,0x68,0xB0,0x9D,0x03,0x3E,0x4A, -0xA5,0x52,0x23,0x57,0x12,0x15,0x66,0xA7,0x9A,0x85,0xCB,0xEE,0xB9,0x07,0x1E,0x6A, -0x8E,0xE7,0xBD,0xC9,0xD7,0xAD,0xA3,0xDA,0x8B,0xF4,0xAB,0xFF,0x75,0x5F,0x8A,0xFE, -0x93,0x49,0x0E,0x7A,0x45,0x94,0x31,0x71,0x15,0x41,0x80,0x61,0x26,0xE1,0x67,0x13, -0x59,0x5B,0xD6,0xA2,0xBD,0x5A,0xC9,0x47,0x2E,0x6D,0x97,0x5A,0x91,0xDB,0xEA,0x9E, -0xBD,0xCE,0xA7,0xD3,0x59,0xC6,0x2D,0x3F,0xE3,0x1A,0x2D,0x97,0xA4,0xEB,0xEF,0x9B, -0xA1,0x76,0x03,0x77,0x00,0x24,0x74,0x84,0x3A,0x29,0xC7,0x4E,0xC9,0x88,0xE1,0x95, -0x26,0x8E,0x7C,0x08,0xF3,0xB9,0x87,0xEA,0x93,0xAE,0xE9,0xE7,0x02,0xE5,0x47,0x33, -0x4E,0x77,0xED,0x99,0x18,0x66,0x6C,0xDE,0xF5,0x2D,0x0C,0x81,0xB3,0x05,0x16,0x62, -0xE0,0x30,0x04,0x70,0xD8,0xEE,0xAC,0x96,0xC8,0x66,0x7A,0xBC,0xC6,0xAE,0xC8,0xBC, -0x6C,0x5C,0xE4,0x90,0xBF,0x2B,0xCB,0x34,0xB0,0xD8,0xBC,0xC4,0x13,0xD1,0x62,0x16, -0xE1,0xF0,0xD2,0x72,0xC2,0xAD,0x62,0x0C,0x2A,0xC6,0x2F,0x8A,0xDA,0x2C,0x95,0x35, -0xF6,0xDC,0xE9,0x49,0x4F,0x97,0xEF,0xBB,0xF2,0xD4,0xE5,0x52,0xEC,0xE2,0x6D,0xCD, -0xB1,0xB4,0xC6,0x66,0xC9,0xFE,0x69,0x54,0xFF,0xEB,0xD7,0x5F,0x19,0x52,0x28,0x88, -0x5B,0x87,0x1F,0xBF,0xC7,0x9D,0x67,0x39,0x5B,0x53,0xCB,0xFB,0xA2,0xB0,0x71,0xD1, -0x7A,0xB0,0x09,0xA9,0x3E,0x73,0x9E,0x2E,0x11,0xEA,0x38,0xB1,0x43,0x10,0x30,0x90, -0x9F,0x33,0x6F,0xCF,0x6F,0x93,0xCF,0x9F,0x80,0x13,0x50,0x20,0x77,0xCF,0xDB,0x7B, -0xCA,0x45,0x4C,0xEC,0x4A,0xA7,0xEA,0x8E,0x18,0xC1,0x1A,0xB8,0xA9,0x5D,0x97,0x37, -0x0C,0xFB,0x34,0x94,0xE0,0xD8,0x40,0x5B,0xF8,0xAD,0x96,0x58,0x0B,0x98,0xF0,0x50, -0x6A,0xA4,0x0D,0xAD,0xF4,0x88,0x54,0x1F,0x98,0x49,0x12,0x38,0x08,0x66,0x0D,0xAD, -0xC6,0xE9,0xEC,0x4C,0xD9,0xBE,0x79,0x04,0xB3,0x35,0x45,0x13,0x20,0xBA,0xF9,0x59, -0xE6,0xC8,0xED,0x4D,0x15,0x24,0xB5,0x52,0xAA,0x4E,0x27,0x0A,0x5D,0x02,0x3C,0x9C, -0xA8,0x3E,0x55,0xF5,0x40,0xD4,0xE0,0xF7,0xFE,0xCA,0xF7,0x5E,0xB6,0xA0,0x75,0xD5, -0x1E,0xE5,0x38,0x98,0x16,0x75,0xB6,0x00,0xBA,0x1E,0x67,0x1A,0xAE,0x68,0xA5,0x05, -0xC5,0xF5,0xF3,0x53,0x09,0x76,0xA9,0x1C,0x2C,0xA1,0x4E,0x8C,0xD5,0x0A,0xBC,0x1C, -0xDD,0x69,0x77,0xD7,0xA2,0x29,0x02,0xE8,0x41,0x7A,0xF8,0xE1,0x47,0xDB,0xFF,0x5F, -0xBD,0x18,0x66,0xC6,0x36,0x71,0x96,0x24,0xDF,0xCF,0xD3,0x7F,0x3A,0x63,0x3A,0x9A, -0xC2,0xCD,0xCC,0x6C,0x1C,0x06,0xBC,0x79,0x1B,0x93,0x4B,0xBB,0x98,0xA6,0x5D,0xFD, -0x56,0x3D,0xA8,0x08,0x1B,0x47,0xBB,0x3F,0x48,0x51,0xDA,0xE8,0xBA,0x78,0xA1,0x01, -0xFF,0x42,0x7E,0xDE,0x06,0x35,0xA6,0x50,0x15,0xFE,0x28,0xB5,0xE3,0xC4,0x44,0xE4, -0x2B,0xE2,0x0A,0xAA,0x6A,0xA3,0xCA,0xAA,0x99,0x68,0x32,0x39,0x66,0xFB,0xFE,0x5E, -0xAF,0x06,0x6A,0xCA,0x25,0x60,0x85,0x26,0x8D,0x2C,0x62,0x2D,0x75,0xDE,0xC8,0x68, -0xA2,0xBC,0xDD,0x7D,0xC1,0xFC,0x61,0x5E,0xDA,0xFA,0xE3,0x7A,0xDD,0x19,0xA7,0x07, -0x8C,0x3B,0x74,0xD4,0x83,0x0D,0x23,0xED,0x3B,0xB7,0x4F,0x9B,0x2B,0x57,0x1F,0xBF, -0xCE,0x61,0x6C,0xCC,0xF2,0xE9,0x52,0x78,0x75,0x1A,0xAC,0xD5,0xCE,0x3C,0x91,0x31, -0x8D,0x2D,0x63,0xC3,0x01,0x74,0xA1,0x16,0xD3,0xD1,0xC1,0x73,0xB1,0x95,0x47,0xE7, -0xBC,0x0E,0x71,0xD1,0x80,0x5C,0x20,0xBF,0xB0,0x67,0x14,0x10,0x6E,0xE8,0xE5,0x45, -0x85,0xA5,0xE3,0x43,0x7E,0xF3,0xDE,0xEE,0x1E,0xA6,0x7B,0xBE,0xD7,0x1B,0xAF,0x0F, -0x9C,0x2F,0x70,0xD0,0xBA,0x6B,0x1A,0xB2,0x1D,0xF4,0x2A,0xBD,0x8A,0x6C,0x85,0x25, -0xC0,0xC7,0xC4,0x64,0x17,0x55,0xB7,0x21,0xB2,0x14,0x65,0x12,0xD2,0x3F,0x8E,0x2E, -0x72,0x38,0x89,0x29,0x2E,0x33,0x8E,0x7E,0xF7,0xE1,0xD5,0x57,0x9E,0x7C,0x81,0x21, -0x36,0x4C,0xB9,0x19,0x1D,0x26,0xBD,0x58,0x33,0xBD,0x4D,0x93,0x37,0x54,0x00,0xA0, -0x90,0x83,0xD0,0x70,0x31,0x30,0x91,0x62,0x3E,0x82,0x7F,0x9E,0x10,0xAE,0xDD,0x7D, -0x08,0xDF,0x14,0xB4,0x6E,0xB3,0xCE,0xBE,0x39,0xC4,0x3E,0x99,0x41,0x01,0x23,0x83, -0x2E,0xD0,0x3D,0x9D,0xF6,0xF9,0x56,0x6C,0xFA,0xDE,0xE7,0x5A,0x4A,0xEC,0xC5,0x65, -0x16,0x6D,0xB8,0x18,0x48,0xD6,0xE8,0xFD,0xD7,0xC5,0xD1,0x77,0xEF,0x1C,0x90,0x30, -0x91,0x95,0xC7,0x67,0x04,0x44,0xA4,0x23,0xE1,0xD6,0xF4,0x41,0xF9,0x1D,0x87,0x27, -0x17,0x7B,0xAF,0x0F,0x2C,0x42,0x8C,0x0D,0xA2,0x44,0x25,0x02,0xE6,0xE0,0x65,0xC5, -0x51,0x05,0x97,0x37,0x89,0x7E,0x29,0x94,0x0C,0x85,0x4A,0xAC,0xE7,0x0F,0x8B,0x2B, -0x83,0x8B,0xCB,0x6B,0x21,0x70,0x81,0x32,0x12,0xB8,0x69,0xB2,0xA7,0x94,0x50,0xF0, -0x5E,0xB5,0x28,0x88,0x1E,0x77,0xBE,0x0A,0x58,0x01,0x9A,0xF8,0x64,0xEA,0xED,0x4D, -0xA5,0x84,0xE2,0x42,0x7B,0xC3,0xDB,0xDB,0x7A,0x56,0xEF,0xDA,0xAB,0x4C,0x84,0x24, -0x6D,0x9C,0x32,0x92,0xAE,0x3B,0x0E,0xF6,0x93,0x11,0x41,0x33,0x46,0x34,0x11,0xB1, -0xEB,0x72,0x5A,0xFA,0xEA,0xAB,0x4A,0x22,0x00,0x9B,0x58,0xA0,0x65,0x05,0x03,0xA3, -0xED,0x5C,0x72,0xD2,0x59,0xB6,0xF9,0x8C,0xC0,0xD3,0xD0,0x60,0x89,0x92,0x78,0xD8, -0x82,0x9D,0xDC,0x7C,0x51,0xB4,0xF1,0x86,0xC2,0xA0,0xA1,0x62,0x90,0xB5,0x46,0xE6, -0xCD,0x7D,0x73,0xD3,0x9F,0x5F,0x3F,0xA3,0x42,0x28,0xA9,0xE2,0xF2,0xF0,0x61,0xC1, -0x40,0x07,0x84,0x24,0x26,0x31,0x86,0x74,0xAC,0x29,0x46,0x0C,0x31,0x8E,0xDC,0x7C, -0xF1,0xE4,0xD6,0x76,0xE4,0xC8,0x44,0x4F,0x6D,0x40,0xEE,0xCD,0x73,0x04,0x14,0xB4, -0x0E,0xF1,0x3C,0x9C,0x74,0x80,0xD4,0x97,0x82,0x60,0x21,0x22,0x25,0x9E,0xD8,0x78, -0xDF,0x63,0x7F,0xDF,0xEE,0xBB,0x4E,0x36,0x6E,0x12,0xBF,0xCE,0x6A,0x23,0x2A,0x8A, -0xF5,0xC0,0xF6,0x56,0x3F,0x53,0x9F,0x0F,0x47,0x1D,0x99,0xE7,0x92,0xA4,0x55,0xF5, -0x43,0x1B,0x9B,0x3B,0xC4,0xCC,0x64,0x6B,0x17,0x8D,0x59,0xB7,0xC9,0x09,0xA3,0x03, -0xF2,0xF8,0xC9,0x69,0x68,0xD2,0xC8,0xD9,0x4F,0x17,0x9B,0xEF,0xB9,0x86,0x5C,0xFC, -0x7D,0x88,0x36,0x96,0x2F,0x13,0x8F,0x5F,0x94,0x57,0x00,0x34,0xE0,0x3A,0xB9,0x19, -0x07,0x6F,0xAB,0x0B,0xB3,0x49,0x13,0x99,0x49,0x70,0xFA,0xE9,0xAC,0x79,0xB6,0x16, -0x39,0xFC,0x06,0xA6,0x8F,0x1F,0x2F,0xF3,0x57,0x4D,0xD9,0xF7,0x03,0x8B,0xEB,0x4B, -0x37,0x5A,0xAE,0x0E,0xFC,0x8A,0x5C,0x15,0x8B,0x4B,0x03,0x2B,0x3C,0xB9,0xE6,0x46, -0x5A,0x91,0x08,0xA8,0x82,0x2D,0x22,0xCC,0xEB,0xAF,0x87,0x4B,0xA8,0xB2,0x79,0xD9, -0x11,0x55,0x87,0x27,0x3D,0x22,0x9D,0x7C,0x10,0xCB,0x18,0xB0,0x09,0x89,0xE3,0x43, -0xE4,0xC2,0xE5,0x45,0x4E,0xB7,0xEE,0x9A,0x53,0x59,0xC9,0xF3,0xD8,0x3D,0x86,0x26, -0x81,0x81,0xC3,0x63,0x8D,0x6E,0x2D,0x80,0x6B,0x27,0x8F,0xCB,0x2A,0xB8,0xF1,0x51, -0xDC,0x7F,0x60,0xC0,0x05,0x64,0xA5,0x02,0x92,0x30,0x61,0x32,0xC3,0x0B,0xAB,0x0B, -0xFD,0x48,0x76,0xD6,0x07,0x15,0xA7,0x71,0x04,0x8F,0x48,0xA4,0x76,0x20,0x35,0x95, -0x84,0xB3,0xF4,0x54,0xFD,0xAA,0x5D,0x34,0x3A,0x96,0x6F,0x9A,0xFF,0xC7,0x5B,0xFB, -0x27,0xE2,0x1B,0x4D,0xEB,0x4A,0xBD,0x29,0x4F,0x66,0xF7,0x19,0x0E,0xB0,0x36,0x60, -0xE1,0x5C,0x63,0x35,0x41,0x35,0x17,0xFC,0xAF,0x0A,0x7B,0xF9,0xAC,0x75,0x51,0x07, -0x97,0x17,0x5E,0x08,0x9F,0x9E,0xC9,0x89,0x46,0x4D,0xD5,0x10,0xE4,0xFD,0x91,0xC7, -0x72,0x94,0x38,0x6E,0xCE,0x7E,0x98,0x38,0xD7,0xB4,0xBD,0x81,0xD0,0x22,0x7A,0x2C, -0x5C,0x13,0x91,0xC7,0x68,0x13,0x3E,0xF3,0xA8,0x4C,0x3A,0xFE,0xBE,0xBF,0x89,0xDF, -0xB6,0x20,0x48,0x1E,0x66,0x70,0x30,0x9E,0x0C,0xF4,0x26,0x5A,0x05,0x5D,0xD0,0x86, -0x0C,0x57,0x85,0xD3,0x63,0x40,0x35,0xAB,0x7D,0x61,0xC2,0x2B,0x7D,0xC1,0x34,0x62, -0x1B,0x7B,0xBE,0xE8,0xEE,0x7A,0xB8,0x1C,0xA5,0x73,0x08,0xF3,0x4B,0x0F,0xCC,0x9A, -0x30,0xCE,0x20,0x76,0x03,0xC4,0x55,0x4F,0x16,0xDD,0x15,0x40,0xE0,0x36,0x5E,0x08, -0x50,0xBF,0x31,0x67,0x97,0x9C,0xC1,0x83,0x88,0x68,0x3E,0xDE,0x9D,0x8E,0x9B,0xCD, -0xF3,0x42,0x6F,0x39,0xB7,0x98,0xE1,0xA7,0xED,0xB9,0x8A,0xBB,0x09,0x85,0x04,0x52, -0x28,0x52,0xA4,0xF2,0xA8,0x9B,0xFE,0xBB,0x7B,0x06,0xA3,0x2D,0x72,0xE7,0x1D,0x4B, -0x0B,0x6F,0xBA,0xEC,0xB4,0xC9,0xE2,0xF5,0xFD,0xE9,0xCA,0xAB,0xFA,0xEF,0x9D,0xCB, -0x45,0x99,0x02,0x54,0xE1,0x39,0xB7,0x50,0xA9,0x6D,0x1A,0xFF,0x11,0x4D,0xD4,0x82, -0x87,0x03,0x5A,0x0C,0x55,0x65,0x03,0xB8,0xCF,0xEE,0xFF,0x99,0xAF,0x8B,0xAC,0xFA, -0x2B,0x4E,0xBB,0xED,0x78,0x53,0x2E,0xA3,0xE4,0x92,0xA8,0xB2,0x87,0x57,0x58,0x0E, -0x61,0x9C,0x23,0x75,0x22,0xE0,0x74,0x4A,0x6C,0x10,0xA2,0x3A,0x8C,0xBA,0xBE,0xE8, -0x23,0xC6,0x3B,0x6D,0x53,0x04,0x05,0xDF,0x22,0xBD,0x41,0x74,0x69,0xD1,0x30,0x66, -0x42,0xA1,0x3D,0x6B,0x84,0x8D,0xD2,0x81,0xDA,0x8B,0x8F,0x8C,0xD2,0x33,0x69,0x3F, -0x4F,0x1B,0x8A,0xDC,0x60,0x11,0x36,0xF9,0x8D,0x5D,0x0E,0xDB,0x7A,0xF4,0x06,0x50, -0x12,0xE5,0x29,0x7F,0xA7,0xD8,0xF1,0xF7,0x42,0x59,0xC5,0x14,0x44,0x29,0xE5,0xB3, -0xC6,0x45,0x5D,0x0B,0xCB,0x4E,0x9D,0x0D,0xCE,0xCF,0xDF,0x98,0xC1,0x16,0x5F,0x09, -0x2F,0x6A,0x9B,0xCD,0xBD,0xEB,0xEB,0xDE,0x4C,0x34,0xA6,0x1A,0x3F,0x4B,0xFC,0xAA, -0xBB,0x9A,0xFF,0xA9,0xBA,0xAA,0xEC,0x98,0x1F,0xF6,0x37,0x49,0x1D,0x95,0x00,0x56, -0xDB,0xEB,0xEE,0xB8,0xBC,0xCB,0xEA,0xFF,0x64,0x1A,0xA0,0x32,0x90,0xB9,0xA1,0xF7, -0x7D,0x24,0x87,0xD1,0x90,0xDD,0xC6,0xC5,0x69,0x25,0x92,0x3F,0xB7,0x43,0x7C,0x2A, -0x2D,0x60,0x93,0xC5,0xB6,0xB8,0xE0,0x86,0xE5,0xB3,0x88,0xB3,0x75,0xD2,0x2F,0x79, -0x9F,0x9F,0xDE,0x88,0x8F,0xDE,0xD9,0xD9,0xA0,0x46,0x38,0xF6,0x39,0x91,0x20,0x76, -0x68,0x02,0xB4,0xE2,0xDF,0x1E,0x89,0x49,0x49,0x01,0x96,0x1F,0x70,0xF6,0x0E,0x58, -0x71,0x88,0x27,0x71,0x1B,0x86,0x4D,0x15,0x4A,0x53,0xC7,0x1C,0x2D,0x81,0x24,0x72, -0x60,0x8A,0x34,0x62,0xA0,0x99,0xF6,0xB1,0x84,0x76,0x2C,0xD2,0x16,0x78,0xE6,0xB0, -0x51,0xA9,0x26,0x70,0x21,0xB1,0x77,0x18,0xE7,0xC0,0xF9,0xB1,0xC9,0x05,0x44,0x12, -0x6E,0x2C,0x9C,0xCA,0x80,0x9D,0xD6,0x95,0x45,0x1F,0x84,0x13,0x00,0x79,0xF1,0xA7, -0xB3,0x12,0x7F,0x29,0xBF,0x9A,0xE9,0xAD,0x0F,0xA6,0x77,0x59,0xC3,0x07,0x4C,0x1A, -0xFA,0xDC,0xF8,0xAE,0x8D,0xAF,0xDB,0xAA,0xF5,0xE3,0xC8,0xA3,0x41,0x0D,0xC4,0x92, -0xBC,0xA2,0xC0,0x96,0x28,0x93,0x7E,0x33,0x5B,0x22,0xA7,0x0D,0x40,0xE2,0x2A,0x7C, -0xFB,0xCA,0xEF,0xB9,0xE9,0x3B,0xBF,0x5A,0x80,0x62,0x3C,0xD6,0x48,0xF1,0x31,0x67, -0x7C,0x32,0x90,0xC6,0xA5,0xA9,0xF3,0x84,0xB6,0x71,0x19,0xE0,0x5E,0xF0,0x26,0x70, -0xE5,0x78,0x43,0x15,0xCF,0x5E,0x99,0x19,0x6E,0x63,0xD3,0x38,0xE6,0xEC,0x82,0xD4, -0xC3,0x77,0x6A,0x3C,0x57,0x14,0x01,0xCB,0xAD,0x79,0x0A,0xFB,0xED,0x01,0x64,0x32, -0xAD,0xA0,0xD3,0x85,0x87,0xDC,0xD1,0xD3,0xFB,0x8E,0xAB,0xAD,0x96,0x63,0x7D,0x2B, -0x1C,0x43,0x81,0xD7,0x45,0x25,0x13,0xE8,0x3A,0xE7,0x03,0x6C,0xD4,0xE9,0xB5,0xE3, -0x6F,0x3A,0x8B,0xDD,0xF0,0x59,0xA6,0x21,0x95,0x07,0x4C,0xC3,0x37,0x58,0xE7,0xB1, -0x20,0xDA,0x24,0x72,0x3E,0xB2,0x68,0x04,0x15,0x8F,0x44,0x43,0x55,0x1D,0xC0,0x96, -0x06,0xD5,0x0D,0x5B,0x4B,0x46,0x1D,0x85,0x57,0x3C,0xB5,0x01,0xC2,0xE8,0xA2,0xF4, -0x00,0xFB,0x25,0x73,0xF8,0x5B,0xAE,0x2B,0x97,0x74,0x3D,0xC1,0x2E,0x7F,0xD9,0x8F, -0x48,0x23,0xB5,0xE3,0xDA,0x2E,0x8C,0x7C,0x2D,0xF1,0x02,0x7B,0x0C,0xA1,0x25,0x73, -0x80,0x3B,0x65,0x33,0x0F,0xD6,0x59,0x51,0xC4,0xB6,0xAC,0x92,0xE1,0xD9,0xB0,0xE6, -0xEA,0xC8,0xFC,0xAA,0x12,0xA4,0x44,0x3E,0x1E,0xD7,0x17,0x48,0x0B,0x94,0x17,0x41, -0xD4,0x5B,0x51,0x07,0x2E,0xF2,0x78,0x54,0x00,0xEA,0x34,0x56,0xA4,0x66,0x4A,0x1C, -0x1F,0x5F,0x9E,0xC8,0xC9,0x3F,0x9F,0x7E,0x18,0xB0,0x76,0x4E,0x1E,0x6B,0xFD,0xAB, -0x90,0x2F,0x61,0x37,0x8E,0xFE,0xD8,0xF8,0xC3,0xF0,0xED,0x95,0x47,0xD7,0x18,0x4E, -0x18,0x67,0xA1,0xF7,0x9E,0xBE,0xC8,0xA8,0x10,0xBA,0x74,0x46,0x35,0x49,0xF4,0xA2, -0xAE,0xBC,0xCC,0x9A,0x65,0x21,0x33,0xCC,0x40,0x2A,0xB4,0x16,0x6E,0xE4,0x02,0x54, -0xE3,0x56,0x6B,0x3D,0xD5,0x6D,0x83,0x30,0xD5,0xC7,0xCC,0x83,0x82,0x73,0x79,0x2F, -0x32,0xC4,0x28,0x7E,0x4F,0x56,0x19,0x91,0x39,0xB5,0x52,0x6F,0xCD,0xCE,0x8B,0xDD, -0x10,0xEF,0x21,0x77,0xA6,0xF8,0xF0,0xD6,0x53,0x28,0xA5,0x05,0xD1,0xCD,0x94,0xC2, -0x69,0x14,0xA3,0xF5,0x5C,0x47,0x0A,0x93,0x6D,0x31,0x82,0x3B,0x58,0x2A,0xFA,0xAC, -0x6C,0x26,0x94,0xC2,0x2C,0x83,0x7A,0x27,0x3C,0x80,0x62,0x6A,0x8D,0x55,0x50,0x06, -0x31,0xD8,0x37,0x61,0xA4,0x89,0xF2,0xA5,0xC5,0x97,0x8C,0x93,0x64,0xE6,0x0A,0x5C, -0xFC,0xF2,0xD0,0x86,0x9C,0xCF,0xCA,0xDB,0x47,0x6C,0xF5,0x11,0xAE,0x64,0x42,0x14, -0x09,0x65,0xB2,0xE4,0xEF,0x5A,0xB9,0x3D,0x04,0xFE,0x24,0x52,0x7F,0xD0,0x27,0x71, -0xDA,0xFD,0xF9,0xAF,0x5D,0x67,0x0B,0xB2,0xDC,0xEC,0xEE,0x8A,0x9B,0x54,0x47,0x11, -0xB7,0x36,0x5F,0x09,0x23,0xC0,0x75,0x6B,0xBC,0x08,0x6A,0xEA,0x0F,0x5F,0xD8,0x8E, -0x98,0x01,0x90,0x78,0xA8,0x13,0x1B,0x5A,0xB1,0x25,0xB9,0x7D,0x67,0xA1,0x27,0xA9, -0x2B,0x1C,0x23,0xD6,0x86,0x3B,0x33,0x5C,0xCA,0xB2,0xC2,0x91,0xEF,0x61,0x6F,0x69, -0x6F,0x8C,0x67,0x02,0x68,0x53,0x5B,0xDA,0xD8,0x83,0xD0,0xB2,0xF6,0xF2,0xE5,0xFA, -0xBA,0x74,0xB2,0x2F,0x70,0x83,0x8B,0x12,0x4D,0xFB,0x45,0x5F,0x58,0x1B,0xA2,0x13, -0x25,0x7F,0x2D,0xBB,0x10,0xB7,0xBF,0x46,0xDD,0xB3,0xD5,0x87,0x59,0x0C,0xB4,0x04, -0xE7,0x86,0xEF,0x80,0xF3,0xE5,0xED,0xF7,0x15,0x39,0x1D,0xC5,0xF1,0xCD,0xDD,0xC5, -0x5E,0xE8,0x56,0x57,0x89,0x12,0x1A,0x7A,0xA8,0x47,0xA0,0x06,0x1E,0x23,0xDC,0x2B, -0x90,0x03,0x98,0x72,0x69,0xBD,0xB5,0x35,0x8F,0x02,0x87,0x64,0x16,0xA3,0x54,0xAB, -0xC5,0xF3,0xCD,0xD7,0x61,0xA6,0xAE,0x26,0x4E,0xAA,0x46,0x0D,0x43,0x80,0x22,0x88, -0x89,0x61,0x81,0x09,0x99,0xD9,0xD1,0xA1,0x59,0xAB,0x51,0x1B,0x66,0xB6,0x31,0xBE, -0x37,0x4E,0x3F,0x98,0x24,0x5C,0x54,0x99,0x0C,0x5B,0x04,0xBE,0x50,0x9B,0x2A,0x93, -0xAF,0x04,0xA7,0x4A,0x2B,0x75,0x7D,0xBF,0xEA,0xB6,0xE2,0xB5,0x89,0x58,0x30,0x50, -0xDF,0xC0,0xD7,0xFE,0x41,0x49,0x41,0xE9,0x24,0x5D,0x2C,0x90,0x2D,0x39,0xF5,0x31, -0xE0,0xC7,0xE8,0xC6,0x7F,0xAA,0xA2,0x34,0x99,0x23,0x91,0x53,0xDE,0x73,0x4C,0x7B, -0x48,0xC9,0x40,0x60,0xF1,0xF6,0xFE,0xE6,0x42,0xB8,0x4A,0x13,0xFD,0x6D,0x71,0x65, -0xED,0xF5,0xE5,0xF9,0x8F,0xCE,0xC6,0xA0,0xAC,0x57,0xA4,0x12,0x92,0xC3,0xB0,0xCB, -0x8F,0x00,0x87,0x6E,0x36,0x84,0x8C,0x53,0x4F,0x8A,0x47,0x2C,0x7E,0x32,0xAD,0x3A, -0xFC,0x95,0xF4,0x88,0xA1,0xE6,0xEE,0xA6,0x2A,0x3E,0x22,0xFD,0xAF,0x71,0x3F,0x79, -0x43,0x9A,0x4B,0x38,0x65,0x69,0x61,0xED,0xB0,0x05,0xB8,0x5C,0x30,0x8A,0x5B,0x82, -0x3D,0x3D,0x35,0xE1,0xAE,0xCF,0xC7,0x80,0x2F,0x0E,0x27,0xC8,0xB4,0xEA,0xBF,0xE2, -0x3C,0x1D,0x34,0xC0,0x47,0x95,0x9D,0x33,0x92,0x70,0x9A,0x0B,0xD8,0x5B,0x62,0x53, -0xC6,0xA2,0xCE,0x85,0xBC,0x17,0x1F,0x4A,0xFC,0x97,0xF4,0x82,0xFF,0x65,0x7B,0x6D, -0xC4,0xD3,0xCC,0xF6,0x8B,0x01,0x09,0x6B,0x62,0xBC,0x6A,0x37,0xD6,0xF3,0xC4,0xFB, -0x4C,0xD9,0x44,0x74,0x75,0xA2,0xAA,0x36,0x38,0x0F,0x30,0xDE,0x38,0x0A,0xD3,0x02, -0x05,0x7B,0x0D,0x9F,0xEF,0xFA,0xF2,0xF4,0x6A,0xBE,0x62,0x3D,0xEE,0x76,0x79,0x7E, -0xFE,0xE4,0xF6,0xFB,0x34,0x97,0x9F,0x42,0x9C,0x13,0x94,0x66,0x2E,0x26,0xE9,0x2E, -0x2F,0x0C,0x27,0xC2,0x97,0x1E,0x16,0x68,0xE3,0x94,0xEB,0x9E,0x08,0x0F,0xE6,0x07, -0xB5,0x37,0xBD,0x63,0x05,0x5D,0x55,0xB9,0x11,0x29,0x19,0xD1,0x96,0xE3,0x94,0xEB, -0x4E,0xA8,0x46,0x07,0x08,0x67,0x6F,0x8E,0x22,0x3C,0x2A,0xF7,0x6E,0x36,0xB9,0x3E, -0x72,0xFE,0x7A,0x6D,0x9B,0xCA,0xC2,0xB0,0x7F,0xCE,0x77,0x58,0x4D,0x28,0x84,0x20, -0xEE,0xA4,0xE6,0xAB,0x7C,0x57,0x5F,0xCA,0x70,0x8D,0x78,0x14,0xB7,0xF5,0xA3,0xFD, -0xA9,0x65,0xA1,0x2D,0x0C,0xA8,0xA0,0x45,0x95,0x31,0x9D,0x4D,0x2C,0x2E,0xE3,0x26, -0x81,0x63,0x89,0x03,0xCA,0x34,0x3C,0x1F,0xBC,0x17,0xB4,0x42,0x40,0x9F,0x3E,0x97, -0xD4,0x93,0xDC,0xA6,0x3C,0x8C,0x84,0x51,0xF5,0xB5,0xFD,0xA9,0x90,0xCB,0xBA,0xC3, -0x18,0x09,0x10,0xF0,0x1D,0x8D,0x85,0x71,0x30,0x0D,0x38,0xD4,0xF2,0xD2,0xC1,0xDA, -0x35,0x3F,0x3D,0xEB,0x50,0x6C,0x64,0xDD,0xC4,0xD1,0xCC,0xFC,0xA5,0xF9,0xBD,0xF1, -0xF7,0xC6,0xFF,0xD0,0xEC,0x07,0x0F,0x0A,0xF3,0xD4,0xFB,0xCE,0x64,0xBE,0x3B,0xB6, -0x63,0x9E,0x6B,0x1C,0x9D,0x16,0x1E,0x6A,0x36,0x6C,0x3E,0xB3,0x4F,0x20,0x8E,0x28, -0xC8,0xC1,0xC0,0xE8,0x01,0x92,0x9A,0x72,0x75,0xBD,0x7D,0x21,0xF9,0x4D,0x55,0x45, -0xD7,0xC2,0xDF,0xF4,0x11,0x59,0x51,0xA9,0x6C,0xDF,0x64,0x5A,0xD0,0xDB,0xEA,0xD3, -0x06,0x2A,0x0E,0xCD,0x73,0x7E,0x76,0xEC,0xB8,0x07,0xB0,0x56,0x7C,0x3A,0xA7,0x32, -0x08,0x49,0x00,0xA0,0x40,0xA7,0xAF,0x06,0xE1,0xE5,0xE9,0xED,0x60,0x9E,0x1F,0x96, -0x8E,0x20,0x86,0x4F,0x28,0x88,0x80,0x41,0xA4,0x55,0xAC,0x18,0x52,0x93,0x20,0x9B, -0x03,0x1A,0x0B,0xF8,0x04,0xB3,0xBB,0x56,0x5C,0x9B,0x54,0x2E,0x98,0x4B,0x32,0x43, -0x21,0x6F,0x29,0xAF,0x0F,0x55,0x5D,0xBB,0x39,0x2F,0x31,0xFF,0x21,0x99,0x59,0x91, -0x8B,0x10,0x83,0x7A,0xB1,0x2D,0x25,0x7D,0x5E,0xEA,0x56,0x5D,0xAD,0x79,0x35,0x71, -0xAE,0x24,0xA6,0x6B,0xC7,0x0E,0x06,0x28,0x12,0x78,0x1A,0x83,0xE7,0xE1,0xE7,0xE9, -0xFF,0xC4,0xF7,0xDA,0x44,0x68,0x60,0xCD,0xF9,0xA7,0xF1,0xB7,0x8F,0x70,0x1E,0x78, -0x7B,0xDC,0x73,0x46,0xDB,0x11,0x19,0x2B,0x4C,0xDB,0x44,0x7E,0x9D,0x7C,0x00,0x74, -0xBF,0x44,0xB7,0x1A,0x51,0x82,0x8A,0x32,0x66,0xAC,0x6E,0x23,0xCC,0x7F,0x52,0x77, -0x41,0xEB,0x49,0x4B,0xFA,0x10,0x18,0x0B,0x2C,0x5F,0x24,0x9A,0xA3,0xD1,0x93,0xD9, -0xC0,0xC3,0xC8,0xE2,0xD9,0x02,0x0A,0x3A,0x8E,0x22,0x86,0x45,0x76,0xB2,0x25,0xBA, -0xF0,0x87,0xF8,0x96,0x77,0xB1,0xB9,0x27,0x14,0x19,0x1C,0xE4,0xC8,0x5F,0x76,0x57, -0xDC,0x91,0xD4,0xAC,0xB8,0xD8,0xD0,0x81,0xC9,0xE3,0xC1,0xC3,0xFA,0x52,0x49,0x5A, -0xEF,0x84,0xE7,0x8A,0xCC,0xE8,0xE0,0xC5,0x48,0xCB,0x40,0x6A,0x62,0x96,0x15,0x9E, -0xD6,0xE2,0xDE,0xD5,0x33,0xA5,0xAD,0x77,0x47,0x88,0x4F,0x26,0xD2,0xD3,0xE0,0xDB, -0xAB,0x14,0xA3,0x5E,0x16,0x6B,0x63,0x9C,0x37,0x4C,0x3F,0x92,0x85,0xF8,0x9C,0xF0, -0xC7,0x82,0xCF,0xA4,0xB6,0x1F,0x17,0x48,0x8D,0x73,0x85,0x17,0x9F,0x74,0x0A,0x7C, -0xDA,0xF0,0xD2,0xCB,0xC9,0xC9,0xC1,0xE1,0x68,0xCF,0x60,0x4E,0x6D,0x29,0xA5,0x21, -0xDD,0xB1,0xD5,0x8D,0x39,0xAD,0xA5,0x75,0x94,0x11,0x9C,0x6C,0xFC,0x7A,0x67,0x72, -0x33,0x5E,0x3B,0x8C,0x95,0x0D,0x05,0x79,0x58,0x8B,0x50,0x3A,0x1B,0x14,0xEE,0x1C, -0x42,0xBA,0x4A,0x19,0xCF,0x15,0x1D,0x3B,0xD6,0xE0,0xDE,0xDF,0xF8,0x5A,0x43,0x52, -0x00,0x4B,0x08,0xAA,0x48,0xBC,0xB4,0x15,0x6E,0xAE,0x66,0x29,0x54,0xBB,0x0E,0xB3, -0xE4,0xD7,0xEC,0xD2,0xF2,0x0B,0x03,0x18,0x01,0x69,0x09,0x81,0xD5,0xEC,0xD8,0xE4, -0xB0,0xF2,0xE4,0xB6,0x70,0x2C,0x78,0xA8,0x7D,0x98,0x29,0x45,0x0D,0x5A,0xA3,0x0E, -0xBF,0xB1,0xEB,0xFA,0x85,0x69,0x3D,0x18,0x44,0xFE,0x10,0x1A,0xBF,0x17,0x5C,0x43, -0x3E,0x99,0x6A,0x53,0xD9,0xAD,0xF9,0x80,0x77,0xEB,0x23,0x3C,0xFB,0x27,0x28,0x73, -0xE3,0x63,0xB7,0x74,0xE6,0xA0,0xF4,0xB2,0x5B,0xFD,0x0F,0x06,0x5D,0x4E,0xE7,0x1A, -0x79,0x58,0x2D,0xD5,0xB5,0x4D,0x19,0x0C,0x6B,0xB9,0x3F,0x72,0x40,0xFD,0x49,0xA9, -0xDB,0x25,0x8F,0x0A,0x03,0x2E,0x7A,0xD9,0xEA,0x91,0xBE,0xDB,0x71,0xEF,0x6A,0xBB, -0x91,0xD6,0xC5,0xB3,0xC2,0x80,0xD4,0xB6,0x14,0x3E,0x40,0x8A,0x48,0x7D,0xC1,0x29, -0xBB,0xA1,0xEF,0xEE,0x90,0x83,0xD7,0xE7,0xD0,0xA6,0x84,0xD6,0x51,0xEE,0x4B,0xBA, -0xF6,0x13,0xA2,0x11,0x48,0x13,0x47,0xAF,0x4F,0xAD,0x1B,0x42,0x62,0xF4,0x62,0xA0, -0x99,0xD4,0xCD,0xB9,0x9E,0x44,0x10,0x2E,0xAB,0x31,0xFF,0x3A,0x6F,0x43,0xD8,0x17, -0x21,0x9A,0x75,0x4F,0xD3,0xA5,0xF1,0x82,0xE9,0xC0,0xBD,0x89,0x41,0xEA,0x5F,0xBE, -0xAF,0xF1,0xFB,0xAA,0x7E,0xEB,0xBF,0x61,0x98,0x24,0xCC,0x1C,0x03,0xF2,0x05,0xA6, -0x63,0x6B,0x37,0xFC,0xF7,0x85,0xD1,0x86,0x76,0xCB,0x22,0x1D,0x0F,0x52,0xA9,0x06, -0x9F,0xB5,0xCB,0xDE,0x35,0xD6,0x82,0x17,0x71,0x8A,0x25,0x5B,0x9B,0x36,0x59,0x62, -0x7A,0x09,0x2E,0x87,0x9A,0x8B,0xDF,0xE5,0x6C,0xF8,0x38,0x34,0x32,0xE0,0x26,0xB4, -0xC0,0x36,0x94,0x02,0x0C,0x07,0x53,0xFF,0x00,0x6E,0x54,0xCE,0xE6,0x94,0x86,0xC0, -0x9B,0xA5,0xCF,0xCA,0x7A,0x24,0x70,0xAA,0x7C,0xB8,0x28,0x64,0xD3,0xA6,0x81,0xF2, -0x82,0xC7,0xD6,0xB1,0xC5,0xB2,0xE6,0x83,0x63,0xBB,0x37,0x78,0x08,0x6D,0x91,0x39, -0xC1,0x16,0x95,0x23,0x1E,0xDF,0x8B,0x35,0xC8,0xE4,0x9C,0x8C,0x10,0xE9,0x0D,0xBD, -0x04,0xAE,0x50,0x5E,0xAB,0x41,0x15,0x1E,0x5C,0xBC,0x08,0x40,0x70,0xF8,0x7C,0xAC, -0x33,0xAB,0x67,0x6C,0x2D,0x06,0x52,0xDF,0x9E,0x45,0xCA,0x7B,0xA7,0x93,0xC0,0xC7, -0xC7,0x77,0x93,0x44,0x51,0x2D,0x79,0x88,0xB3,0x73,0xE7,0x60,0x0B,0x72,0x8D,0x26, -0x02,0xCF,0x56,0x39,0x2A,0x34,0x60,0xEA,0x7F,0xE9,0x2B,0x36,0x2B,0x73,0xAC,0x27, -0x4B,0x6D,0x1F,0xD2,0xAE,0x60,0x34,0x3A,0x2A,0x19,0x7E,0x93,0x65,0xCB,0x5A,0x9F, -0x0E,0xDD,0x5A,0x27,0x8E,0x8F,0xDB,0xF5,0x54,0xBE,0x00,0x4A,0xB7,0x97,0xD4,0xC3, -0xE5,0x02,0xB1,0x13,0x77,0x1E,0x4A,0x9D,0x05,0x5E,0x51,0xFB,0x52,0xF1,0x57,0xA5, -0xA9,0x90,0xFD,0xCD,0xA5,0x86,0xD2,0xD7,0x20,0x6A,0x74,0xEA,0x07,0xD2,0x21,0x86, -0xCE,0x55,0x9A,0x6F,0xC9,0x66,0x32,0x5B,0x8A,0x15,0xDE,0x3F,0xC1,0xAA,0x9F,0xFE, -0xAB,0xE1,0xFF,0xBE,0xA2,0xB4,0xE0,0xE2,0xA8,0x60,0xFC,0x68,0x2C,0x4C,0x94,0x18, -0x53,0x2F,0x07,0x88,0xB0,0x6C,0x38,0x28,0x25,0x5A,0x71,0xDF,0x3B,0x77,0xB8,0x23, -0x16,0x9F,0x42,0x7D,0x8F,0x61,0x35,0x1A,0xA3,0x33,0xF7,0x30,0x7C,0x58,0xD0,0x0C, -0x4F,0x7D,0x1B,0xC6,0x37,0xC5,0x91,0x06,0xAD,0x50,0xF9,0x5D,0x96,0x81,0xE3,0xD5, -0xCF,0x75,0x9B,0x4E,0x43,0xF5,0xA1,0x42,0xE7,0xA3,0xB3,0xE4,0x4C,0x5D,0xE5,0x09, -0x95,0xC6,0xC1,0xA7,0x54,0x0C,0x58,0xAC,0x6F,0xA9,0x3B,0x66,0x11,0xFE,0x1B,0xAA, -0x0B,0xED,0x5F,0x12,0xEB,0x9A,0xCE,0x85,0x6D,0xD8,0x39,0x15,0x30,0xE8,0x2C,0xBC, -0x65,0x0A,0x31,0x9B,0xF2,0xA4,0xF0,0xA2,0x97,0x67,0xC3,0x50,0x49,0x6A,0xD7,0x3E, -0xD8,0x74,0x8C,0x58,0x2F,0x15,0x41,0xCE,0x96,0x47,0xC2,0x71,0xFA,0x30,0x3E,0x64, -0x47,0x7F,0x13,0xCC,0xCB,0x75,0x21,0x4A,0xE8,0xE0,0xBC,0xA8,0x97,0x96,0xF5,0xC2, -0xDD,0x44,0x89,0x6D,0xAF,0x8E,0xDA,0xD5,0x57,0xEF,0x03,0x18,0xDC,0x19,0x31,0x4D, -0xB8,0xF0,0xEC,0xBC,0x3D,0xCD,0x99,0x04,0x24,0x7A,0x70,0xFE,0x29,0x7B,0xA6,0x2F, -0x62,0x4B,0x36,0xDD,0x73,0xD1,0x85,0x56,0x02,0x1F,0x56,0xBD,0x3F,0x57,0x9C,0x03, -0x87,0xF7,0xD3,0x84,0x33,0x0A,0x5E,0xCD,0x45,0xDE,0x11,0x3B,0xB0,0xA8,0xEC,0xFC, -0x88,0xB4,0xDC,0xC8,0x14,0xD7,0x83,0x37,0xD9,0x84,0x8D,0xFD,0xCA,0x35,0x0B,0x61, -0xD5,0x46,0x81,0x67,0x29,0xC9,0x9D,0x14,0xE5,0xD2,0xB1,0x97,0xF4,0x98,0x98,0xCC, -0xE6,0x53,0xB2,0x41,0x04,0x1C,0x48,0xEC,0x1E,0x4D,0x4A,0xF3,0xC3,0xA2,0x95,0xF6, -0x14,0xEE,0x40,0x0E,0x76,0xF0,0xA4,0x72,0x84,0x76,0xD0,0x52,0x12,0xE1,0x07,0xB5, -0x6B,0x69,0x3F,0xF6,0x79,0xD9,0x8D,0x54,0x55,0x9E,0x01,0x6B,0x38,0x68,0xA4,0x3C, -0x9D,0xC4,0xC9,0xAD,0xE9,0x89,0xDD,0x94,0xAE,0x01,0xFA,0x0F,0x8E,0x05,0x7F,0x51, -0x78,0x78,0x2C,0xF4,0xC4,0x5C,0x08,0x6C,0x3B,0x79,0x6F,0xE2,0x4F,0x42,0xF9,0x16, -0x5F,0x3D,0x0B,0x96,0x4C,0xDC,0x88,0x64,0xF5,0x92,0xA1,0xC7,0x00,0xED,0x19,0xB9, -0xE2,0x43,0xB6,0x55,0x4D,0x32,0x66,0x8B,0x4C,0xFC,0x18,0x10,0x8D,0x1A,0x63,0x4E, -0x2A,0xC9,0x7E,0x17,0x24,0xF3,0xA7,0x23,0x8E,0x05,0xDA,0x2B,0x3C,0x48,0x80,0x1C, -0xBA,0x81,0xEE,0xCF,0x32,0xE4,0xB0,0x22,0x11,0x0E,0x45,0xBF,0x68,0x7C,0xE0,0x28, -0x2F,0xF9,0x7B,0x22,0x75,0x0D,0x59,0x8C,0xC4,0xF6,0x90,0x92,0xA0,0xAC,0xF8,0xF8, -0x3D,0xC8,0x69,0x01,0xFF,0x9E,0xCA,0x95,0x80,0x66,0xD4,0x46,0x26,0xC4,0x16,0x90, -0x46,0x5F,0x12,0xED,0xB7,0x5E,0x0A,0x1D,0x33,0x7B,0x67,0xE8,0x20,0xEC,0x38,0xB8, -0x5B,0x2D,0x0F,0x82,0x20,0x3C,0x68,0xE8,0x46,0x8F,0x12,0x69,0xDA,0x31,0x1F,0x65, -0xB5,0xC2,0xE1,0x83,0xE1,0x92,0xC6,0x87,0xE3,0xB3,0xB7,0xF0,0x9C,0x09,0x61,0x5D, -0x6E,0x59,0x3A,0xC3,0xDC,0x8C,0xD8,0xA4,0x4B,0xBD,0x1F,0x56,0x4E,0x55,0xEF,0x01, -0xD3,0x27,0x87,0x00,0x65,0xC6,0x92,0x57,0x74,0xBA,0x20,0x6E,0x93,0xB6,0xD1,0xE2, -0x1D,0xCC,0x49,0x25,0xA0,0xA7,0xF3,0xF3,0x04,0x7E,0x50,0xDA,0xC5,0x8A,0xBB,0xDE, -0xFB,0x21,0xAF,0x2E,0xBA,0x64,0x30,0x2A,0x9C,0x34,0xC8,0x08,0xE3,0xA3,0xB4,0xF7, -0xAE,0xD1,0xFA,0x8B,0xA1,0x49,0x1D,0x1C,0x22,0x1B,0x76,0x99,0xDB,0x26,0x09,0x72, -0xB9,0xD0,0xED,0x9D,0xB2,0x7F,0x2B,0x39,0x6E,0x89,0x3A,0x47,0x5C,0x59,0xF1,0x0D, -0x7F,0x63,0x52,0x51,0x30,0x79,0x35,0x65,0x5A,0x78,0x64,0x42,0x47,0x5B,0x45,0x62, -0x44,0x58,0x7E,0x46,0x0A,0xF4,0x82,0xE8,0x48,0xA0,0xBC,0x88,0xBF,0xA3,0x8B,0x54, -0x89,0x95,0x09,0xFC,0x3A,0xF1,0xB7,0xED,0xDD,0xD1,0xCD,0x6C,0x5B,0x47,0x17,0x2C, -0x50,0x4C,0x3A,0x16,0x59,0xFF,0xDA,0xE3,0x65,0x75,0x69,0x70,0x02,0x1E,0xF5,0x97, -0xF9,0xE5,0xBD,0x38,0x34,0x59,0x11,0x45,0x9D,0x0A,0x16,0xF7,0xF1,0xED,0x68,0xF9, -0x9F,0x83,0x3E,0xDD,0xD4,0x08,0xA0,0x14,0x64,0x9B,0x87,0x9F,0x1A,0x06,0xB7,0xCD, -0xA2,0xBE,0x75,0xAB,0x7F,0xD6,0xD5,0xCA,0x23,0x72,0x6E,0x31,0xDA,0xC6,0x3F,0x85, -0xDA,0xC6,0xCB,0x6D,0x00,0x7C,0x00,0x60,0x4F,0x92,0x8E,0xBD,0xBD,0xA1,0xFA,0x27, -0x7A,0x66,0x67,0x61,0x19,0xEF,0x8A,0xF3,0xBB,0x39,0x25,0xE2,0xD3,0xCF,0x1D,0xAE, -0x9B,0x87,0x2A,0xCD,0x2F,0xC2,0x91,0xDE,0xC7,0x12,0x0E,0xB5,0x27,0x3B,0xC1,0x86, -0xC3,0xDF,0xB0,0x0F,0x73,0x76,0x79,0x6A,0x44,0x74,0x68,0x50,0x5F,0x43,0x07,0x38, -0x7B,0x67,0x46,0x41,0x83,0x23,0xDC,0x3F,0xC0,0x20,0x3C,0x80,0x16,0x0A,0xA5,0xD3, -0x65,0x79,0x7B,0x62,0xD1,0x3F,0x92,0x23,0x2F,0xA6,0xBA,0xE9,0x96,0x8A,0xAD,0x5B, -0xAE,0xB2,0x6B,0xB9,0xD2,0x20,0x8E,0x3C,0x90,0x30,0x2C,0xC0,0x8F,0x93,0xCF,0x20, -0xF0,0xEC,0x96,0x1A,0xD6,0x00,0xAA,0x1C,0x41,0x55,0x49,0x74,0x10,0x0C,0xC4,0xB4, -0xE1,0xFD,0xE7,0x7A,0x8E,0x94,0x66,0x88,0xF4,0xCB,0xD7,0x5F,0xD5,0xC9,0x7C,0xC9, -0x3E,0x22,0xB3,0xF1,0xE0,0x2D,0xB1,0x31,0xDF,0xC2,0xDE,0x7D,0x8B,0x97,0xDF,0x34, -0x5A,0x46,0x43,0x65,0xA1,0x2A,0xF7,0x36,0x1D,0x91,0x8D,0xEC,0x77,0x6B,0x01,0x16, -0x9C,0x80,0x6C,0x8C,0x04,0x5C,0x24,0x40,0xE6,0x13,0x0F,0x95,0xD4,0xC8,0x5C,0xE8, -0xE8,0xF4,0xCC,0x58,0x92,0x30,0xDE,0x2C,0x70,0x9F,0x83,0x8F,0x6E,0x72,0x63,0x6D, -0x4B,0x57,0x32,0x05,0x5B,0xF7,0xD0,0xEB,0x74,0x50,0x4C,0x44,0x8D,0x91,0xBE,0x53, -0xFC,0xE0,0x88,0x08,0xC7,0x13,0xA8,0x0F,0xA2,0x07,0x1B,0xC5,0xE2,0xFE,0x79,0xFB, -0xFA,0xE6,0xEF,0x69,0x4E,0xC4,0xF6,0xD8,0x94,0xFF,0xE3,0x0B,0xBB,0xA7,0x9B,0x40, -0xE2,0xFE,0xB5,0x2B,0xAA,0xB5,0x63,0xA9,0x39,0xB1,0xAD,0xE8,0x35,0x29,0xF0,0xA5, -0xE7,0xFB,0x80,0x1B,0xFB,0xB6,0x31,0xAA,0xE9,0x3A,0x26,0xB3,0xCF,0xD3,0x4F,0xE0, -0xF5,0xE9,0xA3,0x2A,0xD3,0x37,0x98,0x2B,0x5F,0x59,0x45,0x66,0x6D,0x71,0x32,0x3F, -0xE6,0xFA,0xA1,0x3B,0xCC,0x8C,0x3C,0x90,0x7A,0x97,0x8B,0x8D,0xAF,0xB3,0xCB,0x04, -0x75,0x69,0x2B,0x22,0x54,0x48,0x60,0x54,0x28,0x94,0x88,0xDC,0x85,0x99,0xBC,0x59, -0x1F,0x03,0xB6,0xD5,0x94,0x18,0xF0,0x04,0x6F,0x7D,0x61,0x72,0xAB,0xB7,0xDB,0x10, -0x52,0x4E,0x49,0x67,0xF2,0x21,0xAF,0x3D,0x9A,0x38,0x24,0xC2,0xA4,0xB8,0x98,0x5C, -0x46,0x5A,0x0D,0x37,0x97,0x07,0xEC,0x1B,0x0C,0xB4,0xA8,0xD8,0xF7,0xEB,0x09,0x9E, -0x2F,0x33,0xC2,0x91,0x81,0x2B,0xD6,0x37,0x33,0xB9,0xA5,0xEA,0x2A,0x36,0xF3,0xB9, -0xAB,0xB7,0x5E,0x89,0x5E,0xC0,0xE2,0xDC,0x50,0x70,0x6C,0x40,0xEF,0xF3,0x4B,0xC4, -0x82,0x9E,0x51,0xAF,0x14,0x58,0x30,0x44,0x4A,0xB3,0xAF,0x99,0x09,0x15,0xA6,0xCF, -0x51,0x4D,0x1B,0x36,0xE3,0x32,0xAD,0x2E,0x58,0x6B,0x77,0x53,0xAD,0xB1,0xBA,0x77, -0x2E,0x32,0xE3,0xB1,0x71,0x7E,0x73,0x62,0x4B,0x5D,0x41,0x76,0xBA,0xA6,0xBB,0x61, -0x01,0x1D,0x8B,0xF6,0xD9,0xBF,0x1A,0xA3,0x0B,0x86,0x9A,0xED,0xA1,0xBD,0xA8,0x69, -0x39,0x25,0xF5,0xB0,0xE5,0x1A,0x83,0x06,0xCA,0x28,0x34,0x82,0x4F,0x53,0x47,0x68, -0xBE,0xA2,0x3B,0xF9,0xD0,0x28,0x84,0x34,0x8F,0xD2,0xCE,0x3D,0xC7,0xDB,0x4D,0xEA, -0x5D,0x41,0x05,0x24,0xD7,0x17,0xBC,0x0B,0x36,0x98,0x84,0xCE,0x7A,0x66,0x33,0x29, -0xA4,0xB8,0x12,0xCA,0x9C,0x98,0x78,0x84,0x9F,0x19,0x05,0xE6,0x3B,0x27,0x93,0xC8, -0x74,0x68,0x0A,0x02,0x64,0x4D,0x55,0x51,0xD8,0xF0,0xEC,0x48,0xAE,0xB2,0xEB,0x25, -0xE4,0xF8,0xD2,0x4A,0x11,0x6F,0x02,0x73,0x5D,0x4A,0x56,0x77,0x52,0x4E,0x35,0x07, -0xCC,0xD0,0xFC,0x4C,0x0C,0xDC,0xAC,0xC0,0x15,0x8A,0x96,0xFF,0x29,0x35,0xA2,0xEB, -0xE5,0xF9,0xF3,0x6A,0xF8,0xA9,0x2D,0xB5,0xA6,0xC8,0xD4,0x0E,0x4B,0x57,0x57,0x7C, -0x4A,0x56,0x13,0x25,0x13,0x67,0x08,0x7B,0x2E,0x48,0x54,0x06,0x6C,0x70,0x12,0x1E, -0x40,0x5C,0x6A,0x56,0x6F,0xD2,0xC1,0xCE,0xCE,0xE7,0xFB,0x49,0x3E,0x22,0xA3,0xFD, -0x12,0x0E,0x89,0xE7,0x96,0x10,0xFA,0x0C,0xA7,0x26,0x3A,0xE1,0xF6,0xEA,0x29,0xBF, -0xE9,0xF5,0xED,0x78,0x1C,0xD8,0xB8,0xC4,0x9C,0xE4,0xF8,0x18,0x00,0x1C,0x84,0xE4, -0xAA,0xB6,0x7F,0xA9,0x27,0x42,0x19,0x5E,0xEE,0x08,0x14,0x86,0xF2,0xEE,0x39,0xAB, -0x0D,0x11,0x95,0xE4,0x6B,0xF2,0xE5,0xEE,0x03,0x9D,0x81,0xFE,0x89,0x95,0xAE,0x47, -0x60,0x7C,0x4E,0x52,0xF4,0x09,0x81,0x15,0x93,0xCD,0xD1,0x3E,0x7F,0x63,0x03,0x1C, -0xA0,0xBC,0x06,0xDA,0xB4,0x19,0xD1,0x05,0xD9,0x1E,0x02,0xA7,0x93,0x8F,0x9D,0x6E, -0x5F,0x43,0x76,0x55,0x75,0x5E,0x57,0x42,0x99,0xC5,0xD9,0x3C,0x76,0x6A,0x21,0x37, -0x90,0x8C,0x72,0x9E,0xB8,0xB9,0x7D,0xA5,0xC3,0xDD,0xC1,0x7E,0xC1,0xDD,0x2C,0x8D, -0x3D,0x21,0xE1,0xA0,0xEE,0x85,0x17,0x99,0xFE,0xC3,0xDF,0x5D,0x9C,0x80,0xDE,0x22, -0x9E,0x82,0x1F,0xFD,0x8A,0xB4,0x42,0xA8,0x21,0x61,0x7D,0x20,0x53,0x4F,0x15,0x26, -0x38,0x24,0xD4,0x90,0x2D,0xCA,0x9B,0xD6,0xC5,0x01,0x1D,0xA4,0xCC,0xD0,0x1E,0xB2, -0x73,0x6F,0x4C,0x43,0x10,0x78,0x14,0x64,0xD7,0xD9,0xC5,0x6E,0xAC,0xB0,0x9A,0x56, -0x11,0x0D,0xDB,0xB6,0x85,0x0B,0xF2,0x17,0x45,0x9A,0x86,0xBF,0xC9,0xD5,0x2E,0x87, -0xF6,0xEA,0xF1,0x7B,0xC3,0x33,0x8C,0x2F,0xBE,0x18,0x04,0xC6,0x81,0x9D,0xAC,0x4D, -0x55,0x49,0x0F,0x26,0xC9,0xBB,0x0E,0xA7,0xA9,0xE1,0xFD,0x28,0xDB,0xC7,0x1F,0xA4, -0x62,0x7E,0x3D,0x23,0x0D,0xCB,0xBA,0xD7,0x18,0xB0,0xAC,0xC8,0x71,0x6D,0x60,0x71, -0xE0,0xFC,0xC6,0x5A,0xB2,0x31,0xFF,0x2D,0x01,0x8E,0x92,0xEF,0x1F,0x03,0x87,0xF8, -0x26,0xE2,0x34,0x8F,0xB1,0x3F,0x13,0xDC,0xE1,0x81,0x90,0xEC,0xC5,0x44,0xA8,0x71, -0xB3,0x93,0xD0,0xFE,0xA9,0x65,0x51,0xC4,0x8A,0x0F,0x75,0x62,0x8B,0xE9,0xE6,0x92, -0x00,0xD1,0x21,0xBC,0x00,0xE2,0x7F,0x6D,0xC4,0xB7,0x83,0xDA,0x6A,0xA4,0x07,0x3E, -0x78,0x35,0xBD,0x58,0xB7,0x58,0x72,0xDA,0x03,0xD8,0x2B,0xB5,0x3D,0x72,0x50,0xBF, -0xF4,0x7A,0x7E,0x17,0xD7,0xBC,0xF6,0xBA,0x26,0xEE,0x38,0x83,0x29,0x36,0x44,0xEF, -0x0E,0x16,0xE8,0x7B,0xA3,0x1C,0x22,0xCE,0x19,0x54,0xBD,0x39,0xA5,0xA0,0xC8,0xF5, -0x61,0x0B,0x9A,0x66,0x75,0x63,0x8B,0x18,0xA5,0xB1,0xE4,0xDC,0xF8,0x0F,0x95,0x07, -0x27,0x0C,0xDB,0x61,0x11,0x93,0x1F,0x7C,0x7B,0x4D,0xC6,0x20,0xAB,0xCD,0xC6,0x96, -0x3C,0x21,0xED,0x4C,0x0D,0xDD,0x4D,0x60,0x73,0xCD,0x4E,0xA0,0x8E,0xDC,0xE3,0xA2, -0x06,0x0D,0xFB,0x60,0x64,0x12,0xEB,0x09,0x89,0x10,0x69,0x7D,0x83,0xE3,0xEE,0x90, -0x20,0x3E,0xEE,0x53,0x54,0x66,0xAF,0x39,0xA1,0x91,0xC0,0xFC,0x47,0xBF,0x2A,0x08, -0x7F,0x07,0x88,0x6A,0x19,0x99,0x1D,0x74,0xE2,0x9E,0x8C,0xF3,0x02,0x4A,0x6F,0xB8, -0xEC,0xAA,0xB6,0xC7,0xAD,0x71,0x41,0xC0,0xB1,0x95,0xD4,0xF8,0xAD,0xAA,0xC0,0xF7, -0xB0,0x6E,0x2E,0x03,0x3E,0xFB,0x58,0x53,0xC6,0xBF,0x89,0xD2,0xAE,0xF8,0xC3,0xA6, -0xE1,0x90,0x81,0xFD,0xAC,0x50,0x61,0xC1,0x35,0xF5,0x30,0x98,0x00,0x39,0x6D,0xC9, -0x48,0x11,0xA9,0x7C,0xBE,0x73,0x50,0xD3,0x48,0x57,0xEF,0x3A,0x63,0x8F,0x0E,0x1C, -0x05,0xF0,0x05,0x9D,0xE9,0xA5,0xD1,0x84,0x45,0xE0,0x55,0x8D,0x48,0xF3,0x25,0x4B, -0xD0,0x5A,0x7A,0x37,0x91,0x1B,0x17,0xFC,0x80,0x87,0xF7,0xEA,0xA8,0x9F,0xC5,0xC7, -0xC1,0x7F,0x4E,0x12,0xB2,0x6D,0x42,0xDF,0x12,0xCB,0x29,0xA6,0x30,0x4D,0x5D,0x8D, -0x70,0x2E,0xAE,0x43,0xD4,0xEE,0xA7,0xB9,0xCD,0x20,0x1D,0x4D,0xA1,0xB4,0xCC,0xE5, -0x67,0xD7,0x40,0xBA,0xC2,0xD9,0x86,0xAF,0x6D,0x61,0xFC,0x0C,0xEB,0x0D,0x86,0x16, -0x0A,0xD9,0x23,0xB4,0x1B,0xEA,0x6C,0x76,0x8F,0x38,0x47,0x55,0x4F,0xB5,0x22,0x0A, -0xE5,0x5F,0x4A,0x32,0x34,0x82,0x2B,0x59,0x3F,0x7D,0xB2,0x10,0x42,0x8A,0x2F,0x38, -0x52,0xD2,0x70,0xBF,0x0F,0xAE,0x3C,0x62,0xF1,0x85,0x84,0xE8,0x9A,0x98,0xF7,0xF2, -0x7A,0x26,0xAC,0x4B,0xBB,0x46,0x60,0xD6,0xBE,0x2A,0x64,0x47,0x6F,0x91,0x02,0x0E, -0xB6,0xB2,0xF4,0xDF,0xAA,0x37,0x00,0xC7,0x06,0xEF,0x19,0x82,0xF1,0x24,0x9C,0x25, -0x42,0x19,0xAB,0x74,0x2E,0xAB,0x18,0x43,0xD7,0xAC,0x8B,0xC1,0x9C,0xFF,0xF1,0x93, -0x5E,0x06,0xA8,0x6B,0xE5,0xBB,0xC3,0x88,0xB5,0xB5,0xF0,0xD8,0x0A,0x40,0x67,0xBA, -0xA9,0x50,0x09,0x3D,0x88,0x60,0x75,0xE5,0x7D,0x65,0xE8,0x08,0x4E,0x94,0x23,0x2A, -0x0C,0x05,0xF9,0x68,0x30,0x96,0x3B,0x5D,0xDF,0x2C,0x03,0x41,0x1A,0x10,0x77,0xFA, -0x5A,0xC9,0x63,0xA4,0x31,0xB7,0x1B,0x5C,0x67,0xE9,0x7E,0x84,0x03,0x6B,0x6E,0x98, -0x41,0xE4,0x55,0x89,0xD0,0xFA,0xB7,0xBD,0xBB,0x1D,0x56,0x70,0x28,0x17,0x45,0xCF, -0xAD,0x9F,0xC2,0xF2,0xDB,0xA2,0xE4,0xB6,0x56,0xFB,0x5D,0x96,0xE7,0x13,0x8A,0x04, -0xC7,0xA3,0x94,0xCE,0x76,0x31,0xDA,0x1B,0xA4,0xA6,0xF2,0xCB,0xF9,0x2E,0x94,0x27, -0x01,0x3F,0xCE,0x52,0xEB,0xD6,0xA0,0x86,0xE7,0xA9,0xBE,0xC4,0x24,0x09,0x49,0xDD, -0x87,0x78,0x0F,0x15,0x14,0xA6,0x2F,0x79,0x5B,0x4C,0xE7,0x21,0xFF,0x49,0x92,0x46, -0x35,0xD4,0x11,0xB9,0x46,0x45,0x9E,0x2B,0xD4,0xB3,0x97,0xDE,0xA7,0xD3,0xCA,0x84, -0x51,0x2F,0x8E,0x42,0x2B,0x9E,0x28,0x46,0x79,0x45,0xCC,0x28,0xF7,0x43,0x9A,0x44, -0x68,0xFE,0x66,0x93,0xA2,0x3D,0x02,0xCF,0xFE,0x3A,0x34,0x57,0xDE,0x4C,0xB3,0x62, -0xC9,0x64,0x5D,0x09,0xE1,0xAF,0xD3,0x8C,0x43,0xC8,0x7B,0xA5,0x32,0x3E,0x5F,0xFC, -0x6A,0xED,0x77,0x80,0x29,0xED,0x59,0x44,0x1A,0x4B,0xA1,0x26,0x8A,0xC8,0xE7,0xB2, -0x2F,0x17,0xC8,0x7A,0xAB,0x16,0x20,0xC6,0xFD,0x25,0x28,0x48,0xB4,0xD1,0xD9,0x95, -0x5C,0x15,0xB9,0x78,0xBD,0x21,0x01,0xD0,0xD6,0xBB,0x9D,0xD6,0x22,0x6E,0x4F,0xBC, -0xDE,0x9D,0xB3,0xF0,0x1E,0xDF,0x5C,0x73,0x65,0xE1,0x74,0x8C,0xDB,0x79,0xB6,0x52, -0xC4,0x5E,0x6A,0x33,0x38,0x9C,0x39,0x55,0xE0,0x96,0x86,0xFB,0xE3,0x07,0x8E,0x14, -0x22,0x2D,0xFF,0x40,0x5A,0x0B,0xCC,0x37,0x54,0xF3,0x57,0x9E,0xA0,0x95,0xCD,0xC5, -0x92,0x92,0xF0,0xFF,0xD5,0xCF,0x87,0xB8,0x6F,0x69,0xF6,0x04,0x5B,0xF1,0x36,0x5A, -0x4B,0xEC,0x57,0x81,0x73,0x04,0xEA,0x1E,0x64,0xF6,0x62,0x9B,0x3B,0x15,0x56,0xDE, -0x54,0x0E,0xAA,0x63,0xF5,0xEB,0x83,0x98,0x37,0xFD,0x3A,0x90,0xE8,0x5F,0x85,0x47, -0x6C,0x31,0xAD,0x5C,0x16,0xD5,0x5E,0x7B,0x49,0x40,0xF9,0x2D,0xA2,0xE6,0xCF,0xB4, -0xCA,0x99,0xA3,0xF4,0x4A,0x5B,0x8C,0x27,0xD2,0x9B,0xB9,0xF6,0xBC,0xDB,0xD1,0x97, -0x53,0x3C,0x9F,0x51,0x72,0x25,0xCA,0x1F,0x3D,0x75,0xB8,0x18,0x12,0x1A,0x7F,0xF8, -0x7D,0x14,0x99,0x79,0x1A,0xCB,0x4C,0x77,0xC0,0x97,0xA7,0xFA,0x51,0x88,0x3C,0x29, -0xA3,0x58,0x0B,0x35,0x65,0x33,0xCB,0x08,0xC1,0x80,0xB1,0xED,0x67,0x9B,0x0A,0x0C, -0x32,0xE6,0x24,0x8B,0xE0,0x8E,0xF3,0x8D,0x31,0xD5,0x14,0xB8,0x4A,0x80,0x27,0x3A, -0xE0,0x7E,0x6E,0x13,0xC9,0x81,0xD5,0xA4,0xDC,0x33,0x1F,0x5E,0x89,0x9A,0xE4,0xE3, -0x11,0xF4,0x15,0x99,0x0B,0xBA,0x2C,0x66,0xD9,0x04,0x2D,0x69,0xDD,0x1E,0xB0,0x33, -0x2A,0x36,0xEC,0x5B,0x59,0x59,0x9D,0x34,0x53,0xCC,0x6F,0xA1,0x1C,0x77,0x71,0x9B, -0xFD,0x8F,0x82,0xE2,0xAE,0x23,0x10,0xC3,0x2D,0x71,0xAC,0x1C,0xF2,0x76,0x9F,0x74, -0xD8,0x41,0x69,0x2C,0x01,0xC3,0x5F,0x6C,0x68,0x56,0xCE,0x3B,0x72,0xFE,0x1F,0x7C, -0xD2,0x49,0x6B,0x24,0xAF,0x02,0x30,0xC2,0x4F,0x68,0xD7,0x05,0x70,0x8D,0x1D,0x0D, -0x7C,0xFA,0x76,0x97,0x87,0x2C,0x36,0xEA,0xD8,0x13,0x3B,0x7E,0xB0,0xC5,0xDD,0x85, -0xA8,0xBE,0xE6,0xD3,0xEF,0xC2,0xB0,0x82,0xE9,0x01,0x18,0x6C,0x23,0x4F,0x4E,0x9C, -0x85,0x6B,0x1E,0x06,0x3F,0xDA,0x78,0x52,0x91,0x94,0xF5,0xF9,0xCA,0x08,0xA7,0x32, -0x12,0xA6,0x91,0x3E,0xC5,0x8D,0x6A,0xC2,0x7E,0x86,0xDD,0xD1,0x2A,0xD1,0x71,0xDE, -0x7A,0x5F,0x00,0xAF,0x2E,0x52,0x81,0xF6,0x18,0x05,0x38,0xB7,0x9B,0x31,0x20,0x8F, -0xD4,0x18,0xE9,0x46,0xEE,0xDA,0x41,0xBE,0x25,0x4E,0x4E,0x8A,0xEE,0x9A,0xFE,0x51, -0x58,0x74,0x09,0xA6,0x89,0x1F,0x26,0x1C,0x5D,0xF0,0x88,0xF2,0x3B,0xE5,0x54,0xFB, -0xA7,0x61,0xE3,0x4C,0x73,0xA0,0xDC,0x59,0xF8,0x69,0xB4,0x57,0x0E,0xD5,0x51,0xFE, -0x6D,0x73,0x3B,0x94,0x8B,0x6E,0x24,0x6F,0xC3,0x45,0xA3,0x6C,0xB9,0xEF,0xDC,0x73, -0x89,0xE6,0x4A,0xE5,0x6F,0xF2,0xC0,0x17,0x0E,0x32,0x19,0xA1,0x8C,0xDF,0xD9,0x76, -0x95,0x5E,0xEE,0x41,0x36,0x10,0x99,0xAC,0xD7,0x01,0xF3,0x78,0xE1,0xBC,0xD7,0x78, -0x0C,0x14,0x3D,0x92,0xA2,0x48,0x0D,0x60,0xE2,0x40,0x87,0x4D,0xA9,0x34,0x17,0xB8, -0x25,0xAB,0xAB,0x04,0xBB,0x2A,0x14,0x1B,0x29,0x50,0x5C,0x86,0xB5,0x37,0x08,0xA7, -0x91,0x7A,0xCE,0x61,0x24,0x21,0x8B,0x8F,0x77,0xAD,0xFF,0xD8,0x91,0x33,0x28,0x87, -0xBA,0xCF,0x50,0xFF,0xE1,0x99,0x4E,0xF2,0x66,0xDC,0x9F,0xC9,0x5D,0x6B,0xBC,0x13, -0x07,0x80,0xA2,0x0D,0xE7,0xF8,0x48,0x95,0xFD,0x5C,0x84,0x52,0xB1,0xFC,0xC7,0x68, -0x50,0xFC,0x89,0x26,0x13,0x24,0xBC,0xBD,0x1C,0x11,0x28,0xB3,0xAA,0xCA,0xEA,0x45, -0xB5,0x7F,0xEF,0x40,0x6B,0xE2,0xC4,0x03,0x44,0x8B,0xEA,0xEB,0x42,0x96,0x5E,0xF1, -0x65,0xFB,0xBB,0x14,0x22,0x40,0x8D,0xE8,0xFC,0x7D,0xA4,0x53,0xE7,0x66,0x0B,0xA4, -0xA1,0x4F,0xCB,0x64,0xB9,0x5B,0x16,0x68,0xCC,0x09,0xE0,0x63,0xEB,0xBE,0xDF,0x70, -0x20,0x99,0x9C,0x33,0xD6,0x9C,0x79,0xC0,0x7B,0xB3,0xED,0xD4,0x93,0x22,0x3B,0x94, -0xEE,0xAF,0x64,0xCB,0x8F,0x7E,0x20,0x7B,0x7D,0xD4,0x8C,0xD2,0xCD,0xAB,0xEC,0x43, -0x0D,0x02,0x2A,0x85,0x01,0x15,0xAE,0x9E,0x65,0x8E,0xCE,0xCA,0x58,0x4F,0x9D,0x32, -0x98,0xE4,0x59,0xF6,0xBF,0x3A,0x10,0x0F,0xB9,0x88,0x14,0x16,0x8A,0x05,0x05,0xAA, -0x09,0x26,0x0A,0xA5,0x43,0xE4,0xEC,0x2D,0xDD,0x78,0x80,0x72,0xCC,0x44,0x02,0xAD, -0x70,0xDD,0x88,0x27,0xE0,0xB9,0x4F,0xD3,0x1B,0x57,0x69,0xB4,0x1F,0xE1,0x74,0xDB, -0x6A,0x4B,0x04,0xAB,0x5A,0x86,0xF5,0x56,0x6F,0xF7,0xBD,0xC0,0xE5,0x77,0x18,0xB7, -0x97,0x54,0xE6,0x49,0x9F,0x3E,0x30,0x2B,0x98,0x8D,0x30,0x37,0xCB,0x71,0x30,0x9F, -0x27,0xA1,0xA3,0x0C,0x90,0x7D,0x3F,0x67,0xD5,0x72,0x82,0x7A,0x94,0x17,0x09,0xA6, -0x3D,0x37,0x2F,0x80,0xC3,0xEC,0x6C,0xA5,0xC1,0x36,0xD2,0x6E,0xD7,0x72,0x2F,0x80, -0x0F,0x08,0x22,0x8D,0x1E,0x16,0xB1,0x82,0xA8,0xF9,0x74,0x07,0xED,0x64,0x03,0xAC, -0x56,0xD2,0xA1,0x0E,0xFB,0xAA,0x54,0xDB,0x60,0xBB,0xFE,0xCF,0x0A,0x1E,0x9E,0x31, -0x83,0x64,0xC2,0x6D,0x59,0xD7,0xF6,0x04,0x72,0x98,0xCF,0xDD,0xA3,0x36,0x1F,0xB0, -0x68,0x41,0x0C,0xA3,0x9B,0x2E,0x34,0x3F,0x61,0x9A,0xDE,0xCE,0x07,0x29,0xA4,0x0B, -0x39,0x13,0x0F,0xA0,0xB1,0x59,0x1E,0x62,0xF2,0x10,0xC7,0x5D,0x5B,0xB1,0x60,0xCF, -0x08,0x30,0x1D,0xB2,0x95,0x4D,0x3A,0x52,0x86,0xB0,0x13,0x29,0x21,0x3C,0x97,0x38, -0x67,0xF1,0xB3,0x1C,0x7B,0xA2,0xD4,0x53,0xBE,0xCE,0x55,0x11,0xB8,0x00,0x32,0x9D, -0xD8,0xB4,0x49,0xE6,0xF3,0xA8,0x5C,0xD1,0x39,0x00,0x1C,0x96,0xBF,0x35,0x00,0xAF, -0x2B,0x0D,0x03,0xAC,0x4E,0xD6,0xE1,0x12,0xDA,0x3E,0xC1,0x75,0x87,0x32,0x3F,0x90, -0xA5,0x6B,0xEB,0x44,0xDB,0xAE,0x74,0xFF,0x2C,0x65,0x6C,0x83,0xD9,0xBB,0xE8,0x47, -0x7C,0x71,0x28,0x87,0x3D,0x43,0x92,0xF4,0x05,0x6A,0x4A,0xAA,0x0B,0xF1,0x70,0xDF, -0xB6,0x63,0xF0,0x5F,0x99,0x5F,0x36,0x4C,0xD6,0x20,0xD3,0x79,0x96,0x06,0x1A,0xB5, -0x93,0x70,0xC6,0x69,0x8E,0x5E,0x21,0x5A,0xA9,0xD8,0x54,0x06,0x48,0x94,0x56,0xF9, -0xEB,0x9D,0x53,0xFC,0x7F,0xB2,0xD0,0x47,0x62,0xC8,0x8F,0xCD,0x16,0x1D,0x81,0x2E, -0xE3,0x15,0xD3,0x7C,0x58,0xF7,0xF7,0x25,0xCD,0x28,0xC0,0x62,0x33,0xF6,0x4F,0xE0, -0xAC,0xF5,0x7C,0xD3,0x0A,0x46,0xA5,0xC6,0xC7,0x51,0xB3,0x68,0xFA,0x8A,0xFA,0x55, -0x04,0x9C,0xBD,0x12,0xC2,0xCC,0x6D,0x84,0x95,0xB2,0x02,0x3A,0xC1,0x73,0x38,0x97, -0x03,0xA4,0x82,0x2D,0x0F,0x76,0xA0,0xF3,0x23,0x29,0x2F,0x8C,0x43,0x79,0xB0,0x1F, -0xAD,0xE3,0x6B,0xC4,0x9A,0x0E,0x35,0x1E,0xF3,0x31,0xE7,0x5C,0x6E,0x81,0x65,0xCA, -0x92,0x66,0xD1,0x7E,0x66,0xD0,0xC9,0x3C,0x63,0xE9,0xAF,0xCC,0x39,0xF4,0x47,0xE8, -0x1A,0x2E,0x11,0xBE,0x1D,0x47,0xB2,0xD0,0x4B,0xC7,0xA9,0xE4,0x97,0xE9,0xF4,0x5B, -0x42,0xE2,0x85,0x2A,0xA7,0x78,0x08,0x55,0x27,0x3D,0x3F,0x88,0xEA,0x51,0x31,0x9E, -0xD9,0xA2,0x5E,0xF1,0x42,0xC4,0xED,0x0C,0xD8,0x4D,0xB0,0x77,0x6C,0x90,0x76,0xD9, -0x9B,0xF8,0x46,0xE9,0xF5,0xC9,0x5A,0xB6,0x17,0x49,0x7B,0xB8,0x46,0x5D,0x91,0x3E, -0xB8,0xC5,0x58,0xF7,0xA8,0x3B,0x07,0x19,0xBA,0xDA,0x45,0x15,0x2C,0x0B,0xAD,0x02, -0xFD,0xA7,0x7F,0xD0,0x34,0x61,0x9B,0xDF,0x6E,0xD6,0x9D,0xC1,0x83,0xF9,0xF0,0x5F, -0x63,0xD5,0x93,0x3C,0xC6,0xDC,0x69,0x90,0x2D,0x44,0x4C,0x82,0x22,0xC2,0x6A,0xC5, -0x1B,0x38,0x06,0xA9,0xBD,0x4B,0x12,0x7C,0x8A,0xAE,0x01,0x25,0xDE,0x8E,0xDA,0x75, -0xDB,0xA8,0x56,0xF9,0x4B,0xE6,0xE4,0x27,0xE7,0x75,0xB7,0x48,0xBA,0x11,0x21,0x8E, -0x23,0x85,0x83,0x2C,0xB5,0x49,0x1A,0x76,0x71,0xCA,0x9E,0xDE,0xB7,0x26,0x1B,0xB4, -0xCD,0x92,0x7A,0xD5,0xEF,0xFA,0x40,0x9F,0xD2,0x34,0xC3,0x7D,0x35,0x2C,0x93,0x3C, -0x2D,0x23,0x2B,0x84,0x45,0x85,0xEA,0x4A,0xE5,0x06,0xC6,0x4A,0x81,0xE8,0xE3,0x4C, -0x0A,0x3A,0x15,0xBA,0x2B,0x62,0x84,0xC3,0x67,0xFD,0xBF,0xC8,0xC4,0x57,0x19,0xB6, -0xC5,0x1A,0xFA,0x55,0x67,0xF0,0xC8,0x1D,0x19,0x24,0x18,0xB6,0x79,0x6F,0x9C,0x33, -0x41,0xFE,0x9A,0x35,0xF8,0xFB,0x57,0x89,0xBF,0xEF,0x75,0x10,0xA0,0xC8,0xE2,0x4D, -0x8B,0xEC,0x42,0xED,0x98,0x7F,0x37,0x6D,0xF4,0x77,0xA6,0x5B,0x2F,0xF5,0x50,0xFF, -0x5A,0x7E,0x01,0xAE,0xFD,0xCB,0x52,0xBC,0x96,0xE0,0x53,0x39,0xC9,0x60,0x23,0x8C, -0x47,0xD6,0x5F,0x90,0x0C,0x10,0xC3,0x1D,0x09,0xC6,0x25,0x2D,0xC3,0xB5,0x7A,0xB8, -0x04,0x9A,0x50,0x9F,0x49,0xE5,0x86,0xAD,0x30,0xFF,0x7A,0x4B,0x3C,0xF8,0x37,0x0A, -0x2C,0x33,0xD1,0x1E,0x8D,0xB9,0x42,0x35,0x03,0xCC,0x5C,0x5E,0x48,0xC8,0x07,0x4E, -0xD6,0x14,0x0C,0xC3,0x80,0x86,0x4F,0x07,0x2F,0xE0,0x66,0x48,0x87,0xA1,0x6E,0xE8, -0xED,0xB5,0x96,0x59,0x6D,0xD5,0xA2,0xB9,0x1F,0xD0,0x12,0x0C,0x29,0x12,0xDD,0xF5, -0x90,0x6A,0x34,0xFB,0x0E,0x63,0xC1,0x6C,0x9E,0x51,0xBB,0x24,0x0A,0x00,0xCF,0xC4, -0x63,0xD3,0x7E,0xB1,0xA0,0xA2,0x6F,0x03,0x60,0xAF,0xEA,0x8B,0xA1,0x92,0x5D,0xFD, -0x14,0x8E,0x54,0x9B,0xA3,0xF0,0x6C,0x52,0xA4,0x6B,0xB6,0x13,0x2B,0x01,0xCE,0xE4, -0xA6,0x71,0x19,0xD6,0x33,0x28,0xFC,0x1A,0x3B,0xF4,0x22,0x18,0x02,0x1B,0xD4,0xD7, -0x61,0xD9,0x76,0xB9,0x64,0xFE,0xAB,0x9B,0xDF,0x10,0x5A,0x84,0xB8,0xAC,0x63,0xDA, -0x2F,0x2F,0xCE,0x01,0x85,0xB3,0x4A,0x37,0x9D,0x52,0xE9,0x75,0x3F,0x05,0xCA,0xF4, -0x44,0xCA,0x40,0x8F,0xCB,0x1E,0x04,0xD4,0xEC,0x23,0x7C,0x91,0x65,0x1D,0xD2,0xB6, -0xDE,0x9C,0x8C,0x43,0xA5,0x97,0x6A,0x33,0x02,0xCD,0x7D,0x7E,0xC9,0xBD,0x72,0xBA, -0x00,0xBE,0x70,0xBF,0xF6,0x55,0x39,0xA2,0x05,0xCA,0x3B,0x3F,0x39,0xD9,0x16,0x2E, -0xBC,0xE7,0x95,0x5A,0xAB,0xFA,0x64,0x50,0x18,0xD7,0x54,0x4D,0x46,0x0F,0xC0,0x87, -0x83,0x62,0x2F,0xE0,0x27,0x6C,0xE8,0x4A,0x74,0xBB,0xAE,0xDB,0xE6,0x7B,0xB4,0x53, -0x10,0xAA,0x74,0xBB,0x04,0x1A,0xCB,0x1F,0x08,0xC7,0x04,0x0D,0xE1,0x49,0x86,0x66, -0x72,0xD1,0x6D,0xA2,0x92,0xA5,0x5D,0x36,0x17,0xD8,0x18,0x0E,0xF1,0x82,0x4D,0xBD, -0xA3,0x43,0x2E,0xE1,0xFF,0x7E,0x30,0x80,0xBC,0x73,0xEC,0x51,0x6D,0x06,0xC9,0xA5, -0x1B,0x3E,0xEB,0x24,0x61,0xCB,0xAE,0xAB,0x28,0xE7,0x20,0x09,0x1C,0x17,0xD8,0xC5, -0x1E,0x0C,0xDC,0x13,0x26,0x4D,0xE9,0x6A,0xEA,0x25,0x1B,0xF0,0xA0,0x7C,0xB3,0x12, -0xC2,0x24,0x28,0xE7,0x0D,0x31,0xC2,0x3D,0xC7,0x08,0x00,0xC6,0xED,0x9D,0x52,0xBE, -0x7A,0x59,0xED,0x22,0x14,0x4A,0xDB,0x5F,0x0B,0xC4,0x56,0x5C,0xCC,0x9C,0x53,0x9E, -0xD8,0xB2,0xA4,0x6B,0x40,0xCE,0x8F,0x8F,0x5E,0x91,0xF3,0xAC,0x3A,0x24,0xEB,0xD0, -0x68,0x47,0xE1,0x2E,0xAF,0xEE,0x60,0x40,0x20,0xEF,0x2A,0x0B,0xB4,0x78,0xB7,0x02, -0xB7,0x73,0x0A,0xC5,0x3E,0x17,0xF1,0x28,0x71,0xBE,0x9B,0xEB,0x37,0x1E,0xD1,0xE7, -0x25,0xAD,0x46,0x89,0xA6,0xC5,0x69,0x62,0x54,0x9B,0x8A,0xDF,0x41,0x3D,0xF2,0xB2, -0xE0,0x0F,0x21,0xEE,0x46,0xA9,0x89,0xEE,0xFE,0x31,0x5F,0xA0,0xFF,0x45,0x8A,0x74, -0x54,0xDE,0x44,0x8B,0x94,0xC2,0x5B,0x57,0xDC,0x13,0x08,0xD5,0xF4,0xA3,0x6C,0x99, -0x9A,0xE8,0xBC,0x73,0x4C,0xD0,0x83,0x9D,0x51,0x9E,0xBF,0xEF,0xD8,0x98,0x57,0x8E, -0x2A,0x1D,0xF9,0x36,0x41,0xEF,0x8E,0xAF,0xD7,0x18,0x50,0x86,0xB0,0xB7,0x78,0xC9, -0xC8,0xA6,0xA0,0x6F,0xE5,0x57,0x2A,0xB3,0xD9,0x16,0x3D,0xE5,0x83,0x6E,0xA1,0x23, -0xC0,0x2E,0x20,0xEF,0xD5,0x23,0x1A,0xF7,0x93,0x5C,0x84,0x16,0x85,0xB2,0x7D,0xF9, -0x73,0xC7,0x7A,0xB5,0x2C,0x34,0xE3,0x19,0x1B,0xD4,0x06,0x1C,0x7B,0x11,0xDE,0xA4, -0x58,0x72,0xE4,0x2B,0xBA,0x8B,0x75,0x30,0x19,0xD6,0x75,0x6D,0x4C,0x07,0xC8,0x85, -0xBF,0xFB,0x8A,0x45,0x84,0x92,0x4B,0x17,0xE3,0x2C,0x30,0xD2,0xB7,0x85,0x4A,0xFC, -0xC1,0x38,0x37,0xF8,0x35,0x4F,0xFA,0x7B,0xE2,0x2D,0x11,0xF2,0x5E,0xDF,0x10,0x4F, -0xCA,0xAC,0xA8,0x67,0x55,0xAB,0x9A,0xFF,0x9C,0x53,0xC8,0x55,0x95,0x79,0xB6,0x22, -0xF1,0x0D,0x32,0xFD,0xAE,0xCF,0x61,0x60,0x23,0xEC,0x78,0x5A,0x51,0xF6,0x39,0x69, -0x45,0xDC,0x57,0x98,0xED,0x5D,0x22,0xB1,0x50,0x9F,0x9E,0xCF,0xC6,0x94,0x5B,0x9C, -0xFE,0xBD,0x8D,0x42,0xF1,0x13,0x3E,0xE3,0x76,0xB9,0xDD,0xAA,0xFC,0xB8,0x77,0x8A, -0x42,0xE4,0x68,0xA7,0x2A,0x53,0xE5,0x78,0x31,0xFE,0x5B,0x6B,0x8C,0x47,0x88,0x05, -0x01,0xA8,0x67,0xA8,0xF7,0x74,0x38,0x82,0xAD,0x62,0x9D,0x31,0x6B,0xDA,0x15,0x7F, -0xF3,0x07,0x3A,0xF5,0xE9,0x49,0x26,0xA1,0x91,0x5E,0xF7,0x67,0xF8,0x77,0xB8,0x41, -0xE6,0x21,0x09,0xC6,0x3C,0x64,0xF3,0x59,0x6A,0xA5,0x93,0xF8,0xF5,0x4D,0x82,0x76, -0x5B,0x6E,0xFB,0x34,0xD0,0x16,0x1F,0xC7,0xF0,0x3F,0x32,0xC3,0x67,0x0E,0xC1,0xA7, -0xDC,0x96,0x84,0x4B,0xF9,0x19,0x36,0xE1,0x21,0xEE,0x0B,0x2B,0xC4,0x87,0x48,0x8D, -0x71,0xCD,0x72,0xBD,0xA9,0x89,0x66,0x21,0xDA,0x15,0x6F,0xB4,0x1F,0xEA,0x25,0x3B, -0xCD,0x94,0x97,0x58,0x7C,0xA4,0xB3,0xD9,0x4F,0x80,0x82,0xCC,0x99,0xAD,0x62,0xFA, -0x88,0xF6,0xB0,0x7F,0xFC,0x2C,0x33,0xD1,0x81,0x4E,0xA7,0x27,0x79,0x02,0xCD,0xB5, -0xF6,0x35,0x0D,0xC2,0x12,0x2D,0xDD,0x3E,0x38,0xF7,0x70,0x49,0x03,0xF5,0x3A,0x38, -0x7C,0x77,0xC5,0x0A,0xD3,0x44,0x1C,0x96,0xFA,0x35,0x4B,0xB0,0xE0,0xA7,0x68,0x89, -0x34,0xAF,0x55,0x9A,0xC4,0x52,0x0B,0x97,0x65,0xAA,0xDF,0xBB,0x80,0x93,0x5C,0xDD, -0x4C,0x42,0xC0,0x0F,0x2D,0x15,0xE2,0x39,0xB0,0x7F,0xF2,0x43,0x98,0x43,0x8C,0x15, -0x7D,0x61,0xD2,0x1D,0xBE,0x9F,0x71,0x20,0xF4,0x3B,0x26,0xD3,0x76,0x2B,0xE4,0x93, -0xEA,0x8D,0xA9,0x66,0x7E,0xD7,0xB1,0xA8,0x47,0x88,0x88,0xCE,0x58,0x03,0xCC,0x95, -0x98,0xE2,0xB4,0x7B,0x1C,0x40,0xD3,0x5D,0x32,0xFD,0x09,0x3A,0x7F,0xDE,0x11,0x6F, -0x77,0xE3,0x5A,0x95,0xB2,0x81,0x7D,0x32,0x97,0x58,0x90,0x06,0x01,0xE6,0x29,0x29, -0xEC,0xA3,0x81,0x4E,0xAC,0xBC,0x63,0x11,0x3F,0xF0,0x36,0x08,0x8F,0xBA,0x75,0xFB, -0x92,0x60,0x3C,0xF3,0xE6,0x05,0x29,0xE2,0x00,0xCF,0x0E,0x0F,0xB1,0x59,0x96,0x26, -0x79,0x45,0xF2,0x3D,0x87,0xC0,0x48,0x46,0x70,0xBF,0xBA,0xCB,0xDB,0x65,0xAA,0x70, -0x94,0x4E,0x14,0xDB,0x44,0xDA,0x8B,0x9F,0xE8,0x27,0x68,0x81,0xD4,0x4C,0x83,0x56, -0x64,0xEB,0x41,0x8E,0x69,0xC1,0xA6,0xA9,0x56,0x99,0xF9,0xAE,0x69,0xC9,0x06,0x6E, -0x65,0xFD,0x56,0x99,0x5F,0xD2,0x90,0x8C,0x1A,0xD5,0x27,0x3C,0x91,0xB6,0x79,0xE9, -0xE2,0xB1,0xF7,0xF8,0xDB,0xE4,0x81,0xC1,0xF5,0xC8,0x83,0xEF,0x46,0x6A,0x92,0x88, -0xDA,0xF7,0x89,0xC0,0x7E,0xD8,0x18,0x64,0x5B,0x09,0xEC,0x41,0xA9,0x6B,0x7C,0x66, -0x86,0x25,0x07,0x9C,0xD6,0xD6,0xBE,0xCC,0x45,0x34,0xCF,0x5F,0x32,0x2B,0xA7,0xBD, -0x65,0xF8,0x39,0x7F,0xE9,0xD1,0x86,0xF3,0x0F,0x8D,0x3C,0x15,0x4C,0xE8,0x1A,0x00, -0x59,0xAE,0x53,0x43,0x99,0x15,0x32,0x83,0x6E,0x48,0x98,0x74,0xA7,0xCD,0xD4,0xCE, -0x70,0x88,0x5C,0x6A,0x01,0x5F,0xE0,0x1B,0xAD,0x52,0x41,0xB7,0x4A,0xC6,0x32,0x28, -0xF5,0xB0,0xE1,0xEF,0xBF,0x70,0x71,0xA5,0x80,0x49,0x77,0x9A,0xBA,0x63,0x67,0x7D, -0x8A,0x37,0x19,0x90,0xF3,0xE2,0xAF,0xE9,0xB6,0x5A,0x52,0xAC,0xBB,0x75,0x70,0x6A, -0x91,0x24,0x11,0x8B,0xA6,0x12,0x0A,0xBC,0x95,0x2C,0x07,0x8F,0x13,0x1C,0xB1,0xAB, -0x3E,0x6B,0xF1,0x24,0x68,0xF9,0x2F,0x72,0x15,0xA4,0x0F,0x0F,0x56,0x7E,0x96,0x8C, -0xC9,0xE6,0x8B,0xD3,0xD1,0x97,0xF8,0xCB,0xFB,0xA5,0xE0,0xE1,0x28,0xBD,0x2B,0x31, -0x9B,0x57,0x68,0x81,0x13,0x6E,0xC3,0x09,0x3A,0xCC,0x48,0x20,0xA2,0xFF,0xE3,0xF9, -0xAF,0x03,0x08,0xB5,0x8C,0x65,0x57,0x96,0x2D,0xDA,0x49,0x37,0xEA,0x27,0x73,0x69, -0x7F,0xCB,0x10,0x65,0x59,0x9D,0x7A,0x43,0xC4,0x9D,0xE7,0xDE,0x92,0xCA,0xE6,0xFC, -0x17,0x4D,0xFE,0x0D,0x1D,0x0D,0xAE,0x07,0x57,0x17,0xFE,0x4D,0xA3,0xE9,0xF4,0xEE, -0x3F,0x4B,0xD0,0x25,0xAE,0x10,0x00,0xB4,0x97,0x5F,0x76,0x8D,0x34,0x05,0x8F,0x95, -0x84,0x54,0x74,0x9E,0x9F,0x74,0x55,0x85,0x18,0x9B,0x3D,0x02,0x20,0x35,0xAB,0xB1, -0x7B,0xDB,0x04,0x61,0xD8,0xB5,0xD3,0xC2,0xC3,0xDB,0xA6,0xD9,0x9C,0x6C,0x4E,0x54, -0xE6,0xA1,0xE3,0xFC,0x44,0xEF,0x15,0x5E,0x1E,0xFC,0x5C,0x04,0xDF,0x20,0x41,0x5B, -0x4B,0x9F,0x70,0x51,0x78,0xB9,0x7F,0x62,0x00,0xC1,0x7F,0x1A,0x2D,0x8F,0x1C,0x06, -0x71,0xA8,0x7D,0x6B,0x83,0x26,0x1B,0x99,0xD5,0xEC,0x87,0xCF,0x38,0xA9,0x2F,0x35, -0x32,0x79,0xEF,0x28,0x19,0x1D,0xBA,0x03,0x39,0x9E,0x19,0x23,0x85,0xE6,0xDD,0xC7, -0xBB,0x53,0x4C,0xA1,0xC8,0xF5,0x83,0xD2,0x10,0x91,0x3F,0x0A,0x02,0x1E,0xA2,0xB8, -0xD6,0xE5,0x97,0xCC,0x33,0x6A,0xE7,0x29,0x40,0x01,0xFF,0x5A,0xAF,0x45,0x54,0x4E, -0x8E,0x27,0x0D,0x94,0x7A,0xC8,0x0C,0x60,0x3C,0xAB,0x29,0x26,0x1E,0xA6,0x06,0x1C, -0x2D,0x7A,0xF3,0x37,0xF2,0xC2,0x8E,0xE8,0xC5,0xBC,0xC7,0xDF,0xAD,0x4F,0x5C,0x46, -0x3B,0x5B,0xC4,0x21,0xF0,0xB3,0xFD,0xEA,0x53,0x03,0xEE,0x49,0x86,0xFA,0xC2,0xD8, -0xB9,0x22,0x3F,0xA3,0x0A,0x0C,0xB8,0x10,0x6D,0x1A,0xC9,0x77,0x61,0x73,0xAC,0xB6, -0xE3,0x91,0xD6,0xF9,0x0B,0x2C,0x99,0x11,0xDC,0xC7,0xA5,0xC6,0x1F,0xB0,0x11,0x0B, -0x45,0xFC,0x1D,0x5F,0x75,0x8B,0x40,0x6F,0xBC,0x23,0x21,0xA6,0x14,0x24,0x8E,0x94, -0xCA,0xB7,0xD9,0xD0,0xCA,0x84,0xF0,0xD0,0x47,0x47,0xBE,0x5D,0x2F,0x85,0x14,0x0E, -0xA8,0x42,0x4E,0xB2,0xB9,0x11,0x16,0xA3,0x04,0xD5,0x6F,0x1E,0x9B,0x54,0x71,0x6B, -0x44,0xDC,0x3C,0x5E,0xC9,0xD5,0xA2,0xD3,0x46,0x66,0x9E,0x5C,0xB6,0xCF,0xC7,0xDD, -0x22,0x39,0xBF,0x38,0x98,0x35,0x13,0x82,0xD7,0x9F,0xF6,0xCD,0x69,0xFB,0x2C,0x36, -0x01,0x6C,0xC9,0x1B,0xBD,0x01,0x02,0xA7,0x4F,0x4D,0xBC,0x55,0xFB,0x25,0x60,0x7A, -0x79,0xAA,0x77,0x63,0x17,0x7E,0xD7,0x0D,0xAF,0x21,0x30,0xB5,0x3E,0x87,0x07,0x1D, -0x9F,0x47,0x7C,0x85,0x35,0x0B,0x80,0x2F,0x7D,0x4A,0x89,0x67,0x8A,0x56,0x62,0x78, -0xA4,0x50,0x50,0xBE,0xB8,0x31,0x37,0xA2,0xA5,0x58,0x43,0xBF,0x44,0x60,0x9A,0x80, -0x8B,0x17,0x38,0x91,0x3E,0x58,0xD8,0x24,0xA8,0x67,0x71,0xB2,0xF4,0x95,0xDF,0xC5, -0x52,0xFD,0x0B,0x48,0x30,0x3B,0xB5,0x2A,0x0C,0xDF,0x6D,0x16,0x16,0x2E,0x86,0x9C, -0x75,0xB8,0x69,0x6F,0xE1,0xD3,0x8C,0xFB,0xED,0x92,0xC1,0xF7,0xCE,0x22,0x52,0x48, -0xBE,0x63,0x79,0xA4,0xFE,0xD0,0x90,0xE4,0x7B,0x2D,0xE8,0x61,0xAC,0x59,0x4B,0x51, -0x3A,0x7B,0xE5,0x20,0x55,0x8F,0x64,0x4F,0x16,0xF6,0x5E,0x0C,0x7D,0xCB,0x08,0x12, -0x2B,0x1B,0x94,0x31,0xC1,0xD7,0xA8,0xDB,0x88,0x43,0x75,0x92,0xC5,0xB6,0xCD,0xD7, -0x40,0xCC,0x28,0x5A,0x03,0x2E,0x93,0x19,0xCF,0xC5,0xB4,0xD5,0xC0,0x84,0xFA,0xE0, -0xA1,0x60,0x65,0xBB,0x2E,0x18,0x88,0x34,0xE4,0xB9,0xE3,0xFE,0x1C,0xAC,0x0E,0x14, -0xA0,0x40,0x44,0xBA,0xE2,0x82,0xDE,0xF8,0xFD,0xC2,0x81,0xE7,0xA4,0xD1,0xCB,0xD1, -0x18,0x0E,0xB2,0x02,0xB7,0x72,0x7B,0xAD,0xA9,0x46,0x51,0xB3,0x06,0x3A,0x82,0x98, -0x27,0x09,0x8A,0x3D,0xD2,0xC6,0xAA,0xC8,0xDA,0xA0,0xC4,0xC0,0x78,0xF9,0x3F,0x25, -0x90,0x04,0x30,0x8A,0x36,0x5A,0xD2,0x2C,0x8D,0x76,0x45,0x97,0xBF,0x51,0x50,0x4A, -0x39,0x2A,0xB7,0x23,0x74,0xAB,0x61,0x6E,0x6C,0x3B,0xE9,0x76,0xF1,0xA7,0xE8,0xF2, -0x21,0x68,0xED,0x3B,0x05,0x4F,0xF4,0x1F,0x22,0x96,0x0A,0x38,0x9A,0x42,0x66,0x7C, -0x81,0x64,0x41,0x9B,0xEB,0xA0,0xF5,0xF1,0x4C,0x1F,0xED,0x56,0x00,0x14,0xAA,0xB0, -0xE5,0xF0,0xB1,0xFF,0xEC,0xE1,0xB3,0xF6,0x1F,0xDD,0x7C,0x05,0xDE,0x36,0x56,0x4C, -0x33,0x59,0xCE,0x29,0xF1,0x93,0xDC,0xEB,0x42,0x72,0x8E,0x58,0x62,0x6F,0xB3,0xA9, -0x47,0x8D,0x6E,0x5D,0x9D,0x05,0x26,0x87,0xCE,0xE4,0x94,0xD4,0x5D,0xEA,0x09,0x13, -0x89,0x66,0x4B,0x93,0xE0,0xF3,0xAD,0xFA,0xE5,0x98,0xC3,0xFF,0x99,0x5E,0x79,0x63, -0xC4,0xD4,0xB4,0xDE,0xD9,0x95,0xF2,0xC3,0xA0,0x6D,0x73,0xBA,0xDA,0x12,0x76,0x6C, -0xF4,0x90,0xC0,0xEE,0xEA,0x80,0xD4,0xF0,0x64,0x31,0xEB,0x7E,0xF2,0xBB,0xF7,0xED, -0x9D,0x36,0x0F,0x87,0xC6,0x96,0xEE,0xDC,0x69,0x0E,0xD9,0x73,0x08,0x9C,0x2A,0x30, -0x2E,0x2B,0xA1,0x34,0xF6,0xD2,0x9A,0xEC,0x84,0x5D,0x67,0x9E,0x33,0x3D,0xB0,0xAA, -0x3C,0x1A,0x82,0x26,0x77,0xFA,0x33,0x6D,0xE7,0xEB,0xB2,0xFD,0x4E,0xE2,0x12,0x08, -0xAE,0x23,0x29,0xB4,0x89,0x55,0x62,0x93,0x49,0x2A,0xDD,0x53,0xBD,0x5B,0x58,0x42, -0x3D,0x3A,0xA3,0x27,0x4D,0xCD,0x3E,0x57,0x4A,0x78,0x8C,0x50,0xCA,0x06,0x72,0x68, -0xFC,0xF4,0xF5,0x9E,0x02,0x70,0xED,0x78,0x58,0xAF,0x68,0x60,0x3F,0x2E,0x8E,0x37, -0x72,0x7A,0x9E,0x7B,0xAF,0x3E,0x0E,0x36,0xCD,0x4B,0x19,0x11,0x27,0x6C,0xD4,0x2F, -0x2B,0x23,0x7C,0xC0,0x99,0xC6,0xC0,0xCE,0x93,0xC2,0xCE,0xC6,0x21,0x0D,0xB3,0x29, -0x44,0x4C,0xBB,0x68,0x4F,0x91,0x41,0x99,0xEB,0x5E,0x2A,0x22,0x96,0x00,0x09,0x9E, -0xA7,0xAF,0x66,0x56,0x4B,0x5E,0x8A,0x56,0xE5,0x97,0xED,0xE5,0x35,0x5D,0xF7,0x3D, -0x1D,0x15,0x59,0xD3,0xDD,0xD2,0x90,0xDA,0x1F,0x01,0x81,0x89,0x41,0x89,0x57,0x49, -0xBE,0xB6,0x04,0x2D,0x26,0x50,0xE9,0x58,0xCC,0xA4,0xF7,0xFF,0x87,0x60,0x78,0x8F, -0x42,0x4A,0xDA,0x0F,0xE4,0x03,0x78,0x0B,0x8A,0xE5,0xF0,0xF8,0xE3,0xF4,0x88,0xEB, -0xE3,0xEB,0xF6,0x82,0x08,0x78,0xEF,0x70,0xED,0x84,0xF6,0xFE,0xF2,0x94,0xF9,0xFA, -0x3E,0x36,0x0C,0xA5,0x37,0x75,0xDD,0x7D,0xD7,0x92,0xDA,0xD2,0x9B,0x32,0x36,0x93, -0x6D,0x65,0x9D,0x67,0xA1,0xF9,0xC7,0xF1,0x94,0xF7,0xFC,0xF4,0x8F,0x62,0x72,0x87, -0x62,0x6A,0xDE,0x2B,0x54,0xBC,0x77,0xB4,0xCB,0x91,0xC5,0xCD,0xC2,0xD0,0x8D,0xCA, -0x4C,0x44,0xB9,0x62,0x13,0x55,0xD9,0x5D,0x5B,0x51,0x95,0x9D,0xA8,0x27,0x10,0xA0, -0x66,0x6E,0xCE,0x3F,0x41,0x56,0x88,0x5E,0x07,0xC9,0x51,0x59,0x3B,0x3E,0x9A,0x33, -0xA4,0xAC,0x37,0x04,0x64,0x98,0x63,0x90,0xA3,0xD6,0xEA,0xE2,0x28,0x2F,0x98,0x20, -0x06,0x0E,0x4A,0xDB,0xD2,0xFB,0xB6,0xF3,0x0A,0xFE,0x6B,0x63,0x3A,0x1E,0xBB,0x32, -0x74,0x7C,0xFF,0x1C,0x74,0x53,0xB8,0x5B,0x3B,0x05,0xA1,0xA9,0x07,0x68,0xF0,0x0F, -0x13,0x1B,0x3A,0xBE,0x18,0xB3,0x34,0xBB,0xEE,0x7A,0x0B,0x03,0x7F,0xAE,0x4E,0x77, -0xD3,0xDB,0xB2,0xF6,0x5F,0x5A,0x9A,0x52,0x9B,0xD1,0xD5,0xDD,0x42,0xD8,0x05,0x4A, -0x38,0x30,0x6D,0xC2,0xA6,0xCB,0xF2,0xC3,0x2A,0x31,0x84,0x8C,0x24,0x3D,0x86,0x2C, -0xCB,0xC3,0xF0,0xAC,0x5E,0xB4,0x75,0xBC,0xE1,0x5C,0x22,0x2A,0x8D,0x13,0x01,0x85, -0x92,0x9A,0x12,0x17,0xE6,0x10,0x69,0x18,0x8C,0x3F,0x2C,0x24,0x54,0xF9,0x32,0x5C, -0x76,0x7E,0x8E,0x6F,0x73,0x61,0x8D,0x69,0xB9,0x0F,0x29,0x21,0x99,0x43,0x45,0x91, -0x8E,0x86,0x40,0x59,0x61,0xB9,0x47,0xB1,0x0E,0x35,0xA4,0xAC,0xA2,0x54,0x69,0xAA, -0x1C,0x14,0x79,0xF2,0xCF,0x0A,0x5A,0x02,0x5D,0x8B,0x49,0x41,0x3C,0x7F,0xDC,0x34, -0xD9,0xD1,0xC1,0x8F,0x7A,0x94,0x71,0x9C,0x91,0xD3,0xDD,0xD5,0x2D,0x1F,0xAD,0x25, -0x46,0x4E,0xCA,0x1B,0xAB,0xF1,0xC5,0xF9,0xB5,0xD7,0xFD,0xF5,0x73,0xBC,0x50,0x7B, -0x5F,0x57,0xA8,0x60,0x14,0x67,0xEC,0x6F,0xA9,0xD4,0xE2,0xEA,0xB8,0x67,0x40,0xB0, -0xDF,0xD7,0xA0,0xE8,0xFB,0xE1,0x85,0xE9,0xE7,0x86,0xFE,0xF6,0xA6,0x44,0x7D,0xAE, -0x96,0x9E,0x02,0x03,0x7F,0xB5,0x55,0xBD,0x42,0x76,0xAB,0xA3,0x1E,0x0A,0x8B,0x16, -0xEE,0xE6,0xC4,0xBD,0xFC,0xD3,0xB0,0xDB,0xAA,0x2A,0x1F,0x17,0x46,0xC8,0x11,0x4E, -0x1A,0x12,0x18,0x95,0x80,0xF8,0xE7,0xF0,0xB1,0x1C,0x32,0x3A,0xA7,0x64,0x5C,0xAF, -0x55,0x5D,0xDB,0x19,0xC5,0x02,0x58,0x0A,0x2C,0xEB,0x58,0x50,0xE0,0xA5,0xDA,0xE8, -0x08,0x00,0x29,0xB6,0xF8,0x1C,0x7B,0x14,0x46,0xBD,0x64,0x6C,0x4D,0x9B,0x49,0x45, -0xBF,0xB7,0x24,0x0C,0xA2,0x04,0x39,0x0C,0x6C,0x70,0x83,0x8B,0x82,0x50,0x4D,0x8A, -0x5A,0x52,0x98,0x55,0xE2,0xDF,0xA2,0xD7,0xEA,0xB1,0xC4,0xCC,0x7D,0xDF,0x3D,0x75, -0xB6,0xBE,0x06,0x27,0xA8,0x0C,0x3B,0x04,0xBA,0xF1,0xD4,0xDC,0xBD,0x57,0x75,0xB5, -0x40,0x48,0xAB,0x7C,0x38,0x5C,0xFB,0x54,0xDE,0x6E,0x2F,0x27,0xD0,0xE1,0xAE,0xD8, -0x3B,0x33,0x3C,0x90,0xD5,0xC9,0x83,0xC1,0x22,0x22,0x9F,0x97,0x77,0xAC,0x44,0x7F, -0xC9,0xC1,0x81,0xDF,0xA7,0x25,0x1D,0x2D,0x83,0x19,0x05,0x0D,0x34,0x7D,0xD6,0x3C, -0xD6,0xDE,0x82,0xC3,0x3A,0x4F,0xEA,0x47,0xC4,0xB7,0xEC,0xE4,0x3D,0x5F,0xFD,0x35, -0xB8,0xB0,0x65,0x4A,0x23,0x71,0xCD,0x79,0x81,0x08,0x16,0x1E,0xBF,0x26,0x06,0xB7, -0x12,0x1A,0x1A,0x9F,0x92,0x20,0x2D,0x28,0x35,0xCC,0x66,0x6E,0x88,0x23,0x34,0x80, -0x48,0x40,0xA9,0x76,0x85,0xD9,0xC3,0xD1,0xB7,0xC6,0xEE,0xE6,0x2B,0x7E,0xCA,0x23, -0x00,0x08,0x2B,0xBC,0x7E,0x5B,0xBA,0x53,0xC9,0x80,0xD6,0xDE,0xCC,0xB3,0xE0,0xC4, -0x65,0x6D,0x9F,0x6D,0xEC,0x18,0x6B,0x10,0x2F,0x15,0xA5,0xAD,0xAE,0x46,0x77,0xA6, -0x05,0x0D,0x1B,0x89,0xFE,0xC0,0xA1,0xC8,0xA0,0x28,0x17,0x1F,0xE5,0x95,0xEF,0xED, -0x9A,0x92,0x10,0x1D,0x1A,0xA0,0x25,0xA8,0x79,0x8F,0x69,0x61,0x43,0xF8,0x24,0x4B, -0xB3,0xBB,0x36,0x12,0x0D,0x59,0xCB,0x51,0x87,0xD2,0xCA,0xC2,0x80,0x21,0x3E,0x88, -0x0E,0x06,0x48,0xD1,0xB4,0x13,0x38,0x1B,0xBF,0xD5,0xF5,0xFD,0x63,0xFC,0x00,0x6B, -0x86,0x8E,0x42,0x53,0xF1,0xE9,0x87,0xE1,0xB8,0xE0,0xC7,0xCF,0xE4,0xB5,0xCE,0xEC, -0x68,0x60,0xAD,0x52,0x30,0x47,0xE8,0x4F,0x21,0xDC,0x62,0x6A,0xDC,0xF3,0xB0,0xD4, -0x73,0x7B,0xBE,0x5A,0x70,0x9C,0x73,0x94,0x48,0x74,0xA3,0xAB,0xF3,0xB4,0xD8,0xFB, -0x64,0x6C,0xBF,0x4C,0x63,0xAA,0x56,0xA2,0x96,0xE6,0xEF,0xE7,0x8C,0x33,0x20,0x84, -0xC0,0xC8,0xA3,0xF4,0x71,0x72,0x9C,0x7A,0x0B,0x11,0x85,0x8D,0x5F,0xAA,0x6A,0x57, -0x26,0x2E,0x4E,0xFF,0x6B,0xB1,0x45,0xB9,0xD9,0x5B,0x1D,0x15,0x76,0x8C,0x65,0x7E, -0x3F,0x37,0x2C,0x84,0x9C,0xE7,0xE4,0xEF,0xC1,0x93,0xCD,0xC5,0xCF,0xE2,0xB2,0xC7, -0xF7,0xFF,0xA6,0xC6,0xF5,0x26,0x4C,0x2E,0xFA,0x6A,0x0F,0x07,0x9D,0x53,0x51,0x95, -0xA5,0xAD,0x17,0x25,0x15,0x89,0x03,0x81,0x33,0x16,0xBA,0xB2,0x97,0x20,0x28,0x9F, -0x82,0x8A,0x52,0x47,0x9D,0x09,0x0B,0x01,0x16,0xFD,0x74,0x7C,0x38,0x6F,0xC8,0x30, -0xE0,0xE8,0xA7,0xD0,0x2E,0x4B,0xFA,0x43,0x97,0x09,0x01,0x09,0x11,0x49,0xC7,0x19, -0x9B,0x93,0x30,0x3C,0x66,0x8B,0x72,0x83,0x39,0x14,0xB2,0xBA,0x39,0x4F,0xE9,0x31, -0x67,0x6F,0xEE,0x1E,0xE3,0x31,0x4D,0x39,0x6E,0x61,0x90,0x98,0xA9,0x07,0x31,0xA1, -0xF2,0xFA,0x96,0xF3,0xA4,0xD8,0xE3,0xD0,0x43,0x99,0x45,0x4D,0x79,0xCF,0x29,0x71, -0x47,0x5F,0x6A,0xDE,0x67,0x31,0xBD,0xFE,0x48,0xD5,0x76,0xD1,0x4C,0x62,0xC5,0x5C, -0x00,0x9E,0xEC,0x99,0x98,0xBE,0xCD,0x01,0xAD,0x8C,0xCA,0x34,0xD7,0x22,0x1E,0x87, -0xE7,0x53,0xC6,0x7E,0x57,0x75,0xC9,0xCE,0x1A,0x36,0xC7,0x83,0x95,0x78,0x06,0x9F, -0xDB,0x05,0xAC,0x42,0xFA,0x4B,0x5A,0x63,0x47,0x99,0x35,0xDE,0xB6,0x45,0x18,0x81, -0x86,0xF7,0x03,0x1F,0x2E,0x93,0x56,0xB7,0xDB,0x5F,0x6F,0x42,0xF3,0x27,0x3F,0xA6, -0x1C,0xCC,0xA2,0x85,0x6D,0x42,0xC4,0xF4,0x29,0x10,0xD2,0xB0,0x6D,0x55,0xD3,0x4A, -0xAC,0x80,0x5E,0x35,0xCA,0x0F,0x2E,0x53,0x52,0xFC,0x45,0xCB,0x15,0xB8,0x46,0xDF, -0x57,0x1F,0x3A,0xCE,0xA7,0xB9,0xF5,0x3E,0xA4,0xA7,0xE8,0x3D,0xD5,0x28,0x16,0x8F, -0x6D,0x28,0x37,0xF4,0x31,0x90,0x4A,0xA8,0x5A,0xF6,0x47,0xC3,0x2D,0x05,0xC3,0x5A, -0xE5,0x22,0xB5,0x7C,0x92,0xCD,0xB4,0x0B,0x00,0x1F,0xF4,0x99,0xC3,0x12,0x3A,0xA3, -0x95,0xE6,0x01,0x0C,0xA5,0xC8,0x86,0x3C,0xAA,0xCA,0x8B,0x33,0x23,0xA3,0x6B,0xF2, -0x6F,0x59,0x44,0xF6,0x27,0xB1,0x7D,0xBE,0xC4,0x43,0x6C,0x5D,0x04,0xBA,0x55,0xCC, -0xEA,0x61,0xF9,0x73,0x59,0x16,0xA4,0xC0,0x88,0x9D,0xFE,0x11,0xCB,0x9A,0xBA,0x23, -0x94,0xC6,0x20,0x0D,0xFF,0x7B,0x6F,0x66,0x17,0x09,0xF5,0x8E,0x4F,0x7E,0xDA,0x43, -0x26,0xFB,0xAF,0xBF,0xB4,0xA8,0xF7,0x2D,0x77,0xED,0x71,0xEE,0x85,0x6C,0x02,0x9B, -0x55,0x6E,0x49,0xCC,0xD6,0x5D,0x60,0x4F,0x12,0x3C,0xC5,0x8B,0x54,0xFE,0x41,0xD8, -0xE1,0x32,0xA1,0x78,0xC6,0x1D,0x30,0x5F,0x7A,0xD2,0x43,0xE3,0x06,0xB0,0x5D,0xC4, -0x44,0x0E,0x38,0xDD,0xFE,0x5B,0x4E,0x67,0x94,0xD3,0xAC,0x0D,0x69,0x71,0xF3,0x6A, -0x76,0x3B,0x3F,0xEF,0x79,0x12,0x80,0xE0,0x1C,0x51,0xA6,0x85,0xD6,0x34,0x09,0x90, -0x49,0x3C,0x07,0xD0,0x9A,0xCF,0xBE,0x03,0xA1,0x92,0xD8,0x38,0x25,0x8D,0x43,0xDA, -0x9E,0xB5,0x59,0x07,0x6C,0x62,0xE5,0xF5,0x34,0x7F,0xA0,0xAD,0xAB,0xEB,0xAB,0x32, -0x06,0xFF,0x8B,0x9F,0x45,0x44,0xEA,0xDC,0xD2,0x74,0x4D,0x4B,0x72,0xF1,0x68,0xF1, -0x6C,0x08,0x16,0xF5,0x96,0xDD,0xA0,0x0F,0x76,0xCC,0x51,0xEF,0xB8,0xE3,0xB0,0x29, -0x20,0x9A,0xC8,0xB9,0xE9,0x5A,0x58,0x70,0x61,0xDA,0x50,0xF8,0x9D,0xF0,0x86,0x1F, -0xF7,0x13,0x96,0x6E,0x22,0x81,0x48,0xBB,0x90,0xC7,0xBC,0x09,0xE5,0x1D,0x13,0x8A, -0x39,0xF8,0xB3,0xA0,0x8D,0xCE,0xA8,0x14,0xB7,0xA5,0xF9,0x2E,0xED,0x95,0x93,0x0A, -0x8C,0x84,0x7A,0x15,0x87,0xBD,0xD1,0x1E,0xE5,0x46,0x48,0x7C,0xA2,0x75,0x3C,0xA5, -0x4E,0x7D,0x41,0xD7,0xD5,0x0C,0x32,0x4C,0x2D,0x04,0xC2,0xB4,0x0A,0x1C,0xFD,0x64, -0xC6,0x77,0xC3,0x5F,0x63,0x21,0xA9,0xFA,0xE0,0x73,0x78,0x79,0x0D,0x24,0xC2,0x5B, -0x13,0x8F,0xEE,0x8A,0xB3,0xE9,0xB1,0x2A,0x75,0x9E,0x00,0xEC,0xA3,0x63,0x2B,0xB2, -0x31,0xFA,0xB9,0xA8,0x23,0xA1,0x69,0xBA,0x89,0xBC,0xDE,0x10,0x9C,0xE6,0x91,0x08, -0x82,0xE7,0x17,0x1B,0x0B,0xA7,0x47,0x92,0xF2,0x50,0x49,0x6B,0x14,0xAE,0x51,0xC8, -0xA9,0xB0,0x6B,0x30,0x8C,0xEE,0x89,0x15,0x56,0xE8,0x55,0xCF,0xAF,0xCF,0x8B,0x12, -0x4D,0x2C,0x13,0xD4,0x3B,0xE3,0x33,0xA2,0x39,0x40,0x92,0xA0,0x2E,0x19,0xDC,0x45, -0x9A,0xA5,0x4D,0x03,0x3D,0x82,0x54,0xA4,0x60,0xFB,0x70,0xF9,0xE0,0x2F,0x24,0xBD, -0xEB,0x41,0xD8,0x72,0x25,0xC0,0x0E,0xBC,0xEE,0x1E,0x1B,0x77,0x03,0x82,0x6A,0xF3, -0x73,0x0B,0x0A,0xEA,0xF9,0x1A,0x08,0x60,0x50,0x8F,0x34,0xC9,0x96,0x64,0x19,0x80, -0x74,0x4A,0x4C,0xED,0x9D,0x8E,0xF8,0x04,0xAC,0xAD,0xEA,0x35,0x07,0xA6,0x4A,0xD3, -0x02,0xEF,0x9F,0x9B,0x5B,0x67,0xD7,0xC2,0x0F,0x53,0xB7,0x96,0x7E,0x5D,0xC8,0x51, -0x6E,0x79,0x65,0xF7,0x2F,0xB3,0x77,0xB6,0xB5,0xD6,0x88,0x2C,0x64,0xCB,0x44,0xDD, -0x46,0x7F,0x4B,0xDF,0xD8,0x3E,0x0D,0x41,0x70,0xAB,0x30,0xE9,0x99,0xD4,0xA6,0x3F, -0x7F,0x19,0x14,0xE6,0x95,0x8C,0xF2,0x0C,0x7F,0xE7,0x73,0xE6,0x29,0x21,0xE3,0x7A, -0x59,0x7C,0x57,0xC0,0x81,0xDC,0xB6,0x18,0x2C,0x25,0xE2,0xB5,0x33,0xB7,0x6F,0xF6, -0x75,0x6A,0x6D,0xEC,0xE8,0x7A,0x79,0x71,0xF1,0x02,0x18,0x68,0x01,0x88,0x62,0xFB, -0xE8,0x10,0x8A,0x71,0x20,0xF0,0x3B,0xB9,0x14,0x5B,0xA4,0x8D,0x58,0x52,0xE1,0x78, -0x69,0x38,0x23,0xF0,0x32,0xC1,0x18,0xAB,0xB6,0x84,0xD9,0x2F,0x8D,0xE4,0x82,0x1B, -0xD2,0x27,0x87,0x4B,0x21,0xD0,0x1A,0xB8,0x74,0xBF,0x20,0xED,0x66,0xC1,0x4C,0xD5, -0x16,0xBF,0xDB,0x8F,0xB2,0xC9,0x90,0x2B,0x5E,0xE2,0x57,0xC7,0x37,0x93,0x4F,0xD6, -0x07,0xDF,0xAA,0x9E,0x3E,0xD3,0x06,0xA7,0x2A,0x42,0x83,0xB3,0x1C,0x26,0xD1,0x48, -0x56,0x3F,0x1B,0xCF,0x58,0x36,0x85,0xC1,0xC1,0x76,0x5C,0x58,0x74,0xDF,0x40,0xD9, -0x88,0x94,0x6E,0x11,0x65,0x40,0xCE,0xFC,0x01,0x3E,0xD4,0x98,0xDA,0x98,0xA9,0x30, -0x22,0xEB,0xBB,0xBB,0x1D,0x86,0x70,0x84,0x66,0x9C,0x11,0xFF,0x56,0xF4,0x49,0xD0, -0x27,0xDB,0x8E,0xBE,0xB8,0xBA,0xE9,0x21,0x9C,0xD9,0xAE,0x05,0xA9,0xE1,0xA3,0x3A, -0xAA,0xE1,0x39,0x33,0x83,0xAD,0xC5,0x1A,0x64,0xEF,0x60,0xFD,0x63,0xF3,0x7B,0xE2, -0xAF,0xD1,0x0C,0x36,0x4E,0x17,0xB2,0xD7,0x80,0x97,0xFC,0x19,0x87,0x66,0x0A,0x93, -0xA1,0xB2,0x61,0x38,0x97,0xFD,0x81,0x0E,0xD9,0x2C,0x1E,0x40,0x9B,0xDE,0xAE,0x37, -0x61,0x3A,0x29,0xF8,0xA2,0x89,0xC0,0x3B,0x4D,0xE0,0x46,0xD4,0x02,0x94,0x7D,0xE4, -0x7E,0x39,0x35,0xE7,0x69,0x52,0xD0,0xF0,0x54,0x9B,0x24,0xCD,0x2B,0x2B,0xEB,0x72, -0x5E,0x3D,0x11,0xC7,0x37,0xF1,0x2D,0xAE,0xCB,0x0F,0x2F,0x52,0x9F,0xFA,0x8E,0x17, -0xCA,0x65,0xDD,0x53,0x26,0x91,0x5C,0xBF,0x0E,0x72,0x97,0x97,0xB4,0x4F,0x10,0x89, -0xB1,0xF2,0x31,0x28,0xBD,0x8A,0xDC,0x24,0x08,0x15,0xF6,0x91,0x09,0x00,0xE2,0x7B, -0x9C,0xC4,0x2A,0x05,0x5C,0x26,0x91,0xC5,0xFC,0x3D,0x2A,0x65,0x5E,0x7C,0xC9,0x50, -0x28,0x98,0xC2,0xB1,0x04,0xE4,0x0B,0x9D,0x84,0x83,0xEC,0x1D,0xBB,0xFF,0xAF,0x36, -0x7D,0x68,0x67,0xE4,0xBC,0xAA,0xFD,0x25,0xCD,0x68,0x4E,0x54,0x6B,0x7B,0xFB,0x62, -0x1A,0x4C,0x07,0xE5,0xDD,0x73,0x00,0x25,0xED,0x14,0x57,0x01,0x51,0x75,0x8A,0x07, -0xC2,0x94,0xCD,0xF7,0xEB,0x8B,0xCE,0xDD,0xC1,0x03,0x6C,0x3A,0xDC,0x4F,0x3D,0x8A, -0xB3,0xE5,0x29,0x62,0x93,0x6F,0x52,0x39,0xB6,0xB9,0xA1,0xF7,0xD9,0x7F,0x08,0x8F, -0x17,0x41,0x35,0xDA,0x28,0x36,0xB0,0x60,0x85,0x53,0x78,0x2E,0xD7,0x1C,0x65,0x81, -0x68,0x3E,0xB2,0x22,0x46,0xC5,0x2D,0x93,0x02,0x7D,0xD1,0x87,0x71,0x71,0xAE,0x27, -0xF9,0xAF,0xDA,0xDB,0x72,0x2E,0xF2,0x78,0x81,0x98,0xB7,0xE1,0x20,0x91,0x1F,0x76, -0x10,0x46,0x74,0x9C,0x3A,0xEE,0x7A,0xB8,0xCA,0xEE,0x8A,0xDC,0xFE,0x3A,0x6A,0xA8, -0xF0,0xA6,0xF8,0xF0,0x98,0x89,0xBF,0xDF,0x74,0x28,0xF2,0xA4,0x54,0x45,0xBF,0x02, -0x5B,0x0D,0xA7,0x04,0x11,0xE7,0x58,0xB1,0xD8,0x24,0x52,0x04,0xC7,0x5C,0x35,0x91, -0x70,0x26,0xF0,0x78,0x39,0x13,0x84,0x45,0x95,0x88,0xB3,0xE5,0xEA,0x6A,0x2E,0xBC, -0x16,0x40,0x15,0xFB,0x87,0x6B,0x42,0x3D,0x0F,0x4A,0xEB,0xBD,0x5E,0x36,0xC6,0x08, -0x42,0x14,0xC5,0x7F,0x6C,0x22,0xE0,0x74,0xF9,0x04,0x53,0x05,0x0B,0xC6,0x63,0x5D, -0xC4,0x92,0xAC,0x90,0xE4,0xA2,0xE8,0xF4,0xC4,0x27,0x4D,0x1B,0x17,0x94,0x2D,0x41, -0x52,0x04,0x85,0x2F,0x9F,0xBB,0x8A,0xED,0xD4,0xFC,0x86,0xD0,0x08,0x97,0x31,0x5E, -0x37,0x61,0x31,0xFE,0x0B,0x24,0x81,0x72,0x29,0x5F,0xD8,0x8E,0x28,0x93,0x15,0x7E, -0xA9,0xFF,0x1A,0x4B,0x76,0xE1,0x39,0xB7,0x58,0x3F,0xC9,0x9F,0xBC,0xCB,0xD9,0xEA, -0xA0,0xF6,0x38,0x60,0x8B,0xBF,0x9A,0xE9,0x0C,0xB4,0x16,0x40,0x05,0xA5,0x0E,0x53, -0xF3,0xA5,0xA9,0xA2,0xA9,0x43,0x44,0x15,0xFC,0x20,0x72,0x24,0x02,0xE4,0x48,0x54, -0x71,0x27,0xD0,0x59,0x57,0xE0,0x19,0xB6,0xD3,0xC9,0xB4,0xE2,0x74,0x41,0x9B,0x22, -0xFD,0xAB,0xCA,0xCF,0xD2,0x5A,0x26,0x0C,0x73,0x1D,0xC0,0x96,0x18,0xD7,0x61,0x4E, -0x32,0x64,0x01,0xCB,0xEC,0xB9,0xFB,0xEF,0x8D,0x40,0x63,0x35,0xDF,0x1E,0x6F,0x89, -0x65,0x33,0x80,0x1D,0x44,0xD6,0x3C,0x80,0x37,0x4D,0xD4,0x82,0x3B,0x82,0x17,0x6D, -0x9D,0xCB,0x4E,0x2B,0xFF,0x8F,0xDE,0xD9,0x50,0x2C,0xD2,0x84,0xEC,0x0B,0x49,0xBA, -0xD3,0x85,0xAD,0x86,0x1A,0x01,0xB5,0x57,0x0A,0x6E,0xCA,0x9C,0x9D,0xEF,0xDC,0xCB, -0x58,0x0E,0xF6,0x56,0x5F,0xFB,0x0A,0xAD,0x3F,0x5E,0xCF,0x99,0x9E,0xBE,0x8E,0xC8, -0x3B,0x6D,0x23,0xE0,0x80,0x59,0x77,0x0F,0x1C,0x6F,0xDD,0x8B,0x1F,0x96,0x27,0x49, -0xF5,0xA3,0xC8,0xC5,0xBB,0x9B,0x8E,0xCD,0x1E,0x7E,0xCE,0x98,0xA4,0x89,0x83,0xF2, -0xF6,0xA0,0x99,0x97,0xE6,0xB1,0xF9,0xE7,0x94,0x67,0x5D,0x0B,0x60,0x11,0xDF,0x36, -0x1F,0x49,0x37,0xD0,0xAF,0x9F,0x9E,0xC9,0x09,0x90,0x37,0x61,0x30,0xD1,0x4F,0x66, -0x5A,0x0C,0x87,0x25,0xE3,0x90,0xDD,0xC6,0xF6,0x22,0x7A,0x2C,0x09,0xB7,0x10,0x5F, -0xD6,0x80,0x9D,0xB3,0x21,0xC3,0x4C,0x95,0xB2,0x72,0x6E,0x38,0x2F,0xD2,0x53,0x79, -0xDB,0x8D,0xAF,0x8C,0x06,0x1E,0xB6,0x48,0x7D,0xD4,0x07,0x51,0x03,0xC4,0x69,0x55, -0x12,0x44,0x05,0xEF,0x7B,0xDB,0x0E,0x8D,0xE1,0xCC,0x83,0xD5,0xE8,0x1B,0x5D,0xBE, -0xD1,0x87,0xDC,0xF5,0x70,0x3D,0xE3,0x6B,0xEE,0xEA,0xAA,0xFC,0x70,0x51,0x8F,0x26, -0x09,0x5F,0x16,0xE7,0xC8,0x99,0xFF,0xCF,0xA4,0x73,0x79,0x2F,0x1A,0xA6,0x12,0x4C, -0x3F,0x69,0x33,0xF4,0xDE,0x8E,0xFE,0xD8,0x5C,0xF4,0x06,0x50,0x56,0x34,0xCC,0x00, -0xE4,0xB2,0xA8,0xB4,0xD6,0x95,0xED,0xC3,0x34,0xB3,0x29,0x7F,0x97,0x9C,0xA5,0xC1, -0x4A,0x1C,0xC7,0x75,0xD7,0x7B,0x02,0x2D,0x4A,0xF5,0x11,0x47,0x32,0xA0,0x3C,0x64, -0xB0,0xE6,0x78,0x30,0x55,0xF3,0x08,0xA5,0x84,0xBC,0x96,0xC0,0x00,0x95,0x3B,0x56, -0xFA,0xAC,0x8B,0x89,0x96,0x4E,0x76,0x18,0xBA,0x61,0x75,0x23,0x3F,0x92,0x03,0x69, -0x7B,0x2D,0xA3,0x20,0x77,0x0F,0xD6,0x59,0xAD,0x8F,0x8C,0xDA,0xB0,0xD9,0xC7,0xE6, -0x92,0xC4,0x0D,0x67,0x9A,0x9A,0xAE,0xCC,0xB5,0x47,0x5C,0x0A,0x65,0x21,0xEA,0x33, -0x28,0x7E,0x32,0xE2,0xB8,0x66,0x70,0x30,0x6D,0x0F,0xCC,0x9A,0x47,0x54,0xBD,0x11, -0xE8,0xBE,0xBA,0xAA,0x54,0x1D,0xE7,0x4B,0x43,0x09,0xE4,0xB2,0xF4,0x49,0x13,0xA2, -0xAA,0xFC,0x4B,0x19,0xC3,0x7F,0x12,0x29,0x4C,0x2F,0xCD,0x9B,0x81,0xBD,0x92,0xD7, -0x2A,0x7C,0x43,0x91,0xA1,0x58,0x57,0x0E,0xAC,0x60,0x62,0x34,0x4F,0x56,0xB7,0x19, -0x85,0xD3,0x0C,0x71,0x42,0x0A,0xE6,0x5C,0xD5,0x13,0x68,0x3E,0xFA,0x2A,0x7E,0xAC, -0x44,0x12,0xA4,0x18,0x00,0xC2,0x6C,0x94,0x36,0xA2,0x3A,0x6C,0x38,0xD3,0x45,0x6E, -0x86,0xD0,0x5D,0x23,0x5B,0x34,0xC1,0x62,0x52,0x3D,0xC1,0x97,0xF0,0x59,0x07,0xA6, -0x6A,0x3C,0xC3,0x51,0x14,0xC6,0x7C,0x90,0xC0,0xEC,0x82,0xD4,0x6A,0x62,0xA6,0x3C, -0xFF,0xA9,0xBB,0xBC,0xF8,0xBD,0xEB,0xEB,0x2A,0xA1,0x25,0x73,0xDA,0x2E,0x5A,0x8C, -0xAF,0xF9,0x7B,0x2C,0xA3,0x4B,0x46,0x1D,0xF1,0x17,0x48,0x1E,0x21,0xB1,0x3E,0x77, -0x7C,0x2A,0xE2,0x66,0xD1,0xA7,0xD8,0xF1,0xB9,0x9F,0x88,0xDE,0x31,0xF1,0x6E,0x67, -0xA7,0xF1,0x79,0x26,0x88,0x42,0x64,0x14,0xC9,0x10,0x77,0x21,0x76,0x30,0xE8,0x20, -0xBF,0xE9,0x3B,0x7C,0x32,0xF5,0x69,0xA3,0xCD,0xDB,0xB8,0xEE,0x91,0xFD,0xC2,0xC7, -0xA1,0xF7,0x18,0x41,0x9D,0xA8,0x9B,0xFE,0x5E,0xE5,0x15,0x43,0xAD,0xAB,0xA8,0xFB, -0x03,0x55,0x65,0x9E,0x99,0x67,0x50,0x31,0xA0,0xB8,0xB6,0xE0,0x9C,0xCF,0xFD,0xCA, -0x63,0x35,0xE1,0x7A,0x0D,0xF8,0x5B,0xAE,0x6B,0xD5,0x10,0x46,0xE2,0x68,0x24,0xB4, -0xBB,0xED,0x2B,0x68,0xE9,0x98,0xDF,0xCE,0xF3,0x06,0x5B,0x0D,0x50,0x55,0xAB,0x06, -0xF8,0xAE,0xFA,0xFA,0x38,0xFD,0x6B,0xAB,0x64,0xF3,0x39,0x6F,0x23,0xC0,0x4D,0x75, -0x7A,0x2C,0x83,0x01,0xF2,0xB5,0xE9,0xE3,0x4E,0x3E,0xDE,0x88,0x1B,0x86,0x33,0x4D, -0x83,0xD5,0x6D,0x16,0x1B,0xEF,0x5A,0xB9,0xB0,0x63,0x7D,0x2B,0x93,0x8C,0xB1,0xC5, -0xD2,0x84,0x8D,0xA7,0xCE,0x45,0x25,0x13,0x82,0x66,0x4A,0x1C,0xE3,0x48,0x05,0xB5, -0xEC,0xBA,0xAA,0xBE,0x47,0x2B,0xC2,0x7D,0x79,0x1F,0xC8,0x9E,0x19,0xF7,0x40,0x4F, -0xC1,0xF4,0x3F,0x0B,0x3B,0x80,0x0F,0x85,0xD4,0xE0,0xA0,0x4A,0x49,0xBA,0x8E,0xF9, -0xE8,0x4B,0xA9,0x9D,0x22,0xFB,0x16,0xE7,0x1F,0x2B,0xB0,0x91,0x55,0xA5,0x91,0xFA, -0x5C,0x9A,0xCC,0xF8,0xBD,0x6F,0x89,0xEC,0x41,0x75,0x4D,0x32,0x71,0x85,0xB1,0xFE, -0x77,0x2F,0x52,0x66,0x78,0x12,0x4C,0x54,0x50,0x64,0x3C,0x52,0xBD,0x11,0x25,0xA6, -0xCA,0x60,0xA0,0x94,0x7E,0x75,0x4A,0x35,0xCB,0xFF,0xBC,0x49,0x51,0x6A,0x5E,0x31, -0x9D,0x1C,0x8B,0xBF,0x8A,0x5D,0xBE,0xE9,0x2A,0x1E,0xF1,0xE5,0x4A,0x47,0x73,0x07, -0x78,0x9F,0xED,0xD9,0xF2,0xE3,0xC6,0x2F,0x72,0x46,0x6B,0x27,0xA2,0xF3,0xC7,0x5B, -0xA8,0x1B,0xB9,0x8D,0xBB,0x08,0x8F,0x8D,0xCA,0xFE,0x9D,0x69,0x07,0xA6,0x92,0xAB, -0xDF,0x46,0x93,0xA7,0x5C,0x22,0x68,0x40,0x48,0x7C,0x66,0x10,0xCA,0xDC,0xE8,0x1C, -0xB7,0xBF,0x02,0x36,0xB7,0x16,0x83,0x9F,0x2E,0x1A,0xE5,0xF5,0x7B,0x8D,0xB9,0xFC, -0x19,0xF8,0xEB,0xDF,0x77,0x5E,0x43,0x17,0x13,0x27,0xAE,0x83,0x0E,0x53,0x67,0x57, -0x95,0x94,0x0B,0x3F,0x10,0xFC,0x24,0xD2,0x6B,0x5F,0x10,0x45,0xDB,0xF9,0xCD,0x28, -0x6A,0x81,0xE1,0xD5,0xEA,0xB9,0xDE,0x6D,0xCE,0xFA,0x89,0x79,0xEE,0xFC,0xC8,0x18, -0xA0,0x93,0x39,0x0D,0x12,0x8F,0x26,0xA3,0xF5,0xC1,0xA5,0x6E,0x59,0x71,0x45,0x22, -0x44,0x06,0x48,0x7C,0xF6,0xF7,0xC2,0x3F,0x38,0x0C,0xD2,0xD4,0x6C,0x74,0x40,0x12, -0x58,0xBE,0xEC,0xD8,0xAF,0x4C,0x9B,0xDD,0xE1,0xD5,0xE1,0x3E,0x01,0x7A,0x4E,0x71, -0x5A,0xB4,0xE4,0xD0,0x06,0xCB,0x32,0xF3,0xAE,0x9A,0x6D,0xFD,0x2B,0x9D,0xA9,0xBC, -0xEA,0x41,0xA1,0x95,0x09,0x87,0x3D,0xB0,0xE3,0xD7,0x92,0x4F,0x74,0xA4,0x90,0xDA, -0xF0,0xD7,0x2D,0x19,0x5A,0x45,0x6E,0x21,0xF7,0xC3,0xD6,0x1F,0x37,0x82,0xB6,0xBF, -0xC2,0xE8,0x20,0x14,0x87,0x62,0xB3,0xDB,0x9E,0xAA,0x19,0xB9,0x0D,0xAE,0x9A,0xA9, -0x9B,0x32,0xA3,0x97,0x62,0x3B,0x56,0x67,0x56,0x62,0x5B,0x33,0xEA,0x33,0x07,0xD3, -0x4E,0x84,0xC0,0xF4,0xC0,0xE4,0xF4,0x1A,0x44,0x70,0x78,0x02,0x43,0xB2,0x86,0xFB, -0xA5,0xA1,0x0E,0x3A,0x02,0xDF,0x36,0xE3,0x57,0x63,0x7A,0x13,0xE7,0x09,0x3D,0xE4, -0xF4,0xF3,0x0D,0x39,0x28,0x82,0x1C,0x94,0xC4,0xF0,0xF0,0x0A,0xBB,0xCD,0xF9,0x7C, -0x6C,0xAF,0xC9,0xFD,0x20,0x88,0x14,0x96,0xFA,0xCE,0xE9,0x2D,0x0B,0x72,0x46,0x73, -0xED,0x79,0x9E,0xAA,0x4F,0x20,0x7B,0x51,0x4D,0x79,0x53,0x20,0x73,0x96,0xA2,0xEF, -0x23,0x4F,0x66,0x52,0x16,0x9B,0x22,0xB3,0x4B,0x7F,0x34,0x41,0x2D,0x41,0x75,0x66, -0xC0,0xE2,0x28,0x1C,0x98,0x7E,0xAC,0xD8,0x53,0x67,0x6E,0x03,0xB8,0x30,0x04,0x82, -0x55,0x04,0x5B,0x6F,0x26,0xEF,0x12,0xF7,0x8F,0xBB,0x68,0xD9,0x6A,0xA8,0x9C,0xC8, -0xC4,0xC6,0x08,0x3C,0xDA,0xCD,0xEE,0x29,0xEB,0xDF,0x98,0x4D,0x2C,0xAF,0x9B,0x89, -0xBD,0x3D,0x8A,0xBE,0x79,0x33,0x4D,0x74,0x2D,0x19,0xB7,0xA4,0xFF,0xD9,0xED,0x2C, -0xA7,0xAB,0x06,0x32,0xC3,0xB6,0xF7,0x4B,0x59,0x6D,0x17,0x70,0x05,0xB5,0x81,0xBA, -0x26,0x7D,0x51,0x65,0xE6,0xA7,0xD2,0x7F,0x54,0x60,0x28,0x42,0xF6,0x2C,0x18,0xD0, -0x2E,0xF5,0xD1,0xE5,0xC1,0xC5,0xF5,0x3A,0xFB,0xCF,0xC8,0x0D,0xD3,0xE2,0xD6,0x3B, -0x61,0x15,0x7E,0x4A,0x93,0x26,0xA7,0x8B,0xF1,0xC5,0xB1,0x7E,0x1A,0x57,0x63,0x47, -0xC9,0x7C,0xBF,0x8B,0x5B,0x64,0x6F,0x01,0xA3,0x97,0x52,0xCF,0x21,0x95,0xA1,0xBE, -0xCE,0x44,0x80,0xB4,0x96,0x13,0xA2,0xBB,0x15,0x21,0xC9,0xE2,0xA3,0x1D,0x29,0xB4, -0x60,0x03,0x69,0x5D,0x03,0xFE,0x37,0xC3,0xC5,0xF1,0xD1,0x2A,0x8E,0xC8,0xFC,0x4C, -0x5F,0x86,0xD3,0xE7,0xFF,0xDC,0xCB,0x1D,0x55,0x61,0x09,0x62,0xD9,0xEA,0xDE,0x39, -0xD7,0xCE,0x13,0x27,0x84,0x30,0xB0,0x8A,0x7D,0x49,0x27,0x64,0x77,0x59,0x6D,0x24, -0xC5,0xD0,0x1F,0x2B,0x0C,0xB2,0x38,0x80,0xB0,0x84,0x50,0xDE,0xC1,0x3A,0x0E,0xF1, -0xAA,0x11,0xB1,0x85,0xE2,0xB3,0xD6,0x6F,0x88,0xBC,0x2E,0x98,0x58,0x9F,0xAB,0xCD, -0x15,0x54,0x4B,0x7F,0x6A,0x31,0x5E,0x65,0x0F,0x3B,0xE0,0xD1,0x5F,0xAD,0x99,0xF8, -0xE6,0xED,0x01,0x35,0xD7,0xF2,0xE3,0x1B,0xEC,0xD8,0xDE,0x0C,0x67,0x92,0xA6,0xFF, -0x68,0x8B,0xE9,0xDD,0x42,0x1F,0x76,0x63,0x1A,0x2E,0x85,0xA1,0x39,0x45,0x71,0x76, -0xB1,0x91,0x2A,0x1E,0xA4,0x14,0x90,0x8E,0x33,0x07,0x8A,0x87,0xEB,0xDD,0xE9,0x3C, -0x7B,0x83,0xF2,0xC6,0x00,0xAC,0x34,0x92,0xE0,0xD4,0xC0,0x1E,0x76,0xB7,0x83,0xCB, -0x5E,0x90,0xC4,0xF0,0x17,0xBA,0x23,0x93,0x9F,0xAB,0x38,0x99,0xA8,0xFB,0xCF,0x59, -0xEE,0x65,0x81,0xB5,0x2C,0x96,0x18,0x84,0x47,0x73,0x2A,0x53,0x57,0xB6,0x82,0xEB, -0x00,0x72,0x78,0x4C,0x76,0x7F,0x42,0x37,0xE4,0xD0,0xD4,0x0E,0xD5,0x3E,0x0A,0xE1, -0xE0,0xC3,0x29,0x1D,0xDC,0xAA,0xE8,0x48,0xD3,0xE7,0xE6,0x0B,0x61,0x4E,0x7A,0x25, -0xC7,0xDA,0x17,0x23,0xB2,0x23,0x86,0xAF,0x51,0x65,0x1D,0x72,0x24,0xB4,0x80,0x9A, -0x08,0xFA,0xF8,0xCC,0xFE,0xFD,0xCA,0x3D,0x2F,0x1B,0xC4,0xD5,0x99,0x31,0x05,0xA2, -0x8C,0x1E,0x98,0xAC,0x61,0x69,0x55,0x36,0x89,0xBD,0x0F,0xB8,0x40,0x4F,0x7B,0x05, -0x46,0x0C,0x40,0x74,0x01,0x8D,0x35,0xB2,0xC2,0xF6,0x97,0x6B,0xCF,0xFD,0xC9,0x38, -0x97,0x9E,0x03,0x37,0x64,0x5C,0x50,0x06,0xA0,0x94,0x00,0x9E,0x29,0x8E,0xBA,0xAD, -0x8F,0x02,0x87,0xB3,0x3E,0xB5,0x0A,0xB5,0x11,0x25,0xDD,0xF2,0x0A,0x9C,0xA8,0x9C, -0x14,0x42,0x5C,0x68,0xDB,0xEC,0xEF,0x09,0xEE,0xDA,0xAD,0x7D,0x8C,0xDB,0xEF,0x5D, -0x56,0x18,0x44,0x70,0x6C,0x56,0x58,0x04,0x21,0x15,0xA9,0xB6,0xA6,0x3C,0x08,0x90, -0x75,0x25,0x5A,0x6E,0x31,0xF9,0x05,0xF6,0x8C,0xB8,0x3A,0x88,0xCC,0x00,0x34,0xC6, -0x30,0x47,0x7D,0x49,0xAD,0x3F,0x99,0xAC,0x58,0x6C,0x36,0x50,0x63,0x5D,0x69,0x34, -0xAE,0x35,0x91,0xA5,0x5F,0x70,0x6B,0x11,0x1B,0x2F,0xA4,0x81,0xC2,0xC7,0xF3,0x0F, -0xD6,0xD8,0x04,0x30,0x24,0x9C,0x10,0x86,0xBC,0x88,0x4E,0xCC,0x3E,0x77,0x43,0x43, -0x16,0x48,0x54,0x60,0xD2,0xC7,0xE6,0x2B,0xD1,0xE5,0x95,0x7A,0x5A,0x8C,0xB8,0xDC, -0x48,0x6A,0x0D,0xD2,0x88,0xF6,0x91,0x8E,0xB8,0x94,0xF3,0xBB,0x80,0xE7,0x2D,0x5D, -0x04,0x65,0x02,0x91,0x38,0xB3,0xD4,0x7B,0xDE,0xAD,0xCA,0xE4,0xCD,0xAA,0x9F,0xA2, -0xAD,0xE4,0x83,0xB9,0xA0,0x77,0x10,0x27,0xCB,0x9E,0xF9,0xC2,0xFD,0x9A,0xDB,0xD6, -0x8A,0x39,0x5E,0x43,0x92,0x7A,0x1D,0x18,0xDD,0xB2,0xD5,0xF8,0x94,0xF3,0x7D,0x19, -0x2B,0xA3,0xC4,0x78,0x2C,0x97,0xF0,0x4B,0x99,0x82,0xE5,0x8C,0x27,0x40,0x60,0xB7, -0xF4,0x01,0x66,0x05,0xF9,0xF4,0x93,0xFD,0xB1,0x03,0x64,0x25,0x35,0x52,0x51,0x94, -0x4D,0x4B,0x2C,0xF6,0x96,0x5A,0x3D,0x3C,0x1E,0xFD,0x9A,0x74,0xA7,0xC0,0x68,0x3F, -0x10,0x61,0x06,0x81,0xC7,0x59,0x3E,0x6E,0x86,0x39,0x5E,0x28,0x34,0x53,0x71,0xB5, -0xEF,0x2C,0x4B,0x33,0x8F,0xC9,0xAE,0xB6,0x8D,0xA6,0xC1,0xBC,0x2E,0x49,0x42,0x9C, -0x47,0x43,0x24,0xF4,0x0E,0x9E,0xF9,0x60,0x11,0x42,0x25,0xC4,0x99,0xFE,0x4F,0x26, -0xB1,0xFB,0x9C,0xBA,0xA2,0x7F,0x18,0x2D,0xE0,0x00,0x67,0x77,0x30,0x57,0x61,0xA1, -0x54,0x75,0x12,0xD1,0x41,0x31,0x56,0x80,0x04,0x71,0x16,0xE2,0x28,0x4F,0x23,0xFB, -0x02,0xB9,0xDE,0x4B,0xA6,0x5F,0x38,0x09,0xEB,0x9F,0xF8,0xE3,0x88,0xEF,0x2F,0x57, -0x20,0x45,0x22,0x95,0x37,0x0C,0x6B,0xCB,0xAA,0x98,0xFF,0xA5,0xEC,0x8B,0xBB,0xA7, -0x79,0xA0,0xC7,0x29,0xC5,0x51,0x36,0x64,0xD8,0x85,0xE2,0xCA,0x3A,0x5D,0x12,0xD8, -0xFC,0x1A,0x7D,0x16,0xDF,0xDD,0xBA,0xF2,0x4E,0xE9,0x8E,0x30,0x4E,0x29,0xC6,0x78, -0x34,0x41,0x26,0x85,0x8A,0xFE,0x99,0x84,0x98,0x95,0xF2,0x9A,0x7C,0x1B,0xF3,0x7F, -0x4F,0x58,0x3F,0xE7,0xA3,0x68,0x0F,0x3B,0x9B,0x8A,0xED,0x86,0xB7,0xD0,0x28,0x6F, -0xDD,0x1B,0x7C,0x36,0x15,0x05,0x62,0xE0,0xC4,0x21,0x46,0x72,0x33,0x54,0x30,0xF3, -0xA0,0xDE,0xB9,0x8E,0x3E,0x9B,0xFC,0x55,0x9C,0xB5,0xD2,0xBE,0x22,0x45,0x50,0x82, -0x92,0xE9,0x8E,0x8B,0xFF,0xDC,0xBB,0xD3,0x65,0x77,0x10,0x85,0x49,0x2E,0x87,0x3E, -0xBA,0x1D,0x7A,0x57,0xA8,0xF7,0x90,0xAF,0x53,0x5A,0x3D,0x9E,0xA8,0xCF,0x2B,0x73, -0xC7,0xD8,0xBF,0xEF,0xCA,0xEE,0x89,0xD4,0xC9,0x96,0xF1,0xC8,0xA9,0xCE,0x0B,0x52, -0x2C,0x91,0xF6,0x4D,0x1A,0xBA,0xDD,0x50,0x39,0xC3,0xA4,0x6D,0x11,0x76,0x45,0xA4, -0xD9,0xD4,0xB3,0xFD,0xD5,0x55,0x32,0x70,0x9E,0xBD,0xDA,0xB4,0x4D,0x2A,0x97,0x2A, -0xED,0x3F,0x58,0x22,0xBD,0xC4,0xA3,0x89,0x7E,0xEC,0x8B,0x05,0x2B,0x4C,0x72,0xA9, -0x33,0x73,0x14,0xB0,0xF7,0x5C,0x3B,0x5B,0x4A,0xC9,0xAE,0x14,0x08,0x6F,0x27,0xDF, -0x91,0x14,0x73,0x75,0x7B,0xBC,0xDB,0x37,0x35,0x63,0x04,0xC1,0x70,0x17,0xE1,0x61, -0x40,0x71,0x16,0xC1,0xC2,0x6E,0x09,0x5C,0x40,0x41,0x26,0x96,0x96,0xF1,0x0C,0x6A, -0x76,0x89,0xEE,0x0F,0x08,0xB6,0xD1,0x4E,0x7A,0xCC,0xAB,0x21,0xAD,0xCA,0x1B,0x46, -0x83,0xCC,0xAB,0xBF,0x3A,0xBB,0xDC,0x71,0x13,0x4A,0x2D,0xCE,0x82,0xE5,0x5C,0x2E, -0x38,0x95,0xF2,0x5D,0x26,0x1F,0x78,0xC9,0x70,0x44,0x23,0xA3,0x5B,0x3C,0xB6,0x1D, -0xB0,0x15,0x72,0x55,0x62,0x2F,0x48,0xBD,0x83,0x0E,0x69,0x1A,0x87,0xE0,0x6C,0x1B, -0x59,0x4F,0x28,0xE6,0x8C,0xD6,0xB1,0xAA,0x89,0x86,0xE1,0x98,0x24,0x43,0x31,0xE5, -0xEC,0xD1,0xB6,0xCD,0xA5,0x40,0x27,0x15,0xF8,0x84,0xE3,0xEB,0x32,0x55,0x10,0xD2, -0x65,0xBF,0xD8,0x2A,0x82,0x7E,0x19,0x0C,0x47,0x7E,0x19,0xAE,0xB0,0xD7,0x69,0x29, -0xA6,0x02,0x65,0x54,0xEE,0xCF,0xA8,0xD1,0x67,0x7F,0x18,0x8F,0xEA,0x8D,0xDA,0xC0, -0x32,0x9D,0xFA,0x5F,0x6A,0xAF,0xC8,0x35,0xC0,0x01,0x66,0x56,0x4C,0x2B,0xB7,0x0B, -0x93,0x07,0x60,0x64,0xF5,0x54,0x33,0x51,0xCF,0xBE,0xD9,0xE6,0xC3,0xA4,0xFC,0xCF, -0x42,0x62,0x05,0xD0,0x24,0x17,0x70,0xC3,0x5A,0xCD,0xAA,0x00,0xA1,0xC6,0x09,0x58, -0x23,0xB8,0xDF,0x6B,0x76,0x0B,0x6C,0x8D,0x3F,0xEB,0x8C,0x43,0x8D,0xEA,0x1F,0x62, -0x7A,0x5D,0x3A,0xD7,0xED,0xD0,0xB7,0xCD,0xFE,0xAC,0xCB,0xC5,0x72,0x15,0x90,0x12, -0x36,0x52,0x35,0x94,0x17,0x0D,0x6A,0xEA,0xA4,0x30,0x57,0x03,0xEF,0x88,0xEA,0xF5, -0x99,0x0F,0x68,0x66,0x34,0x13,0x74,0xD7,0xF2,0x0C,0x6B,0x69,0x42,0x25,0xD4,0x66, -0xBF,0x3C,0x5B,0x73,0xCC,0xC6,0xA1,0xFA,0x6D,0xF7,0x90,0x0D,0x78,0x1F,0xE3,0x6B, -0xF0,0xCE,0xA9,0xCE,0x52,0x2A,0x4D,0x88,0x56,0x6D,0x0A,0xAC,0x3B,0x5C,0x32,0xF9, -0x08,0xB1,0xD6,0x49,0x74,0x03,0x64,0x87,0xBE,0xBC,0xDB,0x95,0xB2,0xD5,0x18,0x5A, -0x53,0x47,0x20,0xE4,0xB4,0x53,0x34,0x17,0x21,0x47,0x20,0xF1,0xDF,0xB8,0xAE,0x81, -0x0A,0xA2,0xC5,0x58,0x4C,0x86,0xE1,0x3A,0x59,0xD2,0xB5,0x1C,0x98,0xFF,0x6F,0x07, -0x68,0x85,0xE2,0x1D,0x44,0x06,0x61,0xB2,0xB2,0x1C,0x7B,0x39,0x37,0x50,0x20,0xE7, -0xAB,0x38,0x5F,0x63,0xAB,0xE8,0x8F,0xB3,0xDC,0xA5,0xC2,0xEE,0xC0,0xA7,0xAD,0x9D, -0xE9,0xF0,0x97,0xE9,0x03,0x29,0x4E,0xDA,0x25,0x67,0x00,0xD5,0x92,0xF5,0x1C,0x7E, -0x31,0x60,0x07,0xA1,0x02,0x3E,0x59,0xCC,0x2E,0xF8,0x9F,0x41,0xA6,0xC1,0x48,0x1E, -0xDC,0xF5,0x92,0xD9,0xAC,0xD7,0xB0,0x8B,0xD6,0x2D,0x4A,0x6C,0x76,0x11,0x80,0x06, -0xFF,0xE7,0x80,0xE8,0xB5,0x44,0x23,0x01,0x46,0x69,0x0E,0xB8,0x1E,0x79,0x06,0xE8, -0x13,0x9C,0xFB,0x7F,0x3D,0x84,0xE3,0x49,0x5B,0xDA,0xBD,0x16,0x36,0x51,0x00,0xC6, -0x7C,0x81,0xE6,0x0D,0xC8,0xE6,0x81,0xDE,0xAF,0xAF,0xC8,0x97,0xEB,0x8C,0xFA,0xE1, -0x7D,0x6F,0x08,0xE2,0xA7,0x48,0x2F,0x1F,0x93,0x0A,0x6D,0x0E,0xD3,0xB4,0xBC,0x9F, -0x3D,0xB4,0xD3,0x79,0x84,0x56,0x31,0x22,0x9D,0xA2,0xC5,0xA8,0x8F,0xE8,0x6E,0x11, -0xFE,0x09,0x6E,0x07,0x77,0x1C,0x7B,0x9B,0x9A,0x9D,0xFA,0x90,0x6C,0x0B,0xB3,0x2F, -0xDB,0xC7,0xA0,0xEC,0xD3,0x7D,0x1A,0x5E,0x5E,0xED,0x8A,0x24,0x50,0x37,0xE5,0x45, -0xD0,0x21,0x46,0x01,0x0A,0xBE,0xD9,0x44,0x14,0x75,0x12,0xF6,0x79,0x1E,0xC3,0x4A, -0x75,0x74,0x13,0xF1,0x3C,0x93,0xF4,0x5F,0x3B,0xCB,0xAC,0x67,0xFC,0x9B,0xFB,0xF7, -0x63,0x63,0x04,0xF0,0x19,0xA5,0xC2,0x4C,0xA9,0x87,0xE0,0xB9,0x83,0xE4,0x7C,0x0F, -0x95,0x17,0x28,0xA2,0x2A,0xD7,0xE8,0xDD,0xBB,0xBB,0x84,0x1F,0x43,0x7C,0x72,0x11, -0x35,0x63,0x5C,0x76,0xBC,0xBB,0x84,0x27,0xA1,0x37,0x08,0x89,0xF9,0xC6,0x4D,0x94, -0x4A,0xB5,0x8A,0xDF,0xCE,0xA6,0x99,0x48,0x53,0x6A,0x55,0x26,0x1C,0x23,0xF1,0xCD, -0xBA,0xD1,0xEE,0x4B,0x8F,0xA1,0x9E,0x0E,0xC2,0x39,0x06,0xE4,0xE0,0xDF,0x2F,0xEF, -0x16,0x71,0x4E,0x47,0x60,0x4F,0x70,0x0F,0x25,0x57,0x68,0x6D,0x2C,0x13,0xB5,0xB9, -0x4C,0x69,0x56,0x05,0x84,0x3E,0x01,0x9A,0xC6,0x19,0x26,0xC0,0xA2,0x9D,0xDE,0x5C, -0xCB,0xC0,0xFF,0x2B,0x75,0x7C,0x43,0x29,0x6A,0xF8,0xC7,0x8D,0x1A,0x25,0x90,0xAA, -0x71,0x77,0x48,0x26,0xE9,0x98,0xA7,0x51,0xEB,0xAF,0x90,0x5B,0x75,0x4A,0x57,0x02, -0x58,0x6D,0x52,0x15,0xE2,0x07,0x38,0xC5,0xA3,0x3F,0x00,0x83,0x38,0x07,0xE5,0xFD, -0xD2,0xFE,0xC1,0x0C,0x7A,0xC3,0xFC,0x99,0xF2,0x3C,0x03,0xD1,0x12,0x2D,0x92,0xA0, -0x79,0x6C,0x53,0x35,0xD5,0x3D,0x02,0xC8,0x9D,0x92,0xAD,0x10,0x58,0x67,0x61,0x19, -0x5A,0x7E,0x41,0x04,0xFD,0xBC,0x83,0x61,0x48,0xF1,0xCE,0xA6,0xFA,0xC5,0x1C,0xC6, -0xF4,0xCD,0xF2,0x19,0xB9,0x8C,0xB3,0x15,0xF6,0x1C,0x23,0xF5,0x60,0x5F,0x27,0x67, -0x3B,0xA4,0x9B,0xBF,0xAF,0xA0,0x9F,0x2F,0xC4,0x11,0x2E,0xCA,0xBD,0x82,0xDD,0x40, -0x4F,0x94,0xAB,0xFB,0xBA,0x93,0xAC,0x09,0x5C,0xD5,0xEA,0x96,0x3C,0x03,0xF5,0xE9, -0xB0,0xD9,0xE6,0x49,0xDC,0xAA,0x95,0x56,0xEC,0x90,0xAF,0x63,0x33,0x0C,0xB6,0xA5, -0xF0,0x02,0x3D,0xD2,0x14,0x7A,0x45,0x4E,0x42,0x79,0x46,0x24,0xCC,0xF3,0x39,0xD5, -0xC3,0xDB,0xE4,0x38,0x77,0x74,0x4B,0x23,0x5E,0xDD,0xE2,0x9C,0x95,0xAA,0xDB,0x6E, -0xAB,0xF4,0xCB,0x7F,0x1E,0xF2,0xCD,0xCC,0x6C,0xD0,0xEF,0xA3,0xD0,0xEF,0x6B,0x9B, -0x87,0xCF,0xF0,0x68,0x24,0x7F,0x40,0x7B,0xA6,0x08,0x37,0xB1,0x28,0x17,0xA5,0xAD, -0x8C,0x29,0x16,0x85,0x51,0x5D,0x62,0x2C,0x1F,0xDA,0xE5,0xDA,0x4D,0x72,0x11,0x7C, -0x32,0x51,0x6E,0x43,0x2E,0xF7,0xC8,0xF9,0x93,0x3A,0x05,0xB6,0x2A,0x15,0xD4,0xDE, -0x44,0x72,0x4D,0x16,0x1A,0xD2,0xED,0xE8,0xD9,0xA2,0x9D,0x64,0x66,0x59,0x46,0x00, -0xC7,0x14,0x2B,0xF3,0xFA,0x83,0xBC,0x59,0xB1,0x33,0x0C,0x9D,0x8D,0xB2,0x99,0x34, -0x49,0x48,0x77,0x21,0x5D,0xFD,0xC2,0x80,0x7E,0xDC,0xE3,0xBD,0xC8,0xF7,0x29,0xC1, -0xBF,0xF0,0xCF,0x6F,0xAD,0xA8,0x97,0x25,0xAE,0x88,0xB7,0x39,0x81,0xBE,0x8B,0x2A, -0x9E,0xF1,0xCE,0x4F,0x37,0x64,0x5B,0x73,0xCC,0x91,0xAE,0x42,0x44,0x7B,0x33,0x57, -0xD3,0x10,0x2F,0xE3,0x01,0x49,0x76,0x68,0x9B,0xBA,0x85,0x3E,0xB0,0x8F,0xEF,0x7F, -0x6F,0x7B,0x44,0x34,0xF8,0x8B,0xB4,0x53,0x5A,0xFD,0xC2,0xB8,0x87,0xB8,0xEA,0x4D, -0x1E,0x6A,0x55,0x54,0xA0,0x1F,0x20,0x9F,0x71,0x63,0x5C,0x0D,0x42,0x7D,0x52,0x30, -0x82,0xEE,0xD1,0x4C,0xFF,0xB4,0x8B,0x6B,0xC7,0x0E,0x31,0xD6,0x01,0x3E,0x83,0xA2, -0x92,0x25,0x1A,0x97,0xFC,0xAB,0x94,0x77,0xEE,0x98,0xA7,0x69,0x18,0x27,0xE1,0xD9, -0x6C,0x86,0xB9,0xCA,0x45,0x79,0x46,0x1C,0xD0,0x35,0x0A,0xFA,0x1E,0x21,0x80,0xBE, -0xB7,0xEB,0xD4,0x7C,0xDA,0x82,0xBD,0x78,0x10,0x65,0x5A,0x6A,0xE8,0xD7,0x2D,0xE5, -0x14,0x62,0x5D,0x56,0x32,0x53,0x6C,0x41,0x36,0x4C,0x73,0x65,0x97,0xA8,0xAA,0x1D, -0x86,0x21,0x1E,0x87,0x09,0xC9,0xF6,0xE0,0xA8,0xA0,0x9F,0x17,0x65,0x5A,0x17,0x52, -0x8B,0x1B,0x24,0xB0,0x96,0x32,0x0D,0x84,0x50,0x75,0x4A,0x3A,0x56,0x69,0x02,0x74, -0x18,0xB6,0x89,0x8E,0xC0,0x0E,0x31,0xEE,0x73,0x6B,0x54,0x07,0x0B,0x34,0xF0,0xDB, -0xFF,0x2B,0x14,0xF4,0x9A,0x92,0xAD,0x28,0x89,0xB6,0x89,0x20,0x04,0x3B,0xB3,0x97, -0x8F,0xD4,0xEB,0x7B,0x5B,0xD5,0xEA,0xAE,0x12,0x6D,0x52,0x60,0xE1,0xDE,0x0F,0xCE, -0xB5,0xF8,0xC7,0x6D,0x3E,0xF3,0xCC,0xED,0x40,0x71,0x4E,0x2E,0x3B,0x04,0xB4,0xAF, -0x22,0x9A,0xA5,0x98,0xAB,0x80,0xBF,0x0B,0x91,0x32,0x0D,0xBC,0x5E,0x61,0x00,0x7E, -0xE6,0x15,0x2A,0xD3,0xA4,0x3F,0x00,0xBB,0x0E,0xC9,0xF6,0xD8,0xC4,0xFB,0x3B,0xDF, -0x2D,0xB3,0x8C,0xBE,0x03,0x41,0x7E,0x62,0x8A,0xA9,0x96,0x3C,0x5B,0x64,0x30,0x4B, -0xC4,0xE9,0xD6,0x0D,0x23,0x40,0x7F,0x43,0xE6,0x18,0x27,0xE1,0xE6,0xD9,0x4E,0x88, -0x3F,0x6B,0x54,0x74,0x9C,0xBA,0x85,0x06,0xC1,0x26,0x19,0xF8,0x88,0xB7,0xA9,0x01, -0x08,0x7D,0x42,0x55,0xED,0xB8,0x87,0x75,0xE8,0xB0,0x8F,0x47,0x16,0x29,0x82,0xB4, -0xF6,0xDE,0xE1,0x08,0xE7,0x30,0x0F,0xF7,0x06,0x49,0x76,0x50,0x4C,0x73,0x31,0x5D, -0xE2,0xDA,0xE5,0x18,0xCD,0xB9,0x86,0x54,0x7D,0xC3,0xFC,0xA1,0x3A,0x05,0x94,0x8E, -0x1A,0xA5,0x9A,0x9F,0x5F,0xF5,0xCA,0x8A,0x58,0xF5,0xCA,0xB2,0x2D,0x12,0x95,0x98, -0xA7,0x20,0x1F,0xA7,0x70,0x4B,0x74,0x1B,0x6E,0xD8,0xE7,0xA9,0x78,0x47,0x65,0x3D, -0xA8,0x09,0x36,0x81,0x3A,0xD3,0xEC,0xC9,0xB7,0x1B,0x24,0xB3,0x9E,0xA1,0x88,0x36, -0xC2,0x35,0x0A,0xD7,0xFE,0xA3,0x9C,0x7D,0x13,0x7A,0x45,0x76,0x50,0x6F,0x63,0x13, -0xFC,0xD6,0xE9,0x0A,0xF9,0x9C,0xA3,0x45,0xE0,0x30,0x0F,0xCF,0xED,0xD2,0x1D,0xD0, -0x72,0x8A,0xB5,0xD8,0xF7,0x34,0x0B,0xE3,0xC3,0x2E,0x11,0xF2,0x36,0x09,0x86,0x90, -0x0C,0xB2,0x8D,0x9E,0xCB,0x91,0xAE,0x7A,0xAC,0x80,0xBF,0x33,0xD8,0xE7,0x69,0x91, -0x2B,0x6F,0x50,0x64,0x3F,0xE4,0xDB,0xFB,0x59,0xE2,0xDD,0xA4,0xC5,0xFA,0x1B,0xFE, -0x05,0x47,0x78,0x62,0x22,0x57,0x68,0x55,0xD1,0x22,0x1D,0xEC,0xBE,0x81,0x8C,0x12, -0xEB,0x2F,0x10,0xE4,0xB2,0x13,0x2C,0x81,0xC8,0xB1,0x8E,0x66,0xAC,0x93,0xBD,0x31, -0xF3,0xFF,0xC0,0x2C,0x4A,0xC6,0xF9,0xAC,0x66,0x58,0x67,0x21,0x39,0x06,0xC5,0xDC, -0x93,0xCB,0xF4,0x78,0x41,0x59,0x66,0x38,0x67,0x4F,0x70,0x37,0xA9,0x96,0x8D,0x04, -0x70,0x99,0xA6,0xC9,0xB8,0x9B,0xA4,0x03,0xCF,0x8E,0xB1,0x5E,0x61,0x5E,0x07,0x46, -0x0A,0x6E,0x51,0x44,0xD6,0x22,0x1D,0xD4,0x20,0x60,0x5F,0x5F,0xDC,0xE3,0x79,0x85, -0xEA,0xC1,0xFE,0x0B,0x3D,0xEC,0xD3,0xF1,0x28,0xE0,0xDF,0xD7,0xFB,0xC4,0x3C,0xE7, -0x6B,0x4B,0xFD,0xF2,0xAB,0xF0,0xA4,0x89,0x0B,0x04,0x5C,0x85,0x1D,0x31,0x3E,0xF1, -0x5D,0x50,0xD0,0xDF,0x4A,0xBD,0x45,0x25,0xFF,0xF0,0x74,0x59,0x61,0x1A,0x15,0xA6, -0xC7,0x06,0x1C,0x13,0x4B,0x9C,0x44,0x05,0x3A,0x35,0x09,0xE1,0x1A,0x03,0x0C,0xC4, -0x37,0xA3,0x49,0x46,0xF3,0x6A,0xFC,0x4B,0x73,0x7C,0xE2,0x43,0x9E,0x57,0x58,0x14, -0x96,0x54,0x1F,0x10,0x9E,0xB1,0x91,0xFD,0xA3,0xAC,0xFA,0x8B,0x4A,0x13,0x1C,0x84, -0x95,0x48,0x00,0x0F,0x55,0xA1,0x5A,0x26,0xBA,0xB5,0x81,0xE9,0xF5,0x85,0x8A,0xAD, -0xCA,0xBC,0xAB,0xA4,0xD1,0x3D,0xDE,0x3E,0xF9,0xF6,0x13,0x38,0x2E,0xE8,0xE7,0x1B, -0x92,0x70,0x3F,0x30,0xC0,0x4C,0xCF,0x5E,0x3C,0x33,0x6E,0x80,0x9B,0x76,0x79,0x30, -0x4E,0x58,0xCB,0xC4,0x74,0xA4,0x7B,0x02,0x93,0x9C,0x8E,0xCF,0x92,0x83,0x8C,0xCC, -0x74,0xEF,0x46,0x49,0x4F,0x88,0x40,0x15,0x6B,0x64,0xB8,0x01,0x80,0x5B,0x54,0x06, -0x1D,0x00,0xC0,0xCF,0x60,0xE0,0x6F,0x52,0x2E,0x21,0x4D,0xB1,0xBF,0x56,0x59,0x34, -0x7E,0x6D,0xCE,0xC1,0xB9,0xD3,0xB6,0xB8,0x77,0x78,0xF6,0x53,0x07,0xF2,0xFD,0x28, -0x90,0x7A,0x37,0x38,0xAF,0xE4,0xA0,0x99,0x36,0x39,0x17,0xF3,0xBE,0xB8,0xB7,0xDB, -0x70,0xCB,0x66,0x69,0xC9,0x67,0xC6,0x7C,0xDD,0xD2,0x23,0x2C,0x47,0x29,0x26,0xB3, -0x44,0xDA,0x43,0x4C,0xEA,0x11,0xE5,0x29,0x91,0x9E,0xFD,0xBE,0x95,0xB1,0xBE,0xF9, -0x3B,0x0F,0xE9,0xE6,0x92,0xAF,0x9D,0xEF,0xF6,0xF9,0x5F,0x7B,0xF9,0x51,0x5E,0x75, -0x97,0x42,0x08,0x07,0xC5,0x79,0xCA,0x6E,0x41,0x4E,0xE5,0x76,0x85,0x7A,0x75,0x22, -0xBF,0xEB,0x89,0x86,0xD7,0x5A,0xD8,0x5F,0xE3,0xEC,0x3A,0x0B,0x33,0x19,0x16,0xF7, -0x10,0xBA,0x77,0x78,0x45,0xF1,0x4A,0x66,0xA9,0xA6,0x83,0xF8,0xF2,0xB7,0xB8,0x98, -0x88,0xE6,0xB3,0xBC,0xD6,0x7B,0xD9,0x7F,0x83,0x8C,0xDE,0x8F,0xA0,0xB4,0xBB,0xC9, -0xB6,0x75,0x1E,0x11,0x62,0x93,0x6D,0x23,0x88,0x87,0x86,0xDC,0x40,0x1B,0x14,0x86, -0xD0,0x2A,0x27,0x28,0x2F,0x6C,0x20,0x91,0x87,0x88,0xCA,0x9F,0xB5,0x5E,0x51,0x36, -0xC5,0x0C,0x14,0x1B,0x1F,0x18,0x10,0xD5,0x06,0x09,0x63,0xB7,0xE9,0x9A,0x95,0xAE, -0xD3,0x36,0x38,0x37,0x76,0xD7,0x79,0x73,0xDB,0xD4,0x44,0x4D,0xD6,0x97,0x98,0x9C, -0xE5,0x2D,0x15,0x1A,0x6A,0x99,0x65,0x21,0x5B,0x54,0xCC,0x45,0xC7,0xB2,0xBD,0xA8, -0xA4,0x6B,0x12,0x1D,0x0E,0x69,0x01,0xB5,0xA7,0xA8,0xEE,0x9B,0x05,0xE1,0xEE,0x39, -0xD6,0x04,0x0F,0x00,0xD8,0x16,0xD7,0x1C,0x42,0x4D,0xB7,0x27,0xAA,0xBC,0xB3,0xCB, -0x40,0xFE,0x63,0x6C,0xAC,0xB6,0xA3,0xC8,0xF8,0xF7,0x32,0x18,0x3C,0x30,0x3F,0xD1, -0x83,0x72,0x2C,0x23,0xCC,0x52,0xC3,0x4C,0xCE,0xC1,0x21,0x3D,0x78,0x24,0x2B,0x81, -0x1F,0x0A,0xC8,0xC7,0x7B,0xE8,0x74,0x41,0xA1,0xAE,0x89,0xFA,0xAE,0x73,0x7C,0x00, -0xEE,0xB9,0x8A,0x85,0xD2,0x6F,0xDD,0x6F,0x19,0x16,0x7F,0xB4,0xE3,0x92,0x9D,0xAC, -0x0A,0x2C,0xFB,0xF4,0xCA,0x35,0xC5,0x2D,0x97,0x98,0x9A,0xDF,0x4E,0xDC,0xD3,0x4F, -0x20,0x8F,0x72,0x7D,0x44,0xD0,0x4B,0x46,0x82,0x8D,0xFF,0xAF,0x02,0xD3,0xDC,0x0C, -0xD8,0xA2,0xA7,0xA8,0x94,0xC8,0x9B,0x8E,0x17,0x18,0x12,0xD7,0x45,0x3A,0x35,0xA2, -0x48,0x76,0xE3,0xEC,0xFC,0x26,0xF3,0x08,0x05,0x0A,0x31,0xE6,0xCF,0xA9,0xA6,0xBB, -0x55,0xD8,0x50,0x5F,0xD4,0x08,0xDB,0x0E,0x7E,0x71,0xDD,0x71,0x87,0x69,0x66,0x33, -0x57,0xD2,0x58,0x57,0x7A,0xC9,0x75,0x61,0x40,0x4F,0xC4,0x56,0xF4,0x6B,0x64,0x42, -0xBC,0xF7,0x96,0x99,0xD5,0x29,0xDA,0x2E,0x67,0x68,0xA6,0x13,0x7C,0xEB,0xE4,0x4A, -0xD2,0x20,0x2F,0x20,0x22,0x53,0x2D,0xA3,0xDA,0xD5,0x65,0x6D,0x7D,0x05,0x0A,0xA5, -0x2B,0x1B,0xED,0xE2,0x70,0xB0,0x7F,0x12,0x12,0x1D,0x27,0xE7,0x14,0xC4,0xCB,0x0D, -0x50,0xEA,0x67,0x68,0xB2,0x8B,0xBD,0xEB,0x25,0x2A,0x15,0xE2,0x90,0x90,0x9F,0xDD, -0x1A,0x38,0xFF,0xF0,0x9B,0x84,0x94,0xCD,0xC3,0xCC,0x1E,0x0F,0x8A,0x53,0x5C,0x04, -0x35,0xA9,0x41,0x4E,0x1E,0x39,0x11,0xF5,0x96,0x99,0xBB,0xFF,0x91,0x7E,0x71,0x32, -0xA7,0x77,0x0D,0x02,0x61,0xC1,0x6E,0x72,0x81,0x8E,0xAD,0xFE,0x82,0x48,0x47,0x17, -0xA1,0x59,0x25,0x2A,0x09,0x2F,0x06,0xF4,0x63,0x6C,0xB2,0x03,0x10,0x0B,0x04,0xC6, -0x9D,0xC0,0x80,0x8F,0x31,0x51,0x3E,0xB2,0x8D,0x82,0xB3,0xEC,0xD1,0xA5,0xAA,0xA9, -0x93,0x66,0x28,0x27,0x6D,0xDF,0x62,0x60,0x56,0x59,0xF3,0x77,0xEC,0xBB,0xB4,0x8A, -0x94,0x5E,0x17,0x18,0x8E,0xE1,0x81,0xBD,0xEB,0xE4,0x30,0x09,0x55,0xF1,0xFE,0x79, -0x69,0x41,0xF5,0xFA,0x08,0x0E,0x07,0xD4,0xE0,0xEF,0x68,0x5A,0x1F,0x22,0x2D,0xE0, -0xCE,0x98,0x8B,0x84,0xAE,0xC5,0xA1,0xB9,0x7F,0x70,0xFC,0x51,0xFB,0x42,0x4D,0x64, -0xC1,0x28,0x34,0x3B,0x21,0x01,0x2E,0xF2,0xE5,0xEA,0x5D,0x6A,0x9F,0xB9,0xB6,0xFB, -0x54,0xCE,0x47,0x48,0x43,0x96,0x4C,0x07,0x80,0x8F,0x8C,0xDE,0x0D,0xFA,0xF5,0x2A, -0x8D,0xD4,0x84,0x8B,0x65,0xD5,0x6A,0x62,0xF7,0xF8,0x7E,0x5B,0x73,0xC2,0xCD,0x6C, -0x87,0x56,0x0C,0x03,0xC6,0x2B,0xC9,0x3F,0xAD,0xA2,0x97,0xE8,0x64,0x3B,0x34,0x82, -0xF6,0x25,0x0E,0x01,0xD0,0x1C,0xDF,0x1E,0x33,0x3C,0x22,0xC3,0xDB,0xAD,0xA2,0xAB, -0x49,0x60,0xF4,0xFB,0x52,0xE7,0x5D,0x67,0x5D,0x52,0xAB,0x24,0xC2,0x93,0x9C,0x8C, -0x63,0xC3,0x7D,0x72,0x9A,0xA5,0x95,0xED,0xDE,0xD1,0x71,0x7D,0x34,0x2B,0x24,0xC2, -0x58,0x62,0xE7,0xE8,0xD9,0x37,0xD6,0x3C,0x2C,0x23,0x3E,0xC0,0x46,0xC7,0xC8,0x5C, -0xB0,0x5B,0x36,0x39,0x50,0x94,0x5F,0x16,0x53,0x5C,0xC6,0x47,0x49,0xEE,0xE1,0x7A, -0x2F,0x3F,0xCD,0xC2,0x3D,0x4F,0x32,0xA0,0xA5,0xAA,0x9D,0xEA,0xD9,0xBE,0xB1,0xBA, -0x31,0x8D,0x61,0x6E,0x6F,0xAC,0x60,0x11,0x5A,0x55,0xED,0x65,0x43,0xE6,0xE9,0x78, -0xF0,0x0B,0x26,0x29,0x90,0xDC,0x9F,0x9E,0xBF,0xB0,0xB4,0xD9,0x03,0x3D,0x32,0xE3, -0xAA,0xCD,0xBA,0xB5,0x0D,0x3B,0x02,0xE4,0xB0,0xBF,0xF8,0x9A,0x24,0xE0,0xEF,0x19, -0xFC,0xA7,0x86,0x89,0xA0,0xA8,0xAF,0xDA,0xED,0xE2,0x57,0x68,0x19,0xFE,0xF1,0x3A, -0x4D,0xED,0xDD,0xBC,0xA4,0xAF,0x87,0x55,0x0E,0x52,0xD0,0xFF,0x8B,0x82,0x85,0x74, -0x8D,0x65,0x95,0x7C,0xDF,0x38,0x6B,0x2E,0x26,0x7C,0xD6,0xD7,0x96,0x2C,0x36,0xC7, -0x1E,0x7C,0x1F,0xEF,0xCD,0x09,0x48,0x3C,0x4E,0x92,0x50,0xBF,0x06,0xF8,0x72,0x83, -0xF7,0xD2,0x58,0x06,0x58,0x71,0xA5,0xA9,0x9E,0x8A,0x98,0x6F,0xFE,0xD5,0xA7,0x56, -0xE0,0xD3,0x4E,0x11,0xC8,0x39,0x7D,0x39,0xAA,0xEA,0xCC,0x5B,0xF5,0x41,0x38,0xC9, -0x21,0x7B,0x27,0xD0,0x00,0xB3,0x3F,0xF1,0xF8,0x09,0x7D,0x09,0x0C,0x7A,0xFA,0x0B, -0xCF,0x94,0x26,0x3E,0xBD,0xCD,0xFC,0x4C,0x0F,0x73,0xF0,0xFE,0x62,0xAD,0x43,0xB2, -0x4F,0x9C,0xAE,0xBE,0x9A,0x88,0x9E,0x6B,0xA0,0x93,0xBF,0x51,0x89,0x88,0x8D,0x7C, -0x6C,0xC9,0xD8,0x9D,0x5B,0x20,0xF7,0xAA,0xBB,0x9B,0xAC,0x4A,0x79,0x2D,0xD8,0x29, -0x5A,0xEC,0xCB,0xAB,0x4C,0x21,0xE1,0xBD,0xC4,0x63,0x2B,0x35,0xEB,0xF3,0x94,0x65, -0x77,0xDA,0xD0,0x86,0x19,0xD1,0x44,0xE8,0x41,0xDE,0x13,0xB0,0xC4,0x62,0x2A,0xDB, -0xB4,0x03,0xCA,0x45,0xFF,0x3C,0x4F,0x0E,0x68,0xD1,0x35,0x99,0x8E,0xB0,0xB2,0x43, -0xD5,0xA7,0x0F,0x24,0x31,0xD7,0x6A,0xC0,0x54,0xBB,0x63,0xA5,0x4A,0x04,0xC2,0x33, -0x9F,0x54,0xB6,0x6E,0x8C,0xA9,0xA9,0x7D,0xB7,0x85,0xBE,0x46,0x4D,0x3C,0xFD,0x0C, -0x81,0x77,0x8B,0x70,0x57,0x32,0xE9,0xA6,0xEB,0x0B,0x6C,0x1A,0x43,0x9A,0x55,0xA4, -0x2F,0x18,0x4A,0xDE,0xB9,0xDD,0xE8,0x48,0xD3,0x75,0x2A,0x22,0x7F,0x03,0xF0,0x01, -0xDE,0xF4,0x57,0x2F,0x5A,0x00,0xD6,0xAB,0x99,0xCC,0xD9,0x68,0x8A,0x94,0x92,0x63, -0x9D,0x25,0xC5,0x6C,0x3F,0xB4,0x07,0xCE,0xFB,0x5B,0x2C,0x0A,0x1F,0x72,0xE1,0x10, -0x66,0xBA,0xA1,0x97,0xA5,0x8F,0xA6,0x54,0x74,0x9F,0x67,0x85,0x10,0xC2,0x5E,0xAF, -0x06,0x3E,0x45,0xF7,0x3A,0x84,0x32,0xCB,0xD2,0x54,0x0A,0x23,0xB7,0x1B,0x20,0xD1, -0xB7,0x52,0x98,0x46,0x87,0xFA,0xF1,0x76,0x88,0xBD,0xB9,0x79,0x97,0x3A,0x21,0xD0, -0x89,0x75,0x81,0x78,0xE9,0x1D,0x78,0x18,0x0A,0x46,0xC0,0xFB,0x28,0x7F,0xDB,0x2A, -0x1F,0x5C,0x3E,0xEE,0x77,0x36,0xCD,0x86,0x1C,0x71,0xE1,0xED,0x59,0x0C,0xD9,0x28, -0xE6,0xB2,0x29,0x17,0x2D,0x85,0x24,0xDC,0xBF,0x8F,0xBC,0x4E,0x53,0x8E,0x51,0xA0, -0x9A,0x64,0x83,0x6B,0x7F,0x34,0xC7,0x8E,0xE7,0x15,0x7E,0x16,0xF1,0x65,0x18,0xE9, -0xCA,0xA4,0x13,0x3B,0x89,0x99,0x9C,0x78,0x8A,0xCE,0xC8,0x7B,0x6E,0x01,0xE3,0x12, -0xE3,0x82,0x1C,0x12,0xF6,0x1E,0x64,0x07,0x03,0x6D,0xE2,0xF2,0x86,0x38,0x32,0xC3, -0x0F,0x1C,0x6E,0xFE,0x04,0xA3,0x2B,0xF5,0x40,0xFF,0x33,0xB1,0xBD,0x99,0xA8,0x59, -0xDA,0xE4,0x43,0x2B,0x37,0xB6,0x0D,0xC6,0x7A,0xF2,0x04,0x8B,0x22,0xFD,0x53,0xA2, -0xC4,0xC7,0x7E,0x35,0x6A,0x44,0xA2,0x9B,0xD7,0x61,0x3A,0x26,0x74,0x97,0x6F,0x9E, -0x19,0x3D,0x59,0xE8,0x65,0x07,0xEE,0x94,0x4A,0x86,0x40,0xBB,0x2E,0x51,0xF3,0x02, -0xC2,0xA6,0x19,0x33,0x80,0xBB,0xB7,0x71,0xB5,0xF6,0xCF,0x44,0xEF,0xD7,0xB4,0x45, -0x73,0xCA,0xC4,0x82,0xA9,0x9D,0xB8,0x58,0x29,0x30,0x95,0xD8,0xE9,0xF9,0x9C,0x6D, -0x27,0x1A,0x40,0xD6,0xE0,0x3F,0x53,0x11,0x91,0xC6,0xDB,0x60,0x19,0x5C,0xC9,0x38, -0x3E,0x78,0x3B,0xCF,0x25,0x87,0x2E,0xD4,0x90,0xE7,0xFB,0x61,0x83,0x0A,0x05,0xF4, -0x15,0x2F,0x47,0xE4,0xD1,0x5B,0x06,0x20,0x71,0xAA,0x57,0x80,0xB5,0x11,0x28,0xD9, -0x52,0xEE,0xC1,0xA3,0xE6,0x5E,0x34,0x17,0x1A,0x16,0x80,0xEB,0x4C,0x2A,0xEA,0x1B, -0xCC,0xC5,0x74,0x3D,0x23,0xE6,0x49,0xD2,0x0B,0x67,0xE0,0xFA,0x14,0xE6,0x7E,0x8F, -0xA1,0x73,0xAF,0x50,0x60,0x37,0xDB,0x91,0x8F,0xFB,0xF8,0x7E,0x4B,0x12,0xD5,0x24, -0x37,0x5A,0x10,0xC6,0x79,0x55,0xA0,0x88,0x44,0xEB,0x23,0xB5,0x48,0x0E,0xCA,0x3B, -0xD6,0xF6,0x5D,0x27,0xAD,0x8D,0xAC,0x5C,0x63,0x89,0x66,0x92,0xA0,0x37,0x1B,0xEA, -0x72,0xEA,0xE5,0x83,0xF4,0x6F,0x17,0x05,0xBA,0xBA,0x8C,0x4B,0xC3,0x5A,0x15,0xE4, -0x7F,0xD8,0xDA,0x8E,0xB1,0xDF,0xE2,0x40,0x95,0xD2,0xCB,0x64,0xAA,0xB5,0x93,0x62, -0xA7,0x12,0xC8,0x56,0x49,0x11,0xD4,0xB8,0xAE,0xFE,0xDC,0x5F,0x90,0x02,0x1E,0xEF, -0x75,0xAB,0xA3,0x84,0x2C,0xA5,0x05,0xDD,0x48,0xF5,0x31,0xB9,0xE5,0x55,0x3C,0xCD, -0x95,0x27,0xCF,0x64,0x4B,0x60,0xA7,0xBA,0x30,0x4B,0xF7,0xC1,0x9A,0x80,0x96,0x67, -0x0D,0x6D,0x1D,0xFC,0x07,0xF2,0x79,0xF6,0x13,0x3D,0xA2,0xE2,0xAE,0x91,0xB3,0x42, -0x9C,0x05,0xE4,0x6D,0xEC,0x2D,0x4D,0x1D,0x75,0xBE,0x47,0x84,0x4E,0x20,0xE2,0x13, -0x90,0x17,0xFA,0x61,0x59,0x51,0x84,0xA8,0x0C,0x21,0xA1,0xFD,0x56,0xBC,0x66,0x97, -0x93,0x46,0xA8,0x62,0x73,0x26,0xD9,0x82,0x9F,0xAB,0xB8,0x6E,0xCE,0xE0,0xA2,0x53, -0x3D,0x29,0x69,0xCC,0x39,0xD5,0x60,0xC8,0x0D,0x00,0x81,0xFC,0x61,0xB1,0x5C,0xAD, -0x5E,0xFC,0xDF,0xAF,0x9B,0xA8,0xBF,0x6A,0x1F,0x23,0xB0,0xEE,0x49,0x18,0xDD,0x2C, -0xB3,0x42,0x8C,0x42,0x01,0x93,0x1E,0xF0,0xAC,0x8D,0xAD,0x5D,0x0D,0x6C,0xED,0x1C, -0xBE,0x70,0xB3,0x4F,0xDC,0x69,0x39,0x2D,0xC5,0x42,0x0B,0x34,0x1B,0x56,0xC1,0x30, -0x7A,0xE8,0xEF,0x8B,0x5D,0x41,0x90,0xAC,0xF5,0x36,0x4F,0x04,0x0E,0x70,0xF2,0x03, -0x3F,0x58,0x1A,0xCE,0x52,0x02,0xDC,0xA3,0xB8,0xC9,0xFD,0x49,0x68,0x2F,0xCB,0x3A, -0x14,0x0F,0x66,0xE5,0x22,0xC6,0x68,0xD3,0x76,0xEC,0x16,0x87,0x9E,0xA4,0xB6,0x47, -0x98,0x15,0xF0,0x69,0x98,0xF9,0xED,0x69,0x02,0x4C,0xC2,0xF3,0x08,0x5E,0xDA,0x2B, -0xC5,0xE7,0x5F,0x34,0x7D,0x45,0xB4,0x8C,0xD4,0x33,0x6B,0x25,0x7A,0x31,0xC7,0x36, -0x96,0x76,0x9D,0x67,0x81,0x9B,0x96,0x70,0xB0,0xC3,0xFF,0x41,0x3B,0x77,0xC0,0x31, -0xF8,0x91,0x14,0x09,0x4D,0x01,0xC0,0xBC,0x10,0x6F,0xF3,0xE1,0xD4,0x76,0x2E,0xDF, -0xB6,0x72,0xB9,0x47,0xC3,0x6A,0x25,0x32,0x08,0x35,0xB1,0xF9,0x30,0xE3,0x5F,0xAE, -0x57,0xDE,0xF4,0xA6,0x7B,0x24,0xD3,0x8A,0xA1,0xB2,0x9F,0x50,0xC1,0x50,0x1D,0xEC, -0x00,0x5F,0x22,0xF1,0x14,0xE3,0x7B,0xE5,0x16,0x08,0x92,0xE7,0x5D,0x28,0xF9,0x08, -0x13,0x02,0x45,0xA5,0xAE,0x9D,0xDA,0x87,0xB0,0x76,0x31,0x35,0x5A,0x1D,0x67,0x89, -0x18,0xE4,0xA3,0x48,0x77,0x5E,0x19,0x9D,0xFA,0xEE,0xA9,0xE7,0x73,0x34,0x41,0x86, -0xA0,0x40,0x07,0x54,0xBD,0x86,0xC1,0x8F,0x0D,0x84,0xC3,0x7A,0xA0,0xE7,0xD8,0xCC, -0xB6,0x57,0x10,0x55,0x98,0xB0,0xF7,0x9C,0x9F,0xC8,0x8F,0xA4,0xDF,0x98,0x5F,0x34, -0xBE,0x4C,0x0B,0x46,0x03,0x6B,0x2C,0xDC,0x37,0x09,0x4E,0xCD,0xF0,0xB7,0x18,0x5C, -0xBF,0xA2,0xE5,0xA9,0x6C,0xC5,0x82,0x1D,0x0B,0xAC,0xEB,0x54,0xC8,0x8F,0x5E,0x22, -0x3D,0x2A,0x6D,0xA3,0xD3,0x3F,0x78,0x58,0x3E,0x9E,0xD9,0x53,0x4F,0x08,0x17,0xEC, -0xFE,0x97,0xD0,0xDD,0x20,0x75,0x32,0xE1,0x39,0xA1,0xE6,0x6B,0xAC,0xEB,0xCA,0xD2, -0x1F,0xD6,0x91,0x7D,0x08,0xF4,0xB3,0x48,0x72,0x2E,0x69,0xAF,0x55,0x12,0x24,0xC5, -0xF2,0x43,0x04,0x05,0xA6,0x1D,0x5A,0x0F,0x8A,0xFB,0xBC,0x82,0x85,0xC2,0xEC,0xDD, -0xD0,0xBF,0xF8,0xDB,0x99,0xA7,0xE0,0x8A,0xFF,0xD9,0x9E,0xD5,0x15,0x52,0xA4,0x05, -0x3C,0xC4,0x83,0x4C,0x11,0x67,0x20,0xC2,0xE2,0x6A,0x2D,0x7B,0x3D,0x7A,0xA2,0x2B, -0xAB,0xA6,0xE1,0xB9,0xE0,0x25,0x62,0x71,0x16,0x1F,0x58,0xFA,0x14,0x53,0x84,0x24, -0xC9,0x81,0xC6,0xFC,0xE8,0xA5,0xE2,0xF9,0xFD,0xD1,0x96,0xDF,0xBB,0xFC,0xCB,0xC4, -0x2A,0xD3,0x94,0x4D,0xA7,0x0A,0x4D,0x19,0x81,0x64,0x23,0x16,0xB1,0xF6,0xB8,0xBD, -0x68,0x1B,0x5C,0xC7,0x0F,0xCB,0x8C,0x70,0x78,0xA6,0xE1,0x2D,0xE3,0xA4,0x09,0x5E, -0x33,0xED,0xAA,0x6A,0xF6,0x09,0x4E,0x4B,0xF2,0x6E,0x29,0x6F,0x18,0x5F,0x96,0x3A, -0x7C,0x1F,0x58,0xD7,0x68,0xE5,0xA2,0x39,0xC9,0xF4,0xB3,0xCE,0x5B,0x1C,0x47,0xA8, -0x90,0x64,0x23,0x40,0x10,0x70,0x37,0xD4,0x85,0x44,0x03,0x32,0xFC,0xBB,0x0A,0x42, -0xCB,0x92,0xD5,0xED,0xD0,0x20,0x67,0x44,0x1A,0xBF,0xF8,0x56,0x91,0xD6,0xBC,0x99, -0xB9,0x7E,0x39,0x73,0x49,0xF3,0xB4,0x0E,0x5A,0xAF,0xE8,0x06,0x51,0x16,0x34,0xD1, -0xE0,0x9B,0xDC,0xCF,0xD2,0x28,0x6F,0x4E,0x9B,0xE8,0xAF,0x80,0xAE,0xE9,0xBB,0xA1, -0x5A,0x2C,0x6B,0xC2,0x90,0x30,0x77,0x14,0x56,0x0F,0x48,0xAA,0x61,0x26,0x70,0xA5, -0xF5,0x71,0x36,0x30,0xB3,0x2E,0x69,0x29,0x00,0x33,0x74,0xC0,0xCC,0x8B,0x4E,0x36, -0xF1,0xBE,0xF9,0xFB,0xCE,0x8C,0xCB,0xF6,0x64,0x02,0x45,0x95,0x6F,0x28,0x13,0xC8, -0x65,0x21,0x66,0xF0,0x4A,0xEC,0xAB,0x12,0xC3,0x7C,0x3B,0x4C,0xC9,0x8E,0x7E,0x03, -0x81,0x41,0x06,0x74,0x80,0x34,0x73,0x00,0xFE,0xCE,0x89,0xC3,0x82,0xC5,0xAD,0x9B, -0x50,0x24,0x63,0xC0,0x51,0x77,0x30,0x92,0x6B,0xBD,0xFA,0x25,0xE0,0xA7,0x58,0x0C, -0x9A,0x6C,0x2B,0x42,0x28,0xF5,0xB2,0x69,0x2D,0x85,0xC2,0x5B,0x07,0x40,0x95,0x26, -0x73,0x36,0x71,0xF1,0xC6,0x0C,0x4B,0x7E,0x27,0x0D,0x4A,0xD9,0xA4,0xE3,0xC8,0xD8, -0xA6,0x9C,0xDB,0x8E,0x26,0x5D,0x1A,0xCF,0xE3,0x7D,0x3A,0x6D,0x93,0xD4,0xCD,0xEA, -0x2F,0xF2,0xB5,0x69,0x01,0x63,0x24,0xD6,0x5C,0x87,0xC0,0x28,0x11,0x56,0xB4,0x11, -0xB5,0xAA,0xED,0xAB,0xAC,0x95,0xD2,0x8D,0xDE,0xCF,0x88,0xE2,0x8E,0xC9,0xBF,0x85, -0x83,0x52,0x15,0x65,0x66,0x4D,0x0A,0x9F,0xE4,0x42,0x05,0x55,0xB5,0xF2,0xA8,0xA9, -0xFB,0xB6,0xF1,0xF9,0x82,0x3C,0x7B,0x0A,0xD4,0x47,0x00,0x60,0x78,0x3F,0x12,0xDE, -0x40,0xEF,0xA8,0x1B,0x9E,0x98,0xDF,0xB2,0xB7,0x49,0x0E,0x0D,0xA1,0xE6,0xF8,0xED, -0x2E,0x1C,0x5B,0x86,0x19,0xE7,0xA0,0x4A,0xDA,0xEF,0xA8,0xC6,0x08,0x4F,0xD6,0x6A, -0x1A,0xF7,0xB0,0x59,0x71,0x76,0x31,0xB3,0x3A,0xBE,0xF9,0x77,0x6E,0x29,0x33,0xE9, -0x52,0x37,0x70,0xD1,0xDF,0x9F,0xD8,0xF4,0x91,0x60,0x27,0x02,0x53,0x14,0x45,0xA2, -0xF0,0x50,0x17,0x14,0x53,0x7F,0x38,0x98,0xEE,0xCA,0x8D,0xD7,0x2B,0x6C,0x83,0x1C, -0x79,0x3E,0x79,0xF3,0x0C,0xD4,0x93,0x6C,0xF7,0x59,0x1E,0x5D,0x8B,0xCC,0x8F,0xB0, -0x51,0xCA,0x8D,0x2F,0x5B,0xFF,0xB8,0x10,0xC1,0x74,0x33,0x46,0x6A,0x2D,0x23,0xFD, -0xEF,0xB2,0xF5,0xE9,0xBE,0x99,0xDE,0x93,0x9D,0xC0,0x87,0xAE,0x32,0x75,0xE1,0x67, -0x04,0xFB,0xBC,0x4B,0x6E,0xCD,0x8A,0x17,0x6D,0x95,0xD2,0x0B,0x8A,0xCD,0xAF,0x91, -0x8C,0x7B,0x3C,0x43,0x07,0x4B,0x0C,0xF8,0x3F,0x89,0xCE,0x45,0x94,0xD3,0x8C,0xAC, -0xF7,0x62,0x25,0x21,0x2E,0xDD,0x9A,0x47,0x3C,0x96,0xD1,0x59,0x5F,0x18,0x57,0xBC, -0x63,0xFD,0xBA,0x2A,0x9A,0xB8,0xFF,0x96,0x38,0xB6,0xF1,0x7D,0x01,0x46,0xF4,0x41, -0x1E,0x38,0x7F,0x92,0xB1,0x26,0x61,0x23,0x60,0x22,0x65,0xB1,0x10,0x57,0x94,0x30, -0xE3,0x66,0x21,0x31,0x93,0x2F,0x68,0x08,0x0E,0x9B,0xDC,0x66,0xCF,0x88,0x1F,0x64, -0xC1,0x9A,0xDD,0xEF,0x02,0x7C,0x3B,0xCA,0x4F,0x9C,0xDB,0x20,0xAB,0xEC,0x8B,0x94, -0x3F,0x39,0x7E,0xB2,0x7B,0xFE,0xB9,0x31,0xEA,0xEA,0xAD,0xF3,0x6D,0x2A,0x62,0xBB, -0xBA,0x83,0xC4,0x8D,0x61,0x72,0x35,0xA7,0x7C,0x86,0xC1,0x09,0x19,0x5E,0xB6,0x1B, -0x84,0x60,0x27,0x50,0xAA,0xBD,0xFA,0xA3,0xB5,0x41,0x06,0x07,0xBA,0xFD,0xEB,0xE5, -0x2C,0x0F,0x48,0x97,0x2B,0xEA,0xAD,0x75,0x29,0xA5,0xE2,0x7F,0x0D,0x4A,0xE6,0x5F, -0x97,0x56,0x11,0x75,0xE5,0x12,0x55,0x43,0xA0,0x72,0x35,0x21,0x0B,0x4C,0x87,0x38, -0x72,0xD8,0x9F,0x1E,0x06,0x5C,0x1B,0xEE,0x44,0x03,0x44,0xB4,0x13,0x54,0xC5,0x62, -0x37,0x22,0x65,0xA1,0x5D,0xD7,0x90,0x3E,0x15,0x00,0x47,0xE6,0x16,0x51,0xF5,0x57, -0xE8,0x80,0xC7,0xDC,0x88,0xB4,0xF3,0x88,0x3D,0x81,0xC6,0x4F,0x04,0x43,0xC4,0x74, -0xD3,0x42,0x05,0x25,0x63,0x7A,0x3D,0xAD,0x22,0x3A,0x7D,0xEB,0x17,0x50,0xD5,0x76, -0x8E,0x68,0x2F,0x52,0x32,0x79,0x3E,0xFF,0xBA,0xFE,0xB9,0xB7,0x84,0xC3,0xCC,0xFC, -0xC7,0x46,0x01,0x35,0x9C,0x90,0xD7,0xB8,0x7A,0xAE,0xE9,0x27,0xEE,0xA9,0x3B,0x61, -0x8B,0x49,0x0E,0x76,0x2C,0xD5,0x92,0x4D,0x1C,0x97,0xD0,0x78,0xA3,0xE4,0x89,0x9E, -0x49,0x1A,0x5D,0xE7,0x36,0x59,0x1E,0xDB,0x79,0xB1,0xF6,0x3B,0xB7,0xF0,0xD9,0xDA, -0x6E,0xC7,0x80,0x1D,0x04,0x54,0x13,0xE4,0x6F,0x9D,0xDA,0x01,0xDE,0x99,0x7F,0x15, -0xB4,0x88,0x69,0x82,0x93,0xE8,0x18,0xA5,0x53,0x50,0x60,0x65,0x16,0x1B,0x6E,0x58, -0x9E,0xFF,0x34,0xA8,0x90,0xB9,0x4A,0xA6,0x97,0x0C,0xF8,0xA1,0x0F,0x91,0xFD,0xCB, -0x5C,0x06,0x0F,0x6A,0x5E,0x52,0x6F,0x68,0x2C,0xA8,0xE7,0x1A,0x1E,0x93,0xEE,0xD8, -0xFE,0x7B,0xD0,0xC8,0x3D,0x87,0xD9,0x0B,0xAD,0x01,0xCF,0x9B,0x2F,0xB0,0xFC,0xCA, -0x1B,0xC7,0x89,0x2D,0xBE,0xDE,0x03,0x88,0x30,0xE6,0xB5,0x06,0xA5,0xF2,0x34,0x02, -0xC6,0x3D,0xAE,0xF0,0xB3,0xEC,0x3C,0x85,0x1C,0xDC,0xA3,0x2A,0x03,0x3D,0x5D,0x6B, -0x95,0xAC,0x6C,0xA3,0x3F,0xF6,0xAA,0x09,0x3A,0x9F,0xC6,0x0C,0x53,0x79,0x49,0x7F, -0x9A,0xEF,0x20,0xAC,0x7A,0x46,0x5F,0x4C,0x03,0xC0,0xA0,0x35,0xE1,0x86,0x04,0x32, -0x5F,0x57,0x5D,0x69,0x98,0xBB,0x40,0xAE,0x2B,0xEE,0xA6,0x1D,0x6C,0xFC,0xF3,0xC5, -0xE5,0x68,0xD8,0xD3,0x14,0xA1,0xD6,0x22,0x47,0x14,0x30,0x71,0xB8,0x5C,0x87,0xB1, -0x46,0x35,0x26,0x70,0x96,0xD8,0x2D,0xA0,0x31,0xC7,0x95,0x07,0x51,0x73,0x41,0x77, -0xBA,0xEB,0x04,0x8C,0xC5,0x49,0xEF,0xF3,0x36,0x81,0xD4,0x00,0xC5,0x83,0x25,0x13, -0x04,0xC4,0x95,0x32,0xB6,0xDC,0x09,0x80,0xAE,0x53,0x9E,0x98,0x1F,0x85,0xF9,0xCF, -0x8A,0xAF,0x70,0xBC,0xF8,0x3F,0xA4,0xCE,0xDF,0xC6,0x7A,0xE9,0x5D,0xDF,0xE1,0xD7, -0xD3,0x4D,0xCB,0xE5,0x00,0xF1,0x92,0x36,0x08,0x98,0xF3,0x3E,0x3C,0xB8,0xE7,0xD1, -0xBC,0x8A,0x63,0x8A,0x57,0x70,0x44,0x61,0xEC,0xE0,0x6F,0xDA,0x31,0x02,0x50,0x66, -0x27,0x91,0xE3,0x11,0x27,0xB4,0xF0,0x11,0x38,0xEC,0xB7,0x0E,0x75,0x76,0x60,0x56, -0x6E,0x33,0x08,0x58,0x73,0x64,0x74,0x45,0x6D,0x49,0x47,0x5B,0x3B,0x80,0xD8,0xEE, -0x16,0xF5,0xB6,0x20,0x15,0x81,0xF7,0x23,0xD9,0xA1,0x1B,0xEF,0xF9,0x1A,0x80,0xB6, -0xE2,0x29,0x9E,0xD4,0x3E,0xD6,0x8B,0x08,0xF4,0xBA,0x2D,0xC2,0x55,0x57,0x61,0x57, -0xE4,0x48,0xF9,0xD2,0xCC,0x6B,0xC4,0xFA,0x8F,0x56,0xBA,0xB9,0x4E,0xD7,0xFA,0xCC, -0x21,0xF0,0x84,0x17,0x52,0x40,0x71,0x64,0x1B,0x9A,0xE2,0x2D,0x2E,0xA6,0xEB,0xDD, -0xBE,0xFB,0x10,0x88,0x37,0xF4,0xA0,0x01,0x3B,0xBE,0xE6,0x0D,0x8D,0x5B,0xB5,0x83, -0xA7,0x99,0x6B,0x91,0xA1,0xDD,0x1F,0x97,0x24,0xA2,0xE5,0x12,0x56,0x4B,0x7E,0x48, -0x33,0xC1,0xA7,0x05,0x72,0x44,0x55,0x44,0xE4,0xEA,0x6D,0xD2,0x22,0x0A,0x4B,0x7D, -0x6A,0x23,0x1C,0x5C,0xD6,0x58,0xED,0xE0,0xEA,0x87,0x0E,0xDC,0xC8,0x39,0x92,0xA4, -0x8E,0xBF,0x64,0xB8,0xA7,0xBC,0x78,0x91,0xEF,0xB2,0x3E,0xD9,0x72,0x4E,0x5F,0x69, -0x76,0x71,0x52,0x40,0x7F,0x76,0x6A,0x49,0x62,0x05,0x04,0x54,0x65,0x62,0x64,0x52, -0x8C,0xCE,0x17,0xBA,0x95,0x89,0x7F,0xA3,0x67,0x30,0x34,0x51,0x59,0xFB,0xC1,0xF7, -0xEB,0x0B,0xB5,0xDD,0x75,0x05,0x13,0x43,0xCD,0xE5,0x4B,0xFB,0x9F,0x45,0xB9,0x8F, -0x2B,0x83,0xFD,0x1D,0x9C,0xAB,0x54,0xAA,0x13,0x90,0xE0,0x25,0xE9,0x0E,0x84,0xB2, -0xC0,0x5C,0xC9,0xF6,0x0D,0xC3,0xAD,0x3B,0x42,0x21,0x00,0x74,0x0C,0x8D,0xE2,0xD4, -0xF8,0x1A,0xB7,0xCE,0x9D,0x8B,0x75,0xAB,0x10,0xC2,0xB1,0x26,0x82,0xEB,0x0A,0x3C, -0x9D,0xAE,0x66,0xAB,0xDE,0x5A,0xE7,0xE8,0x63,0x24,0x24,0x55,0x77,0x7C,0x68,0x5E, -0xFD,0x2A,0x82,0xCB,0x06,0x90,0xF5,0x30,0xD1,0xAB,0x19,0xE7,0xA4,0xE4,0x23,0x15, -0x62,0x21,0x16,0x54,0x66,0x14,0x11,0x50,0xAF,0x72,0xBE,0x99,0xC9,0x2F,0x85,0xB3, -0x2E,0xB3,0xC8,0x18,0x89,0xDB,0x31,0xBF,0x2A,0xCF,0x86,0x1C,0x6E,0xF6,0xFB,0xCD, -0x40,0x54,0x41,0x76,0xB7,0xFC,0x28,0x81,0xD0,0x8A,0x39,0xE6,0x17,0x0D,0x79,0x4F, -0xEA,0x2B,0x94,0xDC,0xE6,0x1C,0x99,0xD0,0xA0,0x3E,0xFD,0x96,0x12,0x3F,0x4E,0x78, -0xB0,0x98,0x7D,0x86,0x1F,0xF2,0x8E,0x29,0x28,0xBC,0xF7,0x1E,0x4F,0xC1,0xED,0xDB, -0x4E,0x37,0x2C,0x78,0xCA,0x0A,0xA3,0xFC,0x12,0xB1,0xC0,0x24,0x66,0x7E,0x7B,0x4D, -0xB8,0x9A,0x77,0x8E,0x9A,0xCA,0x33,0xAC,0xE9,0xD5,0x5F,0xDF,0xD0,0xA5,0x16,0x20, -0xC3,0x0D,0x9B,0xF5,0x0F,0xB2,0xDE,0x39,0x59,0x29,0x13,0x6F,0x9D,0x4F,0xB1,0x87, -0x31,0xB0,0xD4,0x07,0xE3,0x2C,0xAC,0xD5,0xC3,0x88,0x28,0xF5,0x4C,0xDD,0xF2,0xC4, -0xAD,0xEA,0x12,0x9B,0xC4,0x69,0xCE,0xF2,0x9E,0x27,0xDA,0xA8,0x94,0xD1,0x26,0x10, -0xF0,0x18,0xBD,0xC6,0xDA,0x4A,0xF3,0xEC,0xA2,0x4D,0x8C,0x94,0xAA,0x42,0x8B,0xBD, -0x47,0x15,0x07,0x71,0xC2,0x08,0xA9,0xF4,0x45,0x67,0x41,0x73,0x61,0x46,0x44,0x72, -0xA2,0xA9,0x5E,0x94,0x19,0x93,0xE9,0x2F,0x02,0xE1,0x80,0x34,0xEE,0x36,0xBB,0x8D, -0x18,0x96,0xDB,0x2E,0x8D,0xCB,0x25,0xBB,0xC7,0x9C,0x38,0xF1,0x78,0xCC,0xD7,0xE1, -0x63,0x01,0x37,0x55,0x4D,0x43,0x6D,0x7B,0x74,0x32,0x25,0x42,0x7E,0xE2,0xFF,0xC9, -0x9F,0xDF,0x15,0xA9,0xF7,0x7C,0xE8,0xC1,0x56,0x65,0x50,0x60,0x36,0x3A,0x6F,0x59, -0x0A,0xA7,0xF8,0x3C,0x1E,0xD2,0xAF,0x28,0x83,0x48,0xA8,0xB5,0xFE,0x22,0xBF,0x89, -0xC7,0x1D,0x8F,0xF1,0x21,0xD5,0x97,0x17,0x0B,0xCA,0xA2,0x3D,0xD3,0xB9,0x09,0x3F, -0x0F,0x97,0xCD,0x39,0xE0,0x7D,0xFE,0xD6,0xC9,0xF1,0x5B,0xFF,0x62,0x5A,0x5B,0x6D, -0x5D,0x26,0x2E,0x6B,0x4F,0x32,0x1E,0x79,0x7C,0x38,0x27,0x4A,0x11,0x23,0x51,0x67, -0x7A,0x63,0x4C,0x4C,0xCF,0x3A,0x96,0xF9,0xB2,0x1D,0xCC,0x84,0x5E,0xC3,0xFE,0xC8, -0x8B,0x8F,0x51,0xBD,0x5A,0x42,0x7B,0x6C,0x65,0x43,0x45,0x53,0x85,0xD3,0x35,0x03, -0x9C,0x8E,0x47,0xAA,0x6C,0x67,0x68,0x5A,0x29,0x9D,0xD7,0x1F,0x02,0x2B,0x4A,0x7C, -0x38,0x92,0xFF,0x0E,0xB4,0xAD,0x7A,0x82,0x43,0x00,0x20,0x75,0x9B,0x61,0x99,0xAF, -0xDE,0x7F,0xF4,0xE8,0x77,0x74,0x60,0x41,0xDB,0xD2,0x6A,0xED,0xBD,0x6E,0xB0,0x86, -0x4B,0x07,0x19,0x7D,0x9F,0xFA,0x06,0xA9,0x0C,0x8C,0xE3,0x3A,0x10,0x35,0x46,0x70, -0xF6,0x79,0xDA,0xC0,0xD5,0x09,0xBF,0xE3,0x33,0xB4,0xE4,0x05,0xCD,0x0B,0xA5,0x93, -0x7E,0x73,0x58,0x48,0x2F,0xB6,0xFA,0x19,0x01,0xB3,0xD1,0x37,0x84,0xC5,0x22,0x14, -0x90,0x9C,0x59,0xA6,0x81,0xD9,0x3B,0xB7,0xA4,0x2A,0xED,0x92,0xC2,0xBB,0x1A,0x2C, -0xE8,0x9D,0xCC,0x10,0x95,0xEA,0xBB,0x1A,0x76,0xF5,0xA4,0xB7,0x0B,0x5A,0x39,0x57, -0x50,0x39,0x68,0x0C,0x77,0xB3,0xE2,0xA1,0x9C,0x2C,0x7D,0x84,0x05,0x54,0x5A,0x3A, -0xC5,0x48,0x19,0xE8,0xEB,0x57,0x06,0xD9,0x26,0xE1,0xB0,0xF3,0x00,0x51,0x6A,0x0F, -0xD7,0x90,0xC1,0x22,0x25,0xAF,0xFE,0xEF,0x31,0xDA,0x8B,0xDF,0x8D,0xDC,0x50,0xB8, -0xC2,0x7A,0x2B,0xDD,0x9A,0x55,0x04,0xAA,0x0D,0x7F,0x2E,0x46,0x88,0xD9,0x60,0x8D, -0xAE,0x9A,0xCB,0x51,0x5F,0x32,0x63,0x08,0xCB,0x07,0x56,0xF8,0x22,0x73,0x1F,0x58, -0xE9,0x73,0x22,0xFF,0xD7,0xF2,0xA3,0x40,0xBD,0x3A,0x6B,0xB3,0xFC,0xAD,0xB4,0x2D, -0x10,0xE2,0xB3,0x97,0x08,0x19,0x48,0x74,0x58,0x5C,0x0D,0x30,0xAD,0xFC,0x54,0x9C, -0x4D,0xC8,0x99,0xE0,0xC5,0xFE,0xAF,0x5E,0x21,0xDE,0x8F,0xCB,0xD7,0x86,0xE3,0x51, -0xC9,0x9C,0xCD,0x30,0x67,0xB7,0xE6,0xB5,0x6F,0x66,0x37,0x3D,0x82,0xD3,0x13,0xF4, -0x4A,0xFA,0xAB,0xD5,0xA1,0xCF,0x9E,0x0B,0xAD,0x3E,0x6F,0xA7,0x36,0x67,0x4F,0x1C, -0x36,0xD1,0x80,0x82,0x7D,0x3B,0x6A,0x23,0x01,0xDF,0x8E,0xEA,0x1B,0x4A,0x79,0x07, -0x79,0x23,0x72,0x3F,0x1C,0x3D,0x6C,0x44,0x1A,0x44,0x15,0x6A,0x60,0x31,0xEE,0xEB, -0xCC,0xBD,0xEC,0x14,0xA4,0xF8,0xA9,0x39,0x7A,0x55,0x04,0x1B,0xF4,0xA5,0xB6,0x27, -0x1D,0xD8,0x89,0xA0,0xAF,0x67,0x36,0xAD,0xD9,0x0B,0x5A,0xE6,0xD4,0x85,0xB2,0x03, -0xA2,0x4E,0x1F,0x89,0xCD,0x7E,0x2F,0xD6,0x02,0xC0,0x91,0xF6,0xCB,0x9A,0xB1,0x1F, -0xFD,0x77,0x26,0xEF,0x03,0x86,0xD7,0xE0,0x38,0x4D,0x1C,0x41,0xC4,0x95,0xF2,0x53, -0x6B,0xFB,0xAA,0xF5,0x3C,0x3C,0x6D,0x65,0xEC,0x39,0x68,0xE1,0xA8,0xF9,0x64,0xA9, -0x90,0x79,0x28,0x8C,0x61,0x9F,0xCE,0x9B,0x05,0xFF,0xAE,0xCE,0xDE,0x8F,0xC1,0x7A, -0x52,0x2A,0x7B,0x1D,0xBF,0x63,0x32,0xB9,0x91,0x9B,0xCA,0x3E,0xD9,0x88,0x80,0x3C, -0xB4,0x59,0x08,0x88,0x90,0xDD,0x8C,0x28,0x4B,0x47,0x16,0x38,0x41,0x10,0xCA,0xEE, -0x19,0x17,0x46,0x6B,0xFB,0x53,0x02,0xCD,0x09,0x5F,0x0E,0x62,0x30,0x61,0x2E,0x7B, -0x2F,0xEF,0xBE,0xA5,0x19,0x0A,0x5B,0x76,0x68,0x59,0x08,0x05,0xE7,0xB6,0xA7,0x25, -0xF9,0xB8,0xE9,0x24,0xDE,0x65,0x34,0xDE,0x65,0xEE,0xBF,0xBF,0x03,0x52,0x3B,0x5D, -0xA5,0x7C,0x2D,0xBC,0xDC,0x6D,0x3C,0xD4,0x42,0xD0,0x81,0xA6,0xBC,0xED,0x34,0xED, -0xF7,0x7F,0x2E,0xED,0xAB,0x47,0x16,0x89,0x5B,0x43,0x12,0x2C,0x78,0x29,0xAC,0xB1, -0xD2,0xB1,0xE0,0x06,0x52,0x85,0xD4,0xB2,0x4A,0x50,0x01,0x2E,0xC3,0x92,0xB3,0x15, -0x64,0xD2,0x83,0xD3,0x2F,0x27,0x76,0x6D,0x7B,0x42,0x13,0x0D,0x42,0x13,0x9B,0xBC, -0xBE,0x51,0x00,0x8A,0x93,0xC2,0x93,0x34,0xF1,0x8A,0xDB,0x4F,0xDF,0x8E,0xE1,0x5B, -0x81,0x5C,0x0D,0xB8,0x69,0x1F,0x4E,0x13,0x57,0xE3,0xB2,0x80,0xF3,0xA2,0xF7,0x61, -0x17,0xD0,0x81,0xA2,0xF8,0x4C,0x1D,0xD1,0x07,0xF7,0xA6,0xC4,0xD5,0x84,0x92,0x22, -0xE2,0x95,0xC4,0x12,0xBB,0x43,0x12,0x9D,0xB5,0xBA,0xEB,0x3B,0xEC,0xBD,0xF4,0x7D, -0xC6,0xB5,0xE4,0x16,0xDB,0x52,0x03,0xEC,0xD1,0x8B,0xDA,0x6E,0x8A,0xDB,0x11,0xFE, -0xD5,0x83,0xD2,0x33,0xDA,0x45,0x14,0xFA,0x56,0xF4,0xA5,0x96,0xC6,0x97,0x83,0x20, -0xC7,0x5B,0x0A,0xF9,0xC6,0xE1,0xB0,0x42,0xCF,0x27,0x76,0xDC,0xAC,0xFD,0x74,0xBD, -0xDD,0x98,0xC9,0x20,0x2B,0x07,0x56,0x49,0xE9,0x0E,0x5F,0xD3,0x34,0x65,0x3E,0x6F, -0xBB,0x70,0x21,0xAE,0x53,0x92,0xC3,0xA4,0x44,0xF8,0xA9,0x88,0xE3,0xB2,0xB7,0x31, -0x02,0x3A,0x6B,0x5D,0x2D,0x2F,0x7E,0x67,0x99,0x1B,0x4A,0xB6,0xDC,0x8D,0xB0,0x09, -0x47,0xC0,0x91,0xE2,0x27,0xA7,0xF6,0xE5,0xD0,0x9C,0xCD,0x78,0xEE,0xBF,0x85,0x0E, -0x86,0x6E,0x3F,0x8D,0xC8,0x49,0x18,0xE4,0x96,0xA4,0xF5,0x06,0x4B,0x1A,0xB9,0x97, -0x98,0x62,0x33,0x9F,0xC2,0xC1,0x90,0x66,0x2C,0x69,0x38,0x71,0x28,0x79,0x6C,0x21, -0xD0,0xA2,0xF3,0x17,0x55,0xBA,0xEB,0x8A,0x2A,0x41,0x10,0x5F,0x9B,0xCA,0x71,0x8F, -0x55,0x18,0x49,0x28,0x8B,0x46,0x17,0xA8,0x62,0xD1,0x80,0x87,0xB9,0xE8,0x04,0xD8, -0x12,0xF1,0xA0,0x86,0xF3,0xD3,0x82,0x45,0xAA,0x01,0x50,0x9F,0x6C,0x3D,0xFC,0xF5, -0x2A,0xCE,0x9F,0x81,0x49,0x1E,0x4F,0x32,0x87,0xB7,0xE6,0x04,0xE4,0xB5,0xF6,0x77, -0x43,0x0F,0x5E,0x29,0xC3,0xD6,0x87,0x70,0x36,0xE5,0xB4,0xE7,0x26,0x77,0x0F,0x4C, -0xA3,0xA0,0xF1,0x66,0x72,0x84,0xD5,0x93,0x45,0xEF,0xBE,0x9E,0x93,0xC2,0x73,0x85, -0x2B,0x20,0x71,0x6E,0x37,0xA3,0xF2,0xF1,0x0A,0x40,0x11,0x7E,0x5D,0x0C,0x98,0xA0, -0x1E,0x25,0x74,0x5E,0x63,0x97,0xC6,0x91,0x32,0xC5,0x94,0xC3,0xFD,0xAC,0x94,0x0C, -0x8E,0x75,0x24,0x9E,0xCE,0x61,0x30,0xCA,0x84,0xA8,0xF9,0x18,0x06,0x57,0x0B,0x68, -0x63,0xE0,0xB1,0xE6,0x59,0x1A,0x4B,0x26,0xC9,0x0F,0x5E,0xF2,0xB6,0xE7,0x47,0x94, -0x11,0x0C,0x5D,0x78,0xE4,0xE8,0xB9,0x69,0x18,0x4C,0x1D,0x60,0x2C,0x7D,0x7C,0x35, -0x73,0x2B,0x7A,0x3D,0xBE,0x74,0x25,0xAF,0xC0,0x98,0xC9,0x6C,0x71,0x20,0x8E,0x9A, -0x4E,0x35,0x64,0x1E,0x4C,0x29,0x78,0x00,0xFE,0x35,0x64,0xFF,0x4D,0x1C,0xD8,0xF0, -0x14,0x2D,0x7C,0x5C,0x41,0x9E,0xCF,0xBA,0x35,0xFA,0xAB,0xFB,0xAA,0xFB,0x15,0xDA, -0x54,0xF6,0xA7,0xC7,0xFD,0x7B,0x2A,0xE3,0xBA,0x05,0x54,0x8B,0xED,0xBC,0xD4,0x5C, -0xC8,0x72,0x23,0xDF,0x4E,0x21,0x70,0x0A,0xD6,0xB4,0xE5,0x56,0xFF,0xAE,0xE5,0x7F, -0x5A,0x31,0x60,0x0E,0xFA,0x44,0x15,0xDB,0x23,0xD6,0x87,0xC1,0x8C,0xDD,0x70,0x99, -0x48,0xE9,0xB8,0xC4,0x7E,0x24,0x75,0x3F,0xF0,0x9D,0xCC,0x59,0x3E,0x6F,0x4D,0x16, -0xAC,0x89,0xD8,0x40,0x75,0xBB,0xEA,0xAB,0x9D,0x3B,0x6A,0x92,0x40,0x11,0xEA,0xCF, -0x8C,0x66,0x37,0x8F,0xE7,0xF7,0xA6,0x75,0x3A,0x45,0x14,0x4B,0xC5,0x94,0xD2,0x72, -0x95,0x58,0x09,0xA8,0x00,0x99,0xC8,0xFC,0x43,0xC7,0x96,0xB0,0x3F,0x6E,0x6D,0x37, -0x24,0x09,0x58,0x48,0x7F,0x33,0x62,0x29,0x46,0xF0,0xA1,0x82,0x4F,0x1E,0xA9,0x83, -0x33,0xF0,0xA1,0xA6,0xCC,0x69,0x38,0xC0,0x1B,0x53,0x02,0x7C,0xC7,0x96,0xA3,0x01, -0x57,0x94,0xFC,0xCB,0x39,0xE3,0x79,0x20,0x86,0x50,0x75,0xB6,0xDA,0x1F,0x66,0x19, -0x0E,0xCD,0x1E,0x70,0x81,0x47,0x65,0x84,0xEB,0x33,0x7B,0xB8,0x03,0xF5,0x55,0xC0, -0xEA,0x29,0x82,0x08,0x14,0x36,0x81,0xF5,0xDE,0x03,0x7E,0xBD,0xCE,0x4F,0x22,0x0D, -0x12,0xD1,0x4C,0x3E,0x06,0xEE,0x4B,0x2D,0x69,0x39,0xF3,0x30,0xF5,0x58,0x0E,0x36, -0xE8,0x2B,0xF3,0x7B,0x13,0x04,0xB4,0xC7,0x5C,0x09,0xF6,0x35,0x50,0x64,0x97,0x93, -0x8F,0x4C,0x36,0xD9,0x7F,0xE4,0x38,0x27,0x89,0x76,0x5C,0x9F,0x28,0xA2,0x29,0xEB, -0x4F,0x8C,0xBE,0x91,0x38,0x0D,0x96,0xCE,0xFC,0xDD,0x82,0x41,0x15,0xD4,0x62,0xD6, -0xA4,0x67,0x61,0xA5,0xC1,0x9C,0xFE,0x5F,0x4D,0x3D,0xD3,0x10,0x73,0x31,0xE1,0xB0, -0x43,0x80,0xAC,0x8F,0x9C,0xB6,0x89,0x75,0x80,0x8A,0xA9,0x6A,0xF1,0x48,0x1A,0x32, -0x0A,0xC9,0x0E,0x64,0x18,0xE2,0x59,0x21,0x25,0x7A,0xFC,0x3F,0x49,0x06,0xEC,0x8A, -0x72,0xB1,0xC8,0xDA,0x9B,0x84,0xBC,0x47,0xCD,0x26,0x48,0x8B,0x11,0xC4,0x76,0xD2, -0x86,0x45,0x14,0xF2,0xE7,0xAF,0xEB,0x6C,0xD6,0x10,0x65,0xA6,0xF0,0x68,0x3B,0x33, -0x80,0x43,0x75,0x95,0xA8,0x5D,0x56,0x9E,0x3A,0x87,0x1E,0xDD,0x6B,0x73,0xBB,0xA8, -0x45,0x86,0xCD,0xE8,0x1D,0xC3,0x7D,0x00,0xF6,0xDF,0x8A,0x49,0x7A,0x13,0xCA,0xB9, -0xDA,0x19,0xC6,0x7C,0xCC,0xA6,0xC9,0x65,0xD2,0xDB,0xAA,0x69,0x24,0xB0,0x37,0xE7, -0xC3,0x00,0xA4,0x07,0x73,0x30,0xE0,0xF3,0xCE,0xD8,0xB5,0x76,0xEF,0x6B,0x27,0x2C, -0x3B,0xF8,0x6A,0x31,0x2C,0x09,0x86,0xCA,0x82,0x9B,0xBA,0x79,0x62,0x51,0x90,0xA1, -0x81,0x42,0x55,0xB4,0xBA,0x85,0x9C,0x46,0x78,0x0D,0xD6,0x15,0x16,0x85,0x30,0xD5, -0x22,0xE1,0x08,0x4A,0x41,0x07,0xE5,0xC4,0xAB,0xA8,0xA0,0x63,0xD0,0x6C,0x1F,0x13, -0xDE,0x1D,0xD6,0x68,0x83,0x54,0x74,0x97,0xED,0xE9,0xA7,0x64,0xB4,0xF8,0xEF,0x77, -0x60,0xA3,0xF9,0xF9,0x65,0x27,0xE1,0xE4,0x3F,0xA3,0x3F,0xFC,0x68,0x22,0xE9,0xAB, -0xEE,0x2D,0x92,0x1C,0xC8,0x69,0x02,0xAA,0xAA,0x47,0x4E,0x8D,0x70,0x60,0xB3,0xB3, -0xB7,0x74,0x70,0xA7,0xFE,0x91,0xCC,0x52,0xF4,0xCE,0x99,0x5A,0x76,0x01,0xD4,0xB5, -0xD8,0x1B,0xB7,0x0F,0x28,0xC6,0x4D,0x05,0x8C,0x52,0x7D,0xBE,0xC1,0x0C,0x6E,0x02, -0xD0,0x13,0xB5,0x05,0x74,0x02,0xD5,0xC1,0x3C,0x5D,0xC2,0x01,0xFF,0x2B,0x77,0x3C, -0xFA,0x39,0xC2,0x58,0x26,0x01,0x84,0xC2,0x60,0xC5,0x06,0xC5,0x6C,0x32,0xFD,0xAF, -0x38,0xFB,0x3B,0x63,0x03,0xCF,0x6F,0x0C,0xC4,0xDA,0xBD,0x7E,0x7F,0x23,0xFF,0xBC, -0x9A,0x59,0x46,0xBC,0xB5,0xAC,0xBA,0x6F,0x6D,0xF2,0x3C,0xFF,0x6D,0x12,0xDC,0xAE, -0x7F,0xBC,0xFA,0xE5,0x6F,0x2F,0xE3,0xEC,0x8A,0x88,0xA1,0x62,0xA5,0x98,0x9E,0x66, -0xA2,0x61,0x00,0xC2,0x50,0x22,0xD1,0xE1,0xB0,0x9E,0x8D,0x4E,0xCC,0x3E,0x51,0x0F, -0xF1,0x32,0x91,0x00,0xC6,0xAE,0xCB,0x6D,0xF3,0xFB,0xAB,0x68,0xD8,0x6E,0x15,0x1B, -0xFE,0x3D,0xD2,0x4C,0x33,0xEB,0x7B,0x28,0xAC,0x9D,0x92,0x51,0x95,0xDC,0xEA,0x56, -0xEF,0x2C,0xB2,0x3D,0x17,0xCB,0x7F,0x08,0x2F,0x78,0xF4,0x37,0xA4,0xB8,0xBF,0x67, -0xF8,0x3B,0xB3,0x2B,0x04,0xFD,0x5A,0x3E,0xF1,0xEA,0xB8,0x7B,0xDB,0x3F,0x47,0x18, -0x5C,0x9F,0xAF,0x93,0x16,0x25,0x90,0xE6,0x6C,0x1D,0xD2,0x11,0x08,0xA6,0x0D,0xCB, -0xBA,0x79,0x42,0x98,0x0C,0xE6,0x49,0x25,0xBE,0x57,0x4A,0x89,0x21,0x80,0x02,0xE2, -0x2F,0xEC,0x3A,0x75,0x6A,0x0E,0xC7,0xCD,0xE0,0xDE,0x9D,0x5E,0xD7,0x2D,0x59,0x14, -0x92,0x51,0x44,0xB6,0xD3,0x44,0x34,0x87,0xD8,0xD9,0xA2,0x61,0x34,0xF0,0x67,0xF7, -0x1A,0xD9,0x4E,0x34,0x96,0xBE,0x8B,0x7D,0xDF,0xEC,0x90,0x53,0xB3,0xB9,0xA9,0x70, -0xF4,0x37,0xA1,0x35,0x57,0x10,0xE4,0xD3,0x46,0xD0,0x35,0xF6,0x8B,0xFF,0xD7,0x48, -0x7C,0xBF,0xAB,0xB7,0x49,0x1C,0xF6,0xDF,0xF0,0x05,0x56,0x95,0x46,0x45,0xA0,0x85, -0x07,0xC4,0x3C,0x5B,0x01,0xDC,0x7E,0x1F,0x5E,0x18,0xE5,0x26,0x6E,0x43,0x8E,0xAD, -0xFB,0x38,0xE2,0x79,0x84,0x66,0x41,0xA5,0x09,0x6D,0xC7,0x04,0xFE,0x0B,0x56,0x3D, -0x6E,0xAD,0x9A,0x94,0xC3,0x8F,0xEF,0x4C,0x24,0x95,0x12,0xD1,0x2E,0xC3,0x4E,0xED, -0xA3,0x60,0x20,0xE3,0xFB,0xB0,0xE8,0x73,0xA6,0x9F,0x9A,0x59,0x98,0xEE,0xD5,0x5B, -0x6B,0xA8,0xAA,0xA1,0x92,0x71,0x40,0xB2,0x9D,0x66,0x58,0x9B,0xCA,0x5F,0x36,0x09, -0x39,0xFA,0x1B,0x42,0x72,0xDE,0x0F,0x1D,0x54,0x1A,0xED,0x2E,0xC0,0x2C,0x4F,0x03, -0x1E,0xDD,0x5E,0x20,0xFA,0x5E,0x07,0x9D,0x71,0xF1,0x23,0xE0,0x6F,0x63,0xAF,0xAC, -0x2A,0xE9,0x0A,0x40,0xCF,0x5B,0x37,0x98,0xDD,0xFD,0x83,0x40,0xEA,0x5B,0x12,0x29, -0xDC,0x1F,0xA7,0x1B,0x5F,0x0B,0xF7,0xC8,0xB9,0x62,0x78,0xBB,0x87,0xED,0xC9,0x44, -0xA7,0x64,0x30,0xF7,0xB2,0x9E,0x8F,0x5D,0x45,0x2E,0xC8,0x0B,0x20,0xA0,0x23,0xE3, -0x55,0x96,0x8D,0xB8,0xC0,0x72,0x11,0xB1,0xE4,0x15,0x52,0x91,0x63,0x71,0xB1,0xA0, -0xC9,0x0A,0xD7,0x7E,0xA2,0x55,0x54,0x96,0x4B,0xE7,0x0F,0xCC,0xB7,0xA9,0xBD,0x74, -0x94,0x57,0x25,0xD1,0x9F,0x4B,0x77,0x88,0x21,0xB1,0x33,0xF0,0x1A,0x97,0x2E,0xD9, -0x23,0xE0,0x28,0x6B,0xC5,0x53,0x35,0x90,0x0B,0x7C,0xD4,0x17,0xD5,0x5C,0x2A,0x16, -0xC6,0x05,0x94,0x32,0x85,0x88,0xAE,0x4B,0x8D,0xBD,0x93,0x50,0x2A,0xD3,0x5A,0xE9, -0x9C,0x5F,0x27,0xDB,0x19,0x0C,0xB6,0xCF,0xAE,0x8C,0x81,0x42,0x9B,0xBF,0x87,0x58, -0xF9,0x3A,0x93,0x0A,0x8B,0x4F,0x67,0x8C,0x48,0x19,0xF2,0x31,0xF9,0x4A,0x10,0x3A, -0x99,0x5A,0x17,0xEE,0x99,0x97,0xAD,0x54,0xC7,0x24,0x40,0x83,0xB2,0x99,0x88,0x71, -0x06,0xC5,0x1C,0x7A,0x7D,0xF7,0x29,0x34,0x1E,0x83,0x3E,0xFD,0x14,0xF4,0x43,0xD7, -0x4A,0x89,0x8E,0xA4,0x5D,0x18,0xE6,0xDB,0xA3,0xBB,0xBB,0x78,0x6A,0x53,0x9A,0xA9, -0x24,0xE7,0x69,0x2D,0x44,0x26,0xC1,0xE5,0xE6,0x04,0x41,0x82,0xE8,0x2A,0x61,0x2B, -0x8E,0x4D,0x16,0xF8,0xF5,0x77,0x21,0xB4,0x52,0xC0,0x31,0xF2,0xDF,0x2F,0x53,0x1C, -0xD4,0x17,0xA5,0x11,0xE2,0x8E,0xCF,0x4D,0xD0,0xCA,0xB9,0x7A,0x7C,0x72,0xAD,0xBF, -0xAE,0xBC,0xF1,0x25,0x28,0x86,0xC6,0x94,0x83,0xFF,0x14,0x06,0xFA,0x10,0x82,0xE8, -0x57,0x45,0x1F,0x32,0xC1,0xDC,0x75,0xCE,0x7D,0xA2,0xB7,0xA5,0x72,0x1A,0x00,0x60, -0xC1,0xD3,0x36,0x8D,0x74,0x42,0x5E,0x50,0x4A,0x83,0xA1,0xB3,0x70,0x6B,0x73,0x62, -0xFF,0xED,0x11,0x94,0xFD,0x2C,0xB9,0x3E,0xB1,0xFA,0x23,0x31,0x8A,0xD4,0x36,0x98, -0x4E,0x5C,0x7D,0x49,0x3E,0x91,0xC7,0x83,0x58,0x49,0x79,0x6B,0x8B,0xF4,0x17,0x99, -0x2E,0x3C,0xF9,0xAD,0xAA,0x0E,0xCC,0x1C,0x93,0x24,0xDF,0xCD,0xF5,0x53,0xCE,0xE7, -0xD5,0xC7,0x66,0xC9,0x0B,0x94,0xF7,0x86,0x57,0x6F,0x50,0x42,0x4A,0x5C,0x7E,0x58, -0x96,0x84,0xB7,0x5B,0xDA,0xF1,0x43,0xE3,0xC0,0x9A,0x32,0x20,0x39,0xC9,0x98,0x2B, -0x8A,0x98,0xE5,0x15,0xBB,0x2B,0xF8,0x39,0xFA,0x8C,0x1E,0x0C,0x1F,0xAC,0xDB,0x0D, -0x51,0x43,0x7E,0x55,0xE2,0xCE,0x44,0xDC,0x8A,0x03,0xE1,0xF3,0x58,0x6D,0x5D,0x4A, -0x8C,0x9E,0x84,0x72,0xAE,0xC1,0x07,0xD3,0x6D,0x79,0x7C,0x6E,0xC4,0x37,0x9B,0xD6, -0x92,0x80,0xA7,0x4F,0x01,0x9C,0xF5,0x8E,0xFE,0x47,0xD1,0xC3,0xF8,0x61,0xF1,0xEA, -0x47,0x55,0x5F,0x62,0x27,0xAF,0xE0,0xBD,0xF3,0x70,0xEB,0xF9,0x03,0xFE,0x95,0x11, -0xAB,0xB9,0xC1,0x10,0x68,0x5D,0x5D,0x4F,0x61,0xA1,0xA8,0xBA,0x99,0xC5,0x34,0x8B, -0x82,0x90,0xE7,0x1F,0x90,0x22,0xDA,0x30,0xC2,0x8B,0x21,0x33,0x48,0x2D,0x0D,0x5A, -0xD2,0xC0,0x27,0x8F,0xCB,0xD4,0x77,0xC6,0x19,0x3D,0x4C,0x5E,0xB3,0xB2,0x69,0xA1, -0x07,0x15,0xDF,0xA2,0x92,0x31,0xCB,0x23,0x9F,0xFC,0x0B,0x19,0x26,0xCA,0x84,0x34, -0x87,0x95,0xD7,0x2A,0xF0,0x16,0x8E,0x04,0x7F,0xB3,0xA4,0xB6,0xE8,0x21,0xA1,0xFA, -0x69,0x7B,0x38,0x2B,0x33,0xAB,0xF0,0xB9,0x05,0x3E,0x53,0x41,0x51,0x4F,0x76,0x43, -0xA8,0xBA,0x90,0x42,0x71,0x63,0x7A,0x71,0xE6,0x8F,0x01,0x13,0x93,0xB6,0x4D,0x81, -0xBF,0xAD,0x91,0x54,0xA9,0xF3,0x32,0xE1,0x86,0xDB,0x35,0x27,0x0C,0xBD,0xD9,0x1E, -0x56,0x44,0x3F,0x13,0x44,0x66,0x4A,0x74,0x9E,0x13,0xE5,0xF7,0xD9,0x45,0xF4,0xCB, -0xC5,0xD7,0x26,0x99,0x67,0x74,0x7B,0x66,0x70,0x95,0x8D,0x9F,0x9D,0xD5,0x20,0x8F, -0x05,0x17,0xAE,0xD1,0x8B,0x0F,0xEC,0x1D,0x5E,0x93,0xA5,0xB7,0x2E,0xC8,0x8E,0x3C, -0x67,0x75,0x5B,0x46,0xE4,0x12,0x9E,0x00,0x79,0x69,0x78,0x6A,0x5B,0x3C,0x0F,0x49, -0xC9,0xDB,0x34,0x87,0xE5,0xFC,0x71,0xEE,0x07,0x2F,0x40,0x52,0xFE,0x00,0x96,0xEC, -0xD7,0xC5,0x17,0xBA,0xA5,0x27,0xEA,0x35,0x89,0xFD,0x1C,0x0E,0x56,0x0E,0x30,0x44, -0x9D,0x8F,0xE4,0x03,0x66,0x9A,0x94,0x88,0xB7,0x20,0xFF,0xED,0x69,0x09,0x08,0x7B, -0xFC,0xEE,0x40,0xC6,0x43,0x54,0x7F,0x46,0xDD,0x76,0xC3,0xD1,0x19,0xCD,0xBC,0x0B, -0x3F,0x2D,0x99,0xDC,0x48,0xB2,0x92,0xA0,0xD2,0x50,0xEA,0xF8,0x81,0x87,0x6E,0x93, -0x12,0x00,0xAF,0xC7,0xED,0xE7,0x62,0xF5,0x6F,0x68,0x6F,0x7D,0x3F,0xA8,0xFF,0x2D, -0x24,0x36,0x8A,0xD4,0xFB,0xF0,0x63,0xE2,0x97,0xEF,0x10,0x02,0x73,0x3A,0x21,0x61, -0x77,0x65,0x1B,0x16,0xD0,0xF9,0x41,0xEB,0xC5,0xBE,0x13,0x01,0x60,0x2B,0x23,0x72, -0x32,0x20,0xAB,0xE3,0x9C,0xF6,0x02,0xE4,0x3A,0x0C,0x5E,0x4C,0x59,0x4D,0x7C,0x4B, -0xF6,0xE4,0x33,0xBF,0x35,0x77,0x2A,0x65,0x4E,0x48,0x6E,0x7C,0x6A,0x58,0x5A,0x78, -0xFB,0xE9,0x01,0x80,0x12,0xAA,0xD0,0xB8,0x81,0xEE,0x07,0x15,0x46,0x4E,0x60,0x54, -0x16,0x04,0xBF,0xD3,0xB3,0x30,0xEB,0x22,0x2F,0xF3,0xB4,0xA6,0x76,0x0A,0x14,0x64, -0x75,0x67,0x6A,0x65,0x6C,0x92,0x96,0x80,0x0C,0xC2,0xA6,0xB4,0xF7,0x22,0xBD,0xE5, -0xDB,0xC9,0x05,0xA4,0xD5,0xD8,0x65,0xCA,0xA7,0xFB,0x34,0x26,0x09,0x8D,0xEC,0x1B, -0xD8,0xCA,0x54,0xF6,0x88,0xF2,0x12,0xE0,0x2D,0xE2,0xA7,0xB5,0xCD,0x15,0xB0,0xDF, -0x48,0x5A,0x1C,0x2E,0x77,0xBF,0xA0,0xAD,0x04,0xD1,0xBD,0xAF,0x52,0x1E,0x24,0x40, -0x1F,0x0D,0x9D,0xF8,0xDF,0xD0,0x67,0xC2,0xBE,0xDC,0x0A,0x18,0xB6,0x82,0x5C,0xA4, -0xFE,0xEC,0x31,0xB5,0x29,0x68,0x29,0x7A,0x39,0xF2,0xA3,0xB1,0xF4,0x73,0xEF,0xE6, -0xB0,0xA2,0xD2,0x18,0xCC,0xE6,0x42,0xF4,0x63,0xB0,0xBB,0xA9,0x85,0x97,0x7A,0x97, -0xDE,0xCC,0x35,0x91,0x9A,0x2A,0xD8,0x38,0xCF,0xBC,0x1B,0x09,0x6B,0x78,0x7B,0x79, -0x8D,0x9F,0xA4,0x53,0xB8,0xD6,0x06,0xC4,0x3F,0x28,0x7F,0x6D,0x6C,0x39,0x3D,0x7E, -0xD0,0xC2,0x56,0xFC,0xE1,0x33,0xBA,0x21,0x40,0x81,0xA9,0xBB,0x71,0x4B,0x52,0x63, -0x5C,0x4E,0x4C,0x6A,0x64,0x89,0x85,0x9B,0xE0,0x55,0xDD,0xCF,0x1D,0xDD,0xA8,0x0F, -0x7F,0x6D,0x19,0x1C,0xAC,0xD2,0x16,0xC0,0xE7,0x60,0xEF,0xFD,0x61,0x0B,0x02,0x73, -0xE9,0xFB,0x30,0xA3,0xD7,0xCB,0x74,0xD9,0xF7,0xBB,0x24,0x36,0x7E,0x08,0x1E,0x6C, -0x84,0x96,0x86,0x78,0x45,0x88,0xA5,0x9A,0x6B,0xA3,0xA0,0xB2,0xD5,0x57,0xEA,0xC7, -0x1A,0x08,0xAD,0xCD,0x38,0x4D,0x1D,0x5F,0x1A,0xC3,0xB1,0xA3,0x41,0x0F,0x26,0x53, -0x5D,0x4F,0x6C,0x4B,0x0A,0x7A,0x18,0x68,0xA6,0x14,0xDA,0xC8,0x83,0xF6,0x1D,0x91, -0x76,0x64,0x3B,0x37,0x22,0x8E,0xC4,0x9C,0xEB,0xB8,0x3B,0x29,0xAE,0xC0,0x06,0xBC, -0x6F,0x7D,0x59,0x4C,0x5F,0x4B,0x7C,0x59,0xCA,0x98,0x3A,0x28,0x62,0x5A,0x50,0x70, -0x3B,0x29,0x89,0xC8,0xB4,0x02,0xDE,0x10,0x3C,0xD6,0x82,0x90,0x37,0xAA,0xF5,0x25, -0xD4,0xC6,0x46,0xE8,0x41,0x47,0x6E,0x55,0xB2,0x04,0xDE,0xCC,0x49,0x0D,0x2C,0x5B, -0x45,0x57,0x2E,0x11,0x75,0xAC,0xB1,0xBE,0x31,0xE1,0xB8,0xAA,0x18,0xED,0x9D,0x0A, -0xDD,0xCF,0x64,0xC3,0xAB,0xE0,0x23,0xF2,0x47,0xB4,0x9B,0x89,0x3D,0xD9,0x8C,0x2F, -0x3D,0x2F,0xE8,0xAF,0x09,0x87,0xE6,0x95,0xF9,0x72,0xE3,0xF1,0x97,0xA6,0x59,0x85, -0xEF,0xFD,0x51,0xC4,0xD8,0xE2,0x52,0xF0,0xF2,0x9F,0x05,0x17,0xB5,0xD3,0x0E,0xA7, -0x37,0x25,0x9B,0xD6,0xEE,0x1A,0x9C,0x08,0xDE,0x88,0x3E,0x2C,0x38,0xE9,0xB9,0x2A, -0x3A,0x28,0xA9,0xE9,0x1B,0x5F,0x2C,0x4D,0xB6,0xCF,0x11,0x03,0xBE,0x80,0x56,0xAC, -0x9E,0x8C,0xB5,0x51,0xA0,0x06,0xCE,0x14,0x85,0x25,0xC8,0xDA,0xB0,0xE3,0x3B,0xA2, -0x1D,0xBA,0x2F,0xA4,0x8B,0xD2,0x00,0x5A,0x79,0xF2,0x9D,0xE7,0x56,0x54,0xDF,0x8A, -0xD8,0x18,0x48,0xC3,0x6B,0xBE,0xE0,0xD6,0xD3,0x58,0x48,0x98,0xE8,0x2C,0xA7,0x4C, -0x50,0x50,0x88,0x03,0x82,0xF9,0x09,0x78,0x0D,0x86,0x3D,0x33,0xA3,0x11,0x9A,0x3A, -0x8F,0x64,0x63,0xE8,0x13,0x00,0x98,0x10,0x5C,0xD7,0x8C,0xD3,0x20,0x77,0xFC,0xDF, -0x12,0x0A,0x90,0x1B,0x6C,0xF8,0xE7,0x97,0xFA,0x71,0x47,0xBE,0xA7,0xDE,0x55,0xF1, -0xF0,0xB1,0xC9,0x42,0xC8,0x40,0x43,0x8B,0xF4,0x7F,0x2A,0xDD,0x94,0x07,0x8C,0x1B, -0x6C,0xC9,0x2D,0xA6,0xB9,0xD5,0x32,0x6F,0xF1,0x7A,0x1F,0xED,0xE3,0xCA,0x41,0xA1, -0xA2,0xFF,0xD5,0x5E,0x61,0xC7,0xEA,0xA5,0x7C,0xF7,0xA8,0xD7,0xCF,0xF1,0x7A,0xB6, -0x9B,0x54,0x47,0xCC,0xD2,0x69,0x59,0xB8,0x91,0x1A,0xFB,0x69,0x7A,0x6F,0xE4,0x9D, -0x23,0x29,0x82,0x09,0x4C,0xDC,0xC7,0x93,0x05,0x8E,0x37,0x31,0x0B,0x7E,0xF5,0xFD, -0x28,0xBD,0x1D,0x96,0x29,0x0D,0xA2,0x27,0x25,0xAE,0x13,0x35,0xF6,0x20,0xAB,0x5E, -0x4A,0xC6,0x04,0x8F,0xBF,0xB2,0x34,0x0E,0x3A,0xB1,0x0F,0x36,0xE6,0xEB,0x60,0x85, -0x42,0x4E,0x84,0x0F,0x39,0x5D,0xB2,0x67,0x26,0xAD,0x41,0x64,0xDB,0xF5,0x7E,0xA6, -0xE0,0xA5,0xCD,0x46,0x6D,0xD9,0xE6,0xB7,0x73,0xF8,0xE4,0x94,0x2D,0x4D,0xC6,0xE8, -0x26,0x1B,0xB5,0x3E,0x0B,0x5A,0x80,0x52,0xC7,0x4C,0x0C,0xC8,0xB7,0x15,0x9E,0x2A, -0xFA,0x33,0x41,0xCA,0x20,0x26,0xAB,0x05,0xEA,0x61,0x17,0xFE,0xFA,0xF4,0x7F,0x86, -0x17,0x38,0xA7,0x2C,0xA8,0xA4,0x23,0x0F,0xB0,0x3B,0xFE,0x4D,0x28,0x6C,0xE7,0xCC, -0x7C,0xDD,0x29,0xA2,0xE6,0x09,0x6D,0xEC,0xC1,0x4A,0x6B,0xA9,0x72,0x74,0xFF,0x8E, -0x9E,0x66,0x70,0xFB,0x1E,0x3F,0x95,0x22,0x16,0x9D,0x35,0x20,0x15,0x72,0xF9,0xEF, -0x59,0xCE,0x1F,0x94,0x49,0xE9,0xC2,0xA3,0xF2,0x79,0x4D,0xBC,0xAF,0xC5,0x4E,0xE2, -0x84,0xF0,0xFC,0x77,0x86,0xED,0x0D,0x68,0x35,0xBE,0x43,0x75,0x51,0x66,0xED,0xBF, -0xBB,0x75,0x46,0xCD,0x0A,0x7B,0x81,0x72,0x59,0xD2,0xB9,0xE3,0xF1,0x12,0x99,0x6B, -0xE6,0x8B,0xE5,0x6E,0x88,0x80,0x03,0x0B,0x2F,0xA4,0x6A,0x46,0xDE,0xD4,0x5F,0x82, -0x38,0xA9,0x19,0x92,0xDB,0x42,0x50,0x9A,0x28,0xA3,0x2C,0x07,0x2E,0xB0,0x3B,0x16, -0x14,0x24,0xB8,0x33,0xA0,0xAE,0x2B,0x0D,0x2E,0xA5,0x4B,0x66,0x5F,0xA1,0x2A,0x76, -0xEE,0x03,0x65,0xEE,0xAD,0x91,0x26,0x3F,0x02,0x89,0x71,0x70,0x90,0xC8,0x43,0xD0, -0x7F,0xC1,0x36,0xBD,0x21,0x07,0xAA,0x25,0x24,0xAF,0x32,0x15,0xD4,0xDC,0x57,0x80, -0x3C,0x8D,0x39,0xB2,0x64,0xF2,0xEF,0x95,0x1D,0x96,0x6D,0x73,0x2B,0x91,0x1A,0x32, -0x5B,0xC4,0x17,0x9C,0x8D,0xB5,0x06,0x3B,0x4D,0xC6,0xFD,0xB3,0xB6,0xFB,0x70,0xC5, -0x2C,0x99,0x3D,0xB6,0x8E,0xE7,0x05,0x6A,0x89,0x02,0xA1,0x2B,0x3C,0x68,0xE3,0xDC, -0xD5,0xA2,0xFF,0x74,0x40,0xC2,0xCB,0x81,0x32,0xB9,0x05,0x34,0x3E,0x7B,0xF0,0xCD, -0xA8,0x7D,0x5D,0xD6,0x23,0x74,0xA8,0x54,0xB3,0x38,0xAC,0x1C,0x1D,0x69,0xE2,0xFC, -0xD4,0xB4,0xE8,0x63,0x81,0xAB,0x0A,0x29,0x12,0x99,0x21,0x30,0x98,0xD3,0x58,0xC3, -0xAA,0x77,0x55,0xDE,0xCB,0x12,0x40,0xDA,0x2D,0xA6,0x19,0x37,0xA6,0x30,0xBB,0x1E, -0xA0,0xF5,0xDD,0x56,0x31,0x57,0xBA,0x65,0x1F,0x94,0x1E,0x02,0x68,0xB7,0x3C,0x57, -0x4F,0xF4,0x33,0xB8,0x9F,0x96,0x14,0x0A,0xBA,0x31,0x87,0x3E,0x16,0x8F,0x04,0x11, -0x5C,0xFC,0x28,0xA3,0x44,0xD6,0xCF,0x91,0x7B,0xF0,0xEE,0x96,0x7E,0xA0,0x2B,0x56, -0x5D,0xEA,0x3F,0xB4,0x72,0xC5,0xF9,0xB4,0x37,0xBC,0x30,0x04,0x86,0xDF,0x54,0xD1, -0x41,0x52,0x9B,0x10,0xAA,0xD7,0x21,0x7E,0x5D,0xD6,0xAD,0xF3,0xCC,0x0C,0x87,0x48, -0xAC,0x59,0x7D,0xF6,0x69,0xCD,0xE2,0xA7,0xC5,0x4E,0x7F,0xB9,0xC3,0x25,0xAE,0x6E, -0xCE,0x22,0x64,0xEF,0x3F,0x3A,0xB4,0x06,0x15,0x9E,0x67,0x71,0x14,0x9C,0x17,0x00, -0x44,0x60,0xAC,0x27,0xFE,0x53,0x75,0xAE,0xD7,0x5C,0x5C,0x88,0xF7,0xCE,0x45,0xB1, -0xF5,0x83,0xFE,0x75,0x51,0xB3,0xDA,0xE1,0x62,0xE9,0x95,0xF4,0x8E,0xC4,0x4F,0xC2, -0xB0,0xE1,0xD9,0x52,0xD1,0x3B,0x5A,0xE9,0xAC,0x27,0xB0,0x1F,0x6E,0x6B,0xE0,0x8D, -0x45,0x76,0xBB,0x30,0x93,0x88,0x18,0x18,0xD9,0x52,0x31,0xEB,0x61,0x42,0xC9,0xAB, -0xD2,0x9A,0xC0,0x4B,0x53,0xC0,0xD8,0x90,0x6A,0xE1,0x9F,0xF6,0x4F,0x6A,0xE1,0xAD, -0x0C,0xB8,0x3C,0xB7,0xE9,0x45,0x62,0xAF,0x48,0xC3,0xC8,0x83,0x97,0xFA,0x71,0xE5, -0x74,0x55,0xA9,0x22,0x00,0x02,0x8B,0x01,0x9D,0x16,0xE5,0x7B,0x8F,0x2A,0xA1,0x2D, -0x39,0xBF,0x0E,0x85,0xDA,0x63,0x51,0xBA,0x80,0x0B,0x8A,0x09,0x7C,0xB3,0x38,0x47, -0xCB,0x10,0x53,0xD8,0xC4,0x5E,0x4F,0x99,0xBC,0x37,0xE0,0x5F,0xEF,0x1E,0x95,0x79, -0xC6,0xAA,0xE4,0x6F,0xDC,0x04,0x57,0xDB,0x5B,0xD0,0xCA,0x92,0xEB,0xD1,0x5A,0xB2, -0x7A,0xF3,0x01,0x8A,0x07,0x44,0x8C,0x40,0x1C,0x97,0x4C,0x53,0x9B,0x2E,0xA5,0x3D, -0xE4,0x81,0xED,0x66,0xD4,0x0E,0x5F,0xD9,0x0C,0x87,0x1C,0x13,0xD3,0xEE,0x65,0xB5, -0x49,0xDA,0x1B,0x90,0x84,0x9E,0x0F,0x19,0xF7,0x7C,0x78,0x8C,0x08,0x83,0x08,0x03, -0xDE,0x36,0x60,0xEB,0x11,0x73,0x9A,0x61,0x47,0xCC,0x84,0xC0,0xE2,0x24,0xAF,0x4E, -0x63,0x79,0x92,0x19,0xFD,0x01,0x76,0xFF,0xDD,0x56,0x25,0xFB,0x70,0x67,0xEC,0x9F, -0x60,0x65,0x8D,0x06,0x97,0x9C,0x1C,0x08,0x34,0xBF,0x62,0x55,0x5B,0x6E,0xE5,0xBD, -0x87,0xEC,0xE3,0x68,0xA9,0x85,0x22,0x2F,0xCE,0x45,0x27,0xEA,0xA0,0xEC,0x67,0xC4, -0xF8,0x39,0x49,0xC2,0xF8,0x34,0x73,0xCF,0xBE,0x35,0x93,0x2E,0x92,0xDB,0x50,0xC1, -0x4B,0xD0,0x13,0x98,0x01,0x23,0x8A,0x21,0x36,0xBD,0x11,0x24,0x6C,0x78,0xF3,0x9C, -0xC9,0x1A,0x5B,0xD0,0x83,0xD8,0x08,0x58,0x0E,0x85,0x6F,0x62,0x46,0x9F,0x14,0x51, -0x7D,0xCB,0x3E,0xB5,0xC0,0x4A,0x4B,0x89,0x7D,0xF6,0x89,0xF7,0xD1,0xFD,0x76,0xA4, -0xF9,0x2F,0x5E,0xD5,0x18,0x58,0x93,0x43,0xCF,0x44,0x06,0xCA,0x49,0xB6,0x3D,0x77, -0xF2,0xBB,0xC1,0x4A,0x78,0xBC,0xF3,0xC7,0xB1,0x3A,0xDF,0x6D,0x82,0x10,0x9B,0x1A, -0xEF,0xB7,0xEB,0xC2,0x27,0x57,0xEE,0x0A,0x26,0x08,0x9D,0x25,0xE9,0xBD,0xE7,0xCA, -0xB8,0x61,0x6A,0x95,0x48,0x90,0x46,0x65,0x2B,0xBF,0x27,0x92,0x75,0xC5,0x03,0x2E, -0x59,0x2C,0xC6,0x74,0xF0,0xDE,0xB0,0xDD,0x05,0x16,0xA0,0x3B,0x84,0x76,0x41,0x6C, -0x17,0x81,0x25,0x3A,0x7E,0xB5,0x55,0x53,0x47,0x0E,0xFA,0x23,0x60,0xE3,0x30,0x1D, -0x79,0x08,0xC2,0x54,0xB2,0x2F,0x03,0x9F,0x4B,0xAE,0x56,0x83,0x8F,0xE2,0xDE,0xF3, -0x2A,0xCA,0x53,0x07,0x4E,0xF1,0x21,0x63,0xDF,0xCA,0xA6,0xE7,0xCE,0xA4,0xD9,0xF4, -0x77,0x65,0xA1,0x5A,0xAB,0x4D,0x78,0x86,0x76,0x1C,0xD9,0x31,0xBC,0xCB,0xC4,0xE9, -0xFB,0xF3,0xBB,0xD6,0x11,0x72,0xFD,0x3C,0xA2,0x68,0x79,0x45,0x2A,0x31,0xA8,0x85, -0xD0,0x8F,0xEC,0xFD,0x61,0xB6,0x49,0x4C,0x49,0xA6,0x5C,0x8B,0xDC,0xBA,0xD5,0xF8, -0x95,0x7A,0x5C,0xB8,0x6E,0xF5,0x05,0x43,0xFB,0xEB,0xA3,0xC6,0xBA,0xE5,0xEC,0xC1, -0x51,0x26,0xC4,0x7C,0xEF,0xDD,0xAC,0xC2,0xBF,0xDB,0xD7,0xF6,0xAF,0xC3,0xDF,0xF2, -0x5C,0x19,0xF6,0x71,0x32,0x27,0x8B,0x1F,0x19,0xB2,0x18,0x9F,0xB9,0xF9,0xF3,0xDE, -0xB1,0x4A,0x48,0x9C,0xA8,0x1C,0x2A,0x85,0x04,0x01,0xB6,0x2C,0xFD,0x8D,0xC3,0xEE, -0xD2,0xFC,0x9D,0xFF,0x0A,0x61,0xF5,0x27,0x35,0x13,0x95,0x3E,0xD5,0x24,0x42,0x6F, -0x7C,0x3D,0xF2,0x51,0x40,0x92,0x4C,0x6D,0x0C,0x81,0x3E,0xAC,0x7A,0x75,0xBC,0x91, -0x7F,0x6F,0xA3,0x52,0x6A,0xE5,0x11,0x47,0x15,0x12,0xB4,0x3F,0xE2,0x29,0x78,0x55, -0x73,0x71,0xB1,0x5E,0xDF,0x99,0xD8,0xF2,0xF3,0x6B,0x2B,0x46,0xFA,0xB5,0xFC,0xD1, -0xE2,0x88,0xD9,0xCF,0x34,0x46,0xEC,0x19,0x16,0x0D,0xA8,0x20,0x1A,0x04,0xAD,0x80, -0x7A,0x5A,0x93,0x57,0x78,0xD4,0x32,0x55,0x43,0x2E,0xDE,0x03,0x2E,0x15,0x88,0xA5, -0x9A,0x36,0x1F,0xB7,0x1F,0x11,0x90,0x32,0x85,0x56,0x60,0x7B,0x51,0xC0,0x22,0x0F, -0x48,0x5D,0xA6,0x65,0x7A,0xA5,0x41,0x57,0x68,0xB0,0x6B,0x9D,0x24,0x97,0x00,0x2D, -0x90,0x4F,0x6C,0xBD,0x82,0x6B,0x77,0xAF,0x7F,0x8B,0x47,0xA6,0x1E,0x20,0x8D,0xA0, -0x9D,0x70,0x5E,0xB0,0xC7,0xDB,0x82,0xEA,0x38,0xA4,0x2F,0x89,0x77,0xCF,0x0B,0x26, -0x39,0xC8,0x42,0x14,0x9E,0x39,0x39,0xB3,0xD2,0x7D,0x1C,0x50,0x14,0xA2,0x05,0x28, -0xD8,0x85,0xEE,0xF5,0x4A,0xE1,0x35,0x67,0x97,0x5A,0x7E,0x77,0xFC,0x9B,0xD4,0xF9, -0x4E,0x3A,0xC7,0x63,0x53,0x83,0x4E,0x7E,0x4C,0x91,0x6E,0xBC,0xFF,0x87,0xCB,0xE6, -0x23,0xE1,0x71,0x0E,0x10,0x52,0xDC,0x3D,0x54,0x15,0xF2,0x38,0xA0,0x73,0x60,0x4D, -0xBD,0x54,0x5A,0x90,0xD5,0xEA,0xA1,0xF8,0x34,0x04,0x83,0x29,0xF8,0xBF,0xF4,0xD9, -0xFA,0xD2,0x9B,0xD7,0xE2,0xEF,0x93,0xCF,0xE3,0x6F,0x3F,0x42,0x01,0x84,0x36,0x1B, -0xD1,0xAE,0xCC,0xFC,0x16,0x33,0xBB,0x3B,0x4F,0x8E,0x72,0xA3,0x37,0x9F,0x1B,0x36, -0xC8,0xD5,0xAE,0xE5,0xD3,0x8B,0xC6,0xFE,0x6F,0x8F,0x53,0xA2,0xAD,0xC9,0xD7,0xFA, -0x9C,0x51,0x7E,0xB1,0x9A,0x29,0x2D,0xB7,0x21,0x37,0xA5,0x1A,0x5D,0x6C,0x82,0xAF, -0x2D,0x8C,0x12,0x00,0xB3,0x0F,0x22,0x9E,0x7B,0xAB,0x63,0x86,0x5B,0x42,0xAA,0x87, -0xF6,0xCC,0x89,0xDB,0x56,0xB3,0x7B,0x7B,0xF4,0x54,0x13,0x79,0x9A,0xC4,0xED,0xC0, -0x2B,0xEB,0x73,0x06,0x59,0xF0,0x37,0x74,0x8E,0xC9,0xF4,0xE4,0xC0,0x02,0x71,0x5C, -0x35,0xD6,0x50,0x18,0x04,0x02,0x98,0x29,0xB0,0x64,0x67,0x49,0x96,0x68,0x4D,0x60, -0xE0,0xFB,0xA8,0xCD,0x37,0x17,0xBE,0x1A,0x87,0x5E,0x6A,0x73,0x09,0x0C,0xB6,0x9B, -0x0C,0x89,0x36,0x21,0xC5,0xAA,0xF1,0xE8,0x56,0x1D,0xF8,0x30,0x32,0xAD,0x2C,0x01, -0x25,0x86,0x10,0x08,0xBA,0x2D,0x09,0x97,0x7C,0x94,0x5B,0xB9,0xDA,0x94,0xFD,0xD0, -0x75,0x16,0xD0,0x58,0x4C,0x80,0x52,0x61,0xCA,0xF9,0x80,0xD4,0x45,0xF0,0x06,0x2B, -0x09,0xBC,0x06,0x24,0x1E,0x31,0xB1,0x33,0x08,0xA1,0x1A,0x8C,0xE7,0x1B,0x4F,0x62, -0xF0,0xAB,0xE8,0xDD,0x44,0x82,0x58,0x69,0x55,0x02,0xE4,0x2F,0xED,0x99,0xC7,0xEA, -0x66,0x14,0xC1,0x4B,0xDA,0xA9,0xED,0xF7,0x74,0x14,0xD3,0x39,0x9C,0xEA,0xC5,0xE8, -0x58,0x0D,0xE6,0x75,0xB4,0x4E,0x64,0x99,0x0D,0x96,0x28,0xBB,0x23,0xAF,0x3F,0x12, -0xE9,0xD0,0x8A,0xC4,0x09,0x30,0xA7,0x24,0xBE,0xCC,0xC1,0xE1,0x03,0x8E,0x3E,0x13, -0x89,0x34,0x0E,0xA4,0x96,0x3B,0x33,0xBB,0xD3,0x6A,0x0A,0x47,0xA4,0x57,0x40,0x6D, -0x72,0x50,0x91,0x5F,0x0C,0x00,0x92,0x21,0x98,0xE5,0xCE,0xC8,0xAB,0xE7,0xFF,0xD2, -0x31,0xC2,0x40,0x1C,0x69,0xB4,0x43,0x44,0x6D,0x87,0x59,0xAA,0x3E,0x01,0x8C,0xA1, -0xC0,0xDF,0xAC,0xED,0x8A,0x69,0x7D,0xA7,0x9E,0xCD,0xE0,0xE0,0xCB,0x96,0xEE,0xC3, -0x6E,0x1E,0xC3,0x43,0x64,0x86,0x7C,0x49,0xD8,0xF5,0x9E,0xD8,0xF7,0x0F,0x4B,0x66, -0x70,0x23,0xE0,0x5D,0xBF,0x1D,0x3C,0x92,0x0A,0xA9,0x10,0x84,0xF9,0xA9,0xE3,0xCE, -0x3A,0x9A,0x13,0x17,0x02,0x63,0xFF,0x2F,0xD7,0x4A,0x2E,0x67,0xFE,0x91,0xDC,0xF1, -0x5B,0x5F,0xB7,0x76,0xCC,0x88,0xDA,0xE1,0x81,0x76,0x44,0x5B,0x3A,0x25,0xAC,0x81, -0x98,0x45,0x6E,0xB5,0x2A,0x65,0xD1,0x07,0xA7,0x5F,0x4B,0x72,0x70,0xF7,0x34,0x19, -0xB5,0x5E,0x58,0x98,0x7F,0x95,0x74,0x52,0x9F,0xDA,0xF6,0xF7,0x5F,0x66,0x8A,0xA7, -0x83,0x4D,0x7D,0xAE,0x68,0x94,0x62,0x45,0x18,0xA5,0x0E,0x88,0xCD,0xB8,0xC6,0xEB, -0xA0,0x3B,0x28,0x8D,0xA9,0x3C,0x0B,0x84,0x0B,0xBE,0x06,0x93,0x3D,0x1D,0x93,0xBE, -0x20,0xB3,0x20,0x0D,0x8E,0x79,0x69,0xA3,0x44,0x11,0xE6,0x3C,0xD6,0x38,0x5D,0x70, -0xCE,0xB2,0xCF,0xE3,0x33,0x07,0xAA,0x1E,0xC9,0xE6,0x9C,0xCB,0xB8,0xEF,0xE4,0xC9, -0x0F,0xDB,0x67,0x22,0xFB,0x8D,0xE8,0xD6,0x78,0xB4,0x7F,0x99,0x41,0xD4,0x26,0x0B, -0x18,0xCD,0x66,0x35,0x6B,0xC5,0x30,0x46,0x2C,0x80,0x1F,0xAD,0x4A,0x40,0xB9,0x94, -0xF1,0x8A,0xC8,0xDC,0xFE,0xBD,0xDD,0xD3,0xE4,0x50,0x07,0x7D,0xB2,0x6D,0x6C,0x41, -0x62,0x00,0xD1,0x4F,0xEC,0x8C,0xFE,0xC1,0x62,0x38,0xE9,0x15,0x22,0xB9,0x28,0x05, -0xA2,0x48,0x59,0x8F,0x97,0x1B,0x12,0xBA,0x64,0x10,0xC7,0x3D,0x3F,0x17,0x9B,0xB6, -0xFB,0xB5,0xD9,0xA4,0xF4,0xCD,0xA1,0xBF,0xBE,0x59,0xD2,0x61,0x41,0x2D,0x29,0xEE, -0xA0,0x43,0x2F,0x09,0x34,0x9D,0xF1,0x2F,0x45,0x3D,0x29,0xFE,0x2C,0x40,0xF2,0x58, -0x58,0x3C,0x50,0x8E,0x12,0xB4,0xD8,0x20,0x94,0x04,0xF8,0x16,0xA5,0xC9,0x51,0x72, -0x17,0xCE,0xA2,0x33,0x8C,0x58,0x34,0x52,0x0E,0xA5,0x62,0x2D,0xE6,0x8A,0xC3,0xA3, -0x31,0xFD,0x91,0x26,0x74,0x8D,0xE1,0x7F,0xF5,0xC1,0x99,0xB2,0xDC,0xB0,0xCE,0x94, -0x9E,0xA0,0xCC,0xD4,0x57,0x93,0xFF,0x42,0xC9,0xAB,0xA5,0xE4,0x71,0x1D,0x5D,0xAA, -0xD2,0xAF,0xC3,0x97,0xAD,0x4E,0x22,0x65,0x55,0x6D,0x39,0xBE,0xEC,0x80,0xBA,0xD0, -0x8B,0x4A,0x26,0x2B,0x36,0x95,0xF9,0x25,0x12,0xEB,0x7E,0x7F,0x13,0x7F,0xCA,0x5F, -0xEA,0x90,0xFC,0x90,0x64,0x89,0xE5,0x6B,0x34,0xA8,0x58,0x1A,0x3F,0x53,0xF0,0x49, -0x3B,0xF5,0x99,0x24,0xB5,0xCA,0xA6,0xF9,0x47,0x4E,0x2B,0x8F,0x5D,0x31,0x67,0xBC, -0x9A,0x6F,0x03,0x1F,0x2A,0x31,0x5D,0x9D,0xF8,0xFE,0x94,0x80,0xD2,0xBE,0xA3,0xF7, -0x0E,0xF0,0x9C,0x14,0xAE,0x51,0x3D,0x79,0x86,0x27,0xEA,0x27,0x74,0x18,0x68,0x9A, -0xCD,0x4D,0x21,0x6A,0xC2,0xE0,0x8C,0xA4,0x87,0x06,0xEB,0x07,0x2E,0x42,0x81,0x29, -0x44,0x23,0x4F,0x8D,0xE5,0xDE,0xB2,0xBD,0x7D,0x43,0x11,0xB8,0xAC,0xC0,0x7A,0x50, -0xF1,0xBD,0xD1,0xA6,0xCC,0x48,0x24,0x02,0x7F,0x30,0x13,0xC9,0xBA,0xD6,0x4D,0x71, -0x18,0xE7,0x8B,0x15,0x22,0xB1,0xDD,0x15,0xF7,0xB2,0x9B,0xC3,0x19,0x75,0xB3,0x2C, -0xCB,0x91,0xFD,0xB0,0x59,0x3B,0x57,0xE4,0x7E,0x11,0x12,0xE9,0x1D,0x71,0xA7,0x3C, -0xDD,0x86,0xEA,0xB1,0x7C,0x0D,0x61,0xF7,0x32,0xCF,0x5E,0x7B,0x62,0x0E,0x5F,0xBB, -0x78,0xD3,0xBF,0x41,0x4A,0x20,0x4C,0xEC,0x8C,0x5E,0xE0,0x54,0xE7,0x8B,0xE2,0x83, -0x73,0x35,0x59,0xAC,0x93,0xE3,0x8F,0xF6,0x14,0x8C,0x78,0x1E,0xCE,0xA2,0xED,0xA5, -0x56,0xFB,0x97,0x47,0x37,0x82,0xEE,0x33,0x64,0x38,0x08,0xDA,0xF2,0x9E,0x87,0xF3, -0x95,0x46,0x2A,0x39,0xC4,0xC8,0xA4,0x8A,0x5B,0x00,0x37,0xDD,0x11,0x7D,0xB9,0x2E, -0xD5,0x9D,0xF1,0xA2,0xE7,0xD6,0xBA,0xB7,0xF3,0xA6,0x9F,0xD3,0x4D,0x21,0x37,0xFC, -0xD4,0x73,0x1F,0x4D,0x88,0x78,0x14,0x76,0x56,0x3F,0x3A,0xEF,0x75,0x19,0x49,0xBA, -0xBB,0x6E,0x02,0x3F,0x7D,0x1A,0x76,0xE1,0x23,0xBE,0x4F,0x1B,0xA8,0xC4,0x6E,0x40, -0x57,0x15,0x79,0xA8,0xF5,0xDA,0xB6,0xA9,0x90,0x10,0xFC,0x06,0x80,0xEC,0x40,0x46, -0x74,0x07,0x6B,0x99,0xEC,0x49,0x25,0x23,0xD4,0xC4,0xB8,0x96,0xE8,0x84,0xAE,0xC0, -0x99,0x92,0xFE,0xE1,0x42,0xA0,0xCC,0x64,0x01,0xE9,0x6D,0x6E,0x38,0x54,0xB6,0x08, -0x41,0x02,0x6E,0xA9,0x43,0xB7,0xDB,0x72,0x9E,0x7D,0xF2,0x65,0x0C,0x60,0xD6,0x5C, -0x03,0xCA,0xA6,0x23,0xEB,0x76,0x1A,0x1B,0x5C,0x46,0x30,0x9C,0x5E,0x32,0x35,0xED, -0xC0,0x77,0x1B,0x5D,0x04,0x98,0xF4,0x1A,0xE5,0x91,0x89,0xF2,0xA9,0xC5,0x4F,0x60, -0xA2,0x50,0x3C,0x18,0x0C,0x18,0x74,0x92,0x2B,0xB4,0x47,0x19,0x06,0x6A,0xAF,0x2F, -0x54,0xE8,0x84,0x56,0x9F,0x43,0x2F,0x5A,0x10,0x98,0x7C,0x0E,0xD0,0xBC,0xD0,0x86, -0xD1,0x52,0x3E,0x69,0x85,0xCF,0xA3,0xCC,0x7C,0x62,0x10,0x98,0xA4,0xC8,0x70,0x52, -0x88,0xB7,0xDB,0xD5,0x77,0x92,0xFE,0x63,0x61,0x0D,0x0D,0xEA,0x72,0x1E,0x0F,0xFB, -0xAA,0x4B,0x27,0x0B,0xE6,0xC1,0xAD,0xA1,0x66,0x4B,0x0A,0xAB,0x16,0x7A,0xFF,0x6F, -0xFC,0x87,0xEB,0x91,0x01,0xAF,0xC3,0x28,0x88,0x4A,0xE4,0x44,0xB6,0xDA,0x53,0x63, -0x19,0x09,0x65,0xFA,0xE2,0xE1,0x8D,0x85,0xF9,0xDF,0x95,0xA0,0xAE,0xC2,0x09,0x21, -0xEF,0xB1,0xDD,0xB4,0x4E,0x00,0x6C,0xC8,0xBB,0x6C,0xD7,0x51,0x07,0x6B,0x8E,0x0F, -0x47,0xDE,0xB2,0x73,0xCF,0x57,0x3B,0x1E,0x5F,0x14,0x33,0xCD,0xB0,0xDC,0x34,0x02, -0xB8,0x93,0xFF,0xC1,0x87,0xC7,0xAB,0xC6,0xC0,0x80,0xAC,0xC6,0xAA,0xC6,0x1D,0x31, -0xE5,0xB9,0xD5,0xB6,0xD6,0xC4,0xA8,0x94,0x04,0xDC,0x68,0x5E,0x39,0x55,0x97,0x28, -0x5C,0xF3,0x9F,0x45,0xB9,0x6A,0x06,0x55,0xFA,0x8D,0x96,0xF1,0xAB,0xC7,0x3C,0x11, -0x83,0x51,0x3D,0x38,0x6C,0x09,0x65,0xE3,0x7B,0x24,0x17,0xD9,0xB9,0xD5,0x1F,0x20, -0x22,0xCB,0xA7,0x03,0xD2,0xE4,0x88,0xB0,0x4B,0x50,0x27,0x9D,0x0A,0x66,0xB1,0x3D, -0x05,0x16,0x7A,0xF9,0xE0,0xE9,0x85,0x8F,0x67,0x6A,0x0B,0x8B,0x63,0x0F,0x7E,0x9B, -0xAC,0x97,0xFB,0xD1,0x78,0x2D,0x41,0xD3,0x54,0x4C,0x38,0x9E,0x53,0x3F,0x0A,0xDF, -0xE0,0x98,0xF4,0x92,0xC8,0x68,0x04,0x26,0x6D,0x13,0x01,0xF8,0x1E,0x72,0xF5,0x6D, -0x90,0x67,0x0B,0x1D,0x66,0x81,0xED,0x61,0xBD,0x0B,0xD1,0x30,0xC5,0xA9,0xB5,0xF6, -0x2B,0x3E,0x52,0xFF,0x7A,0x25,0x49,0xD9,0xB3,0x66,0xDF,0x53,0x1C,0x70,0x86,0x1C, -0xDE,0x7B,0x17,0x4F,0x48,0x28,0x44,0xE6,0x35,0x89,0x59,0x3A,0x33,0x5F,0xEE,0x5B, -0xE8,0x83,0xEF,0x81,0x82,0xF0,0x9C,0xF4,0xB8,0x3E,0xD4,0x00,0x08,0x64,0xC2,0x4C, -0x39,0xE6,0x8A,0x35,0x3B,0x22,0x4E,0x9F,0x9A,0x69,0xF6,0x75,0xEE,0x82,0xC9,0xA1, -0x9B,0x81,0xED,0xF0,0xB7,0xC2,0xAE,0xF3,0x30,0xBC,0x5C,0x0A,0x96,0xFA,0x77,0x67, -0x45,0xCD,0xA1,0x62,0xFD,0x5A,0x36,0x21,0x15,0xAD,0x79,0x3E,0xB5,0xD9,0x01,0x32, -0x71,0x26,0x4A,0xBD,0x95,0xCB,0xA7,0xD8,0x44,0x1C,0x28,0xDE,0xD3,0xBF,0x82,0xD7, -0x84,0x63,0x0F,0x0D,0x5A,0x24,0x48,0xF8,0x3A,0xC5,0x56,0x79,0x8F,0xE3,0x0C,0x05, -0x6F,0x2A,0x46,0xAF,0x8A,0x70,0x1C,0x7C,0x6F,0x60,0x03,0x89,0x37,0x5B,0xFA,0x4B, -0x12,0xEF,0x83,0x17,0xE8,0x69,0x05,0x07,0xA3,0x36,0xCF,0x13,0x36,0x5A,0xDB,0x6B, -0x3A,0x1B,0x77,0xCB,0xBF,0x42,0x2E,0x7B,0x8E,0x2D,0xE2,0x25,0xD7,0xBB,0x96,0xC7, -0x08,0x2C,0x40,0xCE,0x7E,0x05,0x69,0xFD,0x4C,0x16,0x20,0xDC,0xBC,0xD0,0x2A,0x10, -0x75,0xE9,0x85,0x76,0x55,0x9B,0xF7,0x48,0xD8,0xDA,0xB4,0x84,0xAD,0xC1,0x5B,0x70, -0xE7,0xAA,0xC6,0xA7,0xE3,0xF6,0x9A,0x93,0x73,0x2E,0x1F,0xDB,0x29,0x45,0xC7,0x68, -0x9C,0xB3,0xDF,0xC5,0xCA,0x60,0x0C,0x2C,0x6C,0x32,0x00,0xD8,0xE2,0x8E,0xD7,0xB3, -0x47,0x05,0xD2,0x78,0x22,0x4E,0x99,0x81,0x4B,0xB4,0x9C,0x12,0x38,0xEF,0x52,0x87, -0x0B,0x0A,0xDD,0x3B,0x92,0x0B,0xDC,0x74,0x72,0xEB,0xA5,0x74,0x75,0xA2,0xAD,0x35, -0xA2,0x8B,0x5C,0x13,0x0A,0xCF,0x18,0x28,0x41,0xCD,0x96,0x61,0x45,0x92,0xD9,0x71, -0x85,0x56,0x81,0xE9,0x38,0xC2,0x15,0x17,0x6D,0xF7,0xBA,0x77,0x2C,0xFB,0x16,0xD7, -0x24,0xCC,0x1B,0xD2,0x86,0x2F,0xF8,0x44,0x5D,0x83,0x8A,0x33,0x9F,0x48,0xB8,0xCA, -0xFB,0x6E,0xB9,0xAF,0x53,0x4C,0x9B,0xF2,0xDC,0x2A,0x0B,0x1B,0x8D,0x5A,0x9B,0xFB, -0x42,0x24,0xF3,0x5C,0x3C,0xE2,0x35,0x33,0x22,0x7B,0xF5,0xB4,0x1F,0xC8,0x30,0xC2, -0x1F,0x0E,0xD9,0x2B,0x6D,0xE1,0x36,0x61,0xE6,0x27,0x31,0x2C,0x8C,0x5B,0xBA,0xDB, -0xE0,0x43,0x94,0x99,0x25,0x71,0xA6,0xB9,0x79,0xB3,0xAE,0x27,0x96,0x41,0x93,0xE8, -0x48,0x2C,0xFB,0x5E,0xA4,0x26,0xF1,0x6F,0x9D,0xCB,0x4A,0xBB,0x21,0xF6,0x29,0xE5, -0xBE,0x94,0x43,0x10,0x08,0xC7,0x10,0x22,0xDF,0x78,0x08,0x4A,0x88,0x5F,0xAE,0xCB, -0x5B,0x1A,0xCD,0x7B,0xEB,0x89,0x5E,0x8F,0xAE,0xED,0x79,0xAE,0x90,0x47,0xF4,0x89, -0x0D,0xD6,0x01,0xE1,0x0C,0xE7,0x30,0x06,0x40,0xEC,0x97,0x41,0x30,0xE7,0x58,0x85, -0x2F,0x2A,0xFD,0x3F,0x9D,0xB4,0x63,0xC4,0x47,0xAA,0x90,0x00,0x54,0x83,0xA8,0x11, -0x76,0xCF,0x18,0x83,0x6F,0xE9,0x3E,0x6B,0x5A,0xC5,0x8D,0x72,0x82,0x55,0xD7,0xB8, -0xF3,0x75,0xA2,0xBC,0x75,0x65,0xB2,0xFD,0x36,0x3F,0xE1,0xE4,0xF6,0x21,0x77,0x6C, -0x3B,0x2E,0xF9,0x2F,0x20,0x46,0x91,0x8B,0x4A,0x95,0x9D,0x32,0xC4,0x13,0x70,0x59, -0x40,0x37,0xE0,0x4D,0x09,0xD0,0x07,0x34,0x55,0x89,0x82,0x31,0x0F,0xD8,0x60,0x82, -0xD2,0x74,0xA3,0x9C,0xBF,0xBD,0x6A,0xEF,0xFE,0x7D,0x29,0x6E,0x8B,0x5C,0xFC,0x9A, -0xAF,0xB1,0x66,0x24,0x94,0x23,0xF4,0x5A,0x6A,0xB1,0xBD,0x36,0x9A,0x4D,0x8D,0xFA, -0x9D,0x86,0x51,0x21,0x55,0x64,0xB3,0xDC,0xA8,0x8A,0x7F,0xCF,0xF1,0x26,0x31,0x2D, -0xB5,0x72,0xA5,0xFD,0x02,0x4F,0x98,0xA0,0x85,0x91,0x52,0xF9,0x10,0xC7,0x7C,0x81, -0xC8,0xB7,0x60,0x45,0x60,0x56,0x81,0xDB,0x49,0xC7,0x9E,0x63,0x11,0xC6,0x5D,0xA1, -0x23,0xFE,0x29,0xE7,0xB0,0x02,0xD5,0x5F,0x1C,0x62,0xCB,0x93,0xA9,0x7E,0xAB,0xEF, -0xD6,0xBB,0x6C,0x57,0x7F,0xED,0x3A,0x7F,0x62,0xBB,0xB5,0x34,0xF5,0x22,0x25,0x3D, -0xE2,0x50,0x87,0x88,0x17,0x7C,0xAB,0x86,0x33,0x0A,0xE4,0xD4,0x93,0x44,0xA6,0xD8, -0x3C,0x1C,0xCB,0x1A,0x5D,0xE4,0x33,0x54,0x16,0x1B,0xC1,0xE0,0xB0,0x67,0xD0,0x8D, -0x9E,0x7B,0xAC,0xDF,0xD1,0x04,0xD3,0x38,0xBC,0xCE,0x6B,0x9F,0xC8,0x1F,0x6E,0x4B, -0x4F,0x1E,0xC9,0x6B,0x68,0xD6,0x01,0x53,0x9E,0x99,0x49,0xEA,0x2E,0xF9,0x65,0xA6, -0x79,0xE6,0x31,0xA5,0xA2,0x0E,0xD9,0x41,0x13,0x2E,0xC4,0xD0,0x15,0xC2,0x49,0xB1, -0x8C,0xA3,0x74,0x15,0x90,0x03,0xD4,0x7E,0x95,0xC1,0x42,0xB9,0x3A,0xED,0x21,0xF6, -0x37,0xFA,0x2D,0xF7,0x8C,0xA7,0x70,0xC6,0x9B,0xAC,0x4C,0xDA,0xE3,0x34,0x12,0x1C, -0xBF,0x7A,0xAD,0xFF,0xC8,0x97,0x40,0xB2,0xD1,0x15,0x06,0x29,0x3F,0xE8,0x14,0xC6, -0x56,0x20,0xF7,0x4C,0x26,0x6E,0xB9,0xA5,0x59,0x97,0x8E,0x23,0x9C,0x4B,0xEA,0x9B, -0xE3,0xBE,0x69,0x67,0x0F,0xF8,0x2F,0x1A,0x5B,0xE4,0x8C,0x52,0x8A,0x5D,0xDD,0xBA, -0x6A,0xD0,0x07,0x80,0x28,0xC6,0x11,0x03,0xA1,0xA1,0x76,0xED,0x08,0xDF,0x26,0xC3, -0xA9,0x6D,0xBA,0xFE,0x44,0x77,0xA0,0xDE,0xA0,0x80,0x77,0xCD,0x52,0x85,0xCF,0x70, -0x3D,0xF2,0x25,0xF5,0xC0,0x17,0xC0,0x3A,0xDE,0x59,0x09,0x6A,0xF4,0x23,0x04,0x1D, -0x9C,0x68,0xBF,0xCE,0x5F,0xEC,0x3B,0x5E,0x61,0xE9,0xB6,0x65,0x7B,0xAC,0xC0,0x56, -0x4D,0x0D,0xDA,0x7A,0x8E,0xAF,0x78,0xCC,0x12,0x0F,0xC5,0xF0,0x19,0xCE,0x57,0xA3, -0x2C,0xD7,0x00,0xC1,0xDC,0xB3,0x64,0x82,0x34,0x4C,0xE3,0x95,0x35,0xE2,0x6D,0xB5, -0x75,0x32,0xE5,0x7D,0x47,0x68,0xBF,0xC2,0x73,0xCA,0xA4,0x54,0xCA,0x1D,0x1D,0x3A, -0x39,0x3D,0xEA,0x3E,0xBD,0xB5,0x62,0xE5,0xEF,0x0C,0x38,0x0E,0x57,0x80,0xFA,0x40, -0x96,0x60,0xB7,0xCC,0x9E,0xAB,0x7C,0xD8,0xD3,0x66,0x04,0x58,0xFA,0x2D,0x69,0x7E, -0xB0,0x53,0x84,0xD9,0x66,0x7E,0xA9,0xF5,0x28,0x02,0xFF,0xC7,0xC0,0x17,0x64,0x49, -0xFF,0xA1,0x76,0x64,0xF8,0x92,0x45,0x87,0xB2,0xA3,0x65,0xFC,0x83,0x54,0xF6,0x98, -0x07,0xDE,0x09,0xE3,0xDE,0xBB,0x6C,0x88,0x63,0x9A,0xB4,0x14,0x0A,0xDD,0x55,0xB2, -0x5C,0x28,0xFF,0x4E,0x1E,0xEB,0x3C,0x18,0x98,0xFE,0x4F,0x8B,0x67,0xB0,0x8E,0x04, -0x05,0xCD,0x1A,0xF2,0xE6,0x3E,0xE9,0x35,0x0D,0x13,0xDA,0xF3,0x20,0xF7,0x08,0xC5, -0x67,0xEA,0x3D,0xB7,0xEE,0xBE,0x69,0xBD,0xC3,0x36,0x14,0x18,0x8F,0x58,0xE8,0x8A, -0xA4,0x57,0x80,0xC9,0x01,0x50,0x87,0xBC,0x7A,0xE1,0xAD,0x76,0x78,0xAF,0x92,0x07, -0xE6,0x9F,0x48,0x43,0xA9,0x91,0x46,0xD5,0xB8,0xDA,0x6F,0x8F,0x2A,0xFD,0x71,0xB6, -0x3E,0x0F,0xD8,0x0B,0xA8,0x86,0x51,0xC3,0x27,0x4E,0xF0,0x84,0x1E,0xC9,0x11,0xE2, -0xD3,0x9A,0x4D,0x73,0x06,0x6F,0xB8,0x84,0xF2,0x63,0x25,0x7C,0xCE,0x19,0x09,0x2A, -0xF0,0x88,0x5F,0x42,0x1F,0xFC,0x2B,0x0E,0xB6,0xB7,0x61,0xEC,0xA6,0x71,0xE7,0xAC, -0x1C,0xF3,0x24,0xD5,0x97,0x3C,0xEB,0x46,0x05,0x19,0xD2,0xF1,0x8E,0x59,0xC9,0xAA, -0x73,0xEE,0x39,0xA7,0x62,0x5E,0x89,0xD1,0x70,0x98,0xA7,0x05,0x53,0x84,0xEE,0x50, -0x72,0x00,0xD7,0x48,0x0D,0xF0,0x27,0x10,0xD5,0x01,0x02,0x39,0x6B,0xBC,0x90,0x16, -0x32,0xDB,0x0C,0xD3,0x2E,0xEE,0x39,0x2D,0x7D,0xA7,0xAA,0x37,0x37,0xE0,0x1E,0xC4, -0xF1,0x66,0xB1,0xAD,0xDD,0xA4,0x73,0x94,0x42,0x9F,0x95,0x30,0xD4,0x03,0x20,0x19, -0xD4,0xA8,0x7F,0x46,0x79,0xC5,0x12,0x51,0x32,0x2B,0xE5,0xF4,0xE8,0x3F,0x4A,0x4F, -0xDF,0x4E,0x99,0xAB,0xA0,0x06,0xD1,0x4B,0xAA,0xF9,0x7D,0xBE,0xC1,0x16,0x45,0x69, -0x7A,0x1B,0xCC,0x5B,0x96,0x2B,0xFC,0x50,0x14,0x68,0xC3,0x91,0x44,0x93,0xF8,0x51, -0x6C,0x0C,0xDB,0x5A,0xB3,0x1D,0xCA,0x43,0x58,0xB6,0x8F,0x03,0x3B,0xEC,0x00,0xD6, -0x6B,0x80,0x8D,0x55,0xCA,0x86,0x14,0xF4,0x98,0x58,0xA6,0x66,0x4F,0x1A,0x33,0x0D, -0x8D,0x8B,0x60,0xB3,0x09,0x5F,0x0E,0x37,0xD2,0xC0,0x74,0xFE,0x69,0x15,0x1A,0x24, -0x29,0x33,0x7C,0x17,0xD1,0x95,0x1C,0xEF,0x25,0xAA,0xE9,0x94,0xF0,0x5F,0xC9,0xF7, -0x3E,0x25,0x7D,0x00,0xE7,0xB0,0x0F,0xD9,0xB7,0xE6,0x37,0xD8,0x77,0xA7,0xB6,0x88, -0x25,0x2D,0x6E,0x1B,0x3C,0x2B,0x4F,0x02,0x1F,0x27,0x5E,0x19,0x30,0xCF,0x99,0xA7, -0xCB,0x2C,0x81,0xF5,0x92,0x44,0x8E,0xAC,0x23,0x82,0xC7,0xBC,0x76,0xB1,0xA1,0x9F, -0x43,0xAE,0x8B,0x7D,0x68,0xFB,0xCB,0x56,0x16,0xB0,0xC0,0x8E,0x3F,0x7F,0x26,0x18, -0xFE,0x6D,0xF5,0xC0,0x22,0x08,0x72,0x1C,0x11,0x8F,0xF8,0xB1,0xE2,0x41,0xC5,0xFB, -0xBF,0x8C,0x55,0x81,0xA3,0x20,0xDB,0x9D,0x5A,0x00,0x3C,0x3E,0x0C,0x56,0x3C,0x02, -0x2A,0x61,0x2D,0x14,0x4A,0x8E,0x9C,0x74,0xA2,0xD5,0x11,0xEB,0xC4,0x4E,0xEC,0xD2, -0xD6,0x43,0xF3,0xE8,0xF0,0xB1,0x19,0xCE,0xD7,0xF7,0x46,0xC9,0x8C,0x96,0x7C,0x42, -0xAD,0xAF,0x64,0x93,0x30,0x39,0x51,0x0E,0xCA,0x44,0xE8,0x7A,0x8A,0xB8,0x54,0x6A, -0xCF,0x38,0x91,0xF1,0x72,0xC8,0xE2,0x4C,0x3E,0x31,0x69,0x0F,0xAC,0xB7,0x7D,0x43, -0xE8,0x5A,0xD4,0xD6,0xF2,0xC0,0x6A,0xCC,0xD5,0xFF,0x4C,0xC1,0xE3,0x57,0xD2,0xEC, -0xBA,0xB9,0x65,0x84,0x5D,0x8F,0x8A,0x63,0xA9,0x4A,0x85,0x74,0x90,0x2E,0xD8,0xE6, -0x72,0xFB,0xEF,0x4C,0x9C,0x27,0xE3,0xA2,0x50,0x88,0xBE,0xB6,0x21,0xCD,0x8A,0xB4, -0x84,0xA0,0x42,0xBA,0x5E,0xDE,0xD8,0x60,0xDA,0x40,0xFC,0x7E,0xBE,0xA9,0x71,0x4F, -0x76,0xEF,0xFF,0x48,0xB2,0x40,0xAA,0x8C,0xE1,0xDA,0x5D,0xE4,0x6F,0x3B,0x32,0x0C, -0x0D,0x03,0x68,0x33,0x27,0x38,0x47,0x19,0xAD,0x6A,0xA1,0x54,0x22,0xD1,0x95,0xAB, -0xFB,0x58,0xC5,0xC5,0x77,0xF8,0xD7,0x49,0x32,0x91,0xC5,0xAF,0x94,0x0A,0xF8,0xC6, -0x17,0x2A,0x5B,0x29,0xA4,0x61,0x9D,0x9A,0x72,0x81,0x95,0xBF,0x1C,0x42,0x38,0x06, -0xF2,0x73,0xE7,0xCC,0x7F,0xFA,0xDD,0x41,0xB3,0xC6,0x13,0xF8,0x93,0x32,0xC7,0xF9, -0x45,0xC9,0xEA,0x7B,0x67,0xB8,0x87,0x59,0x7E,0x21,0x39,0x1F,0x58,0x36,0x08,0x36, -0x18,0x66,0x18,0x26,0x79,0x9B,0xBA,0x47,0x28,0x1D,0x53,0x23,0x66,0xA5,0xA5,0x9B, -0xD7,0x62,0xD3,0xE9,0xDB,0xE6,0x65,0xE5,0x4C,0x2C,0x06,0x12,0x3B,0x5B,0x06,0x38, -0x48,0xF6,0xD8,0x76,0xBB,0x62,0x81,0x85,0xEB,0x52,0xDF,0x6C,0x56,0x90,0xA0,0x9E, -0x28,0x12,0x5C,0x16,0x63,0xA8,0x93,0x5D,0xD6,0xE0,0x50,0xDE,0x85,0x08,0xEB,0xD5, -0x4D,0xC3,0xE8,0x73,0x20,0x79,0x01,0x1E,0x43,0x93,0xB6,0xAD,0x70,0x9F,0x89,0xB7, -0x05,0x09,0x6A,0x3B,0xA2,0x00,0xFA,0x9C,0x05,0xAB,0xC8,0x95,0xBD,0xB5,0x6E,0x50, -0x5F,0xE0,0xD9,0x61,0x5B,0xEE,0xED,0x65,0x0F,0x23,0x4A,0x1D,0xE0,0x4B,0xCD,0xF3, -0xF5,0x35,0xA6,0xCB,0x0A,0x0E,0x5C,0x34,0xCB,0x53,0xFE,0x6D,0xE5,0x79,0xFA,0xC4, -0x9B,0xBC,0x41,0xA5,0x34,0x29,0x45,0x0A,0x74,0xA9,0xBB,0x97,0x9C,0x82,0x78,0x46, -0xC3,0x26,0x83,0xFD,0xC2,0x84,0x1E,0xFC,0xF6,0xE1,0x71,0xDF,0x97,0x16,0xE7,0xD9, -0x3B,0x10,0x4D,0x05,0x1A,0x4E,0x0C,0x24,0xCC,0x6C,0xC6,0x52,0x80,0x3A,0xDC,0xE2, -0xDF,0x68,0xD1,0xE1,0x6B,0xAA,0x99,0x55,0xFC,0x69,0xF3,0x57,0x3A,0x4D,0x11,0x2F, -0x86,0xD3,0x33,0xB8,0xCF,0xB6,0x21,0xF1,0x9F,0x67,0x9E,0x59,0xD0,0x7E,0xC8,0xF6, -0x75,0xBD,0xAE,0x4B,0xB0,0x31,0xD9,0x8E,0xF2,0xC1,0x55,0xFF,0xFE,0xF9,0x61,0x5F, -0x9E,0x89,0x71,0xA0,0x21,0x59,0x20,0x1F,0x12,0x90,0xE4,0xAE,0x1B,0x7A,0x07,0x39, -0x5E,0xC1,0xF9,0x60,0xC8,0xF7,0x67,0xF6,0xB9,0x4E,0x91,0x70,0x6D,0x31,0x3A,0x04, -0x39,0x63,0x3C,0x07,0x28,0x7B,0x0B,0x16,0xC6,0xE4,0x44,0xDA,0xAB,0x8F,0x42,0x7C, -0x57,0xEA,0xDB,0x69,0x83,0x24,0xFF,0xBD,0xDF,0x77,0xCE,0x49,0xA7,0x23,0xE2,0xDC, -0xA3,0xC2,0x07,0x9D,0xA8,0x73,0x83,0x96,0xE9,0x5A,0xD5,0x64,0x0B,0x6E,0x03,0x3D, -0xDB,0x7C,0xC1,0xE5,0xCE,0x96,0x00,0xF0,0xB5,0xEE,0x3D,0xD0,0xC9,0xF4,0x5B,0x65, -0x92,0x97,0x63,0xAC,0x9A,0x46,0x84,0xA4,0x45,0xBB,0x98,0x85,0x87,0x02,0xE3,0xDD, -0x12,0x1F,0x6B,0x2C,0x1C,0x2F,0x6B,0x22,0x17,0xA7,0xD6,0x99,0xA4,0x3F,0xFD,0xC3, -0x0B,0x64,0x09,0x35,0x8A,0x06,0xD4,0xB4,0x14,0xB8,0xCA,0x86,0x7F,0x2F,0x36,0x08, -0x94,0xF0,0x02,0xAA,0xEF,0xB2,0x05,0xD1,0x10,0x98,0xEE,0xA6,0xDC,0xD2,0x68,0x56, -0x51,0x8D,0xBA,0x6F,0x71,0x99,0xB0,0x4F,0x48,0x0C,0x22,0x32,0xBC,0xA3,0x79,0x47, -0x0F,0x70,0x19,0x31,0x78,0xBB,0x9B,0x46,0x26,0xB5,0xF5,0x8B,0x37,0xF7,0xA6,0x98, -0xF3,0x52,0xC7,0xCD,0x2B,0x2A,0x59,0x15,0x67,0xB2,0xB3,0x8C,0xA3,0x07,0xC2,0xFC, -0x50,0xAC,0x9A,0x6E,0xA9,0x53,0xA2,0x97,0xC2,0xC4,0x60,0xFA,0x4A,0x28,0x04,0x3A, -0xEA,0x29,0xA5,0xD4,0x25,0x49,0x34,0x1B,0x54,0xA8,0x9A,0x96,0x9E,0x88,0x70,0x4E, -0x09,0x17,0x78,0x37,0xEA,0x82,0x30,0xD4,0x9D,0x6F,0x94,0x51,0xC3,0x76,0xD3,0xED, -0x66,0xBF,0xBF,0x58,0xBD,0x03,0xE6,0x83,0x01,0x8B,0xEC,0xB5,0xCE,0xCC,0x64,0x5A, -0x3F,0x04,0x5D,0x01,0x45,0xCD,0xD0,0x7B,0x88,0x5C,0xB2,0x62,0xAF,0xAB,0x62,0x5C, -0xB1,0xE1,0x36,0x8F,0x0B,0x2E,0x7D,0x35,0x6C,0x2D,0x27,0x13,0xED,0xF1,0x7A,0x44, -0x4B,0xA4,0x89,0x75,0x80,0x75,0xAD,0xBE,0x3D,0x2E,0x75,0x10,0xDD,0xC4,0x7F,0x41, -0xE9,0x7B,0xF4,0xD7,0xE3,0xA0,0x1B,0xDD,0x15,0xAF,0xDC,0x91,0xEC,0xE7,0x6D,0x53, -0x2B,0x40,0x0D,0x15,0x2D,0x4B,0x3E,0x13,0x0A,0x14,0x78,0x2A,0xFD,0xE5,0x7E,0x40, -0x01,0x1D,0x7A,0x3F,0x2E,0x1A,0x6C,0x10,0x92,0xD0,0x24,0xEE,0xE4,0x6F,0xED,0xD3, -0x2F,0x54,0x1D,0x11,0xC7,0xB4,0x2B,0xF9,0x52,0x80,0xB4,0xBE,0x13,0xF2,0x87,0xB9, -0x20,0x18,0x5E,0x1E,0x82,0x04,0xDE,0xBC,0x34,0xB9,0xEB,0x87,0xA1,0x0D,0xCA,0xF4, -0x73,0xDA,0xCF,0x4D,0x0E,0x1E,0x48,0x30,0x51,0x9F,0xA8,0xA1,0xF1,0x49,0xDE,0xE0, -0xAE,0xFD,0x35,0x90,0x03,0x2C,0x77,0x3D,0x47,0xB3,0x92,0x8D,0x57,0x86,0xB7,0x89, -0x96,0xCD,0x66,0x34,0x6B,0xBA,0x92,0x15,0x53,0xA6,0xC8,0x31,0xA5,0x70,0xE8,0x89, -0x64,0x90,0xC9,0x69,0x75,0x87,0x8C,0x36,0x39,0xF0,0xF4,0x0D,0x36,0xDD,0xD6,0x24, -0x69,0x27,0x73,0xDE,0x6D,0xDD,0x94,0x74,0x13,0x3D,0x13,0xEA,0x32,0x12,0x1D,0xEB, -0xD5,0xC2,0x2A,0x3B,0xB6,0x9D,0x4F,0xEF,0x95,0xFC,0x54,0xAD,0x42,0xED,0x92,0x14, -0x4B,0x2E,0x58,0xD7,0x65,0xD7,0x9C,0x76,0xC5,0xBC,0x44,0xBD,0x0A,0x2D,0x1A,0xD4, -0xE6,0xD8,0x03,0x21,0x35,0x47,0xCC,0xB6,0xA1,0x23,0xBF,0x46,0xD1,0x40,0xAC,0xB9, -0x71,0xA3,0xEF,0x5A,0xA0,0xAA,0x59,0xCE,0x5D,0x6F,0x0F,0xF6,0x3B,0xE7,0xE1,0x1E, -0xCC,0x51,0xA0,0xA8,0x4C,0xD8,0xB5,0x50,0xFC,0x54,0x95,0x6C,0xA9,0xA4,0x30,0x5D, -0xCF,0x4E,0xBC,0xB7,0x26,0x45,0xDF,0xA7,0xBB,0xFA,0x7C,0x85,0x82,0xAD,0x12,0x54, -0x28,0x20,0x35,0xD9,0x18,0x5C,0xE1,0x80,0xFE,0x45,0x86,0x7F,0x79,0x2F,0x6B,0xD6, -0x57,0x8A,0xE0,0x73,0x49,0xED,0xB0,0x60,0x4A,0x81,0xF6,0x0F,0x4B,0x18,0x6E,0xE1, -0xE4,0xD0,0x09,0x29,0xB0,0xFA,0x49,0x8E,0xC8,0x8B,0x7E,0x87,0xB5,0xBB,0x33,0x42, -0x66,0x98,0xC3,0x61,0x32,0x01,0xCB,0xF7,0xB6,0xCD,0x46,0xBF,0x9F,0x5C,0xFE,0xA5, -0xD2,0xFD,0x12,0x04,0x71,0x93,0x88,0x26,0x50,0x58,0x35,0xCC,0x08,0x3E,0x0B,0xC7, -0x56,0x9D,0xF6,0x64,0xA9,0x81,0x50,0xEC,0xDF,0x65,0x87,0x7E,0x90,0x75,0xD8,0x8C, -0x5D,0x02,0x62,0xFB,0xC9,0x65,0x30,0x68,0x06,0xC2,0xF9,0x00,0x5B,0xD3,0xB5,0x2A, -0x7B,0x2B,0x6D,0xD2,0x30,0x72,0xC9,0x86,0xF8,0x9F,0x5A,0xA3,0x41,0x10,0x6C,0xE9, -0x05,0x96,0xAE,0x6F,0x7A,0xCB,0x83,0x75,0xC0,0x98,0x65,0x9C,0x7F,0xF3,0xB1,0x0A, -0x0F,0x1E,0x2C,0xE7,0x80,0x8E,0x79,0xCA,0xC7,0xAD,0x57,0xAE,0xB1,0x74,0xF8,0x8D, -0xE0,0xF0,0x2D,0x09,0x2E,0x4F,0xD7,0xA5,0x5E,0x91,0xF2,0x0B,0xCF,0x4C,0xBE,0xB5, -0xF3,0xEB,0x25,0x12,0xF5,0x0F,0x0C,0x3E,0x37,0x39,0x33,0xCA,0xA7,0x63,0xF9,0x9A, -0xF2,0xFC,0x33,0x05,0xC3,0x1C,0x3A,0x1B,0xE9,0xAB,0x7F,0x86,0x5F,0x1C,0x7E,0xE5, -0xEE,0x58,0x8B,0xA1,0x1B,0x0E,0xE2,0xD1,0x74,0x5C,0x15,0xEC,0x15,0xCF,0xE7,0x36, -0x03,0xBE,0x80,0x47,0xD8,0x14,0x21,0x08,0xA6,0x16,0x8D,0x74,0x1A,0xE6,0xC1,0x1F, -0x61,0xA7,0xFB,0x5E,0x8E,0xE3,0x77,0xA9,0xBE,0xDE,0x5D,0xA4,0xCD,0x5F,0xAF,0xA6, -0xEB,0x6F,0xB9,0x96,0x4F,0x8A,0xB6,0x01,0x85,0x27,0x9F,0x66,0x2E,0x0D,0x1E,0xF4, -0x5A,0x3D,0x5A,0xC4,0xE0,0x6A,0x19,0x4E,0x4C,0x5B,0x2A,0xD3,0x57,0x07,0x6D,0xFE, -0x1F,0x1A,0x38,0xE3,0x60,0xE2,0x99,0x46,0x69,0xB0,0xE4,0x1D,0xB7,0xA8,0x22,0x51, -0xEA,0x78,0xAF,0x81,0x22,0x51,0xDB,0xB7,0xE8,0x44,0x91,0x68,0xB8,0x81,0x04,0x78, -0x7D,0x03,0x43,0xFA,0xE2,0x19,0x1B,0x3F,0x46,0x59,0x22,0xDB,0x96,0xA9,0x02,0x50, -0xA3,0xFF,0x61,0x06,0x58,0x9C,0xA1,0x00,0x11,0x2C,0x00,0xF9,0x4E,0x39,0x4A,0xC0, -0xDB,0x6A,0x8C,0x93,0xB1,0xDB,0x48,0xAE,0x3C,0xD4,0xD5,0x2C,0x56,0xE9,0x82,0x10, -0xB8,0x64,0xE1,0x9D,0x19,0x7D,0xE0,0xA0,0x27,0xE2,0xF8,0x01,0xF1,0xAF,0x63,0x56, -0xD3,0xEA,0x04,0x13,0x57,0xD0,0xAE,0x43,0xB2,0x06,0x89,0x70,0xAB,0xB7,0x21,0x4E, -0x31,0xB3,0xBF,0x4A,0xAF,0xE6,0x56,0x8D,0xEC,0x8F,0x5E,0xA7,0xCC,0xB1,0x40,0x48, -0xF6,0xDC,0x17,0x25,0xF8,0x30,0x01,0x0C,0x94,0x13,0xBA,0x43,0x76,0x06,0x4D,0xFF, -0x2B,0x3F,0x29,0xC6,0x37,0x34,0xCE,0xC7,0x9A,0xDA,0x7D,0x84,0x88,0xA5,0x10,0x5C, -0x14,0x85,0xAC,0x7C,0xBB,0xA2,0x42,0xDD,0x60,0x4C,0x11,0xE8,0x28,0xD1,0xC4,0x28, -0x49,0x26,0x52,0xDF,0x39,0x59,0xC0,0xA4,0xB3,0xE9,0x67,0x9E,0x07,0x17,0x2D,0xEE, -0x97,0xDA,0x70,0x23,0x6A,0x9B,0x93,0x35,0xF5,0xA8,0x60,0x99,0xF7,0x73,0xB9,0x8A, -0xBB,0x7B,0xFD,0x82,0x11,0x77,0xE8,0xA2,0x92,0xC9,0x66,0x9F,0x86,0x62,0xD9,0x9B, -0x41,0xA6,0xDA,0x5F,0x1C,0x48,0xE5,0x90,0xA8,0xDF,0x4A,0xB3,0x49,0x0B,0x7F,0xF2, -0xD0,0xF5,0x18,0x0C,0x90,0xDE,0x69,0x8A,0xEB,0xBA,0x6C,0x95,0x0D,0x1F,0x2F,0xE6, -0x93,0xFA,0x54,0x03,0xD5,0x2B,0x2C,0x3A,0xB4,0xDC,0x55,0xAC,0xF2,0x52,0x9D,0xAB, -0xF4,0xD4,0x1D,0x2D,0x3C,0x6C,0xC5,0x94,0x24,0x1C,0x05,0xFC,0x6F,0x38,0x6A,0xC1, -0x83,0xFE,0x40,0x07,0x3F,0x3E,0xC6,0xC5,0x78,0x84,0xC1,0x38,0xE5,0xAB,0x73,0x52, -0x7A,0x3C,0x7B,0xC5,0xF1,0x1B,0x08,0x2E,0xDC,0x9B,0x7A,0x83,0xE7,0xB8,0x62,0x41, -0x07,0x9E,0xA4,0x67,0x92,0xAD,0x6B,0xFB,0x75,0xB3,0xFB,0x02,0xC4,0xAA,0x53,0x53, -0xB2,0xEC,0x63,0x15,0x3A,0x0B,0xC3,0xF5,0x44,0x48,0x31,0xC8,0x8F,0x97,0x25,0x6E, -0x77,0x8B,0xC1,0x72,0xDA,0x67,0x23,0x79,0x91,0x37,0x9B,0x62,0x31,0xEF,0xE3,0x16, -0xFF,0x4B,0x89,0xB2,0x33,0x20,0xCA,0xD7,0xE4,0x9C,0x45,0xBC,0x7A,0xD2,0x95,0x2B, -0x20,0xA0,0xBD,0x59,0xA2,0xD9,0x5B,0xBF,0x55,0x7C,0x14,0xED,0xF9,0xB4,0x70,0x4D, -0xBD,0x53,0xD3,0xAA,0xDD,0x21,0x24,0x38,0x9E,0x11,0xB2,0x4B,0x7E,0x1D,0x5E,0xE4, -0x5F,0x0A,0x68,0xF3,0x79,0x99,0x80,0x24,0xF3,0x72,0xBC,0x45,0x4D,0xC4,0xB4,0x3D, -0xC3,0xEE,0x10,0x17,0x08,0x0C,0xF1,0xC0,0xC6,0x42,0xB9,0x40,0x3A,0x09,0x0E,0xF0, -0x0D,0x16,0x26,0xEF,0xD0,0x1E,0x29,0x0A,0x71,0x78,0x34,0xCD,0x16,0x32,0x19,0xCB, -0x34,0x84,0x8D,0x7D,0x63,0xB0,0x9A,0x17,0x22,0xC6,0xD9,0x20,0xA3,0xAC,0x32,0x55, -0x8C,0x41,0xF0,0xB8,0xFD,0x05,0x04,0x3C,0xEE,0x9E,0x4D,0xB4,0xD2,0xBD,0x52,0x44, -0x87,0xDE,0x64,0x27,0x98,0xD4,0x61,0x88,0xCA,0x9A,0x6D,0x94,0x2F,0xE3,0xF1,0x1A, -0xE5,0xC7,0x1F,0x3E,0x0E,0x6B,0xF7,0xA1,0xD6,0x99,0x72,0x8B,0x3F,0x28,0x2A,0xD1, -0xED,0x47,0x97,0xBE,0x88,0x84,0x71,0xC8,0x98,0xCB,0x6E,0x97,0x02,0x36,0x09,0xCF, -0x4F,0x0E,0x7C,0xF7,0xDC,0x00,0x25,0x18,0x3D,0x3B,0x3B,0xC2,0xF4,0x8E,0x47,0x77, -0x89,0x76,0xC2,0x8F,0xBA,0x83,0x43,0xFD,0xD5,0x67,0x8F,0x76,0x6E,0xD6,0x85,0x2F, -0x55,0x82,0xEA,0x7B,0x91,0xFF,0x68,0xAA,0xCE,0x51,0xA2,0x5B,0x23,0x37,0x29,0xCE, -0x89,0x71,0x71,0x99,0x6E,0x1B,0x1B,0x14,0x1C,0x52,0x1C,0x2F,0x24,0x24,0x2C,0x69, -0x03,0xE2,0xE2,0x80,0xF6,0xDF,0xDF,0x48,0x1F,0x00,0x1F,0x7E,0x0E,0x0E,0x71,0x1E, -0xA8,0x70,0x70,0xB9,0x59,0x21,0x21,0x19,0xB1,0xC1,0xB1,0x11,0x44,0x44,0xC8,0xED, -0x8B,0x62,0x62,0x88,0x71,0xA0,0xA0,0xB0,0xD2,0x77,0xD2,0xC4,0xE6,0xE6,0x17,0x90, -0x25,0xD1,0xD1,0x95,0x35,0x90,0x90,0xC4,0x3F,0x24,0x3F,0x7A,0x7C,0x7C,0xB6,0xAB, -0xEA,0xB8,0xB8,0x33,0x23,0xBC,0xBC,0xFE,0x32,0x1B,0x32,0x48,0xA1,0xA1,0x91,0x51, -0x9E,0x88,0x88,0x77,0x36,0x8F,0x8F,0xD8,0xF6,0x47,0xF6,0xD0,0x20,0x20,0x38,0x79, -0x61,0xC5,0xC5,0xC5,0x50,0xB6,0xB6,0x87,0xB3,0xB2,0xB3,0x60,0x2F,0x2F,0x74,0x3A, -0x44,0x0B,0x0B,0x2E,0xA6,0xCB,0xCB,0x0C,0x98,0xCE,0x98,0x37,0x5F,0x5F,0xC0,0xFE, -0xE4,0x7F,0x7F,0xFA,0x30,0xA7,0xA7,0xF6,0x14,0x58,0x14,0x2D,0xE5,0xE5,0x45,0xC1, -0x9B,0xA9,0xA9,0x53,0x42,0xBA,0xBA,0x99,0x49,0xF7,0x49,0xDF,0x00,0x00,0x1C,0x7D, -0x6B,0xCD,0xCD,0xC7,0x03,0xBD,0xBD,0xDF,0x1A,0x35,0x1A,0x4E,0xFC,0xFC,0x3E,0xA3, -0xC7,0x6D,0x6D,0xCB,0xEC,0x53,0x53,0xDE,0x74,0xBC,0x74,0xA9,0x30,0x30,0x68,0x39, -0x9D,0x75,0x75,0x89,0x08,0x22,0x22,0x4B,0x3A,0x11,0x3A,0x4A,0xBE,0xBE,0x8D,0x52, -0x1A,0xDC,0xDC,0xA7,0xF9,0x60,0x60,0xF8,0xDB,0x5C,0xDB,0xE6,0x06,0x06,0x7B,0x1C, -0xA0,0x6B,0x6B,0xAA,0x65,0x84,0x84,0x80,0x8C,0x8A,0x8C,0x67,0x69,0x69,0xD3,0xDB, -0x98,0x54,0x54,0xAD,0xD1,0xE1,0xE1,0x51,0xFF,0x6C,0xFF,0xF2,0xD4,0xD4,0x10,0xA5, -0x6E,0xEC,0xEC,0xE3,0x21,0xB4,0xB4,0xF4,0xAB,0xE8,0xAB,0x22,0x9D,0x9D,0xFB,0x07, -0x4F,0xED,0xED,0xC3,0xBB,0x78,0x78,0xA2,0xB2,0x93,0xB2,0x40,0x58,0x58,0x86,0xBF, -0x02,0x0C,0x0C,0x6F,0x8D,0x55,0x55,0xB9,0x99,0xEF,0x99,0x17,0xAC,0xAC,0xAE,0x63, -0xBE,0x67,0x67,0xB8,0x74,0x97,0x97,0x82,0xDE,0x69,0xDE,0xD6,0x9B,0x9B,0x9C,0x66, -0xCF,0x76,0x76,0xD8,0x2C,0x03,0x03,0x4E,0x40,0xDC,0x40,0xFD,0x5E,0x5E,0xE1,0xDE, -0x53,0xF2,0xF2,0xC0,0x73,0xA8,0xA8,0xBA,0x2D,0x07,0x2D,0x4B,0x1D,0x1D,0x73,0x0F, -0x43,0x39,0x39,0x1B,0x70,0xB7,0xB7,0xA6,0xBB,0xB8,0xBB,0x62,0x04,0x04,0x08,0x6D, -0x21,0x1E,0x1E,0x5E,0x98,0x66,0x66,0x9F,0x5A,0xF5,0x5A,0xCE,0xD0,0xD0,0x04,0xB5, -0x12,0xC7,0xC7,0xB4,0xFB,0x68,0x68,0xF2,0xFE,0x4D,0xFE,0xD2,0x89,0x89,0xBF,0x57, -0x7A,0xE8,0xE8,0xF3,0x92,0xEE,0xEE,0x1D,0xF3,0x72,0xF3,0xE0,0xCC,0xCC,0x4A,0xE7, -0x56,0xD3,0xD3,0xE4,0xA8,0x63,0x63,0xAA,0x2B,0x60,0x2B,0x2A,0x34,0x34,0x7C,0x29, -0x5D,0x35,0x35,0x09,0xDD,0x41,0x41,0xFD,0xF9,0x0B,0xF9,0x93,0x51,0x51,0xAD,0x9D, -0xE3,0x4D,0x4D,0xCF,0xA2,0xEB,0xEB,0x28,0x19,0x67,0x19,0x1F,0x36,0x36,0x0F,0x58, -0x95,0x6E,0x6E,0x9A,0x96,0xCE,0xCE,0x39,0x81,0xB5,0x81,0x55,0x7A,0x7A,0xD1,0xCA, -0x16,0x08,0x08,0x7F,0x76,0x9F,0x9F,0x88,0x10,0x4C,0x10,0x3D,0x91,0x91,0xE5,0x15, -0x64,0xE4,0xE4,0xE1,0xB2,0xEF,0xEF,0x3C,0x52,0xFF,0x52,0xCC,0x27,0x27,0x7E,0x38, -0xF3,0x86,0x86,0x14,0x27,0x9C,0x9C,0xDA,0x11,0x6D,0x11,0x1D,0x42,0x42,0xAF,0x8C, -0x37,0x09,0x09,0x5F,0x28,0x23,0x23,0x6A,0xEA,0x09,0xEA,0x82,0xD8,0xD8,0x0E,0xB7, -0xFC,0xAF,0xAF,0x32,0x8F,0x5D,0x5D,0xB3,0x8A,0xED,0x8A,0x06,0x47,0x47,0x9A,0xBC, -0x15,0xF5,0xF5,0x81,0xAF,0x5C,0x5C,0x92,0x3B,0x30,0x3B,0x6A,0xFA,0xFA,0x59,0xC2, -0xEE,0x77,0x77,0xF8,0x10,0xA6,0xA6,0xD7,0x05,0x29,0x05,0x4D,0x94,0x94,0xD0,0x25, -0xD9,0x61,0x61,0xD9,0x61,0xA4,0xA4,0xA4,0x93,0x96,0x93,0x64,0x0A,0x0A,0x65,0x0E, -0x27,0xC2,0xC2,0x84,0x6B,0x2C,0x2C,0x26,0x6A,0x81,0x6A,0x8A,0x50,0x50,0x8C,0xBD, -0xBD,0x9A,0x9A,0x46,0xC9,0x65,0x65,0xCD,0x16,0x2B,0x16,0x5C,0x02,0x02,0x6F,0x0C, -0x66,0xF7,0xF7,0xF0,0x56,0x9E,0x9E,0xA9,0x46,0xBB,0x46,0x9C,0xF4,0xF4,0x34,0xA1, -0xC5,0x7E,0x7E,0xDA,0xBE,0x4F,0x4F,0x90,0x6F,0xB4,0x6F,0xBA,0x8B,0x8B,0xCC,0x26, -0x57,0x3D,0x3D,0x0B,0x85,0xD5,0xD5,0x31,0x83,0xC6,0x83,0x24,0x79,0x79,0x83,0x9B, -0x5A,0x07,0x07,0x3C,0x1A,0x2E,0x2E,0x55,0x56,0xEB,0x56,0xDC,0x4A,0x4A,0xA5,0x8E, -0xC9,0xAA,0xAA,0x02,0x4C,0x12,0x12,0x3F,0x48,0xD6,0x48,0xFF,0x17,0x17,0x0A,0x7C, -0x2E,0x37,0x37,0x78,0x16,0x8E,0x8E,0xF9,0x95,0xF1,0x95,0x05,0x18,0x18,0x46,0x3F, -0x5E,0xC8,0xC8,0xF7,0xD7,0xC9,0xC9,0x7F,0x4E,0xB1,0x4E,0x9E,0xFD,0xFD,0x1F,0x83, -0xFA,0x73,0x73,0xE8,0xB3,0xF8,0xF8,0x2A,0xC1,0x75,0xC1,0xD5,0xD9,0xD9,0x2F,0x97, -0xD4,0x5B,0x5B,0xEE,0xAE,0x4B,0x4B,0x84,0x01,0x3D,0x01,0x5D,0xA2,0xA2,0xC3,0x00, -0x3A,0x33,0x33,0x68,0x3E,0x0F,0x0F,0x50,0x92,0xB7,0x92,0x44,0xB0,0xB0,0xE0,0x31, -0x22,0xE3,0xE3,0xA0,0xC6,0xDA,0xDA,0x7D,0x7B,0xF0,0x7B,0xEA,0x25,0x25,0x0D,0x49, -0x42,0xD7,0xD7,0xF4,0xCD,0x45,0x45,0xE9,0x6C,0xE6,0x6C,0xEB,0xB5,0xB5,0xD5,0x01, -0xA1,0x85,0x85,0x45,0x34,0x87,0x87,0xD2,0xAD,0x8F,0xAD,0x43,0x7D,0x7D,0x97,0x8B, -0xDB,0x72,0x72,0xC8,0x5A,0x3E,0x3E,0x05,0x43,0x8E,0x43,0xAC,0xC0,0xC0,0x54,0xF5, -0x3B,0xDD,0xDD,0x87,0xB1,0xF0,0xF0,0x20,0xC3,0x06,0xC3,0xA4,0xE7,0xE7,0x36,0xB0, -0x33,0xC6,0xC6,0x94,0x41,0xA5,0xA5,0x85,0xE0,0x70,0xE0,0xF1,0x26,0x26,0x5F,0x18, -0xCB,0xB9,0xB9,0x13,0xD3,0xE9,0xE9,0x5B,0xD6,0x63,0xD6,0xD4,0x31,0x31,0x49,0x19, -0x76,0x3C,0x3C,0x2B,0xFC,0x57,0x57,0xCA,0xFB,0x78,0xFB,0xE2,0x64,0x64,0xEC,0xE9, -0x79,0x15,0x15,0x0D,0xB6,0xCF,0xCF,0x18,0x38,0x62,0x38,0x3B,0x82,0x82,0xE7,0x04, -0x13,0x29,0x29,0x5B,0x72,0xBF,0xBF,0xAC,0x59,0xA7,0x59,0x9F,0x4C,0x4C,0xC2,0xEF, -0x2D,0xCA,0xCA,0x86,0x75,0x80,0x80,0x94,0x13,0x1E,0x13,0x6C,0xF1,0xF1,0x01,0x91, -0xA3,0x96,0x96,0x54,0x7B,0x28,0x28,0x32,0x0D,0x23,0x0D,0x4F,0x2A,0x2A,0x41,0x0A, -0xDD,0xAE,0xAE,0x12,0x47,0x8D,0x8D,0xAB,0xA3,0xE2,0xA3,0x20,0xC4,0xC4,0x40,0xE5, -0xB8,0xCA,0x67,0xB9,0x87,0x40,0xD3,0x86,0xB2,0xDB,0x7C,0xDA,0x22,0xA8,0x9F,0x9E, -0xC9,0x5F,0x83,0xC8,0x9F,0x02,0x89,0x9E,0xD9,0x55,0x99,0x54,0xC1,0x05,0xD1,0xD0, -0x8B,0xEC,0x72,0x8A,0x36,0x2C,0x0E,0x37,0x97,0xED,0x6F,0xEC,0x6D,0x48,0x30,0x31, -0x6F,0x94,0xEE,0x6E,0x81,0x21,0xB4,0x80,0x50,0x82,0xC7,0x83,0xEC,0x9E,0x67,0x66, -0x20,0x18,0x2D,0x21,0xE1,0xA5,0x50,0xE0,0x75,0xB4,0xD4,0xB5,0xBC,0xDA,0x73,0x72, -0x4C,0xE2,0xBB,0x4D,0x95,0x71,0xF0,0x94,0x4A,0x0E,0x51,0x0F,0xA6,0x4C,0xFF,0xFE, -0x51,0x8D,0xC9,0x50,0x43,0xD8,0x8F,0x42,0xF6,0xEB,0x08,0xEA,0x54,0xE3,0xA2,0xA3, -0x56,0xCB,0x88,0x57,0x27,0x4C,0x7F,0x26,0x28,0x17,0x2A,0x16,0xC5,0x21,0xF1,0xF0, -0x7B,0xD0,0xBE,0x7A,0x3B,0x1E,0x31,0x3A,0x20,0x97,0xA2,0x96,0xF1,0x30,0xD4,0xD5, -0x57,0xEA,0xA8,0x56,0x52,0xB8,0xFE,0x53,0xDA,0x4A,0x85,0x4B,0xC3,0x0F,0xD9,0xD8, -0x64,0xCC,0xBD,0x65,0x62,0xFC,0x8A,0x63,0xF2,0xCB,0x2C,0xCA,0x5B,0x53,0x1D,0x1C, -0x5D,0x93,0xDB,0x5C,0x2F,0x4E,0x75,0x2E,0xB1,0xC4,0x60,0xC5,0xEB,0xA6,0x58,0x59, -0xF0,0x00,0xE5,0xF1,0x9B,0x12,0x9D,0x9A,0xE2,0xCF,0x38,0xCE,0xA4,0x46,0xF7,0xF6, -0x34,0x5C,0x7D,0x35,0x08,0x0B,0x17,0x09,0x95,0xE5,0x65,0xE4,0xF5,0x14,0xF4,0xF5, -0xCA,0x0D,0xD2,0xCB,0x9A,0x32,0xBC,0x9B,0x66,0xAF,0xDC,0xAE,0x9A,0xD5,0x5A,0x5B, -0x4B,0xA4,0xFA,0x4A,0x88,0x03,0x9F,0x89,0x1B,0x0D,0x03,0x0C,0x4F,0x63,0x39,0x38, -0xAA,0xE9,0x56,0xAB,0xDF,0x82,0x49,0xDE,0x16,0xBA,0xB9,0xBB,0x18,0x1F,0x12,0x13, -0x00,0x3C,0x29,0x01,0xA7,0x44,0xF7,0xA6,0xD3,0xDD,0x1B,0xDC,0x94,0x73,0xF2,0xF3, -0x25,0x2D,0x1D,0x24,0x84,0x11,0x81,0x85,0x41,0x91,0xC5,0x90,0xDE,0xA1,0x6A,0x6B, -0x74,0x9C,0xFD,0x75,0xE2,0xF4,0x02,0xE3,0x9E,0x7A,0xF1,0x7B,0xB6,0x58,0xFB,0xFA, -0x8D,0x8B,0x13,0x8C,0xF4,0xD5,0x35,0xF5,0x3E,0x3B,0x10,0x3A,0x45,0xE1,0xB1,0xB0, -0x83,0xE6,0x70,0x82,0x2D,0x3F,0x06,0x2C,0xDC,0x62,0xAB,0x63,0x59,0x59,0x15,0x14, -0x05,0x09,0x19,0x04,0x02,0x78,0x6E,0x03,0x6C,0x27,0x5E,0x26,0x6B,0x66,0x18,0x19, -0x88,0xBE,0x23,0x89,0x39,0x6F,0x42,0x38,0xA2,0xDF,0x68,0xDE,0xA1,0x74,0xC0,0xC1, -0x7C,0x96,0xFF,0x7D,0x8D,0x33,0xAA,0x8C,0xED,0x70,0x88,0x71,0x5D,0x7D,0x35,0x34, -0xE8,0x5A,0xA7,0xE9,0x9C,0x53,0xDB,0x9D,0x55,0xB5,0xF5,0xB4,0x76,0xC8,0xAB,0xAA, -0x43,0xAE,0xF8,0x42,0x18,0x4B,0x47,0x19,0x84,0xF6,0x67,0xF7,0xC0,0x13,0xC6,0xC7, -0x5C,0xB2,0xFB,0x5D,0xD3,0x90,0x57,0xD2,0xE6,0xEF,0x1C,0xEE,0xE9,0xAC,0x50,0x51, -0x0A,0x45,0x5A,0x0B,0xBE,0x26,0x8C,0xBF,0x2E,0x3F,0x04,0x3E,0x79,0x78,0x14,0x15, -0x5F,0xE0,0xAA,0x5E,0x06,0x68,0x7A,0x07,0x8C,0x76,0xEF,0x77,0xA9,0xFC,0x40,0x41, -0x93,0xB6,0x30,0x92,0x07,0x48,0x5B,0x06,0x34,0xB3,0x92,0xB2,0xCB,0x87,0x59,0x58, -0xBE,0xAD,0x06,0xBF,0xE6,0xE4,0x16,0xE7,0xE8,0x47,0xBA,0x46,0x9C,0xFB,0x72,0x73, -0xC5,0x41,0x91,0xC4,0xED,0xB7,0x4E,0xEC,0x05,0xA1,0xB1,0xA0,0x57,0xFF,0xBD,0xBC, -0xF9,0x2B,0xC7,0xF8,0x40,0x89,0xDD,0x41,0xF7,0xFC,0x1E,0xFD,0x74,0xC2,0xA3,0xA2, -0x65,0xED,0x9D,0x64,0xDD,0xF3,0x3A,0xDC,0xB4,0xF3,0x52,0xF2,0x8E,0xE5,0x7E,0x7F, -0x22,0x6B,0x5C,0x23,0x22,0x7C,0x4A,0x23,0x08,0x16,0x0B,0x17,0x15,0xA5,0xA5,0xA4, -0x8E,0xD9,0x42,0x8F,0x70,0xCD,0xA9,0x71,0x87,0xE9,0x7B,0xE8,0xD7,0x3F,0xFD,0xFC, -0x75,0xBD,0xDD,0x74,0x1D,0x7B,0x72,0x1C,0x2A,0x1F,0x20,0x1E,0x17,0xAF,0xAD,0xAC, -0xA4,0x84,0x35,0xA5,0x94,0x51,0xD1,0x95,0xAD,0x60,0xD8,0x61,0x31,0xA0,0x84,0x85, -0x3E,0x25,0x0E,0x3F,0xD7,0x80,0x43,0xD6,0x10,0x92,0x97,0x93,0xAF,0xD2,0x68,0x69, -0xB7,0x86,0x24,0xB6,0x1F,0x0A,0x01,0x1E,0x49,0x11,0x4D,0x10,0xE1,0x24,0xD0,0xD1, -0x4D,0xC3,0x9B,0x4C,0x9D,0x73,0xFA,0x9C,0xAE,0x7F,0xC4,0x7E,0xC6,0x3D,0xEE,0xEF, -0x4F,0xB0,0xEA,0x4E,0x8B,0x52,0xCD,0x8A,0x85,0xE1,0x71,0xE0,0xEF,0x82,0x78,0x79, -0xC7,0x32,0xE0,0xC6,0x28,0x0F,0x33,0x29,0x36,0xBB,0x98,0xBA,0x01,0x95,0x81,0x80, -0x04,0x28,0x39,0x05,0x0E,0x6A,0x70,0x0F,0xB3,0xCC,0x6A,0xCD,0x47,0xEB,0xB9,0xB8, -0x77,0xCE,0xAC,0x76,0x6C,0x9F,0xE7,0x6D,0x07,0xA9,0xBB,0xA8,0x96,0x79,0xFA,0xFB, -0xC8,0x7E,0xA3,0xC9,0xE3,0xD4,0x23,0xE2,0x3C,0x33,0x1A,0x32,0x09,0x1D,0x01,0x00, -0xB6,0xA7,0x04,0xB7,0x45,0xB9,0xE8,0x44,0x37,0xAC,0x8E,0xAD,0x8D,0xF9,0x61,0x60, -0x54,0xB8,0xF9,0x55,0xC3,0xD0,0x07,0xC2,0x64,0xA7,0xD6,0xA6,0x14,0xB3,0xB2,0xB3, -0x6B,0x80,0xFE,0x6A,0x20,0x0D,0x39,0x21,0x1A,0x1A,0x15,0x1B,0xE7,0x0A,0xF8,0xF9, -0xC3,0x26,0xF0,0xC2,0x7C,0xDF,0xB7,0x7D,0x81,0xC1,0x55,0xC0,0xC4,0x37,0xE6,0xE7, -0x66,0xBF,0xCC,0x67,0x44,0x99,0xC9,0x45,0x6E,0x2F,0x54,0x2E,0xAB,0xF6,0x48,0x49, -0x4E,0x91,0xCA,0x4F,0x2C,0x1F,0x27,0x2D,0x93,0xCD,0x4B,0xCC,0x7A,0x64,0x0B,0x0A, -0x02,0x4F,0x58,0x03,0x53,0x98,0xDF,0x52,0x92,0xDA,0x5D,0xDB,0x5F,0x77,0x3D,0x3C, -0xBC,0xDE,0x77,0xBD,0xD6,0xA0,0x62,0xD7,0x62,0x8F,0xF8,0x8E,0x69,0x6C,0x10,0x11, -0x24,0x0C,0x3D,0x25,0xFF,0x86,0x6D,0xFE,0x8F,0x69,0xF3,0x68,0xB0,0x76,0xD3,0xD2, -0xAE,0xFD,0x46,0xAF,0x3D,0x7F,0x56,0x3C,0x8A,0x5E,0xC1,0x5F,0x60,0xF2,0x87,0x86, -0x6C,0xC6,0xBF,0x6D,0x6F,0xCE,0xB5,0x6E,0x00,0x96,0x83,0x97,0xC8,0x9B,0x46,0x47, -0xD5,0x11,0xD1,0xD4,0x98,0x43,0xCF,0x99,0x7E,0x2B,0x40,0x2A,0x27,0x9A,0xA8,0xA9, -0x1B,0x34,0x3A,0x1A,0x37,0x0C,0x2F,0x36,0x3B,0x0C,0x22,0x0D,0x2F,0x12,0x28,0x29, -0x13,0x3E,0x38,0x12,0x99,0x63,0xEE,0x98,0x1C,0x32,0x3B,0x33,0x5E,0x61,0x2A,0x2B, -0xA0,0x90,0x25,0xA1,0xB1,0x65,0xC0,0xB0,0x8B,0x49,0xD7,0x48,0xD6,0x29,0xEA,0xEB, -0xE4,0x44,0xB5,0xE5,0xD9,0xE3,0x2E,0xD8,0xBA,0x5B,0xF4,0x5A,0xCF,0xA3,0x79,0x78, -0x31,0x69,0x4D,0x30,0x09,0x2B,0x36,0x08,0xC2,0xCE,0x19,0xCF,0x61,0xE4,0x90,0x91, -0xAF,0xE2,0xB3,0x69,0x5D,0xD3,0xD6,0xFB,0x14,0x4E,0xA4,0x2F,0x2F,0x66,0xB7,0xED, -0xD2,0x40,0x6C,0xCB,0x3E,0x65,0xB5,0x2E,0xBD,0x66,0x25,0xAE,0x0C,0x74,0x86,0xFF, -0x21,0x0A,0xD5,0x81,0x90,0xA4,0x1B,0x41,0xEC,0xC9,0xDB,0x50,0xA7,0xE6,0xBF,0x6D, -0x56,0x20,0x88,0xAB,0x93,0xF6,0x18,0x10,0xB0,0x51,0x1F,0x94,0x2D,0x75,0xA6,0xFE, -0x05,0x2B,0xD0,0xA0,0x3C,0x16,0xB7,0x5F,0x23,0x6F,0xB2,0x39,0xC5,0xC1,0xFA,0x4A, -0x46,0x24,0x9C,0xAF,0x79,0xE3,0xF2,0xEF,0x7C,0x09,0x8B,0x00,0x3A,0x8C,0x48,0x07, -0x6E,0xA5,0x35,0x2E,0xBD,0xBF,0x36,0x77,0x5A,0x1C,0xB8,0x33,0x4E,0xBC,0x0C,0x37, -0x94,0x78,0x12,0xF3,0xB0,0x80,0x3B,0x45,0x60,0x0A,0x94,0x1F,0x81,0xD5,0xAA,0x5E, -0x9C,0xF8,0x9A,0x73,0x95,0x91,0x1E,0x71,0x7B,0x3C,0xB9,0x32,0xCF,0xC9,0xF8,0x42, -0x42,0x04,0xB8,0x8F,0xC6,0x53,0x4D,0xE0,0x3D,0x7D,0xBE,0x35,0x3F,0xAD,0x6C,0x26, -0xFE,0xE1,0xE1,0x6A,0x9B,0xFC,0x10,0x12,0x52,0x0F,0xA3,0x28,0x40,0x7B,0xC5,0xF0, -0xC1,0x5B,0x64,0xD0,0x17,0x6A,0x9C,0x08,0xA8,0x99,0xCF,0x44,0xE0,0x0F,0x11,0x84, -0xE4,0x6D,0x77,0xE6,0x03,0x2E,0x88,0x58,0x24,0x5A,0x80,0x0B,0x04,0x6F,0x95,0xE4, -0x23,0x02,0xDF,0x89,0x54,0xF8,0xDF,0xD9,0x5C,0xC6,0x64,0xEF,0xBE,0xD8,0x98,0x53, -0x6D,0xBA,0x29,0x31,0xB5,0xB5,0x3E,0x75,0xEF,0x37,0x26,0xAD,0x39,0x71,0xB6,0xFA, -0x06,0x34,0xCC,0xBF,0xFB,0x18,0x70,0x96,0x7A,0xD3,0x57,0xDC,0x63,0x69,0xF4,0xE2, -0x5C,0xA8,0x0A,0x23,0x16,0x4B,0x9D,0x28,0x1D,0xB2,0x51,0xDA,0xA6,0x08,0x50,0x83, -0x80,0x5C,0x22,0xD7,0x3D,0x37,0xB6,0x7F,0x06,0x84,0x7C,0xF7,0xEB,0xE9,0xFC,0x62, -0x38,0x99,0x5F,0x12,0x24,0x4C,0xAF,0x1D,0x50,0x1E,0xB0,0x3B,0xCA,0xE8,0xDC,0x63, -0x9A,0xD0,0xB4,0x5B,0x70,0xC8,0xFB,0xCD,0xF5,0xEE,0xE5,0x6E,0x3C,0x50,0x92,0xDB, -0x52,0x00,0xAC,0x8B,0x34,0x1C,0xBF,0x5D,0x02,0x4F,0xB3,0x38,0xE7,0x3D,0x24,0xB6, -0x30,0x19,0xD7,0x92,0xA2,0xA3,0x29,0x74,0x1E,0x4C,0xAC,0x27,0xF7,0xF6,0xFF,0x7D, -0xE1,0x5A,0x45,0xD1,0xCF,0x78,0x44,0xC2,0xEA,0x13,0x07,0x8C,0x6B,0x72,0xE7,0xF9, -0x59,0x9F,0x38,0x14,0x51,0xCD,0xDA,0xE9,0x26,0x4B,0x93,0x18,0x1A,0x63,0x87,0xE8, -0x16,0x30,0xD8,0xBB,0xA4,0xC4,0x2F,0x15,0x0E,0x97,0x67,0xEC,0xF2,0xD7,0xDB,0x5C, -0xD8,0xC8,0xEE,0x43,0x7C,0xD6,0xF7,0xDF,0xB9,0xAD,0xEA,0x61,0xDE,0xEC,0xCC,0x67, -0x68,0x8D,0x1B,0x06,0x71,0xE9,0xFA,0xED,0x56,0xC4,0x6C,0xE7,0xB6,0xC3,0x8B,0x48, -0x8A,0xD4,0xA0,0x5F,0xD5,0x51,0x5E,0xF1,0x3B,0xA7,0x62,0xE9,0x85,0x1A,0x61,0x91, -0x2A,0x95,0x41,0x1E,0x9F,0xE8,0x14,0x02,0x2C,0x49,0x9B,0x10,0xB2,0x0C,0x40,0x87, -0xF5,0x7E,0x75,0xF5,0x0E,0x11,0x85,0x6A,0x9D,0xA9,0xCA,0x41,0x31,0x6A,0xA5,0xE1, -0x67,0x32,0xAB,0xB9,0x96,0xC3,0x1D,0x20,0x8C,0x9D,0xEF,0x64,0x47,0x49,0xF0,0xC2, -0xA2,0x55,0x09,0xDE,0x76,0xAF,0xFD,0xAC,0x59,0xE2,0x45,0xCE,0xF9,0x31,0x36,0xBA, -0x83,0x43,0x3E,0xC8,0x05,0x49,0x8E,0x39,0x17,0xB0,0x59,0xD2,0x58,0xAB,0x0D,0x20, -0x88,0xDC,0xAA,0x57,0x65,0xAD,0xEE,0xBD,0xCE,0x17,0x27,0xAC,0x93,0x0D,0x60,0x86, -0xB3,0x46,0x0B,0xCD,0x9E,0xC9,0x15,0x22,0x7E,0x18,0x98,0x13,0x57,0x82,0x2B,0x09, -0x07,0x23,0xDA,0xA8,0xDD,0x5B,0x56,0xF3,0x98,0x8D,0xEB,0x60,0xC0,0xE0,0xDE,0x6B, -0x82,0x54,0x28,0xDF,0xE5,0x25,0x6E,0xB5,0x82,0x54,0x28,0xA3,0x83,0xC6,0xBB,0x4D, -0x31,0x0E,0xC1,0x85,0x1C,0x32,0x97,0x5B,0x00,0x5E,0xA0,0x2B,0x7D,0x65,0xE6,0xEE, -0x1A,0x90,0x74,0x1B,0x8A,0x8D,0x01,0x72,0x73,0x2F,0xA2,0x29,0x4A,0x73,0xC7,0xF8, -0xFD,0xFE,0xFD,0x75,0xB4,0x94,0x3F,0x55,0x36,0x90,0x58,0xD3,0xB1,0xF1,0xBE,0x7A, -0xA4,0x7D,0x27,0xF6,0x0C,0x62,0x87,0x1B,0x95,0xBA,0xD1,0x5A,0xF3,0x39,0x34,0xB2, -0x19,0x8F,0x68,0x04,0xE0,0x10,0x6B,0x85,0x34,0x81,0x4B,0xC0,0x61,0x7A,0xE5,0xF1, -0x9E,0xF0,0x90,0x7B,0xC9,0x1F,0x42,0xA3,0x0D,0x69,0x9A,0x11,0xC2,0xF3,0xCF,0x78, -0x33,0x06,0xCB,0x8D,0x99,0x8F,0x12,0x63,0x69,0xF6,0x61,0xEA,0x19,0x9E,0x79,0x15, -0xBC,0xF9,0xBB,0x72,0xC1,0x15,0x4A,0xA1,0xDB,0xE8,0xCD,0x46,0xFA,0xCC,0xC8,0x47, -0x00,0x1C,0xE2,0x97,0x1A,0x55,0x91,0x3A,0x5D,0x29,0x8A,0x01,0x8A,0x33,0x47,0xB8, -0x43,0x13,0xAE,0x98,0xC7,0x72,0x4C,0xC0,0x9B,0x73,0x16,0x9D,0x6D,0xAE,0x3D,0x25, -0xB1,0x4E,0x01,0xC5,0xD9,0x4F,0x52,0xE3,0xF1,0x25,0x2A,0xA1,0xFE,0x03,0x03,0x88, -0x76,0x21,0xA9,0xAA,0xF4,0x54,0x7F,0xD5,0xD9,0xF9,0xDE,0x55,0x86,0xE7,0x9F,0x6C, -0x0E,0xB4,0x44,0x3F,0x1D,0x13,0x96,0x7B,0xF4,0x01,0x0B,0x80,0x9E,0x37,0x57,0xBC, -0x3F,0xA6,0x67,0x2D,0x8E,0x99,0x05,0x62,0x20,0x91,0x4F,0xC4,0x70,0x5F,0xD1,0xD4, -0xA8,0xDD,0x8B,0x56,0x4E,0xD1,0xC5,0xEA,0x8E,0x8C,0xFC,0x77,0x5E,0x77,0xD7,0xFC, -0x8F,0xE3,0x92,0x68,0x4C,0xA2,0xC7,0x9B,0x84,0x8E,0xF4,0x7F,0x9F,0xD9,0xB8,0x52, -0xCA,0xC4,0xF0,0x4F,0xCC,0x2A,0x47,0x93,0xA1,0x65,0x3A,0xB1,0x7F,0x76,0xF7,0xFD, -0xB4,0x79,0x33,0xF2,0x22,0x2B,0xA9,0x7C,0x76,0x0B,0x83,0x08,0x05,0x81,0x7A,0x0A, -0x3E,0xB1,0x71,0x3A,0xE3,0x42,0x68,0xD4,0x4D,0xF2,0x41,0xCA,0xE6,0xD3,0xCB,0x58, -0x3B,0x86,0x43,0x0D,0xB7,0xC6,0x3C,0x04,0xBC,0x89,0xCB,0x40,0xDD,0x11,0x32,0x9A, -0xD6,0x60,0x48,0xEB,0x74,0xDC,0xFF,0xDD,0x6E,0xC3,0x53,0xD8,0xD2,0x38,0x14,0xB3, -0x26,0x35,0xED,0xBE,0x59,0xC7,0xD2,0xEB,0xFF,0xEC,0xED,0x66,0x6F,0xBD,0x2C,0x36, -0x27,0x22,0xFB,0xA9,0x6F,0xD4,0xE4,0xCE,0x21,0x7E,0xA1,0x2A,0x97,0xC2,0xAB,0x49, -0xDA,0xC0,0xE4,0x4B,0x2C,0x46,0xA7,0x1F,0x0F,0x78,0x89,0x02,0x79,0xAA,0x2D,0x21, -0x35,0x2E,0xE5,0xA5,0x82,0x87,0x09,0x70,0x96,0x44,0x2C,0xA7,0x07,0x92,0x6B,0x19, -0xAE,0xF5,0xA5,0x7E,0x9C,0xBA,0x17,0x53,0x30,0x4A,0x84,0x0F,0x89,0xCE,0xB9,0x45, -0xD0,0x48,0x66,0xC3,0xD6,0x03,0x5D,0xA0,0x08,0x4D,0xBB,0x30,0xB7,0x2D,0x64,0xA6, -0xDA,0x6D,0x33,0xF1,0x26,0x8A,0x03,0x63,0x91,0x78,0x10,0x2E,0x1C,0x2A,0xF5,0x99, -0x25,0xE2,0xCC,0x81,0xA0,0xCD,0xC2,0x24,0x4A,0xA3,0x8B,0x6E,0xF9,0x96,0x10,0xC0, -0xEA,0x29,0x03,0x85,0x8A,0x2A,0x0F,0xC3,0x52,0xBB,0xC9,0x34,0x4E,0x9B,0xA7,0x7A, -0x47,0x17,0xAE,0x16,0xE0,0x16,0x59,0xFF,0x4C,0xA5,0xEA,0x09,0x13,0x69,0xFA,0xD5, -0x93,0xCF,0x7A,0x1A,0x4F,0x4B,0xAB,0xA2,0x6B,0x82,0xAF,0x6B,0x8F,0x33,0x66,0x13, -0xD0,0x1E,0x39,0x88,0xEE,0xD1,0x90,0x38,0x87,0x6E,0x31,0x19,0x7D,0x8E,0x94,0x5C, -0x77,0x53,0x9E,0x62,0x12,0x61,0xDC,0x88,0x12,0xFB,0x49,0xF4,0x06,0x19,0xEF,0xB0, -0x1A,0xE5,0xF3,0xB9,0x76,0x9A,0x43,0x73,0x42,0xAB,0x89,0x64,0xF0,0xB4,0x19,0xEB, -0x8C,0xCC,0x65,0x06,0x7B,0xA0,0x74,0x49,0x97,0x7E,0x71,0x49,0x0E,0x1B,0xE7,0xBA, -0x2F,0x91,0xC6,0xF8,0xF9,0x28,0x7E,0xC1,0x6E,0x87,0x9F,0x5E,0x54,0xA8,0xBD,0x53, -0x18,0x94,0xF1,0xCA,0x4D,0x58,0xBA,0xB1,0x3F,0xD6,0x7F,0xEF,0xFE,0xD7,0x17,0x86, -0x9A,0xED,0x73,0x31,0x08,0xA2,0x05,0x4B,0x01,0xE8,0x58,0xF6,0x90,0x30,0x79,0x0F, -0xE4,0x4A,0x0D,0xE8,0xB5,0x27,0x3D,0xCE,0xEE,0x07,0x97,0xD6,0xDC,0xA2,0x35,0xD1, -0x42,0x27,0xAB,0x23,0x6C,0x59,0x9A,0xB0,0x8E,0x67,0x13,0x32,0x43,0xA9,0xAA,0x45, -0x09,0xF4,0xE0,0xBB,0xE3,0xEB,0xA7,0x02,0x56,0xBF,0xD9,0x20,0x23,0x2D,0xCA,0xA1, -0x6B,0x01,0x82,0x2C,0x05,0x98,0x32,0x71,0x15,0xFC,0x08,0xB2,0x46,0x99,0xAF,0x70, -0x7B,0x41,0x92,0x7C,0xED,0x2C,0x6E,0xC5,0x09,0xE0,0x5A,0xFC,0x2E,0x1F,0xC7,0x9E, -0x43,0x07,0xAA,0x02,0x74,0x89,0x52,0x60,0xA7,0x4E,0x35,0x3D,0xC0,0xF0,0x29,0x9F, -0xC4,0x4E,0x2D,0xCC,0x73,0xBB,0x67,0x52,0x5D,0xB4,0x8A,0x78,0x48,0xFA,0xA1,0x1D, -0x27,0x93,0xCE,0xF2,0x4B,0x84,0x60,0x6D,0x17,0xFE,0x79,0xC1,0xF5,0x84,0x1C,0xDE, -0xD1,0x3E,0x38,0xA9,0x15,0x53,0xE9,0xBA,0xFF,0x16,0xF7,0xA7,0x60,0xFC,0x89,0x33, -0xF8,0x18,0x11,0xA6,0xC7,0xCB,0xA3,0x22,0x3C,0xD5,0x2E,0xBD,0x86,0x11,0x6F,0x38, -0x2B,0x81,0xC2,0xEC,0x5A,0xA1,0x54,0x48,0xE4,0x0D,0xE4,0xAF,0x22,0x0D,0xCB,0x80, -0x54,0x06,0xBD,0x14,0x84,0xED,0xC6,0x04,0xD2,0x3B,0xC1,0xBC,0x35,0x0C,0xDC,0x96, -0x9F,0xDD,0x76,0x04,0xDA,0x3A,0x4F,0xD3,0x47,0xAE,0xB9,0x51,0xC4,0xE0,0x2D,0x8B, -0x30,0x92,0xD9,0xE4,0xFF,0xF4,0xA4,0x1D,0xC7,0x2E,0xB1,0xD9,0xE3,0xA5,0x0A,0xE9, -0x3A,0xE1,0xD3,0x9D,0x36,0x41,0xD8,0xA8,0x68,0x81,0xFE,0x39,0xB1,0x14,0x58,0x0A, -0x68,0x50,0x81,0x7E,0x0D,0x83,0x21,0x6A,0xA9,0x40,0x56,0x50,0x79,0x9E,0x90,0x48, -0xDE,0x7D,0x37,0xE5,0x8F,0x0B,0x2B,0xE2,0x96,0x7F,0x51,0x68,0xB4,0x24,0x5D,0x3F, -0x0E,0xB5,0xE7,0xFD,0xA2,0xDE,0xD3,0x37,0x7F,0x96,0xFF,0x2F,0x21,0x5C,0xC8,0xD2, -0x9E,0xFD,0x77,0x25,0xF5,0xFC,0xA6,0x15,0xC5,0x2C,0xC0,0xAA,0xDD,0x82,0x34,0xF0, -0xB6,0xFB,0x5F,0x0B,0x5B,0x4F,0xBB,0xA6,0x05,0xEC,0x48,0xE2,0xA6,0x15,0x4F,0x1C, -0x31,0xB2,0xD8,0xC5,0x27,0x64,0xEC,0x8D,0xDF,0x36,0xF3,0x83,0x02,0x09,0xEB,0xA4, -0x86,0xBF,0x6F,0x7F,0x5F,0x80,0x70,0x69,0x88,0x61,0x72,0x55,0x6D,0xCE,0x84,0x0C, -0x80,0xDE,0x69,0x18,0x01,0x57,0xF9,0xBE,0x70,0x99,0xBC,0x63,0x34,0x2C,0xDD,0xB7, -0x98,0x9C,0x71,0x42,0x94,0x26,0x1D,0xCF,0x3E,0xD7,0x5F,0xCE,0xBA,0x47,0x53,0x52, -0x44,0x46,0xAD,0x44,0x46,0xBE,0x57,0x57,0x4D,0xA4,0xCA,0x28,0x04,0x68,0xED,0xC3, -0x20,0xD2,0xC9,0xB4,0x00,0xB9,0x16,0x50,0x1E,0xF7,0x5B,0xEA,0xF8,0xB6,0x11,0xE1, -0xE6,0x3B,0x0F,0x9B,0xD3,0xCF,0xB3,0x26,0x9C,0x75,0x22,0x11,0x5B,0xEB,0xB2,0x1F, -0x92,0xEF,0x7B,0x3B,0x29,0xA3,0x25,0x4A,0x10,0xF9,0x38,0x87,0xE1,0xD4,0x08,0x9A, -0x65,0x62,0x8C,0x41,0x07,0x8B,0x23,0x62,0xF2,0x1B,0xC5,0x98,0x24,0x6C,0xCD,0xE7, -0x28,0xD0,0xC1,0xBE,0x58,0xB2,0x45,0x5B,0xB7,0x5E,0x75,0x6D,0x2B,0x2F,0xC2,0xAB, -0x3C,0x80,0xD5,0xFA,0x1B,0x94,0x20,0x7D,0x3B,0xD2,0x6F,0xFB,0x78,0xBE,0x91,0x69, -0x55,0x26,0xBC,0x35,0x21,0xB8,0x36,0x51,0x36,0xDF,0x5D,0xC4,0xA5,0x44,0x4C,0x4E, -0x9D,0xAC,0x74,0x77,0xC6,0x25,0x4C,0xCC,0xB5,0x5C,0x04,0x1E,0x40,0xF8,0xA9,0x17, -0x8F,0x9D,0x66,0x54,0x6F,0xA4,0x64,0x4D,0xD6,0x3F,0xD1,0xA8,0xE2,0x85,0x0B,0xC8, -0x9C,0x8C,0x75,0x56,0xCB,0x1F,0x7B,0xF6,0x18,0xF1,0x3A,0x8D,0x20,0x7C,0xC9,0xF3, -0x0F,0x95,0xE6,0xDC,0x97,0xDB,0xE3,0x32,0x1B,0xF2,0x6B,0xDF,0x0A,0x0B,0xE3,0xAE, -0x83,0x8F,0x6A,0x4A,0xE6,0xCA,0x83,0x23,0x85,0x6C,0x40,0x6A,0x7E,0xDF,0x97,0x0E, -0xE5,0x6A,0x0C,0xC9,0x57,0x9B,0x63,0x72,0x14,0xFD,0x28,0x93,0x95,0x00,0x7C,0x3A, -0xD8,0x1C,0x31,0x82,0x22,0x45,0xC8,0xAC,0xFD,0x14,0x86,0xD4,0x55,0x88,0xBC,0x72, -0xA0,0xDA,0x49,0x3C,0xF7,0xEF,0xB7,0x06,0x1D,0xF4,0x0A,0xB8,0x32,0x4D,0xDB,0xD0, -0x05,0xE6,0xEC,0xA5,0xC2,0xEA,0x87,0x03,0xF7,0x1E,0xF5,0xAD,0xC8,0xF2,0x21,0x95, -0x3E,0xF1,0xD7,0x89,0x75,0x67,0xBD,0x8E,0x2F,0xC6,0x3F,0xBF,0x30,0x3C,0xD9,0xA3, -0xF3,0x4B,0x1A,0xFE,0x40,0x62,0x8D,0x8B,0x5E,0xB7,0xDB,0x2A,0xD4,0xA0,0x3D,0xDB, -0x2A,0xA1,0xC3,0xCD,0x2D,0x6C,0xEE,0x85,0xFA,0x13,0xC7,0x92,0x8D,0x42,0x64,0x60, -0x1F,0xD5,0xF6,0x8C,0x65,0xAC,0x66,0x45,0x29,0xC0,0x5E,0xD8,0x19,0x1A,0xF0,0xAC, -0xD4,0x0E,0x3D,0x9C,0x79,0xB3,0x65,0x5A,0xBF,0x56,0x77,0x67,0x00,0x78,0xE9,0xD7, -0x8A,0xAD,0x63,0x61,0x5D,0x93,0x61,0x7A,0xDA,0x33,0xC3,0xB6,0x9F,0x73,0x76,0x43, -0x9B,0xCD,0x72,0x10,0x91,0x07,0x39,0xEE,0x44,0xAD,0xE8,0x03,0x5A,0xCB,0xB3,0x3E, -0x00,0xD6,0xE9,0x90,0x7D,0x7C,0xAE,0x95,0xB6,0x5F,0x55,0x4C,0x5C,0xAA,0xB5,0x59, -0xE1,0x7A,0x08,0xDD,0x66,0x51,0x98,0xB8,0x9D,0x74,0x02,0x30,0xA8,0x76,0x41,0x71, -0xB9,0xB8,0x50,0x47,0x8E,0xE5,0xC4,0x0C,0xFB,0x12,0xE7,0xB3,0xD0,0xB0,0x39,0xCF, -0x01,0xF6,0xE8,0xB1,0x2B,0xB0,0x34,0x59,0xAF,0x46,0x37,0x37,0x99,0x12,0x70,0x24, -0xDF,0xBD,0x11,0xA9,0x66,0x78,0x1B,0xB6,0x7B,0xB5,0x4A,0x34,0xC9,0x77,0x07,0xBB, -0x24,0x22,0xEA,0xCD,0xBD,0x15,0xAD,0xDB,0x8D,0x43,0xE7,0x6F,0x99,0xB7,0x57,0x2B, -0x94,0x6E,0x5A,0x31,0x57,0xB2,0xE0,0x7C,0xF6,0x38,0x70,0x83,0x0C,0xCF,0xC2,0xC6, -0x0E,0x55,0xC0,0x90,0xC5,0xF1,0x31,0x3F,0x04,0xCA,0xCD,0xCC,0xE0,0x51,0x2E,0xB4, -0x53,0xA7,0x9D,0x3F,0xC9,0x25,0xE9,0xEB,0x98,0x56,0x97,0x0A,0xC7,0x14,0x09,0xD6, -0x6F,0xF1,0xA1,0x55,0x5A,0x88,0xD7,0x46,0xC5,0x0B,0x65,0xA5,0xD9,0x37,0x17,0xEB, -0x88,0x3C,0x46,0x7F,0x5E,0x47,0x1C,0x89,0x72,0xBC,0x68,0x1F,0xC1,0x75,0x0F,0xB1, -0xCF,0xFD,0x01,0xF9,0x2E,0xB8,0x93,0x76,0x97,0x59,0xD4,0x46,0x1A,0xEE,0xD4,0xF1, -0xDD,0xCC,0x13,0xDA,0xF3,0x09,0xFF,0xC7,0xCD,0x03,0x67,0xAF,0x9E,0xF6,0x50,0x6D, -0xAE,0x59,0x60,0x3C,0x64,0x6B,0x0A,0xA5,0xA8,0x66,0xD3,0x7E,0xDD,0x27,0x13,0xFF, -0x1C,0x64,0xD2,0xB3,0xFC,0x20,0xD9,0xEE,0xC8,0x06,0x57,0x9A,0x05,0xED,0xCB,0xED, -0x62,0xC3,0xAC,0x6A,0x37,0x86,0xB4,0x48,0x57,0x99,0x5C,0x0E,0x65,0x69,0xAB,0x09, -0xE7,0xFB,0x29,0xD7,0xEE,0xF8,0x13,0x36,0x1B,0xD5,0xCE,0xD0,0x8A,0xA6,0x44,0x29, -0x1D,0x44,0xD3,0x92,0x15,0x7A,0x6A,0xB4,0x75,0xBB,0x29,0x59,0xB4,0x81,0x7A,0x30, -0x6D,0x80,0xA3,0x26,0x27,0x4D,0x6F,0x83,0xDF,0x11,0x56,0x8C,0xE5,0x61,0x2B,0x81, -0xE5,0x8A,0x2B,0xA4,0xD9,0xEE,0x32,0x20,0x85,0x4B,0xE5,0x65,0x1C,0x8F,0xD2,0x96, -0xA8,0x38,0x66,0x5B,0xCB,0x36,0xF8,0xF8,0xBE,0x70,0xF2,0x49,0x59,0x3F,0x97,0x63, -0xE4,0xAA,0x2A,0x85,0x33,0x49,0x7F,0x87,0xA9,0x67,0xF3,0x5F,0x6F,0x1A,0xA1,0x70, -0x8E,0x5D,0x40,0x18,0x79,0x9A,0xE6,0x54,0x0D,0xC3,0xEF,0xE7,0xB7,0xD0,0x79,0x62, -0x16,0x17,0xD8,0xCA,0x76,0xB3,0xC0,0x7D,0xEB,0x25,0x02,0xEC,0x74,0x09,0xBA,0x78, -0xC1,0x9E,0x0F,0x94,0x2D,0x45,0x6D,0x8B,0x7E,0xB0,0x7A,0x01,0x9C,0x87,0x52,0x1E, -0xFE,0x99,0x30,0xAC,0x13,0xA6,0xB0,0x68,0xC3,0x0D,0x04,0xC2,0xD6,0x74,0x18,0xA7, -0xCC,0xAC,0x02,0xAB,0xDD,0x21,0xF9,0xEF,0x4B,0x85,0x0E,0x40,0x2C,0xCB,0xE2,0xE2, -0x69,0x90,0xA7,0x32,0xA3,0x19,0xBF,0xD7,0xA5,0x6B,0xE1,0x41,0x82,0xA4,0x4C,0x23, -0x0A,0x45,0xC4,0x84,0xD4,0xD4,0x05,0x1A,0x2D,0xE3,0xEB,0xC3,0x8E,0xB6,0x40,0x3D, -0xB9,0x58,0x77,0x2A,0xFA,0xFC,0x03,0x32,0x56,0x98,0x7C,0x2F,0x4E,0x3E,0x80,0x75, -0x9B,0x2D,0x55,0x7D,0x22,0x6C,0x4B,0xA2,0xAA,0x64,0xA2,0x0D,0xF4,0x01,0x3A,0xF0, -0x4E,0xD5,0x80,0x50,0x3A,0xBC,0x83,0x72,0x3F,0xF1,0xDA,0xE0,0x1D,0xAF,0xD3,0xB7, -0xC6,0xDF,0x08,0xD2,0xA1,0x0A,0xAE,0xC4,0xF2,0x3C,0x60,0x97,0x22,0xA8,0xEC,0x8F, -0x04,0x26,0xCA,0xE9,0x42,0x58,0x1F,0x96,0x3A,0xF4,0xEA,0xD5,0xE3,0x00,0x2D,0xE6, -0xB1,0x5A,0x7F,0x20,0x3B,0x52,0x6C,0x9C,0x68,0xA6,0x5B,0x36,0x4C,0x4F,0x82,0x06, -0x7F,0xB1,0xB1,0x05,0xDB,0xFD,0x23,0x33,0x4F,0x81,0x1E,0x54,0xCC,0x47,0x02,0x8E, -0xE6,0xDB,0x28,0xF6,0xE4,0xF0,0x11,0x3E,0x6A,0xA4,0x2A,0x45,0x9B,0xC6,0x55,0x58, -0x8A,0x4D,0x44,0x0C,0x44,0x84,0xC5,0x4A,0xD0,0x1E,0x15,0xC0,0x17,0xDC,0xD9,0xCE, -0xFC,0xE8,0x32,0xDF,0x6B,0x42,0x2C,0x8C,0x73,0xBD,0x48,0x3E,0x95,0xA5,0x5B,0x35, -0xFB,0xA9,0x35,0x99,0x9B,0x26,0xB8,0xE8,0x8F,0x41,0x96,0x1C,0xC6,0x34,0x08,0xF7, -0x63,0xE3,0xAD,0x4B,0x9D,0xFA,0x62,0x34,0x31,0xFF,0xB9,0x8D,0xB5,0xA1,0x7B,0x11, -0x12,0x07,0xDC,0xDE,0xC7,0xE2,0x20,0x2C,0xBF,0x71,0xD2,0x68,0xFB,0x42,0x35,0xBC, -0xC5,0x8E,0x0B,0x80,0xA0,0xE4,0x41,0x2A,0xE6,0x28,0x30,0xD3,0x03,0x8C,0xCD,0x8A, -0x21,0x12,0xEF,0xF8,0x1A,0x53,0x4C,0x9D,0x89,0x47,0xF7,0x7B,0x54,0x0D,0x9A,0x5C, -0x9E,0x1D,0x50,0x48,0x03,0x6D,0x6B,0xA3,0x81,0x4F,0xF5,0x71,0x90,0x95,0x5E,0x00, -0x5A,0x85,0x94,0x14,0x89,0xFE,0x72,0x30,0xAB,0x65,0x82,0x2C,0x93,0xC4,0x5D,0x52, -0xE1,0x9A,0x2F,0xB0,0x8B,0xED,0x63,0x23,0x69,0xA7,0x7B,0x17,0x5D,0x2F,0x93,0x77, -0x60,0xB2,0xAE,0x19,0xA8,0xFF,0x52,0x31,0xCB,0x05,0x06,0xC8,0x3E,0xFA,0xF0,0xC1, -0xFD,0xC8,0x33,0xFE,0xEA,0x37,0xD8,0xF9,0x2E,0xE0,0xBA,0x91,0xBD,0xA3,0x73,0x1B, -0xD1,0xDE,0x1F,0xC4,0x25,0x5E,0x7E,0x90,0xF3,0x3D,0x40,0xB6,0xB0,0x91,0x7E,0x24, -0xF7,0xBB,0x39,0x87,0x61,0x4A,0x2E,0x84,0xA0,0x6E,0xD1,0x74,0x3C,0x8B,0xF2,0xB2, -0xCE,0xDD,0x00,0xD8,0x9E,0x07,0x9C,0xC9,0xAF,0x61,0x92,0x38,0x79,0x3B,0xB7,0x47, -0x29,0x10,0xE7,0xF2,0x12,0x48,0x5F,0x86,0x06,0xC8,0xBC,0xBF,0x71,0x39,0xBF,0x4D, -0x27,0x73,0xE9,0x9F,0x21,0x91,0xB5,0x5F,0x5F,0x91,0x5E,0x04,0xD5,0x25,0x1B,0xF5, -0x22,0x43,0xEC,0xAA,0x56,0x5C,0x0F,0x92,0xBB,0x75,0xC2,0x7C,0xA4,0xC1,0x6A,0x60, -0xAF,0x79,0x61,0x1D,0x7A,0x67,0x18,0xA9,0x43,0x8D,0x0C,0x4A,0x7C,0x0B,0xB2,0x72, -0xAA,0x49,0x64,0x28,0xE3,0xC2,0x24,0x0C,0xB9,0x77,0xB3,0x0F,0x96,0xF4,0x58,0x67, -0x00,0x36,0xCE,0xFD,0x5D,0xBA,0xE2,0x74,0xDE,0x10,0x76,0xAD,0x76,0x78,0xB8,0x0B, -0xDE,0x9D,0x10,0x88,0x16,0x87,0x94,0x49,0x1E,0xD0,0xFE,0xE5,0x9F,0xD6,0x51,0x4C, -0x8F,0x7D,0x41,0x39,0x95,0xE1,0x71,0x2F,0xF5,0x3B,0x21,0xD1,0x0E,0xBE,0xC0,0xB5, -0xF5,0xCA,0x3B,0xF4,0x6E,0x63,0x08,0xAD,0x12,0xDC,0xEC,0xFB,0x24,0xC9,0xEA,0xE8, -0xA0,0x3A,0x6E,0x51,0x98,0xDB,0x46,0x15,0x5B,0x95,0x4E,0x10,0x70,0x19,0xBE,0x6C, -0x14,0x66,0xDA,0xB9,0x02,0x83,0x84,0x4D,0x23,0xED,0x88,0xAE,0x16,0xFC,0xD8,0xEF, -0x39,0x50,0xF7,0xA2,0x4F,0x62,0x28,0xAC,0xD7,0x19,0x54,0x86,0x3D,0xAB,0xF3,0x93, -0x42,0xC7,0x8C,0x4E,0xCF,0xF9,0x33,0x37,0xD1,0x1F,0x35,0xE1,0xCF,0x16,0x01,0xDC, -0xD6,0x9F,0x18,0x82,0xBE,0xE8,0x53,0x26,0x14,0xDA,0x8D,0x9C,0x51,0x3D,0x9F,0x69, -0xF6,0x9B,0x38,0xA6,0x43,0xB6,0xF0,0x78,0x8B,0x45,0x86,0x08,0x34,0x89,0xFA,0xB8, -0xE9,0x98,0x27,0xBA,0x53,0x7D,0x2B,0xB3,0x92,0x5C,0xE4,0x73,0xA2,0xA0,0x6C,0x07, -0xD2,0xAD,0x7E,0x94,0x59,0x09,0x60,0x68,0x57,0xE1,0xB7,0x8E,0x18,0x45,0x5C,0x7C, -0xD9,0x32,0xEA,0x0B,0x39,0xED,0x00,0xEC,0x8E,0x46,0xC9,0xF0,0xD3,0xE3,0x31,0xDA, -0xE2,0xA8,0x4B,0x91,0xC2,0x89,0xFB,0x73,0x3E,0x49,0x76,0x4F,0x17,0x6C,0x7A,0x55, -0x56,0xCD,0x9A,0xF4,0x81,0x1B,0xB8,0xA2,0xD8,0xDC,0x05,0x3C,0x80,0x0E,0x8F,0x37, -0xD3,0xBA,0x68,0x83,0xB9,0x65,0x80,0xE4,0xC2,0x05,0xC6,0xFF,0xC3,0x28,0xEA,0x11, -0x60,0xE0,0x81,0xD9,0x40,0x72,0x79,0x0A,0x40,0x0F,0x4E,0x77,0x3D,0x8B,0xB7,0xB2, -0x4B,0x7E,0x34,0x47,0xD6,0xCD,0xEF,0x23,0x33,0x7E,0x4C,0x75,0x0A,0x9D,0x96,0xA4, -0xAC,0x10,0xBD,0x29,0xE8,0xD4,0xD1,0x04,0x76,0xC1,0xB6,0x8F,0xF1,0x1F,0xEF,0x26, -0xF5,0x93,0x67,0xAA,0x50,0x22,0x69,0x4A,0xD5,0xEB,0x3F,0x06,0xB3,0xD7,0x65,0xEE, -0x48,0x61,0x28,0x58,0xBC,0x50,0x85,0xD4,0x74,0xD0,0xA5,0x9C,0x21,0x94,0xB4,0xAD, -0xCF,0x1E,0xD0,0x27,0x95,0x5F,0xAC,0xF2,0x4D,0x38,0x74,0x4D,0x82,0x1D,0x9E,0x24, -0x62,0xE8,0x8B,0xD1,0xC5,0xCF,0xFC,0x32,0x29,0xA7,0x8F,0xB6,0x59,0x70,0x28,0x49, -0xED,0x17,0xFB,0x2E,0x9D,0x55,0xA4,0xF0,0x9B,0xB9,0x23,0x1A,0xBA,0x22,0x99,0x1B, -0x51,0xF2,0xA2,0xCB,0x46,0x15,0x7F,0x6B,0x1D,0x78,0x64,0x5D,0xCA,0xDD,0x16,0xE4, -0x12,0xFD,0xEE,0xC4,0x9B,0x32,0xA2,0x91,0xDB,0x22,0xF8,0xC1,0x2D,0x40,0x6C,0x79, -0xE0,0xA0,0x41,0x99,0x85,0x0F,0xBC,0xB2,0xB1,0x74,0xC4,0xFD,0xBE,0xED,0x52,0xD4, -0x27,0xCF,0xE9,0xF6,0xA8,0x14,0x91,0x84,0x99,0xA8,0x30,0x09,0xC6,0x09,0xCE,0x30, -0x5F,0x5A,0x04,0x63,0x41,0x53,0x78,0x2A,0xB4,0x50,0xE5,0xDC,0xDE,0xD9,0x06,0xE0, -0x6E,0x48,0x27,0x71,0xD2,0xD9,0xEB,0x33,0x60,0xC0,0xA1,0x98,0x30,0xB1,0x80,0x88, -0xF9,0x33,0xCB,0x0A,0x12,0x91,0x2B,0xBB,0xCE,0xDD,0x12,0x2B,0x1E,0x99,0x86,0xA0, -0xDE,0x0D,0xD2,0x34,0x10,0xE2,0x29,0xCA,0xC4,0xDF,0x1A,0x23,0xDF,0x37,0xE9,0x0E, -0x9B,0x2A,0xB0,0x13,0x90,0x6A,0xA9,0xC2,0xE1,0x34,0xD4,0xED,0x3F,0x98,0xA6,0xA1, -0xE5,0x97,0x73,0xAE,0x7E,0x6B,0x47,0x2D,0x36,0x5A,0x6D,0x54,0x45,0x6F,0x2B,0x56, -0x6F,0x5F,0x31,0x66,0xBF,0x02,0x86,0x85,0x0D,0xA3,0xAF,0x96,0xA6,0x3D,0x9A,0x04, -0x6A,0x68,0x03,0x51,0xEB,0x86,0xD2,0x55,0xFC,0xD8,0x25,0x1C,0x9D,0xFF,0x63,0xC6, -0x87,0x8E,0x08,0xB7,0x28,0x9C,0x11,0x8C,0x2E,0x92,0xBD,0x84,0x92,0xD6,0x45,0xEF, -0x77,0xDB,0xAD,0xE2,0x05,0x87,0x3C,0xBA,0xBF,0xBD,0x03,0x3A,0x2F,0x53,0x7D,0x6A, -0x76,0xCC,0xBB,0xF5,0x33,0x94,0x0A,0x9F,0x61,0x2F,0x4F,0x76,0xD7,0x2C,0xFA,0x15, -0x8B,0x2E,0xA4,0x17,0x70,0x06,0x49,0x4E,0x4F,0x29,0x67,0x5E,0x39,0x44,0x7C,0x7D, -0x64,0xC0,0xA5,0xF9,0xDE,0xC7,0xE7,0x21,0xD6,0x15,0xC2,0xFB,0x47,0x7C,0x3A,0x45, -0xFF,0x1B,0xE5,0x22,0xC0,0xFA,0xF9,0x02,0x70,0x1B,0x6A,0x53,0xC9,0x20,0xE8,0x19, -0x81,0xA6,0x26,0x9F,0x8A,0x43,0xB3,0xF1,0x48,0x1C,0x55,0x6C,0xF7,0xC3,0x35,0xFA, -0xFE,0x0C,0xF3,0x35,0x01,0x93,0x38,0xAA,0x54,0x1F,0x4A,0x73,0x6F,0x88,0xE6,0xB1, -0x83,0xAE,0x2C,0x97,0x62,0x25,0x5B,0x7F,0xFD,0x37,0xCB,0xF2,0x4C,0x9A,0xD7,0xA3, -0x70,0xE4,0x95,0xDD,0xCC,0xE4,0xF5,0x10,0xAC,0x98,0x35,0x0C,0xE7,0x08,0xEE,0x31, -0x07,0xCE,0xC8,0xF7,0xCF,0xB6,0xF6,0x41,0xF0,0x00,0xF1,0xC8,0x6D,0x9B,0xF7,0xA2, -0x54,0xC5,0x90,0xFC,0x60,0x56,0x59,0x0E,0x63,0x3E,0x5C,0x65,0x85,0x2F,0xAB,0x16, -0x17,0xCA,0xDC,0xF3,0x25,0xA3,0x1C,0xBE,0x3C,0x58,0x65,0x5C,0x7A,0x62,0x19,0x5B, -0x3F,0x4B,0x75,0x72,0xE1,0xFF,0xD8,0x26,0x1A,0x4D,0x56,0x6F,0x0E,0x52,0x5D,0x6B, -0xC5,0x96,0x52,0xAF,0xEC,0xC0,0xD5,0x14,0x20,0x5B,0x7A,0x43,0xC1,0x3B,0xFB,0x02, -0xCD,0x16,0xDA,0x2F,0xC9,0xD1,0xF0,0x20,0x3B,0x6D,0x57,0x6E,0x8F,0x27,0xA9,0x1E, -0x13,0xEA,0xF8,0xD3,0x9A,0x13,0xA3,0xB1,0x7D,0x2C,0x50,0x69,0x7F,0x43,0x3D,0x7A, -0xAF,0x0F,0xA1,0x36,0xC7,0xBC,0xFE,0x43,0x12,0x5E,0x4D,0x74,0x00,0x95,0x94,0xAC, -0x90,0xB5,0x24,0x8C,0x4B,0x2A,0x72,0x59,0xE8,0xC8,0x21,0x18,0xA0,0xE1,0x40,0xD8, -0xB5,0x83,0x37,0xBA,0x5F,0x6E,0x66,0x09,0x64,0x0B,0x6E,0x57,0x44,0x81,0xC4,0xB8, -0x72,0xEC,0x9F,0xD5,0x08,0xB8,0x31,0x88,0x1C,0x97,0x8A,0xB3,0xFE,0x36,0xC9,0x0F, -0x3C,0x54,0x69,0x6D,0xE9,0xF5,0xD0,0x24,0xAF,0x66,0xC8,0xF1,0x79,0x9F,0xE7,0xA6, -0x57,0xDA,0x8C,0xE3,0xA7,0x58,0x9E,0xC7,0x3A,0x82,0xB9,0x80,0x23,0x87,0xA5,0xBE, -0x0D,0x46,0x4A,0x7F,0x4A,0x0B,0x73,0x79,0x5D,0xE3,0xBF,0x86,0xE6,0xE6,0x01,0xDF, -0xD1,0xB2,0x62,0x8B,0x61,0x77,0x58,0x2E,0x46,0xD5,0x92,0xAB,0xAB,0x07,0xAD,0x3E, -0x69,0x77,0x1F,0x4E,0x78,0x0C,0x41,0x4C,0x10,0x4F,0x5E,0x67,0x8A,0x06,0x8D,0x3F, -0xCB,0x3E,0xF4,0x07,0x2C,0x88,0x15,0x9C,0xB5,0xBF,0x0B,0x32,0x7C,0xBE,0xC3,0x87, -0x03,0xEE,0xEC,0xD7,0x68,0x5C,0x51,0x0C,0x42,0x1E,0x5D,0x64,0xA7,0xD3,0x75,0xEA, -0x61,0xF7,0x97,0xCE,0xFE,0xE3,0xC7,0x25,0x5E,0x1D,0x42,0x7B,0xB7,0x18,0xAE,0x21, -0xB0,0xB4,0x05,0x8D,0x93,0x38,0xAA,0x93,0xAA,0x42,0xE9,0xD0,0x2B,0x9C,0xB6,0xA5, -0x08,0x71,0x78,0x48,0x0D,0x8D,0x34,0xB8,0x66,0x1A,0x7D,0x44,0x5A,0x8D,0xD6,0xB4, -0x47,0xDE,0x98,0xE7,0xF8,0x84,0xC1,0x44,0x4E,0xC6,0x89,0xB0,0xB2,0x39,0x8A,0x00, -0x89,0x26,0xAE,0x1F,0x20,0x96,0x19,0x8E,0xF9,0xFC,0x04,0x3D,0x9E,0x02,0x9D,0x3B, -0x39,0x63,0x5B,0x5A,0x2D,0xA9,0x14,0xBC,0x16,0x95,0x82,0xBB,0xF6,0x2D,0xDA,0x14, -0xDB,0x3A,0xE0,0x03,0x89,0x11,0xB0,0xA0,0x7B,0xF6,0x8C,0xB5,0xC5,0xF4,0x30,0xCD, -0x7B,0x7B,0x01,0x42,0xC3,0xA8,0xFA,0x53,0x6C,0x18,0x75,0x4C,0xF2,0xE2,0x11,0xDB, -0xA4,0x90,0x35,0xA9,0x52,0x51,0x6B,0x3B,0xDD,0xF8,0x24,0x1D,0x71,0x84,0xF4,0xBD, -0x36,0xDC,0xEB,0xE5,0xCA,0x83,0xF3,0x71,0xCC,0xCC,0x01,0x38,0x07,0xA7,0xA1,0x9E, -0xF3,0xBB,0x49,0x82,0x2A,0xEF,0x13,0xFD,0x19,0xB3,0xAB,0x92,0xB9,0xDF,0x67,0xE6, -0xC9,0xEA,0xF2,0x45,0xBB,0x51,0xB7,0x6A,0x1B,0x20,0x44,0x02,0x0B,0x04,0x30,0x52, -0xB2,0x7D,0x89,0xA9,0xF3,0x91,0x3F,0xAA,0xA8,0x93,0x59,0xAC,0x23,0x02,0x18,0x7C, -0x4E,0xA3,0x75,0x8B,0x76,0x2B,0x00,0x10,0x8A,0xB1,0x2C,0xFB,0xB3,0x4A,0x88,0xA4, -0xDB,0xDB,0xE0,0x66,0x31,0xC2,0xAE,0xF9,0x5F,0x64,0xD4,0xD6,0x63,0x82,0x58,0xBC, -0x16,0x61,0x2D,0x11,0x09,0xFD,0xA9,0xC6,0xD7,0xEC,0xDE,0x54,0xD5,0xAF,0xEE,0x27, -0xDE,0xEB,0xE5,0x53,0x60,0x3C,0x01,0x07,0x15,0x2E,0x27,0x6F,0x87,0x1E,0xBC,0xC4, -0x8C,0x5A,0xB7,0xB0,0x80,0x93,0x4E,0xA8,0xA0,0x9B,0x5B,0xA6,0x8D,0x6D,0xB6,0xBD, -0xAB,0x1F,0x90,0xD2,0x08,0x13,0x46,0x28,0x6E,0x55,0xB0,0x83,0x22,0x22,0x19,0x5D, -0x5A,0xF3,0x61,0xCF,0xE5,0x86,0x3E,0xBD,0xB9,0x82,0x39,0xDD,0xE9,0xF9,0xD2,0x4D, -0x4D,0xF2,0x76,0xD9,0xF6,0xB0,0x1B,0x8B,0xF5,0xCE,0xAB,0x03,0x96,0x7E,0xAD,0xB5, -0xE9,0xEE,0xD2,0x61,0xE4,0x68,0xD1,0x53,0x9F,0xA4,0x5C,0x9E,0x45,0xE7,0x7E,0xFF, -0x0F,0x03,0x34,0x6A,0xFE,0xAB,0x08,0x90,0x07,0x3C,0x16,0x4C,0x6C,0xC1,0x57,0xF0, -0x9A,0x7B,0xA1,0x87,0x98,0x43,0x86,0x78,0xD0,0xEB,0x9F,0x12,0x9A,0x6C,0xA1,0xAB, -0x27,0x05,0x1C,0x44,0x21,0x09,0x75,0x32,0xEF,0xD4,0x98,0x2A,0x79,0xB1,0x42,0x95, -0xAF,0x0F,0x94,0xC6,0x64,0xF3,0xCA,0xC8,0xDD,0xE6,0xAD,0x2D,0xFE,0xF8,0xC5,0x5B, -0x41,0xE0,0x7A,0xC7,0xA5,0x5D,0xA5,0x66,0x78,0x43,0x91,0xB4,0xC6,0xBE,0xFD,0x25, -0x29,0x66,0x12,0x29,0xEB,0x41,0xF7,0x7A,0xCC,0xF7,0xCD,0x5C,0xD6,0xFE,0xED,0x75, -0x4C,0xD2,0x77,0xF8,0x79,0x02,0x26,0x39,0xBF,0x84,0x58,0xBA,0xB4,0x0B,0x8F,0xE2, -0x2C,0x56,0x17,0x1C,0x6B,0xDA,0xEC,0xE1,0x0D,0x36,0x65,0x35,0xFF,0xD8,0xC4,0x7A, -0xB3,0x5D,0x88,0x88,0x8F,0xBA,0x68,0x81,0x73,0x48,0xC2,0xEC,0x59,0xB5,0x62,0xB1, -0xFF,0xCF,0xC4,0x56,0xAF,0x55,0xA7,0x6E,0xF6,0xCD,0xFA,0x51,0x27,0x12,0x1C,0x68, -0x91,0x28,0xAA,0xDF,0xB6,0x6B,0x80,0x50,0x0C,0x37,0x45,0x14,0xA5,0x6B,0x9E,0x93, -0x3B,0x57,0x00,0x0A,0x07,0x3A,0x60,0x01,0x7C,0x47,0x81,0xA0,0x92,0x6E,0xA9,0xA1, -0x61,0xE4,0x5A,0xE3,0x10,0xC3,0x8E,0xF8,0xF4,0xCF,0x8B,0x22,0x31,0x33,0x0A,0x5F, -0x9F,0x4B,0xA4,0xB2,0x3D,0x16,0x76,0x2D,0xCE,0xF5,0xBC,0x2F,0xA7,0x1A,0x9C,0xE0, -0x69,0xE6,0x52,0xE9,0xAD,0x46,0xB6,0x7D,0x35,0x0E,0x23,0x4B,0xCA,0xAC,0xF1,0x3B, -0x12,0x71,0x29,0x05,0x40,0xD3,0xCE,0xE8,0x85,0xBE,0x6F,0xB7,0x6D,0xE1,0x56,0xD1, -0xE0,0xCC,0xDB,0x4A,0x32,0x3F,0x50,0x04,0x1F,0x24,0x54,0x16,0x2E,0x30,0x15,0x43, -0x7C,0x96,0x47,0x8C,0x50,0x18,0x15,0x23,0x42,0x79,0xA6,0xB9,0xFA,0xE8,0xC1,0x4F, -0x21,0x64,0x1A,0x23,0x6D,0x06,0x36,0x3D,0x7E,0x45,0xF0,0xD3,0x57,0xD6,0x6C,0xDC, -0x96,0x69,0xAD,0x99,0x37,0x1E,0x74,0x25,0x99,0xA2,0x3D,0xF9,0x98,0x1D,0xA3,0xD8, -0x73,0xD5,0x48,0xC0,0x77,0xC5,0xEF,0xFE,0xDE,0xE5,0xFC,0x7F,0x67,0x92,0x5C,0xA8, -0xF6,0xED,0xCD,0x7D,0x6E,0xFB,0xC8,0xC0,0xE4,0xDF,0xCB,0x72,0xBC,0x09,0x87,0xE8, -0xBF,0x4F,0x84,0x96,0xEA,0xAF,0x18,0x94,0xB1,0x8A,0x3B,0xD7,0x04,0x47,0x3F,0x1E, -0xC7,0x89,0xFC,0x28,0x69,0xC9,0xFD,0xF2,0x05,0x3E,0x67,0x3F,0x5C,0x85,0x67,0x84, -0x33,0x55,0x08,0x00,0x15,0xE2,0xAA,0xD9,0x28,0x13,0x51,0x24,0xBD,0x29,0x86,0xC9, -0x35,0x34,0x0E,0x67,0x5A,0x10,0x17,0x2B,0x53,0x68,0xC6,0xC8,0x26,0x32,0x1D,0x49, -0xF0,0x8C,0xCB,0x1A,0xEF,0x8E,0x3C,0xB5,0xC7,0xFC,0x9E,0x04,0x37,0x52,0x0C,0x38, -0x6F,0x87,0x54,0x8E,0x3E,0xEB,0x88,0xD0,0xE7,0xDC,0x9A,0x20,0x69,0xF1,0x52,0xC5, -0x76,0xE5,0x4D,0xF5,0x81,0x7D,0xA1,0x46,0xF8,0xC3,0x99,0x3C,0xA2,0x2A,0x99,0xD5, -0xE2,0xBD,0xD9,0x39,0xCB,0xAE,0x38,0x95,0x38,0x03,0x11,0x74,0x97,0x5E,0xAC,0x94, -0xBB,0x5F,0x80,0x82,0x73,0x0A,0x24,0x31,0x36,0x0D,0x72,0x19,0x4E,0xB4,0x75,0xA7, -0x5F,0xC3,0x64,0xFA,0xE6,0x7B,0xC0,0x40,0x33,0x08,0x42,0x2C,0x83,0x0E,0xB8,0xD0, -0xA7,0x0D,0x9C,0xCC,0xF4,0xA3,0x0A,0x98,0xBE,0x85,0x78,0x9B,0xB8,0x19,0x83,0xFC, -0x5D,0xB2,0x66,0x89,0xE1,0x49,0xF5,0x72,0xBB,0x80,0x48,0xAE,0x1D,0x25,0x26,0x65, -0x3A,0x77,0x01,0x2B,0x8D,0xA9,0x79,0x92,0x11,0x2A,0x37,0x7B,0x65,0xE3,0x5E,0xDB, -0xFA,0xFF,0xC1,0x63,0xCA,0x40,0xD7,0x7B,0xCF,0xF4,0x9C,0x0E,0x58,0x95,0x63,0x90, -0x11,0x20,0x2A,0x57,0x33,0xD1,0xBF,0xEA,0x9E,0xA5,0x7C,0xBF,0x3E,0x70,0x05,0x13, -0x65,0xF4,0x5E,0xF7,0x86,0x4F,0x94,0x74,0x8F,0xB4,0x1C,0xCE,0xB2,0x6A,0x89,0x85, -0x4F,0x83,0x74,0xAA,0xD4,0x4C,0xC5,0x77,0x4B,0x70,0x84,0x92,0x21,0x73,0x1A,0x0F, -0x8D,0x7A,0xB6,0x91,0xF1,0x82,0x2E,0xB9,0xF0,0xCB,0x9B,0x36,0x32,0x62,0x09,0x0D, -0x2F,0x07,0x14,0x4E,0x47,0xE1,0xFB,0xDA,0x71,0x4A,0xB3,0x9F,0x20,0x53,0x1B,0x2E, -0xCA,0xBB,0xF1,0x17,0x9D,0x62,0xA2,0x59,0xEC,0xD7,0xC9,0x78,0xE8,0xD9,0xD3,0x6C, -0x17,0x41,0x2C,0x30,0xA2,0x6F,0x90,0x54,0xC0,0xFB,0xDF,0x42,0x81,0x7F,0xBA,0xA3, -0x44,0xD0,0x7F,0xF2,0x34,0xE3,0x8A,0xD8,0xE6,0xDD,0xBA,0x01,0x95,0x2F,0xAE,0xE7, -0x4B,0x93,0x70,0xBE,0xC1,0xA6,0x3A,0x9D,0xDF,0xE4,0xDC,0x5E,0xD8,0x9D,0xE3,0x18, -0x8E,0x2B,0xB5,0xC3,0xDE,0x44,0xC7,0x7F,0xF7,0xCC,0xDA,0x70,0x2F,0x10,0x14,0x62, -0x34,0x14,0x0F,0x46,0x48,0xC8,0xDD,0xF3,0x9B,0xA0,0x4C,0x8A,0x5B,0xC4,0x60,0xC2, -0x97,0x49,0xAC,0xB8,0xB3,0x4A,0xA4,0x71,0xED,0xD6,0xE9,0x59,0x9D,0x2D,0xA6,0xED, -0x6B,0x97,0x50,0x9A,0x71,0x19,0x35,0x22,0xEA,0xD1,0xA8,0x1F,0xF9,0xB9,0xC2,0x1D, -0xD5,0xB8,0xEE,0x0B,0x97,0x6A,0xA0,0x51,0x72,0x49,0xE2,0xCD,0x25,0x63,0x1E,0x1B, -0x5B,0xD3,0x60,0xEE,0x3A,0x24,0x43,0x1F,0x03,0x38,0x06,0x58,0x3D,0x21,0x06,0x41, -0x02,0x31,0x39,0x55,0x0C,0xDC,0x8D,0xE7,0xD4,0xEF,0x8F,0x06,0x3B,0x40,0x00,0x26, -0x6D,0xF6,0x56,0xFD,0xDA,0x8B,0x0C,0xB0,0x30,0x0B,0x13,0x7E,0x8C,0x4D,0xB7,0x9C, -0x43,0x01,0xFD,0xC4,0x4A,0x15,0xE9,0x25,0x51,0xF1,0xAD,0xDA,0xAB,0x57,0xB4,0x65, -0xE2,0x9B,0x67,0xFF,0x9B,0x56,0xAA,0xB7,0xA3,0xBE,0x5F,0x67,0x47,0xBB,0xC6,0xFB, -0xDB,0x4A,0xB6,0x17,0xB1,0xDF,0x23,0x14,0xDC,0x46,0x20,0xE0,0x6E,0x92,0xC9,0xDD, -0xBF,0xB1,0x4D,0x88,0x07,0xB2,0x4E,0xCF,0x2A,0x1D,0xD6,0x4D,0x3E,0xC2,0x59,0x1D, -0x0D,0x1D,0xE1,0x96,0xB6,0xE0,0x1C,0x2C,0xD5,0x6D,0x29,0xC2,0x66,0x9A,0xC3,0xDF, -0x8B,0x5A,0xA6,0x57,0x39,0x1F,0xE3,0x5C,0x30,0x34,0xCC,0x7E,0xBD,0x41,0x83,0x44, -0x4D,0xC6,0x3A,0x0D,0x43,0x82,0x7E,0xBB,0x3F,0x78,0xC3,0x3D,0x60,0x9C,0xA4,0xBE, -0x27,0xFA,0x06,0x5B,0x7D,0x2F,0xD3,0x28,0x62,0xD7,0x9E,0xCF,0x7E,0x82,0x99,0x9D, -0xC1,0x89,0x75,0xCE,0x73,0x87,0x7B,0x8E,0x6F,0xE8,0x93,0xFD,0xA2,0x5E,0x9F,0x47, -0x18,0xF7,0x0B,0x69,0x1E,0x21,0xDD,0x45,0xF0,0x7C,0x0C,0xF6,0xC2,0x3E,0x7B,0xC3, -0xA8,0x48,0xB4,0x66,0x55,0xAE,0x52,0x81,0x6A,0xDD,0x96,0xCD,0x39,0xC5,0x1F,0x5C, -0x4E,0x3B,0xC7,0xF3,0xA0,0xCC,0x30,0x16,0x0F,0x0C,0xF3,0x79,0x7A,0x86,0x8D,0x8D, -0x54,0xF8,0x04,0x2A,0xC5,0xEA,0x16,0x55,0x78,0xFE,0x84,0xFC,0x42,0xBE,0xF3,0xCB, -0xD6,0x70,0x8C,0x20,0x98,0x49,0xB5,0xAB,0x22,0x17,0xDE,0x4F,0xBB,0x47,0xE4,0x25, -0xA5,0x72,0x8E,0x51,0xB9,0x5F,0xA3,0x9C,0xBC,0xA2,0x40,0x64,0x2D,0xD1,0x5B,0x0C, -0xE0,0x88,0x74,0xEE,0xC0,0xDD,0x21,0x67,0xD2,0x2B,0x2E,0x83,0x13,0xEF,0x42,0x2B, -0x6A,0x1B,0xE7,0xF7,0x4C,0x3D,0xC1,0x0B,0xAA,0x95,0x56,0x45,0x10,0xEC,0x10,0x7A, -0xB8,0x83,0x7F,0xBD,0x6A,0x14,0xE8,0x04,0x4C,0x9E,0xB0,0xA8,0xD3,0x2F,0x0A,0xA3, -0x29,0x3D,0xC1,0x92,0x52,0x91,0x6D,0xB9,0x19,0x3B,0xE5,0x58,0xFE,0x02,0x11,0x95, -0xF7,0x71,0x8D,0x00,0xD5,0xEE,0x12,0x41,0x0E,0x2D,0xF2,0x59,0xC8,0x34,0x02,0xB0, -0xD9,0x59,0xA5,0x06,0x53,0x86,0x7A,0xAF,0xEC,0x32,0x10,0xA4,0x8B,0x77,0x90,0x61, -0x40,0xFC,0x00,0x3A,0x15,0xBE,0x42,0xD1,0x02,0x33,0xFE,0x4B,0x25,0xD9,0x51,0x0E, -0xE6,0x54,0xA8,0x34,0xC7,0xE2,0x1E,0x5F,0xD9,0x73,0x25,0xD0,0x3B,0xC7,0x6C,0x2D, -0xDE,0x6B,0x97,0x33,0x1A,0x01,0xFD,0x61,0x64,0xB0,0x98,0xAE,0x71,0x8D,0xD5,0xDE, -0x0F,0x0E,0xF2,0x87,0xE1,0xCB,0x37,0x50,0x0D,0x7F,0xF1,0x08,0x53,0xAF,0x82,0xAB, -0x22,0xDB,0x27,0x7F,0x29,0x1B,0xE7,0x48,0x98,0x92,0x64,0x70,0xBA,0x46,0xC5,0x05, -0xF6,0x9F,0x63,0xEF,0xAF,0x73,0x8F,0xA6,0x8A,0xB1,0x76,0x41,0x29,0xD5,0x4F,0x1C, -0x58,0x2C,0xD0,0xF2,0xA9,0x5B,0xA7,0x88,0xF1,0x5D,0x0D,0xD6,0xE9,0x15,0x07,0x94, -0x52,0x24,0xD8,0xF0,0xC6,0xF5,0x09,0x49,0xCF,0x44,0x33,0xF1,0xEB,0x17,0x74,0xE5, -0x77,0xEA,0x16,0x1B,0x89,0x5A,0xA6,0xA9,0xE8,0x26,0x14,0xB4,0x6B,0x97,0xFC,0xED, -0xA0,0x53,0xAF,0x75,0x04,0xAD,0x51,0xD3,0x55,0xE5,0xA9,0xCA,0x85,0x79,0xFD,0x02, -0x9B,0x91,0x6D,0x8C,0xB5,0xFF,0x03,0x30,0x9D,0xA7,0x61,0x40,0x44,0xB8,0x94,0xAA, -0xAD,0x69,0x95,0x42,0x86,0xE5,0x19,0x19,0xD4,0x4C,0x28,0xE2,0x32,0xCE,0x47,0x0F, -0xEB,0x6E,0x92,0x03,0x12,0x81,0x7D,0xE9,0x28,0x6E,0xD4,0x3C,0x61,0x9D,0x85,0x9E, -0x84,0x73,0x8F,0x71,0xBB,0x57,0xAB,0x96,0xCD,0x37,0x31,0x80,0x3C,0xC0,0x2A,0x6C, -0x7E,0x1F,0xE3,0xE7,0x6F,0x23,0xDF,0x36,0x77,0xB2,0x8B,0xBF,0xB0,0x4C,0xBC,0x76, -0xF2,0x50,0xAC,0x24,0xEB,0x43,0xBF,0xD2,0x41,0xA1,0xBD,0x9A,0xA4,0x58,0xF8,0x26, -0x8A,0xB4,0x48,0xB8,0xE6,0xF4,0x08,0x68,0x2E,0x09,0xD2,0x5D,0xF3,0x0F,0x2E,0xA7, -0x39,0xF6,0x0A,0x49,0xC8,0x5D,0xA1,0xEF,0x96,0xFF,0x6A,0x13,0x12,0xEE,0x63,0x0B, -0xAC,0x87,0x7B,0xAD,0x8A,0x45,0xB9,0xB5,0x18,0x1A,0xE4,0x78,0x5C,0xA0,0xCE,0xE8, -0xC2,0x74,0x88,0x30,0xC9,0x4A,0xB6,0xF9,0xCE,0x65,0x32,0xD1,0xFA,0x06,0x05,0x85, -0x6B,0xF5,0x09,0x18,0xF8,0x58,0xA4,0xDA,0x6C,0xBA,0x90,0xAC,0x99,0x65,0xB3,0x50, -0x3A,0x0B,0xF7,0xB7,0xC1,0xCA,0x36,0x71,0x26,0x03,0xDA,0x5F,0x37,0xCB,0x72,0x3F, -0x66,0xCF,0x33,0x2F,0xD8,0x59,0xA5,0xFB,0x0C,0x5E,0xF0,0x28,0x34,0xC8,0x20,0x6E, -0xF5,0x62,0x9E,0x11,0x84,0xED,0x11,0x13,0x07,0x06,0xFB,0x7B,0x9B,0x67,0xC0,0x21, -0xAA,0x5B,0xA7,0x77,0x36,0xA0,0x5C,0xEC,0x08,0x4A,0xF4,0x38,0xDE,0x22,0x35,0x91, -0x8C,0x68,0x94,0x62,0x72,0x90,0x6C,0x98,0x89,0xE3,0x75,0x10,0x1A,0xE6,0x69,0x09, -0xB6,0x44,0xB8,0x74,0xD4,0xF9,0x05,0x57,0x54,0xC4,0xA8,0xEA,0x17,0xEB,0x56,0x3B, -0xD8,0xB7,0x4B,0xE9,0xA5,0xFB,0x07,0x24,0x1C,0x0E,0xE0,0x68,0x03,0xFF,0x12,0x6B, -0x6F,0x3A,0xC6,0xD3,0xB2,0xC0,0x3C,0x08,0xE4,0x38,0x18,0xA6,0xDB,0x27,0x00,0xA1, -0x80,0xBC,0x40,0xBA,0xF5,0xEF,0x13,0x60,0xA1,0xCD,0x5D,0x16,0xD6,0x2A,0x3F,0x93, -0xED,0xB2,0x4E,0xD9,0x1F,0x36,0xCA,0x53,0xF8,0x76,0x04,0xF4,0x72,0x8E,0x87,0x8F, -0xFA,0x4B,0xB7,0x37,0x3E,0x20,0xDC,0x64,0xB9,0x97,0x45,0x54,0x38,0xC4,0x3E,0x7C, -0x4B,0x1A,0xE6,0xD7,0xDB,0x46,0xBA,0xE7,0x52,0xA3,0xAE,0x8B,0xA9,0x55,0xC7,0x14, -0x5A,0x3F,0xC3,0xE3,0x8E,0x65,0x99,0x91,0x1E,0x7D,0xE2,0x19,0x31,0xCD,0x15,0x5E, -0x8F,0x95,0x69,0x9C,0x48,0x1D,0xE1,0x2F,0x79,0xDF,0x85,0xDC,0xD1,0x2D,0x79,0xD2, -0xCB,0x81,0x7D,0xCC,0x2E,0x24,0xD8,0x70,0x84,0xDC,0x78,0x22,0xB1,0x4D,0x9D,0x56, -0xD0,0xAC,0x50,0xFA,0x82,0xC5,0x39,0x3D,0x70,0xF4,0x8C,0xFE,0x9A,0x66,0xE1,0x01, -0x86,0x60,0x9C,0x60,0xA2,0xC4,0x38,0x1C,0xB5,0x89,0x49,0x46,0x83,0x7F,0x9A,0x63, -0x23,0x35,0xC9,0x90,0xEC,0x7C,0x80,0xEA,0xFC,0x62,0x00,0xE4,0xD7,0x2B,0x1E,0xB3, -0xD4,0x63,0x9F,0x31,0x5A,0x11,0xED,0x31,0x2C,0x7A,0xD0,0x2C,0x93,0x6F,0xCA,0x23, -0xC8,0x7C,0x80,0x32,0x81,0xDA,0x26,0x21,0x35,0x01,0xC9,0x4E,0x05,0xF9,0x75,0x0A, -0x3C,0xD7,0x2B,0x6D,0x99,0x5E,0xA2,0xBD,0x76,0x93,0x8A,0x9F,0x68,0x94,0xAE,0xBC, -0xF0,0x43,0xBF,0x35,0xF9,0x4F,0xB3,0xCC,0xB3,0xEE,0x4F,0x27,0xF6,0x0A,0x1B,0x97, -0x78,0xA1,0xB0,0x3A,0x0C,0x95,0xB2,0x4E,0x96,0x51,0xAE,0x13,0x54,0x34,0x09,0x4B, -0x31,0x4A,0x12,0x73,0x58,0x45,0x36,0x1A,0x66,0x04,0x0B,0x46,0x1A,0xC2,0xB1,0xF3, -0x49,0xF4,0xD4,0x0B,0x3E,0xA0,0xB5,0x7C,0x3A,0xB0,0xE3,0xF2,0xD8,0x58,0xE9,0xAB, -0xBD,0xDC,0x08,0xFF,0x15,0xF7,0xC9,0x57,0x0C,0x9D,0xF8,0xDF,0x74,0x15,0x08,0x4A, -0xBB,0xBB,0x69,0xF9,0xE7,0x4A,0x86,0xA5,0x9B,0xE6,0x14,0xA4,0x6F,0x95,0x93,0xD1, -0x7E,0xC6,0xD1,0x3C,0x79,0x61,0x33,0x3B,0xC3,0x72,0xD8,0x30,0x0F,0xE4,0x82,0xC0, -0xE1,0x52,0xDA,0xA3,0x1C,0xD5,0xE2,0x5E,0xC7,0x52,0xFC,0x10,0xAC,0x19,0xDC,0x9E, -0xF8,0x29,0xB8,0xBA,0x8A,0xFC,0x5D,0xC8,0xC4,0x4D,0xE0,0x0F,0x77,0x09,0x17,0x55, -0x6C,0xE5,0xE0,0x2E,0x59,0x65,0x17,0x1B,0x4C,0x8D,0xA8,0xCF,0x03,0x48,0x22,0x60, -0x35,0x5E,0x02,0x77,0xFD,0x79,0xAF,0xBF,0x2F,0x83,0xC5,0xC1,0xE9,0x7B,0xFB,0xB9, -0xD1,0x26,0x9E,0x93,0x8C,0x9D,0x3A,0xCE,0x1F,0x86,0xF0,0xC4,0x53,0x0C,0x36,0x74, -0x29,0x10,0x50,0x6B,0x54,0x57,0x28,0x16,0x25,0x0B,0x47,0x49,0x44,0x20,0x0D,0x4F, -0xD3,0x55,0xEF,0x91,0xBE,0xA8,0x3D,0xFC,0x15,0x0E,0x72,0x4C,0x78,0xB9,0xA8,0xEA, -0xB4,0xF7,0x2A,0xF6,0x5E,0x24,0x51,0x1C,0x6A,0xA4,0xA7,0xE6,0xBE,0x07,0xD0,0x92, -0x74,0xBF,0xA2,0x36,0xB7,0x8A,0x16,0xF5,0xC1,0x7A,0xD2,0x38,0xC8,0x4C,0xED,0xAF, -0x9F,0x8B,0x7D,0xDD,0x26,0xE2,0xEF,0x64,0x21,0x2B,0x63,0x69,0x2D,0xCF,0x8B,0xC9, -0xEB,0x2B,0xA9,0xA9,0xB8,0xC9,0x5A,0xFA,0x41,0x3A,0x12,0x78,0x37,0x59,0x07,0x45, -0xC1,0x76,0xDE,0x83,0xBB,0x98,0x08,0xF9,0xD9,0xFE,0x4E,0xBC,0x2E,0xD3,0x94,0xD6, -0x03,0x4D,0x27,0x41,0x75,0x73,0x2D,0x37,0xC6,0x45,0xEA,0x07,0x3F,0xD1,0x87,0xC5, -0xA1,0x92,0x5A,0xE3,0x16,0xA6,0x9B,0x54,0xEE,0xC4,0x43,0x86,0x0E,0xF2,0x95,0xD7, -0x44,0xCB,0xE6,0x06,0x95,0xFF,0x41,0xD7,0x94,0x59,0xA4,0x1B,0x84,0xB0,0x5D,0x1F, -0x99,0xEC,0x1C,0xDB,0x98,0xCD,0x7E,0xDA,0x82,0x75,0x9E,0x37,0x22,0x7F,0x34,0x76, -0xCA,0x2E,0x8D,0x88,0x14,0xD7,0xE8,0x56,0xE7,0x53,0xDD,0x11,0x72,0x3B,0x20,0x62, -0xC5,0x62,0xCE,0x87,0x51,0x67,0x1D,0x13,0x81,0x6A,0x82,0x28,0xC0,0xC4,0x6D,0x2F, -0x00,0x1F,0x76,0x42,0xB3,0x9A,0x02,0xF1,0x87,0x42,0xAC,0x00,0x4D,0xBE,0x9A,0xD8, -0xBA,0x9A,0x49,0xF8,0x3F,0x80,0x94,0x7D,0x11,0x2E,0x56,0x6C,0x99,0x1E,0xEE,0xAC, -0x19,0x64,0x14,0x5B,0xBD,0xF9,0x6F,0xFF,0xB4,0x58,0x85,0x1A,0x70,0x31,0x28,0x6A, -0xE5,0x46,0xCA,0xA7,0xEE,0x68,0xAD,0xAC,0xF5,0x5F,0xC3,0x1D,0xE4,0xC1,0x4C,0x0E, -0x5B,0xD7,0xE5,0x19,0x9D,0xFD,0x4B,0xDF,0xBF,0xC7,0x11,0x85,0x3E,0xC7,0x90,0xD2, -0xD5,0x32,0x8E,0x97,0xD3,0x1E,0xE6,0x91,0x5B,0xB6,0x84,0xF4,0x7C,0x9D,0x88,0xCA, -0x8C,0x89,0x6C,0xCE,0x2B,0xD0,0xD0,0x69,0xD2,0x61,0xDA,0x23,0x1D,0xFA,0x8E,0xCC, -0xE3,0x21,0xAB,0xA1,0x7C,0x51,0x06,0x3E,0x4E,0x85,0xA2,0xC7,0x10,0x40,0x39,0x7B, -0x47,0x99,0xB7,0x05,0xA6,0xEA,0x67,0xE4,0x19,0xAE,0xDE,0xEC,0x59,0x8E,0xBE,0xFC, -0x3C,0x75,0x20,0x7E,0x66,0x62,0x2F,0x24,0x04,0x1D,0x70,0x5F,0x5F,0xA0,0x96,0xD4, -0xC0,0x57,0xFE,0x82,0xDC,0x5D,0xAA,0x9E,0x71,0x3F,0x27,0x7D,0x17,0x78,0x06,0x44, -0x55,0xBA,0x86,0x17,0x35,0xF3,0xED,0x77,0x89,0xEA,0x0A,0xA8,0xDF,0x60,0xD6,0x94, -0x98,0xCD,0x3C,0xDA,0x0A,0xF4,0xD5,0x48,0x83,0x62,0x88,0x20,0xF2,0xFB,0x60,0x22, -0x50,0x8F,0xB6,0x12,0xCB,0x5C,0xBC,0x89,0x7A,0xA0,0xB3,0xE2,0x43,0x18,0x32,0x70, -0x02,0x6C,0x07,0x40,0x64,0x13,0x5C,0x26,0x06,0x15,0x7A,0x57,0x30,0x61,0x38,0x7A, -0x25,0x0E,0x42,0x67,0xE4,0x1B,0xD4,0xA6,0xED,0xDB,0x5F,0x99,0x7F,0x81,0x97,0xD5, -0xD4,0x13,0xAE,0x96,0x71,0x63,0x39,0x33,0x64,0x0C,0x01,0x4E,0xA4,0x91,0x5C,0x1E, -0xC3,0x05,0xAF,0x81,0x47,0x46,0x2A,0x05,0xF6,0x40,0xDF,0x02,0x23,0x69,0x23,0x61, -0x67,0xBD,0xB3,0x25,0x9F,0x8C,0x38,0xDD,0x01,0x2A,0x42,0x68,0xBA,0x23,0xF0,0xB2, -0x81,0xB6,0x5E,0xC3,0x5C,0x55,0x22,0x1E,0x4B,0xB2,0x90,0xF0,0x9C,0x2C,0xD9,0x9B, -0x14,0x5B,0x26,0x56,0xB4,0xDB,0x44,0xF6,0xC2,0x65,0xCE,0x27,0x31,0x77,0x2F,0x6D, -0xA9,0x98,0x58,0xEB,0xFE,0x28,0xFD,0xBC,0xC5,0x5A,0xF6,0x18,0xEC,0x49,0xCC,0x8E, -0x21,0x1A,0x52,0x63,0x04,0x97,0xB8,0x46,0xF0,0x68,0xF1,0x2A,0xA5,0x87,0x4B,0x09, -0xCF,0x1B,0xBD,0x8D,0xAA,0xF8,0x79,0xE8,0xCC,0xCD,0x68,0x8F,0xE3,0xF9,0x73,0x31, -0xA7,0xF5,0x3B,0xE5,0xB6,0xAA,0x37,0xF4,0x90,0x79,0x80,0x3B,0xA3,0xA9,0x63,0x21, -0xC2,0x24,0x8F,0x80,0xF5,0x7B,0xA5,0xB7,0x05,0x0A,0x66,0x48,0x56,0x3E,0x01,0x43, -0xA2,0xC0,0x0B,0xE0,0x2D,0xB1,0xB7,0x6F,0x38,0xB8,0xE9,0xFA,0x85,0xA6,0x4A,0x08, -0x3D,0x54,0x00,0x7F,0x4D,0x35,0x53,0x0F,0x9F,0xC6,0x30,0x84,0xE8,0x6D,0xEC,0xAE, -0x71,0x8A,0x92,0x33,0xA2,0xFA,0x73,0xE0,0xA7,0x43,0x8D,0x01,0x4F,0xB4,0x92,0xD0, -0x1F,0x03,0x75,0x5D,0x9C,0xDD,0x6A,0xDE,0x18,0xB9,0xC8,0xFB,0x36,0x4F,0x10,0x52, -0xB5,0xD6,0x0A,0xF7,0xCD,0x3D,0xDB,0x8F,0xDC,0xC9,0x7C,0x8B,0x33,0x7D,0x27,0x65, -0xEF,0x3F,0xB9,0xAD,0x34,0xD3,0xCC,0x76,0xD6,0x41,0xFE,0x03,0x6E,0x83,0x84,0xC6, -0x11,0x6E,0x16,0x53,0xE1,0x2B,0xE1,0xA3,0xE1,0x7B,0xF3,0x39,0x47,0x3C,0x12,0x50, -0xE7,0x35,0xBB,0xA5,0xB1,0xEB,0x71,0xF3,0x7E,0x80,0x97,0xC2,0xF1,0xE7,0x7F,0x3D, -0x9C,0xD9,0x2C,0xDE,0x24,0x93,0x9C,0x66,0x32,0x30,0x6B,0x72,0xBC,0x0D,0xD8,0x9A, -0x6E,0x96,0x91,0x2C,0xC8,0x0D,0xEE,0x8A,0x09,0xAA,0xCA,0xE8,0x6D,0x9F,0x9B,0xD9, -0xF2,0x50,0xCB,0xB0,0xEF,0x48,0x8C,0xAD,0xFB,0xF7,0x65,0xB5,0xB5,0x93,0x4F,0x0D, -0xAF,0xFF,0x39,0xED,0xF1,0x6B,0xB1,0xB3,0xAD,0xCB,0x0F,0x89,0x8B,0x00,0xE2,0xA0, -0x18,0x45,0x34,0x5A,0xE9,0x29,0xEB,0xAB,0x60,0x2C,0x25,0x6E,0x40,0x04,0x2D,0x6F, -0xFD,0x1C,0x88,0xBF,0x32,0xB2,0xAB,0x70,0xA1,0x6B,0xA3,0x29,0xCF,0x74,0xD2,0x90, -0xA9,0xE1,0x2D,0x7D,0x7A,0x1F,0xD4,0x9B,0xD6,0x52,0x7E,0x19,0xFC,0x09,0x78,0x44, -0x36,0xEA,0xB2,0xE9,0x9E,0x7F,0x50,0xFB,0xA8,0x2C,0xD9,0xC0,0x5A,0x64,0xDE,0x8F, -0x56,0x6E,0xD2,0x0D,0x8C,0xA7,0x9A,0x23,0x1A,0x9E,0xE4,0x4F,0x11,0xB7,0x95,0x17, -0x33,0xDA,0xB7,0xDC,0x1E,0xE4,0x4B,0x60,0x69,0xED,0x71,0xA9,0x73,0x42,0xF7,0x80, -0x7B,0x58,0xFF,0x16,0xE5,0x66,0x32,0xE2,0x51,0xD5,0x37,0xD7,0x94,0x8F,0x10,0xAA, -0x21,0xEB,0xA5,0xFF,0xF2,0x9F,0xDC,0x1B,0xD9,0x5D,0x3D,0x55,0x37,0xD2,0xB3,0x54, -0x8B,0x94,0x0F,0x2A,0x43,0xCE,0x3C,0x4A,0xA9,0x2D,0xF9,0xE1,0x00,0xD7,0x84,0x66, -0xE5,0x73,0x61,0xA3,0x5A,0xF0,0x1B,0x74,0x53,0xD7,0x46,0xA4,0x82,0xAE,0x06,0x9D, -0xFA,0x70,0x7E,0xBF,0xC7,0x9A,0xEC,0x1E,0xBA,0x3E,0xE8,0xE3,0x8B,0x8C,0x0F,0xB6, -0x08,0xCD,0x8C,0xF0,0xB5,0x76,0x72,0xF2,0x20,0xA4,0xD3,0x42,0xC8,0x5D,0x4C,0x24, -0x73,0x5A,0xF7,0x1C,0x58,0xE3,0x0A,0x67,0x90,0x14,0x9F,0xBE,0x6F,0x10,0xEB,0xCE, -0x85,0xF7,0x01,0x47,0xC8,0xB3,0xCA,0x37,0x6B,0xEF,0x00,0xDA,0x02,0xA6,0x86,0x15, -0x69,0x69,0xED,0x35,0x82,0x60,0x53,0xE4,0x7B,0xFF,0x40,0x8A,0xC2,0x2E,0x46,0x5D, -0x8C,0xD5,0x08,0x6C,0xC2,0xBB,0xC8,0x3F,0x3C,0xB8,0x81,0x0C,0x3D,0xA1,0xB9,0x2D, -0x3B,0xD8,0xBF,0xD6,0x98,0xA3,0x8A,0x27,0xDB,0x5F,0x4C,0x26,0xF2,0x6A,0x76,0x29, -0x66,0x2A,0xE2,0x79,0xA5,0xBD,0xA9,0x39,0xE7,0x63,0x1A,0x4C,0x5F,0x54,0xDB,0xBA, -0xC1,0x67,0x45,0x93,0xC4,0x67,0x12,0xE3,0xFA,0x7E,0x68,0x23,0xC6,0x3E,0x42,0x49, -0x54,0x1F,0xD0,0x7E,0x83,0x8E,0xBC,0x0A,0x2F,0xAB,0x90,0x0E,0x16,0xF6,0x92,0x51, -0xA8,0xC1,0x2C,0x5C,0x06,0x34,0x83,0xB0,0x0D,0x89,0xE5,0x59,0x86,0xBE,0x02,0x89, -0xD3,0x56,0x57,0xB0,0x4E,0xF4,0x0B,0x70,0xBE,0x3A,0xF8,0xF7,0xAE,0xB8,0x2A,0xA7, -0xB1,0xA3,0x35,0x27,0xFD,0xB6,0xFA,0x32,0xCB,0x4F,0x0C,0x76,0x87,0x9E,0x03,0xA8, -0x96,0xE6,0x12,0x45,0x75,0x36,0xF2,0xB2,0x05,0x81,0xE7,0x53,0x28,0xD1,0xAC,0x48, -0xC4,0x57,0x40,0xA6,0x95,0x99,0xBD,0x1D,0xB0,0x34,0x9B,0x9A,0x22,0xA2,0xA6,0x31, -0x0C,0xDD,0x88,0xE4,0xFC,0x58,0x15,0xDC,0x72,0xF6,0x62,0xA1,0x70,0x13,0xF4,0xD2, -0x15,0xBF,0x91,0x9F,0x0B,0x0E,0xB4,0x8A,0xA2,0x26,0xAA,0xB9,0xC9,0x7D,0x4D,0x05, -0xF3,0x52,0x77,0x94,0x11,0xCD,0x6D,0x49,0x3A,0xBE,0xE0,0x6B,0xE0,0x5B,0x64,0x0A, -0x57,0x4E,0xD3,0x2C,0x03,0x15,0xA7,0x91,0x50,0xD4,0x17,0xF6,0x33,0xC2,0xB7,0x40, -0x40,0x4F,0xC4,0x3A,0x10,0x23,0x82,0xA7,0x1C,0x98,0x85,0x28,0x4C,0x45,0xC8,0xB8, -0x5B,0x5C,0xDF,0x32,0x50,0xF8,0x19,0x7C,0xDD,0x59,0x2D,0x41,0x63,0x02,0xE7,0xD0, -0xB5,0xB3,0x31,0x33,0x91,0x56,0x76,0xD2,0x78,0xFC,0x11,0xD8,0x5B,0x44,0xDF,0xAE, -0x3D,0xB9,0xB9,0xB1,0xD4,0xAC,0xC9,0x28,0x4A,0xCE,0x24,0xDF,0xDC,0x0D,0x58,0x60, -0x80,0xC7,0x04,0x72,0x6D,0xE6,0x3A,0x62,0x75,0xF1,0x23,0xE7,0x3F,0xD0,0xBB,0x5E, -0x35,0xBB,0xB1,0xBB,0xB2,0x44,0x47,0xC0,0xD4,0x50,0x0F,0x6A,0x85,0xEF,0x01,0xDB, -0x97,0xC6,0x13,0x64,0x04,0x27,0x92,0xA3,0x55,0xD1,0x27,0xC3,0x97,0xDE,0x13,0xF8, -0x55,0x3F,0xD1,0x5F,0x21,0xE9,0x79,0x6D,0xEE,0x6A,0x38,0x67,0x84,0xCF,0x00,0xFA, -0x7F,0x48,0xFB,0x02,0x73,0xEA,0x28,0x6E,0x2A,0xAE,0xA0,0x3B,0x17,0xD6,0x93,0x70, -0x51,0x2F,0xD5,0x4B,0x34,0x03,0x86,0x87,0x7A,0xFE,0x60,0xAB,0x7D,0x21,0xF9,0xED, -0x5E,0x6C,0xDA,0x07,0xC1,0x46,0x36,0xC2,0x43,0xC7,0x06,0xF4,0x30,0x93,0xB4,0x12, -0x0D,0xFD,0x89,0xC5,0x57,0xCA,0x2C,0x4E,0x65,0xE1,0x63,0xB7,0x24,0xC3,0xA0,0x56, -0xD0,0x07,0x54,0xE2,0x68,0xC7,0x1E,0x43,0x49,0xCD,0x75,0x8D,0x4D,0x65,0xC9,0x99, -0x71,0x2B,0xF5,0x6F,0x84,0xBC,0x89,0x38,0x4F,0xCB,0x14,0xEA,0x5C,0x05,0xD8,0xE8, -0x8D,0xF5,0x09,0x4D,0x46,0xEF,0x18,0x6B,0x48,0xCC,0x55,0xAC,0x38,0x91,0xBC,0x18, -0x2E,0xA8,0xAA,0xB3,0xBD,0x6D,0x61,0xE9,0x3E,0xBA,0xF0,0x7F,0xFE,0x78,0x7A,0x37, -0x94,0x97,0x10,0x36,0x2B,0xE1,0x7B,0x65,0x52,0xD6,0x66,0x85,0x8A,0xAC,0x0E,0x97, -0x77,0x4A,0xF3,0x08,0x2F,0x2E,0xB0,0xAA,0x95,0x11,0xAF,0x8B,0x29,0xF1,0xAD,0x69, -0x18,0x8D,0x9C,0xA0,0xF9,0x79,0x31,0xFD,0x71,0xF5,0x33,0xF3,0x9E,0xFC,0x1A,0xD3, -0x41,0x6F,0xC5,0x1B,0xCF,0x81,0xFF,0x05,0xA6,0x22,0xBA,0xAD,0x98,0x9D,0x1C,0xB4, -0xCF,0x04,0x4B,0xFE,0x62,0xCF,0x1C,0x4B,0xD7,0x53,0x5E,0x38,0x80,0xDF,0x04,0xEE, -0x29,0xE9,0xAD,0xF5,0xE0,0x47,0x16,0xC3,0x8D,0x09,0xED,0xD1,0x18,0x95,0x9C,0x3C, -0xDD,0x35,0x59,0xDD,0x9C,0x6C,0x41,0xE8,0xA0,0x24,0xDB,0xCA,0xF9,0x39,0x7D,0x71, -0xA5,0xF3,0x21,0x63,0x1F,0x0A,0xA4,0x8E,0x14,0x90,0x87,0x22,0xA1,0xFB,0x25,0xEB, -0xEC,0x51,0x68,0x88,0x9B,0x5E,0x74,0xDA,0x41,0xC5,0x77,0x87,0x19,0xB5,0x9D,0x1D, -0x6C,0x59,0xE8,0x00,0x74,0xD8,0x1D,0x5C,0x5D,0xD9,0x25,0xC9,0x07,0x96,0x83,0x20, -0x75,0x3B,0xF1,0x7B,0xCB,0x4E,0x34,0xCA,0x42,0xC6,0x26,0xD5,0xCC,0x4D,0x48,0x30, -0xEA,0x30,0x6E,0xEF,0x1A,0x2B,0x80,0xAF,0x62,0xE6,0x22,0xF1,0x92,0xEE,0x16,0xCD, -0x2F,0x88,0xAB,0x92,0xAF,0xB5,0xAB,0x31,0xF6,0x72,0x7A,0x3D,0x83,0x8E,0x07,0xBC, -0xBD,0xB1,0x39,0x39,0x01,0x06,0xB6,0x82,0x1B,0x9F,0xC4,0x6E,0x1D,0xA5,0x99,0x09, -0x45,0x7F,0xC1,0x0F,0x13,0xDE,0x7C,0x5A,0x96,0x12,0xFE,0xD9,0x26,0xB2,0xA2,0x25, -0xA1,0xE3,0x25,0x77,0x86,0xAF,0x98,0x2B,0x93,0x17,0xCE,0xEC,0xEB,0x08,0x6F,0x52, -0xF8,0x01,0x7C,0xCC,0x3E,0x0B,0x84,0x8F,0x9D,0x19,0xAD,0x81,0x32,0xE2,0xB6,0x61, -0x0B,0x9C,0x8F,0xA2,0xC6,0x74,0x03,0xF0,0x3B,0xBF,0xC0,0x4A,0x9B,0xCC,0x1F,0xE6, -0xE0,0x43,0x64,0x96,0x3F,0xE5,0x6B,0x61,0x6A,0xEE,0x20,0xFB,0xFD,0x29,0x79,0x65, -0x20,0xCB,0xA4,0xDE,0x78,0x0C,0xC5,0x88,0xB4,0x30,0x8B,0x8E,0xC0,0x5F,0x44,0x2E, -0x47,0x0E,0xC3,0x7C,0x14,0xEC,0x49,0x68,0x1E,0x9A,0xF4,0x5B,0xB8,0x99,0x3C,0x90, -0x0E,0x84,0xE8,0x90,0xA4,0x88,0xB0,0x5A,0x4F,0xEF,0xC2,0xD6,0x74,0x00,0x16,0x14, -0x73,0x26,0x37,0x32,0xC7,0x3E,0xD3,0x8F,0xE6,0xC7,0x43,0x57,0x57,0x12,0x27,0x06, -0x80,0x6C,0x8E,0x78,0x69,0xFF,0x7D,0xE0,0xB7,0x68,0xBD,0xA9,0xFC,0x80,0x1E,0x94, -0xF7,0x46,0xD3,0x52,0x6A,0xAD,0x7E,0xB1,0xEB,0xF0,0x79,0x6D,0x76,0x13,0x07,0x07, -0xA4,0x4D,0x8B,0x59,0xC5,0x4D,0xD1,0xFE,0x78,0xCE,0xD4,0xC0,0x9E,0xA7,0x5B,0xB3, -0xE7,0x42,0xC7,0x56,0x80,0xB8,0x94,0x4E,0x27,0xA8,0xED,0xF9,0x61,0xEA,0xE9,0xFE, -0xCF,0xC3,0x6E,0xD7,0x44,0xE4,0x50,0xD6,0x01,0xBD,0xDE,0xCA,0x15,0xDA,0xAD,0xCE, -0x35,0x1E,0x49,0x0A,0x49,0xDB,0x5D,0xE4,0x3B,0xAB,0xF2,0xE6,0xDA,0xB3,0x0B,0xA7, -0x3D,0x9E,0xC1,0x8A,0x6C,0xCA,0x78,0xD0,0x20,0x9D,0xDF,0xCB,0x94,0xAF,0x59,0xBB, -0xE3,0x62,0xE3,0x76,0x3F,0x08,0x2B,0x41,0x66,0xDC,0xD8,0xCC,0x64,0xCB,0xCD,0xDF, -0x5F,0x87,0xBA,0x93,0x62,0xA7,0x76,0xB3,0x09,0xAE,0xC5,0xD1,0x1B,0x1D,0x64,0x09, -0x60,0x3D,0x3F,0x29,0xEE,0x31,0xFA,0xA9,0xF3,0x38,0xA9,0xBD,0xBB,0x69,0xB0,0x7D, -0x45,0x0B,0x2C,0x1F,0xFA,0x75,0xEE,0xF9,0x7F,0xFB,0xE6,0xF2,0x5F,0x09,0x34,0x1D, -0x82,0x64,0x84,0x70,0xAD,0xA3,0xB9,0x78,0x07,0x67,0x02,0x16,0xE5,0xBE,0x39,0xAA, -0xCC,0xDC,0x72,0xC8,0x4C,0xEE,0x58,0xD4,0xB4,0x96,0x40,0x54,0x62,0x17,0x17,0x03, -0xA7,0x52,0x97,0x46,0x02,0x43,0x16,0x37,0x21,0x72,0x31,0x25,0x38,0x0F,0x55,0x1B, -0xFD,0xCE,0x51,0xDA,0xEF,0x10,0xFB,0x89,0x46,0x13,0x37,0x23,0xFD,0x6E,0xF1,0x7A, -0x21,0x3A,0x79,0x2E,0xC4,0x6C,0xD0,0xDE,0x5D,0x25,0x1A,0x0E,0xB0,0x8F,0x5D,0x9B, -0x99,0xFF,0x04,0xEB,0xDD,0x17,0xC9,0xBC,0x0B,0xBF,0xD6,0xC2,0x91,0x8E,0x7D,0x9A, -0x3B,0xB6,0xEF,0xA2,0x89,0x93,0x9D,0x6C,0xAE,0x4F,0x83,0x97,0x67,0x36,0x33,0x22, -0xF3,0x66,0xF7,0x72,0xCD,0x47,0xD9,0xFC,0x59,0xEE,0xD5,0xC1,0xBC,0x5B,0x85,0x4F, -0x91,0x7F,0x8C,0x6B,0x5B,0xF8,0x4F,0xD5,0x45,0xED,0xCA,0xDE,0xAC,0x90,0x5E,0x84, -0x40,0x3C,0x1E,0x28,0x36,0x23,0x22,0x63,0xB1,0xB2,0x61,0x75,0x30,0x14,0x46,0x00, -0xF8,0xF9,0x63,0xED,0xA8,0x96,0xBC,0x48,0x7D,0xEA,0xF5,0xE1,0x41,0x05,0x26,0x11, -0xB7,0x56,0x83,0x42,0x5D,0x9F,0x49,0xB4,0x55,0x36,0x01,0x15,0xA9,0xB1,0x7A,0xA5, -0x79,0xAE,0xB5,0xBA,0x85,0x8D,0x91,0x7E,0xE2,0x0C,0x8C,0x98,0x85,0x8A,0x6D,0x9E, -0xC9,0xEB,0x40,0xFF,0x88,0xB2,0x9C,0x4C,0x0D,0x65,0x0A,0x1E,0xED,0xA5,0x2A,0xB1, -0x2B,0xB2,0xFB,0xA6,0x2C,0x0A,0x38,0x50,0x60,0x06,0x04,0x10,0xDE,0x7C,0xC0,0x68, -0x8B,0xF3,0x1A,0xE7,0x66,0xB3,0x72,0xA3,0x77,0xE8,0xFD,0xE9,0xE9,0x6A,0xE1,0x7E, -0x54,0x18,0x2E,0x0C,0xF7,0x4A,0xE3,0xCB,0xC6,0x08,0xAC,0xB8,0x6A,0x0C,0x04,0x18, -0xC6,0x54,0xF0,0x40,0x6F,0x98,0x7B,0x81,0xD7,0x3C,0x89,0x9D,0x1C,0x2F,0x51,0x3B, -0x03,0x33,0x52,0x27,0x8F,0xF4,0x9B,0x0D,0x02,0x43,0x23,0x37,0xA2,0x57,0x97,0x43, -0x22,0x25,0x65,0x31,0xFC,0x12,0xE8,0x98,0x4C,0x11,0x3F,0x2B,0x03,0xCD,0xAC,0xD9, -0x29,0xBA,0xF1,0xAE,0x9C,0xF6,0x88,0x1C,0x95,0xB6,0x41,0x55,0xC8,0x6B,0xC1,0x7F, -0x12,0x20,0x50,0x34,0x67,0x92,0x73,0x83,0x25,0xB9,0xFE,0xEA,0x0C,0xE4,0x8A,0xF0, -0xA6,0x45,0x81,0x51,0x24,0x00,0x30,0x52,0xC3,0x2C,0x8D,0x99,0x9B,0x86,0x7F,0x92, -0x23,0x32,0x73,0x26,0x1C,0x7E,0x08,0x14,0xD9,0xF5,0x4E,0x5A,0xD8,0xA0,0x1A,0xB4, -0x90,0x68,0x9A,0x7C,0xE5,0x69,0xF1,0xFA,0x5B,0xFF,0xC6,0xD2,0x26,0x03,0x47,0x17, -0xBB,0xF6,0x2F,0xE2,0x73,0xD6,0x67,0xD3,0x28,0x8E,0xC4,0xD0,0x11,0x15,0x66,0x01, -0x5C,0x98,0xA6,0x8C,0x4D,0xCF,0x59,0xF4,0x6D,0x31,0x3E,0x2A,0xEA,0x97,0x1F,0x83, -0x05,0x1B,0x7C,0x0F,0xF5,0x39,0xE1,0xBA,0xCE,0x1B,0xB7,0xA3,0xA8,0x5F,0x95,0x4B, -0xB8,0xE9,0x33,0xFD,0x19,0x4B,0x0D,0x24,0x6F,0x20,0x2D,0x39,0x3A,0x1C,0x44,0x08, -0x3F,0x96,0xCB,0x82,0x30,0x44,0x24,0x02,0x56,0xC8,0xFC,0xE8,0x99,0x95,0x6E,0x81, -0x92,0x60,0x90,0x74,0x60,0xD4,0x74,0xC2,0x32,0x57,0x07,0x13,0x42,0xF8,0xD8,0xEC, -0x1D,0x9F,0xE0,0x8B,0x38,0x4E,0x2C,0x00,0x80,0x49,0xAB,0xBF,0xA1,0xAA,0x69,0xBE, -0xA1,0x7A,0xB9,0x6E,0xE3,0x0E,0xF7,0x9B,0x06,0x88,0xEC,0xF8,0xD1,0x55,0xE6,0x41, -0xE2,0x75,0xF5,0x61,0x3E,0x29,0x2A,0x61,0xC0,0xD2,0x70,0x64,0x36,0xC8,0x9C,0xDC, -0x10,0x28,0x5A,0x3C,0x20,0x14,0x34,0x42,0xAA,0x84,0x4C,0x58,0xA5,0x65,0xA2,0x71, -0xD7,0x47,0xF2,0x53,0x0D,0x0F,0x19,0x74,0x82,0x58,0xB8,0xAC,0xDD,0x81,0x3E,0x95, -0xAF,0xD2,0x1F,0xC6,0xE4,0x48,0xF0,0xDA,0xAF,0xA0,0x6D,0x79,0xC5,0x51,0xF6,0x45, -0x9E,0xC0,0x3C,0xD4,0x77,0xC2,0x63,0xC3,0x7B,0x30,0x29,0x3D,0x2B,0x39,0x70,0x2D, -0x09,0xBB,0xD0,0xAF,0xB7,0x8A,0xA3,0x4B,0xD5,0x2D,0x9A,0x8E,0x05,0x11,0x76,0x05, -0x2E,0x85,0xC9,0x91,0xB5,0xF9,0xA1,0x3A,0xDF,0x2F,0x92,0x86,0xC4,0xBF,0x19,0xAB, -0x6B,0xA2,0xAB,0xB6,0x35,0x71,0x21,0x32,0xFA,0xC4,0x5C,0x48,0x24,0x10,0x56,0x04, -0x15,0x1F,0x68,0x0B,0xDB,0x70,0xCF,0xDD,0x2D,0xAA,0xE5,0xF1,0x5E,0xE7,0xDB,0xF3, -0x9F,0xD7,0x2A,0xC3,0x1A,0x19,0x0E,0x75,0x16,0x53,0x27,0x33,0xBD,0xB5,0x6A,0xA1, -0x9A,0xE0,0x18,0xF4,0x4E,0x9D,0x5A,0xA5,0xE7,0x28,0xAD,0xB9,0x86,0x77,0x93,0x63, -0x77,0x06,0x13,0x12,0x8D,0x87,0x99,0x7C,0x35,0x62,0x35,0x21,0x89,0x5E,0xB5,0x4A, -0x87,0x53,0xB6,0x47,0xA0,0x9C,0xB4,0x4A,0xA4,0x4D,0x8B,0x9F,0x34,0xDB,0x8D,0xCF, -0x86,0x44,0xA0,0x50,0x96,0x8F,0x82,0x6F,0x7A,0xDF,0xC7,0xD3,0xCC,0xA4,0x0A,0xB0, -0x7B,0xA6,0xBF,0xB2,0xD5,0x1D,0xC1,0xBE,0x54,0xD9,0xEF,0xFB,0x22,0xCC,0x8C,0xD8, -0x94,0x48,0xBE,0x5C,0x7B,0xDC,0x6F,0xD1,0xCD,0xE5,0x4A,0x5E,0x5C,0xF4,0xCA,0xE0, -0x0F,0x93,0xFE,0x87,0x65,0xE1,0x71,0xF2,0x6B,0xEB,0xE2,0xF6,0xD2,0xA8,0x18,0xBC, -0x71,0x2E,0x3D,0x3A,0x2F,0x58,0x3B,0x01,0x53,0xEC,0xDD,0xC9,0xEC,0x4B,0xC5,0x5F, -0x0F,0x4A,0xE3,0x6D,0x90,0x0C,0x58,0xD5,0x92,0x51,0x42,0x07,0x17,0xBD,0x6E,0xF8, -0x97,0xD2,0xA9,0xBF,0xB9,0x03,0x7E,0xFC,0x99,0xBC,0xA4,0xE1,0x0D,0x7E,0xB7,0x3B, -0x29,0x6C,0x86,0x2E,0x3C,0xBE,0x46,0x79,0x3C,0x4C,0xF1,0xB4,0x16,0x53,0x81,0x16, -0x65,0x20,0x14,0xF0,0x43,0x46,0xC1,0x06,0x2A,0x4D,0xE6,0xA3,0x05,0x65,0xA4,0x20, -0x4D,0x08,0x12,0xDE,0x2B,0xA8,0x47,0x6E,0x35,0xB0,0x04,0x41,0x97,0x26,0x75,0x63, -0xE8,0xAD,0x2E,0x47,0x13,0xD6,0x01,0x56,0x34,0x5F,0xEA,0xAF,0x56,0x88,0x1A,0xCD, -0x40,0x05,0x20,0xE1,0x4F,0x58,0xD3,0x0A,0x74,0xC4,0x31,0x74,0x6B,0x96,0x39,0xD3, -0x7F,0x3A,0x27,0xD9,0xAC,0x66,0x0E,0xE9,0xB7,0xBA,0x8C,0xC9,0xD2,0xDC,0xCA,0x99, -0x1A,0x5F,0x93,0x08,0x66,0x57,0xF5,0x23,0x78,0x1C,0xE5,0xA0,0x85,0xFE,0xBF,0xBB, -0xCF,0x8A,0x6B,0x25,0xB6,0x4F,0x3D,0xF3,0x95,0x64,0x70,0x35,0xC2,0x17,0x11,0x52, -0x8B,0xCE,0xFB,0xF1,0xDE,0xA1,0xBB,0x9B,0xB6,0x55,0x62,0x27,0x48,0x84,0x08,0xC1, -0x38,0x7D,0xE6,0x5F,0xF6,0x8F,0xBD,0xB3,0x5A,0xC2,0x19,0x5C,0x00,0x44,0x80,0x01, -0x30,0x75,0xE4,0x55,0x58,0x4E,0xD2,0x1D,0x43,0xE5,0x27,0x62,0x73,0x46,0xF1,0x03, -0xFE,0xBB,0x0F,0x70,0xF7,0xAE,0x9D,0xB2,0x21,0xA0,0x00,0x45,0xFB,0xC6,0xF9,0x83, -0x47,0x02,0x61,0xA7,0x00,0xD4,0x10,0x45,0xE2,0xDE,0xBD,0xF8,0xFA,0x28,0x16,0x6D, -0x85,0xC0,0x98,0x9C,0x52,0x37,0xA1,0x17,0xA0,0x54,0x75,0x30,0x93,0xE9,0xBE,0xAC, -0x15,0x50,0xD0,0x44,0xB8,0x22,0x5E,0xFD,0xF6,0xCE,0xB9,0xFC,0xB3,0x06,0x71,0x43, -0x8F,0xCA,0xEB,0xE5,0xFB,0xB0,0x8F,0xBE,0xB9,0x73,0x4B,0x0E,0xC1,0xEA,0xEF,0xAF, -0x5E,0x1B,0x03,0xDC,0x72,0x13,0xA5,0x37,0x41,0xF4,0x34,0x71,0xCE,0xC3,0xC9,0x86, -0xA5,0xE0,0x9C,0xB8,0x1F,0xC8,0x13,0x5A,0x1A,0x59,0xC2,0x87,0x5E,0x93,0x09,0xD6, -0x09,0x4C,0x82,0x0A,0x4D,0x2B,0xA2,0x08,0x6A,0xD6,0x3D,0x78,0xC4,0xCB,0xCB,0x8E, -0x4E,0x0B,0x43,0x8C,0xB2,0x5B,0x2D,0xF7,0x33,0x6A,0xD8,0x9D,0x84,0x10,0x50,0x55, -0xD2,0x97,0x19,0x4A,0x2F,0xBC,0x57,0x6A,0x7F,0x29,0xD7,0x92,0xA3,0xCD,0xAA,0x88, -0xEE,0xAB,0x4F,0x20,0x82,0x2F,0x69,0xC7,0xD0,0xDB,0x8A,0xCF,0x9E,0xD3,0x89,0x96, -0x9D,0xD8,0xDA,0xC6,0x2A,0x89,0x67,0x6F,0xEF,0xE9,0x87,0xC2,0x98,0x0F,0x53,0x4A, -0xE3,0xA6,0x7D,0x1F,0x8C,0x42,0x0A,0xC9,0x7B,0xE2,0x18,0x5D,0x7C,0x6F,0xD7,0x2A, -0x5C,0x19,0x72,0xAF,0x03,0x86,0x41,0x46,0xDA,0xD9,0x82,0xC7,0x18,0x94,0x48,0xD1, -0x2F,0x6A,0xE7,0x49,0x61,0x11,0xB4,0x24,0x0B,0x6D,0xE7,0xA2,0x8A,0xD7,0x99,0x92, -0xEC,0xA9,0x3E,0x53,0x47,0x52,0xD1,0x02,0xF9,0xE8,0x90,0xD5,0xF4,0xEF,0xDF,0xAA, -0x64,0x21,0x34,0xD1,0xE4,0xAC,0x8C,0xA1,0x10,0x5B,0xCA,0x8F,0xE3,0x16,0x31,0x53, -0x66,0x23,0x45,0xA2,0xF2,0x9B,0xAD,0xB7,0xA5,0x70,0x54,0x11,0x5C,0x80,0x18,0xC5, -0x9C,0xD9,0xFA,0xE7,0x70,0x60,0xD4,0x35,0x2C,0x97,0x3A,0x7F,0x45,0xBE,0x3F,0xFB, -0xA3,0xE6,0xFD,0xDF,0x56,0x23,0xB1,0x13,0x09,0x7C,0xF4,0xB1,0x15,0xAE,0x7F,0xEB, -0x2E,0x6B,0xC7,0x68,0x6D,0x0F,0xA6,0x28,0x3F,0xB2,0x0C,0x49,0x07,0x76,0xB5,0x33, -0xA8,0xED,0xAE,0x87,0x42,0x67,0xE1,0x07,0xCA,0x02,0x49,0x0C,0x38,0x7B,0x87,0x3E, -0xA6,0xE3,0xCD,0xEA,0x9B,0x54,0x0B,0xDE,0x71,0xE0,0x10,0x55,0x80,0xDF,0x9B,0x9A, -0x5F,0x1A,0x23,0xFD,0x8D,0x63,0x2A,0xC8,0x90,0x40,0x51,0x14,0x39,0x95,0x68,0xD0, -0x0E,0x4B,0xC3,0x4C,0xEB,0xE0,0xCF,0xAE,0xA4,0x9F,0xBA,0xFF,0xC0,0x04,0x00,0x41, -0x2B,0x6E,0xF7,0x5D,0xC8,0x96,0x9A,0x8D,0x7A,0x0D,0xF6,0xB3,0x12,0x9C,0x4A,0xD9, -0x81,0xC4,0x88,0x88,0xB0,0x28,0x5C,0xF5,0xD8,0xC8,0x91,0xD4,0x7E,0x7C,0xC6,0x39, -0x95,0xD0,0xD8,0xCC,0x89,0x77,0x3A,0xCC,0xDB,0x36,0x6C,0x29,0x9A,0x1C,0x42,0x59, -0xB8,0xFD,0xEE,0xD7,0x68,0x3A,0x96,0x2D,0xF3,0xEA,0x98,0xDD,0xE6,0x37,0x15,0x72, -0x74,0x31,0x74,0x81,0x69,0x1B,0xB6,0x2C,0x8E,0x52,0x5D,0x18,0x9D,0x2E,0x77,0x6B, -0x21,0x64,0x84,0x24,0xD1,0xED,0xF8,0x94,0x65,0xF0,0x14,0x51,0x19,0x7A,0xA7,0x3F, -0x77,0x32,0x25,0xD3,0xBC,0x36,0x4E,0xF9,0x7D,0x38,0xC4,0x81,0xCD,0x3E,0x37,0x7B, -0x68,0x2D,0x26,0xCF,0x77,0x26,0x95,0x32,0x06,0x5A,0xDD,0x98,0x72,0xA8,0x1E,0xED, -0xC3,0x86,0x79,0x3B,0xF3,0xBA,0x8D,0xB6,0x94,0x8B,0x9E,0xDB,0xA9,0xC5,0xA8,0x80, -0x57,0x12,0x21,0xF7,0xE2,0xCB,0xED,0xA7,0xE9,0x33,0x5B,0x1E,0x1C,0x5B,0x83,0x1E, -0x7D,0x38,0x56,0xAA,0x48,0x1E,0x92,0x0D,0x4B,0xF6,0x3C,0x79,0x40,0x9F,0x1B,0xDA, -0x7A,0x3F,0x17,0xEC,0x2C,0xEE,0x06,0x69,0x69,0x28,0xC0,0x85,0x82,0xCC,0x8A,0x89, -0x67,0x22,0x65,0x83,0xFA,0x91,0xAF,0xBF,0x30,0x94,0x25,0x60,0x2D,0x91,0x78,0xD4, -0x0B,0x4E,0xF3,0x79,0x8E,0x31,0x7B,0xCB,0xB5,0xAB,0x9F,0xDA,0xBB,0x1D,0x62,0x58, -0x44,0x01,0x30,0xF5,0xEE,0xD5,0xFF,0xAB,0xA6,0x8E,0xA9,0xEC,0xFF,0x09,0x32,0x4C, -0xA0,0xE5,0xAC,0x8D,0x59,0x6F,0xF2,0x1C,0x0E,0x49,0xC6,0x83,0x29,0x5E,0xB3,0x1B, -0xE2,0xA7,0x5D,0x3E,0xF0,0xE8,0xDC,0xB5,0xF8,0x07,0x7E,0x3B,0x64,0xBF,0x1F,0xFA, -0x93,0xD6,0xB9,0xAB,0xE8,0xB2,0x9E,0xAD,0x1D,0x6C,0xF0,0xB5,0xC9,0xF1,0xFC,0xB4, -0x60,0x25,0x24,0xC5,0xE7,0xFE,0xDD,0xA2,0x62,0xC5,0x26,0x63,0x02,0x57,0x91,0x12, -0xE1,0xA4,0x0C,0x6C,0xF5,0xDD,0xEC,0xB0,0xBD,0xB8,0x84,0xC1,0xB4,0x34,0x44,0x71, -0x1F,0x5A,0xA3,0x3D,0x67,0x76,0xD5,0x22,0x04,0x4B,0xCE,0x8B,0x75,0x9A,0x2B,0xDF, -0xDB,0x9E,0x3B,0x61,0xF4,0xFC,0xCC,0xB1,0x59,0x3C,0xE4,0xA1,0x27,0x99,0x7A,0xDC, -0x76,0x33,0x05,0xF2,0x40,0x14,0x90,0x05,0x01,0x6F,0xEF,0xAA,0xC7,0x36,0x35,0x73, -0x4F,0x0A,0x63,0xAD,0x0D,0xEB,0x22,0x48,0x4D,0x2C,0xE0,0xA5,0x32,0x73,0x85,0x36, -0x7C,0x39,0x76,0x8B,0x3D,0x9F,0x66,0x78,0xE4,0x04,0x61,0x24,0x6E,0xB7,0x1D,0xF2, -0x50,0x15,0x60,0xB1,0x54,0x50,0xC0,0x11,0xC3,0xFE,0xBC,0xF9,0x51,0xBA,0x2F,0xFF, -0x9D,0x9B,0xB6,0xFC,0x0E,0x11,0xCE,0x08,0xD8,0xB2,0xBD,0xBB,0xCD,0x51,0x4D,0x57, -0xB0,0xB6,0x80,0xE7,0xEF,0x5C,0x62,0xE9,0xF0,0x6E,0x49,0x4F,0xB1,0x7A,0x1A,0x7C, -0x04,0x02,0xDC,0x0F,0xB7,0xC6,0xA0,0xB1,0x4E,0xA8,0x31,0x37,0x32,0x1C,0xFF,0x1A, -0x51,0x57,0x2C,0xAA,0x0F,0x30,0xEE,0x09,0xA5,0x0A,0x78,0x7E,0xB6,0x48,0x2F,0x4E, -0x4D,0x4B,0x7E,0xE4,0x11,0x0D,0xCD,0x17,0x2D,0x02,0xF8,0xFE,0x59,0xCE,0x46,0xC8, -0x52,0x54,0x7D,0xF8,0xDA,0x1D,0x16,0xDC,0x56,0x60,0xE1,0xE7,0xE6,0x58,0x6F,0x5E, -0x72,0x74,0x79,0xDC,0x84,0xE0,0xB5,0x82,0xC2,0x6B,0x7E,0x78,0x37,0x3D,0xDB,0x3B, -0xE6,0xE0,0x21,0x10,0x95,0x91,0xD5,0x93,0xBF,0xD3,0xBB,0xBD,0x82,0xA3,0xF0,0xA5, -0x0B,0x0D,0x9F,0x43,0x0B,0x24,0xFE,0x0D,0x14,0xEA,0x29,0x2F,0x2C,0x10,0xED,0x16, -0x86,0x80,0xA5,0xF4,0x30,0x08,0xE9,0x36,0x22,0x24,0xD1,0xD7,0x3E,0xC8,0x27,0xCE, -0x83,0x85,0x95,0xC1,0xFD,0x7F,0x53,0xFB,0x5A,0xB8,0x35,0x33,0xAB,0xB9,0xC3,0xBF, -0x8D,0x8B,0xF6,0xAC,0x24,0x4C,0xB9,0x22,0xE1,0x5A,0x6C,0x6A,0x13,0x1D,0xDF,0x1B, -0x2B,0x2D,0x9B,0x67,0x8D,0xCB,0x97,0x8B,0x8F,0xC7,0x9F,0x99,0xEB,0x62,0x58,0x64, -0x7A,0x7C,0x7B,0xD6,0xEB,0x48,0x72,0xED,0xBB,0x18,0x74,0x72,0x12,0xF3,0x30,0xF5, -0xA4,0xA2,0xD0,0xA3,0xD6,0x03,0x04,0xD0,0xF3,0x90,0xB4,0xB2,0x55,0x1A,0x9E,0x1C, -0x0E,0x08,0xAF,0x76,0xAE,0xBD,0xC2,0xA8,0x51,0x55,0xD3,0xD5,0x39,0xFA,0x12,0xFC, -0xC4,0xC2,0x54,0x47,0x93,0xF6,0xB4,0x95,0x96,0xE0,0xA1,0xA7,0x9F,0x52,0x1C,0x54, -0x45,0x43,0x7C,0xEE,0x81,0xD5,0x85,0x87,0x49,0x9D,0x03,0x05,0x29,0x31,0xC9,0x37, -0xFE,0xF8,0x63,0x4A,0x92,0xD7,0x94,0x94,0x72,0x64,0xC1,0xC7,0x0C,0xFF,0x22,0xF9, -0x3A,0x3C,0xFB,0x16,0x01,0x5D,0x8D,0x07,0x2F,0x13,0xEB,0xED,0x5E,0xFC,0x73,0xFA, -0x6A,0x6C,0x3B,0x86,0x6B,0xC0,0x7A,0x6D,0x66,0x74,0xC5,0xC3,0x19,0x15,0xDD,0x13, -0x53,0x55,0x5D,0xD9,0x26,0x3F,0xC8,0x20,0x2A,0x37,0xCA,0xCC,0xEC,0x50,0x6D,0x56, -0x75,0x73,0x38,0x9A,0x32,0x7B,0x98,0x34,0xE8,0xA6,0x99,0x9F,0x7A,0xDC,0x77,0xDA, -0x59,0x5F,0x2E,0xA0,0x5B,0xB4,0x3E,0x5D,0xCF,0x5C,0x44,0x42,0x45,0xD1,0x45,0xD7, -0x5F,0x59,0x4F,0xC7,0x4A,0xC5,0x5E,0x4C,0x42,0x70,0xE5,0xE3,0xA9,0xAA,0xD2,0xAC, -0x58,0x5E,0x0E,0x81,0x2E,0x35,0xCA,0x28,0x60,0xAE,0x19,0x1F,0x6B,0xF9,0x43,0xFF, -0x2E,0x28,0xAB,0x52,0xE8,0x1A,0x23,0xEE,0x9E,0xF3,0xBA,0xBC,0x90,0x7B,0x3A,0x7D, -0x42,0x44,0x3D,0xA8,0x9C,0xBA,0xF7,0x9A,0x1B,0xCC,0x00,0x06,0x06,0xF7,0x20,0xF1, -0x85,0x83,0xF4,0xA6,0x3F,0x44,0xAA,0x39,0x25,0x11,0xE3,0xE5,0x02,0x38,0xEB,0x3E, -0x61,0x67,0x68,0xDE,0x88,0xFE,0xA7,0x8E,0x8D,0xD6,0x8C,0x8A,0xD4,0x6F,0x6A,0x69, -0xB6,0xB0,0xE1,0x80,0x8E,0x99,0xC6,0x88,0x36,0x34,0xD5,0xD3,0xE2,0x97,0xA4,0x91, -0xC7,0xC1,0x05,0x15,0x96,0xC3,0x84,0x90,0xD3,0x5F,0x5B,0x5D,0x4F,0xD9,0x47,0xDF, -0xEA,0xEC,0x33,0x0E,0xD0,0x64,0x65,0xD6,0xBE,0x3C,0x55,0x53,0xE9,0x71,0x49,0x77, -0x3F,0x39,0xCB,0x23,0x00,0x7C,0xAD,0x06,0x53,0x44,0xC0,0xC6,0xAE,0x98,0xE7,0x9E, -0x1D,0x1B,0xBE,0x74,0x90,0xA4,0xE5,0x96,0x71,0x9A,0x3C,0x3A,0x2B,0x22,0xD8,0x24, -0xAE,0xA8,0xA3,0xDA,0xB8,0x8A,0xE3,0xBE,0x9D,0x0D,0x47,0x41,0x63,0xE2,0x50,0xE4, -0xDB,0xDD,0x57,0x5B,0x91,0x85,0xC5,0x97,0x0A,0xF8,0x25,0x23,0xD0,0xA0,0xA1,0xA6, -0x15,0x13,0xBC,0x7E,0x3E,0x65,0x8A,0x38,0x68,0xBD,0x02,0x04,0x58,0x20,0xA9,0x26, -0xA0,0xA6,0xC0,0xB7,0x34,0x1C,0xF9,0x32,0x8B,0x0C,0x50,0x56,0xB8,0x8F,0xE6,0x89, -0x62,0x64,0x39,0x8C,0x66,0xFF,0x48,0x60,0xC9,0x86,0x98,0x9E,0xD1,0x4E,0x4E,0x48, -0xB2,0xB4,0xF1,0x94,0xDF,0x28,0x26,0xD9,0xB2,0xE4,0x81,0x87,0x26,0x18,0xEF,0x1E, -0x2A,0x2C,0xBB,0x46,0xF6,0x27,0x00,0xF0,0xB9,0x09,0x67,0x61,0x3C,0xDB,0x36,0xDD, -0x40,0x46,0x4C,0xDB,0x25,0x6D,0x99,0x23,0x01,0x15,0xC3,0xC5,0x2E,0x03,0xFC,0x05, -0x0C,0x0A,0xDE,0x05,0x5A,0x95,0x1E,0x5C,0x17,0x14,0xD4,0xD2,0x3D,0x35,0xD9,0x33, -0xCD,0xCB,0x76,0x6C,0x75,0xFD,0x59,0x73,0x1F,0x07,0xCF,0xC9,0x7D,0xEE,0x42,0xE8, -0x68,0x6E,0x4A,0xF5,0x4D,0x83,0x1F,0x4B,0x1E,0xE8,0x21,0x27,0xBC,0x40,0x2D,0x46, -0x5A,0x5C,0x7F,0xF2,0xCA,0x4D,0x56,0xCC,0x9C,0xE2,0xA9,0xAF,0xF9,0xBA,0x92,0xBC, -0x65,0x63,0x78,0xCA,0x29,0x73,0x8B,0x2F,0x5F,0x9C,0x14,0x12,0x40,0xF0,0x61,0xF6, -0xC6,0xC0,0x25,0x34,0xEA,0x69,0x52,0xEC,0x50,0xBA,0x3D,0x3B,0x57,0x09,0x8F,0x0F, -0xB8,0xBE,0x82,0xED,0x4C,0xA2,0x3F,0x4A,0xC4,0xB1,0xA2,0xA4,0xB3,0x69,0x0B,0x6F, -0x0A,0x0C,0xBF,0x62,0x07,0x3A,0xEC,0x01,0x20,0x35,0xC2,0xC4,0xA1,0xB1,0xC1,0xB7, -0x79,0x7F,0x2A,0x84,0x65,0xAD,0x19,0x63,0xF1,0x81,0xA7,0xA1,0x33,0xF2,0x10,0xF4, -0x41,0x47,0x6C,0xFA,0x82,0x87,0xD4,0x84,0x3B,0x03,0xEF,0xE9,0xC8,0x70,0x69,0x76, -0xC9,0xCF,0x66,0x78,0x21,0x79,0x89,0x27,0xD2,0xB0,0xB5,0xB3,0xDF,0x89,0x87,0x8F, -0xB9,0xBF,0xA2,0xCC,0x16,0x4B,0x8C,0x10,0x07,0xCF,0x1F,0x19,0x6E,0xD8,0x67,0xDE, -0x43,0x45,0x1D,0x89,0x94,0xB0,0xF5,0x92,0x8E,0x28,0x71,0x77,0x77,0xE6,0x40,0xE0, -0xAA,0xAC,0xB3,0xCE,0x9D,0x9B,0xD7,0x9B,0x92,0x2B,0x6E,0x68,0xEA,0x8C,0xB7,0x8A, -0x30,0x36,0x88,0x6F,0xDE,0x09,0x06,0xD8,0xDD,0x96,0x9C,0x9A,0x98,0x60,0x29,0x66, -0x80,0x86,0xC4,0x93,0x79,0xE3,0x4B,0x7F,0x31,0x01,0xE7,0xE1,0x75,0xF5,0x51,0xF3, -0x7B,0x7D,0x5B,0xF7,0x14,0x38,0xFD,0x12,0x6A,0xAC,0x11,0x17,0xE5,0xA5,0x91,0xA3, -0x6B,0x6D,0x1B,0xA7,0xD4,0x70,0x75,0xD2,0x18,0x32,0xFD,0xFB,0xAF,0x76,0x08,0x70, -0x2C,0x2A,0xDA,0x21,0x2B,0x00,0xFA,0x2D,0x41,0x8E,0x18,0x1E,0xEF,0xAD,0x93,0xAB, -0xCB,0xCD,0x17,0x0B,0xE4,0x04,0x31,0xE2,0xFB,0x83,0xAF,0xA9,0xB5,0xB5,0xD1,0xB3, -0xF7,0xF1,0x41,0x61,0x49,0x97,0x0F,0x4F,0x54,0x71,0xF2,0xF4,0x88,0xAB,0xF2,0xAD, -0xC4,0x99,0x8B,0x96,0x50,0x51,0x85,0x03,0x05,0x01,0x57,0x80,0xC5,0x08,0x49,0x97, -0x48,0x83,0x1D,0x1A,0x6F,0xEB,0x00,0xB9,0x71,0xA1,0x23,0x54,0xA9,0x9E,0xB3,0xFB, -0x15,0x71,0xB2,0x47,0xD3,0x0E,0x59,0x5C,0xA7,0xDE,0xF5,0xFD,0xB4,0xEC,0xDC,0xE6, -0x46,0xE0,0x70,0x14,0x0D,0xF2,0x7B,0xA0,0xC3,0x2E,0x91,0x69,0xB3,0xAD,0x9A,0xE1, -0x28,0x07,0xF9,0x7A,0x97,0x3E,0x2D,0x6C,0x63,0x82,0x31,0x65,0x5D,0x42,0x9B,0x0F, -0x66,0xE4,0x54,0x34,0xFC,0xB0,0xC8,0xE2,0x7B,0xD8,0x29,0x27,0x2C,0xA6,0x0E,0x7E, -0x87,0x48,0x19,0xD5,0xB2,0x08,0x3E,0x5A,0xD2,0x5F,0x80,0x09,0x6E,0x57,0xBD,0x3C, -0xD0,0xC9,0xCF,0x82,0x75,0x67,0x96,0x35,0x65,0xE5,0x37,0x04,0x8A,0xCB,0xC5,0xD8, -0x40,0x81,0x17,0x12,0xC7,0x2A,0x69,0x78,0x7F,0xCC,0x2D,0x37,0x15,0xC0,0x51,0x47, -0x43,0xD0,0x45,0x11,0xB0,0x00,0x34,0x52,0xEC,0x46,0xBE,0x2E,0xD1,0x58,0x0D,0x83, -0xED,0xBF,0x84,0xBF,0x43,0x4A,0x8D,0x18,0x7E,0xED,0x2C,0x17,0x2F,0xF7,0x5C,0x7D, -0x8E,0x6A,0x32,0xDC,0x3E,0xE8,0x52,0xBA,0x6C,0xCE,0x3E,0x26,0xAE,0xDF,0xF5,0xFC, -0x63,0xD4,0x61,0x31,0x05,0x72,0xF3,0x20,0xDF,0x60,0x8D,0x3B,0x9E,0x9B,0x81,0xCC, -0x6E,0xE6,0x5E,0x3C,0xFF,0xAF,0xD4,0xFD,0xB6,0xAF,0xE4,0x9D,0xB2,0x8D,0xBB,0xE0, -0xAA,0x7E,0x02,0xF8,0xD7,0x2E,0x7D,0x7C,0x86,0xDB,0xD4,0xD9,0x81,0x98,0x9D,0xD3, -0xEF,0xCE,0xF7,0xBD,0x94,0x21,0x31,0x73,0xCB,0x24,0x99,0x6B,0xB8,0xFE,0xC2,0xEA, -0x06,0x60,0xB0,0x54,0x1B,0xDE,0x41,0x8C,0x10,0x64,0x42,0xF0,0x68,0x36,0xDA,0x3A, -0xA2,0x7C,0x08,0xF0,0xF9,0x87,0xFA,0xD5,0xC9,0x57,0x9B,0x1A,0x66,0x55,0xB7,0x34, -0xAF,0x4E,0x37,0xFD,0x49,0xC2,0x0F,0x90,0xE6,0x3F,0xB4,0x5D,0xE0,0x3C,0x58,0xB2, -0x77,0x84,0x25,0x25,0x87,0x3A,0x39,0x68,0xDD,0x13,0x8F,0x4A,0x6D,0x06,0xEF,0x3F, -0xA5,0x3D,0x4E,0xF7,0x33,0x5F,0xE8,0x0D,0x3B,0x18,0x69,0xA7,0x4F,0x73,0xB8,0x1D, -0x45,0xB1,0x22,0x17,0xF6,0x38,0x4A,0x6A,0x43,0xA6,0x11,0x61,0xE5,0x0C,0x6D,0xB7, -0xDD,0xFB,0xF0,0x8F,0x64,0x74,0x94,0x26,0x60,0xD0,0x32,0x34,0xC0,0x38,0x7C,0x92, -0x4C,0x93,0x09,0x1E,0xBB,0x9F,0xA0,0xCD,0x06,0x53,0x54,0xD1,0x91,0xD8,0xCD,0xC3, -0xA3,0x5C,0x29,0xF1,0x0B,0xDA,0x55,0x88,0x5A,0xDD,0x08,0x03,0xEF,0x7F,0x14,0xBD, -0xF7,0x8C,0xAD,0xA5,0xA9,0x93,0xBE,0xC1,0xE2,0x2B,0xB0,0x4D,0xBA,0x8F,0xB1,0xE8, -0xEE,0xEE,0xD6,0xBC,0x11,0x56,0xC3,0x04,0xE3,0x0A,0xB1,0x6D,0x76,0x15,0xE7,0x24, -0xC5,0xB9,0xAA,0x97,0xCD,0xA2,0xEB,0xF0,0x02,0x47,0x50,0xC1,0x5B,0x23,0xFC,0x09, -0x82,0x78,0x2C,0xD0,0xC8,0x95,0xD9,0xC7,0x69,0xFB,0x3B,0x16,0x99,0xDA,0xC7,0xCB, -0x1C,0x53,0x99,0x4E,0x70,0x50,0xA4,0x02,0x78,0x8A,0x2A,0x76,0x0D,0x82,0x0B,0x5F, -0x71,0xE5,0x42,0x23,0xA1,0x13,0x36,0x41,0xFC,0x16,0xAE,0x6E,0xA6,0xDD,0xFF,0xF4, -0xE7,0xCC,0xFD,0xB5,0xC3,0x0A,0x4D,0x58,0x37,0x06,0x65,0xB5,0xB9,0xDE,0xE3,0xEB, -0x4A,0xF2,0x6E,0x18,0xA2,0x0C,0x2A,0x5E,0x94,0xF8,0xC6,0xE8,0x6B,0x67,0x88,0x39, -0x1A,0x32,0xFE,0x48,0x0F,0xFA,0x71,0xA8,0xF9,0x23,0xAB,0x5E,0x90,0xF8,0xEC,0xC2, -0x33,0x14,0xF1,0x61,0x88,0x85,0x89,0xD7,0x70,0x80,0x22,0x74,0x41,0x10,0xD5,0x13, -0xDF,0x8A,0x83,0x8D,0x35,0x77,0xC6,0x25,0x33,0x12,0x61,0xA5,0xDB,0x2B,0x74,0x89, -0x0A,0x72,0xAE,0x58,0x20,0x44,0xE0,0x16,0x09,0x1F,0x5B,0x92,0x20,0xB4,0x10,0x72, -0x14,0x51,0x93,0x46,0xD2,0x19,0x4F,0x4B,0xA4,0x8C,0xF6,0xAC,0x1C,0xE2,0x7A,0x4E, -0xC9,0xAB,0xB4,0x9B,0x91,0x16,0x03,0x44,0x39,0x6B,0x6B,0xD6,0x80,0xB8,0xBC,0xD2, -0x12,0x30,0xF4,0x40,0x2D,0xF3,0x5A,0xA1,0xC6,0x1B,0x94,0x59,0xC7,0x79,0x3A,0x95, -0x0E,0x62,0xBA,0x5C,0x96,0x29,0x3B,0x7B,0xEA,0x21,0xB8,0x4F,0xE1,0x1C,0x79,0xB3, -0x4D,0xB3,0x28,0x1F,0x22,0x4C,0xEA,0x1E,0x88,0xB6,0xDA,0xBA,0x92,0x89,0x9F,0xC0, -0xB6,0x2C,0x4C,0xE4,0x19,0xD6,0x4B,0x84,0x07,0x72,0x55,0xF1,0x2D,0x86,0x2F,0x7F, -0xD6,0xA8,0xA8,0x84,0x12,0x49,0xDF,0x1B,0xA1,0xB9,0xF3,0x9C,0x53,0x21,0xF6,0x01, -0x67,0xC4,0x75,0x35,0x6C,0xF4,0x1C,0xA6,0xFB,0x50,0xA9,0x2F,0x52,0x01,0xD7,0x00, -0x59,0xE3,0x6C,0x0B,0x8B,0x9A,0x95,0xC8,0x79,0xAB,0x2B,0x56,0xA8,0xBE,0x92,0xFA, -0xCF,0xCA,0xD3,0x9D,0xA0,0x04,0x20,0x56,0x6F,0x9C,0x3D,0x77,0xAA,0xCF,0xE1,0xF8, -0x36,0x24,0xC4,0x64,0x13,0x5E,0xC9,0x0C,0xCC,0x62,0x9E,0x2A,0x22,0xC5,0x63,0x70, -0xBC,0x5F,0x35,0xEE,0xB6,0x28,0x1A,0x7A,0xC8,0x76,0x9A,0x3A,0xAB,0xEF,0xC0,0xF9, -0x8A,0x7A,0x26,0xD8,0xB7,0x3F,0x0C,0x6D,0xB7,0x8E,0xE5,0xBD,0xE7,0x7D,0x1E,0xB5, -0xA7,0x4C,0x3D,0xF5,0x47,0x6A,0xA9,0x38,0x32,0x33,0x60,0x85,0x59,0x52,0x8F,0x0B, -0x64,0x95,0x27,0x36,0xAA,0x8C,0xA2,0xDE,0x1B,0x3C,0x49,0xA3,0xC1,0x18,0x5D,0x93, -0x05,0x31,0xE2,0x57,0x41,0x42,0x87,0x10,0x27,0x56,0x75,0xF5,0xB1,0xDC,0xE9,0xE3, -0x4F,0xC2,0x5B,0x1D,0x3F,0xFF,0x44,0xAD,0xC4,0x68,0x96,0x28,0x8E,0xDB,0xD1,0xDC, -0x51,0xE1,0x66,0x03,0xA4,0x24,0x04,0x76,0x98,0xE6,0xCA,0xFA,0x26,0xD5,0x77,0x74, -0xFF,0x8E,0xA7,0xAD,0x4B,0xCA,0x05,0x98,0xA0,0x98,0xF2,0xBC,0x83,0xE9,0xEE,0xD1, -0x9D,0x7B,0x30,0xCF,0x39,0xD7,0x6A,0x85,0x7D,0xBF,0x2F,0x46,0xF6,0x1D,0x6F,0xA4, -0x5D,0xF3,0x78,0x0F,0xAE,0xAC,0x86,0xFE,0x55,0x91,0x07,0x40,0x45,0x00,0xC1,0x17, -0xCE,0xEA,0xF2,0x9C,0x9F,0xBE,0xA5,0xEC,0x3D,0x7F,0x6F,0xC6,0x01,0x90,0x15,0x53, -0x27,0x44,0xB5,0x75,0xE7,0x2B,0x48,0x79,0xED,0x67,0xBF,0x0E,0xD4,0x68,0x38,0x86, -0x30,0x45,0xA3,0x62,0xAF,0xBB,0x90,0xE9,0xD9,0x07,0x8B,0x5A,0x4B,0x63,0xAC,0x19, -0xF1,0xED,0xCA,0xA3,0x25,0x73,0xD2,0x21,0x8B,0xE4,0xD9,0xEB,0x89,0x9A,0x97,0xDB, -0x1F,0x02,0xCB,0x4D,0x5B,0xCE,0x11,0x9C,0x7C,0x9E,0x2E,0x66,0x30,0xF4,0x40,0x62, -0x9F,0x0A,0x43,0xCD,0x1E,0xE9,0x73,0xBB,0xD3,0x7E,0x81,0x29,0xFE,0x1F,0x65,0xAC, -0x1E,0x87,0x49,0xED,0x1D,0xB5,0x11,0xDC,0xC4,0x60,0x38,0x88,0xF2,0x9B,0x56,0x1D, -0xEE,0x22,0x1C,0xB8,0xEB,0x0D,0xA9,0x92,0x8D,0x29,0x9A,0x63,0xA6,0x1F,0x02,0xCD, -0xB2,0xCA,0xA8,0x0C,0x71,0x55,0xF1,0x50,0xF5,0x51,0x5C,0xDD,0xC0,0x9C,0x64,0x28, -0x84,0xD1,0x85,0x21,0x3C,0xB4,0x10,0xFC,0x01,0xA5,0x80,0xF5,0xEB,0xE0,0x4F,0x7F, -0x13,0x3D,0xFE,0x5A,0xBC,0x2F,0x8B,0xE7,0x07,0xA3,0xE1,0x92,0x19,0xAF,0xBD,0xC2, -0x4B,0xF1,0x6A,0xCE,0xCD,0x3E,0x9A,0x87,0xC2,0x66,0x59,0xEF,0x87,0x1A,0x23,0xE9, -0x4F,0xD5,0x4A,0xEE,0x30,0x60,0xC4,0x24,0x5D,0xF9,0x52,0x7B,0xE2,0xCB,0x46,0x5D, -0x4C,0xC9,0x55,0xF1,0x20,0xAB,0x0F,0xFF,0x44,0xE0,0x30,0x00,0x74,0x74,0xD0,0x74, -0xC4,0x81,0x95,0x31,0x61,0x9E,0x3A,0x8B,0xD0,0x74,0x68,0xCC,0xA7,0x3E,0x03,0xED, -0xA7,0xEC,0x9B,0x3F,0x52,0x47,0xE3,0x61,0x89,0x2D,0x8A,0x77,0x03,0x86,0xA7,0xF1, -0x97,0xD9,0x9E,0x3A,0x25,0x8A,0x2E,0xDB,0x6D,0xC9,0x16,0x0F,0x72,0x13,0xD6,0x15, -0xAD,0x6E,0x13,0xB7,0x09,0xB1,0x15,0xCC,0x95,0x31,0xD8,0x39,0xAA,0x01,0x0E,0xDF, -0x9D,0x5B,0x16,0xB2,0x90,0x14,0xB0,0xF0,0x6F,0xCB,0x67,0x7C,0x40,0x14,0xE4,0x20, -0xE2,0x8E,0xBC,0x18,0x2E,0x6C,0xC8,0x36,0x08,0xAC,0xA2,0xDE,0xA0,0x78,0x04,0xAC, -0x49,0xFB,0x62,0xC6,0x65,0x51,0xF5,0x40,0xC8,0x6C,0x2A,0x96,0x49,0x3F,0xED,0x02, -0xA9,0x4A,0x33,0x97,0xE6,0x37,0x93,0xA5,0x23,0x87,0xF5,0xA2,0xD8,0xC6,0x7C,0x6A, -0xC9,0x3B,0x22,0x86,0x70,0xBB,0x1F,0xBF,0x57,0xF3,0x21,0x02,0x46,0x73,0xE2,0x41, -0x51,0x67,0xE6,0x42,0xFA,0x28,0x8C,0xA6,0x7D,0xD9,0x56,0x5F,0x45,0x21,0xE1,0x10, -0x4E,0xC3,0x5D,0xF9,0xF8,0x3B,0x9F,0xB7,0xBF,0x1B,0xAF,0x64,0x8B,0x04,0x2F,0xFB, -0x66,0x6A,0xDC,0x78,0xDB,0x29,0x8D,0x86,0x1D,0xB9,0xD2,0xBB,0xE8,0xB2,0x4C,0x2E, -0x1C,0x8D,0x41,0xE5,0x99,0xE1,0x45,0x0C,0xF8,0x5C,0x6E,0xE2,0x6B,0x68,0xCF,0x77, -0x0A,0xB7,0x6D,0xC9,0x56,0x88,0x2C,0xAA,0x25,0x81,0x94,0xC5,0x66,0x57,0xC2,0x45, -0x6F,0xF4,0x4B,0xEF,0x12,0x9C,0x38,0xFA,0x76,0xD2,0x05,0x07,0xEA,0xC1,0x4E,0x5F, -0x09,0xAB,0x72,0xD6,0xED,0xD1,0x75,0x48,0x79,0xDD,0x46,0x4B,0xAF,0x34,0x0B,0xEF, -0x0F,0x85,0x5A,0xFE,0x97,0x26,0x82,0xC5,0xBC,0x18,0xFE,0x36,0x4D,0x2B,0xE9,0x12, -0x99,0x7F,0x36,0x92,0x37,0x52,0xF6,0x11,0x06,0xA2,0xC1,0xB3,0xC1,0xBD,0x65,0x08, -0x3C,0xAC,0x40,0xE4,0x18,0x94,0x30,0xF8,0xA5,0x01,0x9C,0x4D,0x43,0x46,0xE7,0x71, -0x7D,0xEA,0x47,0xE3,0xE8,0xF0,0x54,0x6C,0x59,0xFD,0x42,0x6F,0x10,0x84,0xB4,0xE0, -0x37,0x38,0xDF,0x7B,0xEE,0x2C,0x88,0xB6,0xE7,0x43,0x6D,0xFE,0x63,0x62,0xC7,0x75, -0xD3,0xAD,0xAE,0x0A,0xB4,0x34,0x90,0xF4,0x69,0xCD,0x06,0x1B,0x2D,0xCF,0x89,0x96, -0x5A,0xF3,0x79,0xDD,0xD3,0x32,0x96,0x95,0x30,0x94,0xE4,0xA0,0xD5,0xF9,0x71,0x58, -0xC6,0x8B,0x9D,0x39,0x69,0x85,0x21,0x98,0x5F,0xFB,0x23,0x08,0x82,0x2F,0x26,0xD9, -0x91,0xF7,0xB6,0x12,0xA7,0x02,0xA6,0xD1,0xFB,0x5F,0x3F,0xB0,0x58,0x4E,0xFC,0x62, -0x8C,0x59,0x05,0xA1,0x89,0x2A,0x8E,0xD7,0x80,0x24,0xA8,0x5C,0x98,0x06,0x3C,0xEA, -0xF9,0x0E,0x27,0x83,0x51,0xBA,0x1E,0x9F,0x7C,0xD8,0x76,0x7E,0x22,0x83,0x86,0xD5, -0x01,0x23,0xF2,0x56,0x49,0x6A,0xCE,0x57,0xE9,0x4D,0x0E,0x93,0xCB,0xC4,0x6F,0x7B, -0x0B,0xA1,0x7A,0xDE,0xD2,0xDC,0x78,0x7A,0x24,0x80,0xB4,0xE4,0xF4,0xFC,0x50,0x7C, -0xF2,0x9A,0xB8,0x1C,0x31,0x8E,0x2A,0xCB,0xEC,0x48,0x3E,0xA6,0x35,0x95,0x91,0xD4, -0x8E,0x53,0x0D,0xA9,0x48,0x84,0x20,0xB8,0xBE,0x1A,0x8F,0x45,0x9A,0x75,0x3E,0x9B, -0x65,0x76,0xC3,0x67,0xA8,0x2B,0x8F,0xF7,0x99,0x3D,0xCA,0x27,0x1A,0xFD,0xBE,0x93, -0xEC,0x28,0x14,0xB0,0xB8,0xE0,0x44,0x2C,0x68,0xCC,0x26,0x3A,0x8F,0x10,0x2B,0xEB, -0x7E,0xF6,0x58,0xFC,0x40,0x9F,0x3B,0xAB,0x7F,0xDB,0x27,0x2C,0xB9,0x03,0x1D,0xCE, -0x89,0x6B,0x32,0x96,0x0A,0x4C,0xE8,0x32,0xDB,0x7F,0x3B,0x94,0x61,0x11,0xC5,0x04, -0xC3,0xB9,0xAA,0x0E,0x05,0x65,0xC1,0x14,0x3D,0x99,0xD6,0x9F,0xA2,0x0B,0x06,0xDD, -0x4A,0xE7,0x7D,0xD9,0x5E,0x93,0x37,0xB9,0xA8,0x0C,0xAE,0x72,0x4A,0x6D,0xEE,0x53, -0x4D,0xDF,0x42,0xE6,0x60,0x70,0xD4,0x64,0x15,0xB1,0xD0,0xB1,0x00,0xD4,0xA4,0xA0, -0x78,0xD8,0x70,0xD4,0xAE,0xF7,0x53,0x2D,0x9D,0x39,0xDA,0x33,0xFA,0x91,0x5E,0x1F, -0x44,0x41,0xD5,0x71,0xD0,0xCF,0x6B,0x6B,0x73,0xD7,0x35,0x32,0x54,0x50,0xF0,0x70, -0x18,0xA9,0x61,0xC5,0x80,0xDF,0x7B,0x2B,0x1B,0xBF,0xB3,0xDC,0x48,0x1E,0xEC,0x22, -0x8D,0x4F,0x12,0xB6,0x17,0xBD,0x19,0xDE,0x7E,0xDA,0x07,0x0D,0x0B,0x8C,0xAF,0xF3, -0xB0,0xC0,0xA0,0x04,0x8F,0xF6,0x52,0x0D,0x1E,0xBA,0x83,0xE9,0xD3,0x9E,0x77,0x39, -0x17,0x19,0xDE,0x7A,0x44,0x50,0xF4,0x60,0x81,0x25,0x88,0x7D,0xB3,0x7A,0x17,0xBD, -0x2F,0xA4,0x5B,0xFF,0x9D,0x2E,0x8A,0xC7,0xCD,0x69,0x1A,0xA3,0x5C,0x5A,0xF8,0x72, -0x90,0xE1,0xA1,0x05,0x66,0xAC,0x08,0xBE,0xA3,0x07,0xFD,0x2A,0x62,0x43,0xC6,0x55, -0x54,0x55,0xD1,0x75,0x54,0x9B,0x3F,0xBB,0x09,0xAD,0x82,0xFF,0x33,0xF2,0x97,0xB5, -0x5E,0xD7,0x59,0xFD,0xAA,0x38,0x9C,0xE6,0x53,0xF7,0x31,0x16,0xCA,0xE5,0x6E,0x5B, -0x69,0xDA,0x63,0xC7,0x15,0xAE,0x0A,0xCF,0xAD,0x09,0x9E,0x47,0x1F,0xC8,0xBB,0xA3, -0xF6,0xBE,0x98,0x3C,0xCE,0xC3,0x67,0x79,0x5B,0xFF,0x33,0x1C,0x4F,0x58,0xEB,0x63, -0xBA,0x42,0x28,0x8C,0x24,0x64,0xC0,0x34,0x20,0x84,0xA4,0xF0,0xDA,0xB5,0x7E,0x1B, -0x81,0xE3,0xB2,0x16,0xB6,0x27,0x83,0xE5,0xD2,0x76,0x19,0xBF,0x36,0xC7,0x92,0x85, -0x73,0x4C,0xEF,0x4B,0xBA,0xF3,0x57,0x3D,0x4E,0xEA,0x43,0x79,0x11,0xA5,0xB5,0xC0, -0x25,0x26,0xD3,0x77,0x29,0x5E,0xFA,0x03,0x13,0xB7,0xB1,0xD6,0x0F,0x98,0xAB,0xE3, -0xE8,0x0C,0x34,0x90,0x2D,0x91,0x35,0xC8,0xA4,0x00,0xBC,0x6C,0x17,0xC2,0xB3,0xA1, -0x29,0x8A,0x73,0xD7,0x5D,0x6E,0xCA,0x47,0x41,0xE5,0x00,0x35,0xCC,0x82,0x68,0x3A, -0x02,0xDF,0x78,0xD0,0xE2,0xCE,0x66,0x21,0xE6,0x4E,0x27,0xCC,0x93,0x4D,0x3B,0xD3, -0x29,0x6A,0xE6,0x4E,0x9F,0x0B,0xA3,0x99,0xF7,0x5F,0x47,0xBD,0x07,0x81,0xAF,0x8B, -0x9D,0xBB,0x83,0x2B,0x0B,0x94,0x3C,0x92,0xA9,0x01,0xE4,0x40,0x27,0xA5,0x8F,0x8F, -0xB4,0x04,0x15,0xBD,0x70,0x8D,0x25,0xF0,0x62,0xCA,0x3F,0x50,0x38,0xB9,0x90,0x8C, -0xDD,0xEB,0x93,0x3B,0xF8,0x0D,0xA5,0xF8,0x7C,0xD4,0x1C,0x6D,0x24,0xF7,0x8C,0xDE, -0x0D,0x6F,0xC7,0x6F,0x13,0x44,0xEC,0x5A,0xC4,0x6C,0x52,0x9B,0x71,0x52,0xD9,0x2E, -0xE8,0xEC,0xA1,0x09,0xAD,0x3C,0x94,0x9C,0x9C,0x34,0x90,0x01,0xC5,0xBA,0x6D,0x72, -0xBF,0x90,0x8A,0x22,0x85,0xC8,0x60,0x40,0x7D,0xD5,0x3C,0x4C,0xE8,0xA1,0x40,0x44, -0xE0,0x64,0x21,0x89,0x0C,0xA6,0x0E,0xA7,0xDD,0x75,0x30,0xE0,0x7B,0x2B,0xD3,0x5D, -0x6C,0x08,0xC1,0x69,0xAE,0xC1,0x69,0x62,0xA5,0x0D,0xF6,0x5E,0xD1,0xFE,0x79,0x22, -0xC2,0x4F,0x28,0x80,0xE6,0x01,0xA9,0xEA,0x98,0x30,0x80,0x15,0x0F,0x8B,0xA7,0x89, -0xAA,0xB6,0xB9,0x11,0xD2,0xEA,0x42,0x35,0xFE,0x56,0x65,0x96,0x5E,0x3A,0xF6,0x69, -0x2D,0x4E,0xC6,0x6E,0xBC,0x19,0xB1,0xA8,0x57,0xFF,0x4B,0x11,0xF8,0xF1,0x50,0x04, -0x31,0xF6,0x62,0xCA,0x07,0x40,0xE8,0x4A,0x8E,0x26,0xA1,0x22,0xF6,0x9C,0x5E,0x67, -0xD5,0x63,0x13,0xBB,0x7F,0xA4,0x0C,0xD6,0x43,0xEB,0x1B,0x55,0xF3,0xA9,0x5B,0x57, -0x1F,0x71,0xCB,0x63,0x49,0x5C,0xF4,0x18,0x78,0xD0,0x0C,0x79,0x7E,0x1E,0xD6,0x6D, -0xB7,0x18,0x0A,0xA2,0x92,0x31,0x99,0xAE,0x28,0x80,0xCC,0xE9,0x2C,0xFD,0x84,0xDC, -0x85,0x27,0x07,0xAF,0xB5,0xEC,0x44,0x54,0x41,0xE9,0x6A,0x26,0x00,0xC7,0xA8,0xCA, -0x9F,0xB1,0x8B,0x23,0x77,0xBF,0x17,0xC5,0x55,0xFD,0x3A,0x62,0x26,0x84,0x8E,0xAF, -0x2F,0x44,0xCE,0x66,0x3B,0xB0,0x18,0x86,0x18,0xB0,0x88,0x9D,0x1F,0xDB,0xB7,0xC9, -0x81,0x03,0x27,0x8F,0x72,0x9E,0x36,0xE1,0x72,0xDA,0x7F,0x00,0x4F,0x4B,0xE7,0x09, -0xD0,0x51,0x24,0x8C,0x2F,0xB4,0x1C,0x96,0xE1,0x49,0x66,0x8A,0x8B,0x17,0x23,0x91, -0x3B,0x74,0xEA,0x42,0x14,0x76,0xDE,0x6F,0xF2,0x5A,0x77,0x88,0x30,0xB3,0x98,0x8E, -0xEE,0xC2,0x89,0x21,0xCB,0xD4,0x7C,0x12,0xE0,0x48,0x46,0xAB,0xB1,0x1A,0x19,0xA6, -0xB5,0x12,0x02,0xAA,0x8E,0x2E,0x86,0xAD,0xE5,0x4D,0x76,0x9E,0xB2,0x48,0x1A,0xF7, -0x56,0xBF,0x4C,0xE4,0x6B,0xA0,0x08,0xC6,0xFD,0x55,0x34,0xC4,0xC3,0xDD,0x6B,0x13, -0x98,0x89,0xB4,0x1C,0xD0,0xF9,0x51,0x24,0xFB,0x53,0x55,0xA3,0x14,0x83,0xBC,0x9A, -0x19,0x5F,0xE3,0x4B,0x78,0x96,0x3E,0xE3,0x4C,0xE4,0x58,0x19,0xF0,0xFB,0x58,0x06, -0xD2,0x5B,0x2C,0x84,0x46,0x75,0xDD,0x3E,0xEF,0x47,0x05,0xE7,0x37,0xF5,0x9F,0xCF, -0xC8,0xCD,0xA0,0x08,0xC3,0xCF,0x67,0x01,0x9B,0x33,0xD1,0x47,0x5B,0x0F,0xF3,0x59, -0xB1,0x36,0x22,0x8A,0x3D,0x6C,0xC4,0x5C,0x5D,0xF5,0x38,0x68,0x2D,0xDC,0x85,0xFC, -0x20,0xF4,0x71,0xD9,0x1F,0x90,0x38,0x82,0x39,0x91,0xAC,0x98,0x2A,0x9A,0x82,0xBD, -0xBC,0x8C,0x95,0x3D,0x94,0xED,0x45,0x74,0x15,0xBD,0xBA,0xA2,0x17,0xD1,0xBF,0xCB, -0x14,0xE5,0x54,0xFC,0xD6,0x25,0x8D,0xFE,0x47,0xEF,0x0B,0x41,0xD5,0xEA,0x7D,0x32, -0x5B,0x05,0xFB,0x53,0x35,0x77,0xDF,0x4F,0x4D,0xE5,0x78,0x38,0x60,0x23,0xC8,0x4E, -0x53,0x8D,0x7B,0xD3,0x57,0x50,0xF8,0x0A,0xE2,0x4A,0x37,0xD8,0xAE,0x06,0x06,0xA5, -0xA2,0x3E,0x39,0x91,0xC0,0x32,0x9A,0xFF,0xCB,0x63,0x11,0xD7,0xDB,0x87,0x73,0x51, -0x2A,0x76,0xF9,0x51,0x2C,0x49,0xE1,0x68,0xE3,0x4B,0x17,0xF9,0x68,0x29,0xC0,0x4C, -0x15,0xF3,0x43,0xEB,0x0E,0xB5,0x1D,0xB6,0x73,0xDB,0x5F,0x21,0x4A,0x7E,0xE2,0x39, -0xBB,0xB4,0xAA,0x02,0xE3,0x20,0x88,0xCE,0xA3,0x0B,0x97,0x39,0x9F,0x53,0x37,0xC1, -0x93,0x1D,0x2B,0x83,0x02,0x61,0xC9,0x6E,0x5A,0xF2,0x79,0x2E,0x10,0x97,0xB8,0x8A, -0x60,0xA4,0x61,0xC9,0xC1,0xDC,0x74,0x10,0xB9,0x11,0xA4,0x10,0x2F,0xAF,0x87,0x8D, -0xDF,0xE1,0x9B,0x33,0x43,0x54,0xFC,0x1A,0x3E,0x96,0xED,0xDE,0x1D,0xA8,0xB5,0xB8, -0xB0,0x20,0x35,0x9D,0x42,0xBA,0x12,0xF5,0x06,0xAE,0xAB,0xA0,0xB8,0x31,0x10,0x84, -0x2B,0x60,0xEE,0x46,0x4A,0xA1,0x09,0xE6,0x29,0x81,0xEC,0xC8,0x79,0x58,0xD1,0x2C, -0x0E,0x73,0xD8,0x70,0x5C,0xB6,0x1E,0xE7,0x56,0xFE,0x6B,0x30,0x35,0x86,0x9D,0xBE, -0xC4,0x61,0x00,0xA8,0xE4,0x12,0xBA,0xFB,0x85,0x2D,0xF2,0x7A,0x5F,0x1B,0xF7,0x49, -0x1D,0x7B,0xC3,0x6B,0xEF,0xF4,0x5C,0x16,0xAC,0x04,0xD4,0x75,0xC7,0xC9,0x6F,0x03, -0xB2,0x2A,0x3D,0x95,0xD3,0x04,0xAC,0xDA,0xE7,0x4F,0x07,0xED,0x36,0xD4,0x9E,0xEF, -0x95,0x33,0x03,0xAB,0x5A,0x6A,0xC2,0x3D,0x65,0xCD,0x7E,0x16,0xCC,0x91,0x64,0x50, -0x75,0x82,0x52,0xFA,0x8F,0xC0,0x68,0x42,0x52,0xFA,0x7B,0x24,0xBC,0x25,0x14,0x94, -0x9B,0x95,0xAB,0x03,0x66,0x9A,0x32,0xF1,0xF1,0x59,0x26,0xDA,0x34,0xA7,0x9C,0x9E, -0xE2,0x6E,0x29,0x81,0xAC,0xD2,0x7A,0x73,0x16,0xBE,0xEB,0xF0,0x0C,0xD9,0xA4,0xD8, -0x33,0xFC,0x6A,0xC2,0x7D,0xB7,0x1F,0xC7,0x74,0xDC,0x1E,0x67,0x7F,0x3F,0xD7,0x4D, -0xF9,0xEE,0xB2,0x1A,0x99,0xD7,0x7F,0x43,0x3F,0x97,0xCD,0xFF,0xCD,0xB0,0x65,0x70, -0x7D,0x0A,0xD2,0x7A,0x0D,0x48,0xE0,0x48,0x99,0x31,0xA0,0x34,0xB3,0x69,0x1B,0xD7, -0x00,0xD5,0x70,0xD8,0x09,0x87,0x2F,0x83,0x3A,0x92,0xFD,0xCA,0x82,0x3C,0x2A,0xB3, -0x23,0xE8,0x6E,0xC6,0xA6,0xDA,0x72,0x71,0x97,0x3F,0xC3,0x59,0xBE,0x56,0x16,0xE5, -0x61,0xB2,0x76,0xDE,0x1C,0x6D,0xC5,0x7C,0x58,0xF0,0x08,0x5D,0x59,0x7C,0xF1,0x28, -0xFA,0xF2,0xAD,0x05,0x45,0x88,0x20,0xC0,0xA7,0x0F,0x87,0x2D,0x1E,0xFA,0xB6,0xE9, -0x63,0xB8,0x7E,0xD6,0x37,0x64,0xCC,0x5E,0x67,0xCF,0x0F,0x65,0x0E,0xAA,0xA6,0xA9, -0xA3,0x28,0x2E,0x86,0x6C,0x92,0x3A,0xF3,0x0A,0xA2,0xB9,0xBE,0xF5,0xCE,0x5D,0x36, -0xDB,0xC5,0xBB,0x13,0x80,0xE9,0x41,0x64,0xAD,0x05,0xF4,0x54,0x45,0x32,0xED,0x7A, -0x45,0xB7,0x57,0xFF,0xCF,0x1B,0xB3,0xD9,0xEE,0x46,0x25,0xC6,0xDF,0x93,0x77,0x41, -0x3D,0x16,0x47,0xC2,0x47,0x22,0x16,0x8C,0x76,0x22,0xEC,0x73,0x8A,0x86,0xD7,0xE5, -0x94,0x97,0xC6,0xEA,0x55,0x13,0x04,0xAF,0x0B,0x80,0x33,0xD1,0x5F,0xE5,0xB4,0x53, -0x30,0x2C,0x7D,0xF5,0x46,0x02,0x17,0xAD,0xF2,0x42,0x08,0x13,0xB4,0x2B,0x7A,0x76, -0x6C,0xE8,0xB9,0x6D,0xD5,0x1B,0x84,0x27,0x85,0x68,0x55,0x39,0xE5,0x28,0x79,0x24, -0xFC,0xB8,0xE9,0xAD,0xBF,0xEC,0xEE,0xBA,0xE2,0x46,0x1C,0x17,0x4B,0xC1,0x90,0x63, -0xA3,0x81,0xD0,0xCB,0xF2,0x5E,0xA3,0x45,0xA1,0x49,0x50,0x18,0xFB,0x84,0xD5,0x96, -0xE0,0xA7,0xF6,0xAE,0xE6,0x0E,0xB7,0x01,0x30,0x1A,0x92,0x4B,0xE1,0x08,0x59,0x00, -0xDA,0x8B,0xDA,0xB8,0x8F,0xA8,0xDE,0xCE,0xCA,0xC7,0xB5,0x96,0xD3,0x05,0x54,0x3F, -0xBD,0x8D,0xDC,0xD9,0x9E,0xC8,0xCF,0xBF,0xE6,0x66,0x38,0x37,0x44,0x7E,0x2F,0xD3, -0xFB,0x8A,0xDB,0x98,0xFA,0x5C,0xAB,0x4F,0x38,0x9A,0x1A,0xCB,0xD5,0x2D,0x7C,0x11, -0x28,0xFC,0xAD,0x3D,0x3C,0xB5,0x6D,0x60,0x65,0x39,0xE4,0x68,0xAC,0xAF,0xFE,0xEA, -0xD2,0x90,0xC1,0xAB,0x48,0x61,0x19,0xC0,0x5A,0x83,0x61,0xD2,0xB6,0x23,0x72,0x7C, -0xDC,0x57,0x06,0x62,0xEB,0x3C,0xBA,0x3E,0x87,0x60,0x5F,0x31,0x7D,0xEC,0xBD,0x78, -0xA4,0xB3,0xE2,0xFE,0x5C,0x31,0x0D,0x84,0x40,0x0F,0xF7,0x5E,0xFC,0xBB,0xEA,0xAE, -0xFA,0x64,0x35,0x77,0x5A,0x50,0x0B,0xE3,0xA2,0x56,0x4C,0x07,0x32,0x43,0x12,0x98, -0x6F,0x15,0x44,0x93,0x42,0x12,0x13,0xB9,0xC9,0xD8,0xA9,0x89,0xD1,0x0D,0x5C,0x35, -0x86,0x4F,0x1E,0x20,0xDA,0x58,0x8B,0x6B,0x24,0x3E,0xA2,0x6F,0xDB,0x85,0xD4,0xB7, -0x9D,0x62,0x33,0x16,0x3B,0xF4,0x6A,0x26,0xF8,0xCA,0x8A,0x9B,0x8C,0xAE,0xFF,0xCB, -0x75,0xD6,0x87,0x4A,0x63,0x36,0x32,0xBC,0x3E,0xB2,0x34,0xE3,0x69,0xC8,0x99,0x48, -0xD0,0x83,0xD2,0xBA,0xDB,0x78,0x8A,0x4A,0x9C,0xFB,0xDF,0xAA,0xB9,0x9C,0xCD,0xCC, -0x9E,0x9F,0xCE,0xE8,0xC5,0x5B,0x94,0x77,0x94,0x7B,0x57,0x2A,0xD0,0x1A,0x4B,0x23, -0x82,0x80,0xD1,0xEB,0x0E,0x80,0x5F,0x67,0xF6,0x62,0x2C,0x33,0xF9,0x8C,0xDD,0x9C, -0xA6,0xA0,0xF1,0xEF,0x50,0x23,0x01,0x9A,0xFD,0xFD,0xB8,0xAC,0x4D,0xE9,0xB8,0x4D, -0x6A,0x34,0x65,0xB7,0x41,0x43,0x10,0xEB,0x45,0x38,0xC5,0x69,0x66,0x77,0x26,0xF8, -0x39,0xD9,0x88,0x09,0xDF,0x68,0x8E,0x5E,0x7C,0xAA,0x6E,0xFB,0x7B,0xC4,0x95,0x56, -0x8E,0x54,0x05,0x33,0xE4,0x7F,0xB5,0x72,0xB2,0x52,0x58,0x03,0xB1,0x1C,0x4D,0x44, -0xBB,0x51,0x00,0x03,0x29,0xC5,0x78,0x05,0x2E,0xB6,0x20,0xE7,0x55,0x6D,0x3C,0xD1, -0xD6,0x5F,0x0E,0x60,0xF0,0x2F,0xA1,0x36,0xCC,0xEF,0x9B,0xBE,0x49,0xC9,0x98,0x69, -0x1D,0xF9,0xA8,0x0D,0x59,0x01,0x08,0xB1,0x51,0x1C,0xF5,0x4D,0xCE,0xB6,0xE7,0x91, -0xAC,0xA8,0xF9,0xED,0x3F,0xE4,0x6E,0x32,0x8E,0xF7,0xC1,0xA6,0xA6,0x27,0x76,0x68, -0xD9,0x76,0x27,0x46,0x02,0x92,0x53,0x79,0x06,0x37,0x89,0x66,0x08,0xCE,0x9F,0x2F, -0x0C,0xDC,0x8D,0x39,0x7A,0x54,0x2B,0xC7,0xC3,0x50,0x2B,0x01,0x84,0x2E,0x7F,0x43, -0x4E,0x14,0x45,0xB3,0x3E,0xC4,0x6F,0x13,0x2C,0xBE,0x2A,0xEF,0x19,0xDD,0x8C,0x2D, -0x97,0x6A,0x3B,0x14,0x98,0xA9,0xC9,0xD8,0x27,0x21,0xBE,0x70,0x9D,0xBD,0xEC,0xC9, -0x18,0xD8,0x89,0x29,0xD3,0x7A,0x82,0x40,0xA3,0x41,0x5A,0x10,0x57,0x65,0x34,0xDB, -0xFE,0xAB,0xFA,0xBC,0xB1,0x8F,0xE0,0xD7,0x17,0x24,0x8B,0x75,0x86,0x26,0x77,0x49, -0x80,0x93,0xC2,0xFA,0x56,0x42,0x07,0xFD,0x95,0x6C,0x41,0x3D,0xFF,0xA4,0xF5,0xB2, -0x02,0x1B,0x4A,0xF0,0xF5,0x1F,0xA4,0x03,0x26,0x36,0xA8,0x67,0x11,0x5D,0x0C,0xA5, -0xB6,0x6B,0x3A,0x34,0xC2,0x1A,0x93,0x31,0x59,0x9C,0x7D,0xCD,0xF1,0x0C,0x5D,0x14, -0xF3,0x91,0xC0,0x8B,0x40,0x63,0x11,0xCA,0xBE,0xF2,0xF4,0xA3,0xD6,0x32,0x63,0x0D, -0xB4,0x78,0x29,0x25,0x49,0x41,0x18,0xE1,0xBD,0xED,0xE8,0xBC,0x21,0x58,0x09,0x90, -0x15,0xE2,0xB3,0x1E,0x0A,0x90,0x5B,0x73,0x00,0x1F,0xA7,0x4E,0xBF,0xB4,0xE5,0xE2, -0xE9,0x52,0x03,0x52,0xAD,0xDD,0xFC,0x99,0x97,0x64,0x4B,0x35,0xC7,0x21,0x70,0x0F, -0x8D,0xA9,0xF8,0xCD,0xC0,0x6B,0x91,0x42,0x3A,0x92,0x10,0xC3,0x07,0x71,0x20,0x9F, -0xDD,0xB9,0xE8,0x8D,0x00,0xE3,0x51,0x0A,0xA4,0x7E,0x62,0x2F,0x9E,0xA2,0xF3,0xD5, -0x5B,0xFE,0xAF,0x4C,0xFF,0x6C,0xAE,0x7A,0x18,0x9B,0x3B,0xCA,0x05,0x79,0x28,0x95, -0x71,0x19,0x48,0x81,0x30,0xA7,0x61,0x7E,0x15,0x2C,0x81,0x7D,0x47,0x61,0x30,0xCF, -0x1B,0x25,0x74,0xD7,0x9D,0x99,0xCC,0xED,0xE7,0x71,0x2E,0x20,0x64,0x7F,0x2E,0xF2, -0x74,0x38,0x69,0xA5,0x04,0xF3,0x55,0x1E,0xAA,0xD6,0xC4,0x87,0xDF,0xA5,0xF4,0x93, -0x59,0xED,0xBC,0x5D,0xD4,0x3B,0x85,0x06,0xD2,0x43,0x29,0x12,0x71,0x4C,0x1D,0xD4, -0x0E,0xCF,0x9E,0x28,0x44,0x73,0x15,0xDE,0x0C,0xBF,0x0B,0xEE,0x4E,0xF6,0xA7,0x51, -0xA0,0x7C,0x2D,0x35,0x6C,0x75,0x3D,0xF0,0x9B,0xC4,0xE7,0x95,0xC6,0x36,0x67,0x19, -0x21,0x09,0x58,0xC1,0x45,0x53,0x14,0xFF,0x6E,0xA6,0x70,0xF7,0x37,0x74,0x25,0xAA, -0x04,0xC7,0x96,0x2A,0xEA,0x1C,0xBB,0x1F,0x2B,0x81,0x12,0xD0,0x3F,0xF4,0xA5,0x22, -0xCD,0x72,0x23,0x56,0xE0,0x6F,0xB1,0x66,0x9A,0xD3,0xF1,0x82,0x70,0x5B,0x0A,0xC2, -0xF6,0xB0,0xE1,0xAF,0xB2,0xDE,0xE3,0x85,0x10,0x1B,0xB3,0x4A,0xD8,0x9A,0xCB,0xAB, -0xEE,0x60,0x31,0x67,0x0B,0xB0,0x5A,0x52,0x72,0x02,0xC8,0x53,0x79,0xCC,0x9D,0x5C, -0x3C,0xF8,0xA9,0x2D,0x22,0x96,0x73,0x5D,0x9F,0xE4,0xC3,0xB5,0xA0,0x0F,0x5E,0x46, -0xA1,0x92,0xC3,0xDA,0xF1,0x0F,0xA0,0x17,0x83,0x40,0x7B,0x11,0x6A,0xD7,0x86,0x54, -0x7F,0xDE,0x8F,0x48,0x8E,0x88,0xDF,0xEF,0x82,0x57,0x6D,0x06,0x4F,0xE1,0xB0,0x47, -0x16,0x1F,0x4E,0xE0,0xA1,0xCF,0xF0,0x87,0x91,0x4C,0x65,0x1D,0xD4,0x3A,0x6B,0x07, -0x8F,0xBA,0xEB,0xDC,0x99,0x89,0xC8,0xF9,0x7E,0xA2,0x64,0xF3,0xBB,0x94,0xC5,0xC6, -0x88,0x88,0xD9,0xE9,0x1E,0xC0,0x4F,0x37,0x74,0x2A,0xE6,0x7B,0x04,0x6E,0x3F,0x83, -0xB0,0xB7,0xE6,0xEE,0xFD,0x1D,0xAC,0x09,0x0A,0x97,0x25,0xC6,0xF7,0x24,0x75,0x3A, -0xE8,0xBF,0xFA,0x80,0x7A,0xE7,0x58,0x8F,0xC9,0x11,0xA1,0x1D,0xEA,0x48,0x67,0x82, -0x06,0x50,0xFB,0x6E,0x15,0x49,0x99,0x21,0x6C,0x88,0x04,0x21,0xD2,0x0E,0x19,0xBA, -0xDD,0xCB,0xBB,0xB5,0x36,0x57,0xA4,0x3F,0xC4,0x2E,0xAC,0x2F,0x8E,0xDC,0x97,0xE6, -0x60,0xB5,0x78,0x08,0xC5,0x1D,0x1D,0x75,0xFB,0x16,0x93,0x28,0x6D,0x01,0xA9,0x05, -0xAE,0x5E,0x5D,0xC6,0x61,0x7C,0xD8,0x14,0x8B,0xA2,0xE3,0xEC,0x51,0x57,0xC3,0x39, -0x48,0xB3,0x56,0x20,0xB8,0xBF,0xC2,0xD7,0x13,0x70,0x7B,0xA6,0x78,0x71,0xCC,0x10, -0x1D,0x43,0xF3,0x75,0x8E,0x92,0xD9,0xFA,0xAD,0xE1,0xC5,0x89,0xFD,0x49,0x71,0x95, -0x0A,0x42,0xE5,0x62,0xAB,0xA4,0xCA,0xCC,0xE1,0x3F,0x89,0x1B,0x82,0xCE,0x89,0xEA, -0xCB,0xEA,0x8C,0xA3,0xFE,0x87,0xBC,0xEF,0xB4,0x9A,0xDC,0xEB,0x99,0xDD,0x81,0xF1, -0xEC,0xAF,0xEE,0x84,0xF6,0x07,0x34,0x6F,0x7A,0xBF,0x12,0x00,0x36,0x92,0x61,0x5E, -0x51,0xD1,0x2D,0x39,0x19,0xE9,0x35,0x81,0xC3,0x68,0xAB,0x6E,0xC1,0x1F,0x1B,0xA9, -0x99,0x5B,0x6F,0xF1,0xB1,0x28,0x5C,0x40,0x01,0x53,0x69,0x97,0x93,0xAE,0xF8,0xFB, -0x09,0x13,0xB7,0x61,0xB0,0x3F,0x4A,0x57,0x9E,0xC7,0xF6,0x9C,0xA7,0xFA,0x98,0xCF, -0x9C,0x6B,0x5A,0xF4,0x1E,0xD6,0x0D,0xBE,0x4B,0xEA,0x23,0x64,0x77,0x32,0x80,0x1F, -0x8E,0x5A,0x79,0xE6,0x07,0x45,0x87,0x2D,0x0F,0x3E,0x67,0xF4,0x1F,0xB4,0x6E,0x77, -0xF5,0xCD,0x95,0x9D,0x8F,0x85,0xCF,0xED,0xBC,0x90,0xD4,0xE9,0x37,0xB2,0x40,0x5F, -0xD1,0xD9,0xA5,0xB9,0xC4,0x0A,0x0B,0x62,0x8D,0xC5,0xE5,0x8D,0x8C,0xAD,0xE4,0xE4, -0x34,0x65,0xFC,0x5C,0x5F,0xD1,0x4B,0xB9,0xCA,0x43,0xA2,0x4C,0x73,0x22,0x94,0x1B, -0x3B,0x26,0xB0,0x53,0xA5,0x0C,0x6C,0x64,0x56,0x85,0x3E,0x16,0xEE,0x58,0x73,0x86, -0x66,0xD4,0x1F,0x0E,0x86,0x12,0x51,0x7A,0x6A,0xEF,0x02,0x40,0x43,0x66,0xE0,0x2B, -0x55,0xC1,0x39,0x3D,0x7E,0xC7,0x7C,0xAF,0x91,0x8B,0xF9,0xDF,0x79,0x51,0xED,0x11, -0xA7,0x7C,0x76,0xCF,0xE0,0x2B,0x0E,0x43,0x0B,0x2A,0x63,0xE4,0x3A,0x80,0x7F,0x52, -0xD8,0xFB,0x8E,0xB0,0xC6,0x02,0x01,0x6A,0xDA,0x13,0xB2,0x0C,0xB3,0xAA,0xDC,0xDB, -0x2E,0x56,0xD5,0x46,0x06,0x52,0x91,0x3A,0x21,0x77,0x49,0x93,0xDE,0x1C,0x07,0xB6, -0x7C,0xE7,0x36,0x14,0xD0,0x2E,0x3B,0x46,0x68,0x9C,0x00,0x31,0x86,0xDE,0x9D,0xEE, -0x26,0x54,0xDF,0x4E,0x3E,0xD7,0x2C,0xBF,0xE0,0x1E,0x88,0x3B,0x25,0x83,0x63,0x4D, -0xB8,0x7F,0x6A,0xD0,0x17,0x41,0x93,0x29,0xE2,0x6D,0x8A,0x4A,0x33,0xA2,0x54,0x5B, -0xD6,0x98,0xE3,0xBE,0x30,0x7F,0x8A,0x17,0x18,0x28,0x70,0xF5,0xB1,0xDB,0xAF,0xD9, -0x6B,0xE6,0x20,0x03,0x5C,0xCE,0x57,0xA6,0x19,0x09,0x71,0xD5,0xEB,0x68,0x46,0x83, -0xF4,0xED,0xB4,0x9C,0xD8,0xAE,0xB3,0xC6,0x67,0xD0,0x0F,0x72,0x4D,0x05,0x8D,0x25, -0x6E,0xD6,0x15,0x06,0x47,0x55,0xD7,0x3D,0xD8,0x60,0xB0,0x7D,0xC2,0x4E,0x49,0xAA, -0x0B,0x62,0xC4,0x63,0x96,0x16,0x45,0x7E,0xAB,0x86,0xC3,0xE8,0xA0,0xBB,0xDE,0xC8, -0xBD,0x4F,0x5F,0xD5,0x67,0x54,0xF6,0x3C,0xDB,0x32,0xB3,0x2C,0x4C,0x25,0xAC,0x24, -0x56,0x90,0x6B,0x3E,0x0F,0xC5,0x0F,0xAD,0x8A,0x83,0xE2,0xCC,0x2A,0xC0,0x2F,0x42, -0x1A,0x02,0xB5,0x72,0x45,0x5D,0xDD,0x35,0xAF,0x92,0xC7,0xF8,0x09,0x95,0x59,0x61, -0x7D,0xC7,0x17,0x15,0xC9,0xBD,0xB1,0xD5,0x05,0x47,0x6D,0x87,0x71,0x53,0xE7,0x19, -0x18,0x73,0xC6,0x70,0x70,0x6F,0xDA,0x07,0x27,0x10,0x4F,0xF2,0x97,0xBE,0xEC,0xFF, -0xE0,0xBD,0xF0,0x88,0xBA,0xB7,0xC8,0xDF,0xAA,0xA7,0xC2,0xC8,0xAC,0xA9,0xC0,0xC4, -0xA5,0x0D,0x05,0xCD,0x88,0xBA,0xF7,0xD2,0x2C,0x48,0x44,0xA1,0x83,0xEE,0xA8,0xEB, -0xFC,0xEF,0xBE,0x94,0x94,0x1E,0x4F,0x76,0x22,0x25,0x4A,0xC2,0x5A,0x04,0x9B,0x32, -0x28,0x37,0xB2,0x40,0x38,0xFF,0x02,0x97,0xF3,0x1C,0x9B,0x2A,0x7D,0x41,0xF9,0x15, -0x31,0x55,0xC9,0x59,0x11,0x69,0xBD,0x01,0xEC,0x00,0x84,0x29,0xB6,0x9A,0xE9,0xDE, -0x72,0x84,0x5B,0x1A,0xA7,0x04,0x66,0x6C,0x47,0xF4,0x2F,0x76,0x32,0x82,0x75,0x5A, -0xB7,0x3C,0x26,0xDF,0x8C,0x9A,0xD3,0xF2,0xD3,0x38,0xBB,0x2E,0x23,0xE2,0x04,0x4B, -0x80,0x39,0x14,0xE8,0x4D,0xDD,0x55,0xB5,0x11,0x03,0x79,0xD7,0x48,0x35,0xB8,0x20, -0x74,0xE5,0x3C,0x1C,0x1A,0xF6,0x29,0x9E,0x3C,0x18,0x54,0xE1,0xA9,0x99,0xF5,0xC1, -0xB1,0x5D,0x41,0xD9,0x78,0xEF,0x52,0x87,0xF0,0x4E,0x98,0x7B,0xA8,0xB9,0xD4,0xC0, -0xF8,0xFF,0xAA,0x90,0xA8,0xBB,0xD6,0xD3,0xA5,0xEB,0xCD,0x8B,0x10,0xF7,0x22,0x78, -0x45,0x81,0x69,0x2D,0x3D,0xC8,0x30,0xA0,0xC0,0x3A,0xA8,0x3F,0x2F,0xF0,0x1A,0x47, -0x2A,0x46,0xC1,0x42,0xBC,0x9F,0xE6,0xF7,0x24,0x42,0x4C,0xA3,0x98,0xFD,0xA0,0xF0, -0x92,0x08,0x37,0xFA,0x10,0x7E,0xAB,0x16,0x66,0xF1,0x0E,0x52,0x31,0xD3,0x27,0x59, -0x1C,0x63,0xD2,0x74,0xF3,0x30,0x06,0x58,0x17,0x64,0x7F,0xB6,0x29,0x91,0x7D,0x41, -0xD0,0xF9,0x84,0xB8,0x14,0x5E,0x8F,0x36,0xF9,0x65,0x91,0x59,0x89,0x9D,0xD1,0xE1, -0x2C,0x27,0xA6,0x44,0x85,0x0D,0x4D,0x65,0xFE,0x23,0x96,0x18,0xED,0x09,0x21,0x85, -0xC9,0x9B,0xFF,0xA1,0x77,0x50,0xE2,0x38,0xE3,0x4C,0x8B,0x6A,0x3B,0xA0,0x5E,0x53, -0x73,0xA4,0x7A,0x1B,0x6D,0xDC,0x74,0xB4,0x8F,0xB6,0xE7,0xFC,0x4F,0x74,0xFE,0x27, -0x03,0x60,0xCE,0x6B,0x3A,0xF7,0x08,0x9F,0xF2,0x3D,0x9A,0x0A,0x81,0x9F,0xDB,0xE9, -0x0C,0x23,0x82,0x64,0x8A,0xB2,0xFD,0xDA,0xCB,0x62,0xA3,0x6C,0xCC,0x2D,0x24,0xA4, -0x8D,0x0B,0x2B,0xE5,0x12,0x76,0xA1,0x1E,0xF8,0x44,0x90,0x79,0xFC,0x69,0x50,0x94, -0x50,0xF1,0x0C,0x38,0x20,0x7B,0x9E,0x13,0xD4,0x7E,0xBC,0x6F,0x95,0xCF,0x9F,0xFD, -0xCA,0xCA,0xAD,0xA2,0x9E,0x96,0xCD,0xFE,0xE4,0x0A,0x8C,0x2B,0x26,0xD2,0x31,0x4E, -0x68,0xB7,0x72,0x00,0x4B,0xF5,0x7B,0x9D,0x65,0xA3,0x0D,0x03,0x34,0xE3,0x12,0x5C, -0x22,0x44,0xCB,0x4A,0x24,0x5B,0xBA,0x33,0x9B,0xF2,0xF3,0xAC,0xA6,0xDA,0xB9,0xCE, -0x08,0x33,0x96,0x60,0x75,0x58,0xE8,0x30,0x5F,0xAE,0x37,0x34,0x35,0xC3,0x33,0x5D, -0x33,0xFD,0xF8,0xFA,0xDE,0x8C,0xAD,0x10,0xC5,0xCA,0x3E,0xF0,0x67,0x97,0x0F,0x59, -0x0B,0xC5,0xBE,0x84,0x7B,0x15,0x91,0xB5,0x04,0xA5,0x90,0x5E,0x66,0x79,0xE0,0xB7, -0x57,0x99,0x6C,0x0A,0xD3,0xB3,0x9F,0x1D,0x39,0x86,0x8E,0x40,0x26,0xA2,0x7B,0x6C, -0xB4,0x7A,0xB1,0x34,0xEC,0x8B,0x98,0x22,0x80,0x75,0xC4,0x0A,0xE5,0x1F,0x05,0xD1, -0x88,0x46,0xE7,0x5E,0x9C,0x3F,0x5C,0x52,0x45,0xD1,0xA5,0x6B,0xC0,0xD1,0xEE,0x1F, -0xA1,0x6F,0xC1,0x51,0x04,0xED,0x16,0xCA,0x5F,0x08,0x66,0xA8,0xCB,0x37,0x03,0xF9, -0x24,0xEA,0xF9,0xEC,0xBA,0x7C,0x39,0x74,0x44,0x3E,0x4B,0x85,0x6E,0x62,0xF3,0xAC, -0x5B,0x95,0x7E,0x14,0xF6,0xA2,0xAB,0x38,0x57,0x1B,0x7D,0xB3,0x78,0x75,0xF2,0xBB, -0x40,0x8E,0x6D,0x1C,0xA3,0x07,0x5B,0x6D,0x21,0x4E,0x5E,0x90,0x11,0xB4,0x5A,0x7A, -0xEF,0x21,0x22,0xFC,0x6D,0x22,0xB0,0xA3,0xA9,0x46,0xDE,0x10,0x73,0x93,0x1F,0x5D, -0x18,0xD6,0xAF,0x86,0xD4,0xF5,0xDE,0x1A,0xA8,0xA9,0x30,0xFE,0xB0,0x2E,0x61,0xE0, -0x4A,0x84,0x1E,0x65,0x16,0xCE,0x27,0xD8,0xC1,0x01,0xF1,0x3F,0xF2,0xE6,0xEB,0x28, -0x7E,0xB0,0x4A,0x05,0x89,0x5A,0x2C,0x47,0xD7,0x00,0xE6,0x28,0x2A,0x76,0xA3,0xB8, -0xAE,0x60,0x82,0x1D,0x5C,0x77,0xD4,0x92,0x90,0xAE,0x0F,0xC1,0xC7,0xE3,0xDB,0x2D, -0xC6,0x08,0x04,0xF3,0x18,0xA3,0x44,0xD6,0x1A,0xB7,0x9C,0x52,0xE4,0xF1,0xEA,0x3F, -0xEE,0x20,0x02,0xDD,0xAB,0x0D,0x59,0x65,0x52,0x3F,0x5C,0x92,0x08,0x8A,0x7D,0x44, -0x55,0x9B,0x1D,0x79,0x9A,0x58,0x3D,0x54,0x96,0x74,0xD3,0x1D,0x38,0xAE,0x69,0x60, -0xAA,0x64,0x92,0x09,0xDD,0xDE,0xFC,0x13,0xD6,0xEF,0x08,0xC6,0x61,0x4B,0xD5,0x85, -0x37,0xF9,0xE8,0xEE,0x41,0x18,0xA6,0x8F,0xF1,0x15,0xD5,0x1B,0x2D,0x44,0x96,0x8A, -0x9A,0x54,0xD6,0x7D,0x7D,0x72,0xF0,0xB3,0xCC,0x36,0xCB,0x05,0x82,0x19,0x64,0xD7, -0xA0,0x6E,0xE1,0x70,0x86,0x16,0x6F,0x48,0xE1,0xCE,0x1E,0xD0,0xA4,0x2A,0x71,0xE4, -0xE3,0x2D,0x30,0xE2,0x1C,0xB7,0x54,0xD2,0x93,0x50,0xF2,0x3C,0xEB,0xD8,0xCC,0x16, -0x6A,0xA4,0x1A,0x41,0xCD,0x8E,0xBC,0x03,0x9C,0x76,0xDB,0x15,0x13,0xA7,0x4B,0x69, -0x07,0xC9,0xAC,0x9A,0x36,0xEA,0x23,0xF8,0x0C,0xB6,0x8B,0x45,0x48,0x51,0xE6,0x9F, -0x5F,0x91,0x6E,0x00,0x7F,0x01,0x81,0xB1,0xA6,0x60,0xF7,0x39,0xAB,0x03,0x57,0xCD, -0xFC,0x32,0x33,0xFE,0xF7,0x83,0x8B,0x39,0xB1,0x8E,0x0E,0xC0,0x42,0x59,0xE4,0x97, -0xEA,0x24,0x12,0xC9,0xF5,0xF0,0xFA,0x3B,0x0E,0xA7,0x98,0x56,0xF7,0xC7,0xCF,0x09, -0x68,0xA6,0x6B,0x32,0x0F,0xB5,0x45,0xC1,0x17,0x80,0xA6,0x68,0x7E,0xA9,0x28,0x67, -0x32,0xFC,0xD8,0xDB,0x0E,0x94,0x65,0xC0,0xCA,0xEC,0x17,0xD9,0xBD,0x14,0x56,0xDA, -0x94,0x5A,0xB5,0x10,0x70,0x4D,0xC2,0xBE,0x2E,0x68,0x77,0xB9,0x29,0x8B,0x5D,0x45, -0x1B,0xD5,0xFE,0xD4,0xCF,0xFD,0xCD,0x01,0x4A,0xF7,0x8C,0x42,0x88,0x11,0x66,0xDF, -0x79,0xB7,0x0B,0x43,0xBC,0x1B,0x58,0x72,0xD8,0x26,0xCF,0x01,0x59,0x74,0xD2,0xBA, -0x95,0x5B,0x95,0x31,0xCC,0xAF,0x9C,0x02,0x6B,0xD7,0x8D,0x43,0xC2,0xC2,0xFF,0x0C, -0xF3,0x3D,0x70,0xB2,0x9D,0x1E,0x7C,0x53,0x92,0xBF,0x1C,0xD2,0xF6,0x29,0x20,0xE7, -0xD0,0x1E,0x25,0xC4,0xB8,0x0F,0x48,0x76,0x40,0xF5,0x84,0x4A,0x28,0x65,0xB2,0xAB, -0xA8,0x66,0xE3,0x7A,0x12,0xDA,0x37,0xDC,0x2C,0x79,0x64,0xAA,0x8A,0x02,0x77,0xCC, -0x4E,0x80,0x0E,0x71,0x30,0x8D,0x42,0xFE,0x47,0xC0,0xB6,0x78,0x5B,0x67,0xC3,0xA9, -0x75,0xBB,0x19,0x5D,0xBD,0x3A,0x78,0x73,0x55,0x0A,0x6E,0xA0,0x6D,0x9F,0x0D,0x51, -0x5A,0x94,0x5E,0x35,0x3B,0xD5,0x11,0xF5,0x6A,0x38,0x63,0xAD,0x98,0xDA,0xBD,0x14, -0x83,0x4D,0xB4,0x06,0x35,0xB8,0x72,0xFB,0xD2,0x24,0xC7,0x09,0x23,0x83,0x5F,0x4D, -0xA4,0x6A,0xF1,0x64,0xE4,0x81,0x9A,0x2A,0x9F,0x88,0x26,0xE8,0x2F,0x57,0x87,0x99, -0x6F,0xA1,0x2A,0x74,0xFB,0x9D,0x99,0x35,0x20,0xA1,0xB0,0x7E,0x54,0x4E,0xE5,0x80, -0xEB,0x25,0x32,0xE8,0x50,0x69,0xC6,0x9E,0xFB,0x17,0xDD,0x13,0xC6,0x0D,0x34,0xC3, -0xFA,0x34,0x52,0x99,0xC4,0xA5,0x9E,0x0A,0x4E,0x3C,0x43,0x8D,0xBB,0xC8,0x8C,0x06, -0x91,0x5F,0x85,0x25,0x06,0x9E,0x67,0xC8,0xC8,0xFD,0x04,0xCA,0x89,0xFF,0x89,0x31, -0x70,0xBE,0x29,0x68,0x2B,0x85,0x51,0xE5,0xB4,0xAA,0x2F,0xE1,0xA1,0x0B,0x55,0xC5, -0x71,0xBF,0x09,0x49,0xE7,0xD3,0xCB,0x29,0xCF,0xC8,0x36,0xF8,0xDC,0xCE,0xED,0x00, -0xC9,0x07,0x47,0xBF,0xB2,0x76,0x3B,0x7C,0x4B,0x18,0x62,0xAC,0x37,0x87,0x4F,0x49, -0xF6,0x38,0x40,0x87,0xD7,0xA7,0x8F,0x19,0xAD,0x8D,0x11,0xDF,0xF4,0x3A,0x31,0xF4, -0x41,0x8F,0x4D,0x3D,0x33,0xDF,0x13,0xFD,0x7B,0x0C,0x46,0x88,0x5C,0x55,0xF6,0x9B, -0xE8,0x26,0x63,0xBA,0x71,0x6C,0xE2,0xBF,0x36,0xA0,0xA7,0x69,0xAA,0xED,0xB8,0x23, -0xF0,0x3E,0x21,0xE0,0x00,0xF9,0x06,0xCE,0x9B,0x43,0xE9,0x27,0x4F,0x63,0xD3,0xAD, -0x50,0x9E,0x2D,0x4C,0xEE,0xF8,0xE9,0x20,0x12,0xA4,0x87,0x49,0x19,0xAF,0x49,0x61, -0x34,0xFA,0xB9,0xBC,0xE9,0xBE,0xA8,0x27,0xD0,0x35,0xD4,0x1A,0x3B,0x53,0x97,0x9D, -0xE2,0x2C,0x10,0xC3,0xF4,0xD1,0xDA,0x3A,0x7F,0xC7,0x89,0x47,0x62,0xB6,0x2B,0x78, -0x96,0x58,0xC4,0x63,0x98,0x2B,0x4C,0x56,0xE9,0xDD,0x05,0xCB,0xE7,0x0C,0x14,0xC2, -0x58,0x96,0x2F,0x46,0xE5,0xA0,0xBA,0x2B,0x95,0x8A,0x2E,0xE0,0x53,0x7C,0xD0,0xB2, -0x15,0xDB,0x9D,0xB9,0xDC,0xFF,0xDC,0x12,0x60,0x3A,0x6B,0xA5,0x1F,0x73,0x93,0xBD, -0x25,0xEB,0xD9,0xCD,0xEF,0xD9,0xC9,0x21,0x3C,0xA2,0xAF,0x61,0xB6,0xF2,0xBB,0x3C, -0x4C,0x82,0x7F,0x02,0xC3,0xE3,0xDF,0x0D,0x03,0x90,0xA2,0x6C,0x91,0x2F,0x41,0xE1, -0xFF,0x31,0x62,0xAC,0xF3,0x97,0x9B,0x3D,0x50,0x2E,0x4F,0x81,0x30,0xB5,0x7A,0x7B, -0xED,0x23,0x53,0x8F,0x72,0x3E,0xB3,0xBC,0xE6,0xFB,0x2C,0xE2,0xEF,0x17,0x07,0xD9, -0x7F,0xB1,0x6A,0x24,0x8C,0x6F,0x1C,0x42,0x27,0x94,0x82,0x4C,0x56,0x5D,0xF4,0x93, -0xEC,0x22,0x73,0xAE,0x48,0x33,0x84,0x86,0x75,0xC5,0x81,0x4F,0x0B,0x77,0x83,0xB9, -0x53,0x65,0x11,0x68,0xDA,0xD8,0x1E,0xEC,0x93,0x68,0xD1,0xE7,0x76,0x69,0x03,0x5F, -0xC5,0xF3,0x38,0xD7,0xC3,0xA3,0x7C,0xF5,0x83,0xB3,0x1A,0x2C,0x6A,0x76,0x00,0x40, -0xA8,0x9E,0x8E,0x0C,0x80,0x31,0xAD,0xB6,0x1F,0xAB,0x9E,0xA8,0x9E,0xDD,0x5F,0xEB, -0x36,0x00,0xA5,0xB9,0x45,0x4C,0x15,0x73,0x6E,0xCB,0x8F,0xB9,0x52,0x49,0x07,0x7F, -0x71,0x47,0x64,0x3F,0x72,0x7E,0x10,0x44,0xD2,0x1C,0xE4,0xD2,0x69,0x8B,0xFE,0xBD, -0x5A,0x6C,0x33,0x43,0x86,0x56,0xCC,0xB0,0x9F,0xB0,0x05,0x33,0x72,0xA6,0xC8,0x90, -0x43,0x75,0x51,0x38,0x43,0x2B,0x74,0x75,0xBE,0x90,0x04,0x32,0x24,0x6A,0x52,0x5C, -0x17,0x21,0x81,0xBC,0x0A,0xC0,0xD6,0x3C,0x48,0xDE,0xBC,0x8A,0x81,0x3F,0xA2,0x09, -0xF8,0xCE,0x4E,0x9C,0x4F,0x35,0x66,0x79,0xC6,0x0C,0xE0,0xD6,0x58,0x41,0x05,0x77, -0x69,0x5F,0x26,0x65,0xA4,0x01,0xB9,0x92,0x45,0xE9,0x86,0xB0,0xE9,0x10,0xE5,0x26, -0xF1,0xC7,0x6C,0xB7,0xE8,0xDF,0x2B,0xDE,0x33,0xBC,0xA5,0x93,0xF8,0x35,0xD1,0x03, -0x11,0x27,0xE0,0xDB,0x8F,0x7D,0xEE,0xB9,0x8D,0x7A,0xDD,0xEB,0x2D,0x9F,0xAE,0xA9, -0xC3,0xF5,0x59,0xB0,0xEA,0xAC,0x5A,0xDC,0x86,0x97,0x3B,0x0D,0x7A,0xBD,0xDB,0x8B, -0x1B,0x2D,0x93,0xA2,0x12,0x9A,0x94,0x24,0xAA,0x80,0x00,0x36,0xCD,0x30,0xE1,0x06, -0x16,0x20,0xA1,0x9D,0x57,0x6F,0x24,0x61,0xC2,0xC7,0x2F,0x19,0x22,0xB6,0x88,0x80, -0xB2,0x84,0xBD,0x25,0x0E,0xD4,0xC6,0x38,0xF1,0x2D,0xF6,0xC0,0x4F,0xB8,0xEB,0x8E, -0x5B,0x6D,0x13,0x62,0xF1,0xA4,0x49,0xC7,0xB1,0xB6,0x2D,0x1B,0x57,0x68,0x23,0x5E, -0x1E,0x28,0xA3,0x97,0xFE,0xE8,0x0A,0xC8,0x4E,0x04,0x60,0x56,0x08,0x51,0x45,0x67, -0xDA,0xEC,0x3B,0xCB,0x7F,0x41,0x22,0x49,0x3A,0x40,0x50,0x66,0x2E,0x62,0x50,0x54, -0xD7,0xE1,0x09,0xF4,0xA2,0x66,0xD8,0x94,0xF5,0xE6,0x39,0x0F,0x14,0x4E,0x46,0x78, -0x3A,0x0C,0xB7,0xA7,0x38,0xC7,0xE3,0x0E,0x5B,0xFB,0x8A,0xBC,0x60,0x7E,0x02,0x48, -0x59,0x6F,0x62,0x11,0x9A,0x18,0x9E,0xAC,0x78,0xCA,0x98,0xAE,0xC9,0xFF,0x2A,0xC9, -0xF7,0xC1,0x0D,0xD0,0xD0,0xA1,0x6D,0xE6,0xD3,0xF3,0x0A,0x3C,0x98,0x01,0x85,0x37, -0xF4,0xC2,0x5C,0x82,0xFA,0xFC,0x1A,0xCC,0x59,0xEA,0x99,0xAF,0xC4,0xC5,0x1D,0xF3, -0x64,0x52,0x14,0x5A,0xB7,0x03,0xA8,0x81,0x70,0xD9,0x83,0xB5,0x50,0x5A,0x16,0x6C, -0x33,0x05,0x95,0x8C,0xD8,0xAB,0x6F,0xEE,0xCA,0xD4,0x34,0x02,0x28,0xBE,0x8A,0x88, -0xD2,0xE4,0x39,0xC1,0x60,0x5D,0x21,0x56,0x4D,0xFA,0x9D,0xAB,0x9B,0xFC,0x7B,0xCA, -0x9C,0xAA,0xDA,0x6C,0xEE,0xB8,0x4A,0xD8,0x17,0xB8,0x85,0xB3,0x0E,0x8D,0x9F,0xBB, -0xF2,0xC4,0x3D,0xE5,0x22,0xEE,0xD0,0x14,0xBB,0xB4,0x25,0x13,0x0F,0x63,0x70,0x55, -0xA1,0x97,0xAC,0x27,0xDE,0xCC,0x0E,0xE8,0x4B,0x20,0x41,0x77,0x49,0x64,0x31,0x52, -0xFC,0xCA,0x5E,0x88,0x3B,0x95,0xB2,0x0D,0x34,0x89,0x97,0xA1,0x26,0x79,0x43,0x4F, -0x70,0x46,0x44,0x1E,0x81,0x10,0x8D,0xB7,0x94,0x5D,0xE3,0xD5,0xDC,0x15,0xD5,0x23, -0x2B,0x1D,0xD7,0xD6,0x39,0xE6,0xC3,0x0F,0xEB,0xF4,0x35,0x03,0xF0,0x2E,0xC2,0x18, -0xAB,0x9D,0xDF,0x5E,0x1E,0x84,0x86,0x28,0x0B,0xBB,0x9A,0xAC,0xD5,0xE0,0x29,0xD6, -0x45,0x73,0x30,0x5F,0xA3,0x47,0xF8,0x95,0x71,0x36,0x6D,0x5B,0x02,0x59,0x47,0x6F, -0x84,0xB2,0x98,0x36,0x6B,0x05,0x72,0x5D,0x92,0x87,0x3F,0x09,0x39,0x9B,0xBE,0xAD, -0x93,0xA5,0x99,0x20,0xFB,0xDD,0x3A,0xCD,0xF2,0xD3,0x0B,0x3D,0xAD,0x04,0xB5,0x32, -0x7A,0x4C,0x37,0x67,0x6E,0x30,0x42,0x58,0xEA,0x1B,0xDB,0xED,0x80,0xD1,0x4D,0xE7, -0xE9,0xDF,0x2E,0xED,0x7C,0x13,0x73,0x4A,0x04,0x9D,0xB3,0x85,0x54,0x95,0xDD,0xA3, -0x29,0x1F,0xA6,0xA5,0x07,0xFF,0xE4,0x31,0x2A,0x9B,0x9B,0xAD,0xFA,0x26,0xC0,0x10, -0x4B,0x7D,0x53,0x32,0x1A,0x90,0x96,0x2C,0x0D,0x61,0x46,0x70,0x7B,0x53,0x34,0x65, -0xE5,0xD3,0x3C,0xF3,0xF4,0x91,0x79,0xC2,0x73,0x27,0x7E,0x48,0xE2,0xF6,0x08,0xC0, -0xFB,0xCD,0x1F,0xCE,0x2F,0xD1,0xE2,0x19,0xFD,0xF5,0x22,0x14,0x44,0x5E,0x06,0x68, -0xB1,0x87,0xEC,0x77,0x92,0x12,0x9C,0xA4,0xC3,0x28,0xC1,0xF7,0x7C,0x61,0x01,0x57, -0xD0,0xE6,0x48,0xB2,0x5C,0x37,0x77,0x6A,0xA9,0x7E,0xFD,0xCB,0xC8,0x11,0xC5,0x27, -0x13,0x25,0x91,0xA8,0xBA,0x3C,0x9A,0x8C,0xA6,0x58,0xD4,0xE2,0x1A,0x89,0x8F,0xBF, -0x3E,0x08,0xA7,0xB3,0xEF,0x99,0x6A,0xD9,0x1B,0x60,0x51,0x67,0x8B,0x37,0xA0,0x01, -0x08,0x3E,0x82,0xA0,0xF8,0x8F,0x6B,0xCE,0xE3,0xE7,0x2E,0x18,0x55,0x7B,0x32,0x4D, -0x82,0xB4,0xF9,0x51,0x8E,0x5C,0xCE,0xB8,0xF7,0xF7,0x2A,0x1C,0xF6,0xF2,0x18,0xC4, -0x7B,0x4D,0x17,0x46,0xD4,0xB5,0x7D,0xE2,0x09,0xAA,0x89,0xBF,0x74,0x7A,0x12,0x4C, -0xED,0xDB,0x3E,0xF9,0x4A,0x00,0x56,0x7C,0x3E,0x8B,0x9F,0xA9,0x07,0x78,0x63,0x4E, -0xD3,0xE5,0x19,0xE0,0x24,0x89,0xB1,0x12,0xC5,0xF2,0x1D,0x2B,0x42,0x82,0xDC,0xB4, -0x62,0x54,0x75,0x3D,0x99,0x4A,0xCF,0xAF,0x2C,0x41,0x47,0x71,0x63,0x83,0xFC,0xB5, -0x02,0x34,0xF1,0xD9,0x06,0xDE,0xC4,0x30,0xE7,0x2C,0xE1,0xD7,0xBA,0xFD,0x5B,0xCB, -0xF9,0xCF,0x6E,0xBD,0x9C,0x7F,0xFF,0xAA,0x23,0x67,0x6E,0x58,0x0A,0x42,0x54,0x74, -0xBA,0x8C,0xBF,0x2F,0xF9,0xAE,0x4B,0xCF,0xB4,0x92,0x0C,0x3A,0xEC,0x31,0xC1,0x07, -0xA6,0x90,0xED,0x61,0x23,0xCF,0xF0,0x15,0x8E,0x84,0x20,0x16,0xAF,0x17,0xA4,0x21, -0x7D,0x4B,0x76,0x21,0xC6,0x96,0x4C,0xF0,0xFE,0x0B,0xDF,0xE9,0x29,0x50,0x65,0x66, -0xA0,0x96,0x8C,0x06,0xC9,0xDA,0x0F,0xFF,0x19,0x71,0x42,0x74,0xEF,0xCC,0x3F,0xFA, -0xBE,0x88,0xAF,0x3B,0x94,0x75,0xFD,0xA2,0x8A,0x4F,0xEF,0xD9,0x85,0xF0,0x69,0xC6, -0x6B,0x5D,0x57,0x16,0xA7,0x53,0xE8,0x91,0x87,0x78,0xD5,0xE3,0xE1,0x0B,0xF6,0x3D, -0x87,0xB1,0xC9,0x64,0x55,0x1C,0x55,0x63,0x15,0xA9,0x96,0xA0,0x40,0x91,0xCD,0xA7, -0xAE,0x98,0xEF,0x6B,0x2A,0xE4,0xD2,0x1C,0xB6,0x83,0x1F,0x29,0x79,0x40,0x25,0x76, -0xFE,0xC8,0x2F,0xFB,0xDC,0xBF,0x7F,0xEA,0x6D,0x35,0x72,0x44,0x1D,0xBB,0xBA,0x8D, -0xA9,0xCB,0xBC,0xEA,0xF0,0x28,0x7E,0x50,0x5A,0x0C,0xE5,0x37,0x6E,0x57,0x38,0xB1, -0x98,0xE8,0xAE,0xF8,0x59,0xA9,0xFF,0x78,0x39,0x6F,0x30,0x81,0xCC,0x88,0x9A,0xCC, -0xA1,0x43,0x3C,0x6A,0x08,0x57,0x01,0xD7,0x97,0xC1,0x5F,0x40,0x86,0x31,0xD0,0x3F, -0xB8,0xC9,0xAF,0xF9,0x54,0x93,0xC5,0x4F,0x94,0xC2,0x0E,0x12,0xAC,0x6C,0xFA,0x48, -0xE4,0x21,0x1B,0x4D,0xC7,0x3E,0x68,0x71,0x3B,0x6D,0x41,0xF2,0xA7,0x34,0xF1,0x1B, -0x56,0xDE,0x56,0x00,0x98,0x07,0x51,0x17,0x7E,0x28,0xF1,0x07,0xA8,0x78,0xFE,0x58, -0x12,0xAA,0x66,0x30,0xBE,0x34,0x62,0x02,0xBA,0xEC,0x69,0x5B,0x29,0xD1,0x7F,0x70, -0xB4,0x65,0x0F,0x59,0x84,0x18,0x4E,0x14,0xB7,0xE1,0x5B,0x64,0xF4,0xF6,0xA2,0x8A, -0xE6,0x2B,0x13,0x45,0x9F,0x35,0x63,0x22,0x92,0xC4,0x6F,0x75,0x74,0x7E,0x22,0x82, -0x72,0xDB,0x77,0x21,0xD9,0x32,0x64,0x63,0xC1,0x97,0xFE,0xB7,0x88,0x5C,0xDE,0x5C, -0xDB,0xA4,0xA1,0xF7,0xB6,0x2F,0x79,0x11,0x9C,0xCA,0x0C,0x18,0x6D,0x05,0x3B,0xE0, -0x0F,0x04,0xD5,0x83,0x4C,0x43,0x15,0x87,0x10,0x46,0x16,0x8E,0xD7,0x80,0x81,0xDF, -0x8B,0xE0,0xB5,0xE3,0xC0,0x0C,0x5A,0x44,0x04,0x52,0x46,0xCA,0xE1,0x93,0xB7,0xFA, -0x86,0x5A,0x02,0x54,0xB8,0xE8,0xBE,0xD8,0x53,0x05,0xC7,0x1C,0x8E,0x3B,0xD8,0x3D, -0xA8,0xDD,0xAB,0xFD,0x0B,0xAA,0xFC,0x29,0xB2,0xE4,0x6B,0x51,0x36,0xCD,0x60,0x73, -0xEA,0x87,0xB3,0xE5,0x9E,0xDB,0x8D,0xCD,0xFC,0xAA,0x88,0xFC,0xB8,0x28,0xEE,0x18, -0x4E,0x42,0xD2,0x84,0xF9,0xDD,0x8B,0xAC,0x11,0x47,0x36,0xAF,0x24,0xEE,0x72,0x42, -0xE2,0x0F,0x33,0x65,0xE2,0xF0,0xA6,0x9A,0x3A,0x6C,0x61,0xD3,0xD0,0xC6,0x86,0x9E, -0xC2,0x2E,0x32,0x64,0xB4,0x3C,0x6A,0x00,0x23,0x75,0x03,0xA8,0x15,0xBB,0x43,0x26, -0x8C,0xD8,0x8A,0xDC,0x11,0x69,0x3F,0xF0,0x77,0x21,0xD3,0x2C,0x5C,0x50,0x0A,0x84, -0x3A,0x03,0xE7,0xB1,0xE6,0x3F,0x69,0x51,0x33,0x65,0x43,0xF8,0x8C,0x48,0xDA,0x4C, -0xE1,0x13,0x2C,0x7A,0xFA,0x20,0x76,0x52,0xA5,0xF3,0x6A,0x47,0x95,0x33,0xC3,0x2E, -0xF9,0x8F,0xA8,0xFE,0x0E,0x8B,0xDD,0x0D,0xC8,0x9E,0xDC,0x9C,0xD6,0xA1,0x80,0xFF, -0x99,0xFE,0xB9,0xEF,0xC2,0x1F,0x49,0x55,0x56,0x00,0xF7,0x29,0x13,0xDC,0x45,0x47, -0xC5,0x16,0x0D,0x5B,0xEA,0xEB,0xBD,0x89,0xA3,0xF5,0x0B,0x20,0xBC,0x3C,0xEA,0x08, -0xD2,0x3A,0x36,0x60,0x5D,0x66,0x30,0xB3,0x7B,0x2D,0xC1,0x32,0x44,0x0A,0x12,0xC6, -0x95,0x52,0x19,0x4F,0xB2,0xE0,0xB6,0xDA,0x76,0x20,0xF3,0x0D,0x01,0xFF,0x57,0x76, -0x7F,0x61,0xC0,0x96,0xDF,0xEE,0xB8,0xB9,0xD2,0x84,0xEF,0xB5,0x58,0x44,0x0E,0x94, -0x5E,0x56,0xD6,0x80,0xC8,0x17,0x41,0x57,0x98,0xCE,0x1C,0x0C,0x19,0xA5,0x4F,0x34, -0xBB,0xD5,0xB0,0xE6,0x79,0x46,0x10,0xB7,0x09,0x5F,0x74,0xF5,0xF2,0x91,0xA4,0xEB, -0xEE,0xA3,0x93,0xC5,0x68,0x63,0x35,0x83,0x91,0xC7,0x3E,0x27,0xBE,0x4F,0xE8,0x79, -0x28,0x1D,0xEB,0xBD,0xBD,0xC9,0x9F,0xFC,0x71,0x27,0xB2,0x4B,0xD9,0xED,0x8F,0xBC, -0x13,0xBC,0x71,0x27,0xF3,0xD5,0x83,0xAE,0x02,0x54,0x27,0xAD,0xCF,0xDA,0x99,0x9D, -0x7E,0x77,0xD7,0x81,0x2A,0xAB,0xFD,0x09,0x62,0x34,0xA3,0x49,0x50,0x4E,0x06,0x96, -0x35,0xB3,0x58,0x0E,0x9A,0x14,0x42,0x06,0x99,0xCF,0x3C,0x2D,0xCA,0xEF,0x9C,0xAD, -0xC0,0x24,0x3A,0x6C,0x7C,0x67,0x31,0x93,0xDA,0x8C,0xED,0xBF,0xAF,0x3E,0xF9,0x19, -0xA5,0x67,0x1C,0x4A,0x66,0xA4,0xF2,0x4A,0xE2,0xB4,0xAB,0xC1,0xD8,0xCC,0x8E,0x9C, -0xF8,0x99,0xBF,0xE9,0xE4,0x2C,0x7A,0x40,0x1B,0x4D,0x45,0xD6,0x82,0x25,0xD4,0x2F, -0xD9,0xAE,0xA9,0xFF,0x97,0x2E,0x78,0x31,0x8D,0xDB,0x6C,0x69,0x1C,0x90,0x4A,0x04, -0xA0,0x55,0x2B,0x7D,0xD2,0xD4,0x82,0x8E,0xB3,0xE5,0x4B,0x70,0x72,0x19,0x24,0xE3, -0x2A,0x17,0xE3,0xB5,0x71,0x5D,0x0B,0xA4,0x0B,0x5D,0x05,0x86,0xF1,0xC3,0xA7,0xBA, -0xFB,0x85,0xA0,0xF6,0xD0,0xC7,0x91,0x9F,0xE7,0xB1,0x9B,0xF4,0x03,0x8C,0x55,0x07, -0xD1,0x26,0x29,0x7F,0xE9,0x16,0x40,0x77,0xCE,0x98,0xBD,0xFB,0x7C,0x74,0x2A,0x80, -0x67,0xFD,0x44,0x12,0x8D,0xED,0xBB,0xE8,0x9E,0xC8,0x7D,0x6B,0x8A,0x2F,0xDC,0x2D, -0xD6,0x1E,0x16,0x40,0x3F,0x41,0x17,0xF6,0xC6,0x90,0xBF,0xF1,0x75,0x5F,0x23,0xA2, -0x59,0x6E,0xE9,0xBF,0xB9,0x06,0x50,0x37,0x1D,0x4B,0x24,0xB1,0x90,0x06,0xC6,0x1E, -0x23,0x89,0x74,0x22,0x7F,0x9A,0xCC,0x6D,0xC0,0x96,0xDE,0x96,0x9F,0x4A,0xC9,0x5D, -0x1D,0x1A,0xD9,0x8F,0x15,0xA6,0xF0,0x3B,0xDE,0x88,0xFD,0xAB,0xC2,0xE5,0x94,0xAF, -0x81,0x62,0x3D,0x6B,0x3D,0x52,0x04,0xE7,0xF3,0xA5,0xCB,0xB0,0xAD,0x4D,0xFB,0x68, -0x49,0x7A,0xED,0xBB,0x10,0x87,0xD1,0x1F,0x1A,0x4C,0x65,0xF7,0x38,0xA0,0x6E,0x10, -0xCF,0x94,0x85,0xD3,0xC4,0xC3,0x95,0x8F,0x89,0xDF,0x7C,0x7D,0x2A,0x83,0x7C,0x21, -0xC9,0xBA,0xAD,0xFB,0x6A,0x70,0x26,0x92,0x49,0x1F,0xF4,0x35,0x51,0x6F,0x07,0xB6, -0xA6,0x7B,0x03,0x55,0x60,0x78,0x2E,0x90,0x4B,0x1D,0x85,0x46,0x6F,0x76,0x39,0x91, -0xE9,0x9B,0xAC,0xFA,0x45,0xB6,0xE0,0x7B,0xCB,0x9D,0x8D,0xCE,0x48,0x14,0x1E,0xD4, -0x64,0xE1,0x5B,0x0D,0x92,0x0F,0x59,0x15,0x25,0x73,0x62,0xCF,0xF5,0xD7,0xA3,0xAA, -0xD5,0x02,0x09,0x5F,0xA9,0xCD,0x9B,0xEC,0xE4,0xB2,0xCA,0xA6,0x3D,0x95,0x6B,0x20, -0x2C,0x39,0xCB,0x9D,0x58,0x47,0x11,0x97,0xB0,0xE6,0x1A,0x22,0x0A,0xA7,0x5C,0x25, -0x0A,0x36,0xE2,0xB4,0x8A,0xDF,0x89,0xDD,0x73,0x25,0xC3,0x38,0xEC,0xAC,0xBA,0xC8, -0x32,0x8B,0x67,0x31,0x1B,0x61,0x37,0xF2,0x5E,0x08,0xF5,0x23,0xB9,0x09,0xEF,0x38, -0xB5,0x73,0x18,0x4E,0xC5,0x2D,0x7B,0x60,0x68,0x3E,0xD0,0x30,0xAE,0x1F,0xF8,0x39, -0x33,0x9D,0x70,0x26,0xEB,0x05,0x53,0x66,0x2B,0x7D,0x01,0xA2,0x4C,0x00,0x1A,0xC4, -0x75,0xE3,0x48,0x1E,0x72,0xA0,0xF6,0x5A,0x85,0xD3,0x6E,0x63,0xA2,0x01,0xF4,0x2B, -0xA7,0x6D,0x14,0x42,0xD4,0x08,0x5E,0x54,0x9B,0xCD,0x4D,0x5E,0x79,0x41,0x2F,0xB0, -0x7A,0x53,0xF7,0xA1,0xEC,0x37,0x61,0x53,0xD1,0x87,0xBE,0xE7,0xC4,0x82,0x92,0xCE, -0x22,0x99,0x46,0x90,0x62,0x0F,0xBD,0x46,0x5F,0xA9,0x02,0x76,0x53,0xD6,0x09,0xAE, -0xDB,0x08,0xD7,0xF8,0x89,0xD0,0x56,0x72,0xBA,0xCF,0x81,0x10,0xB3,0x87,0x58,0x1F, -0x9C,0xE1,0x3E,0x56,0x49,0x58,0x96,0x3A,0xCC,0xF2,0xCA,0x2D,0x18,0x59,0x86,0x6A, -0xF0,0x01,0xDE,0xDA,0x2E,0x9D,0xF1,0x98,0x0A,0x8A,0x74,0x55,0x67,0xF3,0x2C,0xBF, -0xE5,0xEB,0x34,0x25,0xD4,0x22,0x0B,0xDD,0x36,0x2F,0xED,0xF0,0x57,0xF6,0x29,0x8A, -0xF7,0x33,0xEC,0xEF,0x2C,0xEC,0xF3,0xEB,0x21,0x14,0xC1,0xCB,0x6D,0x7B,0xA4,0x3D, -0x62,0x42,0x9D,0x0B,0xC8,0x70,0x17,0x93,0x9B,0xD9,0xB6,0x06,0x5D,0x7E,0xA1,0x08, -0xDA,0xE6,0x39,0x17,0x91,0x92,0x4E,0x28,0x71,0x00,0x85,0xDF,0x3E,0x70,0xAF,0x65, -0x90,0x35,0xEA,0x8E,0x05,0xCA,0xDA,0xE4,0x05,0x35,0xC4,0xEA,0xB6,0xB0,0x6F,0x2D, -0x2F,0xA3,0x7C,0xA7,0x1C,0xA8,0xC3,0x9F,0xDE,0xFE,0xD4,0x21,0xB5,0xAF,0x70,0x31, -0xFE,0xC6,0x19,0x13,0x83,0xA3,0x5C,0x0B,0x7D,0xA0,0x29,0x7F,0xB1,0x8F,0x50,0x15, -0x4B,0x58,0x87,0x38,0x46,0x1B,0x99,0x76,0x1D,0xB1,0x58,0x6E,0xE9,0x1B,0xC4,0xD9, -0x04,0xAA,0x75,0x85,0x40,0x7A,0x9F,0x11,0x06,0x2A,0xD8,0xF5,0x7E,0x60,0xBF,0x35, -0x78,0x81,0x5E,0xD2,0xB4,0xA6,0x6B,0x39,0xAA,0xCB,0x95,0x14,0x48,0x4D,0x92,0x2E, -0xFB,0xE7,0x38,0x37,0xCC,0x60,0x13,0x87,0x68,0x93,0x0F,0x4C,0x14,0xF9,0x26,0xC6, -0x7F,0xB3,0x6C,0xE7,0x85,0xC2,0x5A,0x6C,0x26,0x2B,0xF9,0xF4,0xE4,0xAC,0x73,0x63, -0xCB,0xC3,0x1C,0x23,0x1E,0xD9,0xC1,0xEC,0x62,0x1B,0x8D,0xC4,0x3C,0x78,0xA7,0x6F, -0x1D,0x94,0x4B,0xA2,0x71,0x1E,0xAE,0x44,0x6F,0xAC,0x37,0x73,0xA0,0x9C,0x43,0x17, -0x2B,0x6C,0xB3,0x6C,0x28,0xFC,0xF7,0xFF,0x0E,0xAA,0x50,0x75,0x29,0x4B,0x94,0x49, -0x86,0x22,0xFD,0x8F,0xA6,0x97,0x79,0x1A,0x4C,0xB2,0x0A,0x6D,0xCD,0x3A,0xE5,0xDC, -0x60,0x51,0x8E,0x1A,0x18,0xB8,0xC7,0x8B,0x96,0x6E,0x0C,0xB1,0x87,0xA2,0x7D,0x0E, -0xA2,0x02,0xDD,0x8B,0xE4,0x66,0x3B,0xA9,0x02,0x0A,0xFC,0xD5,0xC6,0xA5,0x7A,0x48, -0x59,0x80,0x5F,0xF2,0x47,0x3B,0x98,0x57,0xEB,0xCC,0xD3,0x13,0x63,0xD3,0x0C,0x9B, -0xCF,0x0C,0xD3,0xE8,0xFD,0x04,0x22,0xD2,0x3F,0xB8,0x73,0x67,0xF5,0xBF,0x60,0x61, -0xD0,0xEE,0x31,0x15,0x38,0xBC,0xE7,0xAF,0xB2,0x4F,0x09,0x90,0xF3,0x97,0x48,0x4F, -0x25,0xAB,0x74,0xA5,0x37,0xFF,0xE8,0xE3,0x00,0x02,0xF6,0xDD,0x95,0xAE,0x71,0x10, -0xB3,0x27,0xF8,0xBF,0x64,0x6E,0xBB,0x21,0x50,0x16,0xB2,0xC9,0xF0,0x88,0x57,0x53, -0x8C,0x2A,0xF5,0x8D,0xB9,0x94,0x66,0x06,0xF6,0x7F,0x7D,0xA0,0xE6,0xA4,0x7B,0x69, -0x56,0xA9,0x76,0xD4,0x5C,0x28,0x83,0x5F,0x7C,0xB7,0x3F,0x68,0x9C,0x39,0xE6,0x8E, -0xE0,0xCA,0x15,0x01,0xFE,0x55,0x21,0x80,0x4D,0xA5,0x1C,0x7A,0xB4,0xB8,0x67,0x27, -0xC5,0x04,0xDB,0xEA,0x3C,0xAC,0xE3,0xBB,0x5C,0xB6,0x1E,0x69,0xAB,0x03,0xDC,0x83, -0x97,0x07,0xD8,0xBB,0x16,0xDB,0xC9,0xE6,0x45,0x25,0x94,0xFA,0x33,0xC7,0x18,0xDF, -0xB4,0x15,0xCA,0x8A,0x32,0xCF,0xED,0xD6,0x91,0x51,0x34,0x8E,0xBE,0x30,0xEF,0xA5, -0x75,0xBB,0x64,0xE5,0xDC,0x20,0x03,0xD7,0xD7,0x69,0x4A,0xB6,0x82,0x95,0x4A,0x3C, -0x30,0x41,0x9E,0x5A,0x54,0x2A,0x8B,0x55,0x9E,0xEE,0x84,0x31,0xB7,0xA7,0x78,0x3B, -0x89,0x0B,0xD4,0xA9,0xE9,0x54,0x36,0x96,0x43,0x0D,0xBA,0xD2,0xB0,0x98,0x47,0x03, -0xEF,0xE3,0x3C,0x27,0x7C,0x2C,0xA3,0x7B,0xEE,0xFB,0xE1,0x24,0x39,0x4F,0x90,0x5D, -0xF5,0x20,0xFF,0xFE,0x9A,0xC1,0x45,0x70,0xC8,0xD2,0xEE,0x0D,0x73,0xD7,0x08,0x8F, -0xE7,0xF8,0x27,0x34,0x3E,0xDD,0xE1,0xC8,0x51,0x01,0xA4,0xDE,0x84,0xBD,0x62,0x12, -0xF4,0xCE,0x11,0x11,0x29,0xDC,0xF6,0xDE,0xD6,0x7E,0x5C,0xA1,0x16,0xF1,0x2E,0xCC, -0x19,0x5B,0x84,0x69,0xD8,0x30,0x07,0xC3,0x0D,0xB5,0x4C,0x6A,0x9F,0x26,0xF9,0x92, -0x91,0xDB,0x04,0x61,0xFF,0x75,0x20,0xA1,0x42,0x1A,0xAC,0xC5,0x74,0xE8,0x37,0xB7, -0x71,0x74,0xAB,0x2E,0xAD,0xC4,0x72,0x42,0x31,0x10,0xD5,0xCF,0x08,0x5D,0x82,0x7E, -0x18,0xB5,0x6A,0x86,0x65,0x4E,0xBA,0x00,0x80,0x42,0x36,0x9D,0xF1,0x9F,0x40,0x45, -0x20,0x8A,0x55,0x81,0xA8,0xF4,0x77,0x77,0xAD,0xF4,0xAD,0x2B,0xFB,0x17,0xC8,0xC7, -0x67,0x63,0xBC,0x2F,0x3D,0x8C,0xE2,0x9A,0x65,0x24,0xB5,0xFB,0x03,0xC2,0x1D,0xEA, -0xE2,0xD9,0x06,0x10,0xC1,0x52,0x1E,0xB8,0x2D,0xB4,0x6D,0x6B,0x76,0xE0,0x3F,0xBD, -0xAA,0x19,0xC6,0x98,0xBA,0xC5,0x65,0x54,0x2B,0x9C,0x43,0x43,0x6B,0x53,0x8C,0x13, -0x66,0x8D,0x52,0xC0,0x00,0xFA,0xDF,0xD1,0xBD,0xF0,0xB9,0x2F,0xD3,0x96,0x49,0x6E, -0x26,0x56,0x89,0x5B,0xE5,0x46,0x3A,0x88,0x32,0x0F,0xC9,0xD0,0x12,0xD1,0x0E,0xE8, -0x7C,0x4E,0x91,0x19,0x52,0x4B,0x8D,0x32,0xF9,0xC0,0xCD,0x1F,0xDF,0x36,0xE9,0xC2, -0x41,0x50,0x8F,0x3A,0x0F,0xB9,0xD0,0x9D,0xC7,0x6D,0x5E,0xB2,0x89,0x0A,0xD5,0xA8, -0x23,0x77,0xA8,0x7F,0x93,0xE3,0x4C,0x5B,0x1F,0xB9,0x52,0x66,0x7B,0x57,0x88,0x07, -0x51,0x9B,0x44,0xE1,0x61,0x5E,0xBE,0x14,0xCE,0xFA,0xC0,0x25,0x40,0xCD,0x12,0xA6, -0xBC,0x0E,0xD1,0x99,0x1A,0xC9,0xC5,0xF8,0x83,0x5D,0x2A,0x82,0x0C,0x7D,0xA2,0x5A, -0x2C,0x5E,0x81,0x59,0xEC,0x64,0x33,0xA3,0x35,0x30,0xF1,0xEF,0x93,0x86,0x59,0x3E, -0x01,0x8B,0x54,0xA1,0x12,0xCB,0xCD,0xF2,0x1C,0xA6,0x4E,0x79,0xA4,0xBC,0x63,0x33, -0x16,0x72,0xAD,0x4F,0x48,0x78,0x97,0x1B,0x41,0x05,0xB0,0xDA,0xAE,0x34,0xEB,0xB1, -0xA7,0x23,0xFC,0xAF,0xE2,0x07,0x3D,0xCE,0x44,0x32,0x82,0xED,0x6A,0x44,0x9B,0x05, -0xBE,0x1D,0xC2,0x88,0x8C,0xE0,0x53,0x47,0x3D,0xB0,0x79,0x6F,0xD5,0xBE,0x61,0x40, -0x9E,0xF2,0x2D,0x47,0xC0,0x72,0x1F,0x99,0x9A,0xCE,0xA0,0x11,0xED,0x3B,0xE4,0xFD, -0x7A,0x92,0x4D,0xC3,0x5F,0x79,0x80,0x0D,0xF7,0x68,0x6B,0xB7,0x4A,0x45,0x9A,0x24, -0x68,0x4A,0x95,0x09,0x3F,0xFD,0xE0,0xE9,0x24,0x23,0xF3,0xFC,0x77,0xF7,0x28,0xAB, -0xFA,0x09,0xD6,0xD8,0x5A,0x49,0x85,0x38,0xD1,0x41,0x64,0x9E,0xE2,0x84,0x5B,0x4D, -0x37,0x1F,0x60,0xC9,0xDD,0x91,0xFA,0x6F,0xE0,0x6F,0x1E,0x39,0xD6,0x1C,0x7C,0x28, -0x62,0xEF,0xC5,0x9C,0x93,0x29,0x0C,0xD7,0xA9,0x84,0x57,0x9B,0x82,0xCC,0xF8,0x7C, -0xD6,0xB3,0x2D,0x28,0x51,0x71,0x96,0x8F,0xD1,0x3A,0x2F,0x5D,0xE4,0x29,0x7B,0x1A, -0xFB,0x85,0x36,0x05,0xFD,0x90,0xDB,0x6E,0x25,0x12,0xDB,0x81,0xCF,0x7E,0x07,0x31, -0x80,0x12,0xDA,0x7E,0xE6,0x0B,0x5B,0xF5,0x23,0x75,0xDD,0xE0,0x3D,0xC3,0x48,0xC3, -0x14,0x4A,0x16,0xEA,0x86,0x1A,0x2A,0xE4,0xE6,0x08,0x18,0x58,0xA3,0xE8,0xFD,0x5D, -0x34,0x4E,0x32,0xCA,0x25,0x44,0xD7,0xBA,0x79,0x9C,0x87,0x53,0xC6,0x5C,0x2C,0x38, -0x2B,0x4D,0x2E,0xD5,0xFE,0x8F,0xC7,0x71,0x60,0xE7,0x9E,0x31,0x50,0x75,0x93,0xAE, -0xEB,0xC5,0x66,0x15,0x8A,0xBA,0x86,0x44,0xF4,0x2B,0x0A,0x69,0x83,0xEC,0xD9,0x7D, -0xE5,0xA6,0x0B,0x1B,0x60,0x63,0xB5,0x9D,0xAD,0x90,0x53,0x8B,0x27,0xF0,0x61,0xD9, -0xE0,0x96,0x3E,0x1E,0xDA,0xAE,0xC2,0x50,0x49,0xE8,0xB7,0x17,0x56,0x14,0xF4,0xA8, -0x6D,0xAC,0x89,0x93,0xCD,0x95,0xEE,0x6B,0xB1,0xDE,0x4F,0xD9,0x8E,0xDE,0xE6,0x70, -0x68,0x9C,0xBC,0x96,0xF1,0x30,0x77,0xCE,0x4B,0x9B,0xB5,0x66,0x64,0x21,0xF3,0x9A, -0xC2,0xE3,0x69,0x3C,0x37,0x48,0xC9,0xB6,0x2C,0x39,0xD2,0xA3,0x84,0xAD,0x9F,0x7A, -0x1C,0x48,0x1C,0xE2,0x41,0x75,0x82,0x8B,0xEC,0x71,0x12,0x2B,0x6D,0x03,0xD8,0x93, -0x4D,0xA8,0xAD,0xB3,0xA4,0x13,0x01,0xED,0x07,0x45,0xF9,0xF4,0xFC,0x6B,0x21,0x02, -0x5C,0xC8,0xDC,0xA2,0xBE,0x9F,0x97,0x61,0x73,0xE5,0x8D,0x20,0x62,0x40,0x94,0x9C, -0x98,0x50,0x80,0x66,0xA7,0x0C,0x1D,0xF2,0x59,0xB8,0xA7,0x57,0x61,0x11,0xC6,0x9F, -0x23,0x4F,0x24,0xDD,0xB6,0x1F,0x1F,0xE1,0x9B,0x83,0x65,0xAE,0xAF,0xFA,0xE3,0x51, -0xA2,0x67,0x8D,0x5C,0x87,0x0D,0x3C,0xF3,0x39,0x5C,0xC7,0xD3,0xCC,0x2F,0x55,0x32, -0x3F,0x1D,0x6A,0xC1,0x0D,0xC5,0x7E,0x3B,0xDC,0x05,0x22,0x6F,0x4F,0x76,0x8F,0xB1, -0x13,0x0B,0x50,0xED,0xAB,0xAC,0xB1,0x52,0x01,0x22,0xFF,0x95,0x42,0x44,0xB0,0xBC, -0x35,0x6E,0x13,0xCB,0xFB,0xB8,0xF5,0x46,0x52,0xE0,0xAC,0x04,0xCE,0x5E,0x26,0x30, -0x0C,0x08,0x4C,0xF2,0x49,0xF5,0x0A,0x0B,0x5D,0xAC,0xA3,0x47,0x8B,0xEE,0xD3,0x75, -0x24,0x0E,0x62,0xDA,0xC4,0x02,0x70,0xFC,0x98,0xD1,0x66,0xFF,0x69,0x13,0xCC,0x97, -0x48,0x98,0x98,0xB6,0x10,0x76,0xD0,0x88,0x22,0x54,0xDC,0xC0,0xE5,0x09,0x5A,0x1B, -0x3E,0x3D,0x4B,0xC0,0xF9,0xB0,0xFF,0x4E,0x81,0xAA,0x7F,0x9D,0x67,0x70,0xA1,0x99, -0x39,0x7C,0x0D,0xC7,0x6D,0xD4,0x0F,0x2A,0x7D,0x88,0x83,0x43,0x34,0xE1,0x63,0xCA, -0xA1,0x36,0xDF,0x5F,0xB7,0x08,0x09,0xF6,0xC3,0x19,0x3D,0x6C,0x47,0x74,0x85,0xB9, -0xD0,0xD2,0x4A,0x2E,0xF5,0x10,0x53,0xEE,0x4D,0xFC,0xB3,0x07,0x09,0x97,0x28,0xF7, -0x07,0x5B,0x14,0xF9,0x94,0x16,0x34,0xE8,0x14,0x47,0xEA,0xE5,0xF1,0x59,0x1E,0x0F, -0xE3,0xC7,0x6C,0x1D,0x99,0xA1,0x8E,0x5F,0x7B,0xEF,0x85,0x22,0xA6,0xD8,0xC8,0x58, -0xC8,0x90,0x10,0x36,0xD0,0x26,0x40,0xD8,0xDF,0x57,0x21,0x3E,0x7C,0x63,0xA9,0x82, -0x7B,0x8D,0xBE,0x85,0xD6,0x0E,0x6E,0xF0,0xA4,0xBB,0x5A,0xA9,0xBC,0xEB,0xE1,0x42, -0x59,0xF8,0xE9,0xA7,0x9E,0x9E,0xB6,0x60,0x58,0x99,0xA6,0x77,0x06,0xD4,0x64,0xF8, -0x8C,0x00,0xC4,0x72,0x56,0x4E,0xAE,0xB0,0xCD,0x74,0x33,0x0F,0xEF,0x7A,0x23,0x11, -0x04,0x0A,0x46,0xFA,0x7B,0xF8,0x35,0x06,0x00,0x03,0xFE,0xB5,0xD0,0x7D,0x1B,0x2E, -0xC6,0xF3,0x7D,0x38,0xCA,0xAA,0xD6,0x54,0xC8,0x41,0x36,0x3F,0x11,0xD5,0x72,0xEF, -0x73,0x8F,0xB4,0x8D,0xB9,0xA0,0xAF,0x5E,0x9A,0xA2,0x64,0x8E,0xBE,0x9A,0x92,0x40, -0xBD,0x64,0x91,0x43,0xF6,0x0F,0x4F,0xF1,0xBD,0xC0,0x43,0xCB,0x3E,0x92,0x1A,0xC0, -0x6A,0xED,0xCF,0x94,0x2D,0xC4,0x5F,0x3A,0x4C,0xDD,0xB2,0x27,0xAB,0xEA,0xF7,0x55, -0x26,0x7F,0x11,0xD8,0xAA,0xBB,0xA7,0x45,0x5B,0xCB,0xA5,0x26,0x9D,0xCF,0xE4,0x63, -0x4C,0x88,0x8C,0xB2,0x33,0x68,0xED,0x96,0xFF,0x73,0x01,0x3A,0x45,0x05,0xF6,0xBB, -0xD4,0xC2,0x5E,0x2A,0x15,0x41,0xE2,0xBF,0x19,0x78,0xE7,0xD7,0x86,0xDC,0xEC,0x78, -0x03,0x4B,0x00,0xFD,0xB8,0xB7,0xB9,0x49,0x8C,0x95,0x72,0xAF,0x6E,0x52,0x8A,0x90, -0x3C,0x4C,0x38,0xC2,0x65,0x54,0x87,0xAA,0x31,0x56,0xCF,0xD1,0x24,0xA1,0x33,0xDA, -0x0E,0x79,0x3F,0xF0,0x2C,0xD3,0x49,0x2D,0xB9,0xD4,0x47,0xDB,0xDE,0x1E,0x76,0x20, -0xAB,0x45,0xA6,0x55,0x6A,0xEB,0x37,0x15,0x57,0xD5,0xA9,0x34,0x70,0x71,0xB7,0x8E, -0x1F,0x19,0x4E,0xE1,0x2A,0xFB,0x67,0x05,0x3F,0x3B,0xC1,0xB2,0x6C,0x23,0xF9,0x92, -0x6C,0x8C,0xA8,0x92,0xDF,0x99,0xF0,0x67,0x5A,0xEA,0xA4,0x06,0x2F,0xF2,0x6B,0xD1, -0xDE,0xB1,0x27,0x20,0x0C,0xD2,0x68,0x2C,0x3A,0x0E,0xC4,0x82,0xF7,0x38,0x79,0x09, -0xA0,0x16,0xFE,0x5E,0x61,0x74,0xA3,0x8A,0xA5,0x9A,0x5B,0x89,0x97,0xBC,0x9D,0x69, -0x25,0x2E,0x43,0xDB,0xC6,0x0A,0x7A,0xF4,0xE9,0x44,0x17,0x1B,0x78,0x73,0xBD,0x86, -0xDF,0x91,0x06,0x21,0xBF,0x88,0x81,0x76,0x87,0xCD,0x79,0xFC,0x46,0x54,0xA4,0xB8, -0xAF,0x55,0xB2,0x51,0xBA,0xBF,0xB3,0x41,0x2D,0x18,0xD3,0x83,0x17,0xB4,0x15,0xE9, -0x27,0x5F,0x30,0xD9,0xE7,0x1C,0x4D,0xE2,0x77,0xF1,0x89,0x30,0xEE,0x5A,0x02,0x10, -0x1D,0x68,0x3D,0xE3,0xCE,0x8A,0xF2,0x74,0x89,0xA0,0x77,0x9F,0x3B,0xA2,0x2F,0xC5, -0xE6,0xF7,0x59,0x18,0x78,0xE7,0x29,0x19,0x7F,0xFB,0x81,0x32,0x6B,0x62,0xBF,0x95, -0x56,0xBB,0xA5,0xA8,0x35,0x40,0xC3,0xBE,0x04,0x17,0xFA,0xA5,0xFE,0x1A,0x52,0x00, -0xCC,0x80,0x04,0x32,0xE4,0x03,0x51,0xFD,0xF6,0x58,0x08,0x18,0x12,0x84,0x20,0xEC, -0x91,0x72,0xAB,0x6F,0x3C,0xD7,0x5D,0x29,0x6A,0x9E,0x94,0x42,0x35,0xC1,0x42,0xCB, -0xAD,0x24,0xC1,0x53,0x02,0x7A,0xCE,0x84,0x37,0x31,0xC9,0xB0,0x2B,0xE2,0x7F,0xD5, -0x4A,0xE9,0xEB,0xB4,0xC9,0xB5,0xCA,0x4B,0x80,0x8B,0x7E,0xBD,0x33,0xA0,0x25,0xCD, -0x0D,0x28,0x6D,0xF3,0x46,0x4A,0xBA,0xB4,0x65,0xD2,0x9B,0x01,0xE8,0x3B,0x65,0x16, -0xE0,0x6B,0x07,0x57,0x3B,0x97,0x57,0x70,0x90,0x68,0x48,0x04,0x5D,0xE3,0x8F,0x62, -0x18,0x14,0x78,0xD0,0x77,0x05,0x1B,0xAE,0xB5,0x5E,0x5B,0x32,0x5C,0xF4,0x98,0x74, -0x52,0xC7,0xAB,0x49,0x1D,0xF2,0x71,0x33,0x7F,0x86,0x49,0xEA,0x40,0x50,0x3C,0xCC, -0x5D,0xEE,0x82,0x6F,0x85,0xB8,0xE9,0xE1,0xA6,0x45,0x53,0x29,0xAD,0xB6,0xDA,0xC7, -0x06,0x18,0x74,0xC2,0x52,0x31,0x3E,0xBF,0x28,0xAD,0x35,0xC1,0xD5,0x23,0x4F,0x2A, -0x38,0xFB,0x97,0x1F,0x6D,0x36,0x01,0x87,0xDB,0xE7,0x8C,0x8B,0xAB,0x9E,0xF2,0xE9, -0xF6,0x7C,0x10,0x56,0x5F,0x03,0x33,0x80,0x64,0x1D,0xC9,0x71,0xA1,0x16,0x7A,0x6B, -0x88,0x44,0x28,0x10,0xFA,0x3F,0x96,0x19,0x0B,0xB3,0x08,0xDF,0x4E,0xF8,0x94,0x6A, -0xFF,0x89,0xE5,0xAA,0x99,0xEA,0xF5,0xAF,0x19,0xBF,0x16,0xD3,0x44,0x70,0x1C,0xE8, -0xD1,0xA1,0xCD,0xAC,0x2A,0xF7,0x46,0x01,0x91,0x7F,0x5E,0x13,0xD3,0x0B,0x67,0x04, -0x09,0x31,0x5D,0xE4,0x08,0x82,0x64,0x56,0xAE,0xC5,0xDB,0xA9,0x0D,0xF7,0x9B,0x26, -0x11,0xE1,0x8D,0x2C,0xDD,0x7A,0xB1,0x7B,0x00,0x2C,0x9C,0x40,0x75,0x62,0x0E,0xCB, -0x8A,0x57,0x3B,0x01,0x55,0x70,0x39,0xF9,0x07,0x13,0xA4,0x7F,0xCF,0xAF,0xC3,0xBC, -0x69,0x05,0x69,0xB0,0x97,0x89,0xFB,0xC2,0xAF,0xD2,0xCD,0xBE,0x45,0x67,0x0B,0xFE, -0x10,0x0F,0x63,0xC3,0x22,0xF5,0x4E,0x0B,0xE0,0x7D,0x2D,0x11,0xF4,0x35,0x59,0x1D, -0xF0,0xA0,0xCC,0x8C,0xEC,0x1E,0x80,0x2E,0xE8,0xFD,0xA5,0x91,0xB1,0x12,0x7E,0x7F, -0x4D,0x25,0x49,0xB4,0x4C,0x12,0x20,0x82,0xD8,0xF8,0x90,0x94,0xE5,0x26,0x4A,0x1F, -0x96,0x48,0x24,0x02,0xB7,0x8D,0xDB,0xE6,0x18,0xA8,0x00,0xC4,0x48,0xD0,0xBC,0x44, -0x7C,0xEF,0x83,0x4F,0x07,0xC1,0x6B,0x1A,0x60,0x3D,0xED,0x51,0xDF,0xAB,0xC7,0xA8, -0xEE,0xAC,0xC0,0x9E,0x9D,0xFA,0xF1,0xBB,0xFE,0xD1,0x9F,0xBD,0x62,0x59,0x35,0xE7, -0xE2,0x78,0x14,0x46,0xC0,0x08,0xAC,0x14,0xBB,0xF6,0xFD,0x9A,0x38,0xC5,0xA9,0x21, -0x71,0xD5,0xB9,0x78,0xFC,0x5E,0x90,0x7E,0x98,0xE8,0xC0,0x84,0xCA,0x98,0xF4,0x8E, -0x75,0x1A,0x76,0xB3,0x1B,0x93,0x77,0x54,0xDA,0xF0,0x9A,0x9C,0xC7,0x2F,0x43,0x34, -0x05,0xE5,0x89,0x3C,0x5C,0x52,0x30,0xD2,0x41,0x2B,0xDA,0x47,0x7B,0xCA,0xA6,0x6D, -0xD8,0x54,0x38,0x50,0x4E,0x63,0x22,0xF1,0x59,0xAF,0x46,0xC3,0xC8,0x90,0xFC,0x84, -0x4F,0x36,0x5A,0xA5,0x3D,0xF6,0x51,0x17,0x88,0xEC,0xD4,0x80,0x7C,0xF5,0x99,0x55, -0xD7,0x7D,0x11,0x76,0x8F,0xCB,0xE3,0x98,0x42,0x34,0xC6,0x58,0xF8,0x95,0xF9,0xB1, -0x1C,0xDB,0xB7,0x1B,0xF1,0x6C,0x9D,0x41,0xC6,0x54,0x22,0x38,0xF3,0x0A,0x66,0x25, -0xC5,0xA5,0xC9,0xBC,0x74,0x54,0x18,0xFC,0x09,0xBB,0x02,0xD7,0x61,0x46,0x2A,0xFB, -0x3E,0x27,0x4B,0xC5,0x8E,0xEB,0xE2,0xB9,0x2E,0x85,0x1B,0xE9,0x86,0x28,0x44,0x72, -0x0C,0x10,0x7C,0xC0,0xFE,0x2F,0x92,0x0D,0xCE,0xD4,0xAA,0xB8,0xF9,0x82,0xEE,0xA7, -0xF2,0xB3,0xDF,0x9D,0x76,0x25,0x1A,0x8F,0x20,0x2D,0xBD,0x41,0x4A,0xD8,0xB4,0x4E, -0x39,0x15,0x79,0xF0,0xBA,0xBF,0xD6,0xD9,0x96,0x40,0x66,0x2C,0x13,0x5B,0x37,0x94, -0x0A,0xCC,0xA0,0x1A,0xB4,0xDC,0xD8,0xB4,0x8A,0xE4,0xDE,0x88,0xF1,0x02,0x6E,0x2F, -0x7D,0x01,0x6D,0xA0,0xB1,0xEC,0xDD,0x81,0x6E,0x95,0x4B,0xF9,0x6D,0xE6,0x8A,0x57, -0x51,0x3A,0x56,0xB7,0x3C,0xD6,0x50,0x36,0xA4,0x4D,0x59,0x21,0xA3,0x1E,0x72,0x61, -0xC8,0x9F,0xF3,0x8B,0x39,0xE6,0x55,0x03,0x5B,0xA7,0x4C,0xCB,0x1C,0xE4,0x88,0x24, -0x76,0xE7,0x8B,0x4D,0x93,0x99,0xFF,0xD6,0xD7,0x47,0x20,0x2B,0xD9,0x83,0xEF,0x86, -0x3D,0xDA,0xB6,0x3B,0x4D,0x32,0x21,0xA3,0x79,0xAE,0x67,0xC2,0x51,0x43,0x2F,0xCE, -0xBE,0xBC,0xD0,0xDE,0x1C,0xD2,0x70,0x12,0x11,0x3F,0x9E,0x53,0x8E,0xA8,0xC4,0xFA, -0x45,0x3E,0x52,0xA7,0x66,0x65,0x0A,0xDF,0x66,0x15,0xC3,0x79,0x43,0x4F,0x23,0xD0, -0xB3,0x86,0xEA,0xE9,0x33,0x95,0x5F,0x7A,0xB6,0x41,0x47,0x2D,0xE1,0x06,0x6A,0x3B, -0x29,0xDE,0xB2,0x2B,0x87,0xC9,0xEB,0x92,0x53,0x27,0xC4,0x4B,0x27,0x7E,0x12,0x85, -0x64,0x3F,0x53,0x87,0xAA,0xFF,0xC6,0x89,0x04,0x0C,0xB8,0x60,0xFB,0x8A,0xE6,0xAD, -0xE4,0xA4,0xC8,0x9C,0xD1,0x68,0xBD,0x65,0xB9,0xFE,0xF7,0x92,0x9A,0x8C,0xE0,0xCA, -0x95,0xB5,0xD9,0xFC,0x45,0x30,0x29,0xA9,0x92,0x60,0x42,0x0C,0x22,0x49,0x25,0xB7, -0x68,0xEB,0x87,0x5F,0x65,0x34,0x09,0x8D,0x26,0x05,0x93,0x69,0x29,0xD6,0xBA,0x23, -0x78,0x20,0x4C,0x84,0x7A,0x37,0x16,0x91,0x0F,0x93,0x2C,0xFF,0x4B,0xCF,0xA3,0x58, -0xCF,0xAD,0xC1,0xBE,0x75,0x74,0x19,0xDD,0x69,0xAA,0x73,0xC6,0x85,0x37,0x5B,0x6E, -0x6F,0xD9,0xB5,0x6A,0x19,0xE2,0x75,0x27,0x73,0x26,0xE5,0x4A,0xBA,0x8D,0xE1,0xEB, -0x40,0x1F,0x73,0x83,0x6F,0x47,0x03,0xF4,0x0A,0xA4,0x1E,0xC8,0xE7,0x2E,0x42,0x15, -0xB0,0x7B,0x17,0x17,0x68,0x06,0x04,0xB2,0x9B,0xF7,0xDC,0x9B,0x39,0xD2,0xBE,0x37, -0xB6,0xA7,0xCB,0xCD,0xF0,0x4C,0x9C,0x60,0x0E,0x84,0x3A,0xE8,0x16,0x6C,0x00,0xA6, -0xEC,0xBF,0xD3,0x8F,0x81,0xA8,0xED,0xF5,0xED,0xCA,0x97,0xA6,0x7D,0xE2,0x8E,0x43, -0x8B,0xB9,0xD5,0xEE,0x56,0x21,0x3A,0xAB,0x23,0x32,0xA1,0x5E,0x9F,0xBB,0xD7,0xF8, -0x31,0x0E,0x62,0xE3,0xB2,0xBD,0xDE,0xD3,0xA2,0x65,0x77,0x09,0x58,0xD4,0xB8,0x50, -0x28,0x30,0x5C,0xC4,0x0D,0xB2,0x61,0x63,0x3A,0xA1,0x2B,0xCD,0x5A,0xDC,0xB0,0x5A, -0xA2,0xA3,0xCF,0xDD,0xC9,0x2A,0xA5,0x3F,0x6B,0xA2,0x79,0xCE,0x2D,0xF6,0x9A,0x07, -0xA0,0xB0,0xDC,0xCC,0x72,0x35,0x1E,0x9B,0x80,0x6C,0x5C,0x00,0xD4,0x34,0x58,0x3C, -0x83,0xA2,0xCE,0xFD,0xF3,0x1D,0x9F,0x32,0x55,0x0F,0xEA,0x63,0xA9,0x96,0xFA,0xE3, -0xC1,0x6A,0x06,0x77,0x6E,0x67,0x02,0xD5,0x0C,0x8C,0x30,0xE0,0x15,0x73,0x1F,0xBA, -0x0E,0x03,0x6F,0xD1,0x42,0x71,0x2E,0xEF,0x3E,0x81,0x0F,0xED,0xEF,0xAE,0xC2,0x9D, -0x4A,0x17,0x7B,0x81,0x64,0x14,0x08,0xAC,0x24,0x0D,0x99,0x61,0x7E,0xFD,0x91,0x5F, -0xB5,0x5A,0x36,0x33,0x5D,0x72,0x31,0xF3,0x94,0x48,0x6C,0x24,0x3D,0xF2,0x9E,0x13, -0x0C,0xE7,0x19,0x5B,0xBF,0x99,0x41,0x96,0x7D,0x30,0x03,0xCE,0x58,0xF8,0x06,0x10, -0xA9,0xB2,0x4C,0xAB,0x07,0xD7,0xF9,0x60,0xDF,0x79,0xE8,0x87,0x88,0xAC,0x52,0x94, -0x41,0x06,0xF8,0xF7,0x5F,0x15,0xA1,0xFA,0x19,0x01,0x56,0xFF,0x6D,0xCA,0x34,0x17, -0x5A,0x2B,0xD5,0xC1,0xBE,0xB9,0x40,0xB7,0xC5,0xF5,0x7E,0x0B,0x3A,0xE1,0x1F,0x6B, -0xB6,0x50,0xAE,0x56,0x25,0xA2,0xDB,0x37,0xA4,0xF3,0x19,0x0D,0x87,0x13,0xED,0x24, -0x7A,0xC4,0x3A,0x0E,0x34,0xC2,0xCA,0x46,0x1C,0x36,0x64,0xC8,0xAC,0x8D,0x73,0x91, -0x5E,0xE4,0x1A,0x0A,0x6A,0x61,0x94,0xBB,0x17,0xA9,0xF0,0x57,0x18,0xE8,0x16,0x40, -0x42,0xFB,0x05,0x09,0xA1,0xBA,0x5F,0xAB,0x75,0xB0,0x8B,0x4E,0x31,0x7E,0x80,0xFF, -0x0A,0x3B,0xC5,0x81,0x94,0xCE,0x6A,0xEA,0x2D,0x24,0x47,0xDA,0xA8,0xAD,0x53,0xB5, -0x67,0x35,0xCB,0xE2,0x4D,0x24,0xB3,0xD9,0xCF,0x7D,0xFC,0x83,0xB4,0x09,0xF7,0x0D, -0x52,0x30,0xCE,0xD2,0x80,0x9E,0x7E,0xAE,0x53,0x99,0x84,0x67,0x50,0x78,0x86,0x98, -0xE5,0xBD,0x43,0xE8,0xBB,0x89,0x45,0x82,0x9D,0x61,0xB2,0x9F,0x9A,0xA0,0x5E,0x8A, -0xD0,0xB8,0x46,0xD8,0x1E,0xB5,0xE0,0x1B,0x22,0x9B,0xF7,0x65,0x65,0x4A,0xB4,0x9F, -0x05,0x12,0xEC,0xA7,0x66,0x73,0x98,0xA5,0xE7,0xFC,0x55,0x02,0xE9,0xAA,0x54,0xF3, -0x70,0xCC,0x32,0x0C,0x5B,0x05,0xA5,0xEE,0x6F,0x3C,0x1D,0xC2,0x47,0x43,0xBD,0xB4, -0xC1,0x9D,0x63,0xEC,0x3D,0xE0,0xC3,0x6D,0xB0,0xD7,0x29,0x29,0x2F,0xD2,0x2C,0x4D, -0xB0,0x8C,0x72,0x8C,0xB1,0xFA,0x4F,0xFB,0x64,0xA3,0x89,0x5D,0x04,0x4C,0xB2,0xF8, -0xEC,0x48,0xB6,0x14,0x22,0xE3,0xDC,0x71,0x13,0x89,0xD4,0x77,0x55,0x4F,0xB1,0xAA, -0x48,0xF3,0x0D,0x0B,0x31,0xF2,0xCF,0x73,0xEA,0x4B,0xEF,0xB5,0xBE,0x81,0x7F,0x8F, -0xE1,0x72,0x8C,0x23,0x23,0xC3,0xDD,0x50,0x97,0xE9,0x30,0x17,0x6B,0xE2,0x1C,0x39, -0x06,0xEF,0x11,0x59,0xEB,0x49,0x15,0x12,0x2B,0x0C,0x69,0xF2,0x32,0x61,0x9F,0xE3, -0x3C,0xC3,0x3D,0x4F,0x82,0xEF,0x7C,0xDD,0xD1,0xD1,0x4E,0x2F,0x00,0x6C,0x92,0xDC, -0x7F,0xE5,0x1B,0x2A,0x96,0xBF,0x68,0x99,0x40,0x82,0x8C,0x7C,0x1A,0xE0,0x1E,0x4A, -0x20,0xDC,0x22,0x4C,0xDB,0x0D,0x25,0x66,0x03,0x8D,0xC0,0x73,0xAA,0xA5,0x5B,0xBF, -0x0E,0xF4,0x0A,0x4A,0x2C,0x80,0xD2,0x1C,0xBB,0x48,0xBD,0xB6,0x57,0x47,0xB9,0xA0, -0xF4,0x98,0x66,0xDC,0x58,0x54,0xA6,0xBC,0x84,0xF2,0x38,0x0C,0x4D,0xCB,0x35,0x36, -0x27,0xEE,0x10,0x79,0x9E,0xBD,0x60,0x93,0xD9,0x51,0xC6,0xAF,0x34,0x49,0xB7,0xCD, -0x61,0xE9,0x17,0x38,0xFA,0x29,0x04,0x63,0x07,0xAD,0xE4,0x53,0xA5,0x1A,0xE4,0x0F, -0xB3,0x71,0x8F,0x72,0x26,0xF3,0xD8,0x65,0x28,0x13,0x75,0xED,0x30,0x69,0x97,0xE9, -0x26,0x00,0xFE,0x96,0x3E,0xB1,0xC0,0x3F,0x43,0x9D,0x90,0x63,0xD3,0x27,0xD9,0x44, -0x78,0xD7,0x29,0x1F,0x38,0xD0,0xC6,0x58,0xA1,0xC4,0x2B,0x3A,0x1D,0xDF,0x21,0x72, -0x00,0x33,0xCD,0x83,0x8F,0xDD,0x71,0xE2,0x66,0xAB,0x83,0x55,0x9C,0x88,0x76,0xA4, -0x7C,0x18,0xE6,0xD4,0x08,0x94,0xF6,0x2C,0x7A,0x0F,0x3B,0xF1,0x27,0x52,0xAC,0xC5, -0xD2,0xAB,0x55,0xC9,0x20,0x92,0xDE,0x02,0xED,0x74,0xD7,0x8A,0xAF,0x92,0x6C,0x8D, -0x85,0x89,0x77,0xBC,0xB0,0xDA,0x4E,0xDA,0x33,0x88,0xF5,0x76,0x90,0x28,0xD6,0x08, -0xA8,0x5C,0xA2,0x44,0x60,0x12,0x9E,0xC2,0x4B,0x1D,0x18,0xE3,0x3E,0xC1,0x3F,0x4F, -0x2A,0xD4,0x2A,0x4E,0xD6,0x3F,0x28,0x59,0xF1,0xD0,0x6F,0x2E,0x39,0xFE,0x00,0x77, -0x11,0x16,0xE8,0xB7,0x84,0x8E,0x7A,0xBA,0x7B,0x18,0x2D,0xE6,0x91,0x3F,0xC1,0x1E, -0xD8,0xA3,0x5D,0xCB,0x8E,0xFD,0x70,0xC3,0xCA,0x4A,0xCE,0xB4,0xDE,0x90,0x6E,0xFE, -0xFD,0x6D,0x93,0x20,0x21,0xB2,0xDF,0x23,0x8F,0x6D,0xAC,0x93,0xD6,0x10,0xEE,0x76, -0xA3,0xBA,0x44,0xA9,0xEA,0x69,0x14,0x33,0x63,0x9C,0xB1,0x62,0xAE,0x85,0x7B,0x9B, -0x7D,0xF6,0x08,0x3B,0x95,0xEE,0x6B,0xCB,0x62,0x8B,0xA7,0x75,0x8B,0xB3,0x4D,0x88, -0xE0,0x9C,0x62,0xCC,0x46,0x77,0xB8,0x81,0x7E,0x2F,0x1F,0xD1,0x41,0x6B,0x95,0x9A, -0x32,0x04,0xFA,0x86,0x6F,0x51,0x91,0x8E,0x93,0xC9,0x14,0x37,0x98,0xA8,0x56,0x80, -0x6C,0xD3,0x2D,0x0F,0x99,0xFC,0x67,0xD5,0xEB,0x5C,0xF9,0xA2,0x16,0x40,0xBE,0xE6, -0x54,0xEC,0x12,0x08,0x7A,0x21,0x84,0xEB,0x95,0xE1,0x3A,0x1F,0xE5,0x0A,0xF4,0x5F, -0x53,0xDE,0x20,0x3D,0xFD,0x68,0x03,0x25,0x9F,0x69,0xB8,0x97,0x5A,0xF0,0x0E,0x1A, -0xCA,0x7B,0x85,0x01,0xC5,0x2E,0x3B,0x5B,0x70,0x87,0xB9,0x79,0x35,0x5E,0xA0,0xDB, -0x22,0xCF,0x31,0x5D,0xD5,0x6E,0x2B,0x0B,0xF6,0xEF,0x57,0x11,0x67,0x42,0xBC,0x95, -0xC4,0xBC,0x42,0xC8,0xB7,0x9B,0x49,0x9C,0x42,0x8A,0x86,0x74,0xB6,0x01,0xFF,0x07, -0x4B,0x0E,0xF0,0xF5,0xFC,0x48,0x02,0x04,0xC6,0xEA,0x62,0x14,0x7C,0xD9,0x27,0x15, -0x92,0x70,0x8E,0x52,0x5A,0x25,0xA4,0xCF,0xCD,0x75,0xF6,0x8B,0xF8,0xB9,0x47,0xF1, -0x2F,0xF5,0x0B,0x6A,0x24,0x82,0xDA,0x16,0x5F,0x39,0x28,0xC7,0x37,0x56,0xA8,0xD1, -0x6A,0x0F,0xF1,0xD5,0xA6,0xFB,0x58,0xED,0xB8,0x57,0xA1,0xA9,0x10,0x68,0x96,0xC8, -0xDE,0x7F,0x81,0x11,0x91,0xFE,0x6F,0xDF,0xC7,0xFD,0x74,0x03,0xF0,0x39,0xC7,0x79, -0x5C,0xF7,0x09,0x1B,0x32,0xA3,0xCC,0x21,0x74,0xA7,0x9D,0x59,0x1E,0xC0,0x3E,0x6E, -0x51,0xCD,0x33,0x2C,0xA4,0x8A,0x5A,0x9E,0xDB,0x59,0xCC,0xA7,0xE6,0x15,0xEB,0x43, -0x35,0x36,0xC8,0xB3,0xC9,0x3C,0x37,0x45,0x76,0xAF,0x97,0x51,0x26,0x45,0xBB,0xD3, -0xC9,0x86,0x78,0xFF,0x6E,0x71,0x90,0xAF,0xE1,0xD4,0x7B,0x2A,0x5E,0xD0,0x2E,0x3E, -0x68,0x1C,0xE2,0xC4,0x2D,0xA0,0xD3,0x3D,0x5C,0x26,0x34,0xD8,0xC0,0x3C,0xC2,0x4C, -0xC7,0x41,0xBF,0x36,0xF9,0x78,0x07,0x31,0x06,0xBA,0xF2,0x44,0x85,0x1B,0xE5,0x2E, -0xAD,0x7D,0x83,0x60,0x54,0x46,0xAA,0xA2,0xF4,0xE7,0x5D,0x19,0xA6,0x05,0xFB,0x13, -0x87,0x9A,0x64,0xAD,0x9B,0x8D,0x65,0xA6,0xF9,0x50,0xE7,0xAE,0xE4,0x1D,0xE3,0x49, -0x01,0xDD,0x23,0x6C,0x64,0x02,0x9A,0xD6,0x45,0xB5,0xBE,0x4B,0x7F,0xC6,0x38,0x09, -0xE2,0xC3,0xD2,0x64,0x9A,0xE7,0x08,0x61,0x55,0x87,0xD3,0xA7,0x19,0x35,0x59,0x9F, -0x62,0xCB,0x5A,0xE4,0xDF,0xC0,0x6A,0x46,0xFA,0x67,0x7C,0xE8,0xD7,0xDE,0x7C,0x51, -0xCD,0x84,0xBA,0x4B,0x6E,0x92,0x89,0x14,0xF0,0x1E,0x76,0x9B,0x62,0xA2,0xB5,0xE4, -0x0C,0x2C,0xD3,0x8A,0xE4,0x5A,0xCB,0xDC,0xA2,0xFD,0x24,0x2A,0xA0,0x5B,0x8E,0x26, -0x33,0x2B,0xEB,0xB5,0x5E,0x97,0xBC,0x11,0x14,0x66,0x92,0x07,0x28,0x51,0x0C,0xAE, -0xDA,0x85,0xAC,0x5C,0x26,0x02,0x51,0x84,0xC4,0x7E,0x42,0xCF,0xFD,0xA9,0x21,0x7B, -0x60,0xBA,0x29,0xE6,0xF8,0xFE,0x73,0x78,0x54,0xA6,0xD2,0x87,0xDF,0xDC,0x76,0x59, -0xA0,0x32,0x61,0x26,0x6F,0x85,0x9F,0x03,0x7C,0x88,0xFA,0x81,0x6C,0xC1,0xD8,0xEA, -0xAC,0x20,0x7F,0x2A,0x65,0x0D,0x1D,0x8B,0xB1,0xFF,0x37,0x3B,0x0F,0x14,0x6E,0x89, -0x02,0x4F,0xBE,0x84,0x8A,0xE3,0x1C,0x65,0x89,0x81,0x0F,0x7D,0xAA,0x28,0xF7,0x2C, -0xF8,0xF0,0xFB,0x7E,0x80,0x6B,0x9E,0xED,0x0E,0x4F,0x88,0x34,0x98,0x1D,0xF0,0x1E, -0xB2,0x03,0x42,0x34,0xFE,0xD6,0x5D,0x50,0xED,0x71,0x6B,0xE9,0xA7,0x1A,0xC8,0x21, -0x5A,0x8D,0x24,0xDC,0x86,0x43,0xB0,0xC5,0x1B,0x2A,0x9D,0x44,0x70,0x93,0x96,0xF6, -0x99,0x54,0x3E,0x1F,0x6B,0xA5,0xBB,0x23,0x32,0x25,0xB4,0x62,0xE8,0xD9,0x44,0x6E, -0x41,0x9E,0x2C,0xC7,0x77,0x01,0x03,0x87,0xE1,0x6F,0x67,0xFB,0x82,0x2E,0xD9,0x04, -0x77,0xBB,0x3F,0xF1,0x76,0x16,0x15,0x90,0x9E,0x97,0x18,0x7C,0xCE,0xBC,0x07,0x48, -0x32,0x0B,0xCA,0xB4,0x61,0x2D,0x39,0xAB,0x46,0x85,0xC0,0xB6,0x83,0x0E,0xF8,0x05, -0xCB,0xE5,0xDD,0x4D,0xD2,0x77,0xD0,0xF1,0xE5,0x7B,0x63,0xEB,0x0B,0x04,0x7A,0x8D, -0x9A,0x05,0x6C,0x1C,0xAD,0xDD,0x05,0x5B,0xD2,0x49,0x54,0xEE,0x7B,0xC0,0xCE,0xFD, -0xA4,0x22,0x75,0x22,0x4A,0xB3,0x8C,0x35,0x50,0xB2,0xD6,0x97,0x81,0x7F,0x8B,0x07, -0x4B,0xED,0x55,0xCD,0xD8,0xFF,0x52,0x79,0x2E,0x6B,0xA8,0x30,0x04,0x47,0x36,0x82, -0x2B,0x69,0xB1,0xAD,0xD3,0x60,0xC6,0xE6,0x88,0xA0,0x0E,0x5D,0x7A,0xE0,0xEF,0xFC, -0xF3,0xA3,0xA3,0x75,0x57,0x00,0x22,0x86,0xC3,0x38,0x45,0x8E,0xC8,0xDD,0x60,0x4E, -0xB0,0x72,0x31,0x36,0xE3,0x65,0xF3,0xE3,0xA1,0xAF,0x27,0x7B,0xBB,0x48,0x86,0x3D, -0x34,0x6A,0xAD,0xB2,0x50,0x3F,0x1A,0xB9,0x10,0x72,0x96,0x17,0xA9,0x79,0xA5,0x2F, -0xEF,0xF1,0xED,0x69,0xEC,0xDA,0x43,0x5C,0xEF,0x02,0x69,0x98,0xEE,0xB8,0x23,0x68, -0xF7,0xB3,0xB7,0x71,0xE1,0x6D,0xF9,0xEB,0x20,0x06,0xA6,0x53,0x09,0x75,0x09,0x8F, -0xE9,0x90,0x8A,0x6F,0x13,0x30,0x56,0xB6,0x8D,0x95,0x0B,0x6D,0x35,0x23,0x63,0xB3, -0xCE,0xD5,0xE8,0x48,0x49,0xAC,0x90,0x2A,0x59,0x99,0xDF,0xB5,0x68,0xD1,0xCC,0xEE, -0x22,0x4B,0x9A,0xA4,0xF4,0x5E,0xDF,0xD8,0x1A,0x0B,0x9C,0x64,0xF2,0xEA,0x6D,0x74, -0xB7,0x33,0x77,0x31,0x63,0x25,0x33,0xA3,0xBD,0xE1,0x3B,0x29,0x42,0xA6,0x91,0xC4, -0xE7,0xF3,0xE7,0x61,0xCE,0xD3,0x68,0x55,0xD0,0x3A,0x56,0x9F,0xB9,0x39,0xF5,0x3F, -0x8C,0x24,0x5B,0x0A,0x60,0x3A,0x2F,0xBC,0xD5,0x0F,0x53,0xAF,0x8F,0x1C,0xE6,0x09, -0x1A,0x0D,0xE4,0x9C,0x02,0x23,0x54,0xA5,0x1E,0x1F,0x98,0x74,0x90,0x1F,0xFA,0x16, -0x7F,0xB9,0x35,0xF9,0x09,0xBC,0xC0,0x3A,0x40,0xE2,0xC6,0xD7,0xB0,0x1B,0xDE,0x36, -0xE1,0x92,0x80,0x67,0xB1,0x79,0xBD,0xFF,0x51,0x93,0xD7,0xB7,0x24,0x43,0x12,0xA2, -0x13,0x2F,0xCF,0x95,0xD0,0x7F,0xDA,0xF9,0xCA,0x13,0x4C,0xAC,0x5F,0xD4,0xFE,0xD9, -0x38,0x78,0xB3,0xBE,0x0C,0x8B,0xF2,0x0D,0x2B,0x5E,0xAD,0x00,0x72,0xE2,0xE5,0xF4, -0x5E,0x9D,0x30,0xD8,0xCA,0xF3,0x4C,0x75,0x73,0xC4,0xF5,0xC2,0xC6,0xBE,0x0D,0x40, -0x0A,0x4D,0xB4,0x8C,0x68,0xBA,0xA7,0x3C,0xCB,0x32,0x4D,0x8C,0x93,0x4E,0xA8,0x15, -0x20,0x3A,0xE9,0xA6,0xA5,0x5D,0x8D,0xDB,0x49,0xC9,0xCF,0xF5,0xE9,0xF9,0x65,0x6F, -0xB1,0x52,0x10,0x37,0x7A,0xB6,0xB9,0x30,0x2F,0x4A,0xA9,0x10,0xB8,0x19,0xD4,0x3E, -0x58,0xFC,0x57,0xDE,0xF2,0x76,0xF1,0xF0,0x12,0x01,0x94,0x66,0x66,0xB2,0xA1,0xE0, -0xB8,0x70,0x3B,0x3E,0x37,0x11,0x53,0x97,0x6A,0xBF,0xEC,0xA0,0xCC,0xCD,0x74,0x4A, -0x52,0x8F,0x2E,0xD4,0x88,0xEB,0x16,0x6D,0xCF,0x26,0x49,0x9C,0xC9,0xFD,0x41,0x4F, -0x8A,0x45,0x3C,0x0C,0x46,0x13,0x20,0x95,0xF4,0x0A,0x72,0x8B,0x44,0xC7,0xF6,0xC2, -0xFB,0xA1,0xA9,0x7D,0xDA,0xF7,0x58,0x71,0x39,0x7D,0xBF,0x31,0x41,0xF7,0xC3,0xC7, -0x5F,0xBD,0x11,0xD9,0x38,0xAE,0xE3,0x28,0xE0,0x4E,0x66,0xDB,0x4F,0x94,0xAE,0xC9, -0x57,0xBF,0x1B,0xD1,0x16,0x07,0x64,0x81,0xAF,0xC2,0x29,0x18,0xA8,0x59,0x84,0x2E, -0x12,0x0F,0xEE,0x94,0x55,0x08,0x28,0x8E,0xE2,0x3D,0x64,0xAA,0x91,0x3F,0xDB,0x17, -0x9E,0x15,0x78,0x18,0xC4,0x5B,0xEA,0xDD,0xF6,0x79,0x70,0xFA,0xB7,0x5A,0x98,0x31, -0x93,0x27,0x47,0x15,0x3E,0x86,0xCD,0x00,0x9F,0xB6,0x19,0x5C,0x9B,0x4C,0xA2,0x1D, -0x10,0x7E,0x9D,0x96,0x82,0x63,0x94,0xE5,0x57,0xF4,0xD1,0xD6,0x06,0x36,0x45,0x80, -0x73,0xAB,0x2B,0xF5,0xFF,0xC1,0x4B,0x47,0x45,0xD7,0xC3,0xE7,0x87,0x1E,0xEC,0x01, -0xBD,0x40,0x0E,0x3B,0x06,0x03,0x70,0x85,0x56,0xD5,0xD0,0xF6,0x3C,0x01,0x48,0xBA, -0xBE,0x11,0x5C,0x38,0x71,0x29,0x2D,0xAF,0xC5,0x5F,0x43,0xEF,0xF8,0x99,0x14,0x7E, -0x7A,0x89,0x00,0xFC,0x73,0x21,0x27,0xA7,0xFB,0x46,0x7D,0xC8,0x47,0x96,0xA4,0xC1, -0x2D,0x08,0xD6,0xAB,0xB4,0x4E,0x8F,0xC8,0x4C,0xFC,0xCA,0xC5,0xA3,0x0A,0xDC,0x25, -0xD5,0xC6,0xE0,0x53,0x56,0x17,0x34,0x91,0x4A,0x9B,0xCC,0xA4,0x74,0x83,0x82,0xF2, -0x9B,0x25,0x4D,0x1D,0x3D,0x99,0xD1,0x1F,0x52,0xC1,0xD4,0xE6,0x05,0x67,0x17,0x83, -0xE8,0xB0,0xAB,0x6E,0x12,0x27,0x40,0xA1,0x8E,0xC7,0x08,0x3C,0x9D,0x2D,0xC5,0x1B, -0xBB,0x21,0x69,0x3D,0xCC,0xDB,0x62,0x5D,0xEA,0x37,0x6C,0xA8,0x9A,0x6C,0x83,0x1C, -0x39,0x58,0x92,0xBF,0x91,0x78,0x9C,0xFE,0x2C,0x18,0xAA,0x41,0xEC,0xC9,0x50,0x6A, -0xB5,0x42,0x04,0x33,0xAE,0xC2,0x19,0x44,0x58,0xB8,0xDE,0x95,0x80,0x5F,0xAA,0x06, -0x04,0x0B,0x47,0x4B,0x32,0x9A,0x96,0xEC,0x79,0x75,0x31,0x0C,0xE8,0xF5,0xE4,0x59, -0xBB,0x4E,0xBD,0xB1,0xC9,0x18,0x14,0x95,0x17,0x1B,0xD6,0x85,0xD6,0xEC,0xDA,0x7E, -0x7F,0xFA,0xCD,0xC1,0xFB,0x2F,0x23,0x90,0xBD,0xB1,0xA9,0x50,0x87,0x5D,0x8B,0x9E, -0x75,0x78,0x45,0x49,0x05,0x8C,0x80,0xCD,0xE7,0xEB,0x1A,0xB9,0x7E,0x4A,0x72,0x70, -0x33,0x06,0x7D,0x71,0x2F,0x6B,0x67,0x00,0xAF,0xA3,0x98,0x73,0xFC,0xB1,0xF0,0x09, -0xA6,0xE0,0x0E,0x02,0xB8,0x09,0x05,0xF5,0xCA,0xC6,0x2C,0xA2,0xBF,0x23,0xB3,0xD8, -0x9B,0x6F,0xBC,0xB0,0x20,0x42,0x4E,0x26,0xAA,0xA6,0xA8,0x46,0x67,0x31,0x6B,0x12, -0x3C,0xB6,0xC2,0xCE,0xEB,0xE4,0xE8,0x4B,0x35,0x39,0xA3,0xD2,0x07,0xD5,0x0B,0x96, -0x58,0xE3,0xF3,0xFF,0x15,0x47,0x4B,0x16,0xFA,0xF6,0x68,0xD6,0xA5,0x0A,0xA9,0xEB, -0x0E,0x89,0xCF,0xC3,0x86,0xEA,0xE6,0x28,0xA7,0xAB,0x9A,0x79,0xBB,0x37,0xB7,0xC8, -0xC3,0xA3,0x28,0x24,0x82,0x25,0x29,0xE3,0x10,0x1C,0x97,0xC3,0xA3,0x6D,0xAF,0x8A, -0x02,0x25,0x6F,0x63,0xF2,0xDA,0xD6,0x6C,0xF5,0xF9,0x2B,0x9A,0x78,0x2D,0x74,0x11, -0x42,0x75,0x7F,0x73,0xBA,0x1A,0x16,0xE4,0x19,0x15,0xB5,0xE8,0xAB,0x67,0xA7,0x88, -0xDD,0x11,0x84,0x88,0x61,0x77,0x7B,0x52,0xEF,0xE3,0x18,0xB3,0xFB,0xF7,0xF7,0x48, -0x91,0xED,0x34,0x38,0x8B,0xD0,0xDC,0x1F,0x94,0x98,0x8F,0x5F,0x6E,0x1A,0x62,0x30, -0xAA,0x4C,0xAE,0xA2,0x19,0x93,0x9F,0xCE,0x66,0x6A,0x32,0x10,0x82,0x68,0x8E,0xAE, -0x20,0x0E,0x66,0x6A,0x7D,0x68,0x64,0x51,0x90,0x9C,0x9F,0x4B,0x40,0x53,0x4C,0x57, -0xD9,0x35,0xA4,0xA8,0x9E,0x3A,0x36,0xE0,0x58,0x54,0x15,0x09,0x81,0x3A,0x8D,0xFF, -0xA5,0xFC,0x11,0x1D,0xE7,0x30,0x3C,0x93,0x0A,0x06,0xA4,0xEA,0x2E,0xDA,0x22,0xB0, -0x4E,0xD9,0xDF,0xD3,0x07,0x9F,0x93,0xDC,0x2D,0x21,0xE1,0x88,0xAE,0x52,0xA2,0xB8, -0xBA,0x58,0xAA,0xA6,0x08,0xB6,0xBA,0xFA,0x4F,0x43,0x14,0x1F,0xEC,0xE1,0xE0,0x49, -0xA7,0xF6,0x19,0x15,0x26,0x9E,0x92,0xFC,0x34,0x38,0x83,0xF3,0x2C,0xA9,0x20,0xC1, -0xD2,0xA1,0x3B,0x37,0xFE,0x0E,0x02,0xB4,0xC8,0xC4,0x5D,0xD1,0x96,0x2C,0x9A,0xFE, -0x2A,0x8C,0xEE,0xE2,0xE6,0xDE,0xD2,0x7C,0x5D,0x51,0x25,0x3C,0x7F,0x6B,0x73,0x50, -0x61,0x48,0x61,0x6D,0xF1,0x27,0x2B,0x92,0x1C,0x10,0x85,0xDD,0xFE,0xC2,0xF2,0x78, -0x66,0x70,0x5E,0x52,0xCF,0xC4,0xC8,0x4F,0xA1,0xAD,0xFB,0x1E,0xB4,0x7B,0xB8,0x8B, -0x53,0x77,0x6C,0x60,0x01,0x43,0x4F,0x06,0x29,0x25,0xF1,0x9C,0x4E,0x3E,0x42,0x34, -0x6F,0xEE,0xC9,0xC5,0x7F,0x7B,0x77,0x40,0xC7,0xCB,0x1E,0x9D,0xE0,0xFF,0xEC,0x5B, -0xC7,0x87,0x08,0x04,0x17,0x54,0x58,0x07,0xDC,0xD0,0x0D,0x95,0x3B,0xBF,0x37,0xC0, -0x55,0x59,0x44,0x48,0xEF,0x2B,0x27,0x80,0xCB,0xC7,0x0C,0x83,0x0D,0xAC,0x01,0xE5, -0xA2,0xC4,0x2E,0x22,0xA5,0xF8,0xF4,0x19,0x6F,0x63,0x10,0x3B,0xD5,0xBE,0xD9,0x2F, -0xE8,0x16,0xB6,0xBA,0xAA,0xD1,0xDD,0x3F,0x89,0x85,0xFD,0x30,0x16,0xA4,0x1A,0xF6, -0x37,0x22,0x5D,0x51,0x36,0x55,0x59,0x27,0x4C,0x40,0x45,0x4D,0xDF,0xC7,0xD3,0x5C, -0x21,0x18,0x71,0x7D,0xF9,0x3C,0x30,0x81,0x91,0x9D,0xBF,0x6A,0xD2,0xF8,0xDE,0x6E, -0x44,0x5B,0x57,0x5B,0xBD,0x28,0x24,0xD1,0xC2,0xCE,0x2E,0xA8,0x5E,0x6E,0x52,0x74, -0x22,0x04,0x6E,0x62,0x42,0x65,0x69,0x63,0xCD,0xC1,0x6D,0xE4,0x1B,0x9B,0x17,0xC4, -0xE2,0x94,0x3E,0x32,0xDF,0x0F,0x03,0x94,0xE3,0xEF,0x0A,0xAD,0xF2,0xDC,0xFE,0x6A, -0x7A,0xC8,0xFA,0xF6,0x55,0x9C,0x90,0x8D,0xC9,0xC5,0x7D,0xF0,0xF1,0x8E,0xFD,0x3B, -0x65,0x6C,0x41,0x4D,0x57,0x8F,0x83,0x9C,0x0B,0x07,0x84,0xCB,0x3F,0xAB,0x33,0xD0, -0x4D,0xC5,0xC0,0xCC,0x74,0x9D,0x91,0xAD,0xA9,0xA5,0xF9,0x14,0x5C,0x1D,0x50,0x05, -0x1C,0x97,0xC3,0xCF,0x41,0x98,0x94,0x9D,0x53,0x5F,0x46,0x51,0xD7,0xCD,0xDB,0x5E, -0xF8,0x02,0xB2,0xBE,0x1B,0x80,0x8C,0xDF,0xDD,0xD1,0x2D,0xB4,0x99,0x60,0x95,0xBD, -0x71,0x5C,0x65,0x69,0x7C,0x86,0x8A,0xBE,0x84,0x88,0xCF,0x0F,0x61,0x56,0x6D,0x73, -0xED,0x24,0x81,0x8D,0xC6,0x31,0x3D,0xB3,0xEB,0xE7,0x08,0xA7,0x36,0x80,0x3A,0xF2, -0x24,0x2A,0x46,0x4A,0x38,0x92,0x9E,0xEE,0x08,0x04,0xD5,0x99,0xF9,0x84,0xF5,0x39, -0xB2,0xD0,0x2A,0x26,0x98,0xE6,0xEA,0x3A,0xB2,0xBE,0xEA,0x1C,0x75,0x12,0x79,0x23, -0x17,0x03,0x5C,0x50,0xB7,0x20,0x2C,0xD3,0x11,0x1D,0xB7,0xE2,0xF7,0xE9,0xFB,0x5A, -0x56,0x45,0x5B,0x57,0x47,0x44,0x48,0x47,0xED,0xE1,0x69,0xC0,0xA4,0x2B,0xA8,0xCB, -0x38,0x92,0xE2,0xEE,0x13,0x9B,0x97,0xCC,0xB3,0xBF,0xCA,0x3D,0xAD,0x00,0xA1,0xE9, -0x60,0x5E,0x76,0x7A,0x62,0x8A,0x86,0xAC,0x76,0x7A,0x72,0x40,0x33,0xB5,0x3F,0xC2, -0x64,0x7A,0x56,0x5A,0x9F,0xD4,0xD8,0x0F,0xE9,0xE5,0x79,0xD4,0x56,0x64,0x5A,0x76, -0x67,0x66,0x49,0x45,0x8F,0x1F,0x13,0xD4,0xF0,0xFC,0x1B,0xAF,0xC0,0xDB,0xCC,0x5F, -0x35,0x28,0x55,0x59,0xB2,0x01,0x0D,0xF7,0x70,0x7C,0x13,0x27,0x46,0x34,0x4A,0x36, -0xC5,0x8D,0x00,0x0C,0x44,0xB9,0xB5,0xB9,0x39,0x35,0xB1,0xCC,0x12,0xB0,0x1E,0xE6, -0x99,0x65,0xB4,0xB8,0xDE,0xE1,0xED,0x7B,0x41,0x4D,0x77,0x72,0x74,0x33,0x78,0x03, -0xAF,0x7E,0x99,0x95,0x93,0x00,0x0C,0xD7,0xB5,0xB9,0xAB,0x5A,0x5F,0x4F,0x53,0x54, -0xB6,0xF4,0x0A,0x06,0x3F,0xA0,0xAC,0xDB,0xDB,0xD7,0x4C,0xD3,0xF4,0xBB,0xF8,0x0B, -0xC9,0x21,0xA0,0xAC,0x81,0xD8,0xD4,0x1D,0xBC,0xB0,0x89,0x71,0x14,0xD7,0x18,0x87, -0x62,0x54,0x7E,0x72,0xCA,0xE5,0xE9,0x6B,0x7C,0x70,0x01,0x39,0xFD,0x90,0xF1,0x29, -0x82,0xE5,0x2F,0x23,0x49,0x83,0x8F,0x8E,0x97,0x9B,0xDE,0x0D,0x6C,0x69,0x60,0x41, -0xEF,0x2E,0x89,0x85,0xCE,0x2A,0x26,0xA0,0x64,0x68,0x43,0x63,0x13,0x91,0x1F,0xC6, -0x8C,0x43,0x87,0x8B,0xFD,0xF3,0xFF,0x4A,0x3D,0x31,0xA1,0xD8,0xB7,0x29,0xBB,0xDA, -0xBC,0x76,0x82,0x8E,0x8A,0x3E,0x32,0xF0,0xD9,0xD5,0x3D,0xA0,0xC6,0xBC,0xCA,0x3E, -0x86,0xC1,0x0F,0x03,0xA6,0x05,0x09,0xE7,0x21,0x2D,0xF3,0x96,0x1E,0xAE,0x12,0xF4, -0xFA,0xB4,0xED,0x45,0xDD,0x90,0x61,0xEE,0xFB,0xFB,0x52,0xA3,0x7F,0xE0,0xCD,0x8E, -0xBF,0x93,0x8F,0x62,0x55,0x10,0xE1,0xE6,0xDE,0x10,0x9C,0x6D,0xD0,0x00,0x82,0x21, -0xC1,0x2E,0x4C,0xDF,0x54,0xFE,0x0F,0x09,0x09,0x7E,0x25,0xD4,0x27,0x7A,0x0F,0xD6, -0x4B,0xE6,0x0E,0x17,0x3D,0x3F,0xCE,0xA1,0x32,0x87,0xE7,0x16,0x75,0x99,0xBE,0x84, -0x03,0x76,0xD6,0x87,0x2B,0x28,0xD9,0xA0,0xA6,0x8C,0x78,0x89,0x41,0xF9,0xEA,0xB0, -0x7B,0xE3,0x3B,0x12,0x6C,0xC1,0x30,0x0E,0x8B,0x74,0xAD,0x5C,0x91,0xE1,0x22,0x60, -0x4A,0xF1,0x18,0x00,0xE6,0x52,0xA3,0x17,0x5F,0xE4,0xE9,0x18,0xF9,0x0F,0xA4,0x08, -0xDD,0x8A,0xF4,0x7B,0xAE,0x92,0x63,0x9F,0xF1,0xF9,0x5A,0xAB,0xD1,0x21,0xA2,0x20, -0xAF,0x97,0x9B,0x66,0x39,0xF0,0x01,0x6A,0x70,0x0D,0x2F,0xDE,0x0C,0x06,0x58,0xFD, -0x40,0x79,0x9A,0x88,0xF8,0x5E,0xAF,0x05,0xE9,0x31,0x8A,0x7B,0x34,0x78,0x1E,0xC5, -0xDB,0xA2,0xDA,0x53,0xC5,0x40,0xB1,0x26,0x4F,0x3F,0x22,0xD3,0x68,0xF6,0xCC,0x99, -0xA5,0x1F,0x19,0xEE,0x7C,0x0A,0xFB,0xD5,0x77,0x38,0x1D,0xEC,0x8B,0xC8,0x11,0x7A, -0x4E,0xD1,0x3C,0x20,0xB9,0x6B,0x9A,0x71,0xC3,0xFC,0x6D,0x9C,0xB7,0xA2,0x47,0x46, -0xA3,0x37,0x37,0xC6,0xA3,0xA8,0x59,0xA8,0x11,0xB6,0xF5,0x04,0x9E,0xAD,0x61,0x6F, -0x53,0x62,0x92,0x93,0xB8,0x85,0x74,0x9E,0x80,0x99,0x4B,0xBA,0x1B,0x10,0x59,0xEA, -0x52,0x75,0x84,0x84,0xAB,0xB3,0x42,0xBB,0x5E,0x0B,0x07,0xF6,0x64,0xE8,0xDE,0x95, -0xF7,0x03,0x57,0xF2,0x5A,0x39,0xC8,0xC0,0xFD,0x21,0x8E,0x7F,0x60,0xFC,0xCE,0x91, -0x44,0x59,0xBE,0xA8,0x4D,0xC0,0x31,0x2E,0x7F,0x2B,0x06,0xF7,0xC3,0x02,0x93,0x32, -0x6F,0xC7,0x0B,0x36,0xF2,0x56,0xA7,0x07,0x0C,0x5A,0x04,0xF5,0xD5,0x35,0xB2,0x24, -0x88,0xA9,0x82,0x58,0xEB,0x68,0x99,0x20,0x49,0xE5,0xFE,0x0F,0x57,0xCE,0xCB,0xA6, -0xF6,0x14,0x41,0xE5,0x36,0xD9,0x28,0x4C,0x68,0xC5,0xFF,0x0E,0x0D,0x27,0x78,0xFC, -0xFD,0x8B,0xD5,0x7A,0xD2,0xB9,0x48,0xC8,0xB1,0x62,0x81,0x70,0xAB,0xEC,0x15,0x5A, -0xC6,0x11,0x74,0xE0,0xB6,0x42,0xB3,0x57,0x01,0x6D,0x3E,0xCF,0x24,0x28,0x5E,0xD5, -0x72,0x74,0xA5,0x85,0x24,0x01,0xF0,0x86,0xE7,0xF8,0x4D,0xBC,0x46,0xBF,0xAB,0xB7, -0xC9,0xAE,0xC4,0x5F,0x6A,0x1D,0xEC,0xD4,0xA4,0x9D,0x6B,0x9A,0x6A,0x85,0xBD,0x9B, -0x75,0x4B,0x9D,0xBA,0x2A,0xC6,0x37,0x4F,0x22,0x5C,0x2C,0xDD,0x95,0xF5,0x32,0x64, -0x36,0x44,0xD1,0xB5,0x0D,0x1B,0xEA,0xB5,0xE4,0x06,0xB0,0x41,0x08,0x12,0x48,0xF9, -0xC4,0x19,0x7E,0xE8,0x30,0x05,0xF4,0x96,0x8E,0x50,0x8C,0x7D,0xA5,0x81,0x76,0x54, -0xD1,0x2A,0x58,0xDB,0x1D,0xD0,0x21,0x6E,0xEA,0xCF,0x77,0x86,0x9F,0x8C,0x41,0x6E, -0x6C,0xD8,0x17,0x29,0x6F,0x3C,0xCD,0xF0,0x4B,0xF4,0xED,0x1C,0xDC,0x1E,0x90,0x2D, -0xEB,0xA7,0xEF,0x56,0x60,0x15,0xE4,0xD6,0x72,0x1C,0x3C,0xCD,0x55,0xBD,0xBA,0xA4, -0x46,0x51,0xB4,0xA0,0xF0,0x45,0xB4,0x16,0x16,0x83,0xC7,0x36,0x38,0x66,0x0C,0xC9, -0x27,0x57,0xD3,0xA6,0x63,0xE8,0x19,0x28,0x7D,0x3A,0x15,0xE4,0x9B,0x98,0x51,0x6A, -0x45,0x4E,0xA8,0xBF,0xDC,0x7E,0x8F,0x01,0x61,0x39,0x0A,0xFB,0x50,0x88,0x8A,0xA1, -0x94,0x0D,0x3A,0xFC,0x07,0x13,0xE2,0xB7,0x95,0x66,0xA1,0x50,0xD4,0x14,0x92,0x25, -0x2C,0xC8,0x47,0x39,0xB2,0x8D,0x7C,0x9C,0x59,0x3E,0x35,0xC4,0xC5,0x65,0xF2,0x34, -0x29,0xFF,0x75,0x0E,0x34,0xCA,0x3B,0x5D,0x62,0xC7,0xF7,0x06,0xAE,0xD9,0x25,0x5F, -0xF5,0x0B,0x5D,0xFA,0x48,0xE1,0x10,0x0A,0x79,0xF1,0xDA,0x2B,0x4F,0x94,0x89,0xBE, -0x4D,0xCE,0x20,0x3F,0x33,0xF8,0x09,0x68,0x2F,0x6B,0x16,0xE7,0x4E,0xB5,0xA9,0xBF, -0xEF,0x87,0xCB,0x76,0xB7,0xAC,0x5D,0xB8,0x8A,0x9B,0x43,0xB2,0xF6,0x43,0xE7,0x07, -0x5F,0xC2,0x3E,0x33,0x97,0x43,0xB2,0x77,0x53,0x3C,0x3D,0xCC,0xAA,0xCD,0x35,0x5B, -0x80,0x29,0x0A,0xD8,0x6E,0xD2,0x23,0x1F,0xE2,0xDC,0x6C,0x9D,0xCC,0x4E,0xD0,0x3D, -0x12,0x65,0xD4,0x94,0xBC,0x4A,0xBB,0x55,0xF3,0xE8,0x49,0xB8,0xEF,0x38,0x85,0x1E, -0xD7,0x02,0x76,0xF3,0xD0,0xAA,0x5B,0xD9,0x26,0x97,0xE3,0x12,0x97,0x86,0x43,0x66, -0x63,0x67,0xA7,0x96,0xBB,0x78,0x89,0x60,0x71,0xE2,0xC1,0x30,0x71,0x8D,0xAE,0x80, -0xAD,0x9F,0x91,0x6E,0xA9,0xA0,0x51,0xAA,0xC6,0xD8,0x4C,0xBD,0x4A,0xA1,0xB9,0xBB, -0x1D,0xDA,0x64,0x2B,0x96,0xAD,0x5C,0x98,0x29,0xB1,0xCA,0x3B,0x65,0xC9,0xFE,0x94, -0xFF,0x83,0xDF,0x72,0x2E,0x09,0xF8,0x84,0x44,0xD2,0xC4,0x35,0xBC,0xFA,0x14,0x4D, -0x70,0x7C,0xAF,0x8D,0x69,0xE0,0x11,0x2A,0x5C,0x1A,0x14,0xE5,0x67,0xBA,0x8F,0x96, -0x33,0x73,0xE3,0x82,0x9C,0xA5,0x54,0x9A,0x03,0x7C,0x2D,0xDC,0x2A,0x45,0x3D,0xDB, -0x1B,0xF2,0x4A,0x03,0xC0,0x61,0x90,0x02,0x25,0x69,0x1E,0xEF,0x1A,0x31,0x79,0xEB, -0xE1,0x2F,0x6D,0xDE,0xFF,0x6C,0x9D,0x30,0x1F,0x7F,0x32,0xC3,0x73,0xFE,0xDF,0x82, -0xDA,0xB5,0xCC,0x44,0xAC,0x81,0x70,0x8E,0x6B,0x3B,0x02,0xF3,0xC0,0x50,0xC2,0x31, -0xA7,0x17,0x13,0xE6,0x1A,0xE2,0x13,0x5B,0xC2,0x13,0x83,0x72,0xD2,0x73,0xF3,0x23, -0x54,0x5D,0xAA,0xAC,0xDB,0x4C,0xBD,0x34,0x93,0xBC,0x7D,0x8C,0x40,0xD8,0xCA,0xB1, -0x23,0x77,0xF7,0x86,0x89,0x4F,0xBE,0x65,0xCF,0x24,0xB9,0x48,0xD3,0x52,0xD3,0x22, -0x91,0x3A,0x08,0xCB,0x51,0xDF,0x2E,0x2D,0x5B,0x2F,0x26,0xD7,0xC9,0x7B,0xE0,0x38, -0x56,0x55,0xA0,0xA4,0x87,0x88,0x79,0xAC,0x23,0xB3,0xC2,0x33,0x7E,0xC1,0xED,0x8F, -0x18,0xED,0x56,0x1C,0xCA,0x69,0x98,0x00,0x90,0x42,0x80,0x71,0xD7,0x46,0xC3,0x26, -0x73,0x63,0xB3,0x92,0x67,0x27,0xD6,0xE3,0x05,0xA6,0xF1,0x00,0xCF,0x1C,0x81,0x3E, -0xE9,0xAF,0xE5,0x5E,0xEE,0x49,0xB8,0x04,0x04,0x49,0x1F,0xEE,0x6F,0xB0,0x8D,0x9E, -0x37,0x53,0xC7,0xA2,0x2C,0x1A,0xEB,0x95,0x42,0x08,0x18,0xE9,0x0B,0x40,0x19,0xFA, -0x8B,0xB6,0x9E,0x47,0x83,0x47,0xB6,0x67,0x2D,0x7A,0x05,0xF4,0xDD,0x3F,0xB0,0x2C, -0xB4,0x0C,0x1B,0xFD,0x15,0xCB,0x3A,0x7D,0xD7,0xEC,0x69,0x98,0xA9,0x9F,0x64,0x58, -0x8A,0x7D,0xBB,0xBE,0x09,0x40,0x0C,0x05,0xD1,0x17,0xD4,0x8A,0xBD,0xB8,0xD8,0x2C, -0xD1,0xD0,0x4D,0x48,0x59,0x80,0x5C,0x95,0x2A,0x73,0x2F,0x15,0xD0,0xD5,0x03,0x9A, -0x3D,0x47,0x36,0x33,0xCC,0xF8,0xC9,0x78,0x9A,0x8F,0x9F,0x59,0x77,0x72,0xE9,0xD7, -0x72,0xFA,0xC4,0xC1,0x20,0x66,0x25,0x0A,0x00,0x2E,0x05,0x62,0x34,0x31,0x7B,0x06, -0xB4,0xA0,0x58,0x5D,0x07,0x23,0x02,0x68,0x5D,0x81,0x58,0x90,0xE0,0xE5,0x77,0xDE, -0x1B,0x52,0x05,0x00,0x19,0x00,0x1C,0x55,0x61,0xEB,0x64,0xC6,0x4D,0x48,0xE4,0xE0, -0xA1,0x5F,0xB2,0xB7,0x01,0x42,0x04,0x0F,0x86,0xC1,0x83,0x0B,0x82,0x87,0xE0,0x2B, -0xF8,0xE3,0x57,0x52,0xDA,0xD9,0xDF,0x4F,0xC1,0x47,0xC4,0xCA,0x7D,0x78,0x90,0xA4, -0x11,0x50,0x0D,0x08,0x5E,0xC1,0x5B,0xD3,0xD3,0x64,0xD6,0xFB,0xCC,0xC9,0x4D,0xC8, -0xC0,0xE4,0x68,0x6D,0x1D,0x10,0x18,0x41,0xA0,0x82,0xA5,0x6E,0xAE,0xAB,0xDA,0x3D, -0x24,0x60,0x08,0x0D,0xC5,0xDA,0xC0,0x53,0x12,0x0D,0x17,0x53,0xE5,0xE0,0x42,0xEE, -0xB0,0x6B,0x97,0x92,0xA5,0x5E,0xA0,0xB7,0x6C,0xD4,0x69,0xF4,0x43,0x46,0x89,0x83, -0x6E,0xF9,0xDB,0xDE,0x4A,0x91,0x4F,0x97,0xE9,0x69,0xEC,0xCC,0x3D,0x38,0x50,0x24, -0xE7,0x1E,0xB5,0xB0,0x74,0xB6,0x71,0x8E,0x13,0x2C,0x16,0x73,0xBF,0xBA,0xAB,0x5D, -0x32,0x61,0x1F,0x1A,0x25,0x56,0x20,0x3F,0x63,0x98,0x66,0xB7,0x88,0x8D,0x99,0x58, -0xDB,0xD2,0x45,0x40,0xDC,0xB8,0xD9,0x28,0xEB,0x1A,0xEE,0xBD,0x2B,0x2E,0x67,0x05, -0xF7,0xC5,0x7E,0x7B,0x99,0x08,0x9C,0xDD,0xA6,0xE5,0xA3,0x0F,0xF3,0xF6,0x75,0xCF, -0xE1,0xC4,0x69,0x6C,0xAF,0x2D,0xAA,0xCE,0xEA,0x3B,0xEF,0x9D,0x8C,0x89,0x8D,0x48, -0x59,0xD8,0xCD,0xC8,0x77,0xE7,0x72,0xDC,0x80,0xA6,0x85,0x6A,0x5F,0x5A,0xC7,0xD1, -0x52,0x35,0x2B,0x2E,0xB4,0x3E,0xB1,0xC6,0x18,0x74,0x1D,0x20,0x76,0x73,0xC8,0xF7, -0xBF,0x4D,0xBE,0xBB,0x5C,0xB0,0x59,0xA0,0xCF,0x2A,0xCA,0xA9,0x80,0x85,0x93,0x5A, -0x7C,0x33,0x03,0x06,0x16,0x43,0x13,0x19,0xF0,0x12,0xF5,0xAE,0x63,0x66,0xAD,0x87, -0xFE,0x39,0x8B,0x8E,0xEC,0xFC,0xE9,0x5C,0xC2,0x15,0xC7,0x9B,0xE4,0xE1,0x63,0xCE, -0xFF,0xD6,0x65,0x60,0x42,0x93,0x47,0x9D,0x67,0x8C,0x62,0xA7,0xDC,0xD9,0x1D,0x88, -0x7D,0xDC,0xED,0xE8,0x4E,0x81,0x4B,0x83,0x04,0x3A,0x01,0x72,0x11,0x14,0x6A,0x32, -0x91,0x4B,0x96,0x93,0x8E,0x09,0x8B,0xCB,0xB7,0x94,0xB2,0x6F,0x39,0x3C,0x44,0x34, -0xB3,0x95,0x6A,0x6F,0x34,0x36,0x31,0x4E,0x95,0xC3,0x90,0x1A,0xA9,0xAC,0x9C,0x7C, -0x5E,0xED,0xFF,0xFA,0xDD,0x98,0xD8,0x09,0x40,0xEE,0x45,0xE2,0x79,0x7C,0x84,0xB4, -0x29,0x57,0x32,0x37,0xE2,0x9F,0xE7,0x31,0xC8,0x6C,0xCD,0xE8,0xCF,0xCA,0x1F,0x99, -0x6B,0xDD,0xFA,0xFF,0x23,0x37,0x26,0x58,0x0A,0x57,0x0F,0x11,0x9D,0x98,0xFC,0x28, -0x88,0x6C,0xA8,0xAD,0x8C,0x78,0x89,0xB8,0xBF,0x9E,0xBA,0x6D,0x97,0x92,0x85,0x5B, -0xEA,0x29,0x8F,0x8A,0x0C,0x70,0x09,0x30,0x71,0xBB,0x74,0x86,0x38,0x3D,0x65,0x14, -0xFB,0x1D,0xAA,0xAF,0x5B,0xF1,0x5E,0xE6,0xE8,0x48,0xED,0xEC,0x35,0x30,0x5A,0x26, -0x7E,0x22,0x10,0x15,0xD7,0xEB,0xD2,0x70,0x84,0xB2,0x81,0x7A,0x41,0x44,0xFA,0xF2, -0x80,0x7F,0xB3,0xB6,0x55,0x92,0x50,0x8B,0xF2,0x61,0xF7,0xDF,0x87,0x82,0xD5,0x1B, -0xA2,0xA1,0x4F,0x4A,0x06,0x03,0x03,0x49,0xF5,0x27,0xF0,0x9E,0xE3,0xE6,0x25,0x8F, -0x33,0x8E,0xF1,0xF4,0x75,0x96,0x70,0xAF,0x6D,0xF5,0x68,0xD4,0x3F,0x3A,0x23,0x55, -0xD6,0xE5,0x7F,0x7A,0x3B,0x75,0x3E,0x02,0x1C,0x60,0x19,0x30,0x27,0x22,0x79,0x17, -0x6D,0x07,0x26,0x23,0xC3,0xBB,0xC6,0x34,0xCB,0x3E,0xCE,0xB9,0x21,0x24,0x1E,0x76, -0xC5,0xC0,0x49,0x4C,0x94,0x3A,0x91,0xE2,0x2F,0x46,0x2A,0x25,0x96,0x93,0xA4,0x7B, -0xCF,0xC2,0x41,0x44,0x50,0xA2,0x55,0xBE,0x90,0xF6,0x95,0x2A,0xA8,0xAD,0xBD,0x5C, -0x92,0xB5,0x6B,0x6E,0x53,0xF3,0x56,0xEC,0x54,0xAA,0x51,0xB2,0x3B,0x3E,0x37,0x45, -0xA9,0x4C,0xA9,0xAC,0x9D,0x18,0x98,0xC9,0xEF,0x0E,0xEA,0xAD,0x28,0x2D,0x35,0x54, -0x76,0x31,0x0B,0x0E,0xFE,0xCD,0xFB,0x7F,0x6E,0xA7,0x6B,0x85,0x3A,0x3F,0x16,0x65, -0x2F,0x8D,0xEE,0xEB,0x7D,0x94,0x78,0xA5,0xF3,0x40,0xF6,0xFF,0xF2,0xF7,0x54,0xEF, -0x08,0x77,0x33,0x36,0x70,0xA6,0x75,0x9A,0xDF,0x7A,0xDA,0xE9,0x9B,0x9E,0x9B,0x49, -0xCA,0xE6,0x60,0x65,0xFC,0xBC,0xF9,0x0C,0xF9,0x39,0xFC,0x8C,0x8F,0x8A,0xDF,0x19, -0x86,0xA5,0x6F,0x6A,0xB9,0x0C,0xBC,0xF9,0xC0,0x66,0xC5,0xEA,0xC2,0xC7,0x20,0xAB, -0x01,0x8B,0xC6,0xC3,0xB1,0x0E,0xB4,0xF3,0x27,0x4C,0x22,0x27,0x8D,0x88,0xAC,0x68, -0xBA,0x69,0x9F,0x9A,0x15,0x12,0x10,0x4B,0x29,0x21,0x2C,0x44,0x54,0x51,0x9F,0x82, -0xC2,0xF5,0x7B,0x7E,0x64,0xF6,0x61,0xDE,0x2C,0x14,0x29,0x74,0x99,0x9C,0xE8,0x38, -0xF4,0x3B,0x83,0x86,0xBC,0x3C,0xB9,0xCC,0xA1,0xA3,0xA4,0x4E,0xA2,0xA7,0xC4,0x2F, -0xB1,0x84,0x79,0x7C,0x56,0xC3,0x53,0xD9,0xA4,0x96,0xA1,0x7E,0x07,0x02,0x5D,0x13, -0x13,0x41,0x1E,0x1B,0xB6,0x4F,0xB3,0xB5,0x0E,0x43,0x0B,0x01,0x7F,0x7A,0xE3,0xD5, -0x5B,0xC9,0xDE,0xDB,0x5F,0xE1,0x5A,0xF2,0xD0,0x36,0xD5,0xAA,0x42,0x47,0xA8,0xA3, -0x6F,0x16,0x35,0x30,0xCE,0x89,0xCB,0x0B,0x81,0x87,0x84,0x4A,0x24,0x21,0x2B,0x46, -0x45,0xDB,0xD2,0xD7,0xE4,0xFE,0xE1,0x56,0xFB,0x4A,0xFE,0xFD,0xA6,0xA3,0xD0,0x3F, -0xAE,0x79,0x9B,0x9E,0xB0,0x2E,0xB5,0xD2,0xAE,0xEF,0xAB,0x0D,0x1E,0x1B,0x26,0x71, -0x10,0xBF,0xE3,0xE6,0xD6,0xCB,0xD3,0x51,0x1A,0x07,0x1F,0x51,0x46,0x43,0xBC,0xB3, -0x38,0x63,0x17,0x12,0xFD,0x9C,0xF8,0x2D,0x37,0x1C,0x32,0x67,0xA7,0xA2,0xF1,0x1F, -0x5F,0x02,0x11,0x14,0x0F,0x21,0x0A,0x62,0x4C,0xF0,0x49,0xF0,0x3C,0x39,0x71,0x04, -0x22,0xBA,0xD4,0xD1,0x91,0x0A,0x94,0xD7,0xD8,0x3C,0xDD,0xA8,0x2D,0x28,0x00,0x64, -0xB6,0xB1,0x4B,0x4E,0xF4,0xBE,0xF1,0x06,0xF8,0x18,0xFD,0xAC,0x73,0x76,0xFD,0xC7, -0xCD,0xD3,0x52,0x57,0x62,0x97,0x67,0xB9,0xE7,0x04,0xE2,0xAF,0xB8,0xBD,0xED,0x1C, -0x3F,0xEA,0x19,0x13,0x5C,0x10,0xE9,0x80,0x88,0x10,0xAD,0x54,0x45,0xEE,0x9E,0xBC, -0xA1,0x06,0x6B,0xFF,0x13,0xE2,0x1B,0x3D,0x1A,0xC1,0xEE,0x17,0xDF,0x4F,0xA5,0x26, -0x87,0x2F,0x64,0xD6,0xEB,0x9D,0x64,0xBA,0xB9,0xEB,0x67,0x9E,0x0E,0x76,0x4D,0xF7, -0x47,0x7F,0xF4,0x86,0xB0,0x6B,0x92,0x17,0x62,0x5D,0x0A,0xF3,0xF5,0x12,0xD2,0x0C, -0x85,0x27,0x6E,0xDE,0xC0,0x94,0x6D,0x98,0x81,0xEC,0x58,0xA1,0x59,0xA0,0xCC,0xA0, -0x1E,0xFC,0x2E,0x05,0x99,0x71,0x88,0x24,0xF1,0x63,0xA7,0x5E,0x1E,0x26,0x0D,0xE7, -0xE4,0x21,0x09,0xD8,0xD5,0x7E,0x87,0x67,0x16,0x19,0x3A,0xC3,0x82,0xE0,0x57,0x7B, -0xC7,0x3F,0x34,0xC6,0x7A,0x23,0xDA,0x95,0x85,0x27,0x97,0x6E,0xBE,0x8A,0x01,0x47, -0x1D,0xE3,0x32,0x1A,0x45,0x2E,0xD7,0xA7,0x23,0x29,0x3F,0xC6,0xCD,0x6C,0x94,0x34, -0x99,0x83,0xD6,0x7A,0xD1,0xB1,0x48,0xAC,0xE8,0x44,0x99,0x60,0xB3,0xB5,0x33,0x4A, -0x06,0x78,0xB2,0x81,0x70,0x2B,0xD2,0x97,0x2C,0x0F,0x16,0xEF,0x0C,0x05,0x3C,0xF5, -0xD7,0x3B,0x20,0xC2,0xA1,0x4E,0xB7,0x23,0xBB,0xFA,0x74,0x8D,0x7F,0xE3,0xA9,0x86, -0x91,0x03,0x5E,0xFA,0x53,0x39,0xC0,0xA6,0xF8,0x9F,0x52,0xAB,0xBC,0xF9,0x70,0x45, -0x7F,0xFA,0x49,0x03,0xBA,0x63,0x9A,0x15,0x06,0xC2,0xF1,0x08,0x34,0x7B,0x7A,0xCD, -0x56,0x6C,0xF6,0x95,0x0F,0xFD,0x04,0x3E,0x31,0xE3,0xE7,0x1E,0x36,0x08,0x0B,0xCF, -0x71,0x52,0xEF,0xAB,0x86,0x93,0x6A,0xD9,0xCA,0x9A,0x65,0x9C,0xCC,0x4D,0xB4,0x35, -0x20,0x51,0xBD,0xA8,0x38,0xEB,0x12,0x1F,0xA6,0x16,0x85,0x7C,0x5F,0xC7,0xAD,0xA6, -0xF9,0x92,0xA7,0x6B,0x33,0x0D,0xF4,0xF2,0xA9,0x30,0xAC,0x55,0xC7,0x15,0xE7,0x3E, -0xCF,0xBF,0xBC,0x46,0x96,0x58,0xA1,0x02,0x14,0x08,0x29,0xD0,0x79,0x84,0xC8,0x80, -0xEA,0x89,0xAF,0x70,0x80,0x4F,0xB6,0x03,0xEC,0x8F,0x56,0xAF,0x35,0x5A,0x5A,0xCC, -0x3B,0xCA,0x3D,0x33,0x9F,0xAD,0x54,0xFE,0x02,0x09,0x3E,0xC7,0x1D,0x74,0x5C,0xE4, -0x54,0x64,0xFC,0x9D,0x9E,0x43,0xBA,0x11,0x7C,0x4F,0x06,0xFF,0xB8,0xED,0x60,0x41, -0x77,0x7A,0xC1,0x83,0xDE,0x98,0x61,0x8A,0xF2,0x9D,0x5A,0xA3,0x10,0x4B,0x6E,0xE9, -0x84,0x30,0x78,0xC9,0x1D,0x25,0xDC,0xF4,0xCC,0x40,0xB9,0x40,0x2F,0x73,0x69,0xD6, -0xF1,0x12,0x2F,0xEB,0xD2,0x4C,0xB5,0x52,0xFD,0xBB,0x73,0x8A,0x4A,0xA2,0xDD,0xB3, -0x5F,0xFB,0x68,0x02,0x3F,0xD9,0x20,0x2A,0xE5,0x73,0xA3,0x5A,0x9F,0x8F,0x25,0x66, -0x46,0x68,0xE2,0x91,0x1C,0xCB,0x32,0x1B,0x0B,0xF5,0xCB,0x32,0xDB,0x5B,0xB5,0x22, -0xCE,0xA8,0xAA,0x51,0xF0,0xB0,0x49,0x8C,0x25,0xF3,0xE3,0x1A,0x68,0xF5,0xA8,0x91, -0xBF,0xAA,0xD9,0x53,0xE9,0x8E,0x77,0xAB,0xE4,0x9C,0x4D,0xB4,0x60,0xFF,0xAA,0x99, -0xB7,0x2A,0x51,0xD3,0x8B,0xA9,0x50,0xEE,0x04,0xD3,0xE2,0x1B,0xAE,0xDA,0x41,0x57, -0x58,0xC4,0x50,0x3D,0x48,0x14,0xED,0x90,0x7E,0x5E,0x15,0xEC,0x17,0x0D,0x2F,0xEE, -0xF0,0x05,0x39,0xFC,0x0A,0xDC,0x25,0x1A,0x9D,0xEF,0x47,0xBE,0xD5,0x36,0xD6,0x2C, -0x55,0x73,0xEA,0x8A,0xE1,0x95,0x6C,0xB8,0xB4,0xDC,0x5D,0xA4,0x2D,0x00,0x18,0xD4, -0xC4,0x20,0x28,0xD9,0xC3,0x69,0x90,0x66,0x44,0x48,0x39,0xC0,0x2A,0x46,0x59,0xD3, -0x36,0x7D,0x87,0x84,0x9A,0x8C,0x75,0xDA,0x3B,0xE1,0xEF,0x16,0x37,0x29,0x2B,0xCE, -0x2C,0xF1,0x11,0x08,0x1F,0x36,0xCF,0xE5,0x9B,0x35,0x9B,0x62,0x5B,0xD3,0xBD,0xA2, -0x7C,0xE5,0x55,0x1C,0x0C,0x00,0xF9,0xC0,0x7F,0xB1,0xFB,0x02,0x14,0x5F,0x7E,0xED, -0xFD,0xB2,0x83,0x4B,0xA4,0x6F,0x96,0x07,0xC5,0xBC,0x4C,0xB5,0xF0,0x27,0xE2,0x09, -0x51,0x53,0xCE,0xAA,0x52,0xD7,0x2E,0x49,0x42,0x92,0xE5,0x1C,0xB2,0x94,0x13,0x4B, -0xB2,0x1D,0x63,0xE4,0xB7,0x59,0xA0,0x22,0x18,0xD0,0xFD,0x04,0xC3,0x01,0xF7,0x3A, -0xDF,0xBB,0xA8,0x42,0xC8,0x8F,0x76,0x8B,0x54,0x93,0xF2,0x0B,0x30,0x6F,0x6A,0xC9, -0x0A,0xD8,0x1E,0x21,0x17,0x2D,0xD4,0xF6,0x77,0xA2,0xE0,0x19,0xB1,0xC6,0x42,0x48, -0x65,0x76,0xDF,0x8F,0xAE,0x67,0x9E,0x05,0xDC,0x9B,0x72,0x8B,0x4F,0x97,0xED,0xB6, -0x34,0x75,0x8D,0x8C,0xF3,0x4D,0xB4,0x72,0x56,0x82,0xE1,0x18,0x8B,0xCB,0x75,0x72, -0x7B,0xDA,0x6D,0x23,0xAB,0x46,0xBF,0x21,0xBE,0xDE,0x55,0xAC,0x26,0x58,0x4B,0xDF, -0xCB,0x9F,0x98,0x66,0xE7,0x49,0xB0,0x62,0x41,0x6C,0x18,0xE1,0x1F,0x07,0x2D,0xE6, -0x53,0x5B,0xC4,0xA2,0x4E,0xC8,0x31,0x4A,0x35,0x28,0x28,0xD1,0x2C,0x21,0x38,0xD5, -0x61,0x56,0xFB,0xAF,0x69,0x15,0xEC,0xB0,0xFA,0x8E,0x41,0xB8,0x00,0x1B,0x2E,0xF9, -0x31,0x42,0xBF,0xBB,0xA3,0x5D,0xA4,0x32,0x89,0xFF,0x43,0xBA,0xF3,0x75,0xB3,0x0A, -0xFB,0x9A,0xAD,0x63,0x95,0xA5,0x5C,0xFC,0xA5,0xE8,0x78,0x81,0x7E,0xC2,0x89,0x87, -0xC9,0x97,0x92,0x6E,0x60,0xE0,0x19,0x4C,0xCD,0xAF,0x57,0xAE,0xF8,0x2D,0xE0,0x01, -0xD5,0x33,0x2A,0xCA,0xDB,0xB9,0x40,0xAE,0xFE,0x45,0x8E,0x77,0xF6,0x40,0x83,0x0F, -0x26,0x79,0x93,0x80,0x3A,0xF8,0x01,0x0E,0xC9,0x64,0x98,0x61,0x0F,0x57,0x6D,0xF6, -0x4E,0xE8,0x6A,0x11,0x0E,0x13,0xEA,0xD1,0x4A,0x81,0xFE,0x07,0x5E,0xE6,0x8D,0xA7, -0x04,0x70,0xB8,0x89,0xD0,0x5F,0xA6,0x43,0x3C,0xD4,0xDD,0x24,0x7B,0xF7,0xB9,0x82, -0x88,0x90,0xD4,0x69,0x72,0x38,0xC1,0x86,0x82,0x12,0xA5,0x5C,0xD1,0x22,0xC6,0x28, -0x0C,0xF0,0x30,0x09,0x71,0xC5,0x3C,0x78,0xDD,0x74,0x9C,0x65,0xC5,0x66,0x96,0x3C, -0x5B,0xDB,0x4C,0x22,0x59,0x31,0xC8,0xA4,0x90,0xD8,0x7D,0x84,0xE8,0x7D,0xA0,0x11, -0x39,0xC2,0x37,0x3B,0x24,0xF4,0x0D,0x1C,0xB1,0xF8,0x7C,0x85,0x24,0x2B,0x3A,0xDD, -0xE9,0x96,0xB3,0x6F,0xCF,0xBD,0x44,0xBE,0x47,0xB6,0xC4,0x3D,0x71,0x8E,0xCA,0x88, -0x79,0xD2,0x67,0x2B,0xD7,0x6D,0x94,0x76,0x9C,0x00,0xA9,0x50,0x27,0x79,0x6B,0xDE, -0x50,0x44,0xD8,0xBD,0xAC,0x74,0x8D,0x14,0x8C,0xDB,0x62,0x9B,0x38,0x65,0x68,0xC1, -0xE6,0x29,0x03,0xD0,0x3E,0x37,0xCE,0xC5,0x10,0xC3,0xE6,0x1F,0x93,0x91,0x37,0x6A, -0xCD,0xB7,0xB6,0x4E,0x43,0xF2,0x0B,0x7D,0x61,0xA3,0xF7,0x0E,0x07,0x5D,0x6F,0xFE, -0xCF,0xDC,0xC4,0xDD,0x30,0xA9,0x5C,0xBA,0xE9,0x79,0x46,0x6A,0x1E,0xBA,0x72,0x61, -0x8C,0x9F,0x15,0x4F,0x84,0xCC,0x8D,0xDF,0x1C,0x1B,0xD1,0x08,0xF8,0x2F,0x01,0x12, -0x77,0x64,0x8A,0x2B,0xBF,0x56,0x2C,0x45,0x57,0x94,0x15,0x87,0x48,0x20,0xBE,0xAD, -0x17,0x04,0x0E,0xCF,0xB4,0xC9,0xB8,0xDA,0x3A,0x32,0xDE,0x21,0x91,0x87,0xC0,0xD3, -0xA6,0xB5,0x62,0x12,0xCA,0x74,0x7B,0x67,0x89,0x68,0x37,0x7B,0xB0,0xA7,0xC1,0xD2, -0x98,0x8B,0x45,0x0B,0x2D,0x1A,0xF2,0x09,0xF0,0xEA,0xCC,0xF9,0xF5,0x18,0x3B,0x28, -0x0E,0x1D,0x6C,0xB4,0x06,0x84,0x47,0x97,0xD1,0xFC,0xFB,0xEF,0x86,0x69,0x39,0x2A, -0xF7,0xE4,0x82,0xA3,0xB5,0xDE,0xAE,0xCD,0x8C,0x5F,0x05,0x4C,0x04,0x63,0xB1,0xA2, -0x8B,0x98,0x54,0x09,0x04,0x8C,0x4D,0x9F,0x4E,0x07,0x9F,0x14,0xEF,0xC1,0xF8,0xEB, -0xDB,0xC8,0x94,0x99,0xA9,0x7A,0x16,0x69,0xF8,0x6A,0x44,0x79,0x8B,0x5E,0x03,0x10, -0xF2,0xE1,0xB2,0x96,0x2E,0x05,0xEE,0x16,0xD2,0xE3,0xE7,0xF0,0xB2,0xB6,0xD2,0xC1, -0x1E,0x0D,0x2C,0xE4,0x93,0xF7,0xA1,0xE4,0x03,0xA0,0x75,0xB3,0x13,0x8D,0x48,0x5B, -0xCB,0xD8,0xD4,0xC9,0x86,0xC4,0x87,0xD7,0x34,0x9A,0x78,0x89,0x77,0x12,0xB3,0xA0, -0xD5,0xC6,0xF7,0xF4,0x74,0x99,0x28,0x8A,0x0A,0x37,0xEB,0x24,0x1D,0x44,0x8F,0x9C, -0x08,0x1B,0x0D,0xD3,0x37,0x96,0x64,0x85,0x70,0xAA,0x0C,0xB9,0xDB,0x1E,0x13,0x00, -0xD3,0xC0,0x96,0x93,0x8B,0x73,0x3D,0x60,0xFF,0x55,0x7C,0x46,0x5D,0xDF,0x54,0x47, -0x5C,0x4F,0xDD,0x57,0x9F,0x57,0x0D,0x44,0xE0,0xEE,0xD8,0xFD,0x08,0xBB,0x65,0x76, -0x9C,0x8F,0x55,0x1F,0x08,0x2C,0xE1,0x3F,0xE6,0xC6,0xF6,0xD5,0xA6,0xA6,0xD6,0xC5, -0x0F,0x1C,0x4C,0x95,0x39,0x3E,0xC2,0x2D,0x60,0xAE,0x18,0xBD,0x72,0x36,0x92,0x81, -0xE6,0xF5,0xE2,0xD2,0x41,0xAB,0x2F,0xB8,0xA8,0x7E,0x00,0x6D,0x5F,0xCE,0x47,0x54, -0xF1,0xE2,0xE3,0xC4,0x09,0x3B,0xF7,0x28,0xFC,0x4A,0x60,0x59,0xCB,0xC5,0xD8,0xCB, -0x30,0x23,0x4B,0xAD,0x83,0xF3,0xB5,0xE0,0x4D,0x18,0x83,0x0B,0xF0,0x3C,0x1A,0x09, -0xDE,0xCD,0xA4,0xAC,0xFD,0x4E,0x76,0x5D,0xC0,0xEF,0xF9,0xFC,0x27,0x52,0xA3,0xB0, -0x5E,0x4D,0xAC,0x24,0xB8,0x69,0x14,0x7A,0x8F,0x40,0x19,0x53,0x02,0xB9,0x6D,0x7E, -0x7D,0x6E,0xF9,0x52,0x10,0xA8,0x7D,0xBB,0x9C,0x5B,0x11,0x48,0xA7,0x49,0x38,0x2B, -0x4B,0x58,0xDC,0x41,0x11,0xBF,0x6B,0xAC,0x1B,0x24,0xE9,0x37,0x79,0xDB,0x74,0x67, -0x66,0x75,0xEA,0x5A,0xE1,0xEA,0xCE,0xF9,0x23,0xA1,0x54,0xB2,0xE8,0xF4,0xCA,0xD9, -0xA5,0xB6,0x33,0x40,0x0C,0x0C,0xC5,0x1F,0x05,0x88,0x5B,0x9B,0x3A,0xBE,0x52,0x41, -0xC4,0xD7,0x97,0x85,0xE7,0xC2,0xE0,0xD1,0x53,0xB4,0x31,0xA7,0x8E,0x7A,0x22,0x31, -0x8E,0x9D,0x64,0x3C,0x99,0x7F,0x23,0x6C,0x8E,0x57,0x0F,0x44,0xB6,0x7D,0x1D,0x0E, -0x90,0x83,0x47,0x01,0x02,0xA4,0x63,0xB7,0x5C,0x0B,0x81,0x18,0x10,0x73,0xB5,0xA6, -0x3E,0x2D,0x28,0xC0,0xED,0x4A,0x62,0x59,0x1A,0x33,0xFF,0x20,0x89,0x4F,0x10,0x03, -0x81,0x92,0x27,0x70,0x61,0xAA,0x0E,0xB9,0x91,0xEC,0xAB,0xFF,0x36,0x66,0x86,0x95, -0x82,0x91,0x76,0x22,0x16,0x80,0x53,0x93,0x88,0x7F,0x21,0x6C,0x6A,0xFE,0x42,0x51, -0x2C,0x3F,0x19,0xE3,0xE5,0xCA,0xEA,0xD9,0xB1,0xED,0x8A,0xFE,0x3B,0x51,0xBC,0xAF, -0x4F,0x5C,0xCC,0x55,0x98,0x68,0x35,0x7B,0x80,0xFF,0xA9,0xEC,0x92,0x79,0x3D,0x2E, -0xA2,0xB1,0x72,0x06,0xA3,0xF2,0x94,0xE1,0x9D,0x4C,0x07,0x5F,0xE6,0x3D,0x0D,0x1E, -0xAF,0xBC,0x40,0x39,0x59,0x2F,0xB3,0x3C,0x3B,0x25,0xC8,0x36,0xDC,0x2B,0x21,0x32, -0x6B,0x78,0xD8,0x65,0x71,0xAE,0x1A,0xBD,0x7F,0x15,0xBC,0x06,0xFA,0x3E,0x12,0x01, -0x2E,0x3D,0x68,0x90,0x32,0xA1,0x56,0xB2,0xCD,0x58,0x43,0x4B,0xA5,0x58,0x2B,0x38, -0x05,0x16,0x3F,0xEC,0xF6,0xD1,0xE2,0xC2,0x26,0x96,0x66,0x85,0x2E,0xAE,0x56,0x45, -0x89,0x9A,0x25,0x7A,0xC9,0x6B,0x67,0x78,0xF2,0xE2,0xC6,0xF1,0xD4,0x38,0x3A,0x29, -0xD4,0xC7,0xD7,0xD5,0x75,0x8E,0x3E,0x9D,0x5B,0x34,0xB9,0x27,0xBB,0x4A,0x27,0x34, -0x87,0x94,0x46,0x17,0xAB,0x72,0x1C,0x61,0xCF,0x50,0x49,0x43,0xFD,0x0B,0x20,0x33, -0xE9,0xFA,0xA1,0x9E,0x31,0xBE,0x4A,0xAD,0xC3,0xF0,0xE5,0xE3,0xFC,0xE4,0xCE,0xDD, -0xA7,0xB4,0x42,0x33,0x5A,0x30,0xAF,0x23,0x81,0xE8,0xBF,0xFB,0x69,0x00,0xBF,0xAC, -0x46,0x55,0xEE,0x7E,0x14,0x88,0x59,0x9B,0xAF,0x41,0x38,0x52,0xDA,0xF1,0xFD,0xEE, -0x11,0x02,0x6F,0xA8,0xD3,0xE7,0xF1,0xF4,0xA2,0xF6,0x82,0xE5,0xA2,0x6D,0x19,0x0A, -0x62,0x71,0xFA,0x4E,0xAD,0x5A,0x32,0x49,0xA5,0xC9,0xBA,0xDA,0x73,0xD9,0x7C,0x6F, -0x36,0x25,0x2A,0xCA,0x0F,0x13,0xD9,0x00,0xEB,0x71,0x4C,0x62,0xD6,0x29,0x29,0x3A, -0x2F,0x3C,0x48,0xB1,0xB7,0xD6,0xA4,0xC5,0xCB,0x70,0x6D,0x63,0x80,0xB3,0xE5,0xF6, -0x04,0x17,0x1F,0xCD,0x6B,0x22,0x8C,0x31,0x67,0x91,0x20,0x82,0x9B,0x85,0xC8,0xDB, -0x43,0x50,0xDE,0x4B,0x6E,0x15,0xBE,0x06,0xB0,0xFA,0x9C,0xE9,0xA0,0x7C,0x0A,0x19, -0xDD,0xCE,0xF5,0xFE,0xD6,0xD0,0xC3,0xC3,0xD0,0xEB,0xED,0xF8,0x6C,0x24,0x9E,0x8D, -0xB0,0xA3,0x43,0x25,0x07,0x93,0x51,0x80,0xC8,0x6F,0x71,0x7C,0x98,0x7B,0x35,0x26, -0x26,0x35,0x6A,0x9A,0x65,0x8A,0x2A,0x99,0x13,0xA4,0x61,0xB7,0x84,0x78,0x2A,0x39, -0xC7,0xD4,0xC6,0xD7,0xBD,0x5E,0x26,0x4D,0x56,0x83,0x03,0x90,0xBD,0x90,0xFB,0xE8, -0x63,0x70,0xDA,0x6F,0x5F,0x07,0x9D,0x14,0xBC,0x5A,0x30,0x49,0xD0,0xF3,0xF5,0xE6, -0x6E,0x7D,0xE8,0x50,0xEF,0x42,0x68,0x51,0xFB,0x75,0x58,0x66,0x3F,0x9A,0x73,0x60, -0xB6,0xA5,0x22,0x42,0x21,0xBA,0x5E,0xA9,0xEC,0x4E,0x74,0x5D,0x88,0xA0,0xFE,0xED, -0x64,0x77,0x9B,0x29,0x95,0xDF,0x8F,0xCC,0x01,0xA8,0x7F,0xBB,0xDF,0xD5,0xDC,0xCF, -0x84,0x97,0x17,0x45,0x50,0xB8,0x2D,0xAB,0xC7,0xD0,0xC1,0xC3,0x0A,0xAA,0x76,0x65, -0x1C,0x0F,0x5D,0x97,0xC2,0xF4,0xF3,0xE7,0x92,0xF3,0xB7,0xE0,0x1B,0x9E,0x53,0x40, -0x8D,0x9E,0x35,0x6E,0x1D,0x1F,0xC7,0x0C,0x77,0x95,0x34,0x86,0xAA,0x7E,0x02,0x11, -0xAA,0x46,0xC0,0x4D,0xB0,0x53,0x28,0xBF,0x5D,0x59,0x23,0xB5,0x9C,0x74,0xCF,0x23, -0x17,0xFB,0xBE,0x8E,0x43,0x19,0x91,0xF5,0x5A,0x66,0x1B,0x8A,0xA2,0xA9,0x2C,0xC0, -0xCC,0x20,0x25,0xCE,0x60,0x07,0xAC,0xEB,0x54,0xCE,0xBD,0x22,0x2C,0x7B,0x70,0x9C, -0x22,0xCE,0xCA,0xCF,0x0F,0xA9,0x6D,0x45,0x68,0x6B,0x24,0x87,0x52,0x3D,0x48,0xA4, -0xC0,0x2C,0x37,0xD0,0xDE,0xEA,0xFF,0x06,0x6E,0x43,0x0A,0xAF,0xBC,0xBB,0x20,0xCC, -0xD7,0x3B,0x36,0xC6,0xFB,0xDC,0xEC,0x30,0xFC,0x0F,0xD4,0xE3,0x44,0x3C,0x5F,0xB3, -0x82,0x6E,0xC6,0x63,0xCD,0xF1,0xF7,0x1D,0xD3,0xB1,0x45,0x5D,0xF9,0x04,0xDA,0x36, -0x64,0x88,0x2B,0x68,0x14,0x32,0xED,0xDE,0x99,0x29,0x97,0xC5,0xF6,0x22,0xF3,0x1F, -0x53,0xBF,0x2E,0x5A,0xC4,0x66,0x69,0x8A,0xE2,0xA3,0x66,0x4F,0xCD,0xDB,0x31,0xDD, -0x9B,0x77,0xA4,0x18,0x6C,0xA7,0x00,0x4B,0x1B,0x61,0x5D,0x8D,0x2E,0x6A,0x63,0x8F, -0x26,0xCA,0xDA,0xDB,0x83,0x49,0x01,0xA5,0x75,0xD8,0x8A,0x34,0x54,0xE7,0x94,0x78, -0x01,0xED,0x9F,0xB9,0x8B,0xC9,0x89,0x25,0x9E,0x16,0xAF,0xFA,0xB4,0xA8,0x3B,0xD7, -0x3F,0xD3,0xB8,0xA0,0xFA,0xCB,0xFA,0x27,0x9C,0x1E,0xA5,0xF2,0x75,0xC7,0x95,0x79, -0x44,0xA8,0x2F,0x4C,0x72,0x0B,0xB2,0xE7,0x81,0xAD,0x0B,0x41,0x5B,0xC1,0xBD,0x51, -0x56,0xBA,0x1E,0x6F,0x6B,0x98,0x38,0x74,0x11,0xE9,0xDF,0x05,0xB5,0x47,0xD5,0x39, -0xC3,0x2F,0x66,0x82,0xC5,0x71,0x7F,0x9D,0xE9,0x3C,0xF2,0xD0,0xAD,0x8F,0x05,0xE9, -0xAC,0x40,0xA1,0x2A,0xF3,0x5C,0x64,0xB0,0x35,0xC8,0xDA,0x24,0xD5,0x13,0xE1,0x0D, -0xF1,0x1D,0x53,0x85,0xD0,0x42,0x59,0xAE,0x63,0xF4,0xB0,0x18,0x46,0x2D,0x4C,0xA0, -0xFE,0x12,0x10,0xC9,0x2A,0x9F,0x7E,0x73,0x39,0x68,0x76,0x84,0xA1,0x57,0xD1,0x3D, -0x1B,0xF7,0xAC,0x90,0xB1,0x44,0x3E,0xA8,0xF8,0x2F,0xF0,0xC3,0xD1,0xD8,0x2E,0xC2, -0xE4,0x08,0x23,0xE0,0x73,0x1C,0xA4,0xF0,0xE6,0x83,0x42,0x6F,0x32,0x69,0x7C,0x90, -0x12,0xFE,0x8E,0xBB,0xB3,0x4C,0x34,0xA0,0x79,0x78,0x26,0x94,0xE9,0xDF,0x11,0xFD, -0x6D,0x81,0x09,0x43,0x95,0x65,0x3B,0x89,0x91,0xA9,0x1F,0x45,0x4A,0xF5,0x98,0x74, -0x9F,0x73,0xB4,0x0C,0x0B,0x89,0x49,0x65,0xAA,0x33,0xBE,0xDF,0xD8,0x24,0xDB,0x37, -0x1C,0xF0,0xED,0xD6,0x45,0x31,0xBF,0xDD,0x80,0xBA,0x1D,0x56,0x9A,0xAE,0x13,0xFF, -0x72,0x9E,0x0A,0x5F,0x62,0x0F,0xA6,0xE3,0x3F,0x40,0x58,0xAC,0x61,0xD7,0x91,0x7D, -0xEC,0x00,0x21,0xEA,0x4B,0x99,0x19,0x75,0x4E,0x42,0x2B,0xAE,0x56,0xF6,0x87,0x6B, -0xB6,0x5A,0x92,0x03,0xA5,0x60,0x0E,0x8C,0x44,0xCA,0xA9,0x26,0xA8,0xAB,0x24,0xC8, -0xC1,0x2D,0x17,0xF1,0xE3,0x58,0x70,0xB4,0x9D,0x09,0xB3,0xE5,0xEB,0xCE,0x02,0xEE, -0xA4,0x48,0xA3,0x20,0x32,0x1B,0xE2,0xF7,0x08,0x7A,0x55,0x96,0x7C,0x3B,0x60,0x8C, -0x3E,0xD2,0x98,0x81,0xAD,0xE0,0x86,0x0C,0x07,0xC5,0xE5,0x29,0xB8,0x70,0xEF,0x03, -0xA1,0x4D,0x93,0x15,0x29,0x80,0x62,0x6C,0xA0,0xBB,0x3C,0x57,0x73,0x1D,0x49,0xA5, -0xB7,0x5B,0xB2,0x22,0xBC,0xF3,0x84,0x1F,0xF2,0xA7,0x72,0x4B,0xD2,0x26,0xD3,0x3F, -0xD0,0x3C,0x77,0x80,0x30,0x13,0xE8,0xFF,0x8D,0x0D,0xA7,0xE1,0x6C,0xE0,0xAB,0x47, -0x9C,0x70,0xE5,0x5E,0x7A,0x8B,0x3A,0x67,0xB9,0x28,0xB6,0xC4,0x1A,0xB5,0x88,0x64, -0x77,0x9B,0x3A,0x6A,0x12,0x1A,0xC3,0xF6,0x59,0x79,0x07,0x95,0x99,0x50,0xEE,0x02, -0x36,0xDA,0x9A,0x8B,0xE1,0x50,0x7A,0xBC,0xB7,0x80,0x10,0x6C,0xAE,0x71,0xF8,0x14, -0x6F,0x83,0x78,0x30,0xFD,0xF4,0xC2,0x18,0xD4,0x8E,0x7D,0x62,0x9D,0x9B,0x21,0xCD, -0x2A,0xC6,0xC8,0xC5,0xCF,0xF9,0xFD,0x15,0xBD,0x08,0x92,0xE4,0xF5,0xDC,0x0E,0xE2, -0xD2,0x3E,0x06,0xF3,0x05,0x21,0xEF,0xCD,0x87,0x85,0x25,0x69,0xD9,0xCB,0x35,0xD9, -0x7D,0x91,0x49,0x13,0xF9,0xD4,0xE6,0x38,0x5B,0x71,0x0D,0x9D,0x31,0x97,0x81,0x6D, -0xB8,0x54,0xF1,0x6E,0xD2,0x4A,0x53,0xA6,0x03,0xE5,0xC1,0x09,0x40,0xF7,0x90,0x7C, -0xFB,0x17,0x20,0xFC,0x64,0x27,0x88,0xCB,0x5C,0x4E,0x35,0xA2,0xDC,0xEF,0x14,0xF8, -0xE2,0x0E,0x42,0x87,0x4D,0xB1,0x37,0x5D,0x5F,0x51,0x29,0xBD,0xCC,0x34,0xDF,0x33, -0x32,0xDE,0x8A,0x9F,0xDD,0xF5,0xE3,0x19,0xFE,0x07,0xDE,0xEB,0x17,0x82,0xB2,0x5E, -0x7B,0x97,0x28,0x74,0x0D,0xA1,0x67,0x4D,0x0E,0x52,0x7B,0xBE,0xE1,0xCC,0x0A,0xE6, -0xBE,0x52,0x90,0x09,0x6F,0xB8,0x1C,0x54,0x94,0x9E,0x2D,0x72,0xC0,0xEC,0x0B,0xE7, -0x4A,0xA6,0x4C,0x21,0x38,0x93,0x60,0x7F,0xA2,0xB3,0x36,0x5F,0x8D,0x40,0xEA,0x06, -0xD6,0x3A,0x16,0xE7,0x86,0x7E,0x33,0x92,0xC3,0xB5,0x51,0x59,0x48,0xE4,0x8B,0x67, -0x58,0xB4,0x7D,0x02,0x65,0x30,0x9E,0xDC,0x27,0xC4,0xC4,0x28,0x12,0xA6,0x93,0x7F, -0xE0,0x0C,0x33,0xF4,0xC9,0xD1,0xD3,0x3D,0xD6,0x86,0x77,0x6A,0x95,0x88,0x3A,0xD6, -0x8F,0x63,0xF4,0x5C,0x48,0x86,0x05,0x6A,0x4A,0x62,0x0F,0x8E,0x2F,0x85,0x8D,0x61, -0xB9,0x55,0xD1,0x4F,0x18,0x92,0x41,0x7E,0x89,0x2D,0x83,0xC1,0xCB,0x01,0xED,0x01, -0x03,0xEF,0xEE,0xCA,0x02,0x1E,0xD7,0xF2,0x1F,0x41,0x79,0xAD,0x6B,0xD5,0x99,0x75, -0xE6,0x0A,0x52,0x93,0xF0,0x43,0x78,0xAF,0x6D,0x5C,0x16,0xB0,0x14,0x7C,0x4F,0xA3, -0x1A,0xF6,0x8C,0xB1,0x61,0x10,0xBA,0xFC,0x2C,0x5B,0x50,0xB7,0xE4,0xE8,0x2B,0xC7, -0x9A,0x76,0x84,0x39,0x55,0x35,0xAB,0xD9,0x1A,0x76,0x4B,0x9A,0xAA,0xBA,0x37,0xDB, -0x47,0xAB,0x7E,0x1E,0x67,0x38,0x94,0xD4,0x0C,0x5A,0x71,0xB6,0x65,0x1C,0x5E,0xB2, -0xC6,0x2A,0x56,0xB7,0xFF,0xFC,0xC8,0x10,0x19,0x69,0x57,0x85,0x11,0x58,0x6E,0x82, -0xC9,0x25,0x15,0xFB,0x4F,0xB9,0x3D,0x55,0x7F,0x50,0x08,0xBC,0xEE,0xEA,0x23,0xCF, -0xC2,0x2E,0x46,0xA3,0x00,0x16,0xDD,0xFA,0x41,0xFD,0x9B,0x11,0x06,0xB6,0x97,0x7B, -0xE8,0x04,0x31,0xFE,0x51,0x15,0x8F,0xF9,0xD9,0x39,0xC7,0xD5,0x8C,0xAF,0x04,0xE8, -0xA2,0x4E,0xC2,0x47,0x3E,0xBB,0x4E,0x57,0x76,0xC7,0x96,0x2B,0x27,0x96,0x96,0x7A, -0x00,0xEC,0xBF,0x98,0xEB,0xD8,0xF8,0x34,0x5E,0x46,0x3F,0xAA,0x04,0xA7,0x84,0x68, -0xBE,0x9F,0x07,0x6E,0x5E,0x7A,0x8B,0x02,0x2D,0x73,0x89,0x78,0x66,0x0D,0xBC,0x97, -0x3F,0xC8,0xD1,0x39,0xF6,0x15,0xE4,0xC5,0x97,0x7E,0x3E,0xCF,0x82,0x75,0x20,0x73, -0x93,0x29,0x9C,0xD8,0x00,0xAD,0x5C,0x8B,0x10,0x50,0x97,0x66,0xC0,0xC6,0xD1,0x31, -0x70,0x67,0x31,0x96,0xE5,0x23,0xD2,0xE0,0x4A,0x12,0x8F,0x7E,0xB1,0x53,0x35,0x40, -0x97,0x09,0xB8,0xF8,0xB3,0xEF,0x1E,0x7A,0xE6,0x1E,0x2F,0xDE,0x5F,0x52,0xDA,0xAE, -0x06,0x5A,0x7A,0xAB,0x91,0x13,0xE2,0xA4,0x16,0x8A,0x4B,0xBA,0x58,0x14,0x9B,0xA9, -0xF4,0x07,0xD5,0xF6,0xC8,0xF6,0x07,0x18,0x69,0x23,0x9D,0x6C,0x45,0x7B,0xE9,0xB4, -0xEE,0x8B,0x43,0x7A,0x4D,0x4C,0xBD,0x27,0xC9,0xF7,0xE9,0x18,0x29,0x81,0x7F,0xD8, -0xB9,0xA0,0x3F,0x51,0xF9,0x3C,0xCD,0xE3,0xEC,0x1C,0x27,0xD6,0x54,0x0A,0x89,0xA5, -0x09,0xE5,0xCA,0x14,0xB5,0x33,0xC2,0xA0,0x13,0xAE,0x6A,0x9B,0x6D,0x55,0xEF,0x9C, -0x91,0x21,0x96,0xD0,0x1C,0xB2,0x43,0x88,0x67,0xEA,0x5A,0xAB,0x5E,0x73,0xFA,0xAF, -0xA3,0x2C,0xA9,0xDD,0x3B,0x6F,0x9E,0x72,0xA8,0x4C,0x33,0xC2,0x72,0x49,0xEC,0x83, -0x1D,0xC1,0xFA,0x30,0x9A,0xF5,0x04,0x49,0x06,0x51,0x80,0x71,0x42,0x3D,0xA8,0xB3, -0xC8,0xA2,0x4C,0x53,0x45,0x57,0xA6,0x34,0x25,0x60,0x92,0x63,0xC3,0x94,0x80,0x32, -0xA7,0x0C,0x8D,0xFD,0xFC,0x1D,0xEC,0xC7,0x8E,0x59,0x00,0xF1,0x3D,0xC5,0x2F,0xCC, -0xF6,0x0F,0xDF,0xFE,0xA1,0x37,0xC6,0xB0,0x04,0x40,0x93,0x62,0xF9,0x99,0xB7,0x08, -0xE4,0x03,0xC1,0xF2,0x68,0x82,0x73,0xCC,0x9B,0xA6,0xEA,0x1B,0x7D,0x05,0xAF,0x8C, -0x8C,0x92,0x38,0x63,0x5C,0x69,0x98,0x13,0x18,0x43,0x8C,0x7D,0x2C,0xB4,0x4F,0xDD, -0xC6,0x0A,0xEA,0xFB,0x82,0x25,0xD4,0x81,0x6E,0x16,0xAF,0x5E,0x09,0xA5,0x7B,0xF8, -0x4A,0xEA,0x86,0x1B,0x20,0x42,0xB3,0x44,0xD0,0xD0,0xD7,0x26,0xA3,0x70,0x04,0x52, -0xF3,0x38,0xED,0xC9,0xF1,0x27,0xD6,0xF0,0xDB,0x3D,0x31,0xC0,0x81,0x27,0x71,0x70, -0x39,0xE0,0xFF,0x11,0xC7,0xDF,0x2E,0x3E,0xF7,0x2A,0x0A,0xFB,0x0C,0x90,0x4B,0xFD, -0x0B,0xED,0xC0,0x1C,0x32,0x9A,0x6B,0x8E,0x9F,0x6D,0x25,0xD4,0x8A,0x7F,0x22,0x7B, -0x17,0x49,0x78,0xB8,0x89,0xC3,0x32,0x6C,0xAC,0x87,0xFC,0x0D,0x84,0x12,0x41,0x75, -0xBB,0xA8,0x35,0x59,0x85,0x17,0xE6,0xB4,0xCE,0xC2,0xDB,0x2A,0x55,0x2B,0xA9,0xA4, -0x92,0x3E,0x8A,0xCF,0xFE,0x0E,0xFF,0xD6,0xDE,0x19,0x10,0xE1,0x4A,0x37,0xAA,0xBB, -0x24,0x53,0x51,0xA2,0x6C,0x4D,0xBC,0x07,0x42,0x01,0x94,0x65,0xE1,0xC3,0xF5,0x10, -0x0F,0xCD,0xE4,0x3C,0x11,0x88,0x79,0xBF,0x33,0x61,0x85,0x74,0x75,0x0F,0xAD,0x84, -0xCE,0x8A,0x62,0x7B,0x23,0xBF,0x4E,0xBA,0x8F,0xB6,0xEE,0x1F,0xB7,0x34,0x54,0x46, -0x99,0xA1,0x1E,0x50,0x0B,0x4B,0xBA,0x66,0xC2,0x1A,0x0F,0xFE,0x9A,0x2F,0x62,0x6B, -0xFB,0xB8,0x65,0x49,0x76,0x8E,0x7F,0xDE,0xE3,0x3A,0x0E,0xFF,0x56,0x79,0xF8,0xA7, -0x2B,0xEC,0xE1,0x1D,0x9D,0xC7,0x36,0x7C,0x15,0x74,0xB6,0x47,0x03,0xDC,0x08,0xF2, -0x47,0x5D,0x3C,0xAC,0x92,0xEE,0x1F,0x5A,0xD3,0x2E,0x2A,0xDB,0x2B,0xF2,0x0E,0xDA, -0xDC,0x86,0x7C,0x77,0xCB,0x0B,0xFA,0xE6,0xA3,0xA1,0xD5,0x24,0x6C,0x74,0xCF,0x9D, -0x26,0x5B,0x5B,0xAA,0x87,0x04,0xF5,0xA5,0x44,0xDB,0x48,0xB9,0xF0,0xB2,0x95,0x01, -0x05,0x45,0x66,0xB4,0x28,0x59,0xA8,0x57,0xD7,0xE5,0xE5,0x14,0xCC,0xD8,0xC3,0x3D, -0xFD,0x90,0x4B,0x61,0x0E,0x6A,0x9B,0x42,0xDA,0xD2,0xDF,0x2E,0x37,0xBC,0x5C,0xC6, -0x63,0x7C,0x39,0x8D,0x41,0x98,0x69,0xFF,0x48,0x03,0x9C,0x6D,0xAD,0x1D,0x67,0x5C, -0x45,0x55,0x36,0xA4,0xB9,0xE7,0x16,0x78,0xEB,0x29,0x15,0xE4,0x7C,0x24,0x8F,0x8D, -0x85,0x05,0xA6,0xF4,0xE2,0x11,0xE0,0xD5,0x30,0x9F,0x78,0x89,0x87,0x40,0x10,0x76, -0x53,0x79,0x0C,0x88,0x01,0x43,0xB2,0x64,0xAA,0x5D,0x20,0xD1,0xCE,0xAB,0xB2,0x3F, -0xBD,0x80,0x1B,0x71,0xE8,0x19,0xE8,0xD7,0x54,0x00,0x83,0x72,0x46,0x29,0xB8,0xB7, -0x94,0x16,0xA4,0xE7,0x5D,0x87,0x76,0xFC,0x63,0x21,0x95,0x64,0x44,0x5A,0xC9,0xB5, -0xB3,0x28,0xBD,0xD9,0xD4,0xE9,0x18,0x1B,0x98,0x58,0x17,0xE6,0xBE,0x1F,0x76,0x4F, -0xDF,0x99,0x60,0x68,0x17,0x54,0xA5,0x65,0x71,0xEB,0x4D,0xBC,0xBF,0x3E,0x56,0x4E, -0x5B,0xF9,0x84,0x08,0x83,0xCB,0x3A,0x6E,0xBA,0x86,0xEB,0x1A,0xC1,0xE7,0xF1,0x30, -0xC4,0x02,0xE0,0xF3,0x22,0x51,0xA0,0x55,0x7E,0xCD,0x64,0x95,0x7E,0x57,0xFE,0x8F, -0x15,0x41,0x72,0xB0,0xF3,0x34,0xC5,0xE1,0xE9,0x38,0x06,0xF7,0x0D,0xB1,0x6B,0xFC, -0xF9,0xB0,0x6F,0x41,0xCD,0xD7,0x26,0x3C,0x50,0xCB,0x4C,0xBD,0x6F,0x26,0x9E,0x9E, -0x96,0x1E,0xAE,0xEF,0xCC,0x39,0xC8,0xD3,0x2E,0x8D,0x74,0x85,0xCA,0xBF,0xA2,0x3B, -0xB5,0x00,0x93,0xF1,0x8C,0xE2,0x13,0x48,0xA0,0x5F,0x28,0xD9,0x62,0x19,0xAC,0x93, -0x46,0x4A,0x2A,0xBB,0x4F,0x5F,0xAE,0x36,0x9E,0x82,0xCB,0x3A,0x5D,0x21,0xAB,0xAC, -0xE2,0x2B,0xEF,0xDA,0x6A,0x91,0x60,0xDD,0xF4,0xD4,0xF7,0x06,0x2D,0x95,0x6F,0xDC, -0x3B,0xE8,0xF5,0x19,0x61,0x77,0x86,0x30,0xFB,0xF2,0xDE,0x2F,0xB5,0x47,0x25,0x44, -0x0D,0xC5,0xEE,0x34,0xC4,0x22,0xD3,0xC0,0x46,0xCA,0x5B,0xAA,0x0B,0xD6,0x0A,0xFA, -0x28,0xF3,0xFD,0x02,0xD2,0x35,0xC4,0xC1,0xBE,0x4D,0x24,0xD5,0x47,0x08,0x98,0xB6, -0x7D,0xD0,0x8B,0x21,0xBB,0xF4,0x05,0x69,0xB6,0x5E,0x3F,0xCE,0x12,0xAD,0x68,0xE3, -0x75,0x50,0x03,0xA1,0xD9,0xD3,0x22,0x2C,0x56,0x11,0x90,0x61,0xDC,0x88,0x83,0x2D, -0x9A,0xBE,0x02,0x4F,0x1A,0x6E,0x9F,0x52,0x2C,0x9C,0x67,0x96,0x65,0x5F,0xED,0x94, -0x32,0x7F,0x6B,0x8E,0x58,0xA6,0x57,0xD8,0xCF,0x2D,0x35,0xC4,0xA7,0x64,0x14,0x56, -0x33,0x68,0x7D,0x99,0x80,0x36,0xC7,0x90,0xAF,0x79,0x01,0xF0,0x38,0xF0,0x1F,0xC9, -0x9D,0x81,0x3A,0x70,0x6D,0xA3,0x52,0xE8,0xB7,0xB1,0xD1,0x20,0xED,0xDD,0xE7,0x1C, -0x84,0x12,0xB0,0xE3,0x4E,0xB1,0x40,0xD9,0x59,0x37,0xB9,0x48,0xA9,0x09,0x77,0x58, -0x0C,0xD2,0xF8,0x23,0xA2,0xCA,0x3B,0x4E,0x77,0x31,0x91,0x60,0x1A,0xA7,0x6A,0xEB, -0x42,0x2B,0x55,0x0E,0xE0,0x57,0xBB,0x8B,0xFE,0xB6,0xA5,0x74,0x8E,0xD5,0xCA,0x23, -0xB4,0x65,0xED,0xB6,0xB5,0xA7,0xEE,0x2E,0xAA,0x32,0xF1,0xA4,0xC7,0x9C,0x21,0x81, -0x95,0x45,0xEC,0xB7,0x79,0x3D,0x22,0x78,0xB3,0x49,0xE8,0xC6,0x02,0x59,0x5C,0x39, -0xD8,0xE9,0x0D,0x56,0x54,0x0B,0x0F,0x63,0x98,0x35,0xC3,0x91,0xF6,0xAD,0x74,0xE5, -0x64,0x3E,0x66,0x3D,0x96,0xF2,0xCD,0x58,0xDF,0xB3,0x84,0x50,0xC1,0x9A,0x46,0xE0, -0x15,0x5E,0x77,0x2C,0x02,0xAA,0x59,0x94,0x41,0x06,0x1A,0x7B,0x04,0x5F,0x3B,0x58, -0x89,0x46,0xF3,0xA8,0xA9,0xF5,0xF2,0x60,0x2C,0xDD,0x77,0xCD,0x47,0x1C,0xA9,0x89, -0x99,0x9D,0x38,0x63,0xB6,0xF6,0xED,0x7C,0xBA,0x62,0xE1,0xE4,0x5E,0x05,0xD2,0xEB, -0xFB,0xD8,0x1F,0x44,0x67,0x1E,0x3C,0x45,0x5B,0x2F,0x00,0x48,0x8A,0xD1,0xDE,0x33, -0xC8,0x32,0xC6,0x9D,0x69,0x7D,0x32,0x28,0xFF,0x97,0xA4,0x54,0xD3,0x88,0x65,0xD1, -0xA0,0x75,0xE9,0xB2,0xEF,0x14,0xB4,0xC7,0xF2,0xA8,0xA9,0x66,0x96,0xCD,0x90,0x61, -0x8C,0x62,0xD2,0x89,0x62,0x2E,0x39,0x70,0x2A,0xBA,0x71,0xAC,0x6E,0x35,0xA6,0xAF, -0x87,0x8F,0x34,0x6F,0x40,0x5B,0x1B,0x27,0xF8,0xD1,0xA3,0x15,0x0B,0x50,0x77,0x1B, -0x39,0x49,0x4C,0x17,0xEA,0x24,0xB1,0xF2,0x18,0xBD,0x43,0x99,0x6C,0x37,0xD5,0xDE, -0x4F,0x1C,0x6F,0x34,0xCF,0x10,0x94,0xE3,0x80,0x6F,0xDB,0xD3,0x20,0x7B,0x0B,0x4C, -0xCC,0xF9,0x09,0x52,0x9E,0xF0,0xC5,0x52,0x11,0x96,0x4A,0xBB,0xCB,0x90,0x3F,0x93, -0x53,0x1F,0x70,0x2B,0x1A,0xE8,0x41,0xCE,0x1D,0x88,0x46,0xA9,0x7E,0x25,0xF6,0xEF, -0xD9,0x06,0xE3,0xB8,0xDE,0x70,0x85,0x92,0x1E,0xDA,0x45,0xF8,0x54,0x0F,0xAB,0x98, -0x72,0x3F,0x71,0x2A,0x20,0xDF,0x7B,0xC3,0xB0,0x1B,0xEB,0x97,0x1E,0x45,0x12,0x6B, -0x51,0x0E,0x63,0x38,0xA1,0xF7,0xFA,0x6A,0xD3,0xAD,0x88,0x42,0xBC,0xE7,0xCD,0x16, -0xFF,0x13,0xD0,0x8B,0x91,0xB3,0xCA,0x1E,0x3E,0xFE,0x65,0xFC,0x26,0x7D,0x6C,0x2D, -0x30,0xB5,0xB9,0xE2,0xBD,0xA5,0xE6,0x24,0x33,0xC1,0x68,0xCE,0xFB,0xA0,0x4B,0xD7, -0x44,0xF1,0x89,0xD2,0x8E,0xB0,0xD5,0x02,0xF7,0x9D,0xAC,0x56,0x7A,0x21,0xE2,0xFF, -0xBB,0x43,0xC4,0x9F,0xB7,0xD6,0xEC,0x5D,0xB2,0x68,0xE9,0xE6,0x75,0x2E,0xAE,0xBC, -0x9E,0xA8,0x0A,0x51,0xCA,0x20,0x91,0xD6,0x99,0x14,0xC2,0xB1,0x05,0x5E,0x1A,0x78, -0x3E,0x7C,0x7E,0x25,0xA6,0xB6,0xFD,0x2C,0x15,0x82,0x4E,0xAB,0xBF,0xE4,0x9F,0x47, -0x41,0xD5,0xA8,0xF3,0xBB,0xC4,0xE0,0x43,0x48,0x2D,0x13,0x59,0x5A,0x01,0xC6,0xFB, -0xB1,0x41,0xCC,0x97,0xBC,0x85,0xE7,0x05,0x1B,0xEF,0x40,0xC8,0xA6,0xFD,0xE4,0x25, -0x1D,0x4D,0x6C,0x37,0x52,0x6A,0x09,0x04,0x75,0x66,0x2E,0x2F,0x6A,0x31,0xB2,0xBF, -0x47,0x0F,0x74,0x2F,0x23,0x8E,0x78,0x91,0x3B,0xCB,0x60,0xCC,0xE4,0xBF,0x57,0xD4, -0xC0,0x21,0xDD,0x86,0x61,0x7F,0x3A,0x22,0xDA,0x86,0x81,0x60,0x5C,0x07,0xA1,0x9A, -0x7A,0x2C,0x6A,0x31,0x85,0xE3,0xDE,0x5A,0x8D,0x50,0xD6,0xE1,0x33,0x68,0x09,0x5D, -0x20,0x6E,0x72,0x29,0xF9,0x35,0xA2,0xF0,0xC0,0xAF,0x9B,0x53,0x83,0xD8,0xF5,0x11, -0x0E,0x68,0x5A,0x01,0x4A,0x28,0x11,0x5E,0x00,0xE7,0x5B,0xDB,0xF8,0xA3,0x19,0x86, -0xE0,0xEE,0x32,0x69,0x0E,0xB8,0x55,0x8A,0x93,0x6D,0xC8,0xC2,0xEA,0xB1,0x3A,0xB7, -0xF8,0x26,0xE2,0xB9,0xDB,0x40,0x80,0xA7,0x7A,0x2A,0x21,0x6C,0x7F,0x24,0xD7,0xCF, -0x98,0x72,0xD6,0x8D,0x44,0x4B,0x1F,0x33,0x6D,0x3C,0x36,0x6D,0xEF,0xB4,0x0F,0x87, -0x7B,0xC3,0x84,0xDF,0x86,0xB2,0xDD,0x08,0xAC,0x55,0xF7,0xC5,0x27,0x7C,0x4D,0x0D, -0x01,0x4E,0x73,0x28,0x3F,0xDC,0x64,0xDF,0x42,0x54,0x19,0x2A,0x9A,0xC1,0x8E,0x73, -0xE1,0x01,0xDC,0x87,0xF1,0x37,0xAA,0xFA,0xC2,0xDC,0x99,0x22,0xBD,0xE6,0xEC,0x36, -0xE9,0x12,0xC7,0x9C,0xA4,0xC7,0xFF,0x5F,0xE1,0xAA,0xBA,0x77,0x7C,0x27,0x85,0x9E, -0x11,0x95,0xB8,0xE3,0xE8,0x55,0xB3,0x81,0xD7,0xB9,0x8C,0x52,0x6B,0x30,0x93,0x9F, -0xAC,0xAD,0x3D,0x66,0x56,0x7A,0x0D,0x10,0xFA,0xA2,0xA1,0x64,0x3E,0x65,0x36,0x6F, -0xA3,0x8B,0x14,0x4F,0xCE,0x30,0x95,0xC2,0x39,0xB8,0x62,0xBD,0xD8,0x83,0x3D,0x82, -0xC9,0xDD,0x28,0x73,0xBE,0xF4,0xE5,0x76,0x58,0x7D,0x03,0x19,0x16,0x4D,0x18,0x69, -0xF7,0x00,0xCB,0x90,0x81,0xF3,0xDA,0x4E,0x12,0xC4,0x49,0xEA,0xAB,0xF0,0xDB,0x17, -0x79,0xD2,0x97,0xCC,0x29,0xFD,0x72,0xE8,0x0C,0xF9,0x57,0xC9,0x70,0x2B,0x9B,0x8C, -0x07,0x94,0xAF,0xF4,0x8C,0xC1,0xD7,0x71,0xA2,0x38,0xF9,0xA6,0x9E,0xC5,0x9A,0x63, -0xBE,0x67,0xE5,0xBE,0xEE,0x34,0xB5,0xE6,0x53,0x25,0x08,0x4A,0x7D,0x26,0xA4,0xBE, -0x29,0x92,0x87,0xDC,0x9D,0xA1,0xC6,0x00,0x10,0xB7,0x4B,0x9B,0x18,0x43,0x75,0x0A, -0xED,0xD9,0x08,0x53,0x22,0xAE,0x79,0xB0,0xEB,0xD3,0xB0,0x04,0x82,0xD9,0xD4,0x31, -0x26,0xB4,0xAE,0xF5,0x5C,0x09,0x07,0x69,0x8B,0x37,0xD0,0x80,0x1D,0x46,0x40,0x3A, -0xCF,0x07,0xF4,0xAF,0x5D,0x29,0x06,0x48,0x3A,0xEA,0x61,0xEC,0xA0,0xFB,0x83,0x44, -0x34,0x7E,0x76,0x2D,0xA7,0x96,0xFC,0x0D,0x04,0xF3,0x5F,0xCB,0xCE,0x95,0x0A,0xA3, -0x03,0x5F,0x60,0x3B,0xA5,0xE7,0xFE,0x7E,0x92,0x4C,0xC9,0xE2,0x50,0x0B,0xBF,0x88, -0xFD,0x02,0xC3,0x98,0x2D,0xED,0x76,0xFC,0x6B,0x5B,0x30,0x0C,0x0A,0x51,0x56,0x3B, -0x67,0xC0,0x9B,0xC0,0x64,0x4F,0x3F,0x17,0x17,0xF1,0x4C,0xDA,0x58,0x03,0xB5,0x8A, -0xBC,0x76,0xF6,0xAD,0x9F,0xD0,0xC4,0x73,0x47,0x61,0x1C,0x1A,0xAE,0xF5,0xEE,0x27, -0x1F,0x5C,0x7F,0x24,0x4E,0x38,0x15,0x4A,0x6E,0x6E,0x35,0x3C,0xD1,0x8A,0x16,0xA0, -0x8D,0x8D,0x3C,0x67,0xD4,0x03,0x8F,0xEB,0x82,0x1C,0xD9,0xA2,0x23,0x78,0x59,0x1D, -0x80,0xBA,0x06,0x5D,0x2F,0x9C,0x74,0x8F,0x57,0x31,0x0C,0x5A,0x10,0x4B,0x7F,0x08, -0x13,0x84,0xAB,0xF0,0x13,0xCA,0x48,0xE5,0x49,0x0C,0x12,0x79,0x4D,0x16,0xD0,0xFA, -0xF4,0xFE,0x36,0x6D,0x8F,0x90,0xD4,0x23,0x94,0x2B,0xCF,0x83,0x42,0x19,0x9C,0xB9, -0x84,0x71,0xC9,0x92,0xC8,0x51,0x93,0xA5,0x4F,0x6B,0x14,0x18,0xA7,0xFC,0xC5,0x05, -0xCD,0xFB,0xF3,0xDC,0x5A,0xD5,0x75,0x4A,0x3D,0xE8,0x12,0x10,0xD3,0xFC,0x81,0xB8, -0x36,0x82,0x71,0x5E,0xA0,0x6A,0x8F,0x0F,0x03,0xF1,0x2C,0x37,0xBD,0x92,0x08,0x5F, -0x01,0xA3,0x67,0x48,0xA2,0x1B,0x8D,0x7C,0x95,0x4E,0xBA,0x1E,0x23,0x0C,0xBD,0x74, -0xFF,0xFE,0xC4,0xEB,0x2A,0x11,0x05,0xFE,0x6C,0x59,0x43,0xF0,0x79,0x56,0x54,0xC7, -0xBC,0x9B,0xE2,0xCD,0xE9,0xC8,0xC6,0xE4,0x54,0x27,0x7B,0xB6,0x0E,0x21,0xA6,0x42, -0x2B,0x6E,0x80,0xAF,0x9A,0x5D,0xB5,0x02,0x17,0xB5,0x38,0x67,0x6B,0x44,0x77,0xF6, -0xEF,0x25,0x0F,0x20,0x25,0x52,0x0A,0xB2,0xEC,0xD1,0xC3,0xF8,0xF1,0xDE,0xD6,0xCD, -0x24,0x48,0xA9,0x86,0x5B,0xF5,0x74,0x6B,0x8C,0x35,0xA3,0x7C,0x6E,0x41,0x42,0xC6, -0x82,0x46,0x01,0x2E,0x28,0x60,0x07,0x8D,0x50,0x33,0x7F,0xA6,0x63,0x4C,0x7D,0xF4, -0x11,0x78,0xAC,0x83,0x14,0x36,0x3B,0xE7,0x4E,0x0E,0x61,0x85,0x3E,0x11,0xD2,0x06, -0xF6,0x02,0x31,0x1E,0x88,0x6C,0xA7,0x21,0x93,0x29,0xBC,0x7F,0x31,0x1E,0x9E,0x45, -0x86,0x8D,0xCE,0xE1,0xCF,0xAD,0xE0,0xA7,0x48,0x69,0x67,0xE4,0xD4,0xFB,0xC7,0xF9, -0x65,0x3C,0x9C,0xB3,0x63,0xB3,0x4C,0x15,0x10,0xF3,0x3F,0x26,0x2B,0x04,0xB7,0x76, -0xBE,0x8A,0xF1,0xDE,0x98,0x2C,0xB7,0x71,0x40,0x63,0x6F,0xE6,0xDD,0xF2,0xEC,0xDB, -0x1D,0xA0,0x78,0x57,0x49,0xC4,0x66,0x48,0x69,0x6C,0x46,0xC0,0xA2,0x8D,0x14,0x5C, -0x8F,0x71,0x3B,0x14,0xD3,0xFF,0xFC,0xE9,0x85,0x1E,0xAA,0x5E,0x50,0x7F,0x5B,0xE1, -0x9A,0x8E,0xD1,0xFE,0x43,0xB7,0x6C,0x31,0x6A,0x3E,0x45,0x91,0x9C,0xB3,0x0D,0x7B, -0x79,0x3F,0x83,0xAC,0x81,0x4E,0xAE,0x0A,0xAB,0x57,0x84,0x39,0x54,0x7B,0x4F,0xF1, -0x03,0xB2,0x74,0x5B,0x38,0x20,0x17,0xDD,0x45,0x56,0x6A,0xD6,0xE9,0xC6,0x8C,0x8F, -0xE3,0xFD,0xDB,0xF4,0xF6,0xCB,0xD9,0xF8,0xC5,0xDE,0xEA,0xDE,0xCE,0xE1,0xEE,0xCA, -0x22,0x92,0x75,0x5A,0xFE,0xC9,0xD1,0xF2,0xC7,0xAD,0xE8,0xAF,0xF0,0xDF,0xF7,0xED, -0x0C,0x94,0x5D,0x72,0x4D,0xD4,0x62,0x5C,0x07,0xE5,0x28,0x27,0x8B,0xA4,0x1B,0x7A, -0xE2,0x12,0x35,0x1A,0x09,0x44,0x26,0x88,0x94,0x6F,0xBB,0x3E,0x99,0xB6,0x38,0x4B, -0xFA,0xDA,0xE5,0xCA,0xDC,0xBC,0xF3,0xA5,0x7D,0x28,0x52,0x90,0x0C,0x23,0xD5,0x33, -0xCB,0x21,0x2F,0x00,0xB9,0x08,0x96,0x74,0x5F,0x7F,0x70,0xE5,0x65,0x4A,0x1A,0x95, -0xF5,0xFC,0xCC,0xE3,0x86,0x0F,0xA9,0x4C,0x15,0xC6,0x3A,0x16,0xD8,0xF7,0xD9,0xEB, -0x7B,0x2E,0x90,0xBF,0x2E,0x01,0x01,0xEA,0x0B,0xFB,0x24,0x35,0x03,0x2C,0x99,0x70, -0x05,0x68,0xA8,0x87,0x8B,0x3D,0xA4,0x73,0xA5,0x3A,0x8A,0x5A,0xED,0xC2,0x98,0x9F, -0xEB,0xEE,0xC0,0xEF,0xA3,0x3B,0x8C,0x5D,0xE6,0xA8,0xC9,0x8B,0x0F,0x20,0x87,0x62, -0x13,0x69,0xBF,0x90,0xEF,0xA9,0xC0,0x83,0xD0,0xBB,0xFF,0xAE,0x18,0x37,0x91,0x63, -0xAE,0x51,0x3A,0x15,0x51,0x86,0x7E,0x12,0xFD,0xA0,0xD2,0x98,0x4D,0x62,0x34,0x93, -0xA1,0x77,0x13,0x3C,0xC9,0xCC,0xE6,0xC0,0x3E,0xBA,0x11,0x41,0xAB,0x84,0x3F,0x7E, -0xFD,0xEF,0xD7,0xF8,0x96,0x4F,0xB9,0x1C,0x39,0xFC,0x16,0x00,0x55,0x7A,0x6E,0xD1, -0x32,0x49,0xBE,0x91,0xBA,0x59,0x95,0x26,0x34,0xC3,0x1B,0x32,0x88,0xA7,0x49,0x2B, -0x46,0x0D,0x8E,0xA1,0x89,0x4C,0xA6,0x00,0xF0,0x9F,0xDF,0xAA,0x09,0x26,0xE0,0x03, -0xB9,0xBF,0xC3,0xEC,0xB0,0x2A,0x9F,0x5F,0xB5,0x6A,0x9A,0x1A,0x06,0x29,0xAC,0x40, -0x51,0xE3,0x77,0x58,0x1D,0x14,0x32,0xCC,0x1A,0x8A,0x35,0x55,0x0D,0x22,0xF4,0x13, -0xDB,0xFA,0xE4,0xCB,0xD9,0x8C,0xF6,0x90,0x19,0xD8,0x36,0x04,0x27,0x08,0xA9,0x64, -0x70,0xC3,0x76,0x59,0x27,0x23,0x08,0xC1,0xB7,0x19,0x98,0x6B,0x6D,0x42,0x10,0x97, -0x53,0xF2,0x64,0x4B,0xA6,0x0B,0x89,0x68,0xD4,0xAF,0xFB,0xBE,0xCF,0xE0,0xCF,0xEA, -0x1F,0xB1,0x6B,0x44,0x55,0x96,0x7A,0x06,0x72,0x64,0x5D,0xD3,0x19,0x36,0xB0,0x43, -0x45,0xF3,0x73,0x5C,0x24,0x72,0x0B,0x93,0x3C,0xC9,0x13,0x30,0x97,0xB8,0x55,0x28, -0xC2,0xDD,0xDA,0xF5,0x66,0x83,0x49,0x20,0xDD,0x84,0xF2,0x9C,0x2F,0x00,0xA3,0x66, -0x78,0xD0,0x6D,0x42,0x82,0x1F,0xAD,0x58,0x8A,0x52,0xA5,0x1D,0x40,0x6F,0x0B,0xA1, -0x9C,0x54,0x0D,0x22,0xCD,0xDC,0xE2,0xD4,0x9E,0x16,0xB1,0x4D,0x76,0x59,0x18,0x84, -0x3C,0x80,0x79,0x56,0xA1,0x4A,0x8E,0x2E,0x12,0x80,0x3D,0x57,0xCC,0xE3,0x9D,0xBB, -0x43,0x29,0xAF,0x80,0xBC,0x38,0x93,0x41,0x4F,0x2F,0x60,0xA5,0x29,0x06,0xC4,0x07, -0xB3,0xBD,0xCB,0xE4,0xBB,0x79,0x94,0x07,0x1C,0xED,0x33,0x34,0xD5,0xFA,0xE6,0xD9, -0x66,0xC2,0x61,0x4E,0x91,0x0E,0xBE,0x5A,0xD8,0xB1,0xF7,0xAC,0xB2,0x9D,0x44,0x1C, -0x17,0xA2,0x70,0x5F,0x05,0x56,0x2A,0x96,0x46,0x04,0x69,0x87,0x77,0x58,0x39,0xA4, -0x8B,0xBA,0xF4,0xDB,0xAE,0x09,0x81,0x62,0x2B,0xDF,0x04,0x31,0x34,0x1B,0xAB,0x75, -0x9B,0x61,0x3F,0x10,0xB1,0x0A,0x9E,0x7E,0xBD,0x60,0x92,0x18,0x2D,0x02,0xD0,0x17, -0x40,0xD7,0x52,0x7D,0xE7,0xAB,0xC8,0x89,0xF9,0xB4,0xD6,0x88,0xFD,0xD2,0xC8,0xDF, -0xB6,0x99,0xEA,0xC5,0xB2,0x5B,0x9D,0x2C,0xAD,0x30,0x82,0x58,0xB4,0x9B,0x23,0x7D, -0x97,0xB9,0xEB,0xC4,0x7E,0xC1,0x51,0x7A,0xB4,0x4B,0x9B,0x3A,0x71,0x5E,0x5E,0xC5, -0xDA,0x15,0x0A,0x25,0x53,0xF7,0x7C,0x61,0x9F,0x37,0xB0,0x6D,0x85,0xAA,0x76,0x19, -0x85,0x73,0x33,0x1C,0x47,0xA7,0x68,0x25,0xFF,0xD3,0xD0,0xE9,0x78,0x57,0x75,0xE7, -0x3B,0xB5,0x4B,0x64,0xED,0xD8,0xC2,0xF0,0x1F,0xBF,0x30,0x65,0x1F,0x30,0xD7,0x22, -0x4D,0xE0,0x68,0x47,0xC8,0xEC,0xE7,0xE1,0x87,0x6D,0xA8,0x2F,0x53,0x7C,0x09,0xB0, -0xCE,0x05,0x0E,0x21,0x99,0x0C,0xB6,0x50,0x16,0x94,0x39,0x47,0xB8,0x97,0x3D,0x6F, -0xF9,0x24,0x18,0x37,0x60,0xE2,0x4F,0x47,0x5C,0x2D,0x73,0xB4,0xF9,0xD6,0xDC,0xCF, -0xCA,0xCE,0xC1,0xEE,0x6E,0x81,0x41,0x2A,0xF8,0x95,0xD7,0xA8,0xA0,0x8F,0x67,0x2D, -0xA2,0x89,0xEE,0xC1,0xE8,0xE8,0xC7,0xC5,0xF5,0xAA,0xDA,0x9A,0xE5,0xCA,0x92,0x9D, -0x8E,0x9E,0xD5,0xFA,0x65,0xD2,0x4A,0x72,0x2D,0xB8,0x02,0x50,0x1D,0x32,0xA4,0x53, -0x13,0x2B,0x9C,0x35,0x51,0x5C,0x8F,0xDE,0x86,0x09,0x06,0x02,0xBB,0x74,0xFB,0x4D, -0x8C,0xBF,0x03,0x3E,0x31,0xB8,0x0B,0xBE,0xF8,0x77,0xA1,0xDB,0xD6,0xD2,0x5D,0x86, -0x16,0x1E,0x99,0x05,0xCA,0xDC,0x94,0x45,0x47,0xC8,0xAE,0x6B,0x9D,0x5D,0xD2,0x42, -0x73,0xCF,0xFC,0xB1,0x89,0x4E,0x45,0x06,0x34,0xBB,0x3B,0x8D,0x68,0x3F,0xB0,0xD5, -0x04,0x3D,0x8B,0x34,0xB1,0x30,0x03,0x3E,0xF7,0x78,0xE2,0x97,0x0D,0x19,0x96,0x96, -0x5E,0xD4,0xD1,0x87,0x48,0x27,0xED,0xC7,0x7F,0xF0,0xE8,0x15,0x50,0xBA,0x35,0x68, -0xC0,0x61,0x4F,0xAC,0xDE,0x98,0xC4,0x51,0x7D,0xF2,0x99,0x66,0x71,0xAC,0x23,0x5F, -0xAE,0xE8,0x21,0x4B,0xE0,0x81,0xE3,0x6F,0x87,0x08,0x26,0x23,0x08,0x2E,0xA1,0xA4, -0x2D,0x32,0xA2,0x12,0x58,0x77,0xAD,0xD7,0x0E,0x81,0x0C,0x80,0x82,0xE6,0x69,0xE6, -0xDF,0x7D,0x50,0xAF,0xB4,0x05,0x33,0x3B,0x94,0x1B,0x37,0x21,0x53,0xA5,0x2A,0x74, -0xA0,0x85,0x2F,0x28,0x9D,0x0A,0x15,0x12,0x45,0xCA,0xDF,0x18,0x79,0x2C,0xA3,0xD7, -0x56,0xDE,0xD9,0x85,0xCD,0x9A,0xD5,0x42,0xBE,0x31,0x40,0x7C,0xCF,0x41,0xCE,0x0C, -0xA9,0xAE,0x26,0x0A,0x95,0x00,0x17,0x1A,0x12,0x9D,0x5E,0xCE,0x7E,0x13,0x9C,0xEF, -0x4C,0xF7,0xC3,0xB6,0x4E,0x40,0x8C,0xC1,0x55,0xDA,0x9F,0x48,0xF1,0xEC,0x63,0x9F, -0x43,0xBB,0xCC,0xF5,0x93,0x67,0x76,0x1C,0xC9,0x46,0xC5,0x8E,0x8B,0x71,0xFE,0x78, -0x1E,0x14,0x91,0x07,0x8D,0x5A,0x55,0x02,0xF5,0x7A,0x93,0xE4,0xB5,0xDC,0x53,0xEB, -0x71,0xBC,0xFE,0xC0,0xA0,0x41,0x63,0x2F,0x01,0x8E,0x4F,0xCC,0x29,0x38,0xB7,0x93, -0xE4,0x51,0x6B,0xB8,0x49,0x06,0xCD,0xC6,0xD4,0x5B,0xB7,0xE1,0xE1,0xE8,0x67,0x8B, -0xF6,0x72,0x79,0x89,0xDA,0x8C,0xD4,0x55,0x90,0x1F,0x27,0x35,0x67,0x80,0x0F,0x65, -0x8D,0x9E,0x02,0x1E,0x1A,0xC4,0x5C,0x95,0x23,0xAC,0x3A,0x9B,0x61,0xA8,0x27,0x4B, -0xB3,0x87,0x3C,0x39,0x18,0xB7,0x2D,0x97,0x2B,0xA4,0x38,0x91,0x0E,0x06,0x89,0x8A, -0x94,0xE5,0x1B,0x7C,0x98,0x3F,0x25,0x17,0xE5,0x6A,0xD3,0xB4,0x41,0xA9,0x26,0x6A, -0x29,0x26,0xA6,0x02,0x76,0x3E,0xCA,0xF9,0x5C,0xD3,0xBD,0x63,0xCC,0x5E,0xD1,0x10, -0xE1,0x64,0x6E,0x88,0xB7,0x57,0x62,0x38,0x9E,0x11,0x44,0x58,0x7D,0x0C,0x83,0xF3, -0xD6,0x56,0x59,0x8D,0xE3,0xD3,0xB2,0x6C,0x14,0x9B,0x3F,0xA9,0x84,0xCE,0x41,0xC8, -0x30,0x5D,0xBF,0x60,0x20,0xC9,0x6B,0xAF,0x8C,0x03,0x75,0x7B,0xA2,0xE7,0x68,0xC7, -0x65,0xF8,0xEA,0x90,0x0D,0xD2,0x5D,0x82,0x32,0xBD,0x5A,0xEA,0x9A,0x62,0xED,0x7A, -0x72,0xEE,0xFD,0x91,0x3B,0xC1,0x78,0xB4,0x7E,0xF1,0xC8,0x34,0x1D,0x1D,0x92,0x82, -0x90,0xF1,0x1F,0x6C,0x78,0x53,0xA9,0xF7,0x56,0xD9,0xCE,0x1A,0x9B,0x75,0xFA,0x6C, -0x7E,0xF0,0xF1,0x83,0xD6,0x92,0xC6,0x59,0xF3,0x7C,0xF2,0x83,0xDD,0x4D,0xC2,0x12, -0xA5,0xB0,0x2A,0x18,0xC8,0xAF,0xE5,0x47,0x5B,0xD4,0xFC,0x25,0x0F,0x11,0x9E,0x9C, -0x18,0x73,0x97,0x66,0x82,0x16,0x16,0x0D,0x64,0xEB,0xFB,0x1D,0xD2,0xF2,0x7D,0xA2, -0xB2,0xA6,0x3D,0x19,0x09,0xC6,0x4D,0x86,0x7B,0xF4,0xF8,0x01,0x01,0xB9,0x36,0x3A, -0x10,0x79,0x9F,0x64,0x6A,0x70,0x98,0xE5,0xFA,0x75,0xD0,0xA8,0x30,0xAB,0x24,0x19, -0x5A,0xC0,0xD5,0x97,0xC4,0xB1,0xF7,0x4B,0x04,0x8B,0x7F,0xF9,0x09,0x39,0xB6,0xB2, -0x70,0x9D,0xFF,0xE0,0xC7,0xE3,0xA6,0x48,0xC0,0x4F,0xE7,0xA5,0x10,0xAA,0x25,0x38, -0x7B,0xC5,0xF4,0xB3,0x68,0x03,0xE9,0xE7,0x6D,0xE2,0xD9,0x36,0x4C,0x1E,0x91,0xD0, -0x74,0x89,0xFB,0xF0,0x2D,0xF6,0x59,0xA2,0x54,0xDB,0xBF,0x69,0xFE,0x53,0xDC,0x2F, -0xF5,0x20,0x7A,0xD8,0xE9,0xAA,0xC1,0x66,0x67,0xE8,0xAA,0x4F,0xBA,0x63,0xEC,0x5B, -0x28,0x07,0xA7,0x22,0xE4,0x95,0xF3,0x6B,0x4B,0xC4,0xBC,0x75,0x1C,0x0A,0x85,0x94, -0xA8,0x8F,0x27,0x2A,0xC1,0x84,0xC7,0x4E,0x66,0xE9,0x8A,0x6E,0x4E,0x16,0x99,0xDA, -0x54,0xAD,0xDB,0xF4,0x92,0x46,0x56,0x1D,0x61,0xEE,0xCB,0x28,0xDA,0x72,0xFD,0x2A, -0xB1,0xF4,0x3E,0x48,0xCF,0xE9,0xA4,0x40,0x7C,0xF3,0xB9,0x47,0x73,0xA4,0x2B,0x55, -0x0B,0x71,0x84,0x77,0x43,0x7F,0xBE,0xCC,0x10,0x9F,0x2F,0xBD,0xA7,0xD0,0x5F,0xF5, -0x3D,0x62,0xB2,0x52,0x57,0x3B,0xEE,0xD8,0x5F,0xD0,0xEC,0x31,0x23,0xB0,0x3F,0x11, -0x52,0xCA,0xDD,0x95,0x00,0xED,0x6F,0x8F,0xBB,0x34,0x70,0x49,0x2E,0x07,0x88,0xAB, -0xEA,0x3C,0x65,0xDB,0xE1,0xA0,0xC3,0x6E,0xF9,0x76,0x81,0xFA,0x00,0xAE,0x21,0x2C, -0x64,0xD9,0xEB,0xB0,0xAF,0x0D,0x20,0x20,0x88,0x07,0x65,0x6F,0x42,0xB6,0x39,0x76, -0xF8,0x1F,0x77,0xEA,0x42,0x5E,0x9E,0xCD,0x8E,0x01,0x04,0x08,0xE6,0xD7,0x58,0xB3, -0x0C,0x37,0x83,0x36,0x69,0x22,0xC9,0xE6,0xA3,0x2C,0x32,0x13,0x4A,0x36,0xB9,0xFE, -0xC9,0x4A,0x46,0x8E,0x70,0x59,0xAB,0xFF,0x6F,0xE0,0xA8,0x45,0x6A,0x37,0xB8,0xDF, -0x80,0xA1,0x0F,0x2C,0x24,0xDD,0x7B,0xAB,0x3A,0xB5,0x58,0xE0,0x24,0x8F,0x00,0x29, -0x50,0xB9,0xDF,0xE4,0x60,0x09,0xEB,0xEF,0x6C,0xE3,0xF9,0x17,0x92,0xE2,0x6D,0xF2, -0x49,0xC2,0xC6,0x86,0xF6,0xB6,0xC2,0x79,0x73,0xFC,0xFA,0x0B,0x49,0x29,0xA6,0xE2, -0x0A,0x50,0x85,0x57,0x9B,0x6D,0x74,0x14,0xD8,0x57,0xA5,0xFF,0x51,0xAD,0x22,0x7E, -0xCF,0x2D,0x40,0xEF,0x05,0xD8,0x5F,0x8A,0x4C,0xC3,0xFD,0x33,0x31,0xBC,0x33,0x0F, -0x60,0xCD,0xEF,0xA0,0xF0,0xD1,0xA3,0x7F,0xB8,0x37,0x21,0x1B,0x6D,0x08,0x87,0xE7, -0x98,0xFB,0x17,0x6E,0x28,0xC3,0x69,0xA7,0x35,0xBA,0x1B,0xAC,0x7A,0x33,0xBC,0xCB, -0xDD,0x0E,0x52,0xDE,0x25,0xFC,0x5B,0xAA,0xB3,0x3C,0x72,0x43,0x3D,0x1C,0x93,0xA3, -0x84,0xB5,0x0B,0x3C,0x81,0x44,0x47,0x0E,0xBD,0x32,0x11,0x2E,0xD7,0xC5,0x4A,0x90, -0xC5,0x54,0x4A,0x9C,0xCB,0xFD,0xB4,0x44,0x44,0xCB,0xFF,0x39,0xF6,0xD3,0x5C,0xA7, -0x2E,0x60,0xA1,0x43,0x5A,0x04,0xDC,0xD5,0x15,0x9A,0x1F,0x88,0x13,0xB5,0x3A,0x24, -0x62,0xBE,0xED,0xD1,0xC2,0xD6,0x96,0x4D,0x30,0xBF,0x2B,0x99,0x46,0x96,0x19,0x52, -0x05,0x1C,0x8A,0x14,0x22,0xBA,0x1A,0xAD,0x9A,0x15,0x54,0x4C,0x80,0xEE,0x61,0xEC, -0x8F,0xBB,0x42,0x8E,0x03,0x1B,0xCF,0x6E,0xAC,0x8E,0x60,0x54,0x23,0xEF,0x1C,0x85, -0x40,0x1D,0x2B,0xE7,0x2F,0x0D,0xE3,0x54,0xA1,0xB1,0x6D,0x66,0xFE,0x32,0x3B,0x7F, -0x34,0x59,0x1B,0xD7,0x1C,0x18,0xD0,0x72,0x65,0xED,0xA9,0xFE,0x7F,0xB3,0x92,0x57, -0xCB,0xEB,0x56,0x9A,0x25,0x7E,0xE9,0x2D,0x20,0x18,0xEC,0x4E,0x70,0xBC,0xDE,0x14, -0x23,0xB7,0xE2,0x2E,0x88,0x40,0x44,0xBE,0x8F,0xF8,0x43,0x01,0x7B,0xB7,0x86,0x47, -0xA9,0xAE,0x71,0xBD,0x4C,0xD8,0x80,0xE2,0x8C,0xAA,0x40,0x50,0x51,0x9D,0xDB,0x30, -0x02,0x97,0xE3,0x2F,0xB2,0x77,0x7E,0xB3,0x22,0x6B,0xEE,0x3F,0x1B,0xD7,0x62,0xC3, -0x21,0xA6,0xF1,0x3D,0x33,0x5F,0xFF,0x1A,0x41,0xDD,0x8D,0xEA,0xB9,0x75,0xBD,0xBE, -0x6D,0xE5,0xFE,0x32,0xC0,0xC2,0x0C,0x74,0xE7,0x16,0x2B,0x87,0x6F,0xA3,0xC2,0x17, -0x37,0xA7,0xE6,0x2A,0xB1,0x26,0x7D,0xE1,0xA9,0xBB,0x65,0x64,0xE1,0x2D,0x27,0x7C, -0xB0,0x89,0x4F,0x83,0xF3,0xD7,0x3F,0x52,0x48,0xF6,0x84,0xC8,0x59,0x95,0xD1,0x32, -0x0A,0x84,0xF8,0x34,0x17,0x4B,0xDB,0x2A,0x1F,0x20,0xD3,0x49,0x36,0xFA,0x79,0xF5, -0xEE,0x00,0x98,0x54,0x58,0x88,0x94,0xA6,0x0B,0x64,0xC7,0x19,0x00,0xCC,0x6A,0xD0, -0x4E,0xD4,0xEC,0x20,0x34,0x1E,0xF8,0x5C,0x87,0xF2,0x4B,0x03,0xBA,0x76,0xEF,0xEF, -0x31,0x7D,0x3A,0xF6,0x29,0x6C,0xE5,0x33,0xDA,0x5D,0x16,0xF1,0x5F,0x93,0xB6,0x53, -0xC1,0xE9,0x5E,0x92,0x2E,0x2D,0xE2,0x75,0x89,0x9F,0x45,0x60,0xA3,0x6F,0x94,0x8D, -0x14,0x96,0xF4,0x38,0x04,0x5A,0xC8,0x28,0x4D,0xC3,0x81,0xF8,0xC4,0x08,0x36,0x48, -0x65,0xF6,0xE5,0x29,0x90,0x02,0x5C,0xE4,0xD3,0x76,0x1F,0xD3,0x01,0xCD,0x4B,0xF0, -0xF9,0xEE,0x61,0xAD,0x3B,0x5D,0xF7,0x10,0xBE,0xAD,0x72,0x65,0x42,0x8E,0xD9,0x21, -0xE9,0x35,0xAA,0x66,0x24,0x5E,0xE8,0x0C,0x28,0x12,0xE4,0x4C,0x5B,0x97,0xA2,0x43, -0x32,0x83,0xC7,0x0B,0x72,0xFF,0xBE,0xFB,0x6C,0xC6,0xA0,0xDC,0x8B,0x47,0xBA,0x8B, -0xC4,0xCD,0x7F,0xB3,0x27,0x0F,0xEB,0x5E,0x38,0x42,0xF4,0x0C,0xC2,0x0E,0x51,0x29, -0xE5,0xED,0x7E,0xB2,0xEB,0x95,0x27,0x08,0x21,0x39,0xED,0x6E,0x07,0xCB,0x2C,0x91, -0xA8,0x41,0x9F,0x53,0xC6,0xA3,0x0A,0x13,0x0A,0x45,0xC6,0x39,0xF3,0x3F,0x04,0x4D, -0xF7,0x27,0xA6,0x6A,0xD2,0xF3,0x1E,0x57,0x6A,0xA1,0xA6,0xBD,0x0E,0xC2,0x07,0xB3, -0x49,0xE1,0xDE,0x12,0x78,0x8C,0xB4,0x82,0x8A,0xCD,0x46,0x31,0x69,0xA5,0xA5,0x76, -0x3F,0xB4,0xFD,0x31,0x5D,0xB8,0x91,0x93,0x12,0x1F,0xDE,0x7B,0x25,0xE9,0x7B,0xE4, -0xBC,0x51,0x9B,0x57,0x0C,0x58,0xC0,0x22,0x83,0xE6,0x4F,0x13,0xCE,0x02,0x4F,0x3B, -0x8B,0x70,0x8D,0x41,0xF5,0xB6,0x39,0x35,0xC9,0x5F,0x05,0xE0,0x8F,0x43,0xAE,0x9B, -0xB8,0x9A,0x54,0x98,0xFB,0xD5,0x37,0x58,0x6D,0xE7,0xA1,0xFC,0xD6,0x1A,0x15,0x79, -0xD0,0xDD,0x7B,0xB7,0x7D,0xBC,0xB1,0xB7,0x60,0xD8,0xAC,0xCE,0x93,0x5F,0xE0,0xC9, -0xFC,0xCA,0x40,0x8C,0xF0,0x86,0x3C,0x00,0xB8,0xCA,0x74,0x04,0x6B,0xA7,0xD6,0x07, -0xBF,0xAF,0x66,0xAA,0xCF,0x81,0x03,0x38,0xA8,0x9A,0x64,0x44,0xA5,0x69,0xF3,0xEC, -0x44,0xD6,0xE4,0x28,0x35,0x3E,0xF9,0x7D,0x96,0x83,0x5A,0x63,0xCB,0x07,0x7A,0x0B, -0x73,0xF7,0xF2,0x3E,0x37,0x4F,0xFB,0x0E,0x00,0x3C,0xCC,0x4A,0x55,0x99,0xCF,0x20, -0x8D,0xAA,0x51,0x9D,0xBF,0x45,0x73,0x8C,0xF9,0x2B,0x35,0xA4,0x0F,0xC3,0x26,0x93, -0xCE,0xCF,0x77,0xBB,0x7C,0x9C,0xB0,0x96,0xC1,0x55,0x0D,0xE2,0x78,0xB4,0xD4,0x16, -0x59,0x3A,0x15,0xD9,0x0F,0x09,0xC3,0x70,0x82,0xC7,0x4E,0x33,0x1D,0xD1,0x05,0xA2, -0x9D,0x71,0x9A,0x56,0xB0,0x06,0x7C,0xC0,0x79,0xA3,0xB5,0xAC,0x87,0x4B,0xA4,0x99, -0x56,0x1C,0x3C,0xF0,0xCE,0xA1,0x02,0x19,0x19,0x47,0xD5,0x28,0x18,0xD4,0x30,0x92, -0xF0,0x12,0x94,0x58,0xBD,0x34,0x71,0xFF,0xC5,0x41,0x09,0xF2,0x15,0xD9,0x0F,0xA0, -0x63,0x2C,0x39,0xF5,0x81,0x62,0x4D,0x95,0xDB,0x7C,0x17,0xD1,0x48,0x84,0xA0,0x52, -0x84,0x56,0xA4,0x68,0x1D,0x38,0xD1,0x53,0x06,0x5B,0xCA,0x2B,0x47,0x8B,0xEC,0x11, -0xF4,0xD9,0x5B,0x97,0x5A,0xF9,0x96,0xD5,0xDD,0x1B,0x11,0xB0,0xA2,0x6E,0xB5,0xAD, -0x17,0x68,0x09,0xC5,0xF6,0xE7,0x3A,0x67,0x85,0x81,0x49,0x72,0x5D,0x91,0xC5,0x22, -0xCC,0xDE,0x64,0xA8,0x0D,0x78,0xC1,0x03,0xD5,0x11,0x19,0xB2,0xAB,0x67,0x9E,0x8F, -0x6F,0xF4,0xED,0x21,0xDC,0x90,0x10,0x3A,0xFC,0x1E,0x30,0x94,0xD4,0x18,0x66,0x08, -0xFD,0x25,0xAE,0x62,0x46,0xAB,0x8A,0x9B,0x10,0x6C,0xDC,0x0A,0x26,0xEA,0x29,0xB5, -0xE8,0xDA,0x44,0x88,0xD6,0xE3,0x1A,0x43,0xFF,0x4C,0x33,0xC5,0xEA,0x26,0x7F,0x2F, -0x0B,0x6B,0x16,0xDA,0x14,0x1A,0xD8,0x78,0x3E,0x25,0xF2,0x6D,0x22,0xEE,0x3D,0xA5, -0x71,0xE6,0xE1,0x2D,0xAD,0x74,0x61,0xAF,0xD0,0x24,0x1C,0x82,0x9F,0x53,0xFE,0xDB, -0x91,0xA9,0x4E,0x82,0x63,0x9F,0xAF,0x8A,0x50,0xAC,0x9C,0x8A,0xB8,0x74,0x9C,0x9E, -0x50,0xC6,0xE0,0x2C,0x6B,0x9D,0xA7,0x80,0x52,0xDF,0x9E,0xFB,0x86,0x4A,0x85,0xB9, -0x7E,0xC0,0xC8,0x04,0xD8,0x80,0x14,0x2E,0x92,0x97,0x5E,0x73,0xFD,0x31,0x69,0x2E, -0x90,0x46,0xA0,0x6C,0x9C,0x10,0x50,0xFA,0x01,0x1D,0xCD,0x6A,0xEF,0x23,0x4A,0x1F, -0x88,0x8E,0x70,0xBC,0x49,0xE8,0x85,0xD7,0xE8,0x5A,0x24,0xC4,0x7A,0xB6,0xA7,0x67, -0xB9,0x75,0xBA,0x76,0x2C,0x5C,0xE0,0x06,0xCA,0x0D,0x06,0xB1,0x13,0xDF,0x68,0xC1, -0x87,0xA8,0x59,0x95,0x13,0x5B,0xDF,0x3E,0x80,0xB4,0x4C,0x42,0xAE,0x62,0xAB,0xBF, -0x09,0x7A,0x05,0xC9,0xBB,0x55,0x77,0x98,0x9E,0x89,0x52,0x61,0x75,0xB9,0xEB,0x24, -0x77,0x3C,0x3D,0xF1,0x1E,0x69,0xD2,0x01,0x30,0x48,0xFC,0x0E,0x9B,0x57,0xEA,0xCB, -0x99,0xBA,0x55,0x99,0x36,0x6F,0xFA,0x2F,0x73,0xDA,0xBF,0xDF,0x79,0xB5,0xF5,0x36, -0x61,0x3D,0x2A,0xE6,0x7A,0xFD,0xB6,0xF1,0x45,0xC9,0x89,0xFA,0x6E,0xA2,0xE3,0x37, -0xDC,0x05,0xAF,0x63,0xC4,0xD2,0x08,0x60,0x68,0xD2,0xA4,0xCC,0x3B,0xF7,0x46,0xC7, -0xD3,0x23,0x86,0x4A,0x5C,0x98,0x90,0xB2,0xAB,0xC8,0x67,0x15,0xDD,0x11,0x4D,0x2A, -0x5E,0x00,0x63,0x4B,0xE9,0xF1,0x30,0xD4,0xD5,0xE8,0x66,0x9B,0xA0,0xAD,0x90,0x25, -0x07,0xBB,0x3A,0xA9,0x4D,0x49,0x2C,0x70,0xDB,0xE6,0x05,0xF6,0x4A,0x74,0x49,0x16, -0x42,0x4E,0x7F,0x19,0x40,0x76,0x1E,0x7D,0x5D,0x60,0x6C,0x19,0x0D,0x5B,0x66,0x7E, -0xBA,0x78,0x87,0xD7,0x98,0x64,0xD4,0xA5,0xD0,0xED,0x56,0xAE,0x1A,0x60,0x5D,0x52, -0xDF,0xA9,0xE2,0x63,0x4A,0x0F,0x6D,0x77,0xF2,0xCF,0x23,0xF9,0xF7,0x86,0xBB,0x59, -0xB8,0x0B,0x85,0xA6,0xAA,0x63,0xE1,0x97,0x58,0x65,0x5C,0x2C,0x31,0xFE,0xC3,0xE7, -0xF4,0xD5,0xC9,0x34,0x32,0xB1,0xAB,0x0F,0x7D,0x40,0x68,0x3D,0x64,0xDD,0xE0,0x91, -0x1F,0xE1,0x22,0xEB,0xA3,0x48,0xC3,0x9E,0x2C,0x11,0x88,0x8C,0x81,0xBB,0x86,0x12, -0x5A,0x14,0x67,0x5B,0x4C,0x68,0x0C,0x71,0x52,0x6F,0x2F,0x55,0x53,0xE7,0xDA,0x9C, -0x13,0xFF,0x2E,0xF9,0x18,0xEC,0xDC,0x25,0x07,0x3A,0xDF,0xF0,0x1D,0x5F,0x62,0x6A, -0xD6,0x82,0xEB,0x41,0x01,0x97,0xBE,0x3C,0xCB,0xF6,0x45,0xA6,0x3D,0x5E,0x63,0x4B, -0x22,0xAA,0x1F,0x9D,0x2A,0xEB,0xE9,0x17,0xE6,0xDB,0x73,0xBD,0x91,0xBF,0x82,0x06, -0x15,0x98,0x28,0x98,0x6D,0x6D,0x28,0x50,0x24,0x19,0x8A,0x86,0x46,0xD4,0xE9,0xBA, -0xD0,0xE5,0xED,0x20,0xF3,0xD8,0x03,0xCE,0xB0,0x8D,0xD2,0x4A,0x26,0xC5,0xF8,0xCB, -0x93,0x77,0xAE,0xF1,0x9E,0x03,0xB5,0xA3,0x1B,0x26,0x8D,0xBE,0x3E,0x41,0x7C,0x57, -0x8A,0x0C,0xB7,0x93,0x08,0xBC,0x9C,0x35,0x04,0x39,0x8E,0xA2,0xE5,0x8A,0xB7,0x47, -0xD1,0xC4,0xEC,0x00,0x2B,0xCA,0xC9,0x16,0x78,0x45,0x58,0x08,0xD0,0xB8,0x85,0x40, -0x6B,0x41,0x56,0x3F,0xA7,0x5C,0xD3,0x9A,0x14,0x29,0xCE,0xF2,0x04,0xCC,0xF1,0xE0, -0x8E,0x18,0xB3,0x83,0xFA,0xF3,0x21,0xC7,0x09,0x34,0xBC,0x9D,0xAD,0x1A,0x27,0x9F, -0x72,0x3A,0x4F,0x5D,0xA9,0x31,0xB0,0x94,0x0E,0x33,0xFD,0xDB,0x39,0x7E,0x43,0x6F, -0xBE,0x6C,0x83,0xC7,0xC7,0xB8,0x57,0xFA,0xE0,0xDD,0x12,0xDA,0x35,0xDE,0xE3,0xC3, -0x30,0x89,0x0D,0xAC,0x89,0x15,0xB4,0xB4,0x91,0xAC,0xF6,0x4F,0x77,0xC6,0xFB,0x99, -0x88,0x7F,0xB5,0xE2,0x68,0x58,0x18,0x55,0xD3,0xEE,0x07,0xFC,0x59,0x6F,0x52,0x1E, -0xE7,0xD7,0xDA,0x25,0x3F,0x8E,0x99,0x02,0x37,0x0A,0x9B,0x84,0x54,0xD8,0xE5,0xA4, -0xAA,0x28,0x97,0x97,0xAF,0x56,0xD1,0x92,0xA8,0x95,0x90,0x10,0x67,0xC2,0xFF,0x8D, -0x80,0x75,0xBD,0xE0,0xAC,0x04,0x80,0x91,0x6C,0x51,0x08,0x4C,0x7E,0x51,0x6C,0x07, -0xCA,0xCC,0xF7,0x13,0x02,0xC5,0xEF,0x3F,0x92,0xAF,0xA7,0x1D,0x47,0xC3,0xFE,0xAC, -0x68,0x13,0x55,0x6E,0x61,0x73,0x3A,0x5C,0x13,0x2E,0x8F,0xB4,0x76,0xD1,0xEC,0x8F, -0xF2,0xB2,0xCF,0x55,0x8C,0x20,0x84,0xB1,0x23,0x1E,0xCB,0xC0,0x6B,0x62,0x5F,0x21, -0x2F,0x95,0x12,0xAF,0x81,0x1F,0xB6,0xBC,0x0F,0x32,0xDD,0xFA,0xCD,0x0B,0x36,0xEE, -0xAE,0x3C,0x93,0x87,0x45,0x43,0x2E,0x78,0x3C,0x01,0xC8,0xDC,0x89,0x3B,0x06,0x9A, -0xA1,0x70,0x9C,0xC4,0x00,0xB6,0x9E,0x3D,0x05,0x38,0xAE,0x83,0x3B,0x76,0x4B,0x65, -0xA8,0x5B,0x95,0xE6,0x53,0x74,0x0F,0x6E,0x16,0x2B,0xBF,0x81,0x6A,0x75,0x48,0x37, -0xBF,0x4D,0x82,0xE7,0x65,0x67,0x2A,0x58,0x5A,0x67,0x2D,0x5F,0xED,0x0A,0x37,0xCF, -0xEA,0xE8,0xD7,0x17,0x48,0x7C,0x1C,0x75,0xE4,0xD9,0x02,0xCE,0xD5,0x8F,0xB2,0x72, -0x0C,0xE3,0x31,0xFA,0x8B,0x66,0xC5,0xB6,0x7C,0x41,0x48,0x1C,0xF3,0xA6,0x9B,0x7D, -0xC2,0xC6,0xFF,0x11,0xEA,0xA3,0x61,0xD7,0x0C,0x31,0x8C,0xA8,0xA5,0x9A,0xA7,0x17, -0x7F,0x05,0x42,0x6F,0xA0,0x1A,0x92,0x9D,0x33,0x0E,0x8B,0x90,0x78,0x79,0x44,0x29, -0xA4,0x45,0x99,0xF4,0xBE,0x27,0xB1,0x83,0x9B,0xA6,0x85,0x36,0xAA,0x25,0x18,0xA7, -0x4A,0x44,0x77,0x1B,0x10,0xE6,0xDE,0x2D,0x3E,0x03,0xB9,0xAF,0xEC,0x1D,0x20,0xD9, -0x57,0x2B,0x6A,0x69,0x72,0x71,0x2B,0x4F,0x4B,0x76,0x4D,0x2E,0x16,0xC0,0xFD,0xFE, -0x2C,0xC7,0x11,0xFE,0xB2,0x39,0xA3,0x8F,0xF8,0xC5,0x50,0x80,0x10,0xE8,0xD5,0xD0, -0x3E,0xE4,0x03,0xCF,0x21,0xB3,0xBA,0x1C,0xBC,0x81,0xC0,0x54,0x96,0x80,0xBD,0x3E, -0xAB,0x09,0x96,0xB7,0xC8,0xF4,0x14,0xF5,0x69,0x54,0x38,0x79,0x5E,0x50,0x6D,0x26, -0x3B,0xD1,0x06,0xFF,0xDF,0xE2,0x15,0xE2,0xF6,0xCB,0x33,0xED,0x0A,0x64,0x59,0x46, -0xF3,0x93,0xCE,0x75,0x1E,0x8B,0xBD,0x23,0x34,0x09,0xCA,0xD6,0xBB,0x36,0x0B,0xA5, -0x4E,0x50,0x73,0x0B,0xF0,0x8A,0x52,0xCD,0x8D,0xB0,0xA4,0x01,0x36,0xC1,0xFC,0xDF, -0x69,0x32,0x54,0x4E,0x70,0x02,0x5A,0x4D,0x43,0x7E,0x4F,0x24,0x79,0x6E,0x53,0x3F, -0x8C,0x6B,0xB1,0xF2,0xA5,0x2F,0xA2,0x98,0xD6,0xEB,0x37,0xC9,0xB8,0x29,0x14,0xB9, -0x7A,0x30,0x47,0x5F,0xF5,0xBF,0x62,0xC8,0x2D,0x10,0xA8,0xAD,0x0E,0x44,0x79,0x62, -0x05,0xC8,0x38,0xD8,0xDC,0xB0,0x44,0xE1,0xFC,0xC1,0x40,0x94,0x24,0xCD,0xF0,0xC1, -0xF7,0x87,0xCA,0x65,0x30,0xC2,0xDA,0x0D,0x66,0x5B,0x7B,0x35,0xF5,0x8E,0xB3,0x53, -0xC4,0xA1,0xF9,0x70,0xE5,0xEF,0x22,0xD8,0x9D,0xA0,0xE4,0x51,0xC2,0xB4,0x89,0x5E, -0x99,0x0E,0xA4,0x82,0xFB,0xD2,0x01,0xC6,0xA1,0x9C,0xB2,0x3B,0xFC,0x19,0x24,0xCD, -0x96,0x42,0xAB,0xC1,0x26,0xF5,0xFB,0x1B,0x3D,0x00,0xE8,0xFD,0x86,0x84,0xB9,0x2A, -0x73,0x1B,0x4E,0x7D,0xFD,0xB5,0x60,0xC0,0x7A,0x47,0x29,0x7B,0x09,0x7B,0x46,0x5A, -0xA9,0x7A,0x94,0xC6,0xE1,0xFB,0x32,0xDC,0x5C,0x61,0x4C,0x38,0x1F,0x57,0x6A,0x60, -0xCC,0xAB,0xF1,0x72,0xA2,0x69,0xE3,0x9F,0x2F,0x12,0xD9,0xDE,0xEA,0x35,0x08,0xF7, -0x56,0x0A,0x6B,0x49,0x59,0x0D,0x7C,0x64,0x90,0xAD,0xD6,0x6E,0xA1,0xBA,0x87,0x33, -0xC9,0x9E,0xF4,0x42,0x39,0xE9,0xF8,0x04,0xEE,0xD3,0x71,0xB7,0xCC,0x1C,0x21,0xF8, -0x74,0x5D,0x49,0x3C,0x88,0x34,0x94,0xB5,0xEF,0xD2,0x51,0x96,0x7F,0x46,0x7B,0x11, -0x1A,0xD4,0x27,0xDB,0xB6,0x2D,0xB3,0x8B,0x15,0x28,0xEE,0xD3,0x06,0xC4,0xF9,0xEA, -0x84,0x61,0xB9,0xF0,0x20,0x92,0x9A,0x1D,0x17,0x2A,0x9F,0xA0,0x27,0xD2,0xEF,0xDD, -0xDE,0x88,0xE3,0x43,0xD9,0x85,0x74,0xE4,0x9F,0xA2,0x95,0x22,0x7A,0x71,0x4C,0x23, -0xDD,0x75,0xF9,0xEF,0xA0,0xF6,0x35,0x5E,0x9D,0xEC,0xBA,0x44,0x64,0x0F,0xA0,0x08, -0x5D,0xF5,0xF1,0x67,0xE5,0xD1,0x57,0x79,0xD2,0x43,0x5A,0xEB,0x41,0xE4,0x6E,0xC6, -0xF2,0x5A,0xBE,0x87,0x54,0x83,0xB4,0x2B,0xA1,0x49,0x23,0xE1,0x88,0x98,0xDB,0x73, -0x33,0x9B,0x16,0xEE,0xDE,0x4B,0xF6,0xE3,0x10,0x1B,0xC0,0xB3,0xB3,0x61,0x19,0xB1, -0x0C,0xA4,0x11,0xD6,0x64,0x86,0x81,0x2E,0x3D,0xAD,0x5B,0x05,0x31,0x6B,0x91,0x39, -0xE5,0x4D,0xBF,0x91,0x1C,0x13,0x6C,0xBB,0xF5,0x7D,0x43,0xD5,0x1C,0x93,0x44,0xEC, -0x5F,0xF7,0x80,0x14,0xC2,0xEF,0x4E,0x47,0xBD,0xED,0x9B,0x45,0x4B,0xE6,0x66,0xCE, -0x9F,0x37,0x08,0x5C,0x55,0x94,0xA2,0x3C,0xBB,0xC5,0xB5,0x6D,0xE5,0xFB,0xD5,0x7D, -0x93,0x3B,0x1A,0x42,0x5F,0x1C,0x20,0xB4,0x01,0x08,0xC2,0xA0,0x53,0x2E,0xB6,0x1E, -0x3D,0x95,0x75,0x83,0xB0,0xF2,0x21,0x5A,0x47,0x30,0xBC,0x98,0xCA,0x12,0x13,0xBB, -0xC7,0x6F,0xCA,0xC6,0xBA,0x7A,0xA3,0xD2,0x0E,0xB7,0x72,0x1F,0xCD,0x27,0x21,0x89, -0x8D,0x25,0x39,0x7F,0xC4,0xC7,0x60,0x6F,0xD3,0x54,0x4C,0xFC,0xF5,0x20,0x1E,0xB6, -0x65,0xCD,0xB7,0x19,0xBC,0x52,0x8D,0xFA,0x7E,0xA2,0x17,0x0A,0xAB,0xA9,0xC9,0x61, -0xA6,0x0E,0x6E,0x03,0x51,0xB4,0x86,0x1C,0x58,0x8B,0x18,0x23,0x79,0xE3,0x51,0xF9, -0x7E,0xD6,0xA4,0x11,0x4D,0x10,0x3E,0xB8,0xC1,0x58,0x52,0xF0,0xE4,0x14,0x3B,0x93, -0x48,0xE0,0x81,0x02,0x4C,0x07,0x28,0xAF,0x46,0x27,0xAA,0x8F,0x3A,0x86,0x77,0xDF, -0x0D,0xA5,0x31,0xF7,0x5B,0x3C,0x04,0x94,0x8C,0xFF,0xB8,0x57,0xC5,0x34,0x3A,0x92, -0xF4,0x5C,0xDF,0xE0,0xE8,0x66,0xED,0xCE,0xD1,0x5C,0x46,0xF4,0x47,0x3E,0xB2,0x1A, -0xA5,0x0D,0x3F,0x51,0x97,0xCC,0x38,0x64,0xD4,0x6B,0x74,0xC3,0xF3,0xFA,0xC2,0x6A, -0x9B,0x33,0x18,0x48,0x70,0xA2,0xB1,0x0A,0xAD,0xE9,0x8F,0x41,0xB6,0x45,0x38,0x90, -0x74,0xDC,0xD7,0x68,0xE2,0xEE,0x6F,0x46,0x0A,0x97,0x56,0x3F,0x0B,0x7D,0xBD,0x15, -0x14,0xBC,0x53,0x8C,0xE9,0x71,0xFB,0xD9,0x67,0x31,0x9D,0x99,0xD2,0xDA,0xC3,0x6B, -0xCC,0x64,0x99,0x9E,0x6D,0x11,0x1F,0xB9,0xB4,0x7A,0x05,0xD2,0x5D,0xE7,0x71,0xD9, -0x8F,0x27,0x48,0x0C,0xD9,0x74,0xCE,0xDC,0x41,0x18,0x92,0xB0,0xBB,0x72,0x02,0xAA, -0x0B,0xA3,0x50,0x90,0x6A,0x2E,0x27,0x86,0x2D,0xA9,0x4F,0x01,0x98,0x43,0x10,0xB8, -0xD0,0x78,0xCB,0xD0,0xD6,0xCB,0x7E,0x63,0xA2,0x56,0x3F,0xFE,0x1E,0x82,0x57,0xFF, -0xC8,0x60,0x89,0x8A,0xDB,0x7C,0xC4,0xD4,0x69,0x99,0x3B,0x31,0x34,0x4F,0xB0,0x18, -0xD6,0x7E,0xAA,0xB7,0x29,0x21,0x6B,0x89,0x57,0x34,0xA8,0x9C,0x5E,0x19,0x8C,0x24, -0xF1,0x59,0xEF,0xD5,0x73,0xBD,0xAD,0x15,0x8F,0xE0,0xA4,0x48,0xF1,0xEB,0xD1,0x79, -0x1D,0xB5,0x71,0xA7,0xCE,0x4F,0xE2,0xE7,0x5E,0xA3,0x36,0x0B,0x50,0xD0,0x4B,0xE3, -0x88,0x20,0x09,0x4A,0x59,0x34,0x0E,0x9C,0x13,0x04,0xDC,0xAC,0xAC,0x9C,0xFB,0x53, -0xD8,0x70,0xC9,0xDA,0xF4,0xC2,0x55,0x6A,0xA5,0x69,0x07,0xC1,0xC8,0x03,0x00,0xA8, -0xB3,0x1B,0x1E,0x66,0x5A,0x2B,0x12,0x83,0x95,0x6C,0x32,0xC4,0xDB,0x26,0x36,0x9E, -0x25,0x8D,0x37,0xD9,0x38,0x32,0x69,0x9A,0x4E,0xA7,0x22,0x0F,0xC7,0x25,0x29,0x81, -0x40,0xE8,0x83,0x08,0x33,0xAD,0xFD,0x05,0xED,0xF9,0xDF,0x51,0xE3,0x21,0x09,0xA1, -0xDE,0x76,0xA8,0xBD,0x8B,0x68,0x80,0xC0,0x8D,0xE8,0xAE,0x40,0x2F,0x79,0x9D,0x35, -0x2C,0x84,0x15,0xF2,0xEA,0x6E,0xE7,0xC6,0x96,0x73,0x2E,0xDB,0xC3,0xEE,0xE6,0x4E, -0x07,0xAF,0x42,0x8E,0x36,0x9A,0xCF,0x32,0x3A,0x92,0x63,0x3A,0xD8,0xD8,0xCB,0x63, -0x61,0xC9,0xA7,0x0D,0xF0,0xE2,0x71,0x4A,0xF8,0xCA,0xF9,0x62,0x30,0x84,0x7F,0xD7, -0x35,0x9D,0x77,0x89,0x52,0xAB,0x9A,0x03,0xB6,0x72,0x0F,0xDA,0x95,0x74,0x2A,0x82, -0x1F,0xB7,0x00,0xD4,0x9F,0x4C,0xB0,0xE4,0xCF,0xF0,0xF4,0x58,0x58,0xC3,0x50,0xF8, -0x8E,0x26,0x68,0x2D,0x40,0xA7,0x84,0x0F,0x2A,0x96,0x77,0x3E,0xE9,0x23,0x01,0xA9, -0x67,0xCF,0xC6,0x6A,0xC8,0x67,0xCC,0xCF,0x5C,0xAB,0x3C,0x03,0x9C,0x88,0xDF,0x77, -0x87,0x2F,0x4A,0x06,0x0D,0x00,0x6E,0xA8,0x9A,0xD3,0x82,0x7B,0x49,0xF7,0x75,0xDD, -0x6D,0xC5,0xB5,0x13,0xB2,0xFA,0x2B,0x52,0xA6,0x76,0x1B,0xDE,0x7C,0xC7,0x70,0xD8, -0xB5,0x1D,0x7F,0x01,0x7C,0x02,0x1D,0xAA,0xB1,0x4D,0x37,0xE5,0xCB,0xFD,0xFD,0x55, -0xC4,0x6C,0x9B,0x94,0xE0,0xE6,0x65,0x4E,0x0B,0x80,0x40,0x28,0xFE,0xCD,0xF8,0x50, -0x60,0xC8,0x87,0x2C,0x02,0xBF,0xDE,0x17,0xE1,0x59,0x73,0xF1,0x93,0xAE,0xF6,0x5E, -0x68,0xC0,0x85,0x26,0x2C,0x16,0x59,0xBE,0x22,0x16,0xFF,0xBE,0xB9,0x63,0x11,0xB9, -0x2D,0x85,0x35,0xD3,0x6F,0x19,0x15,0xB1,0x90,0x5B,0x00,0xF3,0xE6,0x05,0x28,0x80, -0xA1,0x09,0x2F,0x45,0xFE,0x4A,0xD7,0xE2,0xC0,0x4F,0x44,0xE7,0xA5,0x60,0x0E,0xA6, -0xAC,0x04,0x1D,0x7A,0x04,0x97,0xF0,0x3F,0x66,0x26,0x8B,0x8E,0x9F,0x76,0x22,0x8A, -0x2F,0x87,0x44,0xA0,0xB8,0x72,0xA9,0xDA,0xEC,0xEE,0xC9,0x46,0x78,0x0C,0xBF,0x17, -0x4C,0xE4,0x91,0x16,0xC5,0xD0,0x76,0x78,0xDD,0xFC,0xEA,0x54,0xD1,0x24,0x3E,0x96, -0x82,0x2A,0x7A,0x33,0x3C,0x12,0x4D,0xBA,0xCC,0xEF,0xE8,0x47,0x75,0x3B,0x85,0x2D, -0x81,0x29,0x2B,0x61,0x4B,0x38,0x10,0x90,0xD5,0x7C,0x62,0xD4,0x29,0xA3,0x41,0xE9, -0x45,0xED,0xB3,0x3D,0x49,0x30,0x1A,0x98,0xF2,0x42,0x7B,0xEA,0x99,0xAC,0xFE,0x56, -0x12,0xBA,0x32,0xEB,0x8E,0x5F,0xB2,0xF7,0xFF,0xF5,0xC1,0x5D,0xE1,0x30,0x1A,0xB2, -0xEA,0x42,0xFC,0xDD,0x6C,0x06,0x09,0xAE,0x9E,0xF3,0xA6,0x5B,0xBF,0xB9,0xCD,0x65, -0xA4,0x0C,0x1F,0x70,0x07,0x88,0xEC,0x20,0xDC,0xEB,0xFC,0x43,0x2A,0x5D,0xBC,0x14, -0xD7,0x7F,0x8A,0x96,0x28,0x36,0x7D,0x9E,0x06,0x37,0xFA,0x9F,0xF8,0x17,0x24,0x8C, -0x84,0x2C,0x1B,0x54,0xF6,0xCA,0x5F,0x62,0x92,0x53,0x0A,0xFB,0xBE,0x56,0x23,0x8B, -0x06,0xAE,0x62,0xAF,0xAB,0x69,0xA1,0xC1,0x7B,0x95,0x25,0x3D,0x6D,0xF3,0x55,0xFD, -0x8A,0x22,0x78,0x39,0x94,0xD3,0x24,0x7B,0xAF,0xE1,0x85,0x49,0x97,0x65,0x39,0x91, -0x77,0xC3,0xF0,0x66,0xF1,0xE2,0x46,0x76,0x76,0xF1,0x0F,0x2C,0x12,0xC5,0x42,0x82, -0x88,0xB3,0x0F,0xE9,0xB6,0x64,0x87,0x31,0xAD,0x2A,0x94,0x6C,0xAE,0x20,0xA7,0xDB, -0x15,0x54,0x92,0x93,0x2A,0xA2,0xDD,0xAD,0x70,0xF7,0x6E,0x4B,0xED,0x2F,0xA8,0x97, -0xB8,0xC7,0x3F,0xAD,0x16,0xC8,0x8B,0x91,0x6E,0xE9,0x4D,0x76,0x1F,0x72,0xF5,0x38, -0x82,0xCA,0x05,0x9A,0xED,0xAC,0x14,0x6A,0xBB,0x3C,0xB5,0x5B,0x0A,0x41,0xC6,0x1E, -0xC1,0x58,0x46,0x4B,0x77,0x0D,0x2F,0xF0,0x57,0xD0,0x2B,0x29,0xB7,0xB3,0x34,0x51, -0x48,0xFB,0xCF,0x61,0xA6,0x34,0xC7,0x21,0x7E,0xF9,0x0D,0x26,0x30,0xCC,0x4B,0xA9, -0x25,0x20,0xA2,0xD7,0x5D,0x50,0x58,0xDA,0x2E,0xA9,0xCD,0xB6,0x9D,0x3A,0xBD,0xF2, -0x7D,0xBA,0xFA,0x15,0x14,0xBB,0xFA,0x93,0x52,0xD5,0x1B,0x1C,0x2C,0x68,0xEF,0x11, -0xDE,0x44,0x59,0x48,0x9C,0x39,0xF0,0x1B,0xAB,0x2C,0xF5,0x0B,0x9F,0x32,0xB5,0xF8, -0xC8,0x73,0x4F,0x69,0x9E,0x4A,0x81,0x19,0x3D,0xBA,0xDC,0xB4,0xB4,0xAC,0x2B,0x4D, -0x4A,0x88,0xCD,0x10,0x64,0x0F,0x3E,0xE3,0x03,0x84,0xFB,0xAD,0x53,0xC2,0x45,0xC4, -0x10,0x61,0x97,0xA3,0x65,0x2E,0x1E,0xE2,0xB2,0x35,0x97,0x70,0x2D,0x7F,0xF8,0x07, -0xB6,0xAA,0x31,0xCE,0x1B,0xF7,0xB9,0x9C,0xD2,0x55,0x13,0x94,0x26,0xE0,0x67,0x93, -0x39,0x6E,0xBE,0x85,0xA4,0x47,0xB6,0x23,0x29,0xAE,0x8C,0xF0,0x1D,0x7A,0xFD,0x32, -0x5B,0xF9,0xDC,0x70,0xD7,0xA1,0x23,0x50,0x6A,0xED,0x5D,0x62,0xA9,0x1F,0x98,0xE3, -0x11,0x40,0x96,0x83,0xB5,0x36,0xD6,0x32,0x9B,0x1C,0xB1,0x7F,0x74,0xFC,0x7B,0xDD, -0x29,0x3E,0xAE,0xC5,0x10,0xAF,0xEA,0x97,0x35,0xB2,0xDE,0xBE,0x9B,0x12,0x95,0xDC, -0x75,0xB0,0xF2,0x17,0xB8,0x09,0xE4,0x3F,0x2B,0xAC,0xFD,0x83,0x00,0xC9,0x4E,0x9C, -0x96,0x8E,0x11,0xCA,0x87,0x31,0xE3,0x00,0x61,0xE6,0x0E,0x3A,0x7E,0x74,0xF3,0x5F, -0xAA,0xE4,0x2D,0x9C,0xF7,0x85,0x27,0x70,0x00,0x87,0xAA,0xFF,0x95,0xBA,0x3D,0x7A, -0x83,0xEB,0x04,0xBA,0x6F,0x57,0x6D,0xE8,0xC3,0x44,0x73,0xE5,0x78,0x5C,0xDB,0x71, -0x06,0x56,0x81,0x82,0xD1,0xC6,0x42,0x56,0xEE,0x69,0x45,0xFE,0x88,0x09,0x8E,0xD4, -0x79,0xAE,0xFE,0x05,0x9D,0x18,0xD0,0x1A,0xD8,0x5F,0x60,0xED,0x89,0x1E,0x99,0xC2, -0x62,0xA6,0xE5,0x16,0xC8,0xBD,0x20,0x4F,0xFB,0x7C,0x35,0x9B,0x21,0xDF,0x58,0xAB, -0xCD,0x46,0x4A,0x59,0x06,0x98,0xCB,0x81,0x7B,0xFC,0x3D,0x13,0x64,0xF8,0x7F,0xC9, -0x3A,0x3C,0xBD,0xD4,0xBF,0x4F,0xA5,0x38,0x95,0x12,0xD2,0x12,0x1A,0x45,0xC2,0x0A, -0x68,0xDF,0xEF,0x65,0x7D,0x74,0x5C,0xFA,0x54,0xD3,0x7A,0x7B,0x90,0x8D,0x0A,0x48, -0x5C,0xBF,0xDB,0x31,0xE2,0xE0,0x57,0x65,0x43,0xC4,0x7B,0x6D,0xD8,0x1D,0x9A,0x90, -0x8C,0xA7,0x0B,0xF9,0x37,0xCD,0xAF,0xB0,0xAA,0x2D,0xD5,0x2A,0xA0,0x88,0x0F,0x7D, -0xE4,0x49,0x63,0x7F,0x73,0x19,0x3F,0xF4,0x39,0xBE,0xCC,0xA0,0x91,0x9A,0x1D,0x5E, -0xCC,0x67,0x4B,0x79,0xC0,0xB7,0x22,0x47,0xF9,0x7E,0x44,0xE8,0x06,0xE1,0x66,0xB2, -0xD4,0x3D,0x53,0x3B,0xBC,0x1D,0xF4,0x3B,0xB4,0x33,0xF6,0x17,0x4A,0x51,0xD6,0x4E, -0x63,0x87,0xE4,0x36,0x58,0x65,0x68,0xDF,0xE3,0x64,0x77,0xC1,0x8D,0x3E,0xB9,0xE6, -0xCA,0x00,0x4D,0x18,0x1A,0xD6,0x99,0x9D,0x02,0x85,0xDB,0x8C,0xC3,0x86,0x01,0x10, -0xD2,0x5A,0x55,0x5A,0x6B,0x43,0x7D,0xEC,0x4C,0xCB,0x38,0x21,0xA8,0x08,0x8F,0xF5, -0x72,0xF6,0xF5,0x56,0x85,0x42,0x92,0x02,0x22,0xA5,0xDF,0xA8,0x32,0xC4,0x43,0xA3, -0x16,0x06,0x91,0xC2,0x82,0x04,0xD3,0x05,0x71,0xF6,0x4E,0x6A,0xEC,0x38,0xBF,0x81, -0xC0,0x79,0x47,0x6B,0x9F,0x6B,0xA1,0x18,0x2C,0xAB,0xBC,0xC5,0x50,0xDD,0x5A,0xD8, -0xB4,0xD9,0x33,0xBF,0xF3,0x91,0x37,0x74,0xA0,0x27,0xA6,0x53,0x6F,0x67,0xE0,0x5D, -0x7A,0xFC,0xFD,0x54,0x8E,0x1A,0xC1,0x09,0x8B,0x0C,0xF1,0x2F,0xAB,0x17,0x90,0xE9, -0x37,0x03,0xB0,0xE6,0xB7,0x45,0xA7,0x30,0xCE,0x49,0x41,0xDA,0xE8,0x18,0x9F,0xA5, -0x07,0x77,0x80,0xA2,0x84,0x63,0xB2,0x03,0x0A,0x8D,0xD9,0x86,0xC0,0x99,0x1E,0x0C, -0x6E,0xB8,0xE9,0x04,0xA8,0x59,0xA4,0x2F,0x07,0x80,0xEB,0xB9,0x3A,0x44,0xC3,0x2B, -0xDD,0x16,0x5A,0x19,0x98,0x2D,0xE0,0x1F,0xEA,0x6D,0x55,0xEA,0x01,0xDE,0x59,0x8A, -0xCF,0x35,0x48,0x28,0x19,0x84,0xC8,0x9E,0x89,0x0E,0x80,0x5C,0x7C,0x7C,0xFB,0x55, -0x5D,0x9E,0xDA,0x11,0xE7,0xD5,0x67,0x60,0x27,0xA0,0xEF,0x9D,0x8F,0x36,0xB1,0xEC, -0xCE,0x14,0x49,0x08,0x23,0x89,0xFF,0xA4,0x24,0xA3,0xBE,0xCF,0xF8,0x1C,0x9B,0xB1, -0xB7,0x8B,0x30,0xEE,0xA7,0x15,0xE7,0x20,0x28,0xAF,0xAC,0xD1,0x84,0xA9,0x2E,0x78, -0xD1,0x08,0x56,0x0B,0xF6,0xA4,0x07,0x71,0xB9,0x3E,0xC4,0x28,0x5B,0x42,0xC5,0x4C, -0xF2,0x7E,0x75,0x5E,0xD3,0xB5,0x33,0x54,0x21,0xA6,0x8E,0xFA,0xC9,0x0E,0x89,0x92, -0x8A,0xC0,0x0D,0x98,0x79,0x60,0x4C,0xFE,0xC1,0x46,0x02,0x96,0x0C,0x69,0xEE,0x30, -0x6C,0xCB,0xEB,0x75,0x5B,0x37,0x39,0xDC,0x13,0x94,0xBB,0xFD,0xB8,0x0C,0x8B,0xE1, -0x57,0xE7,0xD0,0x62,0xD6,0x80,0x03,0x51,0xCB,0x4C,0x71,0xEF,0x76,0xF4,0x73,0xD7, -0x78,0x8F,0xFF,0x25,0x50,0x6F,0x6A,0xD7,0xC6,0x41,0x43,0xD0,0xC6,0xB1,0x36,0x22, -0xA1,0xBC,0x26,0xCF,0x5E,0x02,0x09,0xD9,0x62,0xE5,0x5F,0x68,0x24,0xE8,0x6F,0x99, -0x86,0xDE,0x01,0x8A,0x8F,0x3B,0xE1,0x08,0x83,0x04,0xF3,0x25,0xFC,0x3C,0xBB,0x95, -0x4D,0xCE,0xCA,0x51,0x90,0x27,0xE2,0x17,0x15,0x92,0xDA,0x9A,0x9E,0x25,0xA2,0xEE, -0xC9,0x52,0x4E,0x49,0x3B,0xD3,0xBD,0xBC,0x78,0xFF,0x6C,0x41,0x4F,0x66,0xE1,0x7C, -0xD8,0x23,0x5F,0x29,0xAF,0x1F,0xE5,0x28,0xE6,0x61,0x47,0xF4,0xF7,0xA3,0x24,0x01, -0xB3,0x9F,0x34,0xFE,0x6D,0x24,0x1C,0xEA,0xA1,0x26,0x86,0x72,0xF2,0x94,0x13,0x33, -0x52,0xD2,0xD5,0x52,0x40,0x3F,0x2A,0xC7,0x8A,0x0D,0xD1,0x0E,0x2E,0x60,0xE7,0x1B, -0x53,0xF3,0xD4,0x72,0x8C,0x69,0xB0,0x0B,0x93,0x14,0xB3,0x75,0x96,0xA5,0x22,0x66, -0xEB,0x05,0x6C,0x3C,0xD9,0xCC,0x40,0x5E,0xC7,0x40,0x63,0xF1,0x34,0xEC,0x6B,0x8D, -0x67,0x9D,0x1F,0xE6,0x83,0x19,0x62,0x7F,0xD9,0x3D,0x7A,0x01,0x2D,0x0F,0xBC,0x56, -0x0C,0x13,0xFA,0x68,0x2E,0x57,0x2C,0x9C,0x4C,0xD9,0x0B,0x70,0x35,0x55,0xFE,0x4E, -0xEE,0x4A,0x41,0x31,0x18,0xAF,0xD4,0x52,0x12,0x50,0xDC,0xA7,0x33,0x32,0x9F,0x48, -0x29,0x25,0xE9,0x5E,0xCE,0xF8,0x83,0xD3,0x6A,0xCC,0x38,0x43,0x84,0x88,0x92,0xFF, -0xF4,0xC6,0xD7,0xBD,0xCA,0x37,0x4C,0x18,0x64,0x05,0xFF,0x84,0x27,0x76,0xCF,0x5C, -0xCB,0x7C,0x52,0x07,0x5C,0xBB,0xC0,0x02,0x9E,0x93,0x93,0xE8,0x53,0xD6,0x1B,0x28, -0x96,0xDF,0xAC,0xA4,0xA7,0x39,0x42,0x7B,0x4D,0x36,0xE5,0x9E,0x95,0xF9,0xF2,0xEE, -0x48,0x23,0x8E,0x58,0x65,0x6A,0x11,0xEA,0x0B,0x77,0xE2,0x99,0xF1,0x09,0x66,0x8A, -0x64,0x82,0x03,0xF9,0x89,0x11,0x6A,0x7D,0x6C,0x16,0xE4,0x9F,0xE0,0x78,0x06,0x9B, -0x9E,0x5F,0x24,0x24,0xB6,0x1C,0x67,0x4F,0x56,0x00,0xC8,0xB3,0x89,0xB7,0xA0,0xF2, -0x0F,0x0C,0xE6,0x77,0x20,0x90,0xEB,0x55,0x15,0x65,0xEE,0x95,0x9D,0xF3,0xF0,0xE6, -0x4C,0x03,0xAA,0x78,0xD5,0xD5,0xAE,0xE5,0x4A,0x03,0xD7,0xAC,0xD0,0x0C,0x42,0xAB, -0x2B,0x2D,0xE3,0x56,0x92,0x3C,0x47,0x4B,0xDA,0xC3,0x87,0xFC,0xBA,0x91,0xB5,0xC1, -0x5C,0x07,0xBE,0x7C,0xC0,0x3F,0x44,0x1A,0x86,0x5B,0x43,0x38,0x29,0x1B,0xAC,0x52, -0xA5,0xC5,0x85,0xBE,0xE5,0xF1,0x8A,0xF1,0x22,0x44,0xF8,0x83,0x3A,0x19,0xBD,0x41, -0xD8,0x67,0x5A,0x1C,0x53,0x92,0xE9,0x24,0x8B,0x6C,0x79,0x02,0x28,0x3A,0x8C,0x53, -0x6D,0x15,0x9D,0x6E,0xF5,0x3A,0x41,0x2A,0xBA,0x97,0xB3,0xC8,0x15,0x71,0xFA,0x6E, -0xA8,0x72,0x3F,0x09,0x99,0xDA,0xA1,0xA6,0x6F,0xE8,0x19,0x62,0x6D,0xCF,0x3C,0x16, -0x20,0xB2,0x77,0xC9,0xDE,0x33,0x48,0x08,0x1A,0x43,0xC7,0xBC,0x50,0x84,0x4A,0x2B, -0xFF,0x59,0x43,0x22,0x27,0xA2,0xD9,0x60,0xAB,0xA3,0x96,0xED,0x36,0x07,0xAF,0x4D, -0x62,0xAA,0x2D,0xD1,0xDF,0xDD,0xA6,0xE7,0x60,0xCE,0x30,0x4B,0x9F,0x80,0x81,0xE4, -0x80,0xF3,0x96,0x88,0x67,0x79,0x02,0xFB,0x0D,0xAD,0x3E,0x45,0x46,0xB3,0x6B,0x3D, -0x1C,0x17,0xEE,0x6C,0xF2,0x08,0x73,0x1F,0x38,0x9D,0x3B,0x40,0x8B,0xC4,0xD1,0xF0, -0xD2,0xEF,0xD8,0x94,0xE0,0xD0,0xAB,0xD5,0x8F,0xA7,0xB6,0xCD,0xB0,0xE8,0xC6,0xCB, -0xEB,0x7D,0x73,0x06,0x4E,0x63,0x18,0xC8,0xDC,0x19,0x5B,0x20,0x2E,0x5D,0xED,0x55, -0x53,0xB8,0x0E,0xC3,0xFB,0xFD,0x86,0xE3,0x10,0x41,0xCF,0xB4,0x3F,0x2C,0x8D,0x44, -0x58,0x27,0x9A,0x5C,0x2A,0x98,0xE3,0x57,0x34,0x45,0xEF,0x94,0x61,0xD1,0x2E,0x1A, -0x3A,0x3E,0xE1,0x45,0x95,0x0E,0x75,0x7E,0x28,0x46,0xF0,0x8B,0xAA,0xC1,0xF5,0xD1, -0x32,0xBE,0x69,0xC5,0x7A,0x88,0xF3,0x17,0x66,0x14,0xEC,0x97,0xB4,0xFC,0xD6,0xCF, -0x90,0xF7,0x82,0x8C,0xFE,0xDC,0xA7,0xC7,0xC3,0xE4,0xB9,0xC2,0x0C,0x0A,0x98,0x77, -0x56,0x8F,0x3C,0xF4,0x7D,0xBA,0xC1,0x22,0x2B,0xB8,0x0D,0x76,0x54,0x90,0x5A,0x2F, -0x8A,0x7B,0x14,0x00,0x01,0x91,0xEA,0x75,0x30,0x8E,0x20,0x5B,0xB5,0xDD,0xF6,0xCE, -0x49,0x34,0x98,0x4F,0x44,0x6B,0x10,0xCA,0xAD,0x79,0x4A,0x31,0xF2,0x5B,0x37,0x89, -0xBB,0x69,0x37,0x12,0x79,0x75,0x0E,0xE9,0xC7,0x2F,0x76,0x0D,0x5F,0xC8,0x09,0x24, -0xB6,0xDE,0x8D,0xA5,0x23,0x6D,0x16,0xAB,0xED,0xE2,0x91,0xEA,0x90,0xCC,0xC2,0xEB, -0x0A,0x3B,0xD4,0x40,0x63,0xB6,0xCD,0x30,0x6B,0x23,0xD6,0xAD,0x6F,0xBC,0x4D,0x14, -0x94,0xD7,0xA6,0xAC,0x29,0x65,0x1E,0xA9,0x3B,0x63,0xC6,0xBD,0xAF,0xF4,0xC5,0xD4, -0x39,0x21,0xFD,0x5A,0xB9,0x35,0x4E,0x69,0x5F,0xFC,0x3D,0x46,0xC2,0x2F,0x73,0xB9, -0xAE,0x5A,0x11,0x21,0x54,0xA0,0xDB,0x11,0xA3,0xB0,0x8D,0xF6,0x65,0xC5,0x3E,0x1E, -0x13,0xA8,0x5E,0xD3,0x26,0x4C,0x37,0x8F,0x02,0x8B,0x17,0x6C,0x26,0x57,0xEF,0x5D, -0x10,0xB7,0x42,0xCC,0xBB,0x26,0x5D,0x78,0x45,0x25,0xFE,0x85,0x2F,0x7C,0xCD,0x54, -0xF7,0xD9,0xCB,0xA2,0xA2,0x18,0x63,0x5F,0x00,0x9A,0x04,0x7F,0xAD,0x87,0xB4,0xD6, -0x88,0x73,0x1E,0x08,0x13,0x49,0x32,0xBF,0xB4,0x5E,0x74,0x0F,0x9A,0xB5,0xB1,0xE1, -0x3B,0x29,0xF7,0x52,0x04,0xB0,0xCB,0x51,0x36,0x54,0xFC,0x87,0x39,0x4B,0xEC,0x42, -0xB9,0x61,0x3D,0x1A,0xFF,0x32,0x49,0x28,0x48,0x12,0xC4,0xBF,0xDE,0x61,0x21,0xA5, -0x0D,0x04,0xEC,0x7F,0x6D,0x71,0x0A,0xF9,0xAE,0x87,0xB7,0xCC,0xBC,0xF6,0xD4,0xC7, -0x89,0x64,0x08,0x1F,0x7F,0xA9,0xD2,0x33,0x21,0xBA,0x05,0x7E,0xF7,0x6E,0x07,0x8C, -0x82,0xFB,0x9C,0x80,0x9B,0xC9,0xB2,0xB7,0xF8,0x1D,0x7B,0x00,0x51,0xA5,0x6A,0x2A, -0xA4,0xD2,0x93,0xA9,0x8C,0x30,0x4B,0x59,0x06,0x40,0xD8,0xA3,0x92,0xBF,0xB3,0xE9, -0xDA,0x6F,0x50,0x14,0x35,0x7A,0x01,0xAA,0x3E,0x47,0xE7,0x9C,0x71,0x81,0x6E,0x0A, -0xD0,0xE7,0xD2,0x9C,0x70,0x80,0xFB,0x15,0x39,0x72,0xD5,0xAE,0xF6,0x4F,0x27,0x8D, -0x3F,0x09,0xD3,0x72,0xB1,0x2E,0x55,0x7A,0xA0,0x4E,0x70,0x0B,0xCE,0x31,0x61,0xB5, -0x2C,0x12,0xDB,0x69,0xF1,0xF5,0x8E,0xE1,0xC9,0xE6,0xB1,0xCA,0xE1,0x59,0x26,0x9A, -0x2D,0x05,0xCD,0x7E,0xE2,0xC3,0xB8,0xC4,0x17,0x74,0xFD,0x86,0x9E,0xA1,0xA1,0xE5, -0x31,0xA1,0x75,0xDA,0xF0,0x1B,0x60,0x0E,0x8A,0x83,0x97,0xEC,0x4D,0xEB,0x38,0x36, -0xDC,0x47,0x7E,0x3C,0xEA,0xD8,0xA3,0xD7,0x58,0xC9,0x0F,0x74,0x64,0xE4,0x1E,0x1F, -0xBE,0x5E,0x05,0x25,0x1D,0x8E,0xF5,0x76,0x40,0x01,0xDF,0xA4,0xDD,0x33,0x70,0xA6, -0x34,0x96,0x47,0xED,0x74,0x4F,0x34,0xDE,0x7B,0xF8,0x1D,0x66,0x8F,0xD0,0xC1,0xF4, -0x85,0xC4,0xA4,0xBF,0x94,0xE0,0x9B,0x91,0xB2,0x84,0xA8,0xD3,0x85,0xA9,0xB2,0xFE, -0xC0,0xE3,0xC6,0x98,0x1C,0x60,0x1B,0x99,0x97,0x6F,0x66,0x1D,0x2A,0x49,0xFD,0x51, -0x35,0x81,0x51,0xFA,0xAF,0x22,0x59,0x68,0x16,0x9B,0x13,0x68,0x03,0x46,0xDB,0x78, -0xA2,0xFA,0xBD,0x81,0xE7,0xE2,0x99,0xE0,0xB8,0x86,0xA0,0xDB,0x2B,0x68,0xDD,0x50, -0x7C,0x06,0x9F,0x7D,0x62,0x58,0x23,0xDF,0xEF,0xF3,0x82,0xF9,0xBB,0xB0,0x95,0xC0, -0x04,0x93,0x72,0xE8,0x25,0xB1,0xCA,0x71,0xC2,0x0B,0x57,0x2C,0x6B,0xA8,0x5D,0x10, -0x09,0x19,0xD3,0x32,0xFD,0xB0,0xB5,0xA0,0x38,0xC7,0x17,0xD7,0x7E,0x90,0x06,0x16, -0x8B,0x9B,0xAA,0xC9,0x42,0x4A,0xF0,0x5A,0x1F,0xF9,0x0E,0xE9,0xF7,0x77,0x68,0x78, -0x9D,0x8D,0x8B,0xFE,0x33,0x48,0x83,0x58,0x36,0x6F,0xB1,0x7F,0x42,0x5C,0xF6,0xE6, -0x3E,0x2E,0xD6,0x00,0x39,0xC0,0x01,0xD0,0xD8,0x96,0xA6,0x86,0xAB,0xEF,0xAC,0xBC, -0x18,0x08,0xB3,0x43,0xE0,0x03,0x1B,0x13,0x9E,0xAE,0xD8,0xBE,0x59,0x6A,0xDB,0xCB, -0x7A,0x6A,0x46,0xD4,0x75,0x70,0xFD,0x60,0x4F,0xED,0x4A,0xFD,0x88,0xDE,0xBE,0xAE, -0xF5,0xE5,0x0D,0x10,0x7A,0xCF,0x4D,0xDF,0xD0,0x16,0x2E,0x06,0x29,0xE5,0x24,0x34, -0x53,0x43,0x60,0xDB,0xDD,0xB1,0x94,0xA1,0x54,0x76,0xCA,0x66,0xBD,0xEE,0xBB,0xAB, -0xFB,0xEB,0x6E,0x7D,0x48,0xC2,0x72,0xD2,0x8E,0xAA,0xCC,0xBA,0x82,0xDC,0xB6,0xA6, -0x56,0x46,0x50,0xEE,0x1E,0xFE,0x18,0xEE,0xAD,0xB4,0xF1,0xA4,0x2D,0x2E,0xEB,0xFB, -0xCB,0xDB,0x2A,0x09,0x44,0x62,0xDE,0x72,0x57,0x69,0xD6,0x79,0x61,0x6D,0xE4,0xF4, -0x34,0x24,0xA5,0x79,0x85,0x25,0x58,0x35,0xCC,0xB2,0x96,0xA2,0x38,0xD1,0x01,0x11, -0x66,0x76,0x14,0x9A,0x9B,0x89,0xEA,0x99,0x0E,0xEA,0x0C,0xFA,0x48,0x5E,0xFE,0xEE, -0x0B,0x1B,0xA2,0x41,0x04,0x72,0x8E,0x62,0xCE,0xBA,0x9C,0xAA,0x13,0xF3,0x08,0x18, -0x82,0x92,0x88,0xE2,0xEC,0xA3,0xB7,0xB3,0xE8,0x93,0x93,0x83,0xEB,0x74,0x77,0x67, -0xC1,0xD1,0x59,0x70,0xD7,0x39,0x16,0x29,0x76,0x7F,0xE1,0x6F,0xA4,0xC9,0x85,0x95, -0x2B,0x3B,0xA6,0x65,0x9F,0xA9,0xCE,0xB9,0xB9,0x90,0xC1,0x80,0xF2,0x53,0x49,0x59, -0x79,0x69,0x17,0x86,0x66,0x6B,0xF5,0x7B,0x11,0x51,0xA8,0x41,0xB0,0xD9,0x81,0x91, -0x8E,0x9E,0x9A,0xFC,0x08,0xD2,0x22,0xC2,0xFE,0xBF,0xA9,0xAF,0x73,0xA7,0x3C,0x2C, -0x21,0x31,0xD5,0x1C,0xE3,0x1C,0x07,0x0C,0xF6,0x3F,0x21,0x2F,0x11,0xE2,0x1B,0x0B, -0x8F,0x9F,0xBA,0xDD,0xE1,0x14,0x0D,0x04,0x87,0x3D,0x52,0x2D,0x08,0xC5,0x25,0x35, -0xA7,0xB7,0xBC,0xF3,0xFC,0xA7,0xA3,0xB7,0x0F,0xFD,0x1A,0xED,0xE4,0x52,0x5E,0x4E, -0xCF,0xDF,0x3A,0x1D,0x6C,0xE3,0x77,0xF3,0x16,0x6E,0x90,0x7E,0xC7,0x63,0x4C,0x5C, -0x1F,0x0F,0xF2,0x05,0x94,0x36,0x5A,0x26,0xB8,0x87,0xD7,0x97,0x2A,0x1B,0xD9,0xC9, -0xD5,0xC5,0x09,0x34,0x20,0x53,0x8B,0x43,0xCD,0xA5,0x80,0xB5,0xE5,0xBD,0xB0,0xA0, -0x36,0x26,0xD4,0x0A,0x27,0x6C,0xB3,0x7C,0x3E,0xEF,0x39,0xFF,0x26,0xC3,0x0D,0x1D, -0x6A,0x7A,0x06,0x84,0x29,0xC4,0x15,0xD4,0x1D,0xF1,0x04,0xE1,0x66,0x58,0xD6,0xC6, -0x52,0x42,0x40,0xFA,0x15,0x61,0x8C,0x71,0x72,0x5F,0xC5,0x4F,0x67,0xB7,0x38,0x28, -0x3A,0x2A,0xC6,0x14,0x13,0x49,0xA2,0x59,0xA3,0x1C,0x57,0x0C,0x78,0x4A,0xDA,0xCA, -0x45,0x55,0x41,0xEC,0x81,0x05,0x7C,0x15,0x86,0x2A,0x44,0x3A,0x6E,0x4B,0xCD,0xDD, -0xC0,0xD0,0x79,0x51,0xAE,0xBB,0xED,0xAB,0xB0,0x07,0x5F,0x17,0xCB,0xBB,0x98,0x88, -0xE9,0xF9,0x5F,0x5E,0xE4,0x23,0x3F,0x33,0x69,0xC4,0x45,0xD4,0xC0,0x56,0x7E,0x6E, -0x2D,0x3D,0xC7,0x02,0x67,0x7C,0xE3,0x6C,0x28,0xC3,0x03,0xD3,0x91,0xF9,0x80,0x90, -0x44,0x54,0x61,0xCD,0x71,0x50,0xD9,0x40,0x1A,0xCE,0x3C,0xDE,0xB6,0x03,0x5D,0x4D, -0x74,0x64,0x25,0xB9,0x64,0x63,0xFF,0x73,0x82,0x0A,0x60,0x1A,0x1F,0x2B,0xDC,0xCC, -0x39,0x29,0x97,0x46,0x02,0x5A,0xA0,0x4A,0x32,0x4F,0x95,0x5F,0x53,0x68,0xD3,0xC3, -0x8D,0x9D,0xCB,0xAE,0x3C,0xF7,0x33,0xE7,0x7D,0xE0,0x75,0xF0,0x0B,0x3B,0xD8,0xC8, -0x1E,0x0E,0xD2,0x24,0xA4,0x33,0x6F,0x23,0x2C,0xE3,0x27,0xF3,0x56,0x4C,0xF2,0xE2, -0x8C,0x9C,0xEB,0x8F,0x0B,0xCD,0x3E,0xDD,0x43,0x4D,0xE6,0x5D,0xEF,0xBF,0xB8,0xA8, -0x9E,0x8E,0xDA,0xAC,0x23,0x4C,0x97,0x5C,0x96,0x2E,0x50,0x3E,0x30,0xC2,0x1A,0x0A, -0x91,0x81,0x99,0xE0,0xBE,0xBF,0xF9,0xAF,0xFB,0x88,0x9B,0x98,0x4F,0x6B,0xCC,0xDC, -0x89,0x99,0xDB,0xBA,0x5A,0xCE,0x6C,0xDE,0x18,0xC6,0x36,0xD6,0xAA,0x00,0x42,0x52, -0x20,0x30,0xF5,0x3D,0xAB,0x8C,0xDF,0x9C,0xB4,0x27,0x7B,0x37,0x5C,0x4E,0xFA,0xEA, -0x97,0x87,0xF8,0x87,0x37,0x68,0xA7,0x78,0x35,0x70,0xAD,0x60,0xF4,0x89,0x95,0x85, -0xF7,0xE7,0x7C,0x63,0xF4,0x27,0x2B,0x37,0x65,0x64,0xE9,0x74,0xE7,0xAC,0xA3,0xB3, -0x83,0x93,0xA8,0xC3,0x62,0x4B,0xD1,0x5B,0x7F,0xE8,0x7F,0xF8,0x62,0x93,0x19,0x09, -0x55,0x45,0x01,0xBC,0x10,0x56,0xBE,0x46,0x8D,0xB5,0xD0,0xA5,0x3B,0x2F,0xFC,0xEC, -0x31,0x21,0x95,0x4C,0x51,0x51,0xF8,0x41,0x1C,0xE6,0x12,0xF6,0x19,0xF1,0x00,0x10, -0x9B,0x8B,0xEA,0x99,0x26,0x7B,0xA5,0x6B,0x84,0x22,0x4E,0x32,0xBB,0x34,0x67,0x77, -0x8A,0x9A,0x8A,0xE8,0x7E,0xEF,0x69,0xFF,0xAF,0xBC,0xFB,0xAC,0xC6,0x8C,0xA2,0xB2, -0x0E,0x1E,0x92,0x74,0x21,0x44,0x9D,0x54,0x19,0xD1,0x20,0xC1,0x54,0x5D,0xE1,0xF1, -0xC5,0xD5,0x49,0x64,0x22,0x5B,0x81,0x4B,0x30,0x47,0x9F,0x57,0x2F,0x3F,0xF8,0xE8, -0xA8,0xB8,0xFF,0xBF,0x83,0x0D,0x76,0x1D,0xA0,0x03,0x4B,0x13,0x37,0xF7,0x28,0x38, -0x10,0x00,0xB1,0x49,0x73,0x58,0xD3,0x48,0x70,0x57,0xCF,0x47,0xDC,0x55,0x61,0x71, -0x11,0x01,0x91,0x68,0xE9,0x94,0x85,0x84,0x12,0x4E,0xB4,0x5E,0xA1,0xED,0xA4,0xB4, -0xF0,0xE0,0x3D,0x25,0xDF,0xB9,0x9E,0xA9,0x45,0x65,0xC8,0x75,0x89,0x31,0x50,0x40, -0xC9,0xD9,0x5B,0x7A,0x8F,0xAD,0xDA,0xBD,0xC1,0x05,0x2C,0x15,0x8A,0xCF,0xAD,0xBD, -0xB1,0xA1,0x9D,0xC4,0xF0,0x07,0x0F,0x17,0x4D,0xE5,0x40,0xF5,0x28,0x0A,0xCA,0xDA, -0x92,0x82,0xC8,0xB2,0xC4,0x22,0x1E,0x32,0x07,0x7D,0x92,0x6D,0xF6,0x98,0x86,0x96, -0xF4,0xE4,0x2D,0x31,0x24,0x73,0xAF,0x63,0x6F,0xEC,0x6B,0xFC,0xC2,0x47,0x6D,0x7D, -0xE2,0xF2,0x0C,0x06,0xCA,0x8A,0xB8,0x9A,0x9C,0xA6,0xD2,0xB6,0x23,0xE7,0x2C,0x3C, -0x3B,0x2B,0xE6,0x35,0xA9,0x84,0xD5,0x94,0x80,0x02,0x6A,0x12,0x98,0x05,0x75,0x65, -0x14,0x04,0xA1,0x5D,0xC0,0x02,0x3A,0x12,0xB2,0x0F,0x55,0x1F,0x6D,0xB5,0x30,0x20, -0x2F,0x3F,0xB6,0x71,0xFA,0x8F,0x8D,0x9F,0x78,0xD7,0x47,0xC7,0x5B,0x7B,0xC8,0xD8, -0x3E,0xAF,0x1A,0x7D,0x37,0xB4,0x4B,0x13,0x04,0x20,0x5E,0x92,0x4A,0x20,0x04,0xA2, -0x91,0x4F,0xB5,0x32,0xF9,0x91,0xA0,0xDD,0x84,0xA0,0x56,0x1A,0x0F,0x07,0x23,0xC0, -0x66,0x35,0x42,0xBF,0x40,0x46,0xCE,0x64,0x6A,0x4E,0xB9,0x1B,0x71,0xBA,0x9E,0x03, -0x34,0xD6,0x10,0x0E,0x82,0x7D,0x37,0xA6,0xAB,0x8F,0x11,0x72,0xFB,0x72,0x56,0x41, -0x00,0xB6,0x24,0x5A,0x1D,0xE9,0x3C,0x39,0xBC,0x98,0x10,0x64,0xB3,0xE2,0xC6,0x99, -0xD0,0xAE,0xF4,0x92,0xC8,0xC4,0xC4,0xEC,0x55,0x71,0xBE,0x23,0xCB,0x77,0x53,0x74, -0xB8,0x40,0x9C,0x14,0x8C,0x10,0x54,0xA8,0xC6,0xE2,0xA7,0xA9,0xFA,0x65,0x41,0x57, -0x90,0x6E,0xB4,0x12,0x3F,0xBE,0x49,0x1B,0x06,0x22,0x2F,0xE1,0x6D,0x1E,0x3A,0xBB, -0x4D,0x49,0x69,0xE8,0x4A,0x3F,0xBD,0x6E,0x64,0x40,0xDA,0x76,0x1F,0x03,0x27,0xD4, -0x75,0x37,0x51,0xAE,0xEF,0xA6,0x81,0xCB,0xCA,0xEE,0xB5,0xB7,0xF0,0xED,0xC9,0xD5, -0x29,0xB9,0x0D,0x7C,0x47,0x00,0x8F,0x63,0xD4,0xF0,0x96,0x8A,0x6B,0x36,0x12,0x95, -0xCA,0x87,0xEE,0xA1,0x78,0x38,0x88,0x5C,0x9E,0xBA,0x65,0x33,0x15,0x8B,0xAF,0x56, -0xF6,0xED,0xD2,0xF7,0x08,0x8C,0x4C,0x2C,0xFF,0xDB,0xC1,0xF6,0xFE,0x45,0x61,0x73, -0xDF,0xE2,0xFB,0xD1,0x90,0x5E,0x06,0xB4,0x3C,0x18,0x18,0xEC,0x13,0xA3,0x87,0x78, -0x5A,0x5F,0x7E,0xE9,0x2E,0xCF,0x29,0x0A,0x11,0x35,0x2E,0xF7,0xE3,0xF6,0xD2,0xDD, -0x25,0xA7,0x01,0x6E,0x62,0x11,0xBB,0x46,0x27,0x03,0x0B,0xE4,0xE2,0xE1,0xC5,0xCB, -0x21,0xB3,0x05,0x7E,0xEB,0xB2,0x91,0xCF,0xAD,0x89,0x70,0x15,0x47,0x97,0xB3,0x18, -0x82,0x4D,0xA6,0x23,0x63,0x30,0x9B,0x47,0x54,0x70,0x9E,0x02,0xF4,0xCD,0xE9,0xF1, -0x94,0x7A,0xB0,0x02,0x61,0x43,0xEA,0x45,0xC2,0xE6,0xB7,0xBD,0xDF,0x53,0x77,0x44, -0x16,0x81,0x32,0x7B,0x9B,0x06,0x55,0xBF,0xFC,0xD8,0x90,0xA4,0x38,0x3D,0x19,0xCD, -0x4C,0x68,0x68,0xC8,0x9A,0x27,0x75,0xBE,0x4D,0x69,0xFC,0x79,0x46,0x80,0xA4,0x0E, -0xEA,0xA3,0xCE,0xA5,0xE4,0xFE,0xD2,0xC0,0x2D,0x09,0x78,0x9D,0x4D,0x1F,0x3B,0x9A, -0x65,0x67,0x41,0xEE,0x5B,0x4E,0xDD,0x7F,0xD6,0xF2,0xE7,0xF9,0x76,0x85,0xA1,0x3B, -0x07,0xF0,0x23,0x1B,0x28,0xA8,0x48,0x0C,0x95,0xB1,0x36,0x6B,0xC2,0xE0,0xC4,0xEA, -0x2B,0xCA,0x0F,0x0D,0x0E,0xEB,0x2D,0x2A,0x89,0xAD,0x64,0x25,0x79,0x3A,0x1E,0x8B, -0xD4,0xBA,0xF0,0x82,0x49,0x6D,0xEC,0x6D,0x52,0x76,0xFF,0x65,0xC5,0xDF,0xFB,0xD2, -0x49,0x5D,0x6D,0xF8,0xD5,0xAB,0xB6,0xF1,0x8F,0xAB,0x05,0x42,0x86,0xD0,0xF4,0x9E, -0xE4,0xCE,0xC0,0xC6,0xE9,0xC1,0xE0,0xCD,0x91,0xB5,0x26,0x7F,0x74,0x8D,0xA9,0x31, -0xDE,0xC3,0xFA,0xF1,0x12,0xA5,0x7F,0x36,0x44,0x60,0xDE,0x52,0x61,0xBE,0x9A,0x17, -0x9D,0x51,0xB9,0x20,0x88,0x04,0x44,0xAC,0xA8,0x8C,0x40,0x20,0xDC,0x4C,0x68,0x58, -0x14,0xF2,0x30,0x0A,0x59,0x3D,0xAC,0x7D,0x81,0xA5,0x66,0x2F,0x5B,0x33,0x17,0xA0, -0x79,0x29,0x5D,0xBC,0xA2,0x59,0x33,0x86,0xD1,0xF5,0xA6,0xBF,0xF6,0xC5,0xE1,0xFB, -0xDA,0xD7,0xFE,0xE1,0x70,0x32,0x8A,0x54,0x7C,0x58,0x98,0x2C,0x97,0xC3,0xE7,0x9C, -0x11,0xC7,0x35,0x3A,0x6F,0x2E,0x89,0x4B,0xEA,0xCE,0xB1,0x93,0xF5,0xDA,0xFE,0xE7, -0x95,0x5B,0xB1,0x22,0xC4,0xDA,0xD6,0xE0,0x87,0xA3,0x07,0x48,0x24,0x99,0xBD,0x75, -0x84,0x2A,0xA0,0x42,0x50,0x16,0x8E,0x74,0x19,0x3D,0x2C,0xFD,0x9C,0x5C,0x78,0x08, -0xEF,0x96,0xCB,0x95,0x92,0x2D,0x77,0xB6,0x5E,0x7A,0xED,0x7B,0x99,0x6B,0x4F,0x3A, -0x0E,0xDB,0x2A,0x39,0xBF,0x36,0x41,0x9B,0x75,0x51,0xBA,0x07,0x45,0x9F,0xBB,0x12, -0x0F,0xFA,0x2B,0x19,0x73,0x60,0xDB,0x57,0x6C,0x48,0xD8,0x7C,0xFD,0x5A,0x7E,0x6F, -0xB7,0x0C,0x93,0x57,0x26,0xC5,0x2B,0x02,0x38,0x1C,0x08,0xF8,0x5F,0x13,0x37,0x84, -0xEB,0x82,0xCF,0x85,0x58,0x1C,0x8C,0x7C,0xD7,0xF3,0xC7,0xD8,0xEF,0x56,0x72,0x71, -0x8D,0x01,0xA9,0x60,0x09,0xAD,0x6C,0x2D,0x46,0x62,0xAF,0x21,0x30,0xBD,0x99,0x45, -0xAE,0x77,0x8A,0x35,0x2C,0xBC,0x58,0x08,0xDE,0xFA,0xE5,0xF3,0xA2,0xF1,0xD5,0x9B, -0xD6,0xC9,0xF2,0xF3,0x86,0x69,0x27,0xA2,0x3E,0x1A,0x69,0x9F,0x67,0x96,0xB2,0x39, -0x30,0xC2,0x14,0x1E,0xA4,0x3E,0x52,0x80,0xEC,0xC8,0xD0,0xF4,0xD3,0xF3,0xD7,0xE8, -0x0B,0xEE,0x2F,0x09,0x29,0x89,0x68,0x0D,0x34,0x10,0x1A,0xE6,0x1D,0x0B,0x2F,0xDE, -0x24,0x86,0x00,0x4E,0xAF,0x66,0x01,0x8B,0x39,0x1D,0x28,0xD9,0xAD,0x4E,0x6A,0x2B, -0xFD,0xB5,0xD9,0xA4,0xA1,0x0B,0x62,0x85,0x9D,0xB9,0x34,0x61,0x4F,0x17,0x33,0x90, -0x26,0xF5,0x02,0x3F,0x71,0x13,0xAA,0x55,0x74,0x50,0x9A,0x26,0xC0,0xE8,0xCC,0xE0, -0x6B,0x0A,0x4F,0x8D,0x48,0x4C,0xCC,0x6C,0x31,0x15,0x2A,0xD3,0x83,0xE7,0xC3,0xAC, -0x5B,0x7E,0x7F,0xC9,0x7B,0x6A,0xD9,0x5F,0xF5,0xD1,0xB2,0x8F,0xAB,0x66,0x42,0x05, -0x32,0xB1,0x16,0x6F,0x57,0x50,0xCF,0x73,0xF8,0xDC,0x80,0xB0,0x51,0xBB,0x9F,0x22, -0x81,0x1F,0xA5,0x72,0x67,0x24,0x8B,0x43,0x15,0x31,0x3E,0xE3,0x6A,0x21,0x05,0x83, -0x93,0x3C,0xB7,0x43,0xE6,0x8D,0xA3,0xC2,0x76,0x52,0xEB,0x55,0x17,0x83,0xA7,0x5C, -0x01,0x97,0x25,0x7A,0x18,0xDC,0x0C,0x3C,0xD8,0xFC,0x84,0x94,0xE4,0xC9,0xED,0xE5, -0x92,0x1D,0xB6,0x63,0xDC,0x80,0x94,0xF8,0xDB,0xFF,0xD5,0xC6,0x93,0xE3,0xC7,0xB8, -0x88,0x34,0xAC,0x50,0x43,0x14,0x9F,0x67,0x4B,0x6F,0x9D,0x1E,0x21,0xAE,0x8A,0x47, -0x3F,0x8E,0x1B,0x5D,0xA7,0x6C,0x03,0x83,0x1C,0x38,0x1C,0xC8,0xE6,0xC1,0xE5,0xEF, -0x96,0x09,0xB2,0x73,0xE5,0xDF,0xF2,0xC1,0xFD,0xD9,0xB0,0x85,0xA8,0x79,0x5D,0x19, -0x8E,0x53,0xAA,0x31,0x94,0x4A,0x16,0xB0,0xB3,0x97,0x53,0x28,0xC3,0xF7,0xD3,0xFC, -0x2E,0xFF,0x0A,0x3D,0x7A,0x4B,0xF9,0x5E,0xDD,0xF9,0xB4,0xA1,0x59,0x3B,0x1F,0xAA, -0x4A,0x0F,0x6E,0xA9,0x7D,0x0D,0xB8,0x59,0x8E,0xAA,0x25,0x63,0x87,0xC7,0xE3,0x88, -0x9C,0x70,0xB8,0x00,0x60,0x62,0xCA,0x44,0xD3,0xF7,0xD7,0xCC,0x3B,0x22,0x06,0xD1, -0xE8,0xD0,0xCC,0xD4,0x0C,0x98,0x5C,0x28,0x5F,0x7B,0xCD,0x5A,0x04,0x98,0xBC,0x54, -0x3B,0xFE,0x96,0x12,0x9B,0x8C,0x47,0x34,0x65,0xC3,0x43,0xA4,0x30,0x5B,0x82,0xDE, -0xB6,0x84,0xD9,0x25,0xD9,0x02,0x51,0xCC,0xBD,0xFA,0x17,0xB7,0x78,0x84,0x4D,0xEC, -0x90,0xE9,0xC5,0xD9,0x76,0x7A,0xD9,0xD4,0x76,0x4D,0xC5,0xF3,0x0A,0x3D,0x81,0x11, -0x26,0xC2,0x72,0xB8,0x0C,0xCB,0xA4,0x71,0xF3,0xEE,0xAD,0x68,0x8C,0x7E,0x5D,0xFB, -0x0B,0xC1,0xA0,0x92,0x30,0xB9,0x93,0x5E,0xF9,0xBD,0x10,0xB1,0x74,0xC0,0xB3,0x75, -0x64,0x58,0x04,0x38,0xE6,0x69,0xCA,0x8F,0x60,0x57,0xDF,0x73,0x28,0x73,0xFD,0x07, -0x04,0x1B,0xB4,0x97,0x5C,0x93,0x46,0x28,0x79,0x66,0x55,0x56,0xDF,0xD6,0xF3,0x02, -0xF2,0xEE,0x89,0x07,0xAE,0x75,0x9D,0x95,0x01,0x54,0x72,0x81,0x2C,0x9C,0x92,0xA7, -0x92,0xEE,0x28,0xE8,0x3E,0x31,0x15,0xD9,0x7C,0x9C,0xE1,0x82,0x97,0xE9,0xF9,0x55, -0x49,0x08,0x80,0x15,0x47,0x01,0xE8,0x72,0x0E,0x85,0x4A,0x4B,0x85,0xAB,0x37,0x70, -0x37,0x1E,0x62,0xD9,0x0F,0xEB,0x69,0x3B,0x93,0x27,0xC8,0x49,0x60,0x83,0xBB,0xE6, -0x1A,0x0A,0x24,0x52,0x75,0x98,0x1B,0x4F,0x0A,0x39,0xF5,0xB4,0xE5,0xBB,0x4E,0x94, -0x6F,0x7A,0x6E,0x2A,0x00,0x57,0xA0,0xDE,0x16,0xBE,0x95,0x01,0x08,0x15,0x39,0x23, -0x1F,0xBF,0xEE,0xE3,0xA4,0x66,0xAF,0x5C,0x76,0x2D,0x25,0x28,0x98,0x8D,0x00,0x55, -0x87,0xA9,0x08,0xDA,0x74,0x81,0xEB,0x79,0x9C,0x78,0x0A,0x18,0xB7,0x4D,0x0D,0x9C, -0x00,0xAD,0x4E,0xC1,0xAC,0xA1,0xCD,0xCB,0xC3,0xFE,0xFE,0x3D,0xD3,0xAA,0x60,0xBB, -0x0E,0x39,0x5A,0x34,0x5A,0xA4,0xC2,0xAD,0xF5,0xE2,0xDC,0x9C,0x28,0x8F,0x16,0x57, -0xB0,0xEB,0x70,0xD1,0x29,0xBC,0x52,0x54,0x6E,0x8A,0x27,0xBF,0x95,0xD8,0xA1,0xEA, -0x6B,0x3E,0xEB,0x9A,0x27,0x91,0x5B,0xB5,0x06,0xE5,0x0D,0x2D,0xEA,0x7F,0xE7,0x52, -0xD1,0x65,0x0A,0xCF,0xE5,0xE7,0xFC,0x9C,0x6F,0x1B,0xE5,0x52,0xDF,0xEE,0x1A,0xFD, -0xBD,0x17,0x08,0xB5,0x84,0x60,0x9D,0x5F,0x57,0x23,0xB8,0xE9,0x58,0xD2,0x57,0x02, -0xE0,0x58,0x94,0x49,0xD0,0xAC,0x86,0x11,0x82,0xED,0xF6,0x52,0x9C,0xB5,0xA6,0xCB, -0x4F,0xA1,0xCC,0x40,0x60,0xE4,0x04,0x58,0xBC,0x5B,0x41,0x1E,0x57,0x40,0x28,0x1E, -0x78,0xE1,0x89,0x09,0x00,0x1D,0x7D,0x1F,0x74,0x3D,0xD4,0xAF,0xA4,0xBF,0x83,0xD5, -0xA0,0x9D,0x8D,0xCA,0x90,0x39,0xCA,0xBF,0x63,0x7E,0x5C,0x57,0x76,0x94,0x34,0x03, -0xB7,0x90,0x49,0x47,0x05,0xA8,0x8C,0x3A,0x6C,0x95,0xC7,0x12,0x40,0x06,0xDC,0x05, -0xA5,0xCF,0x87,0xE5,0x9E,0xD0,0xBB,0xAD,0x05,0x6A,0x6D,0xBD,0xBA,0xD7,0x12,0x7F, -0x48,0x3E,0x74,0xC2,0x6E,0xC2,0x53,0xA6,0x05,0x55,0xB3,0xE1,0x14,0x71,0x0D,0x18, -0x1C,0x73,0xA8,0xE8,0x1E,0x35,0x4C,0x6A,0xC5,0x36,0x96,0xE6,0xD8,0xAF,0x5B,0x22, -0xCA,0x6F,0x17,0xEC,0x0F,0xFB,0x3A,0xA4,0xD8,0xF2,0x6C,0xCB,0x77,0x0F,0xAD,0x57, -0x28,0x4A,0x20,0xB9,0xDD,0xE2,0xB1,0x66,0xCC,0xF7,0x76,0xBB,0x82,0x80,0x5A,0x5D, -0xF0,0x50,0x3C,0x9E,0x80,0x99,0x8A,0x17,0x58,0x15,0x16,0x84,0xC3,0x23,0x57,0x21, -0x51,0x42,0x33,0x69,0x7E,0xCE,0x73,0x83,0xB1,0xA6,0x62,0x61,0x90,0x85,0x87,0xC6, -0x08,0xB0,0xEC,0x4C,0x2C,0xE8,0x47,0x50,0x86,0xD1,0xA6,0xE6,0x5E,0xFC,0xA0,0x75, -0x3E,0xCC,0x02,0x7A,0xFA,0xF3,0xB0,0xC0,0xCD,0x8F,0xA3,0x11,0xD5,0x89,0xE7,0x56, -0x44,0x12,0xA3,0x00,0x6F,0x8B,0x22,0x48,0x9C,0xAA,0xC6,0x75,0xBA,0x42,0x7E,0x97, -0xBE,0x51,0x29,0xB5,0xFD,0x79,0x99,0x7F,0xAA,0x44,0xC3,0x92,0x66,0x65,0x9A,0x47, -0x29,0x75,0x76,0x5A,0x35,0x4B,0x38,0xB0,0x3B,0xF7,0x21,0xBA,0xBF,0x3F,0xC3,0xC5, -0x19,0xF7,0xFA,0x51,0xC6,0x38,0xD1,0xF2,0x80,0xF9,0xDD,0xB3,0x17,0x70,0x37,0x3D, -0xEA,0x1C,0x76,0xD6,0x49,0x11,0xB0,0x54,0x49,0xC6,0xC4,0x02,0x26,0xE6,0x63,0xC4, -0x5D,0x28,0x84,0x16,0x9F,0xD3,0xC0,0x7F,0x0D,0x54,0x1E,0xB5,0x0C,0x46,0xE3,0x63, -0x0C,0x26,0x3E,0xB0,0xE8,0xCF,0x17,0xA4,0xD8,0x4C,0x03,0x7B,0xDA,0x2C,0xDC,0x95, -0x56,0xE7,0xB9,0x88,0x45,0x59,0x89,0xE5,0x65,0x2D,0x2D,0x37,0x0A,0x74,0x39,0xB7, -0x68,0x4C,0xAB,0xD4,0x28,0x9A,0xED,0xCB,0x7B,0xE5,0x6A,0x6D,0x9D,0x47,0xC5,0xC3, -0xEC,0x81,0x0B,0xDD,0x4C,0x20,0x27,0xD5,0x04,0xDB,0xB1,0xED,0x51,0xAE,0x45,0xD9, -0xD9,0xD0,0x8A,0x23,0xBA,0xCC,0xA4,0x3C,0x3E,0xFF,0x9D,0x2F,0x2C,0xA7,0xD3,0x01, -0x34,0x0B,0x5D,0x7B,0x31,0xDB,0x63,0xA0,0x38,0xAF,0x9F,0x7B,0xB1,0x7B,0x4A,0x42, -0x7D,0xEF,0xB0,0x95,0xB0,0x77,0x21,0x61,0xDE,0xC0,0x52,0xC9,0x85,0x8A,0xE1,0xDC, -0x07,0x13,0x7A,0x94,0x18,0x3C,0xE4,0x8A,0x7B,0x0B,0x97,0x4C,0xEF,0xEF,0xE6,0xFE, -0xED,0x1E,0x35,0x48,0x03,0x58,0x45,0x64,0xB6,0x19,0xC1,0x11,0xE8,0xF1,0x69,0x2F, -0x4E,0x90,0x63,0x5D,0xFE,0xF8,0x5F,0xC7,0xAE,0x46,0x5F,0xF6,0x53,0x45,0x91,0xED, -0x30,0x16,0x25,0xFF,0xC7,0x61,0x2E,0x17,0x2F,0xE7,0xDA,0xB9,0x32,0x53,0xAA,0x6D, -0xDE,0x09,0x7B,0x15,0xCB,0xFA,0x2F,0x31,0x74,0xBC,0xB2,0x24,0x46,0x2F,0xA9,0xB6, -0x3A,0x98,0xB0,0xBE,0x55,0x2E,0x18,0xB0,0xDF,0x61,0xA9,0xB2,0xC7,0x67,0x92,0x38, -0x63,0xB7,0xB4,0x4E,0xBD,0x54,0x54,0x6B,0x47,0xD8,0x14,0x8D,0xC4,0xE3,0x4F,0xD2, -0xB4,0x8B,0x57,0xC2,0xC8,0xC9,0x6C,0x76,0xD6,0xDA,0x22,0x81,0xEB,0x4C,0x71,0xB8, -0xF4,0x52,0xCB,0x37,0x22,0xFD,0x65,0xF5,0xE4,0xE0,0xCD,0x5B,0xCB,0x82,0xBE,0x50, -0x36,0x5E,0x2D,0x0B,0x35,0x7C,0x07,0xDD,0x0E,0x3C,0xF9,0x57,0xD1,0x2B,0x80,0x4C, -0x86,0x2B,0xB8,0x2C,0xBC,0x88,0x43,0xBF,0x1F,0x33,0x12,0x75,0xBD,0xA2,0xE8,0x68, -0x24,0xC8,0x99,0x45,0xE8,0x1B,0x69,0xEB,0x27,0x79,0x33,0x28,0x00,0x2A,0xBB,0xC0, -0x13,0x07,0x76,0x15,0x61,0xBA,0xC2,0x9C,0xDD,0x10,0x5E,0xF3,0x01,0x5A,0xCE,0xC4, -0x6E,0x13,0x38,0xE1,0x0C,0xFF,0x8A,0xF0,0x03,0x87,0x18,0x46,0x55,0x09,0xD7,0x1E, -0xF7,0x51,0x9E,0x2B,0x48,0x9B,0x90,0xA0,0xEA,0x04,0x9E,0x37,0xD4,0x05,0xB5,0xC7, -0x32,0xBD,0x9A,0xFE,0xA3,0x8E,0x31,0x72,0xAF,0x33,0xD5,0xFC,0xB8,0x50,0x66,0xB7, -0xFC,0x57,0xC1,0x97,0x08,0x99,0x8C,0x85,0xEE,0x40,0x50,0xC2,0xA9,0x3B,0x83,0x73, -0xCB,0x35,0x66,0x08,0xBD,0x60,0xCB,0x36,0x65,0x8F,0xC5,0xF8,0xE6,0xC4,0x86,0x5A, -0x64,0xD4,0x69,0xE0,0x2D,0x28,0xB8,0x47,0x81,0x5C,0x72,0x8B,0x1E,0x31,0xCC,0xC8, -0x39,0xE5,0xD9,0xFE,0x9B,0xE4,0x18,0xDD,0xFD,0xF5,0x3C,0x83,0xF4,0x56,0x40,0x6C, -0x55,0xC8,0xE6,0x63,0x93,0x63,0x78,0xCF,0x4E,0x68,0x61,0x6A,0x0C,0x6A,0x29,0xAA, -0xEF,0xD3,0xF8,0xA4,0x6B,0x15,0xEF,0x15,0x0F,0x37,0x89,0x9C,0xC1,0xFB,0x57,0x11, -0x34,0x74,0x34,0xAA,0xC9,0x38,0x84,0x7C,0x10,0x63,0xA3,0x49,0xD1,0x5C,0x73,0x19, -0x8A,0x9B,0x18,0x95,0x9E,0x20,0x7C,0xDD,0xD3,0x65,0x58,0x44,0x7F,0x0B,0x56,0x73, -0x74,0xE9,0x87,0x71,0x04,0x1D,0xFC,0x5F,0x68,0x1B,0x92,0xB5,0x92,0xA7,0x33,0x7F, -0xAC,0xF7,0xB8,0x80,0xB4,0x66,0xAB,0x84,0x9D,0xB7,0xF2,0x18,0x1B,0x04,0xD8,0xE6, -0x4E,0xDC,0x2B,0x93,0x8F,0x7F,0xDA,0x93,0xB1,0x68,0xE8,0xE6,0xE5,0x8B,0xAF,0xE2, -0x98,0x9A,0x27,0xCF,0xFC,0xB1,0xC8,0x13,0xAA,0x0D,0x12,0x4A,0x65,0x2B,0x09,0xBC, -0xCC,0xA9,0x66,0xD5,0x2A,0x46,0x04,0x3A,0xA4,0xF2,0x37,0x4D,0x00,0xF5,0x56,0xA3, -0x21,0x9D,0x2B,0x4B,0x40,0x54,0x1B,0xE0,0x83,0xCF,0xE9,0x7A,0x58,0x53,0x50,0xBD, -0x33,0x5B,0x2A,0x77,0x18,0x2C,0x99,0x67,0x1D,0x2E,0x43,0x8E,0xF9,0x82,0xA5,0xAE, -0x24,0xEE,0x16,0xFC,0x22,0xBD,0xE2,0xC1,0xA2,0x02,0xD8,0x19,0x3C,0x10,0x8A,0x95, -0x76,0x66,0x93,0x09,0x49,0xF1,0x9D,0x76,0xCE,0x33,0xF6,0xC8,0x38,0x18,0x99,0x65, -0x80,0x28,0x23,0xFE,0x68,0x17,0xFA,0xAE,0x5E,0xAC,0xD1,0x27,0x32,0x52,0x34,0x49, -0xE0,0x7D,0x1D,0x71,0xE0,0xED,0x51,0x21,0xE1,0x48,0x5B,0x54,0x14,0xF7,0x35,0x02, -0x8F,0x94,0x17,0xDD,0x4F,0x3D,0x1E,0x79,0x41,0x2E,0x94,0x13,0xF6,0x44,0xD7,0xDE, -0xA2,0xE3,0x0C,0x47,0x99,0x4F,0xC8,0xB8,0x6C,0x93,0x29,0x61,0x37,0xFA,0x80,0x20, -0x14,0x50,0x5F,0x6E,0xE0,0xFE,0x8A,0xF8,0xEA,0x49,0x41,0x51,0x14,0xB9,0x8B,0x36, -0x32,0x3F,0x8A,0x93,0xFF,0x86,0x09,0x14,0x93,0x9D,0x93,0x50,0x10,0x00,0xDB,0x9E, -0xBF,0x8B,0x6E,0xCF,0xFA,0x08,0xBB,0x48,0x7E,0x4B,0xC7,0xC8,0x55,0xDF,0x51,0x81, -0x84,0xB9,0x37,0x8F,0xF5,0x25,0x44,0x69,0x8C,0x1E,0x7A,0xD4,0x03,0x2E,0x0C,0x51, -0x03,0x97,0x24,0x26,0x29,0x05,0xB9,0x28,0x6F,0xE0,0x8E,0x81,0x41,0xC9,0x33,0x57, -0x9B,0x2D,0x1A,0x5C,0x3D,0xE2,0x3E,0xA9,0xE0,0x4C,0xA1,0x25,0x52,0x09,0x24,0x20, -0xEB,0x67,0x99,0x33,0x2C,0xD3,0xEA,0xC6,0x9A,0xC2,0x11,0x9A,0x7F,0x91,0xFE,0x9C, -0x9E,0x33,0x1B,0xBF,0x96,0x1C,0x72,0xDA,0x80,0xFA,0x71,0xAD,0x93,0x3F,0xC7,0xB7, -0xB3,0xD6,0x27,0xBA,0x12,0x6F,0x41,0xF4,0x49,0x1D,0x4C,0xEF,0xD1,0x07,0x64,0x8B, -0xCD,0x0C,0x3D,0x02,0x4E,0x85,0xA2,0xE9,0xF9,0xBD,0xCE,0x2C,0x07,0x2F,0xBF,0x04, -0x16,0x99,0x56,0xBE,0xDD,0xB5,0xBA,0x5A,0x1C,0x22,0x65,0xB2,0x47,0x6D,0x67,0x48, -0x30,0x24,0xDB,0x6F,0x50,0x4D,0x46,0xA5,0xBB,0xAC,0xA6,0xFD,0x97,0xC8,0xED,0x2C, -0xE7,0x5A,0x26,0xA1,0x26,0xD0,0x7D,0x7B,0x9E,0x5F,0x90,0xD4,0x89,0x67,0xED,0xA4, -0xBE,0x40,0x24,0x02,0x16,0xAA,0x1C,0x04,0x58,0x27,0x2D,0x26,0x76,0xE3,0x97,0xDD, -0x5A,0x2F,0xB7,0xB7,0x13,0x7E,0x53,0x75,0x17,0xAA,0x36,0x3D,0xDF,0xAB,0x76,0xC8, -0xB4,0xC1,0x4C,0xE7,0x24,0xE5,0x6A,0xA1,0x5F,0x59,0x5E,0x29,0xEB,0xD7,0xD5,0x2D, -0xCA,0xC9,0x77,0x17,0x30,0x7C,0x7B,0xD7,0x3C,0xB0,0xDB,0xEF,0x75,0xC1,0x92,0x71, -0x69,0xB9,0x56,0xC5,0xF7,0xDC,0xFD,0xF7,0x77,0x5F,0x45,0x84,0xF6,0x75,0x7D,0x05, -0x83,0xA3,0x11,0xB5,0xAE,0xB8,0xAC,0x3D,0x6C,0xB0,0x13,0xD1,0x96,0x6B,0x9C,0x31, -0xB6,0x45,0xD8,0xF7,0x03,0x0A,0x2C,0x2E,0x52,0xF4,0x51,0xDD,0x8C,0xD4,0xBA,0xB5, -0x73,0x25,0x1B,0xE3,0x21,0x1F,0x0E,0x4F,0x30,0x8F,0x1A,0xED,0xA6,0x81,0x4A,0xA4, -0xEA,0xC6,0x77,0x9B,0x62,0x7B,0x7F,0x66,0xDD,0x90,0x9C,0xC9,0x14,0x8D,0xCA,0xDC, -0x97,0xEE,0x53,0x1A,0x7B,0x3E,0xCF,0x28,0xE5,0xCA,0xDA,0xA9,0x53,0xDE,0x4C,0x84, -0xA0,0xB1,0x58,0xC0,0x73,0x9F,0x70,0x3A,0xCB,0x0F,0xB7,0x8E,0x2E,0xAE,0x5F,0x62, -0x02,0x9F,0xCD,0x34,0x83,0x0C,0xA5,0x39,0xF3,0x93,0x96,0x86,0x80,0x26,0x50,0xE2, -0xB2,0xBE,0xD4,0x50,0xD1,0xF8,0xF6,0x97,0xF2,0x66,0x7D,0x46,0xD8,0xAF,0xDE,0x5D, -0x70,0x20,0x7D,0x78,0x53,0x79,0xCB,0xD0,0x66,0xB6,0x49,0xAA,0x84,0x06,0x38,0x2F, -0x6E,0x8A,0xF0,0xAA,0x2C,0x95,0x0C,0xE4,0x95,0xA6,0x40,0xB6,0x4B,0x62,0x8F,0x9C, -0x9D,0x15,0x56,0xA5,0x17,0xBC,0x6A,0x3F,0xD7,0xF3,0x59,0xE5,0x02,0xF4,0xD2,0x0F, -0xAD,0x18,0xD3,0x75,0xDC,0xCF,0xA2,0xC4,0xCA,0xF3,0xA5,0x59,0xC9,0xBB,0x03,0x2E, -0x3A,0xFF,0x9F,0x3E,0x05,0xFD,0xCE,0x74,0x32,0xB4,0x47,0xE8,0xC6,0xE1,0x3C,0xCE, -0xC0,0xFE,0x1C,0xC7,0x65,0x0F,0x07,0xFC,0xAA,0x55,0x42,0x39,0xD2,0xC6,0x56,0x45, -0xBA,0x29,0x48,0xF3,0x9A,0x77,0xF9,0xF8,0x59,0x55,0x27,0x7E,0x1C,0x0D,0xAB,0x04, -0x8C,0x7E,0x0F,0xC2,0xE0,0x6C,0x06,0x98,0x3F,0x43,0x22,0x5C,0x2A,0x78,0x87,0xC3, -0xD5,0xCE,0x09,0x9A,0xF8,0x4A,0x86,0x00,0xF1,0x81,0xE6,0x67,0x79,0x01,0x75,0xC6, -0xF9,0x4F,0x2A,0x15,0xE4,0xF3,0x24,0x88,0x26,0x61,0xD6,0x8E,0x9D,0x0E,0xF3,0x87, -0xB0,0x35,0x6D,0x73,0xE6,0x5F,0x29,0x25,0x9A,0x58,0x1B,0x2B,0xC7,0xFF,0x64,0xF7, -0x5D,0x6A,0x01,0xBC,0xB7,0x48,0x0B,0xA4,0x13,0xF6,0x19,0x91,0x99,0x23,0x58,0xF2, -0x68,0xC2,0x23,0x3F,0x33,0xA4,0xF5,0x64,0x45,0xB7,0x35,0x46,0x60,0x2A,0x3A,0x9D, -0xEC,0x88,0xFE,0xE5,0x96,0x1E,0x8E,0xD6,0x91,0x95,0xEE,0xCF,0x61,0xC3,0xF7,0x21, -0xD2,0x2C,0x0D,0x17,0xFC,0xDD,0xE5,0x7A,0xDD,0x63,0xA9,0x2F,0x04,0xF0,0x7A,0x8C, -0x88,0xD4,0xCF,0x6D,0x77,0x4B,0x26,0xEC,0x10,0x8B,0x87,0xBC,0xFD,0xA8,0xD8,0x36, -0xD9,0xB7,0x79,0x86,0xED,0x57,0xB6,0xED,0xDC,0xF1,0x9A,0xF0,0x91,0xC2,0x64,0x16, -0xD1,0xEA,0x0C,0xFF,0xF4,0xEA,0x5B,0xD7,0x24,0x11,0x41,0xA3,0xEE,0x39,0xB5,0xF3, -0x3B,0xC7,0x9D,0xB8,0x6D,0x8E,0x04,0xFA,0x02,0x7F,0x17,0x64,0x35,0x27,0x1C,0x6B, -0x98,0x06,0x7F,0xAF,0x3B,0x2E,0xC2,0x30,0x1E,0xCB,0x89,0x37,0x9E,0x93,0x20,0xDE, -0xE6,0x25,0x2A,0xA4,0x3E,0xB7,0xDC,0xC8,0x91,0x93,0x0C,0x0A,0xCE,0x85,0xC9,0xA4, -0x08,0xB1,0x94,0x2A,0xFC,0x2C,0xB8,0x25,0x23,0xCF,0x64,0xEF,0x03,0xF9,0x19,0x6E, -0xEC,0xDC,0xDC,0x44,0x34,0xF8,0x04,0x10,0xDE,0xDE,0x7F,0xF5,0x2C,0xB1,0x45,0x9A, -0xB5,0x1C,0x4D,0xF8,0xF5,0x82,0x9F,0x89,0x6C,0x89,0xC2,0x39,0xA3,0x35,0x26,0x95, -0x62,0x74,0xB6,0x4C,0xFA,0x1F,0xBC,0x1E,0xB8,0xDC,0xF4,0x58,0x14,0x9A,0xD7,0x43, -0x22,0x0D,0x97,0xB7,0x9C,0x2B,0x9E,0x8A,0x4D,0xCD,0x1B,0xEB,0x3A,0x54,0x21,0xA8, -0xE0,0x27,0x04,0x48,0xE5,0xAA,0x2F,0xA4,0x23,0x96,0x2F,0x29,0x46,0xFD,0xFF,0x24, -0x50,0xC7,0x4E,0x29,0xD3,0x5E,0x7F,0xBE,0xE5,0xE1,0xC4,0x2F,0x8F,0x74,0x48,0x0A, -0xF2,0x22,0x56,0xF6,0x28,0xCD,0x1F,0x42,0x8F,0x43,0xE5,0x3F,0x63,0xFC,0x2B,0x08, -0xC5,0x58,0x72,0x47,0xA1,0x6C,0x80,0x47,0xF5,0x6F,0x88,0xC0,0xC2,0x8C,0x64,0xEE, -0xB8,0x2B,0x2E,0x01,0xDA,0x29,0x53,0x44,0x37,0x4B,0xCE,0x82,0x77,0xDF,0x21,0x7F, -0x21,0xF1,0xEA,0x58,0xDA,0x4D,0xB8,0x93,0xDC,0x92,0x48,0xB4,0x5E,0xD3,0xFD,0x18, -0xE4,0xF3,0x9B,0x30,0x57,0x58,0x8E,0x54,0xD5,0xF5,0x03,0xA4,0xCE,0x86,0xF6,0x86, -0x87,0xC9,0x98,0x33,0xC6,0x18,0x83,0x16,0x46,0x54,0xB4,0xE4,0x14,0x53,0xDB,0xB2, -0xDE,0x8D,0x68,0x53,0x9D,0x3E,0xDF,0xE4,0x21,0xEF,0x70,0x22,0xAC,0x2A,0xCF,0x4C, -0xE8,0xBF,0x2E,0x42,0xBF,0x25,0xB1,0x97,0x00,0x48,0x75,0x7A,0x6B,0x5F,0xDA,0x26, -0x92,0xE8,0xB7,0x69,0xB6,0x5D,0xCD,0x15,0x3B,0x60,0x10,0x69,0x3B,0x94,0xA5,0x48, -0x68,0x63,0xDD,0x58,0x3B,0xAF,0x07,0x65,0x0B,0x11,0x15,0x88,0xAC,0xB3,0x29,0xBA, -0xFF,0x75,0x39,0xBC,0x55,0x9D,0xB1,0xEC,0xE6,0x8C,0xF7,0x21,0x11,0xE9,0xA6,0x38, -0xCF,0xBF,0x07,0x6B,0xA5,0xEE,0x63,0xB7,0xF9,0x1B,0x0B,0x22,0xA1,0xA6,0x87,0x2F, -0x3C,0xBF,0x43,0x74,0x42,0xC7,0x4D,0xC3,0xD1,0x9C,0x12,0x93,0xBE,0x30,0x3F,0x0B, -0x8B,0x77,0x14,0x91,0xC0,0x05,0xAE,0xFC,0xAD,0xE9,0xC8,0x57,0xF3,0x90,0xAD,0x62, -0xDA,0xC5,0x71,0xEE,0x61,0x19,0x7A,0x34,0x75,0x3D,0xD5,0x13,0x28,0xFA,0xE1,0x01, -0x80,0xF1,0x4A,0xED,0xF2,0x8F,0xEC,0x7C,0x8F,0x1F,0xFB,0xFA,0x85,0xA2,0xB0,0x70, -0xBE,0x2C,0x09,0x9A,0x9F,0x4C,0xBE,0x21,0x3F,0xB6,0xBC,0x50,0x79,0x91,0xE7,0x95, -0x3A,0x03,0x1C,0x35,0xA9,0xF6,0x5F,0x17,0x54,0x18,0x67,0x94,0x46,0x78,0xEF,0xB2, -0x0F,0x6A,0xD2,0x37,0x9B,0x1A,0xDE,0x8C,0x45,0x1F,0x4B,0x20,0xD5,0x71,0xA3,0x01, -0xE2,0x03,0x31,0x27,0xEC,0x0D,0x71,0x85,0x7D,0x03,0x49,0x06,0x9C,0xAD,0x73,0x5E, -0xAB,0xE4,0xC4,0xFA,0x41,0xA1,0x0A,0x61,0xD6,0xDB,0x84,0xA6,0xFD,0x5C,0x82,0x2C, -0xD8,0xE6,0x6B,0x6A,0xAD,0x72,0x12,0xA2,0x84,0xAC,0x0A,0x23,0xD9,0x59,0x90,0x57, -0x66,0x22,0x4A,0xAC,0x30,0x6A,0xDC,0x32,0x97,0x85,0xF1,0x2E,0xFD,0x0E,0xDD,0xA9, -0xBD,0x21,0xFF,0xE5,0x16,0x47,0xA4,0x18,0x09,0x46,0xDB,0x98,0x73,0xA9,0xDD,0x20, -0x07,0x26,0x76,0x39,0x8F,0x31,0xBD,0xD3,0x87,0x00,0x33,0x32,0x5E,0x38,0xD9,0x74, -0x6B,0x6A,0x10,0x52,0x50,0xB6,0x78,0xB3,0xD8,0x7F,0x6E,0xC3,0xAF,0x04,0x86,0xAD, -0x36,0x9A,0x18,0x23,0xA2,0x7A,0x85,0xD5,0x76,0x1E,0x20,0x06,0xD5,0x63,0x2A,0xFD, -0x99,0xA1,0x05,0x36,0x66,0x32,0x66,0x40,0xF7,0xC4,0x97,0x09,0x15,0x96,0x71,0xBC, -0xAE,0xC2,0xED,0x58,0x33,0xCB,0x61,0x02,0x3D,0x6E,0x02,0x23,0xA2,0x69,0x47,0x84, -0x76,0xAC,0xD2,0x46,0xD0,0xEF,0xAF,0xB9,0x3F,0xEA,0x8A,0xFC,0x15,0x42,0xDE,0x3E, -0x61,0x62,0xB9,0x3B,0x30,0x7E,0x5C,0xD7,0x45,0x7A,0x11,0x50,0x99,0xD0,0x4F,0x4A, -0x73,0x74,0x04,0xB8,0x5B,0x06,0x85,0x70,0x98,0xCC,0xBB,0x7B,0x20,0x01,0x19,0xE4, -0x9E,0x01,0x53,0x50,0x05,0x14,0x70,0x3F,0xD9,0x8B,0x65,0x6F,0x99,0xA7,0xCC,0xB8, -0xCA,0xB4,0x9E,0xCA,0xF0,0xE3,0x1E,0x37,0xB3,0xDF,0x40,0x3A,0x22,0x79,0x72,0x9D, -0x1C,0x49,0x71,0x0A,0xCB,0x2D,0xF7,0x94,0xC7,0x2A,0xBA,0x30,0xB8,0xD9,0xCE,0x9B, -0xFE,0x27,0x4D,0x49,0x19,0x34,0xC7,0x33,0xC9,0x9D,0xA0,0x25,0xEF,0x56,0xBC,0x37, -0x26,0xC1,0x23,0x4D,0xB6,0x4F,0x10,0xDA,0x38,0x44,0xC0,0x57,0xAF,0xF5,0xD1,0x97, -0xED,0x3C,0xDB,0x88,0xBA,0x5A,0x90,0x4F,0xC1,0x16,0x95,0xB7,0xC5,0x8D,0xE2,0xB5, -0x60,0xD1,0x28,0x76,0x46,0xD4,0x14,0x88,0x16,0x8E,0xC1,0x6E,0x41,0x52,0x66,0x25, -0x46,0x29,0x49,0x7A,0x4D,0xAC,0x20,0x86,0x1D,0xC2,0x13,0xE6,0x3E,0xEB,0x3A,0x9E, -0xF0,0x2A,0x4D,0xC5,0xE7,0x1D,0xC2,0xA4,0x28,0xBD,0x7B,0x4B,0x50,0xA8,0x83,0xCC, -0xDD,0x5E,0xA3,0x9C,0x69,0x6F,0xB3,0x84,0x0D,0xB3,0xC6,0x16,0xB5,0x16,0x60,0xBA, -0xB2,0x35,0x80,0xCD,0x59,0xBF,0xB6,0x10,0xE0,0x80,0x09,0xAC,0xAE,0xA5,0x10,0x2A, -0xD2,0x5D,0xC0,0xDD,0x67,0x45,0x4E,0x96,0xE9,0x20,0x83,0x64,0xA8,0x00,0x14,0xB0, -0x24,0x69,0xBC,0x4A,0x09,0xA3,0x2E,0x1E,0x50,0x3A,0xA4,0x10,0xF7,0x4A,0x2D,0xF3, -0x44,0x70,0x90,0x3F,0x84,0xE7,0x10,0x9B,0x6E,0x90,0x37,0x9A,0x0F,0x3F,0x6A,0x18, -0x9F,0x90,0xAB,0xEA,0x9B,0xD7,0x53,0xB8,0x50,0xE0,0x9C,0xAF,0x18,0x7D,0x90,0x28, -0xE1,0x12,0x3A,0xF5,0xC3,0x3D,0xBA,0x76,0x6A,0xAC,0x1E,0x70,0xCE,0x55,0x39,0x41, -0xCC,0x33,0x04,0xD5,0xA3,0x4E,0xB2,0xC7,0x19,0x56,0x23,0x6D,0x43,0x6D,0x20,0x9E, -0xB9,0xCD,0xD9,0x13,0x4E,0x81,0x4C,0x22,0x1D,0x27,0x43,0x8F,0xE5,0xC3,0xC5,0x2C, -0xC9,0xFB,0xF9,0xD4,0xD3,0xB0,0x3C,0x29,0x19,0xA0,0xF3,0xA2,0xC1,0x5B,0x07,0x19, -0x51,0xBF,0x1D,0xCA,0x39,0x57,0x47,0x17,0xCB,0xC4,0xDC,0xF0,0xE5,0x9B,0xB1,0x20, -0xD6,0xBD,0xA8,0x83,0x1F,0x77,0x40,0x8B,0x56,0x65,0x28,0xA5,0x81,0x7C,0x4C,0x92, -0x50,0xE1,0x19,0xDB,0xB0,0x8D,0x37,0xC3,0xAF,0x38,0xE2,0xA1,0xBA,0x88,0xE1,0x8E, -0x9C,0x33,0x2E,0xBD,0xC9,0xD0,0x7C,0x07,0xB7,0x1B,0x85,0xE5,0x9D,0xC6,0xE8,0x29, -0xD4,0x14,0x85,0xE2,0xAF,0x7F,0x17,0xF4,0x02,0x0A,0x70,0x2D,0xE2,0x71,0x04,0x52, -0x2D,0x29,0x33,0x81,0xD1,0x48,0x4C,0x2D,0x1E,0xC7,0x8F,0x03,0x2E,0xE4,0xCD,0xB9, -0x94,0x3A,0x71,0xC1,0xFF,0x3E,0x13,0x3C,0x6A,0x88,0xBF,0xBC,0x4E,0xEC,0x8C,0x35, -0x8C,0xAC,0x4C,0x54,0x67,0x80,0x0B,0x98,0x9E,0xDD,0xE8,0x55,0x23,0x17,0xE8,0xD2, -0xA1,0xBE,0x22,0xE7,0xB0,0x5B,0x73,0x78,0x0A,0x5A,0x4F,0xFD,0x66,0x3D,0x51,0x34, -0xD7,0xDB,0x9F,0x34,0x64,0xE1,0xBB,0xFF,0x50,0x73,0xDE,0x31,0x03,0xD5,0xB2,0xD3, -0x05,0x31,0x95,0x42,0xCF,0x2C,0xA7,0x12,0x08,0xA2,0x9F,0x5A,0xB3,0xA6,0x44,0x60, -0xCB,0xE5,0x7A,0x01,0x4C,0xFA,0x07,0x91,0x0C,0x04,0x3F,0x0F,0x8E,0x5C,0x56,0x41, -0xD2,0x43,0x85,0x4C,0xFD,0x18,0x40,0x5D,0x38,0x0E,0xB0,0xD6,0xC0,0x46,0x63,0xDA, -0xA9,0xB8,0x84,0xC6,0x07,0xC0,0x30,0xC7,0x90,0x89,0x13,0xDD,0xE3,0x26,0xF9,0xBE, -0x09,0x17,0xE8,0x55,0x03,0x90,0x30,0x42,0x33,0xDE,0xA4,0xA5,0xE2,0x6C,0xB5,0x19, -0x98,0xD4,0xAB,0x0D,0x80,0x87,0x63,0x74,0x73,0xA4,0x36,0x6F,0xF6,0xF7,0xB6,0xDF, -0xE0,0x08,0x97,0xFF,0x34,0x95,0x20,0xA6,0xB3,0x59,0xE7,0xD1,0x36,0x5D,0x47,0x5B, -0xF2,0x73,0xD0,0x54,0x75,0x78,0xD5,0x1C,0x28,0x26,0x41,0x49,0x85,0x83,0x03,0x7E, -0x89,0x86,0x64,0x24,0x30,0x3B,0x7D,0xF8,0xE8,0x40,0xF0,0xA0,0xFE,0x20,0xB5,0x44, -0x59,0x5F,0xD8,0x0E,0xC6,0x54,0x94,0x87,0x8C,0xF1,0x43,0x81,0x51,0xEF,0x68,0x9F, -0xA3,0x93,0xF2,0x8C,0xE1,0x34,0x24,0x51,0xF9,0x4D,0xE6,0x2E,0xCD,0x65,0x6C,0x90, -0x45,0x52,0x9E,0xFC,0x18,0xC2,0x7B,0x11,0x7E,0xFA,0xAC,0x40,0xD8,0x42,0x76,0xF3, -0xBC,0xF3,0xB8,0x44,0x2C,0x0B,0xC0,0xB1,0xA8,0xD1,0x6B,0x53,0x55,0x73,0x8A,0xB7, -0x32,0xEA,0xC8,0xC2,0x96,0x86,0x36,0x4A,0x9C,0x31,0xB4,0x9F,0x86,0x27,0x56,0x47, -0x4A,0x66,0xD9,0xAF,0x4E,0xA0,0x94,0xDC,0xED,0xF2,0x0D,0xE5,0xC2,0xF5,0xA0,0x04, -0xFB,0xCC,0x49,0x52,0xBB,0x16,0xCA,0x7A,0x5F,0xDA,0x4E,0x89,0x2A,0x9D,0x28,0x71, -0x67,0x71,0x20,0xC2,0x71,0x5F,0x25,0x0A,0x0E,0x94,0x25,0xD4,0xDA,0xA5,0x4E,0xA0, -0x56,0xF9,0x15,0xED,0x65,0x2F,0xE1,0x47,0xA3,0x20,0xBD,0x27,0xFF,0x15,0xD5,0x44, -0xB1,0x44,0x8F,0xB7,0x9B,0xB7,0x1B,0xA1,0x88,0x21,0x7D,0xAF,0x24,0x3A,0x49,0xC5, -0x91,0x38,0x65,0xB0,0x1B,0x30,0x5D,0xCC,0x85,0x72,0x9A,0x1C,0x87,0xCE,0x54,0x70, -0x01,0xD9,0xDF,0x29,0xC8,0xA2,0xBD,0xD8,0x78,0x9E,0xD9,0xC8,0x14,0xD1,0xFF,0xA2, -0x31,0xC9,0xBD,0xC9,0x1E,0x79,0xBC,0x22,0x06,0x2D,0x9B,0x7B,0x22,0x7A,0x17,0xC7, -0xDB,0x31,0x2C,0xB3,0x03,0x07,0x87,0x5E,0x39,0xE0,0xB3,0x71,0x22,0xF8,0x7A,0x66, -0xA8,0x1B,0x67,0xA4,0x3C,0x2A,0x20,0x8F,0xB0,0xC2,0x8B,0xB9,0x83,0xC5,0x6D,0x8A, -0xCA,0xE9,0x75,0xF2,0x45,0xEE,0xAB,0xFA,0xBC,0xDF,0x1F,0x1D,0x62,0x82,0x98,0x5F, -0x1E,0xDB,0x17,0x9D,0xA7,0x0A,0x50,0xEC,0x38,0x6E,0x57,0xEB,0x61,0x99,0xC4,0x12, -0x64,0x3C,0x01,0xC4,0x66,0x53,0xB4,0x48,0x99,0x91,0xD3,0x89,0x73,0x24,0x9D,0x00, -0xF9,0x77,0xBB,0x02,0x3F,0x84,0x28,0xE4,0x00,0x80,0x7C,0x67,0xBA,0x12,0xF8,0x36, -0x0C,0x7F,0x69,0x14,0xAF,0x37,0x10,0xB6,0x4A,0xC4,0xDF,0x0C,0x37,0xA7,0x55,0x60, -0x68,0x35,0x45,0x9F,0x71,0xDD,0x08,0x8A,0xA2,0xEA,0xC1,0x22,0x48,0xF1,0x68,0x61, -0xC8,0xCE,0x56,0x51,0x7D,0x7E,0x75,0x1A,0xC1,0x22,0x75,0x49,0x15,0x6F,0xF8,0x47, -0x51,0xF5,0x91,0xAC,0x39,0x00,0xDC,0x0F,0x41,0xD1,0x63,0xB8,0x0C,0xEA,0xBD,0x41, -0x8A,0xFD,0x6C,0x9D,0x7F,0x23,0x14,0xCD,0xC6,0xEA,0x6A,0x07,0xEA,0x6E,0x7D,0x82, -0xCF,0x8C,0x0B,0x00,0x53,0x5E,0xD1,0x90,0x3A,0x53,0x39,0x12,0x7E,0x28,0x61,0x33, -0xAB,0x1D,0xD6,0xA8,0x02,0xC7,0xA2,0x9C,0xB7,0x25,0x35,0xBE,0xAD,0xAE,0xB0,0x40, -0xBE,0x03,0x5D,0x2D,0xA0,0x02,0x1C,0x90,0xE6,0x3D,0x60,0xE9,0xB6,0xE5,0x56,0x39, -0xCD,0x1F,0x30,0x25,0x4E,0xC4,0xAA,0x3E,0x3D,0xFB,0xB2,0x3B,0x1E,0xFD,0xC0,0xD4, -0x4C,0xDE,0x4A,0xA2,0xAD,0x06,0x22,0x11,0x8F,0x6F,0x1B,0x79,0x54,0xC9,0x9F,0x47, -0xB8,0xEA,0x16,0x3B,0x6F,0xB6,0x0B,0x51,0xEB,0x11,0x92,0x5E,0xA3,0x22,0x02,0x86, -0x2B,0x2E,0xB4,0xFC,0x10,0x14,0x74,0xEE,0x18,0x61,0x1A,0x58,0x82,0x03,0x1B,0xDB, -0x49,0x05,0xA3,0x25,0x00,0x8E,0x46,0x9D,0x0E,0x0E,0x55,0x6F,0x6B,0xF3,0x98,0xB3, -0x7B,0xF0,0xD3,0x1D,0x8B,0x19,0xC6,0xD7,0x6D,0xDC,0x0F,0x09,0xE3,0x11,0x1B,0x25, -0x08,0x0A,0x09,0x6F,0x4B,0x29,0x4E,0xAB,0xC2,0xD2,0x40,0x95,0x5C,0xED,0xA8,0x74, -0x21,0xE0,0x70,0x44,0x64,0xDA,0x6C,0x4B,0x57,0xA3,0xD6,0x5E,0xEA,0xF4,0x71,0x23, -0xFE,0x7A,0xFA,0xB4,0xB6,0x61,0xA9,0xBC,0xD5,0xFF,0xB5,0x5D,0x9A,0x52,0x1D,0xA3, -0xD8,0x77,0xCA,0x3F,0x36,0x38,0xB7,0x9A,0x02,0xF1,0xCC,0xE6,0x9F,0x96,0x5C,0x64, -0xC3,0x91,0x0F,0x4E,0x6C,0x0E,0xBB,0xA7,0x09,0x84,0xB9,0xA3,0x05,0x93,0x89,0x71, -0xBB,0x42,0x7E,0x94,0x1E,0x74,0x27,0x01,0x4A,0x43,0x72,0xC2,0xE0,0xF6,0xB1,0x85, -0x10,0x97,0x39,0x3C,0xB1,0xDC,0xE3,0x35,0x9B,0x67,0x9E,0xB3,0x52,0x81,0x87,0xE2, -0xFC,0x30,0x2B,0xF5,0x5B,0xE9,0x56,0x97,0x8A,0x30,0x97,0x9F,0x8A,0xAD,0x40,0x38, -0xEB,0x90,0x1A,0x8A,0xE8,0x04,0x45,0x28,0x2F,0xDB,0x4B,0xC1,0xC9,0xAF,0x4E,0x23, -0x47,0xAB,0x3C,0xF8,0xDC,0x4D,0xED,0x3E,0x6C,0x7E,0xBA,0x15,0xEE,0x62,0x49,0x45, -0xE3,0x4E,0xB8,0x53,0x6A,0x6D,0x86,0xEF,0x8D,0x58,0x76,0xDF,0x8F,0x2E,0xD1,0x29, -0xFF,0x46,0x40,0xF2,0x92,0x3C,0x36,0x0B,0x66,0x9B,0x1C,0x59,0x2B,0x33,0xB6,0x2B, -0x69,0x99,0x34,0xA2,0x4D,0x66,0x39,0xFC,0xD3,0x4D,0x44,0x77,0x47,0x1D,0xB4,0x34, -0xAA,0xE0,0xA7,0xB8,0x56,0x58,0x71,0x05,0xBB,0x38,0x77,0x14,0x23,0x5A,0x73,0x3C, -0xD2,0xF5,0xFC,0x5E,0x3E,0xB7,0x92,0xB3,0xAC,0x96,0x70,0x15,0x46,0x1B,0x91,0x19, -0x2B,0x23,0xDC,0x11,0x04,0x80,0x67,0x32,0xE5,0xB5,0x8F,0x06,0x9A,0x8E,0x25,0x4E, -0x63,0x4E,0xB1,0xA2,0xCF,0x2F,0x8A,0x32,0x3C,0x8E,0x7A,0xEB,0x87,0x39,0x46,0x2A, -0xAF,0xEE,0x9B,0x43,0x8D,0x72,0xC0,0xD5,0xB9,0x37,0x1D,0xDD,0xB4,0x77,0x8B,0x5B, -0x28,0x0A,0xEB,0x92,0xDE,0x1E,0x3F,0xBC,0x75,0x62,0x21,0x87,0x6C,0x2A,0x4C,0x0F, -0x5E,0x2C,0xA0,0x9C,0x70,0xA4,0x35,0xD9,0x80,0xC8,0xB0,0xDB,0x1F,0xC2,0xB3,0xCD, -0x73,0x12,0xC5,0x54,0x00,0x7F,0x97,0xA5,0xB2,0xB8,0x17,0xF2,0x7C,0xE8,0x83,0xBB, -0x6B,0x91,0x8B,0x49,0xCE,0xC1,0x4E,0x1C,0xFF,0x93,0x40,0x4F,0x68,0x13,0xDE,0xAB, -0x56,0xC2,0xD9,0xB0,0x08,0x3F,0x3F,0xA3,0xE0,0xED,0xEC,0x60,0xAD,0xD9,0x4F,0x7B, -0x2D,0xEA,0x57,0xFB,0x6B,0xE7,0x36,0xB0,0xD0,0x22,0x4F,0x8F,0xFF,0xB9,0x27,0x4A, -0x34,0x31,0xA9,0x6E,0x1F,0x05,0x09,0x34,0xC4,0xB6,0xC0,0xBC,0xEB,0xA3,0x57,0x3A, -0xFA,0x49,0x32,0x26,0x7F,0xD3,0x7F,0xDC,0xB9,0x35,0x60,0x2D,0x75,0x59,0x23,0xBC, -0x0D,0x1A,0x86,0xCF,0x67,0x87,0x4C,0xD2,0xD7,0x5B,0xBE,0xC5,0x20,0x7C,0xAB,0xF3, -0x1F,0xB0,0xC0,0xCA,0x98,0x6A,0x53,0x28,0xBA,0x5A,0x18,0xE7,0xE9,0xA2,0x40,0x3D, -0x67,0xC8,0xF6,0x8E,0x61,0x78,0x4D,0xDB,0x6C,0x93,0xC9,0xB2,0x85,0x08,0x06,0xDA, -0xF6,0x3C,0x96,0xD6,0xC6,0x6F,0xC7,0x25,0x34,0xC9,0x5B,0x71,0x79,0x93,0xC6,0x31, -0xBA,0x5B,0xB1,0x2F,0x7A,0x3D,0x76,0xB3,0xEC,0xE0,0x53,0xFF,0xA9,0xBD,0xA2,0x1A, -0x5C,0xFD,0x4C,0x75,0xF9,0xCB,0x3A,0xC9,0x4E,0xB8,0x19,0xE8,0x89,0x9A,0x1D,0x5C, -0xA6,0x4E,0x48,0x93,0x7D,0xAB,0xF5,0x1A,0xFB,0xD1,0xBC,0x96,0x50,0x10,0xA9,0x73, -0x76,0x85,0x8C,0x91,0x8C,0xC4,0x69,0x90,0x6C,0x57,0x0F,0x20,0x59,0xDF,0x6D,0xED, -0x04,0x9C,0x94,0xF4,0x7F,0xE9,0x02,0xD5,0x12,0x03,0xB1,0x01,0x09,0x62,0x3F,0xB5, -0xB5,0xB0,0x5A,0xF5,0xCF,0x5F,0x12,0xFA,0xE9,0xE1,0xF2,0xE3,0xB5,0x0A,0xD2,0x31, -0xCD,0x54,0x9E,0xBC,0xD2,0x79,0x8F,0x6C,0xB5,0x6A,0x4B,0x7C,0x2E,0xD8,0x86,0x6E, -0x43,0x87,0x34,0x12,0x15,0xF4,0xCF,0xC7,0x39,0x7F,0x94,0x26,0x82,0x8C,0xC4,0xF8, -0x6E,0x51,0xF4,0x55,0xBC,0xCF,0x61,0x65,0x8B,0xAE,0x65,0xEA,0xF8,0x31,0xEB,0x04, -0x4E,0x59,0x7E,0xB8,0x72,0x48,0x6F,0x9B,0xB9,0x1A,0x82,0xB3,0x50,0xC5,0x14,0x03, -0xA9,0x41,0x04,0xBE,0x8F,0xD0,0x48,0x01,0x7A,0x58,0x42,0x66,0x33,0xEA,0x8F,0x2F, -0x98,0xE5,0x5F,0xA1,0x41,0xA0,0xCC,0xD5,0xC0,0xB9,0xDA,0x38,0xB9,0x5A,0xAC,0xE3, -0x57,0x83,0x46,0x60,0x37,0xD5,0x35,0x49,0x5A,0x42,0x74,0x30,0x2E,0x3A,0x7F,0xDE, -0x24,0xD8,0x16,0x6F,0x9D,0xF8,0x44,0xA3,0xB7,0x97,0x4C,0xB6,0x2D,0x07,0x87,0x72, -0xCE,0x57,0x14,0xBF,0xFB,0x86,0xD0,0x34,0xEF,0x01,0x64,0x5A,0x0E,0x85,0x84,0x07, -0xFE,0xD7,0x31,0xCF,0xB4,0x5D,0x69,0x25,0xE5,0xD8,0x26,0x66,0x4F,0x2E,0xD6,0x4A, -0x06,0xB0,0x1C,0x33,0xBC,0x7B,0x31,0x31,0x77,0xF0,0x83,0x56,0x1A,0xED,0x31,0x30, -0x9B,0x55,0x42,0xC8,0x43,0xAC,0xA0,0xF5,0x3D,0x92,0x2C,0x88,0xC3,0xDB,0x62,0x16, -0xE1,0xA8,0x71,0xC3,0xEE,0xF5,0xD4,0x4C,0x11,0x47,0xA8,0x8B,0xC5,0x66,0x47,0x9E, -0x35,0x46,0x1F,0x1A,0xDB,0x11,0x81,0xEB,0xF2,0xFA,0xE0,0x3D,0x25,0x7D,0x97,0x36, -0xAE,0x31,0x97,0x53,0xE6,0xFF,0x57,0x2D,0xC4,0x80,0x9C,0x8C,0x70,0x15,0x6E,0x31, -0x37,0x70,0x05,0x6E,0x4A,0x81,0x86,0x59,0x0A,0x8F,0x8A,0x15,0x99,0x90,0x04,0xEA, -0x97,0x85,0x2D,0xAD,0xA5,0x22,0x36,0xBE,0x58,0xE2,0x3E,0x72,0xC7,0x0E,0x02,0x45, -0xF3,0xE6,0x6B,0xC7,0xF4,0xC8,0x43,0x3B,0xF7,0x2B,0x20,0xC3,0x46,0x58,0x3A,0x27, -0x41,0xDC,0x40,0x85,0xCC,0xFD,0x64,0x21,0x18,0x84,0x9F,0x9D,0x9D,0x1A,0x9C,0x60, -0x54,0xF6,0x70,0xCC,0x3E,0x38,0x30,0x4A,0xD1,0xD8,0xCA,0x1A,0x1F,0x51,0xFE,0xD7, -0x30,0xD9,0x0C,0xC5,0xB8,0xA1,0xA3,0xB5,0x3E,0x9B,0xC6,0xB5,0x10,0xD7,0x38,0xE2, -0x75,0x7B,0x14,0xDF,0x64,0xDC,0x1C,0xBE,0x62,0xCF,0x95,0x42,0xF8,0x91,0xCD,0x52, -0xD4,0x20,0xCE,0x49,0xB6,0xEB,0xEE,0xC0,0x8C,0x76,0xE5,0x5C,0x84,0xFC,0xBB,0xA0, -0x47,0xD0,0x58,0x61,0x81,0x49,0xB3,0x8F,0xD8,0x3B,0x6D,0xE9,0xE7,0xDD,0xE6,0x70, -0xB3,0x29,0xF6,0xF5,0x20,0xF9,0xE0,0xF9,0xCE,0xC9,0xE4,0xC0,0x9A,0x36,0x45,0x77, -0x32,0x8D,0xF3,0x01,0x9D,0x3B,0x86,0x42,0xA6,0x9B,0x4D,0xF8,0x96,0x02,0x1A,0xD9, -0xDE,0xED,0x94,0x4E,0x13,0x25,0x4B,0x00,0x31,0xC1,0x29,0x72,0x22,0x0B,0x4E,0x2F, -0xF7,0x78,0xA5,0xBB,0xFF,0xD6,0xB0,0x58,0x65,0x8E,0xBF,0xCD,0x5F,0x12,0x11,0x1F, -0x84,0x57,0x83,0x15,0x2F,0xE6,0xAC,0x9B,0x62,0xEA,0xF0,0x22,0x6C,0xEE,0x2E,0x7D, -0xB6,0x7D,0x3A,0x8F,0x99,0x71,0x1F,0x89,0xFC,0x6A,0xAA,0x1B,0x2F,0x0C,0x28,0xDB, -0x44,0x65,0x6A,0x33,0x41,0x8B,0xE7,0x36,0x0D,0x73,0x8D,0x9F,0x4A,0x09,0x0B,0xF7, -0x3C,0x57,0xA8,0x59,0x20,0xF1,0xC8,0x39,0x36,0xBC,0x46,0x76,0x02,0x6C,0x88,0x3C, -0x27,0x40,0xE8,0xA9,0xA9,0xC7,0x32,0x0E,0x1F,0xBE,0x33,0x4E,0xEE,0x69,0x27,0xB2, -0x01,0x98,0x35,0xBB,0xA9,0x9E,0xE1,0xBC,0x8B,0x83,0x4A,0x2C,0xEC,0xAD,0x7E,0x7A, -0xB8,0x26,0x7D,0xA9,0xF1,0xB2,0xB7,0xB2,0xF2,0x30,0x45,0x39,0x08,0x9D,0x18,0x69, -0x14,0x56,0xFC,0xF3,0x15,0xFB,0xF5,0xE6,0xD2,0xF0,0xB4,0x93,0xEB,0x50,0x2C,0xF1, -0x03,0xBC,0x80,0xEC,0x50,0x16,0x8B,0x2A,0x7B,0x41,0x68,0x68,0xF0,0x52,0x08,0x2F, -0xEF,0x9E,0x1F,0x9B,0x2E,0x23,0xED,0xC2,0x59,0x0B,0x61,0x1A,0xB0,0x7E,0xCD,0x33, -0x55,0x56,0xFF,0x95,0xBD,0xA7,0x07,0xB3,0x79,0x5B,0x88,0x27,0xB1,0xA5,0x35,0xB6, -0x96,0xCB,0x73,0xFA,0xAD,0x99,0x3F,0xB6,0x79,0x7B,0xBB,0x6D,0xB6,0xE2,0xC3,0x01, -0x00,0x9E,0x7C,0x39,0xA9,0xC3,0x0B,0xA5,0x14,0x4D,0xE3,0xC1,0xBA,0xCC,0x22,0xA7, -0x1C,0x93,0xCA,0xC6,0xEA,0x92,0xBB,0x46,0xD3,0x45,0x89,0x19,0xEF,0xD1,0xF9,0xA7, -0xA1,0xB0,0x37,0x3E,0xCB,0x85,0xBA,0xDA,0x0F,0xE3,0x74,0xCB,0x09,0xE9,0x68,0x61, -0x75,0x2A,0x69,0x41,0xEC,0x61,0x4A,0x85,0x77,0x2E,0x3C,0x6C,0x77,0xF2,0xB7,0xA3, -0x0F,0x51,0x29,0xC4,0x80,0x38,0x00,0xE9,0xDF,0x23,0xB8,0xDD,0x97,0x4F,0x41,0x03, -0x92,0xAE,0x94,0xA3,0x4B,0xEF,0x20,0xA9,0x7C,0x68,0x17,0xB0,0x0E,0x79,0xF2,0x31, -0x67,0x5B,0x73,0xD8,0x25,0x5C,0xF7,0x33,0xFD,0x05,0xB4,0x4A,0x7E,0xCC,0x9D,0x68, -0x03,0xD8,0x20,0x50,0xE9,0xB6,0x2E,0xFA,0x56,0xA6,0xAA,0xF5,0xD2,0x9A,0x96,0xB0, -0xA3,0x8D,0xEB,0xBC,0xCC,0x15,0xFC,0x8D,0x5B,0x85,0x1E,0x52,0x3C,0x04,0x59,0x84, -0x3A,0xD5,0xD8,0x0E,0x7C,0x6B,0x23,0x9E,0xE6,0x09,0x08,0x36,0xF8,0x81,0xF6,0xEF, -0xE1,0x1E,0x3E,0x62,0x51,0x48,0x48,0xB4,0xC4,0x0A,0x01,0x2F,0x40,0x05,0x52,0x5E, -0xA4,0x5F,0xCA,0xBE,0xA7,0x35,0x4D,0x27,0xA5,0x3A,0x52,0xCB,0x00,0x43,0x7D,0x73, -0xC0,0x6E,0xC4,0x39,0xC5,0xAC,0x57,0x2E,0xC2,0xB4,0x5E,0x41,0xC3,0xC5,0xB7,0x06, -0xD5,0x90,0x09,0x72,0x48,0x69,0x8B,0xAC,0x17,0x1D,0x0B,0xCF,0x6B,0x8E,0x06,0x3E, -0xA6,0xD0,0xF8,0x53,0x22,0xAF,0x54,0x0E,0x4C,0x92,0xD9,0x61,0x72,0x96,0xE0,0xC1, -0x27,0x5D,0xF5,0xCC,0xAC,0x6D,0xFF,0x98,0x8E,0x69,0x70,0xA5,0x3F,0xA2,0x2E,0x1F, -0xD3,0x3F,0x7D,0x0A,0xD9,0xDD,0xFA,0xE0,0xDA,0x8C,0xF9,0x63,0x7C,0x49,0xF8,0x71, -0x40,0x9B,0x90,0x41,0xC7,0x7F,0xC8,0xCE,0x72,0x89,0x71,0xF5,0x24,0x68,0xA1,0x4C, -0x22,0x80,0x73,0x37,0xC8,0xE5,0x6A,0x96,0xF7,0x17,0x3E,0xBB,0xB7,0x98,0xBA,0x9F, -0x10,0xCA,0xEC,0x49,0x8F,0x72,0x34,0x15,0x04,0x77,0x64,0xE2,0xFD,0x7A,0xDD,0x29, -0x63,0x7C,0x07,0x9C,0xB0,0x42,0xF6,0x4E,0x06,0x11,0x2B,0x4F,0x6B,0x86,0xA6,0x49, -0x4A,0xCB,0x59,0x56,0xB7,0xB1,0xA0,0x1C,0x13,0x8F,0xBD,0x47,0x0A,0x9F,0xC1,0xFB, -0x95,0x4F,0xFC,0x9B,0x9F,0x0A,0x5D,0xC0,0x7A,0x89,0xDE,0x23,0x3E,0x39,0xE9,0x01, -0xB3,0x9A,0xC5,0x05,0x8D,0x53,0x7A,0x4B,0x9B,0x7D,0xA7,0x69,0x56,0xFD,0x7A,0xC4, -0xA8,0xF1,0x63,0x44,0x37,0x65,0x58,0x88,0xFE,0xD9,0xD2,0xFB,0xD1,0xF8,0x75,0xEC, -0xD0,0xCA,0x2D,0xF4,0xC9,0x1F,0xD4,0x39,0xBC,0x74,0x19,0x39,0xC1,0x9D,0x62,0xAC, -0x7B,0x3D,0x7F,0xA6,0x54,0xB7,0x34,0x88,0x8D,0xDC,0xF5,0x5E,0xD5,0xEA,0xBD,0x7A, -0x97,0x5A,0xC2,0x36,0x0A,0x82,0xBC,0x01,0xC8,0x3D,0xFC,0x40,0x06,0xC6,0x46,0x9A, -0x80,0xCE,0x03,0xE8,0x45,0x6F,0x1F,0xCD,0x56,0x27,0x20,0x50,0x15,0xC4,0x7F,0x4D, -0x2C,0x77,0xC8,0x67,0x26,0x26,0xCE,0x54,0x18,0x6D,0xD1,0xEB,0x24,0x09,0x2A,0x93, -0x88,0x01,0x75,0xFA,0x98,0x06,0x1F,0x8F,0x65,0xC2,0x1D,0x09,0xE1,0x45,0xDB,0x36, -0x94,0xCA,0x35,0x24,0xE4,0x57,0xBD,0x79,0xBD,0x6A,0x77,0xDE,0xD0,0x58,0x28,0x3A, -0x02,0x57,0x18,0x12,0xDA,0x0D,0x1F,0x03,0xB4,0x02,0x2F,0x09,0x26,0x76,0x5D,0xE8, -0xC1,0x39,0xD4,0xAD,0xA8,0x33,0xF8,0xF4,0x15,0x1C,0x1C,0x13,0x07,0x31,0x25,0x0C, -0x3B,0x2F,0x16,0xD4,0xFB,0xE6,0xA0,0x40,0x9A,0x01,0x89,0xCA,0x23,0xE3,0xBA,0x61, -0xF7,0xD9,0xA5,0xB0,0xB6,0xBB,0x61,0xA9,0x87,0x88,0xEE,0xC5,0x7E,0xAD,0x7F,0xCB, -0xBF,0xF0,0x28,0x25,0xD2,0x14,0x10,0x6C,0xF5,0x21,0x1B,0xBC,0x9B,0x1A,0x75,0xE0, -0x46,0x02,0x6F,0xB3,0xA3,0x23,0x40,0x9F,0xED,0x28,0xE4,0x67,0xDD,0x8F,0x09,0xED, -0xFF,0x37,0x8E,0xCA,0x0F,0x55,0x06,0xFC,0x7D,0xD8,0xD4,0xBD,0x79,0x87,0xA2,0xE2, -0xE7,0x88,0x0C,0x4A,0x7E,0xEB,0x0D,0x4B,0x09,0xD9,0x83,0xB5,0xDA,0x7C,0xA1,0x9E, -0xCA,0x34,0x41,0xC5,0xD4,0x30,0x12,0x7E,0xB2,0xE4,0x24,0xC1,0xFD,0x56,0x3B,0xE7, -0xBC,0x17,0xBE,0x35,0xDC,0x8A,0x27,0x0E,0x86,0x8E,0xB5,0xB0,0xE4,0xBE,0x8C,0xBB, -0x6E,0xC8,0x20,0x63,0x64,0x47,0x30,0x46,0x28,0x32,0xF4,0xE7,0xF2,0xCD,0xED,0x57, -0xA0,0xF4,0xB5,0xF4,0xE1,0x91,0xE1,0x8D,0x0A,0x78,0x54,0x28,0xBB,0x37,0xBB,0xCC, -0xB9,0x26,0x21,0x3C,0x2D,0x73,0x34,0x43,0xE8,0xAA,0xDB,0x34,0x2B,0x2D,0x67,0x43, -0xC2,0xC9,0x3E,0x10,0x14,0xAB,0x43,0xDB,0xA4,0xC0,0x78,0x36,0x09,0x4D,0x97,0x20, -0x62,0xD7,0xEB,0xE9,0x6F,0xFB,0xE9,0x01,0x1E,0xAE,0xCF,0xA2,0xC9,0x07,0xEE,0x73, -0xF3,0x76,0x8F,0xB8,0xAC,0xEC,0x2A,0xBB,0x01,0x43,0x5D,0xAA,0x07,0x9C,0xEA,0x0E, -0x8B,0x20,0xA7,0x0E,0x16,0xFE,0x00,0x82,0xD9,0x42,0x8C,0x9B,0x04,0x36,0xB6,0x93, -0x99,0x64,0x6F,0x41,0x35,0x13,0xD1,0x27,0xB8,0xD4,0x2A,0xFF,0x8C,0xE8,0x8C,0x30, -0xE2,0xB6,0x75,0xF7,0x74,0x50,0xE5,0xAB,0xDC,0x9C,0x9B,0x4D,0xD6,0x4B,0x78,0x7C, -0x32,0xA1,0x7B,0x28,0x7F,0x3F,0xE8,0xE4,0xB4,0xAA,0x28,0xFD,0x12,0x84,0xBB,0x2D, -0xC8,0xA9,0xE1,0x3F,0xF5,0x5F,0xD4,0x17,0x8E,0x4E,0x8D,0x7A,0xAD,0x0E,0xBD,0x9B, -0x2E,0xA0,0xBE,0x6D,0x2E,0xA9,0x15,0xD6,0xBC,0x7F,0xC7,0xF8,0x9F,0x29,0xE7,0xAA, -0xD7,0xAD,0xA1,0xEA,0xA4,0x60,0x99,0x5A,0x87,0x8E,0x00,0x90,0xD6,0x18,0xF8,0x7D, -0x59,0x8E,0xFA,0x71,0xF8,0xED,0x1E,0x3B,0xF1,0xA4,0xDF,0xE2,0x93,0x4C,0x4B,0x80, -0x21,0xF2,0xFC,0xC2,0xD1,0xCB,0xD1,0xE3,0xF9,0x41,0x66,0x1C,0x67,0x9E,0xD9,0xE8, -0x90,0xA7,0x94,0x24,0xF6,0x7D,0x54,0x5F,0x96,0x44,0x25,0xA4,0x99,0xF6,0xB6,0x5F, -0x0C,0x82,0xE2,0x06,0x37,0x34,0xAC,0xCA,0x01,0xCE,0x4E,0x88,0x08,0xCE,0x99,0xD2, -0x3D,0xC0,0x73,0xB5,0x73,0x44,0x3C,0xF8,0x26,0x7C,0xD6,0x53,0x9C,0x7E,0x24,0x34, -0xDA,0x39,0xDA,0xA2,0x34,0xDC,0x05,0x6A,0xE3,0x00,0x16,0xAD,0x75,0x51,0x26,0xC2, -0xFA,0x19,0x3A,0x26,0x59,0x5B,0x69,0x6C,0x76,0xA8,0xF1,0x7F,0x96,0xA5,0x92,0x0F, -0x6A,0xB5,0x39,0x2B,0x7D,0xC9,0x42,0xDD,0x81,0xBB,0xB2,0x0B,0xB7,0xBA,0xF0,0xF3, -0x5A,0x95,0xF3,0xE3,0x6A,0x12,0xE3,0x29,0xB4,0x27,0xF0,0xF7,0x84,0x11,0xDB,0x66, -0xB0,0xFD,0x0B,0x08,0x66,0x6C,0x2C,0xD9,0x55,0xAE,0xD8,0xFA,0xA5,0x93,0xDA,0xED, -0xC3,0x4E,0x50,0x58,0xD4,0x41,0xF4,0x32,0xB7,0xE2,0xE0,0xA9,0x51,0xAE,0x3E,0x85, -0x55,0xE6,0x85,0x59,0xC7,0x28,0xD7,0x06,0xDA,0x49,0xD0,0x08,0x15,0xBE,0xD4,0x3D, -0xC8,0xD6,0x3A,0x86,0x88,0xFF,0x02,0xD2,0x6C,0x0A,0x7F,0x2E,0x1F,0x88,0xC3,0xA0, -0xB2,0xA0,0x6E,0x37,0x34,0xA6,0x94,0xED,0x02,0xA2,0xFB,0x13,0x1B,0x35,0x65,0xB7, -0x66,0xF2,0xDE,0xC0,0x1E,0x42,0xD0,0x4F,0x49,0xDC,0xB3,0xEA,0xAE,0x2E,0x35,0x87, -0xFD,0x25,0x90,0xAE,0x68,0xAC,0x92,0x8A,0x83,0xFF,0xCF,0x57,0x09,0x46,0x51,0x6F, -0x64,0xE7,0xD0,0xA0,0x5B,0xD2,0x74,0xC2,0x55,0xE5,0xD9,0x96,0x08,0xC3,0x79,0x28, -0xC4,0x6E,0xFF,0xEA,0xC7,0x71,0x10,0xBC,0x3A,0x97,0x6D,0x57,0x3F,0x5D,0xC4,0x63, -0xA0,0x7C,0x01,0x36,0x27,0x9B,0x62,0xBF,0xBE,0xE1,0x73,0x4F,0x27,0x0B,0x11,0xBF, -0x12,0x83,0x7D,0x2D,0xC3,0xAE,0x91,0x7C,0xBF,0x1F,0xCC,0xDE,0xF9,0x49,0xB5,0x56, -0x07,0x5D,0x80,0xB7,0x4D,0x6B,0x65,0x54,0xCE,0xE7,0x99,0xF1,0x88,0x02,0x13,0xD0, -0x63,0x2A,0x3A,0x9C,0x30,0xF2,0x58,0x0D,0x55,0x21,0x95,0x27,0x34,0x84,0x12,0x16, -0x26,0x66,0x77,0x83,0x66,0x8F,0xDC,0x71,0x58,0xA3,0xC6,0xAD,0x2B,0xC2,0x15,0x33, -0x87,0xCF,0xAD,0xA1,0xC4,0xB8,0x44,0x49,0xCB,0x42,0xB6,0x86,0xD2,0xAF,0x72,0x2B, -0x14,0x46,0xB2,0x18,0x91,0x1A,0x4F,0x08,0x0A,0x02,0x3E,0xD2,0xFE,0x8E,0x03,0xBF, -0xE0,0x96,0x6B,0xF0,0x73,0xAA,0xA2,0x32,0xF0,0x93,0xB7,0xC0,0x94,0x65,0x81,0xF4, -0x61,0x5C,0x05,0xA5,0x24,0x68,0x4F,0xD6,0x05,0xFA,0x1E,0xDA,0x1B,0x51,0xEF,0x84, -0x8D,0x7D,0x7F,0x69,0x72,0x76,0xA4,0xB8,0xD8,0x43,0x7A,0xB7,0xE1,0x58,0xD4,0x70, -0xA4,0xDC,0x9B,0x44,0xF9,0x85,0x2A,0xF8,0xAF,0xB9,0xEC,0x81,0xE3,0x41,0xB6,0xBC, -0xD7,0x90,0x0B,0x26,0x12,0xB5,0xA8,0x48,0x40,0x56,0xA3,0x43,0x0E,0xBD,0x78,0xF3, -0xE5,0x75,0x80,0x29,0x58,0x22,0x8E,0x58,0x96,0x69,0xF9,0x5E,0xE8,0x5F,0xD3,0xE6, -0x17,0x1F,0x17,0xC7,0xD1,0xD8,0x56,0x4D,0x57,0x89,0xDE,0x2E,0x27,0x5A,0x8A,0x3E, -0x6F,0x4F,0x93,0x4B,0x0E,0xA2,0x3F,0xEA,0x91,0x62,0x15,0x27,0x0B,0x3F,0x6A,0x12, -0x74,0xD8,0x76,0xC8,0x20,0x94,0xC9,0xED,0x33,0xF0,0x60,0xFD,0x32,0x3A,0xCE,0x01, -0x52,0x17,0x73,0x12,0x81,0xCD,0x91,0x2F,0x8A,0xF1,0x19,0x6F,0x6E,0xFE,0x8A,0x53, -0xEB,0x78,0xCB,0x17,0x45,0xE1,0xEB,0xD6,0x2E,0xC7,0x16,0x1B,0xFC,0xCE,0x9E,0xF7, -0x47,0xCE,0xA6,0x74,0x4E,0xA8,0x62,0x54,0x37,0x61,0xE7,0x94,0x1D,0x03,0x7A,0x1D, -0x50,0x60,0x88,0xF1,0x2D,0x45,0x8E,0x33,0x8F,0x6A,0x3B,0x44,0xF4,0x01,0x57,0xE3, -0xBC,0xC3,0x64,0xBE,0xE2,0x70,0xAC,0x3F,0x9F,0x69,0x32,0xF7,0x73,0x2D,0xD7,0xAF, -0x06,0x16,0x78,0x2E,0xF8,0xF4,0xBD,0x90,0xC9,0x87,0xDB,0x7D,0xEF,0xF6,0x2B,0x67, -0xC5,0x69,0x60,0xF5,0xA7,0xCA,0xDB,0x4F,0xBF,0xB9,0xE8,0x79,0x5E,0xB1,0xDB,0x40, -0x53,0xC4,0x53,0xDE,0x31,0x90,0x75,0x1C,0xB0,0x20,0xB0,0xB4,0xEC,0x9F,0xA4,0x31, -0x4F,0xB0,0xB7,0x97,0xE3,0xC1,0x4D,0x62,0x2E,0x43,0xDA,0x66,0xCC,0x82,0x50,0xAA, -0x81,0x71,0x60,0x9C,0xD3,0xE4,0x79,0xD8,0x12,0x74,0x23,0x03,0xEC,0x48,0x02,0xA9, -0x78,0xD1,0xB2,0xE1,0x6D,0xD3,0x15,0xA2,0x68,0xB0,0xDC,0xC2,0x22,0xDD,0xA6,0x75, -0x30,0x4B,0x69,0x44,0x62,0x7C,0x60,0xDC,0xC5,0xAC,0x29,0xEE,0xDB,0x6A,0x75,0xFF, -0xFC,0x93,0xF4,0xBC,0x93,0x21,0xEB,0xF1,0xA6,0xE8,0x4E,0xDC,0x79,0x24,0x68,0xEE, -0x7B,0x8D,0x27,0xCD,0xAE,0x4D,0xDD,0x3F,0x2F,0x5E,0x72,0x46,0x40,0x79,0xB1,0xD5, -0x0D,0x63,0x78,0x06,0x8C,0xF7,0xD0,0x3F,0x75,0xE4,0xE3,0x12,0x8D,0x91,0x20,0x42, -0x20,0xA2,0xD2,0x1F,0x2B,0x2C,0x61,0x99,0xBC,0x81,0x44,0x42,0x3C,0xBB,0x02,0xB2, -0x38,0x8A,0xA3,0xC9,0x23,0x92,0xE2,0x5A,0xCA,0x32,0x13,0x85,0x8F,0x40,0x43,0xB8, -0x05,0x59,0xFB,0xFA,0x53,0x6C,0xD5,0x9A,0xF0,0x72,0xBF,0x32,0x07,0x8A,0xCC,0xDB, -0x7E,0x5E,0x47,0xF9,0x43,0xB4,0x96,0x86,0x3F,0x92,0x1C,0x2A,0xDF,0xEA,0x0E,0xF5, -0x67,0x0F,0x33,0x6B,0x13,0x56,0x91,0xAF,0x47,0x43,0x93,0xB6,0xF8,0xF0,0x3D,0xDE, -0xA9,0x0B,0x88,0x2C,0xEE,0x80,0x2F,0x6C,0xF1,0xB2,0x33,0xF0,0x65,0x0A,0x61,0xE1, -0x5E,0x82,0xBC,0x83,0x0D,0xD4,0xB5,0x48,0xE8,0x0A,0xED,0xE4,0x05,0x2F,0x7C,0xEA, -0x4C,0x4B,0xA8,0x90,0xCD,0x39,0x95,0x78,0x09,0xC8,0x4B,0x33,0xE3,0xF1,0xFB,0xFA, -0x34,0x23,0xB1,0x40,0xAC,0x2B,0x84,0xE1,0x3B,0xF6,0x9A,0x15,0xF8,0x5B,0x3B,0x22, -0xA5,0x11,0x40,0x30,0xCE,0x3C,0x75,0x7B,0xD8,0x31,0x08,0x40,0x9F,0xC0,0x15,0xB5, -0xE9,0xBF,0x7D,0xD5,0xFA,0x6E,0xDC,0x39,0x69,0xD5,0x00,0x45,0xBD,0xEE,0x6E,0xBA, -0x0F,0xFF,0x66,0x0F,0x05,0x98,0xDA,0x73,0x4B,0x38,0x4A,0xD8,0xF3,0xC9,0xB1,0x6D, -0xF5,0xCA,0xE1,0x74,0x33,0xF8,0x42,0x7D,0x74,0x9F,0xEF,0x69,0x0C,0x43,0x6B,0xB1, -0x25,0x96,0x21,0x2C,0xEC,0x97,0xFF,0xBD,0x2B,0xA5,0x5C,0x4B,0x78,0x8C,0x14,0x41, -0x57,0x09,0x37,0x42,0x31,0xBA,0xCE,0xD3,0x8F,0x19,0xE2,0x16,0xFB,0x31,0xF5,0xA6, -0xE6,0x0F,0x85,0x23,0x15,0x0C,0x5F,0x05,0x53,0x55,0xA1,0x5C,0xC3,0x59,0xD7,0xFB, -0x9E,0x65,0x8B,0x72,0x16,0x2A,0x7F,0x34,0x59,0xE5,0x18,0x9A,0x04,0x8B,0x8E,0xE9, -0x10,0xC0,0x96,0xAE,0x4B,0xA7,0x8D,0x81,0xD0,0x8D,0xC7,0x97,0xC2,0xDF,0x7A,0x32, -0x3D,0xE8,0xCB,0x43,0xA4,0x9C,0xBF,0xA3,0x6E,0xE4,0x36,0xE1,0x8B,0x62,0xF6,0xDC, -0x1D,0x9F,0x33,0xFF,0x74,0x1B,0x7F,0x17,0xA1,0x0C,0xD1,0x83,0x4F,0x96,0x14,0x83, -0xFA,0xF8,0xFB,0x77,0x99,0x83,0xD0,0x5C,0xE8,0x6E,0x11,0x3D,0xB0,0xB9,0x7B,0xE3, -0xCB,0xD1,0xB2,0x88,0xD2,0xF3,0xE4,0x23,0x09,0x10,0x89,0x67,0x81,0x09,0xFB,0xF7, -0x04,0x76,0x58,0xAB,0xD9,0x86,0xBC,0xEA,0x31,0x2D,0x27,0x9B,0xA1,0x69,0x3C,0x30, -0x77,0x20,0x7A,0x41,0x6A,0xAB,0x1C,0x4B,0x42,0x62,0x1F,0xEE,0x2D,0x54,0xCA,0xB8, -0x9D,0x17,0x62,0x20,0xBA,0xD5,0x5E,0xFD,0x9D,0x78,0x37,0xC1,0x47,0xD6,0x1D,0x41, -0xAD,0xB1,0x8F,0xCE,0x4C,0x0E,0x66,0xEC,0x5D,0xF5,0x75,0x58,0x33,0x7D,0xA5,0x6F, -0xD4,0x45,0x72,0xCD,0x32,0x1A,0x29,0x2D,0x4A,0x84,0x47,0x02,0x34,0x53,0xAB,0x20, -0xCF,0x5D,0x45,0x1A,0xFB,0x52,0xA0,0x60,0x3C,0xAD,0xA3,0x85,0xC9,0x87,0xE2,0x2A, -0x5F,0x6D,0xE2,0x29,0x55,0x31,0x4D,0xF2,0xF0,0x4B,0xC9,0x92,0xA0,0xB4,0xF2,0x78, -0x69,0x07,0x0F,0xF3,0xE7,0x9E,0x74,0xDB,0xB7,0x0D,0x1E,0x67,0x5E,0x29,0xAB,0x0F, -0xBC,0xD6,0x63,0xD6,0xDE,0x8C,0x46,0x91,0x27,0x0C,0x90,0xB5,0x09,0x25,0xB2,0xB2, -0xEA,0xA4,0x74,0xAC,0x2D,0x92,0x67,0x34,0x1E,0x3E,0x7A,0x05,0x87,0x41,0x77,0x16, -0xA7,0xCD,0x98,0xCF,0x33,0x2E,0x69,0xE1,0x9B,0x51,0x4D,0x7B,0xE4,0x1C,0x1C,0xC4, -0x22,0x07,0x0A,0x20,0x8F,0x38,0x9B,0x6E,0x64,0x07,0x33,0x24,0xEC,0x85,0xA5,0xEB, -0x65,0x7F,0x76,0xDD,0x15,0x74,0x82,0xAE,0x0B,0x97,0x13,0x03,0xD6,0x82,0x93,0xE4, -0x23,0xE6,0x1F,0x04,0x79,0x27,0xFB,0x7B,0xF7,0x2D,0x6E,0xFC,0x4A,0xC7,0x0B,0x92, -0xA8,0x65,0xC9,0x1A,0xC8,0x2D,0xBF,0x6D,0x6E,0xD7,0x4F,0xE2,0x88,0xF3,0x36,0xD2, -0xE3,0x4D,0x4D,0xBE,0x77,0x78,0x87,0xE5,0x70,0x46,0x8A,0xEE,0x03,0xE6,0xF2,0x43, -0x84,0x98,0x0D,0x2E,0xB2,0x56,0xB8,0xA5,0x74,0x06,0x4B,0x92,0xB2,0x01,0x6D,0x63, -0xB0,0xE0,0x4C,0x67,0x8D,0xFF,0x3B,0xBC,0xB5,0xD8,0x89,0x59,0x96,0x80,0x4B,0x8F, -0x4E,0xDC,0xA1,0x8B,0xE7,0x57,0xCC,0xFC,0xA8,0xD5,0x59,0xA2,0x2A,0x66,0x02,0x9A, -0x6F,0x93,0x15,0x22,0x46,0xDF,0x92,0x18,0xDF,0x6D,0xFB,0xD6,0x0A,0xF5,0x5D,0xE2, -0x5C,0x07,0x5E,0x8C,0x5B,0x42,0x60,0x67,0xF7,0xAA,0x54,0xA2,0x69,0x36,0x28,0xDB, -0xBE,0xD6,0x80,0x90,0x11,0x18,0x99,0x95,0x37,0xD0,0xC3,0xB2,0x5F,0x04,0x7B,0x56, -0xB9,0x09,0xF0,0x47,0x30,0x9B,0x4B,0x54,0x5D,0xAA,0x97,0x34,0x7C,0x6C,0x03,0xBB, -0xA0,0x7D,0x0B,0x93,0x47,0x0D,0x84,0x73,0x3C,0x8D,0x64,0x35,0xEA,0x45,0x6E,0xFE, -0xDB,0x0B,0x2B,0x2E,0x94,0x81,0xC3,0x6B,0x3A,0xD1,0x75,0xCD,0xE0,0x95,0x39,0x99, -0x1F,0x8F,0x61,0x9F,0x56,0xF8,0x53,0xFB,0xA1,0x3F,0x2C,0xC0,0xAC,0xB3,0xDE,0xA0, -0xBB,0xF2,0xD0,0x6D,0x59,0x3F,0x5C,0xA9,0x53,0x66,0x39,0xE3,0x11,0xF6,0xF3,0xF9, -0xDE,0xA5,0x26,0xC3,0xDF,0xF4,0x6B,0xFF,0xF8,0x1B,0x43,0xEE,0xD4,0x8E,0x14,0x9E, -0xE0,0x54,0x7A,0x8A,0xF8,0xDA,0x4A,0xE3,0x3D,0x1F,0xA4,0xF5,0x47,0xB1,0xDE,0x61, -0xCC,0x3F,0xA3,0x4D,0xC3,0xD3,0x8E,0x9D,0xEC,0x8E,0x91,0xFD,0x74,0x5D,0xBB,0x03, -0x2F,0xFB,0x4D,0xB2,0xA7,0xF7,0xE3,0xEE,0xEC,0x80,0x00,0x35,0x35,0x0A,0x5D,0xFB, -0xE2,0x12,0x17,0x05,0xBD,0x06,0x6D,0x56,0xC2,0x74,0x49,0x16,0x60,0xA6,0x7E,0x62, -0x7E,0x4E,0x5E,0x8F,0x98,0x51,0x6E,0xD8,0x46,0xBB,0x71,0x0E,0x0D,0xB2,0xD7,0x8A, -0x63,0x79,0x27,0xE0,0x3D,0x3B,0x2D,0x37,0x06,0x06,0x20,0x2D,0x5B,0xAE,0xBD,0x44, -0x17,0xFA,0x8F,0xCD,0xD8,0x3A,0x5C,0x51,0xBB,0x52,0x15,0x9C,0x3F,0xE7,0x57,0x42, -0x50,0xDF,0x75,0x2F,0x1F,0x09,0x75,0x58,0x23,0xAE,0x2B,0x0F,0xA0,0x24,0xD7,0xBB, -0x8B,0x47,0xD0,0x8E,0xD9,0xC8,0x3E,0x2E,0x00,0x26,0x9D,0x80,0x7D,0xD1,0x74,0xBB, -0xC5,0x5F,0x10,0x04,0xCC,0xAF,0xF6,0x6F,0xC8,0x5A,0xC0,0x6C,0x0F,0x1D,0xB1,0x3E, -0xA9,0x8F,0x60,0xB4,0x1E,0xC2,0x8C,0x10,0x31,0xCC,0x05,0xF0,0xD3,0x60,0x9D,0xF0, -0x3C,0xAE,0x78,0x7D,0x47,0x3D,0xD3,0xBC,0xA3,0x20,0x32,0xAC,0x6C,0x99,0xC8,0xB5, -0x5A,0xD4,0x1C,0x93,0x5F,0xA5,0xA4,0x94,0x71,0x02,0xCD,0xC7,0x53,0xC1,0x4E,0x67, -0xA1,0x47,0x0F,0xC1,0xE9,0xF2,0xA6,0x10,0xEC,0x64,0x73,0x74,0xEE,0xD9,0xA9,0x8F, -0x98,0x97,0x8E,0xA3,0xD1,0x93,0xCD,0x0D,0xBC,0xD3,0xAC,0x89,0xF5,0x9A,0x94,0x62, -0x70,0x3C,0x9F,0x62,0x16,0x02,0xFE,0x69,0x1F,0x7F,0x16,0x4E,0x37,0xEC,0x62,0x42, -0x11,0x34,0xFF,0x51,0x08,0x72,0x42,0xA3,0xE2,0xCA,0xB7,0x62,0x60,0x86,0x0D,0x40, -0xEB,0xD7,0x42,0x7D,0xA1,0xD2,0xF6,0x13,0x9F,0xC6,0x61,0x91,0x6C,0x48,0x38,0x1E, -0x6B,0x28,0xCD,0x90,0x0E,0x5E,0x73,0xE6,0x08,0xD8,0x8D,0x7D,0xC6,0xE4,0xC4,0x72, -0x0B,0xE2,0xB8,0x9F,0x32,0xFD,0xA6,0x47,0x3F,0x44,0x55,0x8C,0x08,0x9F,0x71,0x59, -0xBA,0x49,0xC7,0xD7,0xFF,0x7B,0x44,0x9B,0x58,0xCD,0xCA,0x9B,0x00,0xD5,0x79,0x19, -0x21,0xF3,0x3D,0x36,0x9C,0xE9,0xEC,0xB2,0x0B,0xAC,0xDD,0xB4,0xE6,0x44,0x16,0x51, -0xCE,0x69,0x92,0xA2,0x24,0x0C,0xC9,0xA2,0xBA,0x37,0x35,0xA2,0xA9,0xBF,0xBF,0xBF, -0x10,0x57,0x4C,0x05,0xC3,0xAA,0x22,0x44,0x08,0xB3,0xD8,0x37,0xF9,0xAD,0x56,0x99, -0xA2,0x00,0x1F,0xB7,0xBD,0x0E,0x4B,0x56,0x47,0xF2,0x19,0xF3,0xF8,0x14,0x9D,0x94, -0x6D,0x40,0xDE,0x29,0x49,0xBD,0xCD,0x90,0xA1,0x95,0x76,0x9C,0xF2,0xC4,0xA1,0x85, -0x0F,0xFA,0x89,0x54,0x2C,0xE1,0x97,0xF8,0x50,0xAA,0x8F,0x1E,0x2D,0x08,0xD1,0xE9, -0x28,0xE5,0x3F,0x65,0x06,0xAB,0x77,0x58,0x9F,0x10,0x79,0xB5,0xFD,0xEE,0xDA,0xD8, -0x6A,0xCC,0xAE,0x88,0x6F,0xF9,0x8E,0x80,0x51,0x39,0xCB,0x19,0x07,0x7F,0x1F,0x8F, -0x3E,0xB6,0x85,0x66,0x27,0x26,0x96,0xB5,0x51,0x98,0x46,0x29,0x87,0xF1,0x16,0x27, -0xD0,0x57,0x48,0xF6,0xCA,0x03,0x65,0x7F,0x59,0x32,0x5B,0xE3,0x36,0xB6,0x2E,0x70, -0xB8,0xB6,0x7D,0x4F,0x74,0x40,0x8A,0xEF,0x2D,0x1F,0xED,0x49,0x4B,0x07,0xCF,0x1C, -0x58,0xE4,0xC4,0x9E,0xFA,0xF0,0xD9,0xC8,0x64,0x5C,0x62,0x06,0x90,0x1B,0xD8,0x5D, -0xE8,0x40,0xCB,0x4F,0x5B,0x68,0xB5,0x07,0xCD,0x68,0x12,0x87,0xB1,0x2A,0xC8,0x10, -0x83,0xB1,0x0A,0x1F,0xB5,0xD7,0xE0,0x2F,0x2C,0xA4,0x7D,0x79,0xAB,0xDC,0x23,0x12, -0x77,0x4F,0x00,0x46,0x1F,0x30,0xB0,0xE2,0xA3,0x4A,0xFA,0x21,0x79,0xFC,0x14,0x51, -0x37,0xED,0x28,0x13,0xBC,0xD6,0xC9,0x68,0xB5,0xA0,0x34,0x17,0x1A,0x7C,0x2B,0x8A, -0x9C,0x80,0x7D,0xC3,0x12,0x94,0x19,0xFA,0x1F,0xFE,0xEF,0xDD,0xD6,0x4C,0xBF,0x82, -0x88,0x8C,0x89,0x16,0xA3,0xC6,0xA0,0x6A,0xAF,0xE9,0x67,0x94,0xF6,0xE5,0x12,0x8A, -0xB5,0x2E,0x88,0xFE,0x9A,0xFE,0x38,0xA8,0xE9,0xAF,0x4A,0x3C,0xB2,0x96,0x3F,0x47, -0x9E,0xE7,0xE8,0x17,0x3F,0xDD,0xCB,0x28,0xBA,0x7C,0x87,0x06,0xC3,0xCB,0xB6,0x22, -0xF9,0xF8,0xA8,0x00,0xDD,0x93,0x39,0x9F,0xE8,0x3E,0x4B,0x96,0x70,0x96,0xE2,0x0E, -0x94,0xBA,0x1F,0x86,0x62,0xFF,0xE5,0xF1,0x73,0xEE,0x36,0x5D,0x26,0x53,0xFD,0x7D, -0x6B,0x9D,0xC9,0xBB,0xD8,0x6A,0x94,0xEC,0x46,0x9A,0xCF,0xCF,0x8C,0x64,0xBA,0xC6, -0xF3,0x17,0x23,0xDC,0x8D,0x0C,0x98,0x27,0x93,0xE3,0x97,0x44,0x89,0x9B,0xA0,0x8E, -0xA4,0x69,0xF4,0x08,0x13,0xF7,0x23,0xE7,0x80,0x38,0x8F,0x73,0x91,0x25,0xBA,0xAF, -0xC5,0x5A,0x40,0x89,0x01,0xCE,0xD2,0x1A,0xBA,0x74,0xCC,0xF1,0x7C,0xFA,0x28,0x43, -0x54,0x67,0x01,0xFF,0xA4,0x26,0xFE,0x94,0x49,0x9D,0xBA,0x09,0x9D,0x40,0x17,0xF7, -0x24,0xA9,0x89,0x3D,0x6B,0x47,0x6C,0x31,0xA1,0xA8,0xD0,0x74,0x7E,0xE1,0x36,0x7D, -0x84,0x2A,0x6A,0x3D,0x41,0xBD,0x70,0x65,0x06,0xF7,0x1E,0xC5,0x9D,0x37,0x41,0x33, -0x08,0x82,0x8C,0x95,0x44,0x3D,0x08,0x7C,0x20,0xDB,0xB2,0x03,0x8F,0xDB,0x00,0xF6, -0xAB,0x54,0x56,0x61,0xF7,0x5D,0x6B,0xAA,0xE9,0xD3,0xC9,0x76,0xC4,0x03,0xE0,0xBE, -0x2D,0x9A,0x58,0xFC,0xFF,0xEC,0x50,0xC3,0xB7,0x2F,0x83,0x7B,0x48,0x9C,0x47,0xD8, -0xBF,0xF6,0xD1,0xB7,0x5E,0x77,0xFF,0x0C,0x1B,0xB4,0x12,0x9B,0x79,0x8B,0xCB,0xD5, -0x5A,0x72,0xBB,0x14,0x7B,0x98,0xE3,0x46,0xA6,0x91,0xE9,0x5A,0x3F,0x63,0x24,0x39, -0xFC,0x0C,0x79,0x7D,0xEE,0x46,0xE5,0xE3,0x4F,0xAD,0xFB,0xF8,0x7B,0x8E,0xB3,0xA3, -0x58,0x5C,0xEE,0x23,0x50,0xF4,0x27,0xAB,0x34,0xD5,0x42,0x40,0x9E,0x4F,0x9C,0xA5, -0xEB,0xF8,0x61,0xF7,0x5F,0x3B,0xFC,0x91,0xE3,0x68,0x92,0xC0,0x50,0x20,0x67,0x77, -0xB7,0x49,0x87,0x31,0x65,0x59,0x49,0xDC,0xED,0xC0,0x5E,0xD9,0xE8,0xD9,0xB5,0xC8, -0xFD,0xDB,0x82,0x1C,0xE4,0x7E,0xAE,0x81,0x0C,0x60,0xB8,0xDA,0xA1,0x2F,0xA8,0x32, -0xAF,0x68,0x8D,0xA9,0xF3,0x3C,0x43,0xF2,0x9B,0x43,0x29,0x7E,0x0E,0x9D,0x56,0xE5, -0x70,0xC3,0x66,0x24,0xEF,0x68,0x61,0x92,0xAC,0x28,0xA7,0x34,0x87,0x10,0x56,0x9D, -0x55,0xDA,0x59,0xDB,0x17,0x86,0x33,0x13,0xA7,0x64,0xE0,0xBB,0x96,0x0D,0x6F,0x29, -0x16,0xB4,0xE3,0x0B,0xE7,0xEE,0x60,0x49,0xC6,0xE0,0x51,0x19,0x97,0xBB,0xFA,0x4E, -0xA6,0x83,0xE1,0x79,0x40,0x0E,0xB3,0x91,0xE2,0xB4,0x4D,0x3B,0xEF,0x34,0xF3,0xA5, -0x3E,0x3C,0x05,0x28,0x61,0xBE,0x86,0x07,0x1D,0x91,0x7C,0x5E,0xCA,0x44,0x47,0xA2, -0x81,0x5D,0xA3,0xFC,0x55,0xD5,0xEC,0x68,0xEC,0x48,0x8A,0x69,0x7B,0x2B,0xD9,0x0A, -0x66,0x12,0x78,0x8B,0x52,0x21,0x15,0xDB,0x9E,0x7A,0xAA,0x75,0x65,0xAC,0x01,0x1C, -0x80,0x7D,0x45,0xD3,0x5F,0x61,0x4E,0x89,0x81,0x90,0x2A,0x13,0x6A,0x62,0xAB,0x11, -0xC2,0xF0,0x8C,0x3B,0xEC,0xCA,0xBD,0xED,0xF6,0xC3,0x1A,0xD0,0x8A,0xB9,0x9A,0x70, -0x90,0xFC,0x85,0x0C,0x25,0xDE,0xFB,0x6E,0xF0,0xFA,0xB3,0xAF,0x5C,0x31,0xB2,0x35, -0xA8,0xF9,0xF8,0xD5,0xE5,0xE3,0xD4,0xC9,0x5F,0x0E,0xC0,0xD1,0x9D,0x1C,0xCC,0xA3, -0x4C,0x1F,0x8A,0xC2,0x46,0x82,0x3B,0x0B,0x5A,0x53,0x05,0xC8,0x68,0x11,0xDF,0x9E, -0x04,0xD7,0x7F,0x3B,0x15,0x99,0x33,0x77,0xC5,0xC8,0xD1,0x89,0x5A,0xF5,0x18,0xEC, -0x67,0x91,0x61,0x7B,0x0A,0x09,0x00,0x70,0x1D,0x24,0xE2,0x7F,0x35,0x9F,0x87,0x56, -0xC8,0xA2,0xBE,0x18,0x1F,0x3F,0x16,0x16,0x03,0x0A,0x7F,0xA0,0xBE,0x48,0xBF,0xB6, -0xDA,0x1B,0x30,0xD3,0xFE,0xEA,0x62,0x5C,0x17,0xDF,0x73,0xA9,0x3F,0xC6,0x2B,0x74, -0xC4,0xB9,0xAA,0xBF,0xC7,0xBC,0x16,0xDC,0xEF,0x0C,0x17,0xFE,0xAC,0x2C,0xE4,0x41, -0x78,0xA9,0x09,0x16,0x0F,0xF1,0x22,0xF7,0x95,0x7B,0x4A,0xD2,0x78,0x1B,0x10,0x92, -0x6E,0xC9,0x32,0x62,0xA2,0x74,0x95,0x28,0x26,0x42,0xD3,0xCE,0x1C,0x65,0x4C,0xE7, -0x22,0xB8,0x4A,0x9F,0x51,0x33,0xBB,0x4C,0x66,0x33,0xD4,0x0A,0x97,0x45,0xA4,0xFF, -0x71,0xDC,0x4C,0xCB,0x25,0x75,0x02,0xCB,0xC3,0x52,0x91,0x19,0x56,0x38,0x2A,0x8C, -0x7B,0x1F,0x47,0x79,0xFE,0xFE,0xCC,0x9A,0x26,0xB5,0xA5,0x54,0xDD,0x19,0x02,0x3B, -0x2E,0x2A,0x01,0xD8,0xED,0xB5,0xA1,0x5A,0x4E,0x13,0xB0,0x53,0xE1,0xDC,0x9A,0x22, -0x00,0xF5,0xDA,0x63,0x4F,0xD2,0xFB,0xAF,0x59,0x9F,0x57,0x4B,0xB5,0x1D,0x57,0x83, -0xA9,0x1B,0x11,0x6B,0x39,0xE6,0xD8,0xA0,0x56,0x9A,0xD6,0x46,0xF0,0xDF,0x61,0x35, -0x01,0x28,0xF3,0x68,0x3B,0x18,0x7F,0x61,0xF6,0x1C,0x30,0xA1,0x5D,0x0F,0x64,0xD4, -0x89,0x62,0x7F,0xC5,0xB7,0x39,0x1D,0x2D,0xDE,0x84,0xA3,0x28,0x11,0xAD,0xF8,0x78, -0x14,0x2B,0x12,0xD7,0x32,0x0A,0x8D,0x1C,0x0E,0xF3,0x60,0xF4,0xA8,0x02,0x90,0xE0, -0x4E,0xE0,0xEA,0x81,0x1E,0xE8,0xF3,0xF4,0x3F,0xAB,0x52,0xD6,0xA6,0x95,0x14,0x10, -0xCD,0x8F,0x03,0x48,0x60,0xEF,0x91,0x81,0xE9,0x15,0x3A,0xA6,0x94,0xC1,0x82,0xF7, -0x5B,0x40,0x62,0x60,0xAA,0xF6,0xE5,0x4F,0xE0,0xE1,0x13,0x06,0xF9,0x32,0x1C,0xF5, -0xD7,0xCE,0x84,0xDC,0xDE,0x8D,0x9A,0xD8,0x8B,0x51,0xC3,0x3D,0xC1,0x23,0x4C,0xAD, -0xAE,0x37,0xC6,0x2C,0xD8,0x49,0x78,0x06,0x9D,0xCF,0xE5,0xD8,0x36,0x7A,0xA5,0xDE, -0x69,0x64,0xC5,0xBD,0x18,0xED,0x47,0x3A,0x07,0x55,0xA0,0xAE,0xC7,0x6F,0x3A,0xF1, -0xA2,0x92,0xF5,0x58,0x14,0x88,0xD3,0x73,0xBC,0xB1,0xD8,0x2F,0x62,0x15,0x4D,0x06, -0x8C,0x0C,0x83,0x1A,0x55,0xB6,0xF2,0x3C,0x97,0xEA,0xE7,0xA3,0xE8,0xF2,0x01,0x66, -0x85,0x9E,0x0C,0xE0,0xD5,0x9A,0x65,0xDE,0xB4,0xCC,0x0B,0xC7,0xBF,0xC7,0x30,0x1D, -0xA1,0x8C,0x38,0x77,0xF7,0x79,0x18,0xED,0x3A,0xE5,0x5C,0x84,0x22,0x56,0x33,0x67, -0x50,0x30,0xC1,0x02,0x10,0xB4,0x8F,0x54,0xB4,0x31,0xF0,0xE0,0xB5,0x1F,0xF3,0xF9, -0x07,0x66,0xF7,0xB4,0xA6,0x28,0xE8,0xAF,0x4D,0xBE,0xE4,0x03,0xB7,0x27,0x22,0xA7, -0x6D,0xA9,0x51,0xA3,0xAD,0x35,0xF1,0xEE,0x96,0x6C,0xF8,0xEF,0x4C,0x76,0x87,0xEC, -0x6C,0x58,0xE6,0x33,0x94,0x41,0xFE,0x9C,0xC2,0x5A,0xB1,0x0F,0xD2,0x43,0x11,0x92, -0x5F,0x7A,0xFB,0xA9,0xCC,0x06,0x5F,0xD7,0x2A,0x40,0x72,0xED,0x76,0x7D,0x9F,0xEC, -0x0E,0x4C,0xEA,0x99,0xDA,0x95,0x4E,0xFF,0x98,0x1D,0x67,0xF3,0xF3,0x0B,0x9D,0x15, -0x45,0xEF,0x4E,0x76,0x40,0xC0,0xBF,0x9F,0xFA,0xB1,0xA2,0x67,0xE2,0x1E,0xD0,0x6B, -0xCE,0xBD,0x96,0x36,0x23,0xCA,0xBE,0x55,0x7F,0x2C,0x83,0xC0,0xAB,0x2A,0x0A,0xFE, -0x88,0x53,0x84,0x7F,0x01,0x99,0x10,0x9B,0xA6,0xCB,0xFE,0xB6,0xF4,0x6F,0x6E,0xD1, -0x82,0xF3,0xA7,0x88,0xC1,0x32,0x7A,0x33,0x1B,0x7B,0x16,0x34,0x97,0x18,0x9F,0x36, -0xA3,0x5C,0xF0,0x0C,0x82,0xBA,0x1C,0xC1,0xA0,0x27,0xB4,0x1B,0xF6,0x8B,0x36,0x65, -0x5D,0x14,0x7A,0xA3,0x9B,0x12,0x4A,0xF4,0xB0,0xEA,0x64,0x97,0x20,0x6D,0x8E,0xBA, -0x69,0x58,0x54,0x91,0x19,0xBB,0x2D,0x5D,0xF7,0x8A,0xA6,0x08,0x37,0xEC,0x99,0x9B, -0x84,0x47,0xB8,0x9B,0x1A,0x73,0x28,0x8B,0xFB,0x21,0xF3,0xAE,0x06,0xC4,0x52,0x93, -0xB2,0x08,0xAD,0x13,0xB1,0xDC,0xEE,0xFE,0x18,0xF0,0x24,0x55,0x27,0x59,0x5D,0xC7, -0x22,0x0D,0xC0,0xF1,0x2A,0xBF,0xAA,0x33,0x78,0x42,0x4E,0x43,0xFC,0x6A,0x52,0x6A, -0x39,0x3F,0x40,0x56,0x3D,0xF7,0x70,0xC1,0x1A,0xDA,0xAA,0xAB,0xD5,0xBE,0xD1,0xD1, -0xCF,0x3A,0xDB,0x3E,0xA9,0xD5,0xDC,0x2D,0x75,0x2A,0xDE,0x8A,0x20,0x68,0xDD,0x7D, -0x4A,0xB9,0x1D,0x35,0x1D,0xC3,0x43,0xB8,0x55,0x13,0xA0,0xB4,0x48,0xF1,0xB5,0xFD, -0x07,0x3F,0x84,0x94,0x9B,0x7F,0x95,0x4D,0xA2,0xBA,0x97,0xAF,0x3D,0xAC,0x30,0x7D, -0x51,0x1D,0xAB,0x5A,0xC3,0x61,0xEE,0x4D,0xE8,0x5A,0x7D,0xF6,0x10,0xC8,0xB4,0x89, -0x0F,0x78,0x5D,0x80,0xC4,0xEB,0x50,0xF5,0xEE,0x2D,0xA4,0x9B,0x73,0x4B,0x5C,0x0C, -0xC2,0x2F,0x9C,0x90,0x03,0x1A,0xD0,0xCD,0x19,0x1B,0xED,0x27,0x0F,0xE7,0x97,0x0F, -0x21,0x83,0xEC,0x3C,0x7F,0x3E,0x47,0x34,0x54,0x36,0x7C,0x2A,0x93,0xB0,0x1C,0x3D, -0x0D,0x4F,0x53,0x84,0xCE,0x37,0xF7,0xEB,0x0F,0x51,0x49,0xD7,0xD7,0x5C,0x1E,0xF8, -0xBD,0x8B,0x4F,0x40,0x50,0xE4,0x9B,0x82,0x0E,0x23,0xC6,0xAB,0x92,0xC9,0x80,0x12, -0xFA,0x85,0xC8,0x5B,0xF0,0xD7,0x77,0xB8,0xFF,0xE7,0xF8,0x42,0x09,0x0A,0x62,0x9F, -0x8E,0x5B,0x51,0x61,0x5B,0xD6,0xA0,0xF1,0x09,0xA1,0xCD,0x1E,0x30,0x43,0x7F,0xA3, -0x93,0xF4,0x1B,0x50,0x6E,0xBC,0x2C,0xDD,0x27,0x1C,0x9C,0xFD,0xCF,0x5F,0x8D,0xBE, -0x4D,0xAC,0xE0,0xE6,0x4D,0xE0,0xB8,0xD2,0x4C,0xB9,0x89,0x46,0xBF,0xA8,0x6C,0xA2, -0x54,0xED,0x02,0x17,0x56,0x76,0xB6,0x0F,0x47,0x5E,0x7A,0xA7,0x06,0x81,0xE9,0xA6, -0x53,0xF4,0x28,0xE7,0x18,0xF5,0x57,0x87,0xD3,0xBB,0x2E,0xFA,0xB2,0xE9,0x08,0xE5, -0xB1,0x51,0x9B,0x17,0x9D,0xAF,0x4B,0xE1,0x66,0xD4,0xB9,0xE4,0xA8,0xDB,0xF8,0x1E, -0x33,0xB8,0xE9,0xB5,0x36,0x19,0x73,0x6A,0xDE,0x27,0xAE,0x43,0xDC,0x63,0x6F,0x2E, -0x56,0x97,0xE2,0x61,0x00,0xD2,0x02,0x99,0xD8,0x06,0xD4,0xF1,0x5A,0x1B,0xDA,0x98, -0xF2,0xE5,0xEF,0xAC,0xF2,0x15,0xC6,0x6C,0x0B,0x3F,0xC1,0xA6,0x74,0x5E,0x6B,0x6F, -0x36,0x6E,0xB4,0xD9,0x8F,0x6C,0x5F,0xB3,0x1F,0x1F,0x98,0x59,0xB4,0x78,0xA2,0x09, -0xE6,0x12,0x06,0x1B,0x34,0x10,0xAA,0xE9,0x0F,0x83,0xB8,0x30,0x83,0x72,0x19,0x98, -0x86,0x6E,0xEF,0x19,0x9A,0xB3,0xF3,0x0E,0x3E,0xDB,0x60,0x25,0x07,0x09,0x29,0xDF, -0x06,0x23,0x53,0x02,0x1E,0x3F,0xC4,0xDC,0x01,0xF2,0x8C,0x5D,0xA5,0xA5,0xE7,0xDE, -0xFC,0xF6,0x44,0x43,0x6B,0x9F,0xCD,0x5C,0xCB,0xDA,0x5A,0x52,0x61,0x6B,0x96,0x58, -0xFD,0xA7,0xCF,0x76,0x25,0x47,0xCF,0x90,0x96,0x26,0x35,0xB4,0xD8,0x40,0x1D,0x44, -0x23,0x6B,0x11,0x49,0xF9,0xE1,0xE9,0x6D,0x96,0xBA,0xD8,0x11,0xEC,0x52,0x22,0xAF, -0xCC,0x12,0x5E,0x27,0x9C,0x04,0x25,0xF9,0x82,0xA0,0x30,0x93,0xA7,0xA9,0x69,0x30, -0x57,0x79,0xEF,0x7B,0xDA,0x96,0x9E,0xA7,0x5A,0xEE,0x27,0x37,0x91,0x38,0x90,0x43, -0xD1,0x8C,0xBB,0x3C,0x5B,0xD0,0xA9,0x94,0xFF,0xE4,0xDF,0x88,0x52,0x74,0x1B,0x04, -0x44,0x80,0xA2,0xF1,0x40,0x2F,0x84,0x63,0x25,0x12,0xE8,0xBC,0xE3,0x8D,0xF1,0x20, -0x28,0xE2,0xBE,0x14,0x3F,0x42,0xA0,0x40,0xBD,0x54,0x2D,0xD7,0x7D,0xF0,0xAF,0x9E, -0x66,0xDD,0xFE,0x1B,0xDE,0x25,0xA9,0x70,0xCE,0xE1,0x70,0x9C,0xF4,0x3C,0x37,0x33, -0x9D,0xEC,0x40,0x03,0xF4,0xEF,0x5A,0x27,0x76,0xF1,0xFB,0x3D,0x60,0x01,0xE8,0x37, -0x75,0xC5,0x11,0x59,0x43,0x7E,0xBF,0x6B,0x00,0xE0,0x41,0x12,0x63,0x77,0x97,0x7C, -0x4C,0x4C,0x9F,0x47,0x56,0x1F,0x04,0x77,0x50,0x9C,0x9E,0xD9,0x2E,0x34,0x6B,0x26, -0xB7,0x5A,0x64,0x11,0xD7,0x48,0xCA,0xB6,0xE6,0x18,0x20,0xDA,0x4A,0x2C,0x44,0x7D, -0x9A,0x15,0x3C,0x4C,0x39,0xDD,0xE1,0xAD,0xDE,0x19,0x17,0x0A,0xA8,0x11,0xE4,0x8D, -0x6E,0xF6,0x30,0xC2,0x25,0x3A,0x41,0x07,0x1C,0x3C,0x90,0x48,0xE1,0x31,0xA7,0x7F, -0x05,0x98,0x23,0x6A,0x0D,0x85,0xBB,0x21,0x68,0x5A,0xFF,0xB2,0x6A,0xC7,0x7C,0xB3, -0xB5,0x93,0x3E,0x6E,0xF7,0x1D,0xA9,0x91,0x8B,0xB1,0x8F,0x0E,0xA9,0xF6,0xF5,0x93, -0x58,0xE0,0xA1,0xAB,0x6E,0x13,0xBC,0xCF,0x36,0x1F,0xA7,0xC6,0x0F,0x7B,0xA8,0x40, -0x65,0xF8,0xD3,0x2A,0xDC,0x2B,0xA9,0x23,0xB8,0x8D,0x8A,0x91,0xD3,0x08,0xB5,0xD7, -0x71,0xD4,0x17,0x7A,0x8E,0x79,0x80,0x7F,0x9F,0x81,0x02,0x6D,0x2B,0xA1,0x7C,0xD3, -0xDA,0xD1,0xD8,0x65,0x9D,0x3B,0xBA,0xFE,0xE4,0xEC,0xD9,0xBE,0xB5,0x91,0xE2,0x6D, -0xC5,0xAC,0x06,0x06,0xFD,0x46,0x6A,0xAC,0x7F,0x66,0x94,0x32,0x2B,0x03,0x15,0x92, -0xE2,0x56,0x5D,0x5D,0xB5,0x0C,0xD8,0x25,0x6D,0xA0,0x62,0x63,0x3E,0xE5,0xBC,0x60, -0x80,0x9A,0x40,0xE1,0x55,0x50,0xF6,0x3B,0xA0,0xCF,0x9B,0x99,0xCC,0x29,0xFD,0x71, -0x4F,0x76,0x37,0x1D,0x47,0xE3,0x08,0x99,0x0C,0x93,0xF4,0xA2,0x3B,0xF9,0xD6,0x3A, -0x55,0x38,0xBE,0x35,0xB8,0xAD,0x21,0xDF,0x49,0xEC,0x00,0x57,0x3B,0xEA,0x21,0x13, -0x3D,0x76,0x9A,0x78,0x4C,0xEE,0x19,0xF9,0x27,0xD6,0xB6,0x04,0x00,0x5B,0x52,0x73, -0xD3,0xD7,0x73,0x71,0x9D,0xCB,0xDD,0xE9,0x7C,0x36,0xAB,0x28,0xFC,0x1C,0x06,0x1C, -0x87,0x15,0xAA,0x5C,0x01,0x14,0xCD,0x20,0x99,0x78,0x26,0x68,0x70,0x92,0x00,0xB1, -0x11,0xF4,0xF0,0x10,0xAD,0xF6,0x0C,0x24,0x89,0x0F,0x22,0x8C,0xE3,0xBD,0x92,0xD4, -0xD5,0x34,0xE0,0x7E,0x7F,0x8F,0xCE,0xBE,0xDD,0x9F,0x7B,0x6C,0x03,0x9B,0x11,0x84, -0xD0,0x8A,0xE6,0xEA,0x86,0xFA,0x95,0xC7,0xAD,0x44,0x4D,0xA2,0xB5,0x80,0x8F,0x09, -0xB5,0x6C,0xD0,0xF5,0xC1,0x31,0xA8,0x37,0xF6,0x8E,0x37,0x74,0x9E,0xF8,0x30,0x67, -0xB0,0xD6,0xC5,0xCD,0x64,0x16,0x89,0x67,0x9A,0x68,0xCD,0xA4,0x98,0x0A,0x24,0xC5, -0x52,0xB1,0xA8,0x88,0x0F,0x4C,0xEA,0x76,0xB6,0xE6,0x5A,0x05,0x96,0x38,0x85,0xD4, -0xAE,0x7C,0xC0,0x85,0xAF,0x03,0x53,0xD5,0xCC,0x5C,0x6A,0x2F,0x1A,0x4B,0x84,0xF5, -0xB7,0xE2,0xA4,0xDA,0x07,0x95,0x64,0xEE,0xDA,0x7E,0x99,0x8A,0x41,0x62,0x49,0xE7, -0x6D,0x4C,0x7F,0xDC,0xF7,0x35,0x84,0x30,0xA6,0xE0,0x2E,0x38,0xC4,0xA0,0x01,0xC2, -0x70,0x40,0xCF,0xA2,0x34,0x5F,0xA1,0xF1,0x71,0x43,0x7F,0x18,0x1C,0xBC,0x92,0xA4, -0x5E,0x6F,0x68,0xE8,0xF0,0x07,0x36,0x1E,0xD8,0x5E,0x25,0xAD,0xEB,0x2A,0xEA,0xDE, -0x19,0x05,0x32,0x4A,0x19,0x34,0x43,0xA9,0xD7,0xBA,0x1B,0x40,0xEA,0xE9,0x5F,0xA3, -0xC2,0x30,0x7D,0x0C,0x31,0xDD,0x3C,0x51,0x6D,0x9B,0x9F,0xAE,0xA2,0x53,0xF7,0xEB, -0xEE,0x49,0xF6,0x06,0x19,0xD4,0x37,0xC0,0xB0,0x7D,0xAA,0xEF,0x3F,0xBF,0x23,0xAF, -0xEC,0xF3,0xE6,0x77,0xEC,0x08,0x06,0x16,0xAF,0xE8,0x47,0x94,0xD0,0xA8,0x13,0x90, -0x21,0x9A,0x35,0xF0,0xF8,0xF9,0xE4,0xAA,0x08,0xB1,0x0E,0xE3,0x08,0x04,0x5B,0x90, -0xE4,0xE2,0xCE,0x7F,0x53,0x9C,0xAD,0xE5,0xE6,0x60,0x74,0x1D,0x81,0x4F,0x8D,0x16, -0xB2,0x21,0xF5,0xAC,0x3A,0x82,0x99,0x03,0x8F,0x36,0x9E,0x72,0x6A,0x2B,0x50,0xBF, -0x2C,0xD1,0x65,0x38,0x5F,0x36,0x7D,0x31,0x4A,0x4F,0x3D,0xB6,0x7A,0x8B,0x9D,0x54, -0xA9,0xD6,0x25,0xCD,0x46,0x20,0x0A,0x5E,0xB2,0x02,0x43,0x9B,0x7B,0x12,0x19,0xE5, -0xC1,0x48,0xCF,0x64,0x67,0x5C,0xC1,0x59,0xEC,0x69,0xAD,0xFD,0x29,0x89,0xF8,0xC3, -0xDA,0x20,0xBE,0xC2,0xAD,0x14,0xF8,0xDC,0x80,0x6B,0x49,0xE9,0xDC,0x5D,0x62,0xFD, -0x67,0x5D,0xBA,0xE2,0xA3,0x90,0x7F,0x36,0x44,0x2D,0x10,0x59,0x80,0x27,0x28,0xC2, -0x51,0x84,0x6A,0x45,0x4C,0x3F,0xD6,0x9E,0x35,0x95,0xC7,0xFE,0xCB,0xBA,0xAD,0xB9, -0xBE,0x00,0x38,0x4D,0x3C,0xF1,0xB8,0x41,0x9C,0x47,0x87,0xE0,0xA1,0x8E,0xAD,0x1B, -0x8A,0x80,0xB0,0x76,0xC8,0x58,0xC9,0x37,0xF1,0x8C,0x45,0x76,0xDB,0x0F,0x8C,0x38, -0x61,0x65,0x21,0xC3,0xB0,0xD1,0x48,0xFA,0x99,0x66,0xF5,0x35,0x85,0xFB,0xF2,0x62, -0x40,0x31,0xDA,0x9C,0x28,0x59,0x3F,0xBE,0x35,0x4F,0x57,0x45,0x5D,0x68,0xB4,0x66, -0x2D,0x56,0x53,0x40,0xC9,0x29,0x30,0x6F,0x13,0xBF,0x60,0xAF,0x3A,0xC9,0x13,0xFE, -0x6B,0x5A,0xFF,0x1B,0x62,0x7A,0x8F,0x6E,0x9C,0x23,0x1D,0xF1,0x69,0x8C,0x2F,0x97, -0xED,0x00,0xDA,0x0C,0x0E,0x76,0x54,0xD7,0x16,0x53,0x84,0x93,0xA3,0xE8,0x99,0xA4, -0xA6,0xDE,0x43,0x18,0xEA,0x23,0xAD,0x9D,0x68,0xE9,0x41,0xC9,0x84,0xFD,0xEF,0x1D, -0x30,0x6D,0xD1,0x50,0xEF,0x28,0x94,0x54,0xBF,0x28,0x48,0x8D,0x9F,0xFF,0xF6,0x9D, -0x64,0x3C,0xFF,0xF8,0x3A,0xF7,0x67,0x0C,0xF7,0x53,0xC5,0xA6,0x8C,0x71,0xCB,0xD7, -0xB6,0x23,0xE7,0xF5,0xEA,0x4E,0x48,0x14,0x6D,0x3C,0xE3,0x83,0x5B,0x09,0xD5,0xB0, -0xDE,0x1A,0x8C,0x0F,0x0B,0x0D,0x4A,0x57,0x71,0xA8,0x55,0x0C,0xEF,0xB8,0x39,0x4C, -0x63,0x6C,0xA2,0x29,0x20,0xB3,0xFA,0xBA,0x83,0xF5,0x78,0xD9,0xF6,0xCA,0xFA,0xC9, -0xAC,0x7B,0x35,0x4C,0x56,0x00,0x0C,0xB0,0x33,0x34,0x17,0x67,0xE0,0x1A,0x42,0xAC, -0x26,0xDD,0xD9,0xF8,0x88,0xA5,0xCA,0x51,0x8C,0x75,0x77,0x60,0x3D,0xE0,0x37,0xE2, -0x01,0x3E,0x2C,0xCB,0x19,0xEF,0xAA,0x47,0x44,0x1D,0x81,0xA6,0x6F,0x06,0x91,0x9D, -0x92,0xE0,0x13,0xF8,0x4D,0x9A,0xBE,0xFC,0x25,0xF1,0xE1,0xA2,0xC8,0x42,0xDE,0xF5, -0x39,0x1F,0x4C,0x52,0x90,0xD8,0x67,0xF0,0x50,0xCB,0x3A,0x07,0x08,0x72,0xF2,0x97, -0xBB,0x12,0x77,0x05,0x99,0xF0,0x66,0x6D,0x18,0x3E,0x44,0x53,0xA4,0x98,0xDB,0x55, -0x86,0x88,0xF9,0x61,0x07,0xC8,0x2D,0x72,0xDE,0xA7,0x69,0x38,0xBA,0xEB,0x12,0x20, -0xE6,0xE1,0xE2,0x7C,0x80,0x66,0xE3,0x3E,0x19,0x61,0x1C,0x61,0x0B,0x24,0x07,0x98, -0x56,0x6C,0xE3,0x2C,0xFB,0xFE,0x54,0x3D,0x5D,0x61,0x6C,0x46,0xFA,0x15,0xC1,0xF8, -0x79,0x7E,0x83,0x55,0x2C,0x3E,0x1E,0xB3,0x88,0x48,0xF4,0x3E,0x6A,0xF2,0xD3,0xAC, -0x8D,0x6D,0x67,0x29,0x48,0xD9,0xE0,0x5D,0x88,0x05,0x73,0x3E,0x62,0xD2,0x27,0xCE, -0xAF,0x92,0x51,0x69,0x91,0xFC,0x4A,0x44,0xF5,0x60,0x7D,0x31,0xC3,0xD7,0xDD,0x3D, -0x54,0xD2,0xE5,0x14,0x9C,0xAB,0x4F,0x7C,0xC8,0x42,0xC3,0xEF,0x81,0xCF,0xA1,0x6E, -0x7E,0x79,0xC1,0x04,0x36,0x0C,0x7D,0x44,0xFB,0x06,0x18,0x62,0xDE,0xE2,0x46,0xF0, -0x96,0x85,0xEC,0x6E,0x2F,0x9D,0x80,0xC2,0xE4,0xCC,0xA2,0xAE,0x12,0x94,0xB0,0x3E, -0xCB,0xDF,0xB5,0x9D,0xBD,0xA1,0xDE,0xFD,0xE2,0xA8,0xCE,0xAC,0xA3,0x13,0x59,0x48, -0x85,0xAD,0x15,0x78,0x4A,0xC6,0x5E,0x35,0x20,0x2C,0x93,0x85,0xDA,0xDF,0x65,0x23, -0x32,0x98,0x95,0x49,0x8E,0x33,0xDB,0x9A,0x29,0xCF,0x3C,0xBC,0xF8,0x97,0xDE,0xC8, -0xA7,0xFB,0xF3,0xBF,0xAC,0xCC,0x18,0x2E,0x59,0x00,0x0B,0x8B,0x65,0x6E,0x33,0xD6, -0x2F,0xAF,0xCE,0x48,0xE1,0xE7,0x03,0x3D,0xAA,0xA3,0xD3,0x3C,0xA6,0x4A,0x4B,0x2E, -0xB4,0xB0,0x72,0xEF,0xD3,0x75,0xFB,0x48,0x49,0x94,0xC4,0x9B,0x23,0xDB,0x0C,0xED, -0x1E,0x3A,0x2A,0x17,0x62,0xA4,0xFF,0x52,0xC1,0xA9,0xD6,0xC4,0xB7,0xA3,0x5C,0x91, -0xC0,0x9D,0x5E,0x54,0xFD,0x02,0x8C,0xF1,0x8D,0x54,0x3B,0xEB,0x81,0xB1,0xBE,0xFC, -0xE5,0x34,0x09,0xCA,0x2F,0xDC,0xE5,0x37,0x89,0xE3,0x6F,0xA3,0xA2,0x46,0xAA,0x35, -0x1F,0xB0,0x90,0x95,0x4B,0x7C,0x26,0xF8,0x4D,0x6A,0xB9,0xDC,0x8F,0x88,0x43,0x9D, -0x05,0xD1,0xBF,0x5C,0x1C,0xF3,0xF3,0x26,0x11,0x2A,0x5B,0x76,0xB4,0x91,0x98,0x22, -0x65,0x7C,0x91,0x7D,0x79,0x50,0x1B,0xB5,0xC4,0x38,0x83,0x31,0x41,0xEA,0x6A,0x70, -0xA3,0xCF,0xE5,0x71,0xF6,0xBB,0xCD,0xC1,0x3E,0xDE,0xDB,0x84,0xE8,0x6C,0xFF,0x05, -0xF7,0x71,0x34,0x95,0x20,0x64,0xA8,0xD3,0x07,0x90,0x56,0x83,0xE1,0xE2,0x96,0xED, -0x25,0xDE,0x5C,0x75,0x61,0xDD,0x78,0xAE,0x8C,0x8C,0x70,0x1D,0xDC,0x9A,0x8E,0x84, -0x4D,0x83,0x86,0x96,0xD4,0x9E,0x84,0xF5,0xAA,0x59,0xC6,0xED,0x7E,0x2B,0x27,0x79, -0xF0,0xCC,0x06,0xBF,0x5B,0x20,0x6B,0xFA,0x60,0xD2,0xEB,0x69,0x3D,0x59,0xBF,0x6B, -0x3F,0x55,0x84,0x1C,0x7B,0x93,0xE0,0x2C,0xDE,0xBE,0x84,0x25,0x11,0x89,0x54,0x5E, -0xB5,0xAB,0x43,0x61,0xF8,0x36,0x16,0x72,0x7D,0x00,0xE4,0x36,0xA1,0x73,0x71,0xA5, -0x92,0x20,0xA2,0xB8,0xA4,0x7C,0x1C,0x0E,0x4C,0xF0,0x12,0xCC,0x7D,0x95,0x4A,0xDB, -0x01,0xDB,0xF8,0xD2,0x63,0x09,0xF9,0xA6,0xCF,0x43,0x72,0x14,0xDD,0xD1,0xF0,0xAC, -0xAA,0xA8,0x29,0xCC,0x92,0x4B,0xA3,0x0D,0x8F,0x3F,0xA9,0x96,0x81,0xE1,0x34,0xF5, -0x28,0x68,0x13,0x77,0x1D,0x63,0x7E,0x4E,0x9B,0x2B,0xD7,0xBC,0xD7,0x0B,0x9B,0x82, -0x15,0x37,0x9F,0x6D,0x19,0x5B,0xF7,0xE0,0xEF,0x80,0xFA,0xD0,0x02,0x78,0xA4,0x0E, -0x75,0x58,0x18,0xA0,0xD0,0xF5,0x88,0x2A,0xB6,0x17,0x8F,0x2D,0x12,0xB7,0x9B,0xB9, -0xC5,0xB7,0x4F,0xDB,0x68,0x6D,0xAB,0x0C,0xF9,0xFF,0xFF,0xEC,0x97,0x86,0x36,0xAF, -0xEA,0x45,0x73,0x65,0x0D,0xAD,0xE4,0x6A,0x51,0x8E,0x67,0x05,0xD2,0x61,0x38,0xD7, -0x1E,0x92,0x60,0x7F,0xA9,0x4A,0xCA,0xD0,0x0B,0xBD,0xE0,0xB1,0xD2,0x41,0xCF,0x6A, -0x3C,0xCB,0x13,0x1A,0x71,0x6F,0xE6,0x05,0xD6,0x3D,0xEE,0x66,0xFF,0x44,0xCE,0xC9, -0xC7,0x84,0x91,0x55,0x68,0x38,0x64,0x72,0x4C,0x4E,0x50,0xD2,0x39,0x5C,0x62,0x82, -0xED,0xB4,0xAC,0x7D,0x8E,0x9F,0x58,0x1A,0xE3,0x26,0x8B,0x01,0x9A,0x71,0xF1,0xD1, -0x05,0x93,0xA3,0x80,0x66,0x0E,0x56,0xF8,0x79,0x73,0x31,0xDD,0xCC,0x07,0x1C,0xD2, -0x58,0xFC,0xD0,0xC1,0x23,0x32,0x8A,0x9E,0x1D,0x91,0x5D,0x83,0xB7,0x80,0x58,0x1C, -0x16,0x9A,0x52,0x19,0x95,0x55,0x4F,0x1D,0x6B,0x19,0x00,0xC2,0xB7,0x4C,0xAE,0x11, -0xA1,0xCB,0x7D,0xA9,0x30,0xA0,0xAB,0x04,0xDF,0x0F,0xAF,0xA0,0x70,0x04,0x5A,0xA5, -0x34,0x18,0xA0,0x65,0xE6,0x5F,0x6F,0xC8,0xEA,0x5E,0x98,0x78,0xE7,0xFD,0xAB,0xB7, -0xBC,0xD9,0xED,0xD9,0xC7,0x74,0x53,0x56,0x5C,0xF4,0x40,0xF9,0xE0,0xD9,0xBD,0xA3, -0x27,0x8B,0x7F,0xCF,0x3F,0xE6,0xA7,0x0A,0x3D,0x2B,0x57,0x69,0x1D,0x48,0x47,0x40, -0x8D,0x28,0x88,0x69,0x7E,0x37,0x34,0x49,0x73,0xFE,0x45,0x00,0x16,0x30,0x44,0x25, -0x53,0x86,0x3B,0x6E,0xC1,0x91,0x4F,0x2B,0xFB,0x38,0xA8,0xCA,0xD2,0x22,0x91,0x07, -0x76,0xF9,0x1A,0x1B,0xF9,0x4F,0x90,0x97,0xA2,0xB6,0xFC,0x5A,0xBF,0xD5,0x47,0x19, -0x8C,0x9A,0xBC,0xCF,0x39,0xEF,0xCF,0x21,0xC4,0x77,0x2A,0x52,0x8E,0x1B,0xCA,0xFE, -0x96,0x4C,0x13,0xC1,0x40,0x60,0xC6,0xF9,0x7F,0xF4,0xC8,0xB0,0x39,0x02,0xCF,0xB9, -0xF6,0x28,0x52,0x06,0xA3,0xC3,0xDF,0xAA,0xCA,0x47,0x10,0x7C,0x9B,0x79,0x6C,0xDD, -0x82,0xC5,0x46,0x87,0xC1,0x65,0x26,0x56,0x49,0x73,0xB1,0x06,0x75,0x2E,0xEC,0x33, -0x46,0x26,0xC3,0x93,0xD4,0x1C,0x02,0x35,0xA7,0xF1,0xE8,0x2F,0x2C,0x08,0x49,0x54, -0x43,0xF4,0xDE,0x55,0x4E,0x69,0xFC,0x60,0x22,0x01,0xDE,0x7F,0x53,0x13,0x5D,0x90, -0x26,0xDE,0xB3,0x34,0x17,0xA2,0xE7,0x2A,0xAA,0x20,0xA4,0xF7,0x91,0x6B,0x29,0x74, -0x23,0x3F,0x43,0x50,0x80,0x85,0x8D,0x12,0x7F,0x3C,0x5E,0xFE,0x4C,0x99,0xFF,0x34, -0xC1,0x2C,0x62,0xC5,0x9B,0xDF,0xA3,0xDB,0x40,0x19,0xC9,0xD8,0xFC,0xAB,0xEA,0xAA, -0x3D,0xEA,0xBD,0x09,0x3A,0x90,0x3E,0xB2,0x72,0xF5,0xF9,0xC8,0x76,0xD8,0x8D,0x57, -0x24,0x89,0x7B,0x8E,0x8F,0x06,0x03,0xDC,0x9B,0x9C,0x0A,0x39,0x4C,0xF1,0x6B,0x06, -0xFE,0x64,0xE4,0x7A,0xD9,0xA6,0x5C,0x0F,0xDB,0x49,0xBD,0xD7,0x0B,0x33,0xEE,0x7D, -0xE3,0x2D,0x70,0x39,0xFF,0xCC,0x02,0xDA,0x2B,0x6D,0xEC,0x4F,0x07,0x2F,0xA6,0xB5, -0xCD,0x00,0x7B,0x21,0xE7,0x94,0xD6,0x3A,0x68,0x00,0xB6,0xBA,0xB9,0xB9,0xAE,0x96, -0x8A,0x60,0x2E,0x42,0x18,0xA7,0x79,0x76,0xB3,0x12,0x88,0x92,0x6B,0x7A,0x67,0x57, -0x51,0x5E,0xB6,0xFD,0x21,0x4E,0x38,0x14,0x4E,0x32,0x0C,0x19,0x84,0xC0,0xAC,0x62, -0x7D,0xDE,0xE4,0x1E,0x3B,0x47,0x41,0xB6,0xC3,0xE7,0x39,0xEB,0xCB,0x2C,0xC5,0x25, -0x7F,0x25,0x48,0x30,0x4E,0x9B,0x05,0x03,0x17,0x44,0xD4,0xE8,0x75,0x3B,0xF9,0xF0, -0xB2,0x6A,0x3B,0xD5,0xEA,0x6A,0x3F,0xB0,0xA9,0x16,0x9D,0xB6,0xA5,0x97,0x8D,0xD5, -0x77,0xB8,0xD7,0x99,0xF7,0x0F,0x15,0x88,0x7A,0x7A,0xE7,0xBB,0xD2,0xDC,0x67,0x16, -0x21,0xA2,0xB2,0x02,0x83,0x11,0x9B,0xC0,0xCB,0xC7,0x0D,0x80,0xD0,0xB8,0x6B,0x06, -0xBF,0x99,0x49,0xDF,0xAE,0xA5,0xE9,0x53,0x2A,0x19,0xAE,0xEE,0x8F,0x18,0xE3,0x93, -0x3A,0xAF,0x9B,0x66,0x08,0xB3,0x4D,0x30,0xF0,0xAA,0xD0,0x22,0xE3,0x81,0x6D,0x00, -0x52,0x30,0xD7,0xEF,0xA2,0xCF,0x19,0xC7,0x08,0x6D,0x3E,0x53,0xA2,0x1A,0xE2,0x26, -0x49,0xF5,0xBB,0x74,0xCB,0x87,0x16,0xAB,0xAF,0xA7,0xDA,0x6E,0x16,0xCE,0x4A,0x6D, -0xF4,0xA3,0x79,0x05,0x45,0x03,0x77,0xEE,0xB9,0x4E,0x83,0x24,0x59,0xB4,0x39,0x2F, -0xC2,0x5C,0x3A,0x85,0xDF,0xAC,0x12,0x8D,0xB3,0x95,0x54,0x17,0xE3,0x29,0xCA,0x09, -0x2D,0x3D,0x9C,0x20,0x4E,0x62,0x86,0xAE,0xB7,0x05,0x14,0x6E,0xCD,0x1D,0x3B,0x13, -0x19,0x20,0xCA,0xC5,0x1B,0xCB,0x32,0xA8,0x12,0x98,0xD6,0x17,0xBF,0x9C,0x98,0x81, -0xF2,0xB3,0xAA,0x0A,0x10,0x42,0xD5,0xFD,0xE7,0xF5,0x66,0xA8,0x30,0x68,0x8F,0xB1, -0xD3,0x57,0x48,0xA4,0x67,0xCA,0xF5,0xEB,0xD0,0xA2,0xC4,0xF9,0x4E,0xFB,0x6C,0x2A, -0xBE,0xEC,0xC9,0x52,0x20,0xBA,0x0F,0x1C,0xC5,0xEE,0xF3,0x47,0xF0,0x5A,0x9F,0x0E, -0xF8,0xB5,0xB6,0x25,0xD3,0xE9,0xA0,0x98,0x52,0x83,0x8E,0xA6,0xEC,0x1F,0x8F,0xF0, -0x7E,0x32,0xF1,0xBE,0x0F,0xE5,0x2E,0x05,0x27,0xDF,0x17,0x8C,0x14,0x7B,0x8F,0xF5, -0x35,0x8B,0x09,0x48,0xE3,0xB0,0x87,0xAE,0x03,0x5C,0xD2,0x4D,0x90,0x6E,0x98,0x1D, -0x62,0x69,0x4D,0x70,0xA9,0xE1,0x65,0x1A,0x1B,0x46,0x27,0x53,0xC6,0xB0,0x48,0x9C, -0x28,0x2A,0xD2,0x17,0x36,0xC6,0x3D,0xC3,0x87,0x38,0xC1,0x27,0x5C,0x46,0xE3,0x3A, -0x74,0x60,0x78,0xE3,0x60,0xA4,0xB3,0x26,0xD8,0xDC,0x0D,0x9E,0x5C,0xBF,0x23,0x3B, -0xC7,0xB4,0xA7,0x97,0x86,0x6B,0x8C,0x14,0xA9,0x78,0xDD,0x15,0x6C,0xD0,0x0F,0xF6, -0x89,0xF6,0xBF,0xCE,0xE2,0x71,0x71,0x59,0x8D,0x0A,0xCE,0xC7,0xCA,0x24,0x1C,0x48, -0xCA,0x2F,0xEC,0x30,0xAF,0x19,0x7D,0x43,0x2F,0xC7,0x7F,0xD3,0xD4,0x92,0xFE,0x13, -0xEF,0xDC,0x4F,0xFE,0x6A,0xF7,0x5F,0x10,0x38,0x3E,0x38,0xE8,0x70,0x8F,0xB9,0xC1, -0x30,0x92,0x2E,0x6B,0x13,0xA3,0xCC,0x75,0x3D,0x90,0xB6,0x9E,0x53,0x02,0x2F,0xDF, -0xF9,0xF0,0xD7,0x1E,0x07,0xBE,0xCA,0x0D,0x4A,0xF6,0x35,0x6A,0x04,0x33,0xBA,0xA1, -0x1E,0x57,0x6B,0xE2,0x2A,0x4A,0x84,0x59,0xF3,0xAC,0x15,0xEE,0x59,0xB4,0x93,0xEF, -0xA1,0x4C,0xAD,0xDA,0x55,0x21,0x7A,0xFB,0x2C,0xAD,0xE3,0xCC,0x28,0xDB,0xF8,0xBE, -0x39,0xC5,0xEB,0x2A,0x14,0x91,0x54,0x02,0xFA,0xCC,0xD2,0x33,0x55,0xAB,0x65,0xDE, -0x37,0x49,0xD9,0x21,0x61,0x7C,0xA8,0x4B,0xA5,0xE6,0x5F,0xA4,0xC8,0x83,0x92,0xA8, -0x0F,0x03,0xDC,0x58,0xA6,0x41,0x67,0xE4,0x04,0x49,0x2C,0xCF,0x88,0xAE,0x7B,0x75, -0x5D,0x25,0x8F,0x1D,0xD1,0x55,0xCF,0xF2,0x77,0x4C,0x85,0xD7,0x53,0x26,0x62,0x2D, -0x1F,0xDE,0x98,0xC3,0xEA,0xFE,0xA0,0x9F,0xDD,0x06,0xB5,0x40,0xDE,0xFD,0x17,0x27, -0xF4,0x87,0x70,0x1D,0xBF,0xF5,0xEF,0x8E,0x36,0x48,0x50,0xA9,0xCE,0xFB,0x33,0x10, -0x0B,0x44,0xD8,0x9F,0x6D,0x60,0x5D,0x96,0x14,0x7B,0xA9,0x9F,0x98,0xCC,0x1D,0x84, -0x66,0x98,0xFC,0x2F,0x68,0x0C,0x44,0x02,0xF3,0x57,0xD4,0x37,0x4B,0x09,0xE0,0x77, -0x01,0x0A,0xAD,0x89,0x46,0x42,0x02,0x8A,0x00,0x58,0x18,0x6D,0xDE,0x54,0xB3,0x43, -0xCB,0xCF,0xA5,0x1C,0xAC,0xB9,0xA9,0xF5,0x15,0xF3,0x25,0x7E,0xDC,0xDF,0x38,0x71, -0x5A,0x83,0x0B,0xBC,0xA0,0x51,0x78,0xB0,0xCD,0xB0,0x53,0x41,0x87,0x65,0xAE,0xC3, -0x3B,0xE5,0xE6,0xD2,0xE5,0x68,0x4D,0xDA,0xA6,0xB7,0x10,0x2F,0x18,0xBA,0x65,0x79, -0x6C,0xD8,0xBC,0xE8,0x6C,0x93,0xEB,0xEB,0x2A,0xCB,0x08,0x5A,0x0A,0x04,0x27,0xF8, -0x34,0x0A,0xC4,0xD3,0x19,0xC2,0x36,0xB6,0x04,0x43,0x56,0xC5,0x99,0x9C,0xB4,0x11, -0x97,0x9A,0x4B,0xB6,0xB8,0xA2,0x70,0xB3,0xF3,0x77,0x2D,0xCC,0x5C,0x44,0x06,0x17, -0x1B,0x68,0x59,0xBA,0xA2,0x22,0x82,0x30,0x72,0x5C,0x81,0xC8,0x3A,0xA8,0x0E,0x1A, -0xBB,0xB4,0x52,0x3D,0xDD,0xD8,0xD3,0xEB,0x98,0xA3,0x4F,0x77,0xCB,0x7E,0xF3,0xF5, -0x63,0x4D,0xBA,0x52,0x5E,0xD9,0x2B,0x3A,0xC7,0x68,0x64,0x30,0x6F,0x11,0x93,0x0A, -0xC5,0x0F,0x3C,0xA5,0x01,0x07,0x59,0x5F,0xA9,0x69,0x76,0xA8,0xCE,0xFC,0x17,0xAA, -0x20,0xD0,0x4E,0x6F,0x18,0xE8,0x6C,0x43,0x1A,0xD6,0x8D,0x21,0xF5,0x14,0x8D,0x52, -0xB2,0xDB,0xBD,0xE3,0xAE,0x73,0xC4,0x1F,0xB5,0x78,0x1C,0xBD,0x36,0x03,0xFD,0xC0, -0xC4,0xB3,0xE8,0x1D,0x7A,0x69,0xF0,0x9F,0xBD,0x2F,0x8C,0x0E,0x85,0xAD,0x3B,0xBA, -0x52,0xFC,0x03,0x35,0x98,0x70,0xB0,0x1D,0x46,0xB5,0xA5,0x74,0xC0,0x5E,0x43,0x9A, -0xD1,0x49,0xB3,0xDA,0xD2,0x77,0xE8,0x48,0x85,0x24,0xCD,0xBA,0x85,0x0A,0x77,0xB6, -0x8B,0xAB,0xF5,0xD5,0xF7,0x95,0x88,0xC1,0x49,0xDA,0xFF,0x40,0x18,0x9D,0x3E,0x68, -0x3D,0xCC,0x86,0x86,0xDD,0x17,0x14,0xF0,0xD3,0xD7,0x47,0xE7,0x5A,0x8A,0x31,0x91, -0xF6,0x32,0xBC,0x88,0x4C,0x72,0xAA,0x7A,0x41,0x4D,0x3F,0x78,0x28,0xF0,0x12,0xE8, -0x31,0xFE,0xD2,0x4E,0x02,0xD6,0x89,0x50,0xD5,0x18,0x7A,0x83,0x46,0xE5,0x2B,0x73, -0x48,0xA6,0x78,0x70,0xFC,0x12,0x9D,0x4A,0xBB,0xE7,0x5C,0x7C,0x0C,0xBC,0x4E,0x12, -0xCF,0x41,0x81,0x32,0x27,0x2B,0x23,0x79,0xC1,0xC4,0x6F,0xEA,0x27,0x80,0x62,0x74, -0x3E,0x2B,0x97,0x02,0xA9,0xE6,0x81,0xF1,0x42,0x29,0xC3,0x8C,0x7C,0xC9,0x15,0x7A, -0x1A,0x2C,0x53,0x6F,0x49,0x05,0x48,0x6B,0xE5,0xCA,0x94,0x08,0x80,0x58,0x35,0x55, -0x13,0xBD,0xE0,0x33,0xA5,0x29,0xF4,0xE4,0xF1,0x2D,0x78,0x5A,0xDB,0x6D,0xBA,0x73, -0xC0,0xA7,0x04,0xFA,0xAB,0x99,0x1D,0x49,0xB9,0x58,0xED,0x1D,0xFF,0xE2,0x9C,0x65, -0xF3,0x0A,0x27,0x5F,0xDB,0xDE,0x6A,0x6A,0x92,0x11,0x2E,0x84,0x29,0xDC,0x6B,0xC7, -0xF2,0xDD,0x72,0xE4,0x8B,0xAA,0x35,0x1F,0x39,0xD9,0x67,0xC8,0x3B,0xE9,0x9D,0xDA, -0x98,0x15,0xA8,0x5C,0x0D,0xB7,0x02,0xDB,0xBE,0xBF,0x7B,0x7A,0x9F,0xB8,0xB6,0xEE, -0x57,0xE8,0x0E,0x53,0xEB,0xA0,0xEF,0x21,0x92,0xF8,0xE0,0xD8,0x72,0xD7,0x71,0x6D, -0xF8,0x9D,0x3B,0x8C,0xD6,0x96,0x4E,0xFB,0xD2,0x30,0x7D,0x8F,0xE9,0x00,0x74,0x1F, -0x9B,0x70,0xF3,0xC8,0xAD,0x06,0x26,0xCA,0x71,0x3E,0x4E,0x7D,0x92,0x6A,0xF8,0xC8, -0xD3,0xE1,0x67,0x2E,0xB6,0x1D,0x33,0x5A,0x37,0x4A,0x9A,0x73,0x2F,0x8E,0xD1,0x08, -0xF1,0x87,0xD6,0x91,0xA1,0xEB,0x59,0xBE,0x48,0x52,0x4C,0x78,0xE9,0xFA,0x37,0x1A, -0xE7,0x29,0x05,0xE7,0xF3,0x6E,0x49,0xE6,0xE0,0x89,0xD5,0x7F,0xEF,0x84,0x68,0xC5, -0x5B,0xC1,0x8B,0xF6,0xEF,0x23,0xBB,0xE3,0x47,0xFA,0x88,0x5C,0xA3,0xB3,0x39,0x23, -0x45,0xE7,0x68,0x57,0x02,0x75,0x18,0xD7,0x43,0xCE,0xEC,0x0A,0x8F,0x59,0xE4,0x71, -0xB1,0x56,0xD0,0xA6,0xE8,0x2A,0xFF,0x32,0xEA,0x3C,0x2F,0x98,0x1C,0x43,0x7C,0xA5, -0xE4,0x9D,0x1D,0x80,0x45,0x61,0x38,0x3D,0x9C,0x54,0x3A,0xFF,0x3B,0x86,0x08,0x43, -0xEE,0x5A,0x59,0x66,0xFE,0xEA,0x38,0x88,0xF2,0xBB,0x0E,0x4D,0x6A,0xA7,0x22,0x49, -0xBD,0x74,0x65,0xC6,0xB5,0xAC,0x36,0x17,0xC0,0xFD,0x4B,0xAC,0x05,0xDA,0x00,0x84, -0x16,0xB8,0x96,0x25,0x1F,0xA6,0x0F,0xF2,0x85,0x19,0x3C,0x4B,0x06,0x32,0x84,0x32, -0x9E,0x29,0x8B,0xDF,0x9C,0x87,0x37,0xD1,0x1A,0x75,0xAF,0x51,0x3A,0x90,0xDE,0x98, -0x36,0xAE,0xD9,0x87,0x02,0x79,0xB9,0x03,0xDE,0xB9,0x49,0xAA,0xB5,0x40,0x67,0x41, -0x9F,0xBE,0x49,0x89,0x6F,0x4D,0xF9,0x9F,0x52,0x0C,0xC8,0x64,0xB9,0x82,0xAA,0x7C, -0xF7,0x80,0x53,0xDB,0xEC,0x27,0x50,0xB9,0x82,0x39,0x8E,0x64,0x7D,0x3C,0xF7,0xF7, -0x44,0xE9,0x75,0x24,0x02,0xE8,0xF3,0x49,0xD0,0x13,0x5E,0x16,0x1E,0x53,0x5B,0xBC, -0xE1,0xE5,0x03,0xCC,0x59,0x62,0x04,0xA3,0xBD,0x3D,0xA4,0x36,0x79,0x33,0x88,0x74, -0xAB,0x01,0x70,0x41,0xA7,0x45,0x48,0x98,0x90,0xE1,0x42,0x2A,0x34,0xC5,0xDC,0x76, -0x6C,0x5E,0xA9,0xED,0x30,0x74,0xBC,0xD8,0x28,0xCE,0xBB,0x3E,0x61,0x0C,0x56,0x03, -0xB3,0x24,0x28,0xB4,0xD9,0x20,0x88,0xAD,0x70,0x58,0x35,0xDB,0x6A,0x81,0x54,0xF9, -0x0A,0xF3,0xFF,0xDC,0xAE,0xF2,0x51,0xAD,0x91,0xB1,0x4D,0x24,0xAE,0xA7,0xE8,0x9A, -0x49,0x54,0xCF,0xCD,0xD4,0x9A,0x1D,0x1C,0x5B,0xEE,0xFC,0x0B,0x30,0x11,0x1B,0x03, -0x22,0xE5,0x28,0x05,0x71,0xA2,0x93,0xF7,0xCD,0x67,0x60,0xE7,0xB9,0x58,0xB0,0xE7, -0xBA,0x59,0xE2,0xE7,0xEE,0x12,0x72,0xB7,0xD4,0x69,0x51,0xD2,0x73,0x28,0x22,0xE9, -0x7A,0x7F,0x94,0x90,0x05,0x3D,0xB9,0x14,0x7E,0x5C,0xB6,0xE0,0x54,0xB0,0x34,0x32, -0x9D,0x24,0x99,0x1E,0xBE,0xC9,0x57,0xAE,0xC9,0xE7,0x96,0x4C,0x85,0x37,0xDA,0x26, -0xDE,0x0A,0x90,0xE7,0x68,0xD6,0xF4,0x5F,0x86,0xA2,0x06,0x08,0x80,0xA5,0xA4,0x98, -0x9C,0x15,0x4E,0x60,0x3A,0x7D,0xAB,0xD0,0x67,0x96,0x36,0x2D,0x79,0x7E,0x5B,0x7D, -0xB4,0x63,0x1D,0xF1,0x5E,0xFF,0xD1,0x74,0x67,0x86,0xDC,0x11,0xC1,0x00,0xFB,0x8B, -0x8C,0x8D,0x81,0xF8,0xA4,0xC2,0x3B,0x19,0x6E,0xF1,0xAF,0x14,0x25,0x2D,0x1D,0xBD, -0xE5,0xCA,0x67,0x38,0x7F,0x8F,0x43,0xB4,0x4D,0x66,0x57,0xAD,0xEE,0x8A,0x5F,0xF3, -0x82,0x76,0x54,0x63,0xDE,0xC1,0xE5,0x2B,0x14,0xC9,0x9B,0x68,0x2C,0xD7,0x3A,0x15, -0x77,0xC8,0xFA,0x48,0x5E,0x76,0x7E,0x87,0x08,0x64,0xD3,0x40,0x52,0x78,0x42,0xB8, -0x88,0x4A,0xD0,0x6B,0x8D,0xE3,0x10,0x9E,0x1E,0xB4,0x2A,0xDC,0xF8,0x4F,0xA5,0x52, -0xB8,0x73,0xD1,0x7A,0x48,0xEB,0xAE,0x8B,0xF0,0xF3,0x93,0x36,0x2D,0x39,0xBF,0x43, -0xEF,0xFB,0x71,0x88,0x40,0x10,0xA5,0xB9,0x54,0xC4,0x8B,0x72,0x3F,0x87,0x7A,0x48, -0x48,0xB7,0x58,0x6E,0xF6,0x3A,0x78,0x0F,0xBF,0xE6,0xA6,0x2D,0x8F,0x5C,0x62,0xE9, -0xD9,0x9E,0x07,0x11,0x22,0xD2,0xDE,0xB2,0x10,0x2D,0xD0,0x72,0x88,0xE6,0x09,0x3B, -0x98,0xDF,0xCA,0x7E,0xE4,0xA1,0x6D,0x7C,0x4B,0x93,0x02,0xF8,0xBC,0x2B,0x0C,0x33, -0x38,0x83,0x20,0x47,0xC4,0x5B,0xF3,0x35,0x60,0x1C,0xCC,0x0D,0x0B,0xFD,0xDF,0x34, -0xB7,0xFA,0x76,0xB3,0x34,0x41,0xAF,0xA4,0x07,0x6A,0xD5,0x10,0x53,0x1F,0x2C,0xEA, -0x14,0x7B,0xDD,0x3C,0x4F,0x21,0xEC,0x3B,0x73,0x26,0xAE,0x6E,0x10,0xC7,0x32,0xE1, -0xA3,0x7D,0xF7,0xEA,0x16,0x6B,0xB4,0x3A,0x7C,0x94,0x0E,0x1A,0x65,0x97,0x57,0xE6, -0x31,0x98,0xDC,0x48,0x2E,0xF0,0x03,0x7E,0xA7,0x2E,0x9F,0x34,0x24,0x80,0x91,0xE5, -0xE0,0xFE,0xE1,0x95,0xD7,0x5A,0x2B,0x30,0x5D,0x00,0xE7,0x60,0x21,0x92,0x58,0x1B, -0x46,0x82,0x53,0x34,0x81,0x84,0x44,0x4C,0x62,0x5B,0xF5,0x3F,0x61,0x7F,0x1C,0x0A, -0x52,0x41,0x71,0x07,0x58,0xF4,0x4D,0x6D,0xA3,0x99,0x4E,0xA3,0xAE,0x89,0x85,0x44, -0x08,0xC2,0xF9,0xD0,0x4F,0x16,0xAA,0xE2,0x1E,0x97,0x7C,0xB6,0xC5,0x1E,0xA6,0x5B, -0x47,0x45,0xC2,0x43,0x66,0xEA,0xAC,0xF4,0xE9,0xFC,0x0F,0xD4,0x15,0x2E,0x77,0x1E, -0xD1,0xFE,0x12,0x0E,0x03,0xF3,0x87,0x84,0xBE,0x4A,0x26,0xA8,0x23,0xDD,0xF7,0x27, -0xB2,0xCC,0x93,0x45,0x65,0x55,0x73,0xBE,0x0D,0x33,0xF9,0x80,0x04,0x66,0xA6,0x9A, -0xCB,0x4E,0xEB,0xBB,0x01,0x91,0x98,0x43,0x30,0x05,0xDF,0x73,0xA2,0x3F,0xF3,0x2C, -0xBE,0xAC,0xA5,0xCA,0x80,0x94,0x8D,0x3C,0xCD,0x21,0xC4,0xE3,0x97,0x09,0x96,0x9A, -0x75,0x90,0x0D,0x81,0x47,0xF1,0xD1,0x51,0x88,0x6D,0xBC,0xDD,0xCC,0x73,0xC5,0x95, -0x99,0x14,0xDE,0xC0,0xF4,0x86,0x67,0x3A,0xEB,0x14,0x17,0x72,0x57,0xDB,0xBB,0x92, -0x90,0x1B,0x69,0x3F,0x9F,0xAA,0x3A,0xB6,0x5B,0xD5,0xFB,0xCB,0x61,0xEE,0xD8,0xDB, -0x4C,0x3D,0x45,0xCC,0x5B,0xA8,0x02,0x5A,0xDE,0x57,0xEC,0x26,0x27,0x03,0xD3,0xA0, -0xBD,0x0C,0xE9,0x5D,0x81,0x65,0xC2,0xF7,0xF8,0x38,0x40,0xCF,0xD6,0x4A,0x62,0x22, -0x71,0x66,0x67,0x86,0xB5,0x29,0x84,0x54,0x61,0x14,0xE4,0x2C,0xD2,0x6A,0xB2,0x4C, -0x1B,0x2B,0x94,0xBD,0x42,0x34,0x19,0xDD,0x4C,0x6E,0xF8,0xDD,0x85,0x3B,0x1E,0x56, -0x43,0x1A,0xAB,0x7E,0x1B,0x1A,0x52,0x98,0xEF,0x13,0x6E,0xAC,0xC4,0x61,0x38,0x2F, -0x70,0xD4,0x8C,0xE9,0x9A,0x5D,0x08,0xDC,0xA6,0xB9,0xAD,0x49,0x50,0x5F,0x8F,0x0B, -0x18,0xE1,0xC8,0x2D,0x86,0x85,0xF6,0xB7,0x68,0xCD,0xCD,0x9E,0x45,0xE9,0x79,0xBE, -0x50,0x17,0x4A,0x1E,0x72,0x9E,0x58,0x10,0xA1,0xC5,0x19,0xEA,0x00,0x0D,0xBC,0x2F, -0xD4,0x57,0xB3,0xA0,0x7E,0x23,0x14,0xBE,0x45,0x02,0x63,0x4A,0x4B,0x54,0x35,0x78, -0x7B,0x68,0x1C,0xDF,0x28,0x15,0xC4,0xED,0x23,0xEE,0xFE,0x74,0xCC,0x83,0xEE,0x97, -0xD8,0x03,0x65,0xCF,0xB8,0xA0,0xB1,0xE3,0x02,0x29,0x0B,0x92,0x8D,0x30,0x39,0x7C, -0xC6,0x08,0x9E,0xA2,0x5E,0xF6,0x98,0x8E,0x57,0x04,0x6F,0xE3,0xCB,0xDA,0xFE,0xEA, -0x72,0x6A,0x60,0x72,0x7B,0x68,0x39,0xA7,0x3F,0x00,0xCF,0xBD,0x6D,0x79,0xB2,0x22, -0x64,0x14,0xE6,0x70,0x83,0xED,0x2D,0x3D,0x17,0x97,0x56,0x55,0x30,0x07,0x90,0x53, -0x6D,0x49,0x21,0x38,0x57,0x69,0xF1,0x0F,0x19,0xAB,0x8D,0x15,0xFA,0x24,0x77,0xDE, -0x3E,0xB6,0x8D,0x88,0xC5,0x2F,0xC6,0x66,0x80,0x28,0xC8,0xDB,0xF5,0x59,0x54,0x08, -0x32,0x0B,0xC0,0x47,0x33,0xA9,0x20,0x13,0x6E,0xE8,0xAC,0xE1,0x3E,0xC0,0xE3,0x30, -0x67,0x6A,0x8B,0x3C,0x9A,0xE2,0x5A,0x0D,0x12,0xAF,0xB9,0x3E,0x55,0x05,0xB1,0x16, -0xB5,0x27,0xBE,0xC5,0x1A,0xFA,0xF4,0x29,0x41,0x83,0xCA,0x1F,0x56,0xC3,0x8B,0x45, -0x1C,0x01,0x66,0x19,0xDC,0xCE,0x8C,0xB8,0xB0,0x89,0x4B,0x18,0x3B,0x01,0x6B,0x9A, -0x95,0x1B,0x58,0xB5,0x03,0x25,0xD4,0x27,0x28,0x22,0xBF,0xD5,0x3B,0xB1,0x74,0x41, -0x1D,0xB4,0x1A,0x71,0x55,0x04,0x24,0x93,0x96,0x3E,0x2C,0x21,0x90,0x13,0xDC,0x8C, -0x6E,0xD3,0x1F,0xF5,0xCD,0x68,0x69,0x8E,0xEF,0x80,0xA2,0x35,0xD9,0xE5,0xFC,0x60, -0x4E,0x1E,0x21,0x72,0xBB,0xEF,0xA5,0x15,0x32,0xFC,0x45,0x86,0xD4,0x11,0xF8,0xDD, -0xB8,0xB2,0x52,0x0F,0xCC,0x80,0x3F,0xC2,0x55,0xFD,0xFA,0x88,0xF8,0x7A,0x1F,0x27, -0x89,0x10,0x7D,0x1A,0xD2,0xF0,0xFC,0x0F,0x7C,0xA4,0x62,0xFB,0xEC,0xCA,0xEB,0x41, -0x04,0xCC,0xC2,0x97,0xBF,0xD8,0xF6,0xA2,0xA6,0xB0,0x6C,0xDB,0x5E,0x27,0x89,0xE1, -0x77,0xC0,0x5C,0x80,0x5C,0xF5,0x57,0x1B,0xD0,0x28,0x54,0x53,0xBD,0x1A,0x3C,0x3B, -0xDE,0x9A,0x5A,0x70,0x8F,0x7D,0x6C,0x81,0xFA,0xCD,0x06,0x03,0x8D,0x0E,0x6E,0x83, -0xEE,0x8A,0x25,0xE3,0x89,0xA6,0xAE,0xF4,0x05,0x58,0x44,0xA5,0x44,0xA5,0x35,0xAF, -0x7C,0x2C,0xB9,0xF3,0xB4,0xEB,0xA1,0xE5,0xEE,0x82,0x39,0xDB,0x6B,0xBA,0x78,0x49, -0x9A,0xF9,0xD5,0x89,0xA4,0x1D,0x8C,0xCC,0x6A,0x9E,0x73,0xE8,0xF1,0x9D,0x1C,0x31, -0x56,0x30,0x57,0x17,0x0A,0xE4,0x99,0xBC,0x39,0xE1,0x2F,0x06,0xD7,0xFF,0xBE,0x4E, -0x86,0x8F,0x9D,0xBA,0x16,0x8B,0x23,0xDD,0x59,0xE6,0x9C,0x75,0xB5,0x30,0x77,0x89, -0x95,0xEA,0x43,0x73,0xE0,0x7F,0xD8,0xB1,0xC7,0xD7,0xD2,0x9E,0x88,0x2A,0x20,0xDD, -0x24,0xBA,0x3F,0xAD,0xE1,0xC9,0x37,0x14,0x28,0x50,0x91,0xC2,0xE9,0x42,0xC5,0x75, -0x63,0x6E,0xC2,0xD7,0x58,0xD4,0x47,0x3F,0x01,0xE5,0xB4,0x99,0x5B,0xAC,0xF8,0x4B, -0xED,0xBD,0x43,0xFF,0xAD,0x59,0x39,0x37,0xE9,0x35,0x6B,0x7B,0x07,0xF8,0xEA,0x8F, -0x0D,0x2B,0x84,0x8B,0x35,0xC7,0xD4,0x0C,0xF5,0xBB,0x6F,0xCE,0xC3,0x99,0x39,0xDE, -0x76,0xD2,0x48,0x44,0x24,0x1F,0x87,0x52,0x09,0xD9,0xCC,0x20,0xD2,0xF9,0x64,0x90, -0xDA,0x23,0x19,0x45,0x26,0xF3,0xB2,0xA9,0x59,0xB2,0x40,0x63,0xC9,0x79,0x2E,0x6D, -0x14,0x00,0xA6,0x56,0xC5,0x25,0x35,0xEF,0x1D,0x1D,0xE0,0x76,0x20,0x83,0xC1,0xF8, -0x3F,0x9F,0xAB,0x8F,0x9B,0x4A,0xD0,0x08,0xD9,0x93,0x38,0x93,0x13,0x82,0xB7,0xD4, -0x2D,0x6D,0x5D,0x17,0x3F,0xA7,0xD4,0xB2,0x77,0x6B,0x9E,0xA3,0xF2,0x5C,0xDE,0x14, -0xD6,0x9E,0xF3,0xED,0x1C,0x4F,0xFB,0x15,0x12,0x40,0x7B,0x4C,0xD7,0xB3,0x2C,0x04, -0x47,0x2A,0x96,0x6A,0xD3,0x58,0x4F,0x94,0xFD,0xEE,0xE9,0x44,0x7D,0x28,0x1E,0xF1, -0x0B,0x70,0x97,0x01,0x48,0xA0,0x9F,0x08,0x03,0xF9,0xAF,0x29,0x92,0xAE,0xF3,0x34, -0xF2,0xC6,0x87,0x18,0x93,0x97,0xE9,0x00,0x24,0xF3,0x50,0x98,0x65,0x3B,0xF1,0x33, -0x8F,0x76,0xF5,0x51,0xDA,0x52,0x33,0x6A,0xD8,0xB9,0x3D,0xF3,0x7B,0x57,0x55,0x24, -0x43,0x08,0xD6,0x86,0x40,0x0F,0x14,0xA0,0xB2,0x48,0x5A,0x8B,0x9D,0x19,0x67,0x7A, -0x7E,0xD8,0xD6,0xBD,0x1E,0x84,0xAD,0xD9,0x03,0x43,0x90,0xDD,0x81,0xE2,0x63,0x7A, -0x08,0x10,0x31,0x74,0x5D,0x3E,0x5C,0x28,0x47,0xBA,0x01,0x2D,0x60,0x0A,0x84,0x44, -0x4B,0x03,0x32,0x42,0xE1,0xE1,0x36,0xCA,0xBE,0x59,0x60,0x95,0x4F,0x33,0x66,0xA9, -0x53,0x04,0xFA,0x9A,0x92,0x5F,0x8F,0x50,0x3C,0xF2,0x37,0x8A,0x90,0xC8,0xF1,0xC2, -0x34,0x10,0xBF,0xF5,0xC2,0xDB,0x37,0xA7,0xE5,0x5D,0x94,0xF4,0xDC,0x70,0x13,0x12, -0x98,0xA4,0x16,0xA4,0x01,0x92,0x1D,0xC3,0x05,0x2C,0x65,0x97,0x3C,0xBD,0x3C,0x90, -0xCF,0x8F,0x91,0x5B,0x62,0x03,0xB8,0x78,0x55,0x3A,0x41,0xA8,0x65,0x5E,0x97,0x36, -0x23,0xBA,0x90,0x6C,0x27,0x36,0xFC,0x0F,0x30,0xBA,0x48,0xEA,0x9C,0x72,0xFF,0x07, -0xB6,0x16,0x0D,0x24,0x5E,0xB9,0x5D,0x4D,0xC0,0xF1,0x9B,0x7E,0xB2,0xC2,0x42,0x3E, -0x75,0xF7,0x70,0x6C,0x5E,0x87,0x07,0x26,0x75,0xE2,0xA8,0x3C,0x95,0x85,0xB3,0xE3, -0x3C,0x30,0x61,0x94,0xCB,0xB2,0x5A,0xD5,0x6A,0x1A,0xA9,0x23,0x27,0xF1,0x84,0x48, -0x20,0xD3,0xB4,0x7C,0xD5,0xE3,0x02,0x9E,0x18,0xE4,0xC3,0xC8,0x81,0xEC,0xB8,0xB6, -0xD7,0x50,0xC7,0x3A,0x58,0xF6,0x9E,0xC6,0x99,0x24,0x9F,0xC0,0x32,0x32,0xA4,0x91, -0xFE,0x61,0x25,0x9D,0x67,0x05,0xED,0x98,0xAE,0xAF,0x09,0xAA,0x78,0x2B,0xE3,0xF1, -0x96,0xE3,0x60,0xE0,0x82,0x51,0x0B,0xA0,0x26,0xD1,0x8A,0xA6,0xD3,0x2C,0x7E,0x59, -0xA4,0x1B,0xB6,0xB6,0xEB,0xC6,0x27,0xF3,0x45,0xDC,0xD0,0xC0,0x9F,0xCE,0x0F,0x52, -0x1C,0x9B,0x53,0x00,0x2E,0xD1,0x71,0xA2,0x8F,0x9D,0x66,0xFC,0xE3,0x4C,0x2E,0x8E, -0x64,0xD5,0x2E,0x27,0xDA,0xAB,0x1E,0x4E,0x2A,0x2D,0xAD,0x1B,0x6E,0x29,0x7A,0x7B, -0x21,0x79,0x88,0x51,0x16,0xBE,0xD1,0x60,0x77,0xC6,0x6A,0x6E,0x67,0x8D,0x37,0xEB, -0x07,0x08,0xF7,0x0D,0x94,0xE7,0x7F,0x27,0x3E,0x02,0x13,0x59,0xAB,0x49,0x4D,0x0A, -0x74,0x7F,0x26,0x16,0x85,0x18,0x19,0x33,0xA4,0x5F,0xEA,0x00,0xAC,0x71,0x9B,0xCF, -0x61,0xDF,0x70,0x45,0x70,0xDD,0x7C,0x0C,0xDB,0x42,0xBF,0xD3,0x27,0x3A,0x9F,0x7F, -0x55,0xEF,0x13,0x32,0x8F,0xFC,0xD8,0x04,0x2B,0x8E,0xB5,0xAE,0x54,0xB1,0x69,0x52, -0x10,0x8B,0x23,0x0F,0x18,0x81,0x6A,0x13,0x68,0xC4,0xE6,0x40,0x75,0xF7,0xC3,0x11, -0x67,0xCC,0x60,0xD9,0x34,0x69,0x44,0xE5,0xE0,0x66,0x4D,0x11,0xE3,0xFD,0x5A,0x92, -0xF4,0x48,0x9B,0xD5,0xF7,0xCB,0x28,0xBB,0x1E,0x78,0xC5,0x25,0xDF,0xDC,0xFB,0xEB, -0x12,0xED,0x1C,0xE5,0xCA,0x1B,0x2E,0x32,0x87,0xF7,0x6D,0xFE,0x25,0x22,0xA4,0xC2, -0x93,0x6E,0x86,0x6D,0xCE,0xD9,0xFF,0x55,0xA9,0x25,0xC4,0x38,0x86,0x16,0x3F,0x3F, -0xBB,0x8F,0x07,0x09,0x9C,0x8C,0x0C,0xF8,0x1D,0xC5,0x0C,0x5F,0xB9,0xFB,0x3F,0x3B, -0x26,0x5E,0x7D,0xD5,0x65,0x5B,0x16,0xBE,0xC1,0x64,0xA3,0xEF,0xA8,0xCD,0x38,0x94, -0x15,0x3C,0x58,0x31,0xB9,0x31,0x8D,0x36,0x8C,0xEC,0xC0,0xDC,0x4F,0x5D,0xEE,0xC8, -0xC1,0x5C,0x0D,0x03,0x5C,0xD5,0xDC,0xFF,0xCE,0x35,0x88,0xE4,0x3B,0x46,0xB7,0x3C, -0x17,0x97,0x97,0x45,0xE4,0xA1,0xB5,0x86,0x75,0x47,0xAA,0xDB,0x3C,0xB0,0x58,0x95, -0x8E,0x3E,0x24,0x22,0xBC,0xDF,0x1D,0x4F,0x2C,0xDA,0xBC,0x7A,0xB0,0x35,0x0F,0xE5, -0xD3,0x34,0xA2,0x0F,0xCE,0xE8,0xA7,0x7E,0x36,0x8F,0x00,0x03,0x33,0x78,0x43,0x8C, -0xB7,0xFB,0x2A,0xB3,0x18,0x02,0xA8,0x85,0x4D,0x9A,0x1E,0xD5,0xF7,0x2E,0x63,0x31, -0x20,0xAB,0xBE,0xAC,0x29,0x1B,0xA8,0xD0,0xD4,0xF6,0xB0,0x4A,0x6F,0xC8,0x7E,0x2F, -0xCA,0x60,0x32,0x43,0x9A,0x7F,0x06,0x8C,0x52,0xFC,0xE6,0xAD,0x2B,0xD6,0x9D,0x01, -0x69,0x59,0xAC,0xDD,0xBA,0xDF,0xAA,0x4B,0x51,0x42,0x78,0x58,0xB9,0x62,0x33,0x3D, -0x17,0x30,0x99,0x92,0x14,0x46,0xD8,0x5C,0x43,0x82,0xFD,0x2D,0xBE,0x74,0xF4,0x3C, -0xF9,0x20,0x62,0x23,0x27,0xDD,0xA5,0x3E,0xA0,0xE2,0x95,0x30,0xA3,0x08,0x57,0x4B, -0x1D,0x40,0xD8,0x58,0x02,0x09,0xB1,0xBE,0x36,0xA5,0x8E,0x25,0x4D,0x40,0xE7,0xCC, -0x44,0xDD,0x55,0x33,0x2A,0x73,0xE6,0x84,0x2B,0xEE,0x33,0xB4,0x9D,0xC4,0x6F,0x54, -0x93,0x09,0x4C,0x82,0x31,0xEE,0x23,0x8F,0x32,0xD5,0x05,0x22,0xEF,0x6B,0xE3,0x37, -0xD3,0x30,0x3E,0x28,0xEA,0xDA,0x4D,0x78,0x21,0x75,0xEA,0x66,0xFD,0xA5,0xE3,0x3A, -0x11,0xBE,0x05,0x1A,0x5A,0x5B,0x39,0x9E,0x19,0x71,0xDE,0xBE,0x24,0x0C,0xA8,0x82, -0xA1,0xAC,0x5F,0xCB,0xDB,0xAF,0xB7,0x7D,0xEB,0x4B,0x35,0x14,0xDC,0x85,0xC4,0x6E, -0x03,0x5B,0x20,0xDA,0xB7,0x3C,0x14,0xEE,0x98,0xC0,0x14,0x9E,0x2B,0x0D,0xEE,0x18, -0x34,0xB0,0xB3,0xDA,0x53,0x9D,0xAC,0x0B,0x6B,0xCA,0x79,0x54,0x82,0x7D,0x09,0xD6, -0x49,0xB2,0x33,0xD2,0x7E,0xD8,0x07,0xB0,0xAC,0x96,0x3F,0x9C,0x7E,0x2E,0x79,0xCF, -0xD0,0xCA,0x54,0xDD,0x06,0xBC,0x2E,0xE9,0x45,0x6F,0xB9,0x72,0x68,0x22,0x1D,0x92, -0x15,0xDB,0x2A,0xD3,0xD5,0xA9,0xEB,0x32,0x1C,0xA2,0xF2,0x48,0x7F,0x77,0x28,0x48, -0x76,0x5E,0x59,0x30,0x7D,0xE9,0x67,0x87,0x48,0x0D,0x45,0x99,0x2C,0xA2,0x27,0x68, -0x2F,0xB3,0x24,0x27,0x24,0xCF,0x0F,0x66,0xBA,0xF8,0x81,0x91,0xD0,0xDB,0xAA,0xD3, -0x19,0x66,0xE9,0x41,0x41,0xD4,0xAF,0xAB,0x03,0x13,0x84,0x29,0x9C,0xAE,0xEF,0x7E, -0x63,0x00,0xCC,0x20,0x68,0xAC,0x77,0x1A,0xB5,0x5C,0xE1,0x32,0xD9,0x65,0xAA,0x51, -0x99,0x97,0x69,0x11,0x18,0x5E,0x3A,0x66,0x49,0xE9,0xE4,0x88,0x93,0x42,0x19,0x80, -0x0E,0x55,0x0C,0x88,0xAE,0x6C,0x3D,0xFB,0xF6,0xD0,0x06,0x28,0x11,0x18,0xD2,0xCB, -0x3E,0xC4,0x4D,0xE6,0x0C,0x1F,0x70,0x1A,0xF8,0xC4,0xFA,0xDC,0x62,0x57,0x02,0x57, -0xCD,0x51,0x30,0xE3,0x85,0x36,0x13,0x14,0x83,0x92,0xE3,0xB4,0xF7,0xC1,0x56,0xDF, -0x7A,0xBA,0x05,0x3E,0xAC,0xF4,0xEF,0x0F,0xBE,0xB1,0x39,0x1D,0x48,0x61,0x0E,0x18, -0x2B,0x74,0x14,0x35,0x8C,0xE8,0xEF,0x0A,0xE0,0x2F,0x24,0x4A,0x71,0x0B,0x40,0x3B, -0x71,0x77,0x26,0x4C,0x19,0x7E,0x37,0xE0,0x52,0x29,0x0A,0xAA,0xE4,0x53,0x4B,0x78, -0x4F,0xFD,0xF6,0x73,0x64,0xBD,0x9D,0x29,0x3C,0xCB,0x4D,0xD1,0x2C,0x60,0xE1,0x01, -0xCB,0xEB,0xD7,0xF4,0xA8,0x07,0x4E,0xF0,0xF7,0x04,0x96,0xA3,0xC8,0x89,0xE3,0xAE, -0xFE,0x79,0xAA,0x6D,0xA5,0xEB,0x2C,0xC4,0x1E,0xF2,0xBA,0x0C,0x77,0x80,0x62,0x1D, -0x13,0xED,0x96,0x58,0xE5,0xFC,0x2A,0x6F,0x92,0xF1,0xB8,0xBE,0xE9,0x5C,0x61,0x6C, -0x5A,0xD5,0xA6,0x82,0xA6,0x50,0x82,0x8B,0x02,0x90,0x75,0x9C,0xC9,0xAD,0x9A,0x3B, -0x29,0x30,0x9B,0x98,0x47,0x83,0xED,0x6C,0xB6,0x1A,0xFB,0x47,0xE7,0xA8,0xBE,0x65, -0x97,0xB5,0x8C,0xA8,0x71,0x9B,0x9B,0x85,0x58,0xFC,0x00,0x23,0xB0,0xFF,0x72,0x00, -0x4C,0xFD,0xA9,0x94,0xFA,0xB6,0x18,0x04,0xBD,0x46,0x2A,0x35,0x1B,0x58,0x55,0x50, -0xF6,0x2A,0x92,0x98,0x7B,0xC0,0x75,0x28,0xA9,0xE8,0xC2,0x02,0x0B,0xC9,0x18,0xCD, -0x9A,0x42,0xBA,0xAB,0x3F,0x47,0x52,0x7D,0xB6,0xFB,0x9F,0xE1,0x3D,0xF5,0x89,0x3C, -0xC7,0xD6,0x22,0x88,0xE5,0x8B,0x4F,0x25,0x1F,0xBF,0xD1,0x43,0x13,0x92,0x40,0xD0, -0x68,0xCB,0xEA,0xD2,0x5F,0xC3,0x99,0xEC,0x17,0x92,0x66,0x61,0xFD,0x67,0x7E,0x2D, -0x5F,0x31,0x90,0xDF,0xE0,0x3A,0xE5,0x14,0x08,0x40,0xF3,0xFB,0x9A,0x98,0xC8,0x19, -0x87,0xF0,0x6E,0x0F,0xBB,0x1E,0xE3,0xD0,0x6C,0xB2,0x7B,0x6C,0x5D,0xB3,0x3D,0xF9, -0x90,0x09,0x5E,0xD6,0x72,0x8F,0x9C,0x6A,0x05,0x65,0xE0,0x89,0xAD,0x21,0xC4,0x41, -0x82,0x7B,0x0A,0xB4,0x00,0xF7,0x43,0x59,0xF7,0x56,0x4A,0x55,0xF1,0xF0,0x32,0x71, -0x6F,0x4A,0xC3,0xFE,0x61,0xE5,0x99,0x83,0xAB,0x19,0x94,0x73,0x97,0x56,0x5C,0x61, -0x3B,0x0C,0x34,0x96,0x9E,0x12,0x2F,0x04,0x63,0x3C,0xB1,0x23,0xC7,0x88,0x15,0x8E, -0xED,0xC0,0x7C,0x84,0x9C,0xDC,0x3F,0x79,0xE5,0x66,0x4B,0x4F,0x55,0x28,0x53,0x64, -0x0F,0x02,0x0C,0x07,0x41,0xC5,0x22,0x92,0x6A,0x7C,0x51,0x38,0xDE,0xA7,0xD8,0xBA, -0xD7,0x9A,0xB8,0x99,0x61,0xBE,0x03,0x31,0x28,0xE2,0x31,0xFF,0xF5,0x04,0x30,0xD2, -0x1C,0x1A,0xD9,0xC6,0x97,0xAB,0xC0,0x52,0x03,0x18,0x64,0xA9,0x2A,0x7C,0x53,0xFB, -0x91,0xB0,0x51,0x7B,0xA2,0x25,0xC1,0x8B,0xDF,0x51,0x30,0x4A,0xE2,0xA3,0x16,0x2D, -0xB7,0x1A,0x41,0xBA,0xF4,0x5D,0x6B,0x2A,0x61,0xD6,0xE2,0xD2,0xBC,0x1A,0x74,0x86, -0x01,0xFB,0xCF,0xAC,0x6D,0xEC,0xEA,0x2A,0xD3,0x72,0x8A,0x82,0x6C,0x59,0x5E,0x56, -0x2C,0xBB,0xCC,0x76,0xCB,0x9E,0x93,0xF6,0x6B,0xB4,0x37,0xB3,0x49,0xE7,0xD6,0xF1, -0x43,0xAE,0x1F,0xAA,0xE6,0x4E,0x1F,0x80,0x02,0x5D,0xF8,0x7F,0x8B,0x54,0x71,0x1E, -0x23,0x8C,0xA3,0x7A,0x53,0xB4,0x08,0x6B,0x09,0xF3,0x72,0xBB,0x16,0xF1,0x13,0x49, -0xD5,0x94,0x75,0xC9,0x81,0x52,0xD1,0xD0,0x13,0xC9,0x55,0xFE,0x0E,0xBB,0x78,0x28, -0xB5,0x95,0x36,0x05,0xCE,0x16,0x96,0x96,0x97,0x39,0xC6,0x14,0xA9,0xCE,0x27,0xB7, -0x6E,0x10,0xB3,0xBA,0x53,0x26,0xBD,0xE7,0x44,0xA4,0x6D,0x4B,0x56,0x8C,0x7C,0xBC, -0x10,0x79,0xCA,0x6D,0x46,0xCC,0x4A,0xC3,0x46,0x97,0xEF,0xD5,0x72,0xA4,0x31,0x33, -0x3D,0xD5,0x56,0x37,0xF5,0xBF,0x86,0x28,0x9F,0x3C,0xD2,0x53,0xEB,0x9C,0xA6,0x63, -0x48,0x76,0xA8,0xCB,0x0B,0x70,0xDF,0xC4,0xB9,0xD4,0xB2,0xB3,0x0C,0x32,0x76,0xF1, -0x38,0xBB,0x97,0x72,0xCA,0x41,0xDF,0x9A,0x5B,0x25,0x02,0x53,0xB8,0xAA,0xB3,0x6F, -0xA0,0x6A,0x96,0xF4,0xF0,0xA6,0xA5,0xCB,0xD9,0x73,0x2D,0xBD,0xD6,0x6A,0x5B,0xF7, -0x27,0x5F,0x50,0x73,0x70,0x86,0x0D,0xEF,0xEA,0xCB,0xD9,0x60,0xA2,0x8D,0x51,0xDA, -0x0E,0x7D,0xF3,0xF4,0x97,0xAB,0xB1,0xD9,0x70,0xA8,0x7A,0x26,0xE2,0xE5,0x3C,0xAF, -0x8A,0x99,0x3B,0x95,0x65,0x2F,0xE6,0xB0,0xA3,0xC6,0x86,0xA1,0xB0,0x91,0x12,0xB1, -0x9D,0xDE,0xB8,0xDB,0x10,0x93,0x35,0x29,0x0C,0x0A,0x32,0x16,0x31,0x92,0x86,0x6D, -0x59,0x15,0x6F,0x84,0x14,0x57,0xA8,0xBC,0xB7,0x03,0x20,0x71,0xCA,0x2B,0xFE,0x8F, -0xC3,0x2A,0xAD,0x78,0x50,0x64,0x5A,0x9D,0x65,0x0B,0x30,0x7C,0x51,0xA2,0xA9,0xEE, -0x97,0x62,0x81,0x79,0x63,0xFB,0x4C,0xAF,0xAE,0x4F,0x64,0xE6,0x85,0x66,0xA7,0x48, -0x3E,0x0A,0x16,0x5F,0xD0,0x67,0x98,0x9F,0x07,0x10,0xE8,0xA4,0xD1,0xA5,0x06,0x8A, -0x42,0x53,0x75,0xF1,0x32,0x13,0x44,0x5C,0x2B,0xDC,0xAD,0x89,0xE9,0xDB,0xDD,0x7E, -0x48,0xC1,0xAD,0x0C,0x10,0x45,0x7B,0xAF,0x8F,0xCE,0xC5,0x40,0x31,0x18,0x2C,0xEE, -0xD9,0x93,0xB7,0x6B,0x02,0x44,0x3A,0x6D,0xAA,0x32,0x54,0xB6,0x63,0xE6,0x17,0xA9, -0x8E,0x01,0xC5,0xEC,0x90,0x62,0x87,0x58,0x4D,0x83,0x60,0xB6,0xF1,0x74,0x9B,0x7F, -0xE2,0x8B,0xDF,0x57,0x43,0xF5,0x8A,0x4C,0xC4,0xF9,0xF8,0x1A,0x86,0x19,0xCD,0x3E, -0x73,0x44,0xFC,0x8B,0xC0,0x42,0x39,0x0C,0xD0,0xEF,0x31,0x98,0x91,0x2A,0xCD,0xAF, -0xDD,0xA7,0x45,0x59,0x93,0xB4,0xB5,0x67,0xE6,0x9A,0x12,0x1E,0xB6,0xF8,0x9B,0xBE, -0x91,0xFB,0xC9,0x75,0x30,0x79,0x1A,0x4C,0xA0,0x5E,0xB3,0x5C,0x81,0xD3,0x37,0x1E, -0x37,0x82,0x84,0xCD,0x52,0xFB,0x5D,0x6F,0x98,0x86,0x2F,0x2A,0x84,0x05,0xD6,0xA8, -0x54,0xA5,0xA9,0x1F,0x60,0x72,0x89,0x9A,0x53,0x62,0x71,0x78,0x51,0xE3,0x76,0x3D, -0x8E,0xA0,0x27,0x4A,0x04,0x45,0xC8,0xBE,0x5B,0x5D,0xA6,0xEC,0x77,0xBB,0x2C,0x9F, -0x54,0xCA,0x18,0x0B,0xD0,0xB3,0x29,0x8C,0x49,0x9F,0xD0,0x67,0x81,0xD4,0xFA,0x8D, -0x4D,0x75,0x9E,0x32,0x42,0x17,0xBB,0xDF,0xA1,0x76,0x2C,0xC3,0x05,0x96,0xF8,0xEE, -0xFE,0xE0,0xAF,0xB7,0xFC,0xC5,0x7D,0x7B,0x06,0x54,0x89,0xC3,0x9A,0x38,0x32,0x81, -0xC1,0x0C,0x7A,0xC2,0x1F,0x4C,0x19,0x45,0x37,0xCA,0x57,0xFE,0x71,0x52,0x52,0xE6, -0x05,0x02,0x09,0x0E,0x07,0x05,0x00,0x0D,0x0E,0x03,0x0A,0x04,0x08,0x04,0x06,0x0C, -0x03,0x08,0x0D,0x0B,0x0E,0x0F,0x09,0x07,0x0D,0x0A,0x01,0x03,0x0E,0x0D,0x0B,0x0F, -0x0C,0x04,0x01,0x09,0x05,0x07,0x0D,0x09,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,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,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,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,0x05,0x02,0x04,0x06,0x07,0x03,0x01,0x06,0x04,0x05,0x01,0x00,0x03,0x02,0x07, -0x05,0x06,0x02,0x04,0x01,0x00,0x03,0x07,0x01,0x04,0x07,0x00,0x02,0x06,0x05,0x03, -0x06,0x07,0x03,0x00,0x01,0x05,0x04,0x02,0x07,0x04,0x01,0x00,0x06,0x02,0x05,0x03, -0x04,0x05,0x03,0x07,0x00,0x06,0x01,0x02,0x02,0x05,0x06,0x00,0x07,0x01,0x04,0x03, -0x02,0x04,0x07,0x06,0x00,0x03,0x01,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -}; - -static unsigned char pParameterDataDecTbl[] = -{ - 0xF7,0x98,0x19,0xAA,0x41,0xF9,0x71,0xD9,0xDD,0x16,0x0D,0x43,0x72,0x43,0x44,0x39, -0xDF,0xD8,0x1E,0x03,0x1E,0xFC,0x85,0x6F,0x47,0x54,0x57,0x91,0x14,0xFD,0x82,0x53, -0x6A,0xF9,0x34,0xC4,0xD8,0x9A,0x3B,0x05,0x22,0x9E,0x45,0x06,0x58,0x84,0xF1,0x18, -0x34,0x12,0xF4,0x26,0xDD,0x11,0x09,0xE5,0x85,0xDE,0x15,0xDB,0x17,0x32,0x24,0x6C, -0x67,0xAB,0x00,0x7E,0x73,0xAD,0x4E,0x68,0x55,0x71,0x44,0xA2,0x64,0x9D,0xD6,0x37, -0x58,0x48,0x60,0xFB,0x43,0xF6,0x7B,0xE4,0xC8,0x5E,0xD5,0x21,0xFA,0xBE,0xE7,0xE6, -0x30,0xAF,0xBA,0x02,0xE9,0x04,0x18,0xD4,0x8E,0x85,0xC5,0x90,0xDC,0xBC,0xF6,0xC5, -0x7C,0x07,0x96,0xFE,0xEB,0x0B,0x12,0xE9,0x27,0x57,0x4B,0x5B,0xCB,0xF0,0xB5,0x02, -0xED,0x69,0x4A,0x3C,0x6C,0x75,0xEA,0x79,0xF0,0x95,0xD1,0x73,0x32,0xFF,0x93,0x70, -0x59,0x15,0xA5,0xED,0x0F,0xDA,0x87,0x4C,0xF8,0xF4,0xB6,0xD3,0x16,0xA0,0xF5,0xA5, -0x78,0xBA,0xD8,0xDA,0x12,0x0D,0x29,0x60,0xC3,0x05,0x05,0x6A,0x56,0x1C,0x22,0xEC, -0xE2,0x06,0x71,0x8C,0x27,0xDD,0x2E,0x0C,0x5D,0x10,0x23,0x02,0x1B,0xF7,0x80,0x6E, -0xC5,0x29,0x4D,0x95,0x07,0x65,0x0F,0xFE,0x25,0xF3,0x8E,0x57,0xF1,0xD2,0x6B,0xA4, -0xC2,0xF4,0xC9,0xAD,0xD0,0x25,0xB3,0xB7,0xD3,0x84,0xD3,0x55,0x45,0x36,0xEF,0x54, -0xCF,0xA6,0xFD,0x17,0xBE,0xBE,0x64,0xD0,0xD1,0x20,0x16,0x59,0xB3,0x33,0xCB,0x1B, -0xFC,0x4A,0x6C,0x3E,0x36,0xFB,0x2C,0x2F,0x5F,0xB4,0xE6,0x0E,0xC3,0x53,0x9F,0x7F, -0xA0,0x9C,0xA3,0xD6,0xBC,0xB1,0x6E,0xED,0x01,0x8F,0x47,0x20,0x85,0xD4,0xB1,0xBF, -0x11,0x00,0xC7,0x35,0xB2,0x4F,0xC8,0xDF,0x10,0x90,0xE3,0xF8,0x6D,0xAC,0x2D,0x83, -0x14,0xE0,0x4C,0x07,0x4E,0xC2,0xC1,0xB6,0xAD,0x94,0xC7,0xB6,0xEC,0x60,0x75,0xE8, -0x79,0xE7,0x1D,0xCC,0x97,0x7C,0xDB,0xCD,0x82,0xB3,0xDE,0x8A,0x7F,0x14,0x31,0xF2, -0xE0,0x3B,0x7E,0x86,0x4C,0xCD,0xCB,0x8B,0x6D,0xBA,0x40,0xF0,0xA8,0xBA,0x2C,0xDE, -0x9A,0x9F,0x48,0x61,0x46,0x7D,0x49,0x04,0x62,0xB6,0xEC,0x01,0x33,0x6D,0x42,0xB9, -0xA8,0x2E,0x1C,0x5E,0x89,0x61,0x69,0x81,0xB5,0x74,0x76,0x29,0xE8,0x06,0xFB,0x97, -0x29,0x3E,0x23,0x88,0x55,0x54,0x41,0x1A,0xEF,0x18,0xAB,0xBD,0x2E,0xDF,0x5C,0xF5, -0x9C,0x1F,0x09,0x4F,0x8C,0xEA,0x5B,0x61,0x4B,0x62,0x4C,0x8B,0x5D,0x70,0xAE,0xAE, -0xBF,0x8D,0x7B,0x72,0x9D,0xCC,0x59,0x42,0xEB,0x4F,0xD7,0x07,0x93,0x0A,0x23,0xB1, -0x5B,0x28,0xAA,0xE7,0x50,0xDF,0x73,0xFA,0x8F,0x1B,0xB7,0x77,0xB4,0x9A,0xE3,0x5B, -0x09,0xCC,0x9B,0xA9,0x64,0xCA,0x62,0xCB,0x50,0xB8,0x4A,0xFF,0x9C,0x00,0x21,0x8C, -0x61,0x2B,0x41,0x50,0x26,0x18,0x38,0x51,0x19,0x6F,0xF6,0xBF,0x5E,0xBF,0x08,0x91, -0x3D,0xFD,0x8E,0xB8,0x35,0x31,0x30,0x4F,0x89,0xE8,0x0E,0xC1,0xD4,0x1F,0xDC,0xB8, -0xE1,0x66,0xBB,0x90,0x52,0xD0,0x79,0xC7,0x1E,0x02,0x3D,0xEE,0xE3,0x6A,0x77,0xD5, -0x63,0x16,0x4E,0x5A,0xB9,0x3A,0x5C,0x0D,0xE2,0xB0,0xC2,0x40,0x97,0x6C,0xAD,0xCE, -0x3A,0x20,0x0A,0x80,0xE4,0x30,0xA2,0x86,0xC2,0x9B,0x77,0x8D,0x8C,0xE5,0x4A,0x0B, -0xA4,0x21,0xED,0xF2,0x04,0xAF,0x13,0x9E,0x38,0xDA,0x31,0x95,0x7A,0xE0,0x6E,0x44, -0x0C,0x2C,0x10,0x9B,0x87,0x9F,0xCF,0xB3,0x88,0x76,0x7C,0x26,0x6F,0xF1,0x5A,0x75, -0x1A,0xD2,0xB2,0xA1,0x6D,0xB0,0xFC,0x24,0x7B,0xC8,0x2F,0x79,0x5C,0xE2,0x7F,0x67, -0x3E,0x9D,0x44,0xA4,0x96,0xB9,0xCD,0x90,0x5A,0x7D,0xE8,0x53,0xAB,0x75,0x8A,0xE1, -0xD1,0xEA,0xE0,0xA5,0x3B,0xCF,0x96,0x7D,0x65,0xDB,0x27,0x50,0xCE,0x04,0xEA,0xB4, -0x1F,0x32,0x39,0x93,0xEE,0x80,0x20,0x09,0x87,0x7A,0xD0,0xD7,0xF7,0xE9,0x92,0x2D, -0x8D,0x3C,0x2F,0x4D,0xD2,0x2A,0xB9,0x8A,0x0A,0xD4,0x97,0x6B,0x1F,0x91,0x0E,0x11, -0xCC,0xC6,0x37,0x0B,0x2B,0x2C,0x82,0x03,0xC1,0xA1,0xC0,0x66,0xA1,0x8B,0xD7,0x6A, -0x5F,0x95,0xE4,0xC3,0x60,0x84,0x46,0x76,0x0F,0x1D,0x99,0x36,0x69,0xCA,0xA3,0xFC, -0x4D,0xD6,0x08,0xDD,0xC7,0x42,0x9F,0x14,0xAC,0x0A,0xB5,0x51,0x5A,0xD9,0x86,0xEE, -0xFA,0xCA,0x2D,0x10,0x68,0x3B,0xCE,0xC4,0xA7,0x51,0x65,0x1A,0xC8,0x3F,0x13,0x3D, -0x3F,0xC0,0x81,0xB2,0x06,0xA0,0x19,0xA3,0x35,0x72,0x58,0x68,0x5F,0x2D,0xD9,0x58, -0xCA,0x46,0x76,0x25,0xAC,0x52,0x7A,0x93,0xF1,0x0B,0xA3,0x94,0xA4,0x7F,0x88,0xDC, -0x83,0x0E,0xD1,0xEB,0x2A,0xE9,0x94,0x5E,0x64,0x45,0x55,0xB7,0xE1,0x37,0x00,0x23, -0x3C,0xA0,0x4B,0xAE,0xA9,0xD9,0x48,0x73,0xDB,0xE5,0xB4,0xF5,0xB5,0x08,0x32,0x92, -0xCE,0xFB,0x38,0x01,0xAF,0x98,0x66,0xF3,0xE3,0x2E,0xB0,0xA7,0x3D,0xF5,0x91,0x4D, -0xEC,0x34,0x8F,0x2A,0xBB,0x35,0x56,0x30,0x63,0x28,0x9E,0xE6,0x0F,0x74,0x65,0x96, -0xBD,0xB0,0x74,0x78,0xE6,0x3F,0xA8,0xBB,0x7C,0xA5,0xE4,0x28,0xAC,0xDC,0xA2,0xA1, -0xC6,0x49,0x87,0x89,0x39,0xC0,0x9C,0x40,0x36,0x48,0xEF,0x83,0xC5,0x68,0x66,0xF6, -0xCD,0x9B,0xF2,0x1D,0xFD,0xA9,0x28,0x17,0x45,0xF0,0x92,0x9D,0xAE,0x81,0xD5,0x57, -0xA7,0x41,0x27,0xEE,0x81,0xDE,0xE1,0x33,0x99,0x69,0xD8,0xFE,0xE2,0xF8,0xA6,0x1C, -0xF8,0xF7,0x22,0x1A,0xC4,0x88,0x83,0x74,0xBD,0x15,0x11,0x89,0xEF,0xAF,0xD3,0xD7, -0xC3,0xA9,0x0C,0xBB,0xC0,0xC6,0xA7,0xC9,0xA8,0x5D,0xC9,0xEB,0xD6,0x42,0xAB,0x4E, -0x40,0x84,0x3C,0x67,0x56,0x9E,0x5D,0x7A,0x80,0x17,0x1B,0x86,0x05,0x8A,0x38,0x1D, -0x2F,0xBE,0x62,0xA6,0x4B,0x49,0xF3,0x56,0xAA,0xF9,0x0C,0xE7,0x46,0xF9,0x49,0x6B, -0x25,0x31,0xD2,0x24,0x0D,0xD5,0x8D,0x71,0xB2,0x19,0xBD,0x78,0xC4,0xFA,0xB7,0x3F, -0x70,0x08,0x67,0x52,0x8B,0x6E,0x63,0xBC,0x43,0x03,0x2B,0x2B,0x15,0x6F,0x53,0x9A, -0x33,0xCF,0x70,0x1E,0x01,0x24,0x21,0x7E,0x13,0xAA,0x54,0x13,0xBC,0x39,0xC9,0x26, -0x8E,0x5C,0xE5,0x51,0x99,0x82,0x7D,0xFF,0x52,0x1C,0x8F,0xF3,0x03,0xB1,0xC1,0x94, -0xFF,0x2A,0xA6,0x22,0x7B,0x12,0xC6,0xDA,0xA2,0x98,0x6B,0x47,0x3E,0x3A,0x37,0x72, -0x47,0x59,0xB8,0x5F,0xF2,0x92,0x98,0x78,0x3A,0x7E,0xF4,0x99,0x63,0x34,0xFE,0x77, -0x7A,0x7A,0xE5,0xC9,0xE7,0x72,0x27,0x96,0xCF,0xB7,0xE9,0xCE,0x2C,0xCC,0x27,0x74, -0x56,0x86,0xA9,0x61,0xE8,0x70,0x1A,0x9C,0x41,0x7C,0x40,0x1C,0x6F,0x0B,0x30,0x38, -0x8C,0x7F,0xC1,0x86,0x1A,0xDA,0x2A,0xFF,0x51,0xCD,0x06,0xC7,0x7E,0x28,0x16,0x3A, -0xEC,0xFA,0xFE,0x65,0x41,0xEA,0xA6,0xCA,0xC0,0x4E,0x9B,0xE8,0x4F,0xF9,0x88,0x19, -0x18,0xA2,0xAD,0xDC,0xFD,0x44,0x2B,0x8D,0x91,0x37,0x4B,0x47,0xBD,0xA2,0xFB,0xB6, -0xD8,0x40,0xF3,0x37,0x76,0x41,0xCB,0xBF,0xC1,0xEA,0xEC,0x07,0x68,0xD6,0xB4,0x00, -0xF2,0x87,0x46,0x16,0x10,0x87,0xA1,0x01,0xD3,0x7D,0x89,0xCD,0x1B,0x9D,0xF8,0x79, -0xF5,0x2E,0x6E,0x56,0x15,0xD8,0x17,0xF5,0x89,0xAF,0x13,0x8F,0xDD,0xF7,0x9E,0xC7, -0x80,0xBA,0x65,0x84,0x17,0xAF,0xE1,0xA8,0x62,0xE2,0x91,0x2D,0x06,0xB1,0x2F,0xD7, -0x11,0x93,0x56,0x68,0x52,0x27,0x1E,0xE0,0x92,0xB5,0x1F,0xB9,0x52,0xD5,0x5F,0xB7, -0x25,0x29,0x5B,0x3A,0xC9,0x49,0x79,0x37,0x57,0xB9,0x1D,0x1D,0x76,0x9A,0xA9,0xB2, -0xA1,0x11,0x5C,0xE7,0x89,0x9E,0x30,0x8B,0x0A,0xBB,0xEB,0x6A,0xF2,0x6A,0x1D,0x56, -0x9D,0x08,0x7B,0xC8,0x31,0xBE,0xC2,0xAA,0xA7,0xEE,0x93,0x89,0x19,0xA0,0xF7,0x73, -0x34,0x5E,0xE1,0x74,0xE1,0x8B,0xAE,0xAD,0x81,0x86,0x0D,0x9C,0xBB,0x22,0xBA,0x98, -0x49,0x69,0xC0,0xDB,0x36,0x96,0x82,0x03,0x32,0x3F,0x36,0x6D,0x6C,0x6B,0xFA,0x24, -0xA6,0xB8,0x74,0xA7,0x99,0xF5,0xB7,0x6E,0x55,0x9F,0x3E,0x0C,0x0A,0xBE,0xDE,0x7B, -0xCF,0x0C,0xB0,0xF0,0xB8,0xCC,0xD4,0xC5,0x2F,0x51,0x21,0x81,0xC5,0x3B,0xC2,0x5B, -0xF0,0xDA,0x31,0xE0,0x8D,0x10,0x4F,0xED,0xF2,0xC5,0x7B,0xED,0x62,0x59,0x04,0x82, -0xA4,0xE5,0x03,0x51,0x91,0xDF,0xCA,0xCD,0x68,0xED,0xAC,0x2F,0xDB,0x77,0xDF,0xE9, -0x92,0x02,0x79,0xF5,0x21,0xD5,0x45,0x4F,0xC4,0x1C,0xA3,0x23,0xB5,0x10,0x44,0x3E, -0xF1,0x48,0xE0,0x29,0x90,0x0E,0x03,0x5F,0x5A,0x66,0x4C,0x2A,0xA8,0x3C,0x93,0x90, -0xA0,0x83,0x8D,0x2E,0x2E,0xD7,0x78,0x45,0x43,0x5A,0x63,0x0D,0xEC,0x26,0x00,0xE4, -0x2B,0xB1,0x88,0xCE,0xA3,0x2B,0x11,0x4C,0x67,0x14,0xDE,0x09,0xB4,0x4D,0x81,0x28, -0x4F,0x52,0x39,0x52,0x5D,0x25,0x23,0xEA,0xC3,0xCC,0xCF,0x16,0x28,0x71,0x69,0x50, -0xA2,0xDE,0xFA,0xD8,0xD6,0x20,0xC3,0xD8,0x46,0xAC,0x2C,0x29,0x34,0x00,0x7B,0xE8, -0x57,0x14,0x78,0xA8,0x3C,0xCB,0x09,0xFD,0xB9,0x02,0xD0,0x9B,0xEE,0x1B,0x0F,0xEE, -0x62,0x3C,0xA4,0x33,0xDD,0xAC,0x81,0xB4,0x8A,0x2D,0x47,0x71,0x45,0x76,0x38,0x9B, -0xAD,0xD4,0xF8,0xE5,0xF4,0xBF,0x9F,0xBC,0x72,0x53,0xD7,0xF6,0x91,0x5F,0xB2,0x3B, -0x77,0x2D,0x90,0x02,0x26,0xFD,0x05,0xE6,0xCE,0x13,0x9E,0x21,0xB8,0x42,0x70,0x84, -0x46,0x63,0xC2,0xE6,0x33,0xC9,0x34,0xF7,0x33,0x9B,0x41,0x82,0x7A,0x95,0x58,0x1E, -0x97,0xF6,0x26,0x43,0x20,0x04,0x8C,0xDD,0x53,0xEB,0x25,0xD6,0xBA,0x7F,0x7F,0x8E, -0xE5,0xCB,0x05,0xD1,0x06,0x15,0xAF,0xDF,0xC8,0x67,0x85,0xFB,0x37,0x60,0xB1,0xF4, -0xC3,0xC9,0x14,0xF2,0xC6,0x4B,0x44,0x3D,0x13,0x87,0xC4,0x4D,0x97,0xDF,0xF3,0x15, -0xD5,0x17,0x86,0xFC,0x6C,0x77,0xC7,0xA4,0x54,0x3B,0x49,0xE3,0x0B,0xE3,0x1B,0x6D, -0x0C,0x21,0x48,0x24,0x23,0xA2,0xB3,0x12,0xA3,0xBC,0xAB,0x42,0x73,0x7A,0x22,0x80, -0xA8,0x20,0xA7,0x53,0x55,0x0F,0x5E,0x49,0x6C,0xBF,0x94,0xE4,0x13,0x2F,0x47,0xF1, -0x5E,0x25,0x83,0x1C,0x5C,0xF4,0xEA,0x78,0xAB,0x95,0xB5,0x51,0xE6,0xA9,0xB0,0x66, -0xFC,0x1F,0x95,0xE2,0x73,0x1E,0x7D,0x4B,0xF8,0xCA,0x46,0xEF,0xC3,0xBB,0x83,0x75, -0x01,0x76,0x3D,0xEF,0x43,0x9D,0x50,0x97,0xB5,0x79,0xF6,0x43,0xF7,0x8A,0x96,0x64, -0xE6,0x04,0xA3,0xEE,0xDC,0x7D,0x48,0x26,0xF3,0x61,0x0C,0x02,0xD3,0xC5,0x60,0x61, -0xA7,0x2A,0xA5,0x6E,0x35,0x30,0xBD,0xCC,0x30,0x19,0x15,0x7C,0xAB,0x5C,0x59,0x8C, -0x3D,0x6F,0x1A,0xC0,0x05,0xB3,0x90,0x10,0xD1,0x5B,0xAA,0xDC,0x99,0xED,0x0D,0xB3, -0x9A,0xA1,0x53,0x88,0xBE,0x35,0x5D,0xFE,0x27,0x78,0x3F,0x92,0x11,0x12,0x48,0xFB, -0x6D,0x36,0xA6,0x0E,0x4C,0x9F,0x6D,0x9D,0xDC,0x84,0xFB,0xEB,0x40,0x96,0xB3,0xA9, -0xC1,0x94,0x63,0x04,0xD7,0xF1,0x0A,0x4A,0xE1,0xF6,0x69,0xC8,0x8A,0xF3,0x24,0xBB, -0xE4,0x59,0xD4,0x18,0xAE,0x5E,0xDA,0x1B,0x31,0xBD,0x62,0x93,0x1F,0x20,0xB6,0x5D, -0x08,0x47,0xC6,0x5B,0x68,0xF9,0xB8,0xC2,0x1D,0xDA,0xC1,0x84,0x3A,0x32,0x85,0x4E, -0xDB,0x8F,0x55,0x08,0xC0,0xB2,0xCD,0x06,0x44,0x8A,0x0F,0x38,0x4E,0xA4,0x4D,0x0F, -0xE0,0x3F,0x5A,0x67,0x2A,0x59,0x07,0x23,0x4D,0x07,0x66,0xC4,0x32,0x80,0x3A,0xC6, -0xCE,0x9E,0x61,0x39,0x64,0x5D,0xBA,0x07,0x95,0x65,0x73,0x8C,0x4A,0x19,0x03,0x2B, -0xCB,0x6A,0x3E,0x8F,0x32,0x18,0xFD,0x65,0x5C,0x12,0x57,0xF0,0x3F,0xD2,0x0E,0x7C, -0x1E,0x99,0x54,0x55,0x45,0x64,0xD9,0xAC,0x16,0x71,0x8B,0x69,0x4C,0x99,0x42,0x05, -0x6B,0x0D,0x5F,0x87,0x2C,0xA0,0x8E,0x18,0x6B,0x6F,0xF8,0xD1,0xFF,0x38,0x29,0xEC, -0x98,0xFC,0x24,0x7E,0xD3,0x7F,0x75,0x2C,0x60,0xC4,0xB2,0x3C,0x3B,0x6F,0x40,0x58, -0x63,0xAE,0x75,0xFA,0xD9,0x22,0xFE,0xD2,0x1A,0x0A,0xAD,0xB1,0xFC,0x58,0xE3,0xF0, -0xD4,0x85,0x57,0x35,0x74,0x36,0x3D,0xE2,0x34,0x4B,0x2D,0xB7,0x08,0x83,0xD1,0x71, -0x54,0xDB,0xDE,0x97,0x7E,0x6B,0xB6,0x1C,0x70,0x75,0xF4,0xE7,0x67,0xB9,0x8F,0xB0, -0x4A,0xA6,0x66,0xE4,0xFE,0xE2,0x14,0x42,0xEF,0xAB,0x6C,0x01,0xAE,0xBC,0xD2,0xBE, -0x09,0xD5,0x17,0x92,0x6E,0x00,0x31,0xF9,0x0B,0x1F,0x9C,0x85,0x58,0x5A,0xEF,0x35, -0x9C,0x9A,0xAA,0x01,0xC8,0x98,0xB0,0xA5,0xD0,0xFF,0xDD,0x33,0x50,0xE8,0x50,0xBD, -0x8B,0xD6,0xE9,0xC6,0x82,0x12,0x72,0xE7,0xAF,0xC7,0x8D,0x9A,0xCA,0x54,0xF9,0xEB, -0x3E,0xA0,0xBC,0xFF,0x39,0x94,0xBF,0x09,0x39,0x94,0x7C,0x80,0x2E,0xF1,0x28,0x7E, -0x8E,0x22,0xB6,0x70,0xA5,0xD2,0x98,0x77,0x88,0x0B,0x64,0x60,0xD0,0xA5,0xAA,0x7D, -0xD0,0xE3,0xD9,0x4A,0x72,0xCF,0xB4,0xD9,0x9F,0x6A,0x4E,0x8E,0xA1,0xD3,0xE9,0x0E, -0x16,0x33,0x03,0xAE,0x92,0xB7,0x4A,0xC3,0xBB,0x71,0xE7,0xE2,0x9B,0xB6,0xDE,0x6B, -0xAE,0x40,0x1D,0xD3,0x1B,0x37,0x14,0x61,0x23,0x97,0x78,0x3C,0xC6,0xB8,0x17,0x6E, -0xDA,0xD6,0xD5,0x92,0xE8,0x81,0xAD,0x67,0x0A,0x43,0xD8,0xB6,0x19,0xB5,0x20,0x3F, -0x67,0x45,0x40,0xDD,0x70,0x27,0xF1,0xE6,0x4B,0xF5,0x03,0x56,0xA6,0x3D,0x28,0x8D, -0xCC,0x28,0x77,0xA8,0xE4,0x70,0x01,0x68,0xAB,0xF0,0x31,0xDD,0x61,0x76,0x5E,0x26, -0x99,0x11,0xC2,0xDE,0x62,0xCB,0xEF,0xA5,0x5A,0xEA,0xA7,0x8E,0xB0,0xE3,0xBA,0x83, -0xA9,0x9D,0x99,0xEB,0xBF,0x3B,0xD1,0x63,0x99,0xFE,0x97,0x23,0xA0,0x06,0xD1,0x04, -0xC6,0xA7,0xC7,0x2A,0xA2,0xEC,0x7F,0x4F,0xB3,0x10,0x80,0x42,0xE3,0x75,0xA0,0x72, -0x11,0xEE,0x87,0x96,0x2D,0x2D,0x0F,0x6D,0xA4,0xFC,0x9D,0x2C,0x4A,0x23,0x3A,0xCE, -0x2A,0xB0,0xA9,0x37,0x29,0x63,0x2B,0xD0,0xB1,0xB4,0x45,0x4E,0x73,0xCE,0x42,0x57, -0x24,0x82,0x57,0x91,0x14,0x0C,0xA4,0x0E,0x5C,0x19,0x1E,0x38,0x0B,0x0D,0x3C,0x4E, -0x4E,0x58,0x82,0x62,0x68,0x7B,0x6D,0x2A,0x80,0x80,0x54,0x5B,0x47,0x74,0x4F,0x05, -0x54,0xA9,0xD1,0xF4,0x0F,0x9A,0x24,0xA2,0x65,0x4C,0x68,0x8D,0x09,0x50,0x4B,0xB8, -0x2F,0x50,0x22,0x05,0xD0,0x65,0x10,0x59,0x2F,0xA1,0x63,0x26,0x60,0xE4,0x8F,0xEF, -0x27,0xE2,0x9D,0x8D,0x46,0x3D,0xEA,0xEA,0xFA,0xC7,0x3C,0x02,0x98,0x79,0x78,0x54, -0x05,0x2D,0x2A,0xA6,0x52,0x90,0xDA,0x29,0x7A,0xC1,0x12,0x43,0xAA,0xF8,0x8C,0x8F, -0x6A,0x17,0x74,0x67,0xC3,0x4C,0x18,0x47,0x7D,0xAC,0xD9,0x12,0x44,0xBB,0xE9,0x3A, -0xD5,0xB9,0xEE,0x22,0x40,0x7C,0xC4,0x6A,0xC2,0x0C,0x38,0x50,0x10,0x84,0xDB,0x8B, -0xD6,0xD9,0x24,0x3E,0xEF,0x05,0x95,0xBA,0x2C,0x9B,0xD4,0xCD,0xFA,0xA1,0x30,0x41, -0x23,0x5F,0xD3,0xA9,0x45,0xF7,0xF6,0x8A,0xE8,0xE2,0x2F,0x31,0x01,0xF3,0x61,0xC5, -0xA4,0xCF,0xAD,0x51,0x2E,0xE7,0x13,0x0D,0xB5,0xE3,0x39,0xF4,0xFF,0x55,0x6F,0xF7, -0x13,0xD3,0x88,0x9C,0x81,0x9E,0x42,0xDD,0xBE,0xB8,0xE9,0xBF,0x6D,0xB3,0xFA,0x24, -0x25,0xDF,0x92,0x87,0xC2,0x89,0x0E,0x1A,0xD8,0x48,0x4C,0xC3,0x04,0x07,0x3E,0x73, -0xB6,0x8C,0x41,0x4F,0x89,0x21,0xCA,0x6F,0x16,0xF4,0x15,0x93,0xCC,0x46,0x4A,0xE5, -0xF6,0x2B,0x9C,0x1F,0x07,0x25,0xAC,0x10,0x9E,0x93,0x5C,0x72,0x52,0x65,0x7B,0x34, -0x64,0x25,0x8A,0xC1,0x3B,0x8F,0x35,0x93,0x13,0x3D,0x1B,0xCE,0xBA,0x1D,0xE7,0x08, -0xD7,0x84,0xE1,0x28,0x7F,0x1C,0x41,0x89,0x43,0x94,0x64,0xF6,0x0E,0xF9,0x63,0xF8, -0x38,0xF3,0x45,0x29,0xD2,0x6A,0x1A,0x64,0x7C,0x32,0xAB,0xF5,0x6B,0x88,0x03,0xAD, -0xE5,0x35,0xB5,0x17,0x6E,0x3A,0x43,0xAA,0x91,0x9F,0xF0,0x83,0xCA,0x7D,0xB3,0x6C, -0xF3,0xCB,0x17,0x2D,0x84,0x15,0x70,0x3D,0x62,0x21,0xA3,0xDC,0xF9,0x6E,0x96,0x7E, -0xD3,0x39,0xAF,0x0C,0x0D,0x95,0x2E,0x9F,0xDB,0x72,0xFB,0x28,0x29,0x69,0xA3,0x12, -0x4D,0x38,0x48,0x7E,0xED,0x0A,0x9F,0x87,0x21,0x33,0xBD,0x30,0xDF,0x6C,0x87,0x5D, -0x08,0x7F,0x1E,0x1C,0xBB,0x75,0xF5,0xDE,0x07,0xEB,0xB1,0x4B,0x46,0xE6,0x9E,0xCC, -0x8A,0x0F,0xEB,0xD6,0x50,0x9F,0xD0,0x14,0xFB,0x59,0x4E,0xE5,0x32,0xE0,0x44,0xD7, -0x88,0x32,0xE4,0xDC,0xCF,0xBD,0xB4,0x48,0x00,0x86,0x7A,0x1A,0xFB,0x33,0xE1,0x88, -0xD4,0xE4,0x2B,0x34,0xDC,0x94,0xBC,0x56,0x90,0x01,0x82,0x64,0x71,0x93,0x35,0xA1, -0xB2,0x31,0x0F,0x6B,0xB9,0x7A,0xFF,0xE3,0x96,0xF2,0x3B,0xD2,0x11,0x16,0x0A,0x42, -0xE0,0xD5,0x3E,0x25,0x8D,0x6F,0xEE,0xD2,0x49,0x51,0xC6,0x5A,0x39,0x8C,0xC8,0x95, -0x75,0x06,0xAC,0xC3,0x65,0x4F,0xD7,0x78,0x52,0x8B,0xC0,0x2E,0xF8,0xFC,0x47,0xB7, -0x56,0x94,0xDE,0xFE,0x74,0x69,0xD5,0x5B,0xF2,0xA6,0x5B,0xA2,0x36,0x86,0xCA,0xA8, -0x41,0x37,0xB9,0xD2,0x60,0xC4,0xE5,0x98,0xAC,0x9D,0xFA,0x8C,0x4D,0x8A,0x12,0x8E, -0xC0,0x27,0x86,0x04,0xBC,0xF1,0xCD,0x03,0xF6,0xF1,0x27,0x18,0x8B,0x53,0xB5,0xEC, -0x09,0x22,0xDB,0x0A,0xA5,0x68,0x47,0x92,0x74,0x53,0xCC,0x55,0x0D,0x36,0xC5,0xC7, -0x73,0x86,0xED,0xED,0xAF,0xD8,0xC5,0x1D,0x7B,0x5F,0x60,0xA4,0x96,0xE1,0xAB,0xA0, -0xFD,0xF9,0xE9,0x8B,0xA7,0x67,0x4D,0xAF,0xB4,0x7D,0x4B,0x13,0x49,0xEC,0x9C,0xF1, -0x90,0xFE,0xB8,0x40,0x7E,0xD9,0x57,0xD4,0x9B,0x5A,0x52,0x2F,0xDA,0x98,0xD8,0xEB, -0x49,0x85,0x06,0x5A,0x55,0x14,0xE2,0xF4,0x18,0x66,0xCB,0x85,0x20,0x58,0x58,0xA6, -0xF8,0x19,0x62,0xB9,0x5B,0xEA,0x44,0xC6,0x09,0x79,0x6F,0x5D,0xC8,0x20,0xC4,0x9A, -0x26,0xBF,0x58,0x9B,0x57,0x1B,0xE8,0xC9,0xC8,0xC9,0x9A,0xFC,0x16,0xBF,0x22,0x02, -0x15,0x53,0xC9,0xB2,0xDF,0x5E,0xA0,0x36,0x46,0x5D,0x6A,0xAB,0x66,0xDF,0x76,0x66, -0x2C,0x30,0xE8,0x19,0xEE,0xC0,0x83,0xE7,0x3C,0x1A,0x02,0xF2,0x54,0x5E,0x82,0xBD, -0x2B,0xED,0x6C,0x21,0x39,0x80,0x3F,0xAE,0xCA,0x6D,0x5F,0xF0,0xE0,0xBA,0x06,0x4D, -0x91,0xA3,0x7D,0x56,0xFB,0xA8,0xA5,0x79,0xDA,0xEC,0x89,0xCF,0xF3,0x90,0xCB,0xF5, -0x0B,0x1F,0xD4,0x00,0xCE,0x78,0xA2,0x15,0x44,0xF9,0xAF,0xA7,0xBE,0x7B,0x69,0x77, -0x04,0x70,0xEF,0xB0,0x85,0xD0,0x66,0x60,0xE9,0x7C,0x5D,0xD6,0x97,0x73,0x7A,0x69, -0xB0,0x0C,0x00,0x61,0xE6,0x7F,0x0B,0x55,0xE1,0x1D,0x3A,0x76,0xB3,0x2C,0x1C,0xBC, -0xD9,0xB6,0x1F,0x8E,0x00,0xA1,0x94,0xCD,0x97,0x6C,0x49,0x35,0x79,0x30,0x1F,0xDC, -0x95,0x1E,0x33,0x72,0x02,0xAE,0x9E,0xF0,0x3E,0xBE,0xC7,0xFE,0x6E,0x7C,0x5C,0x1B, -0x8E,0xB2,0xA5,0xF2,0x9A,0x08,0xC2,0x71,0x4C,0x98,0xC8,0x07,0xC1,0x11,0x3F,0x2E, -0xB1,0x51,0xC5,0x77,0xAA,0x53,0xF7,0xFD,0xD1,0xB7,0x59,0x84,0x5F,0x32,0x0E,0xFF, -0x83,0xE0,0x91,0x48,0x31,0x3F,0xB7,0x1C,0x3B,0x77,0xC9,0xA3,0xFD,0x08,0x18,0x01, -0xDD,0x0B,0x51,0xAA,0x34,0xB4,0x85,0xFC,0x9C,0x37,0x99,0x7E,0xB2,0xBE,0xCD,0x75, -0x1E,0x81,0xBC,0x26,0xA8,0x5C,0xFD,0xC0,0xC4,0xFF,0x81,0xE6,0xD7,0xCF,0xAD,0x20, -0x36,0xC1,0xBB,0x8F,0xF7,0x59,0x09,0x76,0x5E,0xBD,0xDB,0x34,0xB1,0x71,0x6B,0x4A, -0xBD,0xBA,0x1A,0xBB,0x17,0x26,0x38,0x23,0xB1,0x16,0xF1,0xF7,0x31,0x9B,0x70,0x0F, -0x93,0x1B,0x21,0xE5,0x59,0x22,0x85,0x07,0x69,0x74,0xE4,0xBF,0x49,0x02,0x49,0xE2, -0x6D,0xBD,0x2F,0xD7,0x36,0x1F,0x5B,0x88,0x32,0x02,0x09,0x12,0x37,0x1B,0x31,0x21, -0xB8,0x4E,0x45,0x0D,0x41,0x63,0x7F,0x41,0x78,0x61,0xD5,0x8B,0x44,0x50,0x7D,0x58, -0xEB,0xD8,0x5F,0xFC,0xA0,0x04,0xF7,0x08,0x44,0xB7,0x30,0x47,0x40,0xED,0x33,0x7C, -0x18,0x29,0x24,0x05,0x5F,0xDB,0x0C,0x3C,0x4F,0x1C,0x7A,0xAA,0x84,0xBA,0x5A,0xC8, -0xA7,0xA1,0x2C,0xB7,0x07,0x4D,0xBF,0xC6,0x10,0x38,0xAF,0xCC,0x73,0x01,0xA2,0x55, -0x10,0x8A,0x0E,0x78,0xAA,0x59,0x7C,0xF6,0x3E,0x79,0x2F,0xCA,0x87,0xDA,0x90,0xD4, -0x39,0x82,0x1D,0x66,0x8D,0x99,0x96,0x66,0xCB,0xD8,0xEE,0x7A,0xD5,0x3E,0xA1,0x9A, -0x27,0xFF,0xA5,0x15,0x0D,0x10,0x34,0x38,0x54,0x06,0x76,0x9C,0x1C,0x3B,0xFC,0x94, -0xEF,0xBE,0xD1,0x83,0xBB,0xE3,0x32,0x81,0xF4,0x8C,0x5F,0x48,0x2B,0x6A,0x23,0x99, -0x7A,0xF1,0x6C,0x10,0x1D,0x7B,0xB3,0xDD,0x2F,0x6C,0x1E,0xFE,0x23,0xD8,0x9C,0x11, -0x4D,0x84,0xC7,0x7D,0x4A,0xEF,0x3D,0x2D,0x1D,0xE7,0xFE,0xFB,0x55,0x73,0x5B,0x5A, -0xF8,0xF2,0x92,0x44,0xF1,0x69,0xF0,0xC3,0x8B,0xB4,0x0F,0xE1,0xB1,0xD6,0x8A,0xCF, -0xA3,0xC7,0xA2,0xC8,0x01,0xB4,0x36,0xFD,0xBB,0x19,0xCC,0xF5,0xDA,0x51,0x9A,0x2A, -0xFD,0x06,0xCD,0xF2,0xD6,0xA9,0x1A,0x53,0xAC,0x78,0xE6,0x1B,0xAB,0x27,0xD9,0x59, -0xA6,0x33,0xFD,0x7E,0x1F,0x0C,0x45,0x80,0x70,0x48,0xCB,0x98,0x70,0x61,0x68,0x49, -0xB0,0xED,0x6F,0x70,0xB5,0x30,0xC6,0x19,0x37,0xF4,0x46,0x36,0xEC,0x5D,0x80,0x31, -0xDB,0x04,0xDC,0xD1,0x26,0x74,0xDC,0x6D,0x48,0xCC,0x16,0x9F,0x68,0xAD,0x34,0xD5, -0x7F,0x05,0x33,0xA6,0x50,0xD9,0x31,0x36,0x87,0xCF,0x29,0x39,0x08,0xF8,0x51,0xA4, -0x8F,0x3B,0xEE,0x60,0x00,0x65,0xFF,0x6F,0xDC,0xB9,0xC4,0x94,0xB8,0x39,0xF0,0x51, -0x2D,0x01,0xF8,0x9E,0x2F,0x8F,0x68,0x5C,0x8F,0xE6,0x37,0x2A,0x9D,0x2B,0xC3,0x42, -0x95,0x20,0xD8,0x6C,0xAF,0x06,0xCA,0x02,0xD7,0x12,0x8E,0x79,0xA8,0x47,0x13,0x45, -0x72,0x52,0x46,0x6D,0x30,0xE6,0xD2,0xB3,0x91,0x0A,0x74,0x38,0x8C,0x08,0xE5,0x40, -0x4E,0x4B,0x61,0x42,0x76,0xC8,0x12,0x34,0xF5,0x28,0x28,0xA7,0xE2,0x6F,0x7E,0x97, -0xD4,0x0E,0xDE,0xEC,0x46,0x4B,0x3F,0xE8,0x14,0x6A,0x97,0x07,0xD0,0xDE,0x2A,0xA8, -0x1E,0x12,0xDD,0x8C,0x3F,0xE4,0xEF,0xB9,0xF8,0xF7,0x79,0x90,0x3B,0x14,0xC0,0x8D, -0xE9,0x85,0x28,0x0A,0xCD,0x4E,0xDF,0xDA,0x03,0x0B,0xBD,0xE9,0x6A,0x90,0x3B,0xDF, -0x97,0x7D,0xAF,0x9A,0xDD,0x25,0x58,0x3F,0x15,0xCE,0xE0,0xE8,0x64,0xA2,0xC5,0x79, -0xB2,0xB0,0x18,0x86,0xA4,0x8A,0x88,0x6E,0xC5,0x85,0xEB,0xB3,0xF1,0x71,0x57,0x9F, -0xA8,0xAB,0x2E,0x8A,0xB3,0xC9,0x4F,0x22,0x60,0xF9,0x8D,0x43,0x35,0x26,0x3E,0x2B, -0x7B,0x63,0xBD,0xD9,0x1B,0x82,0x3A,0xE6,0x39,0xA9,0x43,0xFF,0x41,0xB0,0xF6,0x6A, -0x83,0xFE,0x4A,0x62,0xFE,0x6B,0xCD,0xC9,0xD6,0xB6,0xF9,0x96,0x19,0xDB,0x77,0xA6, -0xBC,0x28,0xCB,0x72,0xCB,0xB7,0x56,0xE1,0x0B,0x22,0xA3,0xFA,0xBE,0xB9,0xB1,0x7F, -0xE1,0x26,0x02,0x77,0x52,0xAE,0xC7,0x6B,0xE0,0x6F,0x21,0x58,0xCE,0x92,0x37,0x1A, -0xD7,0xC1,0x78,0xD3,0xE2,0xA4,0x48,0xE9,0x4C,0x9E,0x2E,0x54,0xA0,0xF5,0xAC,0xCD, -0xD3,0xA7,0xF6,0xAC,0x5D,0xAC,0xFA,0x61,0x67,0x29,0xE1,0x76,0x97,0xA4,0x73,0xC0, -0x82,0x6C,0x9B,0xAB,0xE3,0x75,0x81,0x7B,0x7E,0x15,0xCE,0x51,0xD3,0xBE,0xE0,0xB4, -0x3C,0x76,0x42,0xD0,0x2E,0x5E,0xA1,0xCE,0xE7,0xBF,0x4D,0x6D,0x53,0xF3,0x1A,0x74, -0x58,0x95,0xF3,0x4C,0xD0,0x50,0x93,0x68,0x43,0x67,0x5C,0x72,0xCF,0xCF,0xF2,0x0C, -0x24,0x30,0x03,0x2A,0x4F,0xB0,0x8B,0xD9,0x9D,0x71,0x52,0xE0,0x95,0x99,0x7C,0xCA, -0xD1,0xFA,0x81,0x5A,0xA5,0x5B,0x41,0xFC,0x62,0xDF,0xAE,0x52,0x4F,0x82,0x08,0xCC, -0xDE,0xF0,0x83,0x67,0x87,0xC4,0x1D,0x98,0x56,0x20,0x55,0x8D,0xEA,0xDD,0xC1,0x1F, -0x11,0x18,0xDF,0xB1,0xAE,0xD7,0x03,0x90,0xAE,0x5E,0xC5,0x0A,0x3E,0xF4,0x4B,0xBF, -0x35,0x47,0xB9,0x64,0x40,0xB2,0xB6,0xD3,0x17,0xE8,0xC3,0xF9,0x01,0x17,0x2B,0x3A, -0x04,0x09,0xEB,0x80,0x55,0x86,0x87,0xC2,0xEA,0x60,0x1C,0x5A,0xC3,0xC0,0x03,0xA0, -0x96,0xEF,0x7E,0x53,0x75,0x6E,0x2D,0xFB,0xEC,0x14,0x07,0x80,0x4C,0xE2,0xC2,0xD0, -0xE4,0xD2,0x5D,0xC1,0x53,0x7F,0x0E,0xF9,0x77,0x98,0xA7,0xAD,0xC1,0xFD,0x0C,0xAA, -0x25,0xA2,0xD2,0xE3,0x9B,0x0B,0x98,0xB8,0x65,0x0F,0xC2,0x67,0x14,0x89,0x43,0x1C, -0x09,0x5E,0x9E,0x4B,0x94,0x09,0xA5,0xB2,0xEB,0xC4,0x6B,0xB5,0x57,0x4E,0x54,0x50, -0x9F,0xDE,0x85,0xE7,0x32,0x91,0x24,0xEE,0xE4,0x3D,0x19,0x93,0x34,0x7B,0xFB,0x3D, -0xFF,0x5B,0xBA,0x04,0x69,0xA1,0xA8,0xDB,0x75,0xBE,0x84,0xBC,0x05,0xAA,0x65,0x1E, -0xAB,0x64,0x88,0xB5,0x05,0x3A,0x49,0x9B,0xE5,0x99,0x6E,0x7C,0x13,0x54,0xC7,0x24, -0x6B,0x86,0xD6,0x5E,0x8E,0x3F,0xA9,0xA9,0xB5,0x44,0xC9,0x3C,0xC6,0x20,0x88,0x92, -0x86,0x0A,0x15,0xD4,0x66,0xA3,0x95,0xD1,0xAD,0xDC,0x91,0xF4,0xA6,0x75,0xED,0xE3, -0x81,0xA3,0x3D,0x94,0x63,0xFC,0x23,0x25,0xF7,0x0E,0x0B,0xB6,0x60,0x1F,0x8B,0x5D, -0x62,0xB7,0x2D,0xEA,0x21,0x5C,0x9C,0xC4,0xB6,0xC6,0x9D,0xC2,0x29,0x57,0x2C,0x93, -0xF3,0x9E,0x1E,0x06,0x64,0xD4,0x63,0x8C,0x46,0x91,0x13,0x56,0x7D,0x33,0x5C,0xF3, -0xD2,0x35,0x27,0x65,0xFA,0xE5,0xB2,0xAF,0x2E,0xC8,0x69,0x11,0x89,0xE8,0x6E,0x72, -0x56,0x0D,0x20,0xB8,0xBA,0x32,0xFB,0x13,0x73,0xCA,0x9F,0x66,0x0D,0x18,0xDA,0x96, -0x47,0x7A,0x9A,0xF6,0x92,0xF0,0x2C,0x89,0xA5,0xF5,0x8F,0xE7,0xC0,0xA0,0xC9,0xBC, -0xEE,0x2C,0x00,0x4A,0x42,0xC5,0x40,0x8E,0x83,0x9D,0x11,0xF2,0x62,0x22,0x84,0x57, -0xD5,0x9C,0x0F,0x25,0xEA,0x8E,0x35,0x4A,0x71,0xEC,0xBC,0x77,0x71,0x3C,0xAD,0x5F, -0x3A,0x4D,0xBB,0x59,0x45,0xED,0x00,0x27,0x16,0x4C,0xB4,0x16,0x17,0xE9,0x89,0x00, -0x27,0x89,0x25,0xDB,0x07,0xA0,0xC7,0x46,0xAE,0x3E,0xE7,0x0A,0x78,0x1E,0x31,0x88, -0x5E,0xFA,0x6E,0x97,0x4D,0x7C,0xA4,0xDF,0xD2,0xF7,0x90,0x2E,0xA2,0xCB,0xC2,0xE2, -0x9D,0x84,0x77,0xEF,0x16,0x91,0xD2,0x72,0xEF,0x78,0xFF,0xF0,0x90,0x35,0x64,0xEC, -0x70,0xFC,0xEE,0xD6,0xCE,0x84,0xB0,0x3A,0xEB,0x5C,0xB1,0x4D,0xCE,0x1B,0xC5,0xD7, -0xAB,0x4A,0xAF,0x36,0x41,0x5A,0xDF,0x07,0x94,0x89,0x0C,0x09,0x0D,0xB6,0xF5,0xC3, -0x2A,0xBE,0x74,0x04,0x6F,0xDA,0x9E,0x01,0x80,0xB9,0xA1,0xCA,0xC2,0x01,0xDE,0xE1, -0xB7,0x49,0xCF,0xFC,0x30,0x0F,0xBA,0x67,0x16,0x43,0xF9,0x79,0x70,0xBE,0x56,0xE9, -0x03,0x8D,0x98,0x95,0x3B,0x45,0x11,0x8A,0xC9,0x77,0x06,0x82,0x89,0x4D,0xA7,0x92, -0x6E,0xEE,0xAD,0x3A,0x50,0x6B,0xCA,0x33,0xB6,0xA2,0xBB,0xC6,0x65,0xDC,0x8E,0xA1, -0xE6,0xE6,0x1F,0x85,0x8B,0x2A,0x2A,0x85,0x2E,0xFE,0x1D,0x47,0xF6,0x49,0xC1,0x1C, -0xEB,0xD1,0x4E,0x5A,0x2B,0x03,0xA0,0x51,0xDD,0x47,0xAB,0x41,0x60,0x81,0x80,0x68, -0xE5,0x18,0x4B,0x07,0xB4,0x9B,0x7E,0xB7,0x54,0x19,0x2B,0xE3,0x13,0x9F,0xFD,0xD0, -0x26,0x66,0x52,0x7F,0xD3,0x93,0xDE,0xD6,0x64,0x2C,0x70,0x6F,0x87,0x5B,0x79,0x00, -0x55,0x17,0x24,0x3C,0xC4,0xB9,0xBF,0x38,0x79,0x82,0xA7,0x43,0xBD,0x05,0xB8,0x6F, -0xB0,0x7C,0xA3,0x2C,0xF4,0x7A,0x12,0x2C,0xA4,0xBC,0x57,0x85,0x31,0x5E,0x8D,0x5F, -0x25,0x98,0x06,0xFD,0x62,0x8B,0x41,0x36,0x22,0x52,0xEC,0x48,0x08,0xEB,0xFB,0x0A, -0xDB,0xC5,0x8D,0xF7,0xF8,0x5C,0x69,0xF4,0x14,0x49,0xF6,0x44,0xD3,0xD9,0x7A,0xFE, -0xAA,0xA5,0xD8,0x92,0x37,0x63,0x6A,0x52,0xB9,0x12,0x80,0xA9,0xA4,0x7D,0x7B,0x11, -0x4E,0x21,0x28,0x26,0x48,0x33,0x52,0xFB,0xFD,0x66,0x13,0xB3,0x05,0x16,0x92,0xA2, -0x36,0xBD,0x14,0xCE,0x0F,0xBE,0xEE,0x55,0xC1,0xFF,0xB9,0x30,0x0B,0x00,0x4C,0x30, -0x3F,0x41,0x7D,0x43,0xEE,0x01,0xAC,0xF5,0x2B,0xCC,0x96,0xA7,0x18,0xD4,0x2D,0x8B, -0x3A,0x65,0x32,0xB5,0xA8,0xFB,0xB4,0xB4,0xCB,0x7D,0x09,0xBF,0x19,0x33,0x5F,0x15, -0x3D,0x50,0x5E,0x65,0xF0,0x42,0x40,0xE7,0x42,0x23,0x89,0x1D,0xEB,0x8B,0x7E,0x35, -0x2E,0x75,0x4C,0x56,0xA3,0xB1,0x1F,0x59,0xA8,0x10,0xA6,0x8A,0x15,0x29,0x44,0x23, -0xA0,0xA7,0xE5,0x9D,0x7C,0xC8,0xAD,0x24,0x83,0xA5,0x6B,0xAA,0x7F,0x4F,0xFA,0xE5, -0xF2,0xF6,0x61,0x66,0x87,0x0C,0x51,0x5D,0x29,0xC6,0x99,0x9A,0xF9,0xB8,0x6D,0x10, -0xD7,0x1D,0xAB,0x8C,0x6B,0xE2,0xCC,0xCA,0x86,0x97,0xE0,0x4A,0x99,0x72,0x71,0x13, -0xE8,0x2F,0x1A,0xD8,0x8A,0x5D,0x8E,0x6A,0x05,0x4B,0xD0,0x67,0x37,0xE8,0x34,0xAC, -0x15,0x8C,0xC5,0x50,0x46,0x36,0x0F,0x32,0x4F,0x99,0xBD,0x4F,0xAC,0xDD,0x1C,0x70, -0x54,0xF8,0x53,0x98,0x1F,0xF8,0x5F,0x8E,0x04,0x5D,0x15,0x3A,0xFF,0x0E,0xD4,0xE3, -0xE0,0x3C,0x04,0xF1,0xBA,0x9E,0x23,0x7E,0x47,0x11,0x02,0xFD,0xF3,0x14,0xCF,0xD5, -0x06,0xA9,0xD7,0x63,0x6A,0x95,0x68,0x25,0xE8,0x40,0x7B,0x2D,0xEF,0x31,0x02,0x62, -0xB2,0x6D,0x80,0x0A,0x33,0x5B,0x38,0x99,0x69,0x96,0x44,0x3D,0xA6,0x71,0xBE,0xB5, -0x65,0x03,0xE7,0x91,0x9F,0x54,0xC9,0x95,0x63,0x14,0xF4,0xB2,0x02,0x47,0x59,0xCF, -0x00,0x73,0xCC,0x17,0x74,0xD6,0x84,0x37,0x7A,0x9E,0x6D,0x23,0x07,0x1A,0x57,0x06, -0xD9,0xD4,0xAE,0xD1,0xA9,0x8C,0x10,0x5B,0xA6,0xB6,0x58,0xB8,0x17,0x25,0x81,0x87, -0x73,0x02,0xBA,0x54,0x3C,0x29,0xC1,0xBF,0x9D,0x17,0x76,0xE6,0x39,0xFE,0xEA,0x3E, -0x0B,0x9E,0x86,0xBC,0x98,0x38,0x19,0xA0,0x93,0xB1,0x88,0xD4,0xA5,0x9A,0x09,0x8F, -0xCB,0x1E,0xCB,0x46,0x01,0xBB,0xB3,0x9C,0xB8,0x04,0x45,0xF4,0xDE,0x24,0x13,0x56, -0xBF,0x5A,0xD1,0xD5,0x18,0x94,0x8F,0xBB,0x61,0x1E,0xFB,0x8F,0xD9,0x75,0xD8,0x3B, -0xC0,0xF3,0x81,0xED,0xD1,0xB0,0xF8,0xC7,0x1A,0xEF,0x08,0x76,0xC4,0xB7,0x67,0x12, -0x60,0x27,0xA8,0x67,0x29,0x20,0x86,0x40,0x09,0xE7,0x21,0x68,0x12,0x78,0x8F,0x4E, -0xB3,0x82,0xF7,0xAE,0x1D,0xDB,0x79,0x9F,0x96,0x83,0x03,0x34,0x2F,0x77,0x85,0x4C, -0xB5,0x58,0xEC,0xDA,0xE2,0x27,0xD7,0x2D,0x7D,0xA6,0xE9,0xFE,0x5F,0x82,0x4F,0xCE, -0xD5,0x0C,0x88,0xAA,0x08,0xD2,0x3E,0x60,0xB2,0x86,0xF5,0x7B,0xB4,0x42,0xAD,0x90, -0xAF,0x81,0x97,0x64,0x93,0x72,0xB2,0x4D,0xA3,0x84,0xD3,0x58,0x26,0x30,0x90,0xB3, -0xDF,0x0E,0xB5,0xA5,0x95,0x69,0xC6,0x97,0x4B,0xBD,0xF3,0xF2,0xF5,0xA2,0x76,0x26, -0x45,0xCC,0x62,0x8D,0x68,0xB6,0x4E,0x34,0x7F,0xAC,0xE6,0xC3,0x11,0x93,0x38,0x74, -0x61,0xC8,0xDF,0xC3,0x0A,0xF1,0x18,0x71,0x6C,0xA4,0xCF,0xDD,0x71,0x59,0x24,0x77, -0x42,0xF9,0x0E,0x5D,0x9B,0x6C,0x9B,0x5E,0x5C,0x91,0x94,0x51,0x92,0x39,0xA1,0x48, -0x2F,0x9A,0x3B,0xF2,0x94,0x1E,0x62,0x78,0xC4,0xCD,0x32,0xD0,0x3E,0xAF,0x21,0x53, -0x63,0xD9,0xFC,0xE5,0x1A,0xB7,0xA9,0xAA,0xC6,0xC7,0x3D,0xED,0x96,0x83,0xDD,0x1F, -0x22,0xAD,0x6A,0x2D,0x88,0x7E,0xA8,0x7B,0x31,0x5A,0xC5,0x56,0xE1,0x27,0xDC,0xF0, -0x9C,0x6B,0x00,0x4B,0xD2,0xE4,0x7A,0x39,0x6E,0xAE,0xC0,0xE0,0xA1,0x20,0x75,0xD8, -0xED,0x0B,0x55,0x2E,0xCA,0xBC,0xE2,0xF1,0xF2,0xD6,0x28,0xDC,0x2B,0xCD,0xF9,0x1B, -0x5B,0xDE,0x21,0x61,0x9A,0x1B,0x3F,0xB1,0xF7,0xE4,0xA3,0x3C,0xC0,0x0D,0x1B,0x45, -0xE9,0xC0,0x6D,0x7C,0x0C,0xEA,0x6C,0xAB,0xFF,0x6C,0x1C,0x8E,0xCD,0xF0,0x72,0xED, -0x0D,0x44,0x9D,0xC8,0x51,0x1C,0x6E,0xDC,0x28,0xD0,0x5C,0xC7,0x10,0x74,0x4A,0xEA, -0x8C,0xB0,0x46,0xFA,0x39,0x66,0x37,0x9B,0x19,0xF3,0xC2,0x16,0x73,0x55,0xE1,0xD3, -0xEC,0xE4,0x22,0x8A,0xC9,0xE8,0x60,0x0F,0x91,0xBB,0x87,0xE9,0x9F,0xC4,0xC8,0xE0, -0x7F,0xDA,0x9C,0x2F,0x69,0xC1,0xEA,0xDB,0x20,0x58,0xE3,0x75,0x2C,0x9C,0x32,0x76, -0x20,0xBC,0x49,0x0B,0x0E,0xC9,0x4A,0xBA,0x43,0x35,0x4C,0x40,0x50,0x73,0xE3,0xC2, -0x28,0xAF,0x57,0x22,0xFC,0x64,0x3B,0x3F,0x08,0xF1,0xE4,0x35,0x3F,0x48,0x53,0xCD, -0xC3,0x0D,0xD5,0x6F,0xDA,0xFA,0x53,0x2A,0x3D,0xF6,0x34,0x59,0x83,0xE1,0x05,0x57, -0xEF,0x7F,0xBF,0x85,0xAD,0xD3,0x09,0x74,0x67,0x15,0xC4,0xF9,0xBB,0x4E,0xD7,0x2D, -0x3C,0xED,0x59,0x10,0xA6,0x03,0x52,0x3F,0x1E,0xC5,0x6B,0xA8,0x76,0xF9,0xCB,0x08, -0x6B,0x84,0xED,0xD4,0xC0,0xA6,0xA2,0x43,0x09,0x02,0x28,0xE4,0x6D,0xCF,0xC7,0x12, -0xFD,0x4C,0xAC,0xA0,0x0E,0xFF,0x1E,0x13,0xA1,0x77,0x63,0x20,0xA5,0x5C,0x94,0xC1, -0x22,0xC4,0x51,0x03,0x65,0x33,0x46,0x92,0xCC,0x5F,0x29,0xF2,0x8D,0x80,0x0F,0xF4, -0x93,0x90,0x6E,0x31,0xDA,0xD2,0xE6,0xD0,0xFC,0x72,0xAA,0x2E,0xC8,0x3F,0xA1,0x6E, -0x59,0x7A,0x4B,0xDA,0x34,0x3E,0x71,0x4D,0x85,0xA2,0x05,0x7F,0xD4,0x3C,0xC1,0xA4, -0xDD,0x81,0x19,0x8B,0xF0,0xC5,0x08,0xB1,0x77,0x92,0xAF,0x1C,0x43,0xC9,0x47,0x53, -0x74,0x4A,0x97,0x59,0x89,0x1A,0x75,0x03,0xBA,0xB2,0x84,0xA9,0xFD,0x0F,0x2D,0x35, -0x66,0x79,0x84,0x7C,0x7A,0x49,0xCB,0x5C,0x95,0x25,0x6E,0x9A,0xC7,0x19,0xD3,0x97, -0x0A,0xA9,0x83,0x49,0xC3,0x11,0x98,0xA8,0x15,0x87,0xE7,0xC4,0xE6,0x39,0x21,0x2F, -0x45,0x5F,0x86,0x6D,0x39,0x57,0xD9,0xB0,0x8A,0x9F,0x07,0x75,0x94,0xA7,0x20,0xC8, -0x2C,0xD2,0x8F,0x91,0x86,0xB6,0x79,0xF2,0xA5,0x08,0xED,0x46,0xF5,0x1C,0x33,0x1C, -0x10,0x3A,0xF7,0x0D,0x0B,0xF1,0xD7,0x4E,0x0F,0x8B,0xD1,0xDF,0x2B,0x8E,0x3D,0x0A, -0xE0,0x8E,0x13,0x89,0x5B,0x8E,0x7E,0x76,0x9C,0x91,0x95,0xAB,0xC2,0x3D,0x9C,0x61, -0xB5,0xEB,0x62,0xE9,0x64,0x41,0xD8,0x75,0xEA,0x7C,0x38,0xF0,0xC3,0xD2,0xEB,0xC5, -0x3E,0xE1,0x9C,0xB4,0xB3,0xDB,0x1A,0x5D,0xF0,0x70,0x0E,0xEB,0x42,0x26,0x30,0xF7, -0x9B,0x30,0x09,0x50,0x42,0x4D,0x00,0x0E,0x4B,0xBD,0x88,0x05,0x34,0x73,0x09,0x42, -0x1C,0x20,0xEC,0x3B,0x81,0x7D,0x14,0xA3,0xBB,0x7B,0x55,0x3B,0x01,0x43,0x85,0x19, -0x6A,0x63,0x9F,0x4A,0xAB,0x6A,0xFA,0xC2,0x6C,0x57,0x48,0x95,0xC0,0x2C,0xBF,0x47, -0x73,0x1B,0x5C,0x34,0xA3,0x0D,0x9B,0x62,0x37,0xDB,0x78,0xA0,0x44,0xFC,0x2B,0x83, -0x76,0x46,0x52,0xFD,0x3B,0x92,0x7D,0xBC,0xB7,0x79,0xF1,0xFE,0x39,0x44,0x58,0x9D, -0x27,0x99,0x5F,0xCA,0x12,0x32,0xA9,0x36,0x01,0x7F,0x02,0x47,0x78,0x30,0xCE,0x55, -0x95,0x26,0xD7,0xC2,0x53,0xE9,0x1F,0xD6,0xA7,0xFE,0x9A,0x1B,0x37,0x8D,0x5D,0xC0, -0xA0,0x89,0xBA,0xA1,0x7D,0x82,0xA6,0x0D,0x1A,0xBA,0xE5,0xCE,0x1E,0xBE,0xB1,0x51, -0xF7,0xE0,0x0E,0x65,0x37,0x89,0x4B,0xA6,0xE5,0x41,0x3A,0xFA,0xEF,0xC5,0x48,0xA2, -0x4C,0x18,0x93,0x92,0xE2,0xD6,0x2D,0x82,0xBD,0xF2,0xAC,0x00,0x67,0xCD,0xFA,0x1D, -0x97,0x2A,0x12,0x66,0x62,0xF8,0x2B,0xC3,0x10,0x31,0xB8,0x30,0x4C,0xEF,0x35,0xAA, -0xD6,0xCA,0xC9,0xD0,0xBC,0x77,0x16,0xAC,0xAD,0x75,0xC7,0xE5,0x7C,0xFB,0xF6,0x07, -0x4F,0xF3,0x24,0xA8,0xA9,0xAF,0x5E,0xCE,0xE3,0xC8,0xC3,0xC1,0xDD,0xC0,0xA8,0x29, -0x56,0x8B,0xE7,0xD6,0x44,0xF4,0xF3,0xB8,0x8C,0x16,0xFE,0x4E,0x7B,0xCE,0x9A,0xD7, -0x1D,0xC7,0x9E,0xA5,0x98,0xBE,0x6A,0xDB,0xFB,0x32,0x82,0x87,0x88,0xA4,0x40,0x02, -0xED,0x73,0x7A,0x21,0xC2,0x63,0x06,0x4F,0x28,0x61,0x11,0x4F,0xBC,0x7B,0xBB,0xFD, -0x6F,0x3E,0x91,0x83,0x5C,0x45,0x13,0x27,0xF8,0x0D,0x24,0x48,0xEA,0xE1,0x07,0x54, -0x71,0x17,0x99,0x90,0xF1,0xB7,0x96,0x56,0x50,0x78,0x6F,0x8C,0x5A,0xEE,0x68,0x6F, -0xA4,0x33,0xC6,0xF6,0xF9,0xD0,0xF7,0xF6,0xFF,0x4D,0x0C,0xE1,0x8B,0x5A,0x14,0x80, -0x1A,0x96,0x55,0xC8,0xD0,0x70,0x23,0x7C,0x9B,0xD1,0xBD,0x02,0x71,0xCC,0xA7,0xD8, -0x7E,0xE6,0x35,0x9C,0x5E,0x80,0xB7,0x2B,0xDE,0x2E,0x35,0x4A,0x58,0xFF,0x4B,0x49, -0xA5,0xD4,0xB4,0x68,0x24,0xE8,0xF0,0x72,0x40,0xFF,0x04,0x69,0xF3,0xC6,0x28,0x68, -0x55,0x60,0x50,0xEC,0xD2,0xB5,0x87,0x70,0x00,0xB6,0xD3,0xD5,0xCB,0xC1,0xF5,0xEC, -0x19,0x7D,0xE2,0xF2,0x23,0x23,0x9D,0x23,0xBF,0x04,0xDB,0x5D,0xA2,0x69,0xF8,0x11, -0x6D,0x32,0x54,0x27,0x84,0x73,0xDD,0xFE,0x34,0xE4,0xDE,0x6F,0x40,0x37,0x13,0xD1, -0x38,0x57,0x25,0x47,0xDC,0x6B,0x15,0x66,0xDC,0xD8,0x42,0x17,0xCC,0xF4,0x99,0x3C, -0x52,0x31,0x9B,0x81,0x46,0x31,0x57,0xB4,0xD9,0x6E,0x1D,0xE3,0x65,0xDC,0xD9,0x3B, -0xC4,0xF9,0xDA,0xF5,0x8F,0xA3,0x86,0xB5,0x21,0xD5,0xEA,0x7E,0x64,0x33,0xAE,0x9F, -0x03,0xEE,0x96,0xB6,0x26,0x2D,0x54,0x7E,0x2E,0xE8,0xE8,0x74,0x98,0x7F,0x06,0xB3, -0x36,0x41,0xFB,0xD5,0x54,0x22,0x72,0x87,0x88,0x69,0x70,0x28,0x18,0x64,0xAA,0x25, -0xE7,0xDF,0xD8,0xE4,0xC9,0xB3,0x5D,0x04,0xD3,0xE5,0x40,0x1D,0x9D,0x5B,0x49,0x45, -0x5A,0x91,0xFC,0xE0,0x8E,0xD1,0x18,0x52,0xFA,0xFB,0x53,0x15,0x81,0x58,0x29,0x8F, -0x8D,0xB9,0x66,0x22,0x51,0x2C,0xBB,0xDA,0xEF,0xCA,0x67,0x04,0xCF,0x0A,0xCD,0xBE, -0xAF,0x78,0x16,0xAD,0x4A,0x2A,0x61,0xAE,0xCF,0x60,0x8F,0x3D,0x29,0x9F,0x1E,0x2C, -0xB0,0xB6,0x6C,0x20,0xEA,0xB1,0x4C,0x22,0xE9,0x43,0x9E,0x3F,0x14,0xBC,0x8C,0x5E, -0xD4,0xC6,0x0C,0x74,0x1F,0x5B,0x01,0xCB,0xF5,0xC6,0x51,0x1F,0xF6,0xE2,0x67,0x9E, -0xCF,0xB2,0x0A,0xAE,0xE3,0xA4,0xB3,0x65,0x1F,0x0C,0xBA,0x3A,0x3C,0x60,0x17,0x6B, -0x90,0x7B,0xD9,0x0B,0x18,0x90,0x6C,0x9A,0x3D,0x50,0x25,0x5E,0x36,0x62,0x2A,0x64, -0xB9,0xF1,0x79,0xDF,0x88,0x68,0xEB,0xE4,0x14,0x4E,0x36,0x56,0xDE,0x3E,0xFC,0xAB, -0xE9,0xC9,0x06,0x76,0xAC,0xA1,0x97,0x93,0xE7,0xB7,0x4D,0xA7,0x61,0x17,0xE1,0x69, -0xF3,0x5A,0x72,0x32,0x83,0xB8,0xB0,0xAF,0x59,0xCC,0x94,0xBD,0xAA,0x7A,0xE6,0x38, -0xBE,0xA0,0xB2,0xB2,0x00,0x21,0x8C,0x05,0x94,0xEC,0xBF,0x08,0xB0,0xA3,0x9D,0x86, -0x82,0x48,0xCA,0x2E,0x11,0x85,0x93,0xDD,0x6A,0xDE,0xB1,0xAE,0x53,0x12,0x01,0xE2, -0x96,0xCD,0x60,0xF8,0xB4,0x10,0x77,0x0C,0x44,0x80,0x8A,0x0F,0x38,0xAB,0x2F,0x39, -0xF4,0x0B,0xB9,0x5F,0xEE,0xCD,0x1B,0x98,0x71,0x1B,0x56,0x27,0xEE,0x2A,0x3F,0x06, -0xDF,0x8D,0xDC,0x2F,0x6C,0x26,0xB9,0xD5,0xE8,0x8A,0x4F,0xAD,0xE0,0xE3,0x3A,0x5B, -0xB8,0x16,0x0B,0x41,0x63,0x8A,0xB5,0x24,0x58,0x05,0x45,0x2F,0x07,0x99,0x9E,0x6D, -0x20,0xD7,0xF7,0xAF,0x87,0xB2,0xF5,0x36,0x57,0xE0,0x55,0xBA,0xEC,0xDB,0x26,0x0D, -0x39,0xF0,0xD8,0x93,0xF3,0xA8,0x66,0x72,0x3A,0x2B,0x04,0xBD,0x97,0x65,0x3C,0xD4, -0xA0,0xCC,0x5B,0x39,0x33,0xE5,0x9C,0xF2,0xE3,0x31,0xBA,0xC6,0xB7,0xA8,0x89,0xFF, -0x04,0xD3,0x4A,0xE1,0x4B,0xD9,0x74,0x6E,0x52,0xD2,0xDE,0x5A,0x85,0x56,0x2F,0xF1, -0x91,0x37,0xEF,0x30,0xE1,0xCD,0xF1,0xB8,0xEB,0xB9,0x05,0x74,0xDB,0x78,0x8E,0xCA, -0x4C,0x5B,0xB5,0xA4,0x38,0xAF,0x37,0x1F,0x6A,0x6F,0x3A,0x64,0x40,0x4D,0xA6,0x16, -0xA7,0xF9,0x37,0xE9,0x5D,0x84,0xB1,0x6F,0xA3,0x61,0x67,0x61,0xD1,0xD4,0x2C,0x0F, -0x0B,0xF5,0x38,0x18,0x8A,0xE3,0x2A,0x01,0xD9,0x86,0x51,0xC5,0x5E,0x64,0xAE,0x05, -0x50,0x58,0xD5,0x6E,0x7D,0x01,0xAD,0xA0,0x18,0x00,0xB3,0x72,0xA0,0xC6,0x94,0x13, -0xAD,0xFB,0x0A,0xE6,0xE7,0xD6,0x85,0x62,0x4A,0x4E,0x82,0x96,0x91,0xD3,0x85,0x27, -0xAB,0x21,0x11,0x92,0x97,0xF4,0x44,0xED,0xDF,0xA8,0x10,0x45,0x3B,0xF3,0xBC,0xCF, -0x30,0x0C,0xB1,0x1E,0xED,0xEB,0x8A,0x60,0xFC,0x95,0x62,0xD7,0x18,0xD5,0xBE,0xDE, -0xDA,0x41,0x44,0xF7,0x8D,0x8F,0xFA,0x34,0xA2,0x77,0xA2,0x3C,0x9D,0xC9,0x9E,0x11, -0x25,0xF3,0xB8,0x59,0x8B,0x94,0x8E,0xEE,0x20,0xBD,0x57,0x4C,0x57,0x23,0xBB,0xFA, -0x11,0x2C,0x43,0xA6,0x58,0xCB,0x47,0x4B,0x22,0xB7,0x58,0x71,0x0B,0x01,0xDF,0x65, -0xE9,0xAB,0xD3,0xD8,0xF8,0xE2,0xCD,0x9F,0x7E,0x5F,0x97,0xA7,0x15,0x28,0xD7,0x76, -0xA2,0xDD,0x78,0x1F,0x63,0x42,0x41,0xB2,0x29,0x23,0x2D,0xA3,0x5F,0x83,0xDC,0x9B, -0xF2,0x9D,0xDF,0xC2,0xD5,0x36,0x0E,0x67,0x77,0xC1,0xED,0x48,0xBF,0x08,0xEE,0x9E, -0xEA,0x55,0x87,0x5A,0xA4,0x63,0x6B,0x07,0xB4,0x4D,0x00,0xC2,0x83,0xE0,0x96,0x02, -0xB0,0x17,0x1D,0x88,0x1A,0x09,0x0D,0xC1,0x9C,0xE4,0x07,0x82,0x35,0xE5,0x62,0x5D, -0x22,0xC6,0xD4,0x89,0x5B,0x9F,0xC5,0xB5,0x73,0xE5,0xA3,0xF5,0x8E,0x1D,0xFF,0xAA, -0xAC,0x14,0x7D,0x42,0x17,0x58,0xD2,0xF6,0x3F,0x19,0x8F,0x5D,0xB3,0x12,0xF5,0xA8, -0xA3,0x32,0x0F,0xBB,0x7A,0x6D,0x7D,0x95,0x24,0x99,0x19,0xF1,0x32,0xB4,0xA9,0x30, -0x32,0x1D,0x92,0x38,0x59,0xBC,0xE3,0xA4,0x1B,0x1C,0x79,0x12,0xBE,0xEF,0x9C,0x00, -0xE2,0x46,0x99,0x73,0xFB,0xB6,0x4F,0x61,0x3B,0x3D,0xC1,0xE0,0x3A,0x14,0xCE,0x51, -0xC4,0x53,0x07,0x1B,0x10,0x34,0x02,0xC3,0xA1,0x6B,0x68,0x5C,0x56,0xC4,0xC9,0x64, -0x36,0xD6,0xAA,0x6A,0x18,0x2A,0x2B,0xD0,0xAE,0xDB,0x53,0x33,0x23,0x6C,0x0D,0x2F, -0x51,0xB7,0xA2,0xCA,0x47,0xFF,0x0F,0xB6,0x1A,0x0A,0xBC,0x4F,0x16,0xC3,0x60,0x4C, -0xF1,0x63,0x8B,0x40,0xD4,0x41,0xAA,0x88,0x8C,0xF0,0xE4,0xFC,0x8A,0xA7,0x83,0xFD, -0x01,0xF7,0x05,0x17,0xB4,0x25,0xDA,0xDC,0xBF,0xD9,0x75,0x10,0x75,0xE2,0xCB,0x75, -0x69,0xB0,0x7F,0x4E,0x35,0xFE,0xE8,0x28,0x86,0x72,0x54,0x73,0xA4,0x7C,0xE8,0x44, -0x34,0xC7,0x89,0x4C,0xD1,0x0E,0x5C,0xAC,0x81,0x4A,0xD0,0xAE,0xED,0x3C,0x54,0x93, -0x03,0xE6,0x26,0x31,0x3B,0xFB,0xB5,0xE1,0xFE,0x9F,0x6D,0xEA,0xE1,0x26,0x4F,0xA5, -0x08,0x0B,0x6C,0x9A,0x8F,0xAC,0xDC,0x25,0x85,0x6E,0x9E,0x13,0x1A,0xD9,0x7B,0x7A, -0x57,0x6D,0xB9,0xBE,0x12,0x17,0x24,0xD2,0x8D,0xE6,0x21,0xA1,0xA9,0x81,0x81,0xEC, -0x79,0x6B,0x39,0xFF,0x93,0xCC,0x16,0x26,0xAF,0xCD,0x96,0x6E,0x6A,0x2C,0xB1,0xF8, -0xF6,0x56,0xE7,0x90,0x48,0x8D,0xF6,0x90,0xBB,0xFD,0x3B,0xAD,0x2E,0x91,0x64,0x87, -0x2E,0x1E,0xF2,0xF2,0xA5,0x14,0xCF,0xE8,0x80,0x5C,0x15,0xF3,0x93,0xDF,0x40,0x83, -0x75,0xB3,0x1F,0x84,0x66,0x0D,0xB7,0x96,0x8E,0xFA,0xEB,0xC1,0x4D,0xB0,0xCF,0xBE, -0x3F,0x2A,0xC3,0xE7,0x1F,0x46,0xFB,0xE5,0xE4,0x09,0x3E,0x1B,0x69,0xC7,0x06,0xC2, -0x5A,0x5A,0xE8,0x61,0x1D,0x65,0xDD,0xF4,0x66,0xC3,0xCB,0x6B,0x2B,0xCC,0x6A,0x4E, -0xCC,0x40,0x19,0x32,0x88,0xC0,0x0C,0x10,0x33,0xB5,0x7E,0x52,0xE6,0x77,0x84,0xC8, -0xFC,0x54,0xDA,0x9F,0x6D,0x47,0x1C,0x7B,0x03,0x80,0x25,0xDE,0x20,0x87,0xBA,0x15, -0xEB,0xBA,0xF0,0xFE,0x1E,0x31,0x5F,0x0A,0x6C,0x41,0x7B,0xE4,0x0C,0x50,0x14,0x08, -0x8C,0xDB,0xF8,0x5E,0xDD,0x28,0x27,0x74,0xBC,0xC5,0xBF,0x70,0x80,0x0B,0x21,0x38, -0x13,0x3D,0x60,0x80,0xD3,0x2D,0x7A,0xBD,0x04,0xB8,0xA1,0x03,0x22,0x8B,0x7F,0xB1, -0xB3,0xE9,0x49,0x0A,0xDE,0x7C,0xA5,0x8A,0x70,0xF9,0x69,0x95,0x24,0x3D,0xC6,0x42, -0x68,0x5F,0x08,0xEA,0x56,0xCE,0x1A,0x82,0xCD,0xB6,0xFC,0x06,0xA5,0x9B,0x9A,0xDA, -0x9B,0x35,0xD2,0x3F,0x16,0x2F,0x76,0x19,0x4F,0x7C,0x09,0x76,0xE9,0x86,0x28,0xC4, -0xC8,0x8B,0x21,0x60,0x05,0x3D,0x45,0x3C,0x59,0x46,0xAB,0x88,0x7E,0xA9,0x1B,0x2E, -0x90,0xD8,0x98,0x94,0x02,0x51,0x95,0x09,0x79,0x67,0x13,0x7A,0xDC,0x29,0x45,0xA7, -0xD6,0x99,0x62,0x8C,0x07,0x1E,0x63,0x2D,0xE7,0x15,0xF4,0x7B,0xC4,0xB6,0xF4,0x47, -0x37,0x39,0xDD,0xCE,0x0E,0x77,0xEE,0xD1,0x5C,0x74,0x20,0x68,0x53,0x99,0xC7,0xAD, -0x70,0x97,0x50,0x72,0x76,0x4B,0x06,0x4D,0xCE,0xAA,0x36,0x66,0xD0,0x33,0x5E,0x91, -0x0F,0x3E,0x00,0x4A,0x92,0xBB,0xB2,0xC9,0x7D,0x43,0x5D,0xC7,0xCA,0xA0,0x2A,0xD5, -0xC0,0x98,0x3F,0x49,0xE3,0xEE,0xD7,0xA9,0x92,0x42,0xF9,0xB0,0x27,0xD6,0x71,0x78, -0x52,0x49,0xF6,0x48,0x3E,0xB4,0x43,0xC5,0x0E,0x3A,0x11,0x8C,0x4E,0x5B,0x78,0x84, -0x82,0x12,0xFD,0x03,0xD8,0x67,0xD1,0x50,0xB9,0xF7,0x34,0x90,0x9E,0x22,0x29,0x2B, -0x27,0xE2,0x9B,0x7F,0x6C,0x30,0xB8,0x94,0x8F,0xEC,0x2E,0x9C,0x59,0x35,0x65,0x68, -0x7E,0x5E,0x55,0x2F,0x2D,0xA6,0x70,0xE0,0x1C,0x24,0xFD,0xCF,0x2C,0x9D,0xA1,0x23, -0xB2,0x06,0x3E,0xAE,0xD0,0x79,0xF8,0x43,0xC0,0x0C,0xC8,0x54,0x04,0xF0,0x73,0x69, -0x53,0xA6,0x81,0xEC,0xEF,0xC8,0xAC,0x71,0x7F,0x49,0x52,0xFA,0x29,0xC0,0xAF,0xEA, -0xBF,0x31,0x6F,0x71,0xCA,0x02,0x46,0x9A,0x7C,0x55,0x98,0x9A,0xF9,0xB9,0xFE,0x45, -0x44,0x48,0xAB,0x8D,0x98,0x86,0xBD,0xCB,0x89,0xC2,0x6F,0x1C,0xC9,0x4B,0x9D,0xEF, -0xFD,0x40,0xCD,0x11,0x43,0x92,0x42,0xB3,0xCA,0x3E,0x9D,0x20,0x40,0x18,0x01,0x29, -0x89,0xD6,0x05,0x50,0xFF,0xC2,0x1B,0x7D,0xBF,0x75,0x59,0x88,0x93,0xD0,0x92,0x7A, -0x4D,0x81,0x6C,0xE4,0x0F,0xBE,0xBE,0x1B,0x78,0x36,0x15,0x9F,0x89,0xCB,0xA4,0x76, -0xD8,0x52,0xFE,0x02,0x54,0xF5,0x6E,0x10,0xA8,0x99,0x44,0xE6,0xAC,0x06,0x13,0x6A, -0xD6,0x60,0x00,0xA4,0x55,0x30,0x78,0x4D,0x2F,0xF2,0xA1,0xF6,0xD2,0xFE,0x94,0xFA, -0x87,0xE4,0xFB,0xF6,0x2C,0xCC,0x83,0x89,0x1F,0x58,0xC2,0x04,0x25,0x69,0x61,0x7C, -0x6C,0x2E,0x11,0xD3,0xBB,0x51,0x6F,0x67,0xCF,0xF7,0x93,0x7D,0xEF,0x75,0x62,0x1C, -0x5E,0x9F,0x45,0xEC,0x1B,0x13,0x8E,0xD8,0xE2,0x74,0x4F,0x4D,0x75,0x30,0xDD,0xB2, -0x30,0xF8,0xDE,0x3B,0x84,0x31,0xEA,0x84,0x22,0x5A,0xC8,0x0B,0x49,0x29,0xFA,0x9D, -0x14,0xB7,0x28,0x3E,0xC5,0x29,0xAC,0x7E,0x3A,0xBA,0x79,0x94,0xAE,0x5B,0x64,0x9C, -0x21,0xDB,0xF8,0x39,0x96,0xDD,0xF4,0xC7,0x98,0x33,0x27,0x14,0x16,0x7A,0x44,0x6E, -0x04,0xC9,0xCB,0x2A,0x28,0x82,0xA7,0x34,0x0F,0xD9,0x14,0x3B,0xB4,0x40,0x52,0x90, -0xB4,0x08,0x6A,0xDF,0x85,0xF4,0xFC,0xD9,0xC1,0x65,0x4D,0x6B,0x44,0x7E,0x8F,0x56, -0xD4,0x5D,0x0F,0xAE,0x23,0xF7,0x33,0xE6,0x2C,0xC8,0x16,0x1D,0xE0,0x7F,0x60,0x21, -0x50,0xAD,0xBB,0x4A,0x8A,0xCF,0x4C,0xB6,0x36,0x8C,0x62,0x8E,0x8B,0x96,0xD3,0x80, -0xCC,0x91,0x53,0x32,0x24,0x73,0x0B,0x3B,0xB5,0xB0,0xFB,0x24,0x9D,0x48,0x41,0x8E, -0x17,0xD7,0xE2,0x22,0xA7,0x43,0xD7,0x16,0xEA,0x15,0x28,0xED,0xC6,0x7D,0x71,0x02, -0x66,0xA1,0xA1,0x51,0x49,0x22,0xC0,0x3C,0xC6,0x08,0x86,0x3A,0x98,0xBC,0x1E,0x38, -0x0D,0x26,0xB1,0xB4,0x5D,0x8F,0xF0,0xFF,0x00,0xD5,0xB8,0xCA,0xC3,0x89,0x2E,0xB4, -0xE9,0x83,0x60,0x21,0x47,0xDC,0x66,0x0E,0xCD,0x53,0x56,0x71,0x76,0xFF,0x7B,0x8D, -0x9F,0x28,0xA7,0x6A,0x42,0x57,0x54,0xEE,0x43,0xC7,0xA6,0x26,0x41,0x8A,0xD0,0xE0, -0x97,0x9A,0x18,0xE2,0xF4,0xB7,0x8F,0xAF,0xC2,0x5F,0xFA,0x80,0xD4,0xC5,0x6D,0x73, -0xA0,0xCB,0xC7,0xEF,0x20,0x3D,0x2F,0x86,0xC4,0xAC,0x43,0x36,0x1C,0x84,0x19,0xE5, -0x69,0xCE,0x9A,0xE1,0xC6,0xE3,0xB0,0x1E,0x66,0x25,0x1D,0xB6,0x02,0xF9,0xA1,0x96, -0x3B,0x2A,0xAB,0xAF,0x76,0x42,0x45,0xDF,0x8C,0xE5,0x8D,0x91,0x2B,0xF1,0xB2,0x88, -0xCF,0xF1,0x99,0x2E,0x70,0x03,0x6B,0x5F,0x4F,0xF1,0xBD,0x3C,0x9C,0xDA,0x90,0x47, -0x38,0x4A,0x61,0xB3,0x16,0x27,0x34,0x8A,0xFC,0x67,0x47,0x64,0x23,0x52,0x98,0xF5, -0xFC,0x1D,0x08,0x07,0xFB,0x8C,0x3F,0xC0,0x07,0xB8,0x73,0x9B,0xD0,0xA3,0xE3,0x0C, -0xF8,0xA0,0x46,0x23,0x37,0x5A,0x03,0x25,0x8F,0xDF,0x3A,0x7A,0x83,0x35,0xF9,0xFD, -0x8B,0xEB,0x0A,0x5A,0xAE,0x39,0x49,0xF9,0xAB,0xA3,0xF3,0x0D,0x56,0xC6,0x93,0x27, -0xF5,0xF2,0x72,0x99,0x03,0x4F,0x12,0x14,0x75,0x9E,0x7C,0x62,0xA8,0x60,0x9D,0x15, -0x8D,0x6B,0x4B,0x74,0x4B,0x2D,0xCA,0x01,0xC8,0x9A,0x58,0x2C,0x86,0xC1,0xA6,0x4B, -0xAB,0x19,0xB2,0x7B,0xAA,0x77,0x6D,0x44,0xF0,0x51,0x5C,0x7E,0x01,0x36,0x07,0xA9, -0xCD,0xCC,0x96,0x24,0xCB,0xD7,0x0A,0x4C,0xC5,0x32,0x31,0xD1,0xEE,0xE7,0xB3,0xD5, -0xDE,0xD2,0xBF,0x2C,0x4E,0xA6,0xF8,0xE1,0xB0,0x79,0xF5,0x79,0xD5,0x57,0xBC,0xBA, -0x7C,0x50,0xF2,0xC7,0x5B,0xCE,0xDE,0x7F,0xDC,0x4C,0xF2,0xA9,0x7C,0x01,0x26,0x06, -0xB1,0xE8,0xE1,0xED,0xDA,0xF1,0x08,0x6F,0x0B,0x8E,0x68,0x81,0x6D,0x76,0x9C,0x48, -0x35,0x18,0x55,0x09,0xAD,0xF3,0x55,0x99,0x42,0x59,0xD4,0xC1,0xE9,0x4E,0x9B,0x95, -0xC1,0xC3,0x67,0x88,0xEA,0xAA,0x3D,0xE3,0x93,0x68,0xF7,0x5F,0xC8,0xE5,0xA2,0xF6, -0x95,0xA7,0x17,0xE8,0x7E,0xFD,0xCD,0x6D,0x6C,0xE0,0xBF,0x1A,0x59,0xCC,0x91,0x1A, -0xDC,0xEF,0xB0,0x26,0x0A,0x35,0x8C,0xFB,0xD3,0x40,0x5E,0x58,0xBA,0xD8,0x81,0x64, -0x1A,0x85,0xD6,0x98,0x48,0xE7,0xD6,0x61,0x65,0x1F,0xAA,0x5D,0xBD,0x71,0xA9,0x24, -0x7A,0xD0,0xB3,0xE9,0x80,0x7F,0xCE,0x39,0x59,0x83,0xD2,0xB5,0x50,0xFD,0x6A,0xAE, -0xAF,0xA4,0xFC,0x5F,0xC0,0xA2,0x9E,0x9E,0xB9,0x86,0xE0,0x3E,0x90,0x1F,0x34,0x45, -0xB9,0x5A,0x5E,0x65,0x00,0x85,0x0E,0x74,0x58,0x1D,0xA0,0x52,0xC4,0x20,0x06,0xF4, -0x88,0x8B,0xC0,0x46,0x2F,0x06,0x9F,0xE9,0xD4,0x2D,0x95,0x09,0xA4,0xA5,0x39,0x17, -0xEB,0xBE,0x6F,0x2B,0x09,0xFF,0x90,0x9B,0x55,0xB5,0xC9,0xAF,0x32,0x25,0x22,0xBB, -0xA8,0x79,0x78,0x67,0xDB,0x34,0x1E,0x32,0x68,0xB7,0xC3,0xA0,0x1E,0xD9,0x6E,0x13, -0x7D,0x0D,0x37,0xD1,0x11,0xA3,0x0C,0x57,0xFE,0xC3,0x82,0x68,0xDF,0xA9,0xE1,0x31, -0xF0,0x12,0xF9,0xAB,0x3C,0x2F,0x97,0xF7,0xDD,0xD2,0x80,0x4E,0xAD,0x94,0xC2,0xA3, -0x7F,0x30,0x38,0xDB,0xE6,0x5B,0x91,0xEC,0x77,0x3A,0xB9,0x6E,0x3F,0x72,0x57,0x70, -0xBD,0xE7,0x10,0x41,0x45,0xD3,0x6C,0x33,0x46,0x0E,0xA8,0x7B,0x0E,0x3C,0x05,0x94, -0x82,0x04,0x70,0xC4,0xB6,0x65,0xD5,0x35,0xF3,0x6B,0xEB,0x95,0x2A,0x63,0x63,0x41, -0x56,0x2D,0xFA,0x64,0x31,0x1B,0x2D,0xA5,0xED,0x78,0xE3,0xBC,0xE5,0x8B,0x3F,0x97, -0xF3,0x72,0x33,0xB7,0xEE,0xE4,0x19,0x5E,0xB1,0xE7,0x87,0x9E,0xEA,0x81,0x3D,0xAA, -0x29,0x69,0x47,0xB1,0x5C,0x4A,0xE6,0xA2,0x7B,0x0C,0xA2,0x74,0x1F,0x4B,0xBF,0xDA, -0x73,0x3F,0xC9,0x77,0xCE,0x5C,0x38,0xAC,0x63,0xEC,0x13,0xEB,0x63,0xEE,0x4F,0xBC, -0xEF,0x03,0x21,0x0F,0xD1,0x84,0x9C,0xBD,0x51,0xE2,0xB5,0x15,0x07,0x0D,0xFE,0x20, -0x6F,0x4E,0xDB,0xCF,0xED,0x2E,0x05,0x3E,0x71,0xC9,0x00,0xD8,0xB9,0x17,0x27,0x5B, -0x2B,0x54,0x48,0xBB,0xCA,0x12,0x1C,0x11,0x0A,0x10,0x1A,0x66,0xE8,0xDC,0x4A,0x5C, -0x1C,0x05,0x97,0xB6,0xE8,0xA5,0x37,0xDE,0xB8,0x18,0x92,0xD9,0xEC,0xBA,0xC4,0x23, -0x72,0x62,0x0C,0x61,0xE4,0x54,0x9B,0xD1,0x37,0x12,0x10,0x69,0xDA,0x5D,0xBE,0x87, -0x02,0x49,0x8A,0x04,0x46,0x19,0x70,0x53,0xA6,0x0B,0x9A,0xF0,0x87,0x53,0x77,0x82, -0xA5,0x2B,0x4C,0xDD,0x2A,0x8D,0xAD,0x09,0x3D,0xD7,0xB2,0xC5,0xB8,0x85,0xF6,0x92, -0x62,0x2C,0x74,0x6B,0xBD,0x89,0xC8,0xA4,0x13,0x72,0xEA,0xA2,0xED,0x57,0xE1,0x86, -0xFE,0x48,0x97,0xDA,0x8F,0x2F,0xC6,0x5A,0xCB,0x63,0xF5,0x06,0x95,0xCB,0xDD,0x6E, -0x85,0xF6,0x8D,0x03,0xAF,0x9A,0xED,0x97,0x61,0xE0,0xC9,0x9F,0x55,0x4B,0x90,0x94, -0x82,0xA7,0x46,0x6E,0xD4,0x80,0x34,0x29,0x5D,0xCF,0xEE,0x86,0x21,0x0F,0x8A,0x07, -0xFD,0xA3,0x20,0xE0,0x66,0x08,0x3C,0x96,0xEA,0x00,0xCC,0xAD,0x2C,0x38,0xDB,0xD8, -0x59,0x95,0xC7,0x9A,0xE9,0x8A,0x36,0x26,0x1B,0x0F,0xC0,0x01,0xFB,0x56,0xBC,0x43, -0x5C,0xC8,0xC9,0x53,0x78,0x00,0x2F,0xBF,0x56,0x8D,0x62,0xEA,0x9E,0x26,0x97,0xC5, -0x4C,0xF7,0x1F,0xD2,0xE3,0x28,0xF3,0x8A,0xC2,0xD7,0x0E,0x37,0x47,0x81,0xF5,0x03, -0xEF,0x90,0x33,0xC5,0x20,0x18,0xE7,0x27,0xEC,0x89,0x35,0x96,0x4B,0x59,0xD3,0x78, -0x7D,0xE2,0x0E,0xE6,0x03,0x1A,0xF6,0x01,0x60,0x29,0x18,0x0D,0x31,0xD4,0xCC,0xB6, -0xAE,0x70,0xE8,0x73,0xA9,0x23,0x1E,0x21,0x14,0x32,0xC2,0x0B,0x41,0x5B,0xEE,0x77, -0x4A,0x41,0xA6,0x21,0x98,0x32,0x2A,0x34,0x9C,0xED,0x61,0xF6,0xDB,0x99,0x39,0x5F, -0x9F,0x65,0xF9,0x47,0x2D,0x71,0x4F,0xDA,0x2A,0xEB,0x92,0x4F,0x5E,0xA6,0xDA,0x3F, -0x49,0xAA,0x11,0x1B,0x33,0x79,0x5C,0xF3,0x54,0x7B,0x15,0xB7,0xFE,0x72,0xF3,0xB5, -0x74,0xA5,0x1B,0x19,0x6F,0x1D,0xC3,0xD1,0xAB,0x80,0xCA,0x83,0x2D,0xD7,0xAC,0x7C, -0x04,0x50,0xD1,0x9B,0xA5,0x38,0x28,0x3B,0x05,0x7C,0x78,0x7C,0x2B,0x0D,0xB7,0x08, -0xBA,0xF5,0x42,0xA5,0x0D,0xC4,0x64,0x17,0x7A,0x25,0x2E,0x16,0xBC,0xF8,0x31,0xFF, -0xFA,0xF2,0xEB,0x8D,0xBB,0x30,0x3B,0x12,0xA8,0xBF,0x6C,0x4C,0x02,0x3E,0x5B,0x99, -0x70,0x1F,0x67,0x4E,0x87,0x48,0xA7,0xFA,0x30,0xE7,0xA4,0x54,0x73,0x5E,0x0E,0xFC, -0x9B,0xDF,0x85,0x10,0x67,0x7A,0xA2,0x71,0xED,0x40,0xE4,0x04,0xC5,0x8B,0x7A,0xB3, -0x2A,0x8B,0xBA,0x22,0x86,0x3A,0x39,0x1D,0xCA,0xAA,0x24,0x94,0xFF,0x9D,0x84,0x11, -0xC9,0xEB,0x3F,0x1D,0x0A,0x0F,0x09,0x46,0x49,0x37,0x0B,0x05,0xDC,0xAC,0x55,0x8F, -0x65,0x7D,0xBF,0x06,0x8B,0x53,0x91,0xE0,0xB0,0x45,0x2D,0x0A,0xB1,0xCF,0x60,0x20, -0xCD,0x51,0x43,0x4A,0xB6,0x59,0x93,0xEF,0x7B,0xEC,0xFF,0x84,0xFD,0x8C,0xA7,0x37, -0x77,0x4E,0xAC,0x23,0x2E,0xC6,0x75,0x31,0x38,0x9A,0x8E,0xF7,0xE1,0x8F,0xC7,0xFD, -0x0B,0xA1,0x7D,0x97,0x1B,0xAB,0x16,0x9E,0x98,0x92,0xEF,0x90,0xBE,0xE9,0x12,0xD9, -0x64,0x9A,0xCD,0x98,0x6E,0x6F,0x5D,0x36,0xE9,0x3F,0x6A,0x62,0xB6,0xFA,0x0C,0xF0, -0xD8,0x33,0x9B,0x02,0x02,0x68,0x68,0xE6,0x81,0xA1,0x7F,0x44,0x5D,0x58,0x8E,0xBD, -0x96,0x22,0xEC,0xB8,0xD5,0xF2,0xAA,0xCE,0xBE,0xB1,0xFE,0x92,0x77,0x95,0x36,0xAE, -0x4B,0xA6,0xD4,0xBF,0x9C,0x4E,0x7D,0x8E,0xBC,0x47,0x89,0xCF,0x93,0x11,0xC6,0x1A, -0x28,0x87,0x7F,0x86,0x4D,0x6D,0x4C,0x10,0xE5,0x3D,0xCE,0xA7,0x12,0xE5,0x1D,0x28, -0xC4,0x16,0x56,0xB5,0xB2,0x25,0xC4,0x55,0xB2,0xB3,0x5A,0x57,0x72,0xB1,0x79,0x58, -0x56,0x64,0x6B,0x96,0x52,0x17,0xC1,0xDE,0x0D,0x01,0x52,0xDF,0x35,0x1F,0xF4,0xE4, -0x99,0xD3,0x40,0xB4,0x91,0x27,0xD5,0x73,0x4C,0x81,0x54,0xF1,0xB4,0xEB,0x2F,0xD6, -0x2B,0x6C,0xC8,0xBC,0x22,0xDD,0x43,0x2B,0x68,0x54,0x32,0xAE,0x29,0x1C,0x94,0x2E, -0xD2,0x9F,0x39,0xC7,0xD9,0xE9,0x9C,0xD4,0xC3,0x1E,0xDF,0xA5,0x9D,0xD8,0xC3,0x47, -0x23,0xCC,0xAF,0xDD,0x51,0xA0,0xFB,0x35,0x15,0xFB,0x13,0x99,0xB9,0xDC,0x7E,0x09, -0xF9,0x19,0x5C,0xB7,0x75,0x69,0x87,0x42,0x76,0x27,0x8A,0xD3,0xC0,0xAF,0x35,0x45, -0xCB,0xE7,0xFA,0xB9,0xAB,0xE6,0xBA,0x2D,0x00,0xCA,0x27,0x88,0x03,0xD1,0x2C,0x3D, -0x95,0xC9,0x5B,0x82,0x16,0xC2,0xBE,0x63,0x62,0xDF,0x6F,0x50,0xEE,0xA9,0xB5,0x04, -0xDC,0x89,0xE7,0x55,0x34,0xB2,0x31,0xA2,0x0C,0xC8,0x83,0x4D,0xB8,0x33,0x09,0xAD, -0xE6,0xD7,0x26,0x3A,0x18,0x1C,0x2C,0x75,0x6D,0xE2,0x6D,0x5A,0xCB,0x42,0x7F,0xEE, -0x6A,0x8C,0x13,0x0A,0xDE,0x22,0xF1,0x85,0xC0,0x21,0x79,0x6A,0x2E,0x29,0xF8,0xFE, -0x53,0x39,0x65,0x5F,0x13,0xCC,0x77,0x3E,0x93,0xD0,0x63,0xFC,0xBB,0xCD,0x5D,0x2F, -0x3E,0x0E,0x10,0xF4,0x9D,0x3C,0xE3,0x69,0x18,0x30,0x66,0xCE,0xF0,0xBB,0xF6,0xE8, -0xAD,0x9B,0x5F,0x49,0x1C,0x60,0x7B,0xCF,0xF8,0x71,0xD0,0x15,0x78,0xB3,0x44,0x57, -0x3B,0x53,0x1E,0x3D,0x1A,0xD9,0x88,0x79,0x72,0x58,0x04,0xB5,0x75,0x84,0x15,0x88, -0x48,0x4D,0x63,0x85,0xB8,0x87,0x01,0xF9,0xAC,0xC0,0xE2,0x2A,0x7B,0x4D,0x10,0xD5, -0x43,0x06,0xB3,0xDE,0xFC,0x52,0x7E,0x44,0x7E,0x5A,0xA0,0x70,0xA1,0x14,0x26,0x91, -0x42,0xE1,0xC1,0x40,0xE4,0xE3,0x9E,0xDB,0x66,0xA0,0xE1,0x36,0xA4,0x30,0x69,0x67, -0xB0,0x59,0xE0,0x60,0x46,0xBD,0x17,0x5B,0x92,0x19,0xB2,0x6E,0xA3,0x05,0x05,0xB7, -0x4E,0xFB,0xDA,0x76,0xD1,0x8E,0xFD,0x74,0xCD,0xEA,0x0C,0x3D,0xB0,0x20,0x17,0x84, -0x88,0x0B,0xE4,0xAB,0x1F,0xD7,0x41,0x24,0xBB,0x07,0xA1,0x66,0x45,0x90,0xD6,0x25, -0xFF,0xAF,0xE5,0x44,0xF2,0x8C,0xEC,0x52,0xB8,0x38,0x07,0xA9,0x34,0xF0,0x83,0x40, -0x5E,0xC4,0x0C,0xF7,0xE8,0xF8,0xA8,0xC1,0x80,0x68,0xAE,0xD6,0xD0,0x74,0x73,0xF4, -0x50,0xD2,0xD2,0x65,0x6B,0x61,0x94,0x6B,0x3C,0xE5,0x00,0x91,0xA8,0xE8,0x4F,0x1C, -0xF7,0x0F,0x82,0x25,0x14,0x07,0x1A,0x6F,0xDD,0x6D,0x67,0xD8,0x8B,0xD9,0x9E,0x82, -0xA4,0xDC,0x4A,0xB6,0x61,0xC3,0x51,0xC7,0x8D,0xA3,0xDB,0x81,0xCA,0xAD,0x08,0x4A, -0xA8,0xC6,0x51,0x80,0xA6,0x8F,0x12,0xD0,0xF1,0xC5,0x2B,0x24,0x7E,0x69,0x5F,0x23, -0xB4,0xE3,0x9C,0x37,0x76,0xDE,0xBD,0xA9,0xBA,0xCE,0x70,0xF4,0x98,0xFC,0x8C,0xB1, -0x24,0x9D,0x64,0xB0,0xF1,0x3B,0xD6,0xB9,0x7F,0x93,0x71,0xE2,0x3E,0xF2,0xBE,0x4F, -0xA2,0x6A,0xF3,0x45,0xC1,0x58,0x7C,0x4B,0x83,0x57,0x08,0x19,0x6C,0xA3,0x3A,0xB4, -0xC2,0xA0,0xEF,0x46,0x11,0x09,0xD3,0x32,0x1E,0xB9,0x9F,0xF5,0x49,0x48,0xF0,0x5E, -0x6C,0x3A,0xAA,0xF9,0x3C,0xD5,0x50,0x02,0x5C,0x06,0x3F,0x14,0x76,0x7A,0x41,0x0A, -0x34,0xC2,0x8B,0x5B,0x9E,0x9F,0xDE,0x14,0x5E,0x4C,0xB3,0xB7,0x00,0x51,0xCA,0x9F, -0x8A,0x04,0xE1,0x3D,0xC4,0x05,0x0C,0x56,0x01,0xB8,0xB6,0x01,0x40,0x56,0x63,0xB7, -0xFB,0x64,0xB4,0x58,0xDC,0x5D,0x94,0x9E,0x9D,0xC0,0x5E,0x3D,0xCA,0xBB,0xEF,0x74, -0x4D,0xB1,0xC0,0x17,0x8C,0xFA,0x49,0xDE,0x98,0xF2,0xD5,0xDD,0x21,0x7B,0x0D,0x2A, -0x77,0xA7,0x3E,0xB5,0x1C,0x10,0x6E,0x1E,0x03,0xB2,0xB9,0x3C,0x90,0x2F,0x32,0x18, -0x54,0x96,0xEF,0x2B,0x8D,0x8D,0xED,0x31,0x33,0x87,0xE2,0xB0,0x73,0x4F,0xB7,0x27, -0x39,0xF5,0xDA,0x84,0x82,0xFF,0x14,0x17,0xAB,0xDB,0x44,0x31,0xDF,0xD9,0x37,0x3C, -0x75,0xB6,0x1D,0x93,0x0C,0x56,0xDF,0xC5,0xA9,0xD1,0x4B,0x0C,0x77,0xF5,0xCB,0x70, -0x69,0xB5,0x7D,0x59,0x7F,0x20,0x9C,0xB4,0x4F,0x4E,0x95,0x94,0xCD,0xEA,0x24,0x19, -0x36,0xD3,0xA8,0x7D,0x18,0x28,0x3C,0xD5,0x2C,0x23,0x3A,0xA1,0xB1,0x05,0xF5,0xAD, -0x3E,0xC0,0xB6,0x54,0xEA,0x85,0x4D,0x50,0x67,0xE7,0x92,0xD4,0xDE,0x3E,0x45,0xA2, -0xD5,0x62,0x34,0x19,0xCC,0x1B,0x25,0x45,0x52,0xE0,0x42,0xB8,0x62,0x97,0x13,0x38, -0xFF,0xAF,0x8C,0x0A,0x1A,0x0B,0x1A,0xC4,0x90,0x7A,0x6A,0x6F,0x2C,0x86,0x64,0x82, -0x1B,0x2B,0x7C,0xBE,0x47,0xFD,0x18,0xB3,0x47,0xC6,0x2A,0x26,0xF1,0x02,0x5C,0x85, -0x9A,0xDF,0xA7,0x8C,0x2F,0x87,0x41,0xF4,0x76,0xE5,0xB4,0xF7,0x92,0x23,0xF7,0xBC, -0xFA,0x8B,0xC3,0xFC,0xDF,0x09,0x16,0x60,0xFE,0xAD,0xF1,0x08,0x7E,0xB2,0xDE,0x8F, -0x65,0x6D,0x5B,0x22,0x2A,0xC8,0xB7,0xD0,0xF2,0x01,0x00,0x07,0xD8,0x88,0xFC,0x51, -0x1D,0xF1,0x67,0xCA,0x8E,0xD9,0x6F,0xCF,0xFC,0xA7,0xFE,0x35,0x44,0xEC,0x1F,0xE0, -0xDD,0x71,0x2A,0x30,0x17,0x5A,0xC5,0xF3,0xD7,0x12,0x33,0x15,0x3F,0x52,0x05,0x39, -0xA9,0x35,0x30,0xA3,0x0E,0x75,0xF9,0xD4,0x0E,0x08,0x8D,0x6E,0x38,0x03,0xCE,0x54, -0xA4,0x02,0x61,0x7C,0x25,0xBA,0x4E,0xF6,0x06,0x80,0x32,0xDC,0x47,0x07,0xA8,0xDA, -0x73,0x6C,0x06,0xE7,0x89,0xB5,0xBF,0xFA,0x0C,0x02,0x82,0x53,0xE3,0x31,0x4F,0xA0, -0x16,0x1C,0x2D,0x61,0x62,0x37,0xF2,0x58,0x15,0x88,0x1B,0xC2,0xE6,0x6C,0x41,0x69, -0xCF,0xBB,0x4F,0xA7,0xBF,0x6D,0x66,0x34,0xC9,0xA0,0x2E,0x59,0xF6,0x53,0x97,0xE8, -0xC3,0x63,0x69,0xDC,0x1E,0x33,0x48,0x0F,0xDD,0x90,0x83,0x9A,0x55,0x34,0xBB,0xFF, -0xB9,0xEE,0x76,0x12,0x85,0x93,0xC4,0x22,0xCC,0x92,0xA5,0xB9,0xC7,0x46,0x86,0xDC, -0xC9,0x61,0x54,0xD3,0x83,0x88,0xB0,0xF8,0x24,0xAB,0x85,0x13,0x14,0xD4,0x60,0x49, -0x53,0xA3,0x83,0xFB,0x7E,0x57,0x38,0x5B,0x10,0xBA,0x90,0x22,0xF0,0xE5,0x2E,0x1B, -0xD6,0x9C,0x60,0x9B,0xC7,0x51,0x8E,0xA8,0x75,0xF9,0x7E,0x97,0x25,0xC1,0x71,0x7D, -0x76,0x48,0x49,0x11,0x3F,0xC1,0xF0,0x2F,0x66,0xF1,0x57,0x89,0xF3,0x0E,0x99,0x21, -0xA5,0xED,0x16,0xD8,0x0B,0x3A,0x0F,0xF0,0xF9,0x95,0x75,0xD5,0xCE,0x01,0x93,0x23, -0xA3,0x37,0x0D,0xAC,0xF4,0xC6,0xA1,0x42,0x12,0xB0,0x9F,0x1F,0xBE,0xF4,0x59,0xA1, -0x29,0x2E,0x9C,0x35,0xF8,0xE0,0xDA,0x9A,0x44,0xDA,0xE0,0x46,0xF9,0xA2,0x3B,0xE4, -0x2C,0x0A,0xD3,0xC3,0xBE,0x1A,0xC2,0xDB,0xA4,0x6B,0x7F,0x5E,0xF8,0x45,0x49,0x7A, -0x2B,0x3F,0xBF,0x13,0xE6,0xA3,0x36,0x88,0x2D,0x35,0xFF,0xFC,0x0A,0xFD,0x68,0x5A, -0x38,0x1A,0xAD,0x20,0xB5,0x50,0x69,0x36,0xC7,0x06,0xD0,0x6B,0xF4,0x5F,0x52,0x4C, -0xCD,0xAA,0x6C,0x81,0xEE,0xBD,0x1F,0x9B,0x7B,0x5F,0x80,0xA5,0x32,0xAF,0x6C,0x91, -0xBC,0xCA,0x39,0xE4,0x21,0x82,0x1C,0x3D,0xD6,0x04,0xF6,0x48,0x45,0x0B,0x6D,0x7E, -0x58,0x4E,0xC9,0x50,0x5E,0xD2,0x24,0x94,0x92,0x70,0x65,0x52,0xE4,0x60,0x84,0xCD, -0x20,0xD2,0xF5,0xB8,0x19,0x5F,0x98,0x3A,0xAE,0xE9,0xCF,0xD1,0xEA,0x76,0x5A,0x5F, -0x03,0xE3,0x24,0x26,0x50,0xD7,0x79,0x5D,0x20,0x8F,0xCB,0xAE,0x4D,0xAB,0x0A,0x1F, -0x42,0x97,0xB2,0xEE,0x09,0x19,0x29,0xE1,0x6B,0x4B,0x63,0xDB,0x1E,0x78,0xC2,0x8C, -0xF6,0x53,0xE5,0x87,0xAC,0x7F,0x55,0x11,0x28,0x07,0x74,0x1C,0x12,0x62,0xD9,0xBA, -0x10,0xC6,0x36,0x15,0x7C,0x74,0x1E,0x4A,0x87,0x56,0x0D,0xCC,0x0E,0x47,0x14,0x0D, -0xB6,0xC8,0x04,0xEB,0x6A,0x29,0xDB,0x4B,0xEC,0xB3,0x1D,0x4B,0x9E,0x39,0xEC,0x8A, -0xE4,0x99,0x80,0x10,0x91,0xED,0x27,0x32,0x46,0xD0,0xEF,0x7B,0x18,0xCE,0x7B,0x7F, -0xC1,0x72,0x4A,0xFA,0x7D,0x03,0xBA,0xA5,0xE9,0x81,0x96,0xAB,0x78,0x04,0x67,0x7C, -0xFE,0x40,0xFB,0xAE,0x9C,0xBC,0xF8,0x05,0x6A,0x5D,0xA6,0x86,0xD6,0x9E,0x22,0xC3, -0xBD,0x25,0x4E,0x40,0x57,0xBB,0xA9,0x68,0xFB,0x9F,0x7A,0xE8,0xEC,0xC0,0xE3,0xAC, -0x3C,0xD1,0x95,0x72,0x79,0x3B,0xE8,0x6E,0xEF,0xAF,0xD7,0x2B,0x23,0x77,0xC8,0x8E, -0xA1,0x26,0x2E,0x8A,0x26,0xEE,0xCC,0x08,0x79,0x55,0x8F,0x98,0x91,0xC8,0x40,0x86, -0x15,0xE2,0x79,0xE3,0x2D,0xA4,0x67,0xE5,0xA6,0x61,0x70,0x63,0x68,0x3B,0xB1,0xFD, -0x31,0xE6,0xC4,0xAD,0x11,0x41,0xB1,0x29,0xC1,0x28,0x91,0xEB,0x99,0x68,0x27,0xE7, -0x48,0x95,0x8F,0xE1,0x5B,0x9D,0xD2,0xB0,0xBD,0xE1,0xE6,0xCF,0x43,0xBD,0xD4,0x8D, -0x8B,0xEB,0x96,0x99,0x00,0x70,0xA4,0x1D,0x80,0x6E,0x89,0x11,0x71,0x43,0x72,0x83, -0x66,0x93,0x0F,0xA0,0xD8,0x65,0xC6,0x55,0x84,0x4A,0xC7,0xAC,0x2F,0x6D,0xD3,0xB8, -0x30,0x09,0xB3,0x09,0xC5,0x72,0xA8,0xB9,0x0B,0x3A,0x06,0x8E,0x66,0x2D,0x6F,0x6F, -0x43,0x78,0xC5,0x4A,0xD2,0x58,0xC9,0x57,0x16,0x94,0xD1,0xA2,0x5C,0x73,0xAE,0x00, -0xA6,0x13,0x42,0x5A,0xE2,0x9B,0x64,0x43,0xCB,0xAA,0x21,0x64,0xD0,0x28,0x9B,0x30, -0x33,0xF7,0xE7,0x8B,0x74,0x6A,0x37,0x59,0x4D,0x44,0x9A,0xA9,0xE9,0x9D,0xED,0x65, -0x78,0x81,0x4C,0x4C,0x46,0x8A,0xBC,0x5C,0xD9,0xB4,0xCD,0x27,0x84,0xAA,0x98,0xCE, -0xF0,0x89,0xFE,0xF3,0x9D,0xCB,0x5C,0xEA,0x41,0xE8,0x6B,0xA6,0x17,0x3F,0xD7,0x73, -0xFD,0xBE,0xAF,0x2C,0x3D,0xE2,0xD6,0x3E,0xB2,0x51,0xDD,0xA0,0x81,0xF7,0x96,0x07, -0xF3,0x77,0xAA,0x71,0xA2,0x7A,0x08,0xD8,0x3B,0x0F,0x5D,0x02,0xF2,0xE9,0xEB,0xBF, -0x85,0x46,0x79,0x74,0x84,0xA8,0xBD,0xD4,0x01,0x39,0xF9,0xD7,0x09,0x5F,0x03,0x23, -0x73,0x43,0x5D,0x3B,0x9C,0xE9,0x47,0x92,0xB0,0xA6,0xE1,0x37,0x97,0x5E,0xE4,0x51, -0x66,0x52,0x69,0x0A,0x2F,0x45,0xF7,0xDF,0x6C,0x96,0xCC,0xB4,0x3F,0x53,0x19,0x38, -0x55,0x41,0x4C,0x18,0x70,0xFB,0x04,0x8C,0x5F,0xB9,0x5B,0x5E,0x29,0xAD,0xBB,0x02, -0xA2,0xD6,0xB9,0x9E,0x5A,0x4E,0x25,0x4B,0x6E,0xB0,0xEF,0xA5,0x0D,0xE2,0x4D,0x07, -0xC7,0xA7,0xD9,0xCB,0x59,0xE8,0x1A,0x84,0x35,0xC6,0x02,0x08,0xE2,0x95,0xE9,0x06, -0xFE,0x4A,0xA1,0x52,0xDE,0x49,0xF8,0x73,0x83,0x89,0x76,0xDD,0x2C,0x4D,0x30,0x30, -0x16,0x32,0x3D,0x6E,0x62,0xE7,0x75,0x34,0x1A,0x23,0xF5,0xE1,0xBE,0x43,0x26,0xEE, -0xA8,0x28,0xE4,0x15,0x6F,0x92,0xBE,0x63,0x21,0x25,0x7C,0x18,0xFF,0xB9,0x3E,0xA8, -0x60,0x69,0x90,0x83,0x3F,0x2E,0x70,0x3A,0xE5,0x8D,0x09,0x53,0x6C,0xEA,0xED,0x60, -0x53,0x7A,0xB5,0x91,0x58,0x39,0xD3,0x16,0x3C,0x4B,0x6B,0xF4,0x7E,0xA9,0x01,0x7E, -0xC1,0x9C,0x20,0x42,0x13,0x62,0xD8,0xC6,0x6D,0x32,0xBB,0x5B,0xC9,0xB5,0x24,0xB3, -0x56,0x8E,0xEA,0x27,0x61,0x41,0x4A,0xFB,0xBA,0xA9,0xDC,0x35,0x0C,0xBF,0x88,0x11, -0xAD,0xDC,0xBB,0xA3,0x9D,0x38,0x8E,0x00,0xD9,0x5B,0xEC,0x9F,0xF9,0x39,0x7F,0x86, -0xE8,0x94,0x33,0x5C,0xBE,0x76,0x1B,0xF6,0x37,0xE0,0x21,0x19,0xB0,0x71,0xD8,0x48, -0xBC,0xAB,0x01,0xED,0xFC,0xD6,0xA4,0x17,0xEB,0xD0,0x0C,0x9A,0x0F,0xDF,0x42,0x0D, -0x34,0x56,0xA2,0x32,0xAE,0x1D,0x9C,0x13,0xC5,0x91,0x8C,0x9C,0xFD,0x84,0x31,0xA2, -0x06,0xD7,0x56,0xE9,0xEF,0x1B,0x1C,0x3D,0xF5,0x3C,0x4F,0x88,0xDF,0x4B,0x86,0x89, -0xA5,0x7F,0x91,0xDE,0x21,0x96,0x03,0x47,0x0B,0x36,0xC4,0xD5,0x8E,0xCF,0x7D,0xDB, -0xCC,0xCB,0x55,0x89,0x8A,0x7B,0x49,0x4C,0x3F,0xC9,0x3F,0x0A,0xF5,0x36,0x8E,0x2A, -0xA7,0x22,0xE6,0x28,0x94,0xC3,0x3A,0x31,0x8B,0xA0,0x68,0xCE,0xFE,0xE4,0xFB,0xBE, -0xEB,0x5B,0x95,0x63,0xF7,0x5A,0xE6,0x7B,0x42,0xD7,0x4C,0xB2,0x94,0x3E,0x2E,0x4D, -0xE6,0x0C,0xE0,0xA8,0x80,0x26,0xC2,0xB2,0x20,0x81,0x0B,0xF7,0xCB,0x88,0x2B,0xB9, -0xDF,0xE1,0x98,0x31,0xE2,0x6E,0xD7,0x6A,0x04,0xCF,0xB6,0xF3,0xF0,0xD6,0x05,0x18, -0x0C,0x29,0x0B,0x62,0x8F,0x24,0xFF,0xB8,0xFE,0x97,0x05,0x65,0x73,0xFB,0x35,0xC4, -0x4F,0x5A,0x7A,0x14,0xEE,0xCA,0xD5,0xAF,0x50,0x40,0x29,0x78,0x1C,0xC1,0x6B,0x05, -0xCD,0x59,0x84,0x40,0x71,0x2A,0xCD,0x1E,0x2E,0xDC,0x0E,0x3E,0x16,0x4E,0xDB,0x87, -0x1C,0xCC,0x60,0xE5,0x22,0x30,0x3C,0x88,0xC0,0x67,0xC3,0xB8,0x43,0x77,0x6E,0xF1, -0xB5,0x9A,0xFA,0x59,0x1A,0x99,0x6C,0xF7,0x82,0x2D,0x01,0x32,0x00,0xB0,0x79,0xBD, -0x0A,0x12,0xF2,0xEB,0xFA,0x2F,0x2D,0x2C,0xDE,0x8B,0x80,0xAA,0xBD,0x23,0xEC,0xF2, -0x37,0x99,0x04,0x0D,0x4E,0xAB,0xDD,0xC8,0x65,0x1B,0xA5,0x48,0xCC,0x55,0xAF,0x81, -0x6A,0x97,0xCD,0x08,0x90,0x4D,0x45,0x57,0x3B,0x9B,0x07,0xC1,0x74,0x26,0xB1,0xFC, -0x7B,0xE0,0x77,0x46,0x4A,0x25,0xA2,0xAE,0xD2,0xF0,0xA6,0x72,0xC4,0xE7,0x10,0x09, -0x1D,0x5E,0xB1,0x2C,0x98,0x67,0x38,0xF4,0x26,0xF5,0x10,0x2D,0xEC,0xA7,0x17,0xA0, -0x51,0x27,0xC2,0x67,0x0F,0xAD,0x5D,0xE6,0x98,0x93,0x7A,0xEB,0x59,0x86,0x3D,0x67, -0x1E,0x91,0x17,0x13,0xD2,0xED,0xFA,0xB6,0xAA,0x18,0x9A,0xEE,0x07,0x6D,0xFD,0x85, -0x6D,0x3E,0xE5,0x48,0xAB,0x42,0x2A,0xE7,0xED,0xA4,0x17,0x40,0x54,0xD4,0x09,0xDD, -0xF3,0x1D,0xD4,0x99,0x28,0x6D,0xB7,0x76,0xD8,0xFF,0x9B,0x70,0x6B,0x37,0x69,0x58, -0xD5,0x1F,0xC5,0xBA,0x99,0xB6,0xF1,0x66,0xBB,0x0D,0xAB,0xDA,0x03,0xD0,0xB3,0xA1, -0xC2,0x53,0x86,0x7D,0x52,0x64,0x58,0xE8,0xB1,0x02,0x96,0xD8,0x4F,0x78,0x9F,0x5D, -0x3B,0x5C,0xA0,0x0F,0x7A,0xA6,0x8F,0x72,0x49,0x7C,0x06,0x5F,0xDE,0x16,0x43,0x9F, -0x1F,0x03,0xC6,0xDA,0xDA,0xC7,0x87,0x15,0x24,0xD3,0x33,0x3C,0x6A,0x6A,0xAC,0x4E, -0x5F,0xBF,0x11,0x93,0x63,0x36,0xBC,0xA6,0x8A,0x04,0x1F,0x21,0x4B,0xC5,0xD1,0x79, -0x12,0x54,0xB3,0x11,0x0B,0x23,0x22,0x80,0x8D,0xD4,0x73,0x14,0xD1,0x79,0x78,0x2F, -0xF8,0x71,0x58,0xDB,0x5E,0xC0,0x5A,0x2D,0xAC,0x6C,0x81,0x34,0xF6,0x56,0x44,0x36, -0x4C,0x95,0xDC,0x2B,0x5C,0xB7,0xAC,0x70,0x10,0x2C,0xC8,0xE3,0xF1,0x8B,0xC0,0x0E, -0xBA,0x90,0xF8,0x64,0x50,0x13,0xAE,0xB5,0xC7,0xB7,0xAF,0x8D,0xFC,0xD9,0xF4,0xB4, -0xCA,0xF0,0xAC,0x00,0x07,0x87,0x20,0x45,0x8F,0xF2,0x50,0x05,0xCF,0x35,0x65,0x9D, -0x8C,0x77,0x82,0xC0,0x29,0xBC,0x7E,0xE4,0xCD,0xB8,0x92,0x8F,0x93,0xE3,0xAA,0x75, -0x64,0x0F,0x1E,0xFC,0xF1,0xA3,0x6F,0x40,0x6B,0x46,0xA0,0x81,0x22,0x7F,0xCE,0x96, -0xE5,0xC3,0x46,0x97,0xBF,0xA7,0xD2,0x64,0x62,0xCB,0xC9,0x7D,0x27,0x9F,0x45,0xA4, -0x76,0xB7,0x02,0x8D,0x83,0x80,0xFD,0x7D,0x78,0x75,0xB2,0xA4,0x4A,0x98,0x14,0x6F, -0xA1,0x19,0x1F,0xA1,0xF9,0x89,0x12,0xE3,0x68,0xC4,0xF4,0x7F,0xD3,0x44,0x77,0x25, -0x3A,0xCE,0x71,0xC6,0x08,0x85,0x1D,0x4F,0xEA,0x74,0x7B,0x75,0xA9,0xE0,0x41,0xC2, -0xE1,0xA5,0xC8,0xE8,0x20,0x47,0xCA,0xD5,0xCA,0x68,0xFE,0xBA,0x9B,0x51,0x15,0xFD, -0x27,0x7C,0x6F,0x8A,0xB4,0x2B,0x90,0x08,0xE2,0x5D,0x65,0x66,0x1A,0x41,0x2A,0x2B, -0x54,0xD3,0x9D,0xD1,0x82,0x51,0x34,0xEF,0xF8,0xE3,0x1E,0xBF,0xAF,0x60,0x00,0xEC, -0x9A,0xA9,0x10,0xCE,0x0E,0x7C,0x94,0x74,0xFA,0xC5,0x3D,0xAE,0x8C,0xF2,0x72,0xD1, -0xBD,0x39,0xD0,0x24,0x7E,0x28,0xF0,0x14,0xD0,0xD6,0x85,0x63,0x68,0x57,0xA3,0x44, -0x95,0xA3,0x12,0xF3,0xF6,0x8B,0x2F,0xE9,0xC1,0xC3,0xB4,0x57,0x3A,0xB3,0x92,0x0A, -0x57,0x1C,0x3B,0xEE,0xB6,0x5C,0x66,0x55,0x9B,0x11,0x2E,0x15,0x52,0x54,0x48,0xF3, -0xDD,0xBC,0xEF,0xC7,0xC8,0xDB,0xF6,0xAD,0x93,0x38,0x30,0x06,0x0E,0x82,0x87,0x1B, -0xEA,0xC9,0x44,0xAA,0xE7,0x31,0x61,0x9E,0xDA,0xD9,0xB8,0x61,0xD2,0x19,0xB2,0x33, -0x9E,0xCF,0x9E,0xB1,0x49,0x83,0x9D,0x61,0xFF,0x33,0x72,0x8A,0x50,0x69,0x47,0xF9, -0xD5,0xBF,0x6B,0xDA,0xD2,0xA0,0xB7,0xEE,0xDB,0x49,0x6B,0x88,0xC2,0xF2,0x95,0xB8, -0x31,0x8E,0x25,0x88,0xE3,0xB1,0x83,0xFB,0x53,0x96,0xC8,0x75,0x58,0x30,0x42,0x90, -0x94,0x5F,0xB0,0x6C,0x5B,0x9B,0x4E,0xE8,0x23,0xF2,0x9C,0x15,0xC8,0xF0,0xA8,0xB7, -0x06,0x2D,0x8D,0x4F,0x78,0x99,0x5F,0xCE,0xAF,0x52,0xB1,0x8E,0xB2,0x7D,0xB7,0x79, -0x0F,0x6A,0x98,0xB0,0x14,0x9E,0x6A,0x1E,0x64,0xFB,0x63,0x00,0xAE,0x7E,0xD7,0xB3, -0x7F,0x9F,0x52,0x32,0xDE,0xBB,0x81,0xF4,0xCA,0x07,0xD1,0xFF,0xA8,0xA4,0xCC,0xC7, -0xE4,0xAA,0x7A,0xEE,0x56,0xF2,0xE6,0x15,0xE5,0x90,0x3B,0xCC,0xDD,0x0F,0xA1,0xF0, -0x32,0x65,0x92,0xB2,0x48,0xFA,0xF5,0x3C,0x9B,0x00,0xBC,0x34,0x7D,0xDB,0x88,0x7A, -0xFE,0x39,0x0E,0xAA,0xD4,0x19,0x44,0x58,0xAE,0x9B,0x60,0x1C,0xD6,0xE2,0xEB,0x5B, -0xF9,0x68,0xC5,0xC7,0xAF,0x03,0x9D,0xE6,0x92,0xB4,0x47,0x05,0xA2,0xA6,0xF1,0xC8, -0x19,0xE3,0xF7,0xC2,0xC6,0x0A,0x61,0x6B,0xDC,0x09,0x43,0x21,0x6E,0xFE,0x9A,0x49, -0x85,0x87,0x14,0x73,0xF4,0xAC,0x6F,0x95,0x04,0x18,0x5C,0x85,0x16,0x62,0xA6,0xA1, -0x27,0x07,0x4A,0xFA,0x03,0x83,0x86,0x70,0x99,0xF6,0xCB,0x69,0x1D,0x8F,0xEC,0x0A, -0x37,0x38,0x9C,0x7B,0x98,0xAB,0x5A,0x45,0x0D,0xAC,0xA7,0xB4,0xC4,0x28,0x8E,0xCC, -0x86,0x6C,0xA3,0x49,0x1D,0x8B,0x95,0x59,0x25,0x7B,0x65,0x2E,0xAF,0x91,0xA0,0x17, -0x22,0x5A,0x44,0x33,0x92,0x09,0x9F,0xE9,0xD4,0x74,0x69,0x82,0x78,0xFF,0xC7,0x8C, -0x1F,0x55,0x4E,0x31,0x15,0xEC,0xF4,0xF9,0x26,0x44,0xC3,0xE1,0x35,0x53,0x77,0x3F, -0xA3,0xFC,0x18,0xAB,0x79,0xEB,0xC1,0x29,0x4E,0xDA,0xD6,0xC7,0xDE,0xF1,0xF5,0x72, -0x0C,0x81,0x2F,0x8A,0x55,0x45,0xDC,0xFE,0xF7,0xE1,0x27,0x74,0x62,0x26,0xBC,0x32, -0x70,0x6E,0xFE,0x3E,0x60,0x28,0xBF,0x51,0x57,0xE9,0x46,0x13,0x3D,0x40,0x69,0x16, -0x53,0x48,0xFC,0x2F,0x36,0xEE,0xE5,0xDF,0x2A,0x46,0x67,0x24,0x91,0x4C,0x66,0xE7, -0xBF,0xD9,0xD5,0x1C,0xC9,0xA6,0x6D,0x9A,0x7D,0xC8,0xF3,0xD4,0xF1,0x18,0x02,0x97, -0xED,0xED,0x6F,0x11,0xAE,0x71,0x03,0x01,0x71,0xCA,0x57,0x11,0xF4,0x3C,0x4D,0x61, -0x30,0x69,0x57,0x16,0xE7,0xCD,0xD4,0x41,0x73,0x3C,0x20,0x4C,0x10,0xB8,0xBD,0xD5, -0x0B,0xD0,0xE4,0xE7,0xFC,0xCB,0x0E,0x35,0xFF,0x9C,0x0D,0xD7,0xF0,0xF7,0x75,0x33, -0xE0,0x10,0x06,0xB9,0x1C,0xF9,0x0B,0xBE,0x22,0x3B,0x4D,0x87,0x46,0x22,0x01,0x7C, -0xC1,0x3A,0xC1,0x0C,0x76,0x47,0xCD,0xD8,0xB5,0x5E,0x87,0x95,0x3F,0x51,0x4A,0x30, -0x81,0x3D,0x68,0x24,0xC0,0xB3,0x92,0xDD,0x67,0xC4,0xC5,0xCF,0x81,0x97,0x20,0x56, -0x1E,0xB2,0x3C,0xAF,0xF0,0xD0,0x38,0x2F,0x7F,0x3E,0x84,0x89,0x32,0x66,0x1B,0xEF, -0xB6,0x9E,0xC0,0xE3,0xCD,0xDA,0x3A,0x20,0xB4,0x97,0x56,0x07,0x7E,0x25,0xDC,0xF8, -0x51,0x44,0x39,0x8B,0xFD,0xB9,0x90,0xD2,0x05,0xD1,0x8D,0x17,0x7C,0x34,0xFF,0xDE, -0xB2,0x24,0xBC,0xB4,0x71,0x8C,0xA0,0x89,0x86,0x4C,0xA2,0x86,0x5F,0x05,0x2E,0x40, -0x11,0x43,0x90,0xA3,0xA5,0xA1,0x58,0x4A,0x0F,0x5A,0xD0,0xE9,0xAD,0x80,0x83,0x31, -0x28,0xF6,0xE6,0xF6,0x68,0x4F,0xDE,0xF1,0x5C,0xAB,0xCA,0x7F,0x38,0x64,0x26,0xE0, -0xA7,0x46,0x64,0xFC,0x4F,0x31,0x98,0x6D,0xC3,0xB3,0x2A,0xCE,0x3B,0x9A,0x72,0x62, -0x9D,0x18,0xA5,0x93,0x63,0x9F,0x85,0xBA,0xA2,0x99,0xC4,0xD9,0x48,0xEB,0x04,0x21, -0x40,0x9C,0x9D,0x94,0x61,0x5A,0x21,0xB6,0xBD,0x23,0xAD,0x36,0xF6,0x2D,0x6E,0x47, -0x33,0x82,0xE0,0x2C,0xC3,0x04,0xA8,0x36,0x63,0xBB,0x4B,0xA9,0xF8,0xE4,0x6B,0x1A, -0x45,0xC1,0x93,0x5D,0xE6,0xBF,0x4A,0xA6,0xD7,0x4B,0xCF,0x4D,0x73,0x12,0x8D,0x27, -0xD6,0x54,0xDC,0xE0,0x67,0xE3,0xD2,0x00,0x37,0x0A,0x79,0x96,0xFB,0x1A,0x3F,0x98, -0x50,0xA3,0x4B,0x15,0x59,0x5E,0xEA,0xE4,0xA7,0x2F,0x9B,0x2D,0xAA,0xB5,0xEF,0xE1, -0xA9,0x50,0xBA,0x6E,0xA2,0x6A,0x35,0x1B,0x0C,0x65,0x76,0x26,0x1E,0x71,0xB8,0x88, -0x2D,0xAB,0xE8,0x3F,0x29,0x94,0x68,0x11,0xC2,0x7A,0xFB,0x5C,0xB6,0xB6,0x8F,0x2B, -0xE2,0x1C,0xC3,0x1D,0xEA,0xA4,0x7C,0xBC,0x83,0xFA,0xFD,0x72,0x37,0x42,0x54,0x19, -0xB0,0x28,0x79,0x10,0xD0,0x65,0x13,0xE2,0xCF,0xB1,0x8E,0x0B,0x80,0x78,0x57,0xF2, -0xEE,0x06,0xD8,0x2B,0x6D,0x41,0x17,0xAC,0xAD,0xA4,0xC6,0xD3,0x6D,0x00,0xCE,0xCB, -0x58,0x03,0x2C,0x74,0x2A,0x23,0x52,0xFA,0xDA,0x80,0xBA,0x1A,0x3A,0x75,0x05,0xC6, -0x82,0xD6,0xDF,0x1E,0x0E,0xEA,0x2E,0x8D,0xB9,0x5C,0x23,0x50,0x43,0x06,0x4E,0x8A, -0xD3,0x09,0xD2,0x29,0xDD,0x0C,0xBB,0x1F,0x3E,0xBE,0x82,0xA7,0xFD,0xC0,0x24,0xEC, -0xCF,0x2C,0x1F,0x9E,0x0D,0x5D,0x14,0x66,0x75,0xB5,0xD9,0x77,0x1B,0x55,0xF7,0x7E, -0x8C,0xC0,0x01,0x8C,0x6F,0x84,0xB3,0xA0,0x12,0x16,0xCE,0x5B,0x08,0x70,0xE5,0x4D, -0xDF,0x13,0xC9,0x1F,0x1A,0x40,0xF8,0x08,0x42,0xD8,0x72,0x02,0x49,0x04,0x73,0x85, -0xB9,0x6F,0x6C,0xEF,0x6A,0x8A,0x7A,0xFD,0xD1,0xC2,0x36,0x76,0xCA,0xE1,0x8B,0x91, -0x17,0xF5,0x29,0x50,0x47,0x56,0xF9,0xCD,0x93,0x7D,0x96,0x97,0xF5,0xD3,0x3A,0xC5, -0x5F,0x52,0xE7,0x19,0x8A,0xB8,0x7F,0x76,0xB0,0xE8,0xD8,0x61,0xBD,0x5B,0xC5,0x80, -0xD9,0xA5,0x70,0xEC,0xBA,0xDB,0xD5,0x84,0x4C,0x2C,0xA1,0x9A,0xEF,0x0A,0x41,0x7B, -0xCB,0x96,0x63,0xC9,0x3D,0x3E,0xBE,0x94,0x5D,0x62,0x1B,0xED,0x20,0xAC,0x7E,0x78, -0x35,0x34,0x59,0xDF,0xAA,0x0D,0x54,0xBB,0x02,0x91,0xA5,0xBE,0x33,0x89,0x6C,0x4B, -0x38,0xC9,0x30,0x77,0x87,0xD1,0xD7,0x8B,0xB1,0x21,0x09,0xF3,0x22,0xBD,0x5D,0x5E, -0x39,0x2E,0x42,0xE9,0x9F,0x60,0x37,0x14,0xA9,0xDB,0x48,0xB5,0x27,0x99,0x12,0xA8, -0x25,0x0B,0x8F,0x5E,0x93,0x7B,0x01,0x0E,0x4F,0x13,0x07,0x55,0x53,0xDD,0x08,0x3B, -0x2B,0x1D,0x51,0xCC,0x10,0xE2,0x3D,0xA4,0xF3,0x9E,0xA9,0x12,0x2B,0x41,0x34,0xD3, -0xF3,0xC4,0x67,0x02,0x64,0x54,0xE8,0xEB,0x74,0x7C,0x08,0xE5,0xC6,0x39,0xAD,0xEA, -0x84,0x60,0x66,0xED,0x89,0x0F,0x45,0x9D,0x77,0x43,0xAE,0x2A,0xB7,0x59,0xF8,0x8F, -0x66,0x33,0xE9,0x9A,0x76,0x82,0x1D,0xD6,0xB6,0x06,0x79,0xD6,0xC4,0x3A,0xEA,0xA8, -0xD2,0xD7,0x6D,0x6A,0x74,0xF5,0xEB,0x8B,0x0A,0x46,0x30,0x01,0xC3,0xE7,0x6E,0x90, -0xE0,0x56,0x99,0xB1,0x2D,0xB2,0x91,0xE3,0x29,0xD8,0xE1,0x30,0xFA,0x84,0x4F,0x3B, -0x90,0x36,0xCD,0xD5,0x7A,0x26,0x1F,0x13,0x61,0x9D,0x1E,0xB8,0xC9,0x68,0xDE,0x12, -0x35,0xA5,0xF3,0x6B,0xF0,0xF2,0x36,0xB3,0x82,0xF9,0x82,0x09,0x5F,0xDB,0x86,0xE8, -0x11,0xFA,0x95,0xBE,0x50,0x93,0x3E,0xD4,0xEF,0x56,0xB7,0x6A,0xEB,0xA7,0x69,0x39, -0x38,0xF2,0x86,0xA0,0x21,0x16,0x93,0x26,0x2B,0xFE,0xC2,0x21,0xE4,0xC8,0x52,0x89, -0x75,0x19,0x24,0x22,0x49,0x03,0x0D,0x00,0x2C,0x2E,0xAE,0x14,0x7E,0x74,0xFB,0xDF, -0xD9,0xBB,0xE1,0x28,0x02,0x58,0x06,0xD0,0x7E,0xD5,0x2A,0x45,0x5E,0x86,0x43,0xFE, -0x47,0x98,0xD0,0xF9,0x81,0x77,0x9B,0x41,0x4B,0x8E,0xA6,0x75,0x61,0x65,0x23,0x7B, -0xE8,0xF5,0xB3,0xCC,0x78,0x51,0xE9,0x4E,0x17,0x28,0x27,0xED,0x7A,0xC9,0xB5,0xFB, -0xFF,0xB9,0xF0,0x0B,0xB3,0x83,0x40,0xC0,0x1D,0x27,0x1A,0xEF,0x36,0x61,0x99,0x07, -0x37,0xF8,0x84,0x9D,0xB2,0x52,0x89,0x52,0x80,0xDF,0xA1,0x18,0xD9,0x16,0x3D,0x06, -0x51,0x46,0x42,0xF7,0x60,0x10,0x13,0x08,0x74,0xDA,0x17,0x47,0xF1,0x56,0x3A,0xAF, -0x34,0x37,0x22,0xA2,0xF8,0xD8,0x4B,0x10,0x0C,0x32,0x2B,0xDB,0x32,0xDC,0xD7,0x23, -0x7B,0x81,0xF7,0xD6,0x25,0x98,0xEC,0x40,0x3E,0xB9,0xCB,0xDE,0x6C,0x37,0x17,0xC1, -0xF7,0x1A,0xDA,0x76,0xE2,0xEE,0x47,0x0B,0x35,0x12,0x81,0x33,0x3B,0x33,0xAD,0xBD, -0x7D,0xBA,0x0E,0x5F,0x9C,0x69,0xD7,0xF3,0x3D,0x3B,0x9F,0x20,0x67,0xE5,0x62,0x55, -0xB4,0x69,0xAB,0x00,0x63,0xB6,0x2C,0xC7,0x59,0x19,0xC3,0xBF,0x65,0xD8,0x6D,0x5F, -0xC0,0x6F,0x71,0x1B,0xCD,0x04,0xD0,0x38,0x7C,0xF3,0x09,0x54,0xE7,0xA8,0x98,0x95, -0xB0,0x0F,0x25,0x7F,0x24,0x49,0x25,0xD2,0x5C,0xEF,0x8C,0x9B,0xB9,0x43,0x58,0x77, -0x7E,0x75,0xA8,0x60,0xA8,0x64,0x85,0x49,0x5E,0xC9,0xAF,0x8A,0x9A,0xD1,0x2A,0x4A, -0xBF,0x05,0x27,0x42,0xDC,0xBE,0x9E,0x4F,0x67,0xE9,0x05,0x62,0x0F,0x02,0xB8,0xAC, -0x97,0x9F,0xE5,0x95,0x54,0x1D,0x41,0xB2,0x76,0xFC,0x34,0x56,0x5D,0xE6,0x89,0xE2, -0x10,0x68,0x44,0x77,0x22,0xB0,0xAC,0xE9,0x4C,0x5E,0xCA,0x40,0x9C,0x51,0x6B,0x64, -0x8B,0xBF,0x2A,0x10,0xD3,0xBC,0xA3,0x45,0xCE,0xEE,0x45,0x4A,0xE6,0xF5,0x5D,0x83, -0x0D,0xDA,0x5A,0x3B,0x9E,0x1E,0x21,0xAE,0x44,0x77,0xD4,0x53,0x2F,0xF0,0x00,0x8D, -0xCB,0x03,0xFD,0x59,0x0A,0x72,0x7B,0x73,0x6C,0x42,0x4F,0x8F,0xAE,0xE0,0x3F,0x5B, -0x4E,0xA9,0x2B,0x4D,0xDB,0x96,0xDE,0xE6,0xCD,0x6C,0x11,0xB4,0x17,0xCE,0xE4,0x30, -0xA6,0xD1,0xB7,0x71,0x03,0x89,0xCF,0x42,0x6B,0x92,0x23,0xBA,0xA6,0x52,0x80,0xD3, -0x5C,0x11,0x37,0x3C,0xA9,0xB5,0x4C,0xDB,0xDE,0x5F,0x03,0x91,0x7F,0x29,0x3E,0xC9, -0xCF,0x65,0x73,0x26,0x95,0x92,0x63,0xC2,0xC4,0xE1,0x78,0x48,0x12,0x2E,0x6F,0x02, -0x87,0x7A,0x8E,0x12,0xB7,0x0D,0x3F,0xA6,0x7F,0x71,0x5D,0xAA,0xCC,0x88,0x55,0x20, -0x7C,0x28,0xDF,0x96,0x4B,0x74,0xFB,0x5D,0x1C,0x83,0x6D,0x00,0x39,0x0E,0xA2,0xB7, -0x96,0x0D,0x34,0x5C,0xD6,0xE3,0x15,0xB1,0x4D,0xFA,0xBD,0xAF,0x3A,0x6E,0x68,0xAB, -0xC2,0x32,0x06,0xED,0x94,0x43,0xAA,0x50,0x91,0xCA,0x90,0x2C,0x85,0xC0,0xF2,0xEE, -0x4A,0xCF,0xA5,0x32,0x15,0x1B,0xC1,0x9C,0x43,0xA7,0xB8,0x66,0x59,0x5B,0xC7,0xC6, -0x82,0x8E,0xD1,0xA4,0x45,0xA7,0x0F,0xC5,0x87,0x0F,0xCD,0x2D,0xCA,0x08,0x14,0x0E, -0xEB,0x3A,0x15,0xF3,0x39,0x57,0x69,0x60,0xCB,0x18,0x0A,0x6E,0xFC,0x04,0x0E,0x15, -0x79,0xDC,0x80,0x20,0x72,0x0C,0x62,0xB0,0x9A,0x61,0xDA,0xC1,0x4B,0x18,0x2B,0xD8, -0xED,0x01,0xEC,0x7A,0x73,0xDD,0xAB,0x22,0x93,0xEC,0xB3,0x3D,0xD7,0x24,0xC3,0xA0, -0x88,0x70,0x8C,0x2F,0x70,0x7B,0x94,0xED,0xC8,0x9A,0x5E,0x90,0x38,0x53,0x67,0xA1, -0x3C,0x94,0x08,0xDF,0x48,0xD2,0xC4,0x92,0xBC,0x09,0x44,0xD4,0x8B,0xF2,0x0C,0x48, -0xD4,0xEC,0x94,0xE3,0xF4,0x7C,0x49,0xD5,0x25,0xA3,0xC7,0xE8,0x19,0xFC,0x1A,0x96, -0x59,0xE5,0x68,0x8A,0xB6,0xDC,0xF6,0x34,0x16,0x8C,0x50,0x02,0xA2,0xEF,0xCE,0xF7, -0xAF,0xE0,0x4C,0xC5,0xAE,0x9D,0x0C,0x72,0xA7,0x13,0x48,0xE2,0x3C,0xEE,0x29,0x85, -0x7F,0xE7,0x79,0xA9,0x5A,0xCE,0xB5,0x2A,0xF9,0x93,0xEA,0x6B,0x1C,0x1C,0x91,0xA4, -0x4C,0xF4,0x5C,0xBB,0x05,0x70,0x46,0x79,0xCA,0xBC,0x7D,0x81,0x0A,0xE2,0x33,0x9E, -0x20,0xB4,0xC7,0x5A,0xD0,0x1A,0x9C,0x8A,0x78,0xA1,0x31,0x9F,0x88,0x92,0xC6,0x54, -0x9F,0x3C,0xCF,0xE8,0x30,0xAC,0xDD,0x51,0x24,0x07,0xB0,0x07,0x35,0x01,0x53,0x1B, -0x40,0x31,0xF8,0xB9,0xBA,0x78,0xF4,0xF1,0x9D,0xB1,0xB6,0xF4,0x41,0x97,0x9B,0x5A, -0x1D,0x3F,0x31,0xBC,0x64,0x9E,0x6C,0x6E,0xC3,0x31,0x14,0x7D,0xF9,0xE4,0x85,0x27, -0x65,0xFC,0x4F,0xA5,0xC4,0xFF,0x64,0x09,0xF6,0x6A,0x98,0x4D,0x29,0x70,0x41,0xA3, -0x26,0x8F,0x3E,0xD3,0xA5,0x11,0x4E,0x1E,0x58,0xBD,0xB4,0x50,0x46,0x4A,0x1F,0x62, -0x36,0x6A,0x55,0x54,0x08,0x05,0x8D,0x2E,0x66,0x4D,0x72,0x8D,0x76,0xC6,0x44,0x57, -0xE7,0xFF,0xB1,0xF1,0x5B,0x1F,0x7C,0xB8,0x88,0xF6,0xBF,0x0B,0x23,0xFF,0xF1,0x21, -0xC1,0xFD,0xA0,0xD2,0xDD,0x6F,0x57,0xDD,0xE4,0xFD,0xFD,0x87,0xA1,0x8F,0x04,0xEB, -0x8D,0x84,0xD3,0x99,0xBE,0xF6,0x8B,0x97,0x2D,0x8A,0xD9,0xFB,0xCB,0x55,0xD1,0x18, -0xF5,0x47,0xAD,0x80,0xC8,0x5B,0x66,0xCC,0xA2,0xE5,0x07,0xC6,0xC5,0x67,0x2F,0xBE, -0xCC,0xAA,0xD5,0x19,0xAA,0x13,0x73,0x14,0x86,0xAB,0xBA,0xC2,0xFE,0x39,0x01,0x1F, -0x2C,0x71,0x63,0x58,0xC5,0x2E,0xAD,0x9B,0x53,0x16,0xFE,0xBD,0xEA,0xFA,0xAC,0x2F, -0x1E,0xF0,0x97,0x83,0x84,0x28,0x2D,0xB5,0x63,0xBB,0x3D,0xA9,0xC8,0x35,0x1B,0x04, -0xE6,0x6D,0x60,0x38,0xA0,0x4E,0xF8,0xEA,0x99,0xE3,0x8E,0x3F,0xC0,0x87,0xA4,0x8C, -0x8F,0xD9,0xA4,0x6F,0x0B,0xA3,0xB2,0xE1,0xAD,0x1C,0x75,0xE0,0xBB,0x7E,0x57,0x7D, -0x47,0x65,0xFB,0x96,0x84,0xCB,0x82,0xC8,0xC7,0xB9,0x80,0xC1,0x18,0x27,0xDB,0x01, -0xA4,0x05,0x7E,0xA9,0x08,0xFE,0xB2,0x93,0x44,0x24,0xAF,0x50,0x3B,0x16,0x0A,0x9F, -0x43,0xDF,0x87,0xC1,0x38,0x9D,0x18,0x61,0xF5,0x62,0x74,0x40,0x39,0x07,0x29,0xB9, -0xEB,0xF3,0x7B,0x8D,0x05,0x97,0x1A,0x6E,0x3E,0xCB,0xA6,0xCE,0x75,0x44,0xEE,0xAE, -0x74,0x7C,0x2F,0x06,0x35,0xF4,0xB0,0x9C,0x26,0x31,0xE7,0x88,0xC6,0xB5,0xD5,0x17, -0x34,0x7B,0x86,0x2E,0x83,0x00,0xEF,0x99,0xF4,0xAB,0xA5,0xD2,0x78,0x73,0xBF,0x71, -0x15,0x51,0x41,0x9B,0xE9,0xBE,0x29,0xFF,0x63,0xCE,0x6F,0xC0,0x01,0x00,0xF4,0x3D, -0xFE,0x91,0xA3,0xC5,0x09,0x8C,0x2C,0x74,0xBE,0x69,0x2F,0x90,0xB7,0xD5,0x80,0x72, -0xC5,0x28,0x10,0x34,0x12,0x8A,0xF6,0x00,0x32,0xC9,0x02,0x0B,0x57,0x9A,0x48,0x94, -0x18,0xAC,0x28,0x33,0x5B,0x36,0x21,0x40,0x30,0x3F,0x75,0x56,0xB3,0x1E,0xB8,0x20, -0x4A,0x98,0x92,0x3E,0x3C,0xE1,0x4F,0xDB,0x3C,0x3D,0xD1,0x93,0xB6,0x3A,0xF7,0xD6, -0xA6,0x09,0xBB,0x0D,0xC3,0xA9,0xC7,0x9E,0x6B,0xB3,0x45,0x63,0xD6,0x6E,0x93,0xA6, -0x85,0x2F,0xB9,0x1C,0x95,0x6F,0x9D,0x10,0x16,0x1C,0x64,0x54,0x7A,0x62,0x9C,0x57, -0xF9,0xC0,0x68,0xA8,0xA0,0x02,0xFE,0xBF,0xB6,0x14,0x05,0x33,0x25,0x04,0x49,0x73, -0x56,0xBD,0x5F,0x89,0x8C,0xAC,0xE3,0x68,0x0F,0x2F,0xF4,0x80,0x99,0xD3,0x00,0x33, -0xEA,0x14,0x09,0x13,0xE0,0xAB,0xD6,0xB8,0x67,0xB1,0xE1,0xA6,0x72,0x71,0x82,0x7E, -0xD7,0x1B,0x03,0x11,0x67,0x4E,0xBD,0xA8,0x95,0x81,0x4B,0xC5,0x3F,0xDD,0x32,0xCD, -0x73,0x2D,0xE4,0x6B,0xE8,0xCC,0xB7,0x18,0x64,0x8E,0x47,0x69,0xE8,0xB3,0x55,0x56, -0xC2,0x79,0xDB,0x59,0x6D,0xEC,0x78,0x04,0x4C,0x59,0x85,0xF3,0x83,0x0A,0x7B,0x8D, -0xD2,0x46,0x0D,0xD8,0xF6,0xC4,0xA4,0x31,0xD8,0x03,0xE9,0x2E,0x5A,0xAD,0x19,0x4B, -0x70,0xC6,0x53,0x51,0x01,0xEB,0x4D,0xD4,0x45,0xED,0x7E,0xC2,0x51,0x40,0x53,0xE0, -0xEC,0xA2,0xB0,0xE0,0x33,0x4D,0x43,0x2A,0x9D,0xFC,0x61,0x66,0x29,0xDC,0x6F,0x08, -0x0C,0x29,0x82,0xE5,0x5A,0x44,0xBF,0xA7,0xD3,0x41,0x65,0x42,0xE5,0x84,0x04,0x89, -0x0B,0x78,0x49,0x88,0x21,0x5E,0x66,0x19,0xEF,0x6E,0x42,0x5B,0x91,0xC0,0x1E,0x1A, -0xC7,0x24,0xD5,0x90,0xBD,0xBD,0xD7,0x7D,0xDA,0xF5,0x9E,0x73,0x3A,0xF9,0x7D,0x3B, -0x11,0xEB,0x3D,0xCC,0xA3,0xB5,0xC4,0x54,0xA4,0x65,0x19,0x8B,0x9A,0x2D,0x54,0xB1, -0x8A,0xDE,0x15,0x10,0x2B,0xFC,0xA3,0xB5,0x8B,0xF2,0xF3,0xB8,0xEF,0x86,0x39,0x86, -0xFA,0x2B,0xDF,0x92,0xE1,0xD9,0x48,0x5F,0x25,0x0E,0x41,0x47,0xE9,0x5C,0x22,0xF2, -0xF3,0x6C,0xCA,0x6D,0x8D,0xDE,0x7D,0x8F,0xEE,0xA7,0x93,0xC9,0xF5,0x5F,0x42,0x38, -0x61,0x1E,0xF7,0x4E,0xAE,0xDC,0x6C,0xA9,0x62,0x07,0xBE,0x52,0x8F,0xD2,0x5D,0xF6, -0xC4,0xCF,0x62,0xAA,0x16,0xF6,0xA1,0xBA,0x12,0x63,0xEA,0x32,0x1F,0x12,0xB7,0xD1, -0x20,0xFE,0x2C,0xF8,0x27,0xE7,0x95,0xAF,0x9A,0xBC,0x49,0xCF,0x85,0xD0,0x60,0xF9, -0x71,0x21,0x21,0xCF,0x7C,0x48,0x67,0xDC,0x36,0xB6,0x8C,0x6D,0xF0,0x7B,0x0D,0xCE, -0x06,0x85,0x20,0x20,0x91,0x13,0xCA,0xAA,0x35,0x89,0x2A,0xA2,0x81,0x1B,0x58,0xAB, -0xDE,0x5C,0x16,0xEE,0xE5,0xA5,0x1F,0xE5,0xB2,0x6B,0x8B,0x55,0x6C,0x63,0xC1,0x92, -0xD0,0x4A,0xC8,0x7C,0x66,0x3C,0x23,0x4F,0x0E,0xE6,0x25,0x12,0x14,0xFF,0xFD,0x7A, -0xCC,0x6F,0x05,0xCB,0x6A,0x27,0x15,0x55,0xE8,0x2E,0x6A,0xF2,0x60,0xBB,0xE7,0xE9, -0xCD,0x88,0x77,0x55,0x72,0x96,0xF5,0xCA,0xF0,0xD4,0x2B,0xB4,0x65,0x9F,0xA8,0x1F, -0xC0,0x75,0x1E,0xFD,0x5F,0x4A,0x76,0xFA,0x43,0x64,0x87,0xF9,0x74,0xAB,0x99,0x0A, -0x3E,0xD7,0x24,0xEB,0xC8,0x79,0x9C,0xD5,0x1C,0x97,0x39,0xAA,0x67,0x8E,0x8B,0x39, -0x2C,0xE4,0x37,0xCE,0x4F,0x9C,0xF7,0xC5,0x0D,0xD9,0x83,0xDD,0xA8,0x28,0xB4,0x3A, -0xAA,0x13,0xA0,0x3B,0x7F,0xFF,0x5D,0x37,0xF1,0x1D,0xFA,0x26,0xFA,0x79,0x30,0xC1, -0xE2,0xB4,0x6E,0x72,0xB2,0x11,0xDB,0x8C,0xD2,0x88,0xB4,0xD0,0xB2,0xF1,0xCF,0x84, -0x4C,0x2E,0x2B,0xCD,0x9F,0xCD,0x58,0xBC,0x90,0x37,0x14,0x31,0x8D,0xC3,0x7E,0xD0, -0x2A,0x52,0x8E,0x3D,0xEF,0x07,0xDA,0x49,0x03,0x2D,0x50,0x45,0x0E,0x26,0x86,0xC4, -0x79,0x81,0x46,0xAE,0x9A,0xC3,0x91,0xE1,0x53,0xE3,0xEC,0x1C,0x4F,0x52,0x10,0x0C, -0x3A,0x6D,0x58,0xBC,0xF8,0x1A,0x36,0x27,0x34,0x40,0xFB,0x30,0x5C,0x77,0x02,0x3F, -0x26,0x48,0x95,0x0B,0x28,0x4B,0x99,0x5E,0x7F,0x4B,0xA0,0xE0,0xBA,0xE2,0xD1,0xAD, -0x77,0x97,0x98,0x3C,0xFB,0xAD,0x0C,0xCC,0xF8,0xA9,0x01,0x17,0x04,0x24,0xBB,0xCB, -0xAD,0x42,0x6B,0x56,0xDF,0x64,0x70,0xBB,0x9B,0x75,0x98,0x5D,0x7D,0x57,0xF0,0x87, -0x1B,0x47,0x9F,0x09,0x98,0x06,0x35,0xED,0xEC,0x51,0xE4,0x94,0x2A,0x22,0x3B,0x8A, -0x45,0x69,0x3E,0x32,0x25,0x22,0x31,0xA3,0x8E,0x44,0xAC,0x4C,0xC7,0x5A,0xA2,0xB3, -0x17,0x5D,0x84,0x3F,0x1F,0xE3,0x5E,0xFD,0xC2,0x0F,0xDF,0x35,0x70,0x60,0xA1,0x58, -0xD8,0xEA,0xAF,0x1D,0xDC,0xD3,0x4A,0x50,0x83,0x8F,0xD9,0x1B,0xF1,0x94,0x7A,0x6A, -0x5C,0x11,0xFD,0x4C,0x57,0x2D,0x17,0x5A,0x4D,0x90,0x54,0x61,0x59,0x53,0x4D,0xC9, -0xA5,0xE2,0x0C,0x37,0xAC,0x19,0xC8,0xA5,0xE6,0xDA,0xB9,0x6A,0xED,0x97,0x1A,0xA0, -0x23,0x15,0x9B,0xC2,0x92,0xA4,0xF0,0x41,0x76,0xFF,0x5B,0xD1,0xBC,0x38,0xCA,0xD9, -0xB0,0x80,0xD4,0x7F,0x13,0xF8,0x68,0xE7,0x96,0xBE,0xED,0x0A,0x34,0x30,0x78,0x66, -0xC6,0xC3,0xA7,0x0E,0x36,0x43,0x8A,0x77,0x22,0x4E,0x69,0xEE,0xBF,0xC6,0x9E,0x5B, -0xB5,0xDD,0xDA,0xB6,0x94,0x1D,0x03,0xF7,0xFC,0xD6,0x8F,0x71,0xB1,0x0F,0x9B,0x06, -0x68,0x59,0xE2,0xB1,0x96,0xD8,0xA7,0xFB,0xE3,0x6C,0xE6,0x9E,0x0F,0xC9,0xF1,0x60, -0x52,0x07,0x23,0xDE,0xBA,0x76,0xBA,0x2C,0x82,0x46,0x08,0x89,0x7C,0xB8,0x87,0x23, -0xDD,0xB7,0xA1,0xD4,0x9D,0x08,0xFC,0xB0,0x1D,0x5E,0xE8,0x38,0x7F,0x46,0xD3,0xA1, -0xE4,0x02,0xD7,0x81,0x50,0xE6,0x7A,0x0B,0x4E,0xAF,0xF2,0xAE,0xEA,0xA2,0x76,0x70, -0x7F,0xB6,0xA3,0xAF,0xD4,0x94,0xDA,0xDB,0x4D,0xA0,0x9B,0x5C,0x7D,0x30,0x99,0x2E, -0x2E,0x32,0x58,0xFD,0xAD,0x68,0x21,0x1F,0x7D,0x0A,0xF8,0xAE,0x8A,0xA7,0x6C,0xA8, -0xA6,0xCD,0x1D,0xB5,0xE3,0x4B,0xD7,0x8A,0xB0,0x8C,0x16,0x15,0x2D,0x69,0x25,0xE0, -0x94,0x7C,0x49,0x8A,0x43,0x09,0x36,0x35,0x9D,0x0F,0xCA,0x25,0xB7,0x2C,0x9A,0x4E, -0x71,0x84,0x5D,0x09,0x07,0x9A,0x42,0x2F,0xED,0x8D,0x00,0xD0,0xCB,0x89,0x6A,0x28, -0x05,0x12,0x95,0x48,0xBB,0xCA,0x1B,0xE1,0x98,0xC6,0xC4,0x78,0x18,0x41,0xF9,0x7B, -0x20,0x00,0xA6,0x5B,0xAC,0xAD,0x37,0x42,0xFA,0x61,0x1D,0xBE,0xF4,0x5F,0xEB,0x38, -0xB5,0xD3,0x34,0xBD,0xF7,0xE6,0xE7,0x49,0x2A,0xCE,0x4C,0xC7,0xD1,0x92,0x5C,0x24, -0x2C,0x0F,0x57,0xF7,0xDB,0xAF,0x6A,0xB4,0x7E,0x30,0x4F,0x45,0xB8,0x26,0x98,0x73, -0x4C,0x5A,0x32,0x86,0x7D,0xAC,0xA5,0x8B,0x93,0x9D,0x14,0x33,0x1C,0x27,0x77,0x04, -0x34,0xC3,0x0B,0x6B,0xDC,0x2B,0x52,0x69,0xE7,0x48,0xA2,0x7C,0xC5,0x11,0xB9,0xDC, -0xA8,0xFF,0xE3,0x13,0x72,0x97,0x15,0xE4,0x64,0x74,0x3B,0xD6,0xD3,0xCF,0x2B,0xD2, -0xEC,0xE5,0x70,0x67,0x3D,0x71,0xF5,0x2C,0x68,0x42,0x20,0xCC,0xF6,0x02,0x9C,0xCE, -0xC8,0xAA,0x86,0x62,0x7C,0x69,0xB3,0xD6,0x70,0xA2,0x91,0x53,0x11,0x70,0x02,0xCF, -0xFC,0x9B,0x93,0x73,0xD0,0xDA,0xFE,0x66,0x5D,0x21,0x4D,0x63,0xEC,0x19,0xAA,0xC2, -0xD9,0x89,0xA0,0x60,0x6E,0x85,0xAD,0x95,0xCA,0xCB,0x7E,0x4C,0x4E,0x23,0xBC,0x3C, -0x6F,0xC8,0x40,0xBB,0x0C,0xEF,0xD6,0xFD,0x90,0xA7,0xA3,0xD8,0x8C,0x9C,0x95,0x21, -0x67,0x7A,0xFF,0x33,0xBA,0x0F,0x0D,0xBC,0x11,0x3F,0xFF,0x7E,0x19,0xD3,0x28,0xB2, -0x91,0x9C,0xC2,0xB8,0x3E,0xBB,0xE9,0x4C,0x34,0xDD,0x44,0xEE,0x5A,0xA0,0x59,0xC4, -0x58,0x99,0x9F,0xB6,0xD8,0x65,0x76,0xD4,0x96,0x54,0x1A,0x6E,0x44,0xDD,0xE1,0xB7, -0x9E,0xF3,0xF9,0x08,0xB1,0x7A,0x99,0x6E,0x94,0xF0,0xDF,0x62,0xC0,0xE5,0xE6,0x6A, -0xEF,0x85,0xBA,0x7B,0x5F,0x1B,0x8E,0x44,0xB8,0xED,0x71,0xB5,0x9E,0x24,0x89,0x50, -0x11,0xD1,0x38,0x78,0xBF,0x84,0x3F,0x5C,0x9F,0xAB,0x0F,0x29,0x2E,0xA6,0x83,0xDF, -0xF5,0x74,0xE9,0xED,0xA5,0xD7,0xA9,0xAD,0x52,0x2D,0xE1,0x92,0x9B,0xD0,0xD6,0xE6, -0x73,0xB9,0x52,0x03,0x56,0x61,0x10,0xAB,0xF9,0x5B,0xAA,0x55,0x0E,0x9F,0x6B,0x75, -0x00,0xF2,0x1E,0x7A,0xCF,0x02,0x5A,0x77,0xDD,0x27,0x63,0x22,0xDB,0x6C,0x01,0xAF, -0x75,0x39,0x13,0x2D,0xB3,0x75,0x93,0x53,0x9A,0x62,0x01,0x74,0xDE,0x98,0x5E,0x19, -0x0D,0xA0,0x2A,0xC0,0xFB,0x17,0x4B,0x46,0x27,0x66,0x25,0x3A,0xF0,0x39,0x65,0x47, -0x37,0xA3,0xC1,0x77,0x88,0x5B,0x32,0x0D,0x1D,0x09,0xE4,0x64,0xC4,0x83,0x68,0x15, -0xC3,0x78,0xF3,0xF6,0x8E,0x1A,0x1C,0x8D,0xDE,0x1D,0xD4,0xC9,0x73,0xA8,0x4A,0xDA, -0x04,0x4F,0x50,0x5E,0x03,0xD4,0x66,0x92,0x55,0x40,0x2A,0xC3,0x88,0xFA,0x1B,0x5E, -0xC0,0x18,0x39,0xEA,0xEE,0x7F,0x6D,0xD8,0xAE,0x9F,0x1E,0x3C,0x7B,0x0B,0x60,0xA7, -0xCD,0x4A,0x0D,0x50,0x55,0xAB,0x0C,0xCB,0x10,0xA1,0x8D,0x99,0xB1,0x17,0x63,0xC7, -0x49,0xBA,0xB9,0xB4,0x22,0xA9,0x51,0x3D,0x59,0x76,0x31,0xD9,0x35,0x2F,0x64,0x1A, -0x6D,0xF5,0x4F,0xB1,0x86,0xA5,0x94,0x3F,0x3E,0x18,0xE6,0x42,0x01,0x95,0x69,0x48, -0x39,0x91,0x3F,0xD1,0x12,0xF2,0x64,0xB1,0xC1,0x90,0xAE,0x07,0x90,0xBC,0x5A,0xA4, -0x35,0x9E,0xCE,0x7D,0x33,0x8F,0x53,0x1E,0x97,0xCA,0x68,0x89,0xB6,0xBE,0x4B,0x87, -0x53,0x4B,0xEA,0x22,0x52,0x2F,0x34,0x16,0xA2,0xA9,0x05,0x26,0x59,0x6F,0xFF,0xFB, -0x84,0x02,0xAA,0x9E,0xA3,0x96,0x87,0x2D,0x8E,0xB4,0xAB,0xF1,0x24,0x58,0xDE,0x54, -0x26,0x80,0xE7,0x75,0xB6,0xFE,0xA1,0xB3,0xE2,0x81,0xAC,0x21,0x8D,0x0E,0x44,0xE8, -0x70,0xD9,0x98,0x1F,0xD7,0x5E,0xC6,0xBB,0x86,0xD5,0xCC,0x51,0xFC,0xFC,0xC1,0x45, -0x41,0x08,0x06,0x3C,0xF8,0xDD,0x57,0x26,0x0A,0xE5,0xF9,0x0A,0x9C,0x79,0xFE,0xA6, -0x50,0x2B,0x20,0x3E,0x23,0x6C,0x47,0x60,0x3A,0x4F,0x9A,0xF8,0x46,0x80,0x96,0x41, -0x13,0xEC,0x37,0x72,0xF1,0xA7,0xC9,0xC9,0x07,0x4D,0x90,0xF7,0x6A,0x7C,0xDA,0xE9, -0xE2,0xD7,0x8E,0xC1,0xB0,0xBF,0x8F,0x33,0x37,0xE7,0xF3,0x05,0xE5,0x28,0x51,0x76, -0x24,0xBD,0xE8,0x7F,0xF2,0x6D,0xD5,0xA9,0x81,0xB8,0x07,0x00,0xE2,0x81,0x79,0x36, -0x57,0xF6,0xA4,0x06,0x38,0xFA,0xC7,0xCC,0xEB,0x7E,0xB9,0x66,0xC8,0x46,0xCC,0x17, -0x82,0x82,0xEB,0xB0,0x78,0x27,0x97,0x6B,0x0B,0x7B,0x8B,0xED,0x08,0xA4,0x92,0xFC, -0xAE,0x7F,0xA2,0x3D,0xC9,0x43,0x74,0xF7,0xBF,0x80,0xBA,0xE4,0xBD,0xD2,0xC7,0xC5, -0x7A,0x56,0x28,0x9D,0x4E,0x3D,0x8C,0x67,0xA1,0x93,0xB2,0xCD,0x72,0x3A,0x9B,0x13, -0xD1,0x3B,0x1F,0xE8,0xA4,0x12,0xBF,0xF0,0x29,0xF4,0xFB,0x2C,0x47,0x12,0x47,0x88, -0x0B,0x20,0x6B,0xEE,0x16,0xBC,0x40,0x0C,0xE3,0x1F,0xDE,0xC6,0xB2,0xD8,0xC5,0xF8, -0x08,0x40,0xA1,0xF2,0xC4,0x77,0xCE,0xA5,0x8F,0x2A,0xD9,0x16,0xF5,0xCD,0x3A,0xF1, -0x85,0x5F,0x6F,0x88,0xE9,0xFB,0x55,0x05,0xAC,0x3B,0xDB,0x30,0x87,0xF0,0x19,0x63, -0x45,0xB5,0x48,0x18,0xBD,0x8B,0x35,0x61,0x14,0xF6,0xF1,0x23,0x56,0x65,0xFD,0xC6, -0x87,0x62,0x60,0x82,0x1E,0x03,0xC8,0xBE,0x25,0xC2,0xE0,0x36,0x67,0x2B,0xAF,0x22, -0x8A,0x30,0x54,0x38,0x1C,0x0C,0xC2,0x83,0x65,0xEA,0x49,0x31,0x82,0x04,0x46,0xD5, -0xE4,0x57,0xCF,0xEF,0x10,0xFD,0x6E,0x8C,0xEA,0xE0,0xCB,0x81,0xB4,0xE3,0x3C,0x71, -0x5D,0x79,0x14,0x84,0xD2,0xD5,0xF4,0x5B,0x6F,0x2F,0xEB,0x9D,0xE0,0xDC,0x0E,0xC0, -0xFA,0x1B,0xD2,0x5D,0xBE,0x41,0x29,0x01,0xF4,0xF3,0xC3,0xA8,0xDF,0x0A,0x8F,0xD0, -0x17,0x51,0x79,0x56,0x29,0xDC,0xC5,0xEF,0x03,0x1A,0xEC,0x4D,0x5F,0x54,0x06,0x72, -0x8B,0x6D,0x91,0x2E,0x36,0x04,0x61,0xFE,0x31,0x14,0x4A,0xB3,0x3B,0xB7,0xB7,0xEE, -0xD3,0x06,0x10,0xE2,0x32,0x4A,0x45,0x43,0x58,0xE8,0x43,0x3E,0xB0,0x85,0xB2,0x0E, -0x97,0x1C,0x83,0x96,0x15,0x76,0x5C,0x6C,0x23,0x31,0x59,0x80,0xE1,0x4E,0xDF,0x09, -0x0B,0x72,0xE0,0xBD,0x31,0x1E,0x1F,0x64,0x1C,0xDC,0x26,0x87,0x1A,0xA5,0x4D,0x33, -0xA5,0x6F,0xCC,0x6A,0xF0,0x24,0x41,0x0B,0x6D,0xAF,0x65,0xF1,0x30,0xC4,0x5A,0xDD, -0xDB,0x29,0xEB,0xF6,0x72,0xAB,0xF1,0x01,0x93,0xAC,0xE7,0xA5,0x28,0x5B,0xEB,0x3D, -0x35,0xAF,0x26,0x4D,0x04,0x92,0x44,0x54,0x77,0x39,0x36,0x00,0xD9,0x08,0x7D,0x27, -0x77,0x25,0xE4,0x07,0x48,0x55,0x53,0x17,0xED,0x6F,0x9F,0xBC,0x89,0x30,0x02,0x8E, -0x2B,0xBD,0x65,0xA1,0x07,0xC6,0xC6,0xAA,0xE5,0xE7,0x20,0x0E,0xC8,0xD0,0xD9,0x38, -0x90,0x5F,0x40,0x31,0x74,0xB0,0x85,0xDB,0x13,0x6C,0x1D,0xE8,0x38,0x64,0x3D,0xBC, -0xCE,0xD6,0xE2,0xB1,0x09,0xC3,0x9B,0x63,0xDA,0x62,0x40,0xED,0xA0,0xBA,0xA2,0x5A, -0x30,0x8B,0x69,0xBB,0x57,0x61,0x1B,0xEA,0xB5,0xA3,0x1E,0xD7,0x79,0x84,0xE6,0x0A, -0x00,0x9F,0xAA,0x16,0x7C,0xAE,0xAC,0xC8,0x41,0x22,0x2C,0x0C,0xF9,0xC5,0xC8,0x0C, -0xFE,0xC2,0x21,0x1C,0x2E,0x2A,0x57,0x99,0x86,0x8A,0x8F,0x3B,0xE6,0x0B,0xB2,0x81, -0xCA,0x1D,0xDA,0xE3,0xDF,0xD3,0xA4,0xE2,0x42,0x3E,0xE6,0x6C,0xAC,0xA0,0xB9,0x6C, -0x7E,0xD9,0x8D,0x8A,0x4B,0x01,0xD1,0xE9,0xF1,0xD7,0x8D,0xCD,0xDF,0xBE,0xC4,0xD4, -0xB7,0xA5,0xA9,0xFD,0xB8,0xDB,0x04,0x83,0x82,0xAE,0xC1,0x86,0x03,0xDD,0x8E,0x4D, -0xD5,0xE0,0xEE,0xAB,0x4C,0x6D,0x01,0xDC,0xF7,0xF9,0xCC,0x4D,0x27,0xAA,0x47,0x31, -0xF1,0xE4,0x53,0xE5,0xED,0x33,0x2F,0xE7,0x8F,0x14,0xF5,0xD4,0x32,0xC8,0x9F,0x79, -0xD4,0x0F,0x99,0x0F,0x5D,0x5C,0x14,0xE8,0xF3,0xDD,0x82,0xF0,0x5B,0x45,0x96,0x85, -0x10,0x44,0xEC,0xA7,0x95,0x0F,0xC7,0x7B,0x87,0x9C,0x4A,0x66,0x95,0x15,0xCF,0x39, -0xC9,0xE3,0x8E,0x61,0x8B,0x4C,0x2B,0x69,0xA2,0x8F,0x79,0x74,0x36,0x72,0xE3,0x2E, -0x98,0x4C,0x5E,0x18,0x46,0x50,0x0E,0xDE,0x37,0x69,0xEB,0xA7,0x3D,0x39,0x33,0x75, -0x4F,0x22,0x39,0x83,0xE4,0x5A,0xA2,0x1B,0xFD,0x7B,0x7C,0xC2,0xAF,0x4B,0x0E,0x56, -0x2C,0x88,0x09,0x71,0x73,0xDC,0x55,0xEE,0xAC,0x29,0x87,0x46,0x6B,0xB7,0xF5,0x2F, -0xC2,0x0E,0xC4,0xCA,0xBD,0x94,0xF2,0xA7,0x24,0x61,0xC2,0xB9,0xFE,0x94,0x03,0x61, -0x1E,0x8D,0xE9,0xFA,0xF8,0x3A,0x68,0x18,0x16,0x5E,0x96,0x08,0x41,0xD6,0xE2,0xC1, -0xF4,0xC0,0x1C,0x13,0xD6,0xBA,0x29,0x1E,0x6E,0xB3,0xAF,0x91,0x58,0xAE,0x21,0xBF, -0x45,0x20,0x04,0x8C,0xA4,0xBB,0xCE,0x80,0x4A,0xB6,0x59,0xDE,0xA2,0xB6,0x67,0xFE, -0x99,0xA3,0x29,0xBC,0xCD,0xB6,0x33,0x28,0x7E,0xA7,0x4C,0xEF,0x12,0x05,0x2A,0x52, -0xAA,0x49,0xBE,0x93,0xF7,0x48,0x91,0x3E,0x5B,0xB4,0x7F,0xFD,0xE1,0x5A,0x79,0xEC, -0x9B,0xB2,0x0A,0x9A,0xF2,0x07,0x67,0x1A,0xAE,0x23,0x88,0x7B,0xC0,0x70,0xBE,0x59, -0xC0,0x1F,0xE7,0xEC,0xF3,0x70,0xC3,0xF5,0xCE,0x52,0xED,0x2E,0xFF,0x73,0x71,0xFF, -0x76,0xCA,0x93,0xA3,0xC5,0xA8,0x1A,0x3B,0xB6,0xBF,0xD4,0xB7,0x1D,0xF4,0x86,0x5E, -0xEF,0xF6,0x10,0x09,0x1B,0xA6,0x0C,0xA9,0x2A,0xC7,0x3C,0x8B,0x90,0x48,0xC1,0xF0, -0x0D,0xA8,0xFB,0xC9,0x19,0x85,0x2A,0xB8,0x8A,0x26,0x7E,0x34,0xD1,0xA8,0x1A,0x46, -0x0F,0xB9,0xD8,0xEF,0x24,0x17,0x58,0x9B,0x07,0x5C,0xB0,0x2B,0x71,0x24,0x81,0x6B, -0x25,0x74,0x60,0xFC,0xB1,0xB2,0x89,0x7F,0xC7,0xCC,0x97,0xC1,0x15,0x54,0xE1,0x3F, -0x34,0x40,0x51,0xE9,0xFF,0x56,0xB8,0x2D,0x05,0x56,0xBF,0x16,0xCA,0xDC,0x1C,0x9C, -0x6E,0x02,0xCB,0x3B,0x06,0xB1,0x62,0x45,0x2C,0xE9,0x7D,0x0B,0x83,0x9C,0xA0,0x4B, -0x66,0x11,0xD5,0x12,0xEE,0x67,0xAD,0x19,0xF8,0x49,0xF7,0x22,0x13,0xE2,0x58,0xCC, -0x2F,0x76,0x5D,0xF3,0xC6,0xFC,0x98,0xC5,0x53,0x3C,0xC0,0x4F,0x84,0xCD,0x6B,0x26, -0x0A,0x9D,0x97,0x19,0x0C,0x8C,0x6D,0x47,0x89,0x3A,0xB4,0x54,0x78,0x63,0x94,0x94, -0x38,0x98,0x77,0x92,0x80,0x06,0x80,0x84,0x95,0x82,0xA6,0x25,0x9B,0x03,0x11,0xAB, -0x9E,0x96,0x45,0x6C,0x63,0x9A,0xE4,0x35,0x09,0xFA,0x4E,0x19,0x8A,0xDB,0xB5,0xB4, -0x97,0x6A,0x2C,0xE1,0x51,0x7A,0x6F,0x30,0x51,0x36,0xCF,0x72,0x37,0x95,0x91,0xB0, -0x8D,0xB3,0x57,0x5F,0x9A,0x7D,0x3E,0x5D,0x15,0x42,0x5C,0x68,0x18,0xA9,0x88,0x97, -0x9D,0x68,0x11,0xEE,0xD0,0xA1,0x5D,0xC4,0x08,0xEC,0x8B,0x44,0xF7,0xD3,0x16,0x9E, -0x1F,0x62,0x9E,0x5E,0x37,0x05,0x6B,0xBE,0x66,0x3B,0x10,0x23,0xF8,0x22,0xBA,0x92, -0x3F,0xAD,0x1B,0x42,0x08,0xB4,0x3F,0x8C,0xDF,0x50,0xCB,0x0D,0x2F,0x0A,0x20,0x50, -0x17,0x71,0x80,0x77,0xDE,0xA4,0x00,0x0D,0x78,0x89,0x0D,0x6F,0x75,0x9E,0xFD,0x3C, -0xBC,0x48,0xE3,0x56,0x6A,0xF3,0x69,0xC9,0xB7,0xA9,0x11,0xEA,0x6A,0x50,0x87,0xB1, -0xD1,0x2B,0xD6,0xF9,0xBB,0x8F,0x86,0x7D,0xD1,0xF6,0x35,0x3F,0x62,0xF0,0xE0,0xD0, -0x7F,0x36,0xFA,0x2E,0x8C,0x20,0xFB,0x5C,0x06,0x4A,0x75,0x76,0x59,0x49,0x53,0x21, -0x78,0x03,0x96,0xFE,0xDA,0x9C,0x52,0xC6,0xA4,0xA1,0x38,0xF4,0xC7,0x21,0x75,0x34, -0x59,0x23,0x64,0x46,0xC3,0xB3,0x6E,0xE1,0x4F,0x84,0xD2,0x3E,0xBF,0x74,0xD8,0xD7, -0xE5,0xF4,0x2D,0x06,0xFB,0x6E,0xEA,0xE6,0xCB,0x60,0x66,0xCE,0x49,0x76,0x85,0xA0, -0x32,0x9A,0x4A,0x9D,0x41,0x3C,0xDE,0xEB,0xEF,0x65,0x90,0x81,0x4B,0x7A,0x40,0x04, -0x7A,0x12,0xB5,0xD8,0x68,0xD0,0x4F,0xD8,0xBB,0x05,0xE0,0xE5,0xC5,0x2D,0xB0,0x90, -0x27,0x65,0x43,0xDA,0xFC,0x02,0x3A,0xD3,0x60,0x15,0x51,0xA3,0x47,0x60,0x5B,0x32, -0xD3,0x3A,0xF5,0xDF,0x55,0x42,0x3D,0xFB,0xA6,0xAB,0x37,0xC9,0xDD,0xB2,0x01,0x70, -0x6D,0xFC,0x9F,0xB9,0x92,0x63,0x17,0x4E,0xD5,0xD2,0x7B,0x82,0xB8,0x25,0x13,0xBA, -0x5F,0xF9,0x7F,0x32,0x70,0x88,0xD7,0x10,0x00,0x64,0x34,0xF6,0x1F,0xF8,0x43,0xFA, -0x18,0x57,0xF2,0x8E,0x28,0x31,0x23,0x43,0xF2,0xCB,0x47,0xAD,0xCF,0x81,0x12,0x55, -0x2D,0x67,0x7E,0xD5,0xAD,0xD2,0x43,0x7C,0xC3,0xE8,0xD9,0x7C,0x52,0x02,0x83,0x7A, -0x4E,0xCD,0x4E,0x27,0x54,0x35,0x99,0x14,0xD2,0xEA,0xFF,0x5F,0x14,0xB3,0x93,0xA1, -0x44,0xCF,0x73,0x28,0xA8,0x9D,0xB5,0x58,0x91,0xA6,0xE8,0x98,0xBD,0x78,0x1D,0x73, -0xFF,0xEF,0x83,0x4B,0x9B,0x85,0x91,0xE4,0x19,0xB0,0x6F,0x86,0x91,0x41,0x33,0xDA, -0x8F,0x1A,0x49,0xC9,0x71,0xA0,0x7A,0x2E,0x07,0xC3,0xD7,0xFB,0x33,0x1F,0xB3,0x53, -0xA3,0xCD,0xE7,0xD4,0x5A,0xF5,0x1E,0xC6,0xEA,0x49,0x14,0x77,0x9A,0x91,0x78,0x81, -0x4F,0x5C,0xCE,0xE7,0x1F,0xBD,0x96,0x39,0x70,0xE7,0xAB,0x32,0xB7,0x4D,0x48,0x02, -0x14,0x2F,0x61,0x15,0x90,0xE9,0x1D,0xA6,0x44,0xB5,0xA6,0x88,0x16,0xA4,0x23,0xB1, -0xC2,0xE0,0x89,0x49,0xB9,0xE1,0x0E,0xB8,0xD1,0x26,0x1B,0xC7,0x97,0xF8,0x85,0x29, -0x1D,0x68,0x74,0xEA,0x84,0x6A,0xF8,0x5E,0xD7,0xAF,0xE2,0xFC,0x7A,0xA3,0xF3,0x84, -0xC0,0xEC,0x4C,0xED,0xC4,0xD6,0x2F,0x17,0x20,0x29,0x17,0x6B,0x4A,0xC0,0x01,0x2E, -0x0B,0xE1,0x1B,0x98,0x36,0xB5,0x85,0x27,0x38,0xD3,0x56,0x2D,0x9E,0xED,0xC2,0xD6, -0xF7,0x4F,0xE4,0x2A,0x42,0xB3,0x5F,0x3C,0xE6,0x4B,0xB0,0xB2,0x9B,0xE3,0x9F,0x1F, -0xB6,0xAF,0x3F,0x9C,0x62,0x8A,0xB7,0x96,0x54,0x32,0xCD,0x6D,0x7B,0xD1,0x14,0x1A, -0x38,0xF8,0xCF,0x08,0x12,0xEA,0xE3,0xF2,0x16,0x8D,0x6D,0x8C,0xCA,0xEE,0x40,0x28, -0x60,0x60,0xD7,0xC0,0x75,0xC6,0xF4,0x51,0x52,0xBB,0x34,0x56,0x7D,0x68,0xA2,0xE9, -0xF0,0x1E,0x2F,0x47,0xFF,0x66,0x20,0x78,0xB2,0xFA,0x82,0x8D,0xCF,0xE0,0x1D,0xE1, -0x3A,0xF4,0x0A,0xAC,0xE4,0xEF,0xC7,0xBD,0x35,0x18,0x23,0x7A,0x35,0xA6,0x05,0xA0, -0xCC,0xF6,0x57,0xDB,0x50,0x0B,0x43,0x4D,0xC9,0xDC,0x5A,0x81,0xB1,0xF4,0xFE,0xF1, -0x25,0x3A,0x70,0x21,0x6B,0xBB,0x4C,0x22,0xC6,0xE1,0x58,0x8B,0x55,0xBA,0xCF,0xA3, -0xC1,0x0B,0x3E,0x73,0x7E,0xAA,0x78,0x13,0x73,0xD8,0x0D,0xFD,0x98,0x54,0x74,0x25, -0xEF,0xD0,0x55,0xCA,0x7C,0xF7,0x0F,0xE5,0x8C,0x23,0xD2,0xC9,0x2D,0x17,0x9A,0x40, -0x53,0x79,0x03,0x50,0xAC,0xF0,0x3A,0x89,0xA9,0x3F,0x65,0x04,0xFD,0x46,0xE3,0xEF, -0x64,0xDA,0xAB,0x97,0x6D,0x80,0xB5,0xAB,0xC3,0x57,0x07,0x7F,0xBF,0x2A,0xE8,0x63, -0xF6,0xA8,0x96,0xB4,0x4B,0x82,0xA4,0x88,0x9D,0x6D,0x68,0xBE,0x93,0x84,0x3F,0x7E, -0xFC,0x04,0x34,0x71,0x7B,0x5E,0x27,0xA5,0x45,0x7C,0x77,0x1A,0x9F,0x9F,0x25,0x48, -0x80,0xEB,0xE5,0xC5,0xD4,0x33,0x44,0x90,0x96,0x2F,0xE4,0xD2,0xEA,0x5B,0x8D,0x03, -0xB9,0x5E,0x93,0x90,0x3D,0xD9,0x09,0x65,0x8A,0xAA,0x2B,0xF2,0x73,0xB6,0xB4,0x7B, -0x66,0xD6,0x6E,0x33,0x15,0x43,0xCB,0xB2,0xD9,0x5B,0x31,0x64,0xD6,0x23,0x65,0x9F, -0xB4,0xA3,0xFA,0x38,0xBA,0x2E,0xA8,0x87,0xBB,0x4E,0x79,0xBC,0xD4,0xE6,0x69,0x3B, -0x2A,0xCB,0xDC,0x2D,0xF7,0xC5,0x0A,0x05,0xF0,0x45,0x22,0x6C,0x07,0x00,0xFB,0xAE, -0x02,0xA6,0x0E,0x67,0x32,0xD3,0x0B,0x58,0x46,0x43,0xD1,0xD5,0x82,0x20,0xE7,0x61, -0xA2,0x2A,0x95,0x4A,0xFC,0xA9,0x86,0x47,0x27,0x69,0x3F,0xC2,0xF4,0x53,0xA4,0x10, -0x11,0x72,0x6F,0xDC,0xB7,0x79,0xDD,0x4C,0x97,0xE6,0x35,0x40,0x15,0x13,0xC8,0x8B, -0x19,0xD2,0x08,0xBD,0x93,0x26,0xBB,0x99,0xC7,0x28,0x89,0x19,0x83,0x52,0x00,0xFF, -0xD7,0x82,0x51,0x01,0xF5,0x98,0x7D,0xF3,0xAD,0x40,0xEB,0x62,0x20,0x7E,0x67,0xE8, -0xC7,0xBD,0x87,0x80,0xC0,0xB0,0xA1,0x68,0x83,0x1E,0xD0,0xC3,0x9D,0x5A,0x29,0xEC, -0xEE,0x37,0x27,0x54,0xAA,0xCB,0xC3,0x00,0x8E,0xD5,0xA5,0x94,0x63,0x60,0x8B,0xFA, -0x46,0x1B,0xDB,0x18,0xA5,0xC1,0xC1,0x3D,0x98,0xDB,0x37,0x4A,0xE0,0xF9,0x21,0xC6, -0x76,0xE9,0xB8,0xB2,0xDC,0x90,0x6E,0xED,0x86,0xA8,0x8F,0x37,0xDA,0x38,0x7F,0xA9, -0xD2,0xDF,0x5F,0xC8,0x6C,0x12,0x64,0x62,0x53,0x72,0xE5,0xC4,0xFE,0xF1,0x08,0xD5, -0xA1,0xC1,0x22,0x70,0x57,0xA2,0x6B,0x0D,0x41,0x03,0xF9,0x7C,0x94,0x4F,0x6E,0x13, -0x42,0xA1,0xA7,0x4F,0x0C,0x97,0x5B,0x81,0xE5,0x74,0x16,0x7D,0x79,0x14,0x18,0xBE, -0x06,0x1C,0x72,0x30,0x8F,0x06,0x74,0x1C,0x4A,0x41,0x75,0x10,0xA7,0x9B,0x77,0x83, -0x5C,0x88,0xAF,0x5C,0x49,0xDF,0xD3,0x7E,0x28,0x54,0x3D,0xC8,0x3E,0x76,0x4E,0xFB, -0xCE,0xFA,0x92,0x7F,0x6A,0x29,0x9D,0xEB,0xCA,0xE3,0xFC,0x4E,0xF8,0x48,0xBE,0x26, -0x67,0x31,0x1C,0xAD,0x7D,0x65,0xDE,0x2C,0x76,0x6E,0x52,0x09,0xC4,0x30,0x56,0xBA, -0x8B,0xA0,0x35,0x9E,0x92,0xB4,0x6A,0x50,0x5F,0x70,0x41,0x01,0xF5,0x21,0x43,0x8E, -0x84,0x51,0x99,0x92,0x09,0x63,0x04,0x37,0x3C,0xAC,0xD8,0x4B,0xBE,0x58,0x0F,0xFD, -0x21,0x80,0x0C,0x76,0x5B,0x67,0xCF,0x0F,0xF1,0x8C,0xF3,0xFE,0x5D,0xDD,0x6F,0xC2, -0xBC,0x03,0x9D,0x59,0xC5,0x44,0xFE,0xDE,0xF2,0xB3,0x55,0x31,0x08,0xAC,0x0A,0xA2, -0x0E,0xBC,0x15,0x51,0xDD,0x02,0xBF,0x24,0x26,0xA0,0xEE,0x50,0xA9,0x45,0x61,0x11, -0x09,0xED,0xDE,0x3C,0x63,0x18,0x66,0x5F,0xD5,0x59,0x95,0xA1,0x52,0x71,0x9E,0xCE, -0xFB,0x55,0xFF,0x1C,0xB0,0xD0,0xF5,0x0C,0x13,0x3B,0x32,0x78,0xCD,0x25,0x11,0x45, -0x10,0x95,0x1D,0x42,0x3B,0xE2,0xF0,0xEC,0xB1,0xC5,0x24,0x42,0x5A,0x16,0x3E,0xAF, -0xE9,0x66,0xEC,0x39,0xEE,0x11,0x9A,0x36,0x2E,0xDD,0xC4,0xF3,0xD9,0x8F,0x94,0x93, -0x75,0x02,0x0F,0x88,0x10,0xB7,0x94,0x04,0x99,0x12,0xE6,0xD8,0x1A,0xBF,0x39,0x87, -0x31,0xBF,0xDA,0xF7,0x5D,0x5C,0x36,0x86,0x4C,0xC8,0x8C,0x2B,0x77,0xCA,0x0E,0x2C, -0x71,0xB8,0x73,0xDF,0x58,0xA8,0x69,0x30,0xAB,0xC9,0x12,0x59,0x6F,0x7B,0x91,0xCC, -0x6B,0x2B,0x07,0x9B,0xDE,0xCD,0x19,0x1B,0x22,0xDF,0x60,0x36,0x1F,0xB1,0x64,0x4E, -0x44,0x17,0x1E,0xBC,0x4D,0xB9,0x5D,0x01,0x89,0x95,0x8D,0x3D,0x48,0x05,0x0D,0x8A, -0x6C,0x7A,0xCC,0xF6,0xB6,0xEB,0x0C,0x85,0xD8,0x92,0xE0,0xF6,0x8E,0x3B,0xFD,0x57, -0xCB,0xA7,0x9C,0xB6,0xF9,0x5D,0xD9,0xF1,0x87,0x61,0x5E,0xA5,0x9C,0x28,0xCE,0x72, -0xF9,0x59,0x3A,0xB8,0xCC,0x75,0x05,0x6A,0x47,0x8A,0x00,0x47,0x7F,0xAD,0xAE,0x4D, -0xE8,0x81,0x9E,0xA7,0x24,0x0D,0x99,0x56,0x06,0x0A,0x06,0x69,0xA4,0x2C,0x9C,0xB9, -0xAE,0x30,0x8E,0x7C,0xB5,0x24,0xAA,0xBA,0x34,0xD1,0xF2,0xE8,0xAD,0x39,0xDB,0x46, -0x34,0xE2,0xD4,0x3E,0xD3,0x9A,0x6C,0xD0,0x2C,0x2B,0xB3,0xAE,0xE2,0x3C,0x2D,0x62, -0x4F,0x9B,0xD1,0x1E,0x8C,0x3F,0x34,0x2E,0xDE,0xD5,0xB0,0x6E,0x92,0x91,0xCB,0xB9, -0x1E,0x50,0xBC,0x19,0x96,0xE6,0x4F,0x90,0x2F,0x26,0x49,0x15,0x6D,0x4E,0xFF,0x42, -0xA6,0x71,0x9C,0xEB,0x5E,0x75,0x1C,0x43,0xF6,0xE0,0x2B,0xB2,0xE2,0xC5,0xAB,0xDD, -0x66,0x93,0xC2,0x00,0x6C,0x70,0xFC,0xC8,0xCC,0x42,0xD5,0xA4,0xCD,0x2F,0x98,0x4A, -0x95,0x62,0xB9,0xF9,0x9F,0x1A,0x26,0x1D,0x7D,0xDD,0xCD,0x44,0x67,0x13,0x01,0xC9, -0xF1,0x81,0x08,0x65,0x39,0x14,0x14,0xE3,0x56,0x6A,0x02,0x66,0xCA,0x07,0x31,0x0A, -0x4C,0x54,0x77,0x21,0xD2,0xB6,0x96,0xAE,0xA5,0xBF,0xD8,0x0C,0xFD,0xAC,0x44,0x67, -0x4B,0xFD,0x5F,0x61,0x26,0xE9,0x20,0xAB,0xD7,0x58,0xD9,0x92,0x62,0x4C,0xF5,0x7F, -0xD8,0x89,0x1B,0x7B,0x43,0x99,0x0B,0x2D,0xB8,0xD1,0xCF,0xE0,0x97,0xCE,0x3F,0x0F, -0xE4,0x90,0x3C,0x54,0x37,0xDD,0x11,0xBE,0xB3,0x7A,0x85,0x0D,0xFE,0x0A,0x8B,0x58, -0x89,0x42,0x76,0x7C,0x65,0x8C,0x95,0x45,0x78,0x2B,0x82,0x60,0x0E,0xD7,0xB5,0x9E, -0x54,0x12,0x36,0xDB,0xD3,0x59,0xE1,0x0A,0x2B,0x74,0x71,0xDE,0x3D,0xF2,0xA6,0x8C, -0xAA,0xB4,0x38,0xE9,0xFB,0x85,0x7A,0x3F,0xC9,0xB4,0x9A,0x80,0x5D,0xCD,0x23,0x6F, -0x72,0x10,0x27,0xF8,0x83,0x19,0x46,0xD7,0xE7,0xF5,0x1A,0x86,0x6F,0x39,0xA2,0xB4, -0xC3,0x00,0xFC,0xBE,0xAA,0x2A,0xAA,0x46,0x66,0xC7,0xC1,0x72,0x28,0xC6,0xB7,0xBD, -0x11,0x5A,0xBE,0x24,0x14,0xEC,0xC0,0x20,0x20,0xDF,0x3B,0x33,0xDE,0xE2,0xB2,0xF2, -0x71,0xDF,0x81,0xC7,0x16,0xFD,0xE3,0x06,0xEC,0x5E,0x50,0x6B,0x94,0x68,0xF0,0x30, -0x4E,0x09,0x00,0xD7,0x3E,0x21,0x78,0x33,0x4D,0x70,0x0E,0x50,0xDA,0x6C,0xD4,0x8D, -0xC4,0xA9,0xD4,0xFE,0x45,0x43,0x10,0x59,0x1A,0x7D,0xC5,0x25,0x78,0x7A,0xEE,0x73, -0xE8,0x55,0x98,0x56,0x4F,0x41,0x2D,0x56,0xC4,0x6B,0xCB,0xB7,0xD2,0x46,0x77,0xF0, -0x1A,0x36,0x32,0x66,0x1E,0xEE,0xFD,0x2F,0xB9,0x75,0xB8,0x0F,0x8C,0x29,0xB6,0xCA, -0x2C,0xD1,0x48,0xC2,0x9C,0xE4,0x72,0x9F,0x4A,0xA0,0x62,0x65,0xFB,0x55,0x7F,0xEE, -0x32,0xAC,0xF0,0xB1,0x2C,0xEB,0x1D,0xA4,0xF2,0xB2,0x13,0x79,0x9D,0x93,0xC1,0x84, -0x52,0x29,0xCF,0x52,0x19,0xDB,0x91,0xFF,0xF3,0x16,0x64,0x96,0xEB,0x3E,0x9A,0x69, -0xEF,0xFC,0xB0,0x16,0x88,0xF4,0x0C,0x7C,0x9E,0xB9,0x51,0xF5,0x84,0x03,0x15,0xB7, -0x7B,0x21,0xDC,0x4C,0x51,0x53,0x6E,0xBA,0x46,0xDB,0x44,0xBD,0xBD,0x7B,0xF8,0x2E, -0x09,0x1C,0xFF,0xDE,0xA7,0x1D,0xFB,0x99,0xC0,0x39,0xF3,0x7C,0x4D,0xA6,0xC6,0xE8, -0xC2,0x92,0x2D,0x77,0xEB,0x5E,0x3C,0x8E,0x87,0x85,0x7E,0xD2,0xA5,0x3A,0xBE,0xD4, -0x53,0xBB,0x1E,0x9B,0x3A,0xEA,0x40,0x61,0x8F,0xAC,0x60,0xC1,0xB0,0x0E,0xAF,0xE5, -0xA2,0x17,0x12,0x94,0xED,0x84,0x27,0xFA,0xC5,0xCF,0xBC,0x58,0xFC,0x7D,0xD6,0xAE, -0x73,0x82,0xF6,0x31,0xE9,0x4F,0x1F,0xA8,0x70,0x02,0x9C,0x73,0x9C,0x42,0x53,0x4D, -0xF0,0x13,0xD9,0xAC,0xCA,0x7E,0xCE,0x36,0xBF,0x01,0xA3,0xD5,0xF9,0x22,0x22,0x18, -0xC9,0xFE,0xA1,0x35,0x35,0xCC,0x32,0x98,0x05,0x35,0xF1,0xD8,0x3C,0x23,0x34,0x45, -0xF8,0xB0,0xF3,0xD1,0x24,0xF8,0x03,0x8D,0x73,0x80,0xC8,0x8D,0x87,0xA5,0xDA,0x88, -0x23,0xDB,0x4A,0xFF,0x79,0x8F,0xF5,0x8F,0x47,0x7F,0x33,0x52,0x69,0xC0,0x99,0x3D, -0x8A,0x8D,0xD0,0x43,0x7E,0xBA,0x99,0x5F,0x8A,0x5A,0x2F,0xE5,0x10,0x6F,0xC8,0xED, -0x29,0x25,0x17,0x74,0x0E,0x35,0xBB,0x9E,0xF1,0x30,0x47,0x87,0x1B,0xE3,0xA4,0xAF, -0x5B,0x18,0x34,0xE6,0x0C,0x24,0x98,0xB8,0x30,0x6E,0x7D,0xE8,0xCC,0xFE,0x0A,0x83, -0xF7,0xBA,0xF1,0xEC,0xD0,0xA7,0xB5,0x88,0x94,0xB6,0x6C,0xF7,0xD6,0xC8,0x11,0x8F, -0x18,0x6B,0x45,0x90,0xBD,0xC4,0x80,0x27,0x5C,0x65,0x3F,0x64,0x7E,0x83,0xD5,0xFA, -0xAD,0x1D,0x10,0xA9,0x57,0x89,0x75,0xCE,0x7C,0x79,0xBA,0xAB,0x47,0xFB,0x38,0x63, -0x25,0xE0,0xB3,0x76,0xCD,0x4B,0xA2,0xE6,0xEA,0x2A,0x4B,0xB1,0x96,0x1F,0xAD,0xC6, -0x50,0x74,0xB8,0xA4,0xA0,0x28,0x97,0x49,0x32,0x48,0x5E,0xF9,0x9A,0xBB,0x68,0xC4, -0x38,0x52,0xAD,0x3A,0x4B,0x8A,0x15,0x04,0xE2,0x03,0x55,0xA2,0x08,0x2E,0x8E,0x17, -0x55,0x80,0xE7,0x12,0x5D,0x8B,0x48,0xC1,0x5B,0xB5,0x53,0x51,0x14,0xE1,0xAE,0x92, -0xD9,0x1B,0xCA,0xB2,0x27,0x06,0x57,0x0F,0x4C,0xD4,0x79,0xBF,0x57,0x90,0xDD,0xE4, -0x81,0xE1,0x5C,0x01,0xF7,0x5D,0x5C,0x44,0xCE,0x64,0xF6,0xB5,0x3B,0x0B,0x9D,0x05, -0x21,0x86,0x3D,0x09,0xA8,0x3B,0x89,0x60,0x97,0x34,0x38,0x09,0xF3,0x7F,0xDC,0x93, -0x1C,0x0D,0xCB,0xEF,0x0B,0x11,0xF4,0x68,0x08,0xEA,0xA0,0xEF,0xC0,0x5A,0xCF,0x81, -0xE9,0xC7,0x49,0x9F,0x2E,0xFA,0x3E,0x82,0x75,0xF4,0xD3,0x57,0x40,0xD3,0x91,0x23, -0x3E,0x69,0x54,0xB3,0x7B,0x9E,0xD6,0xA9,0xF9,0x19,0x59,0x94,0x8B,0x01,0x1F,0x8A, -0xAF,0x40,0x67,0x5F,0x33,0x16,0x29,0xEC,0xBC,0x83,0xF7,0x2B,0xBB,0x82,0xC3,0xA7, -0xDC,0xEF,0x95,0x04,0x67,0x9D,0xB6,0x63,0x06,0xB7,0xA5,0x26,0xD0,0x31,0x2A,0x06, -0x13,0x07,0xC9,0xD2,0x6F,0x8E,0xA8,0x4A,0x49,0x22,0x36,0x9B,0x76,0xA9,0x76,0x87, -0x9B,0xFA,0x6A,0x0D,0xE4,0x78,0x4E,0x77,0x72,0x24,0xBF,0x62,0x00,0x04,0x2D,0x6A, -0x1F,0xC2,0x6D,0xD0,0x58,0xAF,0x07,0x37,0xE5,0xD3,0x39,0x97,0xF2,0xAE,0x4E,0x5A, -0x12,0x95,0x18,0x1B,0x3B,0x05,0x37,0xC5,0xA3,0xCB,0xC3,0xD6,0x31,0x56,0x63,0x8E, -0xBC,0x6A,0xAA,0xE7,0x3D,0xDF,0x2C,0xB1,0x3C,0x15,0x5B,0x30,0x6C,0x9F,0x6D,0x8B, -0x5C,0xB1,0x1C,0xA6,0x04,0x37,0x86,0x91,0xE3,0xA7,0x22,0x4D,0xE7,0x9A,0x5F,0x6B, -0x0B,0x41,0x88,0x28,0x64,0x63,0xE2,0xE1,0x02,0xE5,0x9D,0xED,0xB3,0xA8,0x60,0xDA, -0x93,0x59,0x40,0x70,0x48,0x74,0x41,0x86,0xD8,0xA1,0xAB,0xB4,0x51,0x69,0xE6,0x6D, -0xED,0xA1,0xC7,0xE0,0xE8,0xA0,0x68,0x0C,0x03,0x41,0xEA,0x02,0xEE,0x61,0x6E,0xDF, -0x07,0x84,0x2C,0x2A,0x61,0x47,0xAD,0x17,0xF4,0xC6,0x08,0xA3,0xF6,0x20,0x28,0x25, -0x05,0xD9,0x5B,0xDC,0x85,0xC3,0x5D,0xA3,0x0F,0x3A,0xCC,0xDA,0x0D,0x71,0x7A,0xA1, -0xFD,0x52,0xC4,0x95,0x04,0xA6,0xD0,0xBA,0xBC,0x48,0xF0,0x87,0x82,0xA2,0x56,0x1B, -0x42,0x10,0x25,0x35,0x50,0x99,0xE2,0x0B,0xEB,0xC6,0x64,0x77,0xE6,0xC2,0x26,0x4F, -0x3B,0xA2,0xFA,0x48,0xDB,0xAB,0xE7,0xEB,0x0B,0x87,0xD2,0xAC,0x4C,0xFB,0x06,0xA7, -0xA3,0x7C,0x65,0xAE,0x86,0xA5,0x2E,0xEE,0xA5,0x7B,0x60,0x53,0x57,0xFD,0x72,0x7D, -0xAC,0x8D,0xC9,0xA2,0xBA,0xBC,0x09,0xC1,0xB2,0xBC,0x23,0x1F,0x3D,0x43,0x14,0xBB, -0x68,0x71,0x32,0xDB,0x41,0xEE,0x58,0x45,0xB0,0x4A,0x54,0x42,0xCD,0xA7,0xA0,0x3F, -0x8A,0xF6,0xC5,0x7A,0x59,0xA8,0x19,0xBF,0x5A,0x80,0xBF,0x67,0x08,0x2E,0xBB,0xD8, -0xCB,0x16,0x1E,0xCC,0xE6,0x20,0x11,0x0D,0x24,0x10,0x38,0x9F,0x21,0x8E,0x31,0x0C, -0x97,0x34,0x7A,0x53,0x0C,0x05,0xFA,0xC7,0x18,0x3F,0x1F,0x86,0x49,0xF5,0x5B,0x6E, -0x39,0xAE,0x3F,0xEC,0x3C,0xD9,0x79,0xEA,0x89,0xD3,0x2C,0xAF,0xB6,0xBD,0x1E,0xE6, -0xB3,0x43,0xB3,0x2F,0xF7,0x57,0xAB,0x43,0x5E,0xFF,0x31,0x01,0x5E,0xE8,0x35,0x82, -0xC0,0x5D,0xCE,0x97,0x77,0x09,0x22,0xE1,0xAB,0x8F,0xB3,0xCB,0x94,0xCD,0xDF,0x69, -0x59,0x64,0x23,0xEF,0x45,0x88,0xD6,0x3A,0xA8,0xB0,0x15,0x04,0x67,0x9E,0x80,0xD7, -0xDF,0x93,0xB4,0x1A,0xB7,0xEB,0x7C,0x0A,0x2C,0x6D,0x12,0x3C,0x2E,0x22,0xC0,0x00, -0x56,0x95,0x8F,0xE3,0xC1,0xB0,0xD1,0xE7,0xA4,0xB2,0xB1,0xC1,0xC8,0xA9,0xFD,0xF6, -0xC5,0x00,0xC0,0x5E,0x67,0xEC,0x49,0x66,0x6B,0x64,0xED,0x29,0xD6,0xA1,0xD4,0xE5, -0x35,0xB4,0x24,0xDA,0xBF,0x48,0x56,0x77,0x8F,0x5A,0xD5,0x94,0x75,0x8D,0xB3,0xF2, -0x3E,0xFF,0xF4,0x81,0x2D,0xAE,0xC3,0xA4,0xE7,0xC4,0xC0,0xB2,0xF7,0x66,0xFE,0x50, -0x2B,0x9D,0x2C,0xC9,0x21,0x6B,0x67,0xA6,0x92,0x16,0xCB,0x26,0xC2,0x0B,0x51,0x33, -0xDA,0xCE,0xBA,0xD3,0xF0,0xFE,0x83,0x03,0x1A,0xC9,0x68,0xDB,0x15,0x91,0x79,0xF1, -0x58,0x83,0x51,0x71,0x44,0x1A,0x07,0xF3,0x96,0x69,0x45,0x40,0xE9,0x6E,0xD7,0x43, -0x96,0xD3,0x08,0xCD,0x8C,0x5B,0x73,0x65,0x36,0x61,0x24,0x27,0x3C,0x31,0xF3,0x25, -0x19,0x63,0x8A,0xC7,0xE0,0x1B,0xE8,0x84,0x6E,0xD2,0xB2,0xDD,0x37,0xE1,0xB8,0x7E, -0x33,0x02,0x9D,0x29,0xA3,0x68,0x99,0xF2,0xE2,0x72,0x9F,0x46,0x28,0x9B,0x76,0xF3, -0x4F,0xED,0x4C,0x9D,0xA7,0x0E,0x17,0x8D,0x3D,0x23,0xA8,0x4B,0xF9,0xB8,0xE8,0xC2, -0x53,0xC8,0x81,0x2A,0xDE,0x5F,0xB8,0x5D,0x94,0x9F,0x32,0x1D,0x95,0xBF,0x38,0xF7, -0xA8,0x37,0xB5,0xF5,0x30,0x1C,0xDD,0xE8,0x4F,0xB1,0x8B,0x76,0x63,0xE2,0x3A,0x80, -0x91,0x82,0xC3,0xA0,0x8B,0xF2,0x5B,0x25,0x7E,0x55,0xD9,0x38,0x52,0xF3,0x2F,0xB4, -0x5F,0xD2,0x9A,0x1C,0xC9,0x13,0xFB,0x9A,0xAF,0xF0,0x3D,0xAD,0xE0,0x7B,0x90,0xBC, -0x0C,0x01,0x52,0x8F,0x61,0xD7,0xB0,0xEF,0x40,0x8C,0x89,0x7C,0xD5,0x16,0x3F,0xDF, -0x1D,0xD9,0xF6,0x90,0x7B,0xCC,0x86,0xE3,0xEC,0x86,0x4C,0xDE,0xF8,0xCA,0x0F,0x5C, -0x27,0x87,0x37,0xFF,0xAC,0x62,0x9B,0xCF,0x9E,0x14,0x6F,0xE3,0xDB,0xC8,0x29,0x4D, -0x1E,0x32,0x41,0xAA,0x12,0x78,0x42,0xB4,0x75,0x17,0x55,0x54,0x5C,0x2D,0x39,0x26, -0x93,0x8E,0x06,0x04,0xFA,0x00,0xDE,0x88,0xBE,0xBE,0x87,0xDA,0x9B,0x61,0x2E,0x65, -0x24,0x6C,0x80,0xC5,0x0A,0x3E,0x03,0x4E,0xCC,0x2C,0xA4,0xE7,0x0E,0x97,0x0D,0x2B, -0x31,0x0E,0x58,0x8D,0x33,0xD3,0x7B,0xD7,0x58,0x76,0xC8,0x3A,0x6C,0x4E,0xCB,0x8C, -0xC3,0xB6,0x79,0xAD,0x4E,0xE4,0x5A,0x78,0x47,0xCC,0xA1,0xD5,0xAE,0x0C,0x81,0x06, -0xFC,0xB5,0xB6,0x0B,0x2B,0x95,0x3A,0x2D,0xC4,0x51,0x8E,0x44,0x7F,0x2F,0x1F,0x37, -0xDC,0x78,0x03,0x20,0x4B,0x10,0x05,0xCE,0x15,0xF4,0x6A,0xD1,0x47,0x2B,0x4D,0xFC, -0x00,0x1B,0x49,0xB9,0x07,0x69,0x76,0x85,0xE4,0xFB,0x66,0x7D,0x20,0xFC,0xD6,0x92, -0xAB,0xDC,0x02,0xCF,0x65,0xB1,0x3E,0x90,0x5F,0x36,0xE0,0x93,0x4D,0x89,0xE1,0x39, -0xA5,0xCA,0xDC,0x5D,0xCF,0x28,0x02,0x13,0x73,0x9E,0xAC,0x6F,0x70,0x83,0xEE,0x3B, -0x6E,0xC7,0x8B,0x28,0x6D,0x12,0x14,0xED,0xF9,0xB7,0x78,0xCF,0x18,0xF8,0x84,0x59, -0x30,0xE9,0x2A,0x13,0x23,0x36,0x10,0x50,0xC6,0xA7,0xF9,0x19,0x83,0xD0,0xB1,0x85, -0x04,0xA1,0x35,0xEE,0x5C,0x5C,0x46,0x09,0xE5,0x32,0xB7,0xEF,0xF1,0xDF,0x48,0xA3, -0x73,0x05,0x34,0x01,0x2A,0x07,0xEB,0xE4,0x85,0xD1,0x88,0x6A,0x7D,0xEA,0x13,0x93, -0x02,0x17,0x8C,0x1D,0x4C,0xB9,0x2D,0x8E,0x9B,0xA2,0x30,0x17,0x12,0x5A,0x28,0x9C, -0xD8,0xC2,0x7F,0x77,0x3B,0x70,0x51,0xAA,0xAD,0x06,0x4A,0xF0,0x9D,0xD8,0x98,0x96, -0x11,0xC3,0xED,0xA6,0x8A,0x60,0x8A,0xEC,0xE3,0xBB,0x4E,0xD4,0x81,0x15,0xBD,0x21, -0xE2,0x9C,0xBE,0x18,0xB9,0x73,0xAF,0xFE,0x3E,0x1C,0x0E,0x84,0xF5,0xA3,0xF2,0xF4, -0xE5,0xCD,0x75,0x75,0x49,0x4D,0x72,0x38,0x53,0x34,0x44,0x56,0x71,0xF1,0x09,0xA5, -0xAF,0x66,0x7E,0x98,0x20,0xF9,0xB6,0x6F,0x6F,0x1B,0x63,0x4F,0x6B,0x85,0x9A,0xE1, -0x5B,0x68,0xE6,0x4B,0x69,0x74,0x9A,0x92,0xA6,0x44,0xC6,0x9C,0xA0,0xD2,0x97,0x94, -0xA1,0x70,0xA0,0x0A,0x9F,0x71,0xBE,0xDD,0x74,0xDE,0x84,0xC6,0xCA,0x6C,0xF1,0x52, -0x7A,0x42,0x21,0xFE,0xD8,0x64,0x41,0xD4,0xC5,0x98,0x5F,0xD6,0x26,0x45,0x60,0x61, -0xFA,0x03,0x0F,0xF8,0xEA,0xE5,0xB5,0x0F,0x1D,0x89,0x40,0x72,0x1A,0x3D,0x88,0xFD, -0xB5,0xF5,0x0A,0xDC,0x7A,0x5E,0x57,0x2A,0xD1,0x60,0xBA,0x55,0x9C,0xAA,0x7F,0x08, -0x4B,0x57,0x30,0xCA,0x55,0x6D,0xBD,0xBD,0x11,0x8B,0xE4,0xB7,0x7C,0x98,0xF4,0x0D, -0x29,0x91,0xE9,0x6D,0xDA,0x39,0x36,0x22,0xA9,0x79,0xC4,0x96,0x2F,0x50,0x27,0x9E, -0xD0,0x62,0x18,0x16,0x25,0x0D,0xE9,0xD9,0xF8,0x7E,0xA9,0x5D,0x54,0x4A,0x99,0x47, -0xB9,0xEF,0x11,0xEA,0xD5,0x33,0x34,0x1F,0xFC,0x01,0x27,0x3B,0x40,0xE0,0x1C,0x91, -0xB8,0x08,0x63,0x74,0x4A,0x82,0xD4,0x07,0xFB,0x41,0x0F,0x92,0xF6,0x14,0x19,0xCE, -0x62,0xDD,0x90,0x1E,0x7D,0xF7,0x7F,0x6A,0x46,0x05,0x70,0x47,0x74,0xFF,0x54,0x6C, -0xAD,0x6A,0xBB,0x3C,0xD0,0xC7,0x6B,0xA9,0x22,0x99,0xC1,0xA4,0x46,0x59,0xAA,0x62, -0x16,0x7C,0xBA,0x80,0xBC,0xFC,0x07,0x38,0xC8,0xED,0xB1,0xB3,0x6F,0x46,0xB8,0x7B, -0xFB,0x36,0x11,0x8B,0xEB,0x95,0xB3,0xFC,0xE7,0xCA,0xA8,0x8F,0x2B,0xD5,0xA2,0x0F, -0x96,0x31,0x40,0x40,0x2D,0x65,0x8D,0x21,0xCF,0x80,0x7A,0xE2,0x7A,0x2E,0x26,0x5D, -0x28,0xC2,0x1F,0x13,0x3F,0x56,0x9E,0x04,0x68,0xC0,0x2A,0x3F,0xAF,0x61,0x52,0xEB, -0x76,0x29,0xDF,0xF1,0xDC,0x36,0x1B,0x3B,0x5A,0xCE,0x8C,0xC1,0x73,0x54,0xC9,0xC3, -0x70,0xA9,0x9E,0xDF,0x07,0x04,0x9A,0xCF,0x4B,0xD1,0x28,0x19,0xEF,0xBC,0xF5,0xBB, -0x84,0x72,0xAC,0x5E,0x0E,0x43,0x8F,0x30,0x0D,0x0A,0x38,0xA8,0xDC,0x2D,0x19,0x92, -0xC5,0x88,0xB4,0x18,0x41,0xB5,0x8A,0x14,0x97,0x48,0x62,0x7A,0x1A,0x4B,0x73,0x2C, -0x98,0x03,0xBE,0xE6,0x0A,0xF9,0xF3,0x67,0xAD,0x27,0xA3,0x24,0xC9,0x45,0x87,0xB4, -0xE3,0xFA,0x4D,0x17,0xF1,0x06,0xC7,0xB8,0xAA,0x4A,0x68,0x75,0x10,0xFB,0xFC,0xAE, -0x44,0x98,0x8B,0xCE,0x6E,0x89,0x93,0x33,0x58,0x6A,0x49,0xCD,0x83,0x28,0xAF,0x66, -0x52,0x66,0x29,0xF4,0xF9,0xA6,0xA0,0xD9,0xB3,0x34,0xAB,0x0D,0x86,0xA3,0x4F,0x54, -0xB2,0x7E,0xB6,0x45,0x7A,0x0C,0x39,0xE5,0x4A,0x4F,0x5A,0xFE,0xEC,0x76,0x95,0xA7, -0x90,0xB1,0x01,0x6E,0xB9,0xA1,0x09,0xF1,0xD6,0xFE,0xB9,0x9A,0xE2,0x88,0xA7,0x01, -0xFA,0x6B,0xD4,0x9D,0xD4,0x96,0x7C,0x5A,0x92,0x81,0x6C,0x27,0x40,0xC5,0x25,0xEA, -0x64,0x6A,0x33,0xEF,0xCC,0x09,0xCD,0xBA,0xD2,0xA9,0xC5,0x20,0x1F,0xC0,0x93,0x1E, -0x03,0xE2,0xD2,0xA6,0x04,0xEF,0x2D,0xF5,0xA5,0x46,0xC4,0x84,0x02,0x17,0xBF,0xB0, -0x4B,0xF7,0xB0,0x7E,0x9D,0xD6,0xC0,0x8D,0xFF,0x2A,0x19,0x10,0xA5,0xD1,0xDD,0x69, -0x8A,0x40,0x52,0xF8,0x5B,0x26,0xFE,0x50,0x6D,0x09,0x24,0x62,0xEB,0xF2,0x48,0x9F, -0x24,0xCD,0xEE,0xBF,0x67,0xCE,0x86,0xCC,0xC4,0xDB,0xAA,0xA9,0xA8,0xE5,0x8F,0xD3, -0x37,0xD3,0xC7,0xB7,0x56,0xDB,0x97,0xF8,0x28,0xE8,0x83,0x38,0x1C,0x0A,0xF3,0x02, -0xAE,0x0F,0xA4,0xFD,0x1D,0x97,0xEE,0x8B,0x27,0xE4,0x2F,0xC9,0x72,0x91,0x94,0xD5, -0x85,0x2F,0x69,0x48,0xFE,0xF7,0x6B,0xB4,0x82,0x00,0xBA,0x18,0xB9,0xC3,0xAC,0xD1, -0x23,0x10,0x6A,0x87,0xAB,0x92,0x1A,0xD4,0x1F,0x2F,0x2B,0x9B,0x88,0x5D,0x7D,0xF2, -0x9D,0xE3,0x35,0xD4,0x83,0xFF,0xC8,0x9E,0x74,0x77,0xE7,0x1A,0x0B,0x6D,0x50,0x2E, -0xA6,0xBD,0x1B,0x75,0x3E,0xB1,0xEC,0x9A,0x64,0xF6,0x31,0x25,0xD7,0x58,0xCB,0x06, -0xD3,0x76,0x16,0x22,0xC0,0x13,0xD6,0x8C,0x4D,0x22,0x91,0xAF,0xB5,0x32,0xA3,0x7D, -0x41,0x78,0x00,0xFC,0x43,0xB9,0x4F,0xB0,0xE5,0x6E,0x6D,0x83,0xB7,0x3D,0x9E,0x77, -0xF9,0x0B,0x1E,0x81,0x79,0xE7,0x8E,0xDF,0xD5,0xC4,0x0E,0x71,0x18,0x44,0x4E,0x26, -0x93,0xD1,0xCB,0x72,0x5D,0x90,0x47,0xA3,0x71,0xBE,0xE9,0x47,0x12,0xF4,0xC1,0xA4, -0x8F,0xA0,0xD9,0xCA,0x37,0xF6,0xF9,0x65,0x02,0x06,0x94,0x59,0x1D,0xCF,0xAE,0x14, -0x60,0xD7,0x7D,0xCB,0xDA,0x80,0xA2,0xC8,0xE1,0x39,0x11,0x39,0x2D,0x94,0x22,0x21, -0x5D,0x09,0x12,0x44,0xD0,0x2C,0x00,0x0D,0x1A,0xE6,0x25,0xC6,0x7F,0xA5,0xC6,0x6F, -0x47,0xF8,0x41,0xD2,0x75,0xFD,0x95,0xE9,0xC5,0x45,0xD8,0x4E,0xBD,0x8D,0x11,0xF5, -0x0F,0xED,0x23,0x0A,0x77,0xF1,0x50,0x4D,0x17,0x4E,0x4C,0x3B,0xDE,0x22,0x24,0x98, -0x54,0xE6,0x68,0xDA,0xA4,0x63,0xB6,0xD8,0x89,0x5B,0x6A,0x53,0x7C,0x6F,0xA6,0x73, -0xA7,0xE0,0xDE,0x63,0x21,0x7F,0x96,0x17,0xA1,0x11,0xB8,0x3E,0x7D,0xAA,0xFB,0x65, -0x49,0xCA,0xBF,0x74,0x57,0x3C,0xE5,0x66,0x01,0x3C,0x23,0xB2,0xF0,0x64,0xE4,0x1F, -0x43,0x45,0x0F,0xF6,0xB6,0x50,0xA5,0xFD,0xB2,0xAA,0xD9,0xEA,0xAB,0x2F,0xEF,0xCF, -0xFF,0x8B,0x5F,0xAF,0x20,0x98,0xE4,0x89,0xBA,0xCB,0xBE,0x4A,0xCD,0x0B,0x3A,0x90, -0x2E,0x42,0x5E,0x3D,0xF6,0x57,0x0C,0xD5,0x86,0x57,0xC6,0xA2,0x3A,0xF3,0x81,0x0D, -0x7B,0x7B,0xEB,0x4B,0x3B,0xEC,0xE2,0x53,0x62,0x05,0x88,0x93,0x0E,0xE6,0xB0,0x1C, -0xA4,0x80,0x14,0x7F,0x8E,0x02,0xA1,0x36,0x4C,0xBC,0xE3,0x48,0x79,0xE4,0x46,0x41, -0x13,0x9C,0x31,0xB2,0x5E,0x7B,0xF0,0x99,0xF0,0x26,0xB5,0xE1,0x4C,0x34,0x2A,0x46, -0x71,0xF4,0x5B,0xC9,0x1C,0x70,0x9C,0x15,0xC7,0xE1,0x1D,0x42,0xC3,0xF5,0x08,0x36, -0x1E,0xCE,0x05,0x08,0x30,0xA7,0x32,0x08,0x55,0xC2,0x20,0x30,0xD2,0xD3,0x2B,0x34, -0x01,0xDF,0xDD,0xAC,0x3C,0xBD,0x29,0x3E,0x5F,0x07,0x82,0x9C,0x51,0xE3,0x06,0xE8, -0x92,0x8C,0x0E,0x64,0x49,0x15,0xED,0x75,0x23,0xB3,0x53,0x73,0x32,0x4C,0x33,0x85, -0x20,0x70,0xA0,0x9B,0x3D,0x5A,0x5B,0xA0,0xA8,0xEE,0xAD,0x79,0xF3,0xAE,0x84,0x03, -0xC6,0xE8,0x7E,0x04,0x38,0x07,0x55,0x69,0x54,0x5C,0x52,0xD7,0x29,0xDA,0x9F,0x05, -0xBB,0x91,0xCC,0xDB,0xD8,0x8C,0x67,0x6C,0x15,0xEA,0x89,0x37,0xC1,0xFA,0x35,0x3C, -0x1B,0x2E,0x8E,0x3A,0x69,0xD8,0x58,0x5E,0x9B,0x7E,0x79,0x60,0x95,0x8A,0x51,0x5C, -0x42,0x18,0xCA,0xE0,0xDE,0x3A,0xDE,0x9F,0xC3,0xB6,0x61,0xF8,0x82,0xED,0xF2,0x70, -0xF4,0x59,0x2A,0x3B,0x6C,0x85,0x56,0x97,0x53,0x31,0x99,0x86,0x56,0x67,0xDB,0xD0, -0x55,0xBB,0xAD,0xCC,0x96,0x9D,0x10,0xD6,0x99,0xDA,0xBC,0x6C,0xB1,0x7C,0x1E,0x59, -0x2C,0x7F,0x51,0x37,0x12,0x66,0x42,0x87,0x6F,0xAD,0xE1,0x6E,0x35,0xC8,0xEE,0xBD, -0x19,0x13,0x81,0x30,0x32,0xAB,0xF7,0xAC,0x5C,0x3D,0x35,0x77,0xE7,0x03,0x47,0x33, -0xA1,0x60,0x9F,0x4D,0x90,0x2B,0xA9,0x25,0x2C,0xBF,0xFF,0x82,0x0C,0xE9,0x8D,0x16, -0x62,0xEA,0x72,0xC1,0x39,0xE0,0x27,0xF7,0x00,0xA2,0x51,0x55,0x68,0xC2,0x65,0x43, -0xDD,0x44,0xE8,0x84,0x14,0xD0,0xFB,0x74,0xEC,0x91,0x78,0xC4,0xE0,0x87,0x9A,0x0B, -0xD0,0x16,0xDC,0x3E,0xB5,0xBB,0x12,0xC7,0xB7,0x63,0xD7,0xB7,0x6B,0x08,0x05,0x5F, -0x6D,0x85,0x49,0x71,0x34,0x1D,0x4E,0x5F,0x61,0x3F,0x3F,0x78,0x78,0x21,0x1B,0x57, -0x94,0x0C,0x4F,0x4A,0xD9,0x6B,0x15,0xF2,0xBE,0x9C,0xC2,0xF0,0x8E,0x1C,0xFD,0xDC, -0x61,0x8A,0xB8,0xDD,0xE9,0x99,0x76,0x58,0x63,0x9B,0xFA,0x74,0x59,0x5C,0xB4,0x60, -0x96,0xDB,0x08,0x1A,0x32,0xBB,0xBB,0xFD,0x64,0x54,0x07,0x21,0xE0,0xA5,0x80,0xF7, -0x7C,0xFE,0xE3,0xD0,0xF8,0x39,0xCB,0x08,0x3A,0xD4,0xA5,0xA8,0xFE,0x1D,0xFD,0x84, -0xF8,0xC6,0xE4,0x0D,0xB5,0x95,0x7B,0xBB,0x36,0xAF,0x83,0x70,0x97,0xD9,0x49,0xD3, -0xBD,0x8E,0x6C,0xF2,0x9C,0xA6,0x97,0x2A,0xEA,0x9F,0xAE,0xF3,0x0D,0x66,0x0C,0x7D, -0x5E,0x9A,0x7C,0x8C,0xF2,0x3B,0xF6,0x07,0x83,0x62,0xA3,0x5B,0x36,0x69,0xBC,0x12, -0x77,0x92,0x6F,0x92,0x1A,0x67,0x20,0xC8,0xDF,0xC4,0x22,0xC3,0xA3,0xD4,0xF3,0x81, -0x23,0xAD,0x5D,0x23,0x37,0x9F,0xF4,0x0B,0xBB,0xE6,0x7E,0x5C,0xC7,0x65,0x10,0x1D, -0x63,0x11,0x8A,0x6A,0x0F,0x98,0x29,0x8F,0xD8,0x14,0x4E,0xF6,0x30,0x90,0x87,0x9B, -0xA5,0xC8,0x2D,0x08,0x9F,0x58,0xC3,0xA8,0x98,0x78,0xAF,0x6D,0x01,0xC2,0xC9,0x7F, -0xD1,0xCE,0xF7,0x13,0x60,0xEA,0x3F,0x06,0x96,0x25,0xAA,0xA4,0xDF,0x24,0x56,0xE7, -0xF5,0x91,0x91,0xC6,0xB4,0x7A,0x0C,0x1F,0x95,0xA7,0xFE,0x5A,0xF1,0x1F,0xF7,0xB9, -0x85,0xF1,0xC5,0xA2,0x44,0xEE,0x82,0x48,0xAA,0xF3,0x4F,0x68,0xB3,0xBF,0x16,0x06, -0x18,0x1D,0x52,0x4C,0x54,0x35,0xC4,0xF9,0x9B,0xFA,0xFB,0x93,0x55,0xF0,0xF6,0xCE, -0x92,0xBD,0x86,0x65,0xAC,0xB2,0x54,0x87,0x13,0x45,0x49,0x9B,0xB5,0x46,0x2D,0x8F, -0xB7,0x70,0x31,0x79,0x2C,0xA9,0xF8,0x11,0x8F,0x19,0x85,0x83,0x2E,0x28,0xFA,0xE8, -0x03,0x94,0xB5,0x89,0x71,0xDE,0x0E,0x13,0xDD,0xE2,0x01,0xD2,0xD2,0x51,0x01,0x2C, -0x99,0xD1,0x0A,0x27,0x45,0x01,0xF5,0xEC,0x2F,0x93,0xAC,0x57,0x94,0x7F,0x86,0xEC, -0x8C,0xC0,0x3E,0x16,0x0B,0x53,0x11,0xDD,0xC1,0x28,0x61,0xD1,0x21,0x2A,0xF0,0xD5, -0x4B,0x8B,0x48,0xBD,0x78,0x22,0x67,0x9E,0x3D,0x04,0xC9,0x9D,0x4E,0x17,0x7F,0x0B, -0x9B,0x8C,0x7D,0xD1,0x2E,0xB8,0xDB,0x37,0x6C,0x7D,0x19,0x32,0x6B,0xA0,0xB2,0x17, -0xAC,0xF9,0xD6,0xBC,0xED,0xC6,0xC2,0x4F,0xFF,0xD8,0xA7,0x0C,0x7A,0x1A,0xC5,0x59, -0x8A,0xFB,0xC7,0x9F,0xD0,0xE5,0x50,0x3D,0x51,0x0F,0x8B,0x11,0x24,0x75,0x04,0x63, -0x33,0x48,0x36,0xA4,0x9E,0xB7,0xB4,0x0C,0x20,0x6A,0xDE,0x71,0x71,0x96,0xA9,0x1B, -0x9C,0x25,0x55,0x91,0x4F,0x03,0xC8,0xE3,0xE4,0xC2,0xAB,0x3A,0xA2,0x05,0x61,0x48, -0xF2,0x38,0xB9,0x86,0x15,0x41,0x52,0x31,0x58,0x82,0xE2,0xED,0x3E,0x43,0x1F,0x6F, -0xDA,0xA2,0x7B,0x51,0xE8,0xE2,0x8D,0xB9,0xCD,0x53,0x47,0x09,0x6D,0x59,0x89,0x9E, -0x10,0xBE,0x78,0x31,0xA7,0x5F,0x1E,0x2C,0x7B,0x1C,0x33,0xDC,0x17,0x50,0x17,0x71, -0x5D,0x55,0xDA,0xB3,0x81,0x4A,0x80,0x44,0x9D,0x8E,0xE0,0x49,0x5C,0x0B,0xC7,0x7A, -0x1B,0xD2,0xF4,0x73,0xEE,0x38,0x96,0xCD,0x28,0x43,0xC0,0x62,0xC0,0x4D,0xB9,0x5D, -0xD5,0xA8,0x79,0x6C,0x75,0x15,0x36,0x41,0x5B,0x00,0xB6,0x13,0xA1,0xA3,0xAE,0x77, -0x74,0x5D,0xC9,0xAD,0x73,0xCF,0x2D,0x35,0x29,0xE7,0xB7,0x8D,0x20,0xFB,0x62,0x1C, -0x50,0x02,0xAF,0x78,0x14,0xAE,0x25,0x95,0x68,0x2F,0x21,0xF9,0x70,0x47,0x3B,0xD2, -0x27,0xCB,0xD3,0x5C,0xFC,0xF2,0xF3,0x5A,0x21,0xCE,0xA9,0x9E,0x64,0xA2,0xB8,0x2A, -0x12,0xE3,0x0F,0xC7,0x2A,0x73,0xE3,0x65,0x05,0x80,0x14,0x9A,0x4A,0x99,0x19,0x74, -0x42,0xBA,0xB3,0x09,0xA0,0x6A,0x72,0xFC,0x82,0xC6,0xD4,0xB4,0x7F,0x45,0x31,0xEF, -0x4D,0xB0,0xB1,0x34,0x5C,0x26,0xDA,0xD0,0x1B,0x6C,0x57,0x88,0x69,0xD7,0xEF,0xE1, -0x8B,0x69,0x16,0x56,0x24,0xBA,0xE6,0x38,0x8A,0xEF,0xCA,0xA7,0xB4,0x97,0xBF,0x46, -0x3B,0xEB,0x1C,0xD9,0xC3,0xC0,0x42,0x0E,0x43,0x98,0xEE,0xDB,0x61,0xFD,0x4C,0x9C, -0xEB,0xEC,0x29,0xB5,0xDC,0x3D,0x76,0x46,0x6F,0xFF,0x4D,0xCC,0x02,0x64,0x06,0x40, -0xB0,0xD9,0x19,0x39,0x59,0x02,0x95,0x26,0x34,0x89,0xA0,0x61,0xA6,0x8B,0x07,0x37, -0xAE,0xA4,0xA1,0x4A,0xD4,0x2E,0x68,0x6F,0x0D,0xA9,0x0A,0x89,0xCF,0x4F,0xB3,0x60, -0x68,0x7D,0x06,0x28,0x09,0x42,0x32,0xFB,0xE0,0x90,0x93,0xF1,0xAD,0x07,0x6B,0x75, -0x9A,0x1E,0xAC,0x18,0x67,0xDF,0x53,0xD6,0x4B,0xB1,0xF0,0xC8,0x91,0x20,0x72,0x5A, -0x8D,0x52,0xEF,0xDF,0xE9,0x0D,0xFA,0x1D,0x33,0x59,0xCC,0x54,0x2D,0x8E,0x35,0xD7, -0xEE,0x18,0x76,0x03,0xE2,0xE0,0xB0,0xB6,0x23,0xE8,0x8A,0x8F,0xDB,0xAA,0x30,0x98, -0x75,0xCF,0x18,0x64,0x4E,0xEC,0xBF,0x47,0x5A,0xA4,0xC1,0xFC,0xB8,0x33,0x7A,0x44, -0x22,0x3F,0x8C,0xEA,0xE6,0x2B,0x88,0xE4,0xD7,0xED,0x3C,0xD0,0x15,0x27,0x4A,0x87, -0xBC,0x1C,0xBD,0x3B,0x77,0x04,0x15,0x67,0xA6,0x88,0x69,0xB0,0x16,0x81,0x85,0xB8, -0x84,0x63,0x14,0x6B,0xA5,0x4E,0x3D,0x0A,0x0A,0x79,0x66,0xBC,0x32,0xE7,0xDA,0x6D, -0x3A,0x79,0xCD,0x10,0x6E,0x23,0x3A,0x5B,0x3E,0x86,0x9D,0x63,0xC1,0x9C,0x2B,0x94, -0xDC,0x99,0x82,0xD8,0x66,0x30,0x24,0x72,0x6D,0xD9,0x6E,0xDD,0x56,0x56,0x39,0xF1, -0x57,0xAB,0x87,0x38,0x84,0x6E,0xCF,0xB2,0x5E,0xF6,0xF9,0x37,0xF4,0x40,0x03,0x0F, -0xF7,0xCC,0xE6,0x30,0x74,0xFA,0x41,0xE5,0xC4,0xDE,0x2E,0xF5,0x7E,0x94,0xA3,0x26, -0x09,0x6A,0xE8,0x02,0x97,0x4B,0xDD,0x81,0xF4,0x73,0xED,0xE1,0xC9,0xB6,0x88,0xE9, -0xBF,0xD3,0x1B,0x04,0x08,0xAD,0x45,0x5F,0x00,0x76,0x5B,0xBE,0x4C,0x60,0x22,0xFD, -0xBA,0x27,0x44,0xB2,0xA1,0x85,0x05,0x58,0xB1,0xE9,0x43,0x5E,0xAB,0xFE,0x50,0xFC, -0xAA,0xC2,0x2F,0x35,0x65,0xCE,0x70,0xF0,0x7E,0xEA,0x7C,0xF8,0x6E,0xFF,0x46,0xA1, -0x39,0xB6,0x6B,0x2F,0x7C,0xE9,0x5F,0xCC,0xCA,0x83,0x2B,0x3C,0xC5,0x12,0x4D,0xEB, -0x1E,0x26,0xAB,0xC5,0xE7,0xC4,0xFF,0x40,0x53,0x29,0xA8,0x00,0x60,0x2C,0xDE,0x55, -0x51,0x90,0x7E,0xB1,0xB7,0x84,0x58,0x9D,0x40,0x1A,0xBA,0x25,0x3F,0x92,0x8D,0xA6, -0xC3,0x76,0xEB,0x62,0xE5,0xD5,0xDC,0x66,0x57,0x7B,0x90,0xCB,0xE1,0x74,0x12,0x3E, -0x2B,0x0E,0x77,0x5E,0x41,0xCA,0xCD,0xBE,0xD6,0x49,0x4B,0x3F,0xA0,0x72,0x3C,0xBE, -0x34,0xE1,0x1E,0xE4,0xAF,0x4C,0x00,0x05,0x47,0xCA,0xD6,0x10,0xCB,0xC1,0xD5,0x1F, -0x52,0x5F,0xD8,0x8E,0xF5,0x0E,0x9A,0xD7,0x42,0x3C,0x99,0x34,0xD3,0x80,0x93,0xE5, -0x1B,0xC3,0x64,0x8D,0x2A,0xA8,0xAA,0xE1,0xC8,0x40,0x5D,0x2F,0xF7,0x0A,0xD4,0x90, -0xCE,0xB7,0x2B,0x3B,0x8D,0x75,0xFA,0xA1,0xDA,0x65,0x4E,0x1C,0x49,0x55,0x27,0xC3, -0x0E,0x5D,0x0C,0xAB,0x2D,0xF9,0x61,0x8C,0x59,0x59,0xD7,0xB6,0x77,0xF0,0x99,0x50, -0x4A,0x47,0x9F,0xDF,0x02,0xC5,0x78,0xAB,0x0E,0x9D,0x63,0xDF,0x9A,0x5B,0xD3,0x5B, -0xBD,0xFC,0x67,0x42,0xE8,0xE2,0xE8,0x6B,0xEB,0x51,0x5F,0x09,0xE5,0xE6,0x97,0x8E, -0x7B,0x96,0x01,0xFC,0x72,0x30,0xB2,0x29,0xA4,0x75,0x5A,0xFF,0xA4,0xFE,0x6D,0xC8, -0x12,0x2C,0x1E,0x13,0xBF,0x8B,0x5C,0xAF,0x39,0x5A,0xCB,0x7C,0x17,0x95,0xCC,0x21, -0x8E,0x10,0xF6,0x6B,0xAE,0x53,0xF8,0xB0,0xE2,0xAE,0x4A,0x4E,0x11,0xD4,0x4C,0x0F, -0xE2,0x4A,0x62,0xB6,0xBD,0x87,0x99,0x0B,0x8B,0x52,0x43,0xC3,0x25,0xC1,0x7D,0x1E, -0xE7,0xAA,0xE9,0x84,0x56,0x47,0x7B,0x55,0x1C,0xB8,0x70,0xEC,0x33,0x63,0x83,0x24, -0xA8,0x62,0x0F,0x64,0x48,0x6E,0x73,0x46,0xEF,0x06,0x23,0xB3,0xF9,0xF4,0xE6,0x36, -0x71,0x19,0xB1,0x7E,0x4F,0x3F,0xB8,0x2B,0x14,0xD9,0x17,0x4C,0x82,0x07,0x1F,0xC7, -0x21,0xC0,0x8F,0x3A,0x77,0x6D,0xBC,0xE0,0x31,0x3B,0xAC,0xDC,0x9B,0x9E,0x8E,0x4D, -0x7E,0x76,0x8A,0xCE,0x37,0x6A,0x15,0xC8,0x29,0xDB,0x1D,0x43,0x05,0x79,0x8F,0x3F, -0x8D,0x70,0x3C,0x77,0xAF,0xB4,0x8A,0x2E,0x9F,0x84,0xE9,0x46,0xD3,0xFC,0x9B,0x95, -0x83,0x42,0xC2,0xD1,0x33,0xD0,0x69,0x9F,0x5C,0x90,0xD9,0xEB,0xF1,0x4B,0x54,0xBE, -0x8A,0xAD,0xB8,0x4F,0x88,0x28,0xF4,0x68,0xBE,0x31,0x2E,0x6C,0xEB,0x18,0xA5,0x28, -0xC9,0x6A,0xAF,0x03,0x21,0xE3,0x7A,0xBA,0x82,0xAD,0x56,0x84,0x45,0xA4,0x28,0x6F, -0x63,0x5A,0x5D,0x60,0x40,0xCE,0x14,0x27,0xE1,0x94,0xFD,0xA5,0x62,0x98,0x07,0x76, -0xC4,0x38,0x9B,0xB9,0x1A,0x5A,0xC9,0x4B,0x78,0xEC,0x10,0x9C,0x2A,0xFA,0x12,0xAE, -0xD8,0x49,0x89,0x01,0x67,0x52,0x6A,0x61,0x1B,0xD5,0xBB,0xBD,0xE4,0x23,0xCA,0x98, -0xE9,0x98,0x17,0x22,0xFA,0xD1,0xFB,0x4E,0x4E,0xB5,0xCA,0xD8,0x42,0x20,0xF5,0x57, -0x7D,0x16,0x40,0xD2,0xCD,0x72,0x53,0x89,0xB3,0x99,0x47,0x91,0x56,0x8D,0x36,0x67, -0x13,0x71,0xDB,0x05,0xC2,0x83,0xFF,0x85,0xF8,0xEA,0x3E,0xDD,0xCF,0xEE,0xEA,0x2D, -0xD4,0x46,0x78,0xAD,0xA8,0xE5,0x41,0x43,0x25,0xED,0x06,0x59,0xB2,0x5C,0x93,0xF2, -0xD6,0x7B,0x77,0xA7,0x00,0xC9,0xBD,0x0F,0xA6,0xD1,0x9F,0xF3,0x20,0x4A,0x9D,0x2C, -0x6A,0xB5,0x27,0xFE,0x91,0x50,0x37,0x16,0x66,0xFF,0x18,0xB5,0xFC,0x7F,0x06,0x04, -0xB6,0x2E,0x12,0xD6,0x81,0x6F,0xE1,0x97,0xDB,0xFB,0x3C,0xFB,0xC7,0x51,0x58,0xA5, -0x7C,0x4B,0x85,0xC4,0xE7,0x13,0x44,0x67,0xD2,0x04,0x29,0xBC,0xEE,0x93,0x45,0x1A, -0x4C,0xC7,0xDE,0xF1,0x04,0x73,0xC1,0x58,0x3F,0xA9,0x72,0xCA,0x01,0x37,0x32,0x1B, -0x79,0xAB,0x0E,0xF6,0x30,0x3B,0xDE,0xA5,0x9C,0xBE,0x5E,0xAD,0x98,0x54,0xEE,0x51, -0x73,0x24,0xBE,0x74,0x94,0x0D,0x39,0xDF,0xB8,0xC2,0x97,0xDA,0xF2,0x81,0x34,0xA2, -0xBF,0xC1,0x68,0x48,0xF2,0x71,0x9C,0x2F,0x92,0x2C,0x80,0xBB,0x6E,0x69,0x08,0xDA, -0x1D,0x43,0x25,0xA3,0x6C,0x19,0xBA,0x3A,0x41,0xB9,0x66,0x29,0x35,0x22,0x03,0x0A, -0x1E,0x23,0xEF,0xBF,0xFF,0x8C,0xF5,0x87,0x35,0x6C,0xD0,0x66,0x3C,0x58,0xEC,0x94, -0xDC,0xF4,0xC7,0x25,0x20,0x04,0x08,0x24,0x90,0x88,0x45,0xB7,0x26,0x0B,0x1D,0x02, -0xCA,0x0A,0x65,0x1F,0x57,0xA0,0x09,0xCB,0x53,0x9C,0x75,0x1A,0x22,0x45,0xA0,0x26, -0xAC,0xDF,0x41,0x40,0x5F,0x00,0x6E,0xAA,0xC5,0xE8,0x34,0xD2,0x9E,0x15,0x6E,0x7F, -0x1C,0x1E,0xE0,0xB5,0x44,0x74,0x68,0x70,0xC4,0x76,0x46,0x35,0xC6,0x94,0x05,0xB3, -0x91,0x01,0x2E,0xCF,0xE4,0xF8,0xF3,0x5D,0xB2,0x07,0x35,0x76,0x28,0xF5,0x2F,0xA4, -0x18,0xA3,0xAE,0x91,0xA9,0x02,0x33,0xDD,0x6B,0x57,0x71,0x48,0xC5,0x5E,0x65,0xAF, -0x2D,0xCF,0x7E,0x96,0x15,0xAB,0x65,0x47,0xBB,0xF8,0x20,0x31,0x72,0x7B,0x79,0x62, -0x5B,0x64,0xB9,0xDD,0x63,0xE8,0x16,0x36,0x13,0xB4,0xDC,0x1D,0x4F,0x14,0xA7,0xED, -0x6F,0x55,0xAC,0xCC,0x87,0xD9,0x58,0x64,0xDE,0x32,0x32,0xA6,0x1A,0xA1,0x9E,0x9B, -0x30,0xE3,0xA9,0x38,0xBA,0xD6,0x52,0x66,0xD9,0x5F,0xF9,0xF7,0x60,0x97,0x3A,0x7C, -0x53,0xD6,0x06,0x55,0xC6,0x39,0x83,0xD2,0xAC,0x14,0x3D,0x5F,0xF3,0x44,0x69,0xB4, -0xA2,0xED,0xBF,0xE6,0x22,0x08,0xCD,0x80,0xF9,0x74,0x4C,0x3A,0x10,0x11,0x11,0x19, -0xB3,0xCE,0x99,0xE4,0xB0,0x7A,0xF0,0xA3,0xD5,0x69,0xE2,0xED,0x7F,0x4F,0x2B,0xD8, -0xA0,0xD0,0xB0,0xEC,0xF0,0x7D,0x59,0x8B,0x3D,0x0D,0xB7,0xC6,0xDA,0x86,0x74,0x0B, -0xF4,0xB4,0xC0,0x8C,0x7E,0x2A,0xA9,0x1F,0x8C,0x3F,0x88,0x92,0x7A,0xC4,0xCB,0xEA, -0x92,0x61,0xE4,0xD3,0x4D,0x33,0x7D,0x8F,0xD8,0xC1,0x8B,0x10,0x41,0xEA,0x95,0x4B, -0x48,0x7A,0x90,0xD5,0xB1,0x9D,0x82,0x3D,0xDD,0x08,0x85,0x4D,0xA7,0x34,0x0D,0xD4, -0xD0,0xFB,0x36,0x89,0x7C,0x26,0x6C,0xBB,0x73,0xB7,0xC0,0xD7,0x34,0xE7,0x5E,0x1C, -0x54,0x0B,0x82,0x6D,0x8A,0x24,0x31,0xCC,0xF7,0xE6,0x92,0x2C,0x4D,0x1B,0x9A,0xE7, -0xE3,0x17,0xA7,0xA0,0x26,0xB2,0xB1,0xD7,0x3B,0xFE,0x0E,0x70,0x23,0x80,0xFD,0x30, -0x37,0x3E,0x2D,0x00,0xB6,0xCC,0x49,0x50,0x89,0xF6,0x86,0xCF,0x95,0x60,0xBC,0xEB, -0x09,0x80,0x88,0x93,0xE5,0x1F,0x81,0xC3,0xDC,0x96,0xF7,0xAA,0x03,0x38,0x0F,0x11, -0x81,0x7F,0xCD,0xDB,0x09,0x8E,0xA8,0xF0,0xF1,0x15,0x2B,0x9A,0xBC,0xA2,0xA1,0x54, -0x86,0xA2,0x49,0xE3,0xB9,0x3D,0xE5,0x5C,0xD7,0xCD,0x27,0xE1,0x78,0xCB,0xF6,0xE0, -0x6D,0x68,0xA3,0xC6,0xC9,0xC8,0x2F,0xDE,0x75,0x44,0x79,0x61,0xC0,0xD5,0x85,0x9D, -0xEF,0x18,0x56,0x0C,0x5B,0xBA,0x12,0xFD,0x3C,0x93,0xC5,0x21,0xF5,0x05,0xE9,0x9A, -0x38,0x51,0x16,0xB0,0x86,0x3E,0x2A,0xFA,0x0C,0x39,0xA6,0xD3,0x00,0xF2,0x6F,0x0D, -0x0A,0xE0,0x42,0x8F,0x52,0xFD,0x07,0x02,0x50,0xA6,0xC2,0xF1,0xB1,0x96,0xF3,0xEE, -0x19,0xFE,0x6B,0x87,0x84,0x32,0xEF,0x5E,0xD1,0x3E,0x9E,0x57,0x0C,0x03,0x60,0xA1, -0xD5,0x65,0xD8,0x9B,0xEC,0x3F,0x5E,0xCE,0x52,0xA8,0x34,0xF9,0x97,0x78,0x84,0x24, -0x06,0xAD,0x4B,0xC8,0x28,0x74,0x2B,0x66,0x83,0x47,0x48,0x4D,0x38,0x1B,0xE9,0x11, -0xDE,0x09,0x54,0xD9,0x33,0x42,0x27,0x7C,0x21,0xEB,0x42,0x88,0x08,0x98,0x35,0x3C, -0x80,0xC8,0x3B,0xE3,0x9D,0x5F,0x0B,0xAB,0x1C,0x99,0xD0,0xAB,0x2E,0x89,0x37,0x1F, -0xEA,0xB3,0x59,0x8B,0xF1,0xD3,0x49,0xA0,0xB4,0x3A,0xE7,0x6C,0xEF,0x06,0x47,0x3D, -0xCF,0x7E,0xEE,0x97,0xA0,0x7C,0x99,0xD9,0xE2,0x93,0x5B,0xF6,0x3F,0x33,0x40,0x51, -0x30,0x4A,0x31,0x6C,0xE3,0x19,0x2C,0x37,0x89,0x48,0x75,0x4F,0x3D,0x44,0x1D,0xA7, -0x85,0x3C,0x64,0x55,0x0D,0x9F,0xE1,0x8C,0xC7,0x79,0x91,0x1D,0x28,0x70,0x0C,0x96, -0x84,0xAE,0xB5,0x9C,0xE5,0xC3,0x37,0x43,0xBF,0x91,0xAD,0x81,0xD0,0x87,0x91,0x2D, -0xD4,0xF7,0x09,0x52,0xA4,0xB7,0xA1,0x8B,0xD8,0x31,0xA5,0xE0,0xF4,0xE1,0xCE,0xF8, -0x64,0x75,0x03,0xDD,0xE4,0x2C,0x40,0xE7,0x22,0x69,0x16,0x76,0xBF,0xBA,0x1E,0xF3, -0x05,0x62,0xED,0xF7,0x97,0x5D,0x36,0xA4,0xB9,0xE5,0xB6,0x5B,0x71,0x37,0x64,0xEC, -0xB3,0xDB,0x1E,0xF1,0xB7,0x92,0xB3,0xB8,0x6B,0x88,0x9E,0x11,0xB4,0x36,0x72,0xB1, -0xF8,0x0B,0x45,0xFA,0x51,0x07,0x60,0x2A,0x4D,0xE0,0x00,0x04,0xF9,0x94,0x99,0x33, -0x9A,0xD3,0x0D,0xEF,0x94,0xA3,0x62,0x26,0xD9,0x95,0xD2,0x0F,0x56,0xF7,0xF4,0x06, -0xC9,0x45,0x17,0x1E,0x01,0x47,0xC7,0xF7,0x24,0x1D,0x0D,0xAC,0x7E,0x35,0x6E,0xD1, -0x63,0xDC,0x2B,0x9D,0x77,0x12,0xFE,0x42,0xFB,0xAF,0x74,0xD1,0x87,0x13,0x61,0xA3, -0x94,0x4B,0xDE,0x1B,0x14,0xB8,0xCE,0xB0,0xC3,0x2B,0xA9,0xD6,0xC7,0xC4,0xDD,0xEA, -0x92,0x70,0x27,0x92,0x4F,0x15,0x23,0xC6,0x3E,0xA3,0x76,0x75,0xFA,0x32,0x56,0x0C, -0x07,0x3F,0x9A,0x01,0x13,0x8D,0xA2,0x60,0xD6,0x6C,0xA0,0x29,0xD3,0x21,0x5E,0x12, -0x33,0x85,0x97,0x53,0xFA,0x3E,0x03,0x0B,0x79,0x1F,0xFB,0xDB,0x5C,0xAA,0x0A,0x8D, -0xA9,0xC0,0x28,0xFD,0x26,0xBD,0x2E,0x3B,0x50,0x8E,0x17,0xE8,0x19,0x22,0x42,0x72, -0x44,0x4C,0xEB,0x77,0xA8,0x6F,0x87,0xF0,0xFE,0x59,0x3B,0xF5,0x32,0x46,0x17,0x9A, -0x5A,0x31,0x53,0x04,0xF6,0xE6,0x25,0x70,0x34,0xAC,0x4B,0x77,0xD8,0xAD,0x32,0x50, -0x8A,0x36,0x66,0x68,0x43,0xCD,0x05,0xBD,0xE0,0xB5,0x78,0xE7,0x13,0x7F,0xBC,0xF9, -0x76,0xCD,0x1F,0xAC,0x11,0x9C,0x81,0x46,0xBD,0xB7,0x8E,0x90,0xA7,0xFB,0x58,0x09, -0xF1,0x3A,0xBE,0x4E,0x57,0xDD,0x7B,0x5E,0x98,0x5D,0x44,0x7B,0xBC,0x1C,0xD1,0xCC, -0x11,0xE1,0x08,0x0F,0xDF,0xD5,0xC9,0xE1,0x60,0x23,0xD4,0xFC,0x36,0xC8,0x71,0xE5, -0x55,0x3B,0x51,0x39,0x59,0x14,0x7E,0x03,0x78,0xBB,0x8C,0x34,0x51,0xDF,0x5D,0x46, -0x17,0xDA,0xF1,0x86,0x66,0x26,0xCF,0x57,0x88,0xEC,0x02,0xA0,0x21,0x8B,0x3D,0x22, -0xA5,0x05,0x8C,0xFF,0x54,0x23,0x2F,0xDC,0x53,0x0C,0x43,0x16,0x01,0x63,0x04,0x88, -0x7B,0x9A,0x6A,0x67,0x5A,0xEA,0x2A,0x81,0xAC,0xA2,0xBF,0xA4,0x75,0xB9,0x02,0x93, -0xE8,0xEE,0x2E,0x7D,0xCC,0xF0,0xDB,0xD2,0xC4,0xFB,0xC5,0xE3,0x1B,0x55,0x1F,0x84, -0x0F,0x9C,0xB0,0x7C,0x7D,0x10,0xC3,0x4D,0x6D,0xFC,0x85,0xCB,0x1E,0x0A,0xEB,0x32, -0xDA,0x6F,0xDA,0xA6,0x08,0xBB,0xAE,0x7A,0xB8,0x41,0xC1,0xB4,0x53,0xA8,0x00,0xB0, -0x6D,0x44,0xF8,0x69,0x38,0xAF,0x6D,0xD7,0x5B,0x25,0x5D,0x05,0xAD,0xA6,0xA6,0x82, -0xF2,0xF5,0x18,0x71,0xA1,0x93,0xEE,0x7D,0xAA,0xD6,0xA4,0x7E,0x78,0xCC,0x55,0x58, -0x50,0xCF,0x0E,0x8F,0x92,0x79,0x79,0x52,0x48,0x16,0x4F,0x20,0xF3,0xC9,0x67,0xB8, -0x96,0x16,0xA9,0xED,0xC6,0xF2,0xE6,0xDD,0x69,0xAE,0xBD,0x00,0x20,0x5A,0xAF,0xEB, -0x65,0xE7,0xD2,0x14,0xF2,0x2D,0x1D,0x22,0xA2,0xFF,0xBA,0x6D,0x9E,0x83,0xB5,0x90, -0x6F,0x19,0x8F,0x9F,0x8B,0x5E,0x56,0x6E,0x63,0xA1,0x80,0x02,0x90,0x50,0x2D,0x64, -0x77,0x5F,0xCE,0x65,0x8E,0x7A,0x19,0x98,0x39,0x73,0x1A,0x40,0xF6,0x96,0x93,0x0E, -0x45,0xDE,0x3A,0xBE,0x9B,0x85,0x10,0xDF,0x29,0xC2,0x5C,0x9B,0x67,0xA5,0xBA,0xE2, -0x04,0xF0,0x3C,0x3E,0x1A,0x71,0xCB,0xED,0x8D,0x1A,0x4D,0x84,0x8F,0x39,0xC2,0xDE, -0xC4,0x12,0x62,0xD5,0x9F,0x4E,0x28,0x8D,0x2B,0xE4,0x7F,0x8A,0xBA,0xE5,0xEA,0x45, -0x9B,0x41,0xDC,0x26,0x8C,0x6B,0x3A,0xBE,0x7B,0x39,0xD8,0xCA,0xF5,0x30,0x5C,0x31, -0xCA,0x8A,0xB1,0x21,0xB2,0xB6,0xFC,0x4E,0xA9,0x54,0xF0,0x80,0x0E,0x61,0x0E,0xB5, -0x61,0x81,0x5C,0x6B,0x06,0x72,0xAB,0x27,0xB0,0x68,0xDF,0xA7,0x9D,0x25,0x7A,0xAF, -0xA6,0xCA,0x2A,0xC0,0xA3,0x82,0xCD,0x5B,0x10,0xE2,0xF6,0x73,0x4F,0x67,0x20,0x35, -0x02,0xCB,0xC5,0xB7,0xF8,0x2F,0x20,0x2D,0x95,0x82,0x15,0x4C,0x14,0x57,0x15,0xB9, -0x10,0x73,0xD9,0xC6,0x46,0xE9,0x4A,0x4B,0xE8,0x9C,0x66,0xF4,0x2F,0x58,0xA5,0xD6, -0xC5,0x80,0xB3,0x1C,0x8F,0x95,0x6E,0x3C,0x0F,0xAA,0xC2,0x8E,0x9F,0x52,0x27,0x59, -0xDB,0xFD,0x0B,0x6F,0x4E,0xFA,0x54,0x62,0x6C,0x58,0xF2,0x24,0xE6,0xFD,0x76,0x89, -0xCD,0x23,0x99,0x61,0xD7,0xC6,0xD7,0xC8,0x90,0x74,0x5A,0x68,0xE9,0xFF,0x7C,0xB4, -0xC0,0x74,0xEC,0xAA,0xED,0xD0,0x29,0x6A,0x30,0xFE,0x73,0xBC,0x83,0x9D,0x07,0xDC, -0xEE,0xD5,0xD7,0xF4,0xC9,0xD4,0x94,0x24,0xE6,0xC1,0x63,0x3D,0xB6,0x41,0x2F,0x47, -0xB1,0x86,0x69,0x07,0x1B,0x9E,0xBC,0x49,0x2A,0x40,0x08,0x65,0x86,0xC2,0xF3,0x6A, -0xB2,0x49,0xCF,0x38,0x6A,0xFE,0xE9,0x2C,0xBB,0xC3,0x95,0x4A,0x18,0xF3,0xD0,0xBB, -0x7F,0xFC,0xE4,0x18,0xEF,0xC1,0x0A,0x4C,0x2E,0x12,0x30,0xAE,0x4A,0x38,0xD4,0x83, -0x1C,0xB6,0x7D,0xC4,0x96,0xB2,0x41,0x00,0x82,0xE3,0x3F,0xA2,0xD1,0x56,0x03,0xE4, -0x35,0xBE,0x6E,0xDA,0x87,0x86,0x70,0x15,0xAB,0x72,0xD3,0x91,0x3E,0xE2,0xD2,0x98, -0x89,0xF9,0xC0,0x57,0xFF,0x1A,0x4C,0xFD,0x25,0xB9,0x7A,0x43,0x29,0xA1,0x9E,0x5F, -0x6B,0x7F,0x01,0xE0,0xC1,0xC7,0x8A,0x0D,0x18,0xCB,0xE8,0x60,0x0A,0xEF,0x68,0xCA, -0x09,0xA7,0x49,0xF5,0x2C,0xBF,0x13,0x34,0xC5,0x5F,0xB2,0x0C,0xCC,0x48,0xB1,0xA8, -0x66,0x6E,0x7F,0x92,0xFE,0x4C,0x8B,0xB2,0x2F,0x20,0x8A,0x85,0x7A,0x1F,0x6D,0x58, -0x40,0x7B,0xE1,0xFA,0x5C,0xCE,0xC6,0x59,0x74,0xF0,0xC1,0x8E,0x9C,0xCC,0xF8,0xCA, -0x0F,0xC6,0x72,0x6F,0x5F,0xAE,0x0C,0x45,0x7D,0x6E,0xBB,0x61,0x2A,0xB8,0x2D,0x85, -0xF2,0x65,0xAD,0xE7,0x9D,0x79,0x24,0xDF,0x67,0xF8,0xE8,0x90,0xBF,0x1D,0xC9,0x54, -0xF3,0x8A,0xDA,0x43,0x8B,0x87,0x86,0xE5,0x63,0xDC,0xA6,0x2D,0x8F,0xDE,0xDD,0xF9, -0x94,0xEB,0xD2,0xE3,0xED,0x52,0xA2,0xBA,0xDF,0x85,0xF6,0xE3,0xCE,0x48,0xA9,0x31, -0x92,0x31,0xC9,0x97,0x5D,0x93,0x03,0x4F,0x87,0x49,0x77,0x88,0xBC,0x49,0x37,0xD6, -0x09,0x1C,0x69,0x1B,0xD0,0x8C,0xCD,0x35,0x69,0x5E,0x16,0xA2,0xCF,0x3F,0x46,0x95, -0xC9,0x9C,0x24,0xE1,0x59,0x2E,0x4D,0x6B,0x84,0x55,0xBD,0xE8,0x8B,0xE6,0x16,0xAB, -0x9F,0x06,0x98,0x48,0x6C,0x42,0x9D,0x6C,0x33,0x98,0x98,0xF4,0xDA,0x36,0xB9,0xD2, -0xEC,0x77,0xEE,0x0B,0x1A,0xE9,0x5A,0x27,0x0E,0x17,0xF7,0x2A,0x26,0x9E,0xF5,0xFE, -0xA2,0x25,0x0A,0x3A,0x2E,0xD8,0x4F,0x36,0x5B,0x61,0x42,0x13,0xC8,0x53,0x73,0x45, -0xA8,0x27,0x37,0x35,0x71,0x6E,0x4A,0xC2,0x21,0x86,0x74,0xB7,0x03,0x54,0x1E,0x14, -0x79,0x93,0x4B,0xDA,0x12,0x5B,0xE5,0xAF,0xB2,0x4E,0xA7,0xE4,0xC7,0x21,0x55,0xBC, -0x37,0xC1,0xAF,0xEB,0xE3,0x60,0x5C,0x1C,0x51,0xE3,0xF2,0x9C,0xB6,0x74,0x35,0xD9, -0x0A,0xE2,0x3D,0x99,0xF2,0x43,0x7A,0x1E,0x3E,0x22,0xAC,0xA6,0x18,0x58,0x28,0x0E, -0xA3,0xCA,0x7D,0x9E,0xE1,0x5D,0x53,0x16,0x9B,0xF1,0x65,0xF9,0x4D,0xB0,0x4C,0x25, -0x53,0x5E,0xF3,0xC9,0xB5,0x39,0x23,0x76,0x3B,0x10,0x27,0x46,0x72,0x01,0x7E,0x71, -0x87,0xCE,0xC0,0xD0,0xD3,0xEC,0x07,0x29,0x00,0xB1,0x09,0x18,0x71,0x55,0x80,0xF3, -0x78,0x7C,0x3C,0x7E,0x09,0xF7,0x73,0x2F,0xE6,0x2E,0xD7,0x80,0x7F,0x50,0x49,0xAE, -0x96,0xFA,0xF1,0xC5,0x91,0x76,0xD5,0x73,0x75,0xE6,0x04,0xD3,0x3A,0xFE,0xF6,0x34, -0xCB,0x8D,0x07,0xC7,0x15,0x86,0x61,0x97,0x0C,0x1D,0xF8,0x17,0x68,0x7A,0xA7,0xCF, -0x4B,0x96,0xAB,0x51,0xA2,0x9A,0x44,0x5A,0x62,0xCA,0x63,0x70,0xF4,0xB6,0xBF,0x93, -0xB3,0x11,0x3B,0x2F,0x76,0xB3,0xCE,0xFA,0xD4,0x11,0x83,0x31,0x7C,0x04,0xB7,0x2C, -0x7B,0x82,0x68,0xFC,0x48,0x0D,0x6B,0x69,0x42,0xEB,0xDB,0x82,0x0D,0x51,0xD7,0x49, -0x52,0xB1,0x84,0x6D,0xC0,0xF2,0x2E,0x21,0xFD,0xAE,0x41,0x2C,0xD1,0x7C,0x54,0x79, -0x1F,0x1D,0x34,0xDE,0xC7,0x2F,0xAA,0x19,0x39,0x1A,0x28,0x7B,0xDD,0x5A,0x8C,0x02, -0xD5,0x9F,0x44,0x2B,0x2C,0xE5,0x40,0x3C,0x81,0x67,0x36,0x08,0x83,0xF8,0x05,0x82, -0xE8,0xBC,0xD6,0x59,0xAE,0x95,0xB5,0xF6,0xB4,0x60,0xE6,0x64,0x3F,0xB1,0xD2,0xC2, -0xD0,0xBB,0x0B,0xDD,0x79,0xDC,0xF5,0x4A,0x41,0xF7,0x11,0xE2,0x5C,0x81,0x78,0x30, -0xFD,0x43,0xDF,0x1E,0x4B,0x6D,0xA1,0x75,0xF0,0x14,0x75,0x7E,0x38,0xDD,0xE7,0x12, -0x15,0x1F,0x09,0xD1,0x58,0x73,0x88,0x7D,0x4D,0x5B,0xE0,0xED,0x64,0x5C,0x7F,0xB4, -0x50,0xA0,0xA7,0x4B,0x5A,0x4E,0x87,0x77,0xB6,0x6A,0xE9,0x59,0xA7,0x45,0x01,0xCC, -0x00,0xE0,0x00,0x96,0x8F,0x3A,0xC8,0xC1,0x08,0x39,0xB6,0xAA,0xB4,0x57,0x24,0xFF, -0x9B,0xCD,0xA0,0x1A,0x4F,0xD0,0xEF,0x51,0x36,0xAA,0x13,0x14,0x2D,0xD4,0x18,0x55, -0x82,0xEA,0x8F,0x26,0x0B,0xCA,0x7C,0x25,0xDB,0xA1,0xB8,0x5E,0x99,0x83,0xDC,0x3C, -0x12,0x2A,0x65,0x01,0xFC,0x71,0x84,0xB8,0xA4,0x74,0x05,0x1A,0xA5,0x66,0x10,0xEA, -0x48,0x68,0xFF,0xD3,0x3A,0x1B,0xE2,0x06,0xE5,0x32,0x1D,0xE0,0xA0,0x29,0x34,0x1C, -0xA6,0xEE,0x32,0x68,0x53,0xA1,0xFD,0xE9,0x56,0xDB,0x76,0x41,0x31,0xB4,0x1B,0x9F, -0x02,0xF1,0x23,0xB0,0xCF,0x9D,0x15,0x91,0x50,0xF5,0x37,0xC1,0xB0,0x6F,0xEF,0xAD, -0x63,0x4A,0x30,0x64,0xA3,0xC7,0x81,0x4C,0x64,0xE4,0x22,0xF0,0xB9,0x06,0x13,0x20, -0x81,0x14,0xDB,0xA4,0xA6,0x27,0x0A,0x7E,0x72,0xDE,0x80,0x0E,0x8A,0x91,0xF9,0x0F, -0x89,0x07,0xC5,0x8D,0xE9,0xEF,0xEC,0x9E,0xB8,0xCC,0x17,0x6B,0xD9,0x62,0x47,0x50, -0x42,0x6A,0xC2,0xDC,0x30,0x94,0x52,0x84,0xC3,0x3D,0xE4,0x92,0xED,0x99,0x98,0xAF, -0x46,0xA1,0xFA,0x8E,0x60,0x4D,0x6C,0xC0,0xDA,0xB7,0x7D,0x03,0x56,0xBC,0x7A,0x3F, -0xEF,0x89,0xBA,0x89,0x3F,0xFB,0x69,0x34,0x44,0xC5,0x9A,0x02,0xE7,0xA4,0x9A,0xA0, -0x70,0x6F,0x22,0x57,0xCC,0xFD,0xDF,0x8D,0x92,0x6F,0x1F,0x16,0x13,0x12,0xC5,0xA5, -0x93,0xDE,0xBE,0x33,0xC2,0xCF,0x21,0x2B,0xB0,0x44,0xA8,0xD9,0x23,0xD1,0xD1,0x08, -0x0E,0x29,0x05,0xCB,0xCB,0x20,0x5B,0xB5,0xAA,0xD2,0xFB,0x28,0xD4,0x33,0x70,0x8F, -0x80,0xFB,0xAC,0x00,0x88,0xE7,0x4C,0xF9,0x04,0x95,0x47,0xA5,0xAC,0x0F,0xEC,0x67, -0xEE,0x66,0xCD,0x2D,0x22,0xD7,0xBE,0x9A,0x23,0x8C,0x7B,0x8A,0x07,0x6C,0xD5,0x46, -0x33,0x0A,0x97,0xB9,0x85,0xB5,0x78,0x43,0x6B,0x54,0x19,0x9F,0xEA,0xF5,0xAD,0x7F, -0x90,0x20,0xEA,0xB1,0x99,0xC4,0x6A,0xFB,0xA5,0x62,0xC0,0x47,0x41,0x96,0x94,0x5E, -0x01,0x0F,0x77,0x32,0xA8,0x15,0xF4,0xD8,0x03,0xAD,0xC3,0x78,0x30,0xC3,0xF4,0x3B, -0xA9,0xC8,0x40,0x91,0x3C,0x9B,0xA3,0x28,0x17,0x9D,0x6E,0xBB,0xBD,0x3E,0xD8,0x72, -0x05,0xC4,0x4F,0x60,0x52,0xFC,0x38,0xFF,0x8E,0xD7,0x0D,0x67,0xC4,0x75,0xAB,0x3E, -0xBB,0x02,0x25,0x06,0x95,0xCB,0x9B,0x57,0xF3,0x08,0xBF,0x1E,0xFC,0xA8,0xAC,0xBA, -0x47,0x4E,0x8D,0x2A,0x97,0xF6,0x94,0x5D,0x61,0xD6,0xA9,0x10,0x65,0x2B,0x90,0x10, -0xCD,0x57,0x1C,0xB3,0x2B,0x38,0xC4,0x04,0xBD,0xFE,0x9C,0x8B,0xE2,0xEB,0xBE,0x56, -0x1B,0xD6,0x0C,0x8C,0xF7,0xA3,0xF1,0x2C,0x86,0x5F,0xB2,0xD5,0xC6,0x56,0xBA,0x18, -0xBE,0x26,0x6A,0xF0,0x3D,0xC6,0x66,0x3E,0xAF,0xE0,0x70,0xC8,0xD3,0x5F,0x45,0x5F, -0x3B,0x19,0x89,0x90,0x0D,0x4A,0x3D,0x0B,0x40,0xE1,0xD4,0xBF,0x88,0xB2,0xE8,0x29, -0x24,0xE4,0xBD,0xD8,0x38,0x26,0xED,0x0C,0xD9,0xAB,0xB7,0x63,0xA4,0x11,0xFF,0x4E, -0xC3,0x9E,0x19,0xEE,0x32,0xA9,0x5D,0x8E,0xB3,0x58,0x62,0xB9,0x6D,0x35,0x83,0x39, -0x92,0x20,0xF5,0xA6,0x05,0x38,0x11,0x8E,0x6B,0x99,0xFD,0x25,0x70,0x02,0xA7,0x07, -0x80,0x13,0xE6,0x83,0x5A,0x6B,0xAF,0x7D,0x24,0xED,0x28,0x93,0xD7,0x52,0x7A,0x47, -0x03,0xB9,0x7F,0xBF,0xFF,0xF8,0x91,0xC3,0x03,0x07,0xE8,0x03,0x77,0xC9,0xF6,0x6A, -0x54,0xD0,0xCB,0x7B,0x54,0xF3,0x7C,0x89,0x90,0x1D,0xAC,0x77,0x58,0xD0,0xCA,0x4D, -0xB1,0x06,0xF7,0xB7,0xE9,0x26,0x03,0xCD,0x68,0xA6,0x5B,0xEA,0xB2,0x40,0xED,0x8D, -0xFE,0xF0,0xF2,0x93,0xF1,0x60,0x42,0x37,0x0E,0xCC,0x9D,0x54,0x28,0x1A,0x3F,0xCF, -0x63,0x73,0x63,0xBC,0x9A,0x89,0xF1,0x96,0x11,0x76,0xF4,0xBB,0xE5,0xF4,0x84,0x49, -0xB8,0x41,0xE2,0x48,0xDB,0xA7,0xF7,0x16,0xF9,0x4A,0x68,0xC3,0xF4,0x50,0x5C,0x56, -0xD1,0xCC,0xEB,0xB4,0xCE,0xB6,0xC3,0x27,0x6D,0x10,0x04,0x1E,0xE7,0x31,0x88,0xED, -0x46,0xE3,0xD8,0x5E,0x6C,0x8C,0xD5,0xD9,0xE6,0xF0,0x01,0x2C,0x0C,0xD3,0x48,0xB3, -0xB5,0xBC,0x8B,0xE0,0xFB,0x9E,0x1F,0xBC,0x00,0x38,0x4E,0xCC,0x12,0xDB,0x61,0xA0, -0x4E,0x43,0xBF,0x3F,0x08,0x6F,0x64,0x45,0xBE,0x43,0x97,0xD6,0x15,0x10,0x30,0xCD, -0x6B,0xD3,0x04,0xDD,0x91,0xE5,0x7D,0xD4,0x80,0x9A,0xC7,0x92,0x2D,0x14,0x62,0x06, -0x73,0x4C,0xB5,0x3D,0x76,0x97,0xE3,0xD5,0x85,0x2C,0x98,0x66,0x6D,0xBD,0x65,0x2E, -0xC5,0x49,0x41,0x62,0xF3,0x3D,0x35,0xC1,0x33,0x2A,0x6B,0xDF,0xF5,0x22,0xBB,0xC8, -0x06,0xE4,0x71,0x76,0x44,0x16,0x17,0x0E,0xCD,0x18,0x65,0x79,0x69,0xC1,0xDF,0x79, -0xE4,0x63,0x86,0xD7,0x17,0x80,0x0D,0xFF,0xB7,0xF7,0x6C,0xE7,0xD2,0x5C,0x27,0x8E, -0xD8,0x8B,0xFE,0x4B,0xAB,0xC7,0xA3,0x72,0xA0,0x30,0x2F,0xAB,0x7B,0xD2,0xEC,0x5C, -0xBB,0xAA,0x55,0x72,0x97,0xDE,0x84,0x5D,0x52,0x00,0x85,0xC8,0x1A,0xBC,0xC1,0xC1, -0x22,0x93,0xB8,0x0A,0xF5,0x06,0xCC,0x48,0x94,0x62,0x22,0x11,0x40,0x61,0x55,0xAD, -0x41,0xB2,0x13,0x33,0x2C,0x30,0x02,0x90,0x86,0x13,0x3E,0xA9,0x3D,0xC2,0x5D,0x87, -0x14,0xD7,0x62,0x53,0x2F,0xFF,0xA4,0xAF,0x18,0xC2,0x0F,0x8A,0xA0,0x53,0xDE,0xA8, -0xE9,0x9E,0xEF,0x7F,0x82,0xCF,0xB0,0x6C,0x4F,0x4C,0x9B,0x7A,0x97,0xFB,0x7D,0x6F, -0xA2,0xD2,0x96,0x0C,0xE1,0x85,0x29,0xB0,0xD4,0x2B,0xF5,0xAD,0x98,0x57,0x8C,0x63, -0x7F,0x56,0xAE,0x0B,0x53,0x5A,0x54,0xC9,0x77,0x1C,0x32,0x05,0xF2,0xE9,0xEA,0xA5, -0xFC,0xFC,0x37,0x37,0x45,0x84,0xC6,0xC7,0x78,0x21,0x30,0x0F,0x5A,0x15,0xC6,0xE9, -0x3C,0xBA,0xB0,0x19,0x70,0xAC,0x1A,0x5C,0x28,0xEF,0x8C,0x56,0xCB,0x9F,0x5F,0xF0, -0x81,0xF4,0x94,0x1D,0x5E,0x0D,0x21,0x02,0x1D,0x74,0x50,0x7E,0xDB,0x49,0x60,0x71, -0x88,0xB3,0x81,0xE2,0x9C,0xB2,0x08,0x1F,0x8A,0x11,0x9A,0x6C,0xBD,0xEC,0x1C,0x81, -0x65,0xC5,0xDA,0x4F,0x38,0xB3,0xE7,0x68,0xD1,0x9D,0xAA,0x59,0x5E,0x69,0x7C,0xBE, -0xC6,0xA2,0xF6,0x58,0x5B,0xF9,0x7E,0xB4,0x01,0xF1,0x9F,0x5E,0x6A,0x76,0x34,0x43, -0xE2,0xD5,0x3F,0x24,0x8E,0x0A,0x14,0x6E,0xB1,0x7E,0x95,0xDC,0xCE,0x91,0x02,0x39, -0xC8,0xB4,0x28,0xCA,0x66,0x72,0x88,0x52,0x67,0x9B,0x59,0xE0,0xA8,0x34,0x7E,0xC9, -0x1B,0x26,0xCE,0x5F,0x2D,0xA2,0xD3,0x59,0x2A,0x19,0xFB,0x0B,0x36,0x12,0x16,0xDC, -0x6F,0x69,0x78,0x8A,0x57,0x3C,0xDA,0xB6,0xE0,0x79,0xF8,0x17,0xA5,0x5D,0x83,0x61, -0xCA,0xB8,0xED,0x6E,0x04,0xAA,0xC0,0x47,0xC8,0xAE,0x3A,0x8D,0x7A,0xA0,0x0B,0xC2, -0x09,0x15,0xDD,0x7A,0x4A,0x8E,0xC4,0xFA,0x6A,0x50,0x2C,0xB7,0x0D,0xA1,0xAF,0x2D, -0x9F,0xDD,0x9C,0x0E,0x1A,0xD7,0x78,0x34,0x4E,0x85,0x4A,0xE8,0x05,0xC6,0x0F,0x4C, -0x9E,0x3A,0xEE,0x90,0x9B,0x1B,0x20,0x5F,0xEF,0x44,0xFA,0x1D,0x1E,0xC0,0x7B,0x96, -0xE8,0x79,0x9D,0xE1,0xFA,0x0C,0xCE,0x75,0x21,0x5B,0x77,0x67,0xBE,0x5B,0xF7,0xBB, -0x31,0x47,0xD9,0xB1,0x51,0x07,0x23,0x3F,0xA1,0xF9,0xFE,0x39,0xF3,0x9B,0x0D,0x3B, -0xE1,0x3E,0x88,0x1E,0x74,0xCA,0x94,0x23,0x71,0x95,0xCB,0x3E,0x4F,0xCD,0xA4,0xA1, -0x49,0x12,0x74,0x52,0x1B,0x45,0xA9,0xFD,0xB6,0x3E,0xBD,0x75,0x39,0xBE,0xE7,0xD0, -0x84,0xA9,0x9A,0xD4,0xAE,0x33,0xFC,0xC4,0xA3,0x0F,0x89,0x64,0xDD,0xF0,0xD6,0x82, -0x83,0xF8,0x51,0xB9,0x98,0xD4,0x86,0x60,0xA6,0xB9,0xD6,0x90,0xE0,0xFA,0xD9,0x80, -0xF6,0x50,0x95,0xF2,0x4B,0x1C,0x15,0x33,0x09,0x8C,0xB5,0xFD,0x9C,0x2B,0x36,0x34, -0xA3,0x35,0xE4,0x92,0x1E,0xB1,0xF6,0x4B,0xB0,0xB7,0x44,0x4E,0x78,0x65,0x07,0x66, -0x8F,0xE2,0x4A,0x8F,0x40,0x70,0x99,0x71,0x96,0x94,0x55,0x4C,0xEA,0x58,0x75,0x45, -0x67,0xC9,0x1F,0xEB,0x89,0xA3,0x3C,0x2E,0xBF,0x8A,0x46,0x44,0xAA,0xF1,0x72,0x6D, -0xD6,0x9D,0x20,0xD9,0xCB,0x42,0x9C,0x91,0xCF,0xEE,0x12,0x24,0x24,0x01,0x25,0xF9, -0x82,0x1F,0x23,0x27,0xE5,0xE3,0xA7,0xCF,0xEB,0x3B,0x74,0x7B,0x17,0xD5,0x3C,0x69, -0x87,0x42,0x2D,0xEE,0x3B,0x7C,0x41,0x57,0x9F,0x20,0xAE,0x7D,0xEB,0x2A,0x92,0xDB, -0x29,0xD8,0x68,0x51,0xE8,0xB4,0xD2,0x04,0x39,0xA1,0x36,0x21,0x26,0xC4,0x29,0x5D, -0xAD,0x23,0x3A,0x00,0x14,0x4F,0xAB,0xC0,0x8D,0x51,0xB2,0xC5,0xD0,0x99,0x2B,0x2A, -0x61,0x7F,0xA6,0x18,0x8F,0x98,0xC5,0xA7,0xA8,0x4D,0x05,0x08,0x7C,0x19,0xBD,0x31, -0xD3,0xC0,0x2E,0x10,0x6F,0x43,0x73,0xE6,0x22,0x64,0xD1,0xA8,0xEC,0xE1,0xC3,0xB6, -0x86,0xA5,0x5F,0x70,0x37,0xB9,0xE5,0x55,0x87,0xDA,0xEF,0x3B,0xBF,0x29,0x10,0x25, -0xAB,0x95,0x83,0xF3,0xAD,0xFC,0x5A,0xFB,0xC2,0x25,0x67,0x73,0x53,0x00,0x81,0x16, -0x8D,0xEE,0x8F,0x2B,0xC4,0x48,0x9E,0xAC,0x46,0xF8,0x60,0x4B,0xE3,0x4D,0x32,0xBA, -0x2F,0x6E,0xD1,0xA2,0xDA,0x35,0x26,0xDF,0xAC,0x32,0x8B,0x6E,0x93,0x87,0xC7,0x38, -0x66,0x2E,0x6D,0x75,0x0A,0x32,0x13,0xB3,0x59,0x42,0x09,0xA4,0x01,0xBA,0xB5,0x1B, -0x56,0xDC,0x0E,0xDF,0xFD,0xA5,0xE6,0x35,0x19,0x0B,0xDE,0x18,0xDC,0x82,0x31,0x1C, -0x0A,0xFE,0x6A,0x40,0x99,0x46,0x57,0xA9,0x4D,0xBA,0xEC,0x27,0x08,0xAF,0xF2,0xE4, -0x8B,0x58,0x36,0xD8,0x0C,0x09,0xEA,0x3A,0x64,0xA4,0xFF,0x2F,0xDE,0x47,0x3D,0xB8, -0xDB,0x29,0x95,0xB6,0xBF,0x26,0xEE,0x21,0xD0,0xE0,0xB0,0x1C,0xF3,0x0E,0xF5,0x83, -0x0C,0x47,0xF2,0x2D,0xB3,0x29,0x1F,0x8D,0xA3,0x99,0xFC,0x57,0xB9,0xD2,0x6C,0xE0, -0xFC,0xD3,0x7C,0x7A,0x74,0x1E,0xBC,0x25,0x8F,0x14,0xB5,0xAA,0x89,0x11,0x78,0x4D, -0xDF,0xE2,0xAD,0xE4,0x5B,0x83,0x3F,0xB4,0xEF,0x65,0xD0,0xFF,0x46,0x2E,0xDE,0x4E, -0x67,0xFE,0xDC,0xF6,0x71,0xFE,0x37,0x17,0xD6,0xCE,0xF1,0x9C,0x70,0xF6,0x10,0x97, -0xBE,0x59,0xBE,0x30,0x1D,0xA4,0xA3,0xCA,0xAE,0x23,0xC8,0x05,0xA8,0xE3,0x58,0xF5, -0xDD,0xF3,0x8E,0xC2,0x80,0xC5,0x8E,0xA4,0x97,0x88,0xE9,0x66,0xB1,0xCC,0x7F,0xC9, -0x91,0xB0,0x49,0xD5,0x52,0x6C,0x45,0x2A,0x0B,0xF0,0x01,0x5A,0xF6,0x41,0xD1,0x75, -0xAA,0x49,0xC0,0xD3,0xE5,0x70,0x60,0xE7,0xF8,0x49,0xB7,0x5C,0x7C,0xD0,0xC8,0xEC, -0x28,0x43,0x4F,0x63,0x9F,0xD4,0x56,0x00,0x84,0x80,0xC0,0x78,0x8F,0x0A,0xA2,0x39, -0x2F,0x76,0x23,0xB3,0x62,0xE0,0x1E,0x1F,0x93,0xAC,0xA7,0xDB,0xC5,0xD6,0x3B,0x5A, -0x1A,0x46,0xAF,0xE8,0x5D,0x03,0x7E,0x9A,0x3E,0xF7,0xD1,0x36,0xC4,0xA1,0xD4,0xFE, -0x08,0x8C,0xCA,0x7F,0xAD,0x65,0x02,0x3F,0xC1,0xE2,0x96,0x3F,0x7B,0xBC,0xFD,0x3C, -0x20,0x50,0x51,0x4A,0x2C,0x75,0x3D,0xE9,0xC5,0xC6,0xD8,0x82,0xDA,0xE2,0xC6,0x12, -0x79,0xEC,0x9F,0x1A,0x35,0xE4,0xA4,0x63,0xEB,0x41,0x9E,0x42,0xF2,0x79,0x1A,0x27, -0x73,0xEE,0xA2,0x15,0x79,0x4C,0x88,0x9F,0xD7,0xD8,0x34,0xC1,0x2C,0x77,0x88,0x31, -0xB5,0xB4,0xF4,0x9B,0x8A,0x4A,0x3E,0x26,0x94,0x94,0x23,0x06,0xD1,0xA8,0x2B,0xB9, -0xCD,0x28,0xC8,0x73,0x95,0x5B,0xE6,0x82,0x60,0x15,0x11,0xDD,0xFF,0x28,0x2D,0xF8, -0x22,0x41,0x72,0x6C,0x13,0x96,0x5D,0x6C,0x4F,0x84,0x92,0x40,0x16,0x89,0x9E,0x93, -0x9C,0x87,0x18,0x0A,0x51,0x0C,0x8F,0x36,0x6B,0x81,0x64,0x0F,0x50,0x73,0xDF,0x8B, -0x01,0x70,0xA3,0xF2,0x91,0xE6,0xA8,0xA6,0xA7,0xBD,0xB2,0xEA,0x85,0x37,0xA0,0x36, -0x75,0x34,0xB9,0x61,0xB6,0xC9,0x94,0xBF,0x63,0x09,0xDB,0xBD,0x8E,0x7D,0x4D,0x9D, -0xE5,0xF4,0x53,0x46,0x9B,0x69,0x18,0x24,0x5F,0x90,0x71,0x3E,0x1D,0xC3,0x73,0x38, -0x53,0x21,0x27,0x09,0xDB,0xCE,0xC5,0x74,0x7A,0x83,0x42,0x2C,0x4E,0x30,0xCD,0x67, -0x0F,0xB9,0xA6,0xAF,0xA5,0xD7,0xBD,0xB7,0xAA,0x07,0x86,0xB8,0x60,0xB0,0xCB,0x26, -0xA9,0xB7,0x94,0x51,0x14,0x4B,0xD9,0x54,0xBE,0x37,0x2B,0x7B,0x4B,0x7F,0xE9,0x91, -0x10,0x44,0x92,0xE7,0xF2,0xD3,0x07,0xCB,0xE1,0xC3,0x2E,0xCD,0xE1,0x6B,0x3F,0x14, -0xE4,0x1B,0x24,0xE2,0xDA,0x93,0x00,0x62,0x01,0x72,0xB1,0xD5,0x93,0x6A,0xA1,0xF3, -0xA0,0x4B,0xFD,0xDC,0x11,0xAB,0x52,0x66,0xE3,0xC9,0x21,0xF0,0x19,0xFB,0xB8,0x6A, -0xBA,0x92,0x86,0x62,0x7C,0xAC,0x03,0xAD,0x3C,0xFD,0xDE,0x0B,0xE8,0x02,0xC3,0x99, -0x5A,0xDD,0x4E,0x84,0x6F,0xB2,0x2A,0xA5,0x82,0xAE,0x81,0xF8,0xFA,0x67,0x09,0x0E, -0x68,0xD8,0xAE,0x0F,0x31,0x59,0xEA,0x47,0x68,0x9D,0xAE,0x6F,0xC0,0x99,0x1F,0xAC, -0xDE,0x0D,0xDA,0x40,0x6A,0x52,0xA1,0x97,0xCC,0x58,0xA2,0x6D,0x35,0x58,0xAF,0x0D, -0x7E,0xD9,0xF3,0xCA,0xED,0xC2,0xDF,0x6F,0xC4,0xD0,0x1D,0xDF,0xEE,0x19,0x19,0xED, -0xB3,0x6E,0xEF,0xEF,0xF6,0x6E,0x49,0xEF,0xDC,0x4C,0x41,0x13,0x39,0x7E,0x77,0x76, -0x57,0xEA,0x1F,0x5B,0x81,0x98,0x4B,0xB2,0x8D,0x1E,0xBA,0x97,0xC2,0xBA,0x0E,0x8A, -0x0B,0x72,0x9E,0xFD,0x07,0x55,0xF0,0x5C,0x32,0x5B,0x20,0x39,0x0A,0xE9,0x9D,0x59, -0x0D,0xA8,0x85,0x89,0xB5,0xA9,0x5E,0xA3,0xFB,0x55,0x7D,0x3C,0x95,0x71,0x7B,0x87, -0x52,0xCE,0x50,0xAD,0x25,0x9A,0x47,0x77,0x05,0x56,0xFF,0x68,0x34,0x2F,0x40,0xA9, -0x32,0x9A,0x34,0xDD,0xB1,0x14,0x10,0x87,0x37,0x69,0xAB,0xD9,0xD5,0x90,0xE0,0xEB, -0x59,0x23,0x1A,0x06,0x64,0x60,0x5F,0x31,0x04,0x40,0x3A,0x35,0x7F,0x84,0x36,0x6E, -0x51,0x30,0x04,0x2F,0x38,0xB6,0x90,0xD9,0x9C,0x1C,0x9C,0xB4,0x30,0x17,0x8B,0xFB, -0x6E,0x02,0xB5,0x7B,0xC0,0x62,0x53,0xF4,0x03,0x78,0xBE,0xE8,0xD3,0x8B,0x3A,0x9F, -0xD2,0xD5,0xFC,0x3B,0xC7,0xBF,0xD7,0xCC,0xA9,0x1B,0x4C,0xD8,0x44,0x0D,0xCF,0x68, -0x18,0x57,0x8C,0xCE,0xE4,0x2D,0xA5,0xF1,0x7E,0xA7,0x0C,0x91,0x43,0x61,0xFA,0xB8, -0x3D,0xBC,0x46,0x24,0x66,0x5D,0x50,0x3B,0xF7,0xF9,0x8C,0x33,0x3E,0x12,0x42,0xA6, -0x05,0xBB,0x9B,0xA0,0xCA,0xED,0xE3,0x76,0x2F,0xF5,0xF7,0x15,0x8A,0x45,0x86,0xCF, -0x4D,0x33,0x64,0xE5,0xF9,0x01,0x72,0x5F,0xAC,0x29,0xC7,0x38,0xCF,0xEB,0x39,0x55, -0x11,0xAB,0xE5,0x43,0x67,0x00,0x95,0x2D,0x3D,0xEB,0x1B,0x56,0x7A,0xCB,0x12,0x98, -0x6B,0x26,0xFA,0x8D,0x4A,0xA0,0x19,0xB6,0x4C,0x98,0x58,0x20,0x6D,0xE1,0xFC,0xF9, -0x9E,0x96,0x3B,0x2C,0x90,0xBB,0x6D,0xB0,0xD2,0xEA,0xBF,0x21,0xA1,0x8A,0xA4,0x78, -0xC1,0xF0,0xEE,0x08,0xF1,0xB3,0xCD,0xD7,0xA6,0xAB,0x77,0xB7,0xF8,0x44,0x18,0x28, -0xFB,0xE6,0x10,0xAA,0x1E,0xC4,0x69,0xD6,0xB2,0x9B,0xDA,0x74,0xDC,0xF9,0x1C,0x66, -0x61,0x24,0xC7,0x82,0xBD,0x1B,0xE1,0x2B,0x56,0x0E,0x0B,0xD1,0x4A,0x08,0x06,0x35, -0x7D,0x27,0xA7,0x48,0x00,0x88,0x74,0x64,0x83,0xB8,0x44,0xA5,0xD4,0xE7,0x0F,0x4F, -0x96,0x85,0x25,0x05,0x15,0x16,0x1C,0x42,0x16,0x5E,0xD6,0x76,0x04,0xEC,0x54,0x04, -0x3A,0x89,0x2A,0xF4,0x99,0x54,0x17,0x2E,0x53,0x3C,0x80,0x31,0x06,0xCF,0x45,0x22, -0x38,0x98,0x09,0xD2,0xBA,0xC6,0x65,0x13,0x4E,0x92,0x57,0x1D,0xC7,0xF5,0x2A,0x7C, -0x8B,0x69,0x32,0x6B,0xE8,0x22,0x54,0x5D,0x2E,0xE3,0x32,0x48,0x6A,0x8D,0xC9,0x29, -0xE6,0x0A,0x07,0xC4,0x5C,0x5E,0xBB,0x8C,0x65,0x27,0x9A,0x3D,0xA2,0xDE,0x5A,0xFA, -0x12,0x55,0xB1,0xC1,0x5E,0x63,0xB4,0x86,0x08,0xEC,0xCB,0x3A,0x45,0x7A,0x20,0xCC, -0x03,0x61,0x80,0xD4,0x0C,0x87,0x85,0xC8,0x8E,0x02,0x70,0xF7,0x33,0x43,0x75,0x79, -0x48,0x17,0x2B,0x13,0x7D,0xF1,0xC6,0xBB,0xC2,0xFE,0x5C,0x5F,0xBC,0x9D,0x48,0x16, -0x4F,0x22,0x47,0xC3,0xE7,0x4D,0x6F,0xED,0x6D,0xAF,0x25,0x8F,0x71,0x81,0xFF,0x33, -0x24,0xEF,0x4B,0xFB,0x62,0xF7,0xBC,0x8A,0xD2,0x26,0xF1,0x44,0xDE,0x87,0x06,0xDC, -0x3E,0x1E,0x18,0x6D,0xC7,0x26,0x29,0x6E,0x0D,0x85,0x0C,0xCC,0x1C,0xAF,0xD1,0x46, -0x37,0xF1,0x62,0xF3,0xB3,0x69,0x9F,0xBB,0x9E,0x38,0x43,0x59,0x1F,0x65,0xB1,0x5A, -0x6C,0xFA,0x29,0x23,0x60,0xFB,0x79,0x2E,0x00,0x2D,0x65,0x31,0xBD,0x28,0x33,0xB1, -0x2A,0xDD,0xB5,0x5D,0x40,0x36,0xCC,0x05,0x16,0x5F,0x0A,0xB8,0x93,0x6E,0xF3,0x36, -0xC4,0xF7,0xD4,0x4A,0x36,0x75,0xBF,0x74,0xB6,0x72,0x91,0x34,0x1E,0xA0,0xEC,0x4C, -0x9C,0x9C,0x55,0x86,0x37,0x92,0xCD,0xEA,0xAD,0xA8,0x97,0x40,0xAE,0x01,0x2D,0xB9, -0x20,0x52,0x05,0xDF,0xA1,0x5A,0x8C,0x9E,0xA5,0xC9,0xF0,0xE0,0xC8,0x25,0xF8,0xE6, -0x18,0x6C,0xE1,0x62,0x2C,0xE6,0xCB,0x30,0x75,0x66,0xA1,0x99,0x6D,0xEC,0xA7,0x35, -0x4D,0x55,0x54,0x14,0xE1,0x5D,0x25,0xB6,0x91,0x34,0xEF,0xA8,0x59,0xF9,0x96,0x24, -0x70,0x8B,0x3B,0x9B,0x49,0x71,0xD9,0xFA,0xE7,0x45,0x9C,0xEB,0x2F,0x3E,0x3D,0x6F, -0xC7,0x97,0x1E,0x56,0x99,0x08,0x88,0x55,0x5B,0xDF,0xCA,0x42,0x1A,0xEE,0x51,0x68, -0x7D,0xD9,0x0F,0x21,0x27,0xAD,0x1B,0x6B,0x42,0xA1,0x09,0x3A,0xB1,0xD9,0x3C,0x1D, -0x12,0xE3,0x51,0xE0,0x0B,0x7A,0xB5,0x76,0xD0,0x82,0x34,0x48,0xA0,0xFF,0x1F,0x1F, -0xF1,0x9B,0x04,0x4D,0x5E,0x1F,0xC4,0x16,0x34,0xD0,0x7A,0x79,0x51,0x46,0x24,0xAC, -0x62,0xC8,0xD7,0x85,0x2B,0xB7,0x00,0x5D,0x48,0x64,0xAB,0x96,0x32,0xE9,0x11,0xC1, -0xA5,0xFF,0x74,0x2D,0x2F,0x0D,0x7C,0x0A,0x43,0x3F,0x7B,0xDD,0x4A,0xD0,0x88,0x2C, -0x43,0x67,0xAA,0xB2,0x2A,0x50,0x72,0xC3,0xBF,0x8D,0x84,0x73,0x90,0xA4,0x93,0x2A, -0x78,0x39,0x84,0x13,0x7E,0xD2,0x71,0x3D,0x8C,0x1D,0x50,0x6A,0xF6,0x80,0x46,0x75, -0xD8,0x86,0xC6,0xF2,0xCF,0x86,0x4E,0x0F,0x02,0x89,0xA0,0x3D,0xA2,0xF0,0x22,0x15, -0x97,0x4E,0x20,0x12,0x7B,0x8F,0x7F,0xF4,0x44,0x52,0xB0,0x8C,0x35,0x6D,0xCC,0xF9, -0x21,0x0F,0xC0,0xC9,0xC9,0x30,0xF7,0xFC,0xD4,0xD5,0x48,0xF2,0xE1,0xE7,0xE5,0x59, -0x4F,0x68,0x5B,0x1E,0x05,0x6C,0x6B,0xE4,0x78,0xCE,0xC8,0x64,0x56,0xC2,0xF9,0x94, -0x36,0xAC,0xA7,0xE5,0x81,0x97,0x39,0xB5,0x8E,0xB9,0x95,0x66,0xD2,0x76,0x09,0x70, -0xC2,0x77,0x95,0x64,0x87,0x21,0x80,0x46,0x3B,0xDC,0xD6,0x88,0x6F,0xE3,0x9A,0x3F, -0x7A,0x04,0x8B,0x19,0x25,0xA1,0xDE,0xCF,0x4B,0x5E,0x1C,0x7D,0x84,0x09,0x50,0x1A, -0xBE,0x53,0xE2,0xAD,0x03,0xDA,0xD2,0x17,0xFB,0xF2,0x51,0xCE,0x83,0x8D,0x8D,0x22, -0x01,0xFD,0x78,0xE8,0x2E,0xEA,0x0E,0x94,0x17,0xC1,0x78,0x5F,0x0B,0xC8,0x72,0x6A, -0x0E,0x92,0x43,0x58,0x23,0x17,0x67,0x3C,0x76,0x5C,0x16,0x72,0x1B,0x2B,0x0C,0x7E, -0xB3,0x01,0xD6,0x17,0xA2,0xB1,0x3B,0xA4,0xA0,0x00,0xFE,0xBD,0x08,0x02,0x12,0x76, -0x02,0x9D,0xB2,0xF4,0xFE,0x93,0x5F,0x3B,0x74,0xF8,0xD3,0x7E,0x3A,0x56,0xA3,0x49, -0xF7,0x1B,0x45,0x63,0xCE,0x61,0x3C,0x91,0xA9,0xFF,0xEB,0xFA,0xED,0x16,0xEA,0xF5, -0x98,0x21,0x1B,0xA2,0xFC,0x9F,0x9A,0x9F,0xF0,0xA9,0x81,0x85,0x48,0xDF,0xB5,0x26, -0x75,0x6B,0xB0,0xA9,0xAB,0xF6,0x2E,0x5B,0xDF,0x8E,0x98,0xB9,0x0C,0x4C,0xAF,0x52, -0x4B,0xD5,0x15,0x3A,0x28,0x5C,0xB7,0x67,0x7F,0xA3,0x03,0x35,0xCC,0x6B,0x45,0xC2, -0xF5,0x26,0x4A,0x69,0x3A,0x6F,0xA4,0x42,0xD8,0xE3,0x53,0xE8,0x19,0x24,0x31,0x74, -0x13,0xBE,0x94,0xF6,0x10,0x0E,0xB3,0xAC,0x5C,0xB2,0x01,0x13,0x8C,0xB6,0xE2,0x92, -0x15,0x3E,0xD5,0xD8,0xCB,0x3C,0x32,0x58,0x4D,0xAD,0xA5,0xCB,0x10,0x5E,0xDE,0xEA, -0xA6,0x9F,0xBE,0x31,0x56,0xBF,0xA3,0x77,0x80,0x2B,0x4B,0x70,0x79,0x41,0x64,0x05, -0xE7,0x65,0xA6,0x77,0x19,0x49,0xA6,0x53,0x1A,0x69,0x11,0xA2,0xBF,0x27,0x0E,0xBB, -0x80,0xED,0x47,0x3E,0xE6,0x0C,0xEE,0xDB,0xBD,0x29,0x41,0x7F,0x73,0xF1,0xEB,0x87, -0xFB,0x14,0xB4,0xCF,0x1D,0xF3,0xDA,0x04,0xBA,0x44,0x8A,0x2E,0xAA,0x4F,0x90,0x9D, -0x31,0x71,0x23,0xDD,0xEE,0xAC,0x89,0xBA,0xA4,0x57,0x82,0x07,0xE5,0xA9,0x58,0x7D, -0x27,0x8F,0x81,0xE7,0x79,0x83,0xBA,0x50,0x4F,0x09,0x60,0xC7,0xE0,0x22,0xB8,0x4F, -0xF3,0xA6,0x0B,0x47,0xAE,0xAB,0x20,0x92,0xC1,0x9D,0x90,0x90,0x81,0x82,0xB0,0x28, -0xD1,0x69,0xBC,0x6C,0x6D,0x06,0x10,0x86,0x5D,0x2C,0x73,0xF4,0x8F,0x7C,0x82,0x8E, -0x07,0x7D,0x39,0xC6,0xDB,0x03,0xE4,0xD9,0xC5,0xCA,0xEC,0x2A,0x7C,0xCA,0x84,0x37, -0x99,0x7C,0xDE,0xB4,0xC3,0x9C,0x55,0x39,0x85,0xE2,0x45,0x2D,0x23,0xCF,0x32,0xC3, -0x28,0xE0,0xBA,0x57,0x8A,0xDC,0xE9,0xEE,0xE8,0x49,0x30,0x1A,0xC6,0xDB,0xCA,0x40, -0x60,0xF5,0xD8,0x8F,0x13,0xE5,0x04,0x96,0xB2,0x25,0xED,0x8E,0x61,0x1D,0xA8,0x99, -0x47,0xDA,0xE4,0x96,0x70,0xC4,0xAF,0xAF,0xD3,0xB8,0x83,0xA3,0xCB,0xEF,0x98,0xFA, -0xE9,0x57,0x58,0xD1,0x4C,0x2C,0xD7,0x33,0x7A,0x6A,0x0D,0x68,0x88,0xF8,0x5F,0xB6, -0xCD,0x18,0xAE,0xD4,0x0A,0x9D,0xC7,0xE8,0x30,0x87,0x06,0xC3,0x11,0x9B,0x83,0xFC, -0x54,0xC4,0xCD,0x9E,0x41,0xD1,0xBE,0x9B,0x3F,0x8B,0xAA,0x32,0x7F,0x00,0xE4,0x2B, -0x40,0x07,0x60,0xAE,0xBC,0x98,0x33,0xB7,0x08,0x4C,0x02,0x91,0xEB,0x57,0x6A,0xDB, -0xE6,0x38,0x63,0x61,0xE9,0xFD,0x42,0xD7,0x95,0x63,0x93,0x12,0xDA,0xC9,0xBB,0xF8, -0xC5,0xAA,0x11,0x5C,0x29,0xBB,0xC5,0xF9,0x73,0x95,0x18,0x2F,0xB4,0x52,0xDC,0x2F, -0xFE,0xF4,0x3F,0xFD,0x94,0xF5,0xE1,0xFD,0x63,0x14,0xCE,0x10,0x68,0x67,0x47,0x07, -0x22,0x6F,0x0A,0xD5,0x54,0xB3,0x66,0xD3,0xF2,0x0D,0x44,0x89,0xD4,0x37,0x89,0x5E, -0xB0,0x61,0x1C,0x0B,0xD7,0x19,0xFF,0xEF,0x5A,0x41,0xB8,0xA5,0xD6,0x38,0xB4,0x54, -0xF0,0xC6,0xC1,0x5B,0x4A,0x9A,0x6E,0xC0,0x66,0xDD,0xC0,0x4D,0x71,0xFE,0xD6,0x8D, -0x9A,0x1C,0x14,0xA8,0x6E,0xED,0xA7,0xBC,0xC2,0xA7,0x27,0x7B,0x7B,0x4E,0x59,0x0F, -0x03,0xC0,0x77,0xE2,0xCD,0x8A,0x8B,0xAB,0xF6,0x5A,0x38,0x33,0x4E,0x9E,0x35,0x08, -0xEC,0xB7,0xD3,0xE3,0x20,0xFC,0xD0,0x06,0x15,0x65,0xBD,0x53,0x7E,0xC5,0xB9,0x3D, -0x14,0x5E,0x63,0xDF,0x1B,0xDC,0x71,0x8E,0xA9,0x93,0x3D,0xC2,0x36,0xFC,0x3A,0x83, -0x55,0x70,0x65,0x5F,0x9A,0x28,0xAA,0xBC,0x0D,0x4B,0x2C,0xDD,0xDE,0x60,0x42,0xBF, -0x3E,0x99,0xD6,0xFE,0x0B,0x07,0x37,0x3F,0xE3,0xF0,0xE1,0x5B,0xC1,0x09,0xAD,0x05, -0x26,0xDF,0x97,0x04,0x0E,0x23,0x78,0xC9,0xB9,0x22,0x7B,0x19,0xA7,0xCF,0x13,0x6F, -0x9B,0x0A,0xE8,0x40,0x32,0xEF,0x9D,0x1F,0x29,0x05,0x91,0xD9,0x5F,0x38,0x8E,0xD4, -0x30,0x01,0x05,0x0A,0x86,0x2B,0xCA,0x76,0x30,0x39,0xBE,0xFE,0xCC,0x7C,0xFA,0xCE, -0x95,0x92,0x3B,0xB4,0x1F,0x17,0x49,0xDC,0xAB,0xB5,0x1E,0xD3,0xEB,0xBC,0x6A,0x24, -0xCA,0xC1,0x85,0x47,0x0C,0x32,0x5B,0xEF,0xFB,0x68,0xB9,0x93,0xA4,0x69,0xDC,0x50, -0x8B,0xEF,0x83,0xC7,0x88,0xE2,0xCF,0x2B,0x38,0x10,0xA0,0xED,0x02,0xF1,0x80,0xD1, -0x3C,0xC4,0xA1,0x08,0xB8,0xF6,0x0C,0x86,0xDB,0x74,0x3C,0x5C,0xFC,0xFF,0x26,0xE3, -0xB9,0x6E,0x77,0x1C,0x4C,0xA9,0xBA,0x83,0x44,0xAA,0xA4,0xBA,0x4A,0x0C,0x9F,0xE5, -0x5E,0x1C,0xE9,0x1D,0xFD,0x49,0xA2,0x1C,0xED,0xAD,0xE4,0x92,0x4F,0x53,0x6B,0x53, -0xC7,0x96,0xF0,0x8C,0x46,0xAB,0x87,0x8C,0xE9,0xFF,0xDC,0x59,0x71,0x03,0x2F,0x8A, -0x34,0x67,0x8B,0x75,0x72,0x74,0x7C,0x73,0x22,0xAE,0xDB,0x34,0xCF,0xDA,0x35,0xF1, -0xA3,0x75,0x41,0x10,0x21,0xCA,0x8F,0x2C,0x2A,0x87,0xC5,0x27,0x29,0x95,0xD5,0x39, -0x01,0x4F,0x57,0xEE,0x12,0x20,0x18,0x03,0xC8,0x47,0x2E,0x79,0xA2,0x90,0xE7,0xD9, -0x2E,0x7C,0xBD,0x79,0x6F,0x98,0x6B,0x1D,0xAE,0x43,0x51,0xF7,0x1B,0x61,0x54,0xE2, -0x4D,0x36,0x24,0xA5,0x16,0xEB,0x20,0x51,0x02,0xB2,0x5E,0xFB,0x80,0x0F,0x83,0x85, -0xE0,0x06,0x30,0x66,0x9B,0xC7,0xDD,0x18,0xAA,0x11,0x69,0x3C,0xD7,0x9B,0x73,0x0B, -0xE3,0xC9,0x96,0x59,0xEA,0xA7,0x88,0x7D,0x3B,0x92,0xF4,0x13,0x49,0xAA,0x50,0xDA, -0x3A,0xFF,0x58,0x81,0x41,0x9E,0xEB,0x5C,0x98,0x9A,0x89,0x39,0x5B,0xB6,0xE8,0xAB, -0x58,0x27,0x10,0x94,0xAC,0xE6,0x72,0x65,0x45,0x0E,0xD3,0x55,0x9D,0x11,0x31,0xC9, -0x64,0x3E,0x37,0xBB,0x07,0xDF,0x11,0x44,0x2B,0x23,0xB2,0xC8,0x6F,0xBB,0x52,0xF9, -0xD8,0x79,0x99,0x36,0x7F,0x43,0x2D,0xAC,0xA5,0xE8,0x1B,0x1A,0x78,0xF8,0x1E,0x3E, -0x41,0xF3,0x80,0xA7,0xC6,0xB0,0x2B,0x1A,0x68,0xCD,0x07,0xAD,0x7E,0x01,0x25,0xB7, -0x94,0x00,0xEA,0x7D,0x0F,0xCC,0x0F,0x6D,0x8F,0xFB,0xA3,0xD7,0xCE,0x0B,0xA7,0x38, -0xF7,0x4A,0x73,0xA1,0x23,0xDB,0xAC,0x0A,0x90,0xB3,0x97,0x2A,0x1E,0x3E,0xA0,0x54, -0x53,0x4B,0x9C,0xD6,0x78,0x76,0x41,0x7C,0x15,0xD3,0x74,0x15,0x45,0x0E,0x95,0xD8, -0x91,0xF4,0xB5,0xCB,0x6D,0x89,0x48,0x3B,0xB0,0xAF,0x12,0xE5,0xD2,0xC4,0x87,0xBD, -0xBF,0x55,0x8E,0x95,0x49,0x8D,0xF5,0x75,0x66,0x90,0x02,0x64,0xE7,0x18,0xAF,0x26, -0x8A,0x7D,0x52,0x0E,0xCE,0xA3,0x35,0x33,0xEC,0x09,0x93,0x7D,0xB7,0xA4,0xF6,0xE8, -0x9C,0xA3,0xC0,0x00,0x57,0x9F,0xB6,0x99,0x10,0x25,0x3B,0x31,0xB8,0xA6,0xFC,0xD5, -0x35,0xF5,0x5A,0xBC,0x64,0x75,0x21,0xB6,0xA2,0x38,0x77,0x2F,0xEE,0xE3,0x9E,0x92, -0x54,0xE2,0xB4,0x96,0x17,0x04,0x57,0xF5,0x39,0xB4,0xD7,0x02,0x20,0x6E,0xE4,0x8D, -0xD5,0x2E,0xEC,0xFD,0x65,0x9A,0x56,0x12,0x3F,0xC0,0xCC,0xD8,0x81,0xDE,0x11,0x4C, -0x85,0x77,0x50,0x33,0x24,0xEE,0xC0,0xDA,0x58,0x60,0xC4,0xB9,0xA5,0xB8,0x4E,0x99, -0xCB,0x53,0x54,0x8E,0x14,0xFA,0x03,0x77,0x59,0xC4,0xB3,0x56,0x07,0xAE,0x74,0x67, -0x98,0xC5,0x4E,0x7F,0x81,0x1E,0xA6,0xA6,0xA4,0x4C,0x6C,0xF5,0x2F,0x6C,0xEE,0xB0, -0xE2,0x5B,0x47,0x90,0x37,0xCB,0xD2,0xE9,0xEB,0xD9,0xFF,0x48,0xE5,0x6F,0xF2,0xD0, -0xA9,0x8B,0x1C,0x9B,0xD1,0x5E,0x01,0x7B,0xCD,0xB1,0x61,0x5D,0xA8,0xCD,0x19,0x52, -0x8F,0x89,0x0D,0xB8,0xB3,0x1B,0x46,0x2D,0xA1,0xBA,0x23,0xD1,0x59,0xC1,0xB5,0x5D, -0xD1,0x48,0x62,0x82,0x1D,0x06,0x6A,0xFA,0x9C,0xC8,0xB1,0xF2,0x7F,0xD0,0xB7,0x7E, -0x84,0xE5,0x81,0xFA,0x6C,0x66,0x3F,0x9F,0xD2,0xF9,0x55,0xA0,0xC6,0x21,0x04,0x45, -0x57,0x2D,0x12,0xA9,0xA8,0x2D,0x4A,0x37,0x03,0x16,0x29,0x14,0x69,0x42,0x69,0x70, -0x61,0xCA,0x68,0x0D,0x63,0x40,0x4D,0x66,0x09,0x19,0x14,0x16,0x6C,0x1D,0x9D,0xC6, -0xD4,0xBC,0x3D,0x34,0x8D,0xC6,0x80,0xDD,0x47,0x28,0xF0,0x44,0x79,0x29,0x8C,0xF7, -0xBB,0x33,0x00,0xEA,0x71,0x8A,0x28,0xF1,0x34,0x6B,0x86,0x35,0xBE,0x5F,0xC7,0x5C, -0x9E,0xFE,0xB7,0xF6,0x20,0x25,0xF8,0x88,0x62,0xC2,0x3A,0xAF,0x6E,0x6A,0xC0,0x30, -0xA0,0xBA,0xE7,0x2F,0xD7,0x84,0x1A,0x0F,0x18,0x0C,0x25,0x22,0xED,0x45,0x51,0xAD, -0x40,0x61,0x51,0x6E,0x5F,0x8C,0xA8,0xB0,0xE0,0x72,0xB5,0xA5,0x67,0x91,0xF1,0x84, -0xDB,0xB6,0x3F,0x09,0xC3,0x94,0x64,0xEC,0x60,0xE4,0x19,0xBE,0x42,0x26,0x3C,0x98, -0x27,0x4D,0x46,0xCD,0x91,0xC5,0xE0,0x17,0x3D,0xE6,0xEF,0xC9,0xF6,0xA2,0xD8,0x68, -0xF4,0x85,0xD5,0x9E,0xD4,0x7A,0x4E,0x8D,0xD3,0x5D,0x22,0x4F,0x50,0x3A,0x84,0xE9, -0x2A,0x1A,0x33,0x06,0xDA,0xB3,0x4B,0xD0,0x2C,0xF3,0xDE,0xFD,0x24,0xE0,0x82,0xF2, -0x04,0xBB,0x08,0x58,0xD9,0x4D,0x1F,0x52,0xF8,0xEA,0xED,0x6D,0x00,0x86,0xDD,0x27, -0x46,0x5A,0xA8,0xE7,0xE6,0x7F,0xAE,0x06,0x08,0xBD,0x63,0xF9,0x70,0xD2,0xBD,0x43, -0xC3,0xF0,0x7E,0xF3,0xCF,0x4C,0x42,0x97,0xBE,0xF2,0x17,0x2C,0xAB,0x6B,0xD6,0x6D, -0x56,0xBF,0xC3,0x60,0x93,0xD4,0xC3,0x31,0x56,0x3D,0xC1,0x70,0x82,0x78,0xDE,0x73, -0x32,0x5C,0x72,0xFC,0xF7,0x4B,0x9F,0x13,0x7B,0xFE,0x15,0x88,0xD6,0x4A,0xE1,0xC2, -0xC5,0xCB,0x87,0x7A,0x94,0xE1,0xAF,0xE1,0x43,0x7A,0xC8,0x8F,0x96,0x9D,0x5D,0x8B, -0x15,0xCC,0xB2,0x16,0x28,0x36,0xE6,0xA1,0x7E,0x08,0x5A,0xAC,0x63,0x1F,0x97,0xFB, -0x0B,0xB1,0x0A,0x65,0x76,0xBF,0x44,0x21,0xB4,0xFD,0x2A,0x2E,0x89,0xF4,0xB2,0x31, -0x62,0x05,0xCE,0x32,0x7A,0x67,0x62,0x5A,0xF9,0x4E,0x9A,0x82,0x0D,0xF3,0x8A,0xEC, -0xF8,0x40,0x71,0x9C,0xA6,0xE4,0x4F,0x6A,0xD0,0xDF,0x76,0xB1,0x48,0x7B,0xC2,0x13, -0x61,0xE8,0xAE,0x0C,0x87,0x94,0x52,0xA0,0x00,0x58,0x2C,0x04,0xD5,0xF9,0x2C,0x65, -0x31,0xA8,0x09,0xD1,0x52,0xE0,0x1D,0x16,0xBE,0x0B,0x73,0xF7,0xC6,0xEB,0x09,0x56, -0xE3,0xE2,0x21,0xBC,0x03,0x64,0xE6,0x44,0xD3,0xC0,0x22,0xF0,0xF8,0x2D,0xD4,0xA6, -0xFA,0xC5,0x0E,0x80,0x47,0x7E,0x75,0x30,0x3E,0xCB,0x89,0xBA,0x4C,0x7A,0x10,0xCF, -0x29,0x60,0x51,0x49,0x32,0xB5,0x78,0x67,0xED,0x53,0x87,0x4E,0xC1,0x87,0x3C,0x86, -0x73,0x22,0xCB,0x9B,0xF4,0xDF,0x1E,0xD9,0xAC,0x15,0x9F,0xB4,0xC4,0xC8,0x18,0x70, -0x63,0xF9,0x8D,0x2A,0xC7,0x33,0x8F,0xF0,0x58,0x94,0xAD,0x6F,0xD1,0xC1,0xE7,0x37, -0xC7,0xE6,0x9C,0xF2,0x5B,0x0F,0x67,0x88,0x5E,0xBA,0xEC,0xEF,0x50,0x1A,0x13,0x05, -0xE0,0x1C,0x75,0x3E,0xAE,0x89,0x90,0x1F,0x7A,0xBF,0x1A,0xA0,0xEB,0x3F,0xF1,0x95, -0x02,0x42,0x9E,0xFE,0xAB,0x69,0x1B,0x2D,0x6C,0x85,0xB8,0x5E,0xD8,0xA8,0x1B,0xBA, -0x23,0x62,0x6C,0x46,0x38,0x3A,0xC8,0xE5,0xCB,0x5C,0x7E,0x3C,0x8C,0x37,0x90,0x35, -0xE8,0x0F,0x6B,0x17,0xE1,0x41,0x76,0xFF,0xB0,0xAD,0x8D,0xC5,0xB8,0xCC,0x4F,0xCA, -0x8E,0x81,0x14,0x13,0x37,0x55,0xF3,0x55,0x4C,0xA4,0x00,0xAC,0x86,0x0A,0x92,0x3A, -0x27,0xA9,0x54,0x14,0x68,0xE3,0xF6,0xA1,0xD2,0xD6,0xE7,0xAD,0x37,0x12,0x72,0xA5, -0xF2,0xD6,0x10,0xA9,0xCA,0x61,0xBB,0x4A,0xB8,0x25,0x32,0x77,0x42,0x7F,0xD9,0x92, -0x11,0x67,0x8C,0xCD,0xC4,0x53,0x45,0xEC,0x9A,0x0E,0x85,0xB8,0x72,0xBC,0xCD,0x3F, -0xE1,0xF3,0x02,0x9A,0x80,0x49,0xD6,0x98,0x0C,0xF4,0xDD,0x0B,0xCD,0xA1,0xE4,0xFD, -0x6F,0x21,0xAB,0x51,0xC3,0x8E,0xC1,0xD4,0xA2,0xB3,0x61,0x86,0xB5,0x9D,0x78,0x15, -0x52,0x02,0x39,0x23,0x8D,0x1B,0xE2,0x22,0x63,0x35,0x83,0x31,0x8B,0x5B,0xA5,0xE5, -0x8F,0x6E,0x63,0xB7,0x2A,0x79,0x24,0xFB,0x2B,0xED,0xE1,0x24,0x66,0xC2,0xDD,0xDC, -0x60,0x07,0xD9,0xA8,0xA0,0xBB,0x6E,0xB9,0x0B,0xCC,0x59,0xD6,0x51,0x6D,0xFC,0xA1, -0xF1,0x28,0x44,0x2B,0x91,0x6A,0xF0,0x9A,0xAD,0x03,0x5A,0xE9,0x20,0x38,0x9C,0xC4, -0x64,0xCC,0xE1,0xFA,0x5A,0x52,0xA2,0x9E,0x86,0xB6,0x97,0xC9,0xA5,0xDB,0xA3,0xA4, -0xC8,0xC0,0xEE,0x0B,0x34,0x35,0x39,0x49,0x1F,0xFC,0xF4,0x15,0xDC,0x90,0xD0,0xE8, -0x26,0x46,0x23,0xB0,0x9F,0x58,0x0E,0x3C,0x69,0xB7,0x33,0xBE,0x04,0x85,0x98,0x8A, -0xDA,0x0A,0x8B,0x9C,0x9D,0x65,0x01,0x36,0xFB,0x69,0x25,0xB0,0x9D,0x06,0xA4,0x20, -0x7A,0xDE,0xA2,0x16,0xFF,0x0D,0x6B,0x4D,0x8E,0x3E,0x28,0x7B,0xA7,0xF8,0xB2,0x82, -0xAC,0x5F,0xB2,0x29,0x23,0x96,0x5E,0x65,0xB5,0x9F,0x06,0x25,0x83,0x45,0xB6,0xCC, -0x5A,0x11,0x27,0x0A,0x05,0xE4,0xA7,0x6A,0x48,0x80,0x4E,0x11,0xE9,0x1C,0xE0,0xB3, -0xDF,0x2E,0xC4,0x6A,0x35,0x68,0xFC,0x5F,0xA7,0x81,0xEA,0x66,0xB2,0xF1,0x4D,0xC5, -0xA2,0x96,0xB7,0x74,0x3A,0x07,0xC7,0xEF,0xBB,0x39,0xF8,0x17,0x0C,0x9B,0x8B,0xA3, -0x45,0xEC,0x13,0x42,0x30,0x88,0x77,0x6D,0xD1,0xCA,0x2D,0xCD,0xC5,0xBF,0xF7,0xD4, -0x21,0x73,0x4F,0x60,0x54,0x60,0x5C,0x38,0x7C,0x91,0x5B,0x20,0xFD,0x62,0xF0,0x50, -0x07,0x66,0xD1,0x08,0xF6,0xE2,0x11,0xD3,0x27,0x41,0x10,0x2B,0x1B,0xB1,0x65,0xC2, -0x93,0x6D,0x03,0x7D,0x95,0xD7,0xBE,0xBE,0x6F,0x99,0x72,0x3E,0xDE,0xB3,0xC1,0xCE, -0x6E,0xCE,0xDC,0xF5,0x57,0x00,0x96,0x24,0x75,0x0F,0x21,0xCF,0x4B,0x16,0x25,0x1F, -0xF5,0xE3,0x7C,0x79,0xE5,0xFC,0x38,0xDB,0xD7,0xE4,0x6C,0x4D,0xAF,0xE6,0xA1,0xAB, -0x92,0x82,0x74,0xD9,0x83,0x29,0x1C,0x84,0x6B,0xBD,0x3C,0x83,0xEE,0x70,0xD5,0x63, -0x68,0x14,0xC7,0x81,0xD8,0x22,0x57,0x54,0x61,0x3F,0x8C,0x0C,0xAE,0x91,0x4E,0x0F, -0xF3,0x39,0x67,0x0D,0x55,0x3D,0x99,0x2E,0x8F,0x28,0xED,0x26,0xDD,0xE7,0x3F,0x4C, -0xFE,0x0E,0x36,0xD2,0x64,0xEC,0x07,0x0D,0x3B,0xF9,0x02,0x5A,0xBB,0x98,0xB1,0x48, -0xA8,0x94,0x8A,0x7B,0x51,0x80,0xD7,0x0A,0x8C,0x34,0x27,0x46,0xEA,0x48,0x1E,0x31, -0xC3,0x2D,0xA4,0xA0,0x26,0x76,0xD5,0x57,0x53,0x00,0xD8,0xBD,0xA9,0xFD,0x7B,0xDF, -0x8D,0x7F,0x40,0x91,0x12,0x47,0xC0,0x46,0x06,0x76,0x6D,0x84,0x47,0x30,0xFD,0x64, -0x18,0x9B,0xE5,0x40,0x1A,0xF5,0x7F,0xCE,0xBA,0x2F,0x3D,0x4A,0xA6,0x8F,0x5D,0x26, -0xC9,0x2F,0x99,0xAF,0x79,0xC0,0xD0,0xA3,0x29,0xE7,0xEE,0x19,0x62,0xFA,0x16,0x8E, -0x6B,0xEA,0x93,0x03,0xFA,0xED,0xE0,0x7F,0x36,0x43,0x36,0x08,0x79,0xF6,0x20,0x94, -0x56,0xC9,0x01,0x71,0xEB,0xCE,0xC6,0x7D,0x59,0x82,0x68,0x32,0xD7,0xDA,0x3D,0x43, -0x32,0x56,0x5D,0x53,0xBD,0x97,0xB9,0x17,0x33,0x71,0xBD,0xE8,0x13,0xAF,0x76,0xEB, -0xC2,0xC2,0xD3,0x04,0xE9,0xF3,0xC9,0x77,0x93,0x90,0xFF,0x57,0x2C,0x1E,0x44,0xBF, -0x19,0x74,0x92,0xE4,0x01,0x59,0xE9,0x4E,0xEE,0x4F,0x4D,0x2E,0x1E,0xFE,0x41,0x34, -0xE6,0xC6,0x6E,0x4A,0xDB,0x42,0x9D,0x48,0x08,0xD0,0x93,0xB6,0x10,0xFB,0x88,0x69, -0xAA,0x85,0xA9,0x5D,0x1D,0x28,0xFB,0xF6,0x04,0x7C,0x62,0xB9,0x09,0xD4,0xAF,0x55, -0xF7,0xF2,0x5F,0x5F,0x99,0xD8,0x4F,0x12,0x7D,0x87,0x9E,0x7D,0x5B,0x50,0xFE,0xAE, -0xD2,0x19,0x95,0xB5,0x7E,0x1D,0x54,0x9B,0xDC,0x70,0x19,0x9F,0x1D,0xAA,0xBF,0xB6, -0x2A,0x9E,0x05,0xCB,0xAA,0x34,0xDE,0x3B,0x6A,0xAB,0xF9,0xDE,0x95,0x18,0xB7,0x09, -0x33,0xB9,0x2A,0xF7,0xC8,0x5C,0xB4,0x40,0xF5,0xCF,0xDB,0x82,0xB0,0xD2,0x5C,0xE3, -0x1A,0x8A,0xC6,0x66,0x40,0xA3,0xF1,0x08,0x4A,0x8A,0x41,0x2C,0x6C,0xFF,0xDF,0xD3, -0xB4,0x97,0xEA,0xB1,0x24,0x4B,0xDA,0x5D,0x89,0x06,0xAC,0xA6,0xE2,0x56,0x0D,0x18, -0x7E,0x15,0x9A,0x44,0xCF,0x81,0x30,0x78,0x31,0x7B,0xB2,0xD5,0xBC,0xF4,0x84,0x98, -0xB1,0xB3,0xA5,0x47,0x71,0x72,0x6F,0x2B,0x49,0x96,0x8B,0x4C,0x3D,0x2F,0x70,0xAA, -0x89,0xB4,0x78,0xC3,0xA6,0x3B,0x2F,0x97,0xBC,0x01,0x7C,0xCA,0x5E,0x1F,0xDA,0x58, -0x74,0x17,0xA7,0x4B,0x50,0xDD,0x12,0x1C,0x45,0x3A,0x7A,0x43,0x05,0xF2,0x77,0x2E, -0x9C,0x4B,0x71,0x84,0x43,0xC3,0x3B,0x14,0xF8,0x75,0xEF,0xD0,0x59,0x73,0xEF,0x88, -0xEB,0x30,0x28,0x59,0xF5,0x22,0xF5,0x49,0x28,0x77,0x05,0xE4,0xA9,0xEA,0xBA,0x13, -0xBD,0xAA,0x94,0xF0,0xC0,0x4E,0x25,0x4E,0x9F,0xBA,0x20,0xF8,0xF8,0x3A,0x15,0x6A, -0xCE,0xDB,0xE2,0xB3,0xB6,0xE5,0xE2,0x05,0xA2,0x35,0x4F,0x26,0x04,0x92,0x59,0x46, -0x80,0x89,0x06,0x82,0x82,0xD4,0xF7,0x14,0xF7,0x43,0xFA,0x1F,0xEA,0x5F,0xDF,0xFD, -0x8A,0x8B,0x3B,0x8D,0xDD,0x62,0xF2,0xE0,0x8D,0xA4,0xCC,0xBB,0x21,0x58,0xB2,0xAC, -0x5B,0x3F,0x47,0x62,0xBE,0x57,0x5D,0x8D,0x1E,0x6C,0x1F,0xE8,0xE5,0x2D,0xF9,0x04, -0x15,0x6D,0xA3,0x53,0x4F,0x6C,0xE4,0x3E,0xFD,0xC1,0x4A,0x90,0x94,0x78,0x99,0x61, -0x28,0x4E,0x31,0x21,0x5E,0x4F,0xC2,0x3C,0x92,0x00,0x14,0xAA,0x3A,0x54,0x84,0xB6, -0x44,0xC2,0x73,0x2A,0x52,0x40,0x33,0x90,0x83,0x02,0x32,0x89,0x58,0x13,0xC1,0xE0, -0x62,0xD7,0xED,0x42,0xF0,0xC2,0x7E,0x7B,0xD8,0xD2,0x79,0x82,0xBE,0xC0,0x54,0x72, -0x2D,0x6A,0x7E,0xD7,0xF3,0xA2,0xB4,0x67,0xD1,0x4C,0x03,0x6D,0x08,0xB4,0x81,0x3D, -0xD0,0xC9,0xA1,0x5F,0x31,0x75,0x9C,0xFD,0xCB,0xDA,0x50,0x9C,0x9D,0x11,0x65,0xEC, -0xD1,0x26,0xD6,0xFB,0x27,0x8B,0x3E,0xC7,0xCF,0xFE,0x1E,0x21,0xAD,0xD2,0x71,0x41, -0xB6,0x47,0xDE,0x5B,0x41,0x5E,0x1A,0x98,0x73,0xA7,0x4E,0xEF,0xEC,0x44,0x05,0x89, -0xB0,0x9D,0xC5,0x2F,0xF1,0x9F,0xBB,0x6D,0x2B,0x6B,0xCF,0x84,0x9E,0x45,0x9B,0x6E, -0x2B,0xB0,0x65,0xA3,0x7C,0x80,0x75,0x17,0xC5,0x7C,0xAE,0xAE,0xED,0x33,0xEA,0x2D, -0x59,0x2E,0x64,0x44,0xE4,0x01,0xD3,0x4B,0xEE,0xC9,0x63,0x8E,0x2F,0x5D,0x7B,0xF1, -0x70,0x1D,0x88,0xD5,0x6C,0xFE,0x96,0x03,0x51,0x8C,0xF9,0x20,0xF3,0x70,0xF8,0xC1, -0x3D,0xB1,0x38,0x66,0x6B,0x23,0x12,0x3B,0x95,0x38,0x90,0x77,0xFF,0x56,0x20,0xBA, -0xF7,0x33,0x48,0x93,0x80,0xE9,0xF8,0x1E,0x2D,0x45,0x8E,0x04,0xA1,0xF4,0xA9,0x3A, -0xCA,0x10,0xDA,0xE1,0x02,0x99,0x0D,0xD4,0x18,0x42,0x5E,0x68,0x1D,0xBD,0x7E,0x7A, -0xF2,0x17,0x07,0x65,0xD5,0xD0,0x4D,0x68,0xED,0xD5,0xA9,0xEE,0x7E,0x8D,0xD4,0x88, -0xDF,0xEF,0xD3,0xA6,0xE7,0x61,0x19,0x57,0x5C,0x36,0xCD,0x72,0x1A,0xD1,0x4B,0xAA, -0x37,0xB3,0x05,0x69,0xF4,0x7F,0x30,0x5F,0xE1,0x79,0x58,0xE1,0x46,0x50,0xD3,0x0C, -0x81,0x66,0x71,0x26,0x4D,0x51,0xEB,0x34,0x37,0xD3,0xDD,0xF5,0x6F,0xBC,0xE0,0x9D, -0x71,0xF2,0xFF,0x71,0x19,0x35,0x9B,0x54,0x97,0x32,0x9F,0x4A,0x50,0x0D,0xD2,0xC9, -0xA5,0x62,0xCC,0x68,0x7F,0xE0,0xBF,0x0B,0xAC,0x93,0xB1,0x14,0x53,0x59,0x2C,0x4B, -0x5A,0xD0,0x30,0xC6,0xA5,0xFB,0xCB,0x0D,0x4A,0x0C,0x6F,0x8C,0x5D,0x5C,0xE5,0x16, -0xB4,0x56,0xFD,0x7D,0x3D,0x7A,0x6D,0x51,0xD9,0xC4,0xBC,0xDF,0x18,0xF2,0x5A,0x8C, -0xE9,0x21,0x0B,0x7F,0xB9,0x8A,0xD9,0xB5,0xA0,0x3F,0x40,0x1B,0x4A,0x76,0x0B,0x77, -0x69,0x3A,0xA7,0xE9,0x0E,0x96,0xFC,0x78,0xCE,0xE8,0xDB,0x7C,0xD6,0xBA,0x13,0x2B, -0x91,0xBD,0x37,0x97,0xDA,0xBF,0x76,0xD8,0x78,0x33,0x3B,0x3D,0x5E,0x08,0x1B,0x94, -0x41,0xE6,0x3C,0xDC,0x0F,0xCB,0x39,0x6E,0xC8,0xC6,0x9A,0xFC,0x9B,0x0A,0xBF,0x98, -0xA3,0xB8,0xD7,0x1C,0x0A,0x2B,0xB2,0x5C,0xDE,0xFC,0x38,0x02,0xA8,0x9D,0x55,0xB7, -0xAB,0xAB,0xC9,0x35,0x45,0xE3,0x54,0xBC,0x14,0xEE,0xAF,0x67,0xFB,0x6E,0xEB,0xE8, -0x60,0xC6,0xCE,0x64,0x9C,0x98,0xEA,0xA6,0x6F,0x1F,0x5C,0x9E,0xCF,0x95,0x34,0x17, -0x64,0x0D,0xF6,0x36,0xCC,0x41,0xD4,0xE2,0x76,0x95,0xC5,0x0F,0x74,0xB0,0xD6,0x87, -0xCD,0x25,0xB6,0x31,0x93,0xF7,0xD1,0x16,0xE8,0xE7,0x22,0x0E,0xC5,0xA8,0x36,0x18, -0x52,0xC3,0x2E,0xEF,0x60,0xF1,0x67,0xAF,0x3E,0x4D,0xA7,0x1A,0x31,0x1E,0x69,0x1D, -0xB1,0x72,0xB2,0x8B,0x6E,0xC3,0x99,0x09,0x1C,0x66,0x10,0xD5,0x01,0xDD,0x7D,0xB0, -0x72,0x0C,0xAB,0xF3,0xF6,0x42,0x3F,0x55,0x1A,0x48,0x51,0x55,0x85,0x49,0xAD,0x74, -0x22,0x4C,0x0C,0x2E,0x23,0x36,0x70,0xE3,0xA4,0x1B,0x0E,0xA6,0x96,0x5B,0x88,0x47, -0xB9,0x61,0xAC,0xA2,0xE3,0xDC,0x57,0x73,0x9A,0x88,0xAB,0x18,0x0F,0xD8,0xB4,0xED, -0xA0,0x46,0x83,0x9E,0xA7,0xC6,0xC4,0x07,0x77,0x83,0x00,0x52,0xBB,0x8F,0x70,0x84, -0x30,0x86,0x69,0xB9,0x50,0x7D,0x3C,0x9A,0x08,0x56,0xBD,0x16,0x87,0x6A,0xBC,0x52, -0x6A,0xC4,0xF3,0x6B,0x96,0x17,0x5A,0x24,0x49,0x10,0xA5,0xEC,0x82,0x25,0x98,0xA4, -0x84,0x42,0x3E,0xD0,0xFF,0xAD,0x45,0xCB,0xFA,0xF9,0xCE,0x4D,0x13,0xB8,0xB7,0x27, -0x20,0x5D,0x2F,0x08,0x63,0x91,0xAD,0xB3,0xFC,0xD7,0x8F,0xCD,0x92,0x63,0x43,0x15, -0x99,0xAE,0x29,0xBE,0x39,0xC7,0x23,0x75,0x5F,0x2A,0x07,0x12,0xDE,0xA4,0x00,0x02, -0x65,0xE2,0x81,0x92,0x3B,0xFA,0x2C,0x7F,0xCD,0xF4,0x11,0x1C,0x47,0x27,0x3C,0xA8, -0xEF,0xFB,0x10,0x0B,0x87,0x34,0x7C,0x26,0x11,0xDC,0x24,0x87,0xC0,0xE7,0x12,0xEE, -0x39,0x7A,0x00,0x34,0x5B,0xAF,0x49,0x0E,0x2A,0x7D,0x0A,0xD9,0xE4,0x5A,0x16,0xA0, -0x9C,0x8A,0x66,0x48,0x91,0xCA,0xDE,0x1C,0x03,0xC2,0xC8,0xC4,0xF1,0x53,0xE9,0xE7, -0x19,0xB5,0x85,0x28,0xA1,0x46,0x85,0x29,0xEC,0xC3,0x6C,0xB3,0xAA,0xBE,0x44,0x91, -0x06,0x48,0xB1,0x60,0x94,0x2A,0x55,0x2E,0x75,0x89,0x0F,0x6F,0x86,0x1D,0x53,0xF6, -0xE1,0x32,0x15,0x56,0x9E,0xA5,0xE5,0xAC,0x1F,0x7A,0xDA,0xB5,0x4F,0x39,0x2F,0x81, -0x2C,0x85,0x09,0x73,0x67,0x2C,0xE3,0x97,0x06,0xF0,0x43,0x24,0xF6,0x3F,0xDC,0x37, -0xA2,0x57,0xA0,0xB8,0x24,0xEB,0xF4,0xDB,0xA8,0xB7,0xFF,0xA9,0x8E,0x03,0x40,0xDF, -0xCC,0xCA,0xC1,0x95,0x8E,0xDB,0x06,0xB8,0x8F,0xAE,0xC3,0x86,0x25,0x60,0x79,0xFE, -0x11,0xA6,0x9B,0x01,0x29,0xB9,0xC0,0x61,0xC7,0x76,0xA1,0x93,0xC8,0xF9,0x01,0xC7, -0xB2,0x8C,0xE6,0x09,0x35,0xC8,0xD2,0xD9,0x09,0x40,0x78,0x4B,0x63,0x9A,0x38,0xE6, -0x23,0xA3,0x7B,0x8A,0x04,0x19,0x4C,0xFA,0xAF,0x8F,0x7B,0x74,0x12,0xCF,0x58,0x83, -0x8B,0x64,0x4C,0x29,0x90,0x97,0x1B,0x0A,0xBB,0xBF,0xD6,0xB7,0x9F,0x32,0x74,0xCA, -0x27,0x68,0x43,0xD8,0xFE,0xF0,0x80,0xDD,0x22,0xF5,0xB5,0x6B,0xE6,0x79,0x07,0x86, -0xE1,0x2B,0xAA,0x38,0xD6,0xE3,0xB5,0xCD,0x81,0x09,0x01,0x8A,0x66,0xD4,0xBB,0xC0, -0x5F,0xD8,0xF5,0x6B,0xC4,0xD0,0xA6,0xE8,0x26,0x49,0x51,0x57,0xB3,0x9B,0xCF,0x76, -0x32,0xDF,0xA4,0xA0,0x02,0x20,0x98,0x35,0x0E,0x03,0x83,0x3A,0xE2,0x60,0x4B,0x24, -0xDF,0x95,0x0F,0xAB,0x55,0x49,0x2C,0xF1,0x21,0x24,0x9A,0x06,0xA6,0xF3,0x51,0x50, -0x0C,0x61,0x01,0x33,0xA8,0x00,0xA1,0xDD,0x7E,0x81,0x49,0xCF,0xD3,0xFE,0x9A,0x07, -0x4D,0x9B,0x19,0x75,0xE7,0xF6,0xA4,0xF9,0xE4,0xC3,0x13,0x1D,0x15,0x98,0xF0,0xB9, -0xB9,0x40,0x2B,0xF4,0xEE,0xB1,0xB1,0x06,0xA2,0x18,0x03,0xAC,0x26,0x09,0x1C,0x90, -0xBF,0xC0,0x6A,0xDA,0x35,0x83,0x30,0xF2,0xB3,0x07,0xA7,0x74,0xBA,0xE1,0x20,0xE8, -0x9B,0x8F,0x9C,0xDF,0x10,0x13,0x8B,0x10,0x5A,0xFD,0x80,0xB8,0x4F,0x16,0xA6,0x7F, -0x8D,0x71,0x3E,0xE5,0x87,0x3C,0xB8,0xFA,0xB1,0xA3,0x62,0x78,0x4A,0x9D,0x46,0x4D, -0x2A,0x13,0xF8,0x3C,0x18,0xB3,0xEC,0x71,0x43,0x83,0x43,0xC0,0xD9,0x4E,0x15,0x85, -0x51,0xEA,0x0B,0xCD,0xE3,0x4C,0xD8,0xAE,0x44,0xEE,0x88,0x91,0x00,0xF0,0x6E,0x9F, -0xAD,0x83,0x86,0xC4,0x25,0xBC,0xE6,0x73,0x3B,0x60,0xEE,0x95,0xD6,0x75,0x7A,0x35, -0x33,0x82,0x61,0xB6,0x3D,0x23,0x57,0x93,0x7B,0x48,0x47,0x92,0x89,0x70,0xCC,0xC1, -0x59,0x58,0xB4,0x45,0x50,0x14,0x22,0x38,0x3F,0x37,0x92,0x2F,0x2B,0x3D,0x4E,0x2A, -0x7B,0x97,0x03,0x6E,0x93,0xB9,0x12,0x2C,0xA3,0x86,0x71,0x4B,0x25,0xC3,0x7C,0x8C, -0xED,0x24,0x5B,0x94,0x8E,0x7B,0xAD,0x05,0x2D,0x12,0x81,0x1C,0x61,0x50,0x66,0xF8, -0x43,0xA9,0xE7,0xD3,0xB2,0x93,0xD5,0x99,0x84,0xC0,0x0F,0xD7,0x22,0x47,0xA1,0xB4, -0x82,0x1E,0x05,0x55,0x74,0x63,0xEB,0x44,0x16,0xE3,0x32,0xA5,0x6C,0x64,0x34,0x42, -0xCA,0x0B,0x67,0x8D,0xED,0x5A,0x06,0x3C,0x4C,0x8F,0xEF,0x31,0xCB,0xA2,0x56,0x9B, -0xEA,0xF9,0xDF,0xAC,0x42,0x27,0x31,0x1D,0xF6,0xE6,0x00,0x2E,0x41,0xE8,0x94,0xD9, -0x4C,0xC6,0xDC,0x63,0x17,0x42,0x40,0x7D,0x6B,0xC9,0x91,0xAD,0x70,0x76,0x45,0xFA, -0x67,0xE6,0x11,0xD6,0xF4,0x22,0xC5,0x42,0xCE,0x2D,0x04,0x7C,0xBB,0x24,0x7D,0xFE, -0xFE,0x3A,0x72,0x9C,0xBF,0x6E,0xBC,0x31,0xC1,0x21,0xA8,0x8D,0xD5,0xBF,0x1A,0x29, -0x88,0x91,0xB5,0xD7,0xAA,0x0C,0x64,0x79,0x0C,0xA7,0x46,0x36,0x7E,0x88,0x77,0x5C, -0x1A,0x9F,0xA3,0x09,0x29,0xA6,0xFD,0x45,0xA4,0xEB,0xBA,0x1A,0x7C,0x87,0x4A,0x56, -0x6F,0x54,0xAE,0x5E,0xD7,0x04,0xC7,0x53,0x8D,0x3F,0x1A,0x90,0x1E,0xED,0x22,0x2D, -0x54,0x0A,0x80,0xFF,0x6A,0x4A,0xE3,0x57,0x9D,0xBE,0xCC,0xAF,0xC2,0xD8,0xB9,0x05, -0xA9,0x3E,0xC8,0xE0,0x33,0x35,0x89,0x01,0x08,0xF0,0x3A,0x8C,0xE4,0x21,0xCB,0x0A, -0x46,0x49,0x6C,0xE1,0xDE,0x43,0xD2,0xAC,0xEB,0xCF,0xBF,0xEC,0xD4,0x7A,0x47,0x3F, -0x5A,0x38,0x7E,0x59,0xB4,0x25,0x6C,0x6A,0x98,0x77,0xC2,0xF2,0xDB,0x41,0x28,0x8F, -0x30,0xE2,0xAB,0xAA,0x90,0x52,0xA5,0x16,0x3C,0x0D,0x25,0xC4,0xD1,0xF1,0xA7,0x0D, -0x9D,0x0F,0xDD,0xF1,0x4D,0xD6,0x9D,0x11,0x60,0x92,0x41,0xE6,0xB5,0xDA,0x4F,0x58, -0xC6,0x04,0x96,0x21,0x9E,0x44,0x7B,0x84,0xFE,0x87,0x67,0x8E,0x17,0x97,0xCD,0xB3, -0x8E,0x11,0xF4,0xF9,0x9C,0x48,0xBE,0x20,0x2C,0x8C,0xF3,0xFB,0x74,0x38,0xF8,0xDE, -0x94,0xE0,0xA7,0x6F,0x39,0x99,0x2B,0xC4,0xF3,0x2F,0x0E,0x73,0xB6,0x10,0x2F,0x44, -0x36,0x62,0xEA,0x84,0xC9,0x2D,0xCF,0x40,0x53,0x02,0x95,0xFF,0x04,0xBE,0xD3,0xBB, -0x8A,0xAC,0xBA,0xDD,0x5F,0xE5,0x8E,0x34,0x5B,0x63,0xF2,0x5F,0x62,0x9A,0x06,0xE4, -0x80,0x23,0x0A,0x5F,0xBE,0x89,0xCE,0xAF,0xE8,0xF5,0x08,0x07,0x39,0xD1,0x0D,0x34, -0x6E,0x09,0x6B,0x48,0xC8,0xCA,0xBD,0xDE,0x48,0xD8,0x93,0x8B,0xB4,0x1F,0x12,0x4E, -0xDA,0x75,0x84,0x99,0xB7,0xCE,0xDB,0x50,0x19,0xEF,0x9E,0x54,0x85,0x81,0xC3,0x6D, -0x6D,0x69,0xA1,0x54,0x67,0xB7,0x8A,0xFF,0xA5,0x75,0xC8,0xFD,0xB0,0x51,0xAF,0x6A, -0xB2,0x92,0x5E,0x60,0xD2,0x59,0xC9,0x9A,0x8B,0xCC,0xA3,0x26,0xC7,0x53,0x59,0x37, -0xE7,0xAB,0xEB,0x16,0x1F,0xE2,0x27,0x1C,0x6F,0x9E,0xED,0x17,0xF3,0x46,0x68,0x26, -0x5B,0x65,0xBB,0x4F,0xA0,0xA0,0xC6,0xBC,0xCA,0x7A,0x78,0xC6,0xFB,0xF9,0xDA,0xAE, -0xC8,0x36,0x68,0x87,0xD5,0x08,0x02,0xF7,0xB6,0xCE,0xA9,0x29,0x98,0x56,0xEF,0xC3, -0xD7,0x27,0xB0,0x23,0xD9,0x12,0x19,0xC1,0xBC,0x0B,0x0B,0x85,0x1B,0x66,0xC2,0x1F, -0xB8,0x1D,0xEE,0xE2,0xF5,0xC5,0xB7,0xDC,0x2E,0x28,0x36,0xF7,0x0A,0x40,0xE1,0x1D, -0xD2,0xC7,0x3B,0x11,0x80,0x6D,0x73,0x97,0x72,0xB7,0x52,0xD5,0x5C,0x3F,0xB8,0x77, -0x72,0x78,0x79,0xF0,0x31,0x39,0x4C,0xA5,0xFC,0x23,0xA2,0x82,0x08,0x4F,0xDC,0x17, -0x0F,0x01,0xCB,0x2F,0xD1,0xB2,0x7E,0xA0,0xBD,0x95,0x79,0x62,0xE0,0x6F,0x76,0x2E, -0xE9,0x99,0x15,0xB0,0xD4,0xEF,0x70,0x69,0x41,0x27,0x86,0xCC,0x3A,0x1B,0x6D,0x28, -0xE5,0x96,0xE4,0x1C,0xFB,0xD3,0x69,0x4E,0x86,0x64,0xCA,0xDB,0xFC,0x7D,0x07,0x96, -0x9C,0x52,0x18,0xE7,0x7F,0x28,0x3B,0x1F,0x70,0x13,0x97,0xD9,0x78,0xC9,0xF7,0x72, -0x3D,0xB0,0x9F,0x10,0x85,0x30,0x7D,0x5E,0xBA,0xF8,0xB2,0x33,0x9F,0xD2,0x32,0xFB, -0x8B,0xF1,0x7F,0xCB,0x37,0x8F,0xF5,0x56,0x2A,0x7F,0x4A,0x4D,0x4B,0x58,0x1B,0x5B, -0x14,0xAD,0x5D,0xAF,0xFD,0x65,0xD0,0xBD,0x05,0x58,0x53,0x71,0x29,0x32,0x73,0x20, -0xAB,0x03,0xC7,0xEA,0xD0,0x55,0x0C,0x3E,0xE9,0x6B,0x7A,0xE0,0xA1,0x77,0x8C,0x68, -0x68,0x89,0x2A,0x66,0x79,0x9E,0x82,0xEC,0xC5,0x76,0xD4,0x37,0xC5,0x5C,0x64,0x3D, -0xD0,0xFA,0x34,0x1B,0xDB,0x1E,0xDC,0x65,0xB5,0xF4,0x1E,0xC2,0x2E,0xB6,0xAE,0x18, -0xA8,0x63,0x0D,0xF6,0x00,0x2C,0x5D,0x91,0x8A,0x52,0xD1,0xC1,0x90,0xE9,0x5D,0x4B, -0x5D,0xE5,0xFA,0x61,0x30,0xDE,0x3E,0x3B,0x57,0x55,0xE9,0x45,0x47,0xA9,0x14,0xF7, -0xA4,0x6C,0xFC,0x5A,0xDD,0xA8,0x65,0x96,0x88,0xF6,0x14,0xCD,0xB1,0x94,0xF2,0x7C, -0x19,0xFF,0x69,0x15,0x5C,0x0E,0x39,0x0E,0x5E,0xAA,0xFC,0x02,0xA2,0xBD,0xEC,0x74, -0xB8,0x08,0xE7,0x72,0xDD,0x14,0x18,0x62,0xD8,0xD4,0x47,0xE0,0x16,0xA2,0x92,0xCD, -0x04,0xA1,0xB1,0xE8,0x0D,0x13,0x2D,0x0E,0xFD,0xC8,0xF0,0x2D,0xC6,0xF3,0xEB,0x62, -0x2A,0x7A,0xDA,0x51,0x0F,0x4E,0x5A,0xF8,0x02,0x33,0x2F,0x19,0x73,0xB0,0x05,0x07, -0xCE,0x4B,0x94,0x03,0x1A,0x5F,0x6E,0xC9,0xB7,0x0A,0x7A,0x6F,0xBE,0x5E,0xBE,0x81, -0x6B,0x9A,0x01,0xE7,0xA5,0xD7,0x66,0x7B,0xE7,0xC4,0xC6,0x36,0x01,0xBF,0xFC,0x21, -0x17,0x75,0xD0,0x53,0x0A,0xBA,0x05,0x4E,0x34,0x97,0x55,0xFE,0x74,0x7B,0x54,0x6A, -0x1D,0xD9,0x72,0x96,0x3A,0x66,0x86,0x63,0xEC,0x86,0x4A,0x5A,0x78,0x60,0x4E,0x5C, -0x8F,0xAB,0x4F,0xB5,0x1C,0x64,0x97,0x40,0xB2,0xBC,0x25,0x9B,0x54,0xCE,0x99,0x41, -0xC1,0xBA,0x38,0x0F,0x86,0x21,0x28,0xEE,0x81,0xAE,0x00,0x88,0xEC,0xE4,0x8A,0x8C, -0x5F,0xD2,0x1E,0x1A,0xCB,0xCA,0x8A,0x6C,0xCA,0xA5,0x5B,0x58,0x3F,0x02,0x18,0x19, -0x8D,0xA7,0x8A,0x11,0x64,0xA7,0xE9,0x59,0xA8,0xB0,0x13,0x80,0x3D,0xC7,0x14,0xBD, -0x52,0x2F,0x77,0xB2,0x4C,0x3D,0x2B,0x8E,0xFB,0x41,0x09,0x16,0x98,0x52,0xC5,0x59, -0xF2,0xA3,0xEC,0x9F,0xE2,0xC2,0x99,0x72,0xB6,0xC3,0xAB,0xFD,0x68,0xB6,0x71,0xDD, -0xFA,0x03,0x8B,0xFE,0xC6,0x9D,0xFF,0xA7,0xE6,0x0D,0x17,0xA4,0xFE,0xF7,0xB9,0xA9, -0x49,0x5B,0x71,0x68,0x8D,0x4D,0xA4,0xAC,0x56,0x82,0x1D,0x26,0x1F,0xB7,0xD5,0x32, -0xE9,0xD7,0xEA,0x45,0x43,0x37,0x29,0xB3,0x37,0xA8,0xF3,0x31,0x69,0xC4,0x96,0x43, -0xA4,0x2D,0x2A,0xC5,0x6E,0x59,0xB4,0xD2,0x01,0x0C,0x89,0xD6,0x5C,0xA9,0x39,0x20, -0x48,0xBC,0x03,0xF6,0x2B,0x11,0x3C,0x2D,0x9B,0xA2,0x36,0x93,0x71,0x75,0x09,0xA3, -0x64,0x6B,0xAD,0xEB,0x00,0x44,0x58,0xC5,0x76,0x28,0xF5,0x1F,0xD8,0xFB,0xC2,0x71, -0x14,0x9E,0x67,0x69,0xEA,0x61,0xB3,0x0F,0x68,0x5B,0x4D,0x62,0x7A,0xA5,0x42,0xF8, -0x2B,0x9D,0xA8,0xCF,0xB5,0x32,0x0D,0xFC,0x51,0xC2,0x35,0x8F,0xA1,0x24,0x70,0x0C, -0xF6,0x19,0x90,0xC8,0xF5,0x8E,0xDA,0xB5,0xA6,0x44,0xC0,0x18,0x91,0x47,0x82,0xA6, -0x29,0x91,0x6D,0x6B,0xC8,0x05,0x2C,0x53,0xA0,0xCD,0x39,0x23,0x7C,0x1C,0xF4,0x0B, -0xFF,0x5E,0x85,0x37,0xE1,0x0D,0x3F,0x4D,0x35,0x5E,0x84,0x6C,0xFD,0x40,0x52,0x93, -0xD3,0x89,0x2B,0x2A,0x63,0x0E,0xC1,0x19,0x67,0x66,0x4F,0x68,0x21,0x0A,0x31,0x0A, -0x5D,0xDE,0xDB,0xBE,0x13,0x6E,0x95,0x7D,0x25,0xD9,0xEF,0x89,0x90,0x35,0x65,0x38, -0x1C,0x3E,0x00,0x08,0x33,0x57,0x7D,0xD7,0x97,0xA0,0x92,0x56,0x70,0x07,0xEE,0x3D, -0xE0,0x90,0xFF,0xBA,0x47,0x51,0xA7,0xCC,0x49,0x38,0x74,0xC9,0x75,0x09,0xB3,0xF4, -0x27,0x87,0xB3,0xF9,0x21,0xEF,0x61,0xA6,0xB8,0x37,0x78,0x65,0x5A,0x10,0x8F,0xD3, -0xD1,0x85,0xEE,0x8E,0x95,0x0B,0xE5,0x56,0x44,0xF3,0x01,0x9E,0xDE,0x42,0x74,0x82, -0x1B,0x6F,0xCB,0x65,0x8E,0x82,0x02,0x93,0xC3,0x11,0xA0,0x69,0x24,0x04,0x6C,0xC3, -0x8B,0x11,0x33,0xE2,0x04,0x22,0xD6,0xBA,0x23,0x50,0x16,0xB2,0x96,0x8C,0xD3,0xCB, -0xFB,0xE4,0xF9,0x60,0x4A,0x06,0xD2,0x07,0xC0,0x2E,0x06,0xA6,0xB1,0xF2,0x4F,0x8D, -0x10,0x24,0x1B,0x3E,0xC1,0x34,0xD7,0xE7,0x62,0xD0,0x10,0x9C,0x26,0xC1,0x60,0x67, -0xE2,0x9C,0x3A,0x1E,0x12,0xFC,0x44,0xB4,0xA4,0xB2,0xB7,0x45,0xB9,0x95,0xEF,0xEC, -0xE5,0xCD,0xF1,0x73,0xAC,0xE6,0x9D,0xCF,0x57,0x4B,0xCC,0xB4,0x42,0xA1,0x10,0x33, -0x9A,0xC9,0x97,0xFD,0x29,0x4C,0x4B,0xDB,0xDA,0x22,0x30,0xBD,0x84,0x9F,0xE0,0xEE, -0xDA,0xCE,0x3E,0xD5,0x2C,0xB8,0x14,0x6D,0x3D,0x23,0xAE,0xCF,0x9C,0x2E,0x7F,0x0E, -0x9E,0x73,0xEB,0xAA,0x61,0x53,0xB6,0xEF,0xE8,0xF9,0xC4,0x3C,0xF1,0x5B,0x48,0xA5, -0x02,0x17,0x08,0x1B,0x9F,0xF5,0xB8,0xDD,0x5F,0x36,0xE6,0x17,0x32,0x6B,0xE5,0xB1, -0x20,0xD6,0x78,0x94,0x88,0xB9,0xFB,0x1A,0xF6,0x8A,0x7C,0x41,0x77,0xCC,0xBF,0x50, -0x87,0x0B,0x28,0xD4,0xC7,0x0F,0x2E,0x6E,0xA9,0x79,0xC2,0x12,0x65,0xDF,0x8C,0x75, -0xAF,0x66,0xFA,0x9E,0x3C,0x5D,0x7F,0xEA,0xF8,0x7E,0xAF,0xD9,0xA3,0xE1,0x7C,0xA8, -0x80,0x5A,0xE3,0xB9,0xAF,0x29,0x3B,0xF0,0x53,0x34,0x42,0xD2,0xF4,0x55,0x15,0x6C, -0xDF,0x93,0x30,0x1C,0xA2,0x7E,0x4E,0x3B,0x5D,0xC0,0x91,0x4A,0x09,0xD8,0x5C,0x40, -0x45,0x41,0x6A,0x5E,0xC4,0xC0,0x88,0x51,0x45,0x3A,0xD0,0x0C,0x46,0xDD,0xAA,0x64, -0x03,0xF0,0x7A,0x85,0x55,0xE9,0xBB,0xBD,0x77,0xE1,0x24,0x8D,0x4F,0xC8,0xED,0x9B, -0x12,0x28,0xDE,0x9A,0xBD,0x91,0x27,0x81,0x36,0x61,0x22,0xA3,0x94,0x49,0xDF,0x6F, -0xAD,0x6A,0x3F,0x3A,0xD4,0x25,0xE3,0xD6,0xE9,0x30,0x15,0xAE,0x0B,0x1D,0x50,0xE4, -0x05,0x46,0xC3,0x76,0xDB,0x2F,0xE1,0xEB,0xFF,0x3E,0x87,0x70,0x88,0x84,0xFA,0xD8, -0x2C,0xCC,0x63,0xA2,0xB1,0x54,0x83,0x83,0xF2,0xF5,0xF2,0x27,0x76,0xBE,0x58,0xCE, -0x3C,0xF3,0xB5,0x23,0x84,0x7C,0x5F,0x18,0xDC,0xAB,0xC9,0x86,0xCB,0x9A,0x16,0xCA, -0xA9,0xD0,0x43,0x6D,0x7D,0x73,0x79,0x6A,0x94,0x9F,0x34,0x99,0x92,0xF0,0x69,0x9C, -0x4A,0xB0,0xC6,0x52,0x26,0x46,0x49,0xE6,0x30,0xE8,0xDB,0x98,0x7F,0xAB,0x1F,0x31, -0x39,0xAE,0xBB,0xEA,0x1D,0xF6,0x46,0x89,0x22,0x99,0xC7,0x20,0x15,0x15,0x79,0xF7, -0x9D,0x98,0x5C,0x90,0xAD,0x74,0x4C,0x06,0xF7,0x43,0xAD,0xD3,0x31,0xDC,0x0E,0x8B, -0x8C,0x40,0xF8,0x8F,0x0C,0x81,0xFC,0xC7,0x07,0x85,0x70,0xED,0x2F,0xD4,0x27,0x98, -0x25,0x8B,0x76,0x5D,0x1B,0xCD,0xBF,0x00,0xBB,0x08,0xDE,0xAA,0x13,0xAC,0xCF,0x04, -0xB7,0xF9,0x4B,0x7E,0x38,0x3B,0xF1,0x95,0x59,0xBF,0x1F,0x2C,0xD5,0x92,0x3F,0xD9, -0xED,0x6D,0x96,0x12,0xFE,0xE2,0x56,0xF7,0x3B,0xAA,0x57,0xF4,0x4C,0x7F,0x06,0xA1, -0x57,0x72,0x79,0x7B,0xB4,0xA0,0xDC,0x35,0x83,0x58,0x77,0xD5,0xE3,0x48,0x7B,0x80, -0xCA,0xF1,0xE8,0x54,0x2A,0x83,0xED,0xE4,0x80,0x67,0xD1,0x1A,0xB6,0x39,0x1E,0xE0, -0x6F,0x20,0x7D,0xB0,0x78,0x87,0x26,0xDC,0x4D,0x47,0xFA,0xAF,0x55,0xBC,0x7E,0xDF, -0x60,0xD1,0xD1,0xBC,0xE3,0x50,0x48,0xBB,0x2E,0x9B,0x63,0xE5,0x1E,0xC5,0x32,0xAC, -0x3E,0x39,0x57,0x60,0xA2,0xAA,0x49,0xBC,0xC5,0x5E,0x51,0x8D,0x18,0xEB,0xD6,0x4D, -0x19,0x16,0x6B,0x79,0x31,0xDE,0x53,0xF8,0x28,0xF5,0x5A,0xC7,0x71,0x2F,0x62,0x1A, -0x53,0x3E,0x06,0xAB,0xCA,0x8C,0xD7,0xA9,0x45,0xA4,0x91,0xC0,0x81,0xF2,0x5C,0xDC, -0x13,0x99,0xDB,0xFB,0x85,0x3A,0xA3,0x7C,0xFB,0xFB,0xC2,0x33,0xB2,0xD7,0x4F,0xCE, -0x1D,0xAB,0x25,0x5D,0xB0,0x12,0x38,0xA0,0xA5,0x3B,0x20,0xD8,0xD2,0xE8,0xCA,0x2D, -0x02,0xBA,0xFD,0xF9,0x58,0x6A,0x04,0x3C,0xA3,0x7A,0x0E,0x58,0xE0,0x1C,0x4B,0xF6, -0xD9,0xFC,0x4C,0xE9,0xC9,0x43,0xE8,0x0F,0x57,0x48,0x8F,0x83,0xA7,0xE3,0x5E,0xFF, -0x9B,0x66,0x9E,0xB3,0xAF,0xFD,0x82,0xC9,0x16,0x50,0xC9,0x79,0x51,0xC7,0x5B,0xB0, -0xF4,0x5C,0xC0,0x72,0xA1,0x65,0x76,0x1A,0x4B,0x5A,0x37,0xF2,0x1D,0xB4,0x22,0xFB, -0x99,0x5B,0x91,0xB9,0x1F,0x7F,0x0D,0xC3,0x30,0xA9,0xC6,0x0B,0xE2,0x6B,0x16,0x00, -0xB9,0xA9,0x29,0x98,0xCC,0xB7,0x5E,0x50,0x97,0x6F,0x1F,0x69,0x6D,0xE0,0x42,0x9F, -0xE7,0x42,0xE9,0x7A,0x47,0x85,0xBE,0x55,0x81,0xCD,0x25,0x97,0x42,0x0A,0x71,0x08, -0x9C,0xBB,0x1A,0x8B,0x92,0x76,0x64,0x3F,0x61,0x52,0x94,0x8F,0xE8,0x36,0xE8,0x8B, -0x2D,0x27,0x7E,0x68,0x6C,0xD0,0x56,0x31,0x43,0xE5,0xBF,0x40,0x45,0x22,0xD8,0x48, -0x52,0x63,0xC3,0xBD,0x21,0x3B,0xD4,0x93,0x29,0x30,0x4C,0x9A,0x72,0x89,0xAD,0x25, -0x7A,0x23,0xC4,0x14,0x24,0xCF,0x62,0xCC,0xB7,0xD7,0x3E,0x9B,0xED,0x69,0x1C,0x3D, -0x95,0x54,0x60,0x15,0xF3,0x61,0x4E,0xD1,0xD0,0x36,0x77,0x13,0x0B,0x26,0xFC,0xF5, -0xF9,0x0E,0xF4,0xC8,0x35,0xB8,0x2C,0x76,0x98,0x54,0xAF,0x06,0x32,0x5E,0x11,0x6C, -0xDA,0x9C,0x86,0xF5,0x16,0x4E,0xB9,0x38,0x59,0xB6,0x29,0xB1,0xC2,0x83,0x2F,0xAA, -0x08,0x35,0x4D,0x7B,0x01,0x02,0x7E,0x7B,0xF7,0x0A,0x6E,0x3C,0x2A,0x1F,0x57,0x96, -0x3B,0xD9,0xDC,0x52,0xEE,0xD3,0x02,0xCF,0xE4,0x23,0x66,0x22,0x3F,0x2B,0x46,0xA7, -0x37,0xD6,0x2D,0xFE,0x75,0x04,0x65,0xA1,0x7D,0x40,0x2C,0xFE,0x73,0x58,0x3F,0xEC, -0xD3,0x73,0xFC,0x6B,0x27,0x00,0x5D,0x6A,0x56,0x8D,0x99,0xDE,0x13,0x67,0xBA,0x0F, -0xFC,0xEE,0x7F,0xFA,0xB9,0x23,0x8C,0x5B,0xF0,0x8E,0x56,0xE1,0x76,0x07,0xCB,0x5A, -0xA4,0x85,0xFE,0x36,0x89,0xFF,0xA1,0xD8,0x4E,0xD1,0x05,0x12,0x1B,0x4D,0x19,0x72, -0x25,0x95,0xC1,0xE0,0xBC,0xD7,0x3A,0x04,0x75,0xFF,0xA4,0x4C,0x55,0x49,0x3D,0xCF, -0xF1,0xBC,0x4B,0x40,0xD6,0xAC,0x52,0x66,0x00,0xF2,0xF3,0x87,0xF7,0x5F,0x07,0x31, -0xBD,0x14,0x67,0xBC,0xD9,0xA6,0x6F,0x64,0x92,0xE4,0x2D,0x89,0x5D,0x63,0x9E,0xB2, -0x17,0x24,0x95,0xDF,0xA0,0xF7,0xBF,0xCB,0x2A,0xFA,0x50,0xFA,0x03,0x0C,0x5F,0x88, -0x6D,0x80,0xA3,0x38,0x10,0x75,0x30,0xC1,0x40,0x2F,0xA3,0x20,0x74,0x70,0x96,0xAC, -0xD5,0xF3,0xBD,0x45,0x2B,0xC5,0x5F,0xCE,0x5C,0x3D,0x1B,0x51,0x12,0xB6,0x28,0xC6, -0xEA,0x10,0xDD,0xC0,0x70,0xF0,0xD3,0xFE,0xB3,0x99,0x1A,0x26,0x64,0x1B,0x73,0x2B, -0x35,0xEB,0x22,0xF4,0x41,0xBE,0x37,0xAC,0x8E,0xF6,0x95,0xF8,0xC8,0xDE,0xD1,0x21, -0x96,0x34,0xAA,0x09,0x69,0x24,0xE0,0x6E,0x94,0xA5,0x03,0x09,0x19,0x3A,0x44,0x84, -0x9D,0xE6,0xDF,0x9D,0xC6,0x49,0xD5,0x0D,0xDC,0xC7,0xDB,0x1C,0x15,0x9E,0x81,0x86, -0x88,0x78,0xB7,0xBB,0x8B,0xA2,0x57,0xAF,0x87,0x8C,0x0B,0x17,0x87,0x0B,0x67,0x55, -0xC2,0x50,0xDA,0x69,0x4E,0xB4,0x0A,0xAE,0x74,0x3A,0xB2,0x11,0x9B,0xC4,0x47,0xD0, -0xEF,0xF0,0x56,0xF2,0x80,0xCE,0x15,0x23,0x9A,0x5B,0xA5,0x3B,0xD8,0xB5,0x34,0xA6, -0x79,0x43,0x0E,0x08,0xCB,0x1E,0x1E,0x78,0x90,0xEB,0x27,0xB4,0xB4,0x2E,0x74,0x47, -0x18,0x4B,0xAE,0x6F,0xEF,0x41,0xCB,0x1E,0x2C,0xBB,0x7E,0x7A,0x7C,0x5A,0x35,0xD1, -0x84,0x77,0x46,0x17,0x17,0xDC,0x70,0xE9,0xFD,0xBA,0xEC,0xB3,0xB3,0x06,0xDD,0x07, -0xD6,0x93,0x77,0x59,0x02,0xCD,0x41,0xDD,0xA8,0x0F,0x9A,0x8A,0x08,0x80,0x33,0xCA, -0x6F,0xBD,0xAC,0x32,0x00,0x90,0xB7,0xAA,0x77,0xF0,0xAE,0x71,0xE6,0xE5,0x70,0x7F, -0xF5,0x01,0x05,0x64,0xD0,0x97,0xDB,0x9F,0xC0,0xD5,0x63,0x6D,0x9F,0x4A,0x21,0xAF, -0x32,0x36,0xA6,0xCC,0x11,0xE7,0xF9,0x10,0xA2,0xBF,0x18,0x05,0x94,0xC6,0x4D,0xED, -0x11,0xA4,0xD4,0xF1,0x37,0xE5,0xDA,0x01,0xCD,0xE1,0xD9,0x3F,0x43,0xDB,0xE3,0xC1, -0xD4,0xAE,0x78,0x53,0x07,0x39,0xF7,0x82,0xD2,0x39,0x7D,0x2E,0x59,0xED,0xF8,0xCD, -0x60,0xD2,0x97,0x82,0xA8,0x54,0xC2,0xE1,0x41,0xEA,0xB5,0x7D,0xF1,0xA6,0x3C,0xB8, -0x3D,0x59,0x9D,0x7C,0x4A,0xD2,0x75,0x20,0xF3,0x44,0x4A,0x81,0xBE,0x73,0x8A,0xCC, -0x8F,0xA5,0x33,0x83,0x3E,0xD4,0x6E,0xFA,0x15,0x9A,0xD5,0x19,0xE3,0xBA,0x84,0xC9, -0x39,0xE4,0xD3,0x58,0x1E,0xED,0xC4,0x12,0x68,0x28,0x0A,0x60,0x68,0xBF,0xB6,0x29, -0xAD,0x6A,0x84,0xA8,0x6E,0x8D,0xA0,0x46,0xC8,0x6A,0xEB,0xDF,0x3C,0x8D,0x89,0x98, -0x65,0x32,0x1C,0xB0,0x09,0xA1,0x03,0x51,0x91,0x2E,0x31,0xE9,0xDE,0x4C,0x0F,0x2F, -0xE2,0xA2,0x62,0x48,0x83,0x01,0x2A,0x85,0x27,0xCE,0xEA,0xA8,0x61,0x44,0x87,0x9D, -0x09,0x68,0x88,0x6D,0x98,0x88,0xEF,0x62,0x86,0x49,0x1D,0x4A,0x79,0x05,0xC1,0x67, -0x7E,0x9E,0x8A,0x30,0x2C,0x6C,0x1F,0xE6,0xFF,0xB5,0xE6,0x8E,0x82,0x54,0x93,0xE3, -0xEE,0xAD,0x93,0xE4,0xE7,0xE2,0xB6,0x34,0xCA,0x65,0xE1,0xE2,0x4F,0x7F,0x26,0xC3, -0x6C,0xDD,0x66,0x2E,0x0D,0xC7,0x7C,0xDF,0x72,0x7B,0x9C,0x91,0xCF,0xF6,0x78,0x61, -0x71,0xF1,0xB1,0x80,0x26,0x92,0x94,0xBB,0xB1,0x96,0x10,0x1B,0x04,0x24,0xF6,0xC8, -0x42,0x1D,0x20,0xA9,0x63,0xDA,0x6B,0x33,0x0E,0x0C,0x55,0xB5,0x34,0xA7,0x2A,0xE5, -0xB0,0x46,0x53,0x06,0xEC,0x8E,0xF4,0xB8,0x03,0x38,0xEF,0xE7,0x5F,0x14,0xC3,0x44, -0xEC,0x90,0x9C,0xEE,0xC5,0x86,0xEA,0xAB,0xBE,0xAD,0xA0,0x74,0xF9,0x8C,0x9F,0xC5, -0x4F,0x4F,0x14,0x13,0xF8,0x0D,0x0C,0x5D,0x47,0xAB,0x9B,0xFD,0x8F,0x21,0xC4,0x28, -0x48,0x92,0x90,0x2B,0xB8,0xB1,0x45,0x8A,0xB2,0x5C,0x0C,0x7B,0x7D,0x8B,0xA7,0x18, -0xAB,0x34,0x0A,0xFD,0xE0,0xD8,0xFE,0x40,0xCE,0xE4,0xBE,0x81,0xB2,0x8B,0xDC,0xC6, -0x3F,0xBA,0x5D,0x0D,0x90,0xB8,0x9A,0x14,0x6E,0xA6,0x5F,0x3E,0xE6,0xB9,0xE3,0x77, -0x89,0xFB,0xBD,0xD6,0xB0,0x81,0x30,0xFC,0x13,0x14,0x80,0x47,0x6D,0xBC,0xD1,0x97, -0x3B,0x07,0x13,0x29,0xC4,0x87,0x2B,0x26,0xF5,0xCA,0x1F,0xDF,0x30,0x75,0xDF,0x92, -0x78,0xC0,0x04,0x65,0xA2,0x39,0x41,0xE0,0xF9,0x3B,0xB3,0xD0,0x0C,0x52,0xC6,0xBD, -0x0F,0x36,0x06,0x38,0x16,0xDD,0xB1,0x64,0x80,0xC7,0x48,0x14,0xF7,0x03,0x94,0x39, -0xE4,0xFC,0xEC,0x1D,0x0D,0x54,0x74,0x83,0x21,0x40,0xBF,0xF6,0xEF,0x42,0xD2,0xC3, -0x63,0x6C,0x92,0xE5,0x87,0xF4,0x5D,0x57,0x97,0xA0,0x64,0xB7,0x50,0x4A,0x5A,0x71, -0x44,0x43,0xAE,0xFC,0xED,0x8F,0x35,0x35,0x08,0x82,0x00,0xEB,0xBA,0xA1,0x7F,0xBB, -0x77,0xAF,0x3F,0xD5,0xA8,0xC7,0xCA,0xBD,0xB7,0x18,0x45,0x45,0x8A,0x22,0xA3,0x96, -0x6A,0x83,0xE8,0x7B,0x83,0x92,0x22,0xD9,0x74,0xF5,0xC9,0xCF,0x41,0xF0,0x2D,0x3F, -0xE8,0xF3,0x1D,0xB1,0x69,0xB7,0xE8,0x32,0xCC,0xEB,0xB4,0xBC,0xC1,0x79,0x73,0x9D, -0x4E,0xCC,0x1E,0x7E,0x36,0xE4,0x1B,0x8C,0xB4,0xD2,0x59,0x25,0xF3,0x8D,0xF2,0x46, -0x49,0x11,0x9A,0x46,0x76,0x58,0x52,0x5B,0x41,0x25,0xCE,0xA3,0x01,0x27,0x91,0x76, -0xEA,0xCE,0x12,0xBB,0x4B,0xD3,0xB4,0xAD,0xB8,0x23,0xF5,0x2A,0x77,0x8A,0xCA,0x9B, -0xB6,0x18,0xDD,0x53,0x62,0xDB,0xAA,0xBE,0x05,0xB6,0xBA,0xB9,0xD1,0x12,0x96,0x1A, -0x8E,0x26,0x39,0xEE,0x05,0xF7,0x09,0xA9,0x81,0x02,0x5E,0x49,0x09,0x0D,0x32,0x0B, -0x9B,0xB8,0x51,0xC8,0x48,0x1C,0x8B,0x0B,0xDA,0x49,0x8E,0x42,0x9B,0x98,0xD4,0xD8, -0x90,0x6A,0x24,0x5C,0xE7,0x71,0xBE,0x68,0x92,0x2B,0x56,0x57,0x97,0x3C,0x11,0xDA, -0x33,0xB5,0xAC,0xA1,0xCF,0xEB,0x69,0xAA,0x88,0x78,0xC0,0xA6,0x46,0xD8,0x84,0x7F, -0x1E,0x15,0x20,0x3A,0x61,0x14,0x95,0x18,0x2A,0x35,0x2B,0x24,0xF2,0x5C,0x60,0x8F, -0x7F,0x1D,0x80,0x5D,0x45,0x4B,0x40,0x7E,0x96,0x65,0x72,0xEA,0x3A,0x28,0x21,0x19, -0xE9,0xAE,0xD8,0xA7,0x0E,0x9B,0x4B,0x25,0x9C,0xD5,0xF0,0x65,0x56,0xB3,0x61,0xF8, -0xC4,0x0E,0x54,0x3C,0xC0,0xE1,0x54,0xA8,0x72,0xB4,0xE7,0x4F,0x15,0xC2,0x12,0x8E, -0xF3,0x5F,0x8B,0x31,0x5E,0xC2,0x85,0x99,0xC6,0x5B,0x36,0x33,0x11,0x4C,0x74,0xF1, -0x69,0xE3,0x22,0x67,0x8E,0xC5,0xE9,0xAC,0x71,0x7E,0xFB,0x2F,0x68,0xE3,0x25,0x21, -0xD0,0xCD,0xF9,0x0C,0x8C,0x98,0x1F,0xDB,0xAE,0x81,0xCF,0xD4,0x86,0x86,0x66,0x94, -0x82,0x29,0xC8,0x42,0x99,0x89,0x2E,0xEF,0xFB,0x34,0xB9,0xED,0x3D,0x00,0x88,0x59, -0x66,0x8C,0x19,0xD7,0x26,0x01,0x9C,0xE7,0x47,0x64,0xE0,0x23,0x7F,0xA0,0x69,0xE6, -0xD2,0xF0,0xF6,0x06,0x89,0x6C,0xA9,0x84,0xD4,0xB7,0x28,0x70,0xD7,0xEB,0xAD,0x93, -0x17,0xFA,0x5A,0xA4,0xB9,0xB0,0x84,0x07,0xCB,0x6F,0x8C,0x61,0xCD,0xDD,0xB6,0x9F, -0x34,0x68,0x28,0x99,0x9F,0xB2,0xA7,0x16,0xA4,0x31,0x4D,0x5B,0x1A,0xC0,0x18,0xB3, -0x0E,0x6B,0xC3,0x2E,0x8F,0x57,0x20,0x7D,0xF1,0x84,0x3B,0x62,0xA4,0x19,0x02,0xC8, -0xDC,0xC2,0x08,0xA0,0x98,0x1B,0xE7,0x3E,0x5F,0x38,0x7C,0xEF,0x4C,0x85,0x7A,0xF4, -0xFF,0x50,0x7A,0x9D,0xBB,0xED,0x72,0x70,0x9E,0xDA,0xFA,0x58,0xBC,0x58,0x44,0x32, -0x93,0x0A,0xEE,0x40,0x7D,0x34,0x10,0xD7,0xD6,0xB8,0x22,0x4D,0x85,0x20,0xA9,0xAB, -0xFA,0xB0,0xF1,0xAF,0x37,0x76,0xD2,0x5D,0xF6,0x00,0x03,0xBF,0xF8,0x01,0x9E,0x04, -0xD5,0x2D,0x72,0x3E,0xA9,0x55,0x03,0x6C,0x50,0x03,0xCC,0x80,0x9D,0x61,0xEF,0x51, -0x31,0x88,0xA3,0xAB,0xFB,0x51,0x3B,0xA7,0x7B,0xCE,0x79,0xA0,0xFD,0x5E,0x6A,0xB2, -0x3D,0x87,0x52,0x07,0x60,0x86,0x5C,0xC9,0xE2,0xAD,0x33,0x7C,0xB1,0x2D,0x13,0xF9, -0xBB,0x4A,0xE9,0xE9,0x57,0xF3,0x31,0x62,0x94,0x6A,0x78,0xD7,0xD3,0x65,0xCB,0xEC, -0xF7,0xE2,0xC5,0x15,0x58,0xF9,0x0C,0x60,0x06,0x7C,0xA6,0xD9,0x79,0x59,0x52,0x6F, -0x23,0xCB,0x4F,0xB5,0x32,0x82,0x64,0x02,0x73,0x71,0xF1,0x12,0xDB,0x4F,0x68,0x91, -0xA2,0xDB,0x70,0x63,0x07,0xAA,0xFF,0xDE,0x48,0x5F,0x50,0x4C,0x95,0x4B,0x4C,0x2C, -0xEC,0x4E,0x53,0x95,0xFE,0xA5,0x8D,0xF8,0xB5,0x17,0x4F,0x78,0xEA,0x1D,0x26,0x75, -0xD3,0xAD,0x33,0x10,0xA5,0x90,0x01,0xC8,0x5A,0xB3,0x4E,0x0F,0x9C,0xB0,0x7D,0x98, -0x6B,0xDE,0x2D,0x6D,0x9E,0x20,0x6E,0xC7,0x46,0xA1,0xF6,0x7E,0xFA,0x76,0xC3,0xF2, -0x11,0x7A,0x1B,0x8A,0x2E,0xA2,0xE1,0xCD,0x2C,0x74,0x05,0xA4,0x8D,0x0A,0x0A,0xD6, -0x15,0xC7,0x55,0xAE,0x0B,0x6F,0xFD,0x7A,0xFD,0x75,0x97,0x6D,0x3C,0xD1,0x1A,0x90, -0x55,0x60,0x88,0xFE,0x44,0xD9,0x89,0xAF,0x43,0x2A,0xC4,0x9E,0x0F,0xF4,0x09,0x82, -0x1F,0x48,0xE5,0x2C,0xBF,0x8B,0x0D,0xFE,0x2E,0x7B,0x0F,0x99,0xFF,0x29,0x37,0x44, -0x38,0x67,0xD9,0x35,0x2C,0xFF,0x17,0xBA,0xC3,0xD0,0x04,0xD3,0x96,0xED,0x83,0x13, -0x9D,0x38,0x10,0xE6,0x21,0xA8,0xDC,0xCF,0x10,0xDE,0x9C,0x27,0xDF,0xC1,0x0E,0xEE, -0xDF,0xA2,0xC2,0xBC,0x47,0x16,0xB6,0x09,0x51,0xC6,0xDA,0xDD,0x29,0xE5,0x0B,0xA1, -0x04,0xE4,0x73,0xAC,0xD6,0x3F,0x5A,0x3A,0xA5,0xF4,0x5B,0x06,0x6E,0x1A,0x1E,0xA8, -0x1B,0xF5,0xAB,0x08,0x3E,0x47,0x66,0xA6,0xA3,0xB5,0x75,0x86,0x5C,0xEE,0x9F,0x73, -0xE1,0x1C,0x67,0x2F,0xC9,0xD0,0xE0,0x53,0x87,0x43,0x70,0xC9,0xCC,0x0C,0x24,0x56, -0xBF,0xF7,0xA7,0xCD,0x42,0xE2,0x00,0x56,0x91,0xE1,0x4A,0x37,0xE3,0xE6,0x17,0xC1, -0x9F,0x05,0x1F,0xEC,0x91,0x2A,0x53,0xC5,0x36,0x27,0x93,0x55,0x6C,0x6D,0x43,0x5E, -0xF2,0x02,0x4E,0x27,0x2F,0x30,0x28,0x1C,0x4D,0xD4,0x62,0xAC,0x93,0xB2,0x77,0xA5, -0x7C,0x7D,0x4A,0x41,0xAA,0x9A,0x3C,0xCA,0xB1,0x59,0x6B,0xC5,0x63,0x6F,0x49,0x63, -0x54,0x3D,0x4D,0xE8,0xAF,0x6E,0x8A,0x95,0x2F,0xBE,0x19,0xC4,0xFC,0x8F,0xF8,0x7B, -0x2B,0x79,0xF0,0x3D,0xE2,0x85,0x08,0x37,0x45,0x6B,0xEA,0x1E,0xCB,0x24,0x8D,0x16, -0x9A,0xE5,0x94,0xDE,0x1C,0x23,0x3A,0x39,0x67,0xDC,0xC1,0xD1,0x66,0x30,0xBD,0xD5, -0x4C,0x84,0x1A,0x5C,0x20,0x02,0xEB,0x8D,0x75,0xB0,0x7C,0x6C,0x4D,0xF8,0x35,0x40, -0x1C,0xC4,0xBD,0x81,0x54,0x4D,0x3E,0x3B,0x26,0x43,0x23,0xD2,0x5F,0xEB,0x06,0x65, -0xCE,0x8E,0x95,0xEC,0xD0,0xB6,0x6F,0x69,0xED,0x44,0x72,0xBF,0x99,0xD5,0xF6,0xB8, -0xD7,0xA9,0xBA,0xD0,0xCA,0x25,0x2B,0x1D,0xE6,0x0E,0xD9,0x52,0xCE,0x61,0x9F,0x7C, -0x04,0x0C,0xE5,0x19,0x01,0x28,0x5E,0x4A,0x7E,0xFA,0xD7,0x81,0x33,0xEC,0xD6,0x50, -0x5E,0x4E,0x7F,0xCB,0x6B,0x4E,0x98,0xF4,0x38,0x00,0xCF,0xC0,0x7C,0xE9,0x20,0x74, -0x4E,0x95,0x39,0x7A,0x87,0xDF,0xAB,0xDD,0xB9,0xDB,0xFD,0x34,0x75,0xFC,0x67,0x8B, -0xEA,0x8A,0x28,0xA2,0xBB,0x37,0x37,0xA5,0x97,0x5B,0xBC,0x32,0xAE,0x7D,0x55,0x7F, -0xCD,0x70,0xC1,0x6E,0x3D,0xC0,0xC2,0x32,0x92,0x14,0x4A,0x16,0x8B,0xC6,0xC5,0x9D, -0x2F,0x2E,0x2A,0xAE,0xDD,0x4B,0xC7,0x00,0xA8,0xEA,0xE8,0x00,0x1C,0xF5,0xEA,0x77, -0x0E,0x0E,0xD8,0x16,0x8E,0x98,0x54,0xC8,0x71,0x88,0x2E,0xA7,0x83,0xA1,0x65,0xFC, -0xC5,0x63,0xDF,0x47,0xF5,0x26,0x8D,0xD2,0x80,0x71,0xDD,0xDC,0x78,0x95,0x9A,0x23, -0xA3,0xED,0xA0,0x43,0xE1,0xA3,0x5B,0x78,0x89,0x18,0x50,0x20,0xBE,0xAB,0x6A,0xFE, -0x0A,0xC5,0xE0,0x44,0x57,0xA6,0x04,0x8C,0xFB,0x19,0xB7,0xBE,0xA6,0x1A,0xF5,0x1E, -0xDF,0xBA,0xA4,0xF9,0xD5,0xEB,0xA6,0x67,0x08,0xC3,0x62,0xD4,0xCB,0x6F,0xC2,0xB5, -0x3C,0x0B,0x38,0x9D,0xE7,0x15,0xA8,0xC1,0x23,0x0C,0xD5,0xF6,0x08,0x5F,0x6F,0xA1, -0xCC,0x9F,0xB6,0xCA,0xFD,0x86,0xEC,0xB5,0xD9,0xBF,0x8D,0x60,0x15,0xE0,0xAD,0x88, -0x42,0x4D,0x1F,0x01,0x3A,0x91,0xAF,0xF9,0x9E,0x32,0x31,0xCE,0x29,0x98,0x45,0x14, -0x7F,0x6E,0x8D,0x73,0xAF,0xB2,0xE1,0x0F,0x18,0x85,0xD3,0x0F,0xEF,0xA6,0xB5,0xC9, -0xA2,0x02,0xD7,0xE7,0xCD,0x74,0x46,0xD6,0xC0,0x90,0xB1,0x47,0x76,0x4B,0x8C,0xB1, -0x4D,0x6B,0x6D,0xF8,0x0F,0x3E,0xCC,0x94,0xE1,0x62,0x09,0x67,0xD9,0x7C,0xF1,0x90, -0xDC,0x44,0xF0,0x7B,0xDE,0xA0,0xFD,0xB7,0x2E,0x5D,0x0A,0xC1,0x8C,0x0D,0x94,0xF0, -0x49,0xA0,0x55,0xAA,0xE6,0xF2,0x36,0xB3,0x9B,0x7D,0xC7,0xEA,0x6F,0x88,0xF4,0xCF, -0xE5,0xAC,0x5A,0x5B,0x81,0x69,0x58,0x64,0xD1,0xA1,0xA4,0x73,0x24,0xF1,0xB8,0xBC, -0x0B,0x2A,0x97,0xE0,0xEC,0x5E,0xF3,0x11,0x9A,0x0A,0x63,0x05,0x31,0x29,0xDA,0xF4, -0xF7,0x66,0x3F,0xCC,0xD1,0x51,0xF1,0x1B,0x44,0x04,0x75,0x97,0xB2,0xB0,0x70,0xC8, -0x57,0xB2,0x16,0x46,0xB9,0x3B,0x93,0x60,0x13,0xCF,0x78,0xE2,0x4C,0x8A,0xD2,0xDE, -0x81,0x33,0x06,0x79,0x22,0x0E,0x4F,0x48,0xB2,0x91,0x56,0xD9,0xF1,0xAE,0x9C,0xDA, -0x77,0x7D,0x93,0x5A,0x50,0xF7,0x69,0x47,0xAD,0xA5,0x1E,0x24,0xA8,0xC4,0xE3,0x8C, -0xF2,0x42,0x70,0x3A,0xDC,0xAC,0x59,0x72,0xAC,0xD2,0xBA,0xCB,0x45,0x9F,0x95,0x21, -0x8F,0xFA,0x03,0x24,0xB3,0x97,0x56,0xC2,0x14,0xA3,0xA8,0xD7,0x2F,0x21,0xF3,0xE7, -0x68,0x80,0xA7,0x12,0x3C,0x27,0x5C,0x40,0xE7,0x79,0x7D,0xBD,0x0B,0xE8,0x84,0x9B, -0x0C,0x1F,0xFB,0x30,0xD4,0x0C,0x38,0x15,0xBC,0x94,0x0B,0x10,0xD6,0xD0,0x00,0x9C, -0x2A,0x0A,0x65,0x58,0x56,0x41,0x9A,0xFE,0x6C,0x9F,0x40,0x4B,0x05,0x36,0x92,0x09, -0xBE,0x01,0xB7,0x2D,0x63,0xEE,0xF9,0x93,0xB4,0x8A,0x22,0x03,0x07,0xF3,0x9E,0xAD, -0x43,0xA2,0x68,0xA5,0xB4,0xC6,0x3B,0x09,0x22,0x7B,0x71,0x19,0xA2,0x66,0x4F,0x49, -0xD8,0x8F,0xC8,0x29,0x48,0x68,0x89,0xF6,0xC9,0xF9,0x3C,0xBB,0x52,0x82,0xFB,0xCD, -0xBF,0xEE,0xC0,0x89,0x9D,0x4C,0xEF,0xA9,0x90,0x37,0x6C,0x07,0xC4,0xC3,0x33,0xB9, -0x45,0x78,0x73,0xD1,0x96,0x07,0xB4,0x79,0x12,0xB8,0xDC,0x0D,0x25,0x83,0x5F,0x22, -0xDE,0x55,0xD3,0x5D,0x89,0xC9,0x39,0x03,0x05,0x92,0xBD,0xE3,0x53,0xF0,0x1C,0x53, -0xD3,0x62,0x82,0x82,0x58,0x57,0x08,0x20,0xD4,0xEE,0x52,0x57,0x2C,0x96,0x18,0xDD, -0x85,0xF8,0x3E,0x2B,0x34,0x87,0x3D,0x27,0x19,0xF2,0x77,0xE0,0xFC,0xC7,0x61,0x72, -0xEE,0x41,0x10,0xF0,0xC2,0x85,0x4A,0x7A,0x2D,0x09,0x88,0x3F,0x49,0x84,0x8F,0x17, -0xA0,0x13,0xF4,0xC1,0xF3,0x90,0x7E,0x6B,0x5B,0x30,0x3D,0x6A,0x84,0x6A,0x34,0x91, -0x35,0xF7,0x51,0x10,0x41,0x2F,0x76,0xE3,0x02,0xFE,0x6D,0xD6,0x3B,0x8B,0x76,0x31, -0xE4,0x43,0x2D,0xFF,0x74,0x80,0x15,0x8E,0xCA,0xAD,0xBE,0x45,0x4E,0x4F,0xDE,0x7A, -0x46,0x86,0x27,0x53,0x59,0xB0,0x96,0x52,0x6E,0xBC,0x66,0x5A,0x42,0x54,0xC4,0x4C, -0x7B,0xA5,0xB5,0x21,0x7A,0x96,0x87,0x50,0xAF,0x86,0x38,0x35,0x6E,0xFA,0x13,0x51, -0x1F,0x3A,0xE9,0x03,0x23,0xE9,0xD1,0x3A,0x5C,0x5C,0xED,0x5F,0x1B,0x3E,0xBB,0x1A, -0xEF,0xAE,0x67,0x54,0x47,0x99,0x85,0x5A,0xBD,0xE3,0xAF,0xFF,0xAA,0x01,0xEF,0x28, -0x34,0x18,0x26,0xB4,0xED,0xB9,0x6D,0x63,0x62,0x9A,0x1D,0x82,0x4A,0x33,0x64,0x2D, -0xCB,0xAA,0xDA,0x1A,0xF6,0xCD,0xB7,0x65,0xFD,0x02,0xC3,0x64,0x4F,0x3D,0x39,0xE4, -0x87,0xE9,0x1D,0x0D,0x9C,0xAB,0x71,0xDB,0x51,0x0D,0x32,0x68,0x60,0x24,0x05,0xC3, -0xDA,0x9E,0xEB,0x0F,0x6C,0x1F,0xF5,0x3F,0xAA,0xC9,0xCE,0x11,0xE4,0x76,0xFE,0x92, -0xFF,0x75,0x21,0xE5,0xA9,0x04,0x12,0xB6,0x5D,0x2B,0x49,0xB0,0x1E,0x30,0xE6,0xD3, -0x07,0xF2,0xB1,0x9B,0x80,0x8E,0xC6,0x16,0x86,0x6A,0xA9,0x06,0xAC,0xB8,0x59,0xDB, -0x1E,0xD5,0x9E,0xA7,0xE8,0xE4,0xA4,0x6D,0xE2,0x36,0x8B,0x99,0x66,0x9D,0xB3,0x30, -0x37,0xE6,0x72,0x36,0x17,0xA1,0x2C,0x25,0xA7,0x98,0x11,0x26,0x4B,0x41,0x83,0xB3, -0x99,0xFB,0x5E,0xE1,0xFF,0x8A,0x48,0x70,0x2B,0x12,0xFC,0xE5,0xE2,0xCF,0x48,0x61, -0x53,0x79,0x2E,0x14,0x35,0x60,0xA3,0x55,0x56,0x61,0xE2,0x5D,0x40,0x91,0xC8,0xE8, -0x9C,0xDF,0x11,0x17,0xC6,0x3F,0x1D,0x06,0xBB,0xF8,0xDB,0x25,0x9B,0x10,0xFA,0x1C, -0xA4,0xD8,0xCC,0x93,0x8F,0x7F,0xCA,0xBA,0x2C,0x7E,0x2C,0xD0,0xAB,0x73,0x08,0xB6, -0x59,0x7B,0x13,0x1B,0x69,0x42,0x3C,0x31,0x17,0xF7,0x2A,0x29,0x46,0x28,0x7E,0x1B, -0xB1,0x27,0xC5,0xD4,0x77,0x6B,0x2F,0x39,0x58,0x64,0xBF,0x94,0xC7,0x74,0xD8,0x83, -0x24,0x0B,0xF5,0x60,0x22,0x29,0xB7,0x64,0x52,0x58,0x8D,0x50,0x73,0x9F,0xAD,0xE5, -0x70,0x34,0xC7,0xD1,0x82,0x96,0x56,0x26,0x22,0x0C,0xE9,0x30,0xE7,0xC8,0x23,0x15, -0xF2,0x37,0x39,0x85,0xB9,0xC8,0xF7,0x08,0x06,0x6A,0x3C,0x6F,0x77,0xD1,0x10,0xC1, -0xAF,0x39,0xF0,0x80,0x5F,0x50,0x68,0xD6,0x72,0xB0,0x27,0x69,0xC5,0x7F,0xEC,0x3E, -0x35,0x7C,0x4F,0x2E,0xCC,0x03,0xA0,0x05,0xD4,0x28,0xA6,0x35,0x43,0xC4,0x21,0xD0, -0xCE,0x2E,0x1E,0xAA,0xB5,0xC7,0x5B,0xF9,0x60,0xAC,0x56,0xD1,0x34,0xC6,0xD7,0x8D, -0x92,0xB2,0x06,0x66,0xDB,0xA0,0x8C,0x62,0x45,0x1B,0x4A,0x1C,0x2F,0x50,0x7B,0x0D, -0x2D,0x3A,0x0E,0xD4,0x6D,0xE1,0x57,0x82,0xCF,0xCF,0x63,0xBC,0xA8,0x2E,0xEB,0xF5, -0x48,0x4B,0x6E,0x81,0xFB,0x52,0xAD,0xDA,0x6A,0xF1,0xDD,0x2F,0x3B,0xFD,0xB8,0x3D, -0x78,0x97,0xED,0xAC,0x44,0xFC,0xE8,0x40,0x2F,0x79,0x22,0x67,0x08,0x6C,0x54,0x14, -0x03,0x9B,0x35,0x8A,0x80,0xAB,0x5C,0x29,0xAB,0x7E,0xFF,0x5F,0xA4,0xDF,0xE4,0x59, -0x83,0xC5,0xBC,0x28,0x38,0xD8,0x21,0x37,0x41,0x95,0x35,0x7A,0x26,0x2A,0x94,0x93, -0xC3,0x79,0x6B,0x61,0x0D,0xB4,0x26,0xE7,0xB4,0x17,0x45,0xB0,0x05,0x58,0x06,0xAE, -0x31,0x1A,0xC1,0x51,0xF8,0x32,0xB1,0x10,0xF4,0xC0,0x0C,0x0C,0x02,0xDC,0xDB,0x96, -0x13,0x7E,0x5E,0x0D,0x49,0xAE,0x52,0x74,0xA0,0xF2,0xBD,0x33,0xFA,0x1F,0x0F,0xBB, -0xB5,0x22,0xC6,0x8C,0xF4,0x3D,0x1D,0xE1,0x89,0xE1,0xA3,0x3B,0xA6,0xD0,0xD9,0x53, -0x59,0x3C,0xD4,0xCF,0x96,0x55,0x66,0x8B,0x8A,0x47,0x9C,0xF4,0xD7,0x93,0xAF,0x20, -0xCB,0xDA,0x41,0x1C,0xCD,0x5E,0xB6,0xC0,0xC7,0xE5,0x1E,0x1F,0xC2,0xFB,0x31,0x06, -0x84,0x6C,0x94,0x68,0xC4,0xB1,0x28,0xBA,0x0D,0xE6,0x7E,0x03,0x7F,0x6E,0xA2,0x49, -0x55,0xF9,0x70,0xCD,0xDE,0x40,0xBE,0xE9,0x25,0x24,0xA9,0x99,0xDC,0xE6,0x7D,0xB4, -0xF8,0xC9,0x64,0x0E,0xDA,0xFD,0x9A,0xA7,0x87,0x32,0x57,0xA3,0x33,0x42,0x0A,0xB5, -0x30,0x88,0x10,0x98,0x66,0x33,0xC3,0xF7,0xA3,0x54,0x82,0xFC,0x52,0xE2,0x02,0xD2, -0xD7,0xFA,0x8E,0x99,0x3E,0x58,0x0F,0x76,0x02,0xE4,0x43,0x09,0x88,0x96,0x19,0xD4, -0x94,0x89,0xFF,0xEF,0xD0,0x72,0x18,0x17,0xCC,0x69,0x5C,0x73,0xA5,0x1A,0xB9,0x4F, -0xAA,0xCD,0xAF,0x36,0x3D,0x38,0x13,0xBC,0x4C,0xE0,0xFE,0x2D,0x25,0xE0,0xF4,0x8F, -0xD3,0x9C,0x00,0xE6,0x8A,0x24,0xDE,0x99,0x9C,0xD5,0x92,0x2A,0xBF,0x49,0x48,0xD9, -0xFF,0x60,0x4C,0x4E,0xB7,0xFA,0x51,0xF6,0x5B,0xA3,0x39,0x61,0xCE,0x0A,0x3E,0xAA, -0x44,0x8E,0xCA,0x83,0xE2,0xC3,0x27,0x43,0x4E,0x97,0x08,0x70,0x9C,0x3B,0xDA,0xE4, -0x15,0x45,0xA7,0x84,0x98,0x67,0xC0,0x75,0x4B,0xC8,0xBE,0x84,0x9E,0x34,0xE7,0xEE, -0xBD,0x81,0xEC,0xF1,0x0B,0x34,0x08,0xA6,0xE4,0xAB,0x8B,0xE9,0x2A,0xDB,0x9B,0x3F, -0xD8,0xF0,0x8C,0xA4,0xE8,0x4C,0xA5,0xF3,0x5D,0x5A,0xB0,0x5A,0x78,0xEA,0x7F,0x71, -0x0F,0x5E,0x91,0x88,0x87,0x76,0x64,0xAD,0x7B,0x4B,0x93,0x58,0x5B,0x98,0xED,0x4C, -0x8E,0x92,0xC9,0xE3,0x13,0xF8,0x94,0xFA,0x5A,0x72,0xF0,0xF3,0x90,0xCA,0xD5,0x48, -0x66,0xEA,0x55,0xDF,0xBD,0x75,0xD3,0x46,0x4D,0x31,0x37,0xBF,0x42,0x01,0x7C,0xC6, -0x47,0x41,0x6C,0xBC,0x9A,0x5A,0xCA,0x7A,0xBF,0x9B,0x07,0xDC,0xDF,0x2C,0x1D,0xA8, -0x7E,0xAC,0x14,0x25,0xD2,0x4F,0x12,0x18,0x79,0x3C,0x65,0x05,0xB3,0xB8,0x47,0x75, -0x5F,0x07,0x2D,0x46,0x1C,0x97,0x24,0xC1,0x6B,0x20,0x14,0xBD,0x99,0xB0,0x3A,0xD6, -0x3A,0x76,0x4D,0x13,0xBA,0xA8,0xEB,0xC2,0xF5,0x11,0xC5,0x9E,0xB6,0x33,0xA7,0x47, -0x73,0xFB,0x61,0xEE,0xAE,0x6B,0xDB,0x6F,0xA2,0x85,0x4B,0x6E,0x71,0x90,0x90,0xEF, -0x3F,0x82,0x12,0xA5,0x37,0xB7,0x91,0x0C,0x39,0xEB,0x2C,0xB9,0x7D,0x61,0x9F,0x43, -0xBB,0xBA,0x15,0x78,0x4A,0xCE,0x4E,0xBE,0x9A,0x2C,0x1B,0x11,0xBB,0x07,0xF5,0xFD, -0x11,0x23,0x29,0xFB,0xD8,0xC0,0x90,0xA8,0x95,0x2E,0x26,0x1B,0xF7,0x2B,0x5D,0x01, -0x57,0xA4,0x07,0x3B,0x04,0x5B,0xB8,0x9D,0xC5,0x92,0xE8,0x42,0xEE,0xB2,0xCC,0x8B, -0x19,0x80,0x03,0x86,0x3F,0x05,0x19,0xB3,0xF0,0x4E,0x73,0x6A,0x6F,0x8D,0xDC,0x5D, -0x5E,0x95,0xFC,0x8F,0x16,0x18,0xA6,0x71,0x67,0x84,0x16,0x78,0x9F,0xF1,0xBA,0xF8, -0x28,0xCE,0x51,0x62,0xF9,0x6F,0xA7,0xD5,0x3C,0xB4,0x9A,0x4D,0xA0,0x91,0x59,0x7D, -0x4F,0xE2,0x46,0xC1,0x60,0xB3,0xED,0xB6,0xEC,0x81,0xF6,0x4A,0x5D,0xD9,0x6D,0x62, -0x38,0x2B,0x3A,0xE5,0x0A,0x69,0x1E,0x63,0x5C,0x8B,0x79,0xC8,0x27,0xEF,0xC9,0x85, -0xCD,0xE1,0xB8,0x95,0x0F,0x89,0x2C,0xE8,0x86,0xE3,0x9E,0x31,0x19,0x4A,0x77,0x16, -0xFE,0xF2,0x9D,0x87,0xB1,0x7A,0x7F,0xB7,0xC9,0x36,0xEA,0x87,0x59,0x97,0xD0,0x46, -0x54,0x6B,0xA1,0x04,0x8F,0xC4,0xEC,0x12,0xEE,0xF6,0x00,0x17,0x74,0x1B,0x70,0xDD, -0x3D,0xDF,0x65,0x53,0x62,0x8E,0xE7,0xB9,0x7D,0xB2,0x1A,0x63,0x53,0x27,0x5F,0xC4, -0xEB,0xE3,0xA9,0xB6,0x1D,0xCA,0x32,0x04,0x85,0x45,0xA1,0xFE,0x93,0x00,0xB5,0x54, -0x1D,0xE6,0x8D,0xF9,0x5C,0x30,0x74,0x1C,0xE3,0x83,0xCB,0x40,0xD1,0xD2,0x2F,0x0E, -0x9E,0x77,0xA2,0x64,0xEF,0x91,0x9D,0x77,0xFC,0xEA,0x71,0xAF,0x57,0x69,0xE2,0xE0, -0xAC,0xF6,0x56,0xBF,0xE9,0x11,0xB3,0x36,0x14,0x76,0x4D,0xD7,0x48,0xB1,0xF3,0x44, -0x21,0xFF,0xAA,0xD6,0xDD,0x20,0xA2,0x23,0x80,0x1A,0x17,0x0A,0xF3,0x65,0xE0,0x25, -0x0E,0xCC,0x40,0x41,0xCB,0xDE,0x98,0x81,0x0B,0x1F,0xF7,0x38,0xAD,0xA5,0x0B,0xC7, -0x51,0x9F,0xFE,0xB2,0x01,0xBB,0x8A,0x16,0xED,0x50,0x3F,0xD8,0xBE,0x8C,0x15,0xCF, -0xAE,0xAB,0x21,0x49,0x7A,0x42,0x7B,0xE5,0x53,0x89,0x44,0xC2,0xD3,0xDD,0x12,0x04, -0x3E,0x10,0xC3,0x6C,0x63,0xD3,0xF1,0x7C,0x6D,0xD9,0x9D,0x86,0x18,0x8F,0x2A,0x00, -0xA1,0xA1,0x23,0x74,0xFD,0xD2,0x83,0x9B,0x68,0x86,0x2B,0x72,0x30,0x88,0x6A,0xA9, -0xA4,0x55,0x7C,0xC2,0x2B,0xC6,0x29,0x1E,0xDE,0x75,0x2D,0xCB,0xD6,0x56,0xF2,0x36, -0x09,0x65,0x68,0x01,0x09,0x09,0x02,0xA9,0x20,0x7B,0x1F,0x6D,0x67,0x32,0x6E,0xD5, -0xB6,0xCD,0x46,0x32,0xAF,0xD8,0x38,0xFB,0xFE,0x24,0xEA,0xD8,0xB1,0x43,0xA5,0x4B, -0x42,0x16,0x74,0xB3,0xEE,0xF6,0xB8,0xFD,0x62,0xCC,0x92,0xE4,0x69,0x5C,0x01,0x5A, -0xBD,0x1F,0x33,0xA6,0xDC,0x77,0x63,0x09,0x51,0x5D,0xBB,0x08,0xD8,0x87,0x11,0x1C, -0x99,0x50,0xC5,0xA3,0xC4,0x31,0x99,0x48,0x97,0x3B,0x05,0x62,0x0A,0xC5,0x4B,0x86, -0xB5,0xAD,0x8C,0x2E,0xCA,0xA9,0x6D,0x9B,0xE2,0x36,0x52,0xA9,0xC3,0x60,0x98,0xD9, -0x71,0xFA,0xE5,0x9A,0x61,0xA2,0x27,0x76,0xA6,0xA5,0x26,0xB3,0xFF,0x47,0x81,0xF6, -0xAC,0x3C,0x15,0xA4,0x30,0x69,0x20,0x1B,0xF7,0x5E,0x74,0x37,0x92,0x0D,0x53,0xDE, -0x89,0x2E,0x26,0xB7,0x6F,0x3A,0xD3,0xA5,0x22,0x11,0xC2,0x43,0x4F,0x4D,0x03,0x79, -0x68,0x6B,0x7C,0x10,0xC6,0x6C,0x6F,0x3F,0x61,0x06,0x8E,0x84,0x8E,0xC2,0x73,0x5B, -0x7C,0xA8,0xD1,0x20,0x71,0x47,0xA0,0x1D,0x6F,0xF8,0x28,0xB6,0xEA,0x73,0x90,0xC7, -0xD7,0xC5,0xE6,0x55,0xA4,0xB4,0x7A,0x77,0xCD,0xB5,0xC3,0x34,0x57,0x0C,0x45,0x83, -0x37,0xDD,0x79,0xE4,0x43,0xC6,0x7B,0xE9,0x92,0xB0,0x37,0x82,0x50,0x24,0xEC,0xC3, -0xEA,0x1B,0x89,0xDA,0xCE,0xCF,0x12,0x15,0x44,0x35,0x9D,0x96,0x54,0xAA,0x8A,0xBC, -0x35,0xE0,0x76,0xEE,0x3D,0x3E,0xEB,0x6E,0x9D,0x8B,0x87,0xED,0x05,0xC7,0x41,0xBB, -0xBE,0x7F,0xF9,0xBA,0xFB,0xE7,0x89,0xC9,0x0E,0x58,0x4F,0xBE,0xBD,0xE7,0x60,0x49, -0x54,0xE8,0xD6,0x89,0x59,0xDD,0x77,0xDF,0x0B,0xD3,0x7D,0x5E,0x7D,0xB9,0x82,0xA2, -0x75,0x47,0xAB,0xBE,0xB7,0x9E,0xC2,0xBA,0x91,0x7A,0x2B,0xE2,0x48,0x65,0xAA,0x39, -0x06,0x0C,0xE7,0xC7,0xD4,0xD4,0x1E,0x23,0xFF,0xE1,0xFC,0x85,0xB9,0x69,0x06,0x36, -0x39,0xEF,0x87,0x42,0x19,0x61,0x3E,0x08,0x34,0xB3,0xF8,0xBD,0x68,0x8D,0x93,0x93, -0x59,0xBA,0xE2,0x33,0x1A,0xAE,0x01,0xAE,0x05,0x2D,0xDB,0x6C,0xEB,0xA2,0x02,0x0E, -0x78,0x15,0x9F,0x04,0xA2,0x8F,0xF3,0x8E,0x8F,0x67,0x99,0xAE,0xF4,0xCB,0xED,0xB4, -0x00,0x8C,0xA6,0xE9,0xC0,0x57,0xE6,0xC6,0x28,0xA1,0x40,0xCC,0x60,0xA7,0x30,0xEE, -0xDD,0x4A,0x56,0xD7,0x22,0xD1,0x51,0x07,0x66,0x82,0xB6,0x59,0x12,0x84,0x0D,0x7C, -0x41,0x76,0xBE,0xAF,0x9E,0x96,0xDC,0xA9,0x25,0x95,0xFA,0x9E,0xD9,0x56,0x83,0xD5, -0x52,0x68,0x97,0xA7,0x6E,0xA8,0x1A,0x74,0x95,0x34,0x0F,0x5F,0x01,0x49,0x27,0xC4, -0x2E,0x4C,0xE0,0x6E,0xBB,0x5B,0xC0,0x1E,0x9F,0x84,0x8D,0xD0,0x37,0x33,0xC0,0x60, -0xE8,0x26,0x86,0xD0,0xA9,0xE3,0xB1,0x02,0x90,0xBF,0x3D,0xBF,0x29,0x8B,0xBD,0x13, -0x45,0xCB,0xF0,0x8B,0x0D,0xE2,0xC6,0xED,0xA0,0xE4,0x08,0x33,0x49,0xB4,0x38,0xF0, -0x13,0x92,0x8F,0xE1,0x45,0xFD,0xF2,0x10,0x86,0x1D,0x07,0x41,0x6A,0xFA,0xCE,0x65, -0x17,0x2F,0xC1,0xC5,0x6B,0x5C,0xAC,0x2B,0x5A,0x28,0x2F,0xDA,0x55,0x7B,0x18,0x75, -0x01,0xD1,0x63,0xFF,0x66,0x0B,0x67,0x5E,0x38,0x42,0x54,0xB2,0xDF,0xAF,0xB8,0x5C, -0x3D,0x52,0xC9,0x66,0x70,0xD5,0x69,0xCC,0x3A,0x4D,0x5E,0x8F,0xF3,0xE3,0x44,0xF4, -0x9A,0x30,0x0F,0xBF,0xAE,0x4A,0xF1,0x2A,0xF0,0xDA,0x4C,0xEA,0x4E,0x9C,0x91,0xB0, -0xEB,0x46,0x4C,0xCC,0xCF,0x5D,0xDB,0xC4,0x7D,0x14,0x36,0xF5,0xC2,0xB1,0x0A,0x10, -0x70,0xA7,0x20,0x8C,0x7F,0xDF,0x54,0xCE,0x26,0x5F,0xE6,0xFE,0x9A,0x27,0xF0,0xA3, -0x04,0x31,0xE8,0xCD,0x2F,0x86,0x9A,0x72,0x40,0x7B,0xB9,0x2B,0x3A,0x46,0x97,0xAB, -0x80,0xC1,0x5C,0x29,0x62,0x6D,0x18,0xD0,0xF2,0xD5,0x46,0xD7,0xB6,0x6B,0x0C,0x0B, -0x64,0x64,0x8D,0xBC,0x31,0xFB,0xE9,0xCA,0x30,0xFD,0xDC,0x00,0x3E,0xC8,0xF1,0xD4, -0xC0,0x66,0x81,0x79,0x53,0x23,0xFC,0x82,0x53,0x52,0xB1,0x35,0x4B,0xC3,0x65,0x06, -0x55,0xB5,0x13,0x9F,0x18,0xF3,0xF7,0xD9,0xF1,0x1F,0x5A,0xB7,0x23,0xD6,0x43,0x98, -0x98,0x0D,0x00,0xB5,0x2B,0xE0,0xE5,0xFC,0x4E,0x85,0x1F,0x19,0x32,0x6C,0x34,0xD6, -0x85,0x21,0xD7,0x1B,0x75,0x21,0xDF,0x93,0x5F,0xA3,0x1D,0x3A,0x40,0x4F,0x09,0x44, -0xB3,0x2D,0xCD,0x00,0xAD,0x85,0xCE,0x8C,0xDC,0x93,0xC1,0x17,0xEC,0x8A,0xAB,0x4E, -0xF8,0x58,0x65,0xC4,0x7E,0x4D,0x9D,0x1F,0xBF,0x3C,0xAC,0x22,0x03,0x3E,0x7A,0x32, -0x58,0xE7,0x27,0x25,0x2E,0x14,0x53,0xA3,0xB7,0x83,0x24,0x90,0xD2,0xDA,0xEF,0x97, -0xDE,0x2A,0x9C,0xCB,0x9B,0x62,0x6A,0xF6,0x83,0x96,0x35,0xA1,0xE3,0x88,0xA1,0x73, -0xBB,0x9F,0x72,0x88,0x64,0x56,0x91,0x29,0xF4,0x94,0x68,0x57,0x38,0x31,0xCA,0x5D, -0x14,0x4F,0x0B,0xD9,0x41,0x9B,0x8D,0x9E,0xC1,0x44,0x6F,0x3B,0x91,0xAB,0x9C,0xE1, -0x12,0xCF,0x4A,0xF7,0xBA,0xC9,0x09,0xCF,0x0F,0x9D,0x59,0xE3,0x88,0x3B,0x48,0xD2, -0x1A,0x7D,0xF5,0x7F,0x5A,0x12,0x48,0x79,0xDB,0x17,0xF9,0xCA,0xF6,0xBC,0xB0,0x42, -0x5B,0x87,0xED,0x39,0xDD,0xE5,0xAA,0xD8,0x3C,0x0C,0x70,0x0F,0x1C,0x57,0x95,0x88, -0x0A,0x03,0x16,0x6B,0x21,0x1E,0x6E,0xA1,0xB8,0xB8,0x94,0xFF,0x1E,0x20,0xC8,0x7E, -0x2D,0x2C,0x2A,0x72,0xD0,0xB2,0x61,0xAD,0x7E,0xDE,0x2A,0x95,0x09,0x63,0x84,0xB9, -0xE4,0x29,0x77,0x7C,0x0E,0x2D,0xF9,0x4B,0xA4,0xAA,0x2C,0x8E,0xA7,0xD1,0x7B,0x45, -0xE1,0xC9,0xFC,0x4E,0xBC,0xF2,0x80,0x36,0x4C,0x8A,0x15,0x24,0x47,0x67,0xA0,0x04, -0xD3,0x78,0xA8,0x71,0xFE,0x13,0x3F,0x96,0x18,0xFA,0x75,0x40,0x10,0xF3,0x50,0x8A, -0x4A,0xA4,0xCB,0x3B,0xAC,0x17,0x07,0x5D,0xE6,0x78,0x76,0x14,0xC7,0xEE,0xFE,0xA6, -0xD2,0x25,0x6D,0x67,0x39,0x58,0x94,0xE0,0xF5,0x51,0x7E,0x0A,0x08,0xB2,0x16,0x70, -0x7F,0xC8,0x1B,0x3C,0x3F,0x63,0x1D,0x19,0x03,0x6C,0xF5,0xEC,0x80,0x11,0xEB,0xAF, -0xD5,0xF8,0xE9,0x5F,0xC8,0xF4,0x9B,0xEC,0xD4,0x2C,0x49,0xA5,0x04,0x16,0xD3,0x72, -0x21,0x23,0xDB,0xDE,0xF1,0x19,0x02,0x94,0x6A,0x73,0x1A,0x56,0x07,0xB0,0x1C,0x4D, -0xA8,0x81,0x5B,0x80,0xEF,0x64,0x71,0x2C,0x81,0x99,0x3F,0x9C,0xF2,0x32,0xD6,0x3D, -0x7A,0x28,0x90,0x0E,0x02,0xE8,0xFB,0xEF,0xE5,0xB2,0x6A,0x74,0x25,0x2F,0x78,0x11, -0xF9,0x05,0xA0,0xD2,0x98,0xAD,0x55,0x50,0x6D,0xF7,0x22,0x8B,0xB4,0x1C,0x51,0xFD, -0x85,0x72,0x92,0xBF,0xAE,0x3C,0xEB,0x2F,0x6C,0xDF,0x4A,0x98,0xFE,0x11,0xE5,0xAF, -0xCB,0x56,0x96,0x02,0x95,0x62,0x4A,0x01,0x59,0x03,0xD1,0xB0,0x7F,0x2E,0xF5,0x79, -0x8D,0xD1,0xB8,0xC2,0x49,0xF9,0x62,0x34,0x09,0xBF,0x1F,0xE9,0x66,0xB7,0x64,0xF3, -0x27,0x48,0x84,0x41,0xDB,0xF7,0xBC,0x22,0x06,0xBD,0x22,0xE3,0x2A,0x9B,0xCC,0x0F, -0xA4,0xD9,0xAB,0xDC,0x9B,0x50,0xEC,0xFF,0xC0,0x1A,0x40,0x3A,0xB6,0x73,0xF0,0x77, -0xD3,0x10,0xD7,0xF8,0xF1,0x8A,0x1F,0x2A,0x70,0x10,0xCF,0xB8,0xCC,0x45,0x54,0x90, -0xB4,0x3C,0xC0,0x5B,0x68,0x56,0x55,0x49,0xA0,0x25,0xA3,0xBF,0x31,0x0D,0x60,0x8F, -0xC2,0x67,0x6D,0xB6,0x87,0x21,0x54,0xED,0xFB,0x15,0x2F,0x8A,0x0E,0x6D,0x83,0x0A, -0xE2,0x5E,0x85,0x1C,0x43,0x76,0xE0,0x84,0xE5,0xAD,0x5C,0xF7,0x22,0x24,0x7E,0x87, -0xDB,0xB3,0xFD,0x85,0x0B,0x63,0x38,0xE6,0x23,0x0A,0x3E,0x2E,0x4E,0xB0,0x24,0x5A, -0xFA,0x18,0xC4,0xE6,0x2C,0x4C,0x21,0xDA,0xD1,0xA0,0x0E,0x4D,0xD3,0x9D,0x45,0x34, -0x12,0x60,0x58,0xDA,0x82,0xC1,0x66,0x66,0xC6,0xE3,0xC9,0x01,0x01,0x56,0xEC,0xBA, -0xA3,0x70,0x83,0x9C,0xA6,0x8E,0x63,0x90,0xA5,0x7A,0x15,0x4B,0xEC,0xFD,0xA6,0xB1, -0xEF,0x09,0xF0,0xD7,0x3F,0x52,0x29,0xF3,0x3E,0x14,0x72,0x9C,0xE0,0x0C,0xA9,0x1D, -0xA6,0x84,0xDC,0x2A,0x2B,0x91,0x19,0x5E,0x69,0x80,0xFC,0x6C,0x27,0xAF,0x9E,0xB5, -0xC3,0xF5,0xBC,0x7F,0x8D,0xAE,0xD6,0x5D,0xF7,0xB1,0x2D,0x4F,0x08,0x2C,0x03,0x24, -0x32,0x59,0xB0,0x70,0xEB,0x7B,0x89,0x79,0xCF,0x18,0x7D,0x30,0x42,0x41,0x2B,0xF6, -0xCD,0x6D,0x6F,0x8B,0x90,0x82,0x78,0x8A,0x71,0xC1,0x06,0x2A,0x2F,0x10,0x2C,0x3D, -0x92,0x3E,0xD1,0x78,0x5A,0xE7,0x6A,0x1D,0x97,0x8E,0xCE,0xCA,0x3C,0x39,0x32,0x35, -0xBD,0x0D,0x3B,0xEF,0x4C,0x19,0x50,0xBF,0x1C,0x8B,0x2E,0xF8,0x62,0xF9,0xD9,0xD7, -0x95,0x97,0xF9,0x38,0x98,0x30,0xF0,0x35,0xBC,0xEA,0x26,0x9F,0xF6,0xAE,0x57,0x27, -0x38,0xA7,0xED,0xFB,0xBA,0xFF,0xDB,0x82,0x42,0xE4,0x14,0x39,0x47,0xCA,0xCB,0xC4, -0x3D,0x53,0xB2,0x4D,0x6C,0xEB,0x71,0x07,0xF4,0x17,0x12,0x80,0xA1,0x14,0x53,0x5B, -0xA2,0xE2,0x52,0x55,0xF2,0xEA,0x03,0xE0,0xF1,0x48,0xA4,0x74,0x89,0x13,0x13,0xF2, -0xA1,0x2D,0xF4,0x6A,0xF3,0xB7,0x15,0x25,0xE1,0x23,0x23,0x91,0xC2,0xBB,0x66,0x36, -0xC8,0x99,0x30,0x3D,0x1E,0xFD,0x1E,0x8E,0x72,0x67,0x39,0xE5,0xE5,0x87,0x49,0x2F, -0x62,0x00,0x0C,0xBE,0x20,0x43,0x8D,0x2B,0x55,0xA7,0xD3,0x75,0xC8,0x0B,0xE9,0xB4, -0x51,0x13,0x29,0xAC,0x9E,0xB0,0xDE,0x74,0x1A,0x72,0xA7,0xC3,0x88,0xD6,0x4E,0xE4, -0x30,0x04,0xC7,0x86,0x78,0x28,0x41,0xAA,0x88,0xE7,0x74,0x25,0xD9,0x2D,0xCA,0xB6, -0x02,0x85,0x33,0x5D,0x7E,0xA8,0x6F,0xEB,0x60,0x7B,0x48,0x5D,0xC6,0xF5,0xDB,0x12, -0x81,0x14,0x1C,0xC0,0xCD,0x09,0x86,0x80,0x7F,0x12,0xF2,0xB2,0x40,0x4E,0x16,0xFC, -0x77,0x11,0x38,0x8F,0x8C,0xF3,0xC0,0x98,0x19,0xD4,0x98,0x0C,0x02,0x9C,0x8C,0xA6, -0x1F,0x37,0x2D,0x11,0xA9,0xE1,0xD3,0xAB,0xDD,0x04,0x0C,0x88,0xB7,0xB6,0xAD,0x61, -0x9F,0x69,0xA4,0xB3,0x11,0x92,0xAE,0xB5,0x37,0xEF,0xC6,0xAD,0x35,0x43,0xDD,0xAB, -0xE4,0x65,0x7C,0x95,0xD5,0xC5,0x1A,0xDC,0xB3,0xE8,0x1B,0x95,0x99,0xF0,0x6D,0xE6, -0xD4,0xB9,0xFF,0xB8,0x6A,0x6B,0x5F,0x46,0xF6,0x60,0xE4,0xDD,0xAA,0x61,0x81,0xCF, -0x29,0xD0,0x57,0xB5,0x65,0x04,0xEF,0x7D,0x15,0x70,0x9A,0xC9,0x37,0x4C,0xE0,0xA1, -0x8F,0x8C,0xCF,0x34,0xD8,0x97,0xA0,0xE8,0x3C,0x63,0x84,0xC1,0x6B,0x83,0x36,0x49, -0xAD,0xE8,0x50,0x68,0x69,0x0B,0x43,0x8C,0x68,0x51,0x35,0xFE,0x93,0x40,0xE2,0x64, -0x5F,0x8B,0xFA,0x58,0x9C,0x8D,0xD4,0x7B,0x28,0x86,0x7C,0x42,0x94,0xC4,0x3F,0x5C, -0x33,0xCB,0x61,0xB9,0xCE,0x69,0x9A,0x4A,0xEE,0x21,0x1E,0x9B,0x54,0xE3,0xD5,0xCC, -0x6E,0xC5,0xA8,0xBC,0x28,0xF1,0x05,0x94,0x9A,0xFB,0x05,0x9D,0xE6,0x4D,0x29,0x33, -0xEC,0xC6,0x56,0xE8,0x13,0xAF,0xA4,0xBA,0xBE,0x9D,0xD0,0xC2,0x76,0x54,0x1A,0xE7, -0xB8,0xF9,0x64,0x59,0xB3,0x10,0x45,0xF8,0xCE,0xC9,0xB4,0xA2,0xE2,0x03,0x94,0x17, -0xB1,0xC8,0x9F,0xED,0xFC,0xD8,0xA5,0x1E,0x53,0x5E,0x5A,0x4E,0x39,0xB2,0xD2,0x07, -0x0E,0x40,0x97,0x5F,0x4A,0x99,0x7E,0xFE,0xD9,0x8A,0x73,0xEE,0xBE,0xCC,0x42,0xFF, -0x52,0xDC,0x8F,0x93,0x24,0xFE,0xA9,0x65,0xFC,0x3D,0x6F,0x23,0xA5,0x5A,0xEE,0x7F, -0xA9,0x8E,0xDE,0x17,0x5D,0x3A,0x52,0x99,0x48,0xB9,0x9F,0xC7,0xD2,0x58,0x18,0x22, -0xD8,0x7C,0x5B,0xBA,0x73,0xFA,0xD5,0xDF,0xD2,0x06,0x31,0x82,0x0D,0xA7,0xE3,0x16, -0x63,0x92,0xDD,0x77,0x26,0xC3,0xA3,0x6A,0xC7,0x32,0x00,0x93,0x5F,0x96,0x07,0x58, -0x4F,0x6E,0x91,0xDF,0x1B,0x1D,0x2C,0x05,0x00,0x44,0xAB,0xD8,0x2E,0xD5,0x71,0x2B, -0x36,0x3F,0x3E,0x0F,0xAC,0x01,0xE1,0x20,0xD0,0x71,0xC7,0xDF,0xB4,0x7C,0xCD,0x7D, -0x93,0xAC,0x00,0xB1,0x16,0x4F,0x96,0x31,0xE7,0xDA,0xAA,0xAA,0xCA,0x04,0xD4,0xBE, -0x44,0x02,0x1D,0x9D,0x79,0x75,0x57,0x6F,0xC1,0xCB,0x89,0xA8,0xE9,0x76,0x46,0x83, -0x21,0x73,0x7D,0xC8,0x9A,0x0D,0xFA,0x3A,0x78,0x3A,0xB2,0x1B,0xBB,0x47,0xA2,0xCD, -0x89,0xB7,0x36,0xBD,0x09,0x5E,0x32,0xE9,0xD7,0x59,0x87,0x76,0x0F,0xA8,0xDE,0x1C, -0xC9,0x0B,0xE1,0xF4,0x4F,0x79,0x4C,0x75,0xB9,0xB5,0x90,0x6B,0x4D,0x7A,0x44,0x46, -0x18,0x9E,0x05,0x51,0x55,0x88,0xDA,0x26,0x91,0x77,0x47,0xF1,0xEE,0xF2,0x9B,0xBB, -0x57,0x28,0xD0,0x25,0x5C,0x67,0x44,0x5C,0x5B,0x74,0x27,0xED,0x53,0x67,0x08,0xF4, -0xC5,0xCE,0x45,0xF6,0x07,0x6C,0x94,0x17,0x16,0xD6,0xA5,0x06,0x46,0x0F,0x96,0xD2, -0x08,0x7B,0x6E,0xD6,0x41,0x4B,0xEA,0x8B,0x50,0xF8,0x65,0x81,0x34,0x86,0x80,0xBD, -0x4B,0x08,0x1F,0xA0,0xAF,0x61,0xFD,0xEA,0x9E,0x75,0x7A,0xFB,0x19,0x0A,0x20,0x26, -0xAC,0x7A,0x81,0xA1,0xF7,0x0A,0x31,0x6B,0x3F,0xC5,0xBB,0x0E,0xC3,0x7E,0x3B,0x20, -0x64,0x3B,0xF5,0x37,0x4B,0xC4,0x68,0x3B,0x1B,0xA3,0x6E,0x51,0xA2,0xDE,0x33,0x47, -0xB9,0x36,0x89,0x1B,0x2E,0xFA,0x6C,0xFC,0xF0,0x35,0xCC,0x76,0x0D,0x2D,0xCB,0xF2, -0xA3,0xA5,0xFD,0x5F,0x37,0xDD,0x50,0xD3,0xA7,0x81,0x08,0x1F,0x06,0x67,0x26,0x59, -0x49,0x82,0x6D,0x9F,0xAC,0xF0,0xDC,0x73,0x24,0x18,0x34,0xB5,0x95,0xD9,0x18,0xFC, -0x3D,0xCD,0xDB,0x4A,0xFC,0xB0,0x01,0xD4,0x36,0x0B,0x11,0x86,0xC6,0x2A,0xA6,0xA3, -0xEE,0x5F,0x3D,0xDF,0xAE,0xE1,0xFA,0x50,0x1C,0x1C,0xFF,0xE7,0x59,0xB2,0x40,0x7D, -0xD2,0xB7,0x45,0x43,0x0A,0xFE,0x22,0x41,0xC7,0x9D,0x0B,0xD5,0x77,0x32,0x46,0x3C, -0x68,0xA8,0xAA,0x2A,0xE4,0x78,0x99,0x8C,0x5A,0x0C,0x24,0x56,0x9E,0x93,0xF5,0x57, -0x02,0xCE,0x14,0xEC,0xBE,0x3A,0x4B,0x16,0x15,0x09,0x00,0xA0,0xD8,0x69,0xB4,0x4F, -0xE7,0x18,0x28,0x20,0xEE,0x7A,0x96,0xB1,0xEA,0x41,0x88,0xE5,0x91,0xE1,0xD3,0xAE, -0x9C,0xA6,0x32,0xF9,0x25,0x17,0xC7,0xB6,0x11,0x75,0x57,0x1A,0x60,0x18,0xA8,0x5D, -0x54,0x40,0xD2,0xB6,0x2D,0x04,0xEE,0xA8,0xE2,0x26,0xE9,0x45,0x72,0x7D,0x62,0xCA, -0xB4,0xCB,0xE0,0xB3,0xCF,0x5A,0x2E,0x43,0x75,0x15,0x03,0x6A,0x48,0x83,0x74,0x68, -0xBC,0x6B,0x87,0xD2,0x3F,0xCE,0x79,0xCD,0xA2,0x8F,0xC1,0x42,0xE8,0xAA,0xA0,0xE2, -0x8E,0x95,0x21,0xDC,0xDC,0x7F,0x1D,0x51,0x61,0xBF,0xD5,0xEF,0xC3,0x65,0x82,0x55, -0x88,0x23,0x98,0x2F,0x43,0x99,0xC3,0xC9,0xD7,0x4B,0x8A,0xEA,0x69,0x71,0x54,0xD0, -0x3E,0x26,0x6C,0x70,0xEA,0xB1,0xC4,0x89,0xCF,0xFA,0x6A,0x75,0x1B,0x70,0xCA,0x37, -0xC6,0x32,0xEF,0x95,0x9F,0x1A,0xF3,0xE4,0x86,0x46,0xBD,0x35,0xF8,0xEC,0x7B,0x53, -0xA4,0xF4,0x36,0x32,0x42,0x76,0x67,0xBE,0x1F,0xAB,0xC5,0x0C,0x20,0xF9,0x33,0x31, -0x94,0x06,0x55,0x98,0x2C,0xEB,0x4A,0xDF,0x7C,0x00,0xFC,0x2D,0x39,0xD6,0x14,0x0D, -0x53,0x11,0x19,0xDB,0xA2,0x39,0x81,0x76,0x40,0x78,0x60,0xC5,0x7E,0x5B,0xBA,0xB1, -0x8F,0x72,0x53,0x42,0xA9,0xD4,0x2A,0x3C,0x06,0x68,0xBB,0x74,0x7B,0x14,0x9E,0x47, -0xE8,0xE9,0x84,0x2C,0x05,0xD8,0xDB,0x33,0x4D,0x11,0xC8,0x38,0x31,0xC8,0x07,0x24, -0x66,0xBE,0x74,0xB8,0xAD,0x1F,0x78,0x04,0xB0,0x9C,0xE4,0x71,0x01,0x0B,0x13,0x89, -0xB7,0x20,0x57,0x89,0x3C,0x30,0xFB,0x99,0xE5,0xED,0x84,0x14,0xCE,0x34,0xB5,0x8A, -0xD0,0xBB,0x80,0xE7,0xB7,0xC6,0xC6,0x7F,0x25,0x6A,0xAA,0x52,0xF3,0xA6,0x96,0xF8, -0x4B,0x8E,0xA8,0x3B,0x61,0x47,0xF9,0x6F,0x98,0x4E,0xAE,0x1C,0x52,0xF8,0xAD,0xD6, -0x85,0xDE,0xF1,0x87,0xEB,0x5E,0x60,0xFE,0x58,0xC9,0x80,0x5A,0x7A,0x63,0x71,0xE3, -0xB8,0xD1,0xFB,0x85,0x17,0x12,0x4C,0x56,0xDB,0x50,0xBC,0xF0,0xA4,0x6D,0xE3,0xF5, -0xDA,0x17,0x22,0x22,0x6F,0x8E,0xA4,0x6A,0x46,0xC1,0x93,0x73,0xF4,0xCA,0xA3,0x28, -0x55,0xA7,0xA0,0x28,0x88,0xF4,0x92,0xCE,0x62,0x08,0xEF,0x04,0x07,0x10,0xC9,0xFD, -0x39,0x77,0xA7,0x1D,0x97,0x09,0xDA,0xFA,0xC1,0x24,0xF8,0x63,0x4D,0xCC,0x50,0x9E, -0xB5,0x2C,0x92,0x2D,0x12,0x36,0xBA,0x19,0x2C,0x7F,0x55,0x15,0x4C,0xBB,0xBF,0x3A, -0x0A,0x6E,0x73,0x8D,0x5E,0x75,0xAD,0xDE,0x6E,0x13,0xD9,0x1E,0x54,0xE3,0x77,0xA2, -0xDD,0x46,0xE9,0x4F,0xA3,0xD6,0x25,0x01,0xCB,0x86,0x3D,0xCF,0xC2,0x12,0x6D,0xF1, -0xBD,0x8C,0xF5,0x4C,0xEC,0x6B,0xB0,0x92,0xBF,0x30,0xE8,0x80,0x5C,0xFD,0x64,0x8B, -0x3F,0xC1,0x1E,0xEE,0xCA,0x7E,0xD8,0x0C,0x6C,0xD6,0x7D,0x12,0x8C,0xF6,0x3F,0xC0, -0xFF,0x87,0x99,0xC0,0xA5,0x0C,0x51,0x1A,0x4C,0x63,0x56,0xDF,0xF2,0xD1,0x79,0x5C, -0xE0,0x49,0xE3,0x4D,0x3E,0x21,0xDD,0xBA,0x3A,0x10,0x27,0x9C,0xE5,0xFB,0x97,0x3D, -0x21,0xE8,0x16,0xFD,0x38,0xFB,0xA9,0xA1,0x3B,0x62,0xB9,0x7B,0x29,0x90,0xCF,0xBC, -0xF4,0xCC,0x49,0x9B,0x5F,0x9A,0x09,0xA9,0xAD,0x23,0xCD,0xB3,0x70,0x5E,0x73,0xEC, -0xAB,0x05,0x9A,0x3E,0x0E,0x35,0x70,0x79,0x20,0x64,0x63,0x0F,0xCD,0x60,0x4B,0x08, -0x9A,0x10,0x8B,0x0A,0x40,0x67,0x41,0x9D,0xED,0x8A,0xE5,0xB4,0xBB,0x59,0x1E,0xBD, -0x31,0xD7,0xC0,0x7C,0x33,0x16,0x02,0xEB,0x45,0x76,0xA9,0x98,0x34,0x87,0x23,0xD2, -0x5D,0x07,0xC7,0x49,0x65,0x8C,0xAB,0x57,0x95,0x27,0x06,0xE1,0xF9,0x9B,0x94,0xF7, -0x30,0x30,0xB2,0xE2,0xA6,0xF2,0xD3,0x4E,0x2B,0xB4,0x38,0x44,0x8E,0xD5,0x2E,0xE6, -0x13,0x16,0xB0,0xF3,0x9B,0xD1,0xA1,0xDC,0x07,0x1A,0x25,0x93,0x4F,0xEF,0x41,0xB8, -0x28,0xAF,0x03,0x02,0xD5,0x83,0x90,0x38,0x52,0x6B,0x45,0xF6,0xE2,0x97,0xA2,0xED, -0x1D,0x00,0x6E,0x61,0x04,0x37,0x7F,0x44,0x27,0xAF,0x0E,0x5E,0x2A,0xC4,0x31,0x3E, -0x84,0x39,0x83,0x19,0xD4,0x6C,0x34,0x4F,0x23,0xD3,0x59,0xE4,0x82,0xF3,0xF6,0x9D, -0x9F,0x4D,0x85,0xC3,0x2B,0xDE,0x9A,0xB3,0x26,0xDD,0x90,0xB9,0x1D,0x6B,0x10,0x43, -0x4A,0x69,0xDA,0xA5,0xFF,0x4E,0x83,0x80,0x72,0xDE,0x6E,0x3B,0xBC,0x35,0x2B,0x6D, -0x2E,0x19,0xBA,0xF1,0x0F,0xDA,0xD4,0x0E,0xC3,0xE1,0x5C,0x6F,0x5D,0x8A,0x8B,0x2F, -0xC0,0x84,0x56,0x66,0x1F,0x01,0x65,0x48,0x77,0xD0,0xA7,0x66,0xBD,0x42,0xC4,0xC9, -0xE9,0x0E,0xF6,0xB2,0xE7,0x86,0x1B,0xD8,0xC5,0x58,0xAF,0xD9,0x66,0x03,0x72,0x29, -0xF5,0x2B,0x3B,0x05,0x67,0x9D,0x8D,0x74,0x09,0xC4,0xB7,0x85,0xB1,0x64,0x1C,0xB2, -0x05,0x9F,0xDF,0x81,0x3A,0xEA,0x8F,0x82,0x8D,0x96,0xE6,0x7E,0x4A,0xA0,0x65,0x4E, -0x96,0x0A,0x90,0x3C,0x79,0x8F,0x61,0x37,0x8B,0x2F,0x15,0xC8,0xCB,0x7B,0x91,0x7C, -0x5C,0xE0,0xB5,0xD7,0xB3,0x0D,0x94,0x47,0x29,0x71,0x9C,0x48,0xB6,0x08,0x29,0x62, -0x81,0x64,0x8D,0xD0,0xFE,0xA1,0x27,0xF7,0x0F,0x7D,0x44,0x33,0x02,0x5F,0xED,0x0B, -0x7E,0x21,0xC5,0x58,0xD7,0x92,0xB6,0x1B,0x22,0xA1,0xC7,0x03,0x47,0xF1,0x52,0x91, -0x00,0xC2,0xD1,0x48,0xB9,0x0F,0x9B,0x7A,0x2F,0xC8,0x6F,0xFE,0xF7,0x9E,0x5D,0xAA, -0x1E,0xEB,0xD9,0x5B,0x51,0x53,0x54,0xAC,0xAE,0x94,0xF7,0x58,0xB8,0x0D,0xE0,0x3F, -0xAF,0xBF,0xE6,0x69,0x7C,0xAB,0x97,0x78,0xF2,0xF0,0x68,0x7A,0x5B,0x91,0x51,0x5B, -0xE6,0xFF,0x5A,0xBE,0x44,0xAC,0x13,0xA5,0xC2,0x93,0xC2,0x88,0xCC,0x17,0xA4,0xAC, -0xE5,0x8E,0x36,0x4E,0xE7,0x87,0x1C,0xE4,0x1B,0x38,0x7C,0x28,0x6A,0x2A,0x98,0x66, -0x13,0x8B,0x12,0x01,0xA6,0x7D,0x5A,0xFC,0x7D,0xFE,0x16,0x96,0x28,0xF8,0x02,0x3C, -0x54,0x9E,0xED,0x08,0x52,0xA6,0xDB,0xCE,0xEC,0xCD,0xFA,0xBF,0xF3,0x49,0x44,0x2C, -0x66,0x1F,0x19,0xD3,0x54,0x26,0xF5,0x8F,0x04,0x51,0xC6,0xC7,0xEC,0x91,0x55,0x88, -0x06,0x9A,0x26,0x30,0x0A,0xCD,0x17,0x4F,0x31,0x8D,0x5D,0xEF,0xE2,0x6F,0x67,0x2E, -0x35,0x89,0x03,0x22,0xB4,0x3E,0x44,0x10,0x7E,0x58,0x29,0x59,0xA2,0xB2,0xC0,0x7E, -0xC5,0xB7,0xDE,0xE4,0xD9,0x39,0x8F,0x41,0x85,0x09,0xAD,0x0B,0xE8,0xDF,0xE8,0xAC, -0xAC,0x03,0x1A,0xB3,0x34,0x73,0x84,0xEA,0x16,0x4D,0xB7,0x7F,0xCF,0xE3,0xC7,0xB5, -0x59,0xC9,0x98,0xC3,0x46,0x65,0xEB,0x63,0x90,0x3D,0x9C,0x1A,0x8B,0x70,0xDD,0xC1, -0xC6,0x78,0x78,0xDB,0xD8,0x64,0x99,0x84,0x95,0x62,0x2A,0xEE,0xA3,0x77,0x9D,0x68, -0xF1,0x0D,0xD3,0xB6,0xB2,0xBE,0x6A,0x51,0xD8,0xC0,0xA8,0x05,0xDC,0xCA,0xD9,0xBD, -0x5C,0x3D,0xC7,0x75,0x90,0x71,0x41,0xE6,0x26,0xCE,0x9A,0xA3,0x6D,0xAE,0x45,0x5E, -0xF6,0xA4,0xFB,0xF6,0x70,0x69,0xF0,0x79,0xF3,0xA4,0x40,0x50,0x16,0x5D,0xBC,0xAF, -0xD9,0x97,0x11,0x61,0x66,0x97,0xCA,0xDB,0x78,0xA1,0xA0,0x62,0x48,0x9D,0x57,0x4D, -0x56,0xC3,0x9A,0xFE,0xC1,0xF5,0x13,0x1D,0xAB,0x32,0xF3,0xAA,0x68,0x25,0xA5,0x6C, -0xA9,0xF7,0x45,0x05,0xBA,0x0C,0xE2,0xEE,0x15,0xEB,0x88,0xB0,0x05,0x74,0xA2,0xA7, -0xC2,0x1E,0xF6,0xA4,0x01,0x1F,0x83,0x3A,0x0D,0xAA,0x72,0xF6,0x0D,0xCB,0x10,0x2F, -0xA7,0x6F,0x96,0xF1,0xA7,0x20,0x4C,0x39,0x93,0x9B,0xA3,0xD5,0x22,0x48,0x8D,0xBE, -0xC7,0xEA,0xA9,0x12,0x8C,0x00,0xF9,0xF4,0xC1,0x50,0x9B,0xD1,0xC6,0x99,0x28,0x2B, -0x8B,0x93,0xDA,0x59,0x15,0xDC,0xB3,0x97,0x5A,0x3E,0xFC,0x06,0xCA,0x68,0x27,0x87, -0x9E,0x82,0xEE,0x68,0x06,0xC2,0xBB,0xBE,0xB5,0x8A,0x80,0xD7,0xF9,0xF9,0xCB,0xAE, -0x76,0xFA,0x72,0x54,0xA8,0x4F,0xFC,0x02,0xA2,0xC9,0x47,0x9B,0x2B,0x32,0x62,0x20, -0x86,0xC4,0xAF,0x92,0x69,0xF8,0x7A,0xE0,0x81,0x87,0xD2,0x6D,0x08,0x40,0xF0,0x1D, -0xBF,0x29,0xD7,0x0B,0x21,0xED,0xA2,0x82,0x47,0x20,0xB0,0xB4,0x64,0xD4,0xAA,0xC0, -0xD0,0xA6,0xEA,0xD5,0x42,0xD8,0xCF,0x2D,0xC4,0x0F,0x2D,0x25,0x1B,0x69,0xEE,0x15, -0xA6,0xFD,0x47,0x38,0xAD,0xAF,0xCE,0x89,0x9F,0x3F,0xA1,0x10,0x24,0x09,0x0D,0x90, -0xC0,0x43,0x81,0x52,0xB1,0xDE,0x76,0x9B,0xA4,0x30,0xCE,0xA0,0x9C,0x17,0x7E,0xED, -0xB7,0x8A,0xFD,0x76,0xDB,0x04,0x85,0x4E,0x14,0x3A,0x41,0x22,0xE6,0x21,0xDA,0x0A, -0xE9,0x4B,0x92,0x4C,0x63,0x77,0xF8,0x50,0x6D,0x95,0x91,0x73,0x4C,0xD3,0xEA,0x69, -0x43,0xD2,0xAE,0xCF,0xF1,0x79,0x26,0x46,0x62,0x97,0xAC,0x79,0x00,0xFF,0x42,0x95, -0xE1,0xE8,0xB8,0x31,0x84,0xB2,0x71,0x4B,0x08,0xF5,0xC4,0x02,0xD4,0x75,0x6B,0x35, -0xAF,0xCC,0xBC,0x8C,0xBF,0xEC,0xD0,0x65,0x3D,0x29,0x5F,0x2A,0x55,0x4A,0x7B,0xE3, -0xC8,0xE0,0xAB,0x2F,0xDD,0x84,0xAB,0x0F,0x5B,0xEF,0x35,0x94,0xE9,0x1A,0xB5,0xBA, -0x00,0xA1,0xDF,0xB9,0x61,0x4A,0xF2,0x5F,0x7F,0x89,0xE0,0xCB,0x88,0xBA,0xBD,0xDD, -0x6C,0xE1,0x44,0x58,0x6B,0xC5,0x70,0xEF,0x34,0xD2,0xEB,0x1B,0x1E,0xE2,0x0E,0x27, -0x2F,0x92,0x35,0x2E,0x85,0xEF,0x67,0x8E,0xFA,0x5F,0xF4,0x61,0x33,0x6E,0xAE,0xBC, -0x33,0xB2,0xFA,0xAB,0x76,0xE9,0xDE,0x38,0x3F,0x5E,0xA9,0x77,0x79,0x03,0x86,0x6E, -0xA1,0x54,0x6F,0x78,0x2D,0xE2,0x0E,0x73,0x72,0xFC,0x2B,0x9C,0x6C,0x6B,0x18,0x48, -0xAD,0x91,0xCB,0x7A,0x65,0xF7,0xD6,0x11,0xDD,0x9F,0x1E,0xF1,0x67,0x1E,0xCA,0xDC, -0x7C,0x04,0x2F,0xDF,0x7F,0x06,0x40,0x42,0xF5,0x5D,0xC9,0x6B,0xC4,0x96,0x15,0x21, -0x45,0xE9,0x57,0x46,0xB0,0x83,0x60,0x5E,0x1C,0x10,0x3C,0x81,0x91,0x23,0x2C,0x57, -0xED,0x2D,0x1C,0x33,0x23,0xD0,0xA8,0x8D,0xB3,0x73,0x09,0xEC,0x25,0xCC,0x50,0x86, -0xF7,0x36,0x2A,0x3F,0x3C,0xC1,0x0C,0x55,0x83,0xF0,0x24,0x30,0xE0,0x60,0x5A,0x24, -0x20,0x98,0x37,0x13,0x53,0xFB,0xCD,0x0B,0xA5,0xE1,0x07,0x32,0xC3,0x12,0xC8,0x19, -0x2B,0xF4,0xBB,0x51,0x31,0x93,0xB6,0x61,0x64,0x6E,0x25,0x42,0x04,0xB1,0xFF,0xB1, -0x52,0xA5,0x14,0x81,0x86,0x8F,0x7B,0x44,0xB4,0x5B,0x49,0x45,0x9E,0x18,0x43,0xE7, -0xBC,0xE6,0x71,0x34,0x59,0x74,0x4F,0xBB,0xB6,0x2C,0xBF,0x18,0x27,0xC3,0x6D,0x8C, -0x07,0x08,0xF7,0xF9,0x0C,0x4D,0x39,0x0E,0xA3,0x18,0x8E,0x09,0x75,0xF2,0x89,0xC2, -0x36,0x46,0xA5,0x1D,0x0E,0x70,0x33,0x01,0x98,0x17,0xE1,0xB9,0x8F,0x3E,0x60,0xE5, -0xCD,0x14,0xF4,0x99,0x77,0xB4,0xC8,0xFD,0x2C,0x93,0x11,0x5D,0xF8,0x3C,0x96,0xB8, -0xD5,0x52,0xB5,0x63,0xD6,0x56,0x3F,0x7A,0x37,0x74,0xD4,0xD4,0x13,0xD6,0x5C,0x9D, -0x6A,0xDA,0xBD,0xD1,0x60,0x17,0xE4,0x9A,0xBD,0xA0,0xFD,0x74,0x94,0xA8,0xCC,0x65, -0x88,0x5C,0x7C,0x66,0x39,0x21,0x3E,0xDE,0xDA,0xB7,0x5E,0x58,0x5C,0x30,0x94,0x7D, -0xDC,0x63,0x4E,0xD7,0x99,0x9E,0xDF,0x9C,0xAA,0xE3,0x3A,0x38,0xC8,0x67,0x1A,0x8D, -0x57,0x51,0x4B,0x37,0xE4,0xE7,0x00,0x2E,0x8A,0x0B,0x90,0x01,0x7E,0x87,0x5B,0x56, -0x0A,0x5F,0x82,0x32,0x02,0x7F,0x9F,0xF0,0xFE,0xD1,0x8B,0x07,0xCC,0x29,0xA7,0xA9, -0xC9,0x72,0x7A,0xE6,0x43,0x85,0xD9,0xE8,0x0C,0x7B,0xBB,0x64,0xB9,0x24,0x6C,0xFE, -0x3B,0x11,0xD0,0xD6,0xB6,0x03,0x4E,0x1F,0x4C,0xAC,0xF2,0xD8,0xBE,0xA0,0xB1,0xC6, -0x4D,0x4A,0x7D,0x3B,0x4F,0x8A,0x75,0x19,0x71,0x5A,0x14,0x53,0x1D,0x28,0x6E,0x3B, -0xEB,0x16,0xE5,0xBA,0xF2,0x19,0x3A,0x8C,0x58,0x49,0x0A,0x5B,0x41,0xE7,0xB8,0xD3, -0x80,0xFF,0x56,0x1B,0xFF,0x4B,0x80,0xB8,0xD7,0xC2,0x95,0x0F,0xB3,0x94,0xE3,0x7C, -0xB0,0x23,0xD5,0x36,0x40,0xE5,0xC5,0x22,0x92,0x4A,0x6A,0x47,0x80,0x05,0x0F,0x55, -0x7B,0xAD,0x07,0x9F,0x83,0x6F,0x49,0xCF,0xB9,0x2E,0x82,0x12,0x9D,0xD2,0x23,0xFB, -0xFB,0xF3,0x8E,0x3D,0x3B,0x1C,0x34,0xD1,0x53,0xC5,0x48,0x37,0x1F,0x27,0x53,0x31, -0xDB,0xF3,0x97,0xEE,0x1C,0x18,0xCE,0x3D,0x60,0x0A,0x19,0x0B,0x7E,0x7A,0x5D,0x98, -0x42,0xCA,0x7A,0x96,0xC4,0x50,0xAC,0x28,0x02,0xD3,0xBE,0xCD,0xA3,0x20,0x31,0x0C, -0x84,0x3A,0x44,0x4B,0x42,0x91,0x4E,0x9F,0x97,0x25,0xF0,0xEE,0x9E,0xB2,0x12,0x7E, -0xB8,0xD2,0x3C,0xD7,0x05,0x3F,0xF2,0x12,0x50,0x69,0xB3,0xF9,0x10,0x1B,0xC0,0xB5, -0x89,0xC7,0x2D,0xE3,0x0D,0x2C,0xDB,0x0C,0x2C,0xB8,0x07,0x16,0x39,0xF7,0xF3,0x24, -0xC2,0x8B,0x54,0x90,0x47,0xB5,0xB8,0xD0,0x4B,0x6F,0x69,0x8D,0x95,0xF8,0xFF,0xD5, -0x21,0xEB,0xD1,0xAF,0xF2,0x9E,0x75,0xF0,0x73,0x6B,0xA2,0xDF,0x00,0x5D,0x1B,0x04, -0x74,0x8E,0xA0,0xCF,0x3D,0x38,0x76,0xCF,0xA2,0x48,0x93,0x41,0x91,0xC0,0x34,0x87, -0x5C,0xE3,0x72,0x85,0x6E,0x86,0x29,0x3C,0x8F,0x94,0x10,0x71,0x5D,0xAB,0x6C,0x06, -0xE1,0xAD,0x56,0x81,0xCF,0xBD,0x07,0x62,0x14,0xBC,0xCC,0x44,0x8B,0xBB,0xED,0x39, -0x1F,0x0F,0x6C,0x97,0x98,0xC8,0x0A,0xA9,0x7C,0xC7,0xAE,0x2E,0x2B,0x92,0x39,0xB3, -0x9C,0xA5,0xF5,0xAB,0x46,0x5A,0x1C,0xA7,0x41,0xCD,0xAC,0x21,0xD7,0x3A,0x75,0x9F, -0xA6,0xFB,0x34,0xC4,0x3B,0xE2,0x02,0xD4,0x91,0x9C,0x03,0x58,0xB4,0x0A,0xDF,0x6D, -0x82,0x8C,0xFD,0xB8,0xC8,0x88,0xD7,0x0E,0x1E,0x1E,0x09,0xE8,0x53,0xAE,0xA5,0x5B, -0xE8,0xEA,0x43,0x7E,0x70,0x94,0xC5,0x7F,0x71,0xAE,0x06,0xD3,0x2E,0xDD,0x1D,0x45, -0x05,0x9C,0x18,0xD3,0x71,0x7B,0x61,0x08,0xFD,0x9B,0x36,0x88,0xAB,0x3E,0x22,0x25, -0x63,0xE0,0xBD,0x23,0x3A,0x0D,0xA6,0xA3,0x67,0xC1,0x74,0x5A,0x0B,0x17,0xF6,0xAF, -0x34,0x89,0x09,0xE7,0x31,0xE0,0x0D,0xE9,0x7D,0xB5,0x30,0xC9,0x12,0x38,0xD1,0x93, -0xF2,0x79,0x37,0x3A,0xFA,0x8D,0x5C,0xEE,0xF9,0xE7,0x61,0x32,0xC0,0x10,0x9B,0xFE, -0xE0,0x4A,0x24,0x1F,0xA9,0x33,0x03,0x1D,0x8D,0x51,0xB4,0x7D,0x90,0xB7,0xDB,0x23, -0x03,0x2A,0xA1,0x20,0x4B,0x6D,0xC3,0xF6,0x16,0x79,0x68,0x48,0x36,0x85,0xD5,0xDD, -0xD8,0x18,0x20,0xD4,0x65,0x6B,0x82,0x76,0x2A,0x01,0xF4,0xA0,0x92,0x94,0xCA,0x05, -0xD1,0x5F,0x35,0x2B,0xE4,0x9F,0xB0,0xAD,0xC6,0x28,0xC7,0x31,0x82,0xD2,0x11,0xB4, -0x9E,0xA9,0x30,0x0F,0xA2,0xDE,0xA8,0x57,0xAC,0x96,0x01,0x57,0xD8,0x48,0x53,0x66, -0xD5,0xE5,0x49,0x7C,0x5C,0x83,0xA2,0xDC,0x58,0x0E,0xD2,0x59,0x19,0x72,0x3C,0x38, -0x2E,0x1A,0x7D,0xA3,0xAD,0xF8,0x51,0x25,0x23,0x14,0x0B,0xE7,0xD2,0x75,0x51,0x69, -0xB1,0x95,0x29,0x28,0x74,0x5F,0x97,0x47,0x70,0xDC,0x98,0x34,0xF3,0x87,0x71,0xD1, -0x26,0xBA,0x1A,0xC2,0x4E,0x49,0x35,0xB9,0x90,0xEE,0x9D,0xBF,0x11,0x6C,0x2F,0x11, -0xA5,0x10,0x83,0xFE,0xFF,0xA9,0xAA,0xA1,0x4A,0x1D,0xF7,0x6A,0xE0,0x95,0x54,0xE2, -0x66,0xBD,0xB3,0xEA,0xD4,0x8B,0x1D,0x6E,0x78,0xBB,0xF9,0x94,0x03,0x09,0xE5,0x86, -0x0B,0x8A,0xC6,0x41,0x27,0xE1,0xC8,0xB4,0xFA,0x50,0x5B,0xD9,0xD6,0x4D,0x9A,0x3B, -0x13,0x15,0x77,0xA1,0x55,0x7F,0x2F,0xB5,0x4C,0xA4,0x04,0xDC,0x7F,0x0D,0xB2,0x3C, -0xE2,0x46,0xE1,0xBB,0x21,0x3B,0xBC,0xAF,0x5B,0xB9,0xE8,0xB2,0x17,0x77,0xF5,0x65, -0xE7,0x1B,0xEF,0x72,0xBE,0xDD,0x62,0x37,0x40,0xBF,0x32,0xC6,0xE8,0x8B,0x47,0xCB, -0x07,0x90,0xDD,0x77,0x61,0xA0,0xD0,0x4E,0xEA,0x86,0xDA,0xE6,0x33,0xCA,0xF1,0x2B, -0xB6,0xC4,0xE2,0x45,0x80,0x00,0x92,0xF1,0x8E,0xE6,0x8E,0x96,0xC3,0x44,0x65,0x7C, -0x01,0x26,0x64,0x84,0x5A,0x59,0xD6,0xC7,0x2D,0xCA,0x99,0xF1,0xDB,0x1C,0xAD,0xE4, -0xB3,0x99,0xEC,0x8C,0x81,0xEF,0x36,0x86,0x04,0x6A,0x4D,0x7B,0x23,0x8C,0x2A,0x9A, -0x49,0x81,0xAA,0xCD,0x76,0x4E,0xB1,0x64,0xC1,0xE3,0xAA,0x60,0x06,0x46,0xC1,0x70, -0xCD,0x7A,0xF8,0x9C,0x8D,0x37,0x4D,0xA0,0x31,0x07,0x2E,0xD4,0x5B,0xB0,0xB6,0x72, -0xED,0xB7,0x4D,0xB7,0x8A,0x02,0x9D,0xCC,0x98,0x89,0xFC,0x1F,0x8F,0x83,0x26,0x6B, -0x4F,0x37,0x13,0x3E,0xF7,0xBA,0x83,0xBF,0x52,0xAC,0x17,0xF5,0x45,0xF3,0xA4,0x9E, -0xE6,0xFC,0x9D,0xEC,0x7B,0x79,0x6E,0x35,0xBA,0xF9,0x73,0xDE,0xEB,0xDF,0xB9,0x49, -0xCB,0xCC,0x41,0x6F,0x3E,0xC6,0xF4,0x9B,0x45,0xB1,0xFB,0x9B,0xC2,0x33,0x8A,0xD8, -0x6A,0xA7,0xA8,0xDC,0x84,0xCB,0xC0,0xC9,0xDA,0xE5,0x70,0x14,0x6D,0x68,0x78,0xAB, -0xEB,0x01,0xF4,0x44,0xCB,0x76,0x55,0x5A,0xC4,0xED,0x63,0x3D,0x85,0xBE,0x24,0x64, -0x06,0x77,0xAF,0xE9,0xF0,0x8F,0x53,0xD3,0x22,0x66,0x95,0x00,0x78,0x61,0x87,0xEC, -0x36,0x85,0xCC,0x43,0x67,0x7A,0xA4,0x55,0x6B,0xDA,0x42,0x40,0x40,0xBC,0x80,0x68, -0x0F,0x30,0xBA,0x16,0xFE,0x46,0x0E,0xD6,0x19,0xD5,0x64,0xB9,0x9F,0xC5,0xFD,0xDA, -0xAA,0xE1,0x2F,0xF2,0x68,0x5C,0x5D,0x27,0xCE,0x4F,0xA6,0x91,0x62,0x1A,0x5E,0x52, -0xA8,0xED,0xEA,0x56,0xB0,0x14,0x3F,0x32,0xFB,0x22,0xC5,0x3E,0xF6,0xC8,0x55,0x27, -0x7B,0x7F,0x0C,0xC3,0x60,0x4F,0x74,0x39,0x79,0xC9,0x67,0x73,0xD0,0x56,0x40,0x4F, -0xFE,0x63,0x2C,0x0C,0xD9,0xBC,0xC2,0x3F,0x24,0xDF,0x66,0xB6,0x02,0x7E,0x0A,0x22, -0x88,0x20,0x5F,0x7D,0xCE,0x52,0xA3,0x15,0x3B,0xA5,0xEB,0x78,0x99,0xDE,0x27,0xAE, -0x69,0x4C,0x1F,0xE6,0x4C,0x58,0x13,0x9A,0x30,0x75,0xB0,0x33,0x63,0x6D,0xB1,0xF6, -0xFF,0x84,0x5E,0x92,0x15,0xE4,0x43,0x54,0xE5,0x2A,0xD6,0x17,0x04,0x65,0xD0,0x56, -0x29,0x4B,0xB6,0xCE,0x87,0x35,0x42,0x9D,0x5E,0xB7,0x21,0xEF,0x7C,0x59,0x4C,0xBE, -0xE4,0xF0,0x58,0x48,0xF1,0x60,0xF7,0xA4,0x6F,0xA6,0x15,0xFA,0x32,0xBD,0x1E,0x8F, -0x51,0x1E,0x1B,0x2D,0xC5,0xBF,0x08,0x5F,0x99,0xFB,0x62,0xF8,0x59,0x93,0xA7,0x54, -0x81,0x67,0x4A,0x82,0x08,0x08,0x2D,0x43,0xF5,0xFC,0x57,0x28,0x0F,0x2F,0x3D,0xFD, -0xC3,0x6C,0x26,0x0E,0x73,0x6A,0x47,0x2B,0xD7,0x8C,0xD8,0xE9,0xA7,0x18,0xFA,0x5E, -0xEF,0xBB,0x88,0x13,0xB2,0x05,0x19,0x11,0xF4,0x8E,0xC9,0xCF,0x9A,0x8A,0xD9,0x2C, -0xE3,0xA1,0x93,0x25,0x16,0x1A,0xC1,0x00,0xD9,0x52,0x4A,0xFF,0x38,0x80,0x1C,0x80, -0x96,0x09,0x57,0x6E,0xDE,0x89,0x12,0x53,0xEC,0x3F,0x29,0x50,0xE9,0xFC,0xA8,0x6F, -0x72,0xF6,0x68,0x8B,0xA9,0xE4,0xA8,0x48,0x1F,0x1D,0x20,0xC1,0x90,0xE2,0x0C,0x88, -0x06,0xB9,0xDE,0x5E,0xF9,0xA4,0x75,0xEF,0x0D,0x0E,0x05,0xF2,0xC3,0x11,0xB2,0xD7, -0x82,0x42,0x8C,0x0F,0x2B,0xEE,0x18,0xC7,0xCB,0x30,0xD8,0x02,0x08,0x16,0xDF,0x86, -0x98,0xD1,0xF8,0x4B,0x32,0xC9,0x24,0xE8,0x9C,0x84,0x1C,0x6B,0x03,0x5C,0x32,0x2D, -0x53,0xDC,0xAF,0x3E,0xE1,0x6C,0xED,0xB7,0x61,0x09,0x30,0x22,0x9B,0xA8,0xE1,0x23, -0x39,0xBA,0x11,0xF8,0xBB,0x2E,0x3F,0x2D,0x2E,0x0C,0x14,0xD4,0xDD,0x52,0xA0,0x3B, -0xD5,0x2B,0x38,0xCB,0xAB,0xF5,0x8E,0x6B,0x27,0x19,0xEB,0x93,0x5C,0x89,0x54,0x09, -0xE9,0xC3,0x40,0x57,0x0F,0xEA,0x56,0x7A,0xFC,0x98,0x1F,0xA1,0x72,0x09,0x52,0x48, -0x6F,0x34,0xD7,0xA2,0x28,0x10,0x9A,0x93,0xD9,0x23,0xFD,0x31,0x77,0x46,0x76,0xBE, -0x8F,0xBF,0xE5,0xA7,0xCA,0x4E,0x5A,0x78,0x4E,0x10,0x17,0x1E,0x4D,0xB8,0x60,0x1C, -0xDC,0x6C,0x2D,0x34,0xEB,0x6E,0xE2,0x8A,0xD1,0x44,0x9C,0x91,0x94,0xDA,0xC7,0xDA, -0xA7,0xD2,0x37,0xED,0x20,0x03,0xB3,0x8D,0x2A,0x70,0x43,0x6E,0x65,0x23,0xBC,0x29, -0xB3,0x57,0x9D,0x3B,0x46,0x8D,0xB7,0xF2,0xEC,0x4E,0x9E,0x9E,0x6C,0x4A,0x40,0xA4, -0x05,0x52,0x69,0x64,0xEF,0xA5,0xB0,0xB2,0xF4,0xFF,0x7E,0x01,0x1E,0x4B,0xDE,0x43, -0x87,0x1F,0x82,0xC6,0x3A,0xDA,0x0D,0xF6,0x99,0x8A,0xD5,0x36,0xED,0x91,0xB4,0x96, -0xB5,0xE1,0x24,0xC8,0xD9,0x6B,0x69,0x6A,0x5A,0xBA,0xC1,0x9B,0xC6,0x5E,0x96,0x21, -0xAF,0x72,0x50,0x8C,0x29,0xFF,0x3E,0xE4,0x47,0x05,0xE8,0x59,0x3C,0xED,0x00,0x79, -0x68,0x65,0x1C,0xCF,0xA7,0x2D,0xF5,0x4D,0x7B,0x7D,0x74,0xB1,0x7B,0x60,0xAE,0xC5, -0xFD,0x46,0xEA,0x81,0x9A,0x0E,0x87,0xDF,0xBD,0x43,0xA9,0x41,0xFD,0xD7,0x6F,0x27, -0x9F,0x80,0x33,0x26,0x47,0x62,0x13,0x85,0x24,0xAE,0xD1,0x78,0x25,0xC2,0x27,0x45, -0x5D,0xCA,0x71,0xAC,0xA8,0x0B,0x0C,0x3F,0x8B,0x99,0xF0,0x05,0x04,0x30,0x07,0xFD, -0x8C,0x54,0x52,0x9D,0x39,0x24,0x8F,0xA2,0xDE,0xE8,0x90,0x60,0xCB,0x0F,0xA1,0xFE, -0xB4,0x06,0x56,0x56,0xAC,0xC0,0x5E,0x07,0x3D,0x6D,0xAF,0x00,0x7E,0x2F,0x8A,0x33, -0xD3,0x9D,0x81,0x38,0x00,0xCC,0xAF,0x08,0x76,0x14,0xDC,0x4C,0x34,0xF3,0x13,0x50, -0xBE,0xAA,0xF4,0x93,0xEE,0x4A,0x14,0xC5,0x63,0xCC,0x94,0x2E,0x7F,0x58,0x65,0x97, -0x83,0xA5,0xFE,0x91,0x12,0x06,0x38,0x6D,0xE0,0x55,0xA8,0x84,0xA1,0x56,0xF7,0x81, -0xEB,0xCF,0x85,0xF3,0xB2,0xD2,0xB2,0x44,0x1E,0x6F,0xBE,0x26,0xF6,0x9D,0x82,0x8C, -0x70,0xFA,0xAD,0x2F,0x64,0x53,0x8D,0x54,0xA3,0x4B,0xBA,0x68,0x57,0xC3,0xB9,0xA2, -0x02,0x03,0xA2,0x09,0x92,0x1D,0xAE,0xC1,0xFA,0x21,0xEC,0x17,0x48,0xF7,0x44,0xEA, -0x8E,0x58,0x97,0x39,0x17,0x22,0xCE,0x22,0x17,0x7A,0x41,0x61,0x49,0x80,0xAB,0x4E, -0xE1,0x63,0x27,0x36,0x6A,0x9A,0xD0,0x51,0x7D,0xC4,0x87,0x07,0xF1,0xF1,0xB7,0x5C, -0x6E,0xD3,0xA5,0x3C,0x8D,0xE0,0xE6,0xF5,0x59,0x0D,0xFB,0x70,0x02,0x2B,0xDD,0x89, -0x86,0xF8,0xF0,0x58,0xE9,0x7F,0xC4,0xA9,0x84,0x35,0xFC,0xF4,0x59,0xC6,0x70,0xFF, -0x04,0xB5,0x1B,0xFA,0xCF,0x6A,0xAC,0x37,0x57,0xD3,0x69,0x66,0x89,0xCD,0x2B,0xB4, -0x31,0x1A,0x76,0x99,0x5B,0x61,0xD9,0xE5,0x55,0x16,0xCD,0x6A,0x51,0xD8,0x63,0xD6, -0xE6,0x32,0xEC,0x5B,0xA6,0xC2,0x51,0x3A,0xF0,0x83,0x29,0xBB,0xC7,0x29,0x79,0x85, -0x1A,0x9C,0x13,0xE9,0x3D,0xEF,0xDD,0x9A,0x00,0x67,0xAD,0x0F,0x2C,0xAB,0xDB,0xC8, -0xCF,0xB8,0x4C,0x8F,0x5A,0x8E,0x7D,0x92,0x96,0x26,0xD9,0xC7,0x75,0x65,0x67,0x98, -0xC4,0xF3,0x9C,0xD4,0xA0,0x18,0x25,0x21,0x77,0x66,0x42,0xAB,0xF7,0xEA,0x6D,0x28, -0xDB,0x3D,0xE6,0x59,0x3B,0x35,0xA9,0x81,0x01,0x15,0x33,0xE8,0xE0,0xC0,0x83,0x49, -0x0A,0xA3,0xC5,0x68,0x36,0x02,0x76,0xD0,0x7E,0x73,0xBD,0xEC,0x31,0xBC,0x37,0xA6, -0x66,0x73,0xC2,0x5D,0x60,0x98,0xDF,0x6C,0xAE,0x22,0x12,0x95,0xFC,0xA0,0x80,0x83, -0x90,0x71,0x9F,0x2A,0x0B,0x21,0x04,0x42,0x1B,0x61,0x77,0x7B,0xC8,0x5B,0x5F,0x7C, -0xA1,0x64,0x8E,0x1E,0x45,0x73,0x35,0xA6,0xD6,0x8F,0xF1,0xC0,0xBE,0x62,0x0A,0xC9, -0x13,0xDB,0x06,0x16,0xD0,0x97,0xE4,0x03,0x69,0x6E,0x51,0x82,0xE7,0xAC,0xB6,0x99, -0x26,0x74,0x6B,0x75,0x01,0x23,0x0B,0x7F,0x1C,0xAA,0x1A,0x2A,0x2F,0xFF,0x25,0x4A, -0x0B,0x44,0xB7,0xF6,0xA3,0xE6,0xA7,0x75,0x10,0xB1,0x2C,0x30,0x8B,0xEE,0x3A,0x92, -0x28,0x62,0xB5,0xE7,0x9E,0xC5,0xD5,0xE7,0x3C,0x1F,0x31,0xE7,0x4A,0xD4,0x55,0xCC, -0x71,0x1D,0xDF,0xB1,0xFA,0x5A,0xF7,0xBB,0x49,0xDB,0x7A,0x4F,0xB9,0x0E,0x3F,0x19, -0x15,0x6D,0xBF,0xE5,0x0A,0xCE,0xA0,0x35,0xF8,0xE4,0x48,0x1B,0x58,0xB1,0x9F,0x5B, -0xBF,0x4D,0x86,0x0D,0xD1,0x78,0x40,0x74,0x18,0xD6,0x4D,0x90,0x87,0xC8,0xE2,0xE9, -0xA4,0x39,0x80,0xD7,0x2E,0xCA,0xEE,0x88,0x1D,0xD8,0x84,0xCD,0x18,0x50,0x04,0x37, -0xCE,0x5F,0x3E,0x11,0x62,0x89,0xF9,0x4F,0x32,0xC1,0xA3,0xF1,0xB4,0x5F,0x08,0xC6, -0x3E,0xEB,0xDA,0x95,0x3F,0xFE,0xFB,0xB9,0xB6,0x93,0xF2,0x0A,0x4F,0x9B,0x71,0x3A, -0xFB,0xF0,0x53,0x72,0x1A,0x15,0x11,0x73,0x4C,0xD5,0xB3,0x12,0xB8,0x79,0xD0,0xBD, -0xD2,0x7A,0xF3,0xA6,0xE2,0x92,0x6F,0xE3,0xFE,0x5D,0xBB,0xAD,0x63,0x38,0x66,0x5D, -0xBA,0x10,0x88,0xC4,0xFB,0xB5,0x53,0xCC,0x34,0x78,0x50,0x47,0x07,0x64,0xF9,0x7F, -0x45,0x55,0xC0,0x4C,0xD2,0x86,0xC2,0x20,0x19,0xA4,0xD3,0x77,0x42,0xCA,0x46,0xE5, -0xAD,0x7E,0x95,0x28,0x7C,0x9B,0x15,0x0C,0xB0,0x2A,0x01,0xBC,0xCE,0x40,0x85,0x08, -0x67,0x94,0xB0,0xC3,0xB6,0x19,0xE0,0x7C,0x12,0x74,0x88,0x3C,0xB3,0x33,0x3D,0x16, -0x94,0xCB,0xE3,0x7D,0x79,0xBF,0xE3,0x43,0xC9,0xF5,0x7C,0x0E,0x5E,0xAA,0x45,0x2F, -0xDD,0x8B,0x5F,0xAA,0x41,0xB8,0x67,0x9E,0xF9,0x96,0xD6,0xFC,0xC9,0x2C,0xB0,0xD8, -0x3B,0xB6,0xD4,0x5C,0xBC,0x1B,0xEF,0x41,0x14,0xCD,0x7B,0x8A,0xF2,0xA5,0x49,0xDE, -0x25,0x9F,0xDC,0x4F,0x54,0x47,0x20,0x97,0x95,0x91,0xE3,0x2C,0xBD,0x36,0xF4,0x4B, -0xA6,0xF9,0xF2,0x30,0xFB,0x77,0x06,0xB3,0xE3,0x5C,0xAA,0x46,0x76,0xF4,0xCB,0xA8, -0x57,0x82,0x0B,0xC3,0x00,0x88,0xD9,0x87,0x28,0x5B,0xFB,0x2B,0x0D,0xEE,0x75,0x71, -0x8E,0x25,0x69,0x05,0x9F,0x07,0x52,0xD3,0x09,0xA9,0x43,0x0B,0x5E,0x26,0xA6,0xE2, -0xB4,0x33,0x97,0xA7,0x08,0x28,0xB8,0xE0,0xEB,0x42,0x83,0x55,0xBE,0x14,0x2D,0xE7, -0x05,0xD3,0x8F,0x38,0x8B,0x82,0x84,0x79,0x1A,0xBB,0x70,0x2E,0x64,0xE7,0xF8,0x8D, -0x2E,0xF1,0x40,0x8F,0x48,0x2F,0x90,0x49,0xF9,0x27,0x14,0x9F,0x56,0x41,0x06,0x83, -0xDD,0x9B,0x9A,0x5A,0x25,0x18,0x3B,0x3C,0x2C,0x63,0xA9,0xE0,0xD4,0xAA,0x4B,0x21, -0xAF,0x05,0x9B,0xBD,0x3D,0x87,0xDB,0x8D,0x85,0x23,0xAE,0xC8,0x62,0x5E,0x4E,0x7E, -0xC0,0x77,0x8D,0x34,0x4D,0x72,0x59,0x47,0xF1,0x39,0x3D,0x8C,0x49,0x3B,0xC8,0x0E, -0xCB,0x9A,0xC7,0x9F,0x1A,0x1B,0x9D,0xF3,0xE8,0x16,0x01,0xAB,0x53,0x4F,0x5B,0x4A, -0x00,0xF7,0xC0,0xCE,0xDC,0xEB,0x40,0xCD,0x3A,0x3E,0x6C,0xE1,0xD7,0x1D,0xA0,0x1B, -0x53,0x49,0x33,0x91,0xCE,0xD8,0x65,0xDE,0x6A,0x99,0xB1,0xA1,0xA3,0xAB,0xEF,0xCE, -0xB1,0x17,0xD8,0x51,0x2D,0xB8,0x5A,0x5B,0xCC,0xAB,0x4F,0xAF,0x38,0x83,0xDA,0x12, -0x9F,0x11,0x58,0x10,0xF6,0x8A,0xAE,0xDA,0x68,0xBA,0x97,0xB0,0x04,0xFB,0x32,0x8E, -0x1E,0xE5,0x83,0x22,0xFF,0xCD,0x51,0xCF,0x78,0xFC,0x26,0x6B,0xE8,0xD2,0xA3,0xBD, -0x58,0xA4,0x79,0x3A,0xB0,0x3B,0x75,0xCA,0x22,0x66,0xF4,0x29,0x82,0x6C,0xC5,0x7B, -0x94,0xFC,0x12,0xBB,0x72,0x71,0xFF,0x88,0xA7,0x85,0x94,0x16,0xA1,0x6E,0xE3,0x6A, -0x35,0xC7,0x4C,0x95,0xCF,0x3F,0xFB,0xAC,0x71,0x95,0xAB,0x97,0x3A,0x46,0xD6,0xB6, -0x62,0xB2,0x87,0x98,0x31,0x9D,0xED,0x96,0xD1,0xBC,0x21,0x43,0x52,0x3D,0xBC,0xD4, -0xBC,0x20,0x89,0x8E,0xB2,0x37,0xD1,0x0F,0x2D,0x14,0x0D,0x0F,0x6F,0x37,0xB3,0xD6, -0xC1,0x98,0xFA,0x90,0x88,0x69,0xBE,0xCE,0x4E,0x24,0xFF,0xA5,0xBF,0x66,0xCA,0x79, -0x32,0xF2,0x20,0x45,0xAC,0x1E,0xC2,0x07,0xA9,0x80,0xC9,0xDF,0x30,0xE4,0x7A,0x73, -0x8A,0xEE,0x51,0x57,0xC6,0x78,0x04,0xB9,0xD4,0xF3,0xD7,0x67,0x5F,0x54,0x41,0x7C, -0x8B,0x01,0x26,0xF3,0x2B,0x0E,0xA9,0xE2,0x51,0x10,0xB7,0x58,0xD3,0x61,0x1A,0x4C, -0xE6,0x62,0x13,0x5C,0xF5,0x61,0x94,0x6D,0x84,0x54,0x0A,0x27,0x4E,0xF0,0x99,0x63, -0x3E,0x2A,0x06,0x3E,0x6C,0x58,0xEC,0x80,0x59,0x0E,0x9E,0x4B,0x2C,0x29,0x5F,0xC4, -0xB8,0xEB,0xB1,0xDC,0xAA,0xA8,0x31,0xBE,0x64,0x9C,0xEC,0x68,0xB9,0xDF,0x7C,0x8A, -0xFF,0x45,0x3C,0x60,0x96,0x40,0xAD,0xC6,0xEA,0x35,0x27,0xBA,0x7E,0x93,0x6B,0xC9, -0xF7,0x56,0x22,0x49,0xA7,0x55,0x99,0xD7,0xC3,0xD9,0xB6,0x89,0x02,0x42,0x84,0x7D, -0xBD,0xCF,0xFE,0x2A,0xEC,0x19,0xEA,0xAE,0x6F,0xD6,0x47,0x85,0x65,0x95,0x1F,0x13, -0x08,0xE4,0xDE,0xE7,0x0F,0x79,0xD5,0x2B,0xFA,0x73,0x96,0x61,0x5D,0x91,0x4D,0xD8, -0xC7,0x42,0xE1,0xE4,0x5A,0x1C,0xB5,0x5A,0x6B,0xEE,0x15,0x4E,0x8C,0xB2,0xD3,0xE9, -0x7D,0x4F,0xB3,0xD0,0x07,0xD9,0xB4,0x4C,0x86,0x77,0x2C,0x36,0x70,0x4D,0x7D,0x5B, -0x0B,0x1A,0x8A,0x65,0xCA,0x62,0x32,0xA2,0xC8,0x93,0x1D,0x64,0x41,0x5C,0x68,0x6F, -0x3F,0xC5,0x71,0x9A,0x7F,0x8C,0x57,0xE1,0xA3,0xBD,0xC6,0xDD,0xB7,0x01,0x6A,0x18, -0xF2,0x72,0x6D,0xBF,0xAF,0xF5,0xF8,0xB0,0xF5,0x01,0x6F,0x47,0xDB,0x06,0xBA,0x2D, -0x89,0x10,0x05,0xD5,0xED,0xFE,0x74,0xDC,0x5D,0x36,0xCC,0x80,0xF9,0x76,0x7B,0xA2, -0x48,0x7F,0x3F,0x8B,0xC1,0x29,0x69,0x72,0x60,0xA4,0xBE,0xA3,0xDA,0x74,0x5D,0xB3, -0xEC,0x60,0x2E,0x53,0xCD,0x33,0x5F,0x69,0xC2,0xAE,0x12,0x66,0xF7,0xA8,0x6D,0x30, -0x24,0xF3,0x7D,0x80,0xB8,0x9B,0x14,0xAD,0x13,0xD2,0xFD,0xD2,0xC2,0xC5,0xC2,0x53, -0x04,0x3C,0xF8,0x9C,0x21,0xA2,0x6C,0x40,0x65,0xEB,0x48,0x87,0x37,0x2F,0x2B,0x1E, -0x92,0x26,0x09,0xCF,0x84,0x73,0x88,0xD5,0x98,0x34,0xC0,0x24,0xE0,0xB5,0x03,0xDC, -0x4A,0x6E,0x1C,0xAD,0x86,0x7F,0x2C,0x10,0x0C,0xE6,0xB5,0x2F,0xD5,0xD8,0xAC,0xBF, -0x9A,0x35,0x17,0xE6,0x55,0xED,0xB9,0xF6,0x2A,0x78,0xDD,0x3A,0x57,0x33,0xE1,0x1D, -0x23,0xC6,0x11,0x50,0xD0,0xF1,0x76,0xD6,0xF8,0x50,0xB0,0x70,0x0A,0x25,0x24,0x1C, -0x34,0x28,0x3B,0x31,0xA6,0xB2,0x07,0xA5,0x63,0xF0,0x3C,0x5D,0x15,0x5F,0xEA,0x91, -0xB6,0x22,0xB4,0x81,0x47,0xDE,0x9C,0xE5,0x99,0x43,0x64,0xCB,0x1E,0x8F,0xA1,0xCA, -0xEF,0x9E,0x7A,0xD1,0xD1,0x16,0xE8,0xA4,0xFE,0x4B,0xC4,0xAA,0xCB,0xD0,0x85,0xAC, -0x70,0x78,0xE2,0x0F,0xC3,0x25,0xCD,0xB7,0x75,0xAD,0xF9,0x5C,0xB6,0x73,0x8D,0x86, -0x0D,0xC0,0x91,0x11,0x61,0xA5,0x44,0xE9,0xBF,0xDD,0x0C,0xDE,0x7C,0x56,0x67,0x6D, -0x81,0x03,0x1B,0xFC,0xC8,0x6E,0x96,0x67,0x11,0xF1,0xDB,0xC3,0x94,0x03,0x4C,0x09, -0xC4,0xBC,0xB5,0x66,0xE5,0x5E,0x15,0xBB,0x38,0x1D,0x4A,0xF0,0x6B,0x4B,0x09,0x81, -0x7E,0xB1,0xE7,0x52,0x44,0x35,0xA6,0x52,0x97,0x46,0x39,0x02,0xF4,0x1F,0x86,0x0A, -0x31,0x0C,0x74,0xC7,0xC5,0x93,0x3E,0x0E,0x7F,0x90,0xF6,0x5E,0xEA,0x17,0xAF,0x19, -0x0A,0xF5,0xFD,0xC1,0x28,0xE5,0x93,0x55,0x82,0x4F,0x7E,0xFD,0x0C,0x9C,0x92,0xEF, -0x9D,0x00,0x7B,0x36,0x18,0x17,0x39,0x36,0xBA,0x92,0xFA,0xFA,0x45,0x20,0xD2,0x38, -0xDB,0x41,0x81,0x2E,0xCC,0xD4,0xC1,0x1B,0xED,0x59,0xF7,0x8F,0x75,0x43,0x20,0x92, -0x44,0xA7,0x19,0xF0,0xC9,0x89,0x08,0x15,0x12,0xA5,0x59,0x3D,0x6E,0x45,0x54,0x48, -0x9B,0xDA,0x60,0x42,0x29,0x02,0x0D,0x27,0xC9,0xE4,0xB9,0x8B,0xC4,0x7C,0x74,0xA0, -0x7A,0x7A,0xDF,0x00,0x98,0x56,0x3F,0x18,0x39,0x6A,0xEE,0x1F,0xA0,0x1C,0x04,0xF4, -0xA0,0x23,0xE9,0x44,0x2F,0xB4,0xFE,0x9E,0x21,0x32,0x76,0xD7,0x03,0x30,0x63,0xE3, -0x7B,0x95,0xA8,0xA4,0x9D,0x0B,0xF6,0x16,0xD9,0xA2,0x08,0x50,0x2A,0x90,0xE9,0x37, -0x8C,0x34,0x4A,0x23,0x67,0x13,0xB7,0x50,0xFC,0x68,0xE2,0xBB,0xEF,0x19,0xF2,0xD0, -0x77,0x4D,0x8E,0xDF,0xE3,0xE8,0xE6,0x02,0xA1,0x9E,0xE0,0xCC,0x1F,0xFD,0x46,0x54, -0xC5,0xC3,0x01,0x1D,0x82,0xB7,0xFF,0x5C,0x2F,0xF4,0xF4,0x8E,0x5B,0x18,0x89,0xAF, -0xE1,0xC7,0xBC,0x53,0xDC,0x99,0xC4,0xFD,0x07,0x6F,0xC1,0x52,0x4B,0xCE,0xB6,0x2E, -0x66,0xE9,0x7C,0x15,0x47,0xAC,0x18,0xD5,0x5E,0xA1,0x91,0xEE,0xDA,0x44,0x2F,0x37, -0xFF,0xD5,0xFF,0xBF,0x49,0xBA,0x8A,0x0B,0x54,0x9C,0x9E,0xEC,0x72,0xB8,0x03,0x7B, -0x6E,0xFA,0x62,0x3C,0xEE,0x67,0xCA,0x5B,0x8D,0xFE,0x58,0x4B,0x4E,0xC0,0xEB,0xE7, -0xA7,0x86,0x46,0x4B,0x34,0xB2,0xA0,0xA8,0x0F,0x71,0xE8,0x41,0xEA,0x27,0xDD,0x9D, -0x8B,0x91,0xE5,0x2C,0xE8,0xD1,0x39,0xE2,0x08,0x1D,0x38,0x74,0xDE,0x38,0x95,0x60, -0xD0,0x3C,0x08,0x5A,0x9F,0x75,0xD6,0xE3,0x3D,0x91,0x63,0x44,0x3D,0xBD,0xF5,0x5F, -0xE9,0xD4,0xA2,0x7A,0xC8,0x1C,0x12,0x57,0x40,0xE2,0x7D,0xFC,0xC0,0x30,0xBC,0x73, -0x04,0xAC,0x3B,0x43,0xDD,0x7E,0x5A,0x8F,0x99,0x80,0xBB,0x5B,0x9A,0xED,0x28,0x1F, -0xAF,0x95,0x58,0x62,0xF2,0x42,0x7D,0x96,0xFA,0xB0,0x49,0xF1,0xFB,0x83,0x05,0x82, -0xD7,0x09,0x64,0x8A,0x7F,0xFE,0xD3,0xD1,0xB6,0x77,0x5E,0xB2,0x52,0x0D,0xCE,0x50, -0xC7,0xD2,0x22,0x3B,0x30,0x08,0xF7,0xD4,0xFC,0xAB,0x3D,0x2B,0x18,0x06,0x65,0xBD, -0xBE,0xA1,0x69,0x77,0xEC,0x6B,0x6E,0x9E,0x2B,0xCC,0xA6,0x45,0x17,0xAA,0x94,0xB1, -0x33,0x8D,0x94,0x3E,0x2F,0xC6,0x7A,0xAE,0xDB,0x42,0xF1,0xD1,0x20,0x02,0x37,0x76, -0x42,0xED,0xC1,0x5B,0x10,0xC5,0xDC,0x61,0xF8,0x93,0x6F,0xE0,0xBD,0x93,0xB4,0x59, -0xEE,0xE1,0xCE,0xAA,0xC5,0xE1,0xBA,0x3E,0x87,0xC3,0x57,0x49,0x95,0x41,0xD9,0x13, -0xDA,0x3E,0x35,0x55,0x3C,0x12,0xC1,0xCF,0x9D,0xB8,0xE9,0x90,0x92,0x8A,0x88,0x7E, -0x89,0x80,0xC6,0x0A,0x59,0x85,0x0B,0xDD,0x7D,0x70,0x0F,0xDF,0x8C,0x82,0xA1,0x6D, -0xBA,0x6A,0x51,0x25,0xA7,0x27,0x1D,0xE7,0x4F,0x90,0x84,0xDA,0x67,0x60,0x61,0x33, -0x20,0xA8,0x86,0x0D,0x8E,0xAD,0xC9,0x47,0x28,0x98,0x24,0xBB,0xE9,0x90,0x36,0xA7, -0x10,0xBC,0x45,0xA0,0x41,0x1A,0xEB,0x6C,0x8E,0xAA,0xDA,0xB5,0x75,0x73,0x52,0x16, -0xE4,0xE3,0xF3,0xA5,0x55,0x9F,0x3D,0xC6,0x37,0xAC,0x6C,0x46,0xED,0xEC,0x8C,0xF0, -0x55,0x03,0xEB,0x3A,0x54,0x78,0xA3,0xB4,0xC3,0x1A,0x69,0x19,0xAD,0x45,0x8B,0xD8, -0x9A,0xA5,0xD4,0x39,0x09,0xBD,0xA2,0xA2,0x26,0x9D,0x79,0x72,0xD8,0x81,0x23,0x93, -0x2E,0x61,0x83,0x50,0x43,0x16,0x4F,0xA9,0x52,0x87,0xEA,0x36,0xF7,0x98,0x1F,0xB4, -0xB7,0x5D,0x00,0xFA,0xFD,0xB3,0x71,0x3A,0xC2,0x6D,0xCD,0xF6,0x57,0x03,0x93,0x99, -0xA4,0x78,0x12,0xC9,0x0E,0xEC,0xCF,0x69,0x74,0x19,0x82,0x23,0xF0,0x53,0x4E,0xD9, -0xB3,0x96,0x38,0xA8,0x96,0x32,0x29,0xF6,0x92,0xCA,0x10,0xB6,0x74,0x01,0xB5,0x88, -0x32,0x62,0xE3,0x9A,0x16,0x73,0x2F,0xD8,0xEA,0xF6,0xF8,0x2A,0x65,0xA5,0x6D,0x97, -0xA3,0x4D,0x7E,0x19,0xB7,0x18,0x9C,0x31,0x05,0x4C,0xE7,0x43,0xA8,0x4B,0xD6,0x11, -0xA6,0x69,0x31,0xEF,0x4D,0x00,0xDD,0x77,0xBB,0x26,0x81,0x85,0x32,0x11,0x04,0x53, -0x80,0x7C,0xAF,0x87,0x5F,0x33,0xF8,0x64,0x3F,0xB2,0x45,0x55,0x13,0xD6,0x2E,0xE6, -0xDE,0xF5,0x0D,0x07,0x2C,0x2D,0x40,0x19,0x1A,0x78,0xAF,0xBE,0x63,0x1C,0xDB,0x64, -0xD2,0x2D,0x2B,0x7C,0x7B,0x44,0x84,0xAD,0x22,0xA5,0x2B,0xB9,0xD3,0x51,0x68,0xC8, -0x0E,0xAE,0x06,0x4C,0xD5,0xDE,0x3B,0xE8,0x6A,0x5A,0x6E,0x31,0x3F,0x78,0xF9,0xFB, -0x67,0x06,0x0B,0xB1,0xBA,0xE5,0x34,0x58,0x7E,0x24,0x8D,0x21,0x5E,0x16,0xD4,0x66, -0x3B,0x9E,0x8A,0x17,0x29,0x70,0x89,0x17,0x76,0x3A,0xA4,0x32,0x88,0xFE,0x1B,0x3A, -0x5F,0x01,0xD6,0x35,0xB5,0x14,0x38,0xF4,0x49,0x8B,0xF0,0x00,0x5C,0xD3,0xD8,0xC2, -0x3C,0xAB,0xE6,0xC7,0x33,0xE3,0xCD,0x63,0xF5,0xC2,0xB0,0xD7,0x81,0xEB,0x5C,0xC5, -0x7C,0x30,0x07,0xAB,0xD7,0xD2,0x9F,0x2D,0x2C,0xA0,0x76,0x70,0x6B,0x7B,0x7B,0x05, -0x72,0xF9,0x02,0xF6,0x4F,0x0C,0x79,0xB2,0x2A,0xBB,0x02,0xAA,0x97,0x84,0xD5,0xB7, -0x71,0x07,0x56,0x74,0x11,0x22,0x42,0x13,0x75,0x6E,0x26,0xCC,0xA4,0x50,0xCC,0x27, -0x4E,0x35,0xE7,0x20,0xAE,0x60,0xE2,0xF2,0x15,0x0A,0x56,0x98,0x2A,0xA0,0x9B,0xB3, -0x7F,0xCE,0x53,0x29,0x66,0x86,0xAD,0x12,0xF9,0xE4,0xCB,0x0F,0x6C,0xB0,0x2A,0x68, -0xF7,0xC6,0xE1,0x96,0x27,0x66,0x1B,0xC9,0x59,0xCD,0x41,0xDB,0xFC,0x48,0x54,0xEF, -0x6B,0xDE,0x2D,0xCA,0x40,0xFD,0x75,0x1E,0x94,0xD1,0x64,0x6C,0x50,0xC8,0xC2,0xF4, -0x39,0x8F,0xA9,0x31,0x84,0x01,0x0C,0xE5,0x70,0x21,0xD0,0xE8,0xA6,0x95,0xC0,0x83, -0xCB,0x0A,0x04,0x40,0x44,0x47,0x22,0x62,0x35,0x8F,0x4A,0x57,0x5D,0xA1,0x3F,0x5C, -0x25,0x8C,0xC9,0xFB,0x7D,0xF2,0x77,0x14,0x24,0xBE,0x5F,0x63,0xB9,0xEF,0x0E,0x0E, -0xD9,0xC0,0x61,0xD7,0xA3,0x9D,0x4A,0x9B,0x6F,0x15,0x98,0x15,0xCF,0x9C,0x4D,0x7F, -0x88,0x6F,0xB1,0xAE,0xBF,0xB8,0xFD,0x56,0x68,0x79,0x48,0x20,0x73,0xCA,0xE4,0xE5, -0x1B,0x51,0x0F,0x0B,0xF1,0xA9,0x47,0x21,0x1D,0x14,0x7F,0x8B,0x6A,0x09,0x9C,0x9B, -0xB5,0x4C,0x23,0xDC,0xCB,0xF7,0x28,0xE0,0x1F,0x37,0x59,0x9A,0xF8,0x34,0xEE,0xB8, -0xC4,0x2C,0x76,0xB9,0xB3,0xA2,0xCB,0x4D,0xAC,0x0C,0xE0,0x6B,0x1C,0x7A,0xDF,0xEA, -0x00,0x67,0x03,0x11,0xE0,0x71,0x58,0x85,0xC1,0x39,0x4F,0x08,0x60,0xAB,0x30,0x5E, -0xBC,0xB0,0x4A,0x51,0xC7,0xED,0x1E,0xFB,0xDC,0x2E,0x21,0xE4,0xFA,0xF1,0xE2,0x1C, -0x29,0x54,0xEF,0x80,0x36,0xBE,0x04,0x6D,0x46,0xF9,0x09,0x26,0x25,0x0C,0x6A,0xBF, -0x9F,0x81,0x9B,0xCF,0xD9,0xC4,0x0D,0xF3,0x5A,0x99,0xC3,0x25,0xB6,0x43,0xFF,0x02, -0x79,0x14,0x48,0x5D,0xD2,0x8F,0x56,0x23,0xB1,0x1B,0x8E,0x87,0x28,0x65,0x97,0x17, -0xCC,0x3F,0x68,0x90,0xF5,0x13,0x10,0x5D,0x36,0xDB,0xC8,0xA9,0x3E,0x0A,0x1E,0x65, -0xBF,0x4E,0x1E,0xD3,0xDF,0x72,0xFE,0x4A,0x4C,0xC4,0x06,0x24,0x9E,0x91,0x92,0x48, -0xCD,0xD0,0x1F,0x34,0xB4,0xF3,0xA6,0x86,0xB9,0x05,0xA7,0x94,0x85,0x97,0xE6,0x92, -0x8C,0xA4,0x89,0xFC,0x7A,0xA3,0x1A,0xDF,0xE6,0xD0,0x83,0xF2,0x8D,0xF0,0x46,0xF3, -0x3F,0xBB,0xFB,0x9B,0xD3,0x47,0x8E,0xA4,0x08,0x53,0x5C,0x18,0x5C,0x7A,0x7A,0xE1, -0xB0,0x0B,0x79,0x91,0x34,0x3D,0xB8,0x00,0x2C,0x9A,0x20,0x6F,0xAF,0xA0,0x10,0x34, -0xDF,0x30,0xC9,0x9E,0x49,0x85,0xA6,0x73,0x46,0x24,0xE6,0x09,0x17,0xD1,0x0C,0x26, -0x53,0x6B,0xFC,0xAE,0xCC,0xBA,0xC6,0x90,0xAB,0x7F,0x4B,0x7F,0x16,0xA6,0xE3,0x82, -0x21,0x92,0xF3,0x88,0x3A,0xF4,0xE5,0x05,0xF2,0x15,0x1D,0x00,0x09,0x92,0x1E,0xCA, -0xBA,0xA7,0xDB,0x54,0xEC,0x75,0xDA,0x15,0x4F,0x31,0x19,0x4E,0xA8,0xCC,0x25,0xE4, -0xD2,0xCD,0xA0,0x36,0x4C,0xA1,0x50,0x3C,0xB1,0x0B,0x0F,0xEC,0xFF,0x07,0x50,0xE9, -0xEF,0xC2,0xAA,0x34,0xB0,0xED,0x7C,0x94,0x32,0x92,0x33,0x46,0x21,0x09,0xC2,0xFF, -0x82,0xF5,0xDF,0x9F,0x5E,0x6B,0xC7,0x59,0x27,0x4A,0x7B,0x24,0x6A,0xA2,0xB4,0x38, -0xE5,0x6E,0x08,0xF1,0xF2,0x67,0x36,0x56,0x6C,0x33,0x08,0x68,0x20,0x7E,0x2D,0x5B, -0xDD,0x3C,0x0C,0x3A,0x67,0x83,0xE7,0xF3,0x8F,0xB6,0x37,0x08,0x95,0x5E,0x06,0x96, -0x0C,0xA2,0x2F,0x0B,0xF6,0xAC,0x64,0x6E,0xDA,0xC7,0x57,0x6D,0x5A,0x61,0xA0,0x95, -0xCE,0xE8,0x6D,0x81,0x19,0xC5,0x7B,0xD4,0x75,0xF0,0x76,0x10,0x7B,0x93,0x80,0x2D, -0xAC,0x2E,0xB4,0x26,0xC4,0xA9,0xEF,0x8E,0xEC,0x1D,0x0E,0x29,0xA3,0x86,0xC8,0x4F, -0x39,0x0D,0x42,0x68,0xF9,0x8A,0x9D,0x1C,0x2A,0x23,0xD3,0xD9,0x25,0x31,0x09,0xAD, -0xFE,0x1A,0x0E,0x2B,0x77,0x58,0x56,0xB5,0x16,0x5B,0x4F,0x31,0x62,0xBC,0xA7,0x11, -0xE4,0x89,0x7A,0x6F,0x87,0xCC,0x01,0x3B,0x0B,0xE4,0x66,0xF3,0x98,0x0F,0x31,0x49, -0xD6,0x77,0xDC,0x61,0x64,0x7D,0x65,0xA7,0xC8,0xD4,0x72,0x5E,0xB3,0xC0,0x13,0xFE, -0x54,0x3A,0x37,0xC3,0xB1,0x02,0xD8,0xE3,0xA5,0xA1,0xD9,0x69,0x40,0x1A,0x79,0x2B, -0xE2,0x3F,0xC3,0x9C,0x18,0x2A,0xDF,0xA3,0xBD,0x10,0x39,0xF6,0x32,0x1B,0xE7,0xCC, -0xF6,0xBA,0x69,0x4A,0x7E,0xA4,0xDB,0xDC,0x7B,0x2E,0xE4,0x06,0x3B,0x72,0x1B,0x41, -0x8D,0x04,0x73,0x93,0xB5,0xC9,0x8A,0xDB,0x80,0x1A,0x3B,0xF9,0xCA,0x8B,0x60,0xB2, -0xDE,0xD7,0xBB,0x00,0x94,0xE9,0x32,0x29,0x1F,0x4E,0xB0,0x76,0x13,0xE9,0xC7,0x74, -0x3E,0x5C,0x89,0x05,0x76,0xB7,0xF2,0xC2,0x88,0x7D,0x5A,0x59,0x29,0x17,0xD1,0xD6, -0xB8,0xAB,0x1E,0xF0,0x51,0x4D,0x3E,0x2B,0xAD,0xC6,0xB8,0xC9,0x2C,0x58,0xF5,0x20, -0x84,0x43,0x66,0x6C,0xF5,0x52,0xE6,0x3A,0x76,0x47,0x4C,0xFB,0x02,0xD8,0xF3,0x61, -0x68,0xD2,0x4F,0x5F,0xE5,0x89,0x57,0x7C,0x7F,0x52,0xB3,0xBC,0x83,0x03,0x07,0x53, -0x02,0xB4,0xF1,0x99,0xBF,0xCB,0x85,0xE6,0x30,0x57,0x97,0x4A,0xC5,0xF9,0x46,0x4B, -0xC9,0xB9,0xA6,0xEC,0x6C,0x6E,0x4C,0xB9,0xCD,0xDA,0xBB,0x03,0x5D,0x0D,0x95,0x45, -0xD3,0x2A,0xD2,0xA8,0x75,0x49,0x70,0x96,0x9A,0x6E,0x7F,0x6A,0x56,0x47,0x78,0xEE, -0x57,0xD1,0x80,0xF9,0xA7,0x03,0x1D,0xBE,0x5C,0x50,0xA2,0x9A,0x9D,0x40,0x15,0xBF, -0x23,0x9E,0x36,0x2C,0xF7,0x43,0xC0,0x19,0x4E,0x43,0x87,0xA9,0xCE,0xB3,0xAB,0xE0, -0x74,0xF7,0x82,0xE8,0x0A,0xE0,0x48,0xC6,0xC4,0xCF,0x44,0x44,0xE3,0x67,0x53,0x23, -0x6A,0xDE,0x8A,0xFB,0xE2,0xBC,0x87,0x10,0x45,0x93,0xDC,0xE2,0xAC,0xF4,0xEE,0xB6, -0x8C,0xE3,0x01,0x0D,0x1F,0x1F,0x0F,0xCF,0xA8,0xC8,0x71,0x94,0x97,0x7D,0x17,0xB0, -0xC5,0xA3,0xBD,0xDA,0x27,0x18,0x8B,0x12,0x98,0xAB,0xDB,0x66,0x00,0xFB,0xE2,0x47, -0x36,0xFC,0xEE,0x64,0xE8,0xBE,0x88,0x2D,0x43,0x2A,0x2F,0x54,0xED,0x62,0x9A,0x7E, -0xFC,0x16,0xCB,0x8F,0x22,0x3C,0x7D,0x5D,0xE1,0x74,0xA6,0xD4,0x90,0x11,0x22,0x60, -0x14,0x3D,0x9E,0xEB,0x8C,0x21,0xAA,0x71,0x48,0xFA,0x74,0x1F,0x1C,0x9B,0xE1,0x8D, -0xEB,0x78,0xD6,0x63,0xA5,0x12,0x3B,0x9D,0x65,0x26,0xF7,0x2F,0x59,0x35,0x5E,0x17, -0x83,0x12,0xAD,0x01,0xBC,0x35,0x07,0xB2,0xAF,0x03,0x1C,0xC5,0x3D,0x69,0xC1,0x35, -0xAA,0x98,0x0D,0xD5,0x44,0xB2,0x79,0x22,0x1D,0x8B,0x14,0x7A,0xE6,0x28,0x77,0xD5, -0x6F,0x83,0x84,0x32,0x61,0x59,0x93,0xE8,0xE7,0xCD,0x55,0x62,0x11,0xCA,0xD6,0x52, -0x9F,0x37,0x60,0xB6,0x3C,0x2E,0x91,0x1E,0x63,0x9F,0x04,0x99,0xEA,0x0E,0xAF,0xAE, -0xF5,0x51,0xDE,0x70,0x70,0x6D,0x86,0xD9,0x4C,0x86,0x23,0xA5,0x46,0x01,0xA3,0x5F, -0xEE,0x25,0xD8,0xAA,0x8F,0xDF,0x28,0x25,0x49,0x88,0xEA,0xF8,0xD9,0x99,0x45,0x81, -0x44,0x05,0xE1,0x42,0x54,0x69,0xC8,0x64,0xA9,0xBA,0xEF,0x73,0x06,0xE0,0x38,0x33, -0x20,0x75,0x81,0x16,0xA4,0xFD,0x9F,0xEA,0x18,0x85,0xDD,0x27,0xE7,0x5F,0x98,0x71, -0x79,0x0A,0xEB,0x40,0xC0,0x62,0xBD,0xB6,0x6D,0x41,0x96,0x8F,0x14,0x85,0xF2,0xA4, -0x5A,0x2C,0xE9,0x51,0xFD,0x41,0xCF,0x24,0x41,0xEF,0x8B,0x58,0xD5,0xBF,0x9D,0xFA, -0x77,0x1C,0x35,0xD2,0x5F,0x84,0x63,0x2E,0x4D,0xF4,0xBD,0x42,0x71,0xAE,0x82,0x22, -0x42,0xB3,0x58,0xB1,0x8E,0x30,0x8C,0x52,0x38,0x30,0xF6,0xEA,0xB9,0xFD,0x11,0xF1, -0xF0,0x0C,0xD0,0xB9,0x1B,0xD4,0x5D,0xF7,0x87,0xD1,0x56,0xA8,0xE0,0x33,0xAD,0xA1, -0xC1,0x19,0xC1,0x8D,0x55,0x86,0x6C,0x13,0x4A,0x3F,0xD0,0x13,0x96,0x0A,0xF8,0x14, -0x37,0x1B,0x9C,0xFA,0x3E,0x3F,0xB7,0x3D,0xFF,0x7C,0xB5,0xFD,0xA2,0xF1,0x27,0xEB, -0x5B,0xCB,0x9B,0xCF,0x68,0xA5,0x1E,0x81,0x2F,0x2D,0x1A,0x84,0x6F,0xED,0x90,0xCE, -0x8A,0x55,0xB8,0xFE,0x65,0x92,0xC1,0xD0,0x50,0x4B,0x94,0x80,0xBE,0x91,0x24,0x21, -0x95,0x9B,0xC2,0x73,0xFE,0xBF,0x4D,0x70,0x26,0x38,0xE5,0xC3,0xA9,0xBB,0xCA,0x40, -0x9E,0xD0,0x12,0x28,0x04,0x29,0x15,0xC3,0xC7,0x78,0x7E,0xAF,0x2B,0x34,0xC0,0xF0, -0x4B,0xF4,0x4D,0x4E,0x63,0x48,0xB5,0xCB,0x51,0x39,0x0A,0x67,0x72,0xFA,0x7C,0xA0, -0xB7,0x5A,0xB2,0xFC,0xF8,0x65,0x39,0x6B,0xA1,0xDD,0x8E,0xD3,0x99,0x78,0xDE,0xED, -0x60,0x72,0x28,0x3E,0x05,0xC6,0xB1,0xB4,0x04,0x48,0x6A,0x02,0x0F,0x89,0xC4,0xBE, -0x55,0xDD,0x45,0x5D,0x91,0xCD,0xC4,0x66,0x06,0x8D,0xCE,0x0E,0xD7,0x9C,0x8C,0xDC, -0xD7,0x90,0xAE,0xFF,0xB7,0xD8,0xAC,0xF8,0xD5,0x6B,0x5B,0x9C,0x07,0x97,0xD7,0x97, -0xBA,0xA6,0xE4,0x7F,0xDB,0xA9,0xB6,0x3B,0xFD,0xBD,0x17,0xDC,0xA6,0x1A,0x9E,0x19, -0xD9,0x93,0x4B,0x12,0x34,0x78,0xCA,0x8F,0xB6,0x15,0xD3,0xA9,0x75,0x89,0x56,0x4A, -0x5A,0xBE,0x7B,0xCE,0x98,0xDA,0xC0,0x4A,0x80,0x0F,0xC8,0xA5,0xAD,0x96,0xF2,0x5B, -0x4B,0x9D,0x5D,0xCC,0xEA,0xE7,0x52,0x69,0x9D,0xD8,0x66,0x89,0xF3,0xF9,0x33,0x61, -0xC4,0xBF,0x9C,0xBC,0x49,0x4F,0x65,0xAE,0x11,0xD3,0x0A,0xCB,0x99,0x9B,0x48,0x09, -0xF1,0xD3,0x4C,0xBB,0xE0,0x19,0xD9,0x34,0xBE,0xAA,0x5B,0x1B,0xBC,0x2C,0x85,0x15, -0x86,0x25,0x4E,0xE6,0x3B,0x72,0xF7,0x8D,0xDB,0x44,0x18,0xAE,0x43,0xF3,0xB1,0xEE, -0xB2,0x14,0x5B,0xF7,0x0A,0x3C,0x13,0xDF,0x5D,0xFF,0xF6,0x63,0xF6,0xA6,0xC7,0xD7, -0x45,0xAF,0xA3,0x6A,0xE2,0x44,0x2F,0x43,0x01,0x30,0x1E,0xB5,0xF7,0x77,0x55,0x1E, -0x23,0x7A,0x87,0x35,0x42,0x23,0x27,0x22,0x75,0xF8,0x5F,0x23,0xA7,0xCB,0x0C,0xD0, -0x78,0x71,0xCC,0xE5,0x1A,0xD9,0x94,0xB4,0xEE,0x94,0x1F,0xC2,0x17,0xC1,0x8E,0x5F, -0xF5,0x6E,0x02,0x9F,0x96,0x42,0x34,0x99,0x9F,0xD7,0x6C,0xB4,0x76,0x2F,0x99,0x75, -0xF4,0x33,0xC7,0x89,0xFB,0x90,0x1C,0xD3,0x50,0xCB,0x4C,0x31,0xC0,0xDC,0x20,0x73, -0x56,0xB1,0x8A,0x62,0x93,0xB6,0x82,0xC6,0xC5,0x59,0xAA,0xE2,0x8B,0x87,0xF0,0x78, -0x35,0x84,0x25,0x0F,0xE6,0x22,0x50,0xCD,0x61,0x55,0x6F,0xE0,0xE9,0xCF,0x28,0x6D, -0xF7,0x53,0x0D,0x95,0x6E,0xDF,0x8F,0x6E,0x85,0x84,0xFA,0x45,0xBA,0xD5,0xBE,0x9C, -0xD1,0x21,0xF4,0x9A,0xDC,0x00,0xF6,0x13,0xD0,0x31,0x8C,0x7C,0x10,0xE9,0x27,0x1F, -0x06,0x68,0xB4,0x26,0x58,0x38,0x2B,0x14,0x7A,0xC3,0xEF,0x4C,0xE7,0x1C,0xB0,0x99, -0xF0,0x8E,0x89,0xAD,0xD0,0xC5,0xF4,0xB7,0xD7,0xB5,0xB4,0xA1,0xE1,0xE5,0x8B,0x10, -0xE3,0x90,0xA0,0xA5,0x1F,0x2D,0x22,0xEB,0x4F,0x13,0xE8,0x20,0x74,0x58,0xC4,0x83, -0x68,0x0F,0x2F,0xF1,0x6C,0x82,0x79,0x19,0xFC,0x78,0x01,0x81,0x40,0x55,0x7E,0xD1, -0xE0,0xF0,0x6A,0xB9,0xFD,0xAB,0x95,0x2A,0x7F,0x48,0xDD,0xAC,0xDA,0xEA,0x3B,0x7F, -0x84,0x18,0x41,0xEC,0x2A,0x05,0xB9,0x37,0xAD,0x83,0x53,0x05,0x37,0x29,0xB7,0xF5, -0x6F,0xD2,0xAB,0xC9,0xDF,0xCF,0xC9,0xB5,0x24,0x03,0x0D,0xA7,0x29,0x91,0xCA,0x86, -0xBD,0x7B,0x60,0x47,0xC6,0x1B,0xFA,0x25,0x0F,0xCE,0xB8,0x87,0xF9,0xA4,0xCD,0xEA, -0x39,0x8B,0xD4,0xA3,0xC4,0x46,0x0C,0x52,0x5E,0x35,0xEA,0x03,0x05,0xDD,0x36,0x2E, -0xDE,0x4E,0xCF,0x2A,0x2E,0x63,0xC6,0xB9,0x1F,0x2D,0xAC,0xF9,0x82,0x7C,0xC1,0xCC, -0x0A,0x67,0x45,0x8A,0x50,0x9B,0x56,0x3E,0x17,0x92,0x24,0x4B,0x62,0xCA,0x1A,0x8D, -0x1D,0xC4,0x22,0xA6,0xC8,0x83,0x0E,0xF6,0xD6,0x70,0xA2,0xFC,0x26,0x93,0xC0,0xBB, -0x49,0xA0,0x52,0xC6,0x9F,0x73,0x80,0x62,0xE4,0x24,0x9D,0x4D,0x64,0x33,0x21,0x04, -0xA1,0x0A,0x72,0xFF,0x7F,0xA8,0xC1,0xD4,0xE1,0xAF,0xAF,0xAD,0xD6,0x4E,0xFE,0x7D, -0x7B,0x11,0x06,0xF9,0xD1,0x57,0x3D,0x66,0x28,0xF2,0xA1,0xA8,0x08,0xA8,0x61,0xE5, -0x97,0x06,0x68,0xE4,0x88,0x3F,0x47,0x21,0x32,0xA1,0x37,0x59,0x9B,0xEC,0x15,0xFF, -0xC8,0xB0,0x6D,0x10,0x8F,0x96,0x07,0x09,0xD2,0x3E,0x86,0x41,0x7C,0x72,0x67,0xFE, -0x6A,0x32,0x20,0xFB,0x32,0x43,0x43,0x76,0x79,0x09,0xF3,0x2C,0xA9,0x18,0x94,0x24, -0x64,0x00,0xDE,0x5D,0x56,0xA0,0xDF,0xC7,0x6D,0xA4,0xC3,0xEF,0x1E,0x3A,0xBF,0xEB, -0x0E,0xDA,0x0B,0xAE,0xA5,0x51,0x26,0xBC,0x51,0x0E,0x5A,0x6C,0x81,0xDA,0x0E,0xF3, -0x0B,0x3A,0x80,0x9C,0x65,0xB3,0xCD,0xE2,0xBB,0x21,0x69,0xFB,0x23,0xCC,0x34,0x0D, -0x98,0x69,0x53,0x54,0xDD,0x92,0x3F,0xC2,0x30,0xAE,0x3D,0x64,0xE5,0x6B,0xED,0x6F, -0x41,0x12,0xED,0x4E,0x8C,0x59,0x38,0xAF,0xEF,0x51,0x09,0x9F,0x16,0x10,0x1C,0x96, -0x92,0xE6,0xE3,0xD6,0xD2,0x98,0x02,0xC0,0x9C,0x1D,0x70,0xD4,0x1C,0x4D,0xE2,0x1D, -0x54,0x8C,0x85,0x68,0x00,0xC2,0x98,0x82,0xB8,0xEB,0x75,0x9B,0x04,0x0C,0xA4,0xE7, -0x67,0x60,0x14,0x41,0xB1,0xD2,0xDE,0x59,0x47,0xAC,0x60,0x92,0x36,0xF8,0x25,0x3C, -0xFB,0x5C,0xFC,0x39,0x69,0x76,0xCF,0x46,0xB3,0x9E,0xE1,0x49,0x77,0xFE,0x0B,0xBC, -0x27,0xC7,0xC9,0x11,0x97,0xD0,0xFD,0x48,0x8C,0xFE,0x64,0xAA,0xB7,0xA0,0xE9,0x57, -0xF2,0xB3,0x86,0xA7,0x4A,0x80,0x5A,0x08,0xA9,0xCD,0x77,0xB8,0xE8,0x1E,0xBA,0xA4, -0xA3,0x37,0x7D,0xF5,0x27,0x52,0x72,0x42,0x74,0x3D,0x49,0x7E,0xB9,0x73,0x71,0xA3, -0xE7,0x2D,0xEE,0x81,0x1B,0x4B,0x5D,0x65,0xB0,0x54,0xFD,0x29,0x12,0x9E,0x7A,0xE9, -0xA5,0xB7,0x3C,0xDB,0x91,0xEB,0x74,0xB1,0x40,0x28,0x58,0x4F,0xD5,0xE8,0x31,0x42, -0x95,0x3B,0x67,0xEE,0xF1,0x6E,0x97,0x8E,0xED,0x5E,0x03,0xA2,0x71,0x07,0x30,0x35, -0x9A,0x54,0x5C,0x5E,0xEF,0x13,0xE4,0x36,0x2B,0x38,0xBD,0xC8,0x63,0x1B,0x88,0x44, -0x90,0xDB,0xEC,0xDC,0xD9,0xF4,0x40,0x4C,0x57,0x4F,0x74,0xEC,0xB6,0x71,0x7B,0x9E, -0x3F,0x0B,0x95,0x8D,0x2B,0x97,0x70,0xE6,0x38,0x11,0xB5,0xD6,0xA8,0xC9,0x06,0xED, -0x3D,0x36,0x9A,0x87,0x07,0x6B,0xD8,0xAA,0x04,0xBB,0x2C,0x55,0xBE,0x5B,0xD8,0xE3, -0x5F,0x5E,0xF0,0xFC,0x8D,0xCB,0xF1,0x7E,0x12,0x19,0x16,0xAB,0xB3,0x2E,0x8F,0x28, -0x83,0xC5,0xC5,0xD4,0xB2,0x1D,0xE1,0xFF,0x16,0x57,0x32,0x16,0x9D,0x15,0x2E,0x76, -0x00,0xE8,0xF5,0x08,0x33,0xD1,0x8A,0xA7,0x5C,0x3A,0xE0,0x3E,0xC2,0xAB,0x7D,0x85, -0x31,0x39,0x6B,0x2B,0xB0,0x40,0x17,0x88,0x3C,0x5F,0x91,0x6B,0xC1,0x0D,0xB2,0xBA, -0xFA,0x01,0x39,0x2F,0x61,0xD5,0xB2,0x6C,0x03,0x3F,0x14,0x88,0x0C,0x26,0x07,0x9A, -0x94,0x66,0xA2,0xF8,0x90,0x79,0xBD,0x60,0x70,0x73,0x6D,0xC3,0x6F,0xBF,0x4D,0x46, -0x20,0x1A,0x4D,0x29,0x01,0x50,0x51,0x53,0x44,0x66,0x7C,0xF2,0x46,0xAC,0x45,0x58, -0x63,0xDD,0x5A,0x65,0xCA,0xDE,0xF8,0x81,0xD8,0x8E,0x04,0xCE,0xFA,0x02,0x02,0xD5, -0x2D,0x48,0x79,0x93,0xB8,0xE3,0x6A,0xA2,0x05,0x7E,0x3A,0x08,0x18,0xC3,0x84,0x62, -0x8A,0x2A,0xBF,0x4A,0x2C,0x3E,0x30,0xCE,0x7D,0x47,0xD7,0x91,0x7A,0x8B,0x5C,0x77, -0xF8,0x56,0x9A,0x18,0xF9,0x2D,0x3B,0x57,0x1A,0x5B,0xAF,0xD0,0x3C,0xFB,0x27,0x99, -0x47,0xDE,0x92,0xAA,0x4F,0x6C,0xE0,0xB7,0x90,0x8F,0x86,0x70,0xBB,0x85,0xB7,0x61, -0x1B,0x42,0x8A,0x66,0x21,0x0B,0x37,0x2C,0xB5,0x38,0x9A,0xBD,0xA0,0x13,0x1B,0xE1, -0xE0,0x10,0xDB,0xE2,0x58,0xCF,0xCC,0xD0,0x01,0xBC,0x6A,0x59,0xD7,0x11,0xED,0xBC, -0x7A,0x55,0x64,0x4C,0xCB,0x9C,0x04,0x03,0xA7,0x24,0xEB,0x05,0x51,0xAA,0x20,0x52, -0x27,0x5B,0xAD,0x49,0x2D,0x04,0x9B,0xDD,0xD3,0xFE,0xF0,0x03,0xE3,0x04,0xDC,0xAD, -0xA5,0x58,0x53,0x1D,0x16,0x5A,0x3A,0xF3,0xF7,0x98,0x25,0x5C,0x73,0x1D,0xEF,0x79, -0xF1,0x67,0x61,0xAC,0xB6,0xE5,0xDB,0xB1,0x87,0xCC,0x41,0x3C,0xE7,0x4A,0x61,0x89, -0x60,0x4E,0x52,0x40,0x60,0xF1,0x71,0x34,0x5C,0x75,0x6F,0x57,0x32,0x05,0x15,0x3F, -0xC6,0x12,0xCA,0xC1,0xDD,0x62,0x3E,0xA1,0x75,0x66,0x71,0x5F,0x6E,0xCA,0xC3,0xD7, -0xE4,0x76,0x55,0x9D,0x6C,0xFE,0xDD,0xC5,0x21,0x54,0xC0,0x60,0x96,0x09,0x17,0xFA, -0x16,0x15,0xFF,0xAD,0x99,0x78,0x4A,0x32,0x61,0x83,0x89,0xDC,0x91,0x8D,0xCA,0xC2, -0x56,0xA9,0x28,0xE4,0xAC,0x14,0x4D,0xE2,0x94,0x01,0xF9,0x16,0xB2,0xFF,0x58,0xFF, -0xD6,0xF7,0xA1,0x46,0x14,0x67,0x30,0xFC,0x7E,0xEA,0x33,0x33,0x30,0x0A,0x28,0x35, -0xAD,0xFB,0x79,0x60,0xD0,0x30,0x84,0x95,0xFA,0xED,0xEE,0x0B,0x9C,0xB9,0x98,0x78, -0x9D,0x27,0xFA,0x4D,0x6F,0x9E,0xC1,0x0F,0xBF,0x65,0x11,0x43,0xAF,0x28,0x74,0x51, -0x41,0xE5,0x6B,0x23,0x44,0xBE,0x74,0xC2,0x19,0xFD,0x90,0x1F,0x31,0xCF,0x75,0x23, -0x02,0x96,0x1A,0x55,0xAA,0x94,0x63,0xA3,0xD7,0x70,0x8F,0x65,0x1C,0x43,0xD5,0xB8, -0xE5,0xE4,0x84,0x54,0xF2,0xFF,0xAF,0x22,0x76,0xC0,0x4E,0x90,0xC6,0x37,0xCE,0xBE, -0x2D,0xA5,0xF0,0xC2,0x4E,0x31,0xF6,0x72,0x52,0xA6,0x9B,0xCF,0xA7,0x97,0xC6,0xD9, -0x80,0x95,0xE4,0x01,0x4A,0x8C,0xD2,0x3C,0xF0,0xB0,0x65,0xF5,0x48,0x33,0xB1,0xD8, -0x51,0x00,0x00,0xA4,0x50,0x7D,0x44,0x6F,0xD8,0x72,0xB2,0x6F,0xEB,0xBB,0x6E,0x25, -0x1E,0xB6,0xD5,0xD0,0x59,0x92,0xDA,0x15,0x12,0x71,0xD2,0x73,0x56,0x2E,0xFD,0x6A, -0x8C,0x50,0x40,0x03,0x02,0x99,0x0A,0x5E,0x5F,0xD3,0x50,0x98,0x43,0x46,0x63,0x4C, -0xDA,0x32,0x05,0x44,0x13,0xBA,0x08,0x78,0xAE,0xDF,0x5F,0x34,0xCF,0x4D,0x21,0x20, -0x0D,0x9C,0x18,0x68,0x7C,0x80,0xC9,0x26,0x88,0xCE,0x7C,0x36,0xEC,0x3F,0xB3,0x1D, -0x68,0xED,0x78,0x3D,0x9F,0xF8,0x64,0x73,0x31,0x3F,0x47,0x85,0xBE,0x0E,0x57,0x53, -0xC0,0x29,0x33,0x48,0x0C,0xAB,0xAC,0xA0,0x9E,0x5C,0x72,0xE8,0x0A,0xE1,0x2B,0x82, -0x91,0xE2,0x5E,0x4F,0x76,0x0F,0x4B,0x96,0x9B,0x03,0xC4,0x1C,0x08,0xEE,0x16,0x88, -0x2A,0x0C,0xD8,0x82,0x23,0x36,0x3D,0x23,0x8E,0x37,0xF5,0x0D,0x5A,0xDF,0xF2,0xC6, -0x06,0xF0,0x94,0x2A,0x1E,0xE8,0xB2,0x4C,0x49,0x41,0x5E,0x46,0x2B,0x9C,0x84,0xB5, -0x7F,0xA1,0x3B,0xFA,0xA9,0xF4,0x7F,0x69,0x99,0x74,0x32,0x41,0xB1,0x35,0x38,0xE3, -0xEA,0xEE,0x86,0x69,0xA3,0x7B,0xFD,0xD9,0xEC,0x7F,0xE0,0xD5,0xE9,0xB4,0x53,0x2F, -0xA6,0x97,0xF5,0x22,0x3A,0xA7,0xB7,0xBA,0x77,0x11,0x87,0x02,0xE5,0x45,0x5C,0x83, -0xEF,0x1A,0xD9,0xDF,0x2E,0x64,0x87,0x17,0x20,0x85,0x09,0xF2,0x22,0xE6,0x6B,0x2B, -0x8A,0x6B,0xB9,0x8A,0x88,0x5B,0x48,0x14,0xBE,0xB4,0xD8,0xD1,0x0D,0x65,0xF6,0xBA, -0xAB,0xC0,0x80,0xE9,0x46,0x83,0x7E,0xCD,0xAC,0xA8,0xA9,0x69,0x27,0x6D,0x8B,0x19, -0x92,0x2D,0xF8,0x70,0x0E,0x96,0xA6,0xAF,0x6A,0x0F,0xCB,0xB0,0x4B,0xF9,0xD1,0xC4, -0xB3,0x86,0xC1,0x13,0x29,0xB9,0xBF,0x93,0x98,0xA5,0xFB,0xD3,0xD6,0xD4,0xB0,0xAA, -0x5B,0xFE,0x5D,0x2F,0x87,0x34,0xF8,0x2F,0x8F,0xE6,0x3C,0x9F,0x04,0x1F,0x19,0x24, -0xED,0x47,0xAE,0x29,0x9E,0xA5,0x72,0xB6,0x89,0x1F,0xB5,0xA4,0xB3,0x3A,0x05,0xE9, -0x9A,0x8E,0xD2,0x0D,0xF4,0x7F,0x81,0x63,0x39,0x15,0x3A,0x26,0xC9,0x0C,0xA1,0x0E, -0xFD,0xA2,0xC5,0xAE,0x6D,0xA3,0xCB,0x00,0xE9,0x20,0x56,0x21,0x34,0x44,0x95,0x11, -0x8B,0xF9,0x68,0x43,0x82,0xD4,0xCA,0xA4,0xB2,0x10,0xDA,0x14,0x0B,0x24,0x76,0x94, -0xCC,0xEC,0x97,0x4A,0xAB,0xC9,0x75,0x66,0x25,0xDA,0xBF,0x06,0xFB,0x58,0x10,0x31, -0x82,0xC8,0x93,0xF7,0x90,0x97,0xD4,0x48,0x10,0x06,0x24,0x2E,0x7A,0x67,0x00,0xE7, -0xC4,0x4F,0xBD,0x37,0x4C,0x0C,0xFC,0x7D,0x40,0xBA,0xEA,0x77,0x63,0xFE,0x91,0x6D, -0x6E,0xD6,0x81,0xB4,0xDE,0x02,0x22,0x6B,0x4F,0xB8,0xD7,0x7D,0x2F,0xD2,0x39,0x91, -0x79,0x9A,0xC2,0x73,0x7D,0xDD,0xDF,0xE3,0xC1,0xE2,0x81,0xBB,0xDC,0x64,0x3F,0x28, -0x4B,0x1B,0x36,0xA8,0x7B,0x5D,0xF1,0xA2,0x29,0x7E,0xBD,0xC3,0xC3,0xBC,0x2E,0x8C, -0xC8,0x8A,0x19,0x35,0xC8,0xFC,0x18,0xC9,0x36,0x17,0x07,0x2C,0x45,0x07,0xE3,0x62, -0x3E,0x8F,0x3D,0x7A,0x89,0x06,0x5E,0xD1,0x50,0xD1,0x6D,0x92,0x07,0xD5,0x79,0x38, -0xE8,0xB3,0xF1,0x9F,0xF6,0x42,0x8B,0x6C,0xA8,0x26,0xD6,0x0F,0xC7,0xF2,0x93,0xA8, -0x81,0x07,0x35,0xC8,0x1B,0x08,0x80,0xC7,0x3B,0x62,0xCC,0x7B,0xE0,0xCE,0xBC,0xB1, -0x2B,0x9E,0x09,0x4B,0x25,0xB6,0x13,0x62,0x1C,0xA2,0x26,0xEB,0xCD,0x42,0x1C,0x2A, -0x18,0x8D,0x2C,0x59,0x9B,0x45,0x40,0x3D,0x53,0x77,0x52,0x5D,0x8D,0x9F,0xBB,0x7A, -0xDC,0x09,0xFC,0xCD,0x9D,0xC5,0x6E,0x7C,0xF5,0xEF,0xD3,0x01,0xF3,0xE7,0xA2,0xB9, -0x71,0x39,0xE8,0x0E,0xBF,0x0A,0x45,0xCB,0x0B,0xE1,0xE1,0xA7,0x42,0x83,0x3E,0x5A, -0x74,0xCD,0xB7,0xB8,0x69,0x1E,0xEF,0x4E,0xBD,0x12,0xE7,0x1E,0xA4,0x5D,0xA6,0xC5, -0xEB,0x7C,0x57,0xA0,0xF7,0x1F,0x9D,0xA9,0xB8,0x4D,0x51,0xEA,0x8C,0x5A,0xE6,0x6C, -0x7B,0xC7,0xB5,0x85,0xEE,0x8E,0x17,0x30,0x86,0x1D,0x88,0xAE,0x47,0x08,0xDE,0x68, -0x84,0xF3,0x6A,0x7E,0x95,0x77,0xE6,0xC3,0x38,0xC4,0xF3,0xB4,0x2A,0x59,0xD9,0xA3, -0xDB,0xA0,0xD4,0x8D,0x5F,0x12,0xF4,0x54,0xDE,0x8B,0x3B,0x54,0x39,0x70,0xC7,0xAB, -0xF4,0x93,0x3E,0x1A,0x49,0xEC,0xCE,0xF6,0x55,0x8E,0xDB,0x66,0x67,0xB0,0x2C,0x49, -0x6B,0x9E,0xD7,0x4F,0x20,0xAA,0x77,0x44,0xEC,0x17,0x09,0xB0,0xE1,0xB1,0x0B,0xC7, -0x89,0xC0,0x3C,0x8F,0xC0,0x21,0x72,0x76,0xD6,0xE9,0xAB,0xA6,0x76,0x82,0x24,0x2D, -0x81,0xD3,0x22,0xA6,0x08,0xC7,0x3D,0x96,0xC4,0x8C,0x3C,0x6C,0x85,0xD1,0x7B,0x93, -0x4A,0xBE,0x25,0xF7,0x73,0x79,0xE4,0x8C,0x35,0x75,0xCF,0x17,0x7E,0xE5,0x84,0x4C, -0x4E,0x75,0x1D,0xA5,0xAA,0x47,0xB4,0xC8,0xBF,0xE4,0x56,0x0E,0x5B,0x5E,0x14,0xAE, -0xE7,0x5D,0x5D,0xA2,0x1C,0x42,0xEB,0x3C,0xCD,0xE5,0xB1,0x90,0x43,0xEF,0x8B,0x4E, -0x78,0xBB,0xC5,0x7C,0x1A,0xF4,0x18,0x85,0x67,0xF1,0x34,0x46,0xF5,0x1B,0x8E,0x11, -0x9B,0x0A,0x59,0x18,0x28,0x0A,0x16,0x23,0x4C,0x3E,0x83,0x64,0x36,0x2B,0x23,0x05, -0x58,0x74,0x40,0x60,0xA9,0xAC,0x8E,0x7F,0x62,0xBE,0xC2,0x62,0xA2,0xAF,0xE7,0xD5, -0x08,0x34,0xE7,0xBD,0xDD,0xE3,0x5B,0xC9,0x31,0x4D,0x9D,0xDC,0xB0,0xBC,0xD4,0xF0, -0x93,0x19,0x47,0x31,0x37,0xC4,0x9B,0x59,0xA2,0xF3,0x38,0xE2,0x33,0x25,0x7E,0xCC, -0x8A,0x3E,0x68,0x0D,0x2D,0x57,0xDF,0x2D,0xA9,0xB9,0x93,0x0F,0x64,0x91,0x17,0x08, -0x1A,0xFE,0x82,0x2A,0x96,0xAF,0x28,0xB0,0x7C,0xFD,0x2E,0x70,0x81,0xAD,0xC1,0xC4, -0x40,0xBC,0x18,0xF8,0xFC,0xC9,0xEE,0x0E,0x3A,0x07,0x36,0x31,0xCE,0xA8,0x37,0xE0, -0xAE,0x3A,0xD5,0x43,0x46,0xD6,0x87,0xE1,0xD3,0xA6,0x5D,0x82,0x53,0x39,0xB4,0xCF, -0x0A,0x25,0xC4,0x9B,0x7A,0x3E,0x1B,0x99,0xFD,0x26,0x1C,0x84,0x88,0xB8,0x86,0x3B, -0xB3,0xD6,0xC2,0x2D,0x2C,0xB0,0x41,0x5F,0x00,0xF9,0x94,0x27,0x4F,0xF4,0x91,0x78, -0x4F,0x9A,0x6A,0x01,0x11,0xBF,0x43,0x55,0xDE,0xF7,0x82,0xB5,0xCC,0x6D,0x3B,0x44, -0xC5,0x83,0xFB,0x98,0xDF,0xEF,0xFF,0x0C,0xF6,0x6C,0xB7,0x69,0x0C,0xEA,0x7D,0x6A, -0x13,0x02,0xEB,0xA7,0x44,0xDA,0x23,0x24,0x57,0x32,0x99,0x52,0xB1,0xCE,0x33,0x6E, -0xB6,0xF2,0x8D,0xDB,0x21,0x4D,0xE9,0x36,0xE8,0x2F,0x5B,0x7B,0xB8,0xDB,0x74,0x91, -0x33,0xCD,0x6E,0xBB,0xAD,0x16,0xD9,0x03,0xE9,0x58,0xFF,0x94,0x55,0x80,0x02,0x3C, -0x2C,0x30,0x5A,0xF3,0xC1,0xC6,0xEC,0x04,0xA3,0x84,0x9C,0x0D,0xF6,0xAC,0x65,0x2B, -0xCB,0x4A,0xFE,0xC5,0x4E,0x76,0xE6,0x86,0x50,0x5E,0x49,0x67,0xD2,0x65,0x12,0x57, -0x06,0xFD,0xE2,0xE0,0xC7,0x70,0x1F,0xBD,0xDA,0xCF,0xD0,0x7E,0xD4,0xDC,0xA4,0xA4, -0x88,0x2F,0x4B,0x2B,0x00,0x67,0x5C,0xF1,0x9D,0x42,0x6C,0xD0,0xE8,0xA4,0x4C,0x38, -0xE6,0xB2,0x2A,0x06,0x30,0x95,0xF6,0x92,0x84,0x6D,0x50,0xF7,0x8B,0x0F,0x6D,0x01, -0x3B,0xDE,0x70,0x92,0x52,0x53,0x51,0x4B,0x5C,0x78,0x32,0xBF,0x12,0xE2,0x54,0x79, -0x98,0xF4,0x0D,0x9A,0x23,0x41,0x4D,0xF3,0x6A,0xA0,0xEB,0x71,0x71,0x49,0x75,0x40, -0x09,0xDB,0x90,0x19,0xF2,0xDF,0x7C,0xD0,0xA5,0x9F,0xE8,0xD7,0x24,0x38,0x10,0x20, -0xA1,0x1C,0xA7,0xBA,0x7C,0x88,0xE8,0x20,0x95,0x5C,0x45,0xC3,0xD9,0xB5,0x59,0x0C, -0x0D,0x10,0xA8,0x4B,0x1B,0x13,0x86,0xF7,0xDF,0x80,0x26,0x5A,0x92,0xCC,0x15,0x7F, -0xC1,0x48,0xC3,0xCA,0xC9,0x66,0x8D,0x63,0x5D,0x0F,0x96,0x50,0x01,0x83,0x80,0xC2, -0x97,0xD2,0x7F,0x63,0xA5,0xB6,0xB8,0x64,0x90,0x13,0xB3,0xE7,0xD1,0xD2,0xF9,0x6D, -0xE4,0xA3,0x09,0x20,0x0E,0x71,0xCE,0x2F,0x1F,0xCD,0xDC,0xDA,0x79,0x2E,0xD5,0x21, -0xAA,0xF1,0xED,0x11,0x3F,0x64,0xFA,0x3E,0x69,0xF4,0x69,0x8F,0xB4,0xC0,0x6E,0xA7, -0xA0,0xF3,0xD0,0x1E,0x89,0x61,0xA5,0xCA,0x8E,0x50,0x5F,0xF5,0xB3,0x0B,0x3F,0xCA, -0x71,0x47,0xAC,0xF1,0xBC,0xCE,0xC6,0xA7,0x46,0x03,0x8C,0x66,0xC6,0xCF,0x97,0x81, -0x3F,0x15,0x48,0xC0,0x87,0x77,0x37,0x14,0xEB,0x7B,0xD9,0x85,0x93,0xBE,0xF2,0xE1, -0x02,0x36,0xDA,0xB2,0xA4,0x51,0x26,0x16,0x2A,0x41,0x87,0xEA,0xBF,0x10,0x25,0xFC, -0x6E,0xBA,0x98,0xB9,0xAB,0xA0,0x2A,0xBA,0x28,0x62,0xA1,0xFB,0xF8,0x72,0x73,0xB9, -0x48,0xAF,0x06,0xD1,0x29,0xED,0x88,0x51,0xF8,0x69,0xEA,0xA0,0x2B,0x94,0xE1,0x2C, -0x07,0x12,0x95,0x44,0x49,0x27,0x8B,0x4D,0x66,0x86,0x90,0xA9,0x5F,0x22,0xAE,0xF9, -0xFA,0xB1,0x4A,0xCC,0x9E,0x0F,0x49,0xD7,0xF0,0x77,0xC3,0xB3,0xFA,0xB7,0x7F,0x1D, -0xFB,0x5E,0x3D,0x68,0x60,0xAD,0x5F,0xED,0xD4,0xCA,0x8D,0xB7,0x39,0x87,0xD2,0x09, -0x9C,0x3F,0x35,0xC8,0xB5,0x89,0x39,0xB2,0x8D,0x04,0xDD,0x0B,0xAF,0xC6,0x1A,0x7D, -0x9A,0xE5,0x2E,0xBC,0x74,0x28,0x89,0x47,0x41,0x6F,0x5C,0x53,0xAE,0xB4,0xFD,0xE3, -0x01,0xC8,0x8E,0x30,0x6B,0xE6,0x04,0x3D,0x56,0x45,0x3D,0xBD,0xD8,0xC7,0xBE,0x92, -0x73,0x56,0x8F,0xD7,0xEA,0x40,0x9C,0x61,0xE3,0x65,0xF0,0x96,0xB6,0x05,0x62,0x03, -0x5A,0x65,0x63,0x46,0x15,0x05,0x14,0x29,0xA6,0xCB,0x6A,0x29,0x9B,0xD9,0x52,0x80, -0x17,0xC9,0xD3,0xF5,0xC8,0x81,0x13,0x11,0x12,0x9C,0x03,0xED,0xBD,0xD5,0x29,0x58, -0xDD,0x4B,0xA3,0x00,0x02,0x6B,0xF8,0x34,0x6F,0xEF,0x1D,0x55,0x1F,0x8B,0xA9,0xD1, -0xE0,0x68,0x31,0x72,0x72,0x9E,0x7A,0xFE,0x68,0x83,0xCD,0x60,0x56,0x37,0xE9,0x06, -0xD8,0x6F,0xEC,0xF6,0x3B,0xDE,0xAD,0x42,0xFF,0x05,0x3A,0x95,0x66,0x54,0x1B,0xAC, -0xF5,0x97,0x38,0x35,0x8A,0x8A,0x9F,0x7D,0x1C,0x99,0x5E,0x24,0x3A,0x30,0x39,0x33, -0x1D,0xCB,0xEE,0xFA,0x94,0xA3,0x8C,0x75,0x53,0x0A,0xCB,0x99,0xBB,0x6C,0x9F,0xAB, -0xAB,0x1E,0x9A,0xB5,0xBA,0x78,0x35,0x1E,0xF9,0x1E,0x4E,0x4F,0x57,0x45,0x0E,0x98, -0x5B,0x8A,0x14,0xE2,0xDE,0x08,0x61,0x7E,0x18,0xA1,0x0C,0xEF,0xE6,0x7A,0x5A,0xAA, -0x8F,0x1A,0x27,0xFB,0x0B,0x2C,0x07,0x21,0xB9,0xFF,0x22,0xD4,0xB2,0x79,0xD8,0x54, -0x70,0xA8,0xDB,0x55,0x10,0x58,0xDD,0x27,0x26,0x67,0xFC,0x32,0xB7,0x77,0x85,0x9D, -0x9E,0x2E,0x16,0xEE,0x91,0xFE,0x45,0x7B,0xEE,0x34,0x2F,0xA1,0x19,0x32,0x1F,0x22, -0xC3,0x59,0xE0,0xEC,0x61,0x4A,0xC1,0x9F,0x15,0xF0,0xD3,0xD8,0x9D,0x60,0xE4,0x73, -0x43,0x42,0x4C,0x7A,0x7D,0x6F,0x76,0x52,0xC2,0x97,0x48,0xB6,0x51,0xFC,0xB8,0x6B, -0xBB,0xC5,0xDC,0x04,0x54,0xE5,0xA2,0xF2,0x19,0xD6,0xA8,0x00,0xE3,0x74,0x07,0x63, -0x9E,0xBE,0xA9,0xD6,0x4D,0xCD,0x89,0x17,0xFF,0xE7,0xF4,0xA9,0xFE,0xE2,0xBA,0x6C, -0xDF,0x28,0xDD,0x1E,0x83,0x94,0xD9,0xAB,0x99,0x32,0xAB,0x8D,0x9F,0x85,0xB2,0xCC, -0xAD,0x29,0x43,0xF9,0xE8,0x58,0x58,0xF3,0x29,0xF3,0x5E,0x2C,0x45,0x83,0xA9,0xB8, -0xDE,0x5F,0x32,0xBA,0xC2,0x4F,0x39,0x1D,0xA4,0xEC,0x24,0xE2,0x68,0x18,0x09,0x34, -0x6B,0x7F,0x19,0x77,0xE5,0x31,0xA5,0x5B,0x8A,0x2C,0xA3,0xA4,0x1A,0x77,0x1F,0xBD, -0x8D,0xAC,0x8C,0xE5,0xEE,0xE1,0xEE,0x00,0x28,0xAE,0x48,0xE9,0x0F,0x51,0x81,0xD5, -0x3B,0xD8,0x59,0xAA,0x01,0x7F,0x94,0x09,0x2B,0xCE,0x54,0x23,0xB2,0x1E,0x12,0x40, -0xAE,0x7D,0xBD,0x7B,0xF0,0xE9,0xC7,0x13,0xE9,0x19,0xCE,0x0B,0x11,0xE3,0xCD,0xC8, -0x12,0x34,0x6A,0x3B,0xD7,0x97,0x5B,0x55,0x05,0x0E,0xD3,0x65,0x53,0xB9,0x57,0x1A, -0xD6,0x41,0x21,0x93,0x84,0x5F,0x88,0xC6,0x66,0x3B,0xBE,0xCA,0xE7,0x68,0x2B,0xF5, -0xA7,0x14,0x41,0xF6,0xFC,0xF2,0xDD,0x25,0x97,0x00,0x0D,0x73,0xB5,0x26,0xCF,0xC4, -0x09,0x38,0x5C,0x21,0xC6,0x33,0x83,0x4A,0x86,0x23,0x0F,0x55,0x96,0x1B,0x5D,0xB6, -0x9A,0x86,0x62,0x84,0x88,0x44,0x92,0xF0,0x2D,0x4E,0x7A,0x62,0xE8,0xD8,0x44,0xCE, -0xCB,0x56,0xCD,0xFD,0x94,0x89,0xB7,0x47,0x18,0x22,0x7D,0xB2,0x72,0x8E,0xF8,0x67, -0x37,0xFE,0x81,0xD1,0x4A,0x06,0xD8,0x7A,0x6E,0x89,0x36,0x75,0x03,0xFD,0x8E,0x24, -0xD9,0x33,0x07,0x6A,0x73,0x70,0x6D,0x2F,0x5A,0xB8,0x27,0x60,0x51,0xB3,0x6A,0x15, -0x2B,0x9E,0x82,0x1B,0xB3,0xF7,0x2B,0x01,0xE5,0x16,0x62,0xFA,0x8E,0x87,0x91,0xEA, -0x79,0x1A,0xD3,0xE0,0x77,0x0C,0xD7,0x78,0x61,0xE6,0x86,0x4E,0xF9,0xDA,0x67,0xE8, -0xE5,0xD6,0xCB,0xBC,0x10,0xDB,0x4C,0x16,0xD6,0xFA,0x4B,0x6B,0xE2,0x5A,0xCB,0x7E, -0x6D,0x64,0xC3,0x03,0x51,0x00,0xAC,0xA0,0x02,0xD3,0xEB,0xE1,0x65,0xA2,0x5B,0x00, -0x5C,0xD0,0x38,0x0A,0x99,0xE0,0x4A,0xEF,0x95,0x3D,0x07,0x7C,0xBE,0xB2,0x1D,0xB1, -0x63,0x61,0x0A,0x5E,0x26,0x01,0x08,0x4F,0xC1,0x59,0x67,0x0C,0x2A,0x42,0x93,0xE6, -0x60,0x35,0xF4,0xDC,0x78,0xA0,0x26,0x74,0xA7,0x8C,0x38,0x28,0xBA,0x96,0xA0,0xFF, -0x6E,0x30,0x3D,0x81,0xE0,0x3F,0xF8,0x92,0x7D,0x97,0x3E,0x5C,0x08,0x69,0x5C,0x51, -0x2E,0xD1,0xA6,0xED,0x04,0x71,0xC9,0xC0,0xDA,0xF5,0xE7,0x9A,0xC8,0xF9,0xB6,0x76, -0x4D,0xE1,0x0C,0x1F,0x82,0xE6,0x3E,0x35,0x0D,0xBC,0x5B,0xDA,0xCF,0xC1,0x6B,0xF2, -0x29,0xBD,0x93,0x3D,0x1E,0x05,0x5A,0x84,0x3F,0x0D,0x64,0x8E,0x37,0xEC,0xBF,0x31, -0x75,0x3C,0x0B,0x9B,0x8D,0x4A,0xCF,0x39,0x2C,0x13,0x6C,0xA7,0x6B,0x04,0x69,0xFE, -0x1C,0x31,0xA3,0x66,0xE2,0xFA,0xF4,0x36,0x3C,0x6D,0x78,0x44,0xF6,0x6A,0x08,0xD3, -0xC0,0x1C,0x20,0x56,0x4C,0xBF,0x6E,0x89,0xB4,0x92,0x30,0x01,0xC5,0x43,0xE4,0x42, -0xCC,0x3A,0xF8,0x2D,0x1B,0x0B,0x07,0x4D,0xB3,0x4F,0x08,0x85,0x69,0x0E,0x54,0xF1, -0x92,0x98,0x71,0xAD,0x68,0x76,0x19,0xF5,0x58,0x85,0x2D,0x6F,0xEB,0xC4,0x24,0x04, -0xB4,0x06,0x64,0xC5,0x7A,0x65,0x2A,0xD0,0x88,0x11,0xA9,0xAB,0x5E,0x03,0x05,0x2E, -0xB1,0x49,0x40,0x33,0x80,0x23,0x32,0x91,0x4E,0x7B,0x17,0xCD,0x1C,0x59,0x9F,0xFC, -0x20,0xD4,0x6F,0xB0,0x21,0xCA,0x59,0x22,0x27,0xC1,0xF8,0xD2,0x9A,0xB7,0x52,0x47, -0xA1,0x0F,0x9B,0x82,0xA1,0xE4,0x18,0x24,0xBB,0xFD,0x80,0x3A,0x85,0x13,0x43,0x9F, -0xB6,0x25,0x75,0xE3,0x39,0x7B,0xC6,0xC2,0x2E,0x2E,0x66,0xA8,0xD4,0x41,0xC7,0x64, -0xA5,0x37,0x50,0xD0,0xCA,0x28,0x99,0x7C,0xFB,0x5A,0xD0,0xE7,0x94,0x11,0x60,0xB9, -0x3C,0xB4,0x6C,0x7A,0x74,0xBB,0x3C,0x42,0x3B,0xB0,0x40,0xC0,0xB9,0x8A,0xC0,0x35, -0x88,0xE3,0xA8,0x13,0x3E,0xB0,0x97,0xAF,0x7F,0xAA,0x34,0x53,0x9E,0x93,0xEF,0x09, -0x47,0xDC,0x0E,0x10,0x63,0xA6,0x52,0xAE,0x14,0x2D,0xD1,0x43,0xD5,0x57,0x9A,0xA1, -0xF6,0xC4,0xEE,0x8F,0x62,0xD4,0xB5,0x30,0x4B,0x9B,0x25,0x46,0xFD,0xFE,0xDA,0xA6, -0x02,0x72,0xB1,0x8A,0x76,0x7E,0x30,0xE6,0xB8,0x9D,0x9C,0xF0,0x1B,0x61,0x42,0x78, -0x32,0xB1,0xA5,0x27,0xB9,0x55,0x87,0xC4,0xB6,0xAF,0x3A,0x0E,0xAA,0x82,0xDE,0x1C, -0xA8,0x66,0x67,0x0F,0x90,0xF5,0x0D,0x10,0xD7,0xA7,0x5D,0xAE,0x3E,0x72,0x50,0x4B, -0x9B,0xF1,0x8D,0x20,0x6E,0xCF,0xAF,0x06,0xD2,0x47,0x6F,0x25,0x60,0x90,0xBB,0x8B, -0xC8,0x02,0x33,0x7F,0x0B,0xDD,0x38,0xCC,0x9D,0x8F,0x8F,0xC3,0x73,0x98,0xA5,0xA2, -0xFC,0xF9,0xEC,0x80,0xF2,0x2C,0xCB,0xB7,0x44,0xF4,0x95,0x7D,0x1E,0x53,0xA2,0xF3, -0x50,0xF6,0xE0,0x71,0x27,0x73,0xEF,0xD1,0xED,0xA4,0xEA,0x45,0x54,0x81,0x8A,0x9E, -0x21,0xA3,0x80,0x14,0x18,0xBC,0xEC,0x77,0xDC,0x75,0xC9,0xDB,0x7B,0x10,0x17,0x1D, -0xAC,0x5E,0xAC,0x5D,0xDB,0x8C,0x41,0x63,0x48,0xFB,0x39,0x8C,0xBC,0xB8,0x20,0xBE, -0xD5,0x15,0xDF,0x11,0x07,0xC6,0x22,0xFA,0x26,0x9C,0xEE,0x17,0xB0,0x14,0x2F,0x4F, -0xC5,0x53,0x04,0xA0,0x48,0xC3,0xD4,0xDE,0xBF,0x40,0xA4,0x74,0x5D,0x1F,0x65,0xE4, -0xBD,0x6F,0x98,0x48,0xC5,0x84,0x68,0x70,0xFC,0x87,0xE8,0x63,0x8F,0x91,0xCC,0x2F, -0x16,0x0C,0xA1,0x69,0xEA,0x9D,0x54,0x57,0x56,0xB7,0x8B,0x91,0x12,0xFF,0xAD,0x02, -0xFB,0x95,0xD9,0x50,0xFF,0x45,0x36,0x1F,0xF1,0xD5,0x52,0x57,0x7E,0x22,0xF7,0x96, -0xC2,0x3F,0x31,0x70,0xA8,0xF1,0x5F,0xDB,0x49,0xA6,0x2F,0x49,0x52,0xAF,0x0A,0xDF, -0x99,0xD2,0x9C,0x06,0xDF,0xF0,0xFB,0x34,0x79,0x2A,0x1A,0x12,0x6D,0x2A,0xE9,0xBF, -0xB5,0x71,0x8B,0x61,0x03,0xBA,0x98,0xAD,0x4C,0x46,0x1D,0xC2,0x90,0x35,0xDD,0xF7, -0x7C,0x55,0xF7,0x16,0xD9,0x49,0x4D,0xC7,0x46,0xC9,0x9F,0x72,0xEA,0xD2,0x79,0xC1, -0xED,0xC8,0xD8,0x95,0x7E,0x19,0x90,0x87,0xE1,0xAB,0x46,0xB4,0x76,0xAA,0x45,0x29, -0x74,0x4B,0xE4,0x3F,0x70,0xC7,0x86,0x15,0xE3,0x96,0x4C,0xBB,0x3A,0x56,0xED,0x05, -0xF3,0x8B,0xCA,0x79,0xEB,0xEF,0xB3,0xC9,0x5F,0x58,0x15,0xEB,0x23,0xDC,0x7C,0x9C, -0xD7,0x36,0xCE,0x37,0xB5,0x4E,0x9D,0xF2,0x83,0xC3,0x3D,0xDE,0xA2,0x0A,0x6C,0xA3, -0xD7,0x7D,0xEF,0xA0,0xBC,0xED,0xCF,0xB1,0xD8,0x08,0xBA,0x0B,0x91,0x47,0x85,0x27, -0xA3,0xCB,0xA0,0x75,0xEC,0x4A,0x8F,0x6C,0xEB,0x1B,0xA8,0x2E,0xCE,0xB4,0xD6,0x99, -0x27,0x99,0x5B,0x24,0x3E,0x62,0xC5,0x01,0x1B,0x25,0x6E,0xF3,0x9F,0xB3,0x1D,0xF4, -0x3D,0xED,0xC8,0x60,0x27,0x4D,0xE2,0x3D,0x72,0x91,0x39,0x37,0x34,0xF9,0x16,0x19, -0xF6,0xBA,0xC5,0x15,0xF4,0x12,0x47,0xF4,0x3B,0x1C,0xC4,0x1B,0x3A,0x0D,0x8E,0xCA, -0x9C,0x04,0xA3,0xD3,0xAE,0x88,0x05,0x26,0xCD,0x19,0x8B,0x3F,0x22,0xF7,0xC8,0x8B, -0x70,0x2D,0x32,0xE0,0xBE,0xCE,0xDE,0x97,0x8A,0x0C,0x82,0xC0,0x10,0x2C,0x49,0x7F, -0x4C,0x55,0xDA,0x7C,0x1A,0xDF,0xC1,0x4F,0xB8,0x8D,0x59,0x34,0x51,0xAC,0x67,0x79, -0xCA,0xC2,0x2D,0x89,0x3D,0x36,0x3B,0x83,0x28,0x36,0x7C,0xD6,0xA7,0xE3,0x62,0x5D, -0x2A,0xF0,0xA6,0x8C,0xDF,0xDD,0x65,0x43,0x07,0x05,0xEB,0x3C,0x05,0x1D,0x58,0x4B, -0x79,0x38,0x75,0x1F,0xFE,0x2F,0x45,0xFB,0x88,0x51,0x74,0xB7,0xC3,0x7F,0x81,0xEC, -0x02,0x22,0xCB,0xC6,0x35,0x28,0x28,0xAA,0x77,0x65,0x8F,0x68,0x30,0x86,0x70,0x97, -0x16,0x88,0x4E,0x10,0x53,0x57,0xA6,0xAE,0x87,0x5B,0x49,0xB5,0xBD,0xEF,0x79,0x6B, -0xA0,0x7C,0x4B,0x4F,0xFA,0x17,0x8E,0xA9,0x18,0xEA,0x51,0x55,0x5A,0xEE,0x0B,0xF5, -0x22,0x97,0x06,0xED,0x2F,0x53,0xF1,0x14,0x2F,0x9F,0x3C,0xFE,0x8F,0x34,0xF8,0x9F, -0x10,0x31,0xF8,0xE3,0xCC,0xCF,0x40,0x70,0x82,0xAF,0xFF,0xEA,0x38,0xFB,0xD3,0xBD, -0x0A,0x45,0x6B,0xA7,0x3C,0x41,0xD4,0x27,0x40,0x10,0xE2,0xC3,0x60,0x48,0x29,0x2B, -0xCD,0x09,0x7C,0xE4,0xB2,0xE8,0x06,0xEC,0xA8,0x68,0xDE,0x5F,0xDC,0xC5,0x6E,0x85, -0x58,0xFF,0x5F,0xAA,0x8F,0x7A,0x25,0x9E,0x58,0x56,0x18,0x82,0x3E,0x72,0xE8,0x44, -0x3A,0x26,0x99,0x0D,0x52,0x20,0x49,0x0A,0x61,0xBB,0x81,0xFA,0x5C,0x67,0x30,0x0C, -0xF8,0x64,0xD3,0x87,0xBD,0x9A,0x20,0x15,0x1C,0x8C,0x2E,0xDB,0xE4,0x95,0x11,0x2C, -0x29,0x47,0x4D,0xB6,0x2C,0x07,0x0F,0x96,0x79,0xFD,0x7B,0xBB,0xE7,0xAA,0xDE,0x8A, -0x11,0x43,0x1F,0x7D,0xB9,0xA2,0xEB,0x47,0x19,0x78,0x98,0x84,0x2A,0x8A,0x6B,0xA1, -0x76,0x94,0x84,0x13,0x15,0xAD,0xE7,0xB6,0x55,0x01,0xD3,0xF7,0x49,0x56,0x21,0x38, -0x1B,0xE1,0xB3,0xB8,0xFB,0x60,0x61,0x0D,0x37,0xD9,0xC6,0xBF,0x8E,0xFD,0x6A,0x4E, -0x26,0xEB,0xBC,0xBA,0x07,0xC8,0x2D,0x21,0x9D,0x40,0x45,0x83,0x98,0xF3,0xB4,0xDC, -0x4E,0x90,0xD6,0xD8,0xA7,0xE1,0xF9,0xAB,0x3F,0x7A,0xBB,0x95,0x95,0x38,0xE3,0xA9, -0xD5,0xB8,0xE3,0x04,0x71,0xF1,0x78,0x94,0x71,0x5E,0x06,0x91,0xBB,0x66,0x42,0x92, -0xA7,0xB7,0x1A,0x22,0x87,0x64,0x36,0xB7,0x0E,0x34,0x5F,0xC7,0xF3,0x52,0x5D,0x6F, -0x2B,0x82,0x41,0x12,0x02,0x87,0x09,0xD7,0x78,0x6F,0xB2,0x6A,0x57,0x25,0x5C,0x80, -0x44,0x32,0x7A,0x1D,0x7F,0xF4,0xB1,0xC9,0x1E,0xD1,0xD8,0xAC,0x45,0x54,0xE4,0x9C, -0xCB,0xB0,0xCA,0x17,0x98,0x50,0xCB,0xFF,0x69,0x18,0xFC,0xD0,0x90,0x8E,0x17,0xF6, -0x23,0xE5,0xE1,0x73,0xFC,0x0C,0x54,0xDD,0xED,0x20,0x21,0xD7,0xE6,0x63,0x4C,0x5B, -0xA1,0x0E,0xAC,0xD1,0xDA,0x92,0x41,0xB5,0x7F,0xC6,0xF2,0x42,0xAD,0x68,0x9C,0x00, -0x94,0x63,0x03,0xB2,0x4E,0x40,0x4A,0xC0,0x73,0x03,0xF0,0xE6,0xCF,0x7D,0x44,0x48, -0x43,0xF9,0x2B,0x70,0xB3,0x9F,0xE9,0x48,0xA2,0x96,0x55,0x02,0x9C,0x8C,0xD2,0x52, -0xBF,0x06,0x85,0xC2,0x28,0x3F,0xC4,0xC4,0x16,0x72,0xA5,0x86,0xD1,0x0E,0x39,0xF0, -0x6A,0x59,0xA1,0xA4,0x4F,0x37,0xA5,0x64,0xDE,0x33,0x33,0xF2,0x81,0xC0,0x60,0x4C, -0x61,0x89,0xEA,0xFF,0xB5,0x84,0x33,0x3C,0xB2,0x73,0xD2,0x69,0x31,0x4F,0xE2,0x46, -0x7E,0xF3,0x24,0x72,0x2E,0x24,0x1E,0xB0,0xF1,0x00,0xA4,0x18,0x50,0x65,0xF5,0xA8, -0xAF,0xD0,0xBA,0x43,0x23,0x75,0x29,0x6F,0xF5,0x66,0xDB,0x96,0xBF,0x19,0x24,0x1C, -0xC3,0xD7,0x6A,0x76,0x75,0xC9,0xB3,0xC6,0x8C,0x37,0x0B,0x39,0x9A,0x05,0xE9,0xAB, -0x35,0x8A,0x68,0x01,0x1E,0xE7,0x0A,0x1D,0x62,0x74,0xBE,0x5C,0x65,0xFE,0xDD,0x74, -0x04,0x9B,0x7D,0x35,0x50,0x03,0x58,0x2C,0xD9,0x9A,0x73,0xDA,0xD0,0xC7,0xAB,0x21, -0xB6,0x13,0xC2,0x3D,0xC5,0xA6,0xBC,0xFD,0x9B,0x7B,0xCC,0x7A,0x80,0x09,0xF2,0x9D, -0x83,0x7E,0x6D,0x5E,0x14,0xDA,0x08,0x12,0x33,0xBF,0xB9,0x31,0x53,0x5A,0x3A,0x0E, -0xAE,0xA2,0x5D,0xDD,0xB6,0xD0,0xCD,0xBE,0x29,0xA4,0xB5,0x07,0x8B,0x4B,0x9E,0x11, -0x8D,0xA0,0x7B,0xCC,0x8B,0x42,0xEE,0xCC,0xFE,0x0A,0x99,0x1A,0xD5,0x71,0x5F,0x7E, -0xD4,0xCA,0x04,0x9A,0xEF,0x1E,0x71,0xEE,0x56,0xCE,0xEC,0x51,0x00,0xAB,0xAC,0x14, -0xB0,0xAA,0x74,0xCE,0x1F,0x90,0xE5,0xB9,0x02,0xF1,0x5D,0x63,0x42,0x14,0x4D,0xB4, -0x1A,0x93,0x54,0x26,0xC4,0xD1,0x53,0x59,0x89,0xC3,0xBD,0x66,0xF0,0x6D,0x92,0xC9, -0x01,0x95,0x20,0xFC,0x3B,0x2D,0xE1,0xF7,0xD4,0xCD,0xB8,0xAF,0x2E,0xF5,0x0D,0x2F, -0x6B,0x2B,0x46,0x3A,0x77,0xEA,0xA2,0xE0,0xE8,0xD4,0x97,0x88,0xDF,0xFA,0xA1,0x23, -0x9B,0xCF,0xF2,0xBE,0x2A,0x1C,0xD5,0xE2,0x13,0x86,0x13,0xD9,0x23,0x3E,0x5A,0x5A, -0x5E,0x46,0xE9,0x59,0x0F,0xD6,0x3E,0x08,0x0B,0xC0,0xE9,0x98,0xA4,0xDC,0xAD,0xFB, -0x77,0xE6,0x63,0x8D,0xF7,0x46,0xB9,0x76,0xB4,0x48,0x5B,0x90,0x44,0x9D,0x76,0x4D, -0x1F,0x9D,0x09,0xEF,0xEE,0x69,0x9E,0x4A,0x5E,0x6D,0x91,0x7B,0x66,0xC1,0x12,0xD2, -0xE0,0xD5,0x4C,0x67,0xC7,0x85,0xAD,0xDB,0x6E,0xB1,0xBC,0xF8,0xFC,0x6F,0x57,0x6D, -0x08,0x80,0x67,0x03,0x69,0xA9,0xB0,0x0C,0xA5,0x3F,0x15,0x2A,0x11,0xE5,0xDB,0xAE, -0xC2,0xA5,0x8D,0xE8,0xA3,0xD9,0x32,0xF9,0x25,0x61,0xB7,0xA3,0x0F,0x96,0xA6,0x16, -0x31,0xF6,0xD2,0x56,0x6C,0xE6,0x94,0xFA,0x17,0xE0,0x6C,0x57,0x36,0x0F,0x4B,0x6E, -0x78,0x4A,0x92,0x81,0x54,0x3B,0x93,0x7E,0xE5,0x83,0x5C,0xFD,0xC1,0x89,0xDC,0x9B, -0x9E,0xC1,0xAF,0x77,0xA9,0xE4,0x30,0xF6,0x93,0xD8,0xB1,0x50,0xC7,0x00,0xE7,0x62, -0x80,0xC9,0x86,0x64,0x41,0x32,0x6C,0x39,0x35,0x84,0x30,0xC8,0x52,0x93,0xA8,0xDF, -0x03,0x45,0x81,0x05,0xDD,0xA5,0x84,0xDD,0x57,0xC4,0x3C,0x15,0x22,0x0B,0x6F,0x78, -0x01,0x32,0xDC,0xF3,0x59,0x11,0x74,0x39,0xAC,0xBD,0xC0,0xD1,0x70,0xF0,0x3E,0xFC, -0xEB,0xD9,0xF9,0x39,0xBE,0x0A,0xB1,0xB0,0x5B,0x1C,0x47,0x33,0x36,0xE8,0x7F,0x06, -0x95,0x5E,0x01,0xA9,0x6A,0x80,0x98,0x10,0x80,0xAA,0xA7,0x72,0xBE,0x57,0x77,0xB4, -0x0D,0x96,0x19,0xF1,0x7D,0xE7,0x3B,0x3C,0x5A,0xF3,0xE3,0x44,0x38,0xB5,0xB6,0x03, -0x5A,0x02,0xE9,0x7F,0x29,0x97,0x5F,0x5C,0xBB,0x53,0xA1,0xFB,0x07,0xE1,0x84,0xB2, -0xBA,0xB4,0x32,0x3E,0xC1,0xB7,0xF5,0x65,0x64,0x2E,0x13,0x82,0x35,0x6A,0x81,0x52, -0x14,0x06,0xCD,0xC2,0x1B,0xC3,0xEE,0x63,0xFB,0xC8,0xCD,0x1A,0x3B,0x37,0x48,0x57, -0x19,0x73,0x9A,0x09,0xB1,0x31,0xDE,0x00,0xBD,0x89,0xD5,0xE0,0x16,0xF4,0xB0,0x83, -0x9D,0x74,0xA2,0xD4,0x66,0x71,0x97,0xBC,0x2A,0x7C,0x22,0x66,0x75,0x06,0x1A,0xB3, -0x15,0xD7,0x5F,0x0B,0x90,0x4C,0x71,0x37,0x11,0x85,0x24,0xEF,0x2E,0x70,0xB7,0x5E, -0xDA,0x8B,0xB7,0xDD,0x83,0x65,0x6F,0x3F,0x5E,0x38,0xB1,0x7C,0x72,0xD6,0x2F,0xDF, -0xA9,0x79,0x18,0x86,0x08,0xEA,0xF0,0x6B,0xE4,0x35,0x85,0x2E,0x9B,0xBD,0x9C,0x7E, -0x38,0x4A,0x31,0x6A,0x80,0xAF,0x0F,0x23,0xA1,0x8A,0x1F,0x80,0x47,0x8D,0x1F,0x53, -0xEF,0x57,0x9F,0x46,0xE4,0x84,0xE7,0x76,0x2D,0x49,0xF2,0x0A,0xC9,0x46,0xCD,0xFA, -0x1A,0xD5,0x55,0x36,0x0F,0x6E,0x2D,0x53,0x50,0xF1,0xEC,0x79,0x97,0xC6,0x44,0x58, -0x27,0x23,0xDE,0xD0,0x25,0x66,0x50,0xF0,0xCF,0x17,0x32,0xE1,0x84,0xF5,0x61,0x4A, -0x87,0x42,0xB9,0xD8,0x43,0x42,0x85,0xAF,0x96,0xAB,0x62,0x2F,0xC5,0x3D,0x15,0xDC, -0xDF,0xD4,0x43,0x6B,0x18,0x09,0x8E,0x7F,0x14,0xA1,0xD2,0xA0,0x85,0x51,0x8E,0x3D, -0x53,0xF9,0xD8,0xCB,0x95,0xC7,0x91,0x05,0x03,0x4F,0xB3,0x8A,0xF6,0x12,0xFF,0x4B, -0x3E,0xB3,0x0A,0xE3,0x94,0x02,0xCC,0x13,0xBA,0xBC,0x05,0x8C,0xD6,0x0E,0x30,0xCE, -0x56,0xA6,0x2C,0x7D,0x36,0x4F,0x4E,0xF8,0x6A,0xE7,0x4E,0x87,0x30,0x9C,0xA5,0x1D, -0x23,0xAD,0xB8,0xAF,0x55,0xE0,0x7B,0x95,0xB2,0xAF,0x2C,0x92,0xF5,0x90,0x01,0x1F, -0xAB,0x0E,0x45,0x70,0x97,0xC8,0xAC,0x0F,0x24,0xB5,0x7F,0x63,0x60,0x41,0xE5,0xBA, -0x1E,0x5B,0x33,0x49,0xDA,0x21,0x59,0xE5,0x04,0x7A,0x63,0xE6,0x8D,0x78,0x9D,0x23, -0xF1,0xEF,0xE2,0x35,0xB9,0x8E,0x6C,0x88,0xCC,0xE9,0xB0,0xB5,0x49,0xD0,0xD6,0x56, -0x5D,0x2A,0x40,0x3F,0x3A,0xBE,0x41,0x54,0x68,0xF6,0x68,0xA4,0x52,0xCA,0xE0,0x5A, -0x2F,0x09,0x7D,0xAD,0x2B,0x98,0x62,0x56,0xA9,0x99,0x36,0x9E,0xFC,0x1D,0xFD,0x76, -0x8C,0xCE,0xD5,0x9A,0xA4,0x59,0x40,0x26,0xD2,0xFB,0x5C,0xF6,0x90,0x16,0x71,0x34, -0x25,0x54,0x83,0x26,0x91,0x89,0x2C,0x21,0x1F,0x4C,0x79,0xEA,0xC1,0x6F,0xDE,0xE4, -0xFE,0xED,0xE8,0x08,0xE6,0x8B,0xDA,0x7C,0x2B,0x93,0x86,0x11,0x82,0x81,0xBB,0x51, -0xCF,0xBF,0xA6,0xEC,0xD2,0x9E,0xEB,0x6D,0x5D,0xC6,0x33,0x28,0x6C,0x3A,0x3D,0x9C, -0xF6,0xC7,0x4B,0x75,0x60,0x30,0x17,0x92,0xE7,0xCB,0x07,0x7A,0x7A,0xFF,0x3C,0xC1, -0x75,0xE8,0xDA,0xE8,0x51,0xAE,0xC6,0xB1,0x28,0x6D,0x04,0x45,0x0B,0x9A,0x5C,0x94, -0xA4,0x0C,0x4F,0x4D,0x9A,0xFC,0xFE,0xB5,0x9D,0x46,0xC9,0x65,0x8E,0xFA,0x63,0x77, -0x55,0x00,0xE3,0x42,0xF4,0x67,0x99,0x62,0xD7,0xDF,0xAA,0xB9,0xF7,0xB6,0x10,0x3C, -0xC4,0x33,0xCA,0xAE,0x40,0x88,0xE5,0xB3,0xDF,0xCC,0x83,0xA7,0xE6,0xA3,0x24,0x0D, -0x0F,0xE1,0x44,0x07,0x03,0x9F,0x22,0xFF,0x98,0x62,0x3F,0x2A,0x9E,0x4B,0xB8,0x31, -0x7D,0xC2,0x79,0x95,0x4D,0xBC,0xB7,0x09,0x1E,0xA3,0xDD,0x9D,0xA0,0xBB,0x65,0xF7, -0xE9,0xAE,0xA4,0xCF,0xEA,0x7A,0xD5,0xD0,0xC6,0xEB,0xBF,0x88,0x4D,0x82,0x1D,0x6E, -0x54,0xD1,0x71,0x8B,0xC5,0xF9,0x48,0x41,0xAB,0x88,0x10,0xBD,0xC2,0xED,0x20,0xB0, -0x34,0xEE,0xF4,0x68,0xF5,0xA2,0xC4,0x74,0xAA,0x67,0xB4,0xCA,0x99,0x9B,0x8D,0x5D, -0x2A,0x56,0x89,0x1B,0xFA,0x99,0xAB,0xC4,0x12,0x7B,0xA6,0xBB,0x27,0xFD,0x4B,0x37, -0x1C,0x2C,0x6E,0xBF,0xF0,0x29,0x24,0x46,0xE1,0x11,0x73,0x61,0xEE,0x8A,0x37,0x13, -0xEE,0x86,0x0D,0x8F,0x5F,0x50,0xF4,0x17,0x9C,0xA9,0x6D,0x12,0x2F,0xD4,0x58,0x29, -0xC2,0xCA,0xF1,0x27,0x5D,0x5F,0xC9,0x1D,0x42,0x3B,0x7B,0x1C,0xB6,0x7E,0x64,0xAA, -0x48,0x1E,0x51,0x0E,0x3F,0x35,0xA1,0x66,0x15,0x4E,0x76,0xD7,0x8C,0xDC,0x72,0x54, -0x77,0x9F,0x87,0x1E,0xE3,0x00,0x3A,0x4E,0xB4,0x75,0x58,0x89,0xA8,0x92,0x76,0xE9, -0x17,0xA0,0x02,0xFD,0xF2,0x26,0x19,0x4C,0x78,0x2D,0xD9,0xE2,0xEA,0xD8,0xFC,0x2B, -0xC5,0xE2,0x58,0x67,0x34,0x40,0x73,0xF2,0x3E,0x6C,0xC1,0x18,0xEF,0x2E,0xD8,0x64, -0x74,0x39,0x48,0x21,0x07,0xD1,0x9F,0xDB,0xBF,0x98,0xF3,0xC3,0xFA,0x69,0x27,0x6D, -0xAC,0x26,0xEC,0x30,0x9B,0x39,0xA3,0xA3,0x91,0x9E,0xB2,0x43,0x7B,0x5B,0xD3,0xB6, -0x52,0x28,0x4A,0x02,0x47,0x0C,0x38,0x8B,0x73,0xC0,0x72,0xA8,0xFE,0x3B,0xEC,0x55, -0x8F,0x68,0x1A,0xA5,0x92,0x43,0x4C,0x3D,0x20,0x7E,0x2D,0x5B,0xED,0x08,0xC9,0x47, -0xE2,0x22,0xC8,0x8D,0xC3,0xB8,0xC8,0x6F,0xEB,0x13,0x7C,0x5C,0xD3,0xF8,0x14,0x81, -0xDE,0x05,0xD1,0xA2,0x87,0x2B,0xD2,0x1B,0xE0,0xFE,0xD7,0x16,0x67,0x91,0xD0,0xD6, -0x4D,0x41,0xA5,0xB8,0xF7,0xAD,0xF9,0x7E,0x8F,0x8C,0x5E,0x00,0xAD,0x64,0x52,0xA6, -0x4A,0x69,0x0C,0xF8,0xA8,0xA8,0x4F,0x8A,0xFD,0x12,0xB9,0x01,0x1C,0xFB,0xB2,0xBE, -0xF7,0x16,0xD9,0xBC,0x0A,0xE5,0xCD,0x61,0x0E,0x78,0x6C,0xDB,0x69,0xCC,0x19,0xD3, -0x93,0xA7,0x3A,0x20,0x04,0x1B,0xFF,0xC7,0x25,0x5A,0xDB,0x14,0x59,0x61,0x0D,0x10, -0x60,0xDC,0xCB,0xD9,0x6E,0xCE,0x25,0x34,0x94,0xBA,0x44,0x0C,0xC0,0xCB,0x31,0x93, -0xA0,0x82,0x29,0x32,0x6B,0x45,0xC5,0x06,0xAE,0xAC,0xE6,0xF2,0xF3,0xE4,0xDB,0x04, -0x18,0xA2,0x08,0xC0,0xF8,0x96,0x96,0xCE,0x77,0x0B,0x20,0x90,0xA7,0x6B,0x50,0x9B, -0x49,0xCF,0xC3,0xC7,0x21,0x28,0xED,0xD4,0x86,0x70,0xD3,0x69,0x93,0x94,0x8F,0x60, -0x6C,0x78,0x4C,0xC3,0xA5,0x54,0x47,0x4B,0x9B,0x31,0xD0,0x83,0x7A,0x77,0x74,0xD9, -0xD8,0x2F,0x88,0xAA,0xEF,0x5F,0xEC,0xA6,0xDF,0x2B,0xA4,0x10,0x5D,0x6E,0x5B,0xE5, -0x41,0xAC,0xB4,0x00,0x51,0xCC,0x49,0x98,0x1F,0xC1,0x34,0x37,0x70,0xF5,0xFB,0x69, -0x52,0xBE,0x91,0x33,0xA2,0x9F,0x16,0x26,0xCA,0xB5,0x82,0x78,0x30,0xA5,0x5C,0xB4, -0x45,0x94,0x7F,0x52,0x3A,0x00,0xC8,0xC0,0x5F,0x66,0x64,0xEA,0x61,0xF7,0xD8,0x4F, -0xC4,0x4F,0x8B,0x60,0xBA,0x2E,0x89,0xC6,0xC3,0x5A,0x1C,0x02,0x7E,0x53,0xC9,0x97, -0x55,0xD2,0xA4,0xE3,0x1B,0xC7,0xE2,0x75,0xAA,0xE0,0xF3,0x1D,0xF8,0xBD,0x04,0x2C, -0x50,0x9D,0x80,0x15,0xE1,0x81,0xFA,0x34,0x6C,0x8A,0x4D,0x7B,0xBA,0xE7,0x9E,0xFE, -0x18,0x62,0x08,0x50,0x69,0xC8,0x1B,0x53,0xA0,0x6F,0x71,0xAD,0xFA,0xB7,0x39,0x23, -0x2C,0x99,0xD7,0xAF,0x90,0x39,0xE8,0x28,0x79,0x14,0x6B,0x13,0x97,0x7C,0x3E,0x72, -0x7F,0x6A,0x69,0xF0,0xF5,0x2B,0x7F,0xE2,0x36,0xDC,0x8B,0xF5,0x84,0x74,0x20,0x5B, -0x4C,0xFD,0x83,0xDF,0x0B,0x11,0xDD,0xF4,0x33,0x3C,0xB9,0x7E,0xDA,0x96,0xCB,0x9B, -0xD6,0x2A,0x41,0xF7,0x22,0xB1,0x57,0x20,0x52,0x34,0xDE,0xDE,0x4E,0x66,0x45,0xCC, -0xE6,0xE9,0x55,0x5A,0xED,0x9A,0xE0,0x02,0x5C,0x06,0x78,0x20,0xFF,0x85,0xD9,0xA8, -0x12,0x5F,0x0A,0x5F,0xF9,0x30,0x65,0xD4,0xAF,0x00,0xC1,0x96,0x19,0x1A,0x41,0x76, -0xA3,0x47,0xEA,0xC0,0xF8,0x42,0x82,0x4A,0xF0,0xB6,0x35,0x93,0x31,0xB3,0x01,0x71, -0x1F,0x0E,0x3D,0x80,0x64,0xA1,0xE6,0xFB,0x15,0x4E,0xB6,0x87,0x9A,0xC6,0x6C,0x46, -0xF2,0x97,0x45,0xB9,0x71,0x79,0x84,0xB3,0xB2,0x2C,0x6F,0x41,0xF6,0x1B,0x36,0xD2, -0x59,0xF4,0x7C,0x98,0x5E,0x60,0xB8,0x94,0x18,0x1C,0x0C,0xB3,0x6B,0x75,0x57,0xFF, -0x21,0xC8,0xE0,0x70,0xD3,0x27,0x04,0x3A,0x5B,0xDB,0x40,0xA4,0xB9,0xFB,0xFE,0x34, -0x31,0x8E,0x3B,0xC1,0x9C,0x22,0xF2,0x1E,0xC2,0x07,0x0A,0xC7,0x54,0xF0,0xB4,0x9F, -0x48,0xC5,0x48,0x8D,0x40,0x68,0x91,0x87,0xAC,0x60,0xDD,0x5C,0x58,0x5C,0xBB,0x6E, -0xC5,0x38,0x64,0xC4,0x83,0x58,0x3C,0x93,0x38,0xEE,0x2D,0x0B,0x9F,0xF4,0x8C,0xCD, -0xB4,0x6D,0x04,0xA1,0xBC,0x97,0x3F,0x35,0x09,0x3F,0x0E,0x95,0xB0,0x65,0x11,0x4E, -0x33,0xAD,0x2A,0xE7,0x2E,0xAA,0x4D,0x16,0x67,0x58,0xD9,0x0E,0x46,0xEE,0xF7,0x73, -0x17,0x10,0x2E,0xA9,0x70,0x0B,0x63,0x2D,0xBB,0xC3,0xF1,0x3B,0xC7,0x38,0xE7,0x4C, -0x90,0xD0,0x00,0xEF,0xEB,0x23,0x56,0xF1,0x07,0x0D,0xA8,0x6B,0xDE,0xB2,0x76,0xD5, -0x09,0x53,0x3C,0x45,0xE5,0xFD,0x40,0x63,0x05,0x30,0xA2,0x64,0x92,0x4E,0xDE,0xF9, -0x98,0xCE,0x13,0xC6,0x42,0xAD,0x9D,0x23,0xA2,0x52,0x7B,0xA2,0x0E,0x36,0xE2,0x11, -0x51,0xEA,0x6F,0xB1,0x98,0x5E,0x48,0x49,0xA8,0xDD,0xF9,0x12,0x74,0xD1,0x46,0x27, -0x7D,0x49,0x78,0xD6,0x44,0x14,0x2B,0xD0,0x9D,0xB1,0xFE,0xC2,0x89,0xCE,0x72,0x6F, -0x26,0xA4,0xD5,0xA0,0x33,0x15,0x8F,0x3F,0xAD,0x3D,0xCB,0x99,0xB6,0x4B,0x91,0x0F, -0x4A,0xE6,0x59,0xAB,0x6B,0x0D,0x17,0xF7,0x0D,0x82,0x2A,0xDB,0xF5,0x07,0x56,0x18, -0xDF,0x43,0xBD,0x7A,0x9A,0x9B,0x44,0xED,0xCF,0x55,0xB0,0xF3,0x56,0xFA,0x89,0x90, -0x69,0x37,0x68,0x35,0x75,0x05,0x3E,0xE4,0xCC,0x35,0xAC,0x39,0xEB,0xB5,0x1A,0x05, -0x8F,0xE4,0xFD,0xA7,0x7E,0xD5,0x75,0xBF,0x6E,0xB7,0x47,0x74,0xFE,0x93,0x84,0x6D, -0x3A,0xC4,0xD6,0x6A,0x59,0xAB,0xE9,0xF9,0x40,0x77,0xC0,0x32,0x8C,0xFC,0x92,0xE4, -0x49,0xB2,0xA7,0x29,0x73,0xBC,0x88,0x17,0xCD,0x68,0xBA,0xFC,0xA1,0x67,0x32,0x68, -0x3B,0xB3,0x39,0xCE,0x18,0x70,0x09,0x4F,0x7D,0xA9,0x4F,0x5D,0x7B,0x61,0x29,0x1C, -0x7A,0x25,0x4D,0x06,0xD6,0x29,0x59,0xF3,0x1B,0x7C,0x10,0x79,0x1A,0x06,0x21,0xBC, -0x3D,0xA8,0xE3,0xBA,0xE8,0x94,0xBD,0xCB,0xBE,0x23,0xC3,0xB0,0xB5,0x57,0xF1,0xC5, -0xD3,0x65,0x65,0x01,0xD1,0xE2,0x08,0x9E,0x8A,0x12,0xD2,0xA5,0xE7,0x19,0x15,0xF4, -0x2F,0xCD,0x29,0x2D,0x0F,0x6D,0x67,0xA3,0xFC,0xB9,0x99,0x62,0x96,0x6A,0x63,0xB7, -0x7E,0x1D,0x86,0x54,0x13,0xA0,0x42,0x14,0xC9,0xD5,0x9E,0xB2,0x0C,0x3C,0xDF,0x1E, -0xED,0xA3,0xB8,0xF1,0x5D,0xD7,0x53,0xAE,0x62,0xB8,0xEB,0x85,0x72,0xFF,0xC6,0x66, -0x43,0x8F,0xA5,0x26,0x67,0x16,0x0D,0xC1,0x73,0x9B,0xE9,0xA3,0x51,0xC2,0x54,0x14, -0x32,0xDA,0xC5,0x43,0x1F,0xBB,0x58,0x22,0x82,0xA0,0x5A,0x1A,0x03,0x8C,0xB0,0x25, -0xF6,0xAF,0x8E,0xEB,0x4C,0x73,0x8B,0xB1,0xE1,0x95,0x37,0xB5,0xB7,0x5D,0xCC,0xCA, -0x8A,0xAB,0xD9,0x51,0x7B,0xDB,0x28,0x76,0x99,0x0C,0xDA,0x8C,0xEC,0x8D,0xC7,0x81, -0x84,0xAE,0x10,0x0C,0xE3,0x44,0xF6,0x90,0x43,0x17,0xDC,0xF8,0x5E,0x72,0x3B,0x2F, -0x87,0xFA,0xEE,0x8E,0xBD,0xE5,0xD8,0xAB,0x25,0xC2,0x83,0xDC,0xCE,0xA6,0x08,0x36, -0xB8,0x4B,0xDC,0xDA,0x02,0x04,0x9A,0x0B,0x71,0xA6,0xE3,0xAC,0x5A,0x56,0x86,0x61, -0x89,0xFF,0x27,0xD3,0xCA,0xE4,0x7C,0x44,0xE6,0x48,0x0F,0x31,0x81,0x46,0xC0,0xD0, -0x01,0x4D,0x2F,0x6C,0x8B,0x3F,0x9C,0xF2,0x32,0x61,0xAF,0xBB,0x06,0xBE,0x50,0xAE, -0x9D,0x81,0x37,0x30,0xEC,0xE8,0x07,0x9C,0x85,0x7D,0x62,0x9E,0x1D,0x3E,0xFC,0x38, -0xCF,0x05,0x66,0xCB,0x28,0x13,0xFB,0xE5,0x01,0x8D,0x86,0x2A,0x6A,0x63,0x0A,0x3A, -0x76,0x03,0x95,0x7D,0xF3,0x92,0xC9,0x11,0xBC,0x1E,0xC9,0xBF,0x0F,0x20,0xBF,0xD4, -0x28,0xA1,0x1C,0xFD,0x80,0xEF,0xD7,0xA9,0x57,0xD4,0xEC,0x55,0x8D,0xEA,0xCF,0x21, -0x24,0x87,0xC4,0x86,0xD7,0x5B,0xBE,0x6D,0x50,0x09,0xD4,0xD1,0x21,0xA7,0x7F,0x92, -0xF8,0xAA,0x47,0xB6,0x79,0x1E,0x24,0xD2,0xD8,0xF6,0x9C,0x94,0x12,0x8E,0x93,0x03, -0x91,0xA7,0xEF,0x4B,0x16,0xAE,0x1F,0xDD,0xC8,0x88,0x88,0x77,0x8F,0xE0,0xF2,0x2E, -0xCD,0x26,0x77,0xED,0x85,0xE1,0x8A,0x60,0xDB,0x96,0x80,0x5E,0xD3,0x08,0x24,0xE1, -0xA9,0x7A,0xE8,0xCF,0x19,0x02,0xEE,0xD1,0xE9,0x27,0xBF,0x0A,0x2B,0x25,0xF0,0x22, -0xCA,0x4A,0x42,0x3D,0x9F,0x95,0x19,0x24,0x3E,0x6E,0x03,0x4A,0x2C,0x1D,0x2D,0xA6, -0x5D,0xFF,0x00,0xDE,0x47,0x2C,0xC2,0x12,0x29,0xF7,0x43,0xCD,0x89,0x4B,0x90,0xAC, -0x6F,0x59,0xFE,0xD0,0xA4,0xB0,0x73,0x76,0x84,0xC7,0x80,0xD9,0x3E,0x84,0xBB,0x8E, -0x69,0xE0,0x48,0x23,0x3B,0x28,0x95,0xA8,0x81,0x33,0x36,0x86,0xBB,0x90,0x11,0x58, -0xDF,0x14,0x4D,0x7C,0x92,0x68,0xBD,0xAF,0x1E,0x82,0x2E,0x66,0x5C,0x91,0x63,0xC6, -0x06,0x50,0x73,0x2C,0x96,0x50,0x76,0xFD,0x8E,0x39,0x0B,0x84,0xC5,0x00,0xE9,0xDF, -0x7D,0x4A,0xCD,0xF5,0x5D,0x57,0x1B,0xAC,0x71,0x0D,0xF0,0x5B,0x36,0xF9,0x18,0xA4, -0xB5,0xAA,0x2B,0xBA,0x55,0x49,0x08,0x85,0x2E,0x5E,0x03,0xE5,0xA1,0x9C,0x0A,0x6E, -0x55,0x98,0xA0,0xBF,0xB7,0xA2,0x56,0x45,0x01,0x6D,0x94,0x0F,0x03,0x62,0x30,0x78, -0x0F,0x45,0x34,0xD3,0xD6,0xB1,0xED,0x91,0x8C,0x64,0xFD,0xF3,0x16,0x53,0x21,0x4C, -0x33,0x3D,0xDC,0x4F,0x72,0xA0,0xF2,0x49,0xBE,0xE5,0x26,0x07,0x57,0xD3,0x0F,0x4A, -0x89,0xD2,0xC3,0x26,0x9C,0x6D,0x74,0xF2,0x3D,0x74,0xBB,0x28,0x3C,0x72,0xE6,0xF9, -0xE3,0x6C,0xA5,0xE0,0xC6,0xF7,0x36,0x20,0xCB,0x71,0xF4,0x0C,0x24,0x88,0xA0,0xB8, -0x58,0xF1,0x5D,0x17,0x56,0x1D,0xF6,0x07,0x1D,0x4D,0x11,0xC0,0x99,0xCC,0x75,0xC7, -0x42,0x85,0xCE,0x53,0x4F,0x32,0xD1,0x3B,0x74,0xF9,0x46,0x04,0x32,0x86,0x7E,0x2A, -0xA8,0x15,0xE9,0x93,0xD4,0x92,0xFC,0xB7,0xDE,0x60,0xC5,0x38,0x97,0x38,0xED,0x14, -0xDC,0xA3,0xA6,0x46,0x84,0x35,0xBC,0x6A,0xED,0x73,0xD7,0x1D,0xC8,0xCB,0xBE,0xAA, -0x3B,0x5A,0x7C,0x2E,0x17,0x8B,0x82,0xCF,0x18,0xB9,0xA7,0x9F,0x43,0x2B,0x8C,0xAF, -0xB4,0xD8,0xCC,0x24,0xF0,0x2F,0xF8,0xF9,0x6F,0x70,0x83,0xE3,0x96,0xF1,0x7F,0xC5, -0xD8,0xDF,0x1C,0x11,0xEF,0x1B,0x05,0xB1,0x08,0x5C,0x20,0xF4,0xF5,0x2D,0x35,0x5C, -0x54,0xEA,0x47,0x21,0x6A,0xF8,0x3A,0xD1,0x7E,0x07,0xCD,0x59,0x51,0x5A,0x34,0xB3, -0x31,0xF8,0xD0,0xEB,0xCF,0x9E,0xCA,0xAD,0x39,0x12,0xC4,0xA6,0x93,0x47,0x8B,0x9A, -0xAA,0xD0,0xE5,0x37,0x19,0x8E,0x4B,0x92,0x77,0x36,0x79,0xA2,0xBD,0x19,0x2A,0xA1, -0x64,0x89,0xB5,0x8B,0x93,0x1F,0x52,0x0B,0x31,0xB1,0xB9,0x8C,0x88,0x82,0x02,0x7D, -0x59,0x83,0xBA,0x89,0x6F,0xB7,0x1E,0x27,0x9B,0x28,0x3A,0xB0,0x9E,0x8C,0xDC,0xEF, -0x6E,0x2B,0x19,0x4E,0xD1,0xDD,0xD8,0x41,0x1F,0x10,0xE7,0xB7,0x2C,0xF5,0x03,0x92, -0x09,0xFC,0x82,0x20,0x7D,0xD2,0xD4,0xB0,0x53,0x69,0xAC,0xC4,0x4F,0x29,0x49,0x0B, -0x87,0x0C,0xD5,0xB4,0xD5,0xE5,0x13,0x13,0x1A,0xE4,0x51,0xE8,0xE2,0xEA,0x79,0x1F, -0x56,0x2F,0x4B,0x85,0x44,0x78,0x3C,0x90,0x7F,0x95,0x04,0x88,0xE1,0xD5,0xB6,0xB9, -0x27,0x97,0x59,0x99,0xE7,0x05,0x16,0x98,0x5E,0x3E,0x67,0xB1,0x38,0x0D,0x80,0x77, -0x45,0x4E,0x9F,0x3E,0x3A,0x5F,0x7A,0x0C,0x67,0xD3,0xFE,0xC9,0x5A,0x18,0x58,0x3F, -0x75,0x2D,0x6D,0x94,0x54,0x3E,0xE7,0x21,0x46,0x78,0x9D,0xF0,0x66,0x37,0x41,0x18, -0xB2,0x61,0x7A,0xD7,0xDA,0x97,0x35,0xEA,0xAE,0x00,0xA1,0x6C,0xDA,0xBA,0x06,0xB6, -0xD1,0xCA,0x5B,0xEE,0xDE,0xAF,0xFE,0xB8,0x2F,0xCC,0xCA,0x34,0x8D,0x34,0xF6,0x22, -0xF2,0xC8,0x7D,0xFF,0xE3,0x3D,0xDD,0xCA,0xF8,0x62,0xE6,0x29,0xD3,0x0E,0x37,0x4D, -0xC9,0x7B,0xC4,0x0E,0xAD,0xD9,0x8F,0xFB,0x9D,0x13,0xB3,0x49,0x86,0x76,0x9A,0xAE, -0xFC,0x16,0x6B,0x6D,0x7C,0xA5,0x3B,0x14,0x35,0xD7,0xC6,0x02,0x55,0x25,0x52,0x3D, -0x4A,0xE2,0x6E,0x32,0x76,0x98,0x39,0x1B,0x64,0x1C,0xC1,0x6F,0x63,0x81,0xB5,0x47, -0x7B,0xF3,0x7B,0x06,0x38,0x7C,0x6B,0x2A,0xDF,0xF2,0x0C,0xE9,0xD6,0xB8,0xC3,0x12, -0xD0,0xB8,0xBC,0x70,0x4B,0x0A,0x1A,0x69,0xF3,0x0E,0xA4,0xA5,0xB9,0x66,0x4C,0x2F, -0xBC,0xBF,0x6C,0x45,0x1D,0xB6,0x80,0xC0,0x8A,0x5F,0x74,0x0A,0x9C,0x7A,0x81,0x98, -0x1E,0xE1,0xEC,0xCC,0xDD,0xFB,0x00,0x3A,0xB4,0x1B,0xAD,0x5A,0x37,0x30,0x8A,0x75, -0x01,0x9B,0x22,0x41,0x46,0x5B,0x2D,0xB6,0xF7,0x68,0xDB,0x2B,0x56,0x1A,0x9D,0x9B, -0xC0,0x6E,0x83,0xF1,0x40,0x40,0xF7,0xC2,0x10,0x1A,0xDA,0xB5,0xD7,0x71,0x51,0xC3, -0x15,0x31,0xA7,0x97,0x27,0x48,0x96,0x62,0xD8,0x5B,0x4C,0xC1,0x87,0xBF,0x08,0x7F, -0xEB,0x0B,0x05,0x81,0x26,0x3F,0x79,0xC6,0x75,0x6B,0x8F,0xD5,0xC9,0x02,0x2C,0x7B, -0x3C,0x91,0x2D,0x43,0xDB,0xE0,0xDA,0x4E,0xA4,0xFE,0x2A,0x31,0x9A,0xF3,0xBA,0x61, -0x5C,0x8D,0xE7,0x40,0x94,0x73,0x67,0xDB,0xEB,0x48,0x5E,0xE4,0xE0,0x1C,0x24,0x68, -0xDE,0x66,0xAA,0xE2,0xB2,0xED,0x72,0xB3,0x79,0xAE,0x8D,0x71,0xAB,0x17,0xF4,0x33, -0xE1,0xA9,0xA9,0x44,0xC1,0x9B,0x03,0xF0,0x95,0xB0,0xCE,0x63,0xC1,0x7F,0x8F,0x51, -0xFF,0xA1,0x80,0x57,0x29,0x4D,0x5F,0x3F,0x33,0xEC,0x4F,0xFB,0x54,0xEC,0xC0,0xEC, -0x4E,0x9E,0xD4,0x65,0x04,0x99,0xA7,0xFC,0x11,0x88,0x13,0x64,0x30,0x70,0x23,0x5D, -0x07,0x22,0x94,0xB2,0x3C,0x44,0xA0,0x78,0xE3,0xEB,0x23,0xCE,0xC7,0xF6,0xB4,0xA8, -0x77,0xE8,0x61,0x30,0x01,0xD6,0x83,0x0A,0xA3,0x57,0x6A,0x19,0x17,0x9A,0xB3,0x9D, -0xBD,0xCD,0x8B,0xDB,0xCB,0xA6,0x01,0xFF,0x23,0x09,0xC8,0x90,0x09,0xE9,0xCE,0x25, -0x60,0xF5,0x0F,0xDC,0x86,0x16,0xAD,0x4C,0x58,0x05,0xEE,0x48,0x60,0xBE,0x7A,0xE1, -0x9F,0xBD,0x4A,0x54,0xAF,0xFA,0x9E,0xDD,0x68,0xD9,0xC3,0xCB,0xFA,0x10,0x3F,0x5E, -0x21,0x2E,0xEF,0x6A,0x67,0xA9,0x0D,0x0E,0x0D,0xA8,0x96,0xAB,0xA2,0xA3,0xC5,0xC8, -0x08,0x8E,0x65,0xBE,0x9F,0x39,0x8A,0x70,0xB2,0x20,0x24,0xA3,0x42,0xE2,0x1E,0x7E, -0x14,0x43,0x40,0x09,0x1F,0x95,0x91,0xE6,0xEE,0xBC,0xE8,0xBB,0xD9,0x85,0xC9,0x10, -0xE4,0xA7,0xF4,0x8D,0x42,0x63,0xE6,0xE4,0x15,0xEE,0x6C,0xEA,0x25,0x41,0x32,0x69, -0x65,0xFB,0x52,0x15,0xAC,0xAE,0x60,0x5F,0x8F,0xAB,0xC2,0x55,0xF6,0x12,0xFA,0xFA, -0x7E,0xFD,0x26,0xCF,0x53,0x52,0xD2,0xF1,0xD2,0xA5,0xC7,0x9C,0x28,0x8A,0x65,0x1C, -0xAB,0xA2,0x02,0xA9,0x87,0x61,0x42,0xE8,0x50,0xA6,0x93,0x62,0x06,0xD4,0xC4,0x27, -0xCF,0xC2,0x72,0xFD,0x77,0xEF,0xD6,0xBF,0x04,0x99,0x22,0x50,0x44,0x6B,0x25,0x87, -0xC0,0x81,0x4C,0xA6,0xC1,0x17,0x1A,0x05,0xC8,0x7A,0x91,0xF4,0xE8,0xBA,0xB7,0x41, -0x60,0xC3,0xF3,0x47,0x95,0x25,0x25,0xB4,0x46,0x2D,0x05,0x04,0x8C,0xEE,0xC7,0x21, -0x5B,0xED,0xAD,0xE6,0x17,0xDB,0x26,0xE0,0x75,0x34,0x95,0xD0,0x59,0x88,0xE3,0x7E, -0xBD,0x33,0x35,0x79,0x4A,0x12,0x28,0xE5,0x89,0x9A,0x27,0x2F,0x42,0x52,0x97,0x78, -0x2E,0xE0,0x66,0xB1,0xD0,0xAD,0x6D,0x4B,0x44,0x21,0xA1,0xC1,0xC3,0xCA,0x31,0x24, -0x57,0x1C,0xA2,0x4A,0x2B,0xFC,0x3F,0xCF,0xB2,0x23,0xD6,0x9C,0x33,0x4E,0x85,0xC0, -0x39,0x87,0xC5,0x9D,0x77,0xE4,0xA3,0x03,0x1E,0xB5,0xCD,0x1C,0x2F,0xF9,0xA0,0x0D, -0x8F,0x67,0x84,0x46,0xC8,0xEC,0x2B,0xB1,0x8E,0xCB,0x4A,0xE4,0x06,0x2D,0x2A,0xAD, -0x19,0x3F,0x37,0xBC,0xAD,0x8C,0x5A,0xE4,0xDD,0x18,0xD9,0x2C,0xB8,0x13,0x8F,0x3E, -0xA6,0xA5,0x99,0xF9,0x9D,0x0F,0x86,0xC9,0x31,0x89,0xEA,0x05,0x47,0x9B,0xCA,0x76, -0x62,0xCC,0xCE,0x4D,0xE6,0xD7,0x8A,0xEF,0x81,0x3A,0x46,0x48,0x9A,0x9C,0x4E,0x4E, -0xDA,0xD2,0xBD,0x30,0x66,0x5E,0xD4,0x4D,0xF1,0xCF,0xC4,0x82,0x50,0x77,0xA4,0x6B, -0xEF,0x02,0xD1,0x37,0x26,0x89,0x68,0x04,0x63,0xBD,0xE7,0xBF,0x20,0xF5,0x51,0xA1, -0x1A,0xF5,0x57,0xA0,0xD4,0x23,0x0B,0x34,0xBE,0x39,0xE0,0x87,0x69,0x22,0x11,0x1D, -0xAB,0x91,0xCB,0x43,0xF6,0xBC,0x6F,0x68,0x6A,0xFA,0x18,0xAA,0xD8,0x10,0x45,0x22, -0x16,0x04,0x58,0x0C,0x50,0x24,0x33,0xE9,0xBC,0x35,0x44,0x42,0xC6,0x03,0x6C,0x2A, -0x74,0x6E,0x30,0x77,0xBC,0x36,0x2D,0xAA,0xCA,0x76,0x35,0x31,0xF9,0xA5,0x6F,0xE5, -0x2F,0x25,0x3B,0xA7,0x2E,0xA3,0xCB,0x79,0x54,0x1E,0x20,0x17,0x7B,0x07,0x22,0x0E, -0x26,0x5F,0xD4,0x39,0x61,0x76,0x7D,0x0D,0xC7,0x8B,0x9D,0x58,0x1B,0x04,0xE8,0x12, -0x3C,0x0C,0x25,0xAF,0xB0,0x92,0xE8,0xA8,0x18,0x03,0x3E,0xA5,0xCC,0xC6,0xC0,0x88, -0x38,0x42,0x98,0x8B,0x1D,0x86,0xD8,0x6B,0x6F,0xA7,0xD1,0xA4,0x32,0xD0,0x62,0xB2, -0x84,0x12,0x56,0xD2,0xD5,0xF2,0x99,0xFD,0x67,0x07,0xB0,0xC3,0xE7,0xB6,0x46,0xED, -0xDC,0x93,0x3D,0x1E,0x32,0x6C,0xEB,0xFC,0x7C,0x73,0x6A,0xC5,0x26,0x06,0xE7,0x18, -0x32,0xF2,0x17,0x09,0x71,0x1D,0x98,0x8A,0xDC,0xFF,0x47,0x5E,0x39,0x8B,0x29,0x62, -0xDF,0x59,0x5D,0x02,0x4F,0x4D,0xDC,0x53,0x91,0x05,0xC7,0x9E,0x9B,0x02,0xA9,0x3C, -0x68,0x7C,0x41,0xCF,0x36,0xE2,0x8D,0x83,0x2D,0xAC,0x5D,0xC8,0xF7,0x37,0x79,0x3B, -0x55,0x13,0x9F,0x40,0x1A,0xAE,0x71,0x2B,0x5B,0xEF,0x2C,0xBB,0x5C,0x41,0xBE,0x70, -0x00,0xA6,0xA6,0x36,0xA1,0x28,0x9F,0xE6,0xBF,0xDE,0x7E,0xF5,0x6D,0x75,0xAB,0x61, -0x7A,0x90,0x02,0xD1,0xF0,0x45,0x54,0xE1,0x82,0xD1,0x7C,0xFF,0xDB,0x2A,0xAE,0x95, -0xE9,0x43,0x51,0x19,0x58,0x0E,0x90,0x94,0xFE,0x3E,0xC8,0x2E,0xEE,0x49,0x01,0xF8, -0x0A,0x16,0x29,0xB4,0x3D,0x6E,0xE1,0xC1,0x1A,0x0F,0x9A,0x60,0xD5,0xB8,0xB8,0x4B, -0x65,0x48,0x13,0x75,0xEA,0x73,0x4F,0xED,0x88,0x7D,0xB9,0x5D,0xF6,0xA9,0x9E,0x49, -0xF1,0x1F,0x9D,0x85,0x6B,0x2B,0x83,0x86,0xB0,0x2F,0x72,0x59,0x95,0x90,0xBF,0xE2, -0x5F,0xA3,0x10,0xC2,0x83,0xB7,0xFB,0xBA,0x19,0xE4,0xA0,0xD7,0x52,0xD3,0xA8,0xAE, -0x78,0x9F,0x3F,0xDB,0xA2,0x8E,0x50,0xD9,0x78,0xC9,0x3D,0xB9,0x62,0x79,0x5A,0xCD, -0x30,0xFD,0x2A,0x03,0x9B,0xF6,0xBD,0x40,0x22,0x5D,0x51,0x64,0x00,0xDE,0x9C,0x14, -0xFE,0x24,0xF2,0x35,0xBA,0xCF,0x16,0x23,0x5F,0x55,0x7B,0xC7,0x71,0xC2,0x8E,0xAC, -0x58,0x27,0xCD,0xFA,0xDF,0xAF,0x67,0x76,0xC2,0xD6,0x54,0x56,0xA0,0xF3,0x10,0x8F, -0x4C,0x8A,0x0E,0xCA,0x96,0x83,0xEA,0x8B,0xF5,0x75,0x93,0xFE,0x2E,0x67,0x47,0x7F, -0xD5,0xE9,0xD2,0x80,0xDA,0xF0,0x93,0xC0,0xFA,0x84,0x9F,0x52,0x49,0x09,0xDC,0xA8, -0xA8,0x5B,0xAB,0x5F,0x5E,0xF7,0xAB,0x1D,0x90,0xE2,0x59,0xEC,0x7E,0xCE,0x7F,0x00, -0x3A,0x4D,0xA5,0x81,0xF4,0xCB,0x32,0x9E,0x38,0xCE,0x15,0x10,0x43,0xCC,0x70,0x0A, -0xE6,0x78,0x3E,0xA9,0xB2,0xE5,0xB5,0x5E,0xA9,0x57,0x0C,0x9A,0x8D,0x70,0x20,0x53, -0xDD,0x56,0x60,0x08,0xFC,0xE1,0x91,0xE3,0xB9,0x68,0x8D,0x4C,0x16,0xAC,0x15,0x7B, -0xF4,0x94,0x7D,0xB7,0xBB,0x1E,0x84,0xEA,0xDF,0x14,0x7D,0xE9,0x73,0x66,0x82,0x69, -0x1B,0x30,0x0A,0xB6,0xCD,0xB3,0xDF,0x07,0x3C,0x74,0x42,0x6C,0xFF,0x56,0xD9,0x5C, -0x82,0x53,0xD6,0xFC,0xAA,0xA4,0xF3,0xA4,0x08,0x3C,0xBF,0x73,0x93,0x63,0x09,0x5B, -0xE8,0x86,0x0C,0x0F,0xDD,0xD8,0x3A,0x80,0xAC,0x0A,0xC5,0x94,0x1C,0x69,0xB9,0xD9, -0xED,0x0D,0xEC,0x3D,0x28,0x5A,0xF0,0xF0,0x12,0xAF,0xFB,0x07,0xFB,0x01,0x63,0x20, -0x53,0x52,0x1F,0x6E,0x1B,0x7F,0xE3,0xE2,0xB5,0x72,0xBB,0x57,0x8F,0xD4,0x2C,0x96, -0x6D,0xF7,0xA1,0xFD,0xB1,0x43,0x7A,0x61,0x15,0xFE,0x96,0xCC,0x65,0x14,0x0B,0x06, -0x80,0x5C,0xEB,0xF6,0xD8,0x87,0xCE,0x36,0x3A,0xC2,0xB1,0xD5,0x7F,0x50,0x98,0x72, -0xFF,0xE1,0xAF,0x23,0x0E,0x4B,0xF2,0xD3,0xD0,0xE5,0x71,0x45,0xC4,0xA7,0x60,0xEF, -0xBE,0xF9,0x55,0x65,0xF8,0x6F,0xF7,0x9C,0x4A,0x37,0x33,0x1F,0xAE,0x61,0x06,0x51, -0x0D,0x92,0xF4,0x8C,0x7B,0x40,0x66,0x01,0x87,0x8C,0xB5,0xF1,0x14,0x08,0x19,0xBE, -0x0B,0xD3,0x74,0xA2,0x49,0xB4,0xE7,0xDA,0x96,0x54,0xAA,0x55,0x28,0x94,0xF1,0xC6, -0x3F,0xC6,0x45,0xB3,0xC4,0x48,0xEE,0xB3,0x85,0x80,0x11,0x34,0x72,0xF8,0x65,0x1B, -0x29,0x64,0xBB,0x89,0xEB,0xA2,0xDD,0x24,0x6E,0x40,0x4F,0xD6,0x92,0xFD,0xEE,0x29, -0xE3,0xF3,0xDE,0x9B,0xB4,0x1C,0x8E,0xD7,0x70,0x69,0x5C,0xDE,0x5A,0xB2,0x08,0xC9, -0x98,0x00,0x27,0x6A,0x4B,0xC3,0xBA,0x2C,0x77,0x38,0x31,0x15,0x21,0x6B,0xB6,0xD3, -0x81,0x99,0xB6,0xE0,0xDB,0x21,0x01,0x09,0x4F,0x6A,0xFA,0x11,0xF8,0x3B,0x88,0x97, -0x1F,0x7E,0xB7,0x92,0x44,0xC1,0xB0,0x11,0x0F,0x6D,0xD2,0xB8,0x4E,0x64,0x8D,0x63, -0xC9,0xFB,0xA3,0x38,0x41,0x9E,0x44,0xA7,0x97,0xB3,0x34,0x27,0x48,0x97,0x3B,0xDA, -0xEB,0x4C,0x6C,0x13,0xEC,0x8A,0x74,0x64,0x0B,0xD7,0x85,0xC4,0x7A,0x99,0xC5,0x7C, -0xF8,0xD7,0xE1,0xCC,0xD0,0xD0,0x65,0xA1,0x6A,0xDD,0xA5,0x32,0xB8,0xAE,0xA8,0xA6, -0x7E,0x6C,0x2C,0x22,0x65,0x85,0x13,0x98,0x5B,0xC8,0x91,0x23,0x5C,0xFC,0x99,0xE8, -0x32,0x40,0x84,0xDE,0x0A,0xB8,0x9C,0x46,0xF0,0x0F,0xE7,0x68,0x2A,0x8D,0xDA,0x9B, -0x9D,0x39,0x54,0x8F,0x2F,0x0F,0x51,0x5A,0x9C,0xDF,0xD2,0x6F,0x96,0x17,0x73,0xCD, -0xA3,0x9C,0xEA,0x1C,0x3E,0xB5,0x26,0x14,0xF1,0xE8,0x79,0x1A,0x8F,0x69,0x0B,0x0E, -0xBE,0x4B,0xC6,0xB2,0x60,0xDA,0xE7,0x2E,0xD2,0xCE,0x68,0x18,0x1D,0x4A,0x79,0x33, -0xDE,0x2E,0x93,0xC3,0x35,0x39,0x4A,0x56,0xE9,0x77,0x99,0xAB,0xF9,0x18,0x48,0x7D, -0x95,0x86,0xE6,0x07,0xE6,0xAA,0x82,0x05,0xDC,0xD8,0xFA,0xC6,0x85,0xAC,0xA7,0xAC, -0x42,0xC6,0xAF,0xBB,0x7A,0xEC,0xFC,0x22,0xCB,0xB6,0x16,0xDB,0x1F,0xEE,0x75,0xF6, -0xA6,0x17,0x0A,0x2E,0x29,0xF6,0x6A,0xD3,0x1C,0x9E,0xD4,0x41,0xC0,0x4D,0xFD,0x0B, -0x73,0x58,0x7E,0x98,0x53,0xFF,0xF4,0x3C,0x7C,0x54,0xD7,0x5D,0x53,0xF0,0x68,0x44, -0xE6,0xCA,0xAD,0x7E,0x18,0xA4,0x24,0x37,0xFE,0x19,0x75,0xB6,0xCD,0xE5,0x00,0x62, -0xCD,0x07,0x8D,0xCB,0x84,0xE2,0x5A,0x10,0x3E,0x5F,0x5B,0x31,0xDB,0x97,0x89,0x0D, -0xBC,0x44,0xFB,0xB8,0xE5,0x0C,0x4D,0x3A,0x21,0x91,0xD6,0x4B,0x7B,0xBA,0x05,0x96, -0x22,0xA3,0xFA,0xCA,0x64,0x54,0x81,0x51,0xE0,0x30,0x66,0xBE,0x60,0x60,0x71,0x90, -0x56,0x6B,0x6C,0x8B,0x34,0xE8,0xD8,0x9F,0x35,0x14,0x00,0xE1,0x68,0x01,0xD1,0xF7, -0x8E,0x10,0x4A,0x87,0xA4,0x0A,0x63,0xBA,0x57,0xD2,0xA7,0x38,0xF6,0x14,0xB9,0xD1, -0x07,0x90,0xE8,0xD9,0xBA,0xB2,0x1E,0xC9,0x9D,0x38,0x4C,0x1D,0x86,0x96,0x4C,0x1B, -0xDF,0xEB,0xCE,0xD5,0xD3,0x76,0xAA,0x9E,0x40,0xBC,0x4B,0x25,0x36,0x3A,0xFF,0x56, -0x5C,0xDB,0xE3,0x09,0x49,0xC9,0xEF,0x30,0xBF,0xF9,0xC3,0x6D,0xDA,0x09,0x6E,0x7F, -0xF4,0x26,0xEE,0x60,0x72,0xC6,0x5F,0x5F,0xC1,0x1A,0xD3,0x79,0xBB,0x94,0x43,0x11, -0x6C,0x80,0x6F,0x3C,0xE7,0x7B,0x10,0xCC,0xDF,0x33,0xC0,0x71,0x6D,0xC8,0x8C,0xF9, -0xF3,0xA2,0x33,0x58,0x83,0xCA,0xF3,0x50,0x6E,0x67,0xF2,0x4E,0xB9,0x30,0x4F,0xD4, -0x59,0x50,0x03,0x3B,0x74,0x3F,0x64,0xD6,0x27,0x27,0x25,0xF2,0x64,0x37,0xCB,0xEC, -0xC2,0x3C,0xE2,0x7B,0x45,0x6D,0x2A,0x32,0x45,0xE1,0x82,0x2B,0x8E,0xF7,0xEC,0x7C, -0x0B,0x61,0xE7,0x75,0x9B,0x8B,0xB5,0xAA,0x5E,0x95,0x58,0x2D,0x72,0x45,0x42,0x83, -0xF5,0xE3,0xB3,0x76,0xB5,0xB0,0x14,0xF4,0x8B,0xB1,0x3E,0x72,0x41,0xD5,0x5B,0x57, -0xC7,0xB7,0x02,0x49,0xF7,0x10,0xF5,0x4B,0xEF,0xC1,0x6A,0x12,0xCF,0x41,0x0C,0xA7, -0x3C,0xBE,0xB6,0x78,0x11,0x5F,0x15,0x83,0x01,0x5C,0xFD,0xFE,0x89,0x9A,0xBD,0xB7, -0x34,0x01,0x04,0xF0,0xF1,0xE9,0xCE,0xC2,0x28,0xD6,0x29,0x5E,0x19,0x1D,0xC3,0x4F, -0x2C,0x5D,0xC8,0x6C,0x6A,0x87,0x19,0xA5,0x34,0xF3,0x9E,0x93,0xB5,0x06,0x55,0xCF, -0x7D,0xA6,0x4C,0x3E,0x96,0xFE,0xE2,0x61,0xC4,0x47,0x1A,0x77,0x43,0x71,0x57,0x92, -0x13,0x3D,0x2B,0xE9,0x76,0x48,0x39,0x20,0x26,0xC0,0xBB,0x80,0x70,0xE1,0x4E,0x46, -0xCC,0xC2,0xD0,0xDD,0x85,0x33,0xC8,0xD9,0x5D,0x7E,0x62,0x9A,0x77,0x8C,0x1F,0x8D, -0x72,0x9D,0x23,0x8E,0x12,0xF9,0xDA,0xBC,0x95,0x98,0x2D,0x7A,0x69,0x9F,0x36,0x85, -0x98,0xB2,0xB4,0xBD,0xB0,0xEF,0xE0,0x42,0x75,0x13,0x28,0x48,0x82,0xC1,0xF6,0x67, -0x5A,0x9A,0x63,0x27,0x3A,0x3B,0x40,0x6B,0x7D,0xB3,0x49,0x2F,0x0C,0x55,0xA1,0x97, -0x4E,0x37,0xA0,0x17,0x8D,0x19,0x6B,0xA4,0x4F,0x4D,0x47,0x89,0x90,0xE4,0xC5,0x74, -0x11,0x32,0x16,0xE3,0x08,0xCF,0xC1,0xB0,0x49,0xFB,0xB4,0x30,0x08,0x02,0x1B,0xEB, -0xF1,0xAD,0x0E,0x52,0xEF,0x51,0xB3,0xB1,0xFF,0xFE,0xEB,0xC4,0x48,0x2A,0x1C,0x42, -0x57,0xAE,0x31,0x9D,0x2A,0x50,0xA5,0xEC,0x78,0xEE,0x80,0x21,0x3D,0x61,0xB4,0x86, -0x93,0xC7,0x66,0x29,0x81,0xBD,0xAE,0xA6,0x62,0x7D,0xC4,0x55,0x12,0x46,0x88,0x9F, -0xAF,0x6D,0xE5,0xB0,0x24,0x83,0x3D,0x18,0x88,0x5A,0x04,0xC5,0xB2,0x6B,0x04,0x04, -0x8A,0x5E,0xF7,0xA3,0x7B,0x3D,0x6E,0xEB,0xFC,0x15,0xD1,0x73,0x15,0x2B,0xD9,0x54, -0x64,0x3F,0xDD,0xB4,0xA5,0xDB,0xF1,0x73,0x2F,0x87,0x44,0x95,0x91,0x7A,0x22,0x06, -0x90,0x0D,0x06,0x35,0xE4,0xDD,0xDF,0xF3,0x13,0x6F,0xD8,0xED,0x80,0x65,0xFA,0xA2, -0xBF,0x8E,0x9B,0xA4,0x8F,0x6E,0x36,0x52,0xA9,0x70,0xB1,0x02,0x4D,0xE3,0x41,0x4C, -0x9B,0x78,0xD4,0xA1,0x97,0x2F,0x70,0xA8,0xC3,0x16,0x77,0xBC,0xD7,0xA1,0x93,0x16, -0x31,0x8A,0xE4,0xC2,0x20,0x0D,0x5B,0x67,0x11,0x63,0x7C,0x28,0xBE,0x5D,0x1E,0x1F, -0x35,0xC4,0x59,0xE6,0x0E,0x36,0xFA,0x39,0x8A,0x56,0xA0,0x00,0xAE,0xDC,0x21,0xC9, -0x1B,0x82,0x99,0x61,0x3B,0xEA,0xD2,0xA2,0x44,0x06,0x1C,0x59,0x3F,0xC5,0xB8,0x43, -0x27,0x28,0x1A,0xF8,0x2D,0x78,0x0C,0xAC,0x79,0x09,0x1E,0x53,0x97,0x89,0x94,0xBF, -0x08,0xAB,0x87,0x69,0xF0,0x38,0x5C,0x0B,0x1B,0xCF,0xB9,0x8A,0xAB,0x15,0x7C,0xC7, -0x74,0xDC,0xA3,0xA0,0x25,0x52,0xAF,0xD1,0x94,0x7F,0xB3,0x08,0x0F,0x6F,0x4A,0x20, -0x63,0xBB,0x00,0x8C,0x46,0xCB,0xE5,0x0D,0xF8,0xAF,0x86,0x0F,0x3B,0x92,0x02,0x3F, -0xCE,0xCD,0xED,0xD7,0xE2,0x24,0xE4,0x7A,0x74,0xF4,0xB6,0x3A,0xD8,0xAD,0x62,0xBA, -0x26,0xED,0x47,0xEE,0x8B,0xE0,0x50,0x2D,0x07,0xEA,0x0E,0x47,0x25,0x81,0x2B,0x37, -0x5E,0xD4,0xDE,0x03,0xE9,0xA8,0x88,0x38,0x65,0x2C,0xA9,0x9E,0x7F,0xED,0xBF,0xEA, -0x67,0xF5,0xBD,0xA8,0xD5,0x8F,0x91,0x17,0x55,0xDE,0x03,0xFD,0x1E,0x70,0x92,0x84, -0xFB,0x1D,0x81,0xD0,0x69,0x21,0xD6,0x9A,0x92,0xC9,0x40,0xB1,0xB7,0xA2,0x59,0x0A, -0x20,0xAC,0xC7,0xC0,0x9F,0x05,0xD3,0xD5,0x4E,0xAA,0xD9,0xFB,0xFD,0x4F,0xF2,0x01, -0x53,0xE0,0x8C,0xB9,0xFC,0x9C,0x99,0x09,0x29,0x31,0xB7,0x2C,0xF2,0x43,0x03,0xAD, -0x7F,0xA9,0x71,0x34,0x51,0x88,0xA9,0xCA,0xA7,0x66,0x23,0xDC,0xC5,0x84,0xA0,0x05, -0x1F,0xCC,0x24,0x45,0x52,0x2E,0x66,0xF5,0x76,0xF8,0x12,0xFF,0x58,0xAB,0x23,0x94, -0xF2,0xA4,0x5D,0x47,0x68,0x24,0xA2,0x61,0xA7,0x32,0xAA,0xF4,0x36,0x29,0x1D,0x69, -0x3C,0x29,0x27,0x58,0x45,0xA8,0x02,0xFA,0xD4,0x43,0xE9,0x82,0x21,0x48,0xF3,0x43, -0x9D,0x99,0xD2,0x99,0x9F,0xDC,0x19,0xFC,0xA6,0xDD,0x0E,0x83,0xED,0xC9,0xAB,0x28, -0xB9,0xFF,0x8D,0x4C,0xFE,0x7C,0x11,0x9B,0xE7,0xA9,0xC6,0x15,0xB4,0x99,0x17,0xE6, -0x1B,0xE9,0xB7,0xB2,0x11,0xD8,0x66,0x9A,0xD7,0xBD,0x6B,0xD6,0x90,0xD7,0x13,0x5B, -0x33,0x2B,0x2D,0x65,0xB2,0x50,0xB9,0x67,0x42,0x59,0xBA,0x73,0x06,0x84,0x09,0xAA, -0xF9,0x28,0x31,0x05,0x0F,0xC5,0x2A,0x28,0xF4,0x8C,0xF5,0x07,0x98,0xFE,0x00,0x45, -0xB4,0x8A,0xDA,0x87,0x1A,0xAD,0xB4,0x0E,0x12,0x19,0x67,0xD4,0x48,0xB5,0x5B,0x4E, -0x45,0x86,0x76,0x88,0x96,0xA6,0xF6,0x62,0x70,0x5C,0x31,0x93,0x4A,0x93,0x4A,0x6D, -0x63,0x97,0x74,0xAB,0xB5,0xD4,0x64,0x5F,0xDE,0x41,0xE6,0xBF,0x8B,0xCD,0x25,0x57, -0xDA,0x66,0xC7,0x90,0xE7,0xE5,0x80,0x11,0xAF,0x21,0x83,0xEA,0x26,0x98,0xC6,0x2F, -0x75,0x05,0xAA,0xA5,0x53,0x0A,0xFC,0xC0,0x6B,0x6A,0x2B,0x9F,0xEE,0x4B,0x55,0x7C, -0x70,0x5A,0x5E,0x13,0x51,0x05,0xC1,0xCA,0xA0,0x07,0x7A,0x98,0x09,0x7D,0x2F,0xD8, -0x65,0x6E,0x4F,0x22,0x03,0x34,0x25,0x84,0x4E,0x81,0xC1,0x55,0x7F,0xC8,0x7A,0xE1, -0xA2,0x18,0x04,0x89,0x72,0x77,0x53,0xF7,0xB2,0xCD,0xED,0xFD,0xF0,0xA7,0x47,0x3F, -0x72,0x2D,0x03,0xE5,0xE8,0xDE,0xEF,0xA1,0xE3,0x62,0x94,0x2D,0x3D,0x82,0xF0,0x23, -0xF1,0x02,0x92,0x78,0x65,0x10,0xF0,0xDB,0x14,0xC3,0x13,0xCF,0x79,0xBC,0xA0,0xFA, -0x7B,0xD6,0x32,0x51,0xE2,0x6E,0x60,0x23,0x9C,0xCB,0xAC,0x7D,0xA2,0x5C,0x16,0xBB, -0x5E,0x61,0xFF,0x4D,0xF9,0xF8,0xCC,0xA3,0x00,0xD3,0xF0,0xB1,0x75,0xC7,0x78,0xDC, -0xEA,0xE5,0x1B,0xBD,0x8E,0xFA,0x3A,0xFE,0x52,0x82,0x0B,0x35,0x8E,0x3B,0x01,0x18, -0x4C,0x7D,0x47,0x3C,0x08,0x41,0xF7,0x10,0x17,0x3D,0x91,0x9B,0x46,0xE8,0x92,0x4B, -0x38,0xA7,0x41,0x27,0xBA,0xEF,0x0B,0xEF,0x19,0xF4,0xCC,0x9E,0xD9,0x36,0x74,0xD3, -0x1C,0xC1,0x1E,0xF2,0x2A,0xF6,0x38,0x3B,0x1A,0x0A,0x4E,0xCA,0x78,0x18,0x4F,0x8D, -0x6C,0x95,0x7E,0x96,0xBE,0xA1,0xB6,0xCB,0x25,0x38,0x1A,0x7B,0x99,0x5A,0xEF,0x32, -0xB7,0x2C,0x15,0xB8,0x6B,0xEE,0xC2,0x7D,0x0C,0x0B,0x8B,0x97,0x33,0xDF,0x39,0x26, -0x9E,0x3F,0x1D,0xA6,0x37,0x21,0x14,0x95,0x50,0x93,0x2D,0x16,0x7C,0x4A,0x84,0xB5, -0xCA,0x0D,0x22,0x17,0xCF,0xE2,0xC0,0xB8,0x34,0x0C,0x0F,0x4A,0x9F,0x2E,0x35,0x29, -0x8A,0xDA,0x9E,0x5E,0xC8,0x66,0x1D,0x80,0x57,0xA6,0xFD,0x7A,0x08,0xD9,0xC0,0xAF, -0x7F,0x58,0x54,0x2E,0xEB,0x14,0x8F,0xBD,0xEB,0x71,0xBD,0x33,0x0F,0x09,0xF5,0xC3, -0x95,0xB3,0x71,0xE4,0x69,0xE1,0xFF,0x77,0xB5,0xF8,0x3D,0x91,0x72,0x17,0x4D,0xB0, -0x11,0xB4,0x49,0x39,0xC5,0x52,0x4F,0x3A,0xB9,0x20,0x46,0xB7,0xC6,0x7E,0x89,0xE7, -0x54,0x3C,0x01,0xC6,0xF6,0xC3,0xA3,0x13,0x65,0xA3,0x76,0x9A,0x83,0xE4,0x36,0x49, -0x2A,0xBB,0xF9,0x56,0x85,0x8F,0xE8,0x6A,0xD8,0x9B,0x92,0xA4,0x9D,0x08,0x24,0x0A, -0xC2,0x27,0x81,0x6A,0x9A,0x57,0xF9,0xCE,0x59,0x6F,0xA0,0x7F,0xB3,0x49,0x22,0x8A, -0xDD,0x4E,0x6E,0xD0,0x1C,0xEC,0x34,0x20,0xC8,0x40,0x23,0xE2,0x5A,0x22,0x91,0x2B, -0xBB,0x88,0xD0,0xBA,0x5E,0x3E,0xAE,0x7A,0xCD,0x64,0xD5,0xAD,0x1C,0x3A,0xD0,0xD1, -0x43,0x7F,0x4D,0x01,0x9E,0x19,0x44,0xEA,0xF1,0xA8,0x03,0x48,0xC9,0x87,0xAF,0x95, -0xD0,0x3B,0x39,0x1B,0xB9,0x25,0x6B,0xF3,0x45,0x6C,0x6A,0x1F,0xC2,0x2C,0x42,0xDF, -0xF7,0xFB,0xA9,0xF1,0x94,0xA9,0xCB,0x68,0xDC,0x50,0xC0,0x9C,0x51,0x89,0x7C,0x61, -0xB8,0x2E,0x1F,0x85,0xD4,0x74,0x6C,0x38,0xCF,0x75,0xF3,0x8E,0x02,0xD6,0xC2,0x92, -0x1E,0xB6,0x43,0x04,0xAA,0x0C,0x75,0xFB,0x4B,0xA5,0x37,0x1A,0x2C,0x97,0xC4,0x12, -0xE0,0xB8,0xE5,0x36,0x1B,0x68,0xE9,0x18,0x7B,0xB1,0x9A,0xD9,0x07,0x20,0xE6,0xDD, -0x56,0x4B,0x5C,0x30,0xFD,0xB6,0x71,0x87,0x8F,0xEE,0x9F,0x6F,0xAD,0xA5,0x30,0xC9, -0x53,0x14,0xA8,0x86,0xD5,0xB1,0x31,0x2E,0x3E,0x0E,0x00,0x77,0xDF,0x42,0xAE,0xC8, -0x6D,0x44,0xEC,0x5F,0x1E,0xE3,0x09,0x2A,0x85,0xEC,0x90,0x52,0x55,0xDB,0xB7,0x59, -0xD3,0x9D,0xF6,0x24,0x73,0xB2,0x0E,0xE1,0xB1,0x33,0x6F,0xA9,0xA4,0x28,0xCC,0xA0, -0x35,0xD2,0x16,0xEC,0x60,0x9B,0x10,0xE9,0xE2,0x8D,0x30,0x5A,0xB6,0xBF,0x06,0xC5, -0xBE,0xD7,0x24,0x0C,0x3E,0x5B,0xFB,0x0B,0xD1,0x67,0x1F,0xCD,0x8C,0x1D,0x10,0x3B, -0x07,0x26,0x97,0x37,0xB0,0x5F,0x84,0x6D,0xAC,0xDF,0x01,0xBE,0xBF,0x32,0xFA,0xAC, -0x9C,0x48,0x40,0x50,0xBC,0xAE,0x8B,0xC1,0xD5,0xAC,0x4D,0xF5,0xF5,0x51,0x63,0x70, -0xCB,0xDC,0xB0,0xDE,0x7B,0x0D,0xBC,0x69,0x58,0x80,0x04,0x08,0xC5,0xFC,0x77,0xB3, -0x55,0xED,0x93,0x0F,0x54,0x8E,0x21,0xF8,0x29,0xE0,0x61,0x5D,0x0A,0xFF,0xD1,0x8C, -0x47,0xF1,0x2B,0x7E,0x7E,0x86,0x5C,0x5B,0x82,0xD9,0x40,0x3E,0x3C,0x26,0x1F,0x54, -0x81,0x56,0xF2,0x1C,0x12,0x12,0x06,0x86,0x6F,0xA1,0x79,0xA7,0xE4,0x44,0x57,0x41, -0x73,0xFC,0x91,0x2C,0x8F,0x3F,0x67,0xE8,0xC4,0x98,0x58,0xC4,0xFD,0x78,0x70,0x6E, -0x64,0xBF,0xDD,0xEB,0x5D,0xF4,0xCE,0x66,0xBC,0x04,0xB0,0xF8,0xBA,0xC4,0xDE,0xE3, -0x62,0x46,0xE6,0x62,0xEA,0xD1,0xD2,0xAB,0x05,0xF7,0x06,0xFE,0x30,0x5D,0xC7,0x72, -0xD2,0x4C,0x64,0xED,0x90,0xE7,0x76,0x4C,0xCC,0x8B,0x71,0xDA,0xC3,0x88,0xAD,0xA8, -0x02,0x79,0x63,0x81,0x6D,0xAF,0x42,0x53,0xE0,0x9C,0x16,0x79,0x89,0xEB,0x34,0x74, -0x59,0x49,0x56,0x0D,0x52,0xCF,0xA1,0xD6,0xBB,0x31,0x60,0x94,0x88,0x4F,0xDB,0x03, -0xCE,0x83,0x44,0x68,0xA2,0xB3,0xC7,0x73,0xAE,0xCE,0x27,0x9D,0x37,0x8D,0xF2,0x1E, -0xFB,0x5F,0x6C,0xF3,0x23,0x8C,0xD7,0xA5,0x8A,0xCA,0x69,0x20,0x96,0xA3,0xC9,0x40, -0xAB,0xE3,0x35,0x3D,0x3A,0x15,0x46,0x2F,0x0D,0xE4,0x2F,0xE0,0xBE,0x96,0x15,0xDB, -0xA4,0xE1,0x3F,0x00,0x76,0x39,0xEE,0xD3,0x94,0xD8,0x85,0x63,0x60,0x80,0x87,0xD5, -0x36,0xB1,0x7E,0x26,0x1D,0xF3,0x84,0x74,0xB6,0x57,0x79,0xC6,0xB8,0xEB,0x41,0x18, -0x03,0x61,0x12,0x21,0xB4,0x69,0xD2,0xC8,0x66,0x2E,0xD6,0x97,0xA4,0x5C,0x64,0xD5, -0x75,0xA6,0xB9,0x6A,0xF7,0x18,0xA1,0xBE,0xCE,0x02,0x9A,0x6B,0x7A,0x61,0x0B,0x5A, -0x41,0xB3,0x88,0x7B,0xC6,0x4A,0xEF,0x5A,0x03,0xB9,0x1C,0x85,0x43,0x34,0xBE,0x2C, -0x1E,0xB6,0x3E,0x8F,0xC9,0x48,0xE5,0x67,0x04,0xE8,0x71,0x4E,0xE7,0x4E,0x88,0xCB, -0x7D,0x19,0x0B,0xE2,0x26,0xFC,0x34,0x1B,0x71,0x40,0x3A,0x8A,0xB4,0xDD,0x5B,0x03, -0x8C,0xA0,0x30,0x51,0x17,0xAE,0x7A,0xFF,0x24,0x25,0x5A,0xFB,0xCC,0x3E,0x0E,0xAE, -0x9D,0x86,0x13,0x53,0x65,0x8D,0x47,0x6D,0x08,0xF2,0x47,0x55,0xF6,0x51,0x50,0x6F, -0x91,0x77,0x1C,0xFF,0x6E,0x01,0x2B,0x2F,0x4F,0xA4,0x02,0x37,0xD5,0x40,0x76,0x6D, -0x33,0x3A,0x9E,0x14,0x06,0x14,0x0D,0xB1,0x9C,0x36,0x97,0xD1,0xDE,0x1B,0x3D,0xBD, -0x30,0xF0,0xFE,0x08,0x93,0xA9,0x42,0x22,0xE8,0x79,0x42,0x67,0x31,0x12,0x47,0x23, -0xF2,0xD8,0x29,0x92,0x1B,0x0A,0xBF,0xFD,0x4D,0xA8,0xA6,0xF2,0xC0,0x08,0x14,0xB5, -0xE4,0x7A,0xD7,0xA8,0xBF,0xE5,0xBE,0x8A,0x8E,0x05,0xB2,0xC2,0x7D,0x0C,0x5A,0x91, -0x82,0x5E,0x02,0xF7,0x1F,0x84,0xD9,0x82,0x18,0xCD,0xC6,0x83,0xB3,0xB0,0x0A,0xC8, -0x32,0xFF,0xC3,0x02,0x6B,0x5E,0xDF,0x99,0x19,0x2A,0x58,0xF1,0xD8,0xE8,0x8B,0x04, -0xBF,0x31,0xDC,0x78,0xE7,0x73,0x44,0x39,0x6F,0x69,0x29,0x82,0xF2,0x06,0xEA,0x13, -0x27,0x97,0x5D,0x24,0x00,0xED,0x36,0x38,0x01,0xB5,0xB8,0x40,0xD2,0x2D,0x27,0xA6, -0xAF,0xD2,0xA2,0x6C,0x91,0xDE,0x1F,0xD4,0x2C,0x85,0x3B,0x9C,0x7C,0x92,0xBD,0xE3, -0xA8,0x56,0x7F,0x54,0x22,0x72,0x52,0x64,0x0A,0xFE,0xE3,0x90,0x2B,0x56,0xD4,0x57, -0x43,0xBC,0xB5,0x71,0xD7,0xF0,0x98,0x14,0xA8,0x7E,0x6A,0xCE,0x58,0xEE,0xCA,0x2A, -0xC1,0x49,0xC5,0xBB,0xA5,0xD3,0xA5,0x86,0xE1,0x3E,0xBD,0x72,0x34,0xDB,0x1A,0x2D, -0x16,0x09,0x8C,0x07,0x21,0xD4,0x9D,0x5B,0xD1,0xCC,0x17,0x11,0xB2,0x2E,0xED,0xBA, -0x24,0x5D,0x3D,0x38,0xE2,0x2C,0xB0,0x8F,0x8D,0xEE,0x88,0x75,0x2E,0x9F,0x89,0x59, -0x37,0x74,0x23,0x30,0x2D,0x70,0x58,0x59,0x0C,0x48,0x10,0x29,0xBD,0x22,0x1C,0x16, -0x8E,0xAF,0x0D,0x5B,0x62,0xA5,0xEE,0x2D,0xE0,0xD9,0x23,0x00,0xA9,0xF4,0x99,0xBC, -0xDA,0xDF,0x69,0x3B,0x35,0x31,0x1E,0xA3,0x51,0x8D,0x11,0x3F,0x16,0x54,0xDB,0x5D, -0xBC,0xFB,0xBC,0x64,0x2C,0xA1,0xCA,0x90,0x05,0x0F,0xEF,0x3C,0x48,0x6F,0xF5,0xFC, -0x66,0x8F,0xA7,0x62,0x82,0x13,0x35,0x6C,0x00,0x52,0x26,0x32,0xD0,0x89,0x2B,0x63, -0xFE,0x29,0x26,0x3E,0x39,0x95,0xDB,0xA1,0xAE,0xC8,0x99,0x77,0x83,0x1A,0xF8,0xAB, -0x7A,0x9D,0xD6,0xDA,0x3B,0xE2,0x86,0x57,0x2A,0x33,0xC8,0x25,0x47,0x63,0x04,0x50, -0xCD,0xB8,0xCA,0x17,0xAD,0xF9,0x06,0xFB,0xE6,0x6F,0xD0,0xB9,0x20,0x0D,0x9F,0x87, -0x19,0x32,0xE3,0xB7,0xD3,0x7E,0xFE,0x6B,0x54,0xD0,0xD8,0x31,0x61,0xBB,0x7F,0x5C, -0xCC,0x7D,0x97,0x01,0x98,0x25,0x2E,0x60,0x56,0xDC,0x7C,0xF4,0xA0,0x0B,0xDE,0xA9, -0xC9,0xF6,0x77,0x33,0x58,0x7B,0xCC,0x8B,0xC1,0xF3,0x96,0xC7,0x5E,0x1D,0x7C,0x93, -0x86,0x10,0xBF,0xD3,0x71,0x68,0xC4,0x95,0x32,0xAC,0x28,0x94,0x3B,0xD7,0xEB,0x81, -0x5F,0xAE,0xC4,0xC9,0x20,0x05,0x0F,0x92,0xC9,0x53,0xF7,0xA0,0xC2,0xAC,0x18,0x70, -0x0F,0x90,0x1D,0x8D,0x72,0xCE,0x0B,0xAA,0xEC,0xC3,0x15,0x1B,0x53,0xB5,0x81,0xFA, -0x50,0x95,0xAB,0x79,0x75,0xE6,0xA2,0xEA,0xF4,0x5C,0xF5,0xAA,0x52,0x2B,0x66,0x88, -0xA3,0x23,0xAD,0xC0,0xAB,0x00,0x3D,0x72,0x42,0x59,0xAA,0x5E,0x46,0xFD,0xE3,0x22, -0xAD,0xDD,0x9F,0x66,0xCF,0xB1,0xDE,0xEE,0x81,0xF4,0xBE,0x6E,0x89,0xDF,0x54,0x09, -0x35,0x7B,0x1E,0x3A,0xB7,0xCF,0x1D,0xF7,0x15,0x30,0x6E,0xEA,0x09,0xD9,0x15,0x27, -0xE0,0x34,0x6A,0x8C,0x6A,0x8F,0x4D,0x50,0x07,0x03,0x4B,0xF9,0xFA,0x67,0x4A,0x74, -0x20,0x13,0x80,0x1C,0xE6,0xA2,0xD6,0xF0,0x84,0xA9,0x77,0x60,0x44,0x59,0xEF,0xE7, -0x64,0x80,0x9A,0x68,0xDA,0x85,0xCF,0xDF,0xD3,0xC0,0xB3,0xD4,0x0E,0xB4,0x44,0xEC, -0x93,0x78,0x21,0xF5,0xFD,0x45,0x5F,0x35,0x36,0x16,0x7F,0xE8,0x4A,0xCB,0xF9,0x39, -0x55,0x1E,0x4B,0x4B,0x2F,0x07,0x05,0xAF,0x79,0xE0,0x5B,0xED,0xB0,0x8A,0xE1,0x7F, -0x3C,0x01,0xF1,0xA4,0x94,0x81,0xEB,0x62,0xE4,0x63,0x74,0x7C,0x11,0x39,0x8A,0x96, -0xA0,0xE9,0xCD,0xDC,0x4C,0x9E,0x4F,0x73,0x3F,0x51,0x80,0xFD,0x91,0x3F,0xCB,0xB8, -0xFA,0x67,0x9B,0x1A,0xFA,0x6D,0xF6,0x75,0xF8,0x46,0xC3,0xB1,0x4E,0x9C,0x43,0x45, -0xF8,0x68,0xA6,0x10,0xD6,0x21,0x0A,0xDD,0x7B,0xEC,0xFF,0x28,0x40,0x0E,0x55,0x9B, -0x44,0x38,0x68,0x49,0x4F,0x38,0x80,0x4C,0xBB,0xAA,0xD1,0xAF,0xDB,0xD2,0x60,0xB3, -0x98,0x0D,0xF3,0x61,0x70,0xB9,0x56,0x5C,0x06,0xE4,0xD5,0x8B,0x85,0xE9,0x4E,0x12, -0x52,0x9A,0x96,0x73,0x0C,0x49,0xF3,0x3A,0x0F,0xA3,0x2A,0x9E,0x98,0xC0,0x8C,0xAD, -0x62,0xC1,0x1A,0x46,0x6C,0x76,0x76,0xD9,0xE2,0xD5,0x87,0xC5,0xEF,0x2F,0x28,0xAC, -0x57,0x11,0x76,0x41,0x24,0x8B,0x69,0xED,0x41,0xB2,0x90,0xE9,0x33,0xB6,0x4B,0xE6, -0x5D,0xA1,0xF9,0xC3,0x12,0xF1,0x8E,0x49,0x65,0xC5,0xEC,0x20,0xE9,0xDC,0x9E,0x15, -0xA4,0xA7,0x70,0xF8,0x37,0x46,0x43,0x55,0x63,0x73,0x1F,0x99,0x78,0xC5,0x07,0x9F, -0xE7,0xB0,0xB7,0xB4,0xFC,0x94,0xCD,0xFC,0x5F,0x9B,0x83,0xE1,0xF5,0x6B,0xBB,0xD8, -0x4D,0x42,0x87,0xD7,0xD1,0x09,0xA3,0x9D,0x3C,0xBA,0xBA,0x4A,0xDA,0x4C,0x87,0xC1, -0xEA,0x84,0xE5,0x0E,0x45,0x65,0x7E,0xC7,0xA5,0x83,0xC2,0xA7,0xCF,0x04,0xE5,0x19, -0xF6,0x96,0x94,0xB6,0x4D,0x4F,0xDD,0xBA,0xC6,0xA2,0xFB,0x0C,0x17,0xCA,0x3C,0x2F, -0xC7,0x08,0x45,0x95,0xCE,0x60,0x4C,0x27,0x93,0xC7,0x9B,0x7D,0x28,0x6C,0x3F,0xE0, -0x53,0x5F,0xCB,0x65,0x6D,0xA7,0xE4,0x10,0x6E,0x8E,0xB7,0xF0,0xEB,0x78,0x92,0xD0, -0x3D,0xC4,0xAC,0xB2,0x9C,0xAB,0x48,0x1F,0x25,0xC2,0xC4,0x89,0x37,0xE1,0xF1,0x9A, -0xAA,0xF6,0x72,0x86,0xF9,0xD8,0xA0,0x8B,0xD1,0x5E,0x9D,0x41,0xE4,0x06,0x76,0x9D, -0x8E,0x3F,0x05,0xFA,0x0A,0x02,0xCA,0x5E,0x61,0xDC,0x12,0x4B,0xD2,0xA2,0x91,0xE7, -0xE4,0x81,0x63,0x3C,0xB2,0x73,0xD6,0x4C,0x5A,0x6C,0x7D,0x44,0xCC,0xD1,0xEC,0x5F, -0x09,0xDA,0x15,0x91,0xB3,0x04,0x39,0xE8,0x01,0x59,0xF1,0x74,0xAC,0x32,0x69,0x60, -0x50,0xB0,0x6A,0xC7,0xAC,0x30,0xC4,0xA0,0xF8,0x56,0x83,0x52,0x8F,0xA7,0x9F,0x2E, -0xED,0x94,0x24,0xC3,0x0D,0x6E,0xFF,0x8E,0xCD,0x7E,0x18,0x8E,0xB0,0xB7,0x49,0xAF, -0x13,0xAE,0x86,0xD5,0x5A,0xA5,0x8A,0x83,0xA7,0x05,0x70,0xEC,0x3A,0x9E,0xE9,0x7B, -0x90,0x37,0x2C,0xE9,0x84,0xAB,0x18,0x95,0xA8,0x0F,0x4D,0xEE,0x16,0x36,0x15,0x37, -0x85,0xEF,0x4E,0xA1,0xCF,0x00,0x6E,0x52,0x9F,0x7A,0x20,0x45,0xAD,0xFB,0xFB,0xB1, -0xCE,0x96,0x02,0xD2,0x85,0xDC,0xF7,0x31,0x04,0xAD,0x47,0x2B,0x5C,0xF4,0x57,0xBD, -0x2D,0x13,0x62,0xED,0x30,0xFC,0xDC,0xFC,0x56,0xA9,0x7F,0xE0,0x8D,0x51,0xC2,0x59, -0x78,0x62,0x07,0x8D,0xFF,0xC3,0x7A,0xFF,0xC8,0x8A,0xAE,0xD1,0x0E,0xCC,0x53,0x76, -0xD7,0x55,0x7A,0xAC,0xDE,0x31,0x5A,0x47,0x82,0xC8,0x6C,0x5B,0x11,0x76,0xBC,0x1F, -0x4E,0xB8,0x43,0xD4,0x06,0x24,0x12,0x25,0x44,0x11,0x0E,0xFC,0x85,0x2C,0x61,0x73, -0x88,0x86,0xB3,0x09,0x80,0x93,0xD3,0xC7,0x67,0xE7,0x9B,0xB2,0xF7,0xBE,0x5C,0x50, -0xB4,0xFE,0x5B,0x95,0xC7,0x1E,0x7D,0x7B,0x70,0xAB,0x5C,0xF1,0x3C,0x17,0xD2,0x82, -0xA9,0x41,0x99,0xBC,0x3D,0xAD,0xEB,0x23,0xE3,0xDF,0x46,0xB5,0x6B,0x99,0x22,0x16, -0x6A,0x71,0x34,0xA8,0x16,0x62,0xC9,0x94,0x1D,0x79,0x74,0xBB,0x0F,0x05,0xC1,0xA7, -0x07,0x04,0x03,0x03,0xE5,0xB8,0xA3,0x41,0x50,0x92,0xF6,0x19,0xB2,0x41,0x14,0xD8, -0x1F,0xB5,0x9C,0xE3,0x97,0xB9,0x3D,0xA6,0x55,0x66,0x40,0x46,0xB5,0x01,0xBD,0xF0, -0xD9,0x8B,0x6C,0x3E,0x9E,0xD0,0xC1,0x2B,0xD0,0xCC,0x54,0x90,0xB1,0x7E,0xDB,0x7E, -0x22,0xBF,0x93,0xE1,0x6F,0x29,0xBA,0xD8,0x6E,0xD6,0x2F,0x49,0xE0,0x79,0x10,0x13, -0xBD,0xEB,0x1C,0x6A,0xB6,0x4B,0x1D,0x1E,0xBD,0x1E,0x7C,0xDA,0x58,0x8B,0x31,0x33, -0x2A,0xD8,0x33,0x80,0x8C,0xB5,0x0B,0xBC,0x36,0x2C,0x9C,0xDF,0x98,0x60,0xD3,0x6D, -0x0F,0x63,0xA3,0x62,0x89,0xFA,0x2F,0x4A,0xC1,0xBB,0x1A,0x2A,0x54,0x89,0xF4,0x97, -0xD4,0xE2,0x91,0x96,0xA7,0x7A,0x29,0x0B,0x29,0xC3,0x26,0xB6,0x8C,0x98,0x50,0x88, -0xDD,0xF7,0xD6,0x69,0x26,0xA1,0xDD,0x39,0xB8,0xEA,0xCA,0x85,0x3D,0xDE,0x40,0x53, -0x92,0xF2,0x20,0x4D,0x60,0x5B,0x9C,0x21,0xDE,0x54,0xA0,0x43,0xEF,0x44,0x1A,0x11, -0x6F,0x7F,0x69,0x61,0xF8,0xAF,0x4F,0x2F,0xD3,0x03,0x6B,0x36,0x26,0x1B,0xC9,0xB4, -0x38,0xCB,0x00,0xA5,0xF3,0xE5,0xA2,0x84,0x40,0x77,0x71,0x72,0x1A,0x34,0xD0,0x93, -0xFE,0xF5,0xF0,0x78,0x38,0xE2,0xCF,0xD5,0xBB,0x25,0xF5,0x23,0x77,0x1C,0x02,0xD9, -0xEC,0xE6,0xC3,0x5D,0x6B,0x11,0x71,0x8A,0xF4,0x93,0x81,0xF6,0xAA,0xBB,0x52,0x99, -0x66,0x6A,0x2E,0x9E,0x46,0xC5,0x89,0x49,0x9D,0x27,0xD6,0x32,0x22,0x64,0xAF,0x3A, -0xE7,0x36,0x88,0x06,0x09,0x56,0x34,0xDC,0xB4,0x2F,0xC8,0x21,0xED,0xB2,0x47,0x66, -0x0A,0x6D,0xFE,0xAB,0x32,0xDF,0xCD,0xDA,0x89,0xA4,0x2E,0xD7,0x65,0x6D,0xBA,0xC5, -0x3A,0x0E,0x0C,0x01,0xA5,0x59,0x38,0x2D,0xC9,0x18,0x67,0x00,0xE1,0xB0,0x82,0xC2, -0xE1,0x8F,0x3E,0xF5,0x48,0xC0,0x40,0x14,0x96,0x4B,0x94,0xBE,0xE2,0x8F,0x4D,0x64, -0x43,0xD1,0xBE,0x7C,0x35,0xB3,0xF8,0x0A,0x7C,0x6E,0x5E,0x55,0x17,0xFF,0x87,0xE6, -0xEA,0x5F,0x75,0xAE,0xB9,0x39,0x3B,0xE7,0x57,0x3B,0xB6,0x31,0xC0,0xD3,0x29,0xFB, -0xC7,0x83,0x45,0x2D,0xFC,0x97,0x84,0x7D,0x12,0x73,0x49,0xB9,0x51,0x3F,0x00,0xC8, -0x0D,0xA6,0xAF,0xC6,0x98,0xCB,0x1B,0x5F,0x78,0x08,0x21,0xDB,0x6D,0x10,0x19,0xEF, -0xBF,0x2E,0x10,0xCE,0x43,0x8A,0xAD,0xBF,0xF2,0xA8,0x08,0x0F,0x13,0x80,0xE1,0x68, -0x45,0x68,0x08,0x8F,0xB4,0x68,0x0C,0x38,0xE9,0x21,0xCD,0xE8,0xF9,0x4A,0xC4,0x83, -0xC1,0x3A,0xF3,0xDE,0x4F,0xAC,0x75,0xC4,0x5D,0xC5,0x3D,0x6C,0xFB,0xBC,0x99,0xF4, -0xEE,0x23,0xCF,0xF9,0xE3,0xA3,0x79,0x35,0x3B,0x7B,0x57,0xAA,0xEC,0x7B,0xD5,0xB7, -0xEB,0x2D,0x92,0x30,0x7C,0x3B,0x9F,0xEB,0x4F,0x7D,0x4C,0x70,0x42,0x87,0x2A,0x05, -0x0B,0x1F,0x19,0x35,0xA3,0x42,0xE2,0x59,0x6F,0x44,0xE6,0x98,0xA2,0xC6,0xF1,0xB3, -0xBA,0x20,0x4D,0x07,0x42,0xFD,0x42,0x1B,0x1F,0x24,0x82,0xCC,0xF5,0x48,0x01,0x27, -0xCF,0xE4,0xE5,0x4C,0xB1,0x27,0x28,0xCE,0x60,0x4E,0xDB,0x9A,0xD7,0x14,0x65,0xB8, -0xE3,0x4A,0x32,0x51,0x70,0x1D,0x47,0x90,0x46,0x4C,0xF8,0x8B,0xA5,0x86,0x58,0x9B, -0xEF,0x51,0x28,0x67,0xD4,0x0C,0x58,0x48,0x76,0x90,0xD5,0x08,0x09,0x8C,0xFA,0x5E, -0x9A,0x95,0x80,0x2C,0x1C,0x5F,0xCB,0x9B,0xD9,0xFD,0xE0,0x6B,0xE6,0xF0,0x2B,0xEA, -0x25,0x74,0xC2,0x8C,0x45,0x91,0x77,0xCB,0x66,0x75,0x52,0x63,0x37,0x55,0xBE,0x0E, -0xE8,0x9A,0x79,0x0A,0x33,0xA8,0x22,0x7E,0x73,0x64,0x63,0x57,0x06,0xB1,0xF0,0x5C, -0x5D,0xD9,0x97,0x6F,0x07,0x53,0xFD,0x81,0x71,0x39,0x95,0x20,0xDD,0x9F,0x9B,0xE5, -0x8D,0x88,0xEE,0xC0,0xCA,0x4F,0x4A,0xA4,0xA1,0x3E,0xF9,0x15,0x74,0x23,0xCD,0x7F, -0xF2,0xEE,0xEA,0x4E,0x1B,0x33,0xFE,0x4B,0x3F,0x1D,0x28,0x24,0xAB,0x72,0xC0,0x48, -0x84,0x9D,0xA9,0x3F,0x0C,0x19,0x10,0x2A,0xF1,0x67,0x37,0xA9,0x27,0xD2,0x5B,0x65, -0x65,0xDD,0xC5,0xA4,0x8E,0x96,0x1A,0x9A,0xBA,0xB7,0x3C,0xF2,0x7F,0x61,0xA1,0xF3, -0xF3,0x9C,0x0D,0xD0,0xD7,0x58,0xA6,0xCA,0x9E,0xE8,0xE9,0x94,0xDF,0x69,0xC6,0x92, -0x03,0x78,0xB9,0x54,0x3C,0xDA,0x04,0x87,0x30,0x17,0x15,0x26,0x53,0xC9,0x5D,0xBF, -0xA6,0xED,0x68,0xB0,0xAA,0x2B,0x1E,0xD4,0x18,0x8D,0xC2,0xE4,0xDB,0x16,0xA0,0x1C, -0xA4,0x28,0x64,0x14,0x72,0x3E,0x56,0xB6,0xB7,0xE0,0xF7,0x87,0xAE,0xC4,0x34,0x17, -0x77,0xCE,0xF6,0x81,0xA2,0x35,0x0D,0xFD,0xFA,0x0B,0x75,0x25,0xC6,0x5A,0x12,0x02, -0xCB,0x82,0x42,0x28,0x8A,0xAC,0x88,0x23,0x51,0x9C,0xC3,0x01,0x4D,0x7B,0xED,0x13, -0xFB,0x41,0x56,0x85,0x45,0x87,0x3F,0x01,0x5F,0xAE,0x65,0xFF,0xFC,0x98,0x71,0x77, -0x0F,0xF7,0x09,0x80,0x51,0x2D,0xBA,0xD7,0xAC,0xA8,0xDC,0x49,0x1A,0x07,0xE9,0xA9, -0xBE,0xEF,0xE9,0x1F,0x50,0x5F,0x5D,0x49,0xF3,0x1E,0x28,0x4C,0x32,0xAE,0xA9,0xAE, -0x05,0xCA,0x0B,0x8F,0xC1,0xD5,0xC4,0x50,0xA3,0xC7,0x6C,0x72,0xF9,0xAA,0x91,0xFC, -0x31,0x31,0xD4,0x70,0x38,0x24,0x37,0x2B,0x7A,0xBC,0x76,0xCC,0x94,0x61,0x96,0xAD, -0x62,0xC2,0x6A,0x2F,0x5D,0x36,0xA0,0xE1,0x35,0x74,0x96,0x2A,0x87,0x69,0x88,0x84, -0x51,0x55,0x80,0x00,0xA3,0x0C,0x02,0xF7,0x30,0x94,0xA4,0xA1,0xD9,0x8B,0x63,0x44, -0x58,0x3C,0x7C,0x8D,0x92,0x1D,0x17,0xC3,0x5C,0xCE,0x79,0x35,0x62,0xEA,0x70,0x90, -0xD9,0xE7,0x88,0xBF,0x12,0x33,0x56,0xC5,0xC0,0xF2,0x01,0xDD,0x7D,0x4E,0x61,0x48, -0x48,0x7A,0xA7,0x3C,0xB3,0xDA,0x3D,0x76,0xA9,0x48,0xEE,0xC2,0xFB,0xA0,0xAC,0xF3, -0x4D,0x35,0x83,0xCA,0x49,0x9C,0x25,0x37,0x6F,0x22,0x50,0xA4,0xB9,0xFA,0x36,0x21, -0x71,0xD0,0x4F,0x1C,0x0D,0x49,0x98,0x48,0x98,0x99,0xCD,0x5C,0x79,0x6A,0xDC,0x06, -0xC5,0x87,0x8B,0x75,0x47,0x42,0x33,0xA5,0xDC,0x83,0xB9,0xCF,0x5E,0x73,0xF3,0x3A, -0x5C,0x04,0xB7,0xDF,0xF9,0xD1,0x96,0x9B,0x1C,0x69,0x29,0xE8,0x73,0xE8,0x53,0xB6, -0x4F,0x16,0x92,0xEC,0x0A,0x82,0xC9,0x25,0xC9,0x1D,0x9F,0xA7,0x33,0xB8,0xF4,0x6B, -0x85,0x66,0x10,0x19,0xEA,0xB0,0x42,0x20,0xA1,0xFA,0x66,0x7D,0x0D,0x2B,0x4A,0xCE, -0x4C,0x42,0x6C,0x6E,0x30,0x43,0x97,0x4A,0xAB,0x75,0xE4,0xCD,0x77,0xCC,0xEE,0xF8, -0x60,0xE1,0x7B,0x09,0xEC,0x09,0xF4,0xD3,0x9E,0x19,0xE3,0x1D,0x8A,0xD3,0xDA,0xB0, -0x3B,0x0C,0xD6,0x7F,0x9B,0x08,0x50,0x3C,0xAE,0x95,0xD6,0x46,0xB5,0x56,0x39,0xD0, -0x2E,0x05,0x29,0x38,0x86,0xB7,0x92,0x15,0x64,0xF0,0xC4,0xD1,0x45,0xF3,0x5F,0xAC, -0x0A,0xB8,0x2D,0x76,0xD8,0x16,0xBC,0x2E,0xB8,0x6B,0xEC,0xE4,0xC4,0x25,0x4F,0x93, -0x8D,0x78,0x03,0x30,0x43,0x3E,0x89,0xF2,0x04,0xA5,0xB5,0xB4,0xDD,0xAF,0xDE,0x0A, -0x14,0xFB,0x3F,0x9A,0x4D,0xE0,0x9F,0x60,0x06,0x98,0xBF,0xBB,0x91,0x53,0x76,0x26, -0x2C,0x26,0x38,0x1E,0x34,0x3F,0x2D,0x1D,0xC1,0xAF,0x17,0x18,0x57,0xED,0x1C,0x40, -0x55,0x6D,0x4B,0x52,0xE8,0x75,0x4E,0x84,0xAF,0xC8,0xC0,0x83,0x5B,0x41,0x13,0xB1, -0xD8,0x90,0x67,0x1B,0x2B,0x45,0xE3,0x90,0x3B,0x46,0x30,0xD4,0x9C,0xE9,0x24,0x12, -0xA9,0xC5,0x07,0x7E,0x14,0x8A,0xE0,0x36,0x0A,0x97,0x13,0x4A,0xB3,0x78,0xB9,0x91, -0x02,0xA6,0x3E,0x5F,0xCC,0xBC,0x39,0xF8,0x16,0xE6,0xAB,0x58,0x99,0xDB,0xC4,0x99, -0xEF,0x3F,0x46,0x66,0xD9,0x64,0x5B,0xB0,0xB1,0x84,0x72,0x9E,0xF5,0x06,0x9E,0x0D, -0x44,0x5C,0x7F,0x47,0xF6,0x7D,0x67,0x97,0x1B,0xB4,0x11,0x6C,0x68,0x68,0xFF,0x20, -0x3C,0x60,0xE3,0xAF,0x7B,0x3A,0xDB,0x39,0x58,0x73,0x5D,0x7B,0xBA,0xE6,0x56,0xEB, -0xF0,0x0B,0xBB,0x2E,0xF5,0xCA,0x8C,0xAD,0x61,0x10,0xF6,0x5A,0x71,0xE2,0x6E,0xB9, -0x5E,0x27,0xA6,0xF9,0xCF,0x0B,0xD2,0xC2,0x70,0x33,0xF4,0x7C,0x52,0xDF,0xFC,0xCB, -0x2F,0x72,0xC6,0x9C,0xB7,0xA6,0x87,0x21,0x81,0x08,0x47,0xC5,0x00,0x91,0x18,0xFA, -0xEB,0x07,0x8D,0x34,0xE4,0x6E,0x54,0xB2,0xE2,0x3D,0x2A,0x6A,0xB4,0x40,0x64,0x15, -0x20,0x00,0xE0,0x65,0x40,0x89,0x62,0xC8,0xBD,0x8B,0xDE,0x6F,0xB6,0x4A,0x59,0x1A, -0xCE,0xCD,0x66,0xDE,0x79,0xFF,0xD7,0x9D,0x89,0xBA,0xCF,0x7A,0xE4,0x04,0xBD,0x2B, -0x32,0x65,0x2A,0xF2,0xA7,0x70,0xB8,0xA0,0xFF,0x11,0x84,0xBD,0x95,0x77,0xCB,0x68, -0x63,0xB5,0x85,0x8B,0xBB,0xBD,0x9D,0x17,0xCA,0x7D,0x83,0x6D,0x0F,0x21,0x77,0xC1, -0x27,0x6C,0xD5,0xB5,0xF1,0xB6,0x36,0xFA,0x43,0xDF,0xDD,0xED,0x8F,0xE1,0x3A,0x3B, -0x54,0x1A,0xA4,0xF6,0xDB,0xA1,0x57,0x14,0xCE,0xC0,0xA7,0x23,0xA2,0x7A,0x9A,0xB7, -0x26,0x1B,0x3A,0x11,0xB0,0x6D,0xD6,0x4C,0x7E,0x01,0x52,0x82,0x78,0x7C,0x81,0xC3, -0x67,0x8D,0x4E,0xD9,0x7E,0x34,0x86,0xF0,0x18,0xD4,0x0D,0xA6,0x19,0x1B,0x89,0x63, -0x57,0x4E,0x5A,0x74,0xC3,0x10,0xC8,0xF4,0x0E,0x2A,0x37,0x04,0xF6,0x1A,0xFE,0xC7, -0xC2,0xEB,0xBE,0xA5,0x32,0x86,0x9B,0xEE,0xCC,0xFD,0xAD,0x2C,0x55,0xE7,0x21,0x4F, -0x74,0x9F,0x6B,0xEA,0xDD,0x18,0xE1,0xE7,0xCF,0x9D,0xB1,0xE6,0xE8,0xA8,0xB2,0xDA, -0x92,0x4C,0xFE,0x78,0xD6,0xC8,0xAA,0xBC,0x6D,0x1F,0x5A,0xAB,0xFD,0x8E,0x2C,0xB2, -0x8C,0x0F,0xEC,0x94,0xBE,0xB3,0xC0,0xDE,0xCB,0x20,0x95,0xA8,0x8C,0xFD,0x5A,0xF1, -0xD0,0x8E,0x74,0x32,0x2D,0xFC,0x55,0x63,0xD8,0x3E,0x9D,0x81,0xD0,0x15,0x8C,0x3E, -0xB4,0xD2,0xEB,0x10,0xB1,0x1F,0x31,0xD2,0xEA,0x8F,0xA2,0xD5,0x28,0x38,0x58,0xFD, -0xD7,0xE2,0x41,0xE2,0x37,0x88,0xC6,0x27,0x3D,0xC6,0x1E,0x95,0x2F,0x00,0x85,0x79, -0x6B,0xAB,0x96,0xA2,0x5B,0x8F,0x16,0x12,0xBF,0xB6,0xD4,0x60,0x0C,0x3D,0x17,0x0B, -0x35,0x09,0x1F,0x22,0x28,0xF2,0x08,0xAA,0x54,0x7C,0xF1,0x8A,0x8E,0xF7,0x67,0xFE, -0x39,0x2F,0xC7,0x59,0x7F,0x46,0x61,0x6E,0x53,0xA1,0xC9,0x0E,0x22,0xBA,0xD7,0x4D, -0xE5,0x02,0x44,0x69,0xD1,0x03,0xFB,0xD1,0xDB,0x5E,0x81,0x4B,0x11,0x93,0x3B,0xDC, -0x94,0x57,0x24,0x0C,0x62,0xF9,0xA3,0x47,0xE5,0xE0,0x12,0xEE,0x82,0x5B,0x68,0x0F, -0x1C,0xE5,0x2C,0xB3,0x23,0x22,0x43,0xF1,0x31,0xC9,0xB2,0x64,0x05,0xA3,0xF8,0x71, -0x80,0x29,0x34,0xEF,0x44,0xF5,0xD8,0x9F,0x86,0xD5,0x7F,0x41,0x1E,0x23,0x54,0xE7, -0xD2,0xAD,0x65,0x14,0x80,0x0E,0x24,0xE6,0x02,0x25,0x9B,0xF5,0x69,0x7E,0xA2,0xE5, -0x97,0x03,0xDA,0x8E,0xD3,0xC6,0xF7,0x75,0x9A,0xA4,0xC7,0x53,0xEF,0x90,0x6F,0x5E, -0x99,0x06,0x13,0xD3,0x4B,0x59,0x29,0x93,0x40,0xBF,0xC1,0x27,0x5D,0x6F,0x93,0xF0, -0x9A,0x52,0xED,0x51,0x15,0xF8,0x07,0xA8,0x26,0x6A,0x9E,0x03,0xCD,0xBB,0xA0,0xE9, -0xA5,0xE3,0xDF,0x05,0xAA,0x19,0x45,0x08,0x72,0x0E,0xFE,0x73,0x59,0x4B,0x2E,0xBE, -0xF5,0x14,0xD8,0x5B,0xDB,0xE9,0xDE,0xF8,0x4D,0xF0,0x24,0xFE,0xCC,0x16,0x04,0x25, -0xB9,0x67,0xA1,0x10,0x42,0x8A,0x02,0xB2,0x9A,0x9E,0xBF,0x99,0x60,0xE7,0x08,0x2A, -0xD9,0x58,0x24,0xF3,0x69,0x47,0x22,0x07,0x9E,0x55,0xED,0xA1,0xF5,0x36,0xEC,0x8F, -0xBC,0x38,0x55,0xA6,0xCF,0x44,0x1D,0xC8,0xBD,0x64,0x73,0x70,0x64,0xB5,0xC3,0x12, -0xC1,0x19,0x62,0x09,0xEF,0xFC,0xEF,0xE9,0xFF,0xEE,0x39,0xB2,0x8B,0xAA,0xAA,0xA8, -0xF8,0x61,0x8F,0x90,0xA7,0x9E,0xFA,0x31,0x26,0x49,0xFF,0xD0,0x56,0x3E,0xC6,0xF2, -0x08,0xBC,0xB1,0x56,0x66,0x7C,0x4D,0xB7,0xD0,0x07,0xDC,0x45,0x6B,0x4C,0xE5,0x60, -0xE0,0x20,0xC9,0x6A,0xC8,0xC0,0xC0,0xF0,0x9C,0x44,0xCB,0x82,0xE5,0x87,0x37,0xC9, -0xC9,0x33,0xC1,0x74,0x15,0x30,0x06,0xCE,0x69,0xF4,0x6A,0x43,0x41,0x5F,0x28,0xD8, -0xBE,0x4F,0x08,0x50,0x7F,0xE5,0xDC,0x3D,0xEB,0xFE,0xDA,0xCC,0xA6,0x69,0x52,0x7C, -0xD8,0x89,0xB6,0x3A,0x63,0xF7,0xAD,0x85,0x5B,0xF1,0xE1,0xA3,0xDB,0x77,0xEA,0x0F, -0xAE,0x24,0xED,0xD7,0x8C,0x53,0xDA,0x84,0x6E,0xC1,0xBA,0x2F,0x5E,0x17,0xD5,0xEC, -0xD1,0x72,0x87,0x8E,0x71,0x1B,0xEE,0x9B,0x61,0xE7,0x43,0x5D,0xA8,0x34,0x9B,0x79, -0x9F,0x76,0xA3,0x33,0x4A,0x35,0xB0,0x3A,0x49,0x3B,0x76,0xC6,0x7E,0x0B,0x1A,0x69, -0x3D,0x60,0x99,0xCD,0x3F,0x38,0x7B,0x6D,0x32,0x59,0x1C,0xAE,0xDE,0x81,0xCE,0x40, -0x97,0x5C,0x00,0x4E,0xAD,0x2E,0x75,0xB3,0x38,0x5B,0x13,0x93,0x22,0xAD,0x82,0xE8, -0x18,0xD7,0x54,0xD1,0x9A,0xF1,0x24,0xBE,0x8C,0x9F,0x7A,0xC4,0xC3,0xEF,0x22,0x57, -0x2A,0x23,0xD5,0x0A,0x9C,0xB0,0xA4,0x90,0xF4,0x03,0x92,0xF8,0x67,0x37,0x3D,0x46, -0x6D,0xDC,0xC0,0x03,0x68,0x82,0x7F,0x11,0xDD,0x30,0x03,0x14,0x77,0x86,0xE6,0x00, -0x9B,0xF8,0xC5,0x4C,0x29,0x9A,0x85,0x57,0x63,0xF6,0x65,0x7E,0x2D,0x54,0xA4,0x9A, -0xD2,0xD4,0x48,0xB1,0xFA,0x94,0x71,0xCF,0x34,0x83,0x68,0xB5,0xFE,0x9D,0x01,0xC5, -0xBB,0x10,0xFC,0xE6,0x17,0x3F,0x3B,0xC4,0x40,0xC7,0xFB,0xAF,0xE7,0xA1,0x26,0xEA, -0x4B,0xCD,0xC2,0x20,0x7A,0x6E,0x3C,0x0F,0x12,0x96,0x00,0x2B,0x35,0xCC,0x6C,0xC2, -0x78,0xE8,0xD1,0x32,0xC4,0x31,0xCF,0x5C,0xA4,0x43,0x4F,0x5F,0x65,0x11,0x2C,0x65, -0x22,0x09,0x76,0x77,0x5E,0x98,0x73,0x0A,0xE8,0x00,0x58,0x98,0x15,0xD0,0xA3,0x47, -0x8F,0x1D,0x46,0xB4,0x7C,0x2F,0xBC,0x21,0x4E,0x0E,0xA6,0xAA,0xF6,0xB4,0x12,0xDB, -0xB8,0xB6,0x33,0xD9,0x16,0xFA,0x66,0xD2,0xA5,0xAC,0xEB,0x28,0x23,0x09,0x6D,0x9F, -0x27,0x56,0x82,0xC1,0x88,0x1D,0x67,0xA0,0x51,0xF3,0xEE,0x9E,0x8A,0x0E,0x45,0xDF, -0xD7,0x8B,0xBC,0x07,0x74,0x90,0x0E,0xA9,0xFB,0x25,0x6B,0x8A,0xEC,0x0A,0xCB,0xA0, -0x28,0x54,0x88,0xFC,0x0F,0x63,0xF7,0x58,0xE1,0xFC,0xD5,0xF1,0x27,0x5B,0xA6,0xA7, -0xA7,0xDF,0xDC,0x63,0xA8,0xA5,0x95,0x81,0x29,0x6F,0x06,0xA2,0x06,0xE3,0x86,0x55, -0x88,0x35,0xEF,0xF4,0xBE,0x07,0x6B,0xBB,0x1B,0x6A,0x8D,0x42,0xE4,0x23,0xD8,0xBE, -0x14,0x73,0x91,0xD3,0xAE,0xE4,0x15,0xAF,0x3F,0x6E,0xC3,0xFF,0x2E,0xD6,0x5A,0xCE, -0xAB,0x7B,0x19,0x61,0x18,0x04,0x54,0x74,0x9F,0xBA,0x49,0xD6,0xD6,0xA8,0xDD,0x5E, -0xB3,0x3A,0x5F,0x9B,0xB9,0x83,0xB6,0x83,0x16,0x5D,0x52,0x13,0xF3,0x42,0x36,0x94, -0x48,0x6B,0x0D,0x1F,0xC0,0x7F,0x72,0x78,0xF2,0xD9,0xE6,0xE3,0xAE,0x40,0x41,0x62, -0x74,0x4C,0x14,0x30,0xCC,0x8E,0x7D,0xD4,0x4C,0x1F,0x80,0x89,0xE2,0x57,0x02,0xA5, -0x29,0x85,0x1A,0x35,0x2A,0x50,0xE5,0x4B,0x4A,0xC5,0xF4,0x92,0x1D,0xF9,0xB0,0x59, -0xA2,0x80,0x28,0xD5,0x57,0xE2,0x9C,0x94,0x73,0x2D,0xD4,0x38,0xC6,0x19,0x06,0x18, -0xF6,0xB2,0x17,0x64,0xF7,0xA0,0x23,0x75,0x13,0x79,0xA4,0x5C,0x36,0x4E,0x92,0x96, -0x95,0x2B,0x5D,0xB8,0x3C,0xF2,0x1B,0x71,0x10,0x87,0x26,0x08,0x98,0x99,0x8F,0xBA, -0x33,0xB3,0x01,0x39,0x81,0x67,0x88,0x3E,0x18,0x94,0x0F,0x16,0x70,0x56,0xD3,0x6C, -0x45,0x1E,0x5A,0xD4,0x78,0x61,0x01,0x05,0x93,0x62,0x32,0xF0,0x8D,0xDE,0x70,0xB3, -0xB7,0xB4,0x39,0xE4,0x8D,0x96,0x87,0x92,0x2F,0xB5,0x72,0xB9,0xB5,0x5A,0x77,0x6E, -0x85,0x40,0xB8,0x3F,0xF5,0xAF,0x1E,0x7F,0x7C,0x0B,0x2D,0x4A,0x7A,0x59,0xD1,0x51, -0x05,0xC9,0xE6,0x9D,0x4D,0xB1,0x6D,0x02,0x59,0xE0,0xC7,0x80,0xB0,0xAC,0x53,0x21, -0xCE,0x1B,0x68,0x34,0x8E,0x5C,0xE7,0x8E,0x0C,0x84,0xEC,0x68,0x1E,0x7B,0x4E,0x0D, -0xFE,0x98,0xB4,0x19,0x31,0xC6,0x49,0xCB,0x44,0x0C,0xA9,0x97,0x37,0xEA,0x7D,0xE1, -0x51,0xFB,0xD9,0x2C,0x4B,0xF0,0xED,0x2C,0x2A,0x91,0x84,0xF6,0xF7,0x10,0xFD,0xAC, -0x12,0x8A,0xAA,0x5A,0xA5,0x91,0xC7,0x3B,0x50,0x1C,0x4A,0xE9,0x6C,0x9C,0xD0,0x0C, -0x7E,0x11,0xEA,0xBB,0xAF,0x21,0x48,0xB9,0x80,0x47,0x01,0xE2,0x96,0xC4,0x46,0xBF, -0xB6,0x65,0xAB,0x2D,0x13,0x71,0x86,0xE0,0xDF,0x21,0x25,0x37,0xF1,0x64,0x27,0xB7, -0x02,0xE1,0x4F,0xDD,0xB1,0x3C,0x04,0x0B,0x20,0x93,0x8B,0xCB,0x6A,0xE8,0x0A,0x17, -0xD3,0x05,0xDA,0x78,0xAB,0x6F,0xF5,0x9D,0xBA,0x51,0xA3,0x1C,0x97,0x60,0xA9,0xC8, -0xDF,0xA1,0x1F,0x7A,0xE3,0x0D,0xE0,0x45,0xD7,0x32,0x0C,0x29,0x03,0x15,0xA2,0x1A, -0x4D,0x34,0xF9,0xA9,0xB8,0x46,0xEB,0x95,0x3C,0x90,0x41,0xAB,0x25,0x7D,0xB7,0x84, -0x5E,0xF9,0xD3,0x11,0x9D,0x75,0xF9,0x86,0x79,0x2F,0xDB,0x05,0x52,0x6C,0x0D,0xCA, -0x89,0xE4,0x7D,0x3D,0xF2,0x2B,0xC3,0x47,0x7B,0x3E,0xFD,0x26,0x6F,0x1E,0x2E,0x58, -0x93,0xD2,0x66,0x31,0xED,0xF3,0xD2,0xE3,0xA7,0xBD,0xCD,0x0B,0xCD,0xB2,0xEB,0x52, -0x3B,0x99,0xA2,0x44,0x7E,0x20,0x81,0x2B,0xCA,0xDE,0x62,0x3E,0x1C,0x5D,0x5F,0x2E, -0x79,0x39,0x43,0xFB,0xC2,0x70,0x4F,0x72,0x42,0xD6,0xDD,0x8C,0x89,0x8C,0xBB,0x8B, -0xC2,0xBF,0xAD,0x36,0x97,0xC5,0x76,0x04,0x53,0xE2,0xC8,0xBD,0xC7,0xBD,0xE9,0x6F, -0x2C,0xDA,0xEE,0x83,0x48,0x3A,0x8D,0x30,0x0E,0x95,0xCA,0x4B,0xAC,0x66,0x50,0x41, -0x55,0x75,0xBF,0x53,0xFF,0x1F,0x91,0xFD,0x09,0xA0,0x1A,0x27,0xFA,0xCF,0xCA,0xFD, -0x18,0x2F,0xDD,0x34,0x76,0x72,0x4B,0x8B,0xB2,0x15,0xD9,0x6A,0x8D,0x5C,0xF6,0x0A, -0x75,0x1A,0xBE,0x9B,0x0A,0xA3,0xA4,0x3F,0xF9,0x60,0x1D,0xC2,0x1E,0x94,0xA5,0xD9, -0xC6,0x21,0x4F,0x22,0xEE,0xED,0x95,0x6D,0x99,0x35,0x6C,0xA7,0xFD,0x39,0xDD,0x8C, -0xC4,0x02,0x5E,0x04,0x7C,0xD0,0xE7,0x4E,0x84,0x19,0xC2,0x70,0x92,0xF8,0xE7,0xD2, -0xB1,0x6F,0xF5,0x33,0x65,0x13,0x9F,0x30,0xBA,0xA7,0x51,0xD5,0x28,0x8F,0xA9,0xC3, -0xB6,0x03,0xC0,0xE3,0xD9,0x45,0x36,0xAA,0x15,0x77,0x00,0xAC,0x9F,0x42,0xB5,0xE6, -0xFD,0xA8,0xB6,0x24,0xAF,0x36,0x75,0xDB,0x59,0xDF,0xFC,0x80,0xA2,0xCD,0x6B,0x89, -0xEC,0x99,0x82,0x31,0x4B,0x78,0x44,0x89,0xDF,0x12,0x12,0x3B,0xF7,0xBB,0x52,0x3C, -0x3F,0xC6,0x27,0xF8,0x9B,0x29,0x3D,0x26,0x71,0x9F,0x55,0x87,0xCF,0x06,0x6C,0xD8, -0x60,0x13,0x41,0xDC,0x93,0x4E,0x9D,0x47,0x05,0x09,0x14,0x4F,0x73,0x5F,0xA2,0x88, -0x95,0xD2,0xF1,0x7D,0x88,0x48,0xE9,0x9D,0x9B,0x08,0x66,0xA8,0x2B,0x93,0xC9,0x09, -0xEF,0xCD,0x7C,0xB3,0x28,0xD3,0x65,0xB0,0xEA,0x7E,0x15,0xEB,0xC5,0x84,0xE3,0x68, -0x68,0x0D,0x52,0xF5,0x3E,0xBC,0xEC,0xC2,0xC1,0x5E,0xA0,0x26,0x83,0xFA,0xC4,0xF4, -0x83,0x8F,0xF0,0xB8,0xA0,0x9A,0x84,0xD7,0x54,0x8D,0x46,0xB4,0xD8,0x2A,0xCF,0xBF, -0x9F,0xEF,0xF3,0x72,0x33,0xD5,0x11,0x6A,0x81,0xF9,0xF0,0xFB,0xD1,0xB4,0x20,0xC5, -0x05,0x38,0x31,0x5A,0xEC,0x28,0x99,0xC9,0x65,0x5C,0x65,0x2A,0xCB,0x22,0xD1,0x96, -0x2C,0xD4,0x02,0xCB,0x97,0x32,0x27,0x10,0x7E,0xF0,0xE5,0xBC,0x18,0xBA,0x25,0x98, -0x90,0x9D,0xD5,0x8B,0x4A,0x0A,0xA3,0x17,0xD4,0xC0,0x86,0x4E,0xED,0x2D,0xA3,0x6F, -0xAF,0x2C,0xE7,0xDF,0x9E,0x27,0x60,0xEF,0x4B,0x9C,0xE2,0x6C,0x5C,0xCE,0x3F,0x0B, -0xA7,0x32,0xF4,0xF6,0x48,0xCF,0xAF,0xB3,0xD3,0x1D,0xBE,0xCA,0xE1,0x81,0xAC,0x9E, -0xB3,0x4C,0xE4,0x15,0x29,0xA1,0x82,0x2E,0x7B,0x10,0xD7,0x37,0xEE,0x31,0xC3,0xA5, -0xFB,0xB3,0x6C,0x50,0xC5,0x88,0x13,0x1D,0xF8,0x3D,0x0B,0x07,0x51,0x74,0x6D,0x3F, -0xC3,0x6E,0x6B,0xD4,0x75,0xC5,0xA0,0xB1,0x20,0x1B,0x07,0x7C,0x95,0xC0,0x3A,0x56, -0xE6,0xA4,0x80,0x3E,0x05,0x0F,0x55,0x33,0xA9,0xB9,0x59,0xFC,0x2D,0xBD,0x49,0x48, -0xA9,0x37,0x3D,0xAB,0xB0,0x4C,0xBB,0x56,0x5A,0xBF,0xE0,0x4A,0xD9,0x3C,0x92,0x7A, -0x4D,0xC7,0xB9,0x1F,0x46,0x11,0xB9,0x21,0x0B,0x3B,0xB2,0xB1,0xA0,0xC7,0x56,0x86, -0x80,0xDB,0x0E,0x3A,0xEA,0x91,0x2F,0x3A,0x13,0xF7,0x2E,0xED,0xCE,0x10,0x31,0x1D, -0x20,0xF2,0xDA,0xB0,0x7A,0x69,0x51,0xBD,0x1B,0x45,0xA6,0x52,0x78,0xCB,0x70,0xFD, -0xCC,0x1C,0x4D,0x2D,0x3C,0x79,0xE0,0x66,0xE0,0xF1,0x97,0x5B,0x37,0x2B,0xB8,0x1B, -0xAC,0x78,0x19,0x5D,0xB2,0x89,0xB7,0xF2,0xD2,0x40,0xA8,0x0F,0x97,0xCA,0x07,0x59, -0xF3,0xAD,0x7F,0x79,0x81,0x5D,0xAE,0x62,0x2C,0x14,0xAB,0x8D,0xAC,0x6B,0x59,0x77, -0xF5,0xB6,0xA5,0x0D,0x7D,0xA2,0x00,0xD0,0xE5,0x11,0xA5,0xD0,0x4A,0xF4,0xC1,0xA9, -0x1A,0x0C,0xCC,0x12,0xBB,0x9C,0xF0,0x0D,0xD6,0xFD,0x8C,0x41,0x76,0x6D,0x42,0x03, -0xEE,0xBA,0x93,0x17,0xFB,0x35,0xF7,0x25,0x36,0xE5,0x3D,0xDE,0xE8,0x1F,0x43,0xE4, -0x57,0xBC,0x60,0xA1,0x63,0xAA,0x29,0xC3,0x69,0x53,0xC9,0xDB,0x3E,0xB5,0x57,0x61, -0xF1,0x8E,0x6E,0x5F,0xFF,0x49,0x4D,0x72,0x7D,0x90,0xF9,0x76,0x1C,0x9E,0x98,0xD6, -0x96,0x86,0x0F,0xFF,0x71,0xB9,0x1A,0xE6,0xBF,0x47,0x63,0x5E,0xC8,0x3E,0xB1,0x5C, -0xA4,0x66,0x0A,0x74,0x9A,0x5B,0xDA,0xB8,0x55,0xD0,0x50,0x71,0xDE,0x04,0x4F,0xFE, -0x44,0xAE,0x45,0x92,0x84,0x53,0xF3,0xAB,0xEB,0x23,0x03,0x2E,0x14,0x16,0x2A,0x69, -0x5E,0xD5,0x9C,0x2C,0x83,0x98,0xA2,0xC6,0x34,0xD8,0x37,0xD1,0x6F,0xE7,0xD3,0x9A, -0x62,0x30,0x50,0xFA,0x24,0xC8,0x7F,0x86,0xBC,0x27,0x7F,0x94,0x08,0xAE,0x5B,0x7B, -0xDC,0x5A,0x96,0x9C,0xBE,0x92,0xAD,0xC4,0x98,0x68,0x7A,0x62,0x49,0xE8,0xA1,0x63, -0x33,0xE0,0xFF,0x83,0x73,0x7C,0x16,0x42,0xB7,0xF5,0xEB,0xE1,0xFA,0x01,0x00,0x08, -0x4B,0xDC,0x63,0x6B,0x62,0xD8,0xCE,0x5D,0x43,0x2E,0x6A,0xD3,0xFC,0x2F,0x80,0x49, -0xAD,0x0F,0xF6,0xF9,0xE6,0x8A,0x35,0x0C,0xAD,0x04,0x7D,0xB2,0x1A,0xB0,0x18,0x97, -0x1B,0x7B,0x23,0xB6,0x41,0xDA,0xE8,0x4C,0x88,0x16,0x6E,0x81,0xA4,0xE3,0xEB,0xC8, -0x8B,0x91,0xE3,0x91,0xE1,0x41,0x64,0x61,0xB4,0x95,0xF7,0x2B,0x9A,0x70,0x55,0x6D, -0xFF,0x8B,0xA7,0x02,0xCE,0x58,0x58,0x46,0x70,0xC2,0x43,0x42,0x77,0x7B,0x1F,0xC6, -0xE4,0x87,0x91,0x18,0x2B,0x64,0x8E,0x8A,0xE9,0x1E,0x09,0x21,0x03,0x3A,0x89,0x0E, -0xD1,0x0B,0xA1,0x43,0xC8,0xE1,0xEE,0xB5,0x44,0xF3,0x52,0x57,0xEC,0x3B,0xFE,0xAA, -0xD6,0x67,0x94,0x93,0xFC,0xFE,0xA6,0x48,0x53,0x50,0x7E,0x30,0x75,0x71,0x22,0xC9, -0x54,0xE8,0x9E,0x23,0x58,0x19,0x90,0x32,0x2F,0x74,0xB7,0x47,0x1F,0x82,0xF8,0x1C, -0x8D,0x8A,0x39,0xE5,0x64,0x61,0x78,0xAE,0x00,0xE9,0x26,0xC4,0x5F,0xD2,0x5F,0xC1, -0x87,0xB7,0x3B,0xEA,0xCC,0x9D,0x54,0xE2,0x3C,0x6A,0xBF,0x6E,0xCD,0x0C,0x51,0xD7, -0xDE,0x79,0x87,0xBA,0x5D,0x17,0xCD,0xFB,0x12,0xAA,0x38,0x28,0x11,0x24,0xCA,0xE2, -0xF6,0xE2,0x5B,0x8F,0x4D,0xC1,0xF2,0x7A,0x16,0x17,0x1C,0x66,0x2A,0x85,0x94,0xCC, -0x21,0x85,0x35,0x14,0xAB,0x4A,0xCF,0x8C,0x38,0xD7,0x9B,0x20,0x09,0xB8,0x06,0xBE, -0x02,0x54,0x04,0x8A,0x36,0xDB,0x4C,0xA3,0x58,0x82,0xEA,0x45,0xAF,0x77,0x39,0xBD, -0xF2,0xDA,0x90,0xDD,0x01,0x73,0xEF,0x64,0x74,0x7F,0x67,0x0C,0xBB,0x47,0xFA,0x10, -0x25,0xBD,0xFE,0x46,0x0E,0xDF,0x1E,0x68,0x07,0x34,0x1E,0x40,0x22,0x0D,0x26,0x73, -0x6F,0x61,0x67,0x25,0x44,0xD4,0xB5,0x85,0xDC,0x72,0x0E,0xF1,0x06,0x08,0x69,0x85, -0x23,0xA6,0x24,0x32,0xED,0x5A,0x7E,0x57,0x40,0x4E,0x76,0x19,0xA8,0x4F,0xE4,0x39, -0x40,0x96,0x8E,0xC0,0x8C,0x34,0x53,0xCA,0x79,0x2D,0xDD,0x38,0x8F,0x56,0xCB,0x05, -0x99,0xF4,0x29,0x06,0xD6,0xE9,0xC7,0xA6,0x01,0xB4,0x30,0x01,0xC7,0x8E,0xDE,0x67, -0x05,0x65,0x41,0x6D,0x2F,0x8F,0x2F,0x83,0x2D,0xB5,0x30,0x6A,0xF7,0x5A,0x60,0x99, -0xB2,0x40,0x5D,0xA0,0x56,0x20,0x7E,0x53,0x91,0x1C,0xAA,0x3C,0x9B,0x6F,0xB0,0x9E, -0x6D,0xBF,0xA6,0x94,0xB8,0x45,0x3D,0xE6,0xBF,0xC7,0x13,0x57,0x6D,0x18,0xB2,0xC3, -0x38,0x0A,0x9F,0xE2,0x03,0xC3,0xD3,0x2B,0x5B,0xF6,0x41,0x19,0x5C,0x2C,0xA7,0xD2, -0x84,0x5A,0x51,0xBB,0x41,0x63,0x32,0x94,0xFE,0x27,0xA5,0x8C,0xEE,0x24,0x18,0x5A, -0x17,0x89,0x02,0x73,0xE9,0x28,0xF6,0xE1,0x82,0xC8,0x11,0x5D,0xDB,0x47,0xB7,0x37, -0x08,0x51,0x13,0xD7,0xF3,0x1E,0xED,0xED,0x88,0x64,0xD4,0xFF,0xF6,0xC4,0x87,0xEB, -0x67,0x0F,0x29,0x16,0x24,0x03,0x43,0xC1,0x1A,0x16,0xF7,0xC2,0xD5,0xD5,0xA1,0xE9, -0x42,0x3C,0x3B,0x05,0x37,0xCE,0x69,0x79,0x54,0x07,0x4D,0xB5,0x7B,0x6A,0x3B,0xAC, -0x19,0x77,0x30,0xD5,0xA5,0x5B,0x8F,0xAA,0xCA,0x6F,0x58,0x93,0xF9,0xC8,0x76,0x47, -0x51,0x15,0x25,0x0D,0xA9,0xFF,0x4A,0xA8,0x18,0x1A,0x53,0x07,0xCC,0xAB,0xD9,0x2A, -0x4B,0x46,0xD4,0x9B,0x78,0x1B,0xDF,0x0D,0xC7,0x92,0xF0,0xFA,0x1B,0x69,0xF1,0xB0, -0xE9,0x0B,0x56,0x70,0xCC,0x9F,0x3B,0xFD,0x67,0x1E,0xDD,0x61,0xE7,0xDB,0x5F,0x4F, -0x55,0x5B,0x98,0x29,0x04,0xEB,0x7A,0x6B,0x6F,0xBE,0xBC,0x06,0x32,0xBD,0x7B,0x10, -0x5F,0xEB,0x17,0xAB,0x68,0x70,0x3A,0x8A,0xDC,0xE6,0x2A,0xFC,0x39,0xE6,0x30,0xC0, -0xB1,0x8A,0x3D,0xBC,0x2B,0x01,0x49,0xFC,0x7C,0x6A,0x07,0x67,0x26,0x6B,0xFE,0xBA, -0xCB,0xBC,0x99,0x5B,0x84,0x62,0x24,0xC9,0x31,0x90,0x87,0xA7,0x47,0xF6,0xD3,0xD4, -0x74,0x26,0x37,0x1E,0xB4,0xE1,0xF8,0xE4,0xDD,0x01,0xB4,0x8E,0xB8,0x7E,0x96,0x9C, -0xB7,0xCB,0xBD,0x92,0x7F,0x33,0x76,0x4D,0xF1,0xD6,0xA9,0x20,0x50,0x1A,0xBD,0xC9, -0x0F,0xD5,0xCE,0xEF,0xFF,0xBA,0x28,0xEF,0x81,0x23,0x2B,0xEA,0x9A,0xF1,0x57,0xEC, -0x77,0xEC,0x57,0x02,0xCD,0x4E,0xA9,0x34,0xBE,0x20,0x8D,0x25,0x69,0x4F,0x08,0xBF, -0x82,0x1B,0xD1,0x95,0x3F,0xE4,0xCA,0x04,0x63,0xA4,0x8A,0x1D,0x20,0x98,0x48,0x03, -0x7B,0x1D,0x58,0xAE,0x49,0x49,0x91,0xE9,0xBC,0x2C,0x29,0xE0,0xC6,0x6E,0x75,0x88, -0xC6,0x88,0xCB,0xE1,0xEF,0xD1,0xCD,0x68,0x6A,0xE3,0x75,0x08,0xD8,0x7D,0x5C,0x80, -0x0D,0xDA,0xF3,0xE5,0x8C,0x48,0x87,0xB4,0x46,0x34,0x68,0xA6,0x8C,0x83,0xDE,0x83, -0xAD,0x98,0x4C,0x04,0xD8,0x7A,0xB8,0x05,0xC8,0x63,0xFC,0x56,0xE8,0xD7,0xAE,0xE3, -0xD0,0x2A,0x35,0xDB,0x53,0x7F,0x8A,0xE5,0x89,0x83,0x4A,0x8D,0x42,0x3F,0x8E,0xDA, -0x36,0xF4,0xAD,0x44,0x0E,0xB6,0x84,0xE0,0x75,0x2D,0xF8,0x72,0x59,0xE5,0xFA,0xDC, -0x3A,0x05,0xA2,0xE8,0x32,0x91,0x9D,0xCF,0xB2,0x3A,0xBB,0x3E,0x33,0x23,0x9C,0x62, -0x43,0xF9,0x66,0x13,0xC9,0xC0,0xCF,0x4B,0x44,0x38,0xCC,0x63,0xC3,0xA7,0x28,0x86, -0xE2,0x7E,0x84,0xE4,0xD1,0x81,0x89,0xB1,0x8E,0xD2,0x27,0x46,0x06,0x40,0x33,0x0F, -0x54,0x9E,0xC5,0x3F,0x6E,0x89,0x01,0x03,0x1E,0xAC,0xA0,0xBE,0x2F,0x94,0xB9,0xAF, -0x44,0x7D,0xBB,0x2B,0xF2,0xCF,0x7F,0x24,0x6E,0x59,0x22,0x74,0x92,0x90,0xF7,0x8B, -0x52,0xDF,0x45,0x11,0xDD,0x25,0x4C,0xB3,0x85,0x99,0x7C,0x96,0x72,0x95,0x7C,0xB9, -0xF5,0x19,0x27,0xC8,0x52,0xAE,0x18,0x2C,0x77,0x21,0x5C,0xB7,0x21,0x06,0xAF,0x71, -0x8E,0xEA,0xDE,0x39,0xAD,0x71,0x2C,0xD7,0x70,0x70,0x31,0x7C,0x5A,0xDF,0x11,0x6B, -0x72,0x67,0xB7,0x30,0x5D,0xAC,0x12,0x11,0x0F,0x74,0xBF,0x1A,0x4E,0x09,0x94,0xC1, -0xEC,0x80,0xB6,0x42,0xC2,0x4C,0xA3,0x09,0x4F,0x73,0x97,0xB3,0xF8,0x56,0x91,0x35, -0x86,0x55,0x6C,0xB1,0xF5,0xE7,0xD6,0x64,0x0B,0xCE,0xE8,0x66,0x7A,0xF4,0xDC,0xDE, -0xA4,0xE2,0xA3,0x9A,0x58,0xF3,0xE6,0xA7,0x97,0xAA,0x59,0x85,0x48,0xFA,0x22,0x78, -0x3E,0x4B,0x1F,0xCC,0x02,0x12,0x41,0xE2,0xB5,0x6B,0xD6,0xF5,0x8F,0xB9,0x35,0x34, -0x80,0x14,0xEC,0x9F,0x31,0x37,0x52,0xF0,0x12,0xB6,0x96,0xA5,0xFB,0x6C,0x7A,0x82, -0xED,0x45,0xEB,0x54,0xC1,0xEA,0x6C,0x36,0x3A,0xDB,0xDC,0x77,0x7F,0x3D,0x81,0xD0, -0x00,0xEE,0xA1,0x5F,0xA8,0x2E,0xD8,0x61,0x15,0xE7,0xFB,0x6E,0x65,0x79,0x12,0xA4, -0xD3,0xE0,0x55,0xC7,0xE1,0x02,0x55,0x9C,0x4A,0x2E,0x5E,0xBD,0xAE,0x0C,0x1F,0xF3, -0x92,0xF8,0xAF,0x81,0x17,0x26,0x50,0xD3,0xD0,0xFC,0x1C,0xE7,0xC4,0xCA,0x79,0x4D, -0x66,0xCA,0x74,0x00,0x50,0xD9,0x45,0xDA,0x96,0x4D,0xC7,0xF7,0x28,0xF9,0xE8,0x64, -0x60,0x8B,0xF4,0x2E,0x62,0x2D,0xC4,0x01,0x87,0x95,0xD8,0x53,0x14,0x65,0x00,0x1C, -0x57,0x54,0xA5,0x23,0xED,0xA6,0x90,0x9E,0x38,0xD7,0x78,0xB2,0x43,0xA1,0x69,0xA8, -0xC5,0x42,0xAB,0xFD,0x47,0x9A,0x09,0x1D,0x90,0xFB,0x34,0x4E,0x7E,0xA3,0x66,0xA2, -0xB0,0x4F,0x60,0xAA,0xE5,0x8C,0x33,0xE3,0xB9,0x71,0xE0,0xEE,0x16,0xC1,0x0C,0xD9, -0x8B,0x61,0x3E,0x0B,0xAB,0x88,0x17,0x5E,0xA9,0x4E,0x61,0x38,0x8D,0x1D,0x39,0xF1, -0x76,0x29,0x0A,0x14,0xD4,0xDE,0x7D,0x07,0x3C,0x6D,0x2F,0xCE,0xFF,0x3B,0xC0,0xFE, -0x99,0x8D,0x7D,0x15,0xA2,0x73,0x26,0xEA,0xDF,0x0D,0x10,0x4B,0x73,0x0B,0x9B,0xCB, -0x85,0x9F,0x0C,0xAD,0xC4,0xB5,0x98,0x80,0xAC,0x13,0xA8,0x36,0x1C,0x04,0xA0,0x7B, -0xEF,0x4A,0xD6,0x5E,0xB3,0xC9,0x51,0xA4,0x08,0x25,0xD2,0xD1,0x93,0x0E,0x10,0xF9, -0x32,0xBA,0x10,0x60,0x9A,0xDA,0x59,0xBA,0x19,0xFD,0xCD,0x75,0x52,0xBE,0xB1,0x0C, -0x9C,0x06,0x9D,0x27,0x72,0x46,0x21,0x86,0xB0,0x36,0x1F,0xFB,0x95,0xFD,0xA6,0x40, -0x5D,0xE4,0x2A,0xA1,0x82,0x9B,0x1F,0x40,0x22,0x44,0x3C,0xC6,0x00,0xB3,0x85,0xB6, -0x15,0x86,0x3F,0x79,0xBB,0xE3,0xF2,0xD9,0x78,0xD0,0x50,0x1B,0x62,0x14,0x43,0x6F, -0x35,0x3E,0xCD,0x58,0xC6,0xC2,0xC5,0x76,0xC2,0xCF,0x39,0xF4,0xA0,0x9E,0x09,0x2D, -0x93,0x3D,0xF2,0x97,0xA3,0xA2,0xB4,0x23,0x5F,0x4C,0x16,0x65,0x71,0xAF,0x97,0x0E, -0xB8,0xF0,0xD2,0x22,0xC3,0x9D,0x31,0xC0,0xFA,0x9D,0xF2,0xF0,0x49,0x64,0xC5,0x0A, -0x21,0x93,0x0E,0x68,0x8F,0xEE,0x48,0x8B,0xF5,0x6C,0xFE,0x5C,0x2E,0x0A,0x5E,0xDD, -0xAB,0xDC,0x04,0x3D,0x0D,0xAA,0xF4,0x96,0xA2,0xD2,0x55,0x0F,0xEC,0x64,0x80,0xEB, -0x5D,0xF8,0x01,0x72,0x4C,0xB2,0x0E,0xD0,0x1C,0x14,0x33,0x65,0xB6,0xB6,0xC2,0x71, -0x1A,0x07,0x14,0x7B,0xB8,0x80,0xD5,0x51,0x35,0x27,0xA2,0x89,0xA6,0x07,0x19,0x37, -0x28,0xF3,0x95,0xA0,0xBE,0xC1,0x55,0x7F,0x4D,0xBB,0x4A,0xB5,0x02,0xDF,0x06,0x26, -0x48,0xCC,0x10,0x43,0xE0,0x01,0xBE,0x9D,0x65,0x67,0x7F,0x2E,0xA4,0x21,0x08,0x14, -0x7B,0xE9,0x03,0x51,0x5E,0x5E,0x4D,0xCE,0xD3,0xB2,0x30,0x5A,0xF4,0xFC,0x48,0xB3, -0x8B,0x34,0x3D,0x97,0x33,0x0F,0x4A,0x05,0x81,0xE3,0xCB,0xDE,0x26,0x91,0x02,0x9B, -0xE2,0xF0,0x89,0xC0,0xDE,0xA4,0x00,0x0E,0xF5,0xA7,0x58,0xC4,0x3F,0xAD,0x25,0xB4, -0x17,0x72,0x43,0xB0,0xAC,0x2D,0x16,0x61,0x90,0xD7,0xDE,0xEF,0x4B,0x3E,0x61,0xAE, -0x88,0x92,0xF2,0xA8,0x32,0xCA,0x17,0x13,0x64,0x88,0xDB,0x59,0xE2,0x39,0x49,0xEE, -0xBF,0x39,0x87,0xC5,0x58,0x1F,0xCD,0xE0,0x8F,0x2A,0x96,0xDB,0x37,0x84,0x36,0xAA, -0x12,0x2D,0xB7,0x06,0x7A,0xA8,0x02,0xCB,0x29,0x24,0x68,0xE9,0xD4,0xE0,0x87,0x36, -0xB8,0x11,0x2E,0x85,0x9A,0x37,0x1A,0x7A,0xDA,0x4E,0xBD,0x33,0x25,0x13,0xFC,0xCF, -0x97,0xFB,0x1D,0x12,0x8C,0x95,0xE4,0x40,0xE8,0x4B,0x36,0xD3,0xC7,0xD3,0xA2,0x24, -0x18,0x70,0x49,0x8D,0x2B,0x53,0x86,0x99,0x20,0xD8,0xE5,0x80,0xE6,0x6B,0x82,0xD6, -0xE7,0xAF,0x7D,0x76,0x50,0xA0,0x7F,0x68,0x3A,0x01,0x5B,0xFB,0x2D,0x3A,0xEF,0xD1, -0x8C,0x1C,0x94,0xD7,0xEB,0x74,0x6C,0x09,0x7C,0x40,0x43,0x01,0xA5,0x85,0xE7,0x63, -0xE9,0x7C,0xE5,0x82,0x4D,0x77,0x53,0xC6,0x5F,0x71,0xDD,0xD0,0x34,0x06,0xC8,0xFE, -0x89,0x43,0x60,0x61,0x66,0xBA,0x73,0x73,0x5B,0xBA,0x8F,0xE8,0xA1,0xD7,0x2C,0x5B, -0xC5,0x30,0x19,0x2A,0xFF,0xD9,0xAF,0x39,0x8C,0xD4,0x14,0x8F,0x0D,0x26,0x20,0x54, -0xD0,0x04,0x08,0x1B,0xEC,0xF0,0xB1,0x31,0x5D,0x60,0xFB,0xF3,0x24,0xB7,0x13,0xB8, -0x38,0x98,0x70,0x27,0x42,0x4C,0x3C,0x76,0x11,0x23,0xEC,0x34,0xAA,0x7C,0xC1,0x11, -0xC8,0x45,0x4E,0xE1,0x83,0xAE,0x8B,0xF0,0xE7,0x6D,0xCF,0xA1,0x97,0x0E,0xE2,0x83, -0xF1,0x3D,0xA3,0x78,0xCB,0xCC,0x9E,0x28,0x3E,0xCA,0x09,0xC3,0x4A,0x9A,0x8E,0xD9, -0x9E,0x00,0x2C,0xA6,0xA8,0x63,0xAB,0x45,0xAF,0xE5,0x8A,0x5E,0x9F,0x27,0xF1,0x9D, -0xE8,0xAD,0x77,0x4B,0x47,0xC7,0xDC,0x44,0x9A,0xD5,0xD1,0xD2,0x1A,0x47,0xCE,0x7E, -0x8E,0x6B,0xC9,0x21,0x5B,0xD5,0xAD,0xFC,0x2A,0xDA,0xEA,0xBD,0x67,0x59,0x76,0x0D, -0xF9,0x17,0x00,0x05,0x31,0x00,0x77,0x0F,0xA8,0xD0,0x5A,0x32,0x80,0x6F,0x0C,0xA9, -0xA7,0x78,0xC1,0x3F,0x89,0x1E,0x04,0x72,0xF9,0x7F,0x23,0xE2,0xE3,0x9D,0xA6,0x99, -0x0D,0x44,0x58,0xBC,0x1B,0x08,0x0A,0xAC,0xF3,0x7D,0x2C,0xDF,0x1F,0xB1,0xEA,0x31, -0xAF,0x52,0x62,0x42,0x6E,0x05,0xC1,0xFB,0x88,0x1F,0x46,0xB7,0xBF,0x3B,0x3E,0x18, -0xE1,0x56,0x46,0xFF,0x55,0x2B,0x9F,0x5A,0xA0,0xC3,0x73,0x2C,0x69,0x04,0xBF,0x08, -0x86,0x41,0x6A,0x5C,0x37,0x41,0xF7,0x21,0x1E,0x05,0x15,0x46,0x30,0x54,0x03,0xC6, -0x4E,0x35,0x2B,0xCA,0x8B,0x11,0x39,0x78,0x41,0x63,0x31,0x93,0x57,0xF4,0x62,0xCE, -0x22,0xAE,0x6B,0x2B,0x81,0xA1,0xB6,0xFA,0x91,0x38,0x7A,0x98,0xAD,0xAC,0xF4,0x7D, -0x61,0xDF,0x18,0x5D,0x6F,0xC0,0x9C,0xED,0xEB,0xB5,0xB4,0x87,0x36,0x20,0xD9,0xDD, -0x7D,0x10,0x38,0xD8,0x9C,0x76,0x9A,0x54,0xFD,0xB4,0x71,0xDA,0xE4,0x4D,0x93,0xF5, -0xEF,0x85,0xDE,0x0B,0xC7,0x3D,0x91,0x84,0x16,0x16,0x3C,0x58,0xC2,0x25,0x86,0x6B, -0xE3,0x21,0x1B,0x09,0x8F,0x5F,0x84,0x5C,0x7B,0x75,0x93,0x6D,0x56,0x50,0x8D,0xB9, -0x32,0xC5,0x8E,0xAC,0x95,0x0C,0x75,0xCA,0xE1,0xB7,0xBB,0xBA,0xAB,0xD8,0x2E,0x66, -0x0B,0xBD,0x63,0x35,0x5A,0x10,0xF0,0xEA,0x0B,0xFA,0x52,0x4F,0xDD,0x6D,0x7B,0x5F, -0xA3,0xF6,0xA7,0x40,0xC9,0xC3,0xA3,0x22,0x66,0x99,0xFD,0x7A,0x0C,0x82,0xCF,0x23, -0xB9,0xC0,0xBC,0x4C,0xD6,0x1B,0xB2,0x86,0xBA,0x1A,0xCD,0x57,0xAE,0x2E,0x0A,0x29, -0x6E,0xDD,0x12,0x60,0xB9,0x45,0x88,0x47,0xB8,0x0B,0xEB,0x74,0x93,0x5C,0x29,0xBB, -0x65,0x51,0x7E,0x22,0xDB,0x2F,0xE0,0x3C,0xC8,0x84,0x2A,0x56,0x3B,0xFF,0xEE,0x8C, -0x1C,0xFE,0x2F,0xF2,0x6C,0x0A,0xFC,0xF1,0xCF,0xB1,0xFA,0x3A,0x6D,0x56,0x74,0x30, -0xF2,0x9B,0x6C,0x47,0xB3,0xF5,0x07,0xC5,0x92,0xC6,0xF8,0xCC,0x06,0x8D,0xCD,0x1E, -0x49,0x1D,0x82,0x8A,0xE6,0x40,0x3E,0xB3,0x83,0xF2,0xED,0xFD,0x48,0xBC,0x9F,0xFA, -0x78,0x4F,0xCC,0x6E,0xE4,0x4F,0x03,0xB9,0x33,0xFD,0xD6,0x92,0x6F,0x70,0x65,0x13, -0x83,0x1E,0x9E,0xEA,0x9D,0xB3,0xC7,0x42,0xD7,0x79,0x62,0x62,0x32,0x72,0x12,0xE5, -0x9B,0x5F,0xD8,0x10,0x3C,0x34,0x25,0xB5,0x5E,0x9E,0x79,0xA7,0x17,0x98,0xF9,0x2F, -0x24,0x57,0x50,0xA2,0x8A,0xD4,0x64,0x6E,0xFE,0x4A,0xF3,0x8E,0xEF,0xE6,0x7E,0xBF, -0xC6,0x96,0xD6,0x15,0xD3,0x90,0x52,0xB4,0xD2,0x5D,0x94,0x2D,0xF7,0x7E,0xB6,0xE7, -0x92,0xA4,0xE9,0xA4,0x73,0xD2,0xED,0x55,0xB2,0x09,0xE4,0x49,0x07,0x29,0x22,0x69, -0x19,0xA1,0xDB,0x44,0x0E,0x60,0x94,0x8A,0x8B,0xE1,0xC4,0xE3,0xDC,0xC9,0x94,0x28, -0x44,0x68,0xD5,0x41,0xE8,0xBE,0x0C,0x15,0x8D,0x3B,0xB0,0xF8,0x23,0x67,0x26,0xD4, -0x87,0x90,0xF8,0x95,0xA9,0xA6,0xF6,0x53,0xEE,0x91,0x42,0xC8,0x74,0x6A,0x53,0x1F, -0x75,0x3A,0x9B,0xA5,0x5C,0x51,0x70,0xC4,0x52,0x46,0x02,0x81,0x4C,0xEE,0x54,0xC2, -0x03,0x97,0xC0,0x48,0xA5,0x57,0xF9,0xFF,0xD9,0xB0,0x3F,0x67,0xB1,0x66,0xF7,0x1D, -0xA5,0x0F,0x9C,0xC9,0x18,0xC2,0x6A,0xB0,0xD1,0xA3,0x16,0x79,0x59,0xA9,0xAB,0xCB, -0xCE,0xBC,0x75,0x68,0x15,0xF6,0x38,0x0A,0x85,0x28,0x99,0xE6,0xF6,0xDA,0x59,0x90, -0xFE,0x3F,0xA9,0x45,0xAA,0x6C,0x96,0x4F,0xCD,0xA0,0xDC,0x19,0xDF,0x4B,0x6A,0x7C, -0x35,0xED,0x27,0xEC,0x69,0x81,0x1C,0xC3,0x98,0xC4,0xF7,0xF1,0x71,0x9C,0x77,0x50, -0xB5,0x64,0x79,0x4E,0xD1,0x9F,0x6F,0xBE,0xBD,0x2F,0x1D,0x3B,0xBB,0x69,0xF5,0x20, -0x68,0xA0,0x43,0x47,0x7C,0x45,0xC4,0x73,0x82,0xD0,0x4A,0xC8,0x92,0xCD,0x35,0xA3, -0xAC,0x5B,0xBF,0x3E,0x2E,0xC1,0x95,0x88,0x80,0x8D,0xBC,0xBF,0x26,0x3D,0xD1,0x27, -0xCB,0x8C,0x24,0x50,0xB2,0x0D,0x8D,0xD4,0x16,0x0D,0x10,0xA4,0x03,0x21,0x1C,0x90, -0x8A,0x57,0xC4,0xE6,0x3A,0xBF,0x85,0x6B,0x68,0xF5,0x80,0x23,0x89,0x08,0xBC,0x44, -0x42,0xB7,0x22,0xA9,0x0B,0x0B,0x7E,0x62,0xD9,0xE5,0xC6,0xF8,0x14,0xE6,0x50,0xD3, -0xFD,0x56,0x60,0x09,0x34,0xBA,0x4C,0x36,0x8E,0x15,0x48,0x6C,0x64,0x82,0x30,0x87, -0xA3,0xF7,0x4E,0x32,0x37,0xEE,0xB2,0xB4,0x97,0xC1,0x7B,0xFC,0x40,0x57,0x6F,0xE1, -0x3B,0x68,0x90,0xD4,0x39,0xEB,0x7B,0xE9,0x39,0x3E,0x87,0x4E,0x34,0x4C,0x69,0x3B, -0xDF,0x26,0xA1,0x86,0x79,0x0A,0xE0,0x85,0x1E,0xAE,0x6D,0x8E,0xF2,0x2E,0xB0,0x9C, -0x59,0xB1,0x56,0x73,0x1A,0x3A,0x4A,0x77,0x9A,0x96,0xB0,0x89,0xB2,0x67,0x0C,0x4B, -0xC5,0x52,0x32,0xC2,0x7E,0x66,0xD5,0x55,0x59,0xBB,0x64,0x71,0xE6,0xD6,0x33,0x79, -0x56,0x1D,0xA7,0x7F,0x22,0xE7,0x4D,0xF3,0x96,0x53,0xB2,0x2D,0xCF,0xC8,0x3B,0x6A, -0x39,0xAD,0x9C,0x70,0x4B,0xEA,0xE5,0x0E,0xBB,0x3D,0xD3,0xB0,0x2C,0xB6,0x2F,0x7A, -0x97,0xE8,0x06,0xCF,0x97,0xC7,0x66,0x3E,0x2A,0x14,0x3F,0x83,0x69,0x49,0x67,0xF2, -0xC0,0x5C,0x6F,0x0B,0x9B,0xE1,0xBE,0x45,0x99,0x59,0x8F,0x2F,0xED,0x94,0x5F,0xF5, -0xB3,0x21,0x71,0xB3,0xC5,0x43,0x37,0xC5,0x6C,0x93,0xFF,0xAD,0x07,0x5E,0x7A,0x1E, -0x96,0x9A,0xE1,0x51,0xC9,0x65,0xEF,0xBE,0x04,0xB5,0x61,0xB8,0xC1,0x3C,0xA3,0xB9, -0x58,0xC3,0xB1,0xED,0x88,0xF3,0x9B,0x76,0xA4,0xD2,0x69,0xD9,0xE5,0xE9,0xFC,0xDF, -0x33,0x0F,0x30,0xB5,0xFA,0xF2,0x05,0x91,0xD0,0xD4,0x72,0x03,0x44,0x28,0x09,0x6F, -0x19,0x18,0x51,0x5B,0x89,0x84,0x74,0xD2,0x5C,0x4F,0xD2,0x2E,0x8A,0x37,0x73,0xE2, -0x3E,0x66,0xCD,0x1D,0x3C,0xA4,0x5F,0x1F,0xD5,0x20,0xC4,0x5C,0xCC,0xF7,0xF4,0xCC, -0x35,0xB6,0x86,0x46,0xDA,0x77,0xCA,0x8D,0xBD,0x06,0x5A,0x49,0x81,0x75,0x1F,0x6E, -0xDA,0x28,0xFC,0x4F,0x6C,0x03,0x1F,0xC2,0x28,0x49,0xC9,0xF4,0x4B,0x15,0x03,0x6D, -0x2B,0xBE,0xAF,0x55,0xF9,0xA6,0xFB,0x13,0xA0,0xB4,0x16,0x57,0x63,0xC2,0x99,0xAF, -0x0C,0xC0,0x33,0x13,0x45,0xEF,0x2C,0x53,0x72,0xEE,0x8C,0x15,0x0D,0xD5,0x84,0x43, -0x5F,0x08,0xE0,0x80,0x81,0x9A,0x67,0xFB,0x9D,0x3F,0xF0,0xA1,0xA2,0xE0,0xE9,0x20, -0x27,0xA5,0xB5,0x63,0xF0,0xCF,0x07,0x9E,0xAC,0x71,0x14,0xF3,0x1B,0xDB,0x5A,0xD1, -0x1D,0x64,0xEB,0x0C,0x5E,0xE3,0x1A,0x49,0xDE,0x4C,0x86,0xD0,0x3D,0xF8,0x58,0xC0, -0x53,0x13,0xFA,0xB6,0xCD,0x5D,0x24,0xEC,0xA6,0x8F,0x9F,0xAE,0x0A,0x95,0x2D,0x6B, -0x4F,0xDE,0xDF,0x01,0x9C,0x8D,0x8B,0x95,0x0F,0xD9,0x23,0x34,0xDA,0xF9,0x2A,0x5E, -0x91,0x51,0xB0,0x3C,0x60,0x25,0xC7,0xB9,0x4C,0xAA,0x55,0x45,0x1D,0x52,0x61,0x28, -0xA8,0x27,0x05,0x69,0x8E,0xE8,0x41,0x02,0x7D,0xE4,0xB1,0x17,0x08,0x63,0x70,0x1C, -0xFC,0x24,0x87,0x97,0x07,0x2D,0xA6,0x19,0xF6,0xD6,0x51,0x12,0x2D,0x7F,0xBD,0xAB, -0xC3,0xEB,0x84,0x31,0x76,0x78,0xC6,0x7C,0x75,0x47,0xCC,0x3D,0xB3,0xAE,0x9E,0x9A, -0x00,0xDB,0x29,0x25,0xFB,0x85,0xEA,0x35,0xD6,0xEF,0xFB,0xFA,0xE4,0x20,0x6E,0x0E, -0xDC,0x91,0x4A,0xBC,0x82,0xCE,0x99,0x79,0x27,0x43,0xF4,0xF6,0x7F,0x47,0xB9,0x60, -0x93,0x94,0xBC,0x98,0x92,0x88,0x42,0xC8,0x8C,0x48,0xBE,0x1B,0x1C,0x9B,0xF3,0xF9, -0x1E,0xD3,0x00,0x36,0xEA,0xB4,0xDE,0x20,0x47,0xC6,0x17,0xC9,0x0B,0x5C,0xBF,0xBA, -0x31,0xCA,0x3C,0x11,0x41,0xD7,0xE7,0x01,0x6A,0xA8,0x76,0x54,0xF9,0x6C,0xDC,0x10, -0x24,0x12,0x5E,0x59,0xAC,0x4E,0x9F,0x38,0xFE,0x75,0x2C,0x38,0x3F,0x0E,0x05,0xB7, -0x73,0xA6,0x37,0x9D,0x95,0xE4,0x77,0x18,0xB7,0xF8,0xD1,0x14,0x21,0x7D,0x78,0x0F, -0x04,0xA7,0x93,0x72,0xCE,0x09,0xDA,0x6E,0xD7,0x7D,0x32,0x2B,0x7A,0xF1,0x4D,0x3F, -0xD8,0xED,0xF0,0xEB,0xE2,0xAA,0xCD,0x09,0x9F,0x62,0x06,0xD6,0xAA,0x9D,0x4A,0x0A, -0x02,0x1E,0x25,0x81,0x2B,0x8E,0xB1,0x7E,0xA9,0x85,0xA2,0xAC,0x1A,0x12,0xC8,0x00, -0xA5,0x4E,0xF8,0xC1,0xBA,0x13,0x9E,0xFD,0x41,0xFD,0x9E,0x30,0xDC,0x70,0x11,0xA7, -0xAB,0x90,0xEE,0x53,0x23,0x90,0xA2,0x57,0x6D,0x01,0x36,0x7C,0xD3,0x4D,0x1B,0xA5, -0x30,0xB8,0xDB,0x8F,0xA4,0x50,0x8C,0x11,0xF4,0x8B,0xA7,0x65,0x83,0x83,0x42,0x19, -0x6E,0x19,0xF5,0xB4,0x80,0xED,0x88,0x5F,0xCB,0x5D,0xB7,0xE4,0xB6,0x18,0x6A,0xC5, -0xA1,0x32,0x42,0x96,0xE3,0xDD,0x22,0xAD,0x46,0x54,0xDE,0x18,0xC3,0xCA,0xFE,0xCE, -0x5B,0x74,0x5A,0xD7,0xE6,0x92,0x06,0x5B,0x94,0x0E,0x44,0x5A,0xA5,0xA0,0x40,0x08, -0xFA,0x9D,0x31,0x64,0x77,0x0F,0x29,0xD8,0x2F,0xE0,0x89,0xDC,0xBA,0x1A,0xAF,0x61, -0x7A,0xB3,0x70,0x62,0xF6,0xD4,0xDD,0xEA,0xF7,0x44,0x98,0xC3,0x52,0x26,0xD7,0xFD, -0xE2,0x2C,0xAE,0x84,0xE1,0xFE,0x33,0x8B,0x0C,0x16,0x1C,0x92,0xC0,0xF5,0x31,0x68, -0x11,0x7F,0xF1,0x3A,0xF2,0xEC,0x16,0xB8,0xD1,0x46,0xBB,0xD2,0x8F,0x81,0x87,0xBD, -0xAF,0xEC,0x54,0x04,0x6B,0x6F,0x2A,0x12,0x5D,0xDD,0x1B,0xFF,0xA8,0x6B,0x17,0x7D, -0xE5,0xE7,0xFF,0xE9,0xDF,0x38,0xEE,0x7B,0x61,0xC4,0x34,0xD8,0x3B,0x71,0x63,0x39, -0xB8,0xF1,0x3A,0xE8,0x10,0x07,0x48,0x78,0xC9,0x00,0x41,0x93,0x2B,0xF6,0x86,0x52, -0xB9,0x83,0xDD,0x76,0xA1,0x1F,0xA8,0xE7,0xCE,0xA9,0x01,0xBB,0x2E,0x40,0x72,0x0D, -0xAD,0x29,0x58,0xA0,0x55,0xA9,0xF7,0xE2,0x10,0x36,0x99,0x5D,0x98,0x46,0xCB,0xFE, -0x62,0x02,0xEF,0x82,0x65,0x6A,0xE3,0x4F,0x74,0xD5,0x05,0xEC,0x66,0x74,0x6D,0xF0, -0x4B,0xA2,0x65,0x56,0xFF,0xBD,0x21,0x67,0x23,0x25,0x8B,0x78,0xC6,0x7C,0x0A,0x91, -0xB5,0x98,0xC7,0x40,0xCC,0x2A,0xCB,0x48,0xE3,0xC7,0x60,0x26,0x4D,0x9C,0x38,0x94, -0xD0,0x8A,0x50,0x8A,0x9F,0xD9,0x75,0x17,0xCA,0xCF,0x7E,0x35,0xAB,0x54,0xD8,0xDB, -0x29,0x7B,0xA3,0xF1,0xAB,0x22,0xAA,0xE8,0x9B,0x04,0x79,0x58,0x15,0x2F,0xC2,0x02, -0x4D,0x66,0x2C,0x19,0x5E,0x2F,0x7A,0x23,0x7E,0xAD,0x49,0x21,0x46,0x6C,0xEB,0x94, -0x72,0x54,0x78,0xA8,0xE1,0xCE,0x38,0x83,0x0E,0xF9,0x29,0x45,0xD2,0x9C,0x65,0xC3, -0x40,0x51,0xF3,0x48,0x98,0x11,0x8A,0xFE,0x2E,0x11,0x10,0xEF,0x64,0x47,0x24,0x23, -0x4E,0x98,0xAE,0x4D,0x00,0x8E,0x54,0x18,0x5A,0xCB,0x16,0xF4,0xD6,0xB8,0xD8,0x8D, -0x57,0xBF,0x92,0x62,0x0F,0x22,0xA5,0x14,0x3C,0x0D,0xA8,0x9E,0x95,0xF4,0x1F,0x9A, -0x05,0xEE,0x69,0xE6,0xCB,0xD9,0x59,0x6D,0x88,0x89,0x4C,0x6E,0xE2,0xA9,0xE9,0x98, -0x43,0xAF,0x71,0x1C,0x29,0x2E,0xDE,0xCC,0x93,0x6E,0xC5,0xAB,0x09,0x8C,0x23,0x72, -0xCB,0xA7,0xCE,0xAE,0x68,0xF5,0x3E,0x7A,0x19,0xBA,0x65,0x82,0x8E,0x74,0xB3,0x0C, -0xEE,0x4C,0x24,0x64,0x34,0x91,0x1C,0xE5,0x73,0xD8,0x1E,0xEA,0xA9,0x6D,0x9C,0x30, -0x32,0xCF,0x14,0x49,0x9A,0xD4,0x86,0x5A,0x36,0x50,0x56,0x15,0x9A,0x44,0x70,0xA1, -0xBC,0x1D,0xDF,0xE0,0x10,0x58,0x6B,0x99,0x1D,0x34,0x03,0xFD,0x87,0xEA,0x5C,0x76, -0xE2,0x94,0x5F,0x42,0x63,0x25,0x75,0x21,0xF7,0xDF,0x26,0x37,0x05,0x20,0x2C,0x83, -0x63,0x60,0x6D,0x99,0xFA,0xC8,0x4C,0x59,0xA8,0x61,0x75,0xC4,0xA3,0xEF,0x13,0x80, -0x00,0xCA,0x9F,0xA9,0x7C,0x5F,0xBB,0xAC,0xE8,0xB6,0xC9,0x8D,0xA4,0xD7,0xCE,0x04, -0x5B,0x67,0xE9,0x44,0xF5,0x64,0xBD,0x55,0xD5,0x40,0x42,0x6B,0x07,0x2A,0x11,0x8C, -0x07,0xFF,0x4F,0xC5,0x66,0x2B,0x28,0xE8,0xFC,0x53,0x4A,0x75,0x5B,0xC2,0xC7,0x43, -0xA3,0xE0,0x97,0xD4,0x96,0xCF,0x9C,0x6C,0x9B,0x44,0x66,0xD6,0x63,0x7F,0xF9,0xA7, -0x45,0x75,0x05,0x07,0x9D,0x1F,0xD7,0x37,0xD6,0xE6,0x8D,0x54,0x76,0x59,0x67,0xCF, -0x80,0xD1,0x09,0x05,0x88,0xC7,0xB5,0x7F,0x79,0x85,0xE0,0x61,0x7D,0xCD,0xB5,0xBA, -0x15,0x35,0xD8,0xA0,0x79,0x51,0xE6,0x65,0x51,0x47,0x7A,0xB6,0xDE,0x30,0x6A,0x32, -0xF1,0xB1,0x6C,0x50,0xFB,0xBA,0xAB,0xC7,0xFF,0xF5,0x85,0x4A,0xF3,0xAB,0xCA,0xBE, -0xB0,0xC5,0xA4,0xC6,0x35,0xE3,0xFB,0x7B,0xDB,0x93,0xDA,0x9F,0x92,0xCC,0xC2,0x1E, -0xF0,0x5E,0xC8,0x27,0xBA,0x61,0x4B,0x71,0x90,0xC8,0x0A,0x94,0x04,0x36,0x71,0x46, -0x83,0x2F,0x8B,0x51,0x90,0x76,0x2A,0x9F,0x5E,0x45,0x70,0x8B,0x29,0xAD,0xD1,0xCA, -0xE5,0xA1,0x8F,0x2E,0xEC,0xA7,0xC5,0x2B,0xC0,0x74,0x53,0x5A,0x1E,0xA0,0x80,0x15, -0xB4,0x0E,0xF6,0xFE,0xF0,0x6A,0xE0,0x9C,0x10,0x41,0x54,0x36,0x84,0xF6,0x3C,0xBC, -0xF7,0x6B,0x18,0x4B,0x0B,0x5E,0x1F,0x43,0x12,0x36,0x09,0xC0,0x3D,0x9D,0x12,0x67, -0x19,0xED,0xA3,0x86,0x32,0x28,0xAA,0x16,0x07,0x02,0x18,0xF1,0x6F,0xD3,0xF6,0x56, -0xF8,0x4D,0xE1,0x39,0xFC,0x71,0xFA,0xAA,0xB8,0x0A,0x90,0x43,0x8B,0x46,0x53,0x87, -0x3C,0x06,0x49,0x4C,0xAF,0xB9,0x29,0x39,0x17,0x69,0xFD,0x76,0x3F,0x97,0x2F,0x68, -0x27,0x30,0x53,0x40,0xBE,0x1D,0xF1,0x26,0x27,0xEA,0x21,0x5B,0xFA,0x35,0x25,0xC4, -0x89,0x2D,0x84,0x6C,0x84,0xDC,0xAF,0x49,0x01,0xFB,0x23,0x78,0xD9,0x08,0xB7,0xB6, -0x93,0xF4,0x3A,0x17,0xBD,0xAA,0x1A,0x1C,0x11,0x90,0xC6,0xFF,0xE3,0xBF,0xB4,0x5D, -0xEB,0x68,0xD2,0x2B,0x30,0xED,0xA6,0xB2,0x06,0xD3,0x8A,0x38,0x31,0x31,0x1D,0x96, -0xD5,0xB5,0x22,0xED,0x87,0x6B,0x44,0x73,0x25,0x9D,0x7C,0xAD,0x12,0x0C,0x8F,0xE4, -0x38,0xCD,0x1B,0x74,0x92,0xB3,0x26,0x3B,0xE3,0x3A,0xA5,0xCF,0x7E,0xD1,0xD5,0x70, -0x0F,0xEC,0x66,0xDB,0x60,0x92,0x9E,0x1B,0xA9,0xB0,0xE7,0x0D,0x17,0x3E,0x6F,0x6F, -0x7E,0x8C,0x03,0x8E,0x5F,0x5D,0x9D,0xBD,0x37,0x81,0xC4,0xDC,0x38,0xAF,0xF2,0xEC, -0xFB,0xB3,0x63,0x6D,0x7F,0xE8,0x50,0x96,0x65,0x4A,0xC0,0xE4,0xDC,0x3A,0x57,0x3D, -0x82,0xC0,0x2F,0x26,0xA3,0xA2,0x33,0x0F,0xFE,0x24,0x17,0x83,0xD0,0x96,0x58,0xCC, -0x5A,0x88,0x4D,0x33,0x08,0xE9,0xF4,0x79,0xC9,0x8F,0x62,0xEE,0x56,0x78,0x95,0x77, -0xC3,0xB4,0xE7,0xB0,0x06,0x37,0xE2,0xEB,0xC6,0x8D,0x68,0xD3,0x1A,0x84,0x3D,0x5B, -0xF9,0xA2,0x45,0x4E,0xCD,0x60,0xEF,0x9E,0xAC,0xEF,0x13,0xBB,0xCE,0x24,0x14,0xD1, -0xDD,0xA6,0x0B,0xF3,0x93,0xC1,0xC1,0xA5,0x99,0x33,0x3B,0x20,0x4F,0xF2,0x04,0xEE, -0xB7,0xF0,0x74,0xAA,0xA7,0xDE,0x89,0x58,0x60,0x15,0x34,0x52,0x01,0x04,0x91,0xCD, -0xEC,0x5D,0x02,0x47,0xD0,0xDF,0x2D,0xB7,0x3B,0x25,0x01,0xDE,0x3E,0x81,0x72,0xAD, -0x52,0x9B,0x64,0x2D,0xA1,0x67,0x3F,0xAB,0x00,0x2A,0xB1,0xB1,0x86,0xFC,0x01,0xB3, -0x9B,0xE7,0x13,0x09,0x7B,0x94,0xEA,0xC1,0xB0,0x20,0x33,0x3E,0xFC,0x1B,0xA5,0x85, -0x8B,0x3C,0xA2,0x4F,0xB2,0x06,0xEB,0x10,0x95,0x97,0xFE,0x22,0xF8,0x3F,0x18,0xCB, -0x98,0x19,0x91,0x5D,0x41,0x55,0xB4,0xAE,0xDA,0x42,0x48,0x56,0xB8,0x6F,0xBF,0x16, -0xA6,0xC4,0x61,0x9B,0x46,0x9E,0xE5,0xC3,0x21,0x13,0x1A,0xD2,0xF2,0xBD,0x97,0x7B, -0x12,0x00,0x08,0xCC,0x0C,0x95,0x4E,0x2E,0xB2,0x57,0x6E,0xC8,0xD5,0xA4,0xB8,0x47, -0x9F,0x2C,0x41,0x31,0xF8,0x0D,0x40,0xFD,0xBF,0x22,0x39,0x03,0x70,0x77,0xE7,0x8E, -0x9A,0x08,0xB7,0x7E,0x02,0x4B,0x58,0xBC,0xD9,0xE4,0x87,0x69,0x32,0x2D,0x7D,0x5C, -0x8F,0xF7,0xF0,0x77,0xD9,0xCA,0x6A,0x48,0x48,0xD7,0xAE,0x85,0xE9,0x3D,0x3B,0xED, -0x0E,0x03,0xC2,0xAC,0x59,0xE4,0x2B,0x4E,0xA0,0x4B,0xD6,0xB9,0xF6,0x99,0x2A,0x35, -0xB5,0xE1,0x52,0x89,0x16,0xE1,0xDD,0x6A,0x57,0xBE,0x41,0x3F,0x0C,0xBE,0xC3,0xF9, -0x86,0x0B,0x7D,0x1E,0xE8,0xDB,0x7F,0x7C,0xDC,0xBB,0x73,0xDF,0x52,0x5C,0x28,0x39, -0xD2,0x80,0xF2,0x81,0x8A,0x02,0xB9,0xDB,0x0F,0x28,0xBB,0x8C,0x72,0x7D,0xDA,0x81, -0xE6,0x5F,0x0D,0x7A,0x73,0xF3,0x4A,0xA0,0xB1,0xF1,0xA1,0xF7,0x1F,0xB6,0xDD,0xD0, -0xD8,0x82,0xFD,0xBC,0x1A,0xFA,0xC7,0x5C,0x34,0x27,0x0B,0xE3,0x91,0xD0,0xA2,0xD4, -0x69,0x62,0x62,0xA4,0x1B,0x88,0x20,0xC2,0x31,0x78,0xFF,0x55,0xB9,0x79,0xE2,0xD3, -0x1C,0xC9,0x55,0xC9,0xC1,0x7B,0xF5,0xA8,0x7C,0xDA,0x14,0xD7,0xC6,0xAC,0xA6,0x6E, -0x2C,0xDD,0xF8,0x0A,0x0E,0x50,0x42,0x8A,0x82,0xD4,0xB2,0xE5,0x77,0x4F,0x3A,0x0A, -0xB8,0x0E,0xB8,0x94,0x92,0xA3,0x62,0x7A,0x3B,0x3E,0x95,0x48,0xAE,0xB0,0xF3,0xD9, -0x35,0xB2,0x16,0xD3,0xEA,0x9F,0xFE,0x92,0xE9,0xF5,0x3C,0xC6,0xB9,0x77,0xBF,0x9A, -0x1A,0x8E,0x31,0xCA,0x41,0xFC,0xC7,0xB3,0x74,0xD8,0x5D,0xA8,0x4B,0x47,0xDC,0x30, -0x0F,0xEC,0x79,0x12,0xAC,0x65,0xBF,0x8A,0x18,0x4C,0x07,0x75,0x8D,0x25,0x05,0x97, -0xD7,0x35,0xB7,0x24,0x07,0x06,0x86,0xAB,0x32,0x44,0x7A,0xD6,0x9F,0x54,0xBD,0x8B, -0xE8,0x36,0x11,0xEB,0x76,0x53,0xE6,0xCE,0x1D,0xC7,0xE7,0x47,0x01,0x85,0x9E,0xBA, -0x2B,0x9B,0x05,0xDB,0xFB,0xAE,0xCA,0x87,0xDA,0x64,0xD0,0xEF,0x56,0x0B,0x6E,0x2E, -0xF7,0xF8,0x9C,0x91,0x82,0xE5,0xB9,0xCB,0xD6,0x95,0xDF,0x43,0xCD,0x6C,0xB9,0x40, -0x8E,0x4A,0xE1,0x4E,0xBA,0x38,0xBE,0x4F,0x10,0xF3,0xB5,0xFD,0x6E,0x5B,0x11,0x87, -0x80,0x5C,0x73,0x90,0x23,0xBB,0x82,0xE5,0x5C,0xDF,0x1D,0x01,0x61,0x66,0x1B,0x85, -0x1B,0x69,0xAF,0xB8,0xA4,0x7B,0xAC,0xA3,0x45,0x46,0x8C,0x8B,0x31,0xA8,0x42,0x39, -0x45,0x47,0x94,0x19,0x80,0xC6,0xA8,0xED,0xC4,0x79,0x9C,0x5D,0x04,0x33,0x6A,0xE5, -0x58,0x85,0xBD,0xA6,0x95,0xCF,0x57,0xAA,0x34,0x05,0xFA,0xF8,0x93,0x56,0x78,0x2F, -0x2F,0x21,0x52,0xA7,0xCE,0x22,0xFA,0xDC,0x0B,0x65,0x19,0x7D,0xC8,0xDA,0x4D,0x1F, -0xF3,0x42,0xCB,0xED,0xE2,0x81,0xED,0xBB,0xF6,0x2D,0x2D,0x62,0x18,0xB6,0x4A,0x2A, -0x29,0x97,0xA1,0x1E,0x2B,0xA5,0x91,0xCC,0x8C,0x1B,0x89,0x85,0xA8,0x39,0xC8,0x20, -0xC9,0x1C,0xA4,0x2C,0xE1,0xD5,0x13,0x39,0xB2,0xBE,0x37,0x16,0x72,0xDE,0x31,0x48, -0x3A,0x43,0x1A,0x7F,0xF2,0xC7,0x36,0x0A,0xF2,0x63,0x90,0x46,0x3D,0xAA,0x87,0x9D, -0x84,0xE6,0x24,0xEC,0x6B,0x44,0x0A,0xA0,0xDF,0xEF,0x30,0xDD,0x1A,0x40,0x17,0x5D, -0xCE,0x4D,0xC9,0xE7,0xDF,0x13,0xCE,0xC9,0xF8,0xD3,0x1F,0xC4,0x89,0x5A,0x63,0x19, -0x8A,0xF0,0xB6,0x32,0xE3,0xF6,0x02,0x1F,0x38,0xF4,0xF5,0x54,0x71,0xE1,0xFE,0xEE, -0x70,0xE8,0xF7,0x74,0xE6,0xB9,0x26,0xE9,0x7A,0x26,0x6F,0x0E,0x17,0x8B,0x40,0x28, -0xD1,0x83,0x44,0x9D,0x77,0x24,0x09,0x6A,0xFC,0x9D,0xA2,0xE0,0x08,0x31,0xAF,0x41, -0x51,0xC2,0x42,0xB3,0xF6,0xFF,0xFD,0x58,0xE3,0x45,0xB3,0x44,0xE0,0x0D,0xD7,0xDD, -0x60,0xD7,0x76,0xA2,0xFF,0x96,0x01,0xD5,0x58,0x91,0xA0,0x25,0x74,0x57,0x0A,0xB1, -0x9E,0x75,0x60,0x98,0xCC,0x01,0xEB,0xFA,0x06,0x51,0x4B,0xC7,0xFF,0xB7,0x38,0xB4, -0xFB,0xE2,0xAA,0x8A,0x9F,0xF2,0x55,0xA5,0x15,0x78,0x55,0xCF,0x19,0x7F,0xD8,0xFB, -0x02,0x11,0xD1,0x7B,0xAB,0x09,0x8A,0x5A,0x78,0x29,0x52,0x04,0xA7,0x04,0xC2,0x22, -0x93,0x88,0xC8,0xF1,0x10,0x2C,0x68,0xCA,0xB3,0x7B,0x6A,0x00,0x99,0xDD,0x86,0x72, -0x92,0x6F,0x56,0x83,0xA1,0x34,0x88,0x55,0x9B,0x7C,0x2A,0xA9,0x9C,0x6B,0x72,0x2D, -0x86,0xEA,0x80,0x29,0x55,0x82,0xD7,0x50,0x7D,0xA2,0xB2,0x36,0x2A,0x6D,0xCB,0xDE, -0x49,0x5D,0xA2,0x02,0x65,0x41,0xC3,0xFD,0xCC,0xC6,0x2E,0xD5,0xD4,0x5F,0x6D,0xD0, -0x69,0x90,0x89,0xB7,0x0B,0x20,0x5E,0xD0,0xD8,0x6B,0xED,0xE5,0xA6,0xCD,0x50,0xF3, -0xD6,0xD2,0x29,0x56,0x34,0x91,0x6C,0x84,0x4C,0x3C,0x63,0x15,0xD6,0xA9,0x30,0xA7, -0x88,0xFC,0x12,0xF7,0x37,0xC5,0x92,0x06,0xDC,0x25,0x50,0xC1,0xF2,0x7C,0x6F,0xC1, -0x10,0x22,0xF4,0x68,0x39,0xC0,0x5B,0x5B,0x6E,0x8B,0xAC,0x3E,0x86,0x67,0x69,0x1B, -0x43,0xF1,0x67,0xA0,0x7C,0x6E,0xE4,0xC1,0xE8,0x30,0x61,0xD0,0x20,0xE6,0x35,0x83, -0x87,0x0D,0x1E,0x5B,0x2E,0xEA,0xB5,0x3A,0x9F,0x32,0x97,0x8D,0x94,0x16,0xD1,0x07, -0xE0,0x96,0x70,0x8C,0xB2,0x26,0xAD,0x66,0x84,0xA4,0x3B,0x0D,0xB1,0x0A,0x1C,0xB0, -0xA1,0x76,0xC6,0x57,0x3A,0x94,0xA5,0xD9,0x03,0xDA,0xAB,0xF5,0x3B,0x23,0xBC,0x64, -0x12,0x2E,0x50,0xAD,0x4B,0xC1,0xC5,0xBC,0x90,0x09,0xF8,0x3D,0x9E,0x9D,0x2F,0x5A, -0xBC,0xB4,0xEF,0xE8,0x97,0xEC,0x46,0x8C,0xA3,0x98,0x14,0x14,0xDB,0x62,0x67,0xD2, -0xEB,0xDD,0x2B,0x5C,0x9B,0xCA,0x9E,0xF7,0x0F,0x2B,0xA4,0x59,0x5F,0xBF,0x5F,0xD5, -0x98,0xC3,0x93,0x21,0xC5,0x68,0x17,0x77,0x8D,0xDE,0xD4,0x93,0xB5,0x75,0x7A,0x3E, -0xF4,0x13,0xA6,0x26,0x79,0x21,0xC0,0x37,0xAE,0xAC,0x46,0xAE,0x40,0x05,0xB0,0xBC, -0x72,0xE4,0x53,0xB1,0x1A,0x11,0x6A,0xC5,0xA9,0x28,0x9B,0x96,0x00,0x4C,0x0C,0x6B, -0xEE,0x80,0xE2,0x52,0x7E,0x4D,0xF5,0xE7,0x51,0xEB,0x4F,0xBB,0x54,0xFD,0x33,0x59, -0x7D,0x15,0x5F,0x1D,0x22,0xCC,0x6D,0x41,0x0D,0x24,0x99,0x53,0x7D,0xE3,0x3B,0x4A, -0x15,0x7F,0x3D,0x66,0x3C,0x8F,0x7F,0xAD,0x7C,0x67,0xEF,0x20,0x7E,0xDC,0xF4,0xEC, -0x1E,0x34,0x66,0xB6,0xDA,0x5C,0xEA,0x3F,0x69,0x0F,0x71,0x06,0x33,0x5E,0x1F,0x4E, -0xF1,0x4E,0x6F,0x28,0x6C,0x28,0x3F,0x70,0xD4,0x9A,0xE2,0x49,0xF9,0x3E,0x03,0x4D, -0x00,0x1D,0x75,0xBE,0xF9,0x8D,0xDB,0xA1,0x77,0x12,0x3D,0xB4,0xD1,0xE9,0x99,0x8F, -0xBD,0x53,0x71,0x9A,0xC9,0x4E,0xCF,0x0C,0x98,0xB6,0x4A,0xB5,0x73,0x17,0xA3,0x99, -0x73,0x03,0xCD,0xC3,0x88,0xD8,0xBB,0xC4,0xF9,0x16,0x42,0xD2,0x57,0xC2,0xFC,0xFF, -0x18,0x82,0x95,0x0F,0xFA,0xD9,0x25,0x23,0x23,0x62,0x59,0xD4,0xF6,0x03,0x09,0x4F, -0x32,0xE3,0x7B,0x18,0x89,0xAF,0x54,0x60,0x0E,0xEE,0xF9,0x4F,0x38,0x1C,0x73,0xC2, -0x78,0x48,0x96,0x13,0xCD,0x76,0x04,0x5E,0x8E,0x14,0xB4,0x8F,0xB8,0xBE,0x2D,0x4B, -0x64,0x6D,0x21,0xDE,0x9C,0xA6,0xAB,0x27,0x14,0xBD,0x08,0xD9,0x68,0xD2,0x2A,0x7E, -0xBA,0x02,0x1C,0x51,0x60,0x0E,0xE7,0x0B,0x65,0xFE,0x7E,0xAA,0xAF,0x79,0x61,0x08, -0x83,0xB7,0x49,0x27,0x8E,0xC3,0x61,0xB0,0x37,0xCF,0x9A,0xE4,0xBA,0x48,0x70,0x3C, -0x27,0x81,0x33,0xC0,0x45,0xC4,0x0C,0xE1,0x35,0xC0,0xA7,0xEE,0xBF,0xFE,0x84,0x63, -0x74,0x52,0xA0,0x08,0x81,0xB1,0x47,0x49,0x81,0x2F,0xDB,0x3F,0x10,0xCB,0xE9,0x00, -0x0C,0x07,0x43,0xA5,0xF0,0xE4,0x27,0x2C,0xD3,0x1E,0x3F,0x71,0xA9,0xF0,0x5A,0xF1, -0x36,0x59,0x2C,0x64,0x5E,0xC8,0x3A,0xFB,0xF0,0x6C,0xAD,0x4C,0x8F,0xD3,0x58,0xE0, -0x08,0xAE,0x98,0x5B,0x91,0x78,0x1A,0x5B,0xCF,0x14,0x0C,0x27,0x52,0xCC,0xA0,0xE1, -0x12,0x3D,0xDC,0x2F,0x88,0x57,0x3D,0x67,0x0B,0x7D,0x5B,0x93,0xF9,0x86,0xAB,0x0C, -0x96,0xC6,0x8D,0x7D,0x5A,0x7F,0x77,0x0A,0xD6,0x8D,0x9D,0xAD,0xA8,0x81,0x60,0x61, -0xE2,0x89,0x58,0xCB,0x0A,0xD8,0x37,0xD7,0xF3,0xBE,0x8F,0xBE,0xF7,0x72,0x33,0xDF, -0x79,0xBC,0x84,0xE3,0xAC,0xEA,0x39,0x29,0xCC,0xDE,0x6C,0x3B,0x37,0x99,0xD1,0x81, -0x45,0x54,0x18,0x9B,0x08,0xFB,0x26,0xF1,0x38,0xEC,0xB7,0xBA,0x76,0x19,0xFF,0x87, -0xA9,0xC5,0x2B,0xB2,0x18,0xBD,0xFD,0x40,0xC7,0xAB,0xBE,0xAF,0x44,0xC2,0x7E,0x73, -0xC3,0xA3,0xED,0x0C,0x42,0x27,0xBF,0x92,0xE3,0x5D,0xF1,0xAA,0x5C,0x38,0x38,0x32, -0x37,0xAD,0x3E,0x94,0x83,0x1D,0xD0,0xCC,0x90,0x11,0xBA,0xD3,0x56,0xB3,0xC6,0x6F, -0x4C,0x13,0xE7,0x8E,0x48,0x1A,0xBD,0x9D,0x4F,0xEE,0x41,0xE7,0xA5,0x4A,0x37,0x14, -0x1F,0xC0,0x74,0x46,0x69,0xE8,0x9D,0x25,0xC4,0x61,0xDE,0xB3,0x63,0x28,0xEE,0xB3, -0xFF,0x4B,0x71,0x74,0x8B,0x03,0xC3,0xE5,0x2E,0x4E,0x49,0x80,0xC1,0xD6,0xD4,0xA5, -0x25,0x9E,0x1B,0x87,0x7A,0xFA,0xB8,0x16,0x12,0xE4,0xCA,0x19,0x5E,0xCE,0x65,0x45, -0x17,0x60,0x15,0x21,0x99,0x66,0x09,0x72,0x06,0x49,0x09,0x29,0xE9,0x01,0x4E,0x67, -0x95,0x2D,0xB7,0xCA,0x4C,0x22,0x76,0xCF,0xAD,0x7E,0x64,0x5C,0x3C,0xDB,0xBD,0x0D, -0x23,0x28,0xE8,0x3E,0xE5,0x62,0x5E,0xC8,0x4D,0xE1,0x7C,0xED,0xDB,0xDA,0xCF,0x93, -0x0F,0xFF,0xF5,0x90,0xE4,0x15,0xB1,0x6C,0x02,0x07,0xB4,0x0D,0x3A,0x52,0x86,0xF4, -0x6D,0x39,0x52,0x49,0x39,0x4F,0xDD,0xF8,0x7A,0x3E,0x2D,0xE0,0x58,0x47,0x5E,0xBC, -0xF8,0x1A,0x1C,0xBF,0x04,0xDD,0xFE,0x8A,0xA7,0xCE,0xEB,0xDE,0xBA,0xF0,0xD8,0x7D, -0x3F,0x0D,0x5F,0xF3,0x8A,0x74,0x2C,0x41,0x3B,0x26,0xD7,0xA6,0x06,0x7D,0x9F,0xD3, -0x43,0xE2,0xEB,0x22,0xA3,0x98,0x1F,0xD0,0x0F,0x33,0xE6,0xB7,0x2F,0x63,0x97,0xC0, -0x24,0x79,0x85,0xF5,0x0F,0x97,0x13,0x21,0x7C,0x7F,0xAD,0xCE,0x4C,0xBF,0xDD,0x59, -0x1C,0x2B,0x4E,0xF1,0x9A,0x32,0xF7,0xF0,0x43,0x1F,0x4E,0x4B,0x81,0x9F,0x68,0x72, -0xCD,0xB5,0x7F,0xD2,0x0B,0xAF,0xD8,0x73,0x23,0x7A,0x1B,0x3A,0x82,0xA0,0xA7,0xD4, -0xE0,0x85,0xFC,0x0E,0xC7,0xC4,0x80,0xF2,0x69,0x17,0x33,0xE8,0xDD,0x53,0xF4,0x6A, -0x7B,0xB0,0x20,0x26,0x11,0xD4,0x01,0xCD,0x6D,0x59,0x8E,0xCC,0xF3,0x0D,0x55,0x51, -0x13,0xDA,0x42,0x5D,0xB1,0xFD,0xD5,0x47,0x7B,0xFB,0x70,0xF6,0xFE,0xC6,0x02,0x24, -0x2E,0xD5,0x40,0x57,0x4D,0x55,0x99,0x6B,0x47,0x51,0xF3,0x6F,0xE8,0xC8,0xDC,0xB6, -0xFE,0xAC,0xEF,0x06,0x2E,0x65,0x33,0x99,0x28,0x0F,0xC9,0xAE,0xF6,0xBB,0xA1,0x0E, -0x71,0x1C,0xE5,0x84,0xC9,0xC1,0x49,0xAF,0x54,0x78,0xED,0x67,0x23,0x61,0x52,0x64, -0x1E,0x27,0xEA,0x34,0xB4,0xB2,0xF1,0xB1,0x92,0x1E,0x87,0xD9,0x31,0x10,0xEA,0x78, -0x92,0x7C,0xDA,0x01,0x31,0x51,0xCE,0xD1,0x3F,0x68,0x6A,0x82,0x95,0x67,0xEB,0x97, -0x76,0x4D,0x88,0x4F,0x05,0xAA,0x11,0x2E,0xFA,0xC4,0x60,0x20,0xFA,0xB9,0x64,0xAA, -0xA1,0x65,0x4A,0xD5,0xF8,0x75,0xB2,0xA6,0x1E,0x15,0xC5,0xB5,0xA9,0x48,0xF2,0xB0, -0x94,0xCA,0x29,0xB8,0x6C,0xA7,0xB9,0xD3,0xBA,0x19,0xC7,0x70,0xCB,0x5D,0x2A,0xF8, -0x16,0x87,0x8B,0x53,0x4A,0x39,0xAC,0xBB,0x2F,0x8B,0x14,0x96,0x80,0x56,0xFA,0xA3, -0x4B,0x42,0x8A,0x45,0x98,0x11,0xE6,0xD6,0xE0,0x97,0x91,0xB6,0x36,0x50,0x43,0x50, -0x54,0x8C,0x07,0x3F,0x03,0xB1,0xCB,0x5A,0x91,0xD4,0xE7,0xC5,0x57,0x7A,0x54,0xBE, -0x5F,0xC7,0x5C,0xEF,0xF9,0x02,0x5D,0x02,0x0A,0xB8,0x06,0x85,0xE7,0xF5,0xD6,0xB4, -0x8A,0xE3,0x3A,0xB0,0x9E,0x0A,0x3C,0xA2,0x7E,0x70,0x90,0xC4,0xB7,0x3B,0x8F,0x08, -0x31,0x1B,0xCD,0x2D,0xE6,0x36,0xA0,0x4A,0x22,0xBF,0x46,0x2C,0xB6,0xF2,0x1D,0xD9, -0x00,0x0E,0xF9,0x3C,0xA8,0xD2,0xF2,0x7B,0xA4,0x04,0x8B,0xC2,0x03,0xCB,0x6B,0x8C, -0xF6,0x0C,0x8E,0x61,0xC3,0xFC,0x4B,0xA0,0xC1,0xEA,0x3E,0x81,0xFC,0x30,0x5F,0x53, -0x9A,0xDC,0xBB,0x66,0x95,0x40,0xD1,0x09,0x6E,0x93,0xEE,0xD0,0xD9,0x2C,0x92,0xE4, -0xB8,0x1D,0x34,0x16,0x3D,0x77,0x16,0xAA,0xE2,0x98,0xAC,0xBC,0xB3,0x44,0xE9,0x86, -0x9B,0x3B,0x25,0x14,0x00,0xE5,0x35,0xD8,0xFF,0x4F,0x80,0x12,0xED,0x7E,0x28,0xE9, -0xB6,0x0B,0xA6,0xC8,0xA2,0xEF,0xF0,0x74,0xC9,0x55,0x8C,0x09,0x35,0x6F,0x8C,0xF6, -0x83,0xA4,0xC5,0xA5,0x73,0x93,0x44,0x9B,0x82,0xFD,0xF9,0xCD,0xE6,0x3C,0x44,0x65, -0x34,0x46,0x04,0x23,0x8D,0x18,0x19,0x91,0x57,0xB2,0x8D,0x7B,0x48,0xC0,0xBB,0xD7, -0x2F,0x32,0xDE,0x25,0x72,0xE4,0xAB,0x3F,0x9E,0xEF,0x88,0x75,0x96,0x58,0x24,0x31, -0x85,0x12,0x36,0x1C,0xA9,0xA5,0x1D,0xDF,0x9B,0x64,0x68,0x47,0x24,0x21,0xFB,0x4C, -0xE1,0x62,0x62,0x7C,0x59,0x2B,0x89,0x88,0xA9,0x30,0xD9,0x78,0x66,0x9E,0x1A,0xEC, -0x42,0x05,0x75,0x50,0x41,0x73,0x41,0x10,0x68,0xD2,0x6E,0xFE,0x22,0xA8,0xC0,0xB5, -0x6B,0x8F,0xA1,0xF0,0xB9,0xE3,0xC6,0x6E,0x60,0x6D,0xDC,0x76,0xC2,0xE9,0x1B,0x03, -0xAE,0x94,0x46,0x79,0x9C,0x29,0x2D,0x84,0x21,0x75,0x26,0x30,0x45,0x0B,0xEC,0xA2, -0x5E,0x20,0xC2,0x9D,0xC1,0xDF,0x5A,0x86,0x70,0x8E,0xA2,0x62,0xB9,0xCF,0x17,0xDB, -0xF7,0xEB,0x10,0x13,0x15,0xEC,0xCA,0x9F,0x5B,0x43,0x82,0xD7,0x69,0xA3,0x10,0xEE, -0x3D,0x01,0xFB,0x36,0xDF,0x9C,0x48,0x6A,0xD2,0xC3,0x20,0x89,0x77,0xD0,0x6D,0x56, -0xD5,0x2A,0x9F,0x63,0x71,0xB0,0x55,0xBD,0x00,0x08,0x89,0x07,0x9A,0x5A,0xE1,0x95, -0x2A,0x6F,0x17,0x2B,0x58,0x5C,0x66,0x2C,0x83,0x38,0xA4,0xDB,0x00,0xF4,0xA4,0x2A, -0xB5,0xE0,0x9C,0x7F,0xF7,0x07,0x94,0x5F,0x30,0x53,0x05,0x32,0x34,0xA6,0x1E,0x27, -0xAB,0xC9,0x8F,0x77,0x1F,0xD1,0xC8,0x90,0xA8,0xF5,0x84,0x6E,0xA1,0x35,0x51,0x9A, -0x4D,0xF4,0x79,0xFC,0xE2,0x0E,0x6B,0x18,0x05,0x83,0x69,0x35,0xA7,0xBC,0x6A,0x63, -0x04,0xB4,0xAE,0x40,0xDA,0xD3,0x6C,0x9C,0xAF,0x71,0x59,0x56,0x50,0x3A,0xFD,0x96, -0x91,0x8D,0xEB,0xB1,0xE6,0x5A,0x9E,0x80,0x71,0x24,0x2D,0xE7,0x5D,0xFD,0xB6,0xDE, -0x6D,0x23,0x59,0x4E,0xE0,0x41,0x44,0xF4,0x97,0xFA,0xB5,0x78,0x00,0xF8,0xB8,0x17, -0x5E,0x3A,0xC9,0x9A,0xBF,0x94,0x22,0xD0,0xAC,0xD4,0xEB,0xD9,0x82,0xAC,0xBB,0xE9, -0xD0,0x6D,0x5D,0x6A,0xDF,0xF0,0x76,0xA0,0x0C,0x96,0x54,0x38,0xD6,0x1D,0x84,0xDB, -0x96,0xDC,0x86,0x7A,0x33,0x1E,0xE1,0x3D,0x43,0x70,0x9C,0xD8,0xDF,0xA9,0xB5,0x20, -0x06,0xA2,0x01,0x82,0x93,0x37,0x35,0xB7,0xF5,0x90,0xDD,0x03,0x60,0x1B,0x3D,0x28, -0xAA,0x34,0x1A,0x02,0x5E,0x2B,0x82,0x92,0x9B,0x0B,0xBA,0xD4,0x3C,0xD7,0xA1,0x30, -0x5C,0x36,0x6D,0x5F,0xBA,0xDB,0x06,0x26,0xE2,0xF7,0x7E,0x2F,0xC7,0x53,0xF3,0x61, -0xE9,0xD8,0x08,0x1C,0xF5,0x48,0xBB,0xB3,0x16,0xC5,0xA5,0xAE,0x71,0x55,0x4A,0x92, -0x99,0x2D,0x8A,0xD6,0xD0,0x82,0x50,0x59,0xAE,0xDB,0xD6,0xD3,0xF1,0xF7,0x14,0x1B, -0x29,0x9E,0x26,0x9B,0xE8,0x5F,0x57,0xDD,0x6A,0xB2,0x81,0x67,0x8A,0xD1,0x18,0xC3, -0xC5,0x0F,0x15,0xB2,0xA0,0xA0,0xDF,0x98,0xD5,0x28,0x2F,0x22,0xBA,0xFC,0xC4,0x40, -0xA4,0x22,0x88,0xDC,0xB4,0xDE,0xCF,0x7B,0xDA,0x13,0x40,0x92,0x47,0xF1,0xAD,0xE8, -0x72,0xED,0xD4,0x34,0xBC,0xC0,0xDC,0x52,0x67,0x86,0xD3,0xDD,0xE1,0x70,0xF1,0x70, -0xA6,0x2E,0x2C,0x19,0x83,0x71,0xEE,0x06,0xD6,0xE2,0x4F,0x3E,0xC3,0x2C,0x95,0xEF, -0x7B,0xAA,0x2B,0x21,0x3F,0x38,0x39,0x46,0x23,0x15,0xC9,0xA9,0x31,0x1C,0xF6,0x45, -0x00,0x14,0xF2,0x3B,0x16,0xD4,0x0A,0xD7,0xF0,0x1B,0x3D,0x31,0xA7,0xB0,0x76,0x5E, -0xDF,0x9C,0x51,0xC6,0x8C,0x03,0xC8,0xFF,0xEA,0x48,0xCC,0xA7,0x76,0x15,0xE3,0xBA, -0x4C,0x09,0xEC,0x89,0x90,0x63,0xCB,0x35,0xE3,0x32,0x23,0x39,0x39,0x61,0x55,0x6F, -0xD2,0x61,0xF9,0xAF,0x7B,0xE1,0x69,0x78,0xB8,0x79,0x28,0xE9,0xAB,0xB2,0xB3,0xFA, -0xC4,0xE8,0x8B,0xC0,0xFC,0x21,0x47,0x3E,0xFE,0xE5,0x0F,0x97,0x66,0x92,0x06,0xD1, -0x64,0x64,0xA6,0x5B,0x86,0x3E,0xCA,0xF0,0x10,0x84,0x25,0x80,0x25,0xE4,0x75,0xA0, -0x7F,0x10,0x7C,0x5D,0x73,0xFF,0x7A,0x51,0x48,0x05,0x4E,0x4C,0xC2,0xE5,0x07,0x3E, -0x77,0xB0,0x1D,0x3A,0x2C,0x2A,0x1C,0x75,0xF4,0x55,0x80,0x15,0x0A,0x73,0x46,0x4A, -0xA7,0xC9,0xB2,0x6B,0xFF,0x75,0xB9,0xBC,0xCC,0xB1,0xBE,0xA8,0xB6,0xFE,0x01,0xE4, -0x43,0xF8,0xE0,0x25,0xEE,0x44,0x8D,0xA9,0x99,0x04,0x87,0xDE,0x0D,0x33,0xEF,0x62, -0x35,0xBB,0x91,0x56,0xA5,0xEF,0xFB,0x6E,0xA4,0x6B,0x59,0x51,0x21,0x9B,0x13,0x2E, -0x89,0x12,0x0B,0x00,0xA2,0x83,0xCE,0xBE,0x13,0x4E,0x45,0x9C,0x58,0x4B,0x42,0x81, -0x90,0x6A,0x75,0xC3,0xD7,0xEE,0x65,0x89,0xA9,0x5F,0x0B,0xEB,0xFD,0xF5,0xD1,0xBF, -0x02,0x18,0x56,0xFE,0xD5,0xCD,0x74,0xAF,0xC6,0x01,0x31,0x2A,0x2A,0xD9,0x7F,0xA2, -0xE6,0x29,0x04,0xB0,0x66,0xF6,0x85,0x16,0x25,0x54,0x49,0x87,0x4F,0x8C,0x0E,0xC2, -0x9A,0xC6,0xB0,0x61,0x0B,0xC3,0xE6,0xB9,0xB6,0x87,0x1A,0x4F,0xE7,0xF9,0xCA,0x89, -0x3A,0x4A,0x9D,0xFA,0x8A,0x18,0x12,0x8B,0xFC,0xEA,0x32,0x9D,0x8C,0x58,0x23,0x3A, -0x60,0xDE,0xF1,0x27,0x53,0x7A,0xB5,0x4D,0xB4,0x88,0x27,0x45,0xB5,0xC1,0xCE,0x42, -0x01,0xF3,0x6C,0x49,0x30,0x4A,0x1F,0xBF,0x93,0xB4,0x08,0x5C,0x94,0xA2,0x65,0x7B, -0xA8,0x38,0xBE,0xC7,0x7C,0x8D,0x5C,0xA8,0x3D,0x08,0x85,0x1B,0x7C,0x9E,0x1D,0xE7, -0xE2,0x93,0x53,0xCC,0x36,0x51,0xC5,0xCB,0x19,0xFE,0xCA,0x1E,0xCD,0xD8,0x0D,0x3C, -0xED,0x62,0x5F,0x60,0xE1,0x36,0xAB,0x50,0x80,0x9D,0x16,0x54,0x81,0x93,0x74,0x4F, -0xDA,0xC1,0x98,0xC8,0x11,0xB8,0x3F,0x07,0x94,0x30,0xD5,0x64,0xC8,0x6E,0xF9,0x63, -0x47,0x42,0xB7,0x59,0x32,0x69,0x0E,0x99,0x32,0x33,0xEA,0xAB,0xAD,0x3B,0x88,0x03, -0xA1,0x7F,0x41,0xD2,0xE5,0x0E,0x60,0x02,0x11,0x41,0x78,0x96,0xEB,0xFB,0x0F,0x2D, -0xB1,0x40,0xC0,0x04,0xCD,0x95,0xBC,0x37,0x2A,0x6F,0x26,0x37,0xA5,0x46,0x2B,0x29, -0x20,0xD9,0xD9,0x8E,0x94,0x5B,0x00,0x67,0xF6,0x5A,0xBD,0x1F,0xE3,0x86,0xAC,0x07, -0x88,0xF5,0x95,0x72,0x9E,0x66,0x02,0x68,0x64,0x4C,0xB3,0xC1,0x49,0x05,0x35,0x3B, -0xB4,0x1D,0x09,0x0A,0x47,0x04,0xA5,0xAE,0x24,0x91,0x14,0x91,0xCA,0x98,0xA4,0x14, -0x10,0x2B,0x73,0xED,0xC5,0x8B,0xAF,0x1E,0x4E,0x44,0xCE,0x62,0xBD,0xBC,0x6D,0x68, -0x24,0x63,0x8E,0xF2,0xC2,0xE7,0x9A,0xCE,0xD7,0x27,0x12,0x28,0xDA,0x1F,0x41,0x7F, -0xC7,0x03,0xB1,0x77,0xF7,0x6B,0xAA,0x95,0x38,0x83,0x65,0x29,0xAC,0xF2,0x1A,0xD2, -0x22,0xD5,0x7D,0x4B,0xEC,0x67,0x9C,0x8F,0x4C,0x4B,0xF3,0x68,0xCF,0x2E,0x50,0x4B, -0x0D,0xE9,0x5A,0x52,0x98,0x7D,0xD8,0x1C,0xA1,0xE0,0xB9,0x63,0xA6,0x79,0xE4,0x8F, -0xAD,0x65,0x77,0xC9,0x08,0x97,0x18,0x3B,0x9F,0x45,0x07,0xF0,0x0C,0xFA,0x7D,0xB3, -0x0A,0xB8,0x37,0x99,0xBE,0xE3,0xCD,0x74,0x21,0x1A,0xF4,0xA3,0x3F,0xE8,0x6E,0x96, -0x8E,0x43,0x66,0xCB,0x58,0x30,0x58,0xE6,0xC7,0xC4,0x6C,0x3C,0x5E,0xC2,0x79,0x78, -0x9F,0x9B,0x79,0x6F,0x20,0x0C,0xC4,0x0E,0xC1,0x85,0xEC,0x12,0x6C,0x19,0xF8,0x8C, -0x52,0x20,0xFF,0x81,0xCF,0xB6,0xAD,0x11,0x72,0xEE,0x4D,0xFB,0xEF,0x84,0x69,0xA3, -0xC8,0xF2,0xBD,0xDB,0x71,0xDC,0x6B,0x77,0x33,0xF6,0xB7,0xBD,0x19,0xCB,0x6C,0x87, -0x6F,0x2F,0xFD,0x8B,0x4D,0x39,0xA7,0xA1,0x54,0x17,0x3F,0xF4,0x5C,0x34,0x24,0x0F, -0x68,0x7E,0x90,0x40,0x57,0x42,0x7E,0x1F,0x2F,0xE4,0xC6,0x05,0xA3,0xCF,0x10,0xD0, -0x76,0x57,0x83,0x48,0xB7,0x8A,0x31,0xF9,0xE5,0x73,0xA3,0x17,0xFC,0x3C,0x43,0x6E, -0x9D,0x97,0xDD,0xAA,0x85,0x6A,0x34,0x72,0xF3,0xD1,0x5D,0x2D,0xD3,0xAB,0x70,0x84, -0x13,0xC0,0x49,0x5A,0xE2,0x62,0x55,0xD2,0x27,0x5B,0x74,0x8D,0xFB,0x7C,0xEA,0x46, -0x8F,0xA4,0xF8,0xB9,0x44,0x50,0x5B,0x2C,0x05,0xEC,0xBB,0xA6,0x56,0xBF,0xDA,0x52, -0x17,0x7A,0x1E,0x26,0xFD,0x56,0xA8,0x9A,0xD3,0x69,0xAF,0x0C,0x53,0x09,0x2E,0x0D, -0x57,0x7D,0x36,0x8F,0x09,0xE0,0xF7,0x9F,0x4D,0x8E,0xAE,0x7E,0xCC,0x11,0x9F,0xED, -0x7A,0x6A,0x9D,0xA0,0x09,0x42,0xCD,0x15,0x35,0x96,0x56,0xEC,0xE5,0x15,0x9D,0x43, -0xE0,0x2F,0x33,0x1F,0x8A,0x72,0xE0,0xC9,0xD9,0xBF,0xC7,0xDF,0xAD,0x50,0x15,0xBC, -0x0D,0xA3,0xB9,0xDC,0x58,0xB9,0x49,0x47,0xF5,0x11,0x10,0xC2,0xF8,0x7B,0x71,0x54, -0x13,0xDE,0xCA,0x64,0xD1,0x39,0xEB,0x19,0x85,0xDB,0xE5,0x40,0xDD,0x91,0x9A,0x9E, -0x2A,0x33,0x53,0x1C,0x25,0x0B,0x30,0x98,0xBA,0x14,0xE6,0xE6,0x8E,0xCE,0x24,0x6D, -0xDD,0xA4,0xD5,0xE9,0x8F,0xF9,0x00,0xFB,0x67,0x2C,0x62,0xE1,0x32,0x8E,0xF3,0x24, -0xDB,0x9F,0x5C,0x10,0x22,0x8F,0xED,0xA0,0xB8,0xD1,0xEA,0x42,0xB9,0xB3,0x05,0xC2, -0x4E,0xD0,0xCF,0xAD,0xBA,0x29,0x6C,0xFC,0x6E,0x39,0x25,0x1E,0xB1,0x9A,0x16,0xDC, -0x1C,0xD4,0xF7,0x66,0x23,0x4A,0xB0,0xB6,0x42,0x97,0xF2,0x03,0xB2,0x18,0xE8,0x88, -0x5E,0x35,0x48,0xC6,0x11,0x1E,0x01,0x89,0xCC,0x67,0xA5,0x97,0xD2,0x68,0xBC,0xEC, -0xEC,0xEA,0x31,0xBB,0x14,0x95,0xE1,0xBB,0x8D,0xBC,0x45,0x21,0xEB,0x48,0x54,0x46, -0x32,0x75,0xA9,0x5D,0xDD,0xC8,0xE4,0xB5,0x71,0x43,0xEB,0x93,0xED,0x3C,0x8E,0x5D, -0xC3,0xD9,0xA6,0x51,0xFA,0xF4,0xCB,0xAC,0xB6,0x0F,0xFC,0xD0,0x53,0x5A,0x48,0x37, -0x3F,0x22,0x62,0x28,0xAB,0x0F,0x4F,0xFE,0x40,0x52,0xFE,0xA7,0xB7,0xEE,0xCC,0xC7, -0xB8,0xD5,0x80,0x89,0xEA,0x17,0xB5,0xB8,0x8A,0x77,0x14,0x4C,0x3E,0xF5,0x2B,0x02, -0x58,0x0E,0xC1,0x3F,0xE2,0xA8,0x07,0x30,0x1A,0x8F,0x6A,0xCB,0x9E,0x7F,0xFF,0x2B, -0xA3,0x5C,0x45,0x6E,0xE4,0xE9,0x87,0x1E,0x29,0x5B,0x73,0x5B,0xA8,0xA6,0x31,0xF3, -0x86,0x91,0x59,0xD9,0x4B,0x90,0x57,0x4F,0x95,0x0D,0xDA,0xC1,0xAF,0x76,0x04,0x9F, -0x79,0xA5,0xA2,0x06,0x2E,0x7E,0xE2,0x0C,0xBB,0x66,0x01,0x78,0xF2,0x74,0x73,0x69, -0xCC,0xD3,0x9B,0x53,0xA8,0xC5,0x2F,0xE2,0x5F,0x28,0x30,0x2A,0xE3,0x61,0x47,0x58, -0x9C,0x8A,0x55,0xEF,0x08,0x87,0x90,0x03,0xFA,0xBD,0xE1,0xCE,0x6B,0xDE,0x4F,0xEA, -0x4F,0x42,0x06,0x7C,0x43,0x2F,0xE5,0xC7,0x86,0x6C,0x0E,0x7A,0x06,0x71,0x2C,0xDF, -0x97,0xE6,0x17,0x63,0x75,0x35,0xE9,0xDC,0x8C,0xCE,0xA2,0xBF,0xDA,0x41,0xAF,0xF2, -0xC9,0x27,0x2D,0x0C,0x68,0xE2,0xC5,0x72,0x1E,0xF3,0xD0,0x9C,0xD8,0x67,0xBE,0xD1, -0xFA,0x34,0x3F,0x29,0xA5,0xF1,0x7D,0x58,0x50,0x84,0xC1,0x26,0x9D,0xFD,0x01,0x7F, -0xB1,0xE4,0x34,0x72,0x30,0x63,0xAE,0xBE,0xCE,0xA2,0xA9,0x33,0x76,0xB0,0xA3,0xFD, -0xD3,0x3C,0x21,0x3A,0x94,0x6F,0xAC,0x7B,0x1C,0x36,0xDC,0x38,0x1B,0x1F,0xC0,0xC8, -0x80,0xAA,0xD0,0x20,0x70,0xBE,0x09,0xEE,0xC3,0xCB,0x54,0x9B,0x81,0x37,0x02,0x1F, -0xCD,0x41,0x52,0x82,0xF4,0x0A,0xF9,0x0A,0x63,0x50,0xD8,0xB6,0x7E,0x99,0xB0,0xE3, -0x9D,0x18,0x9C,0x3E,0x80,0xC2,0x6F,0x4B,0x6B,0x37,0x78,0xD7,0x21,0xBD,0xD6,0x36, -0x2D,0x9A,0x13,0x34,0x1B,0xAE,0x8E,0x0B,0xD8,0xCD,0x20,0x41,0xF1,0xF6,0x8D,0x3D, -0x4C,0x8D,0x39,0xDA,0x6A,0xED,0xF8,0x78,0x78,0x56,0xAC,0x6C,0x8B,0x38,0x00,0x22, -0x92,0x12,0xA1,0x3C,0xCD,0x2B,0x9A,0xA1,0x3C,0x83,0x11,0x13,0x99,0xAF,0xCA,0x47, -0x84,0xCC,0xAF,0xAE,0xF1,0x81,0x19,0x38,0x94,0x7F,0x3D,0x5F,0x93,0xA0,0xC8,0x7A, -0x89,0x9B,0x64,0xDB,0xE7,0x23,0xE7,0x02,0xBD,0xDF,0xB7,0x8B,0xE8,0xCA,0xAA,0x12, -0xA7,0x3A,0x3A,0xE0,0xE3,0x6D,0x5A,0x26,0xAD,0x09,0x88,0x0A,0xC0,0xFF,0x76,0x89, -0xEF,0x25,0x0E,0x1D,0xB5,0x12,0x03,0x4C,0x38,0xFF,0xAB,0x44,0xCF,0x06,0x50,0xFB, -0x4B,0x24,0x79,0xF2,0x18,0x64,0xEE,0x17,0xDB,0x7A,0xCB,0x7B,0xFA,0x5D,0x60,0x77, -0x59,0x9C,0x08,0xEE,0xDE,0x02,0x84,0xA9,0xA8,0x07,0xD5,0xC3,0x4A,0x66,0x6F,0x18, -0x8C,0x6F,0xD2,0x84,0xA2,0x75,0xA0,0x60,0x0C,0xE0,0xE3,0xB9,0xC8,0xD6,0x65,0x97, -0x7C,0x51,0x14,0x59,0xB1,0x5C,0xBE,0x68,0x1D,0x44,0x3B,0xA6,0x3D,0x77,0xD5,0x56, -0xC0,0x16,0x99,0xF7,0x2D,0xB4,0x82,0x10,0xB4,0xCA,0xF0,0x74,0x71,0x60,0x96,0x91, -0x22,0x90,0x2E,0x36,0xF0,0x44,0x44,0x2E,0x26,0xF7,0x82,0x57,0x87,0x43,0xD8,0x04, -0x40,0x48,0x3B,0x7E,0x88,0x7D,0xDD,0xC3,0x7C,0x2A,0x16,0x3B,0x5E,0x85,0x7F,0x66, -0xF8,0x69,0xC9,0x5E,0xA9,0x00,0x72,0xF4,0xC6,0xC5,0x09,0x52,0x1C,0xCF,0xF5,0xA4, -0xFB,0xA6,0xF6,0xF8,0xC9,0x65,0x27,0x85,0x5B,0x54,0x8A,0x7D,0x3F,0x51,0xC4,0x75, -0x36,0x13,0xD6,0xD3,0xF6,0x05,0xC4,0x00,0xFE,0xC1,0x5B,0x99,0x3B,0x03,0x0F,0x4D, -0x55,0x59,0x0A,0x4A,0x85,0x49,0x8F,0x79,0xF1,0x6D,0xAA,0x95,0xEC,0x98,0x61,0x2A, -0xBB,0x1A,0xBF,0x2F,0xA4,0x34,0x20,0x4E,0x6A,0x45,0x9F,0x49,0xBA,0x31,0xFB,0x96, -0x19,0x20,0x41,0x39,0x4E,0x1B,0xB7,0x7D,0x81,0xA7,0x5F,0x17,0x88,0xBA,0xFE,0x76, -0xDF,0xF9,0x23,0x9E,0xC5,0x94,0x28,0x29,0x73,0x86,0xE7,0x37,0x40,0x69,0x6D,0x25, -0x2C,0x08,0xDA,0xE5,0x1A,0x6B,0xD3,0x1D,0x74,0x4D,0xB6,0x5A,0x5A,0xD7,0xB4,0x5E, -0xA1,0x01,0xB3,0x19,0xC7,0x9B,0x15,0x23,0x0B,0x2B,0xB2,0xD4,0xF0,0x52,0x62,0x4A, -0x46,0x73,0xB2,0x87,0x27,0x04,0x0D,0x92,0x4B,0x82,0xB5,0xFC,0x04,0x57,0x3D,0xFC, -0x93,0x80,0x68,0xED,0x8C,0x33,0x60,0xE7,0x0F,0x57,0x08,0x83,0xEF,0x1A,0x9F,0x7E, -0x24,0xAB,0xA7,0xCF,0x98,0x9E,0xA3,0xD7,0x93,0xB4,0x6C,0x32,0x49,0xE4,0x91,0x4C, -0x8D,0xFD,0x1B,0x55,0x79,0xC4,0xE6,0x70,0xB1,0xC4,0xAD,0xBD,0x05,0xF3,0xD2,0x8B, -0xD2,0xAE,0xE8,0xEB,0x5C,0xF7,0xF4,0x63,0x16,0x94,0x70,0xFD,0xB3,0xBC,0x07,0xFF, -0x83,0x65,0xEF,0x86,0x81,0x07,0x32,0x5D,0x3E,0x46,0x1D,0xB7,0xE1,0x47,0x56,0x7B, -0x28,0x6E,0xA5,0x6B,0x45,0x6E,0x65,0xE9,0x11,0x5F,0x21,0x90,0x95,0xD4,0x12,0x61, -0x26,0xF6,0x51,0xB8,0x69,0x27,0x98,0x64,0x4E,0x8C,0xE8,0x35,0xC2,0xD9,0x67,0xAA, -0x3E,0xB0,0xAB,0xF9,0x4D,0xD1,0xD7,0x61,0xD4,0xD6,0x3A,0x77,0x7C,0xBF,0xA1,0xC0, -0x0C,0x31,0x70,0x0D,0xB2,0x96,0xDE,0x74,0x92,0xC6,0x8B,0xAC,0x55,0x2E,0x92,0x2C, -0x4D,0x1F,0xF0,0x0B,0x46,0xA4,0x05,0xF5,0x83,0x62,0x53,0xB3,0x2D,0xC6,0x0E,0x10, -0x4D,0x27,0x60,0xA0,0xF7,0xF7,0x64,0x5B,0x54,0x38,0x05,0x5D,0xC5,0x8D,0xFE,0x8B, -0xFA,0x0C,0xAF,0x82,0xE3,0x5A,0xA7,0x6B,0xC8,0xDB,0x61,0xEC,0x63,0x73,0xF0,0xB9, -0x2F,0xFF,0x75,0xE8,0x48,0x6D,0xCA,0x1E,0x8C,0x0E,0xDC,0x93,0x88,0x3E,0x52,0x3B, -0xC8,0x8D,0x74,0x76,0xA8,0xF2,0xD2,0xAF,0xCC,0xA7,0xDB,0xBB,0x7C,0x3B,0x0D,0x8D, -0x45,0x84,0x1D,0x8A,0x75,0x02,0x14,0x91,0xB3,0xC1,0xDF,0x35,0xD6,0xBE,0xDB,0x99, -0xB6,0x75,0xE4,0xF1,0xAA,0xFD,0xEF,0xA5,0xB4,0x0A,0x8E,0x58,0xCC,0x00,0x02,0xE2, -0x70,0xAC,0x86,0x56,0x21,0x72,0x70,0xF1,0x46,0x2B,0x36,0x78,0x04,0xD3,0x91,0xB1, -0xD2,0x96,0x78,0x40,0xCB,0x5D,0xE7,0xC2,0xAD,0xC9,0xF6,0x26,0x36,0x58,0x94,0x51, -0x24,0x93,0x37,0x64,0x29,0xCD,0xC2,0x79,0x44,0xEE,0x3A,0xDC,0xA1,0xAF,0x61,0xD7, -0x65,0xBD,0xB7,0x62,0xDD,0xFF,0x19,0xF8,0x55,0x4A,0xE2,0xC3,0xD9,0x47,0xFD,0xEB, -0x57,0x3C,0x6C,0x96,0x22,0xB8,0x10,0xED,0x13,0x5A,0x53,0x18,0xF0,0xD6,0xCE,0x07, -0x4F,0x7A,0x96,0xD7,0x06,0x4E,0x5F,0xE8,0x89,0x00,0x81,0x5A,0x4E,0xB0,0x08,0x6D, -0x41,0xE2,0x62,0x04,0x2A,0x07,0xA2,0x65,0xD6,0xD3,0x48,0xFF,0x19,0xBD,0x7D,0xA6, -0xEA,0xE9,0x28,0xE9,0xEE,0x6E,0xF5,0xD1,0xF9,0xCA,0x74,0xD8,0x6D,0x2E,0x39,0xBC, -0xBB,0x22,0x2F,0x84,0x33,0x9E,0x33,0xEF,0xD1,0x18,0x19,0x92,0x3F,0xD5,0x68,0x38, -0xE4,0x71,0xDC,0x3A,0x16,0xAD,0x21,0xFC,0x76,0x48,0xC4,0xD2,0x89,0x9A,0xBD,0x4C, -0xE5,0xE3,0x15,0xEB,0xCD,0x1C,0x67,0xEC,0xCB,0x6C,0x8A,0xD6,0x44,0xBF,0x0A,0x50, -0x30,0x10,0xCF,0x81,0xB1,0x6B,0x43,0x25,0x6F,0x8B,0xBC,0xAC,0xC6,0x0F,0x00,0xDF, -0x22,0xA8,0xBE,0x9D,0x77,0x0D,0x29,0x9B,0x1C,0xF6,0xA2,0x14,0x76,0x34,0x0F,0xB0, -0x86,0xA9,0xC9,0x72,0xDA,0x7B,0xC4,0xC0,0xFF,0x73,0xC2,0x2B,0x43,0x6F,0x3F,0x3C, -0xCE,0xB6,0xFD,0x8F,0x8C,0x04,0x9D,0xAA,0x6A,0x85,0xE1,0x65,0x4C,0x96,0x19,0x4E, -0xE0,0x17,0xA3,0xB4,0x88,0x4A,0x20,0x8E,0x7A,0x53,0xDE,0xE4,0x64,0xA3,0xC5,0xD5, -0xED,0x40,0x68,0xC1,0x9E,0xE8,0xDE,0xB4,0x53,0xF3,0x54,0x30,0x1F,0xC9,0xA7,0xBD, -0xFB,0x9E,0x66,0x53,0xA2,0x42,0x5D,0x2D,0xFB,0x0F,0x78,0x7C,0x15,0xC6,0xA5,0x80, -0x3C,0xD5,0xCD,0x25,0xEA,0x20,0x48,0xF5,0x36,0xE1,0xC3,0xFA,0x60,0xF1,0x0E,0xED, -0x5F,0x9F,0x11,0xBC,0x99,0x6C,0x03,0x8C,0x39,0x4D,0x32,0xF6,0xB7,0x6A,0x60,0x8A, -0x92,0x2A,0x31,0x97,0xA6,0x0C,0xE0,0x09,0x9C,0xD8,0xE3,0x12,0xB3,0x38,0xAB,0xB2, -0x91,0xE5,0x0E,0x31,0xC6,0x69,0xB5,0x78,0x01,0x49,0x60,0x3D,0x90,0xA6,0x9A,0x63, -0x29,0xC4,0xFC,0x11,0xE7,0x14,0x1A,0x4F,0xBB,0xA6,0x7F,0x54,0xD2,0xEC,0x10,0xA1, -0x4B,0x1C,0xE9,0x59,0x9F,0x2D,0x83,0xA2,0xE1,0x7B,0xEB,0x38,0x0B,0x2A,0xB7,0xC3, -0xA9,0x9A,0x5E,0x98,0x42,0xDD,0x45,0x9C,0x73,0x46,0x99,0x1B,0xFD,0x09,0xF9,0x56, -0x15,0xDD,0xD3,0x36,0xDE,0x35,0x79,0xE4,0xDA,0xC8,0x52,0xC9,0xB1,0x1E,0xBA,0x91, -0xA0,0xAB,0xEA,0x63,0x07,0x8B,0x02,0xFE,0xD9,0x7F,0xB9,0xF3,0x54,0x0E,0xD1,0x16, -0xFE,0x6A,0xD0,0x0C,0x1A,0x5C,0x2E,0x50,0x4B,0x42,0xCB,0xD0,0x56,0x28,0xC0,0x35, -0x26,0xCE,0xC1,0x13,0x2C,0x46,0x22,0x4B,0x41,0xE0,0x67,0x15,0x8A,0x18,0x43,0x18, -0xF5,0x06,0x92,0x80,0x67,0xEE,0x57,0x8F,0x3D,0x31,0x88,0xA1,0xE7,0xB7,0x20,0x2D, -0xA5,0x5F,0x5C,0x3C,0xC7,0xAC,0xE8,0x6E,0x98,0xA4,0x59,0x45,0x6F,0x08,0x28,0x9F, -0x10,0x29,0x65,0x69,0x41,0x17,0x25,0x80,0x7C,0xEA,0x68,0x17,0x7E,0x1D,0x1C,0xAE, -0xEF,0x1D,0x9E,0xB6,0x24,0xF9,0x90,0xC3,0x52,0x81,0xB3,0xAE,0x23,0x1F,0x6B,0x58, -0xCA,0xD0,0x82,0x01,0x8B,0x80,0x40,0x92,0xEE,0xD7,0x1A,0x34,0x24,0xCF,0x5E,0x34, -0x25,0x01,0xFE,0xB5,0x05,0x84,0x3F,0xF4,0xBF,0xDA,0xC5,0x03,0x07,0x51,0x6F,0xE5, -0x44,0x16,0xD4,0x5B,0x74,0xC7,0x49,0x87,0x1F,0x41,0x49,0x2E,0x7D,0x9F,0xE2,0xFA, -0xF4,0x94,0x5B,0x51,0xEF,0xAB,0xA8,0xC7,0xAC,0xBB,0x11,0xB8,0xAD,0xD4,0xB9,0xF1, -0xA4,0xCD,0x95,0xED,0x9B,0x63,0x3E,0x86,0xA4,0xDC,0xB1,0xD9,0xF2,0xF0,0xDF,0x24, -0xE9,0x26,0x17,0x4F,0x1F,0xD7,0xCE,0x62,0x04,0x47,0x3D,0xF4,0x0D,0x5E,0x6D,0xD8, -0xBA,0xB0,0xE6,0x55,0xFB,0x06,0x6B,0xF7,0xDB,0xBA,0xB5,0x57,0x97,0x76,0xAF,0x0F, -0xD8,0x68,0xF3,0x1D,0x5F,0x0A,0x69,0x32,0x09,0x2E,0xC0,0x5C,0xFA,0xD9,0xCC,0x3A, -0x93,0xB8,0xF8,0x46,0xCA,0x98,0xBA,0xD4,0x97,0x08,0xA8,0x49,0x11,0x94,0x6E,0xB8, -0x27,0x5C,0x08,0xC2,0xD5,0x40,0xAB,0x70,0xA9,0xB5,0x4C,0x71,0x3D,0xF3,0x79,0x1B, -0xB2,0x13,0x9B,0x7F,0x4D,0xE6,0x2A,0x2C,0x7F,0x5D,0x83,0x2D,0x35,0xDA,0x6A,0x05, -0xB4,0x28,0x12,0x86,0xE0,0x90,0xC7,0x77,0xA0,0xA0,0x0B,0x8E,0xBE,0xE7,0x9C,0xE3, -0x43,0xBF,0x94,0x73,0x4A,0x62,0xF7,0x14,0x7D,0x98,0x8F,0x89,0x02,0xA7,0x4B,0xAA, -0x7A,0x52,0x0D,0x0B,0xBE,0x50,0x2C,0x95,0x42,0x57,0x8C,0x2F,0x51,0xF8,0xF5,0x59, -0x64,0x2F,0x7E,0xB3,0x37,0xD0,0x8E,0xCB,0x32,0x9D,0x79,0xAD,0x74,0x12,0x1E,0x93, -0x89,0xA3,0xF4,0x70,0xE5,0x1B,0x27,0x45,0x1E,0x33,0xAE,0xB0,0x21,0x39,0x7A,0x7B, -0x13,0xE6,0x5A,0xCF,0x66,0x2B,0x0A,0x99,0xF2,0x1A,0x3F,0x83,0x69,0x7C,0xF2,0x84, -0x31,0x82,0x06,0x50,0x8D,0xC1,0xC0,0xBC,0xDD,0x03,0x03,0xA4,0x12,0x16,0x90,0xEC, -0xD1,0x59,0x47,0xE6,0x85,0x7E,0x72,0x34,0x4D,0xFB,0x7D,0x23,0xB2,0x9C,0x44,0xC5, -0x56,0xAE,0xA5,0x47,0xC4,0x66,0x88,0x72,0x87,0xDE,0x97,0xC8,0x3B,0x87,0xA3,0x00, -0xAA,0x55,0x61,0x3E,0x95,0x9D,0x0C,0x20,0x71,0x83,0x95,0xBF,0xDF,0x33,0x27,0xF0, -0x5B,0xF9,0x6E,0x32,0xB2,0xA1,0x23,0x39,0xB6,0xCF,0x82,0xFC,0x61,0x55,0xE1,0x9A, -0x85,0x66,0xF6,0xD4,0x7B,0xFC,0x26,0x37,0x4A,0x30,0x2C,0x4E,0x67,0x21,0x3B,0x81, -0x37,0xB9,0x8F,0xA9,0x7E,0x77,0xC6,0x05,0x0B,0xEB,0xCC,0xF8,0x5E,0x01,0xD3,0x2B, -0x75,0x58,0x30,0x09,0x4C,0x23,0x77,0x3A,0x85,0x1B,0x9B,0x6C,0x3E,0x71,0x87,0x4F, -0x48,0xB7,0x3B,0x40,0x1A,0x95,0xAF,0xDB,0xEE,0xDD,0xBB,0x9A,0x6D,0x4E,0x5B,0x4F, -0x32,0x3A,0xF5,0x5F,0xBA,0x0E,0x23,0xF6,0xAD,0xAC,0xC8,0xEC,0x83,0x59,0x71,0x2E, -0xE2,0x61,0xBE,0x54,0x09,0xF4,0x7B,0x60,0xC1,0x37,0x88,0x0D,0x89,0xDB,0xFE,0x9E, -0xBD,0x07,0x9A,0x81,0x01,0x93,0xDB,0x01,0x09,0x43,0xC9,0x9B,0x35,0x82,0x30,0xCE, -0x42,0xB5,0x34,0x7D,0xA1,0x08,0x57,0x2C,0xBD,0xC7,0x2D,0x6B,0x97,0x69,0xB2,0x83, -0xD8,0x77,0x1C,0xAA,0x7E,0xF5,0xDF,0x8F,0x6C,0x23,0xB8,0xCE,0x8D,0xFF,0x43,0xD0, -0xB5,0x14,0xB3,0x9F,0xAC,0x61,0xAA,0x84,0x60,0x87,0x7D,0xCC,0xC5,0x27,0x56,0xB2, -0x5E,0xB6,0xFE,0x1D,0x32,0x47,0xC2,0x91,0xF2,0x12,0x9B,0x1F,0x9E,0xF7,0x5D,0xF9, -0x1B,0x09,0x64,0xB3,0x7C,0x30,0xD3,0x2B,0xE1,0xDF,0xB1,0xA7,0xBB,0xE4,0x4F,0xCA, -0x19,0x18,0x42,0x90,0xEE,0x0D,0xA1,0x08,0x36,0xC2,0x1F,0x8B,0xD4,0x25,0x75,0x94, -0xC5,0x9B,0x72,0xBD,0xE4,0xAF,0x0D,0xCD,0x2C,0xF4,0x04,0x87,0xCB,0x81,0x64,0x4C, -0xA8,0xF8,0xDD,0x88,0x98,0x7E,0xE2,0x79,0x84,0xBF,0xC0,0xF2,0x58,0x49,0x37,0x9F, -0x20,0xF0,0x62,0x3A,0x3D,0xEB,0x33,0x9D,0xC6,0x1F,0x21,0x4D,0xE4,0x10,0xF9,0xCF, -0x31,0xC4,0x77,0x0B,0xD9,0xA5,0x02,0xCF,0x7D,0x99,0xCF,0x80,0xB1,0x66,0xC0,0x7A, -0x6C,0xB3,0x75,0xFD,0xF7,0xCE,0xD9,0x76,0x93,0xFC,0x8C,0x35,0x6E,0x52,0x3B,0x85, -0x6B,0x86,0xA5,0x91,0x4B,0x98,0x70,0xEC,0xEA,0x53,0xDD,0xE5,0xD9,0x9F,0x27,0xA0, -0x5D,0x48,0x7C,0x49,0x78,0x4C,0x69,0x7C,0xAB,0x55,0xF3,0x65,0x88,0xCD,0xA3,0x5B, -0xFD,0x9C,0xF6,0x60,0xE8,0xB4,0x17,0xFB,0x14,0x5D,0x7B,0xD7,0x3E,0x16,0xE2,0xBB, -0x74,0x7B,0xED,0xA5,0x22,0x91,0xFD,0x10,0x0C,0x1C,0x3D,0x2D,0x9F,0xE1,0x00,0x3C, -0x90,0xFF,0x59,0x55,0xD4,0xCC,0xFF,0x67,0xF7,0x4D,0x6F,0xA9,0xE6,0x1A,0xC4,0xC0, -0x2E,0x39,0x3F,0x3F,0x13,0x80,0xE8,0x24,0xCB,0x6A,0x76,0x86,0xEA,0xB6,0xCB,0x31, -0x28,0xE3,0x4B,0x24,0xEF,0x7F,0x46,0x96,0x96,0xA3,0x78,0x83,0x0C,0x29,0x53,0xEF, -0x11,0x0B,0x6B,0x8E,0xAE,0xA4,0xA6,0x20,0x1D,0xA6,0x4A,0x63,0x71,0xF6,0x2A,0x5D, -0x71,0x5F,0x1B,0xEA,0x20,0x54,0xF1,0xB4,0x49,0x94,0x75,0xD2,0xD1,0x17,0x95,0x1F, -0x72,0xA1,0x99,0xBE,0x0C,0xFA,0x26,0xA9,0x2A,0x0D,0x3F,0x0E,0x1A,0x13,0xAD,0x4D, -0x7A,0xB2,0xB0,0xA0,0xDA,0x12,0xE9,0xF5,0x8C,0x95,0x63,0x8F,0xA7,0x5C,0x3E,0xD8, -0xF1,0x44,0x8D,0x46,0x05,0xEF,0x61,0x56,0xFA,0x38,0x38,0x62,0x5E,0x67,0xB7,0xDE, -0x4D,0x93,0xCD,0x0F,0xD8,0xD7,0xE5,0x51,0x08,0x92,0x5B,0x52,0xAB,0xF0,0x31,0x29, -0x1E,0x2D,0x92,0xFC,0xE7,0x18,0xE6,0xF7,0x3A,0x66,0xDA,0x89,0xD3,0x1D,0xA8,0x10, -0x3B,0xC6,0x78,0x36,0x97,0xD2,0x13,0x75,0xBA,0xEF,0x84,0x2B,0x6B,0x60,0xDB,0x0E, -0x6E,0xA2,0x53,0xDE,0xBB,0x7C,0xC4,0x68,0x71,0x3D,0x0A,0x82,0xA8,0xEC,0x51,0xE3, -0x26,0x2A,0x16,0x21,0x57,0x55,0x55,0x5B,0x41,0xBE,0xD6,0xAF,0x17,0xA9,0xFF,0x79, -0xEE,0xB9,0xC5,0x72,0xE1,0xA1,0x50,0x04,0xA7,0xF1,0x36,0x67,0xBC,0xDC,0x92,0x4E, -0x96,0x25,0x2D,0x4E,0xF0,0x05,0x88,0x1B,0x95,0x05,0xB7,0xBC,0xBA,0xF2,0x12,0x0F, -0xBF,0x16,0xBC,0xA2,0xB6,0x15,0x39,0xC0,0xD2,0xFA,0xA2,0xB5,0x4E,0x73,0xC9,0x3D, -0x01,0xD0,0xDA,0xC8,0x2C,0x4F,0xEB,0x82,0x24,0xDE,0xA7,0xFA,0x0F,0x35,0x33,0x25, -0x56,0xA5,0xD7,0x03,0x73,0x9C,0x22,0x27,0x6D,0xF2,0x2A,0x07,0xDC,0xAD,0xC7,0x2B, -0x22,0xE1,0x44,0x19,0x5C,0x85,0x1E,0x00,0x04,0x36,0x9E,0x50,0x31,0xA6,0x8D,0x80, -0x70,0xB0,0xBF,0x9D,0x74,0x57,0x73,0x4A,0xF4,0xEB,0xA0,0x96,0x5C,0x6D,0x8A,0xD1, -0xC6,0x65,0xF0,0xE9,0xD3,0x07,0xAE,0x0A,0xC7,0xCE,0xB3,0x84,0xE2,0x3E,0x79,0x8E, -0x8A,0x26,0xE7,0x2E,0xF1,0x77,0x6F,0x85,0x9D,0x2F,0x14,0xC1,0x78,0x68,0xC5,0x27, -0x2C,0x28,0x19,0x1C,0x6D,0x94,0x0B,0x34,0x30,0x3B,0x24,0x02,0x5A,0x43,0x0A,0x90, -0xC7,0x8A,0x54,0x9E,0x29,0x41,0xB6,0x4B,0x07,0x90,0x51,0x6F,0x30,0xB0,0xD0,0x45, -0x33,0xD5,0x51,0x28,0x69,0xE8,0xB1,0x63,0x98,0x70,0xE0,0x77,0xAE,0xC2,0xD1,0xA2, -0x99,0x03,0xD4,0x3C,0x16,0x8E,0xB5,0xED,0x68,0xAD,0xDE,0xB1,0x52,0xCB,0xB8,0x2F, -0x83,0xDA,0x6A,0x47,0x11,0x45,0xE4,0x80,0x97,0x72,0xEA,0x4A,0x29,0x3A,0x41,0xDC, -0x4B,0x49,0xB9,0x14,0xE3,0x64,0x5C,0xA0,0x18,0xF9,0xBE,0xD5,0x8E,0xE3,0x23,0x1A, -0x79,0x4C,0x32,0xF4,0x08,0x86,0x9C,0xFE,0x37,0x13,0x8D,0x42,0x98,0xD9,0xDD,0xB8, -0x2F,0xD6,0x9B,0x48,0x93,0xAE,0xA9,0x22,0x4A,0x32,0xBA,0xED,0xFD,0x9A,0x68,0x56, -0xF8,0xB8,0x00,0x2F,0x9C,0x02,0x58,0x2E,0x06,0x41,0xC3,0xA6,0x64,0xD0,0xB4,0x35, -0xFC,0x73,0x52,0x17,0x39,0x97,0x89,0xCA,0x66,0x7E,0x46,0x45,0x4F,0x65,0x94,0xF8, -0xDF,0x42,0xCC,0xC6,0xA4,0x06,0x0A,0xE5,0x03,0x1E,0x37,0x10,0xE9,0xAA,0xAB,0xFB, -0x9D,0xC8,0x86,0x04,0x1E,0xE9,0x15,0x8C,0x7E,0x3F,0x00,0xBF,0xC9,0x8B,0x59,0x43, -0x44,0x6F,0x40,0x66,0x44,0x34,0x81,0xE0,0x47,0x47,0xED,0x26,0x81,0x53,0x4C,0x21, -0xB2,0x21,0x63,0xF3,0xD6,0x09,0xF3,0xC3,0xB7,0x9A,0xD3,0xE0,0x40,0xD5,0xFB,0xC3, -0xFE,0x62,0x74,0x34,0x7F,0x87,0x38,0x11,0x5F,0x06,0xAB,0xDC,0xEE,0x92,0x76,0x7F, -0x0B,0xD2,0xD5,0xF5,0x6E,0x23,0xE0,0x0E,0x76,0x15,0xA3,0xC2,0x33,0xAC,0xB0,0x8F, -0x89,0xD8,0x65,0x7A,0xCA,0xC4,0xD6,0x74,0x01,0x69,0x6A,0xE6,0x59,0x5F,0x6A,0x5A, -0x39,0xD7,0x5E,0x15,0xB9,0xB9,0xC8,0xCC,0x67,0xAF,0xD4,0x8C,0x45,0xE7,0x1B,0x48, -0x0C,0xE7,0x05,0x99,0x5A,0x3C,0xA8,0xF3,0x11,0x02,0x8F,0x61,0xAA,0xE6,0x6C,0xEC, -0x03,0xC1,0xFC,0xEB,0xCF,0xCA,0x8B,0xBD,0x6E,0x54,0xE5,0x38,0x57,0xF9,0x58,0xA4, -0x2B,0x1D,0xC9,0x70,0xDF,0x1C,0xB4,0x3C,0x20,0x50,0xC1,0x85,0x6C,0x58,0x06,0x8A, -0x50,0x7F,0xA3,0x18,0xF6,0xBC,0x3E,0xE8,0x82,0x46,0xFB,0x7B,0x19,0x0F,0xCD,0x87, -0x5A,0x7D,0xAC,0x25,0x5E,0x40,0x12,0xA4,0x28,0x7A,0x62,0xF8,0x8B,0xD1,0xC3,0x91, -0x59,0xD0,0xBE,0xEA,0x49,0xD1,0x61,0x2D,0x8A,0xCF,0x11,0x17,0xB3,0xAB,0x40,0x8E, -0x3D,0x33,0x22,0x5B,0x47,0x2F,0x53,0x8B,0x45,0xE4,0xA6,0x35,0x83,0x06,0x54,0x4D, -0x80,0xE6,0x66,0x24,0xE5,0x62,0xD1,0x60,0x9F,0x17,0x73,0x5F,0xF6,0x31,0xFF,0x20, -0x87,0x4F,0x26,0x0C,0xBA,0x67,0x67,0x94,0x9E,0x65,0x94,0xC1,0x47,0xAE,0x1F,0x38, -0x83,0x29,0x59,0x82,0x6C,0xE2,0x73,0x3E,0xF7,0x6C,0x19,0x3D,0x79,0x5E,0xC2,0xFE, -0xD2,0xE2,0x5E,0xEF,0xB5,0x5C,0x08,0x24,0x0E,0x9D,0xEA,0x46,0x4D,0xA1,0x1D,0x05, -0x6A,0xC3,0xAC,0xCF,0x26,0x8F,0x5B,0xEC,0x6C,0x44,0x2C,0xE1,0x19,0x2E,0x96,0x9A, -0xAA,0x21,0x47,0x91,0x23,0x04,0xBB,0xDE,0x92,0x7E,0x8E,0xF7,0x2A,0x01,0x7C,0x0D, -0x66,0x06,0xAE,0x6B,0xD6,0xF3,0x3D,0x49,0xDD,0x7B,0x78,0xD3,0x91,0x91,0x9E,0x28, -0xBE,0xA2,0xBF,0x74,0x4A,0x1B,0x01,0x31,0x5D,0x55,0x39,0xD5,0x10,0xA3,0x6A,0xF3, -0x0F,0xB2,0xF9,0xAF,0x79,0x8A,0xED,0x18,0x86,0xD4,0x0B,0x21,0x05,0xE4,0x95,0xFA, -0xDD,0xE8,0x63,0xED,0xBF,0xEC,0x87,0xA6,0x7C,0x92,0x13,0x60,0x00,0x12,0xB1,0xB5, -0x14,0x3B,0x3C,0x48,0xCA,0xE1,0x4C,0xF1,0x88,0x0A,0x1D,0xB3,0x8D,0x5B,0x9D,0x48, -0x28,0x22,0x13,0x6F,0x8E,0x72,0x56,0x85,0xC2,0x01,0xB6,0x5E,0x39,0x32,0x59,0x1F, -0x45,0xF0,0x3B,0x25,0xDF,0x89,0xD2,0xD7,0xC5,0xCA,0xE7,0x33,0x07,0xC2,0x84,0xD9, -0x98,0xA0,0x9C,0x65,0x0A,0xC6,0xA6,0x61,0x36,0x99,0xB8,0x8D,0x14,0xF1,0xA1,0xCB, -0xD6,0x84,0x21,0x61,0xBD,0xE3,0xBA,0xAC,0xFF,0x0B,0xB9,0x5C,0x04,0x40,0x7A,0x8D, -0xE0,0x63,0x85,0x1B,0xB7,0x53,0x35,0x2E,0x25,0xF8,0x6C,0x36,0xCD,0x37,0x06,0xA9, -0xFE,0x1E,0xF6,0xA3,0xB8,0x68,0x5A,0x9E,0x54,0x40,0x7E,0x2A,0x73,0x51,0xC0,0xC3, -0x9E,0x9B,0x15,0x9C,0x88,0x33,0xD6,0xAB,0x23,0x41,0xDA,0xC5,0x28,0x27,0x6D,0x2E, -0xBD,0x6D,0x80,0xD2,0xAE,0xCA,0xA4,0xA4,0x17,0x5E,0x92,0x38,0x42,0x58,0x3B,0x77, -0x82,0xBB,0x90,0x53,0x72,0xFF,0x3F,0x8C,0x49,0xFF,0xBC,0x03,0x66,0x16,0x3F,0xCA, -0x08,0x1B,0xB9,0x87,0x10,0x95,0x57,0xF7,0x82,0xA8,0xB1,0x76,0x5C,0xB4,0x29,0x34, -0x24,0xE7,0x11,0xCB,0x12,0x9A,0x6A,0xFD,0x8C,0x76,0xA7,0xE4,0xC5,0x1E,0x15,0xB7, -0x9F,0x09,0xDC,0x4D,0xB9,0xAD,0x07,0x88,0x27,0x3D,0x60,0x92,0x1D,0x7C,0x5D,0xA2, -0x6E,0xA5,0xD3,0x41,0xD7,0x36,0x60,0x5F,0xFB,0x77,0x03,0x0B,0x64,0x30,0x2E,0xE9, -0xBF,0x30,0x76,0xA5,0x1C,0x64,0x58,0x5B,0xDB,0xC2,0xCE,0x20,0xE1,0x50,0x11,0x0A, -0x3C,0xA1,0xEB,0x8A,0x2D,0xFA,0x89,0x78,0xE4,0x0D,0xCD,0x86,0x90,0x35,0x71,0x5F, -0x23,0x4E,0x51,0xE3,0xA7,0xB0,0x4B,0x3A,0x16,0x2C,0x75,0xA6,0xA7,0x48,0x50,0xF0, -0xB7,0x93,0x0B,0x8F,0x00,0x76,0x29,0xE3,0x03,0xF4,0x17,0xEE,0x4A,0x71,0x28,0x69, -0xC5,0xAE,0x99,0xAC,0x4E,0x55,0xBC,0x15,0xB4,0x72,0xF5,0x2F,0x74,0x81,0xF5,0xAF, -0x0E,0x20,0x30,0x7E,0x0D,0x42,0x7B,0x59,0x39,0x35,0x49,0x81,0x0C,0x69,0x69,0x93, -0xE5,0x97,0x33,0x44,0x66,0x52,0xFC,0xBC,0x00,0x43,0xFC,0xD4,0x16,0xD7,0xB0,0xE8, -0x97,0xAA,0xA1,0x67,0x77,0x74,0xDF,0xBE,0x3A,0x82,0xA2,0xBB,0xB8,0x00,0xAD,0xC4, -0x3B,0x08,0xAB,0xA2,0xF4,0x44,0xF2,0x62,0x2B,0x26,0x7A,0xA4,0xA3,0x1A,0x9B,0xC8, -0xD4,0xD9,0xD7,0x16,0x97,0xEB,0xC7,0x0F,0x78,0xEE,0xA9,0x37,0x67,0xB2,0xD0,0xBD, -0x05,0x4C,0x72,0xF2,0x9F,0x54,0x75,0x87,0xB6,0xB7,0xF9,0x8B,0x86,0xF0,0x70,0x02, -0x34,0x02,0x96,0xA0,0xAB,0x41,0x44,0x96,0x8F,0xC1,0x4C,0xDE,0x68,0x4B,0xF6,0xCF, -0xEF,0x69,0xB8,0x19,0xDC,0x43,0xB2,0xCB,0x74,0xF5,0xB3,0x01,0x2B,0xA5,0x93,0x7A, -0x46,0x3F,0x04,0x83,0xE9,0x93,0xDE,0xCC,0x68,0x38,0x96,0xB6,0x7A,0xDC,0x3C,0xAA, -0x99,0x32,0x55,0xB4,0xD8,0x0D,0x0F,0xEF,0x14,0xE9,0x79,0x02,0x1C,0xD8,0xB2,0xD5, -0x15,0xA9,0xF5,0x99,0x55,0xC3,0x10,0x95,0x3E,0xFE,0x18,0xEC,0x6F,0x9B,0xC3,0xA3, -0x4D,0x53,0x46,0x0F,0x0E,0x88,0x1B,0x45,0xB1,0x7C,0xA8,0xE6,0x2F,0xF7,0x58,0x42, -0xED,0x34,0x4E,0x6E,0x68,0xAC,0xCE,0x1A,0x7F,0x25,0xF8,0x5A,0x6E,0x3F,0x2C,0xD4, -0x61,0xAF,0xEE,0x43,0xDA,0x02,0x32,0xE5,0xFD,0xCE,0xB5,0xF8,0x8A,0x8B,0xA8,0x24, -0xE9,0x52,0x31,0xE0,0x18,0x2A,0xE5,0x7F,0x0C,0x58,0xE6,0xE2,0x1F,0x5A,0x4C,0x81, -0x9C,0xC6,0xE3,0xEB,0x7B,0x85,0xD0,0x12,0x19,0x80,0x84,0xAA,0xDA,0x56,0xE8,0x83, -0xF4,0xE0,0x7D,0xFE,0xD9,0xC8,0x52,0xF9,0x12,0x50,0xCF,0xF1,0x3C,0xC4,0x7D,0x50, -0x10,0x5D,0x43,0xC6,0xCE,0xAF,0xF1,0xD5,0xE2,0xB4,0x7B,0x75,0x98,0x1C,0x62,0x41, -0xDF,0xB5,0x95,0x9A,0xDD,0x86,0xEF,0xDD,0x71,0xFB,0xEE,0xC8,0xC4,0xBA,0xFA,0xC0, -0x57,0x48,0x4A,0x39,0x2B,0xBB,0x09,0x56,0xF8,0xC0,0xE8,0x31,0x9F,0xCC,0x57,0x2D, -0xD3,0x70,0x97,0x3E,0xFC,0xFB,0x40,0xEA,0x7E,0x57,0x1F,0xC4,0xFC,0x3E,0xFD,0x1D, -0xD0,0xBF,0xA8,0x98,0x42,0xA4,0xB3,0xB9,0xE7,0xBA,0x26,0xBC,0x7D,0x0C,0x09,0xC6, -0x25,0x75,0xD8,0x1A,0xA9,0x4E,0x79,0x9C,0x94,0xC7,0x38,0x04,0x23,0x8C,0x80,0x64, -0xF2,0xDB,0xF4,0x07,0xCD,0x65,0x91,0xC9,0x1E,0x4B,0xD5,0xC7,0xAD,0x47,0x52,0xCD, -0x63,0xF2,0x18,0x34,0x45,0x20,0x6E,0x81,0xB0,0x0E,0x4F,0x78,0x71,0x77,0xD1,0xE0, -0x5F,0xEB,0x37,0x13,0x27,0x4A,0x06,0xFA,0xEC,0x6A,0x6D,0xE7,0x54,0x9D,0x3A,0x2A, -0x21,0x13,0xA7,0x94,0xF3,0xC0,0x2F,0x5A,0xAD,0xB1,0x8D,0x51,0xDC,0x22,0x32,0x98, -0xCB,0x36,0x6D,0x7F,0x14,0xDB,0xEA,0xD3,0x4F,0x46,0x0A,0xF0,0x9A,0x3A,0x73,0x62, -0xC9,0x6B,0x9B,0x08,0x90,0x6F,0x1A,0x37,0x8B,0xBD,0xF6,0x89,0xC8,0xC1,0x22,0xE6, -0xDE,0x27,0x5C,0x4B,0x56,0x09,0x70,0x89,0x84,0x11,0x07,0x85,0xD1,0xFD,0x05,0xC9, -0x70,0xD8,0xA0,0xF9,0x8C,0x7D,0x6B,0x8F,0x1C,0x8E,0xD9,0x63,0xDF,0xA0,0xCC,0xCC, -0x90,0x03,0xE1,0x4F,0x64,0x5D,0xC1,0xB6,0x65,0x51,0x6B,0x1E,0xED,0x2B,0xC9,0x2C, -0xC7,0xF3,0x6F,0xDB,0x30,0x2D,0xA5,0xD6,0xDA,0xB0,0x29,0xBE,0xD2,0x7F,0xFB,0x9D, -0x4D,0xD8,0x2E,0x47,0xE9,0xFF,0xD1,0x24,0x71,0x0D,0x2B,0x63,0x92,0xA0,0xEC,0x25, -0x13,0x33,0xCC,0x87,0x62,0xFA,0xE3,0xC4,0x4B,0xF3,0x3D,0xC1,0x05,0x4A,0xC3,0x16, -0x33,0xC1,0xED,0x3F,0xB1,0x69,0x2B,0x97,0x92,0x91,0x9A,0x07,0x9A,0xC1,0x4C,0x42, -0x5E,0xC6,0x26,0x6E,0x0F,0xB0,0x31,0xEC,0x63,0x68,0xE1,0xF4,0x61,0x1E,0xB3,0x76, -0xD0,0xB9,0x40,0x6A,0x8A,0x66,0x9B,0xF8,0x6A,0x01,0x1D,0x79,0xA7,0xC3,0x43,0x48, -0xF8,0xF9,0xE9,0x6D,0x8F,0x39,0x6F,0x4E,0x18,0x00,0x83,0x9E,0xBF,0x23,0xDC,0xF9, -0x87,0xBD,0x3C,0xD0,0xC2,0x9B,0x84,0xCC,0xEB,0xDA,0xE9,0x4B,0xD2,0x88,0xEB,0x8C, -0x36,0x21,0xDF,0xB4,0x3C,0x95,0x22,0xFE,0xC0,0x15,0xCB,0xFC,0x11,0x9C,0x46,0xBC, -0xB9,0x03,0xAF,0x75,0x2B,0xD6,0x6E,0x39,0x96,0xA9,0x51,0x55,0x54,0x7D,0x1C,0x1B, -0xF9,0xA4,0xFF,0xA8,0x64,0x03,0xD8,0x4D,0xC5,0x5A,0xEF,0x0A,0x46,0x58,0x2F,0x08, -0xB3,0x8C,0x2D,0xC5,0x9F,0x52,0x8A,0xC9,0x0E,0x5D,0x82,0x5B,0x80,0x85,0xDF,0x36, -0x94,0xA3,0x34,0xF9,0x0C,0x16,0xFE,0xD3,0x05,0x17,0x6F,0xF0,0xD7,0x41,0xB6,0x82, -0x31,0xFC,0xE7,0x30,0x01,0x63,0xA9,0x18,0x9D,0xE3,0xBC,0xFE,0x2A,0x6D,0xFF,0x0F, -0x73,0x66,0xBD,0xE2,0x67,0xA5,0x17,0x72,0xDB,0x19,0xFD,0xE6,0x65,0x49,0x09,0x0A, -0xA8,0x20,0xAD,0x53,0xF6,0x96,0x3E,0x9E,0x5A,0xC2,0x09,0xD4,0x6C,0xB6,0x4E,0x1F, -0xB7,0x31,0x09,0x8B,0x1E,0x0A,0x46,0xA2,0x74,0x42,0x0F,0x95,0xB7,0x42,0x7C,0x9E, -0x17,0x8E,0xE8,0xC9,0x77,0xCE,0xF2,0xF5,0x79,0x13,0x38,0x4A,0x28,0xC9,0xF3,0xCA, -0x5B,0x26,0x14,0xE5,0x78,0xCC,0xF8,0xC8,0xA7,0x1D,0xAA,0x5C,0xAB,0xF5,0x59,0x53, -0x8F,0x0F,0xB4,0x6F,0x12,0xAE,0x83,0xA0,0xF0,0xD6,0xDF,0x51,0x55,0xE3,0xFB,0x69, -0x0E,0x1F,0x62,0x50,0x27,0x72,0xAB,0x3B,0x51,0x88,0xE4,0x7F,0xE8,0xE7,0xB5,0x4D, -0x40,0x8A,0x94,0x73,0xDE,0x54,0xA4,0x49,0x4E,0xBC,0x19,0x37,0xB1,0xB1,0xCA,0x27, -0x7F,0x69,0x11,0x13,0x85,0x64,0x91,0xC5,0x4F,0xCB,0xF6,0x93,0x5C,0x1C,0xBC,0x7C, -0xC7,0x1A,0x6C,0x0D,0xBE,0x6B,0x21,0xAA,0xF7,0xBA,0xEA,0x81,0x36,0xDA,0xDA,0xC2, -0xBD,0xBE,0x8B,0x3B,0x0E,0x61,0xA3,0x25,0x04,0x60,0x80,0x54,0x12,0xA6,0xAD,0x0B, -0xA2,0xAF,0x2F,0xE3,0xAF,0xD1,0x56,0xE4,0x3A,0xA6,0x5D,0xA4,0x0C,0xB5,0x84,0x03, -0x70,0x06,0xA1,0x28,0xB8,0x92,0x1A,0x23,0x7D,0x2B,0xF3,0x18,0x30,0x29,0x6C,0x7B, -0x53,0x94,0x9C,0x5A,0x9B,0xDC,0xEC,0xB6,0xFB,0x9C,0x32,0xFA,0xF6,0xF4,0x9C,0x45, -0x3F,0xCE,0x41,0xCE,0x5D,0x7B,0x35,0xD4,0x23,0x89,0x7A,0x98,0x6F,0x8C,0xA5,0xA8, -0x56,0x74,0xAE,0xD1,0x17,0xF1,0x77,0x16,0x02,0x7B,0x5A,0x20,0xC0,0xAD,0xD8,0x9F, -0x79,0xE9,0x3F,0x52,0x89,0xC0,0x54,0xC7,0xCD,0x44,0xFC,0x23,0x95,0xCD,0xBD,0xEE, -0x9D,0x4C,0xAA,0x83,0xDB,0x0B,0x50,0xFF,0x78,0x64,0xD7,0xEE,0x76,0xF2,0xDD,0x6B, -0x91,0x43,0x06,0x72,0x40,0x65,0x87,0x98,0x32,0xB8,0x4E,0x8D,0x3D,0x81,0x91,0x12, -0x5F,0x9B,0x30,0xAB,0x7E,0x35,0xC3,0x41,0x37,0xF7,0x6A,0x7B,0x35,0xE0,0x31,0x75, -0xC5,0x27,0x66,0x02,0xAE,0x00,0xC4,0x2D,0xFA,0xEB,0xDD,0x5E,0xE5,0x4F,0x48,0x24, -0x7C,0x09,0x0D,0xD9,0xAC,0x77,0x99,0xDB,0xCE,0x10,0x02,0xA1,0x50,0x2A,0xA6,0x67, -0x2E,0xED,0x43,0xE8,0xB9,0x43,0x88,0xEA,0xB8,0x29,0x57,0x14,0x9D,0xAC,0x1D,0x89, -0xCA,0x48,0xD6,0x39,0x06,0x4B,0x00,0x58,0xE1,0xE7,0xEB,0x44,0x22,0x0C,0x5F,0x68, -0x7E,0x34,0x07,0xD6,0xA9,0x28,0x6D,0x6D,0x29,0xB4,0x78,0x97,0x57,0x47,0xF7,0xAC, -0xBB,0x3E,0xA5,0x7A,0x99,0xAB,0xB1,0x40,0x8D,0xA5,0x67,0x4F,0x5B,0x71,0xED,0xB7, -0x98,0xAC,0x98,0x08,0xBF,0xBA,0xB3,0x63,0x4C,0x9F,0x08,0x11,0x77,0x6C,0x3A,0x19, -0x22,0xE2,0xEF,0x19,0x25,0x05,0xF6,0xCD,0x5F,0x8D,0x2D,0x22,0xCF,0xA1,0x29,0x33, -0x37,0x7C,0xC9,0x71,0x68,0xA7,0x1D,0x4F,0x8F,0x86,0x76,0x69,0x1C,0x34,0xBB,0xD5, -0x3C,0xAE,0x5D,0x04,0xC7,0xC4,0x70,0x7A,0x57,0x93,0x3E,0x0B,0x1E,0x90,0xB7,0x10, -0x9F,0x71,0xA0,0x8C,0xEF,0x06,0xEA,0xAD,0xC1,0x62,0x24,0x58,0xBB,0x74,0x66,0x85, -0xB2,0xD1,0x3B,0x00,0x41,0xB4,0x15,0x51,0x2A,0xE0,0x86,0x15,0x4B,0xF0,0xD2,0x61, -0xD3,0xD9,0x5C,0xA0,0x65,0xD2,0x4A,0x84,0x73,0x2E,0x3A,0x45,0xDD,0x84,0x1A,0x20, -0x45,0x6A,0xA6,0xF8,0x2E,0x89,0x9A,0x8F,0xF1,0xA1,0x30,0xF5,0x3C,0x1F,0x76,0x60, -0x68,0xCA,0x3D,0x74,0xE0,0x04,0xE0,0x90,0xE6,0x8B,0xDE,0x94,0x4A,0x6E,0x35,0x13, -0xE8,0x87,0xFD,0x8E,0xCD,0x99,0x8E,0xF1,0x01,0x2F,0xA4,0xA2,0x7F,0x0D,0x9A,0x7E, -0xDB,0x6B,0xD4,0x1F,0x88,0x11,0xC6,0x0E,0x44,0x81,0x1B,0x38,0x52,0x8E,0xAA,0xA2, -0xC6,0x47,0x7A,0xC8,0xA3,0x75,0x93,0xE6,0xC8,0x0B,0xD8,0xD5,0xFB,0x5C,0x61,0x2C, -0x44,0x37,0xB0,0x3D,0x49,0x9E,0xB6,0x2C,0xB5,0x78,0x60,0xCB,0x59,0xD5,0xE1,0x72, -0xE2,0x08,0x7F,0x3E,0x16,0x20,0xE5,0xDF,0x58,0xE1,0x18,0xF2,0x82,0x21,0xD3,0xF3, -0xE5,0xD5,0x47,0xBA,0x56,0xF7,0x59,0x96,0xCF,0x67,0xED,0x05,0xB2,0x8B,0x21,0x90, -0x46,0x0A,0xBA,0x32,0x6B,0x01,0xD2,0x70,0xF4,0xEE,0x14,0x03,0x5F,0x26,0x57,0xCB, -0x1A,0xDC,0x52,0xFD,0x42,0x12,0xDA,0x6E,0xBB,0x7D,0xA9,0x96,0xDE,0xBE,0xF1,0x97, -0x07,0xF0,0xFC,0x2A,0xC0,0xEC,0xD9,0x3A,0xBF,0x45,0x62,0xC4,0x02,0x27,0x92,0xDD, -0x93,0x7E,0x0C,0x7D,0xB0,0xB8,0xB9,0x5E,0x5E,0xFA,0xC2,0x86,0xB3,0x15,0xC6,0xE2, -0x25,0x3F,0xD7,0x9D,0x90,0x50,0x80,0xF4,0x81,0x83,0xBF,0x34,0x53,0x10,0x4D,0xD0, -0x97,0xC3,0x28,0x33,0xE4,0x8A,0x86,0xEF,0x1E,0x1B,0x59,0xEA,0x56,0xD9,0x10,0xDE, -0xD4,0x04,0x64,0x24,0x82,0x4C,0x38,0x85,0xB2,0x14,0x55,0x1B,0x79,0xFE,0x2C,0xC7, -0xA3,0xF2,0x39,0x26,0x36,0xC8,0xDC,0x75,0x49,0xD0,0x2C,0xE7,0xFD,0xAF,0xD7,0x95, -0x48,0x38,0x1C,0xCC,0x2D,0x2F,0x55,0xB0,0xBE,0x32,0x8D,0x60,0x07,0xEE,0xCF,0xD3, -0xCF,0xA8,0xE4,0xB2,0xA7,0xFB,0xF5,0x99,0x65,0x73,0x3B,0x80,0xB5,0xE6,0x70,0x5B, -0x6E,0x7C,0xA4,0xDA,0x0F,0x04,0x57,0xA6,0xA3,0x10,0x5B,0x0A,0xD2,0xD1,0x40,0xE1, -0xF4,0xC0,0xF2,0x73,0xDF,0x31,0x50,0xCA,0x6E,0x0C,0xEC,0x2F,0x02,0x7E,0x39,0xB0, -0x4D,0xEE,0x99,0xA8,0xDD,0x46,0x0D,0x3C,0x5A,0xF7,0x33,0xD0,0xB7,0x1B,0xD7,0xF3, -0x1F,0x0A,0xD7,0x99,0xC8,0x72,0x1C,0x0D,0x2C,0xCE,0x66,0x65,0x7A,0x9D,0x6C,0x1D, -0xFB,0xAF,0x42,0x48,0x77,0x7A,0x94,0xBF,0x75,0x00,0xDA,0x35,0xC5,0x3D,0x2E,0xFC, -0x4F,0xD3,0x93,0xA7,0xD8,0x19,0xF9,0x8A,0xBD,0x53,0x49,0xE6,0xB0,0x76,0x86,0x38, -0x8A,0xD9,0x31,0x0B,0xE8,0x9A,0x25,0xA7,0x19,0x42,0x56,0x3E,0xBC,0x40,0x9C,0x23, -0xA9,0x4B,0x0C,0x79,0xCE,0x8B,0x27,0x84,0xD8,0x78,0x39,0x60,0x90,0x5D,0x4B,0x8D, -0x13,0x05,0x7B,0x68,0x54,0x34,0x62,0x2A,0xCB,0x6A,0x1C,0x53,0x28,0x90,0x58,0xA7, -0x06,0x9B,0x5D,0x00,0x19,0x96,0x89,0xA8,0x1B,0x61,0x47,0x18,0xFB,0x05,0xCA,0x41, -0x0D,0x49,0xC9,0x75,0xB6,0xF5,0xE4,0x9D,0xC3,0x74,0x0F,0x7A,0xF9,0xA1,0xC6,0x84, -0xAE,0x96,0x34,0xFD,0x9E,0x37,0x7E,0x4A,0x55,0x85,0x15,0x29,0x5C,0x45,0x17,0x11, -0x83,0x36,0xAF,0x71,0x30,0x85,0x81,0xB6,0xBE,0x07,0xB7,0x64,0xAC,0xC1,0xA3,0xF5, -0xE2,0x3E,0xC8,0xD1,0x14,0xE3,0xDE,0x63,0xE7,0xC9,0x0B,0x34,0x3A,0xB5,0x6B,0xB4, -0x74,0x8D,0x32,0x89,0x5F,0xB8,0x0E,0x68,0x65,0x46,0x01,0x84,0xDB,0x2E,0x07,0xF4, -0x59,0x2D,0xA9,0x05,0x91,0x35,0x74,0x77,0x72,0x6C,0xEF,0xE5,0xAD,0x5F,0x44,0x87, -0xD9,0x60,0x69,0xFF,0xBC,0xA8,0x1A,0x16,0x95,0xC8,0x95,0xD3,0x98,0x3C,0xEB,0xEA, -0xEA,0x8C,0x40,0x6E,0xF9,0x20,0x52,0xE9,0xD0,0x66,0x2A,0x49,0xB5,0xBF,0xDB,0x36, -0xF7,0xA0,0xEE,0xB9,0xD2,0x44,0x07,0x01,0x5C,0xEC,0xE9,0xA4,0x1C,0x6D,0x10,0xB8, -0x75,0xD0,0x24,0x4C,0x38,0xAF,0x22,0xCB,0x21,0x9F,0x51,0xBA,0xBE,0xE4,0x90,0xE6, -0xD3,0xEF,0xEB,0x4F,0x67,0x11,0x71,0x38,0xCC,0x06,0x29,0x83,0x65,0x10,0xA2,0x67, -0xD4,0x32,0xD3,0xCB,0x27,0xC6,0xCD,0x71,0x5B,0x80,0xDC,0x74,0x55,0xBA,0x50,0x04, -0x77,0xED,0x2E,0x43,0x1A,0x30,0x46,0x97,0x60,0x09,0x25,0x72,0xB8,0x17,0x26,0x5F, -0x2B,0x3B,0xC6,0x8C,0x33,0x23,0x4E,0x89,0x2F,0x9A,0x98,0xE7,0x39,0x8F,0x80,0x03, -0x36,0x17,0x68,0x5B,0xB1,0xDD,0x4D,0xDD,0x2B,0xA2,0x53,0xB5,0xE5,0x16,0xE3,0x49, -0xA2,0x99,0x98,0x0C,0xC1,0x89,0x2D,0xB9,0xCA,0x1D,0xF3,0xF7,0x54,0x24,0xB7,0x76, -0x14,0xD8,0x43,0xEC,0xE1,0x61,0x14,0x13,0x15,0x64,0x8E,0x45,0xB4,0x21,0x3C,0x44, -0xA6,0x24,0xBC,0x42,0x95,0xBB,0x12,0x08,0x8A,0xFC,0x68,0x9B,0xB1,0xE8,0x61,0x4A, -0xE5,0xE3,0xF0,0x55,0xF3,0x7D,0xAC,0x62,0x26,0xF3,0x64,0x6A,0x9E,0xCF,0x5D,0x53, -0x92,0x15,0xAD,0x57,0x47,0xF9,0x48,0x92,0xDD,0x37,0x1D,0x96,0x1A,0x9E,0xA6,0x01, -0x79,0xDF,0x88,0xBD,0x5C,0x1E,0xC1,0x57,0x2A,0xD5,0xBC,0x11,0xE0,0xDF,0xBE,0x47, -0xFE,0x4F,0x70,0xC3,0xD6,0xCA,0x61,0x7E,0xF1,0x94,0x0A,0xF1,0x52,0xD7,0x01,0xCF, -0x7C,0x3F,0xBA,0x36,0x98,0xCE,0x45,0xC3,0xE5,0xEA,0x1A,0x12,0x75,0x91,0x9D,0xB1, -0x22,0xD4,0x58,0xF6,0x13,0xCB,0x77,0x23,0xDF,0x14,0x0C,0xB0,0xE2,0x7B,0xB2,0x82, -0x02,0x26,0x79,0x4E,0xC0,0x58,0xBF,0x70,0x06,0x76,0xAB,0x76,0x7D,0xF0,0x3D,0xD6, -0x6F,0x21,0xB2,0x1F,0x7E,0x81,0xA5,0x0B,0xF7,0x8F,0xD0,0x85,0x86,0x2F,0xC2,0xE2, -0xE1,0x5E,0xD4,0x1B,0xFB,0x57,0x0F,0x1F,0xFE,0xE6,0x2C,0x08,0x40,0xF2,0x32,0xDC, -0xC9,0x1E,0x7D,0x1C,0xFE,0x08,0xFB,0xA9,0x8C,0xE7,0xB2,0xEF,0x58,0x12,0xAD,0x6D, -0xB6,0x5A,0xA8,0xA1,0xB3,0xAA,0x10,0x2B,0x7F,0x3D,0xD8,0x3A,0x35,0xB9,0x9A,0x18, -0x07,0xC6,0x4B,0xC5,0x4D,0xA4,0xB6,0x19,0x54,0xF2,0xFA,0x8D,0xF6,0xAD,0x37,0x28, -0x88,0xE4,0x3B,0x04,0x5A,0xE7,0xFA,0xDE,0x02,0x4E,0x60,0x24,0xB3,0x4C,0x6D,0x8F, -0xC8,0x43,0x6B,0xD9,0x15,0x32,0x4C,0xAA,0x51,0xBD,0xDE,0x7B,0xA1,0x69,0x5E,0x9C, -0x82,0x6B,0xB9,0xB4,0xEE,0x63,0x1E,0x2E,0x9A,0xBA,0xB3,0x2A,0x67,0xB4,0xAE,0xA2, -0xA5,0x44,0xA0,0x88,0x7D,0x27,0x6A,0x34,0x91,0xF0,0x5E,0x81,0x30,0x70,0xC7,0x16, -0x00,0x1B,0x73,0x41,0x70,0x52,0x3D,0xFF,0x09,0x04,0x8D,0x8F,0xCD,0x5C,0x8E,0x9B, -0x42,0x81,0x29,0x93,0x16,0x94,0x83,0x95,0x4F,0xFE,0xCC,0x97,0x82,0x78,0x78,0x9E, -0x99,0xC7,0x39,0x22,0x87,0xA7,0xAA,0x79,0xCE,0x25,0x38,0xA5,0x8B,0x87,0x3F,0x8B, -0x86,0xD6,0x9D,0xFA,0x6F,0x3B,0xD2,0x45,0xE0,0xA5,0x3E,0xE4,0x50,0x73,0x0D,0x0A, -0x26,0x69,0x7C,0xB8,0x06,0xFF,0x66,0x12,0xED,0xF4,0x09,0x3B,0xCF,0xF8,0x82,0x5E, -0x6A,0xC1,0x80,0x94,0x09,0xFD,0x6C,0x2F,0x33,0xFA,0x9B,0x2D,0x4C,0xC4,0x28,0xC7, -0xBE,0xE8,0x20,0x1E,0x63,0x9F,0x17,0x47,0x64,0x31,0xEE,0x20,0xB2,0xD2,0x8A,0xFD, -0x3F,0xF8,0xF6,0x21,0x56,0x43,0x3F,0xDC,0xC5,0x6F,0xD5,0x0E,0x0F,0xD6,0xC4,0xD9, -0x71,0x6D,0x00,0x02,0xAF,0x65,0x30,0xAE,0xDA,0x5B,0x28,0x46,0x56,0x80,0xBB,0xB3, -0x4E,0x8E,0x85,0x62,0xF4,0x55,0x05,0x22,0xDB,0x2C,0xC7,0xE2,0xBB,0x2D,0xCD,0xE8, -0xF6,0xFD,0xF8,0x7C,0xCF,0x5A,0xB5,0x4D,0x63,0x5D,0xDB,0xF0,0xD1,0xEB,0xAB,0x56, -0x8C,0x59,0x1F,0x4A,0x7F,0x50,0x37,0xC2,0x90,0x87,0xB1,0x25,0xF5,0x97,0xDC,0x9F, -0x93,0x48,0xBB,0x92,0xDE,0xE0,0xC2,0x03,0xAE,0x41,0x6C,0xD5,0xEB,0x84,0xF5,0x97, -0x41,0xE1,0x35,0x59,0xC9,0xA3,0x8E,0xC4,0xE9,0xCC,0xC2,0x69,0xD7,0x18,0x1D,0xEF, -0x62,0x73,0x08,0x2B,0xEA,0xED,0x78,0x51,0x6F,0x7B,0x03,0x8B,0x11,0xC5,0xED,0xD1, -0x0E,0x29,0xD5,0xBF,0x2C,0x4A,0xA1,0x33,0xB7,0x6E,0x4B,0xE9,0x88,0xBD,0xD4,0x3C, -0x67,0x93,0x3A,0xA0,0x66,0xC0,0xE3,0xF1,0x96,0x9C,0x6B,0x51,0x27,0x9C,0xA9,0x0B, -0x48,0x0E,0xAB,0x23,0xF8,0xF1,0xC0,0x20,0x59,0xA3,0xCD,0x52,0x72,0xFC,0xCC,0x7A, -0xAC,0xAB,0x3E,0xF2,0xAA,0x3A,0xC4,0x18,0xEC,0x83,0xE6,0x9F,0x91,0xC3,0xAC,0xFF, -0xA0,0xA4,0x92,0x03,0x31,0x54,0x13,0x7F,0xA6,0x5F,0x7F,0xFC,0xDA,0xB0,0xE0,0x86, -0x8D,0xE9,0x55,0x85,0xAA,0x67,0x66,0x7E,0x0B,0x4B,0x04,0x05,0xE7,0x1F,0x93,0x8B, -0x62,0x9E,0x54,0x21,0xDC,0xCA,0x3D,0x93,0x8E,0xA8,0x3B,0x65,0x6B,0x2F,0xC8,0xBE, -0xFB,0x42,0x1E,0x42,0xBB,0xDD,0x11,0x30,0x91,0x9C,0xC6,0x2D,0x07,0x1A,0x18,0xB9, -0x91,0x98,0xED,0x97,0xCC,0xA1,0xD8,0x14,0x76,0x38,0xBC,0x1B,0x88,0x10,0xA8,0x3B, -0xD1,0x3F,0xBD,0x4A,0x4F,0x8E,0x49,0x89,0x0E,0x04,0x20,0xF3,0xEA,0xB7,0x6E,0xE2, -0x43,0x31,0x63,0x5C,0xE5,0xB2,0xD0,0x0A,0xF2,0xAC,0x6C,0xDF,0xD7,0xB5,0x61,0xE8, -0x9F,0xAA,0x4B,0x69,0xA3,0x9C,0x57,0xCA,0x78,0x3D,0x75,0x46,0x19,0x09,0x31,0xB1, -0xA4,0xF4,0xEA,0x47,0xED,0x98,0x73,0x77,0xAE,0x2D,0xF4,0x79,0x82,0xD5,0x04,0x99, -0x87,0x66,0xD7,0x35,0xAB,0xB6,0xF4,0xB7,0x25,0xCB,0x02,0x44,0xE5,0xBB,0x9F,0x4E, -0x21,0x59,0x18,0x36,0xCE,0xD6,0x85,0xE2,0xB4,0x56,0x2D,0xC7,0x34,0x8A,0x01,0x6D, -0x35,0x9A,0x28,0x9B,0x87,0xFA,0x08,0x1F,0x1C,0x61,0xEA,0x64,0xBA,0x1E,0x56,0x9D, -0xAC,0x46,0x62,0xF8,0xCB,0x89,0x71,0x54,0xB0,0x6E,0xE6,0x95,0xDD,0x70,0xCD,0x4A, -0x88,0x09,0x67,0x0E,0x7A,0x52,0x61,0x12,0xBB,0x24,0x0B,0x3E,0x01,0xE9,0xAE,0x00, -0x26,0x84,0x20,0xB2,0x92,0xCE,0x19,0x2E,0x35,0x8D,0xD9,0xF5,0xC6,0xAA,0xB9,0x4C, -0x01,0xAB,0x39,0x8E,0xB3,0xF7,0xB2,0x4D,0x5B,0xEC,0x44,0xD8,0xF6,0x00,0x4B,0x2F, -0x49,0xBE,0xE1,0xEC,0x8A,0x8F,0x5F,0xD4,0x86,0xB6,0x28,0x4C,0x94,0xA7,0x8D,0xF6, -0xF8,0x22,0x02,0x88,0xCA,0x58,0xE3,0x9D,0xF3,0xDB,0x83,0x7B,0x6C,0x42,0x99,0x75, -0x66,0x23,0x70,0x6F,0x55,0xB8,0x52,0x85,0x5A,0x9B,0xAB,0x7C,0xDA,0x1D,0x9C,0x81, -0xB0,0x37,0xDA,0xEA,0x50,0xE7,0xA6,0x33,0xC5,0x03,0x4D,0xA2,0xDC,0xEE,0x2A,0x38, -0x92,0xF8,0xF1,0x5D,0xFD,0xF3,0x96,0xF0,0x26,0x9F,0xFC,0xC6,0xEE,0xE0,0xD4,0x9E, -0x46,0xD1,0x51,0xD7,0xD5,0x31,0x0C,0x27,0xD6,0x11,0x68,0x91,0xE6,0x81,0x74,0xF9, -0x50,0x2F,0x6B,0x75,0xFA,0xDB,0x3F,0xB0,0x34,0xFA,0x36,0x51,0x06,0x84,0xFF,0xCB, -0x9A,0x4A,0x79,0xE2,0xA5,0x65,0x6C,0x43,0x3C,0xE4,0x25,0x78,0xCE,0xCB,0x19,0x2B, -0xE1,0xB3,0x88,0x11,0x5A,0xBA,0x58,0xB8,0xF7,0xE3,0x48,0x29,0xB5,0x12,0xA7,0x31, -0x86,0x3B,0xC1,0xF0,0x1F,0x32,0x10,0x47,0xA7,0x44,0x08,0xF4,0x50,0xDE,0x71,0x0D, -0xC7,0xC1,0x87,0xE8,0xE9,0x16,0x15,0x08,0xFD,0xDE,0x4A,0x26,0x3A,0x18,0x17,0xB3, -0x74,0x60,0x6E,0x83,0x6A,0x39,0x84,0x95,0x13,0x13,0xCC,0x9D,0x80,0x71,0x08,0x5C, -0x72,0xE0,0x40,0xC2,0x58,0xCD,0x05,0x4E,0xB7,0x02,0xD3,0x45,0xBC,0xED,0xE0,0x24, -0x94,0x78,0xDF,0x1C,0x39,0x23,0x12,0x64,0xE5,0x86,0x82,0xBE,0x6F,0x78,0x72,0xC2, -0x2A,0x8B,0x8C,0x43,0x0A,0x06,0x01,0x76,0xB5,0x21,0xC2,0x63,0x1B,0xAD,0x3D,0x74, -0x14,0x35,0x1F,0xE6,0xA0,0x3A,0x98,0xF5,0x2E,0x81,0xEF,0xEF,0xF1,0x6D,0x1A,0xE4, -0xF9,0x7F,0x14,0x4D,0xC9,0xFE,0x2C,0xA2,0x37,0xAE,0xC8,0xD3,0xEB,0x29,0x89,0x90, -0x96,0x45,0xD5,0x13,0x37,0xF0,0x8A,0x90,0x5D,0xF7,0x9E,0xAC,0xB4,0x8C,0x40,0x43, -0x63,0xC3,0x42,0xE4,0xC5,0x5A,0xE9,0xA0,0x65,0x2A,0x99,0x28,0xFD,0x5B,0x00,0xFF, -0xD2,0x5F,0xA1,0x80,0xE7,0xC5,0x8D,0xFC,0x48,0xFE,0x61,0xEB,0x4C,0x69,0x54,0xC0, -0x6F,0xCC,0xEE,0x15,0x41,0x5D,0xD1,0x7D,0xA0,0x28,0x3D,0x24,0x52,0x7A,0x7D,0xC8, -0x60,0xA3,0x5E,0x2E,0xBC,0xF5,0xB8,0x70,0xCE,0x49,0xA0,0x09,0x2C,0x6A,0x9E,0xDC, -0xDF,0x0D,0x1B,0xB4,0x8C,0x76,0x64,0x5D,0xE7,0xA5,0x93,0x98,0xD3,0xE2,0xDB,0x94, -0x1B,0x5A,0xAF,0xDD,0xF7,0xAE,0x68,0x7B,0xAA,0x15,0x3F,0x2B,0x0E,0xE5,0x5F,0xAC, -0xA3,0x29,0xD2,0xC3,0x77,0x27,0x36,0xD9,0x60,0x65,0xBD,0xDE,0xC4,0x0E,0xB5,0x89, -0x57,0xF2,0x53,0xF1,0xC1,0xD4,0x8F,0xDF,0x23,0xD0,0xD8,0x30,0x57,0xB3,0x20,0xC6, -0x2E,0x36,0xA8,0x0D,0x3A,0x85,0xDD,0x5B,0x7E,0x26,0xAF,0x32,0xA7,0x37,0x94,0x22, -0x40,0x51,0x7F,0x96,0x66,0x9D,0x41,0x97,0xFE,0x8A,0xB4,0xA4,0xBB,0x80,0xB1,0xEF, -0xF6,0x10,0xA4,0x76,0xD9,0x95,0xC9,0x25,0x06,0x1A,0x33,0xDA,0x92,0x54,0x3B,0x4F, -0xB9,0xD8,0x44,0x90,0xD0,0x6E,0xF8,0x91,0x16,0x5C,0xE8,0x6B,0x7C,0xC3,0xA6,0xA3, -0x19,0x67,0xA5,0xD2,0x84,0x5C,0xC7,0x20,0xE6,0xD2,0x7C,0x3C,0x18,0x97,0xD6,0xC3, -0x22,0x39,0x04,0xFC,0x06,0xA2,0xC4,0x74,0x32,0xE1,0xEC,0x25,0xCD,0xF1,0xF2,0x9C, -0xC4,0xA1,0x9B,0x22,0x5B,0x6B,0xCA,0x71,0xCD,0x1D,0x5E,0x8B,0xD6,0x2B,0x86,0x9A, -0x03,0x96,0x33,0x81,0xE1,0x3C,0xB6,0x75,0x1D,0x16,0x05,0xC0,0x4F,0x53,0xBF,0x77, -0x90,0xC5,0xFB,0x52,0x49,0x77,0x72,0x00,0xCC,0x6A,0xB1,0x2F,0x7A,0x30,0x10,0x1A, -0x73,0xBD,0x56,0x07,0x2C,0x17,0x03,0x55,0x82,0x8E,0xE3,0x1E,0x41,0xC1,0xA9,0xA9, -0x1C,0x87,0x97,0x59,0xFB,0x0A,0xAD,0x79,0xBF,0x1C,0xC0,0x6C,0x62,0xD0,0x8F,0xAB, -0xA6,0xC9,0xE0,0x48,0x5E,0x34,0x3E,0xC7,0x7C,0x05,0xBE,0x14,0x0F,0x7B,0xB8,0xDE, -0x11,0xD5,0x2D,0x6D,0x27,0x9B,0x6F,0x17,0x2A,0xB9,0x24,0xBD,0x63,0x4E,0x68,0xD9, -0x2C,0x0B,0xA2,0x02,0x0B,0xD7,0x93,0xBF,0x59,0xCF,0x55,0xFE,0xC8,0x38,0xAF,0x92, -0x79,0x32,0xD4,0xB7,0xB0,0x51,0x7D,0x72,0x17,0x2B,0x07,0xCF,0xF9,0x0C,0xBA,0x83, -0x41,0x0C,0x69,0x53,0x0C,0xFF,0x3A,0xFF,0x46,0xFB,0xA8,0xB6,0xA6,0xA9,0x73,0x50, -0xFD,0xC2,0x30,0x03,0xC4,0x8B,0x7B,0x69,0x21,0xF3,0xC9,0x16,0x73,0xCF,0x57,0x0F, -0xA5,0xA9,0xFC,0x82,0x23,0x15,0x09,0x68,0x27,0xE8,0x13,0x62,0xB2,0x7F,0xF6,0xFA, -0x4B,0x83,0xEB,0xE3,0x60,0x64,0x7A,0x1E,0xBC,0x48,0x3E,0xEE,0xAD,0xF2,0x38,0x80, -0x0D,0xA4,0x95,0x7F,0xAD,0x4F,0xCF,0x3E,0xD3,0x5E,0x4C,0x67,0x6D,0xDC,0x7E,0x07, -0x56,0xAF,0x45,0x34,0x3F,0xDA,0x29,0xED,0xF5,0xC0,0x59,0x0F,0xEF,0x7E,0x33,0xEC, -0x5F,0x40,0xDB,0x4E,0x70,0x0F,0x9F,0x99,0xBA,0x53,0xE4,0x9A,0x8F,0x7D,0xF9,0xF0, -0x45,0xB1,0x4D,0x1D,0xA1,0xEB,0x0A,0x3C,0x47,0x8C,0x47,0x12,0x58,0xBF,0xD1,0x6A, -0x05,0x59,0xE9,0xC5,0xE8,0xD9,0xD9,0xDA,0x08,0x3E,0x4C,0x4D,0x55,0xA9,0xCA,0x18, -0x57,0x08,0x12,0x41,0x2C,0x22,0x25,0xA3,0xBC,0xBA,0xA8,0xBD,0x22,0xF4,0x3C,0x1A, -0xCB,0x10,0x4E,0x8D,0x4B,0xF5,0xBE,0xCD,0x99,0x0D,0x65,0xA1,0x39,0x74,0x90,0x8C, -0x43,0x18,0xF1,0x3F,0x0A,0x2E,0x5E,0x7B,0x13,0xD9,0xC5,0x88,0xBE,0x8C,0x00,0xF2, -0x72,0xE3,0xF8,0x8B,0xC2,0xCE,0xB8,0x34,0x8E,0x4E,0x29,0x66,0x65,0x9C,0x46,0x43, -0x4D,0xD1,0xAC,0x3A,0x7D,0x2F,0xFA,0x94,0xFE,0x1A,0x49,0x02,0xF1,0x6C,0xC8,0x14, -0x4E,0x2F,0x2E,0x6E,0x23,0x8E,0xD4,0xAF,0xDA,0x7C,0x16,0xD7,0x61,0xB8,0xFB,0x0D, -0x40,0xE6,0x73,0x6B,0xBB,0x11,0x0A,0x49,0xAE,0xA6,0x10,0xCC,0xD3,0x47,0x07,0xA3, -0x00,0x7D,0x1F,0x8A,0x5F,0x5F,0x3B,0x1B,0x68,0x01,0xC9,0xAE,0x13,0xD7,0xED,0x84, -0x63,0xD7,0xED,0xBA,0xD9,0xC8,0xCC,0xEE,0x28,0xD6,0x75,0xE7,0x14,0xEF,0x30,0x00, -0x07,0x48,0xCF,0xE6,0x45,0x2B,0xA8,0x5F,0x7C,0xE4,0x4A,0x56,0xEC,0xC2,0xE4,0xC3, -0x5B,0xD0,0x69,0x67,0xD6,0x64,0x3D,0xE2,0x55,0xF7,0x42,0x48,0xB0,0x2A,0x32,0x0C, -0x32,0x78,0x94,0x6A,0xB9,0xD4,0x06,0xED,0xB6,0xE7,0x56,0x36,0x2D,0x44,0x53,0x21, -0xEE,0xFB,0xA4,0x47,0x17,0x91,0x9C,0x52,0xF3,0x6F,0x1E,0xC9,0x1E,0x6D,0xBF,0xB0, -0xE2,0x23,0xDF,0x61,0x40,0x25,0xF5,0x96,0x77,0x68,0x26,0x14,0xB2,0x20,0x0F,0x03, -0xBC,0xAA,0x5F,0xC3,0x33,0x58,0xEB,0x2E,0x9D,0x83,0x03,0xDE,0x30,0xEA,0x7F,0xF6, -0xB0,0x72,0x24,0xE5,0x16,0xE3,0x7B,0xCC,0x5B,0x24,0xDA,0xBC,0x25,0xCC,0xE1,0x9E, -0xF1,0x06,0xEC,0x73,0xD8,0xBA,0x2B,0x70,0x7F,0x42,0x85,0x69,0x44,0xAB,0xE9,0x3E, -0x83,0x98,0x0B,0x72,0xB3,0x76,0xAA,0x28,0xDE,0xF2,0x70,0xA8,0x9E,0xAD,0xF2,0x4A, -0xF0,0xE9,0x48,0x04,0x99,0x61,0xCB,0xC6,0x10,0x7F,0x0A,0xB7,0xB3,0x36,0x52,0xC6, -0x45,0xC2,0x85,0x24,0xBE,0x1F,0x57,0x80,0x56,0x51,0x8D,0x77,0xC1,0x59,0x44,0x4F, -0xA3,0x57,0x17,0xF7,0xB5,0xCF,0x1C,0xDB,0x1B,0xF3,0x66,0xF5,0xD4,0x7F,0xDA,0x27, -0x15,0x82,0x58,0x83,0x5A,0x51,0x66,0xD2,0xD1,0xF0,0x7A,0x95,0x69,0x30,0x49,0xB2, -0x80,0x66,0x89,0x26,0xAB,0xC7,0x35,0xC8,0xF9,0x32,0xE0,0x42,0xCA,0xCD,0x96,0x3A, -0x3C,0xB1,0xC9,0x6F,0x8C,0xB9,0xA9,0x8E,0x97,0xDE,0xFD,0x55,0x88,0x97,0x0C,0xE8, -0xF8,0xFA,0x61,0x1A,0xDF,0x71,0x7A,0x1D,0x38,0xBD,0x90,0x60,0x3C,0x46,0x70,0x07, -0x89,0x9A,0x04,0x4F,0xA7,0xDC,0x2F,0xFE,0x81,0x4C,0x23,0x5B,0x6E,0x08,0x94,0x36, -0x27,0x87,0xD3,0x63,0x9D,0x1D,0x71,0x91,0xA7,0x5D,0x21,0x78,0x4D,0x35,0x06,0x44, -0xB4,0xB9,0x76,0xDD,0xD3,0x6A,0x60,0x2B,0x90,0xF6,0x54,0x15,0x33,0xF6,0x1F,0x3C, -0xE5,0x16,0x0F,0x0D,0xCF,0xA7,0x45,0x9C,0x40,0xC3,0x53,0x79,0xA9,0xA0,0xA3,0x95, -0x19,0x5A,0x23,0xA5,0x11,0x28,0x2A,0xA1,0x87,0xB5,0x18,0xD2,0xD8,0xD3,0xD5,0xD6, -0xF7,0xDC,0x98,0x68,0x28,0x5E,0x9F,0xF4,0x92,0x81,0x09,0xE3,0x8A,0x9D,0x31,0xE7, -0x7E,0x3B,0x83,0xAD,0x7C,0x5D,0x1D,0x0A,0xB7,0x36,0xC4,0xFF,0x8F,0xAF,0xD1,0x6C, -0x0F,0x5B,0xE6,0xF8,0x43,0x92,0x1E,0xAC,0x29,0x07,0xE7,0x2E,0xA0,0x3E,0x4C,0xEF, -0x82,0x77,0xAF,0x05,0x80,0xA2,0xB3,0xB8,0x7E,0x93,0x17,0xA0,0x67,0x96,0x7B,0x4C, -0xFB,0x04,0xE3,0x4E,0x5C,0xE8,0xD0,0x21,0xE5,0xFD,0xC0,0xC7,0x6B,0x3A,0x74,0xBD, -0xEB,0xDF,0x52,0x08,0x13,0xED,0x26,0x05,0x86,0x64,0x8A,0x1B,0x86,0x31,0x3E,0x16, -0x93,0x43,0xBA,0x34,0x9E,0xAA,0x9A,0xAB,0x91,0x27,0xC6,0xDC,0x54,0xBF,0x97,0xDD, -0x38,0x7A,0x9B,0x57,0xB1,0xB3,0xA6,0x8C,0x63,0x8D,0xA5,0xEC,0xC9,0xD1,0xF6,0xF0, -0xD5,0x02,0xA2,0xCE,0xA4,0x6B,0xC4,0xC4,0xA5,0x2A,0x7C,0x8E,0xA5,0x0C,0xAC,0x64, -0xEC,0xEA,0x82,0x64,0xF3,0xDF,0xAD,0x00,0xBB,0x92,0x01,0xFD,0x89,0x81,0x51,0x2D, -0xB7,0x47,0xF4,0x89,0x84,0xDE,0x09,0xEF,0xE0,0xA2,0x34,0x71,0xB6,0x04,0xB2,0x4D, -0x9B,0x50,0x93,0x2A,0x58,0x94,0x6A,0x76,0x30,0x97,0x33,0x1D,0x4B,0x1B,0x86,0x05, -0x52,0x2C,0xE4,0x0E,0x82,0x67,0xBF,0x1C,0x80,0x9D,0xB1,0x92,0x31,0xFC,0x22,0x33, -0xC3,0x03,0x67,0x93,0x25,0x37,0x62,0x5C,0x46,0x3A,0x68,0xF0,0xAD,0x84,0x1E,0xDB, -0x5A,0x3F,0xCD,0x10,0x2B,0xE9,0x74,0xCE,0x49,0x38,0x62,0xCD,0xE1,0x78,0xB6,0xF7, -0xDD,0x11,0x8B,0xD0,0xB0,0xC1,0x41,0x12,0x19,0x84,0x3B,0x03,0xF8,0xF2,0x27,0x6E, -0xF9,0x15,0xC5,0x6D,0xEE,0x60,0x6F,0x29,0x2C,0x58,0x13,0x98,0x79,0x24,0x37,0x51, -0x9A,0xBF,0x37,0x5D,0x21,0x4B,0xD8,0x0B,0x59,0x53,0x87,0x4A,0x85,0x2D,0x5E,0xDC, -0x9F,0x9B,0xC1,0x12,0xDB,0x0D,0xC0,0x4A,0x3F,0x95,0x39,0x20,0xC7,0x77,0xC4,0x0E, -0x0E,0xB4,0x42,0x8F,0x7A,0xE4,0xAB,0xF9,0x20,0xFC,0xD6,0x9A,0x41,0x99,0x09,0xB5, -0x8F,0x40,0x70,0x54,0xFA,0xCA,0xEA,0xFF,0xC8,0x60,0xAE,0xA6,0x5E,0x3D,0x18,0x6D, -0x98,0xAE,0x11,0x7E,0x62,0x55,0x34,0x19,0x5A,0xF5,0x48,0x75,0x0F,0x6F,0x9C,0x96, -0x8B,0x8B,0x22,0x6C,0x91,0x06,0x6B,0xA7,0x15,0x20,0xFE,0x01,0x4F,0x3F,0x3B,0x4B, -0x12,0xB7,0x88,0xEF,0x2F,0x95,0xCE,0x99,0x32,0xE0,0x6E,0xEB,0x62,0xA4,0x9B,0xC7, -0xA6,0x73,0xE1,0xB8,0x65,0x9E,0x65,0x74,0xA1,0xA4,0x1A,0xF1,0x45,0xBD,0xB4,0xFB, -0x69,0xD5,0xE2,0x87,0x38,0x88,0xA0,0x75,0xB1,0xCF,0xFF,0x76,0x0E,0x79,0xC1,0x53, -0xD8,0x35,0x7D,0x9F,0x39,0xFA,0x47,0xEB,0xB4,0x90,0x0B,0xC0,0x26,0xD0,0x81,0x54, -0x2C,0x6A,0x78,0x29,0x2D,0x50,0xC2,0x3D,0x02,0x63,0xB2,0xC6,0xC0,0x4F,0x19,0x8A, -0x1C,0x7E,0xD5,0xEA,0xE2,0x7B,0x75,0x1F,0xFC,0x6D,0x14,0xF4,0x71,0xAC,0x85,0xEE, -0x86,0xBC,0xFD,0x3D,0xCB,0xDB,0xFF,0xCB,0x5C,0x0C,0x73,0xFC,0xE5,0x5C,0x0B,0xB9, -0xB5,0x56,0xD2,0xAA,0x35,0xE1,0x5D,0xDD,0xD7,0x09,0x41,0x1C,0xBB,0xBE,0xE0,0x79, -0xE6,0xE8,0x8D,0x59,0x50,0xF3,0xCA,0x17,0x31,0x46,0xA1,0xD4,0xA8,0xB6,0xFE,0x50, -0xD2,0x37,0x72,0xA2,0xA9,0x02,0x39,0x6C,0x8F,0x9F,0xBB,0xAF,0xC5,0x7D,0xF9,0x01, -0xF9,0xDD,0xC8,0x01,0x8D,0xCC,0x93,0xED,0x44,0xF0,0x62,0xA1,0x5C,0x2F,0x11,0xF7, -0x0A,0xB7,0x1D,0xDB,0xA9,0x05,0xE4,0x91,0x72,0x8A,0x85,0x05,0x56,0xAD,0x9E,0x47, -0x40,0x2E,0x7E,0x07,0x0A,0x29,0x83,0x86,0x3A,0x77,0x9A,0x31,0x63,0xAA,0xF2,0x97, -0x41,0xC1,0xDA,0x70,0xE7,0x72,0xF5,0x2B,0x5A,0x48,0x1F,0xD2,0x53,0x9F,0x7E,0xCC, -0xFE,0xE8,0x18,0x6D,0xEE,0x67,0xB2,0xD4,0x26,0xB8,0xBA,0xB4,0x99,0x8D,0x1B,0x5B, -0x5F,0xD3,0x36,0x33,0x53,0x43,0xFC,0xD0,0x19,0x39,0x6C,0xA4,0x45,0xA5,0x80,0x6E, -0x77,0x0F,0x03,0xA8,0x93,0xC4,0xBA,0xFE,0x80,0x20,0xE6,0x35,0xF9,0xFC,0x4E,0x3E, -0xA9,0x9D,0x15,0xA6,0x10,0x5D,0x10,0xC2,0xAC,0x6C,0x1A,0x9D,0xFB,0xF6,0x73,0x31, -0x76,0xE0,0xA7,0xDF,0xCD,0x65,0x94,0xC5,0xCA,0xAA,0xA4,0xF7,0x3C,0x5E,0x44,0x92, -0x3C,0x79,0xC4,0x03,0x86,0x1C,0xD8,0xB6,0x3B,0xA6,0x08,0xF8,0x52,0x89,0x23,0x09, -0x0C,0x6D,0x69,0xC0,0x7B,0x91,0x91,0x9A,0x98,0x61,0xA0,0xCF,0xC6,0x79,0xAD,0x5E, -0xC3,0xCB,0x6A,0xFF,0x2E,0xE0,0xF4,0xFA,0x1B,0x4E,0x31,0x52,0xF7,0x5A,0x7C,0xC0, -0xF5,0x05,0xB3,0x27,0x4D,0x4B,0xD5,0xC3,0x13,0x64,0x92,0x2F,0xEB,0xE2,0x0D,0xD2, -0x2D,0x4D,0xD1,0x32,0xD4,0xA6,0xEC,0xBB,0x87,0x08,0x4F,0x75,0x4C,0x3B,0x6F,0x14, -0x34,0x6A,0xED,0x1D,0xB7,0x0D,0xCD,0x82,0xAA,0x95,0x21,0x14,0xE6,0x58,0x5F,0xE6, -0x73,0xC4,0x51,0x90,0x8B,0x75,0x25,0x1E,0x61,0x47,0xAF,0xBD,0xA5,0x14,0x98,0xF1, -0xE5,0xDE,0x02,0x61,0x69,0x82,0xA2,0xBF,0x99,0xB0,0x32,0x06,0xAC,0x8A,0x77,0x8B, -0xCE,0xFC,0xB5,0xAE,0xAA,0xB2,0x0F,0xAB,0xFD,0x01,0xD1,0x9A,0xA2,0x2C,0x45,0x75, -0x64,0x2A,0x30,0xBA,0x1C,0x46,0x0A,0xF4,0x23,0xE7,0x4E,0x02,0x51,0x95,0x43,0xC3, -0x16,0xB4,0xD7,0xBB,0x04,0xF7,0x95,0x14,0x24,0xCF,0xE7,0x42,0x0E,0x61,0xF5,0xC6, -0x9C,0xAD,0x4E,0x2A,0x21,0x4C,0x05,0xF6,0x76,0x04,0xE3,0x7A,0x5E,0x25,0x2C,0xF8, -0x6D,0xD6,0xBD,0xD3,0xDA,0x78,0xFA,0x29,0x27,0x69,0x28,0x7D,0x87,0x3F,0x57,0x46, -0x7F,0x1C,0x2A,0xB6,0x29,0x2B,0xA5,0x97,0x0E,0x7A,0x20,0x63,0xC8,0xDF,0x9F,0xA0, -0x45,0x0A,0x88,0x48,0xBE,0x18,0x8A,0x7D,0xCE,0x24,0xC2,0x88,0xCD,0xED,0x7F,0x2B, -0x54,0x3E,0x9D,0x79,0xD7,0x11,0x07,0x81,0x1A,0x9F,0xA3,0x9B,0xA1,0x30,0x25,0xBF, -0x7A,0x38,0xDC,0xF9,0x0C,0x90,0x35,0x75,0xC2,0x80,0x07,0x8A,0x3D,0x48,0x19,0x57, -0x93,0x8B,0xB7,0x58,0x91,0x01,0xB6,0x5A,0x79,0x06,0xE9,0x47,0x54,0xA7,0xA3,0x48, -0xD5,0xCA,0xAF,0xA2,0xDE,0x04,0x40,0x7E,0xAB,0x44,0xB3,0xDD,0x92,0x19,0xC9,0x2E, -0x00,0xB5,0x12,0xE6,0x3B,0x38,0x96,0xB2,0x8C,0x84,0x23,0x37,0x65,0x84,0x72,0xD6, -0x0B,0x58,0xB9,0xAC,0x6C,0x8C,0xFF,0x76,0xB0,0xA3,0x3A,0x18,0x21,0xF0,0x68,0x45, -0x98,0x66,0x1C,0x12,0xEF,0x15,0x55,0x4A,0x3C,0x8E,0xA1,0xB8,0xE1,0x60,0x82,0x62, -0xCB,0xD8,0x43,0xE1,0xFD,0x06,0x66,0x6F,0xE1,0xCE,0xF1,0x1F,0x34,0xD6,0xF6,0x2D, -0xFA,0x23,0x4A,0x55,0xE4,0xC5,0x1E,0x11,0x7B,0x71,0xB4,0xB1,0x36,0xDC,0xCB,0x22, -0xB5,0x9E,0xDF,0xC6,0x65,0x99,0xB8,0x89,0xB4,0x2D,0x5C,0x67,0x25,0xD4,0xD5,0x0B, -0x56,0x2F,0xBB,0x5A,0x39,0xFD,0x9A,0x16,0x77,0xD5,0x71,0xB3,0x17,0xEB,0x64,0x5F, -0xC1,0xDA,0x4C,0xDC,0x09,0x9E,0x68,0xBC,0xF3,0xD2,0x49,0x6E,0xC0,0x57,0x2D,0x1F, -0xC6,0xEF,0x9C,0xB0,0x40,0x22,0x28,0x6B,0x81,0xF1,0x74,0xFC,0x42,0x9D,0x5D,0xEA, -0xBB,0x57,0x82,0xC3,0xE2,0x7C,0xA8,0xE2,0x74,0x73,0xBE,0x8C,0xA9,0xB8,0x97,0x00, -0x0F,0x93,0xEB,0x94,0xC4,0x70,0xD3,0x3A,0xC7,0xDF,0xF3,0x3C,0xAE,0x80,0x4A,0x84, -0x4A,0x2C,0x71,0x3A,0xE9,0xAC,0xE3,0xB9,0x56,0xEC,0xDA,0xD0,0x26,0xC8,0xB5,0xC1, -0xB0,0xBA,0x29,0x89,0xBC,0xDD,0x86,0xD9,0x85,0x7F,0x12,0x83,0x18,0x5B,0x0B,0x64, -0x6B,0x0C,0xC9,0xC8,0x0E,0x55,0x39,0xD1,0xFB,0xF8,0xEA,0x13,0xCC,0xFB,0x22,0xEE, -0xBC,0x62,0x52,0xAF,0xC2,0xC9,0x65,0xC9,0x6D,0xE3,0x6A,0xBF,0x7B,0x36,0x3E,0xCB, -0x47,0x1B,0xAE,0x6B,0x46,0x9B,0x9E,0x98,0x6F,0x94,0x37,0x49,0xFF,0xD2,0xCE,0x7F, -0x8F,0x88,0x7D,0x38,0xE8,0xDE,0x04,0x27,0xD4,0x12,0xD9,0x84,0x67,0x8E,0x4F,0xD9, -0x10,0x6E,0xA3,0xA0,0xED,0xD0,0x59,0xEE,0x7A,0xA0,0x26,0x78,0xBD,0x88,0x54,0xAD, -0xB1,0x55,0x8D,0xFE,0xB9,0xD3,0xDB,0x10,0x63,0x30,0xF2,0x4B,0xDB,0xD7,0x81,0x89, -0x50,0xF5,0xCF,0x41,0x08,0xEC,0x8F,0x22,0x34,0xA4,0x02,0xC5,0x8F,0xB7,0xE5,0xF9, -0x83,0x50,0x06,0x1E,0xE0,0xB9,0xA4,0x46,0x33,0x8C,0xAB,0x85,0x9C,0xBF,0xFB,0xD0, -0x42,0x3F,0x58,0x24,0xCC,0x17,0x73,0x5B,0x41,0xAF,0x96,0x17,0x8D,0xBD,0xD8,0xF6, -0xEF,0xDC,0x0D,0x5C,0x99,0x66,0x16,0x3B,0x70,0xFD,0xD8,0xF3,0x7C,0x0E,0xE3,0x4F, -0x27,0x4F,0xDE,0x0F,0xEC,0xA2,0xBE,0x70,0x9F,0x49,0x09,0x8F,0x1F,0x63,0xD6,0xE0, -0xC0,0x35,0xE8,0xAB,0xEB,0x69,0xEF,0x1D,0x90,0x4B,0x03,0xB2,0x40,0x97,0x60,0xE5, -0xB6,0x60,0x5D,0x92,0x26,0x87,0x54,0x9B,0xA1,0x19,0x4D,0x56,0x74,0x86,0x51,0xF0, -0x39,0x5D,0x32,0x4C,0x8E,0x7B,0x78,0xD7,0xE2,0x68,0x3E,0x20,0x02,0xCD,0xFA,0x37, -0xF4,0xEA,0x17,0x50,0x5E,0x2A,0x01,0x78,0x4B,0xF2,0x68,0x9C,0x37,0xCA,0x96,0xE7, -0xFF,0x07,0xBC,0x1A,0x87,0x6E,0x3F,0x28,0xB1,0x72,0xA8,0xD1,0xBE,0x94,0x34,0x67, -0xE8,0xE9,0xDD,0x30,0xF1,0x1D,0x7C,0x59,0x3D,0x5F,0x33,0x71,0x33,0xEE,0x2B,0xA9, -0x24,0xB1,0x5C,0x5B,0xF0,0x6F,0x9B,0xC7,0x49,0x85,0x35,0x6A,0x83,0x1B,0xEA,0x08, -0x7D,0x0D,0x0C,0x95,0x66,0x2E,0x53,0xB3,0xE9,0xE4,0x52,0x62,0xE5,0x44,0x3F,0x2C, -0x59,0x09,0x42,0x28,0xA5,0x1E,0xFE,0xA7,0x4D,0x0B,0x53,0x15,0xF3,0x7E,0xC1,0x8E, -0xCF,0x13,0x11,0xD9,0x00,0x8B,0x2F,0x43,0xC5,0xA8,0xAE,0xCA,0x31,0xE4,0x16,0xA6, -0x51,0x1A,0x6B,0x36,0x74,0x3D,0x60,0x96,0x50,0x15,0xE1,0x59,0x32,0xF8,0x76,0x6C, -0x81,0x41,0x20,0x3D,0xA7,0xDB,0xF2,0x03,0x38,0x00,0xC7,0xC7,0x90,0x13,0xF4,0x21, -0x19,0xE4,0x82,0x4B,0xE7,0xAA,0x32,0xA9,0x22,0x7F,0x95,0x66,0x4A,0xCE,0x56,0xAE, -0x2F,0x03,0x26,0x31,0xED,0x1A,0xBD,0x2B,0xF8,0x8C,0x40,0x0C,0x83,0xB9,0x2A,0x8A, -0x67,0x1C,0x12,0xCC,0xD8,0xCA,0xD1,0x2C,0x24,0xC6,0x23,0x95,0xAF,0xDE,0x3D,0x29, -0x07,0x99,0xF1,0xF3,0xE8,0x91,0x5D,0x19,0x53,0xC7,0x87,0x7A,0xF4,0xA8,0x90,0xC4, -0x7B,0x3C,0x97,0x03,0x22,0x06,0x38,0x0B,0x4E,0x78,0x45,0x53,0xE1,0xEF,0x6F,0xCD, -0x44,0xEA,0x87,0x82,0xFE,0x33,0xA3,0x23,0x10,0xD9,0x6B,0x68,0xC5,0xA1,0x6B,0x70, -0xDD,0x60,0x16,0x9B,0x42,0x63,0x6D,0x7A,0x8B,0xF1,0x5E,0xB4,0x42,0xE7,0x45,0xB0, -0xF1,0x9C,0xBE,0xD7,0x40,0x6C,0x50,0x70,0x85,0x2F,0x48,0x26,0xDB,0x4D,0x79,0x33, -0x97,0x22,0xD4,0x11,0x87,0xCF,0x67,0xD8,0xFC,0xF0,0xFA,0x5B,0xE3,0xC9,0x7E,0xEE, -0x66,0x8E,0xDB,0x1D,0xE9,0x54,0x00,0x0F,0x20,0xBA,0x99,0xC2,0x9A,0x85,0x0D,0xA5, -0xC5,0x26,0xEC,0xDA,0x7D,0x03,0x8E,0xFF,0xE3,0x8A,0x34,0xD6,0x17,0xCC,0x21,0x58, -0x46,0xB7,0x71,0xF5,0x4C,0x9D,0x5F,0xDC,0xDC,0x45,0x37,0x70,0x66,0xA9,0x41,0x0D, -0x4E,0x14,0x0C,0xDF,0x50,0x8F,0x2E,0x64,0x04,0x73,0xEE,0xBE,0xCD,0x88,0x78,0x6E, -0xDA,0xC9,0x56,0xB3,0xF7,0x49,0x4C,0xBD,0x11,0xAB,0x8C,0xF6,0x20,0xB1,0x00,0xF7, -0xF7,0xA7,0x37,0x2E,0x5D,0xBB,0x7C,0xDE,0x3E,0xB2,0xB0,0xD1,0x8B,0x90,0x39,0x94, -0x3C,0x29,0x9E,0xFC,0x1E,0xAC,0xBB,0x92,0xB3,0xF5,0x0C,0x7F,0xF3,0x78,0xA5,0xA8, -0xC4,0xB4,0x25,0x0B,0x17,0xD6,0x54,0x0C,0x42,0x63,0x5F,0x65,0x04,0xFF,0x04,0x4A, -0xA0,0x57,0xB9,0xBA,0x19,0x28,0x66,0xAA,0x8D,0x48,0xE8,0x47,0x34,0x52,0x10,0x89, -0x7E,0xC8,0x21,0x5C,0xEA,0x9E,0x60,0x13,0x99,0xE2,0x6D,0x91,0xC0,0x57,0x4F,0x3F, -0x79,0x61,0x61,0x74,0xB5,0x9B,0xD6,0xE7,0x98,0x90,0x8A,0x0F,0x71,0xC8,0xAF,0x27, -0x2B,0x65,0x59,0xBF,0xE5,0xA5,0x0F,0xA3,0x09,0x1A,0x13,0x16,0xCA,0x58,0x4D,0x02, -0x7A,0xAE,0x5E,0xD2,0x3C,0x1B,0x74,0xB9,0xF0,0xEB,0xE0,0x6D,0xFE,0xA7,0x92,0xF9, -0x53,0xA6,0x40,0xC1,0x73,0xFD,0xBC,0x59,0x95,0xF9,0x77,0xA7,0xAD,0xF8,0x2C,0x0A, -0x93,0x44,0xAB,0x9F,0x76,0x76,0x5C,0x6B,0x6B,0xC3,0xD5,0xB1,0x9E,0xD7,0xC6,0x9D, -0x47,0x25,0xB8,0x24,0x1A,0xE2,0x06,0xB6,0x5A,0xD2,0xC0,0x85,0x97,0x5A,0x3A,0xF4, -0x9F,0x81,0xA9,0x3B,0x86,0x0A,0x3A,0xCE,0xDA,0xFC,0x81,0x83,0x16,0x68,0xCE,0x2F, -0x24,0x6F,0x64,0xBD,0xEF,0x15,0x80,0x21,0x7B,0x15,0xEA,0x30,0x87,0xEB,0xE1,0xB2, -0xF6,0x35,0xFE,0xFF,0x29,0x73,0xEA,0x9F,0x81,0x53,0xF2,0x71,0x82,0x1D,0xC5,0xFD, -0xD1,0xA5,0x14,0x3F,0xDE,0x8B,0x51,0x02,0xC5,0x86,0x4F,0x0E,0xBE,0xCB,0x09,0x18, -0xED,0xBC,0x3B,0x18,0x9A,0x18,0x4B,0x76,0x8F,0x8D,0xE4,0xE3,0x0A,0xA2,0xCD,0x4F, -0x61,0x27,0x9B,0x35,0x5A,0x3F,0xA1,0xE6,0x31,0x1E,0x41,0xDD,0x93,0x08,0xF1,0xCC, -0xBC,0x77,0x3C,0x75,0x8F,0x70,0xD5,0x50,0xC2,0x4D,0x1E,0x63,0x80,0x3B,0xD4,0xDE, -0x26,0x32,0x92,0xCA,0x8D,0x7F,0xE8,0x5A,0x76,0x7C,0x17,0x98,0x43,0x43,0xAA,0xC7, -0xE9,0xDA,0x44,0x96,0x9E,0x56,0xF6,0x52,0xE5,0x33,0x82,0x25,0x1F,0xE5,0x32,0x46, -0x2A,0xF7,0x90,0x6E,0xAC,0x02,0x47,0x6D,0x79,0xD0,0xE6,0x94,0x7B,0xC7,0xAD,0x1A, -0xAE,0xCF,0x4D,0x69,0x7B,0x42,0x0E,0xD1,0xFF,0x47,0x11,0x61,0x18,0x35,0x07,0x2A, -0xDC,0xF2,0xDF,0x4A,0xF9,0xB7,0x7E,0x1B,0x93,0x40,0xC1,0x54,0xA4,0x75,0xD0,0x63, -0x29,0x38,0xAF,0xC8,0x12,0x5D,0xB4,0x3E,0xE0,0x3D,0xDF,0xEC,0xFA,0xF5,0x59,0xC1, -0x9A,0x75,0x1F,0x64,0x15,0xD9,0x69,0x06,0xB7,0x89,0xB6,0x28,0xF6,0x8E,0x81,0xE7, -0x0B,0x5C,0xF3,0x57,0x9D,0x9C,0x96,0x4E,0x19,0xCC,0x2C,0x97,0x2A,0xBE,0x02,0xCA, -0xD8,0x94,0xA0,0xC4,0xA3,0x39,0x28,0xDD,0xAA,0x36,0x74,0x01,0x5B,0xDB,0x62,0x9F, -0xA6,0x6C,0x30,0x43,0x77,0xB3,0x01,0x7D,0xEB,0xED,0x94,0xB7,0xD3,0x64,0x6A,0x2D, -0x30,0xEC,0x9C,0x58,0xC0,0x96,0x1D,0xB0,0x8C,0x3A,0x0F,0xD9,0x4F,0x38,0x72,0xE1, -0x32,0xB1,0x6A,0x2F,0x44,0x22,0xED,0x54,0x48,0xC1,0xF3,0xA0,0x1D,0xC3,0x23,0x65, -0x89,0x5F,0xA7,0xA9,0xDC,0x84,0x6C,0x08,0x1B,0x09,0x20,0x33,0x58,0x59,0x9C,0xCB, -0x27,0xA0,0x5B,0x1B,0x06,0xF0,0x77,0x0E,0x83,0x96,0xFE,0xD5,0x56,0x04,0x55,0xCE, -0x3E,0x74,0x68,0x8B,0x60,0xD4,0xA2,0x51,0xDD,0x37,0xD0,0xEE,0x55,0x86,0xAB,0x9A, -0x69,0x84,0xE6,0x1F,0x34,0xA4,0xC6,0x31,0x62,0xD6,0x92,0x4E,0x6A,0xD2,0x99,0x2B, -0x6E,0x2D,0xA6,0x37,0x27,0x8D,0xD8,0x39,0x3D,0x05,0x5B,0xEB,0x3F,0xF9,0xFD,0xC3, -0x1C,0x10,0x34,0x14,0x36,0xAB,0xFB,0x3B,0x07,0xC4,0x05,0x84,0x91,0x2E,0xE0,0xEF, -0x2D,0x5E,0xD0,0x46,0xC7,0x12,0xC0,0x88,0x7F,0x69,0x50,0x67,0xE0,0x4B,0x80,0xBA, -0xC2,0x8F,0xAC,0xF2,0xA4,0xBD,0xF5,0xE5,0x2C,0xA1,0x83,0xF4,0x24,0xE3,0xCB,0xCF, -0xCD,0x85,0x91,0xF0,0xFB,0xB8,0x43,0x11,0x88,0x46,0xB5,0x8E,0xEF,0xB2,0xA6,0xC8, -0xFC,0xCB,0x75,0xA2,0xCF,0xAD,0x72,0x00,0xB1,0x30,0x00,0xDB,0x01,0x09,0x20,0x05, -0xBF,0xB8,0x03,0xD3,0xB9,0x6A,0xD9,0x4B,0x6F,0xBF,0x6F,0xE6,0xFD,0x25,0x6C,0xAD, -0x16,0xEE,0xBF,0x49,0x8C,0xBA,0xB5,0x4C,0x73,0x72,0x4A,0x51,0xAC,0x5C,0xC3,0x7D, -0xEC,0x2E,0xF2,0xC9,0x05,0x3A,0x17,0x12,0x39,0x79,0xE1,0xBC,0xE8,0x62,0x93,0xA4, -0x60,0xB5,0x52,0xE4,0x88,0xF4,0x08,0x68,0x13,0x6E,0x80,0x52,0x9B,0x21,0xE2,0xD2, -0x14,0xB3,0x49,0x3E,0x38,0x55,0xC9,0x9D,0x78,0xA2,0x01,0x0A,0xE9,0xC6,0x7C,0xD3, -0xB4,0xD4,0x41,0x5F,0x5E,0x71,0x1C,0xC2,0xB6,0xFB,0x51,0xB6,0xA8,0x0E,0x08,0x45, -0x10,0xD5,0x36,0xB0,0x48,0xD3,0xE2,0xF8,0x0B,0xDF,0x1F,0xB2,0x98,0xA3,0x1C,0x86, -0x98,0x28,0xE9,0x13,0x8A,0xFB,0x35,0x62,0xFA,0x49,0x4C,0xA8,0x0D,0x72,0xF8,0x23, -0x0D,0x67,0x7A,0xAE,0x89,0x31,0x55,0x7E,0x15,0xD7,0x36,0xA1,0xBB,0x3D,0x2D,0x57, -0x65,0x41,0xE4,0xBB,0x2B,0x7C,0xD7,0x95,0x1E,0x07,0x7D,0xFA,0x5D,0xAF,0xB8,0x84, -0xD8,0xD2,0xF2,0x3F,0x5D,0x9F,0xB7,0x84,0x39,0x80,0xE0,0x3B,0x6A,0x2A,0x1E,0xD2, -0x69,0x86,0xC0,0x00,0xBC,0x20,0x17,0xC6,0x6D,0xF0,0x84,0x5B,0x3D,0xA4,0xEE,0x46, -0x89,0x0D,0xC5,0x32,0x63,0x59,0x6A,0x74,0x85,0xD0,0x2E,0x62,0xDD,0xE5,0x35,0xF0, -0x8C,0x50,0x0C,0x3C,0xFC,0xC1,0x8C,0xAA,0x5F,0xA4,0x35,0x64,0x73,0x19,0xCA,0x42, -0xA3,0x6C,0x2B,0x25,0x50,0xCE,0x80,0x5B,0x99,0xC2,0x5F,0xDA,0x64,0xDE,0x86,0x01, -0x27,0x97,0x7A,0x77,0xAB,0x0A,0xF9,0xA7,0x1D,0x76,0xAF,0x3E,0x66,0x28,0xDB,0x76, -0xDD,0x8F,0x3B,0x31,0x5C,0xE8,0x58,0x20,0xFA,0x6D,0x6A,0xB7,0x8C,0xE2,0xFE,0x9D, -0x6F,0x30,0x33,0xB9,0x87,0xA9,0xEE,0xC0,0x2E,0xE7,0x43,0x17,0xF2,0x72,0x06,0x1A, -0xA5,0xDA,0xD8,0x9C,0xE3,0xF5,0x71,0xE2,0x4C,0x8D,0x2B,0x6C,0xCE,0x5D,0x1F,0x3D, -0x88,0xEA,0x5B,0x40,0xA6,0x5B,0xCE,0x78,0xC4,0xC8,0xD4,0x24,0x5F,0xB1,0x36,0x0E, -0x21,0x21,0x89,0xCE,0x2A,0xD1,0x0D,0x95,0xA0,0xE3,0x3C,0x71,0x88,0x9D,0x98,0x13, -0x83,0xA1,0x00,0x90,0x57,0xA2,0xB5,0x8B,0x4B,0x09,0xF6,0x54,0x7D,0xED,0x52,0x91, -0x58,0x93,0xF4,0x11,0xBA,0x3B,0xCD,0xB2,0xF5,0x56,0x05,0x07,0x7E,0xD2,0x9D,0x37, -0x68,0x61,0x5E,0x72,0x2D,0xBD,0x38,0x45,0x22,0x16,0x4C,0xBB,0xFA,0x0F,0xA5,0x30, -0x85,0x17,0xF3,0x29,0x16,0x34,0xC1,0x43,0xD4,0x2B,0xAA,0x30,0x72,0xD0,0x58,0x93, -0x04,0xB1,0x6B,0x75,0x59,0xA7,0x7C,0xD6,0xC7,0x02,0xB4,0x38,0xBD,0x06,0xB0,0xCF, -0x15,0x69,0x74,0xD1,0xBD,0x57,0xF8,0x62,0xD0,0x65,0x17,0x14,0x59,0x38,0x0D,0xF7, -0xC6,0xFB,0xE1,0x37,0x6D,0x5C,0xA3,0x29,0x72,0x28,0x95,0xFF,0x31,0xA6,0x2B,0xE2, -0xC4,0xF7,0x45,0xF2,0xB5,0x49,0xEB,0x4B,0x11,0x87,0xA0,0x92,0x44,0x74,0xBF,0xE9, -0x61,0x26,0xA1,0x67,0x23,0xB8,0xF1,0x18,0xD3,0xAF,0x77,0x08,0xCC,0xAB,0x42,0x4A, -0x91,0x92,0x25,0x83,0xC8,0x3A,0x53,0x55,0x61,0x01,0x8B,0xF7,0x40,0x0B,0xD9,0x67, -0x07,0x5A,0x51,0xC2,0x91,0xF4,0xEF,0x05,0x07,0x25,0x5E,0xA8,0xE0,0x03,0xBE,0x06, -0xE6,0x36,0xCA,0x82,0x13,0x7B,0xE5,0xB5,0x5C,0x6E,0x55,0x78,0xB8,0xB0,0x44,0x90, -0x90,0x75,0xBB,0xF1,0x04,0x51,0x0B,0xD4,0xD1,0xA0,0x4A,0x02,0x34,0x10,0xDF,0xBD, -0xEF,0x71,0x35,0x97,0xD5,0x2D,0xBF,0x3B,0xE0,0x3E,0x9B,0x21,0xEB,0x41,0xD2,0x8A, -0x3F,0x08,0x9A,0xC6,0x18,0x31,0x08,0x1E,0xD5,0xEE,0xF7,0x26,0x42,0xFD,0x84,0x10, -0x8A,0xE6,0xFF,0x85,0x2C,0xCA,0xD7,0xE1,0xA2,0xEC,0x01,0x7B,0x99,0xD3,0xEF,0xA9, -0x47,0x5D,0x79,0x6B,0x5A,0xF3,0x82,0x54,0x96,0xF9,0x30,0x6A,0xA8,0x37,0xA1,0xFB, -0xF8,0x1F,0xD9,0x8A,0x03,0x3D,0x3E,0x04,0x9E,0x46,0x82,0xE2,0x79,0x92,0x34,0x1F, -0x8D,0xB7,0x92,0x4E,0xCB,0x6E,0xAD,0xD7,0xFD,0xE9,0xB7,0x8F,0x96,0xEE,0xE5,0xAB, -0x81,0xAD,0xA4,0x55,0x6F,0x7F,0xB2,0x0F,0x7E,0xD9,0x9A,0x53,0x3A,0xE4,0x47,0x6E, -0xAD,0x7A,0xB9,0xFB,0xAE,0x45,0xDD,0x51,0x6F,0xFF,0xB9,0x51,0x48,0x76,0x7A,0x4D, -0xD6,0xC4,0x60,0xE1,0xD8,0x7C,0x88,0xE4,0x04,0xEF,0x3E,0xB4,0xA3,0x75,0xCD,0x77, -0xEA,0x2C,0xFC,0x99,0x9F,0xF1,0x26,0x58,0x47,0xF8,0xF9,0xF8,0x68,0xDC,0x43,0xA5, -0x2C,0xDC,0x21,0xA7,0x19,0x46,0xE7,0xBA,0x09,0xDB,0x6C,0x0E,0x1A,0x4E,0x7E,0x86, -0xB5,0xE5,0x59,0x4A,0xC1,0x53,0xAF,0xD8,0xAE,0x1D,0x0E,0xD7,0x8E,0x14,0xA3,0xEA, -0x1A,0x98,0x78,0x7D,0xE0,0xA1,0x8F,0x60,0x24,0x57,0xCC,0x95,0x91,0xAE,0x4C,0x83, -0x4F,0xFD,0x18,0x0C,0x2F,0x9E,0x29,0x63,0x15,0xC9,0x1D,0xB6,0x12,0x33,0xDD,0xAC, -0xAC,0x9D,0x27,0x89,0x9A,0xBE,0x02,0xAE,0xDE,0x9B,0x25,0xB2,0xC3,0x96,0x48,0x48, -0xE7,0xD1,0x54,0xF0,0xD0,0x62,0x9B,0xCD,0xB0,0x00,0x42,0x65,0x32,0x99,0xE4,0x44, -0xF2,0xB3,0x1C,0x28,0x9B,0xC9,0xED,0x0A,0x1B,0x37,0x2F,0x10,0x89,0x54,0x0A,0xC2, -0x71,0x19,0x20,0xB1,0x45,0xC7,0x7F,0x1C,0x19,0x38,0x12,0x1A,0xA5,0xFC,0xF6,0x8E, -0x8F,0xBB,0x36,0x8B,0x12,0x0C,0x0A,0x11,0x7B,0x52,0x7A,0x61,0x2F,0xD5,0x56,0x5A, -0x32,0xF5,0x32,0xAF,0xB3,0x52,0x31,0x3F,0xA7,0x67,0xE1,0x49,0x10,0xC5,0x80,0xDB, -0x6B,0x8A,0x64,0xC5,0xAC,0x66,0xCC,0x77,0x81,0x9E,0x93,0x46,0x33,0x50,0x76,0x95, -0x86,0xFC,0xC9,0x9E,0xAD,0x11,0x23,0xD3,0xB1,0xC5,0x1F,0x73,0x53,0xB3,0xF3,0xAA, -0xEC,0x9A,0x0F,0x20,0x15,0x60,0x3F,0xC1,0xBE,0xFE,0x70,0xC3,0x4D,0xC0,0x8E,0x12, -0xC8,0xED,0x73,0xE9,0xE6,0xBA,0x55,0x14,0xB4,0x4E,0xFF,0x41,0x7B,0x64,0x69,0x68, -0x8E,0x5C,0xA8,0xF9,0x74,0x73,0x84,0x15,0x03,0x6B,0xE3,0x8C,0x35,0xD9,0x4D,0x6C, -0x9C,0x6F,0x8D,0xEA,0x27,0x80,0x3A,0x4A,0xD6,0x24,0x97,0x3A,0xE8,0x7E,0x1D,0x2C, -0x5A,0x9F,0x50,0xD4,0xEC,0x87,0x57,0x1B,0x87,0xDF,0x13,0x68,0x85,0x56,0xCF,0x66, -0x0D,0xF6,0x94,0x60,0xE7,0xCD,0xBA,0xB0,0xC3,0x4C,0x09,0x1C,0xB9,0x79,0xD6,0x41, -0xF0,0xBF,0xB8,0xED,0x7F,0x39,0x69,0xBE,0xB6,0x41,0xC2,0x4B,0x70,0x26,0x05,0xE4, -0xBF,0x49,0x9C,0xE8,0x39,0xC3,0x28,0xA6,0x70,0x27,0xA8,0xF5,0xA2,0xBC,0x5F,0xA6, -0xB6,0x0E,0x63,0xFD,0xB8,0x18,0xDC,0x94,0x43,0xB6,0x44,0xDC,0x13,0xFA,0x4F,0x7D, -0x6D,0x3C,0x97,0x7C,0x96,0x98,0xDA,0xD5,0xDF,0x5E,0x78,0xA4,0xCB,0xEB,0xEB,0x62, -0x48,0xAC,0x75,0xC7,0x93,0xD7,0xFE,0x23,0x2A,0xA9,0xFE,0x33,0x07,0x02,0xCC,0x98, -0xDF,0x83,0x9F,0xF4,0xA9,0x29,0xE8,0x81,0x2F,0x22,0x1E,0x01,0xC7,0xE9,0x2E,0xC6, -0x40,0x0C,0x14,0xA0,0x70,0x4B,0x4F,0x47,0xBC,0xF1,0x4D,0xC9,0x7F,0x1B,0x0F,0xE6, -0xBB,0xF3,0xCB,0x94,0x81,0xB2,0x34,0xB4,0x65,0x4F,0x36,0xD3,0x2E,0x1C,0xC4,0x8B, -0x7D,0x03,0x16,0xAA,0x88,0xDB,0xC8,0x39,0xB3,0xCA,0x22,0x79,0x2A,0x63,0xA2,0x05, -0x65,0x9C,0xF6,0x1B,0xFA,0xDA,0x56,0xDE,0xEC,0xCF,0x94,0x8D,0x2D,0x23,0x0B,0x2D, -0x08,0xAB,0x5D,0x6E,0x09,0x00,0x3C,0x0B,0x4E,0x82,0x16,0x66,0x90,0x67,0xDE,0x52, -0xCB,0x06,0x49,0x5E,0x22,0xCF,0x1E,0xBC,0x40,0x7C,0x24,0xC0,0xF4,0xFB,0x3D,0xE3, -0x9A,0x88,0x6E,0x24,0xF2,0x56,0x52,0x6D,0x94,0x3B,0x0C,0x7C,0xA6,0x23,0xFF,0x05, -0x17,0x97,0x14,0xEA,0x7E,0x7B,0xC9,0xCD,0xE7,0x4D,0x7D,0x3F,0x8C,0xCD,0x9E,0x12, -0xA7,0x56,0xE1,0x4B,0x0A,0xA1,0xCF,0xD6,0x95,0x4C,0xE3,0xD8,0xE7,0x95,0x1F,0xDE, -0xC1,0x83,0xBE,0x6F,0xAA,0xC0,0xA8,0xDE,0xD4,0xDA,0x97,0x10,0x29,0x29,0x4F,0x87, -0xD7,0x7D,0x84,0xCD,0x0E,0x2F,0xA9,0xA9,0xE4,0x19,0x83,0xBD,0x94,0x2D,0x01,0xA3, -0x15,0xAA,0x1E,0xE5,0x86,0x8C,0x54,0x76,0x71,0xBC,0x67,0x6C,0x65,0x37,0x52,0x35, -0x16,0xCA,0x02,0x2F,0x13,0x31,0x1B,0xE5,0xC7,0xC8,0xB2,0x23,0x8A,0x3E,0x28,0xAB, -0xB4,0x48,0xE9,0x62,0x7B,0x24,0x3D,0x7B,0x21,0x1B,0x27,0xB1,0x81,0x65,0x63,0x7B, -0xB8,0x47,0x45,0x93,0x70,0xA8,0x51,0x39,0x43,0x5C,0x62,0xE7,0xA2,0x74,0x45,0x79, -0xA9,0x64,0x47,0xB5,0x02,0x8B,0x6C,0xAB,0xED,0x70,0x7F,0x30,0x98,0x1B,0x1B,0xB8, -0x58,0x5F,0xF4,0x0C,0x33,0xD9,0x22,0x4F,0x9C,0x25,0x1F,0x55,0xE0,0xF8,0x4E,0x15, -0x3B,0x6A,0x99,0xA3,0xDC,0x6D,0xF3,0x33,0x58,0x50,0x54,0xFD,0xB3,0x6B,0x9D,0xDD, -0x64,0xDC,0x6D,0xA6,0xD3,0x6F,0xF9,0x0E,0x93,0x57,0x39,0xAC,0x17,0x11,0xAB,0x3A, -0x50,0xED,0x7C,0xB3,0xE2,0x3D,0xB7,0xEA,0x7D,0x9A,0xBF,0x17,0x2E,0x44,0x1E,0x4C, -0x26,0x46,0x37,0x74,0xA1,0x4C,0xC4,0x9C,0x81,0x32,0xF3,0x3B,0xF0,0x79,0x71,0xC3, -0x13,0x2A,0x30,0xA4,0x08,0xD6,0x92,0x20,0xD0,0xE2,0x5C,0x42,0xEC,0xCE,0x54,0x0E, -0x3C,0xB7,0xA1,0x27,0xC6,0x5B,0xE8,0x3F,0x27,0x00,0xFD,0xC5,0x35,0x9E,0x6A,0x4A, -0xE8,0x9E,0x01,0xAD,0xB8,0xDC,0x10,0xAF,0xAF,0xB2,0xF5,0x7A,0x74,0x28,0x8A,0x91, -0x5F,0x82,0xCC,0x88,0x2E,0xC7,0x90,0x03,0x33,0x7E,0xED,0x26,0x13,0x46,0x11,0x46, -0xDB,0x72,0x28,0x3C,0x2C,0xB0,0xCD,0xF5,0x61,0xFA,0xBC,0xDD,0xD7,0x3F,0xED,0xBD, -0x43,0xF3,0x74,0x9A,0x97,0x36,0x23,0x38,0x24,0x54,0x03,0x47,0x84,0xAC,0x3E,0x75, -0x99,0xE8,0x72,0xEE,0x39,0x84,0xDC,0xC4,0x2A,0x51,0xCA,0x1A,0x1C,0x4A,0xE0,0xEA, -0xFF,0x3D,0x2D,0xCA,0x20,0x14,0x08,0xF7,0x29,0x05,0x34,0x98,0x42,0x71,0xCE,0x4B, -0xAB,0x59,0x4D,0xBA,0x77,0x80,0xF8,0x79,0x16,0xB4,0x06,0xCC,0xFD,0xD1,0x8C,0xAA, -0x12,0x77,0x26,0x61,0x38,0x55,0x4E,0x0D,0x3F,0x58,0x35,0x5D,0xE9,0x07,0x09,0x00, -0x01,0x69,0x2E,0x48,0xF7,0x09,0xA6,0xDB,0x63,0xD9,0xAD,0xFB,0x7A,0xBA,0x9C,0x4F, -0x33,0xD8,0x11,0x1C,0x34,0xF1,0x8B,0x0F,0x07,0x85,0x32,0xD9,0xE6,0x0B,0xF8,0xAC, -0xE4,0x91,0xAD,0x5C,0xB0,0xF6,0xB3,0xD2,0x64,0xB5,0x98,0x2B,0x60,0xFE,0x0F,0x3B, -0x66,0xE1,0x67,0xA9,0xC2,0xD5,0x8E,0x40,0xD8,0xFC,0x4F,0x6B,0x0C,0xCB,0xDF,0x3C, -0x8D,0x2B,0x42,0x43,0x37,0x57,0x44,0x30,0x86,0x5E,0xC6,0xEB,0x7F,0x73,0xC1,0x41, -0x8A,0xF6,0x7A,0xC7,0x84,0xFB,0x09,0x80,0x8A,0x78,0x1E,0x90,0x28,0xB7,0xA8,0xF5, -0x02,0x09,0x32,0x82,0x15,0xC8,0x20,0x6C,0x56,0x55,0x9D,0xA0,0x86,0x08,0x32,0xB0, -0x85,0x99,0xCA,0xFC,0x59,0xBB,0x59,0x27,0xEB,0x6B,0xA5,0x44,0xC5,0x1A,0xDE,0xAE, -0x19,0xA5,0xB2,0x14,0x81,0xA4,0xFD,0x36,0x6A,0xB0,0x51,0x76,0x45,0x1C,0x9F,0x80, -0x70,0x1F,0x5D,0x0B,0x3A,0x22,0x13,0xFB,0xFB,0x2D,0x7E,0xF5,0xE4,0xAF,0xF4,0x69, -0xB6,0x75,0xE3,0x6D,0xE8,0x60,0x49,0x61,0xFE,0x62,0x5A,0x03,0x1E,0xEE,0xEC,0x2F, -0x41,0xCE,0x7E,0x95,0xCF,0xA0,0xD9,0x8B,0xC2,0x87,0x96,0xD5,0x5A,0x91,0x51,0xFA, -0x05,0xD4,0x0A,0x06,0xF3,0x87,0xC0,0xA4,0x76,0xD0,0x52,0xBC,0x10,0x7C,0xFA,0xF1, -0xC5,0x3E,0x9A,0x21,0x7F,0xAA,0x5B,0x04,0xEF,0x53,0x6E,0x16,0xAE,0x42,0x5F,0x62, -0x10,0x4A,0x2C,0x6E,0xA2,0xEA,0x0B,0xA3,0xFC,0x41,0x4B,0x25,0x5D,0xFC,0x00,0x31, -0x88,0xCB,0x70,0xC8,0xDA,0x94,0xC8,0xBA,0x78,0xD5,0x9B,0xE1,0xDD,0xFA,0x41,0x1F, -0x86,0xF9,0xD6,0x36,0xBE,0x25,0x2B,0x26,0x48,0x16,0x8F,0x4C,0x12,0xD8,0xF6,0x34, -0x75,0xFF,0x6F,0x80,0x60,0xC3,0xB4,0xBE,0xBC,0xA0,0xD0,0x49,0x06,0x0E,0x73,0x9E, -0x2A,0x49,0x9B,0x85,0x67,0xEB,0x1D,0xFE,0x0D,0xB8,0x30,0xD6,0x07,0x90,0x94,0xEC, -0x7A,0x90,0xDF,0xBB,0x35,0x20,0x19,0xC6,0xB6,0x9D,0xD2,0x46,0x96,0x89,0x0D,0x66, -0xA3,0xEB,0xC5,0x05,0x64,0x4D,0xD2,0xC1,0x82,0x66,0x0D,0xB9,0x6F,0xF2,0xFE,0x97, -0xEC,0x23,0x25,0xE3,0x4D,0x5E,0xDA,0xDF,0xD1,0x95,0xB3,0xE6,0x0A,0x38,0x69,0x85, -0xE9,0xC3,0x17,0x68,0x8D,0x00,0x38,0x34,0xE2,0x02,0x59,0xC9,0xF4,0x2E,0xCB,0xBF, -0x18,0xF8,0xA4,0xD1,0x89,0x8E,0x5E,0x4B,0x9F,0x71,0xE1,0xD7,0x63,0xC4,0xE4,0x8C, -0x76,0x9F,0x73,0x4A,0x78,0x82,0xF2,0x44,0xE6,0x3A,0x92,0x9B,0xBF,0x5D,0x87,0xC6, -0xE2,0x11,0x83,0x1D,0xDB,0x45,0x5A,0x73,0x6B,0xC7,0xBE,0xD2,0x7C,0x49,0x2A,0xF6, -0xD3,0xC0,0xA0,0x83,0x58,0x6A,0xCB,0xEE,0x1A,0x92,0xDE,0xB7,0x43,0xEF,0x29,0x39, -0xCF,0xB1,0x18,0x91,0x50,0x40,0x68,0x93,0xB1,0xF1,0xE7,0x96,0x9B,0x21,0xF0,0x0F, -0x68,0xD3,0xC1,0x57,0xC4,0x2C,0xB5,0xC9,0x5C,0x68,0x9F,0xAF,0x8E,0x69,0x92,0xD7, -0xC2,0xE3,0xA2,0xA5,0xE9,0xB1,0xDB,0xA8,0xF7,0x0B,0xA6,0x8E,0xA1,0x4E,0xAE,0xCE, -0x81,0x24,0xEE,0xB2,0x22,0x63,0x55,0x01,0x8F,0x37,0x3A,0x66,0x2C,0xE0,0x12,0x89, -0x78,0xAD,0xD5,0xB4,0x07,0xD4,0x98,0x1D,0x36,0x31,0xC9,0xD0,0xBD,0xF9,0x8B,0x03, -0x72,0x22,0x57,0x04,0x31,0xAE,0x7F,0xB9,0xFF,0x15,0xB5,0xA7,0x67,0x93,0x5E,0xF0, -0x47,0x4E,0x50,0xD4,0x79,0x53,0x60,0x8D,0xD3,0xB6,0xA2,0xC0,0xBB,0x0A,0x3D,0xBA, -0x77,0xC2,0x65,0x8F,0x19,0x6C,0xE5,0x6E,0x88,0x5B,0x0F,0xB6,0xCC,0xE5,0x99,0xBB, -0xBD,0xA7,0x77,0x18,0x65,0x9C,0x40,0x08,0x9D,0x52,0xF0,0xF1,0xD1,0xCC,0x5B,0x04, -0x61,0x3C,0x5F,0x2D,0x5A,0x1D,0x96,0x18,0xB9,0xEF,0xF4,0xBF,0x8F,0xF7,0x75,0xA5, -0xDD,0xF2,0x06,0x7D,0xC3,0x04,0x1C,0x89,0x3E,0x2F,0xDA,0xF9,0x14,0x2B,0x40,0x8D, -0xDF,0xCF,0x0C,0x72,0xEF,0x48,0xE0,0x21,0xA7,0xAC,0xE6,0x53,0x1A,0xB9,0x56,0x53, -0x5C,0x50,0x66,0xC8,0x92,0xCA,0xB4,0x1E,0x8E,0x7E,0xAA,0x1D,0x99,0x67,0x5A,0x8D, -0x07,0x5B,0x2D,0x18,0x74,0x19,0x26,0x8B,0xA8,0x16,0x34,0x08,0x1B,0x2A,0xB1,0x2F, -0x0E,0xB4,0x57,0x86,0xC2,0x6D,0x69,0x5E,0xE7,0x83,0xA7,0xB5,0x7B,0xE0,0xAD,0x2C, -0x14,0x45,0x04,0x10,0x57,0xC8,0xB8,0xBA,0x1A,0x0B,0x78,0x16,0xAC,0xC8,0x37,0xEE, -0x10,0xF8,0x4A,0x34,0x67,0x0B,0x15,0xAE,0x1B,0xAF,0x0F,0xF9,0x52,0x6A,0x0D,0xF8, -0xAC,0x36,0x1A,0x6D,0x26,0x9D,0xDD,0xDA,0x7C,0x0F,0x07,0x98,0x87,0x4E,0x52,0x9E, -0xF4,0x5D,0x9B,0xA1,0x54,0x9C,0x3A,0x44,0x7A,0x7B,0x1C,0x42,0x46,0xEF,0xA7,0x2E, -0x1A,0x77,0xFA,0xB6,0x27,0xEA,0x79,0x35,0xE1,0xF7,0xBC,0x6F,0x59,0x21,0xDD,0xA3, -0xF7,0x3D,0x51,0xBD,0x63,0x33,0x47,0x65,0x21,0x0D,0xF1,0xEF,0xFB,0xA1,0x83,0x2A, -0x40,0x21,0x74,0x70,0x32,0xE3,0x3E,0xCA,0x77,0xA4,0x4D,0x75,0x97,0x71,0x84,0x1F, -0x7D,0xFF,0x1B,0xFF,0xCE,0x4B,0x12,0x86,0x04,0xE7,0x3B,0x04,0x3C,0xB6,0xCF,0x69, -0x28,0xC6,0xAE,0x89,0x20,0x86,0xA9,0x00,0x4A,0xD6,0xDF,0x56,0x0D,0xA3,0xDE,0x5D, -0x52,0x62,0x98,0x6E,0xEB,0x81,0xF8,0x6D,0x40,0xD9,0xE2,0x54,0xBB,0xA6,0x2A,0x02, -0xC1,0x31,0x4B,0xA6,0x2F,0xF4,0x50,0x26,0x91,0x36,0x9E,0xE0,0x8E,0x09,0x47,0x61, -0x22,0x49,0x1E,0x0B,0x5E,0xA1,0x35,0x46,0xDF,0x07,0x7A,0xB2,0xB5,0xB0,0xF4,0x90, -0x4D,0x73,0x40,0xCA,0xF0,0x8D,0xE2,0x5B,0xE2,0x75,0xE8,0x91,0x96,0x96,0xF6,0x81, -0xE8,0x2C,0x89,0x19,0xA5,0x65,0xC9,0x3F,0x4B,0x72,0xA8,0xB9,0x88,0xBF,0xFE,0x92, -0x48,0x93,0xCB,0xF8,0x9A,0xD4,0x9D,0x0D,0xBB,0x25,0x26,0x2D,0xEC,0xCF,0x9E,0xC6, -0x73,0xCD,0xE5,0x59,0x99,0x80,0x1F,0xF3,0x6F,0x3C,0x15,0xBD,0x39,0xEB,0xC1,0xA0, -0x95,0x55,0x3B,0xC6,0x97,0x85,0x42,0x3A,0x90,0x92,0xE9,0x0F,0x22,0x9F,0xC7,0x7A, -0x06,0x06,0xE8,0x0E,0xD2,0x2B,0xD8,0x85,0x7E,0x29,0x24,0x89,0xA3,0x39,0x9B,0xE2, -0x7F,0xC2,0x14,0xF5,0x80,0xAF,0x23,0xD4,0x23,0x2B,0xD2,0xFE,0x53,0x8D,0x7F,0x66, -0x11,0xA5,0x8F,0x22,0x1C,0x63,0x7F,0xCC,0xA3,0xBD,0x7E,0xE5,0x4F,0xA8,0xB2,0xD1, -0xA7,0xE4,0x6F,0xF9,0x94,0xD1,0xC0,0xC4,0x5B,0xC3,0xEE,0x62,0x66,0x22,0x12,0x05, -0x31,0x57,0x37,0x03,0xE5,0x84,0xA5,0xA4,0x93,0x10,0xBD,0xF1,0xD8,0x87,0x81,0x3B, -0x8E,0xF9,0xAD,0x46,0x39,0xA9,0x95,0x27,0xBA,0x81,0x51,0xC2,0x27,0xC2,0xC9,0xB3, -0x4A,0xAE,0xC4,0xF2,0x35,0x8F,0xEE,0xFF,0xF7,0x32,0xE1,0x6E,0xFA,0x46,0xF1,0xB4, -0xF2,0xDD,0xDA,0x8F,0x6B,0x2D,0x6E,0x76,0x3D,0xC7,0x91,0xEC,0x30,0xAC,0xD4,0x5F, -0xC7,0xB1,0x0A,0x88,0xD7,0x64,0x2E,0xA1,0x00,0xB5,0x03,0xCF,0x40,0x59,0x1E,0xDD, -0x32,0x37,0xFD,0x1F,0xB4,0x54,0xDC,0x0B,0x38,0x31,0xDE,0xC8,0x09,0x19,0xA2,0x0A, -0x83,0xAB,0x99,0xFC,0xD0,0x08,0xFE,0x94,0x15,0xF2,0x0A,0x30,0xB8,0x4D,0x9D,0x38, -0x3E,0x38,0x0C,0xB3,0x8C,0x89,0x58,0x0C,0xFD,0x3D,0xDC,0x6C,0xA6,0x64,0x95,0x2B, -0xC5,0x8C,0x05,0x82,0x4F,0x90,0x20,0x72,0xB8,0xA7,0x72,0xD3,0x9B,0x6B,0x9F,0x29, -0x7B,0x7F,0x5A,0xD1,0x5C,0x82,0x13,0x57,0xE8,0x7A,0xD5,0x93,0xEF,0x24,0x29,0xFC, -0x45,0xC1,0xFF,0x42,0xC5,0x01,0xB9,0x6B,0x73,0xF6,0x75,0xBE,0x05,0x03,0xB9,0x3C, -0xA8,0x8B,0x54,0x49,0x71,0x56,0xD0,0xAF,0x6A,0xCA,0x5A,0x99,0x1F,0x90,0xCD,0x78, -0xD7,0xCF,0xE9,0x9C,0x4D,0xB3,0x06,0x63,0xFA,0xED,0xB0,0x59,0xA4,0x68,0x50,0x8F, -0x96,0x35,0xF1,0xDA,0x48,0xFC,0xF0,0x47,0xA0,0x3F,0x2A,0x1B,0xCE,0x0E,0xEE,0x49, -0x25,0x94,0x9A,0x33,0xD9,0x61,0x73,0x68,0x4E,0x84,0xE7,0x9D,0x74,0x11,0x01,0x20, -0x23,0x14,0xDB,0x1D,0x58,0xBA,0x41,0x9C,0xEA,0x5C,0xF6,0x82,0x48,0xF9,0x79,0xBC, -0x17,0x25,0xCE,0x0C,0x51,0xD3,0xCC,0x60,0x8B,0x88,0xE5,0x39,0x12,0x6D,0xA4,0xD0, -0x01,0xDB,0x6C,0x36,0x62,0x44,0xE3,0x8A,0x69,0x48,0x0E,0x67,0xF2,0xE6,0x96,0xD5, -0xCB,0xBE,0xFB,0x24,0x31,0xB7,0xBC,0x34,0x61,0x61,0x10,0x74,0x3A,0x00,0x76,0x9A, -0xB0,0x47,0x08,0xD5,0x05,0x4C,0x43,0xEB,0xAA,0x30,0x17,0x19,0x41,0xBE,0x6C,0x43, -0xA9,0xD6,0x91,0x5F,0xBE,0x69,0xD3,0x09,0xAE,0x62,0x2F,0xD2,0x98,0x80,0x28,0x13, -0x37,0xD7,0x76,0x2D,0x0F,0x71,0x4C,0xE9,0x07,0x65,0x6F,0xFA,0x2E,0x85,0xDC,0x4C, -0xE1,0xC3,0xF3,0x87,0xFB,0xC7,0x49,0xB6,0x98,0xBB,0xF7,0x1C,0x28,0x33,0x65,0xBF, -0xC3,0x0C,0x44,0xAC,0xCB,0x04,0xE4,0xA2,0x7B,0xDF,0x6B,0xAD,0x1A,0xCD,0xC3,0xB1, -0xD9,0xFD,0x17,0x3A,0x3C,0xE6,0x63,0x03,0xE6,0x27,0xD0,0x5A,0xF5,0xB7,0x5D,0xB8, -0x77,0x70,0xAB,0x7D,0x44,0xDA,0x8B,0x9F,0x68,0xEC,0x79,0x88,0x32,0xA0,0x11,0xFB, -0x50,0x5F,0x97,0x64,0xEF,0xB9,0xAA,0xA6,0x06,0xC1,0x18,0x15,0x02,0x52,0x72,0x51, -0x18,0x4A,0xF5,0xBC,0x02,0x20,0x93,0xDE,0xDB,0x55,0x42,0x79,0x60,0x94,0xAB,0xF6, -0xD6,0x92,0x2C,0x8A,0xA9,0x43,0xB2,0xE7,0x78,0x5D,0x3F,0x53,0x11,0x86,0x13,0xEA, -0x70,0xAD,0x2F,0x45,0xD8,0x16,0xD7,0x87,0xE9,0xDE,0xA2,0x7C,0xC0,0x18,0x30,0xDB, -0x64,0x6E,0x82,0x75,0x55,0xEB,0x9E,0xAB,0x41,0x7D,0x95,0xBB,0x4E,0x4F,0xC0,0x4F, -0xFD,0xB2,0xE1,0x3F,0x2C,0xA0,0xD2,0xD8,0xED,0x8C,0x9A,0xB7,0x29,0xD4,0x17,0x21, -0x80,0xCB,0x53,0xE0,0x14,0x7D,0x56,0xDF,0x53,0xEA,0xF0,0x71,0x1E,0x77,0xBF,0xE6, -0x12,0xC5,0x45,0x3E,0x8D,0xFE,0xFC,0xE3,0xAF,0xC6,0x58,0x3D,0x23,0x78,0xB5,0xE4, -0xCE,0x5E,0x70,0x16,0x0A,0x3E,0xBA,0xCD,0x25,0x5F,0xC9,0x24,0xED,0x28,0xEC,0x58, -0xF5,0x00,0x5E,0xB7,0x2E,0x83,0xF4,0xC9,0xF3,0x60,0xD9,0xA5,0x76,0x1D,0xC4,0x84, -0xDC,0x1D,0x9C,0x08,0x3B,0x8A,0xB3,0x36,0x56,0x1C,0xBF,0x55,0x13,0x8A,0xD6,0x4E, -0x33,0x6A,0x38,0x09,0x60,0x67,0xC5,0x9B,0xD3,0x7C,0x5C,0x6A,0x9F,0xD1,0xE3,0x7E, -0xAA,0xB6,0x5B,0x43,0x4C,0xC4,0xA2,0x8C,0xCC,0x34,0x68,0x97,0xF3,0x01,0xE4,0x4B, -0xC0,0x6C,0x8E,0xB0,0x85,0xE0,0xD5,0xF0,0x2B,0x02,0xCC,0xED,0x7C,0xB1,0x66,0x41, -0x40,0xE0,0xB0,0x2A,0xE6,0x1A,0x59,0x67,0x61,0xBB,0xBB,0x90,0x0C,0xA7,0x44,0x5D, -0xF6,0x35,0xC4,0x65,0x3B,0x5A,0xFE,0x37,0x52,0xA9,0x9E,0x83,0xB2,0x54,0x1B,0x0E, -0x66,0xF5,0x2E,0x42,0xB7,0x77,0x5E,0xAC,0xF8,0x2A,0xA2,0x1A,0x8C,0xEA,0xBE,0x9D, -0x12,0xB1,0x34,0xD1,0x8B,0x50,0x71,0xB5,0x91,0x7D,0x66,0xAE,0x61,0xA0,0x15,0x96, -0x8F,0x46,0x8F,0x29,0xAC,0x90,0x9B,0x25,0x47,0x98,0xAA,0x92,0x1E,0xE4,0xA8,0x43, -0x31,0x80,0xE5,0x4F,0x7E,0xD2,0x01,0x7F,0xB1,0xD7,0x8E,0x97,0x5F,0x1E,0xB0,0x05, -0xDE,0xE9,0x5F,0x50,0xC5,0x54,0xCC,0x91,0x32,0x4A,0xA1,0x06,0xEC,0xBF,0xDB,0xEC, -0xA6,0x75,0x63,0xB8,0x1D,0x4B,0xDD,0x35,0x00,0x91,0x55,0x87,0xEA,0x3F,0x9A,0xC2, -0x7B,0x19,0x39,0x2C,0xC9,0xF0,0xCE,0x54,0x8D,0xF8,0xA9,0x8E,0xDE,0x0E,0x8F,0xD3, -0x49,0x1C,0xD9,0xA7,0x09,0xAE,0x25,0xB6,0xA2,0x6F,0x43,0xBD,0xC8,0xF0,0x2D,0xE9, -0xA9,0x53,0x11,0x41,0x20,0xBD,0x3B,0xBE,0xFD,0x9C,0xFD,0xEE,0x02,0x95,0xBA,0xFB, -0xB3,0x8A,0x6A,0xFF,0x71,0xD0,0x3C,0x75,0x02,0x67,0x22,0xDA,0x79,0x6C,0x49,0x0A, -0xF7,0xDA,0xB3,0xC1,0x23,0x1B,0x04,0x71,0x92,0x42,0xC0,0x61,0x60,0xFD,0xD0,0x80, -0x03,0x85,0x05,0xC4,0x24,0x33,0x44,0xD8,0x0D,0x5A,0x20,0xD0,0xFE,0xFC,0x37,0xF2, -0xBA,0x76,0x03,0x72,0xFA,0xD5,0xDC,0x47,0x08,0xEC,0x7F,0x24,0x28,0xE8,0xB2,0x58, -0x1C,0x78,0x31,0x8C,0x9E,0x64,0x40,0xA4,0xA5,0x2F,0x6B,0x14,0x0A,0x27,0x05,0x73, -0x82,0x71,0xDE,0xF6,0x66,0x93,0xFB,0x39,0x22,0xCD,0xCA,0xE3,0x10,0xD6,0x56,0xE5, -0xCE,0x32,0x19,0xE1,0xAD,0x41,0x52,0xB7,0xCA,0xF1,0x56,0x9B,0xBE,0x5B,0xEA,0xA2, -0xAD,0x98,0x29,0x13,0x80,0xDC,0x33,0xD9,0xEB,0x92,0x6F,0x30,0x99,0x74,0xD6,0xBB, -0x74,0x3F,0x4B,0xD5,0x14,0xB0,0x69,0x04,0xD2,0x0B,0x17,0xDD,0xD1,0x61,0xB4,0x63, -0xCC,0x23,0x3A,0xC7,0x1C,0x9A,0x14,0xA7,0xF3,0x68,0x2E,0x76,0x1F,0xB9,0x6D,0x55, -0xEF,0x12,0xEB,0x59,0x9F,0xB5,0x89,0x36,0x96,0x3D,0x4E,0x07,0xB9,0x86,0x6E,0x9A, -0x1F,0x86,0x65,0x0E,0x3C,0x72,0xBE,0x9E,0xDF,0xC0,0x62,0x8A,0xAD,0x45,0xC3,0xAA, -0xC8,0xE8,0x02,0x95,0xCD,0x7E,0xB1,0x32,0x93,0x8B,0x11,0xF3,0x34,0x99,0xA0,0xE0, -0x60,0x2F,0x35,0x36,0xAB,0xB8,0xDB,0x8C,0x17,0x56,0x16,0xCB,0x49,0xE0,0x12,0x3F, -0x6A,0x2D,0x08,0x39,0x87,0xF4,0x73,0x70,0xBD,0xD5,0x2A,0x52,0xDB,0xEE,0x04,0xE1, -0x33,0x91,0xC6,0x69,0x1E,0xED,0xE2,0xFA,0xFB,0x15,0x04,0xD5,0x07,0x75,0x31,0xC9, -0x1B,0x4D,0x5D,0x5C,0x21,0x6C,0xF2,0x2C,0xB5,0xA8,0x00,0xF1,0x3C,0x2B,0x1F,0x68, -0x09,0x87,0x38,0xCB,0x5D,0x9C,0x94,0x89,0xF2,0xA1,0xFF,0xE4,0x15,0x36,0xDD,0xD7, -0x3C,0xB7,0xB4,0x90,0x3D,0xA3,0x77,0x0C,0x84,0x4C,0x52,0xBF,0xFA,0x41,0x79,0xD6, -0x3B,0x82,0xD8,0x40,0x75,0x5E,0x43,0x13,0xE3,0xEF,0x45,0x93,0x63,0x9D,0x1A,0x9C, -0xB9,0x88,0x57,0xF0,0x43,0x24,0xE7,0xF4,0x94,0xCB,0x39,0x5A,0x09,0x47,0xCF,0x6F, -0x85,0x44,0xB2,0x26,0x3F,0xD4,0x81,0x51,0xF5,0xE1,0xD7,0x4D,0x95,0x7B,0x27,0x17, -0x6E,0xE6,0x30,0x6B,0x57,0xC1,0x1F,0x77,0x67,0x32,0x42,0xAB,0xCE,0x70,0x6C,0xC7, -0x72,0xE5,0x50,0xA1,0xC2,0x7C,0x8C,0x38,0x28,0x46,0x97,0x1D,0xC7,0x9F,0x16,0x59, -0xE8,0x27,0x87,0x89,0x4A,0xDF,0x53,0xC5,0xF9,0xE3,0x73,0x88,0xDD,0x6E,0x45,0xCF, -0xD2,0x31,0x79,0x2B,0xEE,0x30,0x24,0xC4,0x54,0x20,0x67,0xB8,0xD9,0xD3,0x0B,0xEB, -0x8D,0x57,0xAC,0x0F,0x4E,0x51,0x2C,0xA3,0x9C,0xB6,0x13,0xF9,0x65,0x1D,0x5B,0xB2, -0x78,0xE7,0x6D,0xAE,0x3A,0x8B,0x37,0xA5,0x7B,0xB7,0x8D,0x8B,0x3D,0x76,0xDA,0x7E, -0x02,0x6A,0x72,0x60,0xB6,0xA6,0x97,0x3E,0x38,0xC1,0xFC,0xF8,0xD3,0x5C,0xBB,0x69, -0x5C,0xE3,0xD0,0xE0,0x4C,0x26,0xDA,0xFE,0x06,0x18,0xAC,0xBC,0x3E,0x16,0x10,0x62, -0x5B,0xD6,0xBC,0x30,0xE5,0xBC,0x66,0xA8,0x7F,0xC8,0x03,0xED,0x89,0x0A,0x35,0xAF, -0x10,0xA0,0x17,0xF7,0xA6,0xCD,0x10,0xDB,0x53,0x60,0x4F,0x11,0xB4,0xD4,0x5A,0x20, -0x01,0x94,0x26,0xE2,0x97,0x9F,0xF4,0x95,0xE8,0xAD,0xC9,0xFF,0xE1,0xED,0xEF,0x56, -0xF5,0xCB,0x90,0xE7,0x98,0x9D,0xC9,0x9F,0xB9,0xAA,0xA4,0x34,0x9B,0x49,0xD9,0xB1, -0x98,0xA8,0xA5,0x48,0x77,0x29,0xB5,0x4E,0x11,0xDF,0xEF,0xF0,0x08,0x1A,0x0A,0x79, -0x2B,0x59,0x9E,0xF1,0x46,0x7B,0x51,0x00,0x74,0x8A,0x8F,0x81,0xEB,0x62,0x5F,0xD4, -0x29,0x48,0xBD,0xD7,0x34,0x58,0xC3,0x3D,0xA3,0xA6,0x92,0x2F,0x84,0x58,0x01,0x15, -0x21,0x5B,0xA3,0xFE,0x33,0x70,0x83,0x94,0x88,0x4E,0xF6,0x7A,0x21,0x07,0xC8,0xC6, -0x41,0x0F,0xC7,0x8E,0x64,0xE4,0x0D,0x64,0xDC,0xFF,0xC4,0x45,0x81,0xB8,0x8A,0x27, -0x1E,0x69,0x12,0xAA,0x7D,0x74,0x3E,0xB0,0x5E,0xAB,0x3A,0x46,0xBA,0xE6,0xA4,0x86, -0x18,0xB3,0x09,0xDE,0xD3,0xC6,0xC2,0x4F,0x03,0xAE,0xF3,0x48,0x5C,0x7E,0x7A,0x19, -0x44,0x2B,0x88,0x78,0x68,0x40,0x0F,0xA1,0x99,0x00,0x4C,0x0D,0xCF,0x2D,0xA9,0xD1, -0xA0,0xAF,0x78,0xCC,0x6A,0x37,0xF9,0xFC,0x62,0x84,0x1D,0x5F,0xB6,0xE9,0x55,0x2A, -0x6D,0x18,0x64,0xE9,0xFC,0x2C,0x55,0x7C,0x3E,0x48,0x05,0xC3,0xD8,0x8E,0xCE,0xFD, -0xCD,0xCC,0x4D,0x63,0x82,0xAB,0xC5,0x84,0x81,0xFA,0x0D,0x4B,0x6E,0xCF,0x2E,0x26, -0x5E,0xF2,0xF3,0xC6,0x51,0x38,0x96,0x4C,0xE4,0xAF,0x6D,0x3A,0xF8,0x7C,0x76,0xDC, -0x16,0x7A,0x0C,0x83,0xC0,0x0B,0x7A,0x65,0xD4,0x82,0xEE,0xE6,0x47,0xD2,0xEC,0x99, -0x2E,0x7D,0xD1,0x07,0x73,0xA7,0xCA,0x28,0xAF,0xA4,0x36,0xEA,0x83,0x85,0x85,0x2D, -0x0B,0x96,0x1B,0xED,0x86,0x25,0xBA,0xE2,0x2F,0x06,0xBF,0xB4,0x3B,0xF6,0x9B,0x50, -0xC1,0x14,0x6B,0x18,0xF4,0x06,0x28,0xDF,0x6F,0x4F,0x68,0x08,0x0E,0x9A,0x4B,0x57, -0x7D,0xC3,0x22,0x58,0x70,0x01,0xF5,0xE7,0x9D,0x7F,0xC2,0x6B,0xFB,0x1C,0xBC,0xC0, -0x42,0xF1,0x93,0x0C,0xB3,0xF9,0x21,0xCA,0xBF,0x23,0x5D,0x0F,0x4A,0x80,0xD8,0x23, -0x4A,0xE2,0x8D,0x25,0x7C,0xA5,0xF7,0x22,0x19,0xA2,0xC5,0x53,0xF7,0x13,0x4D,0x6C, -0x47,0x17,0x4B,0x59,0xE9,0x5A,0xE7,0xF4,0xF9,0x66,0x8C,0xCB,0xB9,0x56,0x75,0x90, -0x71,0xF0,0x31,0xFD,0x66,0xD8,0xED,0x44,0x23,0x0C,0x7F,0x1E,0x70,0x2A,0x51,0xE7, -0x39,0xEF,0xCC,0xC9,0x0A,0xDF,0xD8,0x94,0xFF,0x95,0x35,0x7D,0x5C,0x3D,0xF2,0x80, -0x59,0x6A,0xF3,0x2A,0x86,0xEA,0xE8,0xCF,0x88,0x7A,0x34,0xD9,0x07,0x90,0x1F,0xF6, -0x25,0xCF,0x03,0x4C,0xE3,0xF8,0x22,0x58,0x95,0x53,0x8B,0x1B,0x12,0x6F,0x16,0xB1, -0x1A,0x19,0x82,0x5C,0x78,0xD0,0xFE,0x6D,0xCB,0x68,0x2A,0x35,0x36,0x6B,0xAB,0xFF, -0x83,0x93,0x9B,0xCD,0xB6,0x89,0x42,0x3D,0x50,0xB4,0x02,0x00,0xB1,0x45,0x6B,0xB9, -0xAF,0x6F,0xD7,0x65,0x8B,0x83,0x40,0x32,0x5E,0x26,0xDC,0x16,0x28,0x79,0xE8,0x13, -0xC9,0xD1,0x11,0x0F,0xBC,0x2B,0x87,0x91,0x27,0x5B,0x03,0xA4,0x10,0x7E,0x35,0x97, -0x38,0x7D,0x1D,0x00,0xDB,0xFC,0xE9,0x0A,0xFB,0xC2,0x49,0xC7,0x69,0x0D,0x7E,0xDB, -0x9B,0xD5,0xDA,0x37,0x55,0x0C,0x7D,0x5D,0x38,0xD6,0x79,0x6A,0xE4,0x21,0x83,0x92, -0x18,0x44,0xF5,0xAA,0x84,0x2F,0x4C,0xC3,0x07,0x70,0xB6,0x69,0x95,0x41,0xD6,0xF7, -0x10,0xE7,0xDF,0xD7,0xF5,0x97,0x50,0xD1,0xDF,0xBE,0x80,0xB0,0x3E,0x78,0xB5,0xD6, -0x84,0x3A,0xB3,0x8D,0x97,0x4E,0xF7,0x17,0xCA,0xF6,0x58,0xD2,0xD3,0x00,0x2C,0xEF, -0xA9,0x54,0x2E,0xEC,0xA7,0x2D,0x5D,0xE5,0xE5,0xD1,0x41,0xEE,0x78,0x39,0x4F,0xCE, -0x62,0xDA,0xFC,0x45,0x60,0x61,0x1E,0xF2,0x68,0x7F,0x06,0x52,0x00,0xA5,0x73,0x26, -0x9A,0x47,0x0B,0xFE,0x8F,0xFF,0x17,0x88,0x99,0x65,0x90,0x01,0xF7,0x04,0x91,0xA1, -0xFE,0xA4,0xBA,0x62,0xBD,0x59,0x19,0x76,0x56,0x47,0xBB,0xB6,0xC7,0x10,0x52,0x0C, -0x20,0x3B,0x5C,0xFA,0xBB,0xE0,0xEA,0xC0,0x42,0x91,0x11,0x33,0x33,0x4F,0xE4,0x09, -0x27,0x92,0x74,0xBA,0x0D,0x14,0xB5,0xC5,0x43,0x0F,0x63,0xD4,0x82,0xAF,0xFC,0x96, -0x75,0x96,0xBF,0x82,0xD4,0x50,0xE5,0xFB,0xD2,0x16,0xE9,0x4D,0x39,0x4D,0xD9,0x06, -0x24,0x5D,0xD2,0x85,0xAF,0x4A,0x3C,0x45,0x2B,0x6D,0x18,0xBE,0x0D,0x92,0x22,0xF9, -0x0D,0x55,0xC1,0x9B,0x67,0xAA,0x73,0xA3,0x4E,0xA7,0x0A,0x29,0x5E,0x2C,0xD1,0xA6, -0xCD,0xB7,0x9F,0x70,0x87,0x98,0x76,0x28,0xB0,0xB1,0x30,0x8B,0x6D,0xC6,0x46,0x89, -0x19,0xD6,0x24,0x63,0xDD,0x45,0x1A,0xBC,0x81,0x85,0x21,0x9E,0x64,0x3A,0x2F,0x04, -0xC1,0x72,0x3B,0x72,0xE1,0x3D,0x86,0x54,0x01,0x83,0x0F,0xDF,0xE5,0xCE,0xF4,0x36, -0x7A,0x9C,0xBD,0xBF,0x5B,0xD2,0xEF,0x4B,0xA0,0x30,0xE6,0xB4,0x74,0xE1,0x69,0xB5, -0xA8,0xC6,0xFF,0x25,0x31,0x6C,0x29,0x2D,0x5A,0x71,0xA0,0xAC,0x71,0xC5,0x26,0x43, -0x8F,0x56,0x3F,0xCF,0x8A,0xF1,0xDE,0xD5,0x1E,0x0E,0x75,0x11,0x4D,0x09,0xC3,0x95, -0xB3,0x4F,0x18,0xE0,0x90,0x85,0x9A,0x46,0x54,0xE3,0x7E,0xBA,0xF9,0xCD,0x94,0xFC, -0x3F,0xD4,0x35,0x40,0x7A,0x15,0x5A,0x61,0xEA,0xDD,0xED,0x1F,0x60,0xF1,0x17,0x56, -0xE2,0x84,0x75,0xE7,0x0E,0xA3,0x8F,0x2E,0x19,0x63,0xBE,0x40,0x73,0xD4,0x05,0x65, -0x78,0xC1,0xCA,0x49,0x33,0xA9,0x8D,0x21,0xAD,0x98,0x8F,0x49,0xB0,0xAA,0x1C,0x1D, -0xB7,0x29,0x96,0x9F,0x2D,0xA1,0x9E,0x08,0x3E,0x25,0xC0,0xDC,0xEC,0x32,0x9D,0xBB, -0x74,0x04,0x6E,0x4B,0x9C,0x9E,0xAC,0x5C,0xA2,0x94,0x23,0xB8,0x88,0xAD,0xC1,0x99, -0xF0,0x3C,0x69,0x96,0xD5,0x22,0x7B,0x1C,0x24,0x61,0xB4,0x4F,0xEB,0x07,0xF1,0x6B, -0x82,0x01,0x4A,0x04,0xA5,0xE8,0xF9,0xE9,0x48,0x54,0xB3,0x9F,0x57,0xD0,0xB8,0x2B, -0x77,0xCB,0xC8,0x74,0x6F,0xCD,0x12,0x03,0x3B,0xEC,0xCE,0x81,0x09,0x59,0x1A,0xAB, -0xC4,0x86,0x64,0xC4,0xB2,0xF5,0x15,0x87,0x6C,0x28,0x7A,0xE8,0x05,0x81,0x3C,0xD0, -0x55,0xAF,0x57,0x28,0x4D,0xBD,0x9D,0xC2,0xC2,0x97,0x3F,0x72,0xD9,0x02,0x11,0xE0, -0x86,0x67,0xC4,0x7B,0xF3,0x2E,0xA3,0x67,0x71,0x01,0xC5,0x2A,0xA8,0x62,0x44,0x85, -0xF8,0x9F,0x43,0xEB,0xDA,0x8E,0x77,0xED,0x30,0xB7,0x1E,0xCA,0x20,0x6A,0xF6,0x3A, -0x6E,0x1F,0x58,0x47,0xC6,0x43,0xC0,0xC8,0x57,0xD9,0xC9,0x51,0xBC,0x72,0x3A,0x66, -0x6C,0x42,0x2F,0xB1,0x36,0xA7,0x44,0x7C,0x93,0xA0,0x32,0xAD,0xEE,0x23,0xBE,0x9D, -0xD7,0xAC,0xA9,0x7C,0xB7,0xFB,0xDC,0xDA,0xC0,0x33,0xFA,0x7E,0xAB,0x9C,0x10,0x07, -0x79,0x53,0x1B,0x80,0xAC,0xFD,0x06,0xAE,0x58,0xD5,0x65,0xA0,0xA5,0x55,0x15,0x5A, -0x60,0x87,0x8B,0xB3,0x79,0xA2,0x60,0x8A,0x06,0xEE,0xC4,0x8E,0xA6,0xAB,0x41,0xD8, -0x37,0x77,0x1F,0x3D,0x1D,0xC2,0x34,0xFA,0xB9,0x4E,0x25,0xCC,0x99,0x99,0xF0,0x8C, -0x30,0xDE,0x37,0x7D,0x03,0xCA,0x27,0xD3,0xE6,0xEB,0xF6,0x05,0xCC,0xFD,0x18,0xA7, -0x42,0xE3,0x14,0xEF,0x20,0xC8,0x36,0xF5,0xDC,0x84,0x37,0x5B,0x62,0xE0,0x34,0x70, -0x73,0xAD,0x46,0x0B,0x1B,0x7B,0xC7,0x4C,0xA4,0x67,0x9A,0x0E,0x13,0x80,0x61,0x15, -0x9C,0x7C,0xF2,0x77,0x2E,0x16,0xA4,0xE3,0xF7,0xF4,0x52,0xDD,0xD7,0xCB,0x14,0xBD, -0x93,0x76,0xF0,0x4A,0x98,0xE2,0xFB,0xE6,0x53,0x8E,0xB5,0xEB,0x1C,0xA6,0x13,0xEC, -0xA2,0x38,0xA2,0xAE,0xA9,0xF3,0xCF,0xF3,0x6A,0xDB,0xC3,0x5E,0xF2,0x20,0xDE,0x57, -0xE1,0x4B,0xD3,0xD8,0x02,0xB8,0xB9,0x34,0xB4,0xE6,0x4C,0x31,0x0E,0x6C,0x76,0x7B, -0x48,0x1D,0x49,0x64,0x6E,0xBF,0x8C,0xE4,0xA8,0x51,0x81,0x14,0x5F,0xC3,0xA6,0x02, -0xB2,0xDD,0xC9,0x29,0xCC,0xE1,0x05,0x64,0xE2,0xBC,0x8A,0xBF,0x1B,0x93,0x7F,0x3C, -0x3E,0x46,0xE4,0x89,0xD3,0x9B,0x88,0xAA,0xC8,0x52,0x9D,0xDE,0x68,0xE2,0x09,0x7F, -0x4A,0x40,0x3E,0x92,0x12,0x6E,0x38,0x0B,0xA3,0x0A,0x51,0x5F,0x1A,0x7C,0x08,0x98, -0xEA,0x27,0x5F,0x9A,0xC7,0x31,0x5E,0x2F,0x6D,0xB6,0x08,0x0F,0x5B,0x08,0x9E,0x50, -0x4E,0x26,0xB0,0xED,0x39,0x0B,0x48,0x8D,0xD0,0xB2,0x2C,0x41,0x6B,0x1C,0x5D,0xFD, -0xC6,0xDB,0x13,0x32,0xEE,0x91,0x8A,0xA5,0x21,0xA8,0xBA,0x12,0xFE,0xF8,0xF8,0x2C, -0x53,0x94,0xAE,0xA1,0x8E,0x8D,0x89,0x6F,0xCE,0xA1,0x24,0x68,0x48,0x2D,0x8C,0x63, -0x3B,0xB2,0xBB,0x3F,0x0C,0x66,0x2B,0x22,0xC5,0xFA,0xF4,0x23,0xAE,0xB8,0x5F,0xF1, -0x1E,0xBC,0x48,0xCC,0x2E,0x7D,0xFF,0x98,0x9F,0xB9,0xA6,0x88,0x06,0x06,0xDD,0x69, -0xEA,0xE3,0xFE,0xC9,0x29,0x55,0xBF,0x31,0x00,0xA1,0x46,0x39,0x98,0x07,0x3A,0x1B, -0x53,0x10,0xF8,0x7F,0xF7,0xB3,0x27,0xAE,0x05,0x17,0x19,0xCD,0x4E,0x13,0xBF,0xB1, -0xF5,0x1E,0xCA,0x81,0x93,0x02,0xBB,0x4D,0xA8,0xD4,0x0D,0xFD,0x6C,0xDC,0x08,0x9A, -0x92,0x7F,0xC2,0x21,0xC4,0x96,0x35,0xBD,0x80,0x03,0xCF,0x67,0xB8,0xF5,0x82,0x3A, -0xA0,0x7A,0x22,0xAA,0x04,0xC8,0xDE,0x5F,0xAF,0x94,0x25,0x54,0xAE,0x0B,0x20,0x00, -0x40,0x35,0xEA,0x4C,0x2D,0xDB,0xC0,0x57,0xF0,0x67,0x9B,0x07,0x64,0x6E,0xB7,0x12, -0x5A,0xEC,0x91,0xF2,0x7C,0xB6,0xC7,0x9C,0x0F,0x9C,0x44,0x33,0x1F,0x97,0x44,0xE3, -0x66,0x20,0x74,0x24,0xA1,0xF6,0x60,0xCC,0x4A,0x63,0xCC,0x7B,0x78,0x1F,0xA5,0xAA, -0xD8,0xE6,0x1E,0x42,0x73,0xB4,0xFA,0x96,0xBC,0x2C,0xE8,0x7E,0x39,0xE5,0xBD,0xEC, -0x37,0x8F,0xA4,0x5D,0xC8,0x32,0x37,0x78,0x3F,0xB1,0xC7,0xEF,0x8A,0x44,0xD6,0x05, -0x4F,0x13,0x98,0xB5,0x10,0x2D,0x26,0xDC,0x0D,0x6A,0x33,0x6E,0x8C,0xC4,0x97,0x2B, -0xA9,0x86,0x4B,0x27,0xEB,0x7C,0xA2,0x8E,0x6C,0x40,0xDD,0x79,0x6A,0x5C,0x49,0xB4, -0x1F,0x53,0x3F,0x68,0x36,0x3C,0x05,0xDE,0x5F,0x52,0xF8,0x6A,0xD4,0xAF,0x16,0xE7, -0x8F,0x93,0xD5,0x4F,0xBA,0x11,0xA5,0x45,0xF5,0xD1,0xC4,0xF3,0xEA,0x11,0xB3,0x74, -0xFB,0xD7,0xCF,0xDC,0x86,0x36,0x8A,0x5C,0x9C,0x86,0x00,0x47,0x07,0x5B,0x18,0x7F, -0xE0,0xE1,0xC3,0xC6,0x50,0xFA,0x6F,0x60,0xFF,0x5A,0x99,0x0D,0x73,0xCD,0xD0,0x3E, -0xD5,0xD1,0x4F,0x9D,0x30,0xC5,0x8C,0xE5,0x89,0xB7,0x34,0x56,0x9C,0xBA,0x74,0x3F, -0xD2,0xE4,0x23,0x4D,0x78,0x38,0xB8,0xFA,0xEE,0x14,0x23,0x7A,0x05,0x66,0x17,0x75, -0x50,0xEE,0xAC,0xFD,0x4E,0x42,0x1C,0x1D,0x99,0x30,0x5F,0xB3,0x6F,0xBC,0xC2,0x86, -0x89,0x49,0xCE,0x3B,0xA6,0xDE,0x20,0x65,0x1A,0xAD,0x70,0x22,0x2F,0x1B,0x1F,0xD6, -0x83,0x4B,0xF3,0x34,0x8A,0x92,0x88,0x99,0xB0,0x2E,0x4C,0xBB,0xBD,0x15,0x09,0x08, -0xDA,0xF7,0x3D,0x64,0x13,0x8B,0x19,0x13,0xF6,0xEE,0x62,0x3C,0x61,0x8E,0x3C,0x20, -0xF2,0x2B,0xA6,0x51,0x2C,0x0A,0x09,0xC5,0xB8,0x53,0x66,0x18,0x5A,0xD0,0x12,0x81, -0x25,0x45,0xC1,0xCA,0x11,0xFC,0xEF,0x4E,0xFE,0x93,0x48,0x9F,0x79,0x42,0x60,0xBC, -0x06,0x74,0x10,0x54,0x92,0xD3,0x72,0xDF,0x9B,0xC6,0x28,0xEE,0xDF,0x7D,0x63,0x73, -0xF6,0xE0,0x9E,0x03,0x31,0x14,0x45,0x77,0xD2,0x3B,0x04,0x63,0xCB,0xBE,0xCE,0x43, -0x21,0x8E,0xF9,0x98,0xC0,0x18,0x4A,0xDB,0x9E,0x70,0x77,0x1A,0x52,0x62,0xAD,0x09, -0x6B,0x17,0x25,0xFB,0x6B,0xF5,0x00,0xD0,0x2F,0x36,0xAC,0x0A,0x76,0x2D,0x5B,0x0C, -0x27,0x54,0xE2,0xEC,0xA0,0x27,0xA9,0x5E,0xC7,0x0A,0x30,0x72,0xD8,0xA0,0xE7,0x4B, -0x44,0xFE,0xD2,0x1E,0x8D,0xBA,0xC8,0x30,0xE6,0x69,0x09,0xD9,0xFF,0x8F,0xDB,0x52, -0x9D,0x59,0xB0,0xD8,0x19,0xD6,0x92,0xED,0xDF,0xF0,0x71,0x34,0xB7,0x9A,0xB9,0x8A, -0x1C,0xAD,0x6B,0xEA,0x95,0xFB,0x32,0x76,0xB4,0x51,0xC2,0xDD,0xFD,0xB2,0xD4,0x58, -0x71,0xCE,0x5E,0x45,0x7A,0x4F,0x4E,0xA7,0x1C,0x24,0x89,0x19,0x6E,0xE1,0x07,0x90, -0xC2,0x3F,0x65,0xFC,0x4B,0x1D,0xAA,0xE9,0x79,0x71,0xE9,0x68,0x8D,0x99,0x52,0x3D, -0xC0,0x2E,0x46,0xDA,0x39,0x3E,0x38,0xD4,0xAE,0x5D,0xF4,0xC6,0xE2,0xA3,0x0C,0xFC, -0xB5,0x85,0x2B,0xED,0x41,0x40,0x21,0x17,0x0B,0xE3,0xCA,0x55,0x58,0xED,0x1D,0x8B, -0xB2,0xB0,0x47,0x3D,0xE8,0xDA,0x9D,0x41,0x72,0x33,0x65,0x04,0xEF,0xF1,0x38,0x46, -0xF9,0xC6,0xEC,0xFA,0xAB,0xAB,0xEB,0x32,0x5E,0x9B,0x29,0xF8,0xD2,0x2F,0x57,0xC9, -0xE8,0xF2,0xDD,0xEF,0x9A,0xF9,0x0F,0x7C,0xE5,0x56,0xAF,0x16,0x87,0x16,0xE2,0xBF, -0x3B,0x57,0x82,0x26,0xE3,0x56,0xDF,0x2D,0x59,0xDB,0x01,0x51,0xBF,0x28,0x06,0x02, -0x64,0x31,0x57,0x02,0x43,0x37,0xD7,0x4A,0x91,0x4D,0x75,0x10,0x03,0xE6,0x56,0x5B, -0x91,0x81,0x96,0xA3,0x37,0xED,0xCC,0x4C,0x76,0x4C,0xEB,0x62,0x5B,0x8D,0xD7,0x97, -0xEB,0x0C,0x89,0x6D,0xBB,0xC0,0x6C,0xD7,0x35,0x3A,0x9A,0x11,0xB5,0xA7,0xB6,0x80, -0x6C,0x22,0x49,0x2B,0x32,0xB2,0x7A,0xB8,0xF8,0x1A,0xB1,0xA4,0xF3,0x80,0x2A,0xFE, -0x87,0x80,0xCB,0x66,0x5A,0xA7,0xE4,0x9E,0x6A,0xC9,0x24,0x42,0xA8,0x8B,0x61,0x2E, -0x9B,0x83,0xAB,0xAC,0xCF,0x1A,0x77,0xD1,0x25,0xBD,0xF1,0xF4,0xA1,0x64,0x1B,0xB0, -0x01,0x41,0x7C,0x84,0x47,0xB9,0xA8,0x2C,0xF4,0x18,0x15,0x61,0xBB,0x95,0x48,0x26, -0x28,0x72,0x90,0x15,0xF9,0x60,0xD3,0x36,0x62,0xB4,0x0E,0xE1,0x68,0x61,0x46,0xBE, -0x94,0xA5,0xD9,0x55,0x7D,0x67,0x0E,0x0E,0x90,0x84,0xA4,0x82,0x9D,0xE7,0xB1,0x29, -0xAB,0x97,0x68,0x01,0xBE,0x9F,0xDA,0x23,0xB2,0xD8,0x3B,0xE6,0x2C,0x7B,0xD5,0xCA, -0xA3,0x84,0x76,0x28,0x71,0xC3,0x0C,0xCB,0x14,0x59,0xA3,0xBA,0x91,0xE8,0x40,0x85, -0xB7,0x94,0x08,0xCB,0x5C,0x5E,0x6D,0xA5,0xE9,0x54,0x0B,0xD3,0x9E,0x87,0x7B,0x35, -0xFF,0x1C,0xF7,0x8E,0xCD,0x6D,0x81,0x8C,0xD9,0x79,0x88,0x0F,0x21,0x29,0xE1,0x70, -0xC7,0x1B,0x2A,0x0A,0x7E,0xC1,0x31,0xC1,0xA2,0x5F,0x50,0x03,0xE5,0x7E,0x88,0xC4, -0xE2,0xF0,0xE0,0xE0,0x8B,0x43,0x41,0x0B,0x22,0xFD,0xD9,0x5D,0x5D,0x0D,0x96,0xB9, -0xAD,0x4D,0x73,0x75,0x65,0x26,0xF4,0x48,0x94,0xFB,0x2A,0xE4,0xA9,0xD6,0xA4,0x38, -0x49,0xC9,0x83,0xC1,0x67,0x51,0x02,0x15,0x6F,0x7F,0x7B,0xB6,0xD0,0x12,0x58,0xC3, -0x84,0x7E,0x9F,0xE4,0xF1,0x4A,0xAE,0x95,0x33,0xB3,0x63,0x2A,0xBE,0x75,0xC3,0x14, -0x24,0xAA,0xB6,0x6E,0x8F,0xCD,0x3E,0x6D,0x8C,0x01,0x6B,0xA2,0x08,0x34,0x23,0xCF, -0xC8,0x3D,0x58,0xF3,0x3E,0x16,0x78,0x7D,0x85,0xB5,0x90,0x93,0x47,0xFC,0xC5,0x2F, -0xA8,0x69,0x3C,0x83,0x69,0x82,0xF6,0x8D,0xD1,0x04,0xA2,0xAC,0xE7,0x43,0x87,0xCE, -0xF7,0x0F,0xE9,0xA7,0x70,0x12,0xC5,0x59,0x53,0x50,0x5C,0xAF,0xDC,0x1D,0xA9,0x6F, -0xF1,0xD5,0xF2,0xD3,0xDE,0xA0,0x39,0xA6,0x0E,0x55,0x95,0xA1,0x3A,0x85,0x77,0xF0, -0x91,0xD5,0x2A,0x72,0x30,0xB9,0xA6,0x9A,0x70,0x8E,0x10,0x9D,0x09,0xA9,0x5F,0xA1, -0x03,0x33,0xBF,0xA1,0x3B,0x69,0xFD,0xD1,0xF2,0x2C,0xFB,0xD0,0x2F,0xBC,0xC1,0xC9, -0x0F,0xF6,0x1B,0xA3,0x2E,0xB1,0xB5,0xB3,0xC7,0x4F,0x96,0x7F,0xBB,0xB7,0x13,0xBC, -0xDE,0x63,0xFF,0x06,0xDF,0x27,0xAF,0xE0,0x10,0x8D,0x0C,0x57,0x46,0x14,0xCC,0x34, -0x6A,0x87,0x7B,0xF6,0x5D,0xCC,0x0D,0xAD,0xEC,0x3F,0xF3,0xF9,0xDD,0x39,0x6C,0xB8, -0xA2,0xC6,0x0F,0x60,0x93,0x95,0xB1,0xFD,0x39,0x59,0xAC,0xDD,0xBA,0x58,0x64,0x18, -0xCE,0x86,0x94,0x81,0x1C,0x17,0xBB,0x4D,0x32,0x02,0x7C,0x96,0x40,0xCE,0xD7,0x40, -0x8D,0xF5,0xE5,0xF7,0x36,0x00,0x55,0x2C,0x2D,0x8F,0x06,0x58,0xDB,0xE3,0x77,0xCC, -0x89,0x93,0x6B,0x88,0x4A,0xD1,0xE1,0xC3,0xFC,0xBE,0x25,0xC6,0xD6,0xD4,0x26,0x13, -0xF0,0xC2,0xC4,0x58,0x56,0x1C,0x56,0xE6,0x90,0x8B,0x22,0x16,0x80,0x4E,0x9A,0xBA, -0x1E,0x81,0xA1,0xED,0xAD,0x28,0x89,0x19,0x66,0xFC,0x7F,0x14,0xEB,0xF7,0xB4,0x61, -0xA5,0x6F,0x27,0x20,0x94,0x5E,0xDC,0xAC,0x57,0xC8,0x6E,0x01,0xA5,0xA5,0x50,0x50, -0xE7,0x8E,0x87,0x9F,0x5A,0x07,0x60,0xFC,0xE5,0xC0,0xE6,0xBE,0x30,0x41,0xF5,0x81, -0x4F,0x4A,0xCC,0xEA,0x09,0xCF,0xF3,0x2F,0xD0,0xA3,0x8B,0x11,0xE1,0xF5,0x89,0x6E, -0x55,0x51,0xFA,0xE6,0x18,0x6B,0xEC,0xF7,0xFD,0x20,0x57,0x21,0x43,0x30,0x83,0xC2, -0x82,0xFF,0xE7,0xCA,0x22,0xAA,0x83,0xA9,0xDE,0x31,0x55,0x07,0x7E,0x13,0x11,0xB0, -0x2A,0x3B,0xAC,0xBF,0xF8,0x59,0xE9,0x7C,0x87,0x67,0x3F,0x78,0x1A,0x8C,0x4D,0x92, -0x7E,0x04,0x9E,0x0E,0x47,0xB8,0x49,0x3E,0xE3,0x33,0x5F,0x08,0xEA,0x18,0xC3,0xC5, -0xF5,0x36,0x9B,0xEE,0x3E,0x67,0x34,0x8C,0x49,0xDB,0x66,0x28,0x31,0xAE,0x82,0x25, -0xA8,0x38,0x52,0xEB,0xA6,0xF8,0xD2,0x52,0x52,0x01,0x60,0x5C,0xCE,0x1C,0x7E,0x8B, -0x94,0x21,0x75,0xC4,0xA9,0x54,0xDE,0xA3,0x38,0xC7,0xDE,0x3A,0x82,0x5F,0xB9,0x9C, -0x6F,0x73,0x24,0x40,0x6D,0xAF,0xA7,0x5F,0xC8,0x43,0x3A,0x8E,0xDF,0x28,0x4F,0x9E, -0x77,0x35,0x65,0xBA,0x8F,0x58,0x06,0xD8,0x0D,0xA4,0xB3,0x95,0xFA,0xC3,0x85,0x74, -0xC8,0xBD,0x6D,0x08,0xCE,0x83,0xB0,0x38,0x24,0x70,0x13,0x1F,0x02,0x44,0x15,0x0A, -0x22,0x98,0x86,0xC2,0x92,0xE7,0x2F,0x1A,0x4C,0x12,0x68,0x75,0x1B,0x63,0x3A,0x36, -0x12,0x44,0x05,0xEF,0x3C,0xA2,0x90,0x80,0xB3,0x9A,0x20,0x30,0x32,0x50,0xD6,0xA7, -0xD9,0xCA,0xD7,0x46,0xB6,0x2E,0x53,0x6D,0x5B,0xFE,0x75,0x1B,0x9C,0x4D,0xFA,0x70, -0x59,0x94,0x5E,0xE4,0xC5,0x53,0xEB,0x73,0x91,0x15,0x50,0xF1,0x56,0xCF,0x8A,0x85, -0x6B,0x15,0xAA,0x3F,0x5C,0xBE,0x93,0x4A,0x62,0xAB,0x03,0xAE,0x99,0x69,0xB5,0x86, -0x99,0x76,0x00,0x0F,0xDA,0x29,0x66,0xBD,0x2B,0x7C,0xBF,0xEE,0xA1,0x6E,0x68,0x02, -0xEF,0x2D,0xAD,0xE2,0x53,0x12,0x9F,0xBB,0xCD,0x8A,0x34,0xD3,0x5C,0xCD,0xB7,0x8A, -0x49,0x71,0x35,0x63,0xC0,0x5D,0x22,0x2E,0xD3,0x99,0x3C,0xFA,0xB4,0x91,0x61,0x45, -0xA4,0xFD,0xF6,0xE9,0x14,0x70,0xDA,0xED,0x84,0x5D,0x88,0x93,0x49,0x32,0xBE,0xCD, -0x97,0xEE,0xD3,0xFB,0xE7,0x23,0x64,0xB2,0xF0,0x88,0x3E,0xDC,0x19,0x72,0x19,0x10, -0x67,0xD0,0x0E,0x3D,0xE0,0xE8,0x09,0xE3,0x74,0xD9,0x6C,0x27,0xCB,0x38,0x31,0x7D, -0x0E,0x64,0xCA,0x6A,0xAA,0xE3,0xE4,0x48,0x6E,0x9D,0x18,0xB4,0xD2,0x1F,0x1E,0x41, -0x47,0xE9,0xE6,0x97,0x5E,0x7B,0x37,0x46,0xA5,0xE8,0x4F,0xB9,0x01,0xBA,0x41,0x88, -0xB1,0xEC,0xC2,0xD8,0xA4,0x3D,0x76,0x5E,0xCF,0x2E,0xF1,0xDF,0x5B,0xF8,0xDB,0x5A, -0xF6,0xF9,0x3D,0xD1,0x7F,0xBC,0x82,0x6C,0x23,0x1D,0xD8,0x4E,0x4B,0x23,0x9D,0xEB, -0xC4,0x78,0xC9,0x0A,0xFF,0x92,0x84,0x2D,0x1F,0x81,0xA0,0xA6,0xEF,0x3C,0x8C,0x33, -0x54,0xC3,0x2B,0x2F,0xB0,0x97,0xA0,0xDB,0x99,0x74,0x37,0x51,0xC8,0xC6,0x65,0xFF, -0x7B,0xF0,0xC1,0xB8,0x4E,0xAD,0xB6,0x79,0x79,0x71,0x05,0xDA,0x2A,0x98,0x8E,0x3F, -0xF4,0xA4,0x4A,0x27,0x2C,0x74,0x11,0xBF,0x2A,0xE2,0xCD,0x09,0x0B,0xB8,0x7C,0x87, -0x0B,0x90,0x95,0xDC,0xD5,0x85,0x6A,0x4C,0x51,0x3B,0xD7,0xB7,0xC0,0xD5,0x7B,0xD6, -0xFB,0xAE,0x48,0x1A,0xBC,0x8C,0x96,0xC1,0x45,0xED,0x7D,0x32,0xA6,0x5B,0x04,0xD2, -0x64,0x1F,0xA8,0x02,0xBD,0xFE,0x08,0x26,0xF3,0xB2,0x89,0x37,0x0F,0x73,0x44,0xD5, -0x53,0x6A,0x03,0x6F,0x67,0x0D,0x62,0xF3,0x71,0x10,0x62,0x7A,0xDA,0x0C,0x00,0x68, -0xFE,0x5A,0x17,0xAC,0xA8,0x26,0x40,0x44,0x43,0x1E,0xC4,0x84,0x39,0xBD,0x9C,0x0C, -0x3C,0xE5,0x3E,0xB1,0x1B,0xDC,0xD6,0x1C,0x59,0x5A,0xB0,0x17,0xC9,0x29,0x12,0x5B, -0xD4,0x9D,0xA2,0x8D,0x96,0x9B,0x78,0xA0,0x9E,0x19,0xFC,0x00,0x47,0xFB,0xBB,0x90, -0x24,0xA3,0x7F,0x4B,0x21,0x1D,0xB9,0x42,0x0B,0x57,0x0A,0x23,0x7A,0xD8,0x29,0xE2, -0x1D,0x4E,0x07,0xD2,0x34,0xC5,0xF1,0x20,0x69,0xF0,0xD3,0xE5,0xA7,0xB4,0x73,0x76, -0x60,0x79,0x26,0x7D,0xC6,0xE4,0xD1,0x98,0xAB,0x7A,0x91,0xAF,0x48,0xDD,0xC9,0x69, -0x05,0x08,0x46,0x28,0xF9,0x2B,0x77,0x9B,0x7A,0x4B,0xB2,0x31,0xD9,0xF2,0x54,0xEA, -0x65,0x8D,0x79,0xCB,0xD9,0x9E,0x5C,0x56,0x42,0x80,0xB6,0x63,0x4C,0x16,0xF1,0x3B, -0x29,0xF4,0x0A,0x80,0x05,0xD4,0xC5,0x35,0x25,0xEE,0x61,0xF8,0xE0,0x1A,0xFE,0xCA, -0x4B,0x2C,0x42,0x95,0xAE,0x9F,0xB3,0xF2,0x48,0x45,0x14,0xCF,0x0E,0x9C,0x33,0x71, -0xE1,0xB5,0x7E,0x16,0xA0,0x41,0x21,0xE4,0x75,0x47,0x1E,0xC0,0xF2,0xD0,0x9B,0x5D, -0x43,0x8F,0x68,0xE8,0x6B,0x16,0x54,0xE9,0x1D,0x25,0x65,0xAA,0x52,0x04,0xB2,0xD7, -0x0D,0xAB,0x6C,0x55,0x35,0xB7,0x6F,0xC7,0x86,0xF9,0x4D,0x9F,0x84,0x85,0xA2,0xE8, -0x72,0xC1,0x3A,0x0C,0x01,0xA8,0x92,0x8F,0xF4,0xDF,0x42,0x66,0x72,0xCB,0x37,0xCB, -0x04,0x9A,0x97,0xE1,0x76,0xA9,0x7D,0x2B,0x78,0xEF,0x77,0x3D,0xF7,0xF4,0xD4,0xAB, -0x62,0x24,0x51,0x8B,0x07,0x11,0x61,0x39,0x17,0xE0,0xC7,0x06,0x8A,0x4C,0xA7,0xB5, -0x15,0xED,0x2D,0xAF,0xDD,0xE2,0x0B,0xEC,0x98,0xEA,0x45,0xB6,0x6D,0x36,0x03,0x83, -0x53,0xD5,0xC7,0x7C,0xBD,0xEF,0x99,0x3C,0x09,0xF0,0xB8,0xF8,0x45,0xB9,0x84,0xD4, -0x86,0xA1,0x88,0xCA,0xED,0x48,0x44,0x7C,0x1A,0xC3,0xAA,0xDD,0xB6,0xE6,0xD7,0x6A, -0xD7,0x25,0x73,0x98,0x3F,0x60,0x29,0x36,0x24,0x33,0x6C,0x00,0xB1,0xB7,0x1C,0x07, -0x93,0x3F,0xE0,0xEC,0x26,0x4F,0x15,0x11,0x90,0x5A,0x3B,0xC4,0xFB,0x1C,0x17,0xEA, -0xE6,0xF4,0xED,0xBB,0xF5,0x10,0xDC,0xB4,0x1D,0x13,0xC6,0xE8,0x0F,0x12,0x8F,0x39, -0x20,0x9E,0x8B,0x05,0xAF,0x8A,0x0E,0xF6,0x18,0xE5,0x89,0xCC,0xF5,0x0A,0xC9,0x78, -0x13,0x72,0x1A,0x2C,0xBF,0xCC,0xBF,0x2D,0x0D,0xA2,0x80,0x33,0x2E,0x38,0x48,0x8C, -0x8F,0x4E,0xF2,0x54,0x1B,0xDD,0x67,0x32,0x8C,0x90,0x5B,0xC7,0xAE,0x79,0x66,0x8A, -0x7A,0xC8,0x05,0xC3,0x3C,0x34,0xAB,0xC8,0x37,0x00,0x7E,0x25,0xE1,0x8F,0x63,0xAE, -0x7F,0x28,0x8E,0xF1,0xDE,0xDF,0x6B,0x96,0x04,0x2F,0xE9,0xCF,0x1F,0x2D,0x59,0xB8, -0xEC,0x7B,0x5D,0x39,0xFF,0x2D,0xD3,0xB6,0x50,0xA0,0x76,0x44,0x7D,0xEB,0x80,0x1F, -0x35,0x00,0xE3,0x23,0x34,0x2A,0x82,0xDB,0x64,0x5F,0x8D,0x9B,0x84,0x18,0x71,0x64, -0xE3,0x14,0x66,0x89,0x52,0x55,0x86,0x55,0x5A,0xAF,0x4B,0x46,0xED,0x95,0x78,0x98, -0xBC,0xA2,0x63,0x7D,0xFB,0x15,0x81,0x7D,0xEB,0x30,0x53,0xA6,0xEC,0x72,0x0A,0x06, -0x1E,0x20,0x2E,0x96,0x2E,0x51,0x3C,0x02,0x9E,0x07,0x3E,0x0D,0x36,0xA7,0xF9,0x6C, -0x10,0x12,0xD0,0x30,0xCD,0xCD,0x58,0xB3,0xAE,0xAA,0xFD,0x19,0xF9,0x10,0xD2,0x4E, -0x54,0x08,0x43,0x44,0x3D,0x43,0x0F,0x27,0x11,0x68,0xE0,0x30,0x4A,0x48,0x28,0xD8, -0x17,0xCF,0x54,0x08,0xB3,0xEA,0xC4,0xF5,0x69,0x80,0xDC,0xAC,0xC7,0xF4,0x6F,0x76, -0x59,0x5A,0x77,0xFE,0x8E,0x78,0xB6,0xD6,0x57,0x70,0x1A,0x71,0x70,0x16,0xE9,0xB7, -0xFE,0x38,0xB1,0x27,0x53,0x22,0x22,0xBA,0xBA,0x49,0x83,0x09,0x65,0x74,0x31,0xFF, -0x74,0xFA,0xFB,0x65,0xBC,0x98,0x3D,0xD3,0x8D,0x34,0x2C,0x28,0x97,0xCC,0x10,0xDF, -0x45,0x2B,0x65,0x46,0x2D,0x05,0xBE,0xFC,0xFC,0x51,0x79,0x48,0xA8,0xCF,0xDF,0x79, -0x8E,0x13,0x37,0x42,0xB8,0xA0,0x6F,0x18,0x79,0x31,0x9A,0x77,0x88,0x02,0x6A,0x52, -0xE0,0x74,0xAC,0x95,0x14,0xAF,0x9E,0x14,0x00,0x7D,0xD1,0x04,0x54,0x61,0x20,0xCB, -0x4B,0x19,0x9B,0xE0,0xFA,0x62,0x25,0x92,0xD8,0x1F,0xC4,0x4C,0xFF,0xA6,0x6B,0xBD, -0x49,0x24,0x94,0xEA,0x06,0xCA,0x09,0xDE,0x41,0xB5,0x47,0x70,0xF1,0xB0,0xB5,0x2F, -0x2B,0x4C,0xFE,0x91,0xA6,0xE3,0x83,0x0A,0x7B,0x17,0xB9,0x66,0x3A,0xBD,0xE2,0x5A, -0xF7,0xD7,0xCB,0xB9,0x70,0xF3,0xBC,0x8B,0x5F,0x59,0x04,0x62,0x64,0x93,0x43,0x61, -0xD1,0xA5,0x32,0xB6,0x86,0x66,0x9F,0xC5,0x35,0x26,0x5D,0x34,0x50,0xDB,0x5C,0x9C, -0xE1,0x29,0x69,0x83,0x03,0x85,0xFF,0xFA,0x6E,0x50,0xB0,0x99,0x27,0x7F,0x5D,0x73, -0xEE,0x46,0x52,0x33,0x7E,0xF6,0xE1,0x42,0xD0,0x36,0xDA,0x5F,0x56,0x6D,0xE5,0x6F, -0xE4,0xC9,0xE2,0xB1,0x99,0x52,0xD7,0x38,0x19,0x41,0xFE,0x23,0x8C,0xB8,0x16,0x05, -0x80,0x21,0xC9,0xE4,0xFD,0x0E,0xF5,0xA7,0x21,0xC5,0x23,0x24,0x61,0xCE,0x4D,0xA8, -0x22,0xA3,0x84,0x0F,0xDB,0x90,0x9D,0xB2,0xC7,0x57,0xF0,0xB1,0x6A,0x85,0x9D,0xF3, -0x41,0x96,0x2B,0x62,0x4F,0x42,0xE8,0xB9,0x02,0x5B,0xF2,0x15,0x7F,0xE7,0x45,0xBB, -0x83,0x41,0x03,0xF8,0xB2,0x9D,0x60,0x1A,0x97,0x8A,0x57,0xF1,0x8E,0xB4,0xD3,0xA1, -0x31,0xBD,0xAD,0x07,0x29,0x3D,0xEC,0x37,0x73,0x3E,0xA7,0x75,0x0C,0xF9,0x38,0x03, -0x57,0x68,0x89,0x58,0x4E,0x35,0x4C,0x56,0x32,0xF6,0x31,0x01,0xC2,0xA9,0x61,0xBF, -0x0C,0x63,0xC2,0x88,0xB4,0x86,0x14,0xC0,0x72,0x9A,0xD0,0x9A,0x4D,0x19,0xE3,0xB5, -0x81,0x7C,0x0C,0xF2,0x2F,0x26,0x98,0xED,0x01,0xD9,0xA6,0xEB,0x67,0x78,0xF4,0x5B, -0xB0,0xAD,0x92,0xD1,0x22,0x77,0x47,0xDA,0x67,0xDD,0xD9,0x65,0x1B,0x97,0x25,0xEF, -0x85,0xC1,0x42,0xD6,0x74,0xCB,0xEE,0x40,0x36,0xA4,0x09,0xCA,0x07,0xB2,0xE8,0x58, -0xF2,0x37,0x40,0x8B,0x1F,0xE5,0x35,0xF9,0x75,0x4A,0xBC,0xAF,0xFC,0x4D,0xDC,0x87, -0xC6,0x06,0x55,0x9A,0x51,0x01,0x04,0xAB,0x9B,0xF1,0x71,0x29,0xC5,0xF8,0xAA,0xD2, -0xCE,0xB4,0xEA,0x12,0xC4,0xA4,0xD5,0x4F,0x7A,0xB3,0xCE,0x89,0x0B,0xA8,0xF3,0x6E, -0xAD,0x81,0x45,0x7F,0x15,0xD8,0x3A,0xFB,0xBE,0x1B,0xBB,0xC2,0x58,0x7B,0x3B,0xFD, -0x2E,0xAC,0x75,0xA3,0xB7,0xD2,0x96,0x3E,0xA5,0x01,0xB7,0xF4,0x49,0xA3,0x9F,0xE2, -0x3F,0x8F,0x53,0xA1,0x8A,0x40,0xE4,0x1D,0x0B,0xD6,0x9B,0xE9,0x73,0xFD,0x5E,0x8D, -0x69,0xD6,0x2C,0xCB,0xEE,0x1C,0xC6,0x82,0xCF,0x7E,0xEE,0xA2,0xA9,0x28,0xAD,0xE7, -0x3D,0xB2,0x5C,0xAB,0x1E,0x92,0x91,0x16,0xF0,0x2A,0x5F,0x90,0x16,0x6A,0x4C,0x47, -0xD5,0x18,0x7C,0x92,0xC5,0xD3,0x71,0xA0,0xC2,0xA1,0xBF,0x95,0x6F,0xD8,0x93,0x3A, -0x0F,0x03,0x08,0x94,0x3A,0x2F,0xDF,0x12,0xCC,0xFC,0xBA,0x5C,0xF7,0x06,0x0C,0xDC, -0xC9,0x69,0x6E,0x2A,0x76,0xE8,0xC8,0x51,0xD5,0xC0,0x95,0x7B,0xF8,0xF7,0xA0,0xD0, -0x4D,0x99,0xDA,0xCE,0x2B,0x1E,0xCA,0x26,0x87,0x3B,0x11,0x2A,0x3C,0x0B,0x5B,0xA9, -0xAA,0x5C,0xC1,0x47,0x0E,0xD4,0x20,0xCD,0xC1,0x23,0xEB,0x6B,0xDE,0x8C,0xAC,0x08, -0x7E,0x75,0x4B,0xE7,0xF6,0x44,0x5E,0x4A,0x49,0x9C,0x59,0x63,0x9F,0x6C,0x77,0xBE, -0x1C,0x1D,0x21,0x9C,0xEF,0x6B,0x62,0x6D,0x6C,0x76,0x93,0x88,0xC3,0x4E,0x13,0x21, -0x94,0xE2,0x64,0xD4,0xC6,0x87,0xF3,0x5E,0xB0,0x46,0xBE,0x0B,0x6D,0xD4,0x56,0x9E, -0xF0,0x0A,0x4F,0x81,0x68,0xAB,0x24,0x43,0x3E,0x8D,0x17,0xD9,0xE7,0x39,0xDA,0x5D, -0x1B,0xC0,0xA5,0xA4,0xA2,0xDB,0xD1,0xC1,0x60,0x0D,0xB5,0x50,0x94,0x27,0xA7,0xE5, -0xA5,0x33,0xFA,0xF7,0x6D,0xE4,0xD2,0x67,0xE1,0x3F,0x6E,0xA4,0x0D,0x1E,0x4A,0x9D, -0x72,0x7A,0xBA,0x4B,0x55,0x39,0x56,0x60,0x82,0xCD,0x5E,0x0E,0x8B,0xE9,0xDD,0x68, -0x84,0x9C,0x87,0xC0,0xA8,0xE6,0xDE,0xC3,0xD9,0xBB,0xB3,0xA3,0x02,0xEF,0xE6,0x91, -0x97,0x82,0xAE,0xC8,0x40,0x30,0x11,0x9F,0x85,0x1D,0x32,0x3B,0x91,0x7A,0xA9,0x2C, -0x3A,0x5D,0xCD,0x1A,0x07,0x8A,0x63,0x16,0x49,0x95,0xA9,0x83,0x53,0x55,0xC9,0xCE, -0x21,0x29,0xCB,0xC0,0xB5,0x24,0x9C,0xEA,0x80,0x9B,0xF4,0x86,0x8D,0xCA,0x2F,0x56, -0x8B,0x09,0xF2,0x28,0x03,0xC4,0x47,0xAB,0x85,0xA9,0x7F,0x66,0x3F,0x15,0x52,0x2F, -0xEF,0x79,0x92,0x7C,0x97,0x93,0xB7,0x25,0xB7,0x96,0x2B,0xD7,0x7D,0xF4,0xF2,0x90, -0x4C,0x1E,0xBE,0x6B,0x5F,0x0B,0xAF,0x7D,0x76,0x10,0xC9,0x60,0x39,0x2E,0xAB,0xA6, -0x65,0x94,0x1E,0xBF,0xD8,0x75,0x57,0xED,0x7E,0x98,0x76,0xD2,0xD9,0xF5,0x1D,0xE7, -0xA0,0x8F,0x97,0x58,0x33,0x9F,0x72,0x27,0x3F,0xDE,0x6E,0x28,0x5E,0x02,0xBC,0x05, -0x50,0x3B,0x73,0xDC,0x44,0x9D,0x2F,0xD1,0x6E,0x8C,0x95,0xAC,0xA2,0xF9,0xC5,0xC1, -0xF9,0xF0,0xFD,0x0E,0xD4,0x84,0xFB,0xE2,0x45,0x39,0x58,0x8C,0x72,0xFE,0xF0,0xAD, -0x33,0x1A,0xD8,0xE5,0x56,0x71,0x31,0x92,0xCC,0x67,0xD8,0x2E,0x6C,0x83,0x48,0xDE, -0xDB,0x31,0x8D,0x81,0x4B,0xA6,0x9F,0xBE,0x1E,0xE9,0x13,0x87,0x81,0x0F,0x8B,0x54, -0x24,0x74,0xC5,0x09,0x78,0x37,0xB6,0x52,0x9D,0x35,0x23,0xAA,0x1B,0x4A,0x34,0xFA, -0xBB,0xFB,0x91,0x82,0x8A,0x44,0x19,0x09,0x2E,0xDC,0x48,0x0B,0x2F,0xF0,0x39,0xA8, -0xA5,0xD2,0x99,0x91,0xD6,0x8B,0xF1,0xDF,0xB6,0x80,0xEE,0x8A,0xBA,0xBF,0x84,0x3B, -0x43,0xEF,0x12,0x67,0x75,0x03,0x0C,0x00,0x1B,0xDB,0x98,0x67,0xBC,0x84,0x7D,0xB2, -0x0A,0xAF,0xAE,0xB0,0x72,0x87,0x34,0xDD,0xB1,0xB8,0x6A,0x57,0x4B,0x13,0x88,0x34, -0x78,0x56,0xA1,0x96,0x0F,0x35,0xEB,0xA4,0xE4,0xCE,0xDF,0x6E,0xE1,0x8A,0xB4,0xB7, -0xAF,0x7E,0x3B,0x54,0xAC,0xBD,0x16,0x7B,0x00,0x5B,0x0E,0xCB,0xB2,0x1C,0xAE,0x46, -0x9A,0xD1,0x56,0x37,0xA7,0xC8,0x82,0xA9,0xA4,0x9E,0x02,0xC9,0xD0,0xC4,0xE6,0x53, -0x18,0x9C,0xBD,0x95,0xB2,0xA0,0xA4,0x37,0x31,0x78,0x90,0x1A,0x9B,0x14,0xBD,0x58, -0x45,0x59,0xAB,0x94,0xF8,0xCD,0x76,0x1F,0xFE,0x58,0x8C,0x9F,0x2D,0xAD,0x4E,0x5E, -0x5A,0x97,0xD1,0x19,0xD5,0x41,0xED,0xBF,0x8F,0x2B,0xCF,0xE9,0x4C,0xBA,0xA0,0x74, -0x51,0xDC,0x01,0x42,0x43,0x19,0x17,0x0C,0x14,0x6B,0xA3,0x08,0xFC,0x38,0xAA,0xFB, -0x84,0xF8,0x5E,0x24,0x22,0xB9,0x70,0x04,0x60,0x2A,0x6B,0x9E,0xAC,0x61,0x16,0x35, -0x3F,0x00,0xC3,0xD3,0xBE,0x51,0x08,0x38,0x3C,0xC2,0xA4,0x48,0xAD,0xF3,0xC7,0xFC, -0x0E,0x15,0xD2,0xE7,0xEC,0x60,0x46,0xDC,0xBA,0x2C,0x1F,0x85,0x18,0x85,0x92,0xC5, -0xF8,0x17,0x8F,0x90,0x55,0xBB,0x2D,0xF2,0xDF,0x6F,0xF1,0x30,0xE7,0xB1,0x4D,0x3E, -0x94,0xC7,0x88,0xA5,0xCF,0x12,0x7B,0x4E,0x70,0x3E,0x88,0xE0,0xC2,0x7C,0xFA,0x22, -0xB6,0x06,0xF8,0x2A,0x08,0xB1,0xD3,0x79,0xFC,0x52,0x83,0xA2,0xA8,0x07,0x98,0x4A, -0x95,0x20,0xFA,0x3B,0x2B,0xC3,0xEE,0xEB,0xE1,0xFC,0x54,0x8E,0xF6,0xC6,0xF7,0x70, -0xB8,0x10,0x26,0xB8,0xEE,0x6F,0x4C,0xE1,0xD7,0xE7,0x4E,0x82,0x2E,0x62,0xE8,0x61, -0x8D,0xBF,0x4B,0xDB,0x5A,0x80,0x9D,0x9D,0x9C,0x23,0xE6,0xF7,0xFD,0xAA,0x7B,0x32, -0x01,0xE4,0x7E,0xEB,0xAF,0x77,0x0A,0x1B,0x1C,0xE3,0x1C,0xBA,0x21,0x68,0xEA,0x5C, -0x63,0x22,0xA7,0x4C,0xC3,0xE3,0xD7,0x41,0x64,0x0E,0x25,0x23,0x43,0xB0,0xA2,0x49, -0xF6,0x01,0x51,0x02,0xE0,0x91,0xEA,0xD3,0xB9,0x30,0xD5,0xE5,0xA1,0x36,0x63,0xFE, -0x31,0x16,0x1D,0x41,0x32,0x5A,0x64,0x7A,0x25,0x48,0x3D,0xD9,0x1D,0x71,0xCD,0x73, -0x4D,0xF9,0xCC,0xF5,0x01,0xCB,0x4D,0x96,0x11,0x59,0x28,0xE8,0x34,0x79,0xDE,0x6D, -0x2A,0x62,0x1B,0x9B,0x0D,0x3A,0xE1,0x99,0x62,0x20,0x64,0xA3,0x57,0x33,0x47,0xB1, -0x12,0x30,0x1F,0x50,0xE9,0xEB,0x74,0x3C,0x5D,0xA5,0x04,0x40,0x9A,0x86,0x6C,0x91, -0xC3,0xAE,0x3C,0x61,0xC6,0x68,0xE5,0xA1,0x3D,0xD4,0x61,0x15,0x99,0x49,0xCA,0xAE, -0xEE,0x9E,0xE0,0xE2,0x9E,0xE9,0x29,0xCA,0x77,0x06,0x0C,0x3D,0xC6,0x1A,0x74,0x5D, -0x75,0xAB,0xC8,0x3E,0x1F,0xD6,0xFF,0xDA,0x73,0x22,0x42,0x80,0xE8,0xBB,0x4F,0x03, -0x1D,0xC1,0xB3,0x5C,0xCB,0x5C,0x5F,0xF3,0x65,0x18,0xE0,0x7E,0xE5,0xEC,0x3A,0xC8, -0x20,0xCE,0xB9,0x5E,0x87,0x70,0xA3,0x5B,0x59,0x81,0x4A,0xFD,0xF3,0x32,0xA8,0xC6, -0xF0,0xB7,0xE8,0xF1,0x2D,0x82,0xC0,0x6B,0x36,0x40,0x14,0xC7,0xED,0x4F,0x10,0xB5, -0x7F,0x07,0x6A,0xFB,0x57,0xB4,0x27,0xCF,0x4A,0x89,0x63,0xE3,0x38,0xBC,0x7A,0x6F, -0x10,0x3C,0xDA,0xF4,0xEF,0xAA,0x5A,0xBC,0x8C,0x37,0x05,0x89,0x2A,0x04,0x66,0x1E, -0x9C,0x67,0xEF,0xC4,0xD0,0xCA,0xDF,0x5F,0x21,0x6C,0x73,0x64,0x8E,0x05,0x89,0x69, -0x06,0xB5,0xB5,0x86,0x04,0x40,0x7F,0x76,0xD1,0xC9,0x0F,0x02,0x49,0x4E,0xFF,0xC2, -0x1C,0x26,0xC1,0xC2,0x23,0x7C,0x66,0x59,0x15,0x7D,0x66,0x55,0xE2,0x45,0x12,0x88, -0x98,0xDD,0x93,0x93,0x69,0x11,0xB4,0x71,0xC8,0x43,0x96,0x93,0xB3,0x8E,0x7F,0x8F, -0xEC,0x92,0x25,0x46,0x29,0xCC,0xE4,0xD6,0xED,0x50,0xA5,0x81,0xEC,0xDD,0xC1,0x7C, -0x77,0xA7,0x0D,0x9A,0x27,0x32,0x42,0xE4,0xD2,0xD5,0xC5,0x62,0x2C,0x3F,0x9F,0x97, -0x4B,0x4F,0x75,0x06,0x38,0xEA,0xE6,0xF5,0x26,0x54,0xF7,0xB9,0x6D,0x11,0x99,0x17, -0xA7,0xDE,0x5C,0x35,0xE3,0x5B,0xF6,0xB3,0xD9,0x41,0xB0,0xB0,0x5F,0x90,0x6D,0xCC, -0xCD,0xB8,0xE2,0xF3,0xA1,0x89,0xAC,0x29,0xFD,0x44,0x46,0xFF,0x47,0xD6,0x2C,0x36, -0x39,0xB6,0x7A,0x20,0xCE,0xD7,0x6D,0x13,0x8E,0x3D,0x0A,0xB4,0x4D,0x28,0x71,0xBD, -0x42,0x08,0x60,0xF9,0xA3,0x86,0xA6,0x14,0x51,0x09,0xF5,0x4F,0xBE,0xD9,0x0A,0x44, -0x11,0xDB,0xA8,0x6A,0x83,0x3E,0x87,0xE6,0xDA,0x5D,0x7A,0xD0,0x78,0x00,0xAD,0x26, -0xF1,0x50,0x9A,0x6F,0xDD,0xFE,0x65,0x0D,0x30,0x6E,0x55,0x47,0xDA,0x3A,0xBB,0xD8, -0x2B,0x85,0x69,0x05,0xA6,0x0D,0x94,0xF4,0x0C,0xF7,0xFF,0xC4,0x45,0x8B,0x5B,0xC0, -0x19,0x7B,0xCF,0x0B,0x17,0x69,0x77,0x68,0x18,0xC7,0x52,0x07,0xF2,0xA0,0x79,0x0F, -0x9B,0x36,0x24,0xA9,0x68,0xD4,0xA2,0x2C,0xB3,0xB2,0x65,0x6A,0x27,0x53,0x13,0xD5, -0x2D,0x33,0xD0,0xF6,0x40,0xD3,0x0B,0x6C,0x53,0x03,0xFA,0x72,0xC0,0x21,0x8D,0xD4, -0xB6,0x29,0xA2,0xE3,0xFF,0x3B,0x1A,0xC7,0xF0,0xAA,0x00,0xA8,0xA0,0xCD,0x91,0xA0, -0x84,0xD7,0x04,0xED,0x4E,0x5F,0xF9,0x5B,0xE4,0x9A,0xAD,0x6B,0x17,0xE6,0xB3,0x6F, -0x82,0x61,0xBD,0x1E,0xA8,0x81,0x66,0xC3,0xBB,0x6E,0xA8,0xDD,0x92,0x4C,0x65,0x7B, -0x34,0x64,0x49,0x41,0x80,0x86,0xCF,0x83,0x5B,0xDF,0x37,0xC5,0x75,0x3E,0xFB,0x7A, -0xED,0x5A,0x0D,0x11,0x4B,0xD4,0xCB,0xBB,0xB9,0x64,0xA7,0xE0,0xEC,0xB4,0xE2,0xEB, -0x96,0xE4,0x17,0xC8,0x26,0x85,0x00,0xBC,0x66,0x50,0x58,0x1B,0x1F,0x45,0x99,0x12, -0x5E,0x02,0xF7,0x87,0x35,0xAC,0x08,0xA2,0xD8,0x03,0x07,0xE8,0x88,0x57,0x53,0x77, -0xBE,0x89,0xC5,0x82,0x6B,0x6C,0xEA,0x49,0x32,0x30,0x28,0x7F,0x2A,0x6D,0x45,0x89, -0xE4,0x1D,0x18,0xEE,0xD0,0xB8,0x8B,0x5A,0xCE,0x39,0xA5,0x16,0x3F,0x7C,0x71,0xB8, -0xD8,0xF5,0x60,0x72,0xCF,0x60,0x2F,0x4B,0x3A,0xB8,0x97,0xCD,0x7E,0x52,0x77,0x38, -0x62,0xEA,0x8F,0x1B,0x49,0xDB,0xC1,0x86,0x15,0x29,0x14,0x50,0x15,0xBB,0xC4,0x99, -0x08,0x8C,0x31,0xDD,0x0B,0x09,0x9B,0x1C,0x31,0x2C,0xE2,0x1F,0x0D,0xFD,0x85,0x63, -0xB3,0x74,0xAC,0x2A,0xCB,0x2E,0x0B,0xF6,0xFD,0x10,0x34,0xFA,0xB0,0x28,0xFA,0x27, -0xA9,0xE7,0xD8,0x6E,0xEC,0x12,0x12,0xD9,0x39,0xA4,0x5D,0xAD,0x1B,0x23,0x17,0x6D, -0x43,0xC0,0x48,0xAE,0xC1,0x9E,0x89,0x79,0x05,0x3D,0xF7,0x2E,0xBE,0xB0,0x29,0xD3, -0x37,0x8F,0xFE,0x7B,0x81,0x43,0xD9,0xDE,0x20,0x2E,0xC4,0x3C,0xE1,0xE3,0x97,0x20, -0xD0,0x55,0x07,0x13,0xBF,0xE6,0x4A,0x60,0xA2,0xE4,0x31,0x4C,0x6A,0xD1,0x92,0xC0, -0x5F,0xE5,0x85,0x19,0xC5,0xD0,0xAD,0xC4,0xDE,0x2D,0x46,0x68,0xBF,0x22,0xF8,0x1A, -0x33,0x35,0x82,0x2C,0x38,0x98,0xB2,0xF0,0xC9,0x01,0x21,0xCB,0xDC,0x68,0x61,0xC6, -0xBF,0x6E,0xB7,0x1C,0x07,0xF8,0x37,0x13,0x64,0x5A,0x57,0x26,0x78,0x69,0x8E,0xB1, -0xDA,0xF9,0xA5,0xD6,0xF7,0x84,0x92,0x75,0x9B,0x4F,0x10,0x2F,0xBA,0xD6,0xA7,0xAC, -0x41,0xCC,0x8D,0x0A,0x76,0xBB,0x44,0x65,0x9F,0x6B,0x5E,0x92,0x94,0x77,0x9C,0xF2, -0x8F,0x9C,0xD4,0xB6,0x6F,0x22,0xCE,0xF4,0xB1,0xEC,0x18,0x52,0xA1,0x5F,0x40,0x69, -0xB2,0x93,0xDE,0xB4,0x23,0x0E,0x32,0x5C,0x8D,0x75,0xB2,0xD1,0xB7,0x81,0xD2,0x67, -0x85,0x30,0x76,0x73,0xE5,0x68,0x8C,0x36,0x8A,0x4D,0x36,0x0C,0x05,0x5E,0xAF,0x1E, -0xE2,0xAB,0xA1,0x1D,0xE9,0x99,0x20,0x39,0xF9,0x34,0x7A,0x47,0x66,0x14,0x36,0xC2, -0x6C,0xFC,0x51,0x89,0x2E,0x3A,0x88,0x0E,0xD5,0xB9,0x33,0xBA,0xCB,0x24,0x22,0x01, -0xBD,0x62,0x72,0xB8,0x01,0xB9,0x19,0x93,0xB5,0xC8,0x56,0xEF,0xC8,0xEB,0x84,0x3E, -0xCC,0x70,0xCA,0xA4,0x2B,0xB1,0xBA,0xEE,0x8C,0x63,0x77,0x8C,0x11,0xDD,0x4A,0xE6, -0xAE,0xB6,0x13,0x03,0x47,0x25,0x67,0xB4,0xF4,0x8E,0x4E,0x15,0x73,0x05,0x02,0xF3, -0x9E,0x44,0x70,0xA9,0xDA,0x08,0x09,0xD5,0xCD,0x25,0x6F,0x76,0x4F,0x1C,0x25,0xDC, -0x59,0x53,0x3C,0xEA,0x08,0xC3,0x87,0x7C,0x51,0x5D,0x87,0x4A,0xF3,0x5B,0x8B,0x51, -0x3A,0x72,0x97,0xD3,0xC3,0x91,0x83,0x44,0x09,0x91,0x06,0x21,0xA4,0xAB,0x1F,0xDF, -0x19,0x54,0x95,0xC2,0xE0,0xE3,0xBE,0xD6,0x14,0x3F,0xD1,0x0D,0xFA,0x6A,0x70,0xE5, -0x22,0xED,0x26,0x33,0xB2,0xD2,0xF0,0x32,0x74,0x4E,0xB4,0x58,0xAF,0xC7,0x93,0x9D, -0x17,0x42,0x4B,0x50,0x06,0x3D,0x21,0x4E,0x3F,0x8A,0x1C,0x2D,0x7C,0x0F,0x00,0xCE, -0xA1,0x47,0xBF,0x0F,0x04,0x32,0x2B,0x73,0x52,0x41,0x4D,0x2A,0x4A,0xE8,0x7A,0x6A, -0x90,0x52,0xAE,0x3B,0x56,0x03,0x65,0x97,0xD4,0xAF,0xF6,0xE7,0xFF,0x9E,0x2F,0x53, -0x3B,0x95,0xE5,0x4D,0x27,0x40,0x16,0xE1,0x98,0x53,0xDA,0x4F,0x90,0x11,0x12,0x8D, -0x57,0x45,0xE2,0x78,0xBD,0xE9,0x40,0x5D,0x37,0x02,0xA3,0x9F,0xB5,0xDC,0xA5,0x91, -0xF5,0xC5,0xBC,0xF1,0x3D,0x13,0x80,0x10,0x67,0x46,0x9D,0x46,0x1E,0xD7,0x48,0xDB, -0xEA,0x0B,0xC6,0x7C,0x10,0x9F,0x1B,0xB0,0x16,0x35,0xDE,0x30,0x7F,0xC0,0xA6,0xF1, -0x2B,0xAA,0x33,0xCC,0xCA,0xEB,0x1D,0xAB,0x88,0x47,0x39,0x31,0xFE,0x0C,0xFE,0x9A, -0xFE,0x8E,0x6C,0xAA,0xAB,0x4B,0x7A,0xA3,0xFC,0x06,0xF1,0xA7,0xAE,0x55,0x42,0x54, -0x00,0x2C,0x56,0xBC,0x44,0xEF,0x7B,0xD4,0xE8,0x36,0x5C,0x64,0xE0,0x71,0x46,0xE9, -0xD7,0x04,0xCC,0x7E,0xE7,0x67,0x86,0x0B,0x0C,0xA3,0x8D,0xC1,0xB3,0xE7,0x5C,0x18, -0xB7,0xCE,0xD0,0x7D,0x5A,0xF2,0xC9,0x98,0xD9,0x15,0xC2,0xB5,0xC9,0x79,0x55,0xF7, -0x35,0x83,0x3B,0xDF,0x4F,0x9A,0xEF,0x06,0x4C,0xF3,0x50,0x66,0x82,0xA9,0x0E,0xFC, -0x0A,0x80,0xF4,0x79,0x3E,0xD9,0x9C,0x70,0x5E,0xED,0xBC,0x25,0xE8,0xD2,0x6C,0x94, -0x14,0xA9,0xFC,0x6A,0x62,0x16,0x74,0xA6,0xC6,0xB1,0x1A,0xA4,0x7D,0x9D,0xD1,0x07, -0xA5,0xFD,0xC3,0x58,0x9A,0xD5,0x59,0x72,0x59,0xD5,0x38,0xF8,0x19,0x7E,0x60,0x9B, -0xEC,0xBD,0x7F,0x8F,0x9D,0x51,0x61,0xAF,0xF3,0xB6,0xCA,0xC8,0xEE,0xE9,0x95,0x1D, -0x9C,0x48,0xB5,0x0D,0xBE,0x23,0x5C,0x3D,0x24,0x0A,0x8A,0x81,0x3E,0xEE,0xA0,0x71, -0x56,0xA2,0x90,0xE6,0x3C,0xD6,0x96,0x4D,0xAD,0x54,0x0A,0x23,0x20,0x93,0x18,0x02, -0x8B,0x26,0xA8,0xE1,0x90,0x65,0xDB,0xFD,0x75,0x58,0x71,0x05,0x49,0x27,0xDC,0x55, -0x74,0x63,0xE0,0x69,0xA3,0xF4,0xF2,0x11,0xF6,0x84,0x41,0x28,0xD3,0x62,0x63,0xFB, -0xCA,0xC6,0x73,0x57,0x30,0x27,0x3A,0x42,0x96,0xF5,0x24,0x7D,0x8B,0x98,0xF5,0x48, -0xE3,0x4C,0xD3,0x83,0xB7,0x59,0xC2,0xD2,0x9E,0x7D,0x9B,0xCF,0x6B,0x43,0x43,0x09, -0xFF,0x69,0x1E,0x34,0xAC,0xCF,0x42,0x7E,0x86,0xE1,0xC7,0x03,0xF0,0x94,0x2D,0x6E, -0x0F,0xDD,0xFA,0xB0,0xDB,0xCD,0x1F,0x88,0xD7,0xB3,0x3C,0x87,0x0C,0x6F,0x54,0xAA, -0x8E,0x7B,0xA6,0x28,0x5D,0x76,0xF1,0x45,0x68,0xF6,0xA6,0x29,0xDF,0xA7,0xC7,0xF9, -0x95,0x0F,0xA0,0xF2,0xEF,0xD8,0x0E,0xB9,0xA1,0xF8,0xFB,0x2C,0x01,0x38,0x21,0x61, -0x40,0x2B,0xFF,0x94,0x7F,0xC1,0xDA,0x8A,0x5F,0xFB,0x79,0x78,0x2F,0x99,0x1A,0x3F, -0x24,0x5B,0x9F,0xC0,0xEB,0x96,0x2A,0x04,0x6D,0xC4,0x2D,0xC9,0x6D,0x78,0xBA,0x80, -0x8F,0x15,0xDC,0x08,0x78,0x37,0x1D,0x00,0x6F,0x7C,0x1D,0xEE,0x77,0x1A,0xD1,0x28, -0xE3,0x4F,0x48,0xD5,0xA1,0x55,0xDB,0xA7,0xB7,0x1E,0x08,0xA6,0xEE,0x23,0x3C,0x50, -0x7E,0x2E,0x65,0xBB,0xC2,0x65,0x29,0x0D,0xAE,0x22,0x27,0x81,0x8D,0x02,0x97,0x69, -0xAC,0x87,0xAE,0x35,0x8E,0xA2,0x3E,0x4E,0xE9,0x9E,0xAA,0x2F,0xB1,0xEA,0xEF,0xF5, -0x41,0xCD,0x05,0x3E,0xC4,0x7E,0x5D,0xD7,0xEC,0x68,0xE5,0x0B,0xF7,0x5B,0xFF,0x2E, -0x4D,0xC2,0xF4,0x92,0x13,0x19,0xC6,0xB9,0xA6,0x0B,0x39,0x92,0xBC,0x17,0x86,0x5D, -0x8A,0xF5,0x57,0x3A,0xE3,0x97,0x91,0x2D,0x96,0xA6,0xFA,0x86,0x41,0x5E,0x0B,0x71, -0xA5,0x68,0xD4,0xAB,0xC0,0x46,0x0F,0x1C,0x59,0xA5,0xC5,0x20,0x14,0x3B,0x7A,0x11, -0x53,0x8E,0xE9,0x20,0x17,0x21,0x94,0x72,0x64,0xD7,0x57,0x03,0xD4,0x7D,0xFD,0x3F, -0xD2,0x9E,0xD6,0xF6,0x3F,0xBA,0xA1,0xAE,0xC5,0xF9,0x09,0x38,0x69,0x33,0xD9,0x3B, -0xCB,0x0F,0x4F,0x7C,0x66,0x74,0xF1,0x12,0xED,0xCC,0x92,0xE4,0xA9,0x75,0x5E,0x15, -0x87,0xA7,0x63,0x80,0x6C,0x49,0xFE,0x10,0x33,0xDA,0x9C,0x76,0x2A,0xDF,0xC7,0x29, -0x1B,0x9B,0x8B,0xF8,0xB5,0x2B,0x38,0xB7,0x63,0x07,0x3B,0x36,0xB7,0x5C,0x56,0x06, -0x61,0x3F,0xBD,0x1F,0x37,0xA4,0x88,0xBD,0x90,0xD2,0xE1,0x5C,0x93,0x2B,0x9F,0x7A, -0x9C,0x0B,0xF5,0x00,0x30,0xC8,0x58,0x88,0xDA,0xB1,0x3D,0xC5,0x30,0x4C,0xB3,0x6D, -0xA3,0xE8,0x95,0x85,0x05,0x44,0x03,0xB8,0xDB,0x15,0x4A,0x2A,0xDD,0x3A,0xE8,0xC0, -0x6F,0x0D,0x43,0xB9,0x1E,0x48,0x19,0x8E,0x9A,0xDD,0xDC,0x5E,0x01,0x59,0xA2,0x59, -0x48,0x22,0x7F,0xA0,0x6A,0x52,0x8A,0xCA,0x91,0x76,0x96,0xB3,0x56,0x30,0x16,0x9D, -0x65,0x82,0xF3,0x3B,0xFA,0xB8,0xAD,0x0A,0x02,0xD3,0x28,0x8D,0xD5,0x9A,0x8F,0xA1, -0x25,0x25,0x2E,0x6B,0x4C,0xCC,0xE2,0xDF,0x51,0x8C,0xDB,0x33,0xC7,0xA9,0x9C,0x84, -0x74,0xA1,0xD5,0x39,0xAA,0x1F,0x70,0x4A,0xCE,0x52,0x43,0xD5,0xED,0xC8,0x8B,0x6A, -0x6B,0xB0,0x0D,0x9D,0xD2,0x23,0x98,0xD6,0xE0,0x13,0xC3,0xD3,0x36,0xFA,0x0A,0x9E, -0xED,0x7D,0xB6,0x73,0x3D,0x99,0x87,0xBF,0x09,0x78,0x62,0x60,0xAB,0x79,0x9B,0xB1, -0xAF,0xE7,0x64,0x29,0x83,0xF3,0xE1,0x79,0x4F,0x60,0x98,0x21,0xE4,0x8F,0x9E,0x95, -0xEF,0x40,0xB9,0x79,0xBF,0x16,0x37,0xB5,0x06,0x81,0x10,0x46,0x1B,0xCA,0xD6,0x1D, -0x82,0x47,0xE8,0xB2,0xA5,0x6D,0x89,0x6C,0xF7,0x72,0xE9,0x3D,0xE0,0x35,0xE2,0xC2, -0x91,0x59,0xC1,0xBA,0x45,0xA5,0x6F,0x23,0xE5,0xE5,0x8C,0xF7,0x13,0x6A,0xB1,0x7C, -0xCF,0xB2,0x01,0x58,0x77,0x45,0xE4,0x26,0xDF,0x47,0x72,0xE1,0x84,0x45,0x82,0x96, -0x5B,0x3C,0x56,0xA8,0x10,0x4D,0x44,0x47,0x7F,0xCD,0x5B,0x35,0x53,0x6D,0x18,0x54, -0xEA,0xA0,0x32,0x4B,0xB6,0x7F,0xBA,0x49,0x54,0x7A,0x94,0x17,0x90,0xC0,0x28,0x40, -0x0C,0x38,0xEC,0xD4,0x0F,0x79,0x0C,0xBA,0xFE,0xFF,0x80,0xC1,0x26,0xC5,0xDC,0x1F, -0x24,0x78,0xEB,0x7D,0xFB,0xCF,0x09,0xE5,0x8C,0x18,0x81,0x5F,0x3E,0x5A,0x6D,0xFF, -0xF9,0xBE,0x1B,0x43,0x14,0x75,0x16,0x8C,0x15,0xB2,0x02,0x63,0xD2,0xCB,0x44,0xCC, -0x4B,0x42,0xB5,0xBC,0x12,0x6E,0x62,0x56,0x8A,0x6C,0x9A,0x85,0xD7,0x96,0x4A,0x05, -0xDB,0x71,0xAC,0x68,0x4D,0xBB,0x46,0x30,0x2B,0x42,0xC4,0xBE,0x83,0x14,0x49,0xFB, -0x4F,0xFF,0xFB,0x98,0x2D,0xDF,0x36,0x64,0xCA,0x00,0x7B,0x1E,0x32,0x40,0x76,0xC9, -0x94,0xB9,0x4A,0x88,0xC1,0x31,0xAB,0xF3,0x2A,0xE6,0xB3,0x51,0x86,0x49,0x47,0x32, -0x13,0x29,0x34,0x70,0x61,0x18,0x21,0x27,0xF1,0x06,0xF2,0xE7,0x34,0xF6,0xCF,0x3A, -0x08,0x85,0xA2,0xF0,0xAC,0x04,0x04,0x90,0x26,0x9D,0x95,0x89,0xF8,0xAA,0x53,0x22, -0x7F,0x73,0xA0,0xAD,0x48,0xF4,0xB0,0x14,0xDD,0x61,0x51,0xF0,0x7C,0x51,0x01,0x73, -0x1A,0xC6,0x4E,0xEE,0x07,0x67,0x25,0xA9,0x5C,0x53,0x8A,0x04,0x7A,0xE7,0xB8,0x80, -0x98,0xB6,0xBB,0x24,0x22,0xAD,0xCF,0x42,0x21,0x4D,0xF9,0xBC,0xD8,0x67,0xE6,0x09, -0x34,0x06,0x08,0x69,0x1A,0x70,0x4B,0x45,0x95,0x24,0xAE,0x78,0xFE,0x1C,0xEA,0xD1, -0x07,0xEA,0x99,0x40,0x52,0x8F,0x0E,0xCD,0xD0,0xBE,0x00,0xC7,0xD3,0x2C,0x36,0x52, -0x9A,0x8B,0xB4,0x2E,0x46,0xF1,0xED,0xDD,0x60,0x85,0x6F,0xC8,0xDE,0xD1,0x5F,0xFA, -0xC6,0x5D,0x7B,0xC6,0x4E,0xEF,0xC4,0xCE,0x2F,0x10,0xFC,0x75,0x5F,0x77,0x03,0x62, -0x3E,0x89,0xB8,0xEB,0x71,0x5E,0x90,0xFC,0xCC,0x74,0x60,0xC4,0x03,0x55,0x67,0xFD, -0x39,0x54,0x3C,0xD3,0xCD,0x17,0xD0,0x2B,0x5B,0x83,0xE6,0x31,0x33,0xA7,0x04,0x57, -0xE0,0x2F,0x82,0xC9,0xE4,0xFB,0x41,0x18,0xC3,0x8D,0x12,0xE2,0x9F,0x31,0x84,0x4C, -0x43,0xF0,0x0A,0x34,0x7E,0x2C,0x69,0xDA,0x55,0xDE,0xE3,0xF8,0x3A,0xE0,0x11,0xA8, -0xFE,0x63,0x9F,0x7B,0x62,0x4C,0xA3,0xD9,0xCB,0xA4,0x0C,0xF1,0x4E,0xAF,0xA7,0x7D, -0xEB,0xFD,0xF7,0x5D,0x89,0xCE,0xEE,0x7B,0x1B,0xEF,0x07,0xAA,0x9D,0x3D,0x41,0xE8, -0x99,0xEB,0x7E,0x32,0x0E,0x0E,0xA8,0x55,0x65,0x73,0x20,0xEC,0xBD,0xF0,0xF4,0xC3, -0xB4,0x4B,0xF2,0xA9,0x74,0x11,0x66,0xD8,0x72,0x12,0x0A,0x02,0xCB,0xB3,0x87,0xB2, -0x6E,0x50,0x86,0xAF,0x81,0xD0,0xC7,0x68,0xBE,0x93,0x61,0x5A,0xCA,0x54,0xF5,0x2C, -0x0F,0x58,0x26,0xC8,0xDE,0x05,0xE3,0x0E,0xE7,0xC3,0xAF,0xE6,0x5C,0x9C,0xB4,0x58, -0xA0,0x88,0x5F,0x99,0x0D,0x5A,0x2A,0xAB,0x5A,0x27,0x91,0xDE,0xD1,0x20,0xF3,0xF6, -0xF2,0x6C,0x6E,0xD7,0x1C,0x6B,0x3F,0x9F,0x2C,0x92,0xA8,0x8B,0x1C,0x9B,0x1D,0x70, -0x83,0x1A,0x2D,0xA4,0x57,0xC0,0xF8,0xE9,0xA3,0xFD,0x76,0xB6,0xB4,0xB7,0xE1,0x3C, -0x19,0xA6,0x84,0xF2,0x50,0xAC,0x28,0xDC,0x6E,0xD8,0x6A,0x01,0x64,0xCE,0xB0,0x93, -0x67,0xBF,0xFC,0x31,0x25,0xC1,0x1F,0x77,0x19,0xC9,0x24,0xBB,0xDA,0x6B,0x23,0xAD, -0x44,0x2D,0x8E,0x0C,0x27,0xE2,0x39,0x66,0xD8,0x97,0x1E,0xD4,0xF6,0xBC,0x8D,0xB0, -0x16,0xC9,0xBF,0x42,0x94,0xD9,0x80,0x97,0x75,0xC2,0x66,0x37,0xA3,0xD9,0xFC,0xD0, -0xA2,0xB5,0x50,0x93,0xF9,0xEC,0x2F,0xF4,0xBD,0x11,0x35,0xA4,0xD6,0x71,0x38,0x9B, -0x81,0x94,0x45,0xA5,0x49,0x86,0x06,0x9F,0xD2,0x61,0xE8,0x48,0x8E,0xB4,0xF6,0x17, -0x3D,0x43,0x0C,0xE5,0xCD,0x81,0xDB,0xA7,0x20,0x51,0x42,0x2B,0x7B,0x32,0x01,0x80, -0x02,0x71,0xBD,0xB1,0x0E,0x79,0x0F,0x8A,0x02,0x0D,0xDD,0x4F,0xCA,0xAE,0x65,0x63, -0x0A,0x62,0xA3,0x98,0xC1,0x25,0xD9,0x62,0xA4,0x8C,0x45,0x13,0x77,0x3D,0xF0,0x2C, -0x1E,0x72,0xDD,0x7B,0xEC,0xB8,0xB8,0x0C,0x59,0x81,0xED,0x7A,0x78,0x52,0xCB,0x9C, -0x56,0xFA,0x22,0x3E,0x7D,0x8B,0x54,0x25,0x69,0xAC,0x6E,0xA6,0xC7,0xFC,0x51,0xD9, -0x6E,0xFD,0xFF,0xBA,0xCE,0x27,0xE4,0x68,0x12,0x8A,0xB6,0xAA,0x03,0xAB,0x38,0x6D, -0x4B,0x16,0x35,0x50,0x3B,0xA5,0x94,0xA2,0x92,0x28,0x3F,0xF4,0xBB,0xD8,0x26,0x10, -0x04,0xAB,0xA6,0xC5,0xD5,0xC0,0x21,0xE1,0x24,0x2E,0xCC,0x4D,0x4F,0x03,0x14,0x91, -0xE0,0x2F,0x56,0x71,0xD7,0xB7,0xD7,0xBC,0xDF,0xAA,0x9D,0x1F,0x36,0xC7,0xE8,0x6A, -0x2D,0x98,0x4A,0x54,0x41,0xAC,0x7B,0x3C,0x83,0x66,0x85,0x83,0x58,0xA0,0x73,0xBD, -0x8D,0x4C,0x63,0xDE,0x3F,0x2B,0xEB,0xC4,0x3C,0xD4,0x8D,0x0B,0xEE,0xE1,0x93,0x66, -0x61,0xDB,0x8D,0x43,0x8E,0xF0,0xAD,0xD4,0x35,0x60,0x76,0x3A,0xA1,0x29,0x75,0x86, -0x01,0x8F,0xE9,0x33,0xD9,0x64,0x23,0x24,0x61,0xD1,0x44,0x05,0x01,0x96,0x37,0x67, -0x5E,0xE9,0x3C,0x17,0xC0,0xF4,0x10,0xF0,0xE3,0x85,0xBA,0x06,0x3A,0xC8,0x19,0xC6, -0x58,0x33,0x27,0x63,0x6E,0x46,0xEC,0x0F,0xBE,0x80,0x73,0x08,0xDC,0x50,0xC7,0x59, -0xB5,0x4B,0xBE,0x5A,0x25,0x1D,0xE7,0xDF,0x04,0x84,0x24,0x74,0x1B,0x67,0x64,0xF1, -0xD8,0x28,0x8B,0xF5,0xCA,0xA9,0x9B,0x0E,0xAC,0xF1,0x6F,0xB0,0x88,0x34,0xB7,0x39, -0x6B,0xD9,0xB0,0x4C,0xFB,0xFB,0x7F,0x40,0xC9,0xA4,0x0F,0xC1,0x6B,0x4C,0xE2,0x94, -0x69,0xC8,0x93,0x6A,0x89,0xD8,0xED,0x7D,0x1E,0x88,0x12,0x6F,0x04,0x76,0xBC,0x55, -0x1C,0x63,0xFE,0x5D,0xF1,0xA6,0xF4,0xBE,0xBB,0x36,0x2C,0xFC,0xBE,0x38,0xAD,0x22, -0x1B,0x56,0x92,0x8D,0x58,0x3C,0x48,0xE8,0xC2,0xE6,0x83,0xAD,0x09,0x24,0x88,0xEF, -0x50,0x20,0x39,0x4A,0x1B,0x4D,0x3E,0x9B,0xEE,0x4E,0xCF,0x51,0x34,0xFA,0xE7,0x60, -0x41,0x14,0x08,0x5F,0x2A,0x1F,0xDA,0xD5,0x55,0x83,0x49,0xBF,0x61,0xC3,0x52,0x16, -0x92,0xB1,0x57,0x96,0x53,0xB0,0x0A,0x84,0xE9,0x0E,0xE7,0xF8,0x59,0xFD,0xB6,0xAB, -0xCD,0xD7,0x82,0xB2,0xF3,0xD1,0x02,0xE3,0x21,0x98,0x93,0xB9,0xE5,0x33,0xE6,0xF2, -0x38,0x67,0x43,0x13,0x87,0x0B,0x19,0xE5,0xC6,0x99,0x0D,0xCB,0xBD,0x58,0x67,0x3E, -0x42,0xEA,0x5C,0xDD,0x0B,0x26,0xB9,0x7E,0x85,0xEF,0x7C,0xB8,0x53,0x72,0x06,0x29, -0xC5,0xC4,0x9C,0x9B,0x82,0x54,0xAF,0x11,0x48,0xCF,0x57,0x0D,0x15,0x55,0x9A,0x57, -0x2E,0x66,0x1E,0xD6,0xEA,0x41,0x31,0x37,0xDA,0x1C,0xC2,0xEB,0x4E,0x5E,0xD1,0x87, -0x32,0x65,0x7E,0x1C,0x7F,0xFC,0xA2,0x78,0x95,0x68,0x17,0x5D,0x47,0xB1,0xAB,0x19, -0xA8,0xA7,0xA9,0x34,0xF7,0x5F,0x7D,0x85,0x44,0xCD,0xF3,0xC8,0x5D,0x40,0xF8,0x8F, -0x49,0x07,0x16,0x76,0xE0,0x1C,0xBA,0xC9,0x4F,0x8F,0x7F,0xA4,0x95,0x18,0x60,0x97, -0x7C,0x37,0x9A,0x2D,0x80,0x23,0x59,0x4C,0x39,0x62,0xD2,0xFF,0x7A,0x6F,0xC4,0x96, -0x7B,0x02,0xF6,0xFD,0xC8,0xDE,0x6D,0x53,0x5E,0xC1,0xC5,0xD3,0xE3,0xB3,0xA7,0xDC, -0xF9,0x08,0x79,0x4D,0xFE,0xA4,0xC9,0xB4,0x29,0xE5,0xB9,0x1A,0x89,0x69,0x72,0x2F, -0x20,0xAF,0x1B,0x8B,0x16,0x38,0xF5,0xCC,0xAA,0x78,0x96,0x8B,0xC9,0xCE,0xAF,0x7F, -0x2A,0xAD,0x26,0x84,0x3A,0x74,0x5D,0x30,0x00,0xFB,0xAA,0x12,0x5B,0xC0,0xB9,0xA1, -0x73,0x11,0xE8,0xD4,0xA3,0x6D,0xCC,0xBA,0x46,0x3B,0x84,0x95,0x87,0x5B,0x8C,0x89, -0x5B,0xCD,0x73,0xE1,0x9C,0xEC,0xDC,0x6C,0x08,0x86,0x80,0xB1,0xBC,0x05,0xA2,0x28, -0x8C,0xA3,0x14,0x7A,0xA1,0x1A,0x3A,0xE7,0x4E,0x46,0xAE,0x36,0x9F,0x97,0xD0,0x15, -0xAF,0x92,0xC5,0xE4,0x22,0x35,0xA7,0x76,0x2B,0x13,0xCE,0x47,0x39,0xA8,0xD3,0xDA, -0x5F,0x06,0x4B,0xB3,0x81,0xF2,0x90,0xDE,0x62,0xEE,0xE2,0xCA,0x2D,0x6B,0x7E,0xEA, -0x88,0x68,0x2C,0x28,0x70,0xFE,0x9F,0x72,0x2E,0xA5,0x91,0xB3,0xB4,0xB7,0x1D,0xA0, -0xC2,0xF1,0xF0,0x4B,0xDB,0x13,0xD5,0x79,0x9F,0xE3,0x4A,0xA3,0x90,0xF8,0xEB,0xA5, -0x8E,0xB2,0x37,0x5C,0x10,0xC1,0x7C,0xF7,0x77,0xDF,0xD6,0xDB,0x3E,0x75,0x57,0xE2, -0xED,0x18,0x07,0xAE,0x3D,0x5C,0x1D,0x99,0x56,0xBC,0xEF,0x70,0x19,0x5A,0x6B,0xFB, -0x34,0xBF,0x65,0x68,0xA9,0x30,0x47,0x44,0x6F,0x25,0x97,0x9D,0x51,0x4F,0x09,0x23, -0xB7,0x5A,0x9D,0x7C,0x9E,0x9B,0x2A,0x31,0x2F,0x6C,0x40,0x21,0xE0,0xD3,0x6D,0xC0, -0x43,0x05,0x2B,0x79,0x99,0xB3,0x6A,0x98,0xB0,0x74,0xA0,0x90,0x7E,0xD2,0x8A,0xB2, -0xFA,0xF6,0x2D,0xCF,0x47,0x55,0xF2,0x07,0xB5,0xC2,0xFF,0x64,0xA8,0xC6,0x0F,0x18, -0x5C,0xF8,0x1F,0x31,0x23,0xE4,0x6E,0xE4,0x18,0x01,0xEB,0x54,0x8A,0x09,0xB8,0x33, -0x3B,0x99,0x17,0x91,0x74,0x70,0xE0,0x14,0x30,0xD6,0x29,0xCE,0x5E,0x20,0x32,0x93, -0x09,0x9C,0xF7,0x1A,0xB4,0x2E,0x0B,0xF6,0x1F,0x41,0xC3,0xFD,0x48,0xDE,0x90,0xA9, -0xE9,0xD3,0x3F,0xFC,0x9D,0x3D,0x15,0xFE,0x40,0xB2,0x7D,0xAE,0x82,0xBB,0x07,0xBB, -0xF3,0x0A,0x44,0x42,0xCC,0x50,0x12,0x35,0xBF,0x49,0xA2,0x9A,0xF9,0x42,0xF4,0x4A, -0xCF,0xC6,0xA1,0x94,0x11,0x10,0xB5,0x65,0xFA,0xB6,0x2A,0xD2,0x9E,0xCA,0x15,0x03, -0x71,0x00,0xCB,0xF2,0xC3,0x52,0x2F,0x3F,0x0C,0xF9,0x0E,0xD7,0xDF,0x30,0x0D,0x45, -0x9E,0x69,0x71,0xED,0x78,0xD4,0xE2,0xD1,0x8F,0x64,0x21,0x46,0x6C,0x91,0x66,0xAC, -0xE6,0xF5,0x4D,0x05,0xA0,0xCB,0xF3,0x75,0xBD,0xBF,0xD5,0xC7,0x6A,0x11,0x27,0x82, -0x00,0x60,0x9E,0x97,0x5B,0x9A,0x77,0x27,0xDC,0x95,0x3B,0xD0,0x8C,0x89,0xF9,0x1D, -0xB6,0xB5,0xEA,0xD8,0x86,0xDA,0xD0,0x77,0xEF,0x87,0x1E,0xC3,0x32,0x7A,0xA6,0x4E, -0x26,0x75,0x00,0xFF,0x0A,0xF7,0x70,0xEC,0x45,0x04,0x22,0x5A,0x0C,0xC4,0x03,0xDD, -0x52,0x31,0x1A,0x6C,0x36,0xD0,0x5F,0xF5,0x2C,0x53,0xE6,0xEE,0xE1,0x8E,0xA8,0xD6, -0x84,0x76,0x6D,0x94,0x89,0xA1,0xC3,0xA8,0x5A,0x5B,0xAF,0x5C,0x55,0x9B,0xDA,0x11, -0x78,0xD8,0x92,0x26,0x53,0xD5,0xC5,0xB3,0xBC,0xC4,0x71,0xC4,0x08,0x95,0x13,0x14, -0x39,0x38,0x49,0x90,0xBB,0xF5,0xFC,0x19,0xC1,0x1B,0xC3,0xBD,0x83,0xA7,0x16,0xF4, -0xB7,0x6F,0xB9,0x04,0xEF,0x85,0x9C,0x7D,0x61,0xFA,0x81,0x02,0xD7,0x98,0x24,0x45, -0xEF,0xF7,0xA1,0xCC,0xF8,0xE2,0xB0,0xDE,0x38,0x20,0xC5,0x34,0x35,0x1E,0xE5,0xF2, -0x7F,0x89,0x59,0x4B,0x2C,0x68,0x10,0xF7,0x8E,0xFB,0x25,0x75,0x8A,0x96,0xED,0x40, -0xB5,0x63,0x7C,0xA0,0xCB,0x73,0x99,0x32,0x2F,0x0C,0xA2,0x97,0x92,0xD0,0xAC,0xBA, -0x43,0x61,0x21,0xD7,0x4F,0xC7,0x7D,0xC2,0x56,0xF7,0x5E,0x53,0x69,0x82,0xFD,0x3E, -0x70,0x78,0xF5,0x47,0x9D,0x0C,0xF3,0x6B,0x63,0xF0,0x8E,0x3F,0xA4,0x37,0xD6,0x1E, -0x00,0x8D,0x3F,0xC5,0x76,0xE6,0xD6,0xA1,0xDB,0x8D,0x90,0x4C,0x24,0x69,0x5F,0xBC, -0x2C,0x5A,0x91,0xD8,0x12,0xCD,0x83,0x49,0x18,0x01,0x7D,0xC6,0xEF,0xE7,0x8D,0x15, -0xC0,0xCB,0xB8,0xEB,0x9A,0x88,0xCB,0xB6,0xA7,0x44,0xE7,0x68,0xDF,0x3B,0x0E,0x38, -0x9B,0xB8,0x17,0x19,0x11,0x07,0x9F,0x29,0xAA,0xFE,0xD3,0x3A,0xB4,0xD2,0xBD,0x99, -0x4D,0x77,0xFF,0x45,0x02,0x2E,0x97,0x37,0x17,0xB1,0x46,0xA9,0x12,0x8E,0x25,0x18, -0x92,0xFF,0x02,0xE6,0xF4,0x13,0x1C,0xD1,0xEE,0x8A,0x40,0x20,0x64,0xD5,0x88,0xF5, -0x4F,0x7B,0x3A,0xE1,0x23,0x53,0xA0,0x98,0x1B,0x1D,0xB7,0xA6,0x96,0xB6,0x22,0xC5, -0x36,0xC9,0xE5,0x9C,0x05,0xAA,0xAF,0xEA,0x27,0x84,0x1D,0x25,0x23,0xC0,0x77,0xFC, -0xE9,0x41,0x18,0x3F,0xC7,0x82,0x35,0x3D,0x3D,0x12,0x4E,0xD4,0xF2,0x55,0x93,0x59, -0x3B,0x34,0x8C,0x34,0xA4,0x2D,0x58,0x08,0x75,0xCA,0x2C,0xC1,0xFE,0x90,0x37,0x5B, -0xA5,0x5C,0xAA,0x21,0x06,0x60,0xB3,0x8A,0x2E,0x1A,0x67,0xCA,0x6C,0x76,0xA2,0x88, -0x8D,0x31,0x78,0x6B,0x07,0xA5,0xA5,0xD7,0xDD,0xA3,0xD1,0xCC,0x70,0x56,0x6D,0x0D, -0x2D,0xBD,0xE3,0x46,0x8A,0x6B,0xDF,0xC8,0x33,0xB4,0xB0,0xE6,0x33,0x25,0x1C,0x7B, -0x9E,0xE5,0x19,0xD0,0xD1,0x20,0x0F,0xC3,0x39,0x36,0x00,0x69,0x5F,0x65,0x87,0x9A, -0x96,0x45,0x7E,0xB1,0xB7,0x04,0x50,0x16,0x85,0x6F,0x50,0xA7,0x97,0x24,0xF3,0x0C, -0xAA,0xAD,0x06,0x2D,0x40,0xFC,0xCD,0xAD,0x54,0xFD,0x51,0x6E,0x58,0xCC,0xAF,0xDA, -0x4E,0x9C,0x48,0x7F,0x74,0xE9,0xDC,0x9C,0x01,0x8B,0xE4,0x57,0xE3,0x22,0x29,0x17, -0x60,0x47,0x23,0xC6,0x03,0xEB,0x81,0x6A,0xDE,0xBF,0x1B,0xAC,0x0D,0x61,0x4C,0xA2, -0xDC,0xEE,0x75,0x5C,0x36,0x3B,0x86,0x06,0x69,0x72,0x3E,0xB0,0x74,0x30,0xE3,0x72, -0xEB,0x4D,0xDD,0x9B,0xB9,0xFA,0xF6,0x24,0x0B,0x09,0x54,0xD8,0x7F,0x5C,0x6F,0x30, -0x79,0x3F,0xE0,0xB8,0xA8,0xDC,0xF4,0x07,0x64,0xC8,0x0A,0xE2,0xA8,0xF2,0x72,0x1C, -0x73,0x93,0x42,0x7D,0x2B,0xEC,0x28,0x2A,0x7B,0x6C,0xD2,0xF3,0xB2,0xE9,0x44,0x10, -0x0F,0x7C,0x93,0xC9,0x48,0x43,0x45,0x1F,0xE8,0xA4,0x01,0xA0,0x1A,0x2D,0x0F,0x65, -0x89,0x8B,0x04,0x3C,0x78,0x18,0x70,0x93,0x79,0x66,0xDD,0xCE,0xE0,0xED,0x8F,0x28, -0xD3,0x1F,0xD9,0x50,0xDF,0xDE,0xA9,0xF1,0x31,0xBE,0xBF,0xDB,0xD9,0x00,0xF7,0xB1, -0x41,0x6D,0xE4,0x73,0x91,0xFD,0x5F,0x64,0xF0,0x38,0x5D,0x6C,0x29,0x3E,0x2A,0x77, -0xE8,0xA6,0x6A,0xA1,0xD2,0xEA,0x13,0xA3,0x5E,0x7F,0xE1,0xE1,0xC1,0x46,0xB6,0x4B, -0x04,0x37,0x43,0x92,0x66,0x05,0xC2,0xDF,0x4D,0x77,0xC8,0xFF,0xD4,0x57,0x82,0x7A, -0x0B,0xC6,0xEF,0x9E,0x08,0x9E,0x15,0xB8,0xD4,0x3D,0xAB,0x23,0x98,0x2E,0xF1,0x31, -0xAE,0x17,0x7A,0x7A,0xC3,0xCC,0x11,0x80,0xFF,0x88,0x66,0x03,0xF8,0xAB,0xCE,0xD2, -0x33,0x94,0xEB,0x55,0xF2,0x52,0x32,0x51,0x59,0x47,0x65,0x3C,0x9D,0xDA,0xAE,0x87, -0x58,0x15,0x27,0x0D,0x71,0x62,0xEE,0x7C,0xE7,0x14,0x3A,0xCF,0xF0,0x08,0xE4,0xAF, -0x48,0x2A,0xF1,0x8C,0xAD,0x57,0xC6,0xE7,0xDC,0xB5,0x14,0x91,0xBE,0x2C,0xE0,0x12, -0x61,0xA0,0x51,0x58,0xCF,0x3D,0xBD,0x8F,0xA9,0xE2,0x19,0x5A,0x1C,0x16,0xF6,0xEC, -0xC9,0x8C,0xAD,0x14,0xCD,0x32,0xB7,0xB2,0x3B,0x3C,0x0F,0x54,0xB6,0x8F,0xCA,0x6F, -0xF9,0x7E,0xCE,0xBE,0x62,0x4B,0xE6,0x62,0x83,0x41,0x11,0x27,0xE8,0x4E,0xA5,0x55, -0x5D,0x48,0x29,0xC4,0x68,0xFB,0x64,0xED,0xE9,0xB2,0xC4,0xFD,0x9F,0x87,0xD9,0x71, -0x2E,0x56,0x54,0x7C,0x67,0xC0,0xD4,0x82,0xF5,0x0A,0xD6,0x8C,0xF9,0x39,0x1F,0x1B, -0xCD,0x36,0xD1,0x43,0x57,0x9B,0xE1,0x0E,0x1A,0x0B,0x72,0xFB,0x8F,0x62,0xB2,0xF6, -0xE4,0xBC,0x71,0x97,0x15,0x49,0xBB,0x94,0x6C,0x40,0xB5,0x50,0xF3,0xC7,0x42,0x90, -0xCB,0x80,0x68,0xB0,0x51,0xDA,0xCF,0x8E,0x81,0x4B,0x1E,0x1A,0x9A,0x73,0x86,0xC7, -0xE3,0xED,0xBA,0xFA,0x00,0x21,0x9D,0x0A,0xEC,0x80,0x4F,0x1D,0x6A,0x4D,0x5B,0x01, -0x44,0x30,0xEA,0xBA,0xD5,0x6E,0x2B,0x7E,0x52,0xD3,0x10,0xEE,0x59,0x5E,0x7E,0x13, -0x76,0xCE,0x4C,0xB4,0x09,0x5B,0x03,0xE5,0x0C,0x31,0xD0,0x05,0x39,0xDB,0x41,0xF0, -0x67,0x16,0xE8,0xAB,0x95,0xB3,0x7B,0xD9,0x0A,0x1F,0x91,0x85,0x0B,0x5A,0xB5,0x2B, -0x21,0xA7,0xF8,0x70,0xA6,0x22,0x52,0x35,0xFE,0x9E,0xA3,0x5E,0x4C,0x4F,0x4A,0x22, -0xBB,0x75,0xA2,0x32,0x60,0x44,0xEC,0x5F,0xBF,0xD8,0xBB,0xA4,0xBA,0x4A,0x6E,0x6D, -0x81,0x2B,0x63,0x5D,0xB3,0x4A,0x74,0xAB,0xE2,0x26,0xB1,0x2F,0xF6,0x33,0x1D,0x26, -0x86,0x7A,0xA8,0x30,0x6A,0xF4,0x6E,0xD0,0x99,0xD7,0x42,0xD6,0x09,0x07,0xC2,0xDD, -0x74,0xC2,0x89,0x10,0xF9,0x27,0xA6,0x83,0x3E,0x0E,0x84,0xB4,0x86,0x53,0x49,0x42, -0x9F,0x02,0x6B,0x4E,0xFC,0xAC,0x94,0x63,0x28,0x34,0x26,0x4A,0xA9,0x60,0xA3,0xD5, -0x66,0xF1,0x9A,0x35,0x96,0x79,0x67,0xB9,0xC8,0x85,0xB9,0x52,0x03,0xF9,0x9F,0x56, -0xFA,0x95,0x79,0x84,0x98,0x87,0xC1,0x8B,0xEA,0xAE,0x0E,0x9D,0xAE,0xC9,0x8B,0x95, -0xBE,0x28,0xAC,0xFB,0x3A,0xCA,0x2A,0x09,0x80,0x5D,0xDB,0x47,0x99,0xBC,0x20,0xF8, -0xFE,0x2F,0x05,0xD3,0x65,0xCF,0xDE,0xBF,0x1E,0x2F,0x3C,0x46,0x06,0x0D,0xC0,0xE0, -0xF6,0x4E,0x63,0x9C,0x14,0xED,0xBC,0x0B,0xE6,0x8C,0x47,0x68,0x10,0x88,0x5C,0x14, -0x50,0x40,0x51,0x62,0x70,0x5C,0x20,0xE8,0x4B,0x4F,0x53,0x58,0x32,0x47,0xEB,0x3F, -0xBB,0xE2,0xD3,0x2F,0xCD,0x23,0x64,0x3D,0x7C,0x22,0xF8,0x2D,0x58,0x9D,0x3E,0xCC, -0x4F,0xBD,0x65,0x2A,0xCA,0x0B,0x24,0x94,0xE3,0x3A,0x18,0x9C,0xC6,0x9C,0xD9,0xBE, -0xE5,0x6B,0x71,0xAF,0xCE,0x85,0x5B,0xF2,0x13,0xFC,0xC5,0xA2,0x3A,0xF5,0x54,0xB7, -0xFF,0xB2,0x0A,0x11,0x9F,0xE8,0x5C,0x39,0xEC,0x07,0x1A,0x96,0x41,0x0C,0xA7,0x46, -0x37,0x21,0x59,0xC2,0x27,0xC8,0xAE,0x18,0x63,0x98,0x91,0xC2,0xE6,0x6E,0x61,0x9F, -0x05,0x24,0xB9,0x49,0xE7,0x96,0x45,0xFA,0x4C,0x0F,0x7B,0xF1,0xF0,0x90,0xC3,0xA5, -0x92,0xD1,0x3F,0xBE,0x2B,0x6C,0xAC,0xDD,0xDC,0x2A,0x99,0x4A,0xD4,0xDF,0x35,0xA0, -0xEA,0x4D,0x03,0x56,0xF3,0x73,0xBD,0x79,0xEE,0xF1,0x6D,0xCB,0xD2,0x5F,0x74,0x8E, -0xC3,0x7E,0xEF,0xC7,0x42,0xA8,0xFB,0x69,0xA9,0xF8,0x92,0xDE,0x26,0x84,0x46,0x0F, -0x7D,0xB8,0x85,0xA1,0x90,0xEA,0x61,0x33,0x5F,0xB7,0xB6,0xDB,0x67,0x7E,0x5E,0x49, -0x2A,0xCD,0x4E,0xAC,0x59,0x4F,0x3E,0xE0,0x16,0x4A,0x9A,0x56,0xB4,0x8A,0x50,0xD1, -0x5E,0x89,0x54,0x3F,0x65,0x68,0x11,0xF9,0x7F,0x1D,0x5E,0xE2,0x59,0xC0,0xFB,0xDA, -0x0C,0xD8,0xD0,0xC4,0x08,0x22,0x39,0x2B,0x8F,0xDB,0x83,0xDC,0x34,0xC7,0xAA,0x11, -0xBA,0x0D,0xA4,0x8B,0xD5,0x62,0x9E,0x7B,0xBC,0xC9,0xA6,0xCF,0x8A,0x34,0xF5,0x42, -0x77,0xBA,0xB8,0xAE,0x9B,0x66,0x23,0x5F,0x0D,0x8F,0x7D,0xDF,0x5B,0xFD,0xF4,0xD0, -0xF5,0xB0,0x37,0x1E,0xAD,0x1C,0x87,0xB8,0x7A,0xAB,0x01,0x16,0x31,0x27,0x21,0x23, -0x45,0xBF,0x58,0x25,0xB3,0xA4,0xF4,0xC5,0x1C,0xC1,0xC7,0xA8,0x2D,0x56,0x33,0x9B, -0x70,0x8F,0xD4,0x7E,0xD3,0x9B,0x17,0x40,0x6A,0x2C,0x6A,0xF3,0xC2,0x21,0x97,0x9A, -0x7F,0xA9,0xA6,0x87,0xF0,0xD5,0x82,0xB6,0x15,0x75,0x3C,0x99,0x3F,0x15,0xDF,0x85, -0x57,0x75,0x3D,0xB2,0xCF,0x54,0x92,0x60,0x5B,0xC8,0x38,0xBD,0x04,0x4B,0xF1,0x24, -0x2C,0x17,0x55,0xD8,0x45,0x80,0xBB,0xC0,0xF9,0x36,0x2E,0x87,0x71,0x80,0xFC,0x73, -0x26,0x15,0x68,0xD7,0x69,0xCC,0x13,0x3C,0x53,0xB5,0x12,0x1E,0xE3,0x8E,0xEA,0xAD, -0x53,0xBE,0x05,0xE0,0xD2,0x4A,0xDE,0xD2,0x31,0xA0,0x5A,0xC6,0x95,0x25,0x2D,0xE6, -0x84,0xD0,0x62,0x7B,0x23,0x46,0xD1,0x7E,0x7D,0xEB,0x29,0xBF,0x0C,0xF9,0x4E,0xAC, -0x80,0x1B,0x5A,0x29,0xF2,0xA2,0x74,0xEB,0x1D,0x08,0x16,0x3A,0x27,0xD9,0x83,0x19, -0xA3,0x2A,0x8B,0xB7,0x71,0x8D,0xE9,0x7A,0x78,0x5D,0x76,0x4B,0x81,0xE6,0x80,0xD6, -0xE1,0xA0,0x49,0xFD,0x6E,0xE4,0x53,0x95,0x05,0xF2,0x57,0x7C,0xA1,0x14,0x38,0xF7, -0x38,0x07,0x2B,0x3B,0xFA,0x88,0x09,0x48,0x3C,0x6B,0x2F,0x91,0xE9,0x01,0x5A,0x2F, -0xCE,0x49,0xBE,0x18,0x88,0xAB,0x9B,0x75,0xCC,0xAD,0xF2,0xAF,0x28,0xB6,0xB8,0xA9, -0x82,0x0A,0x79,0x0F,0x43,0x79,0x32,0xFB,0x24,0x91,0x6E,0xD7,0x86,0x3B,0x04,0xEE, -0x67,0x61,0xFE,0x1F,0xA8,0x43,0x31,0x4C,0x9A,0xEA,0xB7,0xCD,0xD3,0x02,0xB1,0x98, -0x65,0x70,0xDD,0x39,0xDA,0x60,0xA3,0x71,0x4D,0xC6,0xAA,0x63,0xBC,0x38,0xEF,0x59, -0xB9,0xF3,0xF0,0x09,0x76,0xA5,0xA9,0xD3,0x57,0xCA,0x9C,0x78,0xA3,0x29,0x37,0xFD, -0xD4,0x90,0xC5,0xA6,0x99,0x11,0xD5,0x02,0xFF,0xBF,0xD7,0xBC,0x30,0x7A,0xE4,0x35, -0x5C,0x98,0x77,0x19,0x48,0xF5,0x70,0x97,0xBD,0x00,0x77,0x5D,0x8C,0xB4,0xB4,0x6C, -0x4D,0xAC,0x46,0x0C,0x79,0xA7,0x94,0xD9,0x06,0xCD,0xF1,0xB3,0xD9,0x8D,0x01,0x1A, -0x10,0xDB,0xB0,0x0E,0xA2,0x1E,0xBA,0xB2,0xE8,0x78,0x94,0xF0,0x06,0x76,0xFE,0x2E, -0x17,0xEE,0xDC,0xDE,0x0B,0x84,0x06,0xE4,0x91,0xA8,0x3B,0xA1,0xB1,0x6A,0xDB,0xE3, -0x34,0xDF,0x0D,0x40,0xD4,0xB3,0x57,0xE9,0x95,0xD7,0xB5,0xC7,0x05,0x16,0x34,0x32, -0x4E,0x52,0x12,0x8E,0x58,0x9E,0xF7,0x72,0xD6,0xA1,0xC4,0xB4,0xEB,0x3C,0x55,0x25, -0x9E,0x09,0x19,0xC5,0x00,0x08,0x44,0x88,0xBA,0x40,0x5F,0xF4,0xE1,0xB3,0xE5,0xA7, -0xC1,0x6F,0xCC,0xE1,0xA0,0x69,0x4C,0xEF,0x72,0xD6,0x2B,0xB5,0x5D,0x7D,0xB5,0xFE, -0x3E,0xDD,0x30,0x4F,0x2C,0x44,0xEC,0x74,0xC6,0x26,0xAF,0x51,0xFF,0xFF,0xF8,0x15, -0xA4,0x1F,0xE7,0x67,0xA4,0xE7,0x33,0x89,0x17,0x83,0x4B,0xC4,0xE5,0x0E,0xAB,0x83, -0xC9,0x7C,0xD2,0xC8,0xD1,0xEC,0xE1,0x1D,0x1B,0x81,0xEF,0x01,0xAD,0x1B,0xC9,0x5B, -0x22,0xDE,0x50,0x85,0xB9,0xF9,0x7F,0x3B,0x89,0x52,0x7A,0xE7,0xF6,0x10,0x82,0x8B, -0x0E,0xC9,0xF3,0xE2,0x5D,0xC1,0x41,0x86,0x51,0x43,0x65,0x43,0x72,0xE0,0x36,0x6F, -0x06,0xDA,0xED,0xCB,0x92,0x9D,0x97,0x6E,0xF7,0xC2,0xFD,0x1F,0xCF,0x73,0xA3,0x20, -0x8D,0x2C,0x0B,0xF6,0x1A,0x3E,0x48,0x93,0x81,0x2F,0x50,0x44,0x36,0xFA,0xA5,0x1B, -0x31,0xFB,0x42,0xB6,0x9E,0x39,0x95,0xAB,0x73,0x1F,0xFA,0x27,0xC3,0x7C,0x52,0x8C, -0x62,0x45,0xB1,0xE9,0x9D,0x9F,0xAA,0x64,0x41,0xC4,0x0E,0xA6,0xBB,0xE5,0x6B,0x61, -0x47,0xAE,0x7B,0x03,0x68,0x1D,0xDA,0xAE,0xC1,0x66,0x87,0xF8,0x03,0x96,0x75,0x1C, -0x12,0xCA,0x93,0x28,0xBF,0x00,0xF6,0x00,0x0A,0xCF,0x55,0x76,0xC0,0x1C,0x98,0x90, -0x5A,0x42,0x6C,0x6D,0x2E,0x33,0x1A,0x29,0x3A,0xE2,0xD6,0xAA,0x7F,0xB2,0x02,0xD5, -0x21,0x20,0x04,0x07,0x12,0x14,0x35,0x30,0xD0,0x28,0x3D,0x8F,0xE0,0xEE,0x20,0xB1, -0x81,0xF4,0x2D,0x8D,0x6C,0x93,0xA5,0xC8,0x6F,0x9A,0x35,0x07,0x56,0xAF,0xC0,0x6A, -0x08,0x13,0xE8,0x96,0x86,0x78,0x6F,0xED,0x77,0x60,0x74,0x41,0xF7,0x4D,0x47,0x9D, -0xEC,0x97,0x18,0x22,0x84,0x0F,0x99,0xB0,0x8C,0xE4,0x25,0x13,0x8E,0x89,0xBB,0x66, -0x52,0x51,0x72,0x44,0x93,0x4C,0x5E,0xFC,0xB0,0xCB,0x02,0x0A,0x82,0x86,0x4A,0xCA, -0x54,0x8B,0x69,0x30,0x3D,0xFE,0xA2,0x03,0xED,0xCE,0xCB,0x04,0x64,0x1E,0x94,0x55, -0x6D,0x63,0xC3,0x10,0xDD,0x48,0xE3,0xD8,0x66,0x2E,0xCE,0x36,0x19,0x67,0x26,0x8A, -0x0D,0x37,0xA7,0x60,0x8A,0xDC,0x6D,0x28,0x32,0x9F,0xFC,0x09,0xB9,0xD8,0x64,0x6B, -0x96,0xD4,0xB0,0x53,0xD8,0x5B,0xE4,0x09,0x0C,0x44,0xD1,0x20,0x7F,0xBB,0xBE,0xDC, -0x01,0xFB,0x83,0xB9,0xCE,0xF9,0xDE,0xF7,0x09,0x76,0x5A,0xC0,0xBF,0x59,0xE0,0x37, -0x9E,0x74,0xD7,0x32,0x69,0x3F,0x07,0x95,0x9A,0xBE,0x89,0x93,0x07,0x78,0xC0,0xC5, -0x65,0x8B,0xE3,0xED,0x12,0xCC,0xF6,0x6C,0x43,0xA4,0x37,0xE8,0x56,0xB3,0xAD,0xC2, -0xA3,0x7B,0xDD,0x30,0xEE,0x41,0xFF,0x05,0x95,0x0E,0xB2,0xFC,0x52,0xD5,0x23,0xBD, -0xBB,0xE4,0x6C,0xD0,0x70,0xA6,0x8D,0x04,0xCA,0xFA,0xB7,0x4A,0x55,0x7C,0x0B,0xFD, -0xD6,0xD3,0x19,0x7B,0x1A,0x73,0x7E,0xDE,0x68,0x11,0xFA,0xC8,0xE8,0xA9,0x74,0xB9, -0x15,0x7E,0x29,0x6F,0x38,0xC4,0x55,0x11,0x66,0xB7,0x04,0xFA,0x8C,0x4A,0xC5,0x25, -0x50,0x24,0x8E,0x8E,0xA2,0x6D,0x03,0xAD,0x25,0xFB,0x13,0x3D,0x4D,0x3A,0x4A,0x07, -0x42,0x17,0x9D,0xAB,0x1C,0x32,0x50,0x5E,0xF0,0x4D,0x5C,0x49,0x90,0x6A,0x0A,0xA0, -0x84,0xE7,0xA3,0x76,0x71,0x63,0x9B,0x59,0xA1,0x1F,0xA7,0xCD,0xFD,0xB8,0x40,0x88, -0xD3,0x8E,0x17,0xB2,0x9C,0xC8,0x90,0x13,0xE5,0x6B,0x34,0xD7,0xC1,0xA1,0x67,0xA7, -0x2E,0xC7,0x9A,0x9E,0x4F,0xC6,0x08,0xE7,0x90,0x3C,0x39,0x1C,0x08,0x72,0xC2,0xF8, -0x61,0x31,0x9F,0xBA,0x0E,0xDE,0x4E,0x1D,0x56,0x82,0x5F,0x76,0xDA,0x28,0x80,0x62, -0x68,0x76,0x8A,0x45,0xFA,0xEC,0xCF,0xC6,0x65,0xAB,0xCE,0x9A,0x6B,0x38,0x5B,0x24, -0xB3,0x44,0x0B,0xB1,0xFC,0xAD,0xE1,0x46,0xF9,0xD3,0x26,0xA6,0xB3,0x9C,0x44,0x35, -0x2C,0xCB,0x5F,0x3A,0xCB,0x72,0xEC,0x17,0x3D,0x67,0x4F,0xF1,0xF1,0x7D,0xE4,0x8A, -0xAF,0x61,0xC6,0x06,0x59,0x64,0x32,0x19,0x3F,0x6D,0x40,0xCC,0xDD,0x81,0xA8,0x22, -0x51,0xC3,0xFC,0x10,0x2C,0x69,0x65,0xD2,0x5D,0x16,0x2A,0xA4,0x57,0x21,0x7C,0x0B, -0xEC,0x8D,0xD8,0x14,0x17,0x47,0xC4,0x8C,0x81,0x3E,0x1F,0x3F,0x68,0xF7,0xFD,0x1B, -0xB5,0xF2,0xB2,0x42,0xEA,0x0F,0xDB,0xB8,0xA7,0x31,0xE6,0x4D,0x4B,0x01,0xB3,0x8E, -0x58,0x84,0xE9,0xEF,0x05,0xAB,0xDA,0xCF,0x97,0x04,0xBD,0xC1,0x2B,0x84,0x8C,0x6D, -0x32,0xE2,0x57,0x29,0x19,0xB9,0x62,0xBE,0x98,0xB4,0x86,0xAE,0x35,0xF9,0x34,0x1E, -0x16,0x95,0x9E,0x55,0x73,0x6C,0x91,0x64,0x92,0x36,0x36,0x21,0x03,0x1E,0x4E,0xBA, -0x08,0xBC,0x96,0x46,0xAE,0x9C,0xAF,0xA2,0x22,0xC3,0x97,0xE0,0xDB,0xBA,0x51,0xAB, -0x34,0x54,0xEE,0xDA,0x00,0x20,0xE8,0x2F,0x61,0x8F,0x80,0x27,0x10,0x34,0x83,0x02, -0xF2,0xA4,0xD0,0x07,0xC1,0xC2,0x6E,0x98,0x2F,0x79,0xA3,0xB2,0x62,0x09,0xA0,0x90, -0x6B,0x9D,0x3D,0x7F,0x89,0xA0,0xB6,0x8D,0x88,0xA0,0x65,0xD0,0xF6,0xD4,0xCC,0xCA, -0xC4,0xE0,0x0A,0x5E,0xA9,0x18,0x97,0x7F,0x02,0xE2,0x2F,0x12,0xE9,0x3B,0xA5,0x70, -0x91,0x85,0x7B,0x3E,0x0F,0x1B,0x58,0x40,0x33,0xC1,0xB1,0xC3,0x6A,0xAA,0x8A,0xED, -0x72,0xE5,0xFE,0x01,0x24,0xD6,0xED,0x60,0xF8,0xC5,0xE3,0xFB,0xBB,0x3F,0x6E,0x48, -0x39,0xA9,0x87,0x72,0xBD,0xB5,0xA7,0xBC,0x96,0x12,0x78,0x9C,0x4A,0x93,0x62,0x47, -0x31,0x09,0xE0,0x13,0x99,0x43,0xA2,0xF3,0xC6,0x56,0x46,0x45,0x93,0xA5,0xAC,0x9F, -0xE1,0x70,0xB1,0xBC,0x2E,0x66,0x6F,0xEF,0xF3,0x51,0x96,0x29,0x3A,0xF3,0x36,0x23, -0x54,0x9E,0xF2,0xD9,0xF1,0x99,0x5B,0x14,0x84,0x0C,0x94,0xDF,0xE1,0x98,0x8F,0x0D, -0x99,0x25,0x1C,0x5F,0xA4,0x2C,0x2D,0x2D,0xB0,0x1D,0x81,0xEE,0xD0,0xD6,0xDD,0xE9, -0x26,0x67,0xFD,0xFF,0x18,0x7C,0x74,0xE3,0xB8,0x95,0x3E,0x5C,0x01,0x43,0x39,0x4C, -0x53,0xCF,0x39,0xB4,0x8B,0xAF,0xBC,0xB0,0xDB,0xF8,0x91,0x69,0xEE,0x92,0x8D,0x30, -0x5F,0xD5,0x22,0x82,0x94,0x77,0x18,0xA1,0x58,0x24,0xA1,0x44,0x42,0x30,0x48,0x3A, -0x73,0x02,0x8C,0x9F,0xFB,0x29,0xD9,0x9B,0x49,0x26,0x87,0x67,0x30,0x0D,0x6B,0xA8, -0xCB,0x11,0xA6,0x52,0xDE,0x1A,0xCA,0x89,0xF6,0x63,0x1D,0xC9,0x21,0x7A,0xD1,0xE6, -0x18,0x83,0x40,0xC7,0x85,0x51,0x1A,0x82,0x54,0x88,0x50,0x4B,0x49,0x5C,0xC4,0x78, -0x1A,0x8F,0x85,0x63,0xCD,0x33,0xC2,0x97,0x37,0xE5,0xFF,0x7E,0x3C,0xC8,0xCF,0xAA, -0xBF,0x5E,0x10,0x87,0xD7,0x60,0x54,0x66,0xF5,0x7F,0xD7,0xA9,0xB4,0x35,0x6C,0x75, -0x4F,0xEA,0xF4,0x03,0x75,0x2D,0xBF,0xE4,0x47,0x80,0x79,0x55,0x38,0xAE,0x41,0xD5, -0xD9,0x22,0xB5,0x77,0xC9,0x7D,0xE6,0x2A,0x21,0xDF,0x5D,0x80,0x98,0xC9,0x20,0xDD, -0x38,0x4E,0xF5,0xEC,0xC3,0xCD,0x64,0xA5,0x7A,0x0F,0x16,0x8B,0xC0,0x33,0xB6,0x6E, -0x4E,0x0D,0x86,0x9D,0x2D,0xAC,0x73,0x8F,0xF7,0x75,0xD8,0x94,0x4C,0xA8,0x9B,0xCE, -0x7B,0xA2,0xEB,0xFE,0x57,0x9A,0x94,0x2B,0x6A,0x1B,0xF5,0xF5,0xB6,0x68,0x1B,0x83, -0x56,0x92,0x37,0x7D,0xE8,0x00,0xD1,0x85,0xE2,0x53,0xB0,0x0A,0x27,0x41,0x28,0x6F, -0xFF,0x59,0xB9,0xAF,0x2B,0xED,0x5D,0x0F,0x86,0x06,0x9B,0xE2,0xF0,0xEF,0x35,0x43, -0x5D,0xD9,0xE7,0x26,0x93,0xF3,0x20,0x7C,0x6D,0x23,0x71,0x28,0x05,0x25,0xB7,0x33, -0x86,0xEB,0x66,0xD2,0xEB,0xCA,0xCD,0xE5,0xD3,0x70,0x2E,0xDB,0x06,0xEA,0x11,0x0C, -0xB6,0x19,0x05,0x78,0x1E,0x3D,0x5A,0x63,0x04,0xCC,0x6E,0x92,0x82,0xD2,0x16,0xD1, -0x5B,0x6F,0x5E,0xD5,0xE7,0x3B,0x61,0xEA,0xF2,0x47,0x53,0x74,0x0A,0x2F,0xB5,0x0E, -0xDA,0xC9,0x02,0x4D,0x5A,0xAE,0x2E,0x79,0xE1,0x4F,0x7A,0x6A,0xC5,0xC7,0xE9,0xD8, -0x06,0xAA,0x48,0xD4,0x91,0xFC,0x2A,0x41,0x1F,0x4C,0xF8,0x3E,0x12,0x69,0xF4,0xF4, -0xB7,0xFE,0x77,0xE6,0x31,0xBE,0xCB,0xFE,0x4B,0x2C,0x88,0x5A,0x45,0x99,0x60,0x7A, -0x57,0x75,0x45,0xE3,0x4C,0x0C,0x14,0x87,0xA3,0x15,0xA8,0xF0,0xA5,0x42,0xD6,0x3B, -0x52,0x28,0x4B,0x2A,0xAA,0xD2,0x8B,0x1F,0x79,0x13,0xDC,0xEB,0x0B,0xBD,0x64,0xC7, -0x7D,0x14,0x52,0x0D,0xA6,0x23,0x27,0x10,0xBF,0xAD,0xBA,0x81,0x1C,0xF1,0x27,0x00, -0xF9,0xEF,0x00,0x5C,0xDF,0xDF,0xDC,0xD4,0x3B,0x49,0x0E,0x71,0x1E,0xAC,0x50,0xF6, -0x03,0xF7,0x46,0x1D,0x7E,0x58,0x2B,0x36,0xDC,0xC0,0x15,0xB4,0xF4,0x89,0xBB,0x3C, -0xB1,0x48,0xCE,0x15,0xC8,0xB8,0xF0,0x77,0x08,0x60,0x9F,0x9D,0x8A,0x71,0x3C,0xAC, -0xA3,0x83,0x39,0x27,0x90,0x05,0xF8,0x41,0xD6,0x23,0x15,0xF0,0xF4,0x83,0x69,0xB2, -0xA6,0x77,0x66,0x91,0xD0,0xAC,0xD0,0x46,0xCE,0xC3,0xA4,0x6F,0x86,0x1D,0x68,0x55, -0x10,0xCE,0x95,0x97,0x48,0x33,0x36,0x98,0x78,0x9C,0x50,0x6A,0x2C,0xCB,0x7C,0xD0, -0xEE,0x68,0x9B,0xA5,0xD4,0xD0,0x87,0xFC,0xBB,0x88,0x60,0xC7,0x07,0xE9,0xB3,0x67, -0x4E,0x0F,0xFA,0xAD,0x5A,0x20,0x13,0xAB,0x6C,0x4A,0xFA,0xEF,0xA7,0x3D,0x9A,0xED, -0xC5,0x3D,0xFF,0x4D,0xB1,0xC2,0x4D,0x6B,0xFB,0xA0,0xC9,0xC0,0x9D,0x2B,0x64,0x4F, -0x23,0xDD,0xB0,0x85,0xAF,0xCA,0x5E,0x42,0x08,0x1E,0x9A,0x9F,0x8F,0xE1,0x01,0xD8, -0x9D,0xC7,0x69,0xFE,0xA8,0x01,0x33,0x13,0xF3,0xC1,0xAE,0x60,0x7E,0x9A,0xF8,0x2B, -0x4B,0xFB,0xA5,0x1B,0x0F,0x51,0x73,0xCE,0x0C,0x49,0xE6,0x25,0x37,0xFD,0x70,0xCA, -0x2D,0x45,0x63,0x71,0x95,0x0B,0x31,0x1C,0x43,0x6D,0xE3,0xD3,0x71,0xBC,0x8A,0xD2, -0x32,0xAA,0x0A,0xCB,0x58,0xE5,0xB7,0xA7,0xDE,0x42,0x72,0x50,0x98,0x0F,0x2B,0xB9, -0xDA,0xD2,0x96,0xF7,0x49,0x41,0xA8,0x7F,0x05,0xB6,0xF3,0x62,0xB6,0x09,0xAB,0xF8, -0x48,0x34,0x03,0x24,0xCD,0x13,0xF9,0x84,0x2F,0x58,0xE4,0x03,0x29,0xEF,0x33,0x26, -0x07,0x82,0xD6,0x50,0x6A,0x43,0xB9,0x59,0x3D,0x7D,0xF7,0x30,0x7A,0x51,0xC0,0x79, -0x20,0x12,0x16,0xBA,0xCA,0xD8,0x94,0xD5,0xBE,0x41,0x6E,0x9A,0xE9,0x6F,0x7E,0xDC, -0xB3,0x66,0x52,0xA0,0xE5,0xC1,0xB3,0xE9,0xE9,0x85,0xDA,0xF3,0xE2,0x82,0x34,0x77, -0xA9,0x7D,0x64,0xAC,0x00,0xFD,0x7F,0x3F,0x35,0x1C,0x90,0x90,0xA3,0xF6,0xA2,0xBF, -0xF2,0x48,0x54,0x20,0xE3,0x78,0x40,0x5F,0xD8,0xB1,0xCB,0xE6,0xA2,0x19,0xD5,0x1B, -0x22,0x4F,0x61,0x4C,0xD7,0x67,0xBD,0x17,0x7B,0xA6,0xE7,0x81,0xE8,0x80,0x09,0x78, -0x92,0xCD,0x6B,0xC3,0x73,0x80,0xC7,0x21,0x5F,0xDA,0x2E,0xF6,0x1B,0xEA,0xD3,0xAD, -0x54,0x14,0xCC,0xA1,0x4F,0xF8,0x5B,0xC9,0xC2,0xF5,0xBF,0x75,0x4B,0xAA,0x74,0x70, -0x5B,0x1E,0xCE,0x9C,0xE7,0x04,0x17,0xE5,0x41,0xC9,0x26,0xDF,0x95,0x38,0x7A,0x66, -0x0B,0x47,0x72,0x52,0x76,0x8E,0x0E,0x7C,0x81,0xE7,0xA1,0x99,0xBD,0xE4,0xE1,0x53, -0x3E,0x6F,0xAE,0xC9,0x66,0x58,0x8F,0x43,0x3C,0xE3,0x85,0xD7,0x1C,0xDF,0xBF,0x7D, -0xA5,0xB8,0xC0,0xAE,0x80,0xD3,0x79,0x7E,0xFC,0xCD,0x02,0x91,0x21,0xFC,0x2D,0x0F, -0x3B,0x9B,0xF1,0x7F,0x1D,0x42,0x56,0xFD,0xA9,0xAD,0x73,0xF4,0xEE,0x5A,0x12,0x0C, -0x6C,0x6B,0x65,0xF1,0x2A,0xEA,0x91,0x5E,0x54,0x81,0xFE,0xBD,0xDE,0x4E,0xD1,0xA1, -0xF7,0xBC,0x0B,0x96,0x25,0x46,0x9D,0xAF,0x1F,0xF2,0x87,0xF1,0x94,0xD7,0x0D,0xC2, -0x94,0xF6,0x92,0x4A,0x6F,0x4D,0x70,0x04,0x59,0x29,0x97,0x40,0x91,0xF3,0x42,0x34, -0x83,0xBA,0xD1,0x8D,0xC6,0xC3,0xA2,0xCF,0x65,0xB5,0xEF,0xA8,0xD6,0x5D,0xCF,0x88, -0x71,0xD9,0x7B,0xBD,0xA7,0xAD,0x3F,0xE2,0x06,0x8C,0x44,0x89,0xCF,0x7A,0xE0,0xB4, -0xB7,0x00,0xDC,0xDF,0xFD,0x70,0x53,0x76,0x9F,0xF4,0xA9,0xB0,0x17,0x32,0xF5,0xD6, -0x85,0x81,0x28,0x04,0x5D,0xEB,0x7E,0xFA,0x3E,0x47,0x40,0xDB,0xC5,0x78,0xDD,0xBB, -0x2A,0xEC,0x4B,0x31,0x21,0x3A,0xCA,0x15,0x4B,0x0C,0x84,0x73,0x0D,0xEB,0x8E,0x68, -0x93,0x5F,0xBA,0x0A,0xC5,0x74,0x98,0x24,0x1E,0x6C,0xF5,0x16,0xA0,0x08,0xF6,0x3D, -0xB5,0x5D,0xAB,0x29,0x57,0x49,0xBB,0x56,0x32,0x71,0x5B,0xC1,0x61,0x67,0xCC,0x63, -0x82,0x28,0x00,0x44,0x4E,0x8A,0xC5,0x2E,0x8C,0x4F,0xC8,0x64,0x16,0xDD,0x82,0x72, -0x52,0x2F,0x35,0x28,0xF2,0xDC,0x5F,0x87,0x5C,0xE0,0x99,0x1D,0xDB,0x6A,0x9E,0x57, -0x95,0x64,0x43,0x83,0x84,0xAF,0x2E,0xC4,0xF4,0xAC,0x65,0x31,0x54,0x57,0x40,0x38, -0x80,0x75,0x77,0xB2,0x60,0xE1,0x7C,0xF5,0x39,0x2A,0x8B,0x8A,0x22,0x02,0x79,0x8D, -0x49,0xA6,0xD2,0xED,0xB0,0xB0,0xD3,0x8C,0xB4,0x84,0xCC,0x36,0x9F,0x3A,0x47,0x69, -0x6D,0xF9,0xB4,0x38,0xB8,0xD7,0xB2,0x2C,0x22,0xF0,0x8D,0xFE,0xC6,0x86,0x89,0x39, -0xCC,0x0C,0x04,0xF9,0xA3,0xD1,0x68,0x58,0x23,0x6E,0xFF,0x19,0x0A,0xDE,0xE2,0xB8, -0x02,0x76,0x89,0xE6,0x03,0x4A,0x45,0xD4,0x55,0x1F,0x8C,0x5A,0x1D,0x30,0xC8,0xD9, -0x44,0xF1,0xA7,0x26,0x15,0x25,0x37,0x5D,0x75,0x34,0x39,0x97,0x63,0x76,0xEF,0x45, -0x09,0x1A,0x05,0xA4,0x8B,0x03,0x22,0x35,0xA6,0xA1,0xDF,0x05,0xB3,0x2D,0xE4,0x0E, -0xC3,0x06,0x06,0xC4,0x18,0x4C,0x9F,0xA0,0xD2,0x74,0x69,0x4A,0x2D,0x24,0x0B,0x74, -0xEB,0x9C,0xC4,0x13,0xC7,0xB1,0x3C,0x28,0x77,0x90,0xFC,0x9B,0xBB,0x3E,0xFA,0x27, -0x7A,0xB5,0xF7,0xFF,0xBC,0xAB,0xE5,0x96,0xDB,0x8B,0x7C,0x0D,0x23,0xED,0x0E,0x29, -0x3A,0x09,0x20,0xB6,0x61,0x93,0xE2,0x12,0xEB,0x21,0x1F,0xFF,0xB4,0x18,0x88,0xDE, -0x6E,0x36,0x12,0x07,0xB5,0xBE,0x1A,0xD1,0xB7,0xBE,0x7B,0xDD,0x57,0xA9,0x14,0xBA, -0x47,0x3E,0x01,0x19,0x63,0x56,0x46,0x1E,0x36,0x26,0x27,0x7B,0x18,0x14,0x87,0x2F, -0xA4,0x2A,0x11,0x67,0x02,0x38,0xDB,0x33,0x3B,0x8E,0x4E,0x86,0xA8,0x1B,0xE8,0x14, -0xE1,0x62,0x99,0x98,0xEE,0x11,0xE8,0xA2,0x16,0x0D,0x92,0xB6,0xED,0xA4,0x46,0x8E, -0x65,0x5A,0x9E,0x45,0x5E,0x5C,0x44,0x11,0x30,0xD5,0x9E,0xCD,0x59,0x60,0x11,0xE7, -0x8F,0x7F,0x75,0x8F,0x2E,0x96,0xC6,0xE4,0x92,0x5C,0xC0,0x4D,0x24,0xD8,0x62,0xF9, -0x1A,0x30,0xC8,0x1C,0x9B,0xD5,0xA3,0x0A,0x94,0xAF,0x79,0xFB,0xA5,0x2C,0xB9,0xCB, -0xAE,0xD4,0x4C,0xEC,0x6D,0x88,0xD4,0x08,0x10,0xFE,0x2B,0x00,0x5E,0x55,0x7D,0x37, -0x8B,0x19,0xFB,0xF0,0xC1,0x08,0xCF,0x9E,0xDC,0xE6,0xB7,0x5C,0x89,0x3B,0x1A,0xAC, -0x01,0xB9,0x2F,0xD9,0x51,0xF0,0x48,0xE0,0x6E,0xEE,0x3F,0xE3,0x52,0x8D,0x5B,0x4C, -0x9C,0x55,0xB8,0x37,0x17,0xE0,0x93,0x51,0xDA,0x15,0x0E,0xEA,0xB2,0xC2,0x93,0xAA, -0xEC,0x35,0xEC,0x53,0x99,0x10,0x07,0x06,0x6B,0x27,0x31,0xBE,0x53,0x62,0x2C,0xE8, -0xC8,0x6A,0x8A,0x86,0xAA,0xC4,0x97,0x1F,0x3F,0xD9,0x32,0x3C,0xF2,0x59,0x72,0xC6, -0xBC,0x6C,0x50,0x9D,0x56,0x3B,0x25,0xB1,0x3A,0x10,0x3C,0x61,0x6D,0xBF,0xEA,0x18, -0xD7,0x55,0x05,0xE0,0xBA,0x88,0x69,0x43,0x3A,0x6F,0xA6,0x02,0x53,0xDF,0xFB,0xA3, -0x19,0x2F,0x88,0xFF,0x1A,0x13,0x44,0xCF,0x4C,0x1E,0xD5,0x41,0x44,0x31,0xD1,0xC2, -0x52,0xFF,0xD3,0xF4,0xA9,0xE9,0xD2,0x97,0xAD,0x85,0x95,0x2D,0xC6,0x3B,0x5E,0x72, -0x76,0xA0,0xB5,0x21,0xA1,0x8E,0xB3,0x37,0x3B,0xF1,0xD4,0xE5,0x9F,0x87,0x90,0x22, -0xD8,0x5F,0x07,0xDD,0x01,0x15,0x9E,0xBB,0xCB,0x75,0x30,0x51,0x74,0x25,0x12,0x6F, -0xF0,0xC5,0xC5,0x0A,0xDE,0xE8,0x3D,0x33,0x6E,0x91,0xA5,0x80,0xE2,0x3F,0xE3,0x3C, -0x5F,0xA8,0xA6,0x3F,0x0C,0x7C,0x36,0x46,0x6C,0x35,0x60,0x8C,0x3A,0x77,0xF6,0x5E, -0x12,0x43,0x04,0xBD,0x92,0x5A,0x23,0x2E,0xBF,0xA0,0x86,0x1E,0xEA,0x2C,0xFD,0x15, -0x88,0x06,0xBB,0x13,0xDC,0x2D,0x99,0x3F,0x07,0x6D,0xAC,0x0D,0xF9,0x09,0xEF,0x26, -0xAE,0x04,0xAA,0x30,0x4E,0x10,0xBA,0x4D,0x2B,0x70,0x02,0xDA,0x38,0x66,0xD5,0x78, -0x9E,0xD8,0x29,0x1D,0x44,0xB2,0x7F,0xE1,0x27,0x46,0x19,0xC0,0x9C,0x79,0xC4,0xA0, -0x31,0xB5,0x4A,0x28,0x38,0x63,0xCB,0x0E,0x52,0x0D,0xDD,0x68,0x54,0xEA,0x97,0x73, -0x8E,0x3D,0x42,0x9A,0x9D,0xF6,0x2F,0xDF,0xED,0xAD,0x3C,0x2A,0x0D,0x56,0x59,0x23, -0x9B,0x2C,0x76,0xAB,0x79,0xB8,0x7D,0xEE,0x20,0x2B,0xD2,0x91,0x7B,0x03,0x60,0x96, -0x99,0x71,0x01,0x5D,0x57,0xD3,0xC4,0x35,0x95,0x4E,0x91,0x7F,0x4F,0xDC,0x9B,0x69, -0x49,0x76,0x34,0x31,0xEB,0x85,0x5E,0x9C,0x45,0xE1,0xC0,0x06,0x82,0x6B,0x87,0x4C, -0x90,0x40,0xFA,0xE9,0xD8,0x51,0xCE,0x85,0xC5,0xE7,0xEE,0x47,0xD0,0x3A,0x03,0xB7, -0x1A,0xE0,0x2E,0xC0,0x48,0xA9,0x49,0xFB,0x77,0xEF,0x66,0xF8,0x0B,0x8C,0x42,0x57, -0x01,0x69,0xC9,0x05,0x82,0x8C,0xA2,0x11,0x8D,0xAE,0x20,0xE0,0xFC,0x2D,0xA0,0xD0, -0xB5,0x8D,0x4D,0xF5,0x74,0xD1,0xD5,0x13,0x09,0xFF,0x72,0x1B,0x07,0x54,0x64,0x2C, -0xD3,0x33,0x8B,0x9F,0xB3,0x9D,0x96,0x04,0x26,0xD8,0x6B,0x27,0xAB,0x58,0x6B,0xDD, -0xA7,0x35,0x51,0x84,0x4F,0x62,0x24,0xAA,0x23,0x11,0x65,0x7A,0x34,0xBE,0xF3,0x03, -0x87,0x0C,0xB9,0x2E,0x0E,0xB9,0x92,0x4A,0xC3,0x14,0x57,0xF1,0xEB,0xC3,0x8A,0xB1, -0xF7,0x6C,0xED,0x4A,0x80,0x49,0x06,0x1D,0x72,0x26,0x68,0xA5,0x0A,0x63,0x35,0xF3, -0x75,0x6F,0x13,0x1E,0xAC,0xE7,0x1B,0xCA,0xAE,0xBF,0x22,0xC6,0x0E,0xA8,0x0D,0xA1, -0x5C,0x67,0x00,0x00,0x7A,0x0F,0x47,0x05,0x2F,0x27,0x7E,0x60,0x41,0x15,0x9E,0x34, -0x61,0xEC,0xF6,0xE6,0xA5,0xF2,0xE4,0x8D,0xC2,0x8A,0x25,0x16,0x7A,0xEC,0x17,0x32, -0x21,0x50,0x21,0xAF,0x78,0xCA,0xE3,0x09,0xF2,0x20,0x46,0xE4,0xED,0x19,0x91,0xC5, -0x7E,0x03,0x9F,0x5C,0x47,0x05,0x45,0x0A,0x29,0xD4,0xC7,0xD6,0x00,0x61,0x08,0xFC, -0x94,0x26,0x74,0x96,0x37,0xCF,0xC7,0xFF,0x8B,0x5D,0x99,0x56,0x7D,0xD9,0x7B,0xE2, -0xBF,0x73,0x10,0x7E,0x1B,0x61,0xDA,0x28,0x22,0x8F,0x17,0x9D,0xF1,0x1A,0xF1,0x0F, -0xFA,0x3B,0x98,0x81,0xF7,0x48,0xE9,0xB9,0x0F,0x0C,0xCB,0xAD,0xB4,0xA5,0x5F,0x95, -0x29,0xF3,0x0B,0xD2,0x41,0xBC,0xB6,0xBC,0xC7,0x43,0x2B,0x4B,0xC1,0x0E,0x32,0xA2, -0xC1,0x8B,0x97,0xEE,0x50,0x18,0xA9,0x64,0x1C,0xB7,0xAA,0x79,0xEF,0x08,0xB2,0xE3, -0x50,0xA2,0xA4,0x02,0x16,0x08,0x72,0xD5,0x15,0x48,0xBF,0x3E,0x6E,0xFC,0x69,0xD1, -0x36,0x1C,0x62,0x68,0x8C,0x52,0x30,0x07,0x5A,0x6C,0xBA,0xC8,0x28,0xBD,0x93,0xC9, -0x3B,0x4B,0x17,0xA3,0xD3,0x81,0x95,0xCE,0xA7,0x40,0x37,0x81,0xB0,0x6E,0x67,0xC7, -0xA8,0x3F,0x53,0xB9,0xFC,0x98,0xB2,0xF2,0xF0,0x84,0x83,0xE8,0xBB,0x83,0x2D,0x6C, -0x53,0x6D,0x02,0x3D,0xD4,0x4A,0xF8,0x9F,0x36,0x59,0xBD,0x18,0x70,0xEE,0x2A,0x3D, -0x1C,0xDB,0xD7,0x49,0x73,0x1A,0xB8,0x42,0x24,0x7C,0xAE,0x2B,0x23,0x50,0xD9,0x62, -0x0B,0x97,0x94,0x8E,0x51,0x6A,0x37,0x83,0x61,0x9D,0x09,0x71,0x75,0xCA,0x65,0xCB, -0xF5,0x31,0x9A,0xBC,0xCD,0x89,0x86,0xE7,0xA2,0x89,0x39,0xDC,0x5E,0xE8,0xAA,0x7C, -0xB8,0xDA,0x38,0x3E,0x89,0x5C,0xF9,0x5A,0xCF,0x22,0x4C,0xEB,0xAD,0x82,0x70,0xA9, -0xBD,0x2E,0x67,0x88,0xC9,0xF5,0xD1,0x5D,0xD7,0xC2,0xFD,0x74,0xDF,0x1C,0x71,0x4E, -0x38,0x84,0xB1,0x9C,0xB6,0x93,0x5F,0x59,0x11,0x1F,0xC3,0x84,0xD6,0xE0,0x18,0xC3, -0x86,0x9E,0x68,0xE7,0xB1,0x58,0x32,0x08,0xEA,0xC0,0xF7,0x7B,0x27,0x9B,0xE1,0x30, -0x55,0x56,0xFB,0xB4,0x43,0x79,0x12,0xB0,0x75,0x4B,0xA3,0xF4,0xFE,0x3C,0x83,0xF6, -0xDE,0x64,0xFE,0x54,0xA8,0x9B,0x4C,0x70,0xE2,0xA1,0x90,0xDB,0xC4,0x2A,0x7D,0x54, -0x77,0x32,0x64,0xE8,0x33,0xB3,0x90,0x45,0x4D,0x80,0xA7,0xA6,0x87,0x4F,0xC8,0xBA, -0xEC,0xE5,0x0A,0x8F,0x3C,0x1F,0x9C,0xB4,0x06,0xF3,0xDE,0xEA,0xCD,0xD6,0x14,0xD9, -0xBE,0xE1,0xC1,0xB7,0x99,0x8A,0x78,0x65,0xE5,0xCC,0x5B,0x8A,0x78,0xFD,0x34,0x14, -0x20,0xC2,0xF0,0x66,0x04,0x1B,0x57,0xE6,0xB0,0xAC,0x2A,0xEF,0xB7,0x5B,0x0B,0x17, -0x6A,0x80,0x7A,0xA4,0xBE,0xF4,0x3E,0xF9,0x1F,0x8D,0x1D,0x92,0x96,0x7B,0xF9,0xAF, -0xAC,0x59,0xDD,0xC6,0xE4,0x29,0x52,0x6D,0x86,0xF5,0xF0,0xAB,0x4E,0x33,0xEC,0xCD, -0x8F,0xAF,0x93,0x53,0x76,0x14,0x71,0x1F,0x40,0x28,0xCE,0x5B,0xC8,0xF2,0x5B,0x2F, -0x98,0xE3,0xD0,0x94,0xDF,0x9A,0xA3,0xD4,0x7C,0xB4,0xB6,0xB3,0x8F,0x5C,0xD6,0x93, -0x39,0x16,0x60,0x55,0xCE,0x3E,0xBC,0x0C,0x62,0xA7,0xBE,0x9A,0xB1,0x81,0x10,0x63, -0x89,0x94,0x6A,0xDA,0x6A,0xD9,0xC6,0x3A,0x46,0xDB,0x77,0xED,0x42,0xEB,0xCA,0xB6, -0xB2,0x24,0x65,0xB5,0x19,0xA4,0x7E,0x24,0x2C,0x1D,0xC9,0x8B,0xFA,0xF7,0xBB,0xA4, -0xE9,0x11,0x55,0x39,0xFA,0x21,0x41,0x44,0xC1,0xB0,0x92,0xFD,0xFB,0x18,0xCC,0x00, -0x10,0x1E,0x73,0x4B,0x6F,0xD7,0x0F,0x67,0x98,0xE6,0xF8,0x82,0xE4,0xE5,0xF8,0x48, -0x25,0x36,0xAF,0xD0,0x7F,0x01,0x8E,0x58,0x25,0xE2,0xDC,0xCC,0x45,0xDE,0xA6,0x66, -0x4F,0x4D,0xCD,0xB8,0x56,0xA1,0x5A,0xD2,0xDB,0xF4,0xE6,0x6E,0x12,0xAB,0x6D,0x6B, -0x40,0x47,0xCF,0x85,0xFE,0x5D,0x16,0xFE,0x58,0xC8,0x7F,0xC4,0xCC,0x39,0x63,0x7D, -0xE9,0x58,0xC1,0x9F,0xA7,0x85,0x45,0xEE,0xBC,0x5F,0x89,0xD8,0xCC,0x05,0x1B,0x39, -0x04,0x12,0x6A,0x94,0x13,0xD2,0x2C,0x2A,0xA5,0x63,0xA6,0xFF,0xD6,0x96,0x6F,0x7D, -0x3A,0xAC,0xCF,0x07,0x8A,0x51,0x86,0x16,0x3E,0xEF,0x06,0xD2,0x3C,0xB1,0xFF,0xBD, -0x84,0x5F,0x90,0x54,0x99,0x43,0xB5,0x33,0x6E,0x32,0xA1,0x92,0x48,0xFE,0x49,0x68, -0x62,0xC7,0x4E,0xCB,0x8E,0x69,0xD4,0xDD,0x3C,0xC9,0x25,0xC3,0x9B,0x6C,0xAF,0xFD, -0x64,0x47,0x0F,0xE5,0x0F,0xB2,0xE6,0x29,0x98,0x11,0x34,0xDC,0xA7,0x84,0xD7,0x61, -0xD7,0xE6,0x64,0x0C,0x9E,0x2F,0x65,0x06,0x76,0xAA,0xF9,0x5A,0x1D,0x9B,0x38,0x08, -0x96,0x1C,0x7C,0x4A,0x9B,0x60,0x93,0x22,0x2C,0x78,0x63,0x18,0x77,0xFD,0x86,0xCE, -0xF1,0x94,0x9D,0x03,0xD3,0x9F,0xD6,0xAA,0x7C,0xA5,0xC4,0x58,0x92,0x2B,0xBA,0x02, -0x8A,0x6D,0x6E,0xF2,0xE7,0x64,0x29,0x75,0xB7,0xF4,0xC3,0x35,0xE9,0x95,0xA0,0xDB, -0x40,0x08,0xF9,0xE0,0xB4,0x97,0x76,0xCB,0xBF,0xDD,0xDD,0x26,0x21,0x73,0x40,0x94, -0x56,0xF6,0x5B,0xDA,0x87,0x00,0x59,0x21,0x5D,0x1D,0x36,0x78,0xC1,0xF8,0x72,0x91, -0x82,0xDF,0xD1,0x7A,0x1D,0xD7,0x71,0xE3,0xAD,0x4A,0xB8,0xEC,0xC9,0x58,0x15,0xF0, -0xA0,0x10,0x66,0x51,0x2D,0x14,0xDC,0xF7,0x4E,0x2E,0x24,0x5D,0xFB,0xA6,0xB3,0xFE, -0x76,0x04,0xE3,0xFB,0xD9,0xA2,0xD9,0xA8,0xD1,0xF0,0xBC,0xBB,0xFD,0x10,0x0A,0x0D, -0xE8,0x05,0x04,0x89,0x68,0xBA,0x46,0x48,0x78,0xF7,0xFC,0x93,0x4B,0x15,0xFE,0x52, -0x59,0x99,0x60,0x6A,0xD4,0xF3,0x06,0x9F,0x0D,0xC0,0x91,0x38,0xB3,0x01,0x7D,0xB7, -0x11,0x8C,0x02,0xB2,0x39,0x6A,0x3F,0xE7,0xD0,0x54,0xCB,0x54,0xD1,0xC7,0xA4,0x10, -0x36,0xA3,0x3E,0xAB,0x92,0x09,0x1E,0xDE,0xBE,0x79,0xAA,0xC9,0xE1,0x35,0xC7,0xBA, -0x98,0x2E,0x82,0xEC,0xEA,0x35,0xF6,0x42,0x30,0xB2,0x03,0x1B,0x26,0x22,0x8B,0xF9, -0xBC,0x61,0x74,0xE9,0xFA,0x73,0x47,0x99,0x3B,0x19,0x49,0xF6,0xFA,0x41,0xC1,0x60, -0x25,0xBD,0x17,0xA3,0x83,0x38,0x0B,0xEA,0x97,0xE8,0x46,0xFA,0x9D,0xDA,0x16,0x0E, -0x31,0x7E,0xBA,0x93,0x0E,0xC5,0x42,0xC6,0x3F,0x4B,0x71,0x3D,0x13,0x8D,0xE6,0x9A, -0x97,0x41,0xB9,0x5C,0x7F,0x90,0x27,0xA6,0xAE,0xC8,0xEC,0x12,0xC2,0x13,0xC5,0xAB, -0xB4,0xD3,0xCB,0x61,0xF8,0x50,0x61,0x88,0x25,0xF5,0x0A,0xE4,0xA5,0x88,0x12,0xC5, -0x8F,0x8D,0xE5,0xC0,0xDC,0xED,0x2F,0x8C,0xF3,0xCA,0x1A,0x65,0x3E,0xBD,0x3A,0x19, -0x53,0x16,0xD0,0xE8,0x5B,0x2D,0x69,0xA2,0x79,0x53,0x8B,0x7C,0xF0,0xED,0x63,0xA5, -0xC1,0x18,0xC6,0x36,0xC2,0xAE,0xC3,0x9E,0x85,0x7F,0x23,0x30,0xCD,0xE2,0x69,0xA7, -0x81,0xBF,0x1B,0x66,0x53,0x33,0x40,0xB1,0xFD,0x97,0x1F,0xAC,0xAF,0x24,0xB0,0x00, -0xEB,0x65,0xCE,0x95,0x9A,0x17,0x37,0xCD,0x1A,0xA1,0xBB,0xD6,0x20,0x94,0x32,0x0A, -0x72,0xB9,0xAD,0xDF,0xB6,0xB4,0x50,0xDA,0x05,0xE9,0x8F,0x2B,0x4C,0x44,0x35,0x3F, -0x9D,0xCE,0x09,0xDE,0xED,0x59,0x26,0x77,0x80,0x89,0x6C,0x14,0xC0,0x1F,0x00,0x0F, -0x55,0x96,0x91,0xC6,0x81,0x1B,0x2D,0xFB,0xCC,0x9E,0xAB,0x57,0x7F,0x5D,0xE1,0xAF, -0x4F,0x67,0xC2,0x50,0x14,0xBE,0xFC,0x1F,0x31,0x16,0x74,0xF4,0xA8,0x75,0x7B,0x6D, -0x46,0x88,0xB8,0xCE,0xA2,0xCA,0xB3,0xCA,0x7E,0x83,0xE7,0x49,0xC8,0xBF,0x67,0x6E, -0x1D,0x83,0xF3,0x1E,0x44,0x19,0x21,0x5F,0x58,0xEB,0x79,0x5C,0x4A,0xF2,0x8C,0xCC, -0x5B,0xA4,0x6F,0x60,0xF1,0x39,0xEC,0x74,0x37,0x62,0x6F,0x2E,0x8A,0xB4,0x0B,0xE2, -0xB5,0x8E,0x0E,0x77,0x82,0x4F,0xAF,0x05,0xAC,0xEE,0xCF,0x03,0x95,0x7A,0x71,0x6F, -0xED,0xE5,0x8F,0xBB,0xF0,0x4E,0x48,0x9B,0xAA,0x9A,0xD4,0xD9,0x54,0xDB,0x84,0xDF, -0x51,0x2B,0xDF,0xE2,0xB1,0xD8,0x80,0xEF,0xCD,0x3A,0xDC,0xB8,0x81,0xFF,0xDB,0xB9, -0x69,0x15,0x3B,0x5F,0xF6,0x55,0x3C,0x41,0x9C,0x43,0x0C,0x17,0xDE,0x36,0x08,0x1C, -0x3C,0x2C,0x8E,0x29,0x18,0x98,0x87,0xC7,0xD2,0x72,0xE8,0x45,0xEF,0x23,0x19,0x28, -0x01,0xF2,0xE1,0xA6,0xE4,0x30,0xAB,0x8B,0xA1,0x31,0x9E,0x34,0x44,0xE4,0x52,0x5E, -0xB6,0xEE,0xC4,0x6B,0xB5,0xE0,0xD2,0x24,0xF7,0x98,0x22,0xAE,0x28,0x34,0x55,0x6B, -0x0C,0xA0,0xD5,0x1C,0x26,0x5E,0x77,0x1A,0x34,0xE0,0x3B,0xD0,0x45,0x03,0x20,0xC0, -0x63,0x9A,0x8B,0xDD,0x88,0x72,0xA0,0x07,0x09,0x92,0xA9,0xF3,0x66,0x25,0x22,0xD1, -0x80,0xE2,0xDE,0x70,0xF9,0x27,0xC5,0x67,0x47,0xA3,0x4D,0xA1,0x5D,0x9C,0x91,0x20, -0x13,0xB1,0x0D,0xB8,0x3D,0x52,0x6D,0x2C,0x96,0x4C,0x31,0x15,0x68,0x33,0xFC,0x43, -0xD4,0x86,0xAE,0x10,0x41,0x56,0xD7,0x7B,0x46,0x07,0x3A,0x4E,0xF1,0x0A,0x11,0x3B, -0x32,0x1E,0x70,0x8F,0x4F,0x53,0x8A,0xB2,0xB9,0xA9,0xC6,0xFC,0xEA,0x7E,0x17,0xE1, -0x09,0x40,0x5E,0x2E,0x4C,0x07,0x08,0x4C,0x6D,0xB0,0xF5,0x6C,0x3F,0x5A,0x48,0x87, -0xA9,0xFF,0x1C,0xCF,0x73,0xB6,0x5C,0x7E,0x9D,0xE7,0x7B,0xF8,0x5B,0x2A,0x28,0xD3, -0xE6,0x37,0xFA,0x2F,0x42,0x02,0x55,0x85,0x8D,0x56,0x3D,0x23,0xB5,0xB7,0xC4,0x44, -0x50,0x76,0x1A,0xF4,0xCA,0xB0,0xEA,0x8D,0x75,0x28,0xAD,0xA4,0x9C,0x3D,0x64,0x90, -0x3E,0x11,0x81,0x23,0x56,0x7C,0xB6,0x95,0xF5,0xBE,0x01,0xBF,0x80,0x18,0xA9,0x27, -0x47,0xD5,0x7D,0xD8,0x04,0xF8,0x4D,0xC4,0xA8,0xBC,0xF7,0xC8,0x70,0xAC,0x4D,0xA3, -0xB3,0x0E,0x4F,0x59,0xBD,0xFE,0xFB,0x37,0xEB,0x52,0x42,0xAD,0xE3,0x39,0x02,0x1E, -0x0B,0x7D,0x51,0x24,0xE3,0x5C,0x7B,0xBE,0x21,0xA7,0x32,0x2F,0x29,0xD3,0x27,0xF5, -0xCF,0x2A,0x38,0x90,0xEF,0x7A,0x00,0x66,0x6C,0x14,0x82,0x83,0xF4,0x57,0x1F,0xF2, -0x70,0x84,0xA2,0xD5,0x33,0x57,0x30,0xE5,0x45,0x85,0x6E,0xB0,0x0B,0x12,0x57,0x7A, -0x7F,0xEB,0x99,0x65,0x5A,0x5A,0xCD,0x4D,0x2B,0xA8,0x0F,0x2D,0x75,0xF1,0x43,0x6A, -0xC2,0x78,0x0C,0x2A,0x06,0xDB,0x6B,0xD5,0xC3,0x67,0xD9,0x71,0x6B,0xD8,0x4B,0x79, -0x73,0xE4,0x68,0xC9,0x62,0x87,0x49,0x4A,0xEE,0xA4,0x0D,0x89,0xDA,0x8C,0x74,0x4B, -0x86,0x62,0x9F,0x5E,0x01,0xB7,0xBB,0xE0,0xD6,0x20,0xD0,0x8E,0x93,0xCC,0xC8,0x9C, -0x3F,0x00,0x8F,0xEF,0x06,0xC2,0xF5,0xD5,0x37,0x42,0x73,0xF1,0x8A,0xE0,0x0D,0x64, -0x11,0x80,0x89,0xAE,0x34,0x36,0x2E,0x54,0x28,0xE6,0x62,0x29,0x16,0xDC,0x75,0x8C, -0x90,0x5B,0x7D,0x9C,0x73,0xC9,0x27,0x41,0xF3,0xF6,0x24,0x98,0x25,0x30,0x5C,0x1D, -0xD6,0xA1,0x3C,0x84,0x85,0xED,0x68,0x44,0xB1,0xAC,0xBE,0x4A,0xE3,0x5A,0xE2,0x7B, -0x4E,0x55,0xEF,0x8A,0xCC,0xC1,0x95,0xC9,0x14,0x7F,0xE1,0x83,0x96,0x91,0xB5,0x76, -0x45,0x1F,0x02,0x21,0xA5,0x05,0xC2,0x7D,0x33,0x66,0xCE,0xBF,0xD2,0x8B,0xC1,0xE5, -0x8E,0x18,0x6F,0x70,0x55,0xD8,0x04,0x43,0x79,0xB4,0xE6,0xD2,0x83,0x0F,0x93,0x1E, -0xDD,0xEB,0xD1,0x2F,0x66,0xFD,0x16,0x50,0x39,0xE4,0x41,0x0F,0x56,0x7B,0x25,0x51, -0x8B,0x57,0x4B,0x86,0x3C,0x1C,0x53,0xF7,0xB6,0x94,0x63,0xCE,0x15,0xBC,0x69,0x46, -0xA0,0x98,0x69,0x31,0x91,0x08,0x90,0xC7,0x07,0x77,0xFF,0xAA,0x1B,0x8E,0xCF,0xB8, -0x53,0x42,0x03,0xE4,0xA6,0xA3,0xFD,0xB2,0x78,0xA2,0xBB,0x17,0xB9,0x0C,0x24,0xF5, -0x21,0x43,0x9D,0x03,0x39,0x43,0xE5,0x03,0x50,0x0B,0xFB,0x10,0xE6,0xBA,0xD0,0xF0, -0x28,0x2A,0x61,0x8E,0xC9,0x9E,0x23,0x3D,0xDE,0x6D,0x84,0x14,0x30,0xAE,0x7A,0x75, -0xD9,0xD3,0x1A,0x7D,0x36,0x41,0xD8,0x09,0xB3,0xA6,0x83,0x45,0xE9,0xD5,0x60,0xCB, -0x00,0xB1,0xBD,0xBB,0xB9,0xCA,0x47,0x5D,0x93,0x87,0x71,0xFD,0x7A,0x86,0xA8,0x18, -0x3A,0x4F,0xAB,0x19,0x96,0x20,0xD0,0x6E,0xCD,0x65,0x9A,0x3D,0x7F,0x66,0x9A,0x93, -0x79,0xFA,0xCE,0xF7,0xEB,0x01,0x7F,0x59,0x11,0x4D,0x01,0x08,0xE5,0xDA,0xCC,0x3A, -0x33,0x26,0x57,0x94,0xA7,0x72,0x34,0x20,0x1D,0xE1,0x0E,0xF9,0x8B,0xBD,0x1B,0xA1, -0x86,0x06,0x7C,0x59,0xC7,0x4D,0xD7,0xA5,0xF9,0x74,0xAB,0x28,0x40,0x85,0x1F,0xF3, -0x49,0x39,0xDA,0x5A,0xA2,0x2D,0x82,0xD4,0xD6,0xE5,0x36,0xAB,0x71,0x54,0x3C,0x6D, -0x68,0xCB,0xFA,0xE2,0xDF,0x0C,0x2D,0xE3,0xBF,0x0A,0x8C,0xB4,0xFB,0x96,0x7E,0x27, -0xB0,0xDE,0xB2,0x80,0xE6,0x74,0xB4,0x0E,0xD3,0xD7,0xD6,0x20,0x5C,0xF4,0xA7,0xE1, -0x36,0x69,0x73,0x62,0x16,0xA9,0x72,0x30,0xF0,0xEA,0x44,0x52,0x12,0x61,0x51,0xC2, -0x71,0xE4,0xDD,0xDE,0xFE,0x35,0x4E,0x48,0x22,0x64,0xED,0x99,0x51,0xA6,0x1D,0xD5, -0x4F,0x22,0x00,0x2E,0xD7,0x26,0x50,0x40,0x3D,0xC0,0xFC,0x41,0xE1,0x67,0xE8,0x74, -0xBC,0xF8,0x6A,0xFB,0xA0,0x5A,0x74,0x89,0x47,0x27,0x58,0x77,0xEB,0xE8,0x6A,0xC4, -0x04,0x89,0x76,0xE9,0xC6,0x9C,0x1E,0x37,0xFF,0x5A,0x2B,0x69,0xE4,0x87,0xDA,0xFF, -0x05,0xFE,0x99,0x4D,0xB0,0x31,0xF3,0x6C,0xC0,0xDF,0xC8,0x09,0xD4,0x0B,0xEF,0xA4, -0x1A,0xCA,0x64,0x05,0xCF,0x67,0xAA,0x06,0x8E,0x29,0x5D,0x2A,0xF2,0x79,0xE0,0x5D, -0xBB,0x94,0x5F,0x2B,0x81,0x63,0x17,0x22,0x0F,0xFF,0x4D,0x15,0x2E,0xE2,0xC8,0x68, -0xEC,0x5F,0x2A,0x26,0x23,0x75,0xE9,0x18,0xDB,0x5F,0x64,0x9F,0x4C,0x8A,0xB3,0x02, -0x32,0x51,0xB8,0x30,0x89,0x49,0x6A,0x81,0x97,0xA3,0xCC,0xB3,0x4E,0xB7,0xB9,0x0D, -0xAD,0xC9,0x5E,0xEE,0x4F,0xEE,0x08,0x58,0xE8,0x76,0x88,0x0E,0x84,0xD2,0xAB,0x9A, -0xBA,0xE3,0xB0,0x8F,0x0C,0x9F,0x7E,0x2B,0xC5,0xED,0x28,0x82,0x09,0xCD,0xD1,0x54, -0x38,0x6C,0xBA,0x3F,0x60,0x04,0x9F,0x6B,0x53,0x17,0x9B,0xDA,0x52,0xC6,0x01,0x1F, -0x61,0xA2,0x06,0x6F,0xA8,0x70,0x09,0x2A,0x32,0x70,0x93,0x7A,0x34,0x13,0x5E,0x3B, -0x8A,0x20,0xA4,0x22,0x1C,0xF4,0xF9,0xCE,0x1F,0xEB,0x33,0xF6,0x86,0xEF,0xA1,0x95, -0x1C,0xD1,0xBE,0x71,0xCD,0x10,0x5C,0x5B,0xBC,0x16,0xEC,0x7E,0x44,0x38,0x3B,0xBD, -0xC4,0xC4,0xF6,0x13,0xC1,0xB4,0x5E,0x9E,0xB7,0x82,0x3E,0x0B,0x27,0x0D,0x56,0x12, -0x14,0xCF,0xAD,0x58,0x53,0x21,0x8D,0x78,0xA2,0xA4,0xA0,0x63,0x85,0x8F,0xBD,0x5F, -0x07,0xDD,0x88,0x6B,0x40,0xEC,0x35,0x52,0x18,0xD3,0xEE,0x72,0x3A,0x21,0xF8,0xC5, -0xC6,0xE7,0xE7,0x35,0x97,0xF1,0x19,0xFC,0x3B,0xEE,0x7C,0x00,0x2B,0x02,0xFA,0xE3, -0x62,0xF6,0xF8,0xED,0x8D,0xC7,0x15,0xE7,0xFE,0x4C,0x76,0xAC,0xA8,0x2F,0x26,0xD3, -0xAA,0xA5,0x6B,0x3E,0x25,0x8C,0x60,0x23,0x4A,0x9D,0x0A,0x43,0xCB,0x1A,0x4B,0x7C, -0xF3,0x6B,0xD7,0x6E,0x67,0x2C,0xDF,0xC2,0xAE,0x08,0xAF,0x92,0xC3,0xA8,0xC3,0xC3, -0x85,0x52,0x82,0xDB,0xDC,0xAA,0x12,0x2C,0xFC,0x46,0x4B,0xA3,0xF7,0x99,0xD2,0xD6, -0xB1,0xA9,0x5D,0x24,0x32,0xCF,0xA7,0x6F,0x45,0x2D,0x65,0x78,0x80,0x6F,0x8F,0xD4, -0x7C,0xB5,0xEA,0x01,0x4B,0x60,0x77,0x3E,0xDF,0x7B,0xD9,0xD1,0xB5,0x03,0x88,0x04, -0x2E,0x31,0xBB,0xFA,0x0A,0x66,0xF7,0x10,0x4F,0xAF,0xEA,0xC8,0x7B,0xDB,0xBE,0xDD, -0xF5,0x70,0x0D,0x1A,0xB5,0x6E,0x45,0x98,0xC8,0x57,0x7A,0xB6,0xAF,0xF2,0x1E,0x57, -0x02,0x92,0xAC,0x9D,0xAD,0x2F,0xBF,0xDE,0x23,0x72,0xB0,0x5C,0x48,0x37,0x97,0x4C, -0xF9,0x56,0xD5,0x61,0x56,0x7E,0x3B,0x8C,0x54,0x2F,0x46,0x5E,0xCC,0xC7,0x73,0xF8, -0x55,0x59,0xD9,0x90,0x6A,0x59,0x14,0x95,0x17,0x63,0x81,0x49,0x0A,0xAD,0xCD,0x9E, -0xCA,0xC1,0x3F,0x4E,0x37,0x90,0x11,0x9B,0xA5,0x9C,0x7D,0xE7,0xD0,0xB6,0xCB,0xEA, -0x15,0xB8,0x42,0xFC,0xBC,0x95,0xF1,0xA9,0x13,0x47,0x3C,0x07,0x38,0x1C,0xF2,0xCA, -0xF4,0x07,0xE2,0xBE,0xE8,0xA7,0x40,0x96,0x87,0xB7,0xB2,0x50,0x6C,0x78,0x92,0xBA, -0xF0,0x3F,0x29,0xEC,0x8B,0x3E,0x9C,0xDC,0x9A,0x19,0x9E,0x87,0x92,0x2C,0x91,0x38, -0xBF,0xAC,0x94,0x79,0x2D,0xA6,0x1D,0x80,0xC6,0xF1,0x48,0x48,0x81,0x32,0x99,0x11, -0x84,0x25,0x6D,0x7F,0x5B,0x0B,0xF0,0xDB,0x65,0x0C,0x97,0xC0,0x77,0xD4,0x12,0x2C, -0x13,0xA3,0x98,0x88,0xA9,0xA1,0xC0,0xB8,0x62,0x34,0x4A,0x44,0xA0,0x9D,0xAE,0x6C, -0xFE,0x3A,0xE0,0xB1,0x9B,0x55,0x1B,0x39,0xC4,0xFB,0x75,0x47,0x1E,0x6E,0xFD,0x33, -0x83,0x49,0x58,0xAF,0x1B,0xDC,0xB9,0x67,0x46,0x31,0x05,0xB2,0xF5,0xA4,0xD8,0xD9, -0x0F,0xC3,0x9B,0x42,0xD0,0x0E,0x10,0xE9,0x5B,0x9F,0x29,0x65,0x91,0x4C,0x8D,0xF2, -0x4A,0x6D,0x24,0xD8,0xE0,0x8D,0x3D,0x35,0x68,0xB6,0xC5,0xF4,0x19,0xB3,0xC5,0xB7, -0xFB,0x51,0x4E,0xA6,0x98,0xEB,0xC2,0x45,0xC9,0x19,0xA6,0x07,0x53,0xE3,0xB7,0xB8, -0xEA,0xF5,0x96,0xB9,0x04,0x03,0xBA,0x79,0x88,0x99,0x88,0x01,0x61,0x62,0x6C,0x4C, -0x27,0x1B,0x2D,0x3F,0x6D,0x1C,0x55,0xC3,0xE3,0x38,0x61,0xB2,0xE2,0xF3,0xF1,0x63, -0xBD,0x41,0xFF,0x7D,0xAB,0x7A,0xEB,0xA9,0xFB,0xC2,0x27,0xF3,0x14,0xF6,0xBE,0x47, -0x57,0xD1,0xD8,0xBD,0x5C,0x82,0x76,0x12,0x46,0x86,0xF2,0x8C,0xC2,0xCA,0x5B,0x8B, -0x78,0xC8,0xE4,0x9A,0x18,0x11,0x02,0x08,0xED,0xCC,0xF9,0x61,0xAB,0x7E,0x0C,0x4F, -0xD8,0x53,0x68,0xB7,0xD8,0x36,0x92,0xE2,0x48,0x72,0x6A,0x5F,0x01,0xE7,0x8F,0x73, -0x7F,0x03,0xB5,0xF7,0x0D,0x79,0x24,0x96,0x17,0x81,0x39,0xE1,0x32,0xF4,0x9D,0x56, -0x66,0xC0,0xCD,0x89,0x95,0xDF,0x78,0x17,0x56,0x01,0x17,0xE7,0xF6,0x70,0x09,0x86, -0xFA,0x23,0xA9,0x38,0x9B,0x21,0xDE,0x25,0xE1,0xCE,0x3C,0xC5,0x5B,0x40,0xCA,0x92, -0x62,0xBC,0x77,0xDE,0x68,0x97,0x67,0x23,0x64,0xDA,0x96,0x13,0x5E,0xB4,0x7C,0xCD, -0x22,0x15,0x70,0xF6,0x37,0x92,0x93,0x95,0x83,0xDB,0xE4,0x8D,0xC1,0x05,0x64,0x2D, -0x1A,0x11,0x22,0x3D,0x67,0xAC,0xD7,0x4C,0x1A,0x4A,0x6E,0x94,0x51,0xBE,0x41,0xCF, -0x1D,0xDA,0x73,0x50,0xBE,0x12,0xCD,0x37,0xE9,0xB3,0x9F,0xEF,0xAE,0x8A,0xBA,0x10, -0x03,0xD2,0x5A,0x43,0xF1,0xF4,0x2D,0xFF,0x7E,0xD6,0x8D,0x25,0xF1,0xD9,0x49,0xAE, -0xE8,0x30,0x9A,0x1D,0xF4,0x7F,0x1F,0x1F,0xDC,0x28,0xB7,0x33,0xDE,0xEA,0xDE,0x44, -0x97,0x56,0x9E,0x93,0x05,0xC6,0xAC,0x24,0xF3,0xBF,0x84,0xD9,0xC0,0x97,0xAD,0xFC, -0x98,0xFA,0x6F,0x9F,0x6B,0x5D,0x7B,0x43,0x90,0x63,0xCE,0x40,0x8C,0xEE,0xE6,0x8F, -0xAF,0x52,0xCC,0x58,0xFF,0x0A,0x8B,0xCD,0x3D,0xA0,0xFE,0x54,0xC5,0x63,0x1B,0xA3, -0x32,0xC3,0x4F,0x77,0xCE,0x94,0xA8,0x1C,0x3E,0x9F,0x31,0xF2,0xA0,0x12,0x4E,0xC3, -0x4F,0x60,0x47,0x5D,0xD2,0x86,0x10,0x6D,0xE7,0x47,0x07,0x3C,0x81,0xB9,0x2D,0xFA, -0x15,0xBD,0xD3,0x31,0x75,0x40,0xC9,0x0F,0x85,0x52,0xDF,0x74,0xB8,0x54,0xB4,0x82, -0x74,0xD3,0xFE,0xAC,0xDF,0xB2,0xAA,0x3F,0xB9,0x7D,0xC6,0x53,0x99,0xFF,0xD7,0xBB, -0xDD,0x5D,0x35,0x7E,0x9C,0xA5,0xE6,0xF8,0x05,0xF0,0x81,0xFD,0x71,0x87,0xEB,0x27, -0xC1,0x90,0x10,0xC9,0x65,0xA3,0xDD,0x71,0x9C,0x61,0x0B,0xE4,0xC7,0x3E,0xED,0xD4, -0x65,0x77,0x26,0xB3,0x6F,0x13,0x5F,0xFE,0x49,0xBB,0xF8,0x8E,0xB0,0xF7,0xC9,0xA8, -0x51,0x68,0x6E,0x4E,0x5A,0xC3,0x58,0x92,0x2A,0x67,0xB2,0x17,0xD7,0xDB,0x6A,0xBF, -0xB2,0xED,0x0E,0x71,0x6A,0x98,0x6D,0x1E,0x8E,0x10,0xB3,0xF8,0xA1,0x80,0x87,0x12, -0xD4,0x48,0x72,0x81,0xA0,0x0F,0x7F,0x7B,0x4C,0x0D,0x0C,0xD1,0xE6,0x95,0x8E,0xED, -0xC4,0x9E,0x4D,0x00,0x7C,0x3A,0x57,0xE0,0x62,0x53,0xAD,0xEA,0xA8,0xB1,0x33,0xE9, -0x55,0x14,0xD4,0x19,0xC0,0x6A,0x0E,0x2E,0x57,0xC8,0x85,0x36,0xEE,0x36,0xF3,0xC7, -0xFD,0xE8,0xF8,0x55,0xC2,0x65,0x04,0x13,0x41,0xC6,0x5B,0xA4,0x44,0xAF,0x70,0xFB, -0xB1,0x5A,0xE5,0x4B,0x87,0x33,0x66,0x54,0xE8,0x7A,0x0D,0x3E,0x6B,0x9C,0xE7,0x11, -0x11,0xC1,0x69,0x66,0x0A,0xFD,0x1C,0x4B,0x89,0x50,0x1A,0xD0,0x28,0xEF,0x91,0x60, -0x0A,0xC7,0x1D,0xBC,0xBA,0x5C,0xE9,0x8A,0x08,0x3B,0xD6,0x88,0xCF,0x9D,0x90,0xFE, -0x02,0xA0,0xBD,0xDD,0xDC,0x78,0xB6,0x5F,0x58,0xF5,0x8F,0x34,0x07,0xDC,0x06,0x8A, -0x75,0xA1,0x19,0x32,0xCA,0xDA,0x8C,0xA1,0x16,0x48,0xAB,0x30,0xAA,0xEC,0xC5,0x9E, -0xAA,0x5C,0x91,0x91,0x08,0xF2,0x16,0x76,0x45,0xB9,0x3D,0x2A,0x7B,0x79,0x60,0x7A, -0x39,0x13,0x04,0x2C,0x0B,0x38,0x0A,0x16,0x3F,0x56,0xA3,0x23,0x34,0xCF,0x14,0xAF, -0xA7,0x35,0x6C,0x39,0xA9,0x75,0xE1,0x94,0x74,0x5D,0x73,0x78,0xA6,0x29,0xC7,0x3A, -0xE5,0x59,0x67,0xB5,0xA5,0x84,0x4D,0x9B,0x52,0x7E,0x71,0x69,0xF0,0x4B,0x80,0x7F, -0x77,0x64,0x15,0x96,0xB4,0xA2,0x4F,0xB8,0x0C,0x44,0xB0,0x06,0x27,0xE5,0xAC,0x62, -0x93,0x2A,0x24,0xC4,0x45,0x1B,0xFC,0x83,0x59,0x3C,0x1D,0xE5,0x42,0x94,0xF9,0x02, -0xEF,0xFB,0xCB,0x70,0x26,0xB4,0x91,0xB6,0x8A,0x6F,0xD5,0x76,0xEA,0x50,0x8C,0x49, -0xD2,0xF1,0xC4,0x72,0x79,0xB1,0x65,0x00,0xBC,0xCB,0x32,0x0C,0xBB,0x9B,0x8B,0x24, -0x36,0xBF,0xF5,0x20,0x4D,0xA4,0x74,0x31,0x09,0xF2,0x44,0x59,0x00,0x75,0x46,0xA2, -0x40,0xCC,0xB6,0x51,0x3B,0x63,0x3F,0x9A,0x66,0x2C,0xCB,0x64,0x2C,0x89,0xEE,0xEE, -0xFC,0x9A,0x1F,0xCB,0x0E,0xB3,0x38,0xF6,0x43,0x30,0x06,0xD3,0x55,0xD8,0x3E,0x41, -0xE3,0xE0,0xD1,0x46,0x21,0x30,0xA9,0x6B,0x7D,0xE9,0x42,0x83,0xD2,0x2F,0xDC,0xE0, -0x73,0x18,0xAF,0xC1,0xF5,0xBA,0x09,0x42,0x9D,0xA8,0x99,0x35,0x6D,0xA7,0x6E,0xE8, -0xDF,0x98,0x39,0xDA,0x42,0x9F,0xC4,0x5E,0x06,0xCF,0x4E,0x5B,0x31,0x3B,0xA2,0xF0, -0x29,0xC5,0x3B,0xAD,0xC6,0x2B,0x20,0xAE,0xFA,0x0B,0xB5,0x22,0xCA,0x69,0x26,0xA1, -0xE4,0x2B,0x80,0x2B,0x5E,0x8D,0x7C,0x2F,0x29,0x58,0x7D,0xB1,0x50,0x2C,0x88,0x1E, -0x18,0xD4,0x2E,0x99,0x84,0xF9,0x7A,0x34,0xF7,0xC0,0xE2,0x57,0x0D,0x22,0x8D,0xD7, -0x2B,0x00,0x37,0x09,0xE2,0xDD,0x25,0xE1,0xD9,0x9E,0x43,0x6C,0x8F,0x21,0xD9,0x29, -0xA5,0xF0,0x60,0x9D,0xB6,0xAD,0x45,0x85,0x9B,0x21,0xA2,0xCC,0xDB,0x1E,0x68,0x1B, -0xD1,0x46,0x2F,0x48,0x0F,0x76,0x2E,0xAB,0x1E,0x35,0x08,0x1A,0x4A,0x37,0x84,0x28, -0x07,0xAE,0xE0,0x14,0x1C,0x5F,0x26,0xB5,0x8B,0xA6,0x47,0xA7,0xEC,0x6B,0x05,0xB0, -0xD3,0x83,0x23,0xEC,0x2E,0x0B,0x19,0x04,0xEF,0x3A,0xA4,0x16,0xCE,0x0F,0x59,0x2F, -0x0E,0xBB,0xA7,0xEB,0xF9,0x4B,0xA5,0x4D,0x18,0xBC,0x33,0xE3,0x3C,0x6C,0x69,0x85, -0x9C,0x86,0xD5,0xC8,0x7B,0xBE,0x6F,0x3D,0xC8,0xD0,0x34,0xD6,0x7C,0xD0,0x20,0x52, -0xEC,0x4C,0x20,0x4A,0x90,0x54,0x4A,0xF7,0xD6,0xA3,0x49,0x6E,0xFC,0x8E,0x82,0xDB, -0x5C,0x01,0x93,0xE6,0x97,0xD0,0x72,0x2A,0xBF,0xF4,0xFD,0xAA,0x87,0x82,0xA4,0x03, -0xB0,0x28,0x02,0xD5,0x1F,0x95,0x3A,0xD5,0x25,0x5A,0xB8,0x15,0xB7,0x5E,0x89,0x80, -0xAA,0x91,0x6A,0x3B,0xDA,0x30,0x36,0xEF,0xF4,0x7B,0xB2,0x0A,0x70,0x8A,0xA6,0x0D, -0x85,0x88,0x56,0x1C,0x9E,0xA3,0x42,0xF5,0x5F,0x31,0xB9,0xE7,0x19,0x3E,0xF1,0xC9, -0x25,0x13,0xDA,0x31,0x5E,0x84,0xD2,0x1F,0xFA,0x8F,0x2A,0xD9,0xB3,0xA7,0x72,0xF5, -0x82,0x43,0x07,0x71,0x8B,0xCB,0x64,0x6B,0xA5,0x7C,0x79,0x67,0x80,0xB4,0x60,0xD0, -0x06,0x11,0xFC,0x20,0x1E,0x59,0x82,0xB8,0x7B,0xE4,0xE6,0x81,0xE1,0xA3,0x4A,0x3E, -0x17,0xB5,0x24,0x3F,0x82,0xB1,0xFA,0x84,0x3A,0x64,0xC8,0x87,0xD3,0x22,0x91,0xCA, -0xDA,0x5B,0x9F,0xB9,0xEB,0xAE,0x15,0x3E,0x51,0xC5,0x21,0x34,0x50,0xB3,0x0C,0xE5, -0x40,0x01,0x4D,0xFB,0x2D,0xC8,0xAB,0x54,0x49,0x3F,0x67,0x75,0xA6,0xB6,0x43,0xC1, -0xE7,0x51,0x90,0xBB,0xE1,0x1E,0x97,0xB1,0xA8,0xB7,0x2E,0x12,0xE3,0xFE,0xBC,0x49, -0xE0,0x9A,0xC1,0xD6,0x38,0xA0,0x8D,0xCA,0x5B,0x4E,0xDF,0x69,0x1C,0xCA,0x47,0x96, -0xFE,0x92,0xE8,0xC5,0x77,0x46,0x6D,0x02,0xCC,0x2B,0xCD,0xA3,0x43,0x99,0xB4,0x28, -0x15,0x70,0x28,0x9B,0x72,0xCD,0x5F,0xE2,0x6E,0xD5,0xF7,0xB5,0x6C,0xAA,0x23,0xC2, -0x9B,0x80,0x7F,0x0F,0x13,0x6D,0x38,0xEA,0xE4,0xFC,0x57,0x61,0x44,0x30,0xF4,0x00, -0x07,0x63,0x1B,0xBE,0x1D,0x93,0x9E,0xD8,0x53,0x33,0x7C,0x43,0xE9,0x00,0x37,0x14, -0x9F,0xFC,0xC5,0x58,0xEE,0x25,0x27,0xDE,0xD6,0x27,0xD6,0x95,0xEC,0xF4,0x81,0x4B, -0xDF,0x55,0xC2,0x70,0xB1,0x20,0xD3,0x68,0x31,0x26,0xA4,0x0B,0x73,0x45,0x99,0xAB, -0xB2,0x20,0xF5,0xDB,0x54,0x34,0x50,0x90,0x55,0xBA,0x47,0xBA,0x33,0xF9,0xD0,0x7C, -0xE8,0xFD,0x61,0xB7,0xF3,0xF2,0x89,0xF2,0x37,0xAF,0x9F,0xF2,0x0A,0x14,0x49,0x04, -0x89,0x93,0x4C,0x2A,0x59,0x00,0xEA,0xC2,0x0B,0x80,0x86,0xD5,0x2B,0xBF,0x2A,0x3D, -0x20,0x1D,0x87,0xF8,0x1A,0x17,0xA6,0x05,0xB7,0x0D,0xC1,0x7B,0xC3,0xC7,0x16,0xA1, -0x6A,0x16,0x2C,0x15,0x83,0x74,0xEC,0xD9,0x41,0x42,0xC4,0x5F,0x72,0xD7,0x50,0x7A, -0x65,0xBA,0xDD,0x19,0xED,0xEF,0x3B,0xBE,0x22,0x9E,0x8E,0xC6,0x3E,0xAE,0x1B,0x09, -0x52,0x12,0x7E,0xDE,0x79,0xB8,0xCB,0x30,0x8F,0x5D,0xBE,0xD2,0x77,0x23,0xE6,0x25, -0xCF,0x83,0xFD,0xF1,0x48,0x26,0xE8,0xE1,0x8C,0x62,0x71,0x74,0x12,0x52,0xB3,0x45, -0x29,0x08,0xC0,0x07,0x26,0xBD,0x3F,0x86,0xFE,0xF0,0x4C,0x57,0x54,0xD5,0x73,0x6B, -0x39,0xDE,0xFF,0x86,0xFA,0x88,0x17,0x1D,0xD0,0xAE,0xED,0x6C,0x1A,0xF1,0xCE,0x6F, -0xA8,0x54,0x66,0x9F,0x46,0xD8,0x4E,0xD3,0xE5,0x35,0xC5,0xB0,0x5C,0x76,0x0E,0x41, -0x00,0xA8,0x4A,0xD3,0x44,0xD7,0x44,0xEE,0xF3,0x3B,0x1B,0x22,0xF6,0xEF,0x8D,0x7D, -0x3C,0xD0,0xA2,0x4F,0xE3,0x11,0x9D,0x8C,0x2E,0x9C,0x4B,0x62,0x75,0x7E,0x10,0x52, -0x98,0x37,0x94,0x35,0xE9,0xA1,0x1F,0x03,0xFB,0x46,0xB8,0x08,0x02,0xB7,0x34,0x2E, -0xAC,0x28,0xDC,0xC8,0xDC,0x71,0x18,0x6F,0x98,0x9A,0xF2,0x91,0x65,0x9B,0x97,0x39, -0x4F,0xAD,0xBC,0xF7,0xEC,0x2A,0x2D,0xE3,0x3C,0xED,0xF3,0x7E,0x13,0xC0,0x7A,0x94, -0x88,0xE1,0xAB,0xB4,0x4C,0x68,0xCC,0x5C,0xA4,0xB5,0xEB,0xB6,0x18,0xAC,0x38,0x18, -0x57,0x1C,0x23,0x17,0x8E,0x40,0x56,0x8B,0xF7,0x44,0x7D,0xAC,0xC9,0x39,0x9D,0xFC, -0xC4,0x53,0xB6,0xAA,0x8D,0x8A,0x4A,0xEB,0x8D,0xAB,0xE3,0xA5,0x86,0x8F,0xE9,0x29, -0x5A,0x75,0xDE,0xBF,0x2F,0xC7,0xA1,0x69,0xC6,0xA0,0x33,0xFE,0x14,0x69,0x3A,0xBC, -0x4C,0x1A,0x57,0xCD,0x01,0x81,0x26,0xA9,0x5A,0x87,0x4D,0xB8,0xD9,0xDC,0x1A,0x97, -0xEC,0x81,0xDB,0xE0,0x8C,0x4F,0x5C,0xB6,0x3B,0xAD,0x5A,0x56,0x9A,0xAF,0x6C,0xE6, -0xF7,0x87,0xAF,0x3A,0x3C,0xEE,0xA9,0x77,0xBA,0xC6,0x96,0x0E,0x7D,0xDD,0x6D,0x78, -0xFF,0xE0,0x0F,0x5B,0x5A,0xCA,0xF6,0xA2,0xEA,0x08,0xCF,0xB2,0xB5,0x9C,0xFB,0x0C, -0x2F,0xB1,0x76,0xF4,0xFF,0x03,0x25,0xFD,0x0E,0x36,0x72,0x8A,0x09,0xDB,0x76,0xA2, -0xCB,0xFF,0x47,0xA6,0xCB,0x16,0x34,0xCC,0xBB,0x0F,0x04,0xDF,0xB2,0x35,0xBB,0x24, -0xBD,0x8C,0x04,0xD7,0xBD,0xD1,0x7F,0x67,0xD4,0xD1,0x8B,0xE2,0x9E,0xC9,0x13,0x68, -0x01,0xDA,0xAD,0x4D,0x88,0x01,0x78,0x0B,0xF1,0xCD,0x46,0x55,0xE7,0x98,0xC3,0xC7, -0x18,0x19,0xD5,0x33,0x23,0x36,0x0D,0x66,0xE0,0x83,0x31,0xEF,0x42,0x0B,0x7D,0xF9, -0x8A,0x24,0xA7,0x10,0x32,0x10,0x0F,0x45,0xBE,0xB9,0xF0,0x80,0x95,0xA5,0x51,0xE4, -0x6E,0x6A,0x96,0x42,0xC3,0xA9,0xBC,0x7E,0xEB,0xC1,0x5D,0x63,0xF0,0xD4,0x04,0x84, -0x12,0xBB,0x79,0xF6,0xA0,0x06,0xD1,0x4B,0x38,0x92,0x95,0xF0,0x58,0x10,0x71,0xCF, -0x19,0x6B,0x32,0xAD,0xD8,0x3F,0x3C,0xD2,0x9B,0xA5,0x3D,0x37,0xE2,0x6C,0x75,0x98, -0xE5,0x94,0x9C,0x1F,0x02,0x4B,0x3A,0xC9,0x45,0x3D,0xA2,0xD1,0xBF,0x62,0x70,0x51, -0xD6,0x40,0x85,0x8F,0x64,0x6F,0x65,0x1C,0x6B,0x63,0x03,0xEA,0x3D,0x61,0x24,0xAF, -0x58,0xB0,0xD2,0x1B,0x30,0x1F,0x05,0x78,0x29,0xDC,0xE2,0x4A,0x69,0x5E,0x95,0x9D, -0x1E,0xA0,0x63,0xC0,0xA7,0x82,0xE9,0x96,0xCF,0x14,0x02,0x05,0x60,0x6F,0x21,0x66, -0x8E,0x58,0x1D,0x47,0x73,0x08,0x49,0xBF,0x2F,0x55,0xD9,0xB3,0xDF,0xE7,0x93,0x6E, -0x22,0xD8,0x8B,0x5C,0xC4,0x2D,0x84,0xA3,0xB4,0x32,0x0E,0xDD,0x83,0x7B,0x5F,0x76, -0xD4,0x85,0x89,0x2B,0x40,0x99,0x60,0x53,0x48,0xF6,0xF5,0xA4,0x78,0x29,0xDB,0x27, -0x61,0xC6,0x67,0x4E,0xFD,0x0C,0x2F,0xC0,0x7A,0x2D,0x74,0x50,0xCE,0x90,0xDD,0xD4, -0x11,0x0C,0x92,0xCC,0x16,0xE6,0x0A,0x0A,0x64,0x5E,0x09,0xE8,0x4E,0xCE,0x7F,0x5D, -0xA1,0x41,0x21,0x60,0x11,0x62,0x32,0xD7,0x0D,0x09,0xBD,0x2C,0x35,0xC2,0x59,0x85, -0x4D,0x68,0xB0,0x53,0x99,0x27,0x7A,0x28,0x97,0xA7,0xF8,0x93,0x05,0x1E,0x74,0x06, -0x2C,0x06,0x9D,0xCE,0x89,0xC4,0x6E,0x56,0xAC,0xC8,0x48,0x9C,0xF8,0x77,0x79,0xAE, -0xFA,0xEE,0x52,0x92,0x9A,0xED,0x66,0x48,0x39,0x5B,0x07,0x21,0x5E,0x2B,0xF8,0x36, -0x2E,0xC3,0x91,0x6A,0xA8,0xB9,0x59,0xF9,0x5D,0xC7,0xE4,0x90,0x7C,0x4F,0xA4,0xA9, -0xF3,0xFB,0x15,0x6D,0x7F,0xF9,0xE5,0xB0,0xAA,0x41,0x73,0x65,0x8E,0x2C,0x94,0x03, -0x38,0x7F,0xDE,0x4B,0x63,0x1C,0xA8,0xA2,0xDF,0x2E,0x22,0x8E,0xE6,0x41,0x85,0xAF, -0x84,0x36,0x09,0x0B,0xE7,0x1B,0x75,0x9A,0x75,0x4D,0x12,0x7C,0x13,0xC7,0x12,0x58, -0x0F,0xD0,0xFF,0x36,0x6F,0xB8,0xAA,0x67,0xD8,0x16,0xFF,0x0A,0xEA,0x4E,0x29,0x5E, -0x07,0xCE,0xEC,0x1F,0xA0,0xE4,0x7C,0x8F,0x40,0x4A,0x7E,0xAC,0x57,0xDD,0x66,0xCB, -0x53,0x51,0x67,0x90,0xD3,0x16,0x27,0x20,0xF3,0xA3,0xDF,0xC7,0x5A,0x8F,0xDC,0xFF, -0x1B,0xAE,0xEF,0xD5,0x42,0x25,0xCB,0x09,0x70,0x7F,0xF2,0xF7,0xE5,0x21,0x99,0x65, -0x4E,0x46,0x8B,0xFE,0x95,0x38,0xE7,0xA7,0xA2,0xF1,0x5B,0x3C,0x26,0xAB,0x15,0x88, -0x6B,0x8C,0x60,0x14,0x60,0xBA,0x97,0x6D,0x2B,0xAF,0xF9,0xBC,0x9E,0xD8,0x68,0x96, -0xE5,0x25,0xB2,0xDF,0x79,0x2A,0xA4,0xB9,0x00,0x1A,0xD9,0x71,0xAB,0xB4,0x6F,0x46, -0x01,0xD5,0x36,0x6B,0x7B,0x5D,0x52,0xE4,0x51,0x48,0x5D,0x8A,0xD2,0x70,0x94,0xBA, -0x88,0x10,0xD1,0x70,0x91,0xB6,0x98,0xC1,0x10,0x0E,0xA7,0x92,0x73,0x92,0x63,0x3D, -0x28,0x39,0x05,0xFA,0xEF,0x31,0x08,0x39,0x18,0x86,0x15,0x2D,0xC5,0xD3,0xB8,0xDD, -0x04,0x9A,0x12,0x9D,0x77,0xF9,0x50,0x21,0xD9,0x00,0xA2,0xCF,0x9C,0xE5,0x62,0x99, -0x64,0xFE,0x46,0xED,0x20,0x6D,0xDE,0xD1,0xEB,0x3F,0x13,0x9B,0x3C,0x5A,0x83,0xDB, -0x5D,0x54,0xAE,0xCD,0xC0,0xDB,0x9F,0x0A,0xEE,0x0D,0xF3,0x10,0x41,0x23,0x5C,0x69, -0x5B,0x4F,0x74,0xB9,0x6E,0x69,0x63,0xF5,0x27,0x03,0xF6,0x4D,0xA7,0xBB,0xC3,0xB7, -0xDD,0xF8,0xB5,0x5B,0x64,0x34,0xE8,0x0B,0xF2,0xB5,0x82,0x02,0x15,0x47,0x3C,0x19, -0xB0,0xCD,0xD6,0xF4,0x8B,0x80,0x94,0xDA,0xB9,0x71,0xF7,0xAA,0x86,0x14,0xF4,0xCA, -0x6C,0xE0,0x55,0xC4,0x27,0x45,0x9E,0x78,0x8F,0x6A,0xFB,0xB0,0x99,0x05,0x50,0x12, -0x6E,0xC3,0x44,0xE2,0x55,0x66,0x0C,0x45,0x92,0xC4,0xD7,0x67,0xF6,0x3F,0x91,0x4C, -0x1E,0xE1,0xCB,0x23,0xF6,0xA1,0x3B,0xED,0x1E,0xA8,0x95,0x6C,0x94,0x57,0xEA,0x26, -0x19,0x8D,0xFE,0xF3,0x5F,0x3B,0x87,0xBB,0xB1,0xF9,0x45,0x15,0x23,0x4B,0x27,0x03, -0x44,0x7B,0x89,0xF1,0x84,0x82,0xA9,0xD0,0xD4,0xBA,0xF0,0xFB,0xFC,0xB0,0x13,0xFC, -0x55,0x4A,0xBD,0xE4,0xB5,0xD0,0x4D,0x9E,0x52,0x54,0x3D,0x40,0xA9,0x89,0x65,0x49, -0xC8,0xF1,0x4A,0x1C,0x5D,0x4C,0x71,0xE6,0x0E,0xBC,0xEB,0x8F,0x78,0x40,0xF7,0x48, -0x97,0x24,0x2C,0x38,0xFD,0x2D,0x79,0x81,0x7A,0xFD,0x7D,0x47,0xC4,0x8E,0xAE,0x18, -0x47,0x2F,0x77,0x73,0xA5,0xBB,0xCA,0x7B,0xE1,0xBD,0x9C,0x2B,0xCE,0x01,0x2C,0xA8, -0x3D,0x30,0xFA,0xBD,0x29,0x96,0x6A,0xE0,0x90,0xCE,0xEA,0x68,0x20,0x2B,0x3B,0xC9, -0x2B,0x6D,0xFB,0x78,0x44,0xDC,0x42,0x32,0x5F,0xEE,0x6F,0x74,0xD3,0x2D,0x82,0x7F, -0xC0,0xEF,0x59,0x35,0x2C,0xC9,0xDC,0x14,0xCA,0x08,0xBC,0xE6,0x88,0x26,0x52,0x34, -0xAD,0xDA,0x3A,0x9A,0x59,0xC2,0x0E,0x80,0x6E,0xCD,0xBE,0xEA,0xC0,0x33,0x8A,0x56, -0x37,0x0D,0xF8,0xB2,0xD1,0x61,0xD1,0x7D,0x8A,0x58,0x1B,0x3B,0xDA,0xC2,0x1C,0x05, -0x79,0xE9,0xAA,0x83,0x2E,0xBE,0x2A,0x49,0x4F,0xFA,0x11,0x97,0xE7,0x1C,0x93,0x6A, -0x4C,0x65,0x9A,0xD8,0x4E,0x81,0xC9,0xCC,0xE2,0xA1,0xFC,0xE1,0x08,0x6B,0x92,0xCE, -0xFC,0x0A,0x95,0xE3,0x50,0x39,0xBA,0xB1,0x24,0x1F,0x96,0x87,0x14,0x1A,0x2A,0xDC, -0x7E,0x85,0x9F,0x53,0x66,0x43,0x1E,0x56,0x58,0xD6,0xB2,0xF0,0x7E,0xC0,0xD9,0x09, -0x2F,0x55,0x30,0x2A,0x94,0xE9,0x2E,0x35,0x37,0x17,0x88,0xAE,0xC6,0xB3,0xA4,0x17, -0x25,0x68,0x32,0x25,0xB8,0xA5,0x86,0xC9,0x0B,0x8E,0x0B,0x04,0x54,0xBD,0x7A,0x01, -0x5E,0x00,0x50,0x4F,0x32,0x71,0xAF,0x69,0x1D,0xB4,0xF5,0xA6,0x21,0x76,0x2D,0x0C, -0x76,0x9B,0x8C,0x7A,0x0D,0xF0,0xBF,0xBF,0x19,0x90,0x48,0xE8,0x1A,0x28,0x8C,0x22, -0xAA,0xB6,0x0F,0x4A,0x8C,0xA8,0xD4,0x73,0x53,0x42,0x60,0x85,0xA4,0xDB,0xDF,0x7D, -0x89,0x67,0x3E,0xD4,0x0F,0x87,0x49,0xE2,0x33,0x33,0x35,0xE0,0x02,0xE4,0x10,0x7E, -0x8D,0x5F,0xF5,0x86,0xDE,0x63,0xEC,0x77,0x0C,0xB6,0xD6,0x80,0x29,0xC4,0xA5,0xB3, -0x5A,0x38,0x9B,0x1D,0x2F,0x6F,0xE3,0xDB,0x7F,0xCF,0x9D,0xCC,0xB0,0x18,0xEF,0xD0, -0x8B,0x44,0x2F,0xF2,0xBE,0x5C,0x0F,0xF2,0x4B,0xDE,0xAC,0xD9,0xA3,0x06,0xE7,0xF9, -0xC7,0x83,0x6C,0xE5,0x75,0x8E,0xA6,0x7C,0xD7,0xA6,0x90,0x31,0x0D,0x8B,0xA0,0x45, -0x31,0x16,0x22,0xC6,0x07,0xAD,0x34,0x41,0x0A,0x98,0x56,0xC1,0xCC,0x3C,0x26,0xA7, -0xE8,0x74,0x85,0x00,0x93,0xC1,0x6E,0x9C,0x72,0x75,0xCF,0xF8,0x84,0x29,0xFE,0xC5, -0x46,0x58,0x98,0xD7,0x37,0x2E,0x19,0x9D,0x3D,0x95,0x07,0x1E,0xE3,0xA1,0xB7,0x24, -0xB2,0xEE,0xC7,0xD2,0x30,0x06,0x59,0x34,0xDD,0x24,0x1F,0x81,0x7D,0xA0,0xC5,0xC3, -0x59,0x6C,0x65,0x9F,0x8D,0x79,0x1D,0xE1,0x76,0x51,0x72,0xB6,0x17,0x7A,0x36,0x16, -0xFF,0x5E,0x6B,0x61,0xE9,0xC8,0x81,0x02,0x62,0x61,0xB1,0x1B,0x35,0xB5,0x1D,0xA1, -0x0C,0x84,0x01,0xB4,0x1A,0xB3,0x78,0xF3,0x5E,0xF8,0x32,0xB1,0xD5,0xAD,0xAC,0x3E, -0x3E,0x64,0x04,0x3F,0xDA,0xED,0x93,0x11,0xB4,0xCB,0xA5,0x9E,0xC3,0x53,0x96,0x9C, -0xF6,0x37,0x97,0xEC,0x62,0xCD,0x61,0x30,0x3F,0x9F,0x3A,0x11,0x64,0x31,0x4F,0x5A, -0xEC,0x4C,0x4E,0x52,0x33,0xA0,0x66,0xFB,0xE0,0xAB,0xC1,0xEE,0x1F,0xC8,0xBE,0xA9, -0x74,0xB8,0x9D,0x5C,0x6D,0xCF,0x5C,0x3A,0x93,0xD2,0x8A,0xA2,0x42,0x43,0x40,0xA3, -0xCA,0xD2,0x5B,0x3A,0xBF,0x8D,0xC6,0x60,0xB7,0xD7,0xC5,0x54,0x03,0xB9,0x06,0xBB, -0xE3,0x3E,0x68,0xAB,0x0E,0x56,0x80,0x70,0x48,0xC2,0xCC,0x13,0xF7,0x62,0x87,0x89, -0x9B,0x02,0xF4,0x43,0xD6,0x49,0x91,0xD4,0xBC,0x43,0x17,0x21,0xF1,0xE2,0xA9,0xC8, -0xB3,0x99,0x28,0x76,0x28,0x47,0xA3,0x72,0x83,0xC6,0xF4,0x41,0xAF,0x09,0x4B,0x08, -0x05,0xED,0xFD,0x39,0xF5,0x07,0x04,0x22,0xA6,0xD5,0xE6,0x72,0x11,0xFA,0x18,0x57, -0x57,0x69,0xAC,0xC2,0x98,0x4D,0x2C,0xF0,0x7B,0xEB,0x20,0x82,0x7C,0xFD,0xD3,0x06, -0x23,0x73,0xE8,0x51,0xA4,0x6A,0x03,0xE9,0xBF,0x5F,0x77,0xEB,0x91,0xB7,0xD8,0xAD, -0x98,0x38,0x27,0x0C,0x22,0xA7,0x79,0x9E,0x3D,0xDC,0xAB,0x78,0x96,0x6C,0xAA,0x33, -0xFE,0x1C,0xF2,0x53,0x45,0xAF,0xD9,0xFF,0xAB,0xA8,0x63,0x39,0x58,0x3C,0x16,0x6A, -0xA5,0x57,0xF9,0x83,0xBF,0x1C,0x81,0x69,0x4A,0x33,0x0F,0x79,0xD7,0x8C,0x1C,0xE8, -0x28,0x99,0xE6,0xF9,0x24,0xBC,0x0D,0x44,0x3C,0x42,0x4C,0x0A,0xFD,0xED,0xF2,0xFF, -0x29,0x5C,0xBB,0xEF,0xF6,0x94,0x60,0x0E,0xB9,0x8D,0x50,0x2A,0xFB,0x5B,0x01,0x46, -0x8B,0x11,0x39,0x04,0xD0,0x0A,0x08,0x1B,0x6A,0x18,0xC2,0xCC,0xF0,0x10,0x5A,0x96, -0xE8,0xBE,0x0C,0x69,0x44,0xD8,0x7D,0x10,0x68,0xBC,0xCE,0x09,0xE5,0x72,0x12,0x4E, -0x2A,0x96,0xDB,0xF3,0xB9,0x07,0xF5,0xB3,0xCD,0x58,0x1F,0x9C,0x14,0x21,0x08,0xD8, -0x67,0x7F,0x2E,0x19,0xCF,0x3E,0x40,0xE6,0x54,0x20,0x26,0x71,0x91,0x3D,0xC7,0xF8, -0x04,0xD0,0x1B,0x74,0x1E,0x42,0xAF,0x52,0x21,0x6B,0x8E,0xB5,0xC2,0xEE,0x54,0x30, -0x87,0xE0,0x36,0xA8,0xBC,0x48,0x03,0x97,0x2D,0x5D,0x94,0xAE,0xD3,0x36,0x4B,0x94, -0x96,0xC6,0x15,0xAA,0x81,0xDA,0x71,0xB4,0x01,0x40,0x43,0x00,0xE9,0x68,0x24,0x55, -0x19,0x07,0x37,0xDA,0x29,0xED,0xD2,0x73,0x43,0xCC,0x48,0x6C,0x81,0x02,0x46,0x2E, -0x2C,0xD7,0x5B,0xDD,0x7F,0x51,0x7B,0xE9,0x93,0x63,0x31,0x3D,0x9D,0x27,0xF1,0xE3, -0x5B,0xD5,0xAD,0x80,0x14,0x7F,0xA0,0x50,0x26,0x06,0xDF,0x7E,0x66,0xD8,0x2E,0xD7, -0x6F,0xC0,0x9C,0x91,0x5A,0x9B,0x91,0x02,0xEB,0x80,0x64,0x90,0x5F,0x6D,0x7B,0xA1, -0x60,0xFB,0xF3,0x21,0x7D,0x72,0x5D,0xF8,0x0F,0xD2,0x55,0xDE,0x62,0x62,0x79,0xAB, -0xE4,0x4F,0x03,0xC5,0x20,0x84,0x5F,0x8F,0x8B,0x83,0xAE,0x8C,0xA6,0x9E,0x00,0x50, -0x03,0x54,0xC6,0x4C,0x05,0x4E,0xB5,0x64,0x71,0xC2,0xB6,0xCA,0x44,0x19,0xA1,0xA7, -0xD7,0xDE,0xEF,0xEC,0xFD,0xDE,0xCB,0xE3,0xC3,0xCA,0x09,0x42,0x05,0xF9,0x17,0x7C, -0xC0,0xB9,0x4C,0xC0,0xE5,0x86,0x53,0x2B,0x74,0x0B,0xEB,0xC4,0x33,0xBD,0x4E,0xA6, -0x94,0xC9,0x28,0xA0,0x15,0x08,0x04,0xBF,0xC5,0x39,0xBF,0xFB,0x8C,0xFF,0xEE,0x47, -0x7C,0xE9,0x82,0x99,0xCE,0x49,0xE4,0x09,0x25,0x3C,0x34,0xC9,0xF5,0x4D,0x93,0x98, -0xA6,0x9D,0x99,0x9F,0x31,0xB5,0x4A,0xBB,0x20,0xF5,0x69,0xC7,0x6D,0x93,0x75,0x07, -0x0C,0x6F,0xA9,0xFC,0x66,0x7E,0x47,0xCE,0xF4,0x0D,0xAA,0xEA,0x97,0x8B,0x34,0x41, -0xDB,0x2F,0xE0,0x40,0x5E,0xA3,0xC3,0xC9,0xC4,0xA7,0x58,0x89,0x11,0x7C,0xC1,0xD6, -0x2D,0x12,0x06,0xCB,0xA3,0x7C,0x4B,0x6A,0x29,0x0A,0x2E,0xD2,0x98,0x7A,0x38,0xED, -0x3E,0x3B,0x18,0xC3,0x4B,0xAA,0x84,0x36,0xA8,0x92,0x88,0x8E,0x0B,0xEF,0x85,0xA2, -0xB5,0xB4,0x87,0x97,0xE4,0xF1,0xF7,0xC4,0x09,0x21,0xE3,0x67,0x59,0xDB,0x88,0x18, -0x3D,0xF1,0x78,0xDF,0xCD,0x1D,0x66,0xF7,0x24,0xA2,0xD3,0xBB,0xF7,0x41,0x37,0x5D, -0x59,0xDA,0x90,0x8A,0x63,0x31,0xB1,0xEA,0x8D,0x70,0x18,0x35,0x7D,0xAC,0xF4,0xD1, -0xB2,0x30,0x5A,0xAF,0xA9,0x41,0x44,0x68,0x2F,0xF9,0x98,0x6B,0x0E,0xB2,0x4C,0xAC, -0x4F,0x78,0x6E,0xB0,0xFE,0x8A,0x49,0x1D,0x5C,0x41,0x86,0x16,0x95,0x87,0x90,0x84, -0x89,0x1E,0x04,0x0E,0xA4,0x10,0x9B,0x5F,0x13,0x65,0x70,0x13,0x6F,0x9F,0xD1,0xC2, -0xBA,0x8F,0xE8,0x27,0xB4,0x56,0x2A,0x84,0x1A,0x9A,0x37,0x06,0xB4,0xAD,0x25,0x43, -0x26,0x67,0xD4,0x5F,0x10,0x47,0xF2,0x9B,0xC1,0x6E,0x05,0x87,0x34,0xEC,0x23,0x6D, -0xFA,0x52,0x4F,0x77,0xB6,0x75,0x0C,0x95,0x22,0x51,0x65,0x02,0xDF,0x2C,0x7D,0x8F, -0x2F,0x1D,0x3B,0xC1,0xE6,0xD2,0xD1,0xD5,0x30,0x74,0x56,0x11,0x2C,0x73,0xC3,0xDC, -0x7E,0xE6,0xBF,0x93,0x34,0xFA,0xBC,0x9F,0xF6,0xA9,0xA6,0x2F,0x2B,0x22,0xAE,0x17, -0x3A,0x75,0xA5,0xE7,0x2D,0xD5,0x80,0xB8,0xA1,0x6D,0xCF,0x9B,0x61,0x89,0x43,0x1C, -0x4A,0xF3,0x8E,0x82,0x59,0xCF,0x13,0xFC,0xD1,0xEF,0x3A,0x51,0x77,0x00,0x31,0x73, -0x15,0xF6,0x38,0x76,0xF0,0x8F,0x14,0xD4,0xC9,0x0F,0xA5,0xE0,0x76,0xE7,0xAF,0x01, -0xB7,0xBB,0xBA,0x9D,0x25,0xCB,0xA9,0xAB,0xA4,0xA4,0x92,0x95,0xAC,0x32,0xC5,0xF2, -0xB9,0x45,0x88,0x3B,0xC6,0x57,0xCD,0x1A,0x67,0xB0,0x3F,0xA5,0x63,0x85,0xE7,0xD9, -0xD3,0x90,0x52,0xC8,0x37,0xAE,0x3E,0x61,0xE4,0x8C,0x95,0x3C,0x7B,0x1A,0x07,0x68, -0xD6,0x1B,0xB2,0xFA,0xD5,0x45,0xFE,0x3F,0x73,0x66,0xBA,0x0F,0x85,0xB8,0x11,0x52, -0x45,0xC8,0xE1,0x32,0xF4,0xB7,0x46,0x1F,0xEC,0xED,0x35,0x5B,0xE7,0x7E,0xB6,0x8B, -0x9C,0x76,0x9A,0x28,0x3F,0xB0,0x17,0x72,0x17,0x32,0xCA,0x6F,0x1E,0x8D,0xCD,0x7A, -0xDD,0x6E,0x60,0x6E,0xB7,0x02,0xA8,0x7A,0xB6,0x81,0xA1,0x86,0x0D,0x59,0x76,0x1B, -0xEC,0xF0,0xB1,0x4D,0x26,0x9F,0x2B,0x55,0xE3,0xE1,0xC4,0xF7,0x32,0x5A,0xD0,0xD4, -0x27,0xA2,0x89,0x49,0xB3,0x3A,0xFA,0xB1,0x00,0xDE,0xA4,0x72,0x12,0x97,0xFB,0x61, -0x49,0x39,0xEE,0x9E,0x1F,0x35,0x0B,0xBD,0x4B,0xAD,0xE8,0x0B,0xCE,0xF4,0x62,0x2B, -0xFD,0xD6,0x92,0x4F,0x36,0xD9,0x9A,0x8E,0x7A,0x99,0xFD,0x1A,0xD0,0xDD,0x71,0x23, -0xBE,0xC1,0x55,0x03,0xB8,0x70,0x51,0x5C,0x46,0x05,0x15,0x62,0x5D,0x61,0xDF,0x64, -0xF0,0xE2,0xC0,0xF5,0x85,0xE2,0x23,0x7F,0x80,0xD8,0xE5,0x5C,0xEA,0x83,0x1E,0xE2, -0x57,0x24,0xA2,0x2C,0x58,0xB8,0xB7,0x13,0x19,0xA0,0xDC,0xB1,0xFF,0xE1,0x56,0x3A, -0x78,0xA7,0x3F,0xBD,0x8D,0xFC,0x0A,0x6C,0xC7,0x9D,0xB3,0x3E,0xCA,0x4E,0x35,0x57, -0x48,0xFC,0xB3,0x88,0x08,0x1F,0x6A,0x53,0x2A,0x30,0xC5,0x65,0xBD,0xEA,0xDA,0x56, -0x47,0xC7,0xDC,0x38,0x75,0x6C,0x74,0xEB,0x40,0xF6,0xA3,0xDB,0xCC,0xF8,0xC6,0xEE, -0x4D,0x77,0x53,0xBA,0x92,0xC8,0x42,0x91,0x64,0x8A,0xD4,0x12,0x16,0x2D,0xAC,0x1D, -0xE2,0x0E,0x83,0xEB,0xF1,0xF8,0xB0,0x3B,0x5E,0xE5,0x8A,0xD3,0x65,0x33,0x14,0x60, -0xE0,0x01,0xBE,0xE1,0x0D,0x50,0x9C,0x77,0xDD,0xD9,0x20,0x4A,0x6B,0x25,0x86,0xBE, -0x82,0x6B,0xD6,0x9A,0xAD,0x79,0x16,0xA3,0x23,0xCF,0x82,0x70,0xA0,0x28,0xF3,0xE9, -0x5E,0x5E,0x4D,0xB2,0x7B,0x69,0x29,0x22,0x9E,0xCB,0xCC,0x54,0xFE,0x06,0xC8,0x48, -0xF2,0x77,0x16,0x21,0x8A,0x21,0x02,0x9F,0xB8,0x0E,0x88,0x93,0x1E,0xD4,0x8F,0x0B, -0x76,0x25,0xED,0x70,0xF3,0xDD,0xF9,0x5B,0x0C,0xFE,0x6C,0x17,0x1C,0x89,0x79,0x7C, -0x8C,0x63,0xF5,0x31,0x52,0x5A,0x0E,0xB9,0x17,0x3B,0xE5,0xF0,0xF6,0xAC,0xB3,0x97, -0x3E,0xEB,0x4A,0x39,0xE4,0xBA,0xD5,0xF8,0x9D,0x12,0x45,0x24,0x88,0x54,0x23,0x10, -0x89,0x6D,0xA8,0xF8,0xBD,0xFE,0x0F,0xCE,0xFA,0xB1,0x69,0x33,0x10,0x4C,0x7B,0xD8, -0x38,0x52,0xFC,0xCA,0x1D,0xBC,0xEE,0x71,0x8A,0xD5,0x09,0x67,0x47,0xBC,0xF5,0x4C, -0xD8,0x60,0x77,0xCF,0x60,0x0E,0x31,0x08,0xAA,0x7F,0x30,0x8F,0xA7,0x67,0xB4,0xFA, -0xDD,0x6E,0x2A,0x06,0x86,0xD0,0xAE,0x90,0xDE,0x64,0x36,0x55,0x09,0x98,0x48,0x48, -0x09,0x43,0xE9,0xFE,0xC7,0xC8,0xE8,0x6A,0x2C,0x54,0x55,0xFF,0x04,0xCF,0x83,0x3D, -0x39,0x20,0x1B,0x54,0x32,0x3F,0x7F,0xEC,0x6C,0x1D,0xE9,0x28,0x80,0xF7,0x5E,0x3A, -0xD4,0x7B,0x6D,0xF9,0xCB,0x39,0x44,0x65,0x51,0xFB,0x62,0xDE,0x08,0x0A,0x81,0x99, -0x55,0x27,0xCB,0x61,0x76,0xAC,0x0B,0xF6,0x78,0xE5,0x6A,0xCD,0xC7,0xE2,0x57,0xC5, -0xF4,0xCE,0xA0,0xD2,0x7B,0x98,0xB1,0xA4,0xF7,0x7A,0x3E,0x46,0xB4,0x4D,0x0C,0x37, -0xD9,0x12,0x90,0x51,0xC4,0x02,0xF4,0x0A,0xB2,0x85,0x76,0xCE,0x25,0x64,0xE0,0x04, -0x70,0x9C,0x5B,0x83,0x07,0xEF,0x78,0x80,0x99,0x6D,0x23,0xAA,0xF2,0xCA,0xCC,0x19, -0xD2,0xC2,0xDB,0x0A,0xBF,0xF1,0x05,0xF3,0x73,0xA7,0x06,0x41,0x07,0x00,0xBC,0x9B, -0xC0,0xD1,0xE8,0x2F,0x59,0x2F,0x9A,0x6B,0x7B,0xDA,0xA5,0x6B,0x3A,0x8B,0x5A,0x6D, -0x56,0x90,0x20,0x5B,0xE5,0x7F,0xC3,0xA5,0x5F,0x0F,0xFA,0x0D,0x9A,0xEC,0x52,0x0C, -0xB7,0xD0,0x4C,0xC0,0xEF,0xCF,0x41,0x2A,0x14,0x04,0x2A,0x56,0xC2,0x16,0xE1,0x9A, -0xC1,0xA3,0x0F,0xB1,0x01,0xAE,0x56,0x00,0xDA,0x1B,0x50,0xDB,0x4E,0x8D,0x41,0xB7, -0x44,0x83,0x13,0x7E,0xF2,0x18,0xEF,0x06,0x1F,0x46,0x46,0xDA,0x23,0x5F,0x69,0xFD, -0x97,0x65,0x81,0xEB,0xA9,0x53,0x3F,0x0D,0x52,0xC4,0xAD,0x78,0x4B,0x79,0xF7,0xE8, -0x95,0xA0,0x8D,0x4F,0xE1,0x31,0xE7,0x18,0xFD,0xF1,0xC0,0x1B,0x3E,0xED,0x25,0xE3, -0x30,0x35,0x5C,0xAB,0xFB,0x62,0x71,0xE9,0xD5,0x26,0x5A,0xD9,0xB6,0x10,0xFA,0x40, -0xA9,0xD8,0x65,0xD3,0x34,0x7E,0x51,0x6C,0x3C,0xD3,0xB0,0x94,0x03,0x66,0xC3,0x15, -0xDC,0x1C,0xCD,0x98,0xA7,0xAD,0x99,0x3F,0x93,0xE6,0xDD,0xF7,0xEC,0xB7,0xBF,0xA1, -0xD0,0x07,0xD7,0xAE,0xB8,0x75,0x3D,0x2E,0xA3,0xCB,0x01,0x74,0x40,0x15,0xB5,0x64, -0xFC,0xA9,0x00,0xB3,0xD7,0x2B,0xFC,0x14,0x85,0xE8,0x03,0x65,0x32,0x28,0x27,0x47, -0xBE,0xC5,0x0B,0x3F,0xB5,0x41,0x87,0x7C,0x44,0xCA,0x73,0xEA,0x91,0x80,0x10,0x80, -0x6E,0x94,0x72,0x90,0x02,0x64,0x4A,0x60,0x94,0xA6,0x74,0xDF,0x38,0xD6,0xAC,0x1A, -0xDB,0xD7,0x9C,0xF5,0xDD,0x9B,0x7E,0x9B,0x96,0x50,0x29,0xA8,0xE3,0xBD,0x82,0xA3, -0x16,0x39,0x27,0x73,0x88,0x2E,0x08,0xA2,0x83,0x61,0x38,0x9C,0xD2,0xF3,0x66,0xF1, -0x4B,0x2F,0xE2,0x72,0x85,0x1A,0xB2,0xF0,0x2D,0x9D,0xC7,0x2E,0xEB,0x1E,0xFF,0x89, -0x1E,0x5E,0x87,0x12,0x23,0x19,0x7D,0xCF,0xB3,0x4C,0xE4,0x1F,0x68,0x8F,0x62,0xA6, -0xFD,0xDB,0xE7,0x2D,0x08,0xD4,0xC8,0xEF,0xE1,0x74,0xE0,0xD4,0xB9,0x1A,0xC7,0x42, -0xB6,0xA2,0xAB,0x5E,0x91,0xB7,0x82,0x33,0x7A,0x13,0x37,0xBA,0x48,0xB6,0xC8,0x4E, -0x87,0xB3,0xBE,0x6A,0x82,0x9E,0x8A,0x2D,0x95,0x6F,0xE6,0x0E,0xD9,0x9F,0x24,0x7D, -0xBB,0xCB,0x56,0xF6,0x2C,0x22,0xCD,0xA0,0x82,0xA8,0xAA,0x4D,0x12,0x11,0x8D,0xAF, -0x7D,0xF5,0xA6,0x2B,0xED,0xC0,0x4B,0x17,0xA1,0x3D,0x5C,0x03,0x60,0x2C,0x1F,0x8C, -0xE4,0x18,0x9F,0x53,0xA5,0xA2,0x93,0x02,0x67,0x5F,0x85,0xA4,0xF4,0xF1,0x45,0xE0, -0x3A,0x97,0xF0,0x6E,0xC6,0x0D,0xFE,0x37,0xE4,0xC2,0x14,0x8B,0x49,0x24,0x01,0x9F, -0xD7,0xCC,0x86,0xC3,0x29,0xA9,0xFF,0x40,0xBF,0x4E,0x21,0xBB,0x29,0xA1,0xE2,0xA0, -0xBD,0x72,0xE0,0x05,0x35,0xBB,0x47,0x31,0x84,0x21,0x91,0xB4,0x37,0xDC,0x91,0x18, -0x99,0xBB,0x97,0x79,0x5F,0x6E,0xB4,0xEB,0x34,0xAE,0x13,0xBE,0x01,0x3B,0x35,0x62, -0xA3,0x7A,0xC9,0x16,0xE7,0x70,0xC9,0x98,0x4D,0x7E,0x42,0x11,0xF3,0x58,0x05,0xC8, -0x20,0xE3,0x63,0x2A,0x75,0x66,0x17,0x96,0x42,0x43,0x48,0x13,0xDF,0xA4,0xAD,0x84, -0xDE,0xD9,0xC1,0x3C,0x00,0x6B,0x40,0x5D,0x28,0x2B,0x33,0x71,0x55,0x04,0x84,0x50, -0x63,0xFD,0x8F,0x38,0x3B,0x45,0xE1,0x03,0x1D,0xB0,0x1B,0xAD,0x6A,0xD2,0x94,0xD1, -0xA1,0xBF,0xC5,0xB2,0x63,0xC4,0x2D,0x68,0x3B,0x93,0x19,0xBC,0x0A,0x57,0x77,0xEE, -0xEE,0xBA,0x33,0x96,0x22,0xDC,0x6B,0x92,0x5D,0xF9,0xA7,0x7A,0xD8,0x0D,0xED,0xAC, -0xE7,0xAF,0x74,0x69,0xD6,0xEE,0xEA,0x49,0xCC,0x15,0x8E,0x49,0x69,0x1D,0xAB,0x77, -0x3C,0x2E,0x46,0x9D,0xD0,0xAF,0xC4,0xC9,0x24,0x29,0xF6,0xD5,0xB1,0xB9,0xBA,0x68, -0xDF,0xAB,0x26,0xA2,0x8E,0x6F,0x26,0x22,0x11,0xB2,0xDE,0x09,0x4F,0x1F,0x88,0x66, -0xCD,0xB8,0x15,0x87,0x30,0x30,0x75,0xD1,0x5E,0xC6,0x68,0xDC,0x92,0x4F,0x2F,0x26, -0x0B,0x86,0xE5,0x5A,0x5D,0x61,0xBE,0xD6,0xA5,0x42,0x3A,0x8D,0xFF,0x9D,0x07,0x6C, -0x5C,0x32,0x8C,0x9E,0xB0,0xCA,0xB5,0x9C,0x36,0x58,0x4E,0xC9,0xC3,0x84,0x28,0x4B, -0x2C,0xF8,0x79,0x1C,0xC2,0x43,0xDA,0x8A,0xB0,0x73,0x2B,0xB9,0x50,0xF0,0x32,0x0F, -0x34,0x49,0xE6,0xFC,0x5C,0xA4,0xA8,0x8B,0xB5,0xC5,0xDF,0xE6,0x57,0x59,0x72,0x27, -0x59,0x3C,0xD1,0x57,0x36,0x71,0x5B,0x51,0xF8,0x47,0x34,0x44,0xEA,0x8C,0x36,0x58, -0x9A,0x0C,0x7C,0x43,0x14,0xC6,0x70,0x9E,0x06,0x75,0x92,0x4A,0x8E,0x6F,0xAA,0xE9, -0x19,0x95,0xD6,0x7F,0xF4,0x59,0xC1,0x86,0xD3,0xAF,0x61,0x20,0x7D,0x9E,0x53,0x92, -0x8E,0xA6,0xF9,0x95,0xE2,0xFB,0xFB,0x78,0x58,0x4F,0x53,0x25,0xBD,0x7C,0xB8,0xCC, -0x11,0xF2,0x76,0x1E,0x45,0x3D,0x22,0x1A,0x8B,0x1C,0x9B,0xB6,0x05,0x5D,0x4A,0xEC, -0xEA,0xC6,0x89,0xC1,0x3E,0xCE,0xD3,0xE3,0x35,0x67,0x81,0x6F,0x54,0x96,0x4D,0x81, -0x41,0xBC,0xC6,0x68,0xA4,0x3C,0x55,0x66,0x9D,0x91,0xB7,0x23,0x2A,0xAB,0x5C,0x06, -0xF7,0xC8,0x13,0x27,0x79,0x7C,0xF2,0x36,0xB8,0x82,0xA5,0x10,0x94,0x58,0x0F,0x59, -0x67,0x22,0xD3,0x00,0xF5,0x51,0x52,0xAD,0x84,0x1B,0x26,0xBA,0xAA,0xE6,0x9C,0xFC, -0x13,0x38,0x97,0x93,0xC9,0x76,0x7D,0xB4,0x40,0xAF,0x71,0xD3,0x47,0xAC,0x97,0x57, -0x8E,0x83,0x60,0x6B,0xEE,0xB6,0x97,0x24,0x8C,0x93,0x94,0x05,0x38,0xE8,0x42,0xEA, -0x30,0xE9,0xA6,0x0D,0x3C,0xF4,0x0D,0x7E,0xA8,0x96,0xDB,0xF3,0x79,0x12,0x04,0xF2, -0xDF,0x53,0xCF,0x12,0x87,0x72,0xC0,0x90,0x87,0x07,0x46,0x70,0xCA,0xB3,0xED,0x99, -0xA7,0x6F,0x53,0xFA,0x5F,0x6D,0xD1,0x34,0x73,0x86,0x9D,0x42,0xCC,0x33,0xC3,0xD8, -0x7A,0x35,0x3F,0x6E,0x8B,0xD6,0xC2,0x55,0x8F,0x8F,0xF4,0xCF,0xF8,0x02,0xD2,0xCD, -0x48,0xD5,0x3A,0xE5,0x4B,0x88,0x29,0xB7,0x65,0xBC,0x63,0xE0,0xEE,0xFC,0xE8,0x6F, -0xA8,0x1D,0x75,0x03,0x62,0x9B,0x37,0xBF,0xDB,0xEF,0x90,0xBF,0x24,0x99,0xFA,0xF8, -0xB2,0x66,0xAC,0xBD,0x33,0xF6,0x30,0x74,0x04,0xDB,0x6B,0x40,0x5F,0x60,0x0B,0x0B, -0xF6,0xBF,0xFC,0x83,0x61,0x3D,0x08,0x70,0xE6,0x60,0x4E,0xD0,0x46,0xF1,0x81,0x92, -0x02,0x09,0xA3,0x86,0x66,0x15,0x48,0xD9,0x06,0xD1,0x56,0x4F,0xD8,0xF0,0xF3,0x75, -0xBB,0x0F,0x50,0x30,0xB8,0xF3,0xD0,0x46,0x59,0x25,0xE0,0x4A,0x0E,0xE4,0x59,0xF0, -0x1D,0x3D,0x5E,0xCE,0xDC,0x42,0x4C,0xA5,0x4D,0x15,0x23,0xE7,0x2C,0x2B,0x72,0x47, -0x83,0xD2,0x57,0xB4,0x24,0xB5,0xF7,0x38,0xEC,0xE2,0xC1,0x60,0x36,0xDA,0xE4,0x14, -0xCF,0x15,0x14,0xA3,0xEF,0x67,0x5E,0xB6,0x70,0x9A,0xFD,0x88,0x98,0x57,0xA3,0xA8, -0xAC,0x25,0xBE,0x51,0xC2,0xFA,0x3F,0xD8,0x49,0x31,0x9E,0xA9,0xBF,0x78,0xBA,0x94, -0x75,0x47,0x19,0x97,0x56,0x96,0x65,0x05,0x31,0xDC,0x07,0x90,0xF7,0x6D,0x62,0xF6, -0xCD,0x36,0x05,0x85,0x5E,0xBC,0x18,0xA6,0x08,0x77,0x64,0xB1,0x39,0xB5,0x54,0x2F, -0xEE,0xE7,0x34,0x1B,0xDD,0x93,0x85,0x37,0x68,0x06,0x31,0xD4,0x9F,0x8A,0x9B,0x2C, -0x1E,0x69,0xA0,0x4C,0x7E,0x54,0xB2,0x9F,0x44,0x8B,0xCC,0x9D,0x8B,0x49,0xAB,0x81, -0xC9,0x0E,0xCE,0xD7,0x8F,0x58,0xBD,0x33,0x37,0xF2,0x87,0xD1,0x12,0x95,0xE1,0xE2, -0x61,0x39,0x09,0x74,0xE9,0x9E,0xD7,0x8D,0x30,0xCA,0x5A,0x55,0x6F,0xEC,0x3E,0x50, -0x6B,0x04,0x0B,0x7B,0xC5,0xD2,0x7F,0x71,0x0C,0x53,0xD9,0xFF,0xFD,0xE2,0xE0,0x46, -0x32,0xCA,0xB7,0x2B,0x5C,0xCB,0xEE,0xFB,0x22,0xD4,0x19,0xB9,0x21,0x79,0xC8,0x73, -0x1A,0x51,0x6B,0x1E,0x63,0x4A,0xFE,0x2D,0x26,0xF0,0xA4,0xF7,0x1A,0x27,0x69,0x5D, -0x08,0x34,0xA1,0x89,0x1F,0xBA,0x98,0x88,0xD9,0xE5,0xAD,0xB0,0x33,0x3A,0xD6,0x9F, -0x3D,0xB8,0x91,0xD2,0x7F,0x85,0x7B,0x0D,0x74,0xBE,0x40,0xC6,0xDC,0x4D,0xD7,0x3B, -0x3A,0xD4,0xA4,0x02,0x37,0x78,0x4F,0x12,0x63,0x92,0xE3,0xA1,0x45,0x91,0x9D,0x58, -0xB8,0x5B,0xAE,0xB2,0x01,0x02,0xEB,0xF5,0x1F,0x5B,0xC7,0xD6,0x2F,0x4B,0x6E,0x8D, -0x84,0xBE,0x62,0x64,0x7D,0xF2,0x8D,0x50,0xF1,0x4C,0xED,0xB7,0xB3,0x77,0x16,0x65, -0x6F,0x3C,0xC0,0x29,0x15,0xE7,0x13,0x76,0x64,0xAA,0x3E,0x25,0xE8,0x7C,0xC6,0x2E, -0x73,0x5C,0xC3,0xE3,0x80,0x5A,0x80,0x39,0xB1,0x1C,0x4A,0x6A,0xE1,0x93,0x58,0x54, -0xE9,0x8B,0x01,0xCB,0x08,0xF9,0x5F,0xC4,0x55,0x89,0xEF,0xBB,0xFB,0x62,0xCE,0x07, -0xD3,0x75,0x17,0x69,0xAC,0x16,0x28,0xC5,0x41,0xB9,0x2C,0x16,0xFF,0xDF,0xEA,0x49, -0x8C,0xA0,0x71,0x4D,0x0C,0x77,0x20,0xA2,0x35,0xF8,0xBA,0xDE,0x43,0x11,0xB3,0x19, -0x79,0x61,0xC1,0xEC,0x78,0xAD,0x3B,0xA4,0xAB,0x8A,0xBB,0x39,0x1B,0x7A,0x7F,0x98, -0x03,0x7E,0x4C,0x22,0xF4,0x80,0x9B,0x3F,0xDA,0xF9,0xCD,0x7A,0xF5,0x50,0x68,0xF9, -0x5D,0xDC,0xC5,0xA2,0x0E,0x00,0xD6,0xFF,0x8A,0xBD,0x14,0x44,0x18,0x1A,0x63,0x52, -0x5A,0xB0,0xF0,0x72,0xA7,0x9A,0x6A,0xA9,0x25,0xEC,0xC4,0x3D,0xAF,0x06,0xAE,0x77, -0x11,0x1B,0x86,0xB5,0xE4,0xEB,0x1C,0xDA,0x69,0x10,0x6C,0x11,0x92,0xD8,0x21,0x18, -0x00,0x2A,0xB2,0xA0,0xD5,0xB9,0xF8,0x94,0xEF,0xFE,0xA1,0xAA,0xC7,0xE1,0x57,0xAD, -0xF4,0x9C,0xED,0xA5,0xDA,0xBB,0xC5,0x9E,0x82,0x35,0xA6,0xFB,0xBD,0x45,0xB0,0x9B, -0x99,0xA9,0x8E,0x0A,0x35,0x0F,0xB9,0x4F,0xC9,0xF1,0xD3,0x53,0x2E,0x16,0x78,0x48, -0x2A,0x92,0x7F,0xB3,0x04,0x5D,0x5D,0x01,0xA9,0x80,0x86,0x36,0xCD,0x6E,0xD5,0x1D, -0x28,0xB1,0x6E,0x95,0x76,0x7E,0xCF,0x3C,0xB4,0x2E,0xAA,0xE1,0xA2,0x54,0x14,0x43, -0x20,0xAF,0x7D,0xBC,0x71,0x56,0x8F,0x95,0xD0,0x7B,0x42,0xCA,0x07,0x0B,0xC7,0x8A, -0x40,0xCB,0x29,0xCC,0x26,0xC2,0x01,0x65,0xE2,0x44,0xF3,0x9E,0xA7,0xB4,0x26,0xC8, -0x1F,0x1E,0x4F,0xE8,0x3F,0x52,0x32,0xB1,0x1C,0x47,0xA7,0x1C,0x9C,0xEA,0x87,0xE6, -0x19,0x05,0x95,0x9C,0x91,0xE0,0xCE,0x4E,0xD5,0x49,0xA2,0x41,0x7A,0x72,0x18,0x38, -0x45,0x84,0x0D,0x3A,0x2A,0x66,0x03,0xA0,0x6A,0x0C,0x0C,0xDB,0xE9,0x21,0xD0,0xEB, -0xA1,0x74,0x89,0x8E,0x28,0x11,0xF5,0xFD,0x3B,0x5E,0x88,0x20,0x90,0xE5,0x2B,0x17, -0x6C,0x68,0x3E,0xAB,0xBE,0x0A,0x59,0x7D,0x23,0xC2,0x44,0x7C,0xFE,0x82,0xFC,0x8C, -0xCC,0x41,0xEA,0x21,0xC0,0x8D,0xC9,0x85,0x2B,0x4A,0xF6,0xC3,0x48,0xC3,0x27,0x6C, -0x5F,0xFF,0xD4,0x84,0x13,0x1E,0x9A,0x4D,0x4B,0x3B,0xA3,0xA6,0xDE,0x70,0xDD,0x34, -0x17,0x00,0x5C,0xC1,0x82,0x2D,0x76,0x64,0xC8,0xE7,0x8E,0x96,0x61,0xDE,0x98,0xAE, -0x2F,0xDD,0x5B,0x45,0x31,0x81,0xC6,0x29,0x10,0xEB,0xA8,0xED,0xA5,0x89,0x2C,0xC7, -0x0A,0x17,0xB0,0xAF,0xC4,0x03,0xB6,0xE3,0x99,0xB5,0x0A,0x6D,0x1D,0xFA,0x51,0xD9, -0xC0,0x67,0x32,0x5A,0xB6,0x20,0x24,0xDE,0x4E,0x09,0x43,0x2D,0x28,0x96,0x56,0x09, -0x7C,0x2E,0xE5,0x1A,0x32,0x27,0xF9,0xE6,0xE4,0x6A,0x73,0xDF,0xDD,0x10,0xC1,0xFE, -0x43,0x9F,0xD7,0x4E,0xF1,0xDF,0x2D,0xCB,0x7B,0x0E,0x2F,0xFD,0x6C,0x8C,0x22,0x9A, -0x4B,0x81,0xC4,0x67,0x3E,0x83,0xFB,0x23,0xE3,0x52,0xAE,0x5B,0xD1,0x1F,0x6D,0x0F, -0x34,0x1A,0x2B,0x5B,0x9A,0x11,0x44,0x5B,0x46,0x9F,0x2D,0x2E,0xBB,0x64,0xB3,0xA3, -0xE1,0x55,0x5F,0xED,0xCA,0xB6,0x99,0x1B,0x54,0xBA,0x1E,0x3D,0x48,0x3B,0x0D,0xF0, -0xB0,0xAE,0xDB,0xBF,0x18,0x9E,0xF4,0x51,0x92,0x67,0xEE,0x03,0x4F,0x6A,0x60,0x3B, -0xF4,0x3D,0xC1,0xCB,0x01,0xB1,0xC8,0x76,0xC5,0xA3,0x87,0xB7,0x05,0xC1,0x8D,0x30, -0x81,0x30,0x0A,0x9C,0xD2,0xEE,0x01,0xD3,0x38,0x8F,0xCE,0x3A,0xF1,0xCF,0x5E,0xA8, -0x47,0x56,0x60,0x22,0x88,0x74,0xD3,0x91,0x77,0xAB,0x38,0x3F,0x0B,0xD7,0x1F,0xEE, -0x74,0xC7,0x8C,0x0B,0x98,0x32,0x62,0x4A,0x7E,0x54,0x7F,0x2A,0xD0,0xE5,0xEB,0x6F, -0xE8,0x2F,0xB0,0x73,0x3C,0x23,0xBA,0x55,0xA5,0xA0,0x4D,0xAB,0x50,0xA4,0xED,0x41, -0x1D,0xD8,0x36,0xE4,0x1B,0xCA,0x76,0xAF,0x80,0x42,0xDD,0x10,0x1F,0x52,0xC9,0x44, -0x18,0x53,0xD6,0xD6,0xF9,0x21,0xB6,0xF1,0x17,0xA8,0xF2,0x23,0xE1,0xF0,0xDF,0x7E, -0x8B,0x80,0x85,0x1E,0xD8,0xD3,0x0E,0xD1,0x88,0x23,0x7D,0x77,0x83,0x36,0x78,0xA7, -0x52,0x3E,0xFE,0x04,0x13,0xD4,0x5F,0xBC,0x73,0xFC,0x82,0x43,0x7A,0xC5,0x03,0x56, -0x84,0xBB,0xEA,0xAE,0x75,0xAB,0x5B,0x32,0xB5,0x21,0x72,0x7D,0x13,0x48,0xFF,0x5F, -0xDB,0xBE,0x5C,0x5A,0xDC,0xEB,0x5C,0x1A,0xAD,0xC1,0xED,0xCC,0x12,0xAF,0x61,0x2D, -0x79,0xF3,0xDE,0xB1,0x09,0xAF,0xE1,0x65,0xC0,0x6A,0xDA,0xB9,0xC8,0x7A,0x0B,0xDE, -0x77,0x0D,0xEC,0x17,0xEA,0x33,0x85,0xD4,0x03,0x7E,0x77,0x89,0x07,0xCD,0x29,0xF5, -0x33,0x9E,0xF6,0x63,0x1A,0xBD,0xD2,0x40,0x1E,0x57,0xB5,0x36,0xB4,0x95,0xBF,0x0F, -0x70,0x89,0x31,0x2F,0x94,0x14,0x19,0x92,0x22,0xCB,0x5D,0x4E,0x39,0x29,0x11,0x48, -0x3E,0xAA,0xA4,0xD9,0xA9,0x86,0x6B,0xB1,0xE4,0x16,0xAD,0x70,0x8E,0xCB,0xD0,0xCE, -0x99,0x6C,0xC6,0x00,0x74,0xDC,0xFF,0xDD,0x7D,0x6E,0x94,0x9D,0x9B,0xA9,0x98,0x16, -0x13,0x26,0x04,0x42,0x9B,0x66,0xE0,0xB4,0xD2,0x4F,0xE9,0xAA,0x69,0x11,0xB8,0x37, -0x22,0xB8,0xD5,0x61,0x0A,0xFB,0x63,0x9B,0x87,0x2F,0x8C,0xDB,0x56,0x12,0x1E,0xF8, -0xE9,0xEA,0xED,0x65,0x9F,0x5E,0xB2,0x7F,0x64,0x10,0xEC,0x5E,0x76,0xDF,0x35,0x4D, -0x87,0x71,0x8A,0xB2,0x33,0x51,0x43,0x73,0x2F,0x63,0xA0,0x27,0xAA,0xBC,0xAC,0x07, -0x2C,0x46,0xE7,0xC7,0xDD,0x9C,0xF8,0xF5,0x3A,0x2B,0xC2,0xFF,0x01,0x7B,0xDA,0x4C, -0x2E,0x49,0xDA,0xCD,0x21,0x34,0xD4,0xB9,0xB9,0x17,0x68,0x66,0x0F,0x6D,0x48,0x92, -0x4C,0x23,0xB2,0xB6,0x81,0x1D,0x5E,0x6D,0x47,0x01,0xCA,0x5C,0xC4,0x60,0x3D,0xC5, -0x90,0x16,0x29,0x9E,0x57,0x0D,0x61,0xEC,0xFA,0x05,0x84,0x78,0x9A,0x4E,0x06,0x64, -0xB6,0xEF,0x5B,0x91,0xA1,0x98,0x42,0xA2,0xA3,0x53,0xFB,0x12,0xAE,0x06,0xFB,0x7B, -0x86,0xB4,0xD7,0xA4,0x24,0x7B,0x22,0x9D,0x4E,0xFE,0x8D,0x49,0xD9,0xA2,0x14,0x7A, -0x89,0x8F,0xB8,0x14,0x59,0x08,0x3C,0x25,0x24,0x38,0xEB,0xF7,0xA8,0xB0,0x08,0xC2, -0x83,0x3F,0x37,0x96,0xBE,0xAC,0x0A,0x5F,0x00,0x44,0x9C,0x3E,0x72,0x65,0x62,0x31, -0xE7,0x14,0xDF,0xC3,0xDA,0xF0,0x28,0xC0,0xDD,0x43,0x18,0x06,0x9F,0x13,0xCF,0x6A, -0x45,0x59,0x5D,0x28,0xFC,0x6E,0x40,0xD5,0x0E,0xD6,0x8A,0xE0,0x94,0x58,0x94,0xBA, -0x26,0xF6,0x68,0x45,0x68,0xBC,0x35,0xDE,0x0C,0x72,0x86,0x25,0x81,0x3A,0xDC,0x62, -0xE4,0xDE,0xBF,0xDF,0x95,0x63,0xBD,0x7D,0xA9,0x96,0x57,0xB0,0x70,0x69,0xC6,0xF4, -0x56,0x70,0x43,0x20,0x0E,0xC3,0x31,0x50,0x59,0x12,0xE3,0x54,0xF2,0x24,0x64,0x1F, -0x30,0x54,0x96,0x7F,0x69,0xCB,0x91,0x31,0xCF,0x66,0x2B,0x15,0x3C,0x74,0xD8,0x46, -0x6B,0x1F,0x9D,0xAF,0x93,0x78,0xC9,0xA7,0x2E,0xFD,0x47,0x55,0xB3,0xC4,0xD2,0xC4, -0xE6,0xD1,0x82,0xD5,0x08,0xD8,0x45,0x8A,0x58,0x8C,0x04,0x26,0x99,0xA5,0x3C,0xD3, -0xD7,0x4F,0x53,0xF6,0x05,0x89,0x9A,0xBD,0x27,0x02,0x00,0x40,0xE5,0x4A,0x88,0x02, -0xE2,0x9F,0x3F,0xF1,0x53,0x35,0x33,0x27,0xF7,0xAD,0x79,0x11,0xF9,0x6F,0x3F,0xCF, -0x95,0x9D,0xC9,0xAC,0x38,0x1B,0xE8,0x9E,0x42,0xC8,0x97,0x52,0x02,0x90,0xE0,0xFB, -0xA1,0x88,0xF8,0xBD,0x76,0xFF,0xD9,0xCC,0x8F,0x4E,0x2C,0xBC,0x3B,0x25,0xB5,0x8D, -0xA9,0x37,0x4A,0x35,0xE3,0x5A,0x08,0x28,0x30,0xEE,0x6E,0x5D,0xF5,0x75,0x09,0xD4, -0xCA,0x98,0x7F,0x58,0x32,0x26,0xE7,0x9C,0x45,0xA5,0xC6,0x99,0xA6,0xA6,0x9A,0x1C, -0x49,0xA8,0x52,0x84,0x90,0x2C,0x4B,0x59,0x49,0x93,0xDC,0x82,0xB7,0x7E,0x85,0xB8, -0x58,0x8E,0x71,0x86,0xAD,0xBE,0x39,0x7A,0x65,0x8E,0x0B,0x2C,0x8D,0x20,0xEA,0x79, -0x0E,0xF1,0x28,0xEC,0xC9,0xE2,0x1B,0xE5,0x10,0xC5,0xA3,0xE8,0x57,0xF5,0x80,0x8A, -0x5A,0x81,0x4C,0x8C,0x39,0x6C,0x4C,0x71,0xA1,0xF7,0xF7,0xD7,0xE8,0xB7,0x20,0x6B, -0xB2,0xA1,0xE6,0xB5,0xE2,0x2D,0xAC,0xC7,0x41,0xF2,0x7C,0xE5,0x91,0x05,0x5D,0xB4, -0x68,0xD5,0xFD,0xB3,0x1D,0xD1,0x02,0x75,0x44,0x3B,0x21,0xEB,0x09,0xDB,0xBB,0x2B, -0xAE,0xB3,0x97,0x0D,0x51,0x16,0x15,0x36,0x6B,0x1C,0x1D,0xF2,0x06,0x2A,0xB7,0x87, -0x2A,0x07,0x67,0xE9,0x0C,0xE0,0x17,0x41,0xEF,0x4D,0xE6,0xA0,0xC2,0xD6,0xCE,0x7C, -0xCD,0x1C,0xA2,0x60,0x29,0x2A,0xFD,0xAA,0x15,0x0C,0xFE,0xE6,0x20,0x51,0x6F,0x8B, -0x19,0x96,0x8B,0xC0,0xD1,0xBA,0x83,0x2D,0xA7,0x04,0x41,0x6E,0x61,0xB1,0xD9,0x50, -0x7B,0xFC,0xE3,0xBB,0xC8,0x95,0xBF,0x0A,0x6D,0xEF,0xAB,0x4B,0x3D,0x93,0x46,0x34, -0xF3,0xB9,0x1C,0xF3,0xE1,0x79,0x2E,0x39,0x40,0x6C,0x9B,0x97,0x93,0x09,0xF9,0x71, -0x97,0x92,0xF4,0xA6,0x4F,0x55,0xF9,0x24,0xE9,0xBE,0x50,0x19,0x19,0xE4,0x3A,0xFD, -0x7C,0x78,0x3E,0x83,0x85,0x25,0x0C,0xA6,0x4B,0x37,0xD0,0x47,0x6A,0xFA,0x82,0x80, -0xC2,0x27,0xCD,0xD0,0x4A,0x1A,0x0F,0x00,0x90,0xC3,0xE2,0xC6,0xF3,0xC3,0xFA,0x6D, -0x15,0x67,0x84,0x6C,0x72,0xC7,0x8B,0x07,0xA0,0x69,0x10,0xA5,0x75,0x34,0x0F,0xFA, -0xE3,0x5A,0x62,0xE7,0x8F,0x18,0x03,0xA4,0x4D,0xC4,0x66,0xFE,0xFC,0x32,0xF6,0xC1, -0xF0,0x73,0x7C,0xEF,0x67,0xCE,0xCC,0xF8,0xCC,0x5C,0xC0,0xA2,0x6F,0xA7,0x4B,0x8E, -0xEF,0xD1,0xF0,0xD5,0xEE,0x43,0x20,0x56,0x61,0x6C,0xFE,0x48,0x7B,0x27,0xD2,0x33, -0xF9,0x43,0x2E,0xDB,0x6D,0xDA,0x1C,0xFC,0x9D,0x40,0xB2,0xE0,0x71,0x25,0xDD,0x0E, -0xF4,0x36,0x79,0x10,0x93,0xE0,0x0A,0x5E,0x3D,0xCA,0x66,0xC9,0x0A,0x47,0xB7,0x66, -0xDA,0x0D,0xD8,0x4E,0x2E,0xC4,0x0E,0x10,0xEB,0xF5,0xE7,0xD9,0x22,0x9B,0x82,0xFD, -0x92,0xF0,0xC7,0x7A,0x77,0xAE,0x58,0x6F,0x1D,0xD6,0xA9,0x4C,0x2D,0xBD,0x7B,0x8F, -0x36,0x1F,0xC6,0x0D,0x9A,0xF5,0xF5,0x19,0x98,0xB6,0x96,0xAF,0x18,0x8D,0x20,0x03, -0x24,0x03,0x7E,0x7C,0xF0,0x4B,0x33,0x7F,0xE5,0xA8,0x2E,0xDC,0xA8,0x82,0x1B,0x6C, -0xF1,0x69,0x8D,0xA6,0xD4,0x82,0x4F,0x08,0x02,0x9E,0x54,0x78,0x2A,0x88,0xAB,0xE3, -0x01,0xB4,0xB3,0x60,0xCA,0x8A,0x5C,0x21,0xA6,0x46,0x4B,0x69,0xDF,0x38,0x0A,0x22, -0xBD,0x1A,0xF4,0xED,0xF6,0xF2,0xC0,0xC9,0x28,0x8D,0x99,0xC0,0x93,0x7B,0x1D,0xE5, -0x5F,0xDB,0x72,0x5A,0x30,0xCC,0x1D,0x39,0x15,0xFF,0xBA,0x52,0x65,0x35,0x3E,0x70, -0x3D,0x93,0xAA,0x4F,0xA9,0x21,0x65,0x00,0xC8,0x6B,0xD6,0x08,0xBC,0x92,0xF8,0x12, -0x85,0xB3,0x8B,0xBD,0x06,0x16,0x44,0x7D,0x27,0x74,0xBF,0xB2,0xFE,0x18,0xB2,0xD0, -0x86,0x15,0x44,0x82,0x53,0x67,0x24,0x18,0xB6,0xF7,0x90,0x2F,0xDD,0x29,0x2C,0x01, -0x4B,0x3E,0xF1,0xA2,0xB0,0xE2,0x1B,0x78,0x23,0x26,0x74,0x8A,0xD9,0xE2,0x7E,0x39, -0x28,0xA7,0xBB,0x7E,0xFB,0x9B,0x68,0x34,0x8F,0xD7,0x78,0x85,0x0E,0x8C,0xE5,0x5E, -0xC6,0xC2,0xF8,0xCB,0x54,0xAC,0x49,0x49,0xA7,0xE2,0xA4,0x1E,0x58,0x16,0x4C,0xE2, -0x64,0xD4,0xC2,0x35,0xC3,0x9F,0xA3,0x66,0x45,0x22,0xFA,0xF5,0x6A,0x13,0xC7,0x02, -0xA2,0x73,0x1B,0x57,0x5C,0xCB,0x28,0xE9,0x64,0x9A,0xDA,0x07,0xA2,0x80,0x14,0x51, -0x51,0x08,0xEA,0xAE,0xA7,0xFF,0xF7,0x16,0xAF,0xCB,0xB7,0x00,0xB8,0x59,0xAA,0x2A, -0xDC,0xF4,0xE3,0xC7,0x61,0xC1,0x2A,0xE6,0xC9,0xCF,0x39,0x7F,0x12,0x8F,0x2F,0x3E, -0x3B,0x6A,0x91,0xC6,0x79,0x70,0xCA,0x79,0x60,0xC8,0x11,0x3F,0xE6,0xD0,0x2A,0x88, -0xEE,0x00,0x62,0x1C,0x14,0x05,0x61,0x4E,0xB5,0x75,0x6E,0x7B,0x0D,0x72,0x67,0x0A, -0x59,0x22,0x49,0xD3,0xD7,0x35,0x75,0xE3,0x56,0x11,0xDF,0xE7,0xAB,0x7C,0x99,0x38, -0xF0,0xB8,0x1F,0x6F,0x92,0x92,0x94,0xB9,0x26,0xD0,0x50,0xC5,0xE7,0x3F,0x8E,0xFF, -0xAF,0x06,0x4C,0x9C,0x80,0x81,0xB1,0x8A,0x76,0x0D,0x10,0x62,0x51,0xEA,0xC1,0x8B, -0xFE,0x6B,0x87,0x9B,0x46,0xBF,0x6C,0x7A,0xA4,0x60,0x5A,0x4A,0x03,0xBB,0x3A,0x0F, -0x55,0x86,0x8C,0xD1,0x11,0x0B,0xA8,0x13,0xBD,0x5C,0x7D,0x65,0x77,0xFF,0xA9,0x15, -0x5B,0x55,0x14,0x25,0xEC,0x86,0x84,0x5A,0x6E,0x95,0xD8,0x3A,0x20,0x8A,0xA4,0xDE, -0x43,0x14,0x52,0xDF,0xA3,0x83,0xA0,0xAC,0x34,0x47,0x9A,0xA0,0x9E,0x4C,0xC2,0xB4, -0x71,0xE0,0xD3,0x04,0xAA,0x96,0x5F,0xEB,0x24,0xF6,0x41,0xE6,0xB7,0x7F,0x53,0x58, -0x30,0xE6,0xFD,0x84,0x71,0x17,0xAB,0xD9,0x80,0x2E,0x5E,0xF7,0xCF,0xE3,0xBB,0x64, -0x07,0x4D,0x88,0xE9,0xB9,0xF7,0xE4,0x3F,0x74,0x2B,0x01,0x41,0x07,0x70,0x68,0x37, -0x9D,0xF2,0xCD,0x47,0x94,0x2B,0x67,0x0F,0x5D,0xBA,0x32,0xAD,0x4F,0xF8,0x2D,0xC8, -0x70,0x31,0x41,0xCD,0x3D,0xA5,0xB5,0xC4,0xF3,0x6D,0x2F,0x81,0x1A,0x9C,0x06,0x20, -0x6E,0x89,0x3C,0xBE,0x9F,0xFB,0x3C,0x44,0x39,0x98,0xAD,0xF1,0x3F,0x77,0xEC,0xEA, -0x57,0xF1,0xD1,0x27,0x44,0x7A,0xC8,0x76,0xF6,0x9B,0x0B,0xCE,0x6C,0xC9,0xB3,0x19, -0xA0,0x04,0x46,0xA1,0x74,0x19,0x62,0x84,0xCE,0x1F,0x0C,0x13,0xD0,0x1E,0xF3,0x50, -0xA6,0xFD,0x7D,0x28,0x99,0x42,0xCF,0xF2,0x33,0x97,0xAF,0xCC,0x5B,0xE8,0xCE,0xB6, -0x33,0x40,0x32,0xBB,0x18,0x1E,0x57,0x54,0xDB,0x58,0xF3,0x1A,0x53,0xFB,0xE7,0xA8, -0x61,0x8B,0x36,0x83,0xC4,0x54,0xCE,0x37,0x75,0x8F,0xEE,0x36,0x50,0x05,0x65,0xFC, -0x23,0x2B,0xD7,0x3C,0x75,0x6B,0xFC,0x63,0x85,0xD8,0x7A,0xB8,0x30,0x51,0x15,0x98, -0x91,0x56,0x08,0x45,0x95,0x59,0xF9,0xE8,0x5E,0x38,0xCC,0xF9,0x09,0xB9,0x35,0x32, -0x4F,0xB0,0x97,0xDD,0x90,0x57,0x30,0xB5,0xA1,0x96,0x7E,0x05,0x0F,0x63,0x41,0x29, -0xBE,0xBC,0x3B,0xD2,0xBF,0x4E,0x17,0x89,0xED,0x81,0x3D,0xC2,0xB1,0xA5,0x27,0x43, -0x42,0xC5,0xC0,0x16,0x3B,0x1C,0x46,0x72,0xB0,0x83,0x4A,0x34,0x55,0x21,0x93,0xB3, -0xC5,0x64,0x37,0xF4,0xC1,0x5A,0x07,0x6A,0x95,0x69,0xA1,0xFE,0xDC,0xC6,0x88,0x76, -0x25,0xD2,0xEC,0xB5,0x73,0xD2,0x0F,0xD5,0x6D,0x17,0x26,0x6E,0x7C,0x12,0x02,0x5F, -0xDE,0x83,0xBE,0x31,0xF3,0xFC,0x09,0x94,0xB9,0x0E,0xB6,0x5D,0x4A,0xDC,0xDB,0x87, -0xFB,0x34,0x73,0x2D,0x23,0xAD,0xA6,0xED,0xEF,0xA7,0x2C,0xE1,0x4D,0xE9,0x0B,0xEB, -0x04,0xEB,0x47,0xD6,0x96,0xEE,0xC3,0x03,0x84,0x7C,0x95,0xCF,0x10,0x9E,0x09,0x1D, -0xB1,0xBE,0x31,0xEF,0x5B,0x00,0x45,0xB8,0xCA,0x4D,0xC7,0x2B,0x01,0xAA,0x1C,0x2C, -0xE1,0x02,0x68,0x21,0xE4,0xE1,0xE5,0xFA,0x5F,0x9C,0x23,0x8E,0x89,0xA2,0xA3,0x9E, -0x32,0x91,0xA0,0x72,0x91,0x25,0xAE,0x52,0x8E,0x73,0x97,0xF2,0xE4,0xC1,0x0C,0xAB, -0xEA,0x8E,0x04,0x63,0x9D,0x3E,0x98,0x48,0x2C,0xDF,0x52,0xF8,0x38,0x42,0x3C,0x86, -0xB4,0xE1,0xC5,0x59,0xB1,0x90,0x85,0x9F,0x11,0xAD,0x71,0x6A,0x3A,0x53,0x1A,0xA5, -0x87,0xC4,0xD6,0x4B,0x09,0xBA,0x48,0x8C,0x66,0xBC,0xCB,0x24,0x7F,0xEC,0x80,0x0B, -0xCC,0x9F,0x06,0x40,0xDA,0x5C,0xDD,0x1E,0x40,0xD4,0xDE,0xBA,0x94,0x4E,0xCD,0x89, -0xAE,0xD7,0xDE,0x55,0xD8,0x99,0x79,0x12,0xD4,0xA1,0xD5,0x68,0xF9,0x2D,0x62,0xBC, -0xFD,0xCD,0x48,0xA4,0x7D,0x0C,0x9D,0xC3,0x29,0x29,0x76,0xB7,0x63,0xEF,0x4A,0x6B, -0xB0,0x6F,0xA3,0x26,0x8D,0xE8,0x19,0x77,0xB2,0xA5,0x5B,0x17,0x9C,0x5D,0xE4,0x97, -0xE0,0xD3,0xFA,0xE8,0x1B,0xA9,0x6D,0xBF,0xD5,0x05,0x3A,0x1F,0xC3,0x3B,0xC0,0x42, -0x50,0xD9,0x78,0x67,0xFA,0xE9,0xF6,0xD3,0x2F,0x5D,0xAC,0xAC,0x13,0x60,0x8B,0x49, -0x31,0x37,0x6F,0x4D,0x8C,0x9A,0x87,0x90,0xB4,0xD1,0x81,0x0C,0x69,0xED,0x45,0x56, -0x2D,0xC3,0x66,0x1D,0x01,0xAB,0x74,0x08,0xB6,0x66,0x98,0x16,0x91,0x62,0xAA,0xFF, -0x1E,0xE6,0x75,0x0F,0xF2,0xF8,0xCA,0x57,0x00,0x29,0x4D,0x62,0xC1,0x22,0x77,0x58, -0xB4,0xDA,0xEC,0x8C,0x4C,0x6B,0xF4,0xF2,0x90,0x0E,0x8D,0x88,0x5A,0x0F,0xFB,0xF8, -0xDD,0x1E,0x58,0xDB,0x06,0x60,0x19,0x59,0xE4,0x9D,0xC9,0x92,0x43,0x28,0xC7,0xD7, -0x0B,0xD2,0x64,0x3E,0x42,0xB5,0x66,0xE4,0x79,0x65,0x3E,0x29,0xD3,0xE8,0xE0,0x3D, -0xFD,0xF6,0x61,0x71,0xB8,0xF3,0x27,0xFC,0xC7,0x03,0xF8,0x43,0x89,0xAA,0x32,0xA7, -0x7E,0xD9,0xF0,0xEC,0x19,0x1A,0x94,0x97,0x28,0x1C,0x91,0xF9,0x67,0x2C,0x89,0x6A, -0x4C,0x2D,0x71,0x37,0x99,0x34,0x92,0xD6,0x50,0xF4,0x0D,0xC5,0xC3,0x33,0x51,0x7B, -0xC1,0xD1,0x78,0x5E,0xA8,0x25,0xA6,0xC3,0x8D,0x60,0x61,0x9F,0xA2,0x88,0x85,0x68, -0xEE,0x3B,0x4B,0xC9,0x56,0x1F,0xB0,0x61,0xBF,0xEB,0x64,0x7F,0x40,0xD6,0x45,0x83, -0xB1,0x85,0x18,0x3A,0x33,0x0D,0x7A,0xF6,0x5F,0x0D,0x2B,0xB7,0x48,0xC5,0x6C,0x9D, -0x4E,0x5A,0x2C,0xC1,0xCA,0xFC,0x01,0x05,0x45,0xB3,0xF2,0xCC,0x83,0xA8,0x3D,0x9A, -0xDE,0xB8,0x97,0xE4,0x5B,0x76,0x18,0x9C,0x01,0x8D,0xA2,0x15,0x87,0x63,0x6F,0xA2, -0x41,0x58,0x26,0xFC,0x5A,0x04,0x86,0x7B,0xF5,0x88,0xFD,0xA3,0x2E,0x4B,0x68,0xE2, -0x44,0x07,0xD2,0x4A,0x4E,0xAE,0x50,0xFE,0x4C,0x3E,0x0E,0xA5,0xB1,0xAD,0xB6,0x7A, -0xE9,0x13,0xE2,0x89,0x81,0x85,0x72,0x49,0xEA,0xC0,0x00,0x97,0x52,0x1C,0xD2,0xE6, -0x6E,0xB2,0x15,0x6B,0x70,0x13,0x68,0x1A,0x74,0xBA,0x09,0x78,0xCF,0xEB,0x2A,0x5D, -0x86,0x2E,0x6D,0x57,0xFD,0x54,0xC6,0xA6,0x38,0xAD,0x4A,0xBF,0x41,0x39,0xE1,0xF4, -0xA7,0x17,0xC6,0x34,0xD2,0x4D,0xE1,0x9A,0x5B,0x5F,0xE0,0x8F,0x2F,0xA4,0xCC,0x95, -0x9E,0x6F,0x2B,0xAD,0xC7,0x95,0xA9,0xF8,0x82,0x99,0x47,0xED,0xF2,0xC8,0x58,0xCF, -0xBF,0x56,0x80,0xCE,0x1F,0xA3,0x67,0x21,0x3A,0x8B,0x5B,0x9C,0x51,0xE2,0x50,0xB2, -0xDA,0x36,0xF1,0x9B,0x20,0x6C,0xC1,0x22,0x19,0x15,0x6A,0x4D,0xC0,0xCD,0xD3,0x2F, -0x93,0x1A,0x7C,0x66,0xE3,0x5C,0xD5,0x8F,0xE9,0x42,0xFE,0xC3,0x68,0x0A,0x70,0x18, -0xDF,0x69,0x05,0x2D,0x3F,0x16,0x4C,0xEC,0x3E,0xD9,0x90,0xA4,0xC4,0x06,0x81,0x17, -0x5B,0x6E,0x3D,0xF0,0x46,0xC9,0x31,0x5E,0x96,0x7A,0x57,0x93,0x7A,0xC0,0xE7,0x7D, -0xF1,0x52,0xA4,0x73,0x48,0x17,0xA3,0x48,0x9C,0x75,0x55,0xAE,0x86,0x8C,0xCB,0xD5, -0xB7,0x7C,0x23,0xB3,0xD3,0x3F,0x7F,0x7D,0xC5,0x25,0xE9,0x60,0x0C,0x95,0x52,0x44, -0xF9,0x78,0x07,0x0E,0x8D,0x9E,0x44,0x53,0xED,0x10,0x35,0xFB,0xDA,0x14,0x6D,0x54, -0xBE,0x87,0x12,0x07,0x90,0x21,0x6D,0x91,0xFF,0x87,0xFF,0x9E,0x7F,0xE4,0x11,0x32, -0xC8,0x2A,0x49,0xEA,0xE7,0x20,0x82,0x35,0xCA,0xDC,0xCF,0x12,0xFA,0xDB,0x71,0xD1, -0xAF,0x3D,0x65,0x49,0x3B,0x6A,0x1B,0x56,0xCD,0x0C,0xFA,0x7E,0xE5,0x26,0x39,0xE5, -0xD8,0x41,0xAC,0x6D,0xE1,0x99,0x71,0x83,0x4F,0xBC,0xF0,0xF1,0x02,0x5C,0x0F,0x41, -0xB9,0xAF,0xBB,0x47,0xDD,0xE1,0xED,0x6B,0x73,0x6A,0x3C,0x14,0xA7,0xAC,0x73,0x27, -0x2B,0x3A,0x5D,0x94,0xD6,0x31,0xB6,0x20,0x98,0x27,0x9E,0x96,0x81,0xB9,0x1B,0xB9, -0x64,0xEF,0xEB,0xE0,0x39,0xAF,0xBF,0x5A,0x84,0xED,0x9D,0xF6,0xCE,0x04,0x8E,0x2A, -0xB5,0x0B,0x7E,0x45,0xC8,0x39,0xA5,0x09,0x1E,0xC5,0x5F,0x21,0x33,0xA7,0x06,0xF5, -0x18,0x1F,0x4E,0x86,0x75,0x1D,0xA1,0x47,0x24,0x67,0x49,0xDF,0x32,0x48,0xA2,0x82, -0xD0,0x6B,0x0F,0x10,0xBB,0x44,0x1D,0x17,0x7B,0x43,0x2F,0x0A,0x55,0x29,0x02,0x8A, -0x37,0xF5,0x7D,0x11,0xD0,0x88,0x45,0x96,0x8E,0xE2,0x9F,0xCB,0x53,0xF3,0x76,0x91, -0x74,0x84,0x0E,0x67,0xFA,0x9F,0xAB,0xF7,0xF4,0x2C,0x12,0xD4,0xC8,0xDE,0xFA,0x31, -0x4A,0xD4,0x4A,0xBE,0xB0,0x94,0x46,0x5C,0xAA,0xAC,0x9B,0x76,0x08,0x5E,0x00,0x7C, -0x33,0x7B,0x1B,0x6E,0xAC,0x59,0xF1,0x79,0xAD,0x7C,0xAE,0x1A,0x5E,0xC4,0xA9,0xC0, -0x1F,0x37,0xE7,0xC6,0x72,0xD6,0xCC,0x16,0xE6,0xBB,0xD8,0xB1,0x2D,0xB5,0xEA,0xB6, -0xA4,0xB1,0x09,0x0B,0x4B,0xA0,0x99,0xA3,0xF7,0xAE,0xEC,0x80,0x63,0xE7,0xDB,0x52, -0xF5,0xDC,0xC2,0x0C,0xEF,0x47,0xE3,0x95,0x03,0xAB,0xB3,0x36,0x69,0xE5,0xD4,0x6F, -0x5D,0x97,0x06,0x79,0xBC,0x8F,0x70,0x46,0x6E,0x04,0xD0,0x03,0xB8,0x51,0x3B,0x13, -0x38,0xF7,0x77,0x2C,0xC4,0x22,0x93,0x13,0xDD,0xBD,0x21,0x38,0xF6,0x03,0x0A,0xF7, -0xEF,0xEA,0xD9,0x00,0xFE,0xE3,0xFC,0x4D,0xDF,0x9B,0x30,0x1B,0xCB,0x20,0x78,0x65, -0xC4,0x8E,0x8C,0xE8,0xA1,0x30,0x59,0x84,0xD7,0xB2,0x23,0x05,0x62,0x08,0x7F,0x25, -0x90,0xBC,0xB3,0x59,0x1E,0xD1,0xF9,0xC6,0xB7,0xC2,0x77,0x61,0x92,0x9C,0x28,0xAB, -0x12,0x42,0xB0,0x0D,0x40,0x70,0xC2,0xE8,0xE8,0xE6,0x11,0xB4,0x46,0x0C,0x31,0x98, -0x4F,0x8B,0xBE,0x08,0xD8,0xEF,0x24,0x36,0xEE,0x92,0xCB,0xAF,0xB9,0xBE,0x9F,0x64, -0xD5,0x34,0xFB,0xA6,0x8B,0x27,0xB7,0xE5,0xB2,0x34,0x53,0x2E,0x57,0x38,0x24,0xA9, -0x2E,0x65,0xA9,0x22,0x4F,0xDC,0xCE,0x19,0x56,0x80,0xD7,0xDE,0x0A,0x4F,0x26,0x5F, -0x72,0x7D,0x35,0xEE,0x28,0x0B,0xA0,0x82,0x9B,0xA5,0x60,0xC2,0x8A,0x54,0xB0,0xF3, -0xCD,0x75,0xBD,0x5C,0x69,0xD0,0x16,0x62,0x3B,0x2F,0xB4,0xEB,0x72,0xD3,0xCE,0x63, -0xA8,0x15,0xCC,0x09,0xDA,0x2A,0x80,0x3A,0xA8,0x8A,0x8A,0x55,0xBA,0x40,0x1D,0x30, -0x98,0x96,0x10,0x24,0x74,0x6F,0x3F,0xA0,0xE0,0xCF,0x02,0xAA,0x93,0x73,0x8C,0xDC, -0xE3,0x4E,0x1C,0x02,0x23,0xDB,0xFB,0xC9,0xD8,0x4B,0x05,0x77,0xDE,0xDF,0x3F,0x6C, -0x63,0xC7,0x42,0xA0,0x50,0xA6,0x43,0xD7,0xFD,0xA1,0xEE,0xBD,0x14,0x5D,0xCA,0x1C, -0x23,0x10,0xFE,0xE9,0x3C,0xA1,0x76,0x07,0x37,0x54,0x6C,0xCD,0x29,0x7E,0xB8,0x8E, -0xD1,0xBA,0x9D,0xD9,0xBA,0x36,0x83,0xF0,0x8B,0x14,0xBB,0x84,0x11,0x79,0x3C,0x53, -0xF3,0x25,0xF9,0x85,0x26,0xD5,0x32,0x94,0xB4,0x40,0x89,0x35,0x3C,0x81,0xFF,0x87, -0x55,0xBD,0xA5,0x04,0xB5,0x9A,0x8F,0x01,0xBC,0x69,0x9A,0x2B,0xD4,0xDD,0x30,0x51, -0x32,0x4E,0x6F,0x7B,0xC7,0x26,0x0E,0xE5,0x82,0x9F,0x38,0x20,0xA2,0xF5,0xB4,0x95, -0x00,0x1A,0xDE,0x44,0x26,0x99,0x4C,0x45,0xE6,0xCB,0x48,0x40,0x2C,0xA2,0x20,0x65, -0xFE,0x98,0x8A,0x47,0x87,0xC7,0x62,0x7E,0x33,0xAD,0x6C,0x1F,0x1F,0xBB,0xB0,0xB1, -0x37,0xC5,0x8F,0x49,0x18,0x5F,0xBC,0x98,0x28,0x77,0x18,0x19,0xE3,0x15,0x02,0x4E, -0x88,0x5F,0x21,0x0C,0xD0,0x0C,0x6F,0x0B,0xA9,0xEF,0xBE,0x45,0x2E,0xAE,0x84,0xA0, -0xD9,0xA4,0xA5,0x5E,0x2B,0xC8,0x93,0x72,0x59,0x6B,0x0A,0xA1,0xD8,0xAC,0xF3,0xFD, -0xC1,0xF8,0x69,0xC2,0xFC,0xAF,0x08,0x1C,0x45,0xDC,0x2F,0x6C,0x74,0x3A,0xE8,0x7D, -0xC9,0x47,0xDB,0x4A,0x27,0xEE,0xE8,0xAA,0x6C,0x08,0xA5,0xCC,0xE4,0x44,0x6F,0x85, -0xA9,0x22,0x8E,0x3B,0xDD,0x5D,0xB0,0x3C,0xD2,0x36,0x00,0x5F,0xB7,0x97,0xFC,0x4D, -0x2A,0x12,0xA3,0xE7,0x98,0xF3,0x2A,0x83,0x2D,0xBE,0x45,0x17,0x5B,0x06,0xCF,0x64, -0xF2,0x69,0x85,0xEB,0x2C,0xA4,0x43,0x47,0xF0,0xB9,0xC1,0x2F,0xEB,0xB5,0x63,0x29, -0x7B,0xE9,0x27,0xB5,0x51,0xD7,0x5D,0xFF,0x3A,0x52,0x2B,0x0A,0x9B,0x40,0xE1,0xE3, -0xAC,0xA9,0x6E,0x09,0x56,0xBB,0x8D,0xCA,0x4A,0xD0,0xDE,0xC0,0x09,0x32,0xC2,0xDE, -0x06,0x5B,0x5E,0x6A,0xC1,0x3D,0x7A,0x3F,0x03,0x07,0x9E,0x7C,0xD4,0xB6,0xC5,0xE6, -0x99,0x79,0x02,0x0E,0x22,0xA1,0x1E,0x8E,0xB2,0x35,0xCA,0x43,0x00,0x75,0x3D,0xCB, -0x01,0xDF,0x83,0x52,0x6D,0x32,0x8B,0x33,0xAC,0x26,0xE3,0x4B,0xD6,0xBA,0x61,0x23, -0x13,0x33,0xC0,0x4C,0x16,0x5A,0xE1,0x51,0x93,0x80,0xE0,0x84,0xA0,0xF9,0x10,0x50, -0x86,0xA1,0x13,0xAA,0xC6,0x51,0xAA,0x0A,0x11,0x22,0xAD,0x6F,0x3E,0x91,0x05,0x76, -0x53,0xEE,0x67,0x1C,0x58,0xBE,0xD0,0x03,0x71,0x21,0x67,0x73,0xAD,0x04,0xB8,0x39, -0xB7,0x3F,0xC2,0x89,0xCE,0x4F,0x83,0x19,0xA6,0xE3,0x4F,0xE9,0x72,0x8C,0x1B,0xC4, -0xA3,0x92,0x01,0xB9,0xEA,0xF2,0xCD,0x1D,0x58,0xF5,0xED,0xD3,0x05,0x28,0xF4,0xC5, -0xD7,0x5A,0x97,0xF8,0xB3,0x3C,0x9D,0xA1,0x8D,0x93,0xC9,0x8C,0x0D,0x88,0x95,0xA2, -0x49,0xBD,0x96,0x8A,0x7F,0x57,0x1C,0xF9,0x4C,0x23,0x68,0x79,0x16,0xFC,0x4F,0xA4, -0x38,0xFE,0xE0,0xF9,0x68,0x7D,0x7D,0x17,0x53,0xAE,0xA6,0x03,0xB6,0x70,0x62,0x3F, -0x68,0xC0,0x39,0xBD,0x63,0x37,0xD6,0xFA,0xF1,0x27,0x26,0x5D,0xFB,0x8A,0xE2,0xFF, -0xC7,0xB9,0xE9,0xEC,0xAE,0x2B,0xF3,0x4D,0x9D,0x12,0xF6,0x5A,0x47,0x23,0x78,0xA9, -0x8B,0x95,0x41,0x10,0x21,0xF5,0x9C,0x70,0x36,0x64,0x31,0x11,0x31,0x60,0x09,0xDA, -0x0D,0x2E,0x8C,0xFE,0x57,0xCC,0x29,0x25,0x07,0x50,0x24,0x00,0xD5,0x51,0x5B,0x94, -0x60,0x7F,0x8B,0x35,0xB0,0x68,0x1F,0x5F,0xB1,0x0F,0x21,0xF4,0xE8,0x5E,0x59,0x9E, -0x2B,0xD7,0xFE,0xF1,0x78,0x3B,0xCC,0xCC,0x84,0x6C,0x8E,0x99,0x94,0xB1,0xED,0x4F, -0x4B,0xB2,0xAB,0x80,0xD5,0x43,0x99,0x2F,0xBF,0x9D,0x37,0x2A,0x70,0x80,0xBF,0x01, -0x56,0x65,0x87,0x2E,0x14,0x79,0xC7,0x40,0x9C,0x8C,0x11,0x28,0xE2,0xF2,0x9C,0x3C, -0x0E,0xE4,0xEC,0xE2,0xE4,0xF7,0x90,0xD4,0xFF,0xB5,0x30,0x83,0xDA,0xA0,0x57,0x38, -0x92,0x0C,0xD0,0x9A,0xA3,0x7A,0x2C,0x7A,0x38,0xF6,0x27,0xCF,0x73,0x6B,0x85,0xB6, -0xAB,0x2D,0xB3,0x31,0xBA,0x55,0x10,0x5D,0x08,0x5C,0xD5,0xAC,0x12,0x46,0x18,0xD8, -0xD3,0x14,0x2A,0xDC,0x62,0x40,0x72,0x15,0x6A,0xFB,0x13,0x75,0x48,0xD2,0x74,0x05, -0xEA,0x35,0x49,0x77,0x54,0x98,0xAB,0xDB,0x1B,0xE7,0x01,0xCD,0x35,0xDA,0x5E,0xA6, -0x8A,0x50,0x1C,0x06,0x9B,0xA7,0xA8,0x7D,0xCA,0xD6,0x9F,0xEE,0xA8,0x59,0x71,0x37, -0xA6,0x19,0xE1,0x8B,0xAB,0x64,0x05,0x69,0x44,0x42,0xC8,0x1E,0x9F,0xFA,0xB6,0x9F, -0xD5,0x55,0xAA,0xF2,0xE1,0xB8,0x66,0xF0,0x23,0x2C,0x53,0xC9,0x90,0x0B,0xBA,0x33, -0xD2,0xD1,0x77,0xCA,0x3E,0xC1,0xD4,0x8D,0x14,0xEB,0xF0,0x61,0xFA,0x6D,0x7C,0x8D, -0xEE,0x7B,0xF4,0x53,0xE0,0xCF,0xC2,0x1F,0x29,0xE9,0xFF,0x6B,0x52,0x41,0x30,0x71, -0xC0,0x3D,0x34,0xD4,0xC8,0x54,0xF7,0xC3,0xE7,0x55,0xAF,0x32,0xC3,0xD8,0x29,0xFB, -0xC4,0x73,0x89,0xF0,0x69,0x0A,0xD9,0xF8,0x7C,0x89,0x9A,0x1A,0xD3,0xE7,0xA8,0x2D, -0x3B,0x34,0x80,0xE5,0xD6,0x17,0x1B,0xD1,0x19,0x43,0x0D,0x08,0xB5,0x9B,0x58,0x88, -0x96,0x42,0x6D,0xBE,0xD7,0x60,0xBF,0x3E,0x95,0x73,0x56,0x3D,0x56,0xFB,0x67,0x0D, -0x81,0x25,0xCE,0x92,0x9D,0xBC,0xDC,0xA7,0xF9,0x46,0x86,0x3A,0x62,0xB3,0x9A,0x12, -0xFD,0x52,0xEA,0x5B,0x6E,0x66,0x09,0xCD,0x76,0x4C,0x36,0xB8,0xC6,0x85,0xE0,0xF5, -0x7F,0xA7,0x9A,0x91,0x5C,0x86,0x82,0xC8,0x91,0x24,0xEC,0x41,0x78,0x20,0xDE,0x66, -0x5A,0x94,0x88,0x82,0x0F,0x75,0xDD,0x76,0xE5,0xF1,0xA3,0xF7,0xDF,0xFD,0x9E,0x36, -0x66,0x3E,0x0B,0x1B,0x9C,0xCB,0x78,0x48,0x0F,0x31,0x84,0x67,0x7F,0x71,0xB3,0xAD, -0xA2,0x57,0x5C,0xAF,0x97,0x81,0xD3,0xA5,0x15,0x75,0x17,0x13,0x50,0x4D,0x94,0xB4, -0x6E,0x81,0xB9,0x93,0x42,0xC5,0x6E,0xDA,0xAE,0x82,0xEF,0x8E,0xBA,0x6A,0x54,0x24, -0x4A,0x77,0xF6,0x96,0x04,0x3F,0x76,0x9B,0xC4,0x44,0x89,0x30,0x20,0xB8,0x16,0x7E, -0x65,0xF4,0x6B,0x07,0xED,0x9E,0x1D,0x28,0x7E,0x2D,0x96,0xDF,0xED,0x03,0x90,0x90, -0x91,0xC6,0xB0,0x86,0xC3,0x1E,0x5C,0x2E,0x42,0xB1,0x7E,0xA7,0xFC,0xDB,0x8F,0x34, -0x6D,0x4B,0xD9,0x8F,0xD2,0x2F,0x49,0x1A,0x18,0xDD,0xEA,0x7A,0xEF,0x0F,0x34,0x55, -0x87,0x64,0x4E,0xBC,0xE8,0xD1,0xEB,0x0C,0xF8,0xD8,0x61,0x48,0x04,0xCF,0x6A,0xB7, -0x39,0x3B,0xBD,0xEF,0xFA,0xB4,0x7C,0xC6,0x30,0x97,0x87,0xA8,0x1A,0xE6,0x79,0xBF, -0xE6,0xC4,0x46,0xDB,0x0B,0x4D,0x8F,0xBD,0x4B,0x4E,0x39,0xB2,0x1D,0xB7,0x14,0x74, -0x04,0x54,0x63,0x60,0x81,0xDC,0x16,0xA4,0x92,0x1E,0x07,0xF6,0x25,0xE5,0xDF,0x70, -0xE4,0xCB,0x7B,0xD1,0xF3,0xDD,0xF1,0x3A,0x24,0x41,0x02,0x02,0x65,0xE2,0xF7,0xD9, -0xBB,0xCE,0xCD,0x25,0x59,0xC9,0x74,0xEC,0x22,0xB2,0xB4,0xBB,0xFD,0x3C,0x11,0x46, -0xAF,0x63,0x0E,0x15,0x72,0x06,0xC3,0xCE,0x10,0xBC,0x4A,0x1D,0x61,0x58,0xA0,0xA5, -0xD5,0x80,0xE3,0x01,0xAD,0x63,0x9B,0x43,0x0E,0xEC,0xF8,0x98,0x3D,0x12,0xC3,0x0F, -0x8E,0xB0,0xD6,0x8D,0x4E,0xE6,0xA4,0x23,0x55,0x9A,0x55,0x75,0x3C,0xFD,0x67,0x78, -0x5E,0x85,0xD1,0xE1,0x7A,0xF9,0x59,0x6B,0x79,0xFD,0x42,0xD6,0x76,0x64,0x04,0xA4, -0xEE,0x8F,0x53,0x6E,0xDE,0x1E,0x23,0x5D,0xB0,0x8A,0x3E,0xF2,0x85,0x0E,0xD1,0x7E, -0x28,0x28,0x8A,0x0C,0xE2,0x66,0xBF,0xB5,0x21,0x09,0x11,0x6F,0xD5,0x4E,0x0C,0xD9, -0x27,0x2A,0x80,0x31,0x4A,0x9A,0xF3,0x99,0xB8,0xA3,0x2D,0xEC,0x0B,0xDC,0x1A,0xD7, -0x77,0x96,0xD9,0xFF,0xDB,0x10,0xEA,0x00,0x3F,0xE5,0x03,0x2C,0x23,0x00,0x2F,0x4C, -0x42,0x4A,0xF1,0x64,0xCB,0xC6,0x6B,0x3F,0x1B,0xAB,0x07,0x91,0x82,0x3B,0x01,0x12, -0xD9,0x24,0x26,0x03,0x2D,0x4D,0x9D,0x02,0x9C,0xED,0x29,0x51,0xBF,0x18,0x73,0x80, -0x47,0x15,0x05,0xD2,0xB0,0xDC,0xB2,0x81,0xED,0x88,0x49,0x04,0x70,0xBE,0x70,0xBF, -0x10,0x81,0xF5,0x5C,0x87,0x74,0x75,0x22,0x60,0xC1,0x65,0xF9,0x40,0xAA,0xDD,0x7C, -0x8B,0xEF,0x22,0x3B,0x88,0xD8,0x79,0xD3,0x19,0x8D,0x16,0xB2,0x0A,0x33,0xBE,0xA0, -0xE8,0x76,0x68,0xE7,0xC2,0xD3,0x94,0x78,0x09,0x3C,0xCD,0xF4,0x0F,0x17,0x48,0xEF, -0xFF,0x35,0x24,0x20,0x6B,0x5D,0x46,0xB3,0x71,0xD4,0x51,0xC8,0x48,0xB9,0xF4,0x62, -0x0D,0x9F,0x47,0x10,0x0A,0x33,0xDB,0x9E,0xDA,0xF5,0x68,0xAB,0x51,0x9E,0xC8,0x4D, -0xCB,0x38,0x9E,0x72,0x50,0xEE,0xB7,0x0A,0x37,0xCC,0x10,0x32,0x89,0xD6,0xAA,0x58, -0xDF,0xDD,0x1D,0x8A,0x3D,0x9B,0x1C,0x3D,0x8B,0x8C,0xC7,0x7B,0x6A,0x67,0xCE,0xC4, -0xDA,0x82,0xE9,0x3C,0x7D,0x32,0x34,0x3A,0x3A,0x13,0x27,0x63,0x18,0xF9,0x29,0xC5, -0x6C,0x71,0x50,0x3A,0xE5,0xAD,0xD2,0xE4,0xCE,0x16,0x78,0xD5,0xB2,0x2F,0xAC,0xD1, -0x92,0x7F,0xF6,0x08,0x79,0x4E,0x63,0x80,0xFE,0xBB,0x6C,0x16,0x99,0x0D,0x1B,0x1E, -0x32,0x1E,0x91,0x00,0xF7,0xBE,0xF7,0xD7,0x64,0x93,0xAE,0xC1,0x39,0xD9,0x91,0x37, -0xB9,0x1B,0xA3,0xE0,0x1C,0x5C,0xA9,0x17,0x57,0xBC,0x44,0x56,0x03,0xCF,0x33,0xC9, -0x5F,0x54,0x43,0x28,0x02,0x54,0xBA,0x3E,0x04,0xE3,0xFA,0xA5,0x11,0x05,0xA4,0xAC, -0xE1,0x8D,0x59,0x53,0x05,0x9F,0xD7,0x6F,0x30,0x1C,0x25,0x5E,0xE0,0x7E,0x57,0x55, -0x37,0x41,0x65,0xB6,0xA2,0xCF,0x97,0xB2,0x78,0x59,0xAD,0xA1,0xA9,0x19,0xB6,0xDD, -0x51,0x87,0xDB,0xDC,0x38,0x95,0xD5,0x60,0x7D,0xAF,0x89,0xEE,0xEF,0x58,0xAE,0x27, -0x4E,0xEE,0x34,0x66,0xF5,0x7B,0x53,0xDB,0xEC,0x2C,0xA6,0x73,0x06,0xEB,0xC5,0x86, -0xA6,0x72,0x4C,0x5A,0xE4,0xDF,0x4C,0x03,0x6D,0x1E,0x52,0xA8,0x28,0xED,0x84,0x06, -0x34,0xE7,0xAA,0x89,0x60,0x8D,0x1D,0xF8,0x7A,0x7F,0xBC,0x82,0xB7,0x0B,0x5A,0x9E, -0x7B,0x32,0x1C,0xFD,0xC7,0xDD,0x5D,0x25,0x69,0x4C,0x99,0x90,0xE4,0xB5,0x05,0x6D, -0x5C,0xF2,0x8C,0x17,0x67,0x46,0x70,0xA9,0xF0,0xE6,0xA5,0x13,0x77,0x8B,0xA0,0xD3, -0xCF,0xB6,0xF8,0x0D,0x48,0x5F,0x57,0x95,0x44,0x8F,0x61,0x44,0x7C,0x66,0x0B,0x99, -0x06,0x13,0x2B,0x52,0x11,0x35,0x01,0xEA,0xE2,0x71,0x6F,0x76,0xBD,0x09,0x55,0xA3, -0x46,0xC4,0x97,0x1B,0xCC,0x0D,0x06,0x6E,0x81,0x83,0xC5,0x46,0x2A,0xFC,0xA2,0x25, -0x12,0xF6,0xA8,0xAA,0x18,0x20,0xFE,0xAD,0xE5,0xA1,0x5A,0x1A,0xC9,0x4D,0xC6,0xB9, -0x3B,0xE5,0xA0,0xB4,0xCE,0xC8,0xA2,0x62,0xB9,0x07,0xC2,0x9B,0x86,0xF0,0x53,0x2A, -0xD8,0xF5,0xB4,0xCA,0xAF,0xA6,0x3F,0x4F,0xD0,0xFA,0x6A,0x96,0x36,0xFF,0x68,0x45, -0x9D,0x7D,0xFC,0x35,0x43,0x8F,0x0C,0xDE,0x0C,0xCA,0xE9,0xBB,0x73,0x40,0xF2,0xEB, -0x19,0x7A,0xC4,0xE8,0xF3,0xC2,0xA0,0x6D,0x00,0xB1,0x31,0x9D,0xC7,0x84,0x9B,0xBC, -0xF3,0x91,0xE1,0x22,0x83,0x08,0x22,0x98,0x5E,0x31,0xB8,0x3F,0xBA,0x3C,0x85,0xCF, -0x66,0x2C,0xAE,0xB1,0x36,0x4B,0x47,0x76,0xE7,0x87,0x4B,0x39,0x3B,0xC8,0xB7,0x14, -0xD2,0xA8,0x4A,0x41,0xC0,0x16,0x30,0x74,0xB5,0x7C,0x1A,0xBD,0xC0,0xB1,0x4B,0xD0, -0xF7,0x1F,0x87,0x5D,0x6C,0x96,0x2B,0xE2,0x29,0x20,0x02,0x71,0x17,0xDF,0xD0,0xB7, -0x7D,0xCB,0x27,0x74,0xFC,0x6E,0xAC,0x9C,0xA1,0x9F,0x0A,0xC3,0xCC,0x69,0x30,0xF6, -0xE0,0x5C,0xCB,0x9A,0xBA,0x7E,0x77,0x2D,0x90,0x96,0xF1,0x77,0x2C,0x26,0xD6,0x3E, -0x90,0x08,0xAB,0xFE,0x34,0x8E,0xE3,0x7A,0xAF,0xC2,0xC3,0xC6,0xCD,0x86,0x94,0x81, -0xB4,0x6E,0xF4,0x2B,0x07,0x5A,0x73,0x63,0xAC,0x40,0x3D,0x92,0x6C,0xBD,0xBA,0xDF, -0xC0,0xB4,0xF2,0x30,0xFB,0xA5,0xC1,0xCD,0xA2,0x1D,0xF4,0x97,0xF3,0x5B,0x64,0x47, -0xF9,0xCC,0x1F,0xA9,0xF0,0x75,0x9A,0x86,0xDE,0xA7,0xA3,0x93,0x5B,0x9C,0xC7,0x70, -0x56,0xAF,0x72,0x9C,0x8C,0xA4,0x2E,0x69,0x1A,0x0F,0xE8,0xE6,0x93,0x0F,0x14,0x23, -0xEF,0x5E,0xC1,0xA7,0x68,0xEA,0x7C,0x58,0x6B,0x6A,0x88,0xB3,0x3E,0xEC,0x41,0x5B, -0xC9,0x4F,0xC3,0x84,0xFA,0xD7,0x5F,0x2A,0xC5,0xBD,0x95,0x9F,0xFF,0x83,0x1F,0x61, -0xFE,0xE4,0xB6,0xE9,0xE3,0x14,0x21,0x52,0x56,0x18,0xAB,0x21,0x88,0x39,0x0E,0x2F, -0x2E,0xD1,0xB1,0x85,0x5F,0x42,0xBB,0xFB,0x07,0x61,0x04,0xF1,0x45,0x8E,0x2B,0x33, -0xE9,0xA7,0xFA,0x2E,0x29,0x31,0xCA,0xB8,0xFB,0x4D,0x48,0x59,0xCA,0xB3,0x44,0xED, -0xFC,0x93,0xEB,0x1F,0xCD,0x7F,0x98,0x89,0x15,0xF6,0xCE,0x94,0xBC,0xE6,0xF1,0xD4, -0x35,0x36,0x38,0x40,0x1D,0x2E,0x37,0xF0,0x52,0x4A,0x60,0x19,0x01,0xDE,0x15,0xEA, -0x11,0x50,0x67,0x95,0x15,0x49,0x56,0x50,0x13,0x82,0x14,0x8F,0x58,0x62,0x45,0x24, -0xB0,0xE0,0x92,0x54,0x0E,0x4F,0x8C,0x24,0x61,0x65,0x8A,0x8E,0x94,0x3A,0xC4,0x4F, -0x7E,0x6D,0xE8,0x4B,0xAE,0xD4,0xA1,0xA8,0x12,0x26,0xFB,0xF8,0x83,0xD4,0xA5,0x65, -0x38,0x43,0x6F,0x8B,0xB8,0xBB,0xD3,0x21,0xA7,0xEB,0xD0,0xD8,0xFD,0x92,0x39,0x42, -0x75,0xE1,0x84,0x09,0x26,0x9D,0xC6,0x49,0x41,0x79,0x45,0x0B,0x2D,0xC9,0x72,0x49, -0xBF,0xE2,0x98,0x69,0xB5,0xD2,0x7B,0xDC,0xF7,0x36,0x90,0x7F,0xB3,0xC0,0x08,0xA6, -0x97,0x20,0x02,0xBE,0x6A,0x2F,0xD8,0x54,0x62,0xE7,0x74,0xDA,0x25,0xDA,0x5B,0x57, -0x98,0x12,0xA1,0x80,0x0B,0x2E,0x46,0x07,0x85,0x4D,0x4D,0xE6,0x2B,0xB2,0xB1,0x54, -0x66,0x28,0x03,0x96,0xE1,0x01,0x75,0x90,0x45,0xA6,0xAF,0xB8,0xA0,0x80,0x51,0x51, -0x04,0xF1,0xC5,0x31,0x6A,0x8E,0x21,0x0F,0xFD,0x54,0x8E,0x98,0x73,0x48,0x02,0xC2, -0xFD,0x00,0x36,0x4A,0xB5,0x71,0x15,0xF4,0xAC,0x53,0x45,0xF5,0xCD,0x52,0x79,0x1B, -0x94,0x09,0xBB,0xB6,0x68,0x81,0x2B,0x32,0xA8,0x2C,0x23,0x7B,0x48,0xF8,0x6D,0xCD, -0x95,0x7B,0x5C,0x28,0x88,0x1E,0x9A,0x2A,0xAF,0x6C,0x8A,0x53,0x4D,0x0C,0xDB,0x92, -0x4F,0x88,0x89,0x42,0x23,0x29,0xEF,0x47,0x12,0x28,0x5F,0x2C,0x00,0xE7,0x59,0x30, -0x80,0xA3,0x3E,0x60,0x37,0x84,0xDF,0x84,0x76,0xB4,0xBC,0x9D,0xFE,0x41,0x6B,0x3E, -0x3C,0xF5,0x97,0xFA,0xD6,0xDE,0x78,0xC1,0xB7,0x96,0xCC,0x12,0xE9,0x0D,0xAC,0x7D, -0xCF,0xA6,0xC8,0x44,0xF3,0xED,0x6B,0xD3,0x6A,0x31,0x9C,0x52,0xA6,0xBB,0xD8,0xA8, -0xC8,0x6D,0x99,0x29,0x2E,0x1D,0x55,0x15,0x07,0x19,0x4E,0x18,0x5D,0xE9,0x5C,0xF9, -0x82,0x66,0x32,0xC4,0xEA,0x74,0xE1,0x42,0x3B,0x36,0x57,0x3F,0xCE,0x9D,0x46,0xBD, -0x76,0xFE,0x3C,0x17,0xC6,0x3D,0x6C,0xBF,0xF2,0x69,0x84,0x9A,0xC3,0xCA,0x8D,0xC8, -0x8C,0xB8,0x24,0x56,0xE2,0xCB,0x69,0xF0,0x20,0xF3,0xDE,0xD8,0xA5,0x74,0xE7,0x0E, -0x57,0x39,0x16,0xA2,0x1D,0x8C,0x7C,0xF9,0x91,0xB5,0xCE,0x03,0x34,0x5D,0x0B,0x3D, -0xD7,0x17,0x57,0xA4,0xE9,0xBE,0xFD,0x22,0x49,0xA4,0x6A,0x1C,0xDC,0x25,0x37,0xA1, -0x86,0x1A,0x88,0x93,0x62,0x31,0xA9,0xBD,0x0B,0x1B,0x8B,0xBC,0xB5,0x91,0x60,0x65, -0x88,0xC4,0x9E,0x01,0x5E,0x9B,0x30,0x3E,0x27,0xB3,0x77,0xF0,0xBA,0x9B,0x5D,0x67, -0x43,0x93,0x93,0x74,0x48,0x39,0x0A,0xC0,0xAD,0x9A,0xD7,0x24,0xD0,0xE0,0x35,0x05, -0x1D,0x32,0xBD,0x4F,0x4C,0x77,0x2E,0x7D,0x92,0x8A,0x01,0xA5,0xE5,0xC8,0xAE,0xD9, -0x29,0x2D,0xF5,0xB2,0x1A,0x08,0x44,0x24,0xB1,0x1F,0xF7,0xEB,0x1C,0xC7,0xDC,0xFF, -0x5E,0x2C,0x51,0x5D,0xB7,0x7E,0x1F,0xC9,0xD1,0xFC,0x72,0xD4,0x47,0xF2,0x50,0xCF, -0x2F,0x94,0x43,0x41,0x71,0x18,0xA1,0xA3,0xCF,0x8F,0x0F,0x6C,0x7C,0x42,0x3F,0xC0, -0xF5,0x67,0x96,0x2B,0x0D,0x6F,0x68,0x87,0xF9,0x2B,0xE8,0x16,0xCC,0xC0,0xB0,0xCA, -0x33,0x59,0x66,0xF6,0x1E,0x46,0x60,0x99,0x21,0x3A,0x4C,0x09,0x6D,0x35,0x71,0x7A, -0xBE,0x1E,0xDA,0x58,0x82,0xAE,0x18,0xA5,0xEA,0x93,0xC2,0xDB,0x7A,0x79,0xB6,0x39, -0x09,0x98,0x38,0x99,0x5F,0x5E,0x26,0x63,0x98,0x01,0xFF,0xF8,0x59,0x8F,0x23,0x77, -0x1C,0x40,0x5A,0xD1,0x27,0x67,0xCB,0xFA,0x0C,0x5B,0x22,0x94,0x9F,0x56,0x41,0xD0, -0xEE,0x61,0xE2,0xF1,0x06,0x1A,0xFC,0x55,0x13,0xE1,0xCD,0xFD,0xD5,0x14,0x83,0x5A, -0xD1,0xAE,0xE1,0x57,0x66,0x7F,0x8D,0x00,0x90,0x7C,0x5C,0xD2,0x4B,0x37,0x52,0x6B, -0xF1,0x1B,0x2C,0x7C,0x59,0x1F,0x08,0xE3,0x41,0xD9,0xC9,0x36,0x19,0x33,0x6A,0xA0, -0x2D,0x51,0x4F,0xE5,0x2A,0x53,0x71,0xA8,0xB0,0xD6,0x65,0x3A,0x82,0xE4,0x0D,0xCE, -0x62,0x54,0xB9,0xC1,0x4B,0xF3,0x16,0xA0,0x69,0x0E,0x53,0xF4,0xBC,0xA0,0xD4,0x9E, -0x7E,0x99,0x9C,0x76,0xE4,0x8A,0x47,0x70,0xC0,0xB2,0x05,0x6E,0x6C,0xA7,0xB8,0xAB, -0x85,0xAD,0x63,0xA9,0x81,0x64,0x04,0xC5,0x1B,0x9C,0x6E,0xD7,0x6E,0xFA,0x4E,0xDC, -0xBC,0xDB,0xD6,0xFC,0x07,0xDF,0xEA,0x08,0x2A,0x78,0x20,0x85,0x7B,0xEB,0x7F,0xE8, -0x72,0x82,0x86,0x40,0xA7,0x9D,0x0B,0xB7,0xFB,0xDD,0xB5,0x61,0xC4,0x63,0xCD,0xE0, -0x21,0x4A,0x55,0xD3,0xEC,0x35,0xCF,0xC2,0x14,0xA1,0x64,0xD5,0x6B,0x0E,0xF8,0x83, -0x30,0xEE,0x8D,0xCC,0xDA,0x2F,0xD4,0xCE,0xB8,0xAB,0xC6,0x10,0x5B,0xD2,0xD5,0x00, -0x0A,0x2F,0xD3,0xA3,0xC7,0xF8,0x7A,0xE2,0xCA,0x39,0xFB,0x33,0x7D,0xD0,0xF6,0x11, -0x18,0x3C,0xE0,0x86,0x0A,0xEB,0x50,0x5A,0xDB,0x77,0x8C,0x89,0xE7,0x95,0x58,0xAE, -0x13,0xEC,0xAB,0xDD,0x9F,0x79,0xB6,0x89,0xB3,0xE9,0xAA,0x9C,0xAA,0x7E,0xDA,0x0C, -0x06,0x34,0xC9,0x95,0x3B,0x75,0x73,0x8B,0xC6,0x3B,0x3E,0x97,0x05,0x13,0xEF,0x6F, -0xF7,0xA2,0x9A,0x8F,0xDF,0xA4,0xE6,0x2E,0x4E,0xE4,0xC3,0x34,0x2D,0x89,0x38,0xAD, -0x75,0x49,0xD7,0x2D,0x5B,0x10,0x02,0xDE,0xC2,0x44,0x58,0x19,0x83,0x76,0xC4,0x1F, -0xBB,0x10,0x87,0x91,0x2F,0xD8,0x43,0x48,0x62,0x4C,0x3F,0x78,0xA7,0x29,0x11,0x79, -0x34,0x92,0x37,0x9B,0xB4,0xB4,0x03,0xA9,0x3A,0xFF,0xC5,0xEE,0xEC,0xF9,0x1A,0x22, -0x1E,0x85,0x56,0x75,0xC5,0xF7,0x70,0xDF,0xB6,0x5F,0x5E,0xC3,0x22,0x83,0x05,0xAF, -0xBA,0x62,0x60,0x0F,0xA6,0x58,0x1D,0xEA,0x4C,0x12,0x9E,0x43,0x0F,0xED,0x64,0x32, -0x14,0x27,0xFA,0xB0,0x25,0x68,0xC1,0xC7,0xDD,0xFE,0xB7,0x70,0x4A,0xA5,0x9B,0xBA, -0x9E,0xAB,0x17,0x73,0xF7,0xA3,0x4F,0x6E,0x0A,0xD2,0x19,0x6D,0x61,0xF0,0x73,0xDE, -0xED,0xD6,0x09,0xCB,0x7E,0x23,0x11,0xCC,0xFF,0xA2,0xD3,0xEF,0x8B,0xD5,0xB9,0x35, -0x74,0x3B,0x30,0xB3,0x8A,0x11,0x90,0x17,0xFC,0x9D,0x1C,0x49,0xD4,0x86,0x4A,0x8B, -0xF2,0xAC,0xC7,0x46,0x20,0xE3,0xF3,0x27,0x78,0x40,0x24,0x4E,0x94,0x3A,0x03,0x5C, -0x7B,0x97,0xC1,0xBF,0x8D,0x95,0xA8,0xCA,0xF0,0x9F,0xD9,0xED,0xA9,0xB1,0xE5,0xAA, -0xE8,0xD8,0x54,0x02,0x15,0x33,0xF4,0x4B,0x3F,0x49,0x31,0xB1,0x80,0xB9,0xFB,0xB9, -0xD0,0xDC,0x06,0xC9,0x8C,0x50,0xBE,0x97,0xE8,0x65,0x9F,0xAC,0x02,0xBA,0xAF,0x47, -0x6F,0x3D,0x44,0x69,0xBE,0x04,0x81,0x26,0xBF,0xEB,0x6F,0x38,0x72,0xDA,0xCB,0x13, -0x16,0xE2,0xF6,0x14,0xBB,0x8F,0xB3,0xC6,0x5F,0xAA,0xB4,0x8E,0x52,0xE3,0x61,0xFB, -0x8E,0x7D,0x28,0xF2,0x72,0xD2,0xBD,0xC3,0xF1,0x56,0x4B,0x3C,0x26,0xE5,0x7A,0x21, -0x81,0xD1,0xD9,0xFE,0x55,0xEE,0xA4,0xEC,0xE6,0x91,0x07,0x7F,0x40,0x5B,0x10,0xE7, -0x45,0x2A,0x25,0x87,0x04,0x15,0xF6,0x68,0xE4,0x67,0x5A,0x08,0xF4,0xBF,0xE0,0x63, -0xA7,0xDD,0xA2,0x26,0x45,0x0D,0xB0,0x92,0x0E,0xAD,0x7F,0xE3,0xEF,0x36,0x25,0x84, -0xE6,0x06,0x42,0x90,0x4D,0xB2,0x38,0x20,0x70,0x3D,0x87,0x64,0x65,0x96,0x0C,0x50, -0xEC,0x8F,0xD0,0x2D,0x36,0x37,0x4A,0x65,0xF1,0xDB,0x20,0x50,0x70,0x30,0x0D,0x6F, -0x24,0xDC,0x43,0xFE,0x9E,0x7C,0x3F,0xA1,0x45,0x0A,0x5C,0xBF,0x13,0x05,0x60,0xC0, -0x80,0xCD,0x5C,0x26,0x84,0x4A,0x33,0xBA,0x80,0xA8,0x56,0x13,0x90,0x28,0xBC,0xF0, -0x41,0xF7,0x33,0x78,0x53,0x57,0x1F,0x14,0xA3,0x95,0xC4,0x61,0x81,0x0B,0xBE,0xD6, -0x3A,0x9F,0x51,0x12,0x58,0xDB,0x5D,0x78,0x64,0x3D,0xF3,0xC2,0x0E,0x29,0xCE,0x17, -0xF7,0x83,0xE6,0x37,0x21,0x74,0x8D,0x29,0xFE,0x6B,0x4F,0x6B,0x3B,0x45,0xC9,0xC7, -0xC3,0x78,0x39,0xC8,0xCF,0x11,0x38,0x6A,0x47,0x00,0x61,0xB0,0x4C,0xB3,0x94,0xC5, -0xB5,0x41,0x6C,0x7D,0x74,0x97,0xF5,0x84,0x15,0x4E,0x85,0x81,0x78,0x82,0x85,0xD0, -0x27,0x88,0xBD,0x7C,0xBB,0xCB,0x23,0x6C,0x89,0x36,0xB9,0x69,0x8F,0x39,0x18,0x28, -0x7E,0x46,0x01,0x2C,0x73,0xBF,0xB5,0x2D,0xE8,0x51,0xB1,0xC9,0xE9,0xEC,0x47,0x0C, -0xFC,0xC9,0x0B,0x9C,0x1F,0x24,0x54,0x6D,0x7E,0xAB,0x02,0x91,0xB2,0xE7,0x97,0x47, -0xEB,0xE3,0xE5,0xFD,0x5C,0x55,0x22,0x1E,0x53,0x30,0xA2,0x1D,0x3F,0xF8,0xED,0x89, -0x52,0xE5,0x16,0x4B,0x40,0x9A,0xA7,0x3E,0x19,0xE2,0x8A,0x70,0x3E,0xA5,0xFB,0x4C, -0x82,0xEE,0x4D,0x00,0xD2,0x0F,0x74,0xD8,0x0C,0xC4,0x14,0x18,0x9C,0x27,0x10,0x01, -0x5A,0xFB,0x05,0x62,0xDE,0xAB,0x76,0x1D,0x07,0x50,0xC6,0x6D,0xFF,0x12,0x7D,0xAE, -0xCC,0x0A,0x1F,0x31,0x0F,0x4F,0xD3,0x88,0xA4,0xAD,0x19,0xE5,0x3D,0xC5,0xE7,0x86, -0x55,0x89,0x23,0x9B,0xBA,0x1A,0xEA,0xFE,0xD9,0x72,0x60,0x57,0x1B,0xB7,0xE8,0x7F, -0xC2,0x0F,0xD6,0x6C,0x48,0xB0,0xDA,0x9D,0xDE,0x4A,0xBD,0xD3,0xCC,0xFE,0x54,0x3F, -0xF9,0x86,0x2F,0x6A,0x3E,0x1D,0x37,0xC6,0x7D,0xB7,0x62,0x5B,0x3A,0x18,0xDF,0x02, -0xB6,0x15,0x92,0xFF,0x98,0x85,0xB6,0x9A,0x21,0x5F,0xB4,0x94,0x29,0x06,0xD7,0x2B, -0x0C,0x47,0x9F,0xCB,0xF3,0x36,0x17,0x73,0xD3,0xF0,0xEF,0xE7,0xA2,0x99,0x83,0xA4, -0x49,0xE9,0x20,0x51,0xC3,0xB5,0x3A,0xAF,0xE0,0xD9,0x03,0x76,0x2A,0x66,0xCB,0xE1, -0xC5,0x63,0xE3,0xBC,0x08,0x67,0x93,0x21,0xFD,0x77,0x2F,0xA1,0x4E,0x8E,0x9E,0xCA, -0xB8,0x10,0x5B,0xA2,0x88,0xEE,0x31,0x7F,0x7F,0xBD,0x5F,0x54,0xA5,0x44,0xBB,0x20, -0xBF,0x7C,0x6E,0x72,0x45,0xC5,0x11,0xCA,0xEF,0x69,0x6C,0x4D,0x77,0xED,0x35,0xEB, -0x44,0xB8,0x17,0x8E,0xBE,0x94,0x95,0x98,0x98,0x34,0x9A,0x4F,0xF3,0x1D,0xD1,0x5F, -0xB3,0x5A,0xB6,0x09,0xA6,0xD5,0x6F,0xDE,0x73,0x11,0x50,0xA5,0x14,0xD8,0x58,0x44, -0x68,0x1B,0x00,0xE9,0x19,0xDD,0xDD,0x56,0xF4,0xE9,0xC0,0xDB,0xC0,0xF1,0xF8,0xCE, -0xB2,0x2D,0x59,0xAD,0xFB,0x1C,0x6A,0xD0,0x3C,0xF1,0x98,0x43,0xD7,0x52,0xD4,0xA9, -0x53,0x92,0xF9,0xEF,0xAF,0x2E,0xDB,0xEF,0xA8,0x01,0x16,0x14,0x83,0x36,0xB4,0xD9, -0x8C,0xEB,0x84,0x5D,0x24,0x2B,0x3B,0xDD,0x1E,0xDA,0x57,0xF4,0x6B,0x9C,0x8D,0xF9, -0x13,0x73,0x62,0x83,0x79,0xE2,0x3E,0xD3,0xAC,0x25,0xAB,0x5A,0xB1,0x87,0x8B,0x8D, -0x67,0x69,0x26,0x10,0x2A,0xF8,0xCF,0x45,0xEB,0x4D,0xD1,0x03,0x5D,0x90,0x96,0xE3, -0x15,0x68,0xB8,0xF7,0xB5,0x18,0xD7,0xF4,0xC3,0xE4,0x91,0x04,0x02,0x26,0x62,0xE6, -0xE6,0xB2,0xD2,0x22,0x82,0xB3,0xBA,0x81,0xBC,0x31,0xD5,0xB9,0xA0,0xA4,0x89,0xAB, -0xCD,0x7D,0xF0,0x95,0x2F,0xA7,0x79,0xB1,0x0D,0xD2,0x49,0xDD,0xAE,0x96,0x2F,0x55, -0x7C,0x65,0x10,0x0A,0x85,0x9B,0xFA,0x28,0x76,0x23,0xB0,0x2E,0xC4,0x4C,0xDC,0x80, -0x46,0x9B,0x06,0xA8,0xAA,0x71,0x6D,0x1B,0x28,0xC1,0x5B,0xEE,0xC1,0xAC,0xEE,0x0B, -0x9F,0xF9,0xA1,0x6E,0x25,0xFA,0xF2,0x4F,0x08,0xE0,0xA9,0x56,0x52,0xFF,0x26,0xD8, -0x6E,0x00,0xDA,0x9D,0xDA,0x25,0x09,0x7B,0x65,0x2B,0xAE,0x07,0x8B,0x84,0x3C,0x66, -0x90,0x8B,0x87,0x97,0x96,0x56,0x42,0x02,0x0A,0xEA,0x94,0x59,0x58,0x70,0xA4,0x68, -0xD6,0x71,0xC6,0x8F,0x60,0x72,0x0D,0x07,0x48,0xB0,0x0E,0x8B,0x9E,0x1A,0x1A,0x0E, -0x57,0xAA,0x32,0xBD,0x27,0x8D,0x04,0x12,0x93,0xA0,0x48,0x3A,0xAD,0xF6,0x33,0x9F, -0x79,0x2A,0x34,0xFC,0x15,0x79,0xDF,0x93,0x8C,0x04,0x59,0xE2,0x31,0xCA,0x4B,0x77, -0x9B,0xC1,0x6A,0x3C,0x75,0x46,0x3C,0x16,0x82,0xA2,0x6B,0x1C,0xED,0x51,0x63,0x42, -0xC8,0x32,0xD4,0x63,0x46,0x63,0x2E,0x05,0xC2,0xF2,0xCC,0xC1,0x38,0x25,0xD5,0x0D, -0x03,0x35,0xB9,0x32,0xB6,0xBE,0xE8,0x3B,0x88,0x20,0xE4,0xAC,0x69,0xA1,0x87,0xF6, -0x08,0x7F,0x54,0x99,0xDF,0x7A,0xBF,0x8F,0xAF,0x39,0xCB,0x90,0x2D,0xBB,0xF3,0x65, -0x43,0xD4,0x22,0x5E,0xA3,0x8A,0xD9,0x2A,0x7B,0x99,0xE2,0x1A,0x6F,0x21,0xA9,0xB7, -0x42,0xA3,0xCD,0xFA,0xD5,0x27,0x34,0x71,0x44,0x1C,0x01,0x7A,0x5F,0xAD,0x9C,0xEC, -0xFA,0xD2,0xD1,0xE8,0xB3,0xE1,0x5E,0xCF,0xFC,0x61,0x72,0x64,0x50,0xC2,0x2C,0xD7, -0x09,0x08,0xBB,0x3D,0xC4,0x9D,0x7A,0x06,0x86,0x86,0xD6,0x52,0x5A,0x4D,0xAE,0x67, -0x74,0x7B,0x03,0x23,0x9A,0xF2,0x40,0xC7,0x2C,0xE5,0xE6,0xA0,0xF5,0x9D,0xFF,0x1E, -0xAA,0x75,0x91,0x35,0x30,0xCE,0xC3,0x5E,0x60,0x19,0x4E,0x8C,0xF7,0xA0,0xF5,0x11, -0xFD,0xBE,0xE4,0x38,0x92,0xD8,0x3D,0x64,0xB4,0xB9,0x67,0x06,0x95,0xC8,0x8E,0x7B, -0x5C,0xE0,0xDF,0x16,0xDC,0xDC,0x80,0x40,0x35,0x6F,0x77,0x39,0x49,0x53,0xA6,0x4E, -0x0F,0x13,0x61,0x49,0xB1,0x96,0xA8,0x92,0x6D,0xA3,0x1C,0xB8,0xCA,0x7E,0x7A,0x7E, -0xC0,0x2C,0xC7,0x4A,0xD4,0xF6,0xFD,0xE3,0x42,0x32,0x81,0x3B,0xFB,0xAF,0x59,0xE0, -0x75,0x0C,0xEC,0x87,0xB4,0xC9,0x1E,0x66,0xA6,0xA7,0x24,0xEA,0x30,0x97,0x5D,0xB2, -0x3F,0xD0,0x75,0xE4,0xF8,0xBA,0x55,0x1F,0xAA,0x0B,0x2B,0x1B,0x5E,0xF0,0x8A,0x29, -0x37,0xCE,0x66,0xCD,0xED,0x8E,0x64,0x0E,0x99,0x22,0xC7,0x8A,0xEA,0x8C,0x5B,0xC6, -0x70,0x43,0xC8,0x71,0x05,0x12,0x58,0x76,0x4B,0xAC,0x6E,0x41,0xA9,0x4B,0x17,0xD1, -0xF6,0xF4,0x09,0x93,0xF5,0xCF,0x9E,0x48,0x68,0x91,0xFC,0x33,0xE7,0xDE,0xE1,0xF2, -0x2E,0xE1,0x41,0xF1,0xCC,0xB7,0x07,0xA5,0x04,0x4C,0xA6,0xA7,0x40,0xBC,0x38,0x34, -0x45,0xE8,0xE6,0xDD,0x9E,0xF8,0xFA,0xA9,0x2F,0x32,0x94,0xF9,0x70,0xF2,0x16,0x2C, -0x05,0x3F,0x5A,0x94,0x43,0xC0,0xFD,0x2D,0x4C,0xC0,0x3E,0xC9,0xE7,0x07,0xE1,0xAA, -0x51,0x0D,0x65,0x25,0x97,0xED,0x05,0xEE,0x28,0xE2,0xA1,0x95,0x04,0xB6,0x85,0x36, -0x78,0x1E,0x6D,0x3B,0x41,0x05,0x59,0x21,0x74,0x44,0x39,0x14,0x4B,0x0B,0x10,0xA5, -0x9B,0x0E,0x79,0x45,0x20,0x6B,0xC4,0x0C,0x1D,0xB9,0x91,0x19,0xFB,0x04,0x2B,0xCA, -0xDE,0x86,0x31,0xBA,0xCC,0x42,0xF7,0x9D,0xC1,0x89,0x12,0x34,0xBE,0xBB,0xB1,0x64, -0x5A,0x81,0x09,0x67,0x7C,0x0F,0x5B,0x2E,0xCD,0xF2,0xCA,0x12,0x0A,0x7F,0xD8,0x33, -0xB0,0x6A,0x2C,0xAD,0x0C,0xC5,0xD9,0xDB,0x93,0x72,0x43,0xB0,0x77,0xC7,0xC6,0x40, -0x25,0xD7,0x63,0x3E,0xB9,0x86,0xBC,0x35,0x2A,0xC4,0xB0,0xB6,0xF6,0x33,0xF4,0x9B, -0x91,0x53,0x87,0xCE,0x4F,0xDB,0xCB,0x37,0x78,0x3F,0xE1,0x32,0x0D,0x4A,0x08,0x5F, -0xB4,0xE4,0x4A,0xD2,0xE3,0x5B,0xD0,0xA1,0xE4,0x63,0xF9,0xFE,0xDA,0x24,0x93,0x38, -0x3E,0x30,0xEA,0xFB,0x73,0xA3,0x57,0xDF,0x6C,0xDC,0xF1,0x4C,0x01,0x92,0x73,0x79, -0xA3,0xA7,0x06,0x15,0x35,0xB3,0x8C,0x6E,0x5D,0xD5,0x0A,0xF8,0xE1,0xDD,0x95,0xB1, -0xD3,0xF3,0x66,0x71,0xBB,0x43,0x18,0x39,0x62,0x81,0x38,0x49,0x00,0x7D,0xD7,0x0E, -0xF7,0x95,0x39,0xA4,0x88,0x97,0x88,0x20,0x61,0x03,0xC6,0x1D,0xA1,0x46,0xF9,0x50, -0x83,0x4F,0x3F,0xBF,0x74,0x68,0x3A,0x8E,0x6F,0x5E,0x0F,0x18,0x3E,0xA0,0x27,0xC8, -0xBA,0x37,0xD2,0x26,0x7F,0xB8,0x61,0xC5,0x13,0xE4,0x58,0x1C,0x96,0x67,0x84,0xFF, -0x15,0x54,0xBF,0x13,0x03,0x69,0xD5,0x2A,0xD7,0x4C,0x13,0x69,0x5E,0xF4,0x57,0xAC, -0xAC,0xA5,0x0C,0x28,0xE7,0x27,0x87,0x1B,0xA6,0x29,0x73,0x3C,0xF3,0x17,0x02,0xD4, -0x8A,0xB4,0x0E,0x0B,0x75,0x1A,0xA4,0x69,0x08,0xFE,0x6E,0x10,0x32,0x78,0x5C,0xEE, -0xBD,0x1F,0x7B,0x66,0x6C,0xD9,0xDA,0x11,0x9B,0x5B,0x50,0xAE,0x45,0xC2,0x4D,0xA0, -0x6D,0x2A,0x7C,0x0A,0xD0,0x8F,0x40,0xB8,0xCA,0x22,0xFF,0x7E,0x88,0x75,0x68,0xBC, -0xAA,0x5C,0x37,0xA1,0xA6,0xFC,0x31,0xFB,0x36,0x0E,0xB3,0xD6,0x07,0x48,0x07,0x62, -0xBF,0x68,0x26,0x90,0x42,0xB2,0x63,0xCA,0xD8,0xB5,0x35,0x1B,0x71,0x1D,0xB2,0x5B, -0x76,0xCD,0xF5,0xCF,0x92,0xE3,0xCC,0xB3,0x9F,0x09,0x9B,0x96,0xCC,0x25,0x56,0x65, -0x52,0xAB,0xAA,0x1A,0x9A,0x84,0xAD,0x13,0xDE,0xC1,0xEF,0x00,0x95,0x99,0x06,0xAB, -0xF3,0x1B,0x5F,0xDB,0x81,0x82,0x77,0x67,0xAC,0x26,0x71,0x01,0x59,0xC1,0x87,0xC0, -0x3D,0x96,0x25,0xC4,0x21,0x19,0x5A,0xEB,0xDF,0x65,0x00,0x77,0x4E,0x2F,0xE6,0xEA, -0x7B,0xB8,0xA2,0x04,0x37,0x76,0x28,0x62,0x6A,0xA8,0x2B,0x57,0x30,0x69,0x7A,0xCD, -0x36,0x1A,0x49,0x86,0xA9,0x50,0x3D,0x0A,0x8C,0x3A,0xBE,0x84,0xE0,0x32,0x31,0xC6, -0xFC,0x19,0x55,0xE6,0x3A,0x1F,0x80,0x9F,0x3A,0x75,0x6B,0xF0,0x7E,0x3B,0x4B,0x29, -0xD4,0xDB,0xCF,0x31,0xE5,0xE2,0x23,0x17,0xAF,0xA4,0x8F,0x55,0xE8,0x21,0x18,0xD8, -0x96,0x7B,0x2E,0x8E,0x22,0xAE,0x60,0x00,0xC3,0xAF,0x03,0x17,0xF0,0xE9,0x80,0x80, -0xCD,0x4B,0x1B,0x02,0xC1,0x2B,0x5F,0x60,0x98,0xD9,0xAE,0xFA,0xF1,0x06,0x24,0xF7, -0x1D,0x7E,0x1C,0x6E,0xF5,0x34,0xA2,0x28,0xB4,0xBE,0xB9,0x59,0xBB,0x9F,0x47,0x2B, -0xAD,0x74,0x9E,0xE1,0x51,0xD3,0xD8,0x1E,0x7D,0xC9,0xC5,0x7D,0x48,0xF5,0x92,0xF1, -0x6B,0xD3,0x47,0x83,0x6D,0xAB,0x44,0xF6,0xEC,0x4A,0xEA,0xE0,0x18,0xB5,0x4F,0x56, -0x64,0xD1,0x4D,0xBE,0xC5,0x57,0x08,0xDA,0x75,0xE0,0xD6,0x63,0xC6,0x27,0x59,0x58, -0x34,0x6D,0x14,0x70,0x54,0xDD,0x11,0x43,0xF2,0xA6,0xF8,0xA3,0xEE,0xFB,0x6C,0xC3, -0x01,0xB1,0x3C,0xEB,0x44,0x0B,0x90,0x7C,0xD6,0xE8,0xFC,0x1E,0x4F,0xC0,0x42,0x9D, -0x9A,0xDF,0xEB,0x8C,0xA2,0x80,0x66,0x41,0x51,0xAE,0xD2,0xDE,0x72,0xE3,0x30,0x0F, -0x04,0xEE,0xC8,0x5D,0x3F,0x11,0x49,0xC2,0x20,0xCB,0xB2,0x8B,0xBD,0x45,0x33,0x30, -0x53,0x7A,0x38,0xD3,0x08,0xB9,0x8E,0x61,0xAD,0x82,0x9E,0x76,0x8D,0x51,0x9E,0xF3, -0xC8,0x14,0xEF,0xB4,0x07,0x15,0x82,0x90,0xD4,0xCE,0xED,0x3D,0xC7,0xC8,0xFD,0x2F, -0xAB,0x8D,0xA5,0x68,0x4D,0x1E,0x6F,0x3B,0xC4,0x7F,0x36,0x7B,0xC2,0xEC,0x0B,0x60, -0xBC,0xCE,0xE9,0xAF,0xE4,0x90,0xBD,0xF0,0xBC,0x97,0xAA,0x47,0x85,0x42,0xB7,0xED, -0x4E,0x64,0x8A,0x9F,0x85,0xFE,0x20,0xDD,0x17,0xB6,0x93,0x24,0x9C,0x65,0x8B,0xC2, -0x88,0xC3,0x53,0xFD,0xDF,0x23,0x4C,0x49,0xFA,0x8F,0xEB,0xBD,0x44,0x2D,0xE9,0xD7, -0x9C,0x26,0xD0,0x05,0xB2,0x56,0xE7,0x7E,0x46,0xCF,0x3C,0xF4,0xA7,0x9C,0x8D,0x4B, -0x99,0x79,0x24,0xB3,0xF2,0xFF,0xCF,0x79,0xF7,0x50,0xDC,0xEC,0xD5,0x02,0x6A,0x4A, -0x2F,0x8A,0x9D,0xB5,0x6A,0x60,0x29,0xA7,0x03,0x55,0x83,0x5A,0x7F,0xD4,0xEF,0x5E, -0xD1,0x84,0x3B,0x87,0xF6,0x83,0x98,0xC3,0x33,0xF8,0x97,0x99,0x54,0xF6,0x58,0x91, -0x71,0xE5,0x5C,0x8F,0x78,0x73,0x0C,0x94,0xA9,0xD0,0x55,0x4E,0xF4,0x22,0xD2,0xB8, -0xFA,0xE0,0x6E,0x6F,0x93,0x91,0x52,0x54,0x9A,0xFF,0xBF,0xD9,0xCE,0x34,0x70,0x46, -0x1C,0xAF,0x8E,0xA7,0x8D,0x99,0x41,0x7D,0xC9,0xA0,0x01,0x2A,0xDC,0xFE,0xE7,0x23, -0xA2,0x76,0x94,0xDC,0x8A,0x52,0x2C,0x2C,0xFD,0x5F,0xDE,0xD1,0x2D,0x85,0x14,0xDA, -0x74,0xBA,0xA8,0x39,0x2D,0x02,0x6C,0xF1,0xB5,0x1A,0x56,0x2E,0x64,0xE2,0xF5,0x52, -0x12,0x7C,0x16,0x53,0xB7,0x58,0x2E,0x23,0xB0,0xEC,0x72,0x61,0x22,0xA3,0xED,0xA8, -0x0D,0x15,0xF9,0xE9,0x7A,0xB6,0xA8,0x98,0x21,0x6F,0x5D,0xFC,0xCB,0x10,0x86,0x09, -0xE5,0x89,0x81,0xD5,0x6B,0x12,0xB7,0x40,0xA0,0x5D,0xA9,0x27,0xE5,0x16,0xC7,0x89, -0x77,0x1C,0x67,0x06,0xEF,0x40,0xE6,0xBB,0xB7,0x3C,0x47,0x0D,0x7A,0xF0,0x19,0x11, -0x38,0xC9,0xD1,0x72,0x48,0x10,0xA6,0x66,0xA4,0x0F,0x62,0x1F,0x29,0x4E,0x46,0xE2, -0x1F,0x09,0x41,0x98,0xE8,0x8B,0x8B,0xEA,0x3D,0xA5,0x5E,0x9C,0xBA,0x70,0xE3,0x5C, -0x8C,0x4D,0x35,0x82,0xC7,0x92,0xAC,0xD6,0x89,0xCC,0x9A,0xCB,0xB1,0x9D,0x48,0x16, -0x37,0x31,0xF2,0x49,0xBD,0x44,0x34,0x68,0x91,0x0E,0x10,0xE2,0x7F,0x8D,0x99,0x0E, -0x0B,0x9B,0x71,0xD0,0x63,0x4A,0x22,0xFA,0xAC,0x0C,0x1F,0xE8,0xD7,0xA1,0xD5,0xF2, -0x25,0xDD,0xB1,0x57,0x4B,0xD1,0x17,0x26,0x62,0xB0,0x4F,0xB1,0x46,0x38,0xCC,0x78, -0x21,0x93,0x0C,0x73,0xEA,0x8F,0x39,0x1D,0xF9,0x6C,0x7A,0x99,0x56,0x07,0x4D,0xAE, -0xDE,0xD4,0x05,0x66,0x55,0x92,0xFB,0x34,0x9C,0xA6,0xED,0x8B,0x30,0x7B,0xBD,0x0B, -0x73,0xA2,0xE8,0x3D,0x54,0xE5,0x5F,0xDB,0x10,0x96,0xB6,0xBE,0xD3,0x1B,0x82,0x8E, -0x64,0xC5,0x4B,0x11,0x1E,0x39,0x3C,0x42,0x7C,0xA3,0x66,0xB9,0xE7,0x53,0x7F,0x91, -0x18,0xB2,0x6F,0xD8,0xED,0xE3,0xE9,0x28,0xF3,0xA9,0xD6,0x3B,0x43,0x65,0x05,0x76, -0xEB,0x04,0x69,0x61,0x67,0x72,0x70,0x31,0x7A,0x50,0xD0,0x00,0x5F,0x40,0xB2,0xBB, -0x77,0xEC,0x55,0x19,0x20,0xFF,0xCC,0x9F,0xBD,0x13,0xC7,0x4C,0xF6,0x8B,0x60,0x35, -0x4E,0xCD,0x36,0xB2,0x39,0xD0,0xF0,0xB8,0x8D,0xB9,0x35,0x2F,0x97,0xA6,0xFD,0x5B, -0x36,0xF4,0xAF,0x5F,0xE1,0xC5,0x92,0xF0,0xEF,0x1E,0xF3,0xF6,0xCD,0x32,0x91,0x86, -0x0F,0xD5,0xCC,0xF4,0xD7,0x1D,0x4B,0x3E,0x9E,0x02,0xE1,0x4E,0xB0,0x3A,0xBB,0x25, -0x6F,0xB0,0x99,0x85,0x18,0x22,0x48,0x98,0x4F,0x33,0x7F,0x6D,0x2D,0xB9,0x94,0xB4, -0x43,0xF9,0x64,0x08,0x28,0xE1,0xE5,0x8C,0xC1,0xA7,0x28,0x9D,0x1A,0x1A,0x53,0x1C, -0x30,0xB5,0x2F,0x71,0x62,0x3D,0x86,0x15,0xA6,0xC9,0xB3,0x4A,0x15,0xEB,0x5F,0xB0, -0x88,0xAB,0x5C,0x0C,0x51,0xAA,0xA9,0xFF,0x9D,0x38,0x0A,0xF9,0x6A,0xEF,0xD1,0xD6, -0x62,0x84,0xCB,0x3F,0x6B,0x54,0x0B,0xE9,0x7D,0x3D,0x81,0xCB,0x81,0x2F,0x8F,0x34, -0xDC,0xDB,0x38,0x6C,0x79,0x31,0x9C,0x23,0xB5,0x72,0x67,0x2B,0x9F,0x06,0x9C,0x3C, -0x03,0x24,0xC3,0x58,0x88,0xC8,0x6F,0x58,0xCE,0xAB,0xD9,0x31,0x98,0x57,0xF1,0xF7, -0xE1,0xB4,0xE6,0xE3,0x02,0x59,0xF6,0x41,0x17,0xFB,0xE7,0x75,0xA0,0x05,0x3A,0xF3, -0x01,0x2B,0xFE,0x52,0x70,0x58,0x11,0xDF,0xA1,0xA4,0xE2,0x81,0xE0,0x02,0x12,0x5A, -0x5E,0x2E,0x48,0xA6,0xDA,0x4C,0x94,0x09,0xA7,0x57,0x54,0x38,0x78,0xDC,0xF4,0xC5, -0x4A,0x83,0x8B,0x96,0xF1,0x83,0x23,0x2B,0x95,0x59,0xAA,0x9E,0xE4,0xB8,0x45,0x26, -0x9A,0x47,0x1F,0x12,0xDF,0x03,0x62,0x2D,0x14,0xC1,0x0C,0xC2,0xFD,0xC0,0x3B,0xE5, -0xBF,0x74,0x0D,0x01,0x8C,0xF0,0x3D,0x93,0x60,0x14,0x43,0x74,0x5A,0x1D,0x7B,0xB5, -0x83,0xDE,0x8E,0x98,0x1F,0x4E,0x98,0xAD,0x8A,0xD4,0x64,0xE4,0xFA,0x91,0x56,0x2E, -0x47,0xB7,0xD9,0x2C,0x14,0x04,0x33,0x40,0x90,0x90,0xF7,0x90,0xD5,0xAD,0x71,0x37, -0x8B,0x61,0x3C,0x10,0xC1,0x40,0x8E,0x3F,0x2B,0x67,0x0F,0x0D,0x3F,0x8A,0xB1,0xA7, -0xAF,0x97,0x73,0x15,0x87,0xBA,0x96,0x7E,0x41,0xA1,0x69,0xB3,0xA5,0x58,0xF3,0xFD, -0x80,0x14,0xEE,0x84,0x6E,0x1B,0xFD,0xCD,0xFB,0xC8,0x76,0x5C,0x68,0xE3,0x75,0x13, -0x74,0x26,0x35,0x05,0x40,0x9B,0xBC,0xCB,0xC7,0x54,0x9E,0x24,0x79,0x3B,0x6A,0xB7, -0x4C,0xC2,0x0B,0xB8,0x5E,0xD8,0x50,0xD9,0x57,0xD3,0xE0,0xDC,0x32,0x77,0x19,0xCE, -0xCF,0xF2,0x26,0x64,0x1B,0x76,0xCA,0x66,0xA8,0x5B,0xA5,0x94,0xDE,0xE6,0x2A,0xE7, -0x17,0x89,0x00,0x68,0xAF,0x21,0xA3,0xA2,0x75,0x5C,0x21,0xAC,0x6E,0x55,0x86,0xAA, -0x9E,0x09,0xA2,0x36,0xD2,0x52,0xBD,0x1A,0xBF,0xB7,0xCB,0x89,0x1E,0xA0,0x04,0x60, -0x49,0x49,0xEB,0x8A,0xD5,0x3E,0x6D,0x2F,0xCF,0x35,0x3E,0x43,0x8C,0xD2,0x27,0x5D, -0xE3,0xBB,0xDB,0xE9,0x42,0xB8,0x9A,0xDA,0x86,0xE2,0x7E,0xFF,0x51,0x56,0x20,0x65, -0x7C,0x99,0x87,0x8D,0xA1,0x24,0xFE,0x6B,0x37,0xD0,0x2A,0xC0,0x85,0x95,0xD8,0x48, -0xE4,0x3F,0x06,0xD1,0xEE,0xB7,0x6B,0xD6,0x29,0xC3,0x03,0xC8,0x53,0x5A,0x84,0xA0, -0xD7,0xAE,0xEA,0xF8,0x44,0xA3,0xEE,0x00,0x07,0x7A,0xD8,0xA3,0x27,0x15,0x51,0x16, -0xE5,0xFA,0x5B,0xC7,0xA5,0x1C,0xAC,0xA0,0x63,0x2E,0xA8,0xC3,0xA9,0x42,0xC5,0xE6, -0x1B,0x78,0x0F,0xC4,0x04,0x42,0x82,0x9B,0xB6,0x48,0x8C,0x9C,0x9A,0x5B,0x55,0x32, -0xD2,0x25,0x0A,0xCA,0x9B,0xDA,0x5C,0x7D,0xAD,0x92,0xF8,0x9A,0x66,0xF5,0xE7,0xCD, -0x6D,0xBF,0xA4,0x8F,0x53,0x89,0x8F,0xEE,0x2C,0x0A,0x5E,0xC6,0xAB,0x4E,0x61,0x23, -0x3C,0x44,0x20,0xDD,0xA8,0x4D,0x73,0x97,0xDC,0x8E,0xEA,0x22,0x5D,0x4C,0x16,0x7E, -0x24,0x18,0xEC,0x41,0x7F,0x2A,0xE8,0xF9,0xC0,0x39,0xCF,0xEF,0xF1,0xDA,0x0D,0xFE, -0x2C,0xA7,0x5E,0xC9,0xA4,0x6B,0x08,0x4F,0xE9,0xED,0x45,0x4F,0x61,0xA4,0x8A,0x06, -0x8D,0x20,0xBC,0x3E,0xE0,0xB2,0x36,0x1F,0x74,0xC2,0xC6,0xDE,0x7E,0x6A,0x07,0x7C, -0x22,0x59,0x6C,0x6F,0x2D,0xAE,0x13,0xA8,0x18,0xF7,0x16,0xD9,0xC2,0xC3,0x9D,0x2A, -0x6E,0x75,0xC4,0x93,0xA2,0x70,0x7C,0x95,0xB3,0x81,0xD1,0x92,0xB4,0x80,0xEC,0x59, -0xE8,0xCE,0x09,0x7D,0xD4,0x49,0xC9,0xC0,0x82,0xB5,0xC4,0x83,0x50,0xB1,0xBE,0x17, -0x85,0x9F,0x0E,0xB6,0x33,0xED,0xFF,0xBA,0x34,0xEA,0xC1,0x77,0x6D,0xBE,0xBC,0x1D, -0xCE,0x37,0x7B,0x72,0xFB,0xBE,0x2C,0x29,0x01,0x89,0x6E,0x1A,0x11,0x51,0x08,0xCC, -0xAE,0x52,0x2E,0x03,0x56,0xC6,0x79,0xCA,0x3A,0x78,0xD7,0xA9,0xF5,0x60,0x5A,0x82, -0xB3,0x85,0x02,0xAD,0x97,0xFC,0x27,0xA5,0x19,0x69,0xF1,0xAB,0x67,0x12,0x79,0xBF, -0xF6,0xD3,0x45,0xCF,0x95,0xDF,0x01,0xB4,0x16,0x65,0x00,0x07,0x25,0x19,0xF5,0xD3, -0x63,0x41,0x96,0x29,0x45,0xD4,0x4A,0xEF,0x94,0xC7,0x4D,0xEC,0xBB,0x71,0xE0,0xF5, -0xB6,0x0E,0xE2,0x9F,0xDB,0x3B,0x30,0xE6,0xF4,0xC4,0x87,0xF0,0x28,0xE4,0x5D,0xBA, -0x52,0xDF,0x47,0x0A,0x4D,0xCA,0x63,0xFC,0x23,0x06,0xAF,0x6A,0xF7,0x6C,0xFE,0x47, -0x46,0x72,0x84,0x3A,0x69,0x77,0x2D,0xF8,0xDD,0x10,0x0D,0x50,0x80,0xC8,0x11,0x46, -0x32,0xBA,0x12,0x7B,0x30,0xB9,0x7D,0x44,0x08,0x76,0x29,0x0F,0x88,0x68,0x70,0x21, -0xAC,0x5D,0x13,0x09,0xFC,0xD2,0xFC,0x1C,0xC9,0xC6,0x88,0xFA,0x93,0x1C,0xAA,0x27, -0xDD,0x1E,0x65,0x7A,0xEB,0xF8,0x9D,0xF2,0xD6,0x4B,0x46,0x80,0x33,0x90,0x87,0xBC, -0x75,0x5A,0xB3,0xB0,0x7D,0x59,0x49,0xB9,0x4E,0xA5,0xD7,0x60,0x52,0xAD,0x12,0xF2, -0xA8,0x0A,0xF3,0x17,0xCB,0x2D,0x9C,0xF6,0xBD,0x1B,0x88,0x33,0x40,0xBE,0x37,0xC1, -0x24,0x91,0xDE,0xB7,0x5B,0xC7,0x5C,0xD1,0x03,0x25,0x2D,0xA0,0xC3,0x27,0x0B,0x6B, -0x18,0x88,0xF9,0x98,0x2F,0xDD,0x18,0x42,0x49,0xC8,0x86,0xAB,0x94,0x93,0xCF,0x02, -0x3F,0x18,0x39,0x72,0xB2,0x66,0xEF,0xBA,0x0D,0xB7,0x3B,0x7E,0x71,0xAF,0x03,0xD4, -0xED,0x42,0x7B,0xE8,0x0C,0x0C,0x29,0xDC,0xF7,0xF6,0x23,0x38,0x3E,0xAA,0x27,0x22, -0x56,0xAC,0xFD,0x25,0xE3,0xB6,0x40,0xC3,0x56,0x45,0x48,0xD1,0xA3,0x3B,0x08,0xA1, -0x8E,0x08,0xE2,0x34,0x9B,0x8A,0xDC,0x2B,0xD6,0x43,0x09,0xFF,0x78,0xBA,0xFC,0x93, -0x5A,0x69,0x59,0x27,0x46,0xD0,0xB0,0xBF,0xE7,0x77,0x1C,0xEE,0x11,0xB3,0x00,0x1E, -0x9A,0x8B,0x07,0xCC,0x74,0x30,0xB5,0x34,0x19,0x61,0xBE,0xD4,0x86,0x80,0xEA,0x31, -0xB3,0x83,0x14,0xD2,0x94,0xF8,0xFA,0xD2,0x7C,0xAB,0x29,0xC6,0x75,0xD3,0x54,0x6E, -0xE2,0x48,0x79,0xD5,0x8E,0x83,0x23,0x6C,0x85,0xD0,0xDA,0x37,0x8E,0xE7,0x8B,0x91, -0xB0,0x4C,0xB2,0xED,0xCA,0x5A,0x73,0x52,0x14,0xC9,0x43,0xBD,0xAB,0x5C,0x69,0x01, -0xB7,0xE5,0x9A,0xAD,0x3E,0xEC,0x2C,0x57,0x15,0x57,0xA4,0xCF,0xB3,0xED,0x89,0x9E, -0x69,0x7A,0x7C,0x35,0x87,0xEA,0xDF,0xE1,0x01,0x81,0x21,0x65,0x05,0x19,0xD6,0x9B, -0x0D,0x99,0xCD,0xA9,0x21,0xD8,0xD1,0x1F,0xCE,0xA3,0x96,0x4E,0xC6,0x29,0xC2,0x36, -0xF5,0x04,0x3A,0x12,0xBF,0x37,0xD8,0x65,0x3F,0xB9,0xC5,0xD8,0x24,0xDE,0x63,0xB1, -0x3E,0x8A,0xE8,0xBB,0xF3,0xF0,0x9B,0x72,0xB2,0x17,0x79,0x9F,0x18,0xA6,0xFF,0x59, -0x13,0xE4,0x75,0xDA,0x90,0xC0,0x31,0x80,0x9D,0x30,0x45,0x86,0x7B,0x0D,0xC6,0x78, -0x87,0x39,0x19,0x80,0x49,0xA2,0x96,0x46,0x88,0x78,0x27,0x5E,0xE2,0xE0,0xBE,0x41, -0x8F,0x9A,0x33,0xFD,0xF1,0xD3,0x8A,0x54,0x50,0xB6,0xFE,0x68,0x81,0x4B,0x87,0x60, -0x0C,0x0B,0x1C,0x60,0xD2,0x02,0xBB,0xCA,0x6F,0x10,0xFD,0xA7,0xD4,0x3A,0xE7,0x05, -0xAF,0xA3,0xDB,0x57,0x22,0x8C,0x2F,0x9D,0xAC,0x04,0x50,0x97,0x29,0xB7,0xCB,0x4C, -0x5E,0x0F,0xD7,0x58,0xF5,0xEB,0x41,0x06,0x70,0x9D,0x33,0xDD,0x62,0xCE,0xB8,0x00, -0x38,0xB1,0x11,0x32,0x5D,0xDC,0x86,0xA5,0x09,0xE0,0x81,0x02,0xBF,0xF6,0xBF,0x84, -0x14,0x4D,0x5D,0x9A,0x57,0xE1,0x84,0xAA,0x07,0x72,0x97,0xDC,0x3C,0x6F,0x83,0x2E, -0x8D,0xC7,0x44,0x0B,0x0E,0x2F,0x38,0xFA,0x9C,0xAE,0xA2,0xF4,0xFC,0xE8,0xAD,0x68, -0xB2,0x11,0xC5,0x1B,0x26,0xB4,0xE4,0xCF,0xC2,0x95,0x8C,0x55,0x41,0xCC,0xA9,0x26, -0xCE,0xB4,0x35,0x7D,0x34,0xD1,0x2E,0x58,0xDF,0xBC,0x4E,0xEA,0x48,0xD9,0x56,0x61, -0xAE,0x31,0x0A,0x9E,0x01,0x5D,0x1E,0x03,0xA8,0x53,0xEA,0xEB,0xA5,0x82,0xFB,0x17, -0xE6,0x2E,0xF7,0xAA,0x06,0x31,0x2B,0xD3,0x74,0xCA,0x89,0xA1,0x06,0xAE,0xEC,0x70, -0xD0,0xC9,0x8D,0x0E,0x84,0xBE,0x21,0x63,0xAE,0xA0,0x5C,0x52,0x22,0x67,0x90,0x07, -0xAC,0x6C,0x7D,0x68,0xB8,0x5B,0xED,0xB5,0x92,0x3C,0xB4,0x2A,0x08,0x70,0x7E,0x66, -0xC4,0x4A,0x68,0xF6,0x53,0xD9,0x4F,0xF8,0x99,0x67,0xFF,0xFA,0xDB,0x96,0xEB,0xF4, -0x51,0x05,0xD5,0x65,0x4F,0xB9,0x4C,0x32,0x76,0x6E,0x85,0x64,0xAF,0x20,0x3E,0xBB, -0xD9,0xF8,0x76,0xBA,0xD5,0x6E,0x8E,0x1A,0x87,0x74,0xD6,0xF2,0x0A,0xB5,0xDA,0x6A, -0x7D,0xF9,0x99,0xCD,0xEF,0x90,0x98,0xB8,0x3A,0x70,0x98,0xD6,0xC9,0x85,0xCE,0xC7, -0xDD,0x9E,0xF8,0xC5,0xB0,0x45,0xFE,0x9C,0xF4,0xCC,0xC8,0x8F,0x5F,0xC4,0xBA,0x0F, -0xA9,0x98,0x22,0xDE,0x45,0x84,0x4E,0x3D,0x9F,0x94,0x49,0x43,0x5E,0xB6,0x24,0xE8, -0x25,0x03,0x0F,0x7E,0x3F,0x9B,0xC3,0xF3,0xB5,0x7A,0x28,0x54,0x28,0xC5,0x55,0xAB, -0xDF,0xC3,0x8F,0x33,0x61,0x39,0x4A,0x73,0xFF,0x97,0x83,0x5F,0xF1,0x81,0x05,0x95, -0x76,0x95,0x15,0x8F,0x66,0x55,0x7F,0xA3,0xE3,0x20,0xA6,0x92,0x21,0xD0,0xAA,0xEC, -0x35,0xE6,0x64,0xF9,0x2D,0xFE,0x09,0x64,0x3D,0x1D,0xC9,0x1D,0x89,0x2C,0xE6,0xC0, -0x04,0xA8,0x36,0x1D,0x3C,0xCF,0x3D,0x71,0x04,0x48,0x7C,0x6B,0x44,0xC2,0x60,0x7B, -0x0B,0xA2,0x34,0x20,0xC8,0x79,0x62,0x74,0xA0,0x32,0x4A,0x8C,0x43,0x09,0x0D,0x2A, -0xE4,0x73,0x80,0x5C,0xA5,0x4C,0x01,0xDB,0xF3,0xA1,0x99,0x44,0x36,0xCD,0x46,0x82, -0xD5,0x3D,0xD2,0xB8,0x16,0x77,0xF0,0x62,0x8B,0x42,0xCC,0xE9,0x63,0xBC,0x26,0xE7, -0xA7,0x00,0xF1,0x2A,0x14,0x54,0xE1,0x44,0xB1,0x2D,0x92,0x28,0x4F,0x12,0x3B,0x30, -0xA0,0xA9,0xD9,0x6A,0x1C,0x4A,0xF2,0x6D,0xEE,0x88,0x5B,0xFB,0xA7,0x47,0x5F,0x1B, -0xF7,0x59,0x4D,0xE4,0x7C,0x2E,0xA6,0x1D,0x51,0x28,0x19,0x1A,0x16,0x78,0x6D,0x4F, -0xEE,0x8D,0xDD,0xD7,0x23,0xFB,0xC0,0x39,0x0F,0x13,0x37,0xBB,0x42,0x7B,0x93,0xCD, -0x40,0x72,0x6F,0x2B,0x25,0xE0,0x1A,0x4D,0x97,0xF5,0xE9,0x24,0x47,0x75,0x5A,0x90, -0xFB,0x9C,0xE9,0xE6,0x79,0x61,0x82,0xEB,0xC4,0x66,0x3A,0xEC,0xE9,0x30,0xE5,0x0A, -0xF9,0xC1,0x9E,0x10,0x9D,0x91,0x06,0x5F,0x00,0x1F,0xC6,0x17,0x6D,0x62,0xB4,0xF1, -0x6F,0x41,0x85,0xBC,0x50,0x8D,0xB1,0x7A,0x67,0x71,0x5D,0xC0,0xA1,0xFE,0xAC,0xAD, -0x11,0xB9,0x02,0x2C,0xF0,0xA4,0x65,0xF0,0x26,0xC7,0xBD,0x1B,0x13,0x76,0xA4,0x12, -0xC2,0x71,0x91,0x7F,0x63,0x1A,0x5B,0x55,0x95,0x51,0xE5,0xE1,0x46,0x07,0xC4,0x77, -0x53,0x58,0xA2,0x93,0x2B,0xE5,0xD3,0x10,0x3B,0xEE,0x7F,0xA4,0x6B,0xDB,0x47,0x47, -0xE0,0x15,0x0E,0x23,0x13,0x38,0xD4,0x94,0x6C,0x2A,0x16,0x10,0x4D,0xD7,0x9F,0x3C, -0x15,0xDF,0x8C,0x53,0x36,0xF2,0x3F,0x7E,0x1F,0x92,0x08,0x6D,0xEF,0x89,0x16,0xBC, -0x67,0xE2,0xAF,0xC1,0xFC,0x82,0xBD,0x8B,0x73,0xA7,0xD8,0x6A,0xA6,0x35,0xC1,0xFC, -0xE3,0xDA,0xA8,0x1C,0x40,0xCB,0x6A,0xCB,0xF5,0x52,0x2F,0xFD,0x96,0x56,0x6B,0x0E, -0x20,0xF7,0x50,0xC8,0x7F,0x7A,0x58,0x9F,0x69,0xE3,0x4B,0x1E,0xCA,0x32,0xF4,0x2C, -0xEF,0x1F,0x0C,0x1E,0x77,0x64,0x4B,0xB6,0xFA,0x5E,0xDE,0x51,0x4B,0x6E,0x6C,0x8A, -0x44,0xBF,0x0E,0x63,0xF6,0xEB,0x69,0xA5,0x69,0xCB,0xE8,0x1D,0x5C,0x70,0xA8,0x47, -0x3A,0x47,0x89,0xF3,0x56,0xC2,0xBD,0x2F,0x28,0x7D,0x08,0xC6,0xEE,0xF8,0xA0,0xF8, -0xAC,0xC7,0x92,0x5F,0x9B,0xDE,0x0A,0x0A,0x4F,0x13,0x93,0x11,0x22,0x64,0xB8,0xA4, -0xAE,0x9A,0xE5,0xA9,0x7F,0x2E,0x8E,0xBE,0x8B,0x6A,0x6F,0xEA,0xA6,0x36,0xE9,0x5F, -0x15,0x74,0x63,0x64,0x23,0xAF,0x16,0x18,0xD8,0xF9,0xBC,0x22,0x08,0x73,0x56,0xC5, -0xBB,0x8B,0xD1,0x98,0x25,0xB4,0xCC,0x6C,0x40,0x1F,0x62,0xBD,0x0D,0x7D,0x9F,0x98, -0xA2,0x5F,0x41,0xAB,0x7A,0x61,0xAA,0x48,0x1E,0x24,0x4C,0x1C,0x59,0x7E,0x61,0x1A, -0xF5,0xAF,0xD5,0x25,0x1A,0x05,0xFE,0x38,0xA1,0x84,0x0E,0xFD,0xE8,0x41,0x53,0x4E, -0xBA,0x19,0x00,0x51,0x71,0x2B,0x47,0xE3,0xB5,0x52,0x8B,0x57,0x04,0x68,0x60,0xDF, -0x75,0xF1,0x5C,0x87,0x79,0x35,0x54,0xCA,0x26,0xEF,0x1E,0x18,0x85,0x34,0xF8,0x79, -0xB6,0xDC,0xA4,0x53,0x46,0x84,0x66,0x9E,0xBA,0x5E,0x7A,0xFB,0xD9,0x50,0x67,0x5B, -0x32,0xE4,0xA3,0x8E,0xFA,0xCD,0xB1,0xDE,0x3C,0xAB,0x8D,0x6C,0xE9,0x33,0xCD,0xA9, -0x40,0xD9,0x80,0x1C,0x30,0xBD,0x33,0x2B,0x50,0x9E,0x5D,0x6B,0xA0,0x8F,0x1A,0xE9, -0xB5,0x13,0x02,0x6C,0x15,0x77,0xD8,0xC1,0x23,0x26,0x43,0x16,0x02,0xD1,0x93,0x69, -0x06,0x5E,0xAE,0xDC,0x2D,0xAA,0xDF,0x45,0x74,0xE2,0x2A,0xA2,0x24,0xDD,0x4B,0x12, -0x97,0x77,0x9D,0x30,0x65,0x55,0x57,0x00,0xDA,0x5D,0xB0,0xE7,0x09,0x01,0xC8,0x22, -0x70,0x05,0x03,0x31,0x39,0xD4,0xCF,0xA6,0xFA,0x76,0x7D,0x52,0x67,0xC3,0x59,0xFE, -0xFC,0x9E,0x2E,0x91,0x43,0xCB,0x42,0x68,0xD0,0x98,0x1C,0x45,0x11,0xB0,0x28,0xBD, -0x88,0x98,0xF4,0x8A,0xB6,0x0A,0xF2,0xC9,0xBB,0xC0,0x9D,0x89,0x10,0xC2,0xB6,0x5A, -0x28,0xFF,0x95,0x82,0xE9,0xDF,0x94,0xED,0x75,0x7C,0xCD,0xD0,0x86,0x83,0xC2,0x92, -0x8C,0xFE,0x7A,0xF5,0xD3,0x21,0x82,0x4F,0xC8,0x78,0x83,0xF4,0x45,0xB3,0xD6,0x3F, -0x04,0x03,0xD9,0x2A,0x49,0xF6,0x40,0x67,0x39,0x62,0xD0,0x62,0xE0,0x26,0x32,0xEE, -0x91,0x4C,0x64,0xB9,0x55,0x96,0x43,0xAD,0xD6,0x6B,0xAA,0xFC,0x94,0x90,0xE7,0xA1, -0xF9,0x6A,0x71,0x27,0xBE,0x14,0xE1,0xE0,0xDD,0x30,0xE1,0x2C,0x47,0x76,0x72,0x33, -0xF2,0x06,0xFD,0x65,0x12,0x1B,0xED,0x11,0xFE,0x21,0xC7,0x2E,0x00,0x14,0x37,0x65, -0x80,0x3B,0xDE,0xF7,0x10,0x38,0xFC,0x37,0xC4,0x4E,0x99,0xEF,0x2C,0xBA,0x2A,0xB2, -0xB1,0x75,0x8C,0x13,0xA3,0x03,0x0D,0x8E,0xBC,0xAD,0xCC,0x42,0x79,0xCB,0x4A,0xD7, -0x5E,0xA4,0x38,0x6F,0xCE,0x36,0x6E,0x21,0xEF,0x3E,0x1F,0x8A,0x0C,0x0F,0x01,0x7F, -0x51,0xAE,0x3A,0x52,0x3A,0x80,0x31,0x24,0x4B,0x44,0x29,0x6D,0x0B,0xC4,0x6C,0x2E, -0x60,0xE0,0x68,0xB6,0x2B,0xB1,0x05,0x31,0x72,0x11,0x9C,0x1B,0xC6,0x2A,0xEA,0x95, -0x23,0x93,0x19,0xC0,0x60,0x1A,0x73,0xF6,0xAC,0x2C,0xF3,0x94,0x6E,0xD6,0xA6,0xB9, -0x8A,0xC5,0x83,0x7C,0x67,0x76,0x46,0x26,0xB0,0x9B,0xD6,0x59,0xBE,0x87,0x09,0xC0, -0x0B,0x09,0xDB,0x17,0xF3,0xA4,0x4D,0x53,0x3F,0x91,0x66,0xDB,0x2D,0xC8,0xB4,0x55, -0xFA,0xA5,0xD7,0x18,0x24,0xC3,0x23,0xC8,0xE3,0x08,0x05,0x91,0x66,0xB1,0xC7,0x19, -0x59,0x0D,0x10,0x2F,0xD4,0x4D,0xB7,0x9F,0x20,0x1C,0xA8,0xA1,0x9B,0x3C,0xEB,0x50, -0xDA,0x9C,0x3F,0xB2,0xF7,0x9C,0x86,0x01,0x1F,0xBA,0xAB,0x6E,0xCE,0x4D,0x8B,0x35, -0xD2,0x3F,0x15,0xCF,0x4F,0xED,0x9A,0x13,0xC7,0x74,0x72,0x58,0xAD,0xE6,0xB2,0x14, -0x46,0xE2,0x79,0x95,0x96,0x8F,0x3D,0xD5,0xD2,0x3C,0x10,0x80,0x34,0x0B,0xCA,0x2D, -0x6B,0x8C,0xE4,0xF4,0xF5,0xBF,0x97,0x27,0xFD,0x1B,0x2C,0x99,0x57,0xA0,0xF3,0x0C, -0xA0,0x02,0x36,0x5D,0xB9,0x78,0xD4,0x30,0x70,0xB5,0x90,0xDE,0x6B,0xD8,0x6F,0xE4, -0x85,0xCF,0x81,0x41,0x82,0xF1,0x2D,0x36,0xE1,0xAC,0x09,0x54,0x6D,0x61,0x9C,0x52, -0xB3,0x28,0xFB,0xE5,0x00,0x7E,0x27,0x86,0x3B,0xC6,0xDC,0xA7,0x49,0xA8,0xE0,0x25, -0xFB,0x37,0x06,0xD1,0x07,0x12,0x12,0x56,0xE7,0x5F,0xBF,0xED,0xEA,0x84,0xF7,0x42, -0x9B,0xB2,0x39,0x32,0x32,0x9E,0x22,0x0D,0x90,0xB0,0x1B,0xEC,0x07,0xDF,0x5A,0x34, -0xE7,0x17,0xC9,0x54,0x20,0xFB,0xE8,0x9A,0x8D,0x99,0xD9,0x53,0x0E,0xCA,0xA5,0x73, -0xD8,0xC1,0x48,0x44,0x08,0x60,0x34,0xAF,0xD3,0xA2,0xF7,0xF2,0xB3,0xEE,0xA1,0x3D, -0x41,0x4B,0x51,0xD5,0x51,0xAE,0x88,0xFF,0x48,0x7E,0xC2,0xDA,0x73,0x69,0x8F,0x7B, -0x6D,0xB7,0x1D,0x7D,0x5B,0x93,0x8A,0xF0,0x46,0xEC,0xD4,0x04,0xF0,0xF0,0xB3,0xD1, -0xDB,0x0E,0xEE,0x7B,0x9D,0xC5,0xD0,0x7E,0x99,0x4F,0x5C,0xF9,0x37,0xBC,0xF0,0xC6, -0x03,0xAA,0xF1,0x6A,0xE5,0xF9,0x4C,0x96,0x19,0x49,0x1D,0xD7,0xEC,0x3D,0x04,0xF4, -0xB8,0x44,0x77,0xA7,0x0A,0x43,0x25,0x89,0xB8,0xFA,0x76,0x3E,0x71,0xAC,0x2B,0x77, -0x6A,0x1E,0x35,0x3D,0xB4,0x29,0xE3,0xEF,0x42,0xBB,0x6E,0x78,0x3E,0xA9,0x0F,0x81, -0x4D,0x8E,0xF5,0xD7,0x29,0x92,0x14,0x17,0x06,0xC4,0xD3,0xAD,0xDB,0x95,0xC3,0x57, -0x71,0x97,0xD2,0xF8,0x5D,0x88,0x50,0x84,0x4C,0x29,0x78,0xA6,0x8C,0x21,0x07,0x3E, -0xFD,0x0C,0xFF,0x58,0xCD,0x62,0x90,0xA3,0xF2,0x17,0xDD,0x35,0x0F,0xB8,0x3B,0x94, -0x20,0x5C,0xBF,0xFF,0x7B,0x16,0x45,0xEC,0x01,0xA9,0x82,0x66,0x1D,0xAB,0x1E,0xA7, -0x58,0x9F,0xC1,0xE6,0x27,0x97,0xDD,0x4A,0x81,0xAF,0xC3,0x48,0x89,0x2F,0xCE,0x63, -0x3C,0x7C,0x70,0x7A,0x81,0xA5,0xD3,0xB4,0x4E,0x8D,0x74,0x63,0x4A,0x1F,0xDA,0xCE, -0xE2,0xE3,0x96,0xE2,0x38,0xA3,0x20,0x02,0x5A,0x5B,0xF1,0xC9,0xFC,0xEB,0x85,0xCB, -0xE5,0x4A,0xBE,0xA2,0xCC,0x15,0x7F,0x07,0x5B,0xC5,0x16,0xBB,0xE4,0x5A,0x65,0x54, -0xB7,0x4E,0x75,0x9A,0x88,0xCC,0x2F,0x39,0xCA,0xDC,0x8F,0x31,0xC1,0xE1,0x87,0xC4, -0xE6,0x85,0x18,0x9D,0x92,0xB7,0xF6,0x87,0x33,0xA7,0x7C,0xC0,0x3A,0xD5,0x58,0x3B, -0xCF,0x8D,0x0B,0x83,0x72,0x7F,0xB9,0x61,0x56,0x6D,0xEB,0xD2,0xC9,0x86,0xE6,0x64, -0x0F,0x6F,0x55,0x68,0x40,0x9F,0xBC,0xEA,0xA8,0x7B,0x49,0xE8,0x5E,0xB5,0x0C,0x4B, -0x01,0x42,0x0F,0x0B,0xBA,0xC8,0xDB,0x2C,0x04,0x32,0x0B,0x40,0xB8,0xEE,0xBF,0x4C, -0xFC,0xE1,0xD0,0x83,0x78,0xE0,0x0C,0xB6,0x57,0xC3,0x9D,0x5A,0x69,0x0A,0x1A,0xD9, -0xB3,0x5C,0x43,0x16,0x7B,0x2A,0x6C,0xAA,0x2D,0x2C,0x03,0x53,0x26,0xDF,0x6E,0x6F, -0x95,0x49,0xDD,0x7E,0xD9,0x67,0xEE,0x41,0x66,0x27,0xD3,0x08,0xB4,0x4A,0xBD,0x89, -0xFA,0x3B,0xCB,0xF7,0xF7,0x21,0x2E,0xC6,0xFA,0x00,0xAD,0x4E,0x79,0x61,0x9D,0x3C, -0x61,0x16,0x6B,0x7B,0x7A,0xEF,0x31,0xBC,0x9B,0x2A,0xBA,0xA0,0x3A,0x10,0xEB,0x4F, -0x67,0xCC,0x70,0x0F,0xCA,0x4E,0xF0,0x49,0x1A,0x41,0x76,0xF8,0xDD,0x8E,0xEA,0x3D, -0x00,0xAD,0x78,0xAF,0xAC,0x6A,0x25,0x16,0x4A,0x8F,0x2F,0x44,0x15,0xFA,0x7C,0x7C, -0x51,0x02,0xA8,0xD6,0x09,0xA3,0x7A,0xC5,0xAE,0xB1,0x92,0x7C,0xA9,0x54,0xF1,0x3B, -0x1F,0x50,0x4C,0xE7,0x3D,0xB6,0x4B,0xD4,0x1B,0x88,0xE4,0x29,0x12,0xD2,0x3C,0xD5, -0x6C,0x21,0x3A,0xA4,0x4B,0x71,0xE0,0x9F,0x74,0x56,0x6B,0x14,0x3E,0x9E,0x94,0x29, -0x3A,0xBB,0x86,0x0D,0x7E,0xA1,0x8C,0x98,0x51,0x4A,0xA6,0xA3,0x47,0x31,0x44,0x78, -0xF9,0xC5,0x9F,0x75,0xD5,0x96,0xE1,0xED,0x40,0x04,0xD1,0x19,0xE2,0x0F,0xFA,0xEB, -0xC4,0xE6,0x0D,0x07,0xC4,0xB0,0xC2,0xEF,0x1E,0x3E,0x10,0x76,0x35,0x12,0xD6,0x45, -0x8A,0xB4,0xE9,0x36,0x35,0x09,0xF9,0x5C,0x4B,0x46,0xBD,0x95,0x50,0x72,0x83,0x34, -0x5B,0x00,0x95,0xD9,0x56,0xA6,0xCC,0x31,0x98,0x15,0x75,0x06,0xF8,0x39,0xF6,0xF0, -0x8B,0x5B,0x9E,0x92,0x2E,0x9F,0x55,0xDC,0x3B,0x22,0xDD,0xC1,0x42,0x6E,0xF2,0x8C, -0x74,0xE9,0x62,0x3C,0xF4,0xEB,0x4E,0xDA,0xE5,0xBA,0x42,0x27,0x1F,0xA7,0xF7,0x82, -0xA0,0x79,0x51,0x25,0x92,0xCF,0x9B,0x85,0xCB,0xE4,0xE3,0x1C,0x9D,0x59,0xA3,0x81, -0x50,0xED,0xDF,0x72,0xC6,0xBF,0xFF,0xE5,0x89,0x5B,0x02,0xBC,0xC9,0x6B,0x12,0xBE, -0x40,0x36,0x99,0xC3,0x51,0x22,0x11,0x09,0x6F,0x93,0xE2,0xF3,0xC0,0x90,0xA6,0x8F, -0xB8,0xB1,0x09,0xBD,0x85,0xA8,0x38,0xA9,0x8F,0xD2,0x39,0x45,0x7F,0x98,0x14,0x07, -0x38,0xAA,0xA5,0x2B,0x32,0x8D,0x24,0x64,0x14,0xB5,0xEE,0x2B,0x23,0x80,0xD8,0x9B, -0x65,0xDD,0x53,0x29,0xB6,0x39,0xD4,0x80,0xE8,0x71,0x15,0x52,0xD8,0xD1,0x5C,0xC9, -0x26,0xB8,0xE6,0xC7,0x0B,0xAC,0x47,0xCF,0xDA,0xAA,0x94,0xA6,0x6E,0x22,0x5A,0x70, -0xEC,0x3A,0x96,0x32,0xE0,0x46,0x8D,0xEA,0xC4,0xD9,0xE9,0x1E,0xEE,0xAB,0xF8,0x2E, -0xA1,0x96,0x26,0x81,0xE7,0xC2,0x50,0xD2,0xAD,0x8E,0x5D,0xDA,0x95,0x73,0xDE,0x22, -0x88,0xA5,0xCA,0x10,0x6F,0x87,0xAF,0x9A,0x37,0x20,0x18,0x65,0xA5,0xF0,0xF3,0xFE, -0xE6,0x38,0xAB,0x3D,0x7F,0x64,0xD1,0x8E,0x0C,0x4F,0xA8,0x6A,0x58,0x58,0xFE,0x97, -0x0E,0x64,0x7D,0xF2,0x6C,0x4D,0xCF,0x86,0x99,0xDC,0xE7,0xD7,0xFE,0xC0,0x7F,0xCB, -0x23,0x9C,0xA9,0x31,0x5E,0x19,0x7E,0xB9,0xFD,0x40,0x04,0x66,0xDC,0x5F,0x23,0xAF, -0x1B,0x9B,0x74,0xB5,0x89,0x59,0x37,0x05,0x0A,0xC6,0x93,0x93,0x2E,0xF5,0x13,0xCC, -0x71,0xCD,0x2D,0xCA,0x2C,0x90,0x68,0xD6,0x54,0xFC,0x52,0xFC,0xD0,0xFB,0x21,0x6A, -0x68,0xEA,0x02,0xF6,0x68,0x03,0x72,0xA2,0xFF,0xB6,0x59,0x11,0xB9,0x3F,0x76,0xDE, -0xF3,0xC7,0xA2,0x7A,0xA8,0x24,0x98,0x32,0x5A,0x08,0xCA,0x2F,0x13,0x03,0xF5,0x47, -0xA3,0x87,0x05,0xA7,0x7D,0x6B,0xEC,0x84,0x05,0xFB,0x99,0x91,0x20,0x26,0xE7,0x54, -0xF1,0xD6,0x81,0x5C,0xE8,0xF9,0x3F,0x62,0xDB,0x63,0x06,0x77,0x41,0xC8,0xCD,0x43, -0x55,0xC9,0x90,0x84,0x74,0x11,0x03,0x1A,0x9A,0xE3,0x28,0x71,0x73,0x3C,0x16,0xC2, -0xBB,0x4F,0x5D,0x3F,0x1D,0x0E,0xB9,0xF5,0xF1,0x42,0xC1,0xC2,0xF0,0x13,0x8B,0x53, -0xE1,0x0D,0xC7,0xED,0xDB,0x68,0xD3,0x4B,0xE9,0xB8,0x87,0x83,0x06,0x37,0xC4,0x56, -0xB1,0x4D,0x60,0x30,0x17,0xBE,0x36,0x77,0x08,0x30,0xCE,0xE4,0x43,0xBF,0x3B,0x1E, -0x7A,0x20,0x67,0x61,0xCE,0x00,0x4D,0x6D,0xFB,0xC9,0x3F,0x9F,0xBC,0x60,0xC0,0x2A, -0x72,0x33,0x79,0x48,0x81,0xE6,0x85,0x8D,0x6C,0xAC,0x2D,0x55,0xE3,0xDE,0x33,0x79, -0x90,0x6D,0x92,0x88,0x84,0x6D,0x65,0xBF,0xCE,0x52,0x17,0x43,0xCC,0x34,0xA4,0x4A, -0x60,0xF9,0x1C,0xDF,0xE5,0xCD,0x6D,0xD8,0x44,0x7B,0xB7,0x97,0xE4,0xF6,0x73,0xD0, -0x83,0x48,0x80,0xBB,0xEB,0x33,0x5F,0x7E,0xF3,0xB4,0x9C,0xB5,0x49,0xE2,0xB0,0xE0, -0x1C,0xAE,0x18,0x65,0x18,0x85,0x59,0xC7,0x76,0xA0,0x36,0x63,0x4C,0xBD,0x06,0x14, -0xB5,0x86,0x58,0x62,0x47,0x80,0xEF,0x33,0x91,0xA1,0x44,0xFD,0xD3,0x5D,0x1E,0xA5, -0xC0,0x2D,0x35,0x55,0xA2,0x94,0x17,0xB0,0xF5,0x3D,0xA7,0x4C,0x93,0x8A,0x57,0x19, -0x1D,0x41,0x6F,0xC1,0x05,0x52,0x75,0x69,0x97,0x28,0x7F,0x04,0xAA,0xF2,0xCE,0xF4, -0x73,0xDC,0x0E,0xEC,0xAF,0xA0,0x45,0x0A,0xAB,0x07,0x66,0x23,0x8B,0xCB,0xAD,0x5F, -0xFD,0x0E,0xA7,0x27,0xEC,0xB7,0x82,0x46,0x17,0x8A,0x21,0x8D,0x63,0x57,0x91,0x27, -0xF6,0xE3,0xED,0x8C,0x75,0xD4,0x5E,0x0C,0xE1,0xC5,0x24,0xA9,0xD2,0x8C,0xD7,0x37, -0x5A,0xEF,0xE2,0x7D,0x1B,0x4F,0x39,0xDB,0x82,0x19,0x6E,0x30,0x9E,0xFF,0x9C,0x4E, -0xF2,0x28,0xD5,0xDE,0x8F,0x18,0xB7,0x2B,0x2F,0xDA,0x5E,0x24,0xD7,0xD3,0x61,0xC3, -0x63,0x07,0x48,0x5D,0xBE,0x86,0x66,0x08,0x2C,0xE5,0x91,0x82,0xB2,0xB3,0x34,0xB2, -0xE8,0xF1,0xAE,0x60,0xD0,0x1D,0x01,0xDF,0x5E,0x77,0xAC,0xA1,0xF4,0x9D,0xF4,0x35, -0x3E,0x70,0xBE,0x5F,0x0C,0x28,0x9A,0xF7,0x70,0x29,0x0D,0x9A,0xBA,0x99,0x49,0x11, -0xB4,0x69,0x2F,0xC6,0xB0,0x78,0x54,0xAE,0x45,0xB2,0x25,0x46,0xFC,0xB7,0x89,0x96, -0x48,0x25,0x87,0xEA,0xB2,0x77,0x69,0xA4,0x53,0xBC,0xFB,0xD4,0x56,0x8B,0x0A,0x0F, -0x30,0xB9,0xBB,0x02,0x15,0xB1,0x0B,0x7D,0x8E,0x1B,0xAB,0x94,0xD5,0xA4,0x97,0x9E, -0xD7,0xC3,0x1F,0x34,0x1F,0x01,0x84,0xFF,0x5B,0xC1,0x58,0xFE,0xA2,0xD8,0xB3,0x57, -0xC8,0x3E,0x2B,0x7C,0x2A,0xD1,0xE8,0xF8,0x38,0x1D,0x12,0x67,0xC5,0xCF,0x10,0x7B, -0x4D,0x01,0xC8,0x1C,0x1A,0x8A,0x64,0xCD,0x9C,0x6A,0x13,0x88,0xB3,0x62,0xFD,0x20, -0x5C,0x1B,0x39,0x74,0x13,0x13,0x99,0x3D,0x7C,0x10,0x4F,0x05,0xC4,0x74,0x02,0x53, -0x48,0xD8,0x94,0x44,0xDC,0x38,0x2E,0x1F,0xDA,0xEE,0x41,0x37,0x27,0xE8,0x66,0xE2, -0x17,0x6E,0x91,0xB0,0xC8,0x92,0xAB,0xC9,0x63,0x58,0xB2,0x31,0xB8,0x70,0xB8,0x04, -0xF7,0x76,0x0E,0x01,0xC9,0xE0,0x4C,0x57,0x97,0x5D,0xED,0x87,0x11,0x30,0xBF,0x2C, -0x15,0x53,0x9E,0xBA,0x58,0x6A,0xD5,0x4E,0xD3,0x63,0xBD,0x5E,0x15,0x08,0xED,0xE7, -0xCA,0xA8,0x61,0x8E,0xA1,0x9B,0x26,0x35,0xC9,0xDD,0x64,0x25,0xDE,0x0F,0xBC,0x8A, -0x74,0x5B,0x3E,0xDD,0xC4,0x89,0xB1,0xFF,0x29,0x3B,0x2B,0xED,0xD6,0x11,0x95,0x99, -0x9E,0xCC,0x11,0xEE,0x3A,0xB3,0x13,0xE9,0x1B,0xB0,0x2E,0x0D,0x34,0xFA,0x55,0xC7, -0x62,0xA5,0x9C,0xE7,0x0B,0xA2,0x06,0xDD,0xC6,0x24,0x42,0x57,0x55,0xE9,0x81,0x7C, -0x96,0x7E,0xAE,0x66,0x8B,0x8C,0x47,0xDB,0xBE,0xCC,0xDE,0x6B,0xF1,0xF8,0x59,0x63, -0xB9,0xE3,0x2D,0xF7,0x2A,0x65,0x2C,0x68,0x51,0xD3,0xB7,0xD1,0x1F,0x35,0xE2,0xE5, -0x9D,0xAC,0xDB,0xF2,0xD0,0x23,0x34,0x29,0xEF,0xB5,0x71,0xBB,0x45,0xAF,0x30,0xA7, -0x51,0x49,0x0D,0xCE,0x94,0xF6,0x89,0x56,0x72,0x4D,0x86,0x00,0xD5,0x45,0x17,0x67, -0x95,0x1E,0x64,0x7A,0xDE,0xFD,0x22,0xBB,0x06,0xDE,0xC2,0x1A,0xCC,0x6A,0x2B,0x40, -0xA9,0x9D,0xCE,0xE3,0x60,0x6E,0x87,0x85,0x96,0xF9,0x02,0xF0,0x57,0xCA,0xA7,0x6D, -0x8C,0x8F,0xFD,0xF0,0x93,0x3D,0xD8,0x3B,0x20,0xB6,0xD7,0x84,0x07,0x6D,0x7A,0x2D, -0x0E,0xFF,0x08,0x3A,0x73,0x0F,0x53,0x3E,0xD9,0x6C,0xBF,0x63,0x94,0xD3,0xDF,0x13, -0x72,0xDB,0x7F,0xF3,0xA9,0xFC,0x86,0x54,0x5B,0xDC,0xB5,0xEC,0x73,0x77,0xE9,0x69, -0x65,0x78,0x18,0xDF,0x75,0xB6,0xE5,0xCD,0x5C,0x0C,0x80,0x80,0x6C,0x43,0xA1,0x94, -0xC8,0x95,0x6E,0x84,0x02,0xB7,0x41,0x22,0x69,0x57,0xB0,0x0C,0xE9,0xA0,0xC1,0xAB, -0x37,0x9C,0x29,0x91,0x1F,0x08,0x83,0x0B,0x7B,0xC0,0x7A,0x69,0x4C,0xC6,0xBD,0x5B, -0x33,0x21,0x67,0xB5,0x41,0xA9,0xAD,0x30,0x53,0xF5,0xA6,0xF2,0x9A,0xD6,0x82,0xDA, -0x1D,0xE1,0x21,0x32,0xDA,0x81,0x98,0xEC,0x0A,0xA5,0x1A,0x3C,0x10,0x47,0x1B,0xC3, -0x21,0x62,0x8B,0xAB,0xD4,0x5F,0x8E,0x7E,0x00,0xAA,0x18,0x01,0xEC,0xEF,0x37,0x8F, -0x26,0xBF,0x0F,0x93,0xAD,0x80,0x3C,0x03,0xA8,0x09,0xDF,0x36,0x52,0x85,0x51,0x49, -0x55,0xF4,0x43,0xEA,0x71,0xCA,0x5F,0x9A,0x7F,0x92,0xB1,0x51,0xFE,0x8A,0xA0,0x45, -0x79,0x09,0x0A,0x67,0xB2,0xFA,0xF2,0x8E,0x8F,0xC5,0x25,0xDF,0x56,0xBD,0x03,0x82, -0x19,0x5C,0x6F,0x16,0x8D,0x35,0xF1,0x28,0xAC,0x5B,0x14,0x0E,0xC7,0x20,0x80,0xAD, -0x20,0x3F,0x4E,0xBD,0x55,0x03,0x28,0xE6,0x14,0x49,0x08,0x7F,0x64,0x5D,0x88,0x87, -0x58,0xA6,0x77,0x50,0x40,0xDB,0x4A,0xAE,0xCD,0x8F,0xAF,0x1D,0xB9,0x07,0x1C,0xEB, -0x61,0xC5,0x56,0xFB,0x6F,0xC2,0x76,0x89,0xAE,0x7D,0x05,0x2D,0xD7,0x66,0x31,0x76, -0xFD,0xF9,0xBE,0x83,0xE2,0x85,0xCA,0x27,0xE2,0x6A,0x46,0xEA,0x59,0xCF,0xFA,0xA4, -0xA5,0x92,0x3F,0x4F,0x6C,0x75,0x9D,0xB3,0x49,0x4B,0x7F,0x89,0x5D,0xF7,0xA8,0x6F, -0xB8,0xBE,0xE8,0xE1,0x56,0xB4,0xC3,0xDC,0x4B,0x6D,0x6E,0xAA,0x60,0x65,0xDA,0x4C, -0xD8,0xEB,0x8D,0x90,0x2E,0x19,0x96,0x3F,0xF8,0xD4,0x9F,0x91,0x2E,0x81,0xEB,0x1E, -0x93,0x9E,0x25,0x54,0x7D,0xD1,0x45,0xAC,0x95,0x7B,0xFC,0xA4,0xFF,0xFD,0x04,0xAA, -0xFE,0x99,0x74,0x9F,0xD9,0x36,0x73,0xD6,0x61,0x7E,0xA3,0x12,0xF5,0xC0,0x0B,0xA8, -0x78,0x54,0xCF,0x71,0xE0,0x40,0xC6,0x83,0x70,0x6B,0x97,0x23,0xBB,0x24,0x3A,0xFA, -0x34,0xFC,0xE3,0x8D,0x3E,0xCF,0xA9,0xBE,0x3B,0xAC,0xE1,0x88,0xC8,0x52,0x79,0x8B, -0x9B,0x2C,0x9A,0xDC,0x22,0x02,0x8C,0x09,0x3C,0x7C,0xD4,0xE4,0x9E,0xEE,0xD0,0x11, -0xCB,0xF5,0xA4,0x98,0x68,0x09,0x27,0xE4,0x62,0xFC,0x5D,0x46,0x5E,0xA3,0x2A,0x91, -0xBA,0x83,0xE7,0xEB,0x42,0x1E,0x46,0x0A,0x18,0x32,0xD0,0x59,0xC5,0x03,0xA6,0xBC, -0x24,0x82,0x00,0x99,0x29,0xD2,0xC7,0x52,0xED,0x93,0x60,0x98,0xC3,0x18,0xD2,0x66, -0x50,0x14,0xC8,0xD8,0xE7,0x8B,0x97,0xEE,0xB2,0xB7,0x06,0x4D,0xA4,0x10,0x72,0x07, -0x44,0xD7,0x65,0xE8,0x5A,0xAF,0xD9,0xEA,0x88,0x15,0x10,0xB3,0xA5,0x67,0xD6,0xE8, -0xA0,0x72,0xB4,0x7D,0xAB,0x39,0x8A,0xF0,0x12,0x3D,0xD2,0x64,0x58,0xB8,0x5E,0x4B, -0x75,0x06,0xFB,0xCB,0x44,0xA7,0xF0,0xF9,0x0E,0xF7,0xD1,0x04,0x17,0x2B,0xCB,0xF6, -0xE0,0xD5,0x69,0x2D,0x4F,0x77,0xBB,0xA2,0xE5,0xBA,0x73,0x86,0x31,0xB5,0xA3,0xE3, -0xF2,0x96,0x85,0x33,0x27,0x0C,0xD1,0xC0,0x2A,0xB9,0xD5,0xB9,0x42,0xC3,0xE0,0x92, -0x6A,0x17,0x23,0x6F,0xB4,0x43,0x44,0x7D,0x22,0x90,0xC6,0xA7,0xAA,0x15,0x2F,0xCE, -0xF5,0x4B,0x01,0x0B,0x28,0xA0,0x20,0xCC,0x1D,0xC4,0xF4,0x16,0x87,0xC1,0xEC,0x36, -0x5F,0x7B,0xF3,0x68,0xAE,0x37,0xD7,0x39,0xA1,0x84,0x23,0x5F,0xBF,0x1C,0x68,0x31, -0x88,0x32,0xB3,0xD4,0xC2,0x30,0x07,0x0C,0x6B,0x71,0xA1,0x2F,0x82,0x8E,0x1A,0x12, -0x01,0x90,0x33,0x8A,0xB1,0x4D,0x19,0xB4,0x4E,0x9B,0x4A,0xE5,0x48,0xFE,0xEF,0x90, -0xD9,0xB6,0x48,0x86,0xE6,0xF9,0x70,0x70,0x76,0x1F,0x4D,0x38,0x05,0x4E,0x5C,0x3C, -0x5A,0x9B,0x78,0x5A,0x48,0xBC,0xEA,0xCF,0x3E,0x5A,0xC5,0xC7,0x2C,0xA2,0xCD,0x0F, -0x3A,0xCE,0x1D,0x2B,0xFB,0x46,0xB2,0x59,0xAD,0xFF,0xFB,0x79,0xE4,0xF1,0x1E,0x9C, -0x32,0x7C,0xA2,0xA3,0xBA,0x9D,0x52,0xEF,0x0D,0x75,0x2F,0x50,0x1C,0x61,0x60,0x1B, -0x2A,0xB0,0xFE,0x3F,0xDD,0x4A,0xC9,0x81,0xC0,0x50,0x98,0x4C,0x9C,0xCD,0xF6,0x00, -0x7B,0x34,0x05,0x6D,0x19,0xB1,0x35,0xF8,0x24,0xE4,0x1C,0xBC,0xC1,0x3B,0xF4,0x77, -0xC4,0x9A,0x9F,0x28,0x4A,0x79,0xE6,0x6B,0x78,0x42,0x84,0x3D,0x2F,0xF6,0x4F,0xF1, -0x0D,0x9F,0xC2,0x26,0xD2,0xE6,0x38,0x8D,0x7E,0x36,0x5E,0x26,0xD0,0x0A,0xE1,0x43, -0xF3,0xCB,0x40,0x25,0x8C,0x47,0x16,0xB6,0x21,0x12,0x38,0xF3,0x04,0x39,0xF8,0xD3, -0xC1,0x7A,0x14,0x1A,0x33,0xA6,0x54,0x16,0x41,0x62,0x6C,0x97,0xF4,0xB7,0xAF,0x47, -0xBC,0x99,0x44,0x9C,0x02,0xB4,0x71,0x60,0x13,0x2B,0x81,0x47,0x1C,0x35,0xD2,0xA7, -0xC6,0x3D,0x72,0x7B,0x8D,0x36,0xC1,0x6A,0xE0,0xFE,0xEB,0x9D,0xD5,0x11,0xA5,0xDB, -0x7E,0x4E,0x6C,0x06,0xE2,0x86,0xFA,0x65,0x58,0xEC,0xF7,0xEC,0x6B,0x7B,0xC3,0x1D, -0x41,0xAD,0x0C,0x83,0x6E,0xB3,0xA1,0x55,0x59,0x48,0x18,0x9B,0x30,0x96,0xB5,0xB0, -0x0F,0x38,0x2F,0x75,0x1C,0xBC,0x58,0x73,0x46,0x00,0xE5,0xAF,0x5A,0xCF,0xCA,0xE6, -0x8E,0x28,0x10,0xA3,0x87,0x94,0x6D,0xAF,0xE7,0x2E,0xDE,0xF1,0x7E,0x72,0x84,0xE2, -0x5A,0x01,0x9A,0x03,0xEF,0xEF,0x07,0xCD,0xB0,0x23,0xAB,0x3A,0x44,0x8C,0x26,0xF4, -0x16,0xA9,0xB6,0xFF,0xD2,0xE5,0x08,0xCF,0x6E,0x35,0x39,0x34,0xDD,0x0F,0x8C,0xC8, -0x90,0x64,0x0D,0x11,0xBF,0x90,0x3F,0x64,0x25,0xF2,0x4F,0x9F,0x05,0x1A,0xEE,0x80, -0x9C,0x6B,0xFC,0xBD,0xD8,0x47,0xA4,0x0A,0x6F,0x91,0xD6,0x43,0x7C,0x51,0xA2,0xF3, -0x78,0xCE,0x2D,0x28,0xE0,0x43,0xF6,0xC1,0xDA,0x5C,0xFD,0x63,0xF9,0xB2,0xC2,0xCC, -0x57,0x53,0xAE,0xB9,0x31,0x60,0x68,0xF0,0x15,0x5F,0x5B,0x5C,0x88,0xE7,0xA7,0xAC, -0x3E,0xE9,0xB1,0x56,0xF3,0x22,0x22,0x7A,0x34,0xE7,0x7B,0xAE,0xBF,0x48,0xDA,0x8D, -0x52,0xB3,0x25,0x8B,0x91,0xFB,0xE4,0xDD,0xEC,0x85,0x33,0xBB,0x52,0xD1,0xE3,0xF5, -0x71,0x21,0x57,0xB6,0x04,0x0D,0xC7,0x93,0x6A,0x67,0xF2,0x0C,0x6C,0x17,0x13,0x28, -0xA3,0x88,0x9C,0x38,0xC3,0x41,0xD0,0xD0,0x2D,0xDB,0x5C,0x81,0x14,0x2B,0xFB,0xB4, -0x37,0x06,0xCB,0xC8,0xD9,0x35,0x43,0x94,0xD7,0x83,0xCA,0x32,0xAB,0x36,0x39,0x9D, -0x86,0x9A,0xAF,0x2B,0xEB,0x93,0xBD,0x9A,0xFC,0x34,0xE8,0xFD,0x9B,0xF5,0x94,0x89, -0xF9,0xDE,0x12,0xFE,0x69,0x78,0xF0,0x38,0x0F,0xE1,0x82,0x27,0xEE,0x98,0xA3,0x22, -0xD1,0x9E,0x15,0x57,0xDF,0x8C,0xF5,0x67,0x7D,0x06,0x1C,0x26,0x5F,0x80,0x3C,0xC2, -0x5F,0xE1,0x11,0x31,0xCB,0x26,0x70,0xB1,0x74,0x8B,0xE0,0x4F,0x61,0x46,0xCC,0x1F, -0x32,0xE6,0x40,0xFA,0xB0,0x3C,0xCE,0x68,0x85,0x78,0x9B,0xB6,0x55,0xBD,0x33,0xC0, -0x12,0x14,0xF8,0xDB,0xE3,0xF4,0x1D,0xFB,0x5C,0xBE,0x3C,0xD4,0x01,0x22,0xBC,0x4B, -0x4C,0xFF,0x38,0x39,0x03,0xC6,0x96,0xFE,0x66,0x1C,0x2A,0x2A,0x32,0xB5,0x93,0xA1, -0xB6,0x16,0xF4,0x1E,0x85,0x51,0x61,0x0B,0x63,0xEA,0x0E,0x65,0x89,0x90,0x03,0x43, -0xA9,0x07,0x2C,0xBA,0xB9,0x29,0x89,0x97,0x4D,0xAB,0x08,0xE5,0x08,0x4B,0x31,0xB7, -0x72,0x41,0x9D,0xAA,0x55,0x00,0x18,0xA4,0xCC,0x99,0xFC,0x3E,0x1D,0x42,0x76,0x48, -0x30,0xDB,0x4F,0xF0,0x3F,0xBE,0x7E,0x62,0x8A,0x81,0xBD,0xC4,0x18,0x0D,0x80,0x6C, -0x95,0x84,0x86,0x23,0xF4,0xE9,0x73,0x17,0x12,0x8F,0x6E,0x30,0x95,0xF0,0xC9,0x40, -0xB2,0xAB,0xBA,0x3A,0xEE,0x9D,0xE0,0x53,0x19,0x24,0x83,0x7A,0x21,0xA7,0xA0,0x84, -0xF8,0x83,0xD7,0xE8,0x6A,0xCF,0x1B,0x02,0xD2,0x75,0xEE,0x7D,0x1F,0x61,0x50,0x59, -0xB8,0x24,0x0A,0xB8,0x1E,0x79,0x54,0xD7,0x81,0x2A,0x50,0x8E,0x0C,0x73,0x63,0x7C, -0x1B,0xFB,0x82,0x45,0x49,0xCD,0x3D,0x13,0xAC,0xE9,0xA8,0x5A,0x80,0xF9,0x8E,0xBF, -0x47,0x2D,0x4D,0xAD,0x57,0xC5,0x14,0x00,0xE3,0x7C,0x15,0xC9,0xDC,0x78,0x28,0x27, -0xE4,0xF2,0xC5,0x50,0xB1,0x4E,0x29,0xF6,0xD8,0x7A,0xEC,0x40,0x87,0x95,0x5E,0x8A, -0xE3,0x2F,0x41,0x68,0xF8,0xF2,0x69,0x21,0x4F,0x8D,0x19,0xC6,0xE4,0xA5,0xAC,0x20, -0x45,0x10,0x42,0xA7,0x0B,0xA1,0x36,0x9F,0xA2,0xB4,0x61,0x5F,0x65,0x7E,0x9E,0xD4, -0xC7,0x60,0xB7,0x6D,0xC1,0x84,0xDC,0x74,0xDF,0xAA,0xD9,0x2C,0x3B,0xDC,0x1E,0x5D, -0xDA,0x4C,0x60,0xC3,0x29,0xD1,0xF7,0x10,0x53,0x47,0x1A,0xA6,0xB5,0x75,0xD5,0x8F, -0xE9,0xA0,0xF1,0xEA,0xD6,0x99,0xB2,0x98,0x16,0xDD,0xA5,0x08,0x69,0x58,0xE5,0x0C, -0xCE,0x8F,0xCD,0xF3,0xBE,0xE2,0xD8,0xFA,0x72,0xFF,0x3A,0x54,0x4C,0x92,0x0F,0xE7, -0x49,0x1F,0xB3,0x0B,0x97,0x42,0x52,0x2E,0xA9,0x1F,0x8C,0x15,0xC4,0x20,0xB0,0xEF, -0xA2,0xD5,0x59,0x2E,0x52,0xCB,0x49,0xC9,0x5E,0x98,0x2D,0xF7,0x82,0xDA,0xA8,0xAE, -0xD5,0x23,0x5B,0x73,0xA2,0x2F,0xFD,0x4D,0xA5,0x64,0x54,0x33,0xD0,0x5E,0x53,0xFF, -0x96,0xE4,0x4C,0x3F,0xC8,0x91,0x9B,0x8B,0x09,0x95,0x58,0x3C,0xC9,0x71,0x6F,0xD8, -0x24,0x18,0xE2,0xC0,0xD3,0x97,0xEF,0x51,0x96,0x4B,0xBE,0xA4,0xC7,0x74,0x32,0x11, -0x92,0x59,0x02,0x1B,0x79,0xAE,0xCF,0xB9,0x49,0xF9,0xC3,0xDD,0xF5,0x94,0xB9,0x14, -0x06,0xD7,0x55,0xEB,0x1D,0xCE,0xBF,0xED,0xA8,0xBB,0x63,0x62,0xCA,0x25,0xED,0x26, -0x99,0x8B,0x77,0x8F,0x44,0xA4,0xC0,0xBB,0x5B,0x6E,0x09,0xB8,0x0E,0x50,0x45,0x6D, -0xBA,0x19,0x05,0xB2,0x67,0xA6,0xE6,0xAA,0x9A,0x30,0x66,0x82,0xA0,0x7C,0x92,0x70, -0x7F,0x13,0xA9,0x10,0x4A,0x7A,0xD6,0x29,0x3E,0xE8,0x79,0x93,0xBB,0x70,0x88,0x46, -0xCB,0x6F,0x46,0xC1,0x7F,0x17,0x79,0x4A,0xF6,0x3B,0xEA,0xC0,0x7F,0x05,0x20,0x0D, -0x2F,0xCA,0x97,0x54,0xCD,0x9F,0xC6,0x42,0xAF,0x6B,0x56,0x0E,0x9E,0xBA,0x62,0xAD, -0x7D,0x2E,0xA6,0x1A,0xFC,0x8E,0xD3,0x76,0xD9,0xDE,0x03,0x37,0x70,0x77,0xD9,0x2B, -0xC4,0x00,0x7D,0x71,0x0A,0xD3,0xD1,0x01,0xED,0x21,0xDC,0xCC,0x33,0xC2,0x37,0x4E, -0x5E,0xBC,0xD4,0x27,0x66,0xD4,0x01,0x34,0x20,0x04,0x6B,0xD0,0x62,0x12,0x4E,0xE1, -0x69,0xED,0x0B,0x2A,0xB7,0xF7,0x9F,0x05,0xF1,0xEB,0xDF,0xAC,0x04,0x6D,0x4A,0x6F, -0x44,0x4D,0x87,0xB1,0xA8,0x8D,0x51,0x88,0xE6,0x8A,0x31,0x86,0x77,0x1B,0x09,0x1E, -0xD2,0xFE,0xDF,0x4B,0xA3,0x5D,0x1A,0xD3,0x64,0x3A,0x3B,0x09,0x37,0xFA,0x65,0x85, -0xB3,0xF6,0x7F,0x2C,0x76,0x02,0x3E,0xB5,0x3D,0x6A,0x87,0xC7,0x76,0x6C,0xAD,0xF1, -0x9E,0x56,0xF3,0xB7,0x8A,0xFD,0x90,0x07,0xD6,0x27,0x25,0x45,0x92,0x9C,0x19,0x75, -0x3D,0x89,0x7B,0x4A,0x5D,0x67,0xB8,0xC5,0x40,0x74,0x3F,0xB4,0x07,0x39,0xC8,0x91, -0x36,0x5B,0x0E,0xDE,0x68,0x0A,0x17,0xA6,0x98,0x16,0x77,0xA1,0xC2,0x3B,0xC4,0x35, -0x23,0xC5,0x66,0xF8,0xEA,0xE1,0x5A,0x04,0x48,0x5D,0x2C,0xAA,0x24,0xE8,0x56,0xA0, -0x49,0xAE,0x45,0x31,0x8A,0x57,0x1A,0x9C,0x39,0xCD,0xFB,0x11,0x2B,0xFD,0xD3,0xB8, -0xCF,0x59,0xD2,0xC4,0x78,0xFD,0x79,0xAC,0x3E,0xF5,0x26,0x95,0xFC,0xBD,0x6F,0xF1, -0x53,0x3D,0x31,0x75,0x5A,0x62,0x1D,0xF0,0xC6,0xD8,0xF2,0x56,0xCE,0xE9,0x50,0x40, -0xC0,0xA8,0x7E,0xC8,0xFC,0xFA,0x41,0x71,0x9A,0x30,0x24,0x99,0xDD,0xC0,0x58,0x5E, -0xAF,0x93,0xCE,0xC7,0x01,0x52,0x28,0x7C,0x07,0x5E,0x45,0xB4,0xCD,0x23,0x4C,0x20, -0x01,0x09,0x8B,0x78,0x31,0xD1,0xF4,0x51,0x34,0x77,0xA9,0x25,0x45,0x66,0x04,0xDF, -0x56,0x60,0x3F,0xBC,0x4A,0x09,0xF8,0x77,0x98,0x3A,0x19,0x96,0x42,0xE2,0x3C,0x02, -0x25,0x7E,0x42,0x04,0xCA,0x80,0xA6,0xD5,0x1A,0xF0,0x69,0x63,0xA9,0x08,0x19,0xC8, -0xFE,0x4C,0xC3,0xF0,0x7C,0x73,0x1F,0xD3,0x7F,0xB3,0xDC,0x8D,0x14,0x9D,0x56,0x5B, -0x3A,0xB0,0x38,0x89,0x87,0x22,0x4D,0x57,0x08,0xEE,0x2A,0x8F,0x90,0x29,0xB2,0xAB, -0x5D,0x2B,0xEF,0xE7,0xDB,0x3A,0xD1,0x9B,0x13,0x6E,0x86,0x19,0x27,0x0C,0x7F,0xB7, -0x1C,0xCB,0x34,0x51,0x64,0x32,0x59,0x29,0x94,0x96,0x16,0x67,0xF3,0x86,0xDF,0x9E, -0xD4,0x2D,0xD4,0x1E,0x6D,0xC9,0x68,0x9D,0x4F,0x86,0x50,0xD6,0x64,0x1B,0x33,0x70, -0x6B,0x6F,0x35,0xBE,0x39,0xFB,0x57,0x2C,0xDB,0x76,0xDE,0x81,0x30,0x6B,0x53,0x14, -0x35,0x41,0x94,0x85,0xBB,0x05,0x54,0x78,0x4B,0xA2,0xED,0x98,0x56,0x4F,0x0C,0xC1, -0xAD,0x9F,0x0B,0x63,0xE6,0xCC,0x5A,0x7D,0xF9,0x5D,0x11,0x36,0x8C,0x3B,0x0A,0xDA, -0x9A,0x3C,0xA3,0xA4,0x5C,0x9B,0x26,0x79,0xA2,0x8D,0x1A,0x7D,0xF4,0x02,0xE7,0x43, -0xC9,0xEF,0x6B,0x37,0xF4,0xD0,0xE2,0x0C,0x16,0x5C,0x66,0x92,0x97,0xAD,0x8A,0x76, -0xB1,0xBA,0xC6,0xD4,0x91,0xB0,0x93,0x59,0x44,0x12,0x82,0xA3,0x66,0x14,0x39,0x4D, -0x8B,0xE4,0x07,0xBB,0x46,0xAD,0x3D,0x75,0x67,0x2F,0x10,0xD1,0x77,0x32,0x3B,0x6E, -0xC5,0xF5,0x70,0x01,0xE3,0x93,0xAE,0xCB,0x19,0xEC,0x09,0xA9,0xDC,0x05,0x4E,0x03, -0xD9,0xD0,0xBD,0xB6,0x9A,0x3C,0xFF,0x1B,0x83,0xBA,0xB5,0x00,0xE9,0xD5,0x49,0x6F, -0x07,0xBF,0x32,0x8B,0xB6,0x70,0x03,0xB3,0xF2,0xC9,0xC3,0x43,0x9F,0x12,0x02,0xC4, -0x3E,0x0A,0x44,0xDE,0x0D,0xF6,0xED,0x7E,0xA0,0x87,0x27,0x72,0xAB,0x07,0x13,0xF5, -0x00,0xEE,0xF9,0xE6,0xB1,0x58,0xAA,0xF3,0x0F,0xD6,0xF7,0x0B,0x0E,0xCE,0xC0,0xAA, -0xCE,0xBE,0xA0,0x5A,0x79,0x2C,0xEB,0x65,0x6E,0xB1,0xFF,0xAB,0x68,0xEA,0x9F,0x7F, -0xA5,0x3F,0x6C,0x02,0x9E,0xB2,0x99,0x64,0xB4,0xB7,0xE4,0xDF,0xD8,0x4B,0x6A,0xBE, -0x8F,0x5E,0x7B,0xEC,0xDD,0xC3,0xEA,0x12,0x99,0x2C,0x44,0x53,0x55,0x85,0x10,0xA1, -0xA8,0xC2,0x05,0xAA,0x10,0xE8,0x5F,0x32,0xEB,0x43,0x52,0xDA,0x7B,0xC3,0x97,0x61, -0xA3,0x89,0xD5,0xF1,0x82,0x7D,0xB9,0xE1,0xFE,0x65,0xCC,0xB2,0xD9,0x8E,0x7C,0xE3, -0x4C,0xF3,0x4B,0xF8,0xCD,0xA8,0x0F,0x95,0x43,0x2A,0x5F,0x27,0xDA,0x44,0x60,0x83, -0xBD,0xA0,0xDD,0xE2,0x1C,0x4C,0x9A,0x30,0xE0,0xD7,0x80,0xAF,0x18,0x6C,0xFA,0x54, -0xE5,0x38,0xC5,0x2A,0x17,0xC0,0xF6,0x72,0xA3,0x9B,0x47,0xB8,0xB8,0x2E,0x1B,0xEB, -0x92,0x9C,0xC4,0xC5,0x61,0x6D,0xAD,0x9F,0x9C,0x1E,0xA4,0xD8,0x88,0x75,0x2E,0x67, -0x4E,0xFF,0x8E,0x5C,0x06,0x7A,0x81,0x3C,0x61,0x01,0x90,0x90,0xBD,0xA5,0x29,0x0B, -0x94,0x2A,0x7D,0x36,0x71,0x06,0x48,0x18,0x1B,0xE6,0x34,0xA6,0xB7,0x15,0xAB,0x84, -0x33,0xF7,0x2D,0x76,0xF2,0x29,0xD9,0x85,0x87,0x9E,0x08,0x4E,0x10,0xD3,0x72,0xE6, -0x3D,0xE1,0xF3,0xE4,0x58,0x15,0x40,0x06,0xCB,0x62,0xA0,0x62,0x12,0xDC,0x78,0xDB, -0xA6,0xD4,0xDB,0x38,0x1E,0x3B,0xC7,0xC6,0xD2,0xE8,0x31,0xFB,0xAE,0x8C,0x21,0x15, -0xF8,0xFA,0x7A,0x03,0x50,0x3F,0xE3,0x7B,0x53,0x3E,0x21,0xC4,0x72,0xB9,0x09,0x8E, -0x6A,0x88,0x47,0x20,0x16,0x11,0x64,0xBB,0xA5,0xB5,0xC7,0xF9,0x1C,0x22,0xDE,0xE9, -0x55,0x8B,0x88,0x86,0x73,0x71,0x15,0xEE,0x8A,0x24,0x5A,0x7A,0x2D,0xBC,0xFD,0x38, -0x96,0x26,0xB8,0x92,0x3A,0x5D,0x98,0x13,0x4D,0x8C,0x6D,0xD9,0xB9,0xEB,0x0D,0xB6, -0x4A,0x45,0xF2,0x0B,0x76,0x2E,0xE1,0x58,0x41,0x20,0x62,0x28,0xD7,0x70,0xDA,0xD1, -0x05,0xB3,0xF7,0x2F,0xC7,0xF5,0xF1,0x1E,0xAC,0x2B,0x28,0x83,0x4E,0x13,0x90,0x0D, -0x88,0x0F,0xB0,0x81,0x2F,0x69,0x89,0x22,0x7E,0xA5,0x81,0x48,0x0D,0x04,0xDC,0xCA, -0xA7,0x33,0xA9,0xA6,0x0E,0x50,0x22,0x41,0xE3,0xCB,0xE0,0x65,0xA7,0xF6,0xBF,0xFA, -0xB2,0x51,0x71,0xEE,0x37,0x28,0xCF,0xD8,0x8F,0x16,0xBA,0xF1,0x00,0x30,0x66,0x98, -0x2E,0x35,0x92,0x5F,0x77,0xFF,0x73,0x91,0x24,0x63,0xD7,0xC6,0xE5,0x24,0xE5,0x60, -0x2F,0xD2,0xE0,0xC1,0xE8,0x1F,0xC2,0x89,0x0C,0xCA,0x97,0xC1,0xBA,0x21,0x11,0xD6, -0x3B,0x57,0x4A,0x17,0xED,0x40,0x36,0x3F,0xEA,0x55,0x0F,0x1F,0x49,0x97,0xA8,0xD0, -0xF4,0xE0,0x61,0x35,0x40,0x54,0x06,0xFC,0x5B,0xB6,0x93,0x7B,0x47,0x69,0x0E,0xE2, -0xDD,0x6A,0xC1,0xE1,0x68,0x96,0x9C,0x2B,0xCF,0x46,0x1D,0x2C,0x26,0xC9,0x69,0xEA, -0x23,0xC8,0xFB,0xF7,0x47,0x7C,0xAF,0xBC,0x91,0xA4,0xF6,0xEC,0x23,0x42,0x5B,0x0A, -0x46,0x5F,0xE9,0x3D,0x18,0xC2,0xFC,0x4F,0x82,0xAC,0xE8,0xC5,0x6C,0xA4,0xBB,0xC2, -0xBF,0xAC,0x18,0x46,0xE7,0x1D,0xC8,0xB4,0xEF,0x67,0xEF,0x94,0xB5,0x1A,0xA1,0xB9, -0x37,0x4D,0x51,0x21,0xA2,0x95,0x80,0x4B,0xAF,0x37,0x48,0x49,0x79,0xCC,0x9D,0x5C, -0xCD,0x55,0x17,0x60,0x54,0xB1,0x85,0x04,0xED,0x6D,0xD2,0x9B,0xBF,0xAA,0x23,0x36, -0x6C,0x3E,0xFE,0xD3,0xD7,0x9E,0x14,0x99,0x6B,0x83,0x1F,0x20,0xD6,0xB5,0xCC,0x8C, -0xEC,0x7F,0xD0,0xD5,0xE5,0x6A,0x95,0x42,0x74,0x27,0x0E,0xF8,0x4A,0x5D,0xB4,0xB0, -0x74,0xA1,0x4F,0x33,0x84,0x84,0x82,0x68,0x25,0x75,0x8A,0x03,0xDF,0xCF,0x52,0x63, -0x87,0xFE,0x1C,0x8D,0xB7,0xA1,0x91,0x7A,0x65,0x25,0x2D,0xDE,0x0A,0x80,0xE4,0x17, -0x39,0x5B,0x8F,0xB3,0x1D,0x9D,0x08,0xF9,0x48,0xBE,0x8D,0x52,0xCA,0xA7,0x74,0xFD, -0x73,0xF0,0x84,0x5E,0x74,0x59,0xBC,0xAE,0x6F,0xA7,0xA2,0x6E,0x8E,0x34,0x00,0xE7, -0x72,0x48,0xA4,0xC3,0x8A,0xEB,0x73,0xE8,0x0F,0x4D,0x55,0xB2,0x2E,0x8B,0x2E,0xFE, -0x4A,0x4F,0x79,0x47,0x5D,0xAB,0x3A,0x54,0xF8,0xCB,0xC2,0x47,0xDC,0x21,0x1E,0x9D, -0xB7,0xEC,0xA6,0xCF,0xAB,0x96,0xDC,0xDF,0xFE,0x42,0xF9,0xBE,0xAA,0x8C,0xF3,0xC6, -0x5F,0xB0,0x70,0x00,0xB8,0xBF,0xC2,0xD7,0x6B,0xD1,0xB6,0x03,0x0C,0x14,0x72,0x9A, -0xF0,0x42,0x2B,0x73,0x33,0x30,0x5D,0x83,0x5F,0x83,0x0C,0x0E,0x67,0xA7,0xD3,0x73, -0xD9,0x71,0xC7,0xE2,0xBB,0x75,0xA2,0xCB,0xC5,0x2D,0x49,0xB1,0x57,0x24,0xFE,0xAF, -0x77,0x6C,0xEB,0x35,0xDF,0x5E,0x4A,0x9E,0x28,0xA7,0xC5,0x72,0x9C,0xF6,0x57,0x21, -0xBD,0xEE,0x9B,0xC0,0x34,0xB4,0x80,0xBB,0x36,0xD4,0xB8,0xCA,0x1C,0x7F,0xF5,0x7F, -0x69,0x7E,0xA8,0xD9,0xE6,0x7F,0x29,0x35,0xE6,0xB8,0xBF,0xFF,0xD1,0x54,0xD5,0xCA, -0x34,0x09,0x5E,0xDB,0x62,0xCB,0xD9,0xD1,0x1A,0x7C,0x44,0x86,0x2A,0x05,0x51,0x98, -0x11,0xE2,0x94,0x31,0x85,0xD0,0x1C,0x58,0x9D,0x9E,0xB3,0x27,0x32,0x44,0xAB,0xDE, -0xE9,0x65,0x04,0x4F,0x51,0x5A,0x35,0xF8,0x7D,0xDF,0x68,0x91,0x8D,0x4C,0x19,0x56, -0xF1,0xAD,0x5C,0xD7,0x46,0x3D,0x96,0xD4,0x39,0xE9,0xB2,0xC8,0x6F,0x8D,0xAE,0xD0, -0x01,0x39,0xD2,0x80,0x12,0x4D,0xF2,0xB4,0x7B,0x56,0x53,0x68,0x3B,0xBF,0x1F,0xEF, -0xDA,0x8F,0x93,0x60,0xFA,0x6D,0x58,0x8D,0xC9,0x2F,0x8C,0x15,0xB0,0xBA,0xFF,0xDD, -0x25,0x3D,0x6F,0xCE,0x20,0x19,0x43,0x8B,0x17,0xB7,0x13,0xF3,0xED,0x73,0xFA,0xD3, -0xDB,0x60,0xE4,0xC4,0xE1,0xFB,0xF4,0x0D,0xB9,0x4B,0xEC,0x41,0xA2,0xA6,0x8E,0x65, -0x0A,0xD4,0x98,0x2B,0x82,0x54,0xC1,0x60,0x6A,0x18,0x24,0xD2,0x0A,0xED,0xFB,0xA1, -0xA8,0x11,0x92,0x87,0x01,0x64,0xEC,0xBC,0xB2,0x09,0x80,0xCD,0x10,0xDB,0xF7,0xBA, -0x95,0x32,0x00,0xF5,0x10,0x42,0xCF,0xBE,0xEC,0x33,0x41,0xA2,0xC7,0xC6,0xDB,0x14, -0x3D,0xF5,0x37,0x56,0x9F,0x83,0xED,0xCE,0x86,0x5B,0x3A,0xC0,0xCC,0x4A,0x99,0x78, -0x6B,0x6F,0x8B,0xFF,0xAA,0x53,0x81,0xC9,0xA3,0x47,0xF7,0x77,0xB5,0xE5,0x49,0x29, -0x00,0xD6,0xA5,0x24,0xDD,0x51,0x77,0x94,0x5C,0xBC,0xC3,0xA8,0x5B,0x80,0xFC,0x6A, -0x4E,0x84,0x41,0x15,0xE9,0x44,0x46,0x85,0xE9,0x85,0xB5,0xFD,0xE0,0x06,0x31,0x84, -0x36,0x18,0x7D,0xFD,0x1E,0xBC,0xFD,0x18,0xE8,0x4C,0x27,0x2C,0x2F,0x5A,0xE7,0x6C, -0x51,0x79,0x75,0x5D,0x78,0x98,0x28,0x47,0xB8,0x82,0x7E,0x90,0xE7,0x2E,0x71,0x2D, -0xAB,0xEF,0xC6,0x05,0x23,0xD3,0x23,0x97,0x08,0x0D,0xFC,0x9A,0x8B,0xB5,0x90,0x6D, -0x30,0xC2,0x66,0x89,0xAE,0x1D,0x3C,0xED,0x69,0x27,0xEB,0x74,0xC8,0xC4,0xE6,0x1E, -0xE2,0x88,0x4E,0xE4,0xAF,0xD8,0x61,0xFB,0xDF,0x21,0x52,0x87,0xD4,0x0B,0x63,0x3E, -0xC4,0x9D,0xD0,0x8C,0x0D,0x95,0xE3,0x10,0x94,0x2A,0x82,0xDC,0x46,0x9E,0xB0,0xD8, -0x50,0x96,0x02,0xF9,0x6E,0x3A,0xD6,0x7D,0xF6,0x3F,0x5A,0x94,0x4A,0x3A,0xB2,0x1D, -0xAD,0x35,0xDD,0x71,0xAC,0x12,0x01,0xE7,0xA5,0xCE,0xCC,0x8E,0x9B,0xDE,0x17,0x88, -0x99,0xEA,0x26,0x8E,0xFE,0x23,0xE5,0xA9,0xCA,0x10,0x43,0xB3,0x37,0x1B,0x1D,0x2A, -0x1C,0xD5,0xC5,0xEE,0xCE,0x78,0x69,0x9C,0x6E,0x67,0x42,0x5C,0x41,0xB6,0xF0,0x71, -0x61,0x6D,0xB6,0xF0,0xC1,0x43,0x06,0x2C,0x7C,0x16,0xFA,0x40,0x27,0x70,0x9A,0xCF, -0x86,0x17,0x12,0xC6,0xCB,0xF3,0x89,0xAE,0xA9,0xCC,0x09,0x2A,0x50,0x0C,0xBE,0x06, -0xE5,0xBD,0x22,0x34,0x64,0x8A,0x59,0xFF,0xB7,0xBF,0x74,0x92,0x0E,0x63,0x84,0xC7, -0x19,0xF1,0x8A,0x18,0x66,0x85,0x64,0xF5,0xA1,0xB1,0xAA,0x00,0xA4,0x5F,0x07,0x5E, -0xB9,0x25,0xA3,0x92,0x04,0xEF,0x0C,0x8E,0xAC,0x7A,0xFD,0x75,0x06,0x49,0xF9,0x64, -0x6F,0xA4,0xB3,0xAD,0xD8,0xDA,0x97,0xA6,0x82,0x24,0x5C,0x4E,0x48,0x4D,0x44,0x40, -0xA3,0xFC,0xD8,0x2C,0x5B,0xEA,0xBA,0x7A,0xDD,0xD7,0x0F,0xF0,0x25,0x07,0x6C,0x92, -0x32,0xD3,0x45,0xAF,0x6A,0x74,0x6B,0x59,0xDE,0xE8,0xC0,0x56,0x40,0x67,0x39,0xE3, -0xA7,0x37,0xE0,0x7E,0xA1,0x26,0x53,0x5D,0x13,0xC8,0x75,0x7D,0x20,0x58,0xDA,0x66, -0x0B,0x3B,0xEF,0x8F,0xCF,0xBD,0x34,0x8A,0x70,0x14,0x3F,0xE4,0x6C,0x2B,0x91,0x1F, -0x22,0x08,0x03,0x1E,0x7B,0x52,0x48,0x5B,0x59,0x0A,0x37,0xF7,0x79,0x1F,0xA0,0x0E, -0xAC,0xDA,0xAA,0xD5,0x38,0x45,0x8F,0x17,0xE5,0x87,0x70,0x59,0x91,0x83,0x9C,0x76, -0x91,0xF9,0x38,0xA7,0x76,0x66,0x1A,0xE1,0x07,0x30,0xF6,0x98,0x61,0x5E,0x5A,0x48, -0x4C,0x95,0x62,0x33,0xD1,0xA0,0x78,0x38,0x65,0x25,0x2E,0xD0,0x58,0x26,0xC3,0xA5, -0x4D,0x7A,0x15,0x97,0xCC,0x77,0x54,0x96,0x84,0xAD,0x67,0xB7,0xBE,0x69,0x0B,0x45, -0xE4,0x52,0x55,0x90,0x93,0x72,0xE2,0x62,0x63,0xAC,0x15,0x29,0x21,0x89,0x13,0xF4, -0x31,0x2D,0x11,0x2D,0x31,0x3F,0x60,0x89,0xB6,0x76,0xE6,0x43,0x16,0x22,0x7E,0x81, -0xD2,0x9C,0x8D,0x49,0x3F,0xC1,0x52,0x2F,0x01,0xB9,0xCD,0x61,0xBB,0x36,0xBD,0xB1, -0x23,0xE7,0x74,0xBA,0x55,0x14,0x88,0xDC,0x9E,0xA1,0x7C,0x81,0x11,0x0A,0x3E,0x28, -0xC1,0xB9,0x9F,0x7A,0x50,0x9F,0x68,0xEE,0x3C,0x5F,0x46,0x97,0x3E,0xE0,0xA9,0x1B, -0xE0,0x99,0x6D,0xC2,0xC3,0x4C,0x3B,0x26,0xFA,0x3D,0x9F,0x30,0xB1,0x6B,0x36,0x4F, -0x2B,0xF4,0x6A,0x93,0x1A,0xF2,0x40,0x3C,0x09,0xC4,0x6E,0x4B,0x4E,0xB4,0xCD,0x7B, -0xEA,0x9B,0x50,0xCD,0xC9,0xFC,0xB4,0xA4,0x03,0x4F,0x90,0x16,0x02,0xC7,0x86,0x02, -0xB0,0xD9,0xCA,0x1F,0x0F,0x9A,0xDE,0x1A,0x1B,0xB5,0xD6,0x57,0xF4,0xE3,0xC9,0x07, -0xA0,0x02,0x8C,0xAE,0x3C,0x0B,0x32,0x33,0x29,0x6E,0x57,0xA3,0xB3,0x1C,0xC0,0x12, -0x04,0x1D,0x9D,0x76,0xA0,0xE3,0x0E,0x4B,0x68,0xEE,0x79,0xA5,0x81,0xE8,0x1B,0x93, -0xA2,0x13,0xAF,0x88,0x7C,0xD6,0x95,0x63,0xA8,0x05,0x9B,0xFB,0xE1,0xD7,0xF8,0x16, -0xF2,0x53,0x08,0x55,0xA9,0x99,0xE1,0xD5,0xF7,0xF6,0xC8,0x45,0xD2,0xF2,0xEA,0x05, -0x20,0x19,0x20,0x38,0xF8,0x62,0x65,0x87,0xA6,0xF1,0x03,0x28,0x22,0x2F,0x2C,0x3B, -0x39,0x3E,0x0F,0x04,0xBC,0xF1,0x7F,0xF3,0x0D,0xBB,0x08,0xC5,0x4B,0xEB,0x7B,0x8F, -0x60,0x93,0xF1,0xD6,0x7A,0x77,0x42,0x0B,0x9A,0xEF,0x7D,0x21,0x6A,0xC5,0x6B,0xC9, -0x95,0x59,0x73,0xA6,0x5F,0xBD,0xA9,0xE1,0xE9,0x57,0x63,0x5C,0xC8,0x9B,0xE2,0x49, -0x26,0x14,0xDF,0x16,0x67,0x60,0xAE,0x65,0xBE,0x93,0x0A,0xE8,0xEE,0x97,0x3A,0x32, -0xB7,0x3D,0xEC,0xFA,0x2F,0x9F,0x26,0x20,0x10,0x2C,0x90,0xAD,0xC3,0x4B,0xB9,0x02, -0x9A,0x53,0x71,0x9B,0x3B,0xE1,0x36,0xC3,0x7F,0x23,0xAB,0x1D,0xCE,0x22,0x11,0xFF, -0x55,0xBB,0x2D,0x4D,0x33,0xFF,0x25,0xEA,0xEC,0x9E,0x3E,0x52,0x4F,0x7E,0x89,0x59, -0x96,0x96,0xD5,0x99,0x0C,0x4E,0x17,0xBE,0x70,0x2F,0x5A,0xB1,0x13,0x1A,0x16,0x7B, -0x12,0xAE,0xD2,0x44,0xB0,0x07,0xC0,0xFE,0xF6,0xDA,0xAD,0x26,0x23,0x79,0xBC,0x89, -0x35,0x3E,0x12,0xAE,0x69,0x65,0x67,0x38,0x12,0x88,0x9C,0x68,0xC2,0x39,0x27,0xE5, -0x9B,0xC1,0xA0,0x52,0x6F,0x7E,0xBD,0x4C,0x8A,0x6E,0x42,0xF7,0xC7,0x37,0xEE,0xB8, -0x82,0x15,0x30,0x61,0x30,0xAB,0xDB,0x68,0xD4,0x55,0x6C,0x56,0x93,0x34,0x10,0x3A, -0xD5,0xE5,0xA4,0xEF,0x50,0xCF,0x8F,0x18,0x6B,0xF5,0x2E,0xB7,0x22,0x0B,0x22,0x6E, -0x64,0xF5,0x7F,0xA9,0xBC,0x21,0x18,0x85,0xA3,0xBA,0xC8,0x57,0x96,0x3A,0xD9,0x67, -0x1A,0x0D,0xF8,0x39,0x1C,0x08,0xCC,0x0F,0xE2,0x0C,0x28,0x8C,0x24,0xB2,0xD1,0xD8, -0x8C,0x8D,0xE3,0x95,0xD1,0x14,0x7B,0x2A,0x85,0x62,0xB3,0x5B,0xE8,0x2E,0xC9,0x84, -0x8E,0xD0,0x94,0x63,0x35,0xE4,0xFF,0x9E,0x41,0x1B,0x4F,0xA0,0x6C,0x7C,0x98,0x7F, -0x71,0xE4,0x4B,0x98,0x70,0x4A,0x40,0x04,0x81,0x35,0x09,0x27,0xC1,0x8E,0x1D,0x0E, -0x40,0xAA,0x19,0x7C,0x61,0x7B,0x74,0x11,0xB8,0x60,0xBC,0x51,0x0C,0x60,0x9B,0xB5, -0x03,0xD9,0x68,0x0A,0x2A,0xD0,0x02,0xD6,0x66,0x5D,0xD3,0xDE,0xA4,0x9C,0xD7,0x99, -0xAA,0x8F,0xF2,0xB6,0x2D,0xBC,0x37,0x06,0x7A,0xEA,0xF6,0x13,0x74,0xCD,0x78,0xE0, -0xD2,0x4C,0x8C,0xAF,0x58,0xD1,0x9C,0x31,0x34,0x50,0xE7,0x64,0xCA,0x5E,0x46,0x45, -0xA0,0x71,0xAF,0x3D,0x5A,0xF2,0x8D,0x17,0x0E,0x3F,0xB9,0xA5,0xE6,0xF0,0x5B,0x92, -0x91,0x3F,0xFD,0xD9,0xE9,0xC9,0x7C,0xAE,0x76,0xDC,0xEC,0x08,0xB3,0x81,0x3B,0xF7, -0x7E,0xEE,0x49,0xA5,0x84,0xFC,0x1F,0x01,0x25,0x4F,0x3F,0xC0,0xC6,0x45,0x70,0x5F, -0xAC,0xB4,0x0B,0x3F,0x99,0xEB,0xF3,0x6F,0x02,0x09,0xA3,0xBE,0x8F,0xF9,0xA7,0x1F, -0x24,0x49,0xA8,0xE0,0x03,0x3C,0x31,0x47,0xF3,0x13,0xF0,0x28,0x2A,0x6C,0x43,0xCE, -0xB1,0x06,0x15,0x73,0x1F,0x5C,0x32,0x8D,0x1C,0x1A,0x8A,0xB6,0x5E,0xDA,0x96,0x81, -0xD9,0x20,0x00,0xED,0xF4,0xDE,0x90,0xC0,0x17,0x41,0xC1,0x66,0x8D,0x3C,0x03,0x13, -0x50,0x4F,0x72,0xFB,0x73,0x1E,0xBE,0x86,0x30,0x07,0x5D,0x18,0xAD,0x89,0x28,0xDE, -0xDC,0xD4,0x5F,0x5B,0x09,0x01,0x33,0x48,0x1A,0xE9,0x3C,0x0F,0xDB,0xFA,0x59,0x9D, -0xA8,0xD2,0x85,0x40,0xFC,0xC0,0x83,0xE9,0x71,0xB1,0xBD,0xC3,0xDA,0x88,0xC7,0x7A, -0x08,0xB5,0xE4,0x48,0xA3,0x15,0xE5,0xCD,0xBF,0x0D,0xED,0x9A,0x4C,0xC9,0xB3,0xB2, -0xC7,0x5D,0xB8,0x9E,0x6A,0x31,0x99,0xBA,0x47,0xE8,0xF9,0x19,0xC4,0x80,0xD4,0x53, -0xF8,0x8B,0x39,0x8E,0x42,0xAA,0x45,0x8F,0x19,0xD3,0xD7,0xB8,0x79,0xA4,0xD0,0x1D, -0x61,0x01,0x20,0x1F,0x1B,0x64,0xF9,0xDF,0x82,0x0F,0xE2,0x90,0xB9,0x23,0xFE,0x5B, -0x4D,0xFD,0x6C,0xB7,0x11,0x59,0xFB,0xD0,0x8C,0x9D,0xF4,0x4E,0x3A,0xBA,0xC2,0xF1, -0xA5,0x85,0xF0,0x8B,0xC8,0x3B,0x5C,0x16,0x2B,0xDD,0x29,0x1E,0xA7,0x2B,0xED,0x72, -0x93,0x62,0x8A,0x2F,0x4A,0xB4,0x56,0xA6,0xF1,0xB7,0xFC,0xED,0x83,0xE2,0x91,0x05, -0xDB,0x7D,0x77,0x1B,0x4D,0xD8,0x63,0x76,0x2D,0x2E,0x9F,0xA7,0x20,0xCE,0x86,0x62, -0xBB,0xF8,0x48,0xF8,0x78,0x54,0x53,0x2D,0x5A,0xC1,0x3B,0xA6,0xCD,0x95,0x2B,0x14, -0xF2,0x75,0x64,0x05,0x05,0x27,0xEB,0x33,0x0D,0x05,0x52,0x12,0x67,0xAC,0xC3,0x34, -0x66,0xA8,0x08,0x5F,0xDC,0x45,0x4C,0xF5,0x18,0x4D,0x30,0xCA,0xFE,0x41,0xBB,0x0D, -0x4B,0xC6,0x95,0x3E,0xBF,0x75,0xE6,0x07,0x37,0x6A,0x0C,0xD3,0x9D,0xEA,0x82,0x2C, -0x80,0x48,0x47,0x97,0xF3,0xB2,0xA5,0x10,0xBA,0xC4,0xB0,0x94,0xA1,0x92,0x1E,0xC4, -0x2B,0x43,0xAA,0xDD,0xB9,0x6E,0x3C,0x73,0xF5,0xE0,0x46,0x91,0xE7,0x82,0xC5,0x75, -0xDA,0xEF,0xA6,0xD2,0x6E,0x09,0x52,0xE8,0x29,0x79,0x25,0xDB,0xAC,0xFB,0xB6,0x39, -0x79,0x47,0x61,0xE5,0x9E,0x87,0xC6,0xBF,0xEA,0x6D,0x88,0xEB,0x51,0x76,0x9A,0x70, -0xFA,0xD6,0x4E,0x78,0xBD,0x56,0xF7,0x21,0xD5,0xCB,0x8B,0x24,0x04,0x07,0xFA,0x15, -0x97,0x04,0x04,0x50,0xC2,0x06,0x5E,0x19,0x00,0xAD,0xAF,0x7B,0x0B,0xAB,0xF6,0xE4, -0xC6,0xCF,0x69,0x57,0xD8,0x7D,0x87,0xA7,0xF9,0xD6,0x5C,0x8A,0xF0,0x9F,0x29,0x1B, -0xEF,0xC7,0x7A,0x49,0x38,0xB5,0xC8,0x41,0x9C,0x1C,0xCB,0x98,0x03,0xCC,0x97,0x44, -0x2F,0x25,0x24,0xA2,0x0A,0x55,0xCD,0xCA,0x62,0x0A,0x69,0xA2,0x94,0xFF,0x7D,0x6B, -0x78,0xD5,0xB0,0x2C,0x6D,0x5D,0xAC,0x6A,0x4B,0xDE,0xE3,0x02,0x43,0x65,0xBF,0x43, -0x1C,0x36,0x01,0xB0,0xCB,0x6F,0xA2,0x94,0x84,0xFC,0x54,0x29,0x80,0x55,0xAB,0xEE, -0xC2,0xA9,0xE7,0x28,0x72,0x69,0x51,0x22,0x90,0x2A,0xD1,0x83,0x36,0xA1,0xF4,0xEB, -0xC5,0x00,0xCF,0x68,0x86,0xDF,0x0E,0x27,0x91,0xB4,0x36,0xF1,0x2E,0x10,0x14,0x74, -0x6D,0xC4,0x84,0x1D,0x63,0x58,0x65,0x37,0xCC,0xB5,0xF3,0xE7,0x11,0xDF,0xB2,0x77, -0x51,0xDD,0xA3,0x32,0x17,0x42,0x21,0xA4,0x86,0x58,0x58,0xEC,0x46,0x6B,0x76,0x1E, -0xDD,0x46,0x8E,0x92,0x87,0xA8,0xE1,0x83,0x38,0x66,0xFD,0x7F,0xC5,0xF2,0x4A,0xB4, -0x00,0x16,0xCE,0x35,0x31,0xDC,0x34,0xCC,0xCB,0xD8,0xA2,0x2C,0xD7,0xE1,0x6F,0x87, -0xFB,0x44,0x9F,0xB1,0xD7,0x0F,0xA1,0x5E,0x53,0x3E,0x7C,0xB3,0xFD,0xF6,0x81,0xE6, -0x23,0xE0,0x80,0xA0,0xAF,0x33,0x3D,0xB6,0xD3,0x38,0x3D,0x9D,0x26,0x77,0x75,0xD4, -0x98,0x0E,0x06,0x6D,0x40,0x89,0x54,0xA9,0x72,0x8B,0x56,0x74,0xBB,0xE6,0x5A,0x57, -0x4A,0x54,0x44,0xF7,0xFE,0xE3,0x92,0xCF,0x88,0xCA,0x4E,0x32,0xF4,0xE3,0x7E,0xA1, -0xDA,0xF6,0x34,0xF7,0x64,0x3E,0xE5,0xDB,0xC5,0x3A,0x24,0x50,0x21,0x1E,0x68,0x15, -0x2C,0xF3,0x10,0xB8,0x22,0xC4,0xA4,0xC3,0xAF,0xFC,0x42,0xEE,0xBB,0x44,0x2A,0xC7, -0x6B,0xE6,0xEF,0xB1,0xA3,0x1F,0x50,0xF1,0x43,0xCF,0xD3,0xC7,0xFD,0x54,0xF1,0x76, -0x59,0x67,0x1B,0x6A,0x8D,0x9F,0x56,0xB0,0x7F,0x53,0x3B,0xBF,0xEC,0xF0,0xEE,0xAE, -0x39,0xE2,0x24,0x89,0x6F,0x74,0x08,0x70,0xE4,0x8F,0x0E,0x97,0xDE,0x56,0xE0,0x50, -0x0A,0xF1,0x01,0x9B,0x3C,0x87,0xB6,0x2F,0x90,0x5A,0x41,0x21,0x79,0x06,0xA0,0x8D, -0xFA,0xCF,0xDC,0x5D,0xF7,0x80,0xDB,0x7E,0x14,0x0B,0xBA,0x73,0x51,0xD4,0xEA,0xE0, -0x93,0x7B,0x18,0x0A,0xFC,0xCA,0x36,0xD5,0x0E,0x4F,0x29,0x07,0x7E,0xCD,0xCD,0xDC, -0x66,0xB1,0x9A,0x7A,0x93,0xDC,0x44,0x5C,0x25,0x3F,0xAF,0x62,0x64,0xB9,0x89,0x4F, -0xF9,0x00,0x7A,0x62,0xE1,0xDD,0xDA,0xBB,0x93,0x60,0xAA,0x96,0x24,0x10,0xA1,0x48, -0xCE,0x75,0xD1,0x0F,0x12,0x07,0xB0,0x6E,0x11,0xC2,0xE7,0x7D,0x60,0xC5,0xDE,0xF5, -0x63,0x45,0xC5,0xCC,0x39,0xC8,0x92,0xD9,0x23,0xCC,0x19,0xDB,0xFC,0x26,0x6F,0x91, -0xC9,0xDC,0xF9,0x4F,0x88,0xD0,0x72,0x46,0xF9,0xA6,0xCC,0x28,0x05,0xD7,0x14,0x62, -0xE6,0xEF,0x13,0xD8,0xB2,0x2E,0x64,0xE4,0x19,0xA3,0x47,0x1A,0xEE,0x35,0x4A,0xA2, -0x69,0xBB,0x98,0x47,0x6B,0x4C,0xC3,0x22,0x4A,0x30,0x94,0xD2,0x1C,0x14,0x6A,0x1A, -0x96,0x8F,0x47,0xBC,0x9A,0xB5,0xB8,0xD1,0x31,0xE9,0x2A,0xC8,0x1B,0xDF,0x07,0x4B, -0xFD,0x66,0xF4,0x1D,0xFB,0xA6,0x03,0x05,0xCB,0xA8,0x32,0x8E,0xA9,0x57,0x0F,0xF4, -0x98,0x17,0x94,0x48,0x34,0x99,0xA5,0x06,0x1A,0x99,0xAC,0xAD,0x34,0xC6,0x20,0x77, -0xF8,0x92,0xAB,0xAB,0x81,0xB9,0x8E,0xCB,0x22,0x52,0xFE,0xA9,0x91,0x53,0xC4,0xA6, -0xB4,0xEB,0xD8,0xE0,0xCB,0x65,0x17,0xA8,0x45,0x3C,0x65,0x7E,0x9E,0xFF,0xC8,0x57, -0xA1,0xFA,0xEC,0xD1,0xC3,0x7B,0x04,0x81,0x39,0x88,0x8A,0xAF,0x72,0xD6,0xFB,0xC6, -0x49,0x82,0x70,0xED,0x84,0xF6,0xAA,0x3D,0xFE,0xCB,0x9D,0xE3,0xDB,0x58,0x29,0x0D, -0xB9,0xBC,0xAD,0x2B,0x02,0x41,0x6B,0xDF,0x6B,0x85,0xBE,0x15,0x49,0x65,0x0A,0x7F, -0x80,0x51,0xD5,0xB2,0xDA,0x54,0x23,0xBD,0x09,0x22,0x78,0xCC,0x13,0xB8,0x66,0xEB, -0xEF,0xDE,0xE8,0x6C,0xB7,0x61,0x40,0x12,0x94,0x0D,0xFB,0x5D,0x57,0x6D,0x19,0x56, -0x99,0x85,0x45,0x81,0xB6,0x16,0xAF,0xB6,0x18,0x3D,0xA0,0x68,0xB4,0xE8,0x26,0x36, -0xFF,0x3B,0x83,0xEB,0x0E,0x67,0xB3,0xA4,0x77,0x32,0x9B,0xD8,0xC7,0x95,0x9E,0x28, -0x88,0xF2,0xFF,0xCF,0xFD,0xBD,0xD9,0x71,0xF8,0x38,0x2B,0x5A,0x63,0x72,0xE4,0x1E, -0xD6,0x33,0x90,0xF5,0x80,0xCE,0x61,0x6F,0x28,0x97,0x52,0x0B,0x53,0x11,0x4E,0xEC, -0x7C,0xAA,0xAC,0x76,0x5E,0xC0,0xF3,0x79,0x15,0x95,0x5D,0x01,0xFB,0xED,0x02,0xC0, -0xDE,0x90,0xBA,0x88,0x09,0x0B,0x86,0x74,0x7D,0xF7,0x37,0x7A,0xD2,0x4D,0xD6,0x4A, -0x90,0xB4,0xBE,0x35,0xA8,0x55,0xBD,0x5A,0xE6,0x2B,0x02,0x52,0xC2,0x9B,0x57,0x75, -0xF7,0x98,0xA9,0x96,0xD3,0x3D,0xDF,0x30,0x8C,0xED,0x64,0xEC,0x0C,0xC2,0xEB,0x25, -0x3F,0xD9,0xDD,0x00,0x8A,0xF3,0x63,0x60,0x59,0x8B,0x40,0xB3,0x04,0xA5,0x8A,0x85, -0x53,0x99,0x46,0xE1,0x08,0x7C,0x69,0xD0,0x52,0xD0,0x0B,0x63,0xB7,0x5F,0x1C,0xDD, -0x10,0xEA,0x37,0x97,0x1F,0x56,0x87,0xB1,0x4D,0x5D,0xC5,0x19,0x17,0xC4,0x31,0x51, -0x0C,0xCA,0xF8,0x12,0xA6,0x50,0x74,0x07,0x10,0x5C,0x00,0x0F,0x3F,0x16,0x7B,0x3C, -0x9E,0x2C,0x6D,0xC1,0x76,0x5B,0x2F,0x4C,0x92,0xFE,0x4D,0xE4,0xA1,0x30,0x6E,0x54, -0x92,0xE9,0xC9,0xC3,0xAE,0x4E,0x67,0x2E,0xA7,0x9D,0xE2,0x89,0x73,0xA4,0x65,0x21, -0x43,0x7C,0x2D,0x66,0x38,0xBF,0x7D,0x7D,0x70,0x5F,0xCA,0x13,0xAC,0x59,0xC6,0xA9, -0x7A,0x91,0x55,0xFF,0x18,0x3A,0xB2,0x61,0x85,0x12,0x23,0xF9,0x95,0x2F,0x93,0x1C, -0xD2,0x55,0x1E,0x8A,0xD0,0x69,0x21,0xB2,0xB0,0x71,0x8C,0x94,0xE9,0xFE,0x27,0xF3, -0xC8,0x4E,0x28,0x86,0x74,0x78,0x3E,0x6A,0x9D,0xF2,0xBC,0x48,0xE3,0x5C,0xE2,0x5F, -0x1F,0xE0,0x35,0xAA,0xB5,0x42,0x51,0x34,0xBE,0xE3,0x9A,0x4A,0x71,0x61,0xC1,0x2D, -0x14,0x8C,0xB9,0xE8,0xCE,0x2A,0x33,0x5E,0x9C,0x6C,0x5B,0x3A,0x46,0xC9,0x06,0x8E, -0x6D,0xDD,0x16,0x38,0x03,0x36,0x84,0x7B,0xF0,0x59,0x8B,0x3D,0xFA,0x9F,0x9C,0x27, -0x83,0x9E,0x73,0x8D,0x37,0xCD,0x5B,0x84,0x06,0x2E,0x89,0x60,0xD4,0xF4,0x25,0xFC, -0x38,0x70,0xF5,0x40,0x41,0xF4,0x0E,0x31,0x37,0x1A,0x9C,0x71,0x30,0xBA,0x77,0xCD, -0x09,0x3E,0xA7,0xA4,0x4B,0xC9,0x0C,0x3E,0x58,0x15,0xA7,0xC1,0xD9,0x9D,0x8D,0x01, -0xF2,0x6C,0xF6,0x20,0xB0,0x0D,0x75,0xC2,0xA8,0x91,0x13,0x25,0x2F,0xC0,0xFA,0x03, -0xEA,0x2A,0xB7,0xDA,0x47,0xEF,0xD4,0x45,0x6D,0x76,0x08,0xAC,0xE5,0xE5,0x11,0xE9, -0x55,0xA2,0xBF,0x68,0x9C,0xAE,0x62,0xA5,0x44,0xA2,0x82,0x0C,0x75,0x1D,0x96,0x97, -0xB7,0x24,0x7E,0xDF,0x46,0x98,0x3B,0xE1,0xE7,0xB5,0xE5,0x20,0x2D,0x05,0x5E,0x0F, -0xE3,0x1B,0x4C,0x6E,0xA7,0x27,0x9B,0xA3,0x83,0xE1,0x95,0x40,0xA3,0xF5,0xCA,0x58, -0x68,0x29,0x49,0x8E,0x78,0x5E,0xE6,0x11,0x29,0x09,0xB5,0x79,0xE2,0x2E,0x7C,0xB8, -0x35,0x27,0x80,0x8B,0xE7,0xC6,0x00,0xCF,0x32,0xD3,0xC1,0x7F,0x1E,0xD1,0xCE,0x16, -0xF6,0x0A,0x78,0x5F,0xA1,0x3C,0x41,0xD7,0x02,0x79,0x33,0x1C,0xD5,0x86,0xBB,0x1B, -0x04,0x69,0xD2,0x6F,0x36,0xBA,0xB4,0x20,0x4B,0xAE,0x73,0xA0,0x08,0xBE,0xBC,0x9F, -0x72,0x32,0x7F,0x82,0x0D,0x33,0x4D,0x26,0xAD,0x58,0x4E,0x2B,0xD7,0x43,0x1F,0x17, -0xD4,0x6E,0xE7,0x03,0x42,0xA0,0xF0,0xB3,0xB3,0x4B,0x67,0x23,0x01,0xAB,0x43,0xD8, -0xBF,0x87,0x54,0xA2,0xF8,0xF2,0xFD,0x87,0x2C,0xC0,0xE8,0x77,0x5A,0x04,0xB1,0xAB, -0x8F,0x5B,0xD7,0x8F,0xBD,0x5C,0x42,0x1D,0xD3,0x48,0xAD,0x3F,0xB6,0x2D,0x82,0x3A, -0x44,0xD5,0x05,0x26,0x31,0xD6,0x81,0xF0,0x3B,0x2C,0x86,0x6A,0x9A,0x83,0x9F,0xED, -0xC4,0x8B,0x8C,0x84,0x4C,0xA5,0x39,0xEE,0xF1,0xC7,0x6C,0x4F,0xEA,0x49,0x1D,0x18, -0xA6,0x8D,0xCB,0x30,0x57,0xC3,0x1E,0xCC,0x86,0x84,0x73,0xF9,0xC4,0x3B,0xCE,0xF9, -0x93,0xE1,0x1B,0x37,0xEB,0x95,0xB7,0x56,0xD7,0xFD,0xDC,0x29,0x09,0x27,0xEB,0x4E, -0xE4,0x17,0x19,0x6A,0xC5,0xFE,0x6C,0xEF,0x94,0x13,0xB9,0x9C,0x3D,0xDC,0x14,0x91, -0xD0,0x26,0x0C,0x7B,0x21,0xB0,0x5D,0xBD,0x7A,0xA8,0x3F,0x51,0x4B,0xE5,0xA1,0xC4, -0xD8,0x94,0xB3,0xF3,0x84,0x25,0x8C,0x59,0x9B,0xEA,0x9F,0xEE,0x12,0x2B,0xF1,0x78, -0xBB,0xA1,0x1C,0x9E,0xF8,0xF4,0x63,0xED,0x5F,0x42,0xD4,0x9B,0xDA,0x78,0x22,0xEB, -0x38,0x8C,0x2C,0x42,0xF2,0x56,0xCF,0x28,0x44,0x58,0xE2,0x97,0x7E,0x69,0xFA,0xF4, -0x29,0xAF,0x0A,0x40,0x60,0x6B,0xBD,0x0B,0xEA,0x8F,0xFF,0xBB,0xBF,0x53,0xA4,0x9B, -0x96,0x01,0x90,0x05,0x2E,0x1C,0xAC,0xB1,0xC0,0x9C,0x32,0x03,0xAC,0x41,0x97,0xBE, -0x34,0x83,0xDD,0xEE,0xB0,0x3A,0xC4,0xA4,0x26,0x0E,0xA7,0xD0,0x7C,0x4A,0xDC,0xE5, -0x57,0xB6,0x72,0x83,0x62,0xAE,0xB1,0xAF,0xE3,0x02,0x03,0xD2,0xA4,0x5F,0xBE,0xAD, -0x95,0x61,0x5A,0x19,0xBD,0x53,0x39,0x0C,0x76,0xD3,0xE7,0x77,0x32,0xAE,0xED,0xB7, -0x27,0x9D,0xF4,0xE6,0x1D,0xC8,0xB5,0x21,0x92,0x67,0x63,0x87,0xD9,0x2C,0xA0,0x15, -0x41,0x48,0xD0,0xB9,0x15,0xAF,0x15,0x40,0xD3,0xAF,0x17,0x11,0x80,0xE2,0xF0,0xA9, -0x1A,0x43,0x9B,0x69,0xA6,0x55,0x4D,0xD6,0x93,0xC3,0x8C,0xF0,0x02,0x6D,0x40,0xA3, -0x97,0x5C,0x55,0x13,0x06,0xCE,0xC1,0xFB,0xE0,0x80,0xFD,0x86,0x15,0x47,0x21,0x4D, -0x0A,0x3D,0x78,0x7D,0x4B,0x0E,0x3B,0x7B,0x8D,0x2F,0x9E,0xB3,0xF2,0xE3,0x17,0x37, -0x82,0xC2,0x3D,0x35,0xA7,0x27,0xAA,0x48,0x51,0x1F,0x1D,0x9E,0xB7,0x4D,0x8D,0x88, -0xE6,0x2A,0x16,0x60,0x8B,0x89,0x7D,0x55,0xDF,0xD4,0xCF,0x37,0x3B,0xC7,0x60,0x4B, -0x0D,0xE0,0xFC,0x45,0xFB,0x43,0x88,0xD7,0x81,0x54,0x46,0x95,0x46,0xB4,0x7E,0xF3, -0xB3,0x13,0xA3,0x16,0xC4,0x8C,0x8B,0x71,0x00,0x66,0xB2,0x4E,0xAB,0x2D,0x47,0x8B, -0x64,0x5A,0xE3,0xAA,0x19,0xB4,0x0F,0x76,0x63,0x94,0x18,0x7E,0x3C,0xAB,0xB0,0x7E, -0x92,0xBC,0xDE,0x21,0xC6,0x49,0x87,0xD5,0x38,0xE2,0xB5,0x93,0x07,0x22,0xB6,0x87, -0x81,0xA2,0xF7,0x29,0x10,0xA1,0x48,0x89,0x64,0x44,0x2D,0x12,0x48,0xB1,0x23,0x3A, -0x7F,0xF6,0x75,0x2A,0x3C,0x0F,0x9F,0x94,0x2E,0x27,0xB4,0xCE,0x4C,0x89,0x71,0xF1, -0x2B,0x92,0x05,0x4A,0xB2,0xFF,0xC8,0x00,0x11,0x73,0x86,0x7F,0xAD,0x36,0x33,0x51, -0xC3,0x38,0x25,0x73,0xF3,0x24,0x28,0xB6,0x23,0xF8,0x83,0x9F,0x72,0x4F,0x81,0x2C, -0x19,0x23,0x51,0x75,0x0F,0xDB,0x86,0x04,0x2D,0xA5,0x4A,0x9A,0xED,0xD7,0x5F,0xCA, -0xDF,0x49,0x37,0xCB,0xC8,0x97,0x91,0x47,0x34,0x99,0x6D,0xB5,0x41,0xD8,0xAE,0xC6, -0x5B,0xB9,0x83,0x2F,0x3E,0xCA,0x93,0x30,0x66,0x62,0x3C,0x31,0xBA,0x1C,0x52,0xBF, -0xBC,0x7C,0x98,0xA6,0xF4,0xEF,0x79,0xDB,0x20,0x7A,0x7D,0xCB,0x4D,0xFE,0xD5,0x1E, -0x68,0x55,0x12,0x06,0x64,0x17,0x07,0x5C,0xA8,0xC5,0x75,0x79,0x96,0xBF,0x35,0xA8, -0x6C,0xE8,0x5C,0x22,0x14,0xDD,0xF2,0xDE,0xD6,0x59,0x33,0x5E,0x82,0xC1,0xD6,0xB8, -0x69,0x08,0xD7,0x10,0xFF,0x3F,0x32,0x80,0xE5,0x76,0xD9,0xC9,0xB8,0x3F,0x74,0xAE, -0xFA,0x5B,0x04,0xD8,0x0D,0x1E,0x8A,0xA0,0xB1,0xF9,0x52,0x56,0x61,0x5D,0xB2,0x09, -0x23,0x20,0xBA,0xC2,0x0A,0xD5,0xDB,0xCD,0x85,0x06,0x8D,0xAD,0x90,0xA4,0x41,0x72, -0xF5,0x34,0x3F,0x68,0x75,0xB3,0xDF,0x43,0xBB,0xF6,0x50,0x6B,0x99,0xCD,0xCC,0x8E, -0xAA,0x82,0x3A,0x9C,0x35,0x1A,0xD8,0x6B,0x0A,0x69,0xB0,0x73,0xEB,0xCC,0x2B,0x10, -0x08,0x00,0x77,0x77,0x71,0xCF,0x65,0x14,0x7F,0x5E,0x1B,0x1E,0x18,0x16,0xFE,0x7A, -0x06,0x32,0x89,0xD1,0xED,0x2C,0x01,0xA5,0x4F,0xF3,0x0F,0xDD,0x33,0xD9,0x49,0x58, -0x45,0xF5,0x9E,0x9D,0xCF,0x5C,0xC0,0x2A,0xE8,0xA9,0xEE,0x98,0x65,0x65,0xE0,0xC2, -0x90,0x81,0xD1,0x2B,0x68,0x0C,0x1D,0x6A,0xFB,0x9A,0xCB,0x8A,0x36,0x96,0xBF,0x7C, -0xC1,0x05,0x2A,0x79,0x40,0xDE,0x70,0x20,0xC5,0x6A,0x16,0x4C,0xFD,0x91,0xEE,0x11, -0x85,0x1F,0xB9,0x0D,0x6F,0xC7,0x4C,0x07,0x71,0x03,0xD2,0x1B,0xF6,0xDB,0x45,0xFC, -0xF0,0xD4,0xB4,0x5A,0x30,0x14,0x85,0xA2,0xFC,0x4A,0xFE,0xE6,0x6E,0x2F,0x4B,0x2F, -0x36,0xBE,0xD2,0xE4,0xAA,0x4E,0x57,0xE0,0xF9,0xBC,0xDA,0xA9,0x28,0xD5,0x53,0x6E, -0x05,0x52,0x43,0xCD,0xEC,0x5E,0xE6,0x3B,0xEC,0xFB,0x25,0xA0,0xA9,0x0E,0x61,0x9A, -0x99,0x6E,0xAB,0xB5,0xFD,0xFA,0x3E,0x24,0x6D,0xC9,0xD1,0x7B,0x87,0x8E,0x20,0x9C, -0x5D,0x39,0xC2,0x01,0x42,0x1B,0x7C,0x84,0x39,0x46,0x5A,0xE4,0x8A,0xDF,0xFF,0xAB, -0x5F,0x04,0xCD,0x0B,0xEA,0xE7,0x50,0xC8,0xA0,0xEC,0x66,0x67,0x54,0xD1,0xE9,0x39, -0x3D,0x6C,0xA7,0x70,0xC3,0x47,0xDA,0x1C,0x9A,0x4E,0x70,0x99,0x03,0x1A,0xE4,0x4C, -0xE1,0xF7,0x92,0x58,0xD3,0x91,0xE5,0x9D,0xBE,0x00,0x74,0x24,0xA2,0x44,0xCA,0x77, -0xC7,0x85,0x6B,0x57,0x46,0x67,0xC6,0xD3,0xD4,0x7F,0x22,0x7D,0xBD,0x70,0x82,0x8A, -0xF7,0x09,0x30,0x62,0xA5,0xE2,0xA6,0xEC,0x8F,0x09,0x8F,0x90,0xBC,0x07,0x26,0x65, -0xF8,0x66,0x0B,0xD2,0xD6,0x9F,0xB8,0x54,0x31,0x6F,0x49,0xFA,0x04,0x76,0x34,0x79, -0xF2,0xE9,0xBB,0x50,0x72,0x78,0x8E,0x2E,0xF8,0x18,0x35,0xDE,0xF7,0xAC,0xE1,0x13, -0x42,0x28,0x1A,0xA5,0x63,0xDC,0x56,0x31,0xF0,0x31,0x26,0xC0,0xC9,0x6A,0x11,0xCE, -0x01,0xEF,0x0D,0xE9,0xCA,0x52,0x9D,0xE3,0x88,0xD9,0xBA,0xFC,0x8E,0xE7,0xAD,0x60, -0x4F,0x7A,0x2E,0x1F,0x58,0x6F,0xEF,0xC0,0xB6,0x29,0x67,0x3A,0x08,0x50,0x4F,0xA1, -0xE8,0x18,0xE8,0xC6,0x02,0xB2,0x7B,0xAC,0x5B,0x10,0x1F,0xA3,0xD0,0x45,0x2D,0xE9, -0x62,0xDA,0xA2,0x84,0xB8,0x5D,0x64,0xC5,0x6C,0x6D,0x3E,0x0C,0xF1,0xB7,0x95,0xC9, -0x53,0x0B,0x3C,0xA7,0x25,0xCC,0xE7,0xEA,0x1D,0x08,0x5E,0x59,0x3E,0x88,0x96,0x6F, -0x98,0x33,0x6E,0xA3,0x80,0x59,0x36,0x0E,0x98,0x68,0x61,0xBA,0x8B,0xA8,0x5B,0x44, -0xF6,0x54,0xF5,0x74,0x8F,0xF5,0xC7,0x02,0xE1,0x24,0x12,0xF1,0xC1,0x74,0x38,0xDD, -0x2B,0x1F,0xC7,0x5E,0xA0,0x56,0x4F,0x99,0xED,0x2E,0x8A,0x74,0xFA,0x13,0x02,0x29, -0xFD,0xD0,0x2F,0x02,0x89,0x45,0x47,0x87,0x50,0x61,0x19,0xE1,0x62,0xB5,0x5E,0xA8, -0x22,0x58,0xD2,0xA1,0xB4,0xB3,0xCC,0x61,0xA9,0x5A,0x90,0xE7,0xCF,0xC3,0x05,0x45, -0xFF,0xDC,0xEA,0xA6,0xF4,0x64,0x70,0x28,0x5C,0xCD,0x16,0x10,0x65,0x31,0x66,0x75, -0xC0,0xDF,0x25,0x00,0xAB,0xDA,0x23,0xDB,0x24,0x20,0x8F,0x29,0x91,0x03,0xE7,0xAE, -0xB0,0x2A,0xEF,0x82,0x41,0x31,0x06,0x11,0x9C,0x5D,0xFC,0x37,0x18,0x83,0xB9,0x0C, -0x9C,0xFD,0x41,0x9F,0x6A,0x55,0x53,0xF9,0x5F,0xD1,0x76,0xDA,0xCA,0x48,0x37,0xA5, -0x70,0x6C,0x68,0xAC,0x2F,0xDD,0x1B,0x06,0xE0,0x94,0xD8,0x40,0x49,0x78,0xEB,0x88, -0x5F,0x50,0x71,0x8B,0x45,0xBF,0x60,0x6E,0x7F,0xF0,0x84,0x62,0xA2,0x92,0xCE,0x42, -0xCF,0x2E,0x89,0x0C,0xCF,0x6B,0xC0,0x47,0xC9,0x2B,0xC5,0x82,0xAA,0x2D,0x46,0xF0, -0x05,0xC4,0xAC,0xE7,0xD4,0x8C,0x49,0x82,0x68,0xDC,0x27,0x05,0xEB,0x35,0x00,0x0A, -0xF3,0xC6,0xF1,0x90,0x60,0x08,0xAD,0x72,0x11,0x27,0xE3,0xF9,0xBA,0xCE,0x52,0x8E, -0x34,0xD1,0xBD,0xD3,0x06,0xCE,0x13,0x18,0x1D,0x8B,0xEC,0x08,0x9D,0xF2,0x4B,0xA1, -0xC8,0x7F,0x42,0x61,0x72,0x14,0x15,0x03,0xFB,0x14,0x74,0xD6,0x54,0xAF,0x45,0xA4, -0x89,0x9F,0x99,0xD7,0x52,0xFC,0x2C,0xA9,0x86,0xCB,0x0D,0x64,0x51,0x24,0x77,0x44, -0x07,0xC8,0x69,0x43,0x22,0xA8,0x4C,0xCD,0x26,0x2A,0xB2,0x26,0x63,0x70,0x48,0xF5, -0x5B,0xEA,0x0D,0xDC,0x5D,0xFE,0x26,0x94,0x4C,0xD9,0x68,0xF3,0x28,0xD8,0x8C,0x80, -0xC9,0x98,0x30,0xFF,0x7B,0xEF,0x24,0xB7,0x23,0x18,0x52,0xAD,0x35,0x0F,0x22,0xAC, -0xC3,0x34,0x92,0x3A,0x4B,0x6C,0xF8,0x9A,0x3C,0xBC,0x43,0x75,0x03,0x15,0x39,0xA0, -0xBF,0xDB,0x43,0x8E,0xE4,0x0F,0x95,0xAF,0xAF,0x74,0x10,0xA6,0x48,0xBD,0xFD,0xD5, -0x1A,0x0A,0xD6,0x6A,0x5B,0x07,0x1D,0x1D,0x13,0x2D,0xDE,0xF6,0xE8,0xFF,0x1C,0x6A, -0xFE,0x3B,0x98,0x38,0x4E,0x33,0x0C,0x2C,0x46,0x5B,0xE7,0x43,0x6E,0x44,0xF2,0xA7, -0xD0,0xE0,0xF3,0x81,0x4C,0x44,0x51,0xDA,0x99,0x6F,0x1C,0xBC,0x0B,0xAA,0xB1,0x12, -0x6C,0x49,0xA5,0x1B,0x9C,0x71,0x56,0xB6,0x2E,0xA2,0x00,0x99,0xA4,0xD3,0xE0,0xC2, -0x3D,0x96,0xA8,0x2C,0x02,0x40,0x75,0x67,0x9A,0x73,0x7C,0x76,0x2A,0xD7,0x86,0xBD, -0x9D,0x1A,0x33,0x01,0xCC,0xCD,0x0F,0x78,0x74,0x64,0x56,0x17,0x5B,0x94,0xF5,0xCB, -0x2E,0x42,0xC9,0x97,0x87,0x96,0xDF,0x73,0x7E,0xE6,0xD9,0xA7,0xC0,0xF8,0xB5,0x2A, -0x26,0xE2,0xAE,0xF6,0xA3,0xF0,0x80,0xA6,0xC2,0xBF,0x17,0xF7,0xB4,0x30,0xF4,0xBC, -0x86,0x6E,0x35,0xDB,0x0D,0x42,0x7F,0x5A,0x60,0x54,0x95,0xBA,0x30,0x84,0x10,0x4C, -0x59,0xE6,0xC8,0x78,0x25,0x80,0xE5,0x8D,0x7A,0xC2,0x64,0xE9,0xD4,0x55,0x85,0xE9, -0x8B,0x93,0x5C,0x73,0x8A,0xE3,0x88,0xB8,0x32,0x1A,0x71,0x8B,0x70,0x59,0x40,0xEB, -0x15,0xFB,0x7A,0x66,0xC7,0x41,0x63,0x3A,0x69,0xCA,0x7A,0xC0,0xE5,0xCB,0xA6,0x38, -0x49,0xD9,0x1E,0xF9,0xEC,0x25,0x36,0xD2,0xC4,0x91,0x97,0xB6,0xE2,0x4F,0x9E,0xE5, -0xED,0xEF,0xF9,0x83,0x5C,0x2F,0xB4,0x5D,0xAE,0x62,0x4D,0x63,0x9E,0x38,0x57,0xC1, -0x9E,0xF1,0x84,0x3B,0x67,0x20,0x04,0x32,0xB2,0xDA,0x3C,0x71,0x58,0x5E,0xE9,0xAB, -0x7D,0x91,0x01,0x04,0x3C,0x10,0x31,0xBE,0x5D,0xDB,0x4B,0xD5,0xF5,0x28,0xB2,0x46, -0xE8,0xB2,0xF7,0x4A,0xC5,0x36,0x3E,0xCC,0xA0,0xC4,0x7F,0x9D,0xA3,0x57,0xD8,0x1F, -0xF8,0x8D,0x21,0xCB,0xF0,0xEA,0x16,0x57,0x9B,0x65,0x21,0xB3,0xA7,0x19,0xFC,0xA2, -0xD1,0x07,0x81,0x1F,0x9A,0x88,0x6D,0x3F,0xEE,0x32,0xEA,0xBE,0xB1,0xBB,0xC6,0x5C, -0x79,0x2B,0x7D,0x53,0x95,0x8A,0x67,0x02,0x7C,0xEC,0xE4,0xA8,0x8D,0x11,0x5F,0xDF, -0xB4,0x90,0x93,0xD5,0xA2,0x21,0x12,0x6F,0x0A,0xA7,0x4F,0x6F,0xC5,0x73,0x87,0xCA, -0xBB,0x61,0x3F,0xD9,0x39,0x4F,0xC5,0x08,0x93,0xED,0x93,0x0C,0xB6,0x3F,0xFE,0x81, -0x1E,0xB0,0xAA,0x3D,0x6B,0x84,0xC1,0x30,0xB8,0x58,0xB3,0xC1,0x89,0x5F,0x7B,0x62, -0x83,0x33,0x3B,0x12,0xF5,0xB5,0xE2,0xE1,0x1E,0x97,0x8C,0xC2,0xE9,0x3A,0x0A,0x37, -0x39,0x2C,0xD4,0x7B,0xBF,0x3F,0xA0,0x23,0x3E,0xB6,0x7E,0x7A,0xC8,0x47,0x3D,0x98, -0x63,0xB8,0x09,0x17,0x79,0x98,0x79,0x41,0x76,0x6E,0x6B,0x18,0xB0,0x7E,0xD0,0x01, -0xF1,0xCA,0x34,0x34,0x5A,0xD6,0x8F,0xD4,0xB7,0xE8,0xDC,0xFA,0x6D,0x8E,0xEE,0xC7, -0x58,0x01,0xBA,0xE6,0x4D,0x95,0xC3,0x13,0x19,0xAF,0x51,0x46,0xF1,0x66,0x96,0xFB, -0xD6,0x56,0x4A,0x72,0xDE,0xD1,0xB7,0x09,0x8F,0x55,0xE2,0x1E,0xD8,0xA4,0x29,0xE6, -0x4A,0x32,0xA9,0xC3,0x20,0xDF,0x11,0x3B,0xAD,0x7E,0x2D,0xA9,0xCC,0x09,0x19,0x25, -0x0E,0x8F,0x7C,0xBC,0x6D,0x7D,0xFA,0xB9,0xC7,0x8D,0xF7,0x7C,0x67,0x3E,0x6C,0x48, -0x4E,0x88,0xD5,0x94,0x68,0x22,0x0E,0x0F,0x59,0xFF,0xF6,0x9B,0x87,0xA1,0xDD,0x50, -0x31,0x8C,0xB3,0x1A,0xED,0xF4,0xA4,0x1B,0xA5,0xF6,0x9F,0x16,0x5A,0x51,0xE3,0x96, -0x36,0xDD,0x78,0x77,0x53,0x2D,0xBE,0x60,0xDE,0x07,0x66,0xE5,0x85,0xAE,0xD7,0x6D, -0xC4,0x65,0x59,0x57,0x80,0xBE,0x76,0x33,0x79,0xDE,0x04,0x23,0x0E,0x21,0x83,0xF2, -0x2F,0xA5,0xBB,0x09,0x0B,0xBB,0x44,0xD3,0x6F,0xE4,0xFA,0x81,0xE4,0x0E,0xB0,0x65, -0xC6,0x69,0x9C,0xF3,0xFC,0x4E,0xD3,0x55,0x4B,0xE1,0xB5,0x77,0x06,0x9E,0x0B,0x40, -0xD7,0xB1,0x38,0xEC,0x14,0xD2,0xAB,0x69,0x4D,0xCF,0x35,0x36,0xF2,0xAC,0x8A,0x9B, -0x91,0x00,0x28,0x37,0x85,0xE1,0x82,0x85,0xB9,0x4E,0xEE,0x04,0x0D,0xEB,0x9F,0x92, -0x0B,0xD2,0x72,0x75,0xE3,0x27,0x3C,0xEF,0xF8,0x08,0x14,0x1C,0x29,0x1D,0x9A,0xDD, -0x54,0x1B,0xA1,0xD0,0xEE,0x52,0x6B,0x24,0x2B,0x90,0xE0,0x12,0x05,0x54,0x17,0x20, -0x7B,0x27,0xB8,0xF7,0x7D,0x16,0x1F,0x3E,0xC6,0x9B,0xAA,0xB9,0xC1,0x3D,0xA3,0x77, -0x53,0x4A,0x6A,0xBD,0x86,0x47,0x4D,0xBA,0xAB,0x50,0xAD,0xE8,0x1C,0xCD,0x9D,0xB1, -0xF4,0x97,0x3A,0xFD,0xC9,0x92,0xFB,0xCE,0x15,0x03,0x5E,0xB7,0x39,0xFE,0x8E,0xA3, -0xA7,0xA1,0x95,0x34,0x14,0x1E,0xB4,0x60,0x9C,0xE0,0x63,0xEA,0xE8,0x30,0xFB,0x65, -0xF9,0x28,0x37,0xB4,0xAC,0x00,0xC7,0x1D,0x76,0x2A,0x46,0x01,0x1D,0xB2,0x8B,0xAF, -0x77,0xFA,0x9E,0x7F,0x6F,0xED,0x4D,0x91,0x5D,0xC2,0x13,0x65,0xCA,0xAF,0xA7,0x01, -0xAB,0x79,0xB3,0x4F,0xD0,0x77,0xE3,0xD4,0x18,0x3D,0x5B,0xED,0x5B,0x9C,0x4B,0x28, -0x42,0xCA,0x12,0x24,0xDD,0x43,0xB1,0x6E,0x97,0xA2,0x0F,0x66,0x28,0x6E,0x10,0x87, -0x1E,0x52,0x93,0x82,0x60,0xD6,0x22,0x21,0xBE,0xBC,0x07,0x75,0xE7,0x32,0xC6,0x6F, -0x45,0xFF,0x7E,0xF4,0x99,0xD0,0xAB,0x1A,0x83,0x5A,0x8C,0x83,0x6F,0x91,0x19,0x92, -0x26,0x55,0x4E,0x06,0x6C,0x27,0x2D,0x8D,0xC3,0x13,0x30,0x54,0xEB,0x96,0xC4,0xAA, -0x0B,0xAD,0x9A,0xC5,0x2D,0x3F,0xD7,0xCB,0x31,0x23,0x53,0xFE,0xE6,0xE3,0x0F,0xFD, -0x05,0x64,0x9F,0x98,0xCB,0xE1,0x4F,0x54,0x45,0x38,0x55,0x24,0x48,0x51,0xF3,0x02, -0x37,0x61,0x7F,0x13,0xB6,0x53,0x36,0x8B,0x65,0x92,0x6C,0xCC,0xA8,0xE7,0xB2,0xD9, -0x08,0x53,0xCE,0x47,0x16,0x11,0x89,0x6A,0x15,0xF6,0x0C,0x98,0xFF,0x73,0x3C,0x29, -0x8E,0x92,0x79,0xA5,0x4F,0x55,0xBF,0xB0,0x72,0x55,0x20,0x8F,0x67,0xBB,0x64,0x31, -0x06,0x9A,0xCB,0x1A,0xF9,0xB5,0xFE,0x6B,0xF8,0x7C,0x80,0x5B,0x19,0x3C,0xF4,0xC9, -0x40,0xDB,0x31,0x02,0x58,0x32,0x1C,0x9C,0xE3,0xB9,0x09,0xBC,0xF3,0xD7,0x3E,0xEC, -0x12,0x8A,0xB5,0xF9,0x21,0xCE,0xD8,0x67,0x57,0x49,0xED,0x38,0xF1,0xA0,0xC8,0xB1, -0x5C,0xD8,0x51,0xC8,0x23,0xC1,0xE5,0x6D,0x6C,0x26,0x5D,0x37,0x3D,0x5A,0x21,0x96, -0xB2,0x5E,0x9C,0x73,0x76,0x74,0xDC,0x1B,0x79,0x17,0x4C,0x03,0x0C,0x08,0xC5,0xD8, -0xF1,0x3B,0x29,0x9D,0xA9,0x8B,0x27,0x2F,0x7B,0xE1,0x11,0x74,0xD7,0xB1,0xEB,0xB3, -0xA0,0x94,0xF9,0xE4,0x1E,0xAE,0x3B,0xE2,0xAB,0x8D,0x16,0x41,0x7E,0x2B,0x57,0xE5, -0xCC,0x18,0xBB,0xEF,0x7C,0xC4,0x53,0x99,0x6A,0xAF,0x66,0xCE,0xDD,0xEC,0x60,0x4D, -0x62,0x05,0x97,0x38,0x13,0x9A,0x69,0x58,0x4C,0x8C,0x64,0xDF,0xAF,0xCF,0xF2,0x70, -0x79,0x33,0x9B,0x22,0x0C,0x42,0x78,0xFC,0x7C,0xA1,0xB8,0x5C,0x03,0x0A,0xF8,0xD2, -0xBD,0x78,0xEE,0x8A,0x9F,0x91,0x2B,0x34,0xD3,0x94,0xD5,0x3F,0xEC,0xBE,0x84,0x03, -0x50,0x00,0x77,0xB3,0x50,0x8D,0xAE,0x14,0x3A,0x61,0x3F,0x72,0x59,0xEB,0xBD,0x75, -0xC5,0xE4,0xD2,0x62,0x4A,0xDE,0x5F,0x82,0x12,0xB6,0xA5,0xB0,0xD1,0x48,0x62,0x88, -0x00,0x40,0xD0,0x6E,0x02,0xBC,0x4A,0x5A,0xBD,0x83,0xC8,0xD3,0xA4,0x43,0xB0,0x1C, -0xE6,0xD5,0x03,0xFC,0x59,0xF7,0x41,0x8A,0xF0,0x01,0x23,0x71,0xCC,0x56,0x2E,0x3A, -0xC6,0x1A,0x86,0xE0,0xAA,0x41,0x47,0x33,0x35,0x5C,0x35,0x70,0xA1,0x1C,0x06,0xE8, -0xB5,0x6B,0xF0,0xA3,0x44,0x20,0x6D,0x24,0xFB,0x43,0x4F,0xFD,0x2D,0x31,0xA6,0x73, -0xF5,0xF0,0x11,0xCF,0x4E,0x90,0xE2,0xA6,0xB0,0x48,0x9F,0xA6,0x75,0xA7,0x15,0x89, -0xB4,0x84,0x87,0x07,0xF2,0xC0,0x2C,0xFF,0x94,0x9D,0xC0,0xC0,0xD5,0xC6,0x1D,0xEE, -0x98,0x93,0x24,0x60,0x90,0xAA,0x44,0x84,0xF2,0xF7,0x7E,0x06,0x85,0x7A,0xD3,0xB7, -0xBC,0x97,0x99,0x2E,0xAB,0x84,0x1A,0x25,0xC7,0x6C,0x56,0xDA,0xBA,0xFB,0xC3,0x61, -0x86,0x81,0x67,0x8C,0xDE,0x89,0xD1,0x72,0xAD,0x04,0x2D,0xB8,0x30,0x2F,0xEA,0xC1, -0x1F,0xBD,0xE4,0x26,0x4C,0x9F,0xDF,0xAC,0xA2,0x39,0x27,0xBA,0x1C,0x63,0x42,0x3D, -0xDE,0xD2,0xDE,0x78,0xF4,0x81,0xAC,0xD1,0xDB,0xE9,0x76,0x15,0xEE,0xC9,0x72,0x5E, -0x17,0xAE,0xFA,0x0F,0x9E,0x54,0x76,0x22,0x6B,0x66,0xF4,0x1F,0xD8,0xB3,0xD6,0xB9, -0xA9,0x68,0x90,0x69,0x82,0x46,0x07,0x9A,0x50,0x09,0x44,0x10,0xC6,0x0B,0xA5,0xC4, -0xF2,0xC5,0x7D,0x1F,0x6D,0xE2,0x70,0x9B,0x0B,0x85,0x71,0x20,0xA6,0x34,0x46,0x41, -0x7D,0xF8,0xA3,0x70,0x0E,0x4D,0x45,0xF6,0x88,0x18,0xE0,0x0F,0x1B,0x4B,0x02,0x94, -0x90,0x80,0x3A,0x49,0x46,0x2F,0x50,0x2E,0x4E,0x7A,0x39,0xA8,0x8F,0x27,0x58,0x49, -0xAE,0x5D,0xFC,0xB9,0x87,0xCD,0xE7,0xA8,0x6D,0xEF,0xCF,0xE6,0xFD,0x04,0xCA,0x74, -0xD6,0xC1,0xC0,0x51,0x29,0x71,0x6A,0xEF,0x7A,0x28,0x83,0xA5,0x36,0xD6,0x63,0xFA, -0xC7,0xF5,0xF1,0x44,0x3A,0x58,0x74,0xE7,0x95,0x54,0x52,0x11,0xA7,0xE5,0x8F,0xD3, -0xBE,0x86,0xBA,0x08,0xA3,0x3B,0xA8,0xAD,0x0E,0x33,0x85,0x7F,0x56,0xE9,0x80,0x7F, -0x3B,0xB9,0x59,0x68,0x88,0xF6,0x88,0x18,0x5C,0x0B,0x81,0xB4,0x87,0x0D,0x25,0xEA, -0x4A,0xD9,0x0C,0x0D,0x2E,0xF5,0xB7,0xD7,0xC2,0xDA,0xA2,0x85,0x04,0x22,0xB8,0x7B, -0xA3,0x6A,0xAD,0x66,0x95,0x21,0xA4,0xB6,0xDA,0x20,0xE4,0xC4,0xBB,0x2A,0x0A,0xF3, -0x97,0xB5,0x56,0x99,0xEE,0xD2,0x5D,0x47,0x64,0x5B,0xFE,0x1D,0xEA,0x47,0x0D,0x38, -0xC3,0x3E,0xC9,0x16,0x49,0x14,0x3F,0x9E,0xB7,0x08,0x36,0x8E,0x52,0x67,0xFF,0x19, -0xF0,0xD4,0x5E,0x39,0x5F,0xB6,0xC1,0xA4,0x3C,0xE8,0x04,0x8B,0x92,0x39,0x14,0xFB, -0x69,0xE8,0xDD,0x93,0xBF,0x29,0xD9,0x15,0xE9,0x32,0xF7,0xE1,0x61,0x42,0xED,0x0A, -0x59,0xFC,0x1E,0x3E,0x9D,0x9E,0x16,0x3E,0x17,0x00,0x51,0xEF,0x05,0xF3,0x71,0xE9, -0x2C,0x57,0x73,0x09,0xF7,0x4B,0xCC,0xCD,0x5A,0x82,0xBA,0x4D,0xB8,0x8C,0x35,0x3C, -0x9D,0xB7,0x6B,0x96,0x69,0xAC,0xCD,0xBF,0x5F,0x34,0x4E,0x12,0xBF,0xA4,0x75,0x95, -0x57,0x35,0x1B,0x63,0x1B,0x25,0xDB,0xD0,0xD9,0x1F,0x2B,0x62,0x2C,0xE0,0x6F,0xE1, -0xE3,0xF1,0x4C,0x0A,0xF6,0x8E,0x91,0xDB,0x4A,0x05,0x5F,0x26,0x10,0xC7,0x40,0xF8, -0xDD,0x2C,0x8A,0xFA,0x9B,0xDF,0x96,0x10,0xB1,0x81,0x0D,0x77,0x7D,0x8D,0x68,0x2A, -0xCE,0x09,0x98,0xC9,0x25,0x80,0x65,0x43,0xFE,0xF5,0xBB,0xA2,0xA0,0xCD,0xCF,0x7A, -0x4B,0x36,0x7B,0xA9,0x7B,0x40,0x8E,0xA1,0xCB,0x6E,0x93,0x7E,0x5E,0xC3,0xFD,0xDC, -0xCA,0xC2,0xA0,0x9B,0x7D,0x01,0x0E,0x8F,0x23,0x52,0xEB,0xE2,0x86,0xDC,0xEC,0x78, -0xDF,0x3D,0xA9,0xDC,0x89,0x33,0xD5,0x0E,0xB2,0xBE,0xC2,0xD1,0x37,0x07,0xAA,0x68, -0xDA,0x19,0xE6,0x2A,0xC8,0x2B,0x2F,0x48,0xD4,0xD4,0x7C,0x17,0xE5,0x45,0x30,0x32, -0x23,0xDC,0x8F,0x24,0x36,0xCF,0xAA,0xE9,0xEF,0x8B,0x1B,0x8E,0xAA,0xD8,0xE9,0x5C, -0x47,0xAC,0xEF,0x70,0x61,0x5B,0x5A,0x67,0xDD,0xB4,0xAA,0xDA,0x0A,0x9A,0x08,0xE3, -0xED,0x8C,0xD6,0x98,0x81,0xED,0x81,0x26,0xD8,0x86,0x4A,0x51,0x77,0x28,0xD7,0x9A, -0xF6,0xF8,0xD0,0x42,0x2F,0x5F,0x7E,0xDA,0x11,0x88,0x4F,0x0C,0x91,0xF6,0x48,0x02, -0x9C,0x9E,0x6E,0x84,0x38,0x1C,0x32,0x1D,0x36,0x91,0x60,0x30,0x9D,0x07,0xE4,0x0D, -0x6C,0x2A,0x8A,0x00,0x3A,0x6B,0x6F,0xEB,0x67,0xC3,0xE4,0xCB,0xE4,0xFB,0x1F,0xC9, -0xA9,0x31,0x03,0xE7,0xD0,0x80,0x4A,0x21,0x26,0x85,0x1E,0xD3,0x45,0x7C,0xE8,0x2B, -0x80,0xBB,0xA3,0x33,0xAE,0x07,0xB2,0xB1,0x2E,0x0D,0xAC,0x6C,0xF3,0x9C,0x33,0x6A, -0xE8,0xD1,0xD8,0x51,0x92,0x20,0xAB,0x9E,0xC5,0x28,0x66,0x86,0x6C,0xBE,0x57,0x36, -0x17,0x94,0x90,0xD9,0x03,0x13,0x82,0x72,0x46,0xF4,0x4B,0xB6,0xD3,0x24,0x12,0x98, -0xFF,0xBF,0xC5,0xBD,0xD4,0x0E,0x2C,0x5E,0x94,0x7A,0xE2,0x7D,0x10,0xC9,0x9E,0x12, -0x35,0x55,0xE0,0x56,0x21,0x8C,0xE6,0x2E,0x1D,0x24,0x40,0xFD,0xA8,0xD7,0xE3,0x61, -0xC6,0x0A,0xB3,0xE8,0x22,0x2A,0x29,0x11,0xE9,0xA5,0x9B,0xCF,0xD0,0xEE,0x0E,0xF8, -0x8F,0x4A,0x0F,0x3F,0xA6,0x2D,0x11,0xCC,0x43,0xC6,0xAB,0x3D,0x25,0x19,0x99,0x7E, -0x69,0x77,0x84,0xC9,0x2E,0x8E,0xEC,0x13,0xEE,0x9D,0x46,0x4B,0xDC,0x1F,0xA2,0xF7, -0x77,0x5E,0x8C,0xDA,0xE1,0xD2,0x04,0xC5,0x76,0xC1,0xC7,0xED,0x61,0x8A,0xED,0x64, -0xD4,0x39,0xA0,0xCD,0x05,0xEA,0xB9,0xFB,0x69,0x65,0xD6,0x35,0xE5,0x3E,0x09,0x94, -0x56,0x74,0x4B,0x6F,0x6D,0xFF,0x9F,0x65,0xFC,0x83,0x05,0xA7,0xBE,0x75,0xD9,0x9F, -0x63,0xDB,0x26,0x0C,0x18,0xF4,0x0B,0xB7,0x58,0x46,0x07,0xAB,0xF6,0x17,0x01,0x8A, -0xB4,0xF3,0xBC,0xCE,0x90,0x57,0xF6,0x68,0xBC,0xD3,0xA2,0x7A,0xEC,0x44,0x97,0x7B, -0x48,0x5D,0x43,0x7C,0x1C,0x7A,0x6D,0xC8,0x38,0x37,0x52,0xCE,0x4E,0x09,0x7C,0xF9, -0x9D,0x79,0x1C,0x1A,0xBC,0x1B,0x0A,0xC0,0x4C,0x76,0xC4,0x06,0xF2,0x59,0x25,0x37, -0x96,0x32,0xCC,0x41,0xE4,0x8D,0xF0,0x73,0xD7,0x36,0x25,0x6A,0xF8,0xE9,0xA7,0xB8, -0x89,0xFC,0xB6,0xCC,0x68,0xA0,0x6B,0xD3,0xA6,0x45,0x53,0x29,0x16,0x88,0xB0,0x92, -0x58,0x62,0x95,0xFD,0xB7,0x97,0x66,0x82,0x28,0x23,0x2C,0x2D,0xA2,0x67,0x61,0xEE, -0x34,0xB2,0x92,0xC8,0x1E,0x0D,0x30,0x3E,0x87,0x72,0xFC,0x54,0x15,0x42,0xAC,0xF2, -0xC2,0xB0,0xCF,0xBF,0xC5,0xB4,0x5B,0x10,0xE2,0x31,0x49,0xBA,0xCA,0xBD,0x98,0x09, -0xF3,0xA5,0xDE,0x8B,0xF4,0xE6,0x15,0xF4,0x64,0xDF,0x84,0x01,0x9F,0x08,0xEE,0x30, -0x41,0x1A,0x56,0x83,0x25,0x02,0x80,0x51,0xC4,0x3E,0x3B,0x43,0x23,0x58,0xB7,0xFE, -0x74,0xB5,0x3B,0xE0,0xCA,0xB6,0x51,0x2D,0x8F,0xFA,0x4E,0xEB,0xB0,0x8B,0x7F,0xAD, -0x59,0x85,0xE7,0x63,0x66,0x73,0xF3,0x27,0xB9,0xE1,0x42,0xF1,0xAF,0x53,0xDB,0xBC, -0x7A,0xA3,0xE5,0x72,0x14,0x50,0xCE,0xB5,0xA4,0x4F,0x6E,0x26,0xC0,0x0D,0x1A,0x86, -0xFD,0xB3,0x00,0x19,0xFF,0x6A,0x79,0xB6,0x7D,0x55,0x15,0x98,0x95,0xB8,0x6C,0xBF, -0x3A,0xA4,0x4C,0x5A,0x34,0xB8,0xF7,0x1F,0xE1,0x2D,0x29,0x70,0x3B,0x04,0x2B,0x32, -0xAF,0x87,0xBA,0x14,0x46,0x9B,0xCA,0x8D,0x3C,0x13,0xEF,0x80,0xFA,0xE6,0xAD,0x85, -0xCD,0x41,0x63,0xB3,0xD2,0xF7,0x17,0xD7,0x44,0xFE,0x76,0xB9,0xB2,0x84,0x75,0x90, -0x0F,0x0B,0x21,0x39,0xCD,0x9E,0xF8,0x6D,0x65,0xC9,0xD9,0xC4,0x92,0x3C,0x54,0x62, -0xDE,0x95,0x02,0x08,0x4E,0xB1,0x69,0xF0,0x05,0xB8,0x8C,0xA1,0x34,0x3F,0x9B,0x5D, -0xE6,0xC7,0x06,0xC3,0x9F,0x55,0xFC,0x55,0x3A,0x3D,0x6F,0xC1,0x1F,0xF2,0x2E,0x7D, -0x81,0x5C,0xD1,0xAD,0x6E,0x59,0x50,0x5A,0x49,0x44,0x24,0x8D,0x86,0x91,0x64,0xA1, -0xEC,0x6B,0xA4,0x06,0xD5,0xDF,0xBE,0x97,0x01,0x9C,0x31,0xEF,0xF0,0x56,0x2F,0x0A, -0xD1,0x64,0xAE,0x04,0xF9,0x93,0x42,0x3F,0x3D,0x05,0xB2,0x45,0x62,0x40,0xF1,0x04, -0xB9,0x0E,0xD5,0x66,0x73,0x47,0xE2,0x16,0x2B,0x3F,0x4C,0xE7,0x17,0x4D,0xA6,0xCF, -0x22,0x3B,0xFD,0xBA,0x4C,0xC6,0x34,0x06,0x2F,0x1B,0xF1,0xA9,0x2C,0x63,0x07,0x91, -0x50,0xC2,0xF2,0x9C,0x6F,0x88,0xC2,0x93,0x79,0x71,0xA8,0xD6,0xD1,0x2B,0x18,0xA5, -0xDC,0x99,0xC7,0xAC,0x0F,0xB7,0x47,0x70,0xD4,0x2A,0x45,0xA0,0x3E,0x8F,0x19,0xD2, -0xB3,0xA2,0x77,0xA3,0x11,0x0F,0x3A,0x03,0x12,0x94,0x2F,0xC6,0x22,0x9D,0xA1,0xA3, -0x3C,0x12,0xF5,0xA9,0x27,0x75,0xDD,0xA7,0x6E,0x5D,0x0B,0xB1,0x48,0x48,0x52,0x79, -0x20,0x37,0x38,0x1E,0x69,0x71,0xF9,0x1A,0xB5,0x4D,0x4D,0x00,0x99,0x49,0xC0,0xB0, -0x54,0x78,0x8E,0xCB,0xB4,0x31,0xA9,0xBD,0x90,0x5E,0x5F,0x33,0x27,0x16,0x93,0x43, -0xD0,0x83,0xDC,0x9A,0xD9,0x7B,0x7B,0x95,0x4D,0x60,0x99,0xC3,0x4A,0x47,0x58,0x44, -0xCA,0x10,0xA8,0xDE,0xE5,0x5C,0x62,0xBA,0x89,0xD4,0xCE,0xAA,0xA7,0xEC,0x53,0x0E, -0x01,0x1D,0xFF,0xAB,0x2C,0xF9,0xB1,0xE5,0xA5,0x59,0x33,0xE3,0x74,0xE2,0xCB,0xFA, -0x6B,0x7B,0x41,0x6D,0xFE,0xBB,0xEB,0x7F,0x81,0x5C,0x7C,0x15,0x35,0xFA,0x8D,0x00, -0x87,0xEA,0x68,0x5E,0x4F,0x60,0xFB,0x39,0x7E,0x49,0x75,0x52,0xC1,0xC8,0x0C,0xDB, -0xBB,0x02,0x10,0xC2,0x97,0x7F,0x5F,0x28,0x8A,0xC8,0xAE,0x60,0xC7,0x89,0x22,0x5B, -0x3D,0xF5,0x87,0x37,0x5B,0x85,0x78,0xC1,0x68,0x73,0x8B,0xF0,0xE3,0x7F,0x27,0x14, -0xDD,0x7E,0xB5,0x32,0x9B,0xDB,0x9A,0x2A,0x82,0x40,0x1C,0xDF,0xF5,0xDD,0x1D,0xEA, -0x8E,0xAD,0x7D,0xA1,0x23,0xFB,0xBB,0xD8,0x09,0x14,0x83,0x50,0x52,0x1B,0xC4,0x88, -0xF5,0x13,0x67,0x78,0x72,0x96,0x70,0xDF,0xD6,0x20,0x78,0xAF,0x29,0xE8,0x35,0x71, -0xE1,0x96,0xCD,0xAE,0x76,0x18,0x16,0xA0,0x0B,0x1E,0xBE,0x5F,0xD5,0x65,0x3C,0x18, -0x57,0x93,0x39,0xF1,0x71,0x30,0xBF,0xE0,0xEB,0xAF,0xA6,0xC0,0x4B,0x82,0x4E,0x19, -0xD5,0xDE,0xD2,0x53,0xCC,0x4F,0x6A,0xA4,0x40,0xDA,0xCB,0xF7,0x21,0x57,0xBD,0xC3, -0xE7,0x20,0x74,0x5D,0xA8,0xFE,0x89,0x38,0x54,0xEA,0x08,0x5A,0x03,0xE0,0x96,0x0C, -0xD3,0x7B,0x9E,0x0B,0xB8,0xF3,0xB3,0x07,0x5F,0xFE,0xB7,0x0B,0xF1,0xB7,0xB9,0x3A, -0x04,0x53,0x04,0xC9,0x30,0x50,0x4E,0xD8,0xBB,0x6B,0x12,0xDA,0xEB,0xE4,0x2F,0xCB, -0x64,0x99,0x18,0xCA,0xA5,0xED,0x01,0x4B,0x6E,0xDD,0x66,0x95,0xE2,0x9E,0xB1,0x24, -0xE6,0xD4,0xF3,0x68,0xCD,0xF8,0x27,0xD5,0xFB,0x3B,0xB5,0x07,0xB9,0xD5,0x61,0x2F, -0x26,0x92,0x74,0x46,0x44,0x8A,0x48,0xC3,0xD0,0x8E,0x95,0xCA,0xFF,0x49,0x1F,0x08, -0x39,0x5C,0x0E,0xCB,0xC8,0xA7,0xD3,0x63,0xA1,0xFD,0xE3,0x89,0x11,0x28,0x08,0x22, -0xF8,0xFD,0xFB,0x7B,0xBC,0x7D,0xD5,0x78,0x3F,0x8F,0xE2,0x6E,0x49,0xA9,0xC4,0x49, -0x2D,0xD9,0xA4,0x1D,0x1C,0x1C,0xB2,0x70,0x4B,0xCE,0x74,0xA6,0xF5,0xF9,0x9D,0x87, -0x72,0x10,0x77,0xB8,0x65,0xB3,0xE3,0xA0,0xE5,0x89,0xF9,0x1A,0xCD,0x1D,0x20,0xB9, -0x43,0x05,0x66,0x8C,0x54,0xE1,0xAD,0x44,0x63,0x67,0x34,0xA1,0x98,0xA8,0x56,0x80, -0xE8,0xC2,0x2D,0xFA,0x17,0x90,0xDE,0x32,0x2F,0x9B,0x9C,0x8D,0xA5,0xC7,0xD9,0x5E, -0x84,0x12,0x2A,0xCF,0xBE,0x0A,0x88,0x8E,0x80,0xCA,0x4C,0xF4,0x12,0xE2,0x14,0x42, -0xE9,0x25,0x5F,0x64,0xC6,0x74,0x4B,0x97,0xBE,0x59,0xF2,0x51,0xA8,0xF3,0x63,0x0C, -0xCA,0x03,0x5D,0x75,0xB4,0x57,0x76,0x05,0xA3,0xF7,0xDE,0x86,0xC7,0xAD,0xA2,0x36, -0xF1,0xBA,0xEE,0x84,0x85,0x05,0x38,0xE1,0xC3,0x86,0x8B,0xE3,0x24,0xF8,0x0F,0x4E, -0xC4,0x15,0x83,0xE7,0x6A,0xB1,0xE9,0x9D,0x88,0x42,0xFE,0x4B,0xB7,0x2B,0xC7,0x1D, -0x5D,0x2C,0x6E,0x9F,0x21,0xEA,0x39,0x96,0xDF,0x3E,0xFA,0xF1,0x70,0x88,0x6F,0x2A, -0x46,0x58,0x68,0x45,0x8F,0x58,0xC6,0x6A,0x16,0x30,0xFF,0xAC,0x96,0x56,0xF0,0xB2, -0x93,0x7C,0x37,0x23,0x96,0xC8,0x12,0x59,0xE8,0x33,0xAB,0x2E,0xAD,0x78,0x51,0xEC, -0xF7,0x0C,0x57,0x77,0xC1,0x5C,0xE2,0xD7,0xDA,0x0C,0x1A,0x7A,0x0D,0x3A,0xB0,0x53, -0x19,0x91,0xBB,0xE0,0x70,0x87,0xF2,0x91,0x21,0x3D,0xAE,0x73,0x42,0xDC,0x50,0x9B, -0x30,0x1B,0x1B,0x34,0x0E,0x00,0x0A,0x01,0x29,0xB5,0x1C,0xCC,0xF4,0x3C,0x8B,0xDA, -0x2C,0x3E,0xD6,0x83,0x98,0x1B,0x8A,0xAD,0x31,0x29,0xD0,0x90,0x9A,0xA7,0x5C,0xBD, -0xDC,0x8A,0x32,0x07,0x9A,0x6C,0xD7,0x5B,0x60,0x7B,0x54,0x6B,0xE3,0x5B,0xA7,0x79, -0x4F,0x1F,0x7D,0xBA,0x74,0x09,0x94,0xEE,0x93,0xC2,0x52,0xDD,0x17,0x69,0x26,0xA2, -0x85,0xF5,0x58,0x51,0x81,0x8B,0x5E,0x9E,0x1A,0x9C,0xF0,0x5D,0xAF,0x77,0x5B,0xD1, -0x58,0x71,0x60,0x56,0x32,0x27,0x13,0x2E,0xC2,0x90,0xD6,0x26,0x6B,0x1E,0xEF,0x86, -0xA7,0x34,0x28,0xDE,0xA3,0x14,0x3A,0xC2,0x41,0x4C,0xFB,0x16,0xD4,0x84,0xAA,0x28, -0xD9,0xD7,0x3C,0xCE,0x8E,0x89,0x54,0xA3,0xE9,0x25,0xF6,0xEB,0xDB,0xBF,0x1A,0x47, -0xC7,0xFE,0x34,0xDD,0x41,0xD5,0xBC,0x75,0x71,0x79,0x77,0x4D,0x66,0x2A,0x55,0xD4, -0x76,0xAA,0x0B,0xEF,0x82,0x2D,0x91,0xA1,0xEE,0x1D,0x2B,0x6F,0xD7,0x4E,0xB6,0x48, -0x3F,0xEA,0xB7,0x38,0x06,0x2A,0xA9,0x7C,0x44,0x7E,0x1B,0x9D,0x22,0xB9,0x21,0xCE, -0x60,0x23,0x64,0x9D,0x79,0x7C,0xC3,0x25,0x4A,0xD8,0x29,0x63,0x4D,0xE7,0xE0,0xF4, -0x7A,0xB0,0x10,0xD9,0x45,0x5B,0xDA,0x0A,0x8E,0x6C,0x7E,0x0A,0xA0,0x4C,0xEB,0xBE, -0x90,0x97,0x80,0x19,0xC9,0x76,0x41,0xAA,0xB2,0xF5,0xFD,0xA0,0x9E,0xE9,0x78,0x00, -0xE4,0xD8,0x36,0xCC,0x14,0x36,0x11,0x0D,0x97,0xE6,0xEF,0x93,0x20,0xB6,0x2B,0xF3, -0x37,0x4A,0xD0,0x59,0xEF,0x67,0x43,0x89,0x79,0xF1,0xC5,0xF2,0xC6,0x68,0xB4,0x6B, -0x0B,0xA2,0xA8,0xC5,0x37,0x78,0xE7,0x98,0x8D,0x70,0x1E,0xC0,0xC0,0x29,0x9A,0xEB, -0xB1,0xBD,0x47,0xAC,0x8C,0xFE,0x09,0x55,0xA2,0xE1,0x83,0x43,0x73,0x42,0x73,0x4A, -0xDB,0xDB,0xF9,0x6A,0x5E,0xBC,0x53,0xCF,0x86,0xE4,0xCC,0xB5,0x32,0x5A,0x35,0xB0, -0x3E,0x0D,0xC5,0xA6,0x83,0xFC,0x03,0x68,0x0E,0xAC,0x33,0xF0,0x55,0xBB,0x7C,0x38, -0x45,0xB3,0xDF,0x7F,0xD2,0x91,0xC8,0x6F,0xD1,0x98,0xC8,0x0F,0x2E,0x48,0x8D,0xC1, -0x8D,0x55,0x3F,0x30,0xFB,0x82,0xC0,0x71,0x6F,0xCB,0x3B,0x50,0xE4,0xDF,0x9F,0xA4, -0x6D,0xDE,0x0D,0x35,0x3B,0xDC,0x22,0x9A,0x85,0xF8,0xAC,0x7F,0xF2,0x7D,0xA5,0x5A, -0x65,0x7E,0x6A,0x54,0x6C,0x48,0xD2,0x14,0x47,0x62,0x7B,0x57,0x26,0xF7,0x05,0x73, -0x57,0x80,0xCC,0x5A,0x08,0xF9,0x31,0x88,0x53,0x52,0xB8,0xFA,0x04,0x40,0x2E,0xBC, -0x51,0x36,0x75,0xA9,0xD6,0x1F,0xAE,0x10,0x0C,0xA6,0x0E,0xFF,0xD2,0xC5,0x84,0xA8, -0xE7,0x33,0x81,0xF6,0xD1,0x37,0x07,0x50,0xEC,0x17,0x16,0x60,0x4C,0x22,0xF6,0xA9, -0x1F,0x27,0x02,0x13,0xE6,0x9C,0x72,0x3D,0x3B,0xAB,0x5F,0x20,0xFD,0x46,0x15,0x35, -0x7D,0xE1,0xDB,0xB4,0x72,0xF0,0xAF,0x67,0x43,0x46,0xC6,0x19,0xB5,0x24,0xCD,0x20, -0x4D,0x13,0xB8,0x1E,0x5F,0x6D,0xC1,0x06,0x7A,0xED,0xA5,0x38,0x92,0x18,0xD4,0x0F, -0x8A,0x04,0xF4,0x5D,0x94,0xBF,0x4F,0xAF,0xE6,0x95,0x99,0xD0,0x3C,0xA4,0x93,0x82, -0x56,0x67,0xBE,0xC4,0x3F,0x52,0x44,0xE5,0x3D,0x85,0xDF,0x61,0x18,0x52,0x96,0xCD, -0x31,0xFC,0x69,0xAA,0xCE,0x5E,0xE8,0xEA,0x4E,0xFC,0x94,0x2D,0x81,0x31,0xDC,0x11, -0xBF,0xAB,0x99,0x3E,0x6D,0x99,0x40,0xDD,0x62,0x71,0x69,0x64,0x95,0x9C,0xEC,0xD2, -0x6E,0x35,0xBA,0x0F,0xEE,0xB6,0xD1,0x40,0x02,0x00,0x3C,0x01,0x33,0x9F,0x23,0xED, -0x09,0xAE,0x6D,0x61,0xD3,0x40,0x5A,0xA6,0x2C,0x87,0xFC,0x47,0x10,0xED,0x1E,0x7F, -0x92,0x9B,0x45,0xBD,0xEC,0xC1,0x8C,0xB6,0x28,0xA3,0x41,0x09,0x2B,0xC3,0xBF,0x21, -0x5C,0xCB,0x1C,0x01,0x75,0xD8,0x06,0x27,0x06,0x24,0x81,0x4F,0xF7,0xF6,0x97,0xBA, -0x61,0xC4,0x16,0x03,0x59,0x94,0xFA,0x8F,0x3A,0xBD,0x02,0xE5,0x65,0xE0,0x49,0xB4, -0x03,0x02,0xCF,0xA4,0xB1,0x08,0x82,0xB3,0x15,0x2C,0x9F,0x66,0x25,0x3D,0x19,0x13, -0x8C,0xB2,0x4D,0xAE,0x87,0x72,0x65,0x17,0x69,0xE5,0xBB,0x11,0x4F,0xE8,0xEA,0xC9, -0xE0,0x62,0x4A,0x9B,0xCF,0x8F,0x7A,0x23,0x7E,0xC9,0x18,0x76,0xD6,0x8B,0xA0,0x15, -0x6C,0x39,0x7F,0xAB,0xAF,0xB0,0xFF,0xC0,0xD3,0x92,0xF5,0x00,0x39,0x2F,0xA1,0x62, -0x39,0x27,0x14,0x2E,0xC0,0x35,0xD1,0xB0,0x77,0x6E,0x51,0x60,0x48,0xE1,0x7E,0x87, -0xFD,0x6C,0x61,0x86,0x53,0xE6,0x82,0x78,0xD8,0x5B,0x3C,0x03,0xA7,0x55,0x02,0x56, -0xE6,0x5A,0x6D,0x9C,0x4C,0x3E,0x93,0xDC,0xE8,0x76,0xE0,0x80,0x0B,0x90,0x08,0xF4, -0x48,0x47,0x41,0x4B,0x23,0x60,0xA9,0x1D,0xCE,0x55,0xE2,0x91,0x79,0xB3,0x9A,0xC9, -0x24,0xCB,0x03,0x40,0x41,0x0A,0xC1,0x66,0x0F,0x77,0x92,0x1E,0xDA,0x74,0xAD,0x61, -0x75,0x64,0xD3,0x39,0xF6,0x2F,0xDD,0xAB,0xDF,0x1B,0x95,0x2B,0x73,0xEE,0x11,0x37, -0x36,0x01,0x66,0xD7,0x29,0xD0,0x26,0x9F,0xDD,0xED,0xC8,0x5C,0xA8,0x57,0x3F,0x5C, -0xD8,0x87,0xAB,0x6C,0x7C,0x65,0x1F,0xE9,0xC8,0xDC,0xD9,0x68,0x99,0x05,0xDB,0x12, -0x30,0xDB,0x7D,0xA3,0xAD,0x64,0xD6,0x7B,0x30,0x67,0x44,0x9F,0x71,0x99,0xE7,0x6A, -0x71,0xAF,0xEB,0x6B,0x11,0x34,0x18,0x22,0x14,0xB2,0x1B,0xF9,0xD1,0xF8,0xEF,0x0D, -0x31,0x34,0x0A,0x07,0x1B,0x84,0x97,0xA0,0x5F,0xB9,0xCB,0xA2,0x89,0x6E,0x5C,0xF7, -0x42,0x45,0x7C,0x44,0xF5,0xE5,0xBD,0xB7,0x91,0xA6,0xB1,0x2F,0x05,0x43,0xFC,0x6C, -0x62,0x8A,0xF9,0x58,0x06,0x53,0xBB,0x0E,0x54,0xFB,0xA7,0x2E,0x68,0x09,0xD4,0xBE, -0x84,0x1F,0x2A,0xCA,0x5D,0x18,0xB0,0xDE,0x19,0x79,0x4C,0x8C,0x00,0x1C,0x4A,0x98, -0x41,0xBB,0x28,0xC6,0x15,0x7A,0xA5,0x06,0xB6,0x4C,0x21,0xEF,0x75,0x17,0x98,0x0C, -0xD4,0x5F,0x8D,0x17,0x0F,0x29,0x54,0x90,0x9E,0x9B,0xBB,0x2D,0xFD,0xB4,0x47,0xF1, -0xA2,0x0A,0xB4,0xA2,0x33,0x83,0xD7,0x09,0x67,0xE9,0xB4,0x0B,0x4F,0xC9,0x3E,0x2E, -0xC1,0xA0,0x84,0x50,0xC6,0x74,0x51,0x9E,0x27,0xA0,0x08,0xDC,0xCB,0xCE,0xE3,0x16, -0x9A,0x0D,0x69,0x26,0x3F,0x72,0xD8,0xA5,0x1A,0x46,0x83,0x2A,0x43,0x6D,0x3C,0xEB, -0xC6,0x95,0xE8,0x80,0x82,0xE7,0x4B,0xEA,0x33,0x58,0x8B,0x39,0x8C,0x31,0xEA,0x03, -0x2F,0x26,0x49,0xEB,0x8F,0xD3,0x19,0x50,0xBC,0xC7,0xDF,0xB2,0xFF,0xC3,0xB1,0xAC, -0xF3,0xA5,0x64,0xDB,0x30,0x49,0xB7,0x15,0xF9,0x38,0x97,0x3A,0x6E,0xF0,0x5D,0x85, -0x7D,0x77,0xCD,0x10,0xF3,0xA4,0x3D,0x99,0xD2,0xD0,0xC2,0x5E,0xB9,0xED,0x71,0x2B, -0x23,0xFE,0x6F,0x90,0x4B,0xBA,0x4E,0xE4,0x38,0x1A,0xE7,0xB5,0x4C,0x6F,0x01,0xE1, -0x96,0xD5,0x4F,0x5D,0x7E,0x6A,0x22,0xE3,0xF3,0xB3,0x69,0x67,0x55,0xFF,0x32,0x35, -0xC4,0x84,0xCB,0xA6,0x07,0x96,0xE6,0x18,0x47,0x43,0x8D,0xE3,0x57,0x88,0xC4,0x68, -0x82,0xC5,0x31,0xBE,0xA6,0x11,0x04,0xEF,0x5C,0x86,0x04,0x04,0xBD,0x63,0x0E,0x4D, -0x0A,0xCD,0x83,0x01,0x10,0xF1,0x45,0x34,0xD6,0xAF,0xA4,0xD0,0xC3,0xE4,0x9E,0xB5, -0x8C,0x0C,0x34,0xE3,0x49,0xB5,0x73,0xEE,0xB1,0x0C,0x88,0xC7,0x5B,0x2C,0xC6,0xAD, -0xB3,0x3E,0x85,0xB7,0xE9,0xF7,0xCC,0x0F,0xC1,0x68,0xE8,0x93,0x0C,0xB8,0x48,0x5D, -0x81,0x3B,0x65,0x3C,0x94,0x45,0xB5,0xD0,0xE1,0xC2,0xD1,0x7B,0xEC,0x0E,0x09,0x86, -0x8F,0xF2,0x60,0x61,0x72,0x9B,0x2D,0x4F,0x95,0xD9,0xD7,0xA1,0x42,0xBC,0xF5,0x79, -0x19,0xE8,0x91,0x32,0x36,0x08,0x37,0x3B,0xFB,0xCE,0xCA,0x4D,0x1B,0xFB,0x8F,0x11, -0xA8,0x08,0x89,0xAD,0xA8,0xEF,0x36,0x49,0xFE,0x78,0x3E,0x12,0x1C,0xD3,0xCF,0xB8, -0xDD,0xA3,0xE4,0x9A,0xC2,0x3A,0xEC,0xBA,0xB3,0xFA,0xD5,0xB0,0xA1,0xAC,0x8B,0x6D, -0xED,0xB7,0x27,0x37,0xE0,0x8D,0x23,0x91,0x4D,0xC8,0x73,0xBE,0xC5,0x1D,0x17,0x8E, -0x74,0x8B,0xA4,0x9D,0x00,0x12,0x3B,0x20,0x98,0x12,0x80,0xD4,0x36,0x66,0xEE,0x7F, -0x47,0x61,0x33,0xB2,0x16,0xB0,0xC5,0x1A,0x13,0xF2,0xB2,0xD1,0xF6,0x38,0x05,0x9D, -0x13,0xEA,0xAC,0x3D,0xB1,0x76,0xA7,0xC3,0xC0,0xA1,0x7A,0x42,0x4E,0x18,0xF7,0xBC, -0x27,0x35,0x57,0xC2,0xCA,0x85,0x5E,0x32,0x7E,0xDA,0x60,0x9B,0x1F,0x75,0xF0,0x77, -0x5E,0x46,0x1C,0x8E,0x97,0x8F,0xD5,0xCC,0x70,0x2E,0xF8,0x48,0x41,0x1A,0xCA,0xB6, -0x5B,0x62,0x53,0x78,0xD6,0x97,0x2F,0x8A,0x16,0x44,0x46,0x8E,0x93,0x58,0x50,0xEC, -0x4E,0x9D,0x5A,0x3F,0x22,0xA5,0xF4,0x0B,0x87,0xA8,0x6F,0xBD,0x22,0x83,0x16,0xFC, -0xCF,0x69,0x81,0x0D,0x24,0xE4,0x74,0x25,0x6F,0x94,0x17,0x21,0xFA,0x9C,0x07,0x58, -0x4A,0x56,0x62,0x6D,0x7A,0x24,0x9F,0xC7,0x5A,0x0F,0x3F,0xFD,0x04,0x92,0x35,0xFE, -0x59,0x73,0x70,0x5E,0xC4,0x7B,0x6C,0x94,0x15,0x7B,0x89,0x28,0xD9,0xD2,0x92,0xAE, -0x67,0xAE,0xB6,0xAE,0xA9,0x2A,0x6B,0x5F,0xEE,0xFF,0xDB,0x79,0xB4,0x98,0xBA,0x7C, -0xD3,0x6A,0xE1,0xC7,0x44,0x81,0x21,0x54,0x7D,0xE5,0xAF,0x3D,0x88,0xBF,0x95,0x65, -0x76,0x9A,0x87,0xBB,0x32,0x46,0x8A,0x1F,0xAF,0x7F,0xF5,0x7F,0x02,0x6B,0xBC,0xC5, -0x2D,0x37,0x6A,0xCD,0xDD,0xE2,0xFD,0x1E,0xF4,0xF3,0xC0,0x4F,0x62,0x54,0x5F,0x40, -0x93,0xF1,0x00,0xAB,0xC1,0xF0,0x8C,0xA6,0xCF,0x9C,0x70,0x40,0x7C,0xEC,0x2C,0x3D, -0x5A,0x8D,0x24,0xDC,0xAB,0x25,0x56,0x55,0x7F,0x13,0xF2,0x4A,0x4A,0x96,0x88,0xDA, -0x9B,0xE2,0x1E,0x82,0x13,0x3B,0x25,0x28,0x06,0xC3,0xA3,0xE5,0xB8,0x3C,0xB8,0xB9, -0x02,0xDE,0x9D,0x28,0x81,0x2D,0x2B,0xF6,0x09,0xFE,0xA9,0xE7,0x94,0x70,0x10,0x45, -0x38,0xC8,0x63,0x8A,0xF4,0x20,0xE0,0xA1,0x63,0x96,0xD2,0x85,0x1E,0xA4,0x39,0xE5, -0x1C,0xCC,0xDE,0xC4,0xCF,0x0E,0xBE,0x00,0x56,0x0D,0xFA,0x59,0x21,0x25,0x29,0x33, -0xCE,0x86,0xF6,0xA9,0x71,0x51,0x4D,0x53,0x66,0x20,0x26,0xDA,0xA0,0x7D,0x42,0xFF, -0xBF,0xE6,0xA3,0xCC,0xD7,0x52,0x72,0x9C,0xF8,0xF1,0x05,0xEB,0x23,0x52,0xDF,0x6E, -0x3A,0xD9,0x40,0xAC,0xFC,0x9F,0x52,0x29,0xAA,0xC9,0x01,0x20,0xF2,0xB6,0x7A,0xFB, -0x43,0xAA,0x0B,0xE0,0x65,0xFC,0x8E,0x63,0x31,0xAE,0xD6,0x4E,0x03,0xBA,0x75,0x57, -0x52,0x9E,0x3A,0xF5,0x76,0xD5,0x90,0x6B,0xDE,0xD2,0x07,0xFA,0x92,0x89,0x99,0x7E, -0x2A,0x02,0x06,0x1D,0xD8,0x69,0x1D,0x2C,0xC9,0x15,0x4B,0xB9,0x59,0x5B,0x30,0xF0, -0x14,0xDF,0xC0,0xED,0x19,0x8B,0xAA,0xAA,0xEA,0x80,0xBD,0xF7,0x2B,0x78,0xA2,0xCD, -0xF9,0xA7,0x59,0xD4,0x51,0xE9,0xBF,0x72,0x2C,0xE2,0x64,0x50,0xBF,0x14,0xF8,0x10, -0x88,0xBD,0x62,0xD5,0x66,0x54,0x50,0x7C,0xE1,0x9D,0x57,0x46,0xC1,0xC3,0x81,0x98, -0x84,0xB2,0x93,0x79,0x01,0x83,0xCB,0x12,0xAB,0xFE,0xCE,0x9A,0xB8,0x88,0xCD,0xEB, -0x60,0x17,0x42,0xEC,0x39,0x87,0x99,0xD9,0x1E,0x33,0xE5,0xBA,0x3D,0x6B,0xAD,0xD4, -0x4F,0x8A,0xC1,0x7D,0xE8,0xA4,0x07,0xE8,0xD1,0x30,0x43,0x85,0x4C,0x3E,0xC8,0xB4, -0x26,0x30,0xDE,0x92,0x2A,0xE6,0x4D,0x62,0xF0,0x88,0x63,0x77,0x7B,0x91,0xB5,0x95, -0x4A,0x6A,0x4A,0x4F,0x48,0x3F,0x8B,0xC5,0x28,0xEA,0x2B,0x62,0x96,0x08,0x8C,0xED, -0x69,0xF8,0x38,0x72,0xDD,0xC9,0xA8,0x8B,0xAE,0x08,0xEA,0xD5,0xA8,0xCE,0x7C,0x30, -0xBB,0x51,0xF3,0xFC,0x1A,0x85,0xBF,0xC8,0xE9,0xB4,0x44,0x58,0xD0,0xF2,0x94,0xAC, -0xA4,0x40,0x2B,0x58,0xDB,0x70,0x1E,0x78,0xD7,0x44,0x99,0x9E,0xD8,0xEC,0xBD,0xBF, -0xDE,0xE4,0x1D,0xBF,0x54,0xF2,0xAE,0x72,0x24,0x91,0xF3,0x44,0x11,0xC8,0xCA,0xC3, -0x66,0x97,0x03,0xC2,0x3B,0x42,0x95,0x7D,0x9C,0x83,0xEF,0x35,0xAF,0xA2,0xAC,0x05, -0x59,0x74,0x63,0x47,0xB7,0x77,0xCE,0x4D,0x9D,0x27,0x00,0x42,0xF4,0x4F,0xDA,0xA8, -0x17,0xE1,0x40,0xB1,0xC5,0x78,0x37,0x6B,0x82,0x6F,0xFD,0x76,0x9E,0x16,0xA5,0xFE, -0x96,0xF1,0x7F,0x67,0x5E,0x50,0x02,0xB7,0x23,0x41,0xC6,0x28,0xBA,0xAB,0xEB,0xFA, -0x42,0xD8,0xF5,0xC7,0x36,0x2B,0x68,0xD5,0x74,0x4C,0xB3,0xE3,0x80,0x55,0x49,0xEC, -0x0E,0x70,0xD9,0x3B,0x0B,0x21,0x67,0xD7,0xAA,0x5A,0x21,0xED,0x19,0xD6,0xE3,0xD0, -0xAE,0xCF,0x9B,0xDA,0x5C,0x95,0x0E,0x13,0xA7,0x85,0x16,0xBC,0x4D,0x49,0x6C,0x5B, -0xB1,0xDE,0x43,0x7E,0x60,0xED,0xE6,0x8F,0x89,0xC4,0x10,0x3C,0xCC,0x92,0x5E,0xAF, -0x6A,0x98,0xF2,0x6E,0x8C,0xC4,0x77,0xBC,0x08,0xF6,0xE4,0xE7,0xD9,0x9B,0x19,0x50, -0x28,0x02,0x20,0x34,0xE6,0x7A,0x11,0x7A,0x4E,0xEE,0xA5,0x1D,0xDC,0xD4,0xEF,0x74, -0x8D,0x5D,0xE9,0xE7,0x2D,0x2D,0x1C,0x0F,0xD6,0xE0,0x76,0xE9,0x51,0x29,0xA6,0x58, -0xAA,0x72,0xD5,0xFE,0x37,0x59,0x8F,0x4B,0xDD,0x4B,0x9B,0xA3,0xE5,0x7E,0xCF,0x9C, -0xE0,0x5A,0xB8,0x2C,0xB3,0x0B,0x74,0x1A,0x16,0x1A,0xF6,0xA4,0xDB,0xB8,0x3F,0x41, -0xA0,0xFD,0x65,0x7C,0xC7,0xBD,0x3B,0xCF,0x45,0x45,0x48,0x57,0xC8,0xAA,0x0C,0x64, -0x2F,0xDF,0xA4,0x0C,0x00,0xF1,0x2C,0x8C,0x13,0xEC,0xD2,0xEB,0x6F,0xEF,0x56,0x85, -0x9E,0x43,0xC0,0xEF,0x32,0x57,0xD2,0x82,0x38,0x5B,0xF0,0x24,0x5F,0x2C,0xFB,0x91, -0xE1,0x07,0x7D,0x3A,0xB0,0xBC,0x9F,0x20,0xCB,0x8E,0x9A,0xFE,0x2A,0x41,0xCC,0x3A, -0xC9,0x47,0x7A,0x93,0x06,0x48,0x9A,0x7F,0xB9,0x69,0x04,0xFF,0x9B,0x59,0x53,0xDA, -0x47,0x38,0x7E,0xF5,0x12,0xE2,0x1F,0xA9,0xB0,0xE4,0xF8,0x96,0xA5,0x9F,0xA3,0x07, -0x2A,0x3F,0x2F,0x3E,0x69,0xF8,0xA1,0x70,0x41,0x17,0x83,0x6F,0x91,0x64,0x5C,0xD8, -0x0A,0xCD,0x97,0x1F,0x3A,0x30,0x72,0xE3,0x98,0xD1,0x24,0x0D,0xC5,0xFB,0xD3,0x53, -0x54,0x26,0x57,0xFD,0xDA,0x02,0xF9,0xE6,0xA2,0x73,0x32,0xF3,0xF6,0x6C,0xFC,0xB9, -0xD6,0x56,0xA2,0x37,0x67,0x26,0xB7,0xE2,0xB6,0x90,0x22,0x8D,0x88,0x4B,0x60,0xFF, -0x51,0xC6,0xDC,0xCF,0x4E,0x86,0x3D,0x36,0x6D,0x70,0x94,0xCC,0x00,0xF9,0xDF,0xF7, -0xBA,0x0C,0x36,0xEA,0x8B,0x0F,0x26,0xD1,0x9A,0xF7,0x35,0x2E,0x46,0x03,0xC7,0xB6, -0xCD,0xFA,0x34,0xB7,0x7B,0xEB,0x92,0x55,0x61,0x0B,0x4C,0xEA,0x14,0x87,0x3C,0xE7, -0x8E,0x3D,0x23,0xFB,0x11,0x55,0xF4,0x93,0xCD,0xFA,0x40,0xE5,0x0D,0xA8,0x00,0xC0, -0x3C,0xC1,0x8D,0x04,0x0A,0x53,0x80,0x49,0x52,0x24,0xA6,0x7D,0x03,0xAD,0x5D,0x09, -0x8A,0x80,0x6D,0xDF,0xA0,0x6A,0xA0,0xA1,0x8D,0x96,0xDB,0x04,0x31,0x4D,0xD6,0x0C, -0x1E,0x0E,0x3A,0x2F,0xC4,0x0A,0xD0,0xF5,0x6C,0xD4,0x7B,0xBB,0x0E,0xFC,0x82,0x3E, -0x03,0x22,0xED,0x81,0x90,0x09,0x52,0x0B,0x68,0x86,0xB0,0x83,0x44,0x20,0xE1,0xA7, -0x5F,0xF4,0x22,0x69,0x8E,0x01,0x7B,0x18,0x27,0x13,0x0D,0x10,0x18,0xA1,0x47,0x3F, -0xFC,0x2B,0xAA,0x94,0x68,0x8A,0x46,0xEE,0x1C,0x15,0xF4,0x99,0x43,0x4C,0x31,0x92, -0xFB,0xF6,0x2E,0xAC,0x21,0x36,0x06,0x39,0x8B,0xE2,0x01,0x1F,0x20,0x7C,0xC3,0x38, -0x5D,0xC9,0x2D,0x63,0xD2,0x65,0x59,0x87,0x66,0xDB,0x79,0x86,0xA1,0xA7,0xF1,0xCC, -0xDF,0xB9,0xD8,0xA9,0x18,0x40,0xB3,0x6C,0x1B,0xC5,0xC1,0xF5,0xFF,0x05,0x71,0x45, -0xC2,0x95,0x0F,0x07,0xF0,0x15,0x98,0x08,0x97,0x28,0x02,0x7F,0x71,0xAC,0xBA,0x97, -0xF1,0x79,0x9E,0x2E,0x0F,0x5D,0xDD,0x80,0xD2,0xB2,0xBD,0xD1,0xAD,0x81,0x8A,0x14, -0x71,0x34,0x64,0xEE,0x6E,0x33,0xF0,0x1D,0x35,0x84,0xC7,0x75,0xC0,0xB4,0x25,0x77, -0x5C,0x94,0xE8,0x75,0x71,0x49,0x3E,0x90,0x22,0xE5,0x29,0x5F,0xB3,0xC2,0x66,0x06, -0xCA,0x27,0xB0,0x8F,0x7A,0x99,0x75,0xCB,0xA0,0x55,0x23,0xD0,0xF3,0x23,0x0A,0x9D, -0xAB,0x2F,0x10,0xE8,0xAF,0xC6,0x51,0xAD,0xF9,0x05,0x9F,0x1E,0xB2,0xB5,0xC2,0xE9, -0x86,0x8F,0x9C,0x73,0x53,0x39,0xFF,0x1F,0x12,0x48,0x3D,0x9C,0x56,0x45,0x76,0x6D, -0x25,0x50,0x14,0x8E,0x84,0xA3,0xD7,0xDD,0x84,0x1B,0x27,0x6D,0xC3,0xE0,0xA7,0x89, -0x2E,0x82,0x61,0x1A,0xB1,0xCE,0x78,0xBE,0x5C,0x79,0x6F,0x78,0x06,0xE2,0xAB,0x2D, -0x3B,0x1C,0x09,0x3C,0x33,0x25,0x35,0x1C,0x8C,0x32,0x34,0x73,0xE0,0x31,0x39,0xB8, -0x81,0x52,0x18,0x4B,0x9D,0x60,0xAF,0xA3,0x9F,0x01,0x11,0x61,0xCA,0x89,0x2A,0x75, -0xA2,0xC0,0x6A,0x76,0xBE,0x62,0x89,0xB2,0x5E,0x5F,0x7E,0x5B,0x64,0xA5,0xFD,0x68, -0x67,0xCA,0xC6,0xD4,0x93,0xBE,0xB9,0x31,0xFA,0x87,0x61,0x4A,0x7F,0xA9,0xE7,0x5E, -0xD3,0xB6,0x29,0x05,0xA6,0xD3,0x16,0x52,0x32,0x54,0xF2,0x19,0xBB,0xDC,0x4F,0x15, -0x37,0x13,0xF8,0x90,0x14,0x5B,0xA9,0x5A,0x6B,0x04,0x4E,0xD7,0x5A,0x63,0x0D,0xB5, -0x65,0xF7,0xC9,0xDE,0x25,0x4A,0xBC,0x6E,0x1D,0xB1,0x1B,0xEE,0xB4,0xAE,0xB6,0x33, -0xDC,0xD9,0x12,0xB5,0xD3,0x17,0xBE,0x19,0x29,0x4E,0xC4,0x15,0xF7,0x1B,0x58,0x56, -0x46,0x65,0xBB,0xE3,0xBF,0x10,0x6E,0x2C,0xE4,0x6B,0x73,0x09,0xA6,0xCB,0x21,0xF9, -0x5B,0x11,0xA5,0xEF,0x63,0x2F,0x1F,0x86,0x7E,0xAF,0xDD,0x90,0xC8,0x4F,0x9B,0x81, -0xED,0xCA,0xE4,0x0F,0xD1,0xA7,0xA0,0x8E,0xEE,0x28,0xA3,0x68,0x42,0x66,0x4F,0x21, -0x4C,0x3D,0x06,0x88,0x2B,0xE1,0xB8,0xCF,0x24,0xC3,0x49,0x4D,0x59,0xA3,0xA8,0xA8, -0x35,0xC6,0xC2,0x74,0xAF,0xB3,0x43,0x9E,0xD2,0xB4,0x4B,0x10,0xED,0x53,0x2C,0x4C, -0x39,0x6A,0xCD,0x85,0x80,0xAA,0x7F,0xB9,0x15,0xF7,0x5C,0x5C,0x8B,0x39,0xEA,0xF2, -0xDF,0xF5,0x55,0x5B,0x85,0xA4,0x22,0x70,0xE9,0x45,0xF2,0xA3,0xFF,0x22,0x30,0xF4, -0xA2,0x2A,0x2C,0xE9,0x65,0x96,0xA9,0x75,0xA8,0xF3,0x12,0x78,0xDF,0x88,0xD8,0xCD, -0x02,0xCB,0x93,0xAB,0xD4,0xA9,0xFD,0x47,0x26,0x67,0x45,0x88,0xAF,0xEC,0x8C,0xAD, -0xC9,0xCF,0xAB,0xF9,0x08,0xE3,0x9E,0xDE,0x0A,0x7A,0x92,0x26,0x2D,0xB8,0x72,0xAE, -0x74,0x80,0x38,0x6C,0x89,0xBF,0x38,0x46,0xDC,0x26,0x5D,0xCE,0x04,0xA6,0x61,0xA6, -0x8D,0xBB,0xB1,0x6A,0x64,0xE4,0x4E,0xEB,0x03,0x85,0xD5,0x33,0x39,0x40,0x97,0x2D, -0x78,0x2C,0x37,0x9D,0x54,0x87,0xBC,0x41,0xDE,0x82,0x51,0x0B,0x79,0x09,0x40,0x91, -0x00,0xC1,0xAE,0xA4,0x8F,0x06,0x8E,0xB5,0xE1,0x24,0x52,0xC4,0x26,0xFA,0xFE,0xC2, -0xB8,0xBC,0xDD,0xBA,0x2D,0x58,0x0E,0x3C,0x91,0xA6,0xA7,0x0E,0xCC,0x30,0x15,0xE7, -0x7B,0x30,0x57,0x57,0x84,0xD6,0xC5,0xEE,0xBD,0xBB,0x70,0xA0,0xE7,0xD8,0x71,0xB2, -0xC4,0x75,0xF9,0xCD,0xA9,0x0A,0xF5,0x6D,0x51,0x88,0xE1,0x89,0xA2,0x27,0xF9,0xFA, -0xBE,0x92,0x5D,0xFB,0x9C,0x67,0x5A,0x0E,0x1C,0x08,0x1B,0x49,0x8F,0x46,0x64,0x94, -0x50,0x85,0x77,0x9A,0xEA,0x14,0x19,0x7F,0xBC,0x25,0x97,0xD2,0x41,0x59,0xE9,0xEE, -0x5A,0x07,0xF8,0x2A,0x0B,0x54,0x75,0xE4,0x0F,0xB3,0xCF,0x28,0x0A,0x52,0xB2,0x3E, -0xE6,0x5E,0x36,0x7A,0x9D,0x15,0xBD,0x90,0x07,0xD2,0x6F,0x4F,0x2E,0x87,0xD4,0x61, -0x44,0xB5,0xB4,0x37,0x6D,0xF1,0x09,0x14,0xA7,0xFF,0xE3,0xD4,0x80,0x7B,0x66,0x9E, -0x5E,0x23,0x45,0x64,0xC8,0x64,0xD8,0xF0,0x78,0x5C,0x6B,0x29,0xA8,0xAC,0xA4,0x04, -0x16,0xFB,0x50,0x06,0xCA,0xA1,0xD4,0x54,0xAA,0x57,0x1E,0xBD,0x07,0x99,0xC7,0x69, -0x4D,0x2B,0x5B,0x4D,0x19,0x47,0x46,0xC1,0x34,0x42,0x76,0x9B,0x4A,0x1B,0x65,0x82, -0x68,0x38,0x49,0x7E,0xA1,0x6D,0x55,0x0C,0x7A,0xF8,0x67,0xEC,0xD0,0xB5,0xDA,0xC7, -0x07,0xF9,0x73,0x20,0x8D,0xC3,0x82,0x11,0xE8,0xDB,0x15,0xD1,0xF6,0x96,0xCB,0xC5, -0x18,0x5D,0x62,0xF8,0x81,0xD8,0x98,0x27,0xE2,0x1E,0xB9,0x73,0xC6,0xBB,0x48,0x19, -0x8B,0x95,0x31,0x2B,0xF4,0x1C,0x30,0x6C,0x9E,0xAA,0x56,0xA2,0x69,0x8E,0x2B,0x74, -0x37,0xCC,0xFF,0x7B,0x4B,0xFD,0x72,0xCC,0x3B,0x4E,0x87,0x37,0xD6,0x3C,0x23,0xFC, -0x62,0xBA,0xC6,0xCE,0x86,0x13,0xC9,0x4A,0xDF,0x1C,0xB6,0x79,0xC3,0x0D,0x17,0xED, -0xBD,0x8E,0x3D,0x31,0x33,0x50,0x27,0x2F,0xF1,0xA5,0x6D,0x12,0xC1,0xFB,0x60,0xB0, -0x0A,0x43,0x21,0x14,0xE3,0x01,0x5E,0x80,0x4D,0x3F,0xC4,0x44,0x11,0x97,0x55,0xB7, -0x2E,0x46,0x6E,0xE2,0xEB,0x66,0xFE,0xE1,0x95,0xF1,0x1D,0x72,0x2F,0x4E,0x05,0xF3, -0xB7,0x0C,0xB2,0x81,0xA0,0x1F,0xB2,0x92,0x9A,0xFD,0xEC,0xDE,0xB4,0x29,0x6B,0x24, -0x9C,0xB9,0x92,0x4C,0x43,0x9A,0xD2,0xAD,0x3F,0x19,0x3D,0x4B,0xE6,0x11,0xA0,0x20, -0x3A,0x76,0xAD,0x4F,0x16,0xEB,0xB7,0xCD,0xA2,0x36,0xBE,0xDA,0x78,0xC0,0x91,0x03, -0x1A,0x57,0x5F,0xF7,0xB9,0xDC,0xCA,0xEC,0x18,0x5F,0xA1,0x35,0x32,0x02,0x1B,0x41, -0x52,0x8F,0x4A,0x95,0x20,0x31,0xF3,0x94,0x42,0x33,0x35,0xE8,0xF4,0x60,0xBC,0x98, -0x93,0x09,0xFD,0x77,0xE6,0x0F,0x03,0x49,0xD0,0x10,0x47,0xD5,0xD7,0xF5,0xF2,0x6E, -0x3D,0x4E,0x70,0xCB,0xDA,0x77,0xEB,0xD5,0x79,0xC2,0x8C,0x5B,0xC0,0x32,0xB1,0x22, -0xE0,0x70,0xB6,0x3B,0xC4,0x7F,0xC2,0xC6,0x68,0xDD,0x54,0xFF,0x61,0xF3,0x01,0xD7, -0x8A,0x83,0x6C,0xEE,0xE0,0xB6,0xB5,0xBA,0xCC,0xA7,0x62,0x18,0xD1,0x7C,0x0B,0x55, -0x96,0x3B,0x1D,0xFC,0x8A,0x08,0xD3,0x7C,0xBF,0x1F,0x7C,0x65,0xEA,0x13,0x04,0xE5, -0x79,0x3A,0x6A,0x58,0x67,0x53,0xA5,0xD1,0x5C,0x20,0x1C,0xE0,0xB1,0x9F,0x34,0xD0, -0x84,0x25,0x5E,0x10,0x3E,0x39,0xDA,0x87,0xC9,0x6E,0x3F,0x16,0x48,0xED,0x12,0xDF, -0xBF,0x84,0x00,0x3E,0x83,0x1D,0x94,0x83,0xD9,0xEF,0x00,0xC0,0x7D,0x76,0xCE,0xF7, -0xCA,0xD3,0xCB,0x33,0x7D,0x27,0x36,0x95,0xF0,0x3B,0x8A,0x60,0x17,0x1E,0xAC,0x8C, -0x58,0x0D,0xC5,0x25,0xFE,0xBE,0x9C,0xA9,0x58,0x77,0xA6,0x9C,0x18,0x23,0xAE,0x86, -0x6F,0x00,0x94,0xFA,0x61,0xEA,0x13,0x22,0xE7,0xD7,0xE4,0x7D,0x71,0x74,0x6A,0x32, -0x69,0x2E,0x14,0xBB,0xBA,0x6B,0x21,0xD6,0xF6,0xC8,0x3C,0xD9,0x99,0x48,0xF6,0x4A, -0x9D,0xAF,0xCF,0x89,0xB3,0x7E,0x66,0x29,0xB0,0x13,0x8D,0xC9,0x08,0xA4,0xC5,0x63, -0xDC,0xE9,0x35,0x91,0xFC,0x7B,0x90,0x0D,0x2A,0x51,0x5F,0x93,0x6E,0xCE,0x03,0xDD, -0x0F,0x71,0xC1,0x9F,0x01,0xF6,0xD9,0x21,0x75,0xF4,0x96,0x40,0x63,0x05,0x76,0x8A, -0xE2,0x7A,0x8B,0x34,0x56,0x42,0xB0,0xE5,0x5A,0xD3,0xAA,0x59,0xF0,0x1F,0x32,0xFE, -0x8F,0xB1,0x8C,0x65,0x90,0x7C,0x40,0x38,0x72,0x99,0xC7,0x8B,0x0B,0x9B,0x63,0xAC, -0x31,0xE2,0x7F,0x3A,0x82,0x6F,0x73,0x1D,0xD5,0xD9,0x1A,0xDB,0x44,0xEF,0xB6,0x1A, -0xAB,0xB4,0xC3,0x93,0xC7,0xC8,0x29,0xFC,0xF7,0x56,0xDB,0xAB,0x53,0x28,0xF5,0x56, -0x89,0x9F,0x0C,0x24,0x04,0xF8,0x84,0xE8,0x6B,0xE7,0xBF,0x48,0xAD,0x1A,0xFB,0xF0, -0xE3,0x6C,0xD6,0xF1,0x69,0x8D,0xB3,0x43,0x2F,0x98,0x02,0x9D,0xE0,0x98,0x59,0x1B, -0x7D,0x1E,0xD7,0x16,0x71,0x3C,0x2C,0xA3,0x6F,0xB0,0x05,0x34,0xE5,0x2E,0x06,0xEF, -0x81,0x17,0xBE,0x9B,0xB7,0x02,0xDC,0x7E,0x10,0x3E,0x01,0x52,0x60,0x3A,0xD0,0x45, -0xFA,0xE6,0x47,0x68,0x4C,0x36,0x23,0xA1,0x17,0x53,0x50,0x99,0xDE,0x41,0x09,0x5F, -0x5D,0x3F,0x25,0xAE,0xD3,0x62,0xAC,0x2A,0xE5,0x73,0xE8,0xB8,0x0D,0x12,0x9A,0x97, -0x4B,0x05,0xDB,0x0C,0x44,0x51,0x83,0xC0,0x0E,0x2D,0x28,0x5A,0x86,0xF2,0x9F,0xA5, -0x67,0x8D,0xDF,0x58,0x81,0xE2,0x99,0x5D,0xE8,0x0A,0x2D,0x26,0xA0,0xA1,0xF7,0x0A, -0x13,0x58,0x90,0xEE,0x5C,0xA2,0xC9,0xFA,0xDB,0x18,0x3E,0x03,0xF3,0xFE,0x04,0xB4, -0x97,0x09,0x6B,0xBC,0x31,0xE8,0x1B,0xD2,0x2B,0xDE,0x00,0xDE,0x38,0xAF,0x03,0xD9, -0x8D,0x4D,0xF8,0xC8,0x0D,0xCF,0x02,0xFD,0x42,0x89,0xB4,0x1A,0x33,0x04,0x49,0x34, -0x46,0x38,0xF5,0x9F,0xC4,0x6A,0xD1,0xA2,0x0B,0x74,0x39,0x36,0xAB,0x0A,0xBD,0xE7, -0x2C,0xFE,0x93,0x21,0x16,0x28,0x8B,0x38,0xFD,0x3B,0x3C,0x12,0xED,0x12,0x47,0xA6, -0xC0,0xCD,0x02,0x08,0xA7,0xF3,0x9B,0x7E,0xBA,0x32,0x29,0xED,0x6C,0x20,0x9C,0x52, -0xFC,0x51,0xEA,0x70,0x7F,0xEC,0x3F,0x6F,0x88,0xE9,0xA8,0x19,0x42,0x61,0x1C,0x54, -0x7A,0xA4,0x1D,0xE7,0xB3,0x16,0x18,0x86,0x18,0xCC,0x13,0xFB,0x47,0x97,0x53,0x70, -0x9A,0xA1,0x96,0xD5,0x73,0x48,0xFA,0x6D,0x37,0x5B,0x20,0x11,0x7D,0x35,0xAD,0x66, -0xC9,0x32,0x45,0x1D,0xCB,0x68,0xDB,0x9F,0xB8,0xC4,0x74,0x9A,0xA4,0xF3,0xCF,0xC1, -0xB2,0xEB,0xFB,0x07,0x9A,0x05,0x10,0x98,0x47,0x3F,0x40,0x45,0x55,0x00,0x36,0xBA, -0xA6,0x3D,0x7E,0xAD,0x9E,0x8B,0x76,0xE7,0xB7,0xF9,0x7E,0x98,0x5C,0x8D,0x5F,0x46, -0x10,0x62,0x7B,0x59,0x99,0xA3,0xDF,0xA7,0x28,0xE1,0xCF,0x78,0x2E,0x6A,0x5E,0xD8, -0x92,0xC0,0x36,0xB2,0x24,0xDC,0x0A,0xE3,0x1F,0x8C,0xBA,0xD3,0xDD,0xBF,0x84,0xB2, -0xA0,0xCE,0xC8,0x14,0x40,0x6D,0xE9,0x7F,0xB2,0x4F,0x8A,0xC7,0xF6,0x08,0x4B,0x90, -0xBA,0x8A,0x5B,0x60,0x17,0xF9,0x19,0xF1,0x70,0x52,0x35,0xEE,0x0C,0x50,0xF8,0x06, -0x7D,0xC9,0x4C,0x2C,0xDC,0x2B,0x97,0x58,0x98,0x6E,0x4D,0x72,0x4B,0xEC,0x75,0xA8, -0xE8,0x87,0x6F,0xDA,0xAE,0x08,0xAA,0xCA,0x68,0xA8,0x73,0xAF,0xCD,0x0E,0xC2,0x69, -0x8A,0x20,0xA9,0x03,0x3A,0x64,0x77,0x90,0x51,0x31,0x9E,0xD7,0x15,0x6C,0xD7,0x21, -0x48,0xAA,0xE3,0x41,0x25,0x0D,0x98,0x2A,0x2C,0x9E,0xA9,0xF6,0x34,0xD4,0x25,0x01, -0x99,0x9B,0x7D,0x62,0xA6,0x22,0x09,0xB7,0x49,0xCB,0xD8,0x96,0xFB,0xD7,0x1A,0xA7, -0xA1,0x50,0x2F,0x66,0x77,0xC6,0x9C,0x12,0x29,0x28,0x5D,0xA9,0x4E,0x1A,0x3A,0x8C, -0xC6,0x3E,0xB4,0xB1,0x86,0xCA,0x30,0x1D,0x65,0x63,0x24,0xDA,0x04,0x79,0xE6,0x15, -0xAB,0x95,0x83,0xC4,0x3D,0x4C,0xDE,0xD0,0x07,0x76,0xFC,0x92,0x4F,0xBE,0x4D,0x63, -0x96,0x97,0x8C,0xCE,0x11,0x00,0x22,0x78,0xAD,0xF5,0x65,0xAE,0x91,0xA8,0x43,0xF1, -0xFE,0xF5,0xE6,0xB5,0x9B,0xD4,0x82,0x51,0x0F,0x0B,0x5F,0xB8,0xC6,0xA5,0x88,0x84, -0x65,0x29,0xD3,0x9D,0xA4,0x55,0x54,0x41,0x41,0xB6,0x7B,0xBC,0x67,0x8B,0xD6,0xBF, -0x17,0x0F,0x2A,0x92,0x87,0x1B,0xA2,0xD4,0x3E,0xEF,0x11,0xEA,0x78,0xC3,0xE2,0x42, -0x9B,0x3F,0x71,0xA7,0xE7,0x24,0x27,0x37,0x48,0x02,0x4A,0x47,0x79,0x67,0x95,0xAD, -0xF4,0x30,0x4A,0x17,0xF9,0x9C,0x5A,0x44,0x2E,0x68,0xF4,0x81,0xC1,0x75,0xE4,0xB1, -0x7B,0x3A,0xFA,0x95,0xCF,0xE6,0xBD,0xE0,0x59,0x4C,0x3D,0xFD,0x32,0xA0,0x3E,0xDB, -0x93,0x5E,0xD1,0xC0,0xED,0x79,0xD9,0xBC,0xDD,0x91,0x05,0xFA,0x69,0xD6,0xD3,0x76, -0x11,0xFC,0x9C,0x2B,0x85,0x6C,0xFF,0x22,0x4F,0x42,0xE3,0x6F,0xB9,0x9D,0xD8,0x2D, -0x24,0x9F,0x33,0x46,0xF0,0x67,0x6B,0xF0,0x43,0x40,0x26,0xCB,0x61,0xFF,0xCD,0x65, -0xF3,0x5D,0x1B,0xDC,0x78,0xC4,0x96,0x2F,0x92,0xE5,0xB3,0x2F,0xF7,0xAC,0x3C,0x7F, -0x0F,0xEF,0xB5,0x23,0xF4,0xE9,0x0D,0x8F,0x26,0x15,0x57,0xAB,0x1C,0xE1,0xBE,0xDD, -0xDA,0x89,0x91,0x7C,0x54,0x88,0x6A,0x87,0xEE,0x83,0x16,0xDF,0x45,0xB1,0x70,0x61, -0xD1,0xD2,0xDA,0xAC,0x0C,0x1E,0x90,0x34,0x82,0x62,0x56,0x44,0xC7,0x01,0xFF,0x6B, -0xCE,0x5F,0x14,0xD6,0x80,0x33,0x0B,0x94,0xC1,0x14,0x25,0x35,0xD0,0x60,0xD5,0x85, -0x1F,0x6E,0x8A,0xF5,0x5F,0x04,0x06,0xC5,0xC5,0x6B,0x43,0xBB,0x01,0x8F,0xA9,0x31, -0x73,0x5B,0x5A,0xF2,0xF6,0x9E,0x50,0x79,0xBC,0xBB,0x12,0x14,0xCC,0xAA,0xB5,0x86, -0x85,0x2C,0x58,0xAF,0x2D,0x27,0x3B,0x57,0x52,0x0E,0x51,0x71,0xF8,0x55,0x4E,0x59, -0xB4,0x18,0x4D,0xBE,0x1C,0x75,0x75,0xB3,0xE9,0xC3,0xBF,0xF7,0x8E,0xE0,0x77,0x0C, -0x06,0x10,0xF2,0x36,0xCD,0x91,0xE0,0x16,0xAB,0x7C,0x5E,0x57,0xD7,0xB0,0xB9,0xB0, -0x33,0x73,0x5D,0x5B,0x22,0x25,0x31,0x6A,0x03,0x09,0x9A,0x1C,0x1F,0x63,0xEA,0x23, -0x1E,0xF0,0x6D,0x87,0x8E,0xE0,0x93,0x60,0x19,0x05,0x81,0x2A,0xBB,0xBB,0xFB,0x3C, -0x3D,0xE1,0x4B,0x85,0xFC,0xC3,0xAE,0xF2,0xCE,0x29,0x2F,0x37,0x7A,0xE5,0xC1,0x53, -0x64,0xB7,0x34,0xEF,0xDE,0x5C,0xCA,0xAE,0x66,0x5C,0xEB,0x7C,0x89,0x30,0x1B,0x39, -0x00,0xE3,0x44,0x8F,0x89,0xC8,0x3A,0x20,0x32,0xED,0xD4,0x4E,0x68,0x72,0xA4,0x99, -0xAA,0x0B,0x64,0xB6,0x69,0x7E,0xE1,0x61,0xB9,0x0D,0xE6,0x4B,0xB7,0xC0,0xDD,0xE4, -0xB1,0xD1,0x10,0xB0,0xC7,0xCC,0x1E,0x9D,0xE4,0x08,0xE8,0x82,0x28,0x1E,0x45,0x02, -0xDB,0x17,0x76,0x0E,0xD0,0x8F,0x52,0x5A,0xD8,0x27,0xF1,0xA5,0x84,0xEF,0x4A,0x0E, -0x2B,0x93,0xC2,0xEA,0xD2,0xF8,0x0F,0xAC,0x23,0xA3,0xA3,0xF4,0x7F,0x13,0x8E,0x77, -0xEE,0x74,0xD9,0x63,0x38,0x13,0x2A,0x66,0x3B,0x59,0xE5,0xB5,0x88,0x94,0x6C,0xD6, -0xC7,0xA0,0x53,0xC3,0x46,0x94,0xD2,0xF6,0x84,0xEB,0x6D,0xBD,0x53,0x74,0x2D,0x60, -0xAF,0xC2,0x39,0xB8,0x7A,0xB3,0xCB,0xD9,0x6E,0x21,0x48,0x56,0x37,0x56,0x71,0xFF, -0x50,0x4A,0x7C,0xF0,0xEB,0x80,0xE2,0x35,0x5E,0x0C,0x94,0xD5,0x72,0xCC,0xDF,0x40, -0xB8,0x2E,0x57,0xA5,0x3C,0x9D,0x4C,0x19,0x95,0xA5,0x1A,0x07,0xFE,0x21,0x55,0x83, -0x72,0xC5,0xBD,0x80,0xC9,0x1F,0x86,0x69,0x15,0x07,0x44,0x8E,0x83,0x3F,0x26,0x3B, -0x81,0x7B,0xE2,0xD3,0xCA,0xB9,0x49,0x56,0x27,0xDC,0xC5,0x7A,0x6E,0x06,0xBF,0x43, -0xC8,0xAC,0xA2,0x6F,0x4E,0xBE,0x71,0x8B,0xD5,0xEC,0xA6,0xD0,0xF9,0xF1,0x39,0xB6, -0x2E,0x5A,0x9F,0xE4,0xC6,0x1D,0x8C,0x54,0xA3,0x01,0xFD,0x7D,0xC2,0xF7,0xB0,0x4F, -0x30,0x49,0xB6,0xEC,0x09,0x41,0x64,0x82,0x05,0x80,0xA1,0xE5,0x8D,0x62,0x23,0xF2, -0x65,0xEA,0x9B,0x83,0x13,0xA3,0x62,0x02,0x2C,0xA4,0x61,0x6C,0xCE,0x19,0xC7,0x01, -0xB1,0x4A,0xB2,0x09,0x83,0x5B,0x1C,0x85,0x9E,0xAC,0xDE,0xE4,0x2E,0x58,0x71,0xDA, -0x06,0x87,0xAE,0x2C,0x2F,0xDB,0x8A,0x9E,0x52,0xB4,0x82,0x78,0xB5,0x3F,0x1F,0x0D, -0x82,0x63,0x5E,0x98,0xD9,0x86,0x88,0xE9,0xD6,0xE5,0x79,0x2A,0x49,0xFB,0x66,0xF6, -0x1A,0x3F,0xDF,0x3E,0x14,0x68,0x33,0x6F,0x78,0x5A,0xE3,0x6F,0x9A,0xA8,0xF5,0x3E, -0xC0,0x39,0xC4,0x4A,0xE8,0x97,0x9D,0xDD,0x7D,0x93,0xBE,0x61,0x44,0x30,0x13,0xA1, -0xA6,0x66,0x11,0x6E,0xDB,0x43,0x84,0x4D,0x29,0x6D,0x3C,0x62,0x6A,0x6E,0x28,0x00, -0xF2,0x06,0x75,0x1E,0x55,0xB3,0xD3,0xD9,0x98,0x5F,0x68,0x5D,0x28,0xD1,0x88,0xE1, -0x4B,0x6D,0x5B,0xC5,0x21,0x05,0x9C,0x0C,0x74,0x6C,0xF9,0x74,0xAD,0xC5,0x5E,0x4B, -0x58,0x65,0x45,0xEC,0xF7,0xED,0x53,0x50,0xF5,0xF4,0x5F,0x28,0x38,0x56,0xE3,0x04, -0x6A,0x5A,0xF4,0xB8,0x23,0xC0,0x90,0xA8,0xA9,0x6B,0x7D,0x4C,0x5C,0xCA,0x52,0xE7, -0xBD,0xE6,0xBD,0xF8,0xFE,0xF8,0x14,0xAF,0x99,0xC1,0x8F,0x2F,0xAB,0x4C,0xA7,0x70, -0x3F,0x2C,0xCD,0x0D,0x6C,0xC5,0x66,0x8C,0xD0,0x16,0xCF,0x93,0x7B,0x20,0x92,0x77, -0xD4,0x09,0x07,0xE7,0x1C,0x0F,0x93,0x0E,0x72,0x9F,0x4F,0xCD,0x65,0x53,0x2A,0x0A, -0xD3,0x31,0xDA,0x63,0xAC,0x42,0x20,0xA2,0x54,0x47,0x34,0xC1,0x0C,0x04,0xEE,0xBE, -0x5B,0x79,0x25,0x26,0x40,0x6B,0xB1,0x91,0x79,0xC4,0x04,0x1D,0x96,0xAA,0x51,0xFB, -0xC3,0x25,0xA4,0x80,0x41,0x19,0x56,0x0F,0x17,0x55,0xD8,0xDF,0x5B,0x8A,0x7A,0x4E, -0x4E,0x5F,0xBB,0x4E,0xE1,0x82,0xDA,0x22,0x61,0x24,0x9B,0xAC,0x3A,0xA0,0x94,0x59, -0xFE,0xAA,0x7A,0xEF,0xFA,0x84,0xAE,0xF8,0x60,0xBA,0x7C,0xDE,0xBB,0xCB,0xCC,0x95, -0x98,0xF5,0xAF,0xCB,0xF2,0xE3,0x0E,0x99,0xF6,0xCE,0xB4,0x9F,0xEB,0x05,0x70,0xCC, -0x8E,0xCF,0x51,0x69,0x85,0xE2,0xAA,0x76,0x35,0xDA,0x19,0xAF,0xA5,0xB8,0x74,0xE8, -0x4C,0x55,0x86,0x41,0x5A,0x1F,0x22,0xD5,0x90,0x3E,0xC8,0x3A,0xF6,0x49,0x6E,0x7E, -0x4F,0x49,0xE6,0x8B,0xC9,0x50,0xB7,0x68,0xE4,0xEB,0x87,0x8C,0x8C,0xA6,0x67,0xE0, -0xED,0xA2,0x64,0xC6,0x57,0x76,0xDF,0x7D,0x37,0x7E,0x15,0x6A,0xC7,0xAD,0x3C,0x30, -0xE1,0x0E,0x6B,0x37,0x15,0x1A,0xD4,0xF1,0x70,0x3B,0x43,0x08,0xE1,0x8E,0x2D,0x32, -0xF0,0x0C,0x48,0x11,0x87,0x27,0xA6,0xD2,0x5C,0x26,0x94,0xA6,0xBF,0xB4,0x42,0xF3, -0x01,0xBF,0x73,0xA8,0x63,0x69,0x97,0x80,0x09,0x46,0xF1,0xD7,0xEA,0xCC,0xA1,0x5E, -0x62,0xD2,0x46,0x07,0x1F,0xB8,0x78,0x34,0x7C,0x0D,0x59,0x13,0x39,0x9F,0x32,0x96, -0x3D,0x26,0xF0,0x02,0x22,0xB2,0x77,0x36,0x7B,0x60,0x08,0xD8,0x0F,0x3B,0x48,0x71, -0x09,0x37,0xC1,0x17,0xC6,0xFC,0x46,0x64,0xB6,0xE6,0xB3,0x36,0xBA,0x02,0x1D,0x07, -0x7F,0x7C,0x6A,0xD0,0xB0,0x8F,0x05,0x15,0x1E,0xAA,0x9F,0xCA,0xD5,0xDC,0x20,0x88, -0x4A,0x7B,0x06,0x00,0x0C,0xD9,0xAC,0x8F,0xCE,0x05,0xE6,0x9B,0xF0,0xC0,0x97,0x45, -0x41,0xEF,0xD4,0x75,0x67,0x15,0x2D,0xD7,0x5D,0xB8,0x73,0xD4,0x40,0x4F,0x9D,0xC7, -0x2F,0x38,0xB3,0xEE,0x68,0xB9,0xDC,0xDB,0x16,0xCB,0x3F,0xAD,0x23,0x93,0x04,0x8D, -0xBB,0xC8,0x3D,0xB9,0x5F,0x11,0x7F,0x1C,0xEB,0xE7,0x76,0x20,0x8E,0x50,0x10,0xBD, -0x8A,0xEB,0xEC,0x27,0xC2,0x80,0xFC,0x33,0xBE,0x87,0x13,0x51,0x8D,0x6F,0xB6,0x72, -0x96,0x53,0x9D,0x35,0xBF,0x23,0xF4,0x19,0xDD,0xBE,0x32,0xFA,0x54,0xB7,0x78,0x44, -0x31,0x8A,0xFF,0xF3,0xE5,0xFE,0x60,0x75,0x44,0xC6,0x0B,0x17,0x36,0xA2,0x30,0x9C, -0x9B,0xE9,0xCF,0x01,0x84,0x90,0x4D,0xE8,0x27,0xFF,0x2A,0xBC,0x0A,0x8D,0x17,0x85, -0xD8,0xA5,0x08,0x16,0x2D,0x1E,0x86,0x3A,0x1B,0x63,0xC2,0xC4,0xB6,0x00,0xB9,0xC2, -0x21,0x9E,0x81,0x10,0x31,0xD3,0xA3,0x8D,0x1D,0x90,0x74,0x7D,0x2F,0x91,0xA0,0x48, -0x2B,0x1C,0x0E,0xA0,0x95,0x34,0x95,0xF7,0x39,0xEC,0x03,0xB4,0xFA,0x4B,0xCA,0xBB, -0x1E,0x1B,0x62,0x70,0xA1,0x2B,0xDD,0x0A,0x9A,0xFB,0x64,0x98,0x99,0x97,0x53,0xF1, -0x2E,0x2E,0xEE,0x2B,0x42,0xAE,0xBD,0x35,0x77,0x56,0x12,0xC3,0x3D,0xE0,0xBC,0xF0, -0xE4,0x3C,0x8B,0xBC,0x24,0x0B,0xC1,0xC5,0x7E,0xA9,0x55,0xD6,0xFF,0xFD,0x95,0x4F, -0x38,0x14,0x10,0x89,0x34,0xDD,0xFE,0x44,0xC3,0xAD,0x1B,0xF2,0xD1,0xA3,0xAE,0xEE, -0x84,0x4D,0xDE,0xD9,0xA5,0x57,0x67,0x5D,0x03,0x83,0x5D,0x75,0xE4,0x38,0x72,0xC6, -0x86,0x47,0xE3,0xD6,0x0D,0xAB,0x4B,0x11,0x80,0xBF,0xF7,0xEC,0xF2,0x36,0xE0,0x18, -0xDC,0x81,0xB5,0x58,0x0B,0x12,0xFD,0xE2,0x47,0xFC,0xE0,0xA0,0x7A,0xE9,0x43,0xE5, -0x40,0xF9,0x89,0xB0,0x1A,0xB6,0x25,0xFD,0x9C,0x08,0xD2,0x21,0x3B,0x69,0x45,0xCB, -0x29,0x16,0x33,0xAF,0xD7,0x58,0x9E,0x7B,0x01,0x27,0x51,0xB0,0x50,0xC8,0xF6,0x22, -0xEF,0xA8,0x59,0xC9,0x4D,0x02,0x4C,0x39,0x4E,0x03,0xA7,0xB5,0x48,0x32,0xB7,0x64, -0x18,0x35,0xE2,0x31,0xA7,0x92,0x6B,0xF9,0xAB,0xCF,0x71,0x89,0xF5,0x76,0xC8,0xB1, -0x5C,0x41,0xF8,0xA2,0x88,0x8B,0x57,0xDE,0xFC,0x0B,0x18,0x3D,0x5E,0x3C,0x25,0xBA, -0x9C,0xD1,0x12,0x85,0x28,0x10,0xDB,0xF3,0x7F,0x37,0xB2,0xA4,0xFB,0x82,0x1B,0x29, -0x49,0x67,0x66,0xCA,0x8F,0x40,0x06,0xB3,0x6D,0x12,0x81,0xB7,0xA4,0x71,0xA5,0x7A, -0xD1,0x3B,0xE7,0x6C,0x96,0x83,0x7E,0xCD,0xF9,0xC2,0x45,0x33,0xE5,0xF1,0xA3,0x54, -0xDF,0x9D,0xD5,0x92,0x0A,0x60,0x1A,0x7C,0x3A,0xD6,0xE8,0x03,0x52,0x3E,0x81,0x7F, -0x2C,0x24,0xD3,0x24,0x92,0xFF,0xC4,0x9A,0x8C,0x89,0xED,0xF7,0xD7,0x2A,0x57,0xD5, -0x73,0xD0,0x65,0x21,0xD2,0x56,0xC3,0xB2,0x94,0x69,0x72,0x46,0x30,0x2B,0xC9,0xA7, -0x23,0x94,0xBC,0x1F,0xEA,0x52,0x91,0x79,0xB1,0x8B,0xE2,0xFD,0xA9,0xBA,0xD0,0x2D, -0xFA,0x8E,0xC7,0xA1,0xED,0x99,0xC0,0x14,0x4A,0x54,0x1D,0xC9,0x5A,0x43,0xAB,0xDC, -0xB5,0x6E,0x0F,0x47,0xF3,0x91,0xE9,0x07,0xB9,0xEA,0x42,0x9A,0xCD,0x26,0x61,0xCE, -0xB0,0x5C,0xEF,0xCC,0x18,0x73,0x29,0x59,0x2E,0x00,0x6D,0xA9,0x6F,0xD8,0x77,0xF4, -0xB3,0xC8,0x95,0x1E,0x2C,0x13,0x30,0xD8,0x98,0x09,0x4C,0xFC,0x9D,0xA9,0x2A,0x62, -0x90,0x56,0xA4,0xCF,0x03,0x90,0xAD,0x49,0xF8,0x78,0x19,0x99,0xA2,0x0F,0xE5,0x61, -0x60,0x01,0x30,0x41,0xC4,0x33,0x9A,0xE1,0xD4,0xF5,0xE4,0xD0,0x61,0x1B,0xD5,0xCC, -0xB7,0x9A,0x5E,0x26,0xC8,0xC2,0x95,0x4D,0xA7,0x8C,0xAF,0x9C,0xBD,0x82,0x9F,0xAF, -0xFD,0xF9,0xC7,0xFA,0x25,0x69,0xDF,0x46,0x7C,0x9C,0xE9,0x2D,0xF2,0xA6,0x9A,0x59, -0xB1,0xEE,0x84,0x3D,0xF7,0xA2,0x76,0xC8,0xE0,0xE4,0xD5,0xC5,0x7F,0x08,0xDD,0xE5, -0xD2,0x1C,0x2E,0x0D,0x6A,0x8F,0x17,0xA6,0xD9,0x4F,0xB6,0xE4,0x50,0x2F,0xC4,0xD9, -0x0B,0xDA,0x89,0x6F,0x06,0x1B,0x4D,0x7B,0xA1,0xA2,0x2F,0xDD,0x45,0x67,0x1C,0xBB, -0x76,0xC4,0x31,0x1C,0x2A,0x52,0xB0,0xF6,0x49,0x9B,0x85,0xFD,0x12,0xA3,0xA8,0xD2, -0x43,0x9F,0x01,0x90,0x15,0x32,0x53,0x73,0xE4,0xC0,0x68,0x8B,0x65,0x4C,0xA9,0x76, -0x44,0x4F,0x34,0xFC,0xE8,0x7A,0x67,0x6C,0xF3,0xEC,0xCB,0xEC,0xB9,0xD5,0xE3,0x15, -0xC6,0xFF,0x3E,0x73,0x92,0x4C,0xC3,0x8B,0x8F,0x25,0xEF,0x9B,0x63,0xBF,0x10,0xC0, -0x1F,0x39,0x99,0x11,0x0E,0xA4,0xFF,0xF3,0xA0,0xB4,0x72,0x18,0xC4,0xFF,0x40,0x1D, -0x15,0x36,0x9B,0x2C,0x42,0x88,0x57,0x0F,0x9C,0x2D,0xF1,0xB2,0xCA,0x6D,0x9E,0x0B, -0x4C,0x66,0x27,0xE2,0x5B,0x11,0xC6,0x85,0xB2,0xAA,0x31,0xF4,0x51,0xB1,0xB6,0x3E, -0x64,0x53,0xFB,0x79,0xDA,0x2E,0xD6,0x53,0xB6,0x8E,0x8C,0xBA,0x0F,0x8A,0x17,0x10, -0xF0,0x26,0xF0,0xAB,0x26,0xA3,0xBF,0x5A,0x1C,0xED,0xBC,0x48,0xC0,0xA8,0x3C,0xA7, -0x4E,0x40,0x36,0xC1,0x64,0x71,0x25,0x00,0x38,0xE8,0xF3,0xBE,0x3A,0xE9,0x7A,0xBF, -0xA1,0x5F,0x5F,0x7B,0xE2,0xCA,0xE8,0xEE,0x17,0x79,0x6E,0x3D,0x9B,0x5A,0x93,0xD4, -0xD9,0xB7,0xC3,0x47,0xFD,0x12,0xF9,0x4A,0xE3,0xF8,0xB5,0x0F,0x1B,0x5C,0xBD,0x95, -0x3F,0x25,0x56,0x94,0xAC,0xE9,0x7D,0x18,0x0D,0xEF,0x9F,0x6E,0x83,0xBA,0x22,0x4B, -0x89,0x6A,0x83,0xE0,0xEC,0x34,0xDA,0x48,0x28,0xFC,0x8D,0x5D,0x70,0x04,0x71,0x14, -0x19,0x4D,0x43,0x0A,0xC1,0xB8,0x7A,0xD3,0x14,0x65,0x0E,0xF7,0xCE,0x3A,0xE2,0xB1, -0x6D,0xDE,0x07,0x10,0xE6,0x84,0x55,0xCA,0xD0,0xD1,0x59,0x9E,0x84,0xD7,0xE9,0x1A, -0x88,0xCE,0x6C,0x97,0xAD,0x2C,0x20,0x0E,0x76,0x1E,0x66,0x9D,0xD9,0xD6,0xFF,0xDF, -0x7C,0xCB,0x33,0x21,0x85,0x2B,0x60,0xA7,0x96,0xAF,0x7E,0x02,0xD8,0x48,0x8D,0x38, -0xC5,0x7D,0xC0,0x27,0x63,0xF5,0xF8,0x38,0xC9,0x5B,0xC8,0x07,0xCC,0x9E,0x27,0xBD, -0x63,0x83,0xCE,0x15,0xD2,0x91,0x64,0xDB,0xDD,0x6B,0x0B,0xAA,0x03,0xBC,0x0C,0x0A, -0x04,0x23,0xAF,0x1D,0x46,0xC6,0xEA,0x2B,0x1F,0xF1,0xDC,0x82,0x2A,0x68,0xAC,0x80, -0x36,0xA8,0xAA,0xFD,0x18,0x06,0x01,0xC9,0xF5,0xC2,0x4B,0xAD,0xD4,0x7E,0x96,0x22, -0xD6,0x4E,0xE5,0x35,0x0B,0x2F,0x1F,0xC1,0x4B,0x91,0xB8,0xF2,0xB1,0xB4,0x84,0xB5, -0xCC,0xF0,0x3C,0x4E,0x66,0x7E,0x18,0x0A,0x94,0xA5,0x43,0x0D,0x48,0xCF,0x75,0x46, -0x3B,0x77,0x9D,0xAC,0xF6,0x67,0x2B,0xDE,0xFA,0x72,0x24,0x96,0x09,0x79,0xAE,0xA6, -0xDF,0xC3,0x19,0x5C,0x81,0x65,0xDD,0x83,0xAB,0x20,0xA0,0x6D,0xCD,0x00,0x55,0x5A, -0x12,0xE6,0xAE,0x40,0x9A,0xF3,0x71,0x03,0xB3,0xBC,0x6C,0x31,0xAA,0x6E,0x82,0xC1, -0xB2,0x6C,0x7A,0x69,0x1D,0x8D,0xE1,0xFB,0xBB,0x34,0xDE,0x8E,0xEB,0xD8,0x59,0x21, -0x5E,0xF1,0xED,0x87,0xC6,0x3C,0xA7,0xEB,0x40,0x05,0x6A,0x87,0x23,0x97,0xB9,0xC7, -0x3E,0x81,0xB9,0xE3,0x52,0x6B,0x29,0x1B,0x72,0x3A,0xDB,0xD3,0x9C,0x37,0x58,0x85, -0x61,0xA5,0xDF,0x36,0xC2,0x72,0x1A,0xCF,0x8C,0x39,0x8F,0x51,0xC2,0x0C,0xF9,0xAB, -0x67,0xD1,0x05,0x2D,0x70,0xDC,0xE6,0x30,0x45,0x37,0x8A,0x0C,0x5A,0xEA,0x66,0x75, -0xBE,0x17,0xA2,0x4F,0xB0,0xFB,0x0C,0xA0,0xDE,0x77,0x6B,0x60,0xBE,0xB8,0x28,0x44, -0x02,0x57,0x75,0x06,0xB7,0x7F,0xD1,0x98,0x74,0x14,0x5B,0x92,0x38,0x4D,0xBF,0xB3, -0x3D,0x03,0x47,0xB7,0x4F,0xBC,0x05,0xB5,0xEB,0x70,0x07,0xB0,0xA4,0xFC,0x5C,0xD7, -0x35,0x2A,0x54,0xA9,0x13,0x73,0xD3,0x5D,0x73,0x2C,0x86,0x16,0x37,0x41,0x13,0x42, -0x21,0xC9,0x44,0xD7,0x8E,0x5E,0xB2,0x33,0xDB,0x45,0x8B,0xEB,0x58,0x4E,0xA3,0x79, -0x69,0x8C,0xCC,0x28,0xBD,0xCF,0x5E,0x1A,0x58,0x99,0xA6,0xDB,0xF6,0xF1,0xE6,0xE3, -0x51,0x08,0xCB,0xF5,0x11,0x7C,0xEE,0x57,0x80,0x95,0x80,0xA0,0xA1,0x35,0x52,0x8A, -0x74,0xE2,0x20,0x3F,0x93,0x89,0x9E,0x9D,0x09,0xCB,0x22,0x20,0xD2,0x8D,0x2F,0x94, -0xAD,0x24,0x87,0x5D,0x86,0xE1,0x00,0xBB,0xD1,0xC7,0x04,0x5B,0xF7,0x6F,0x94,0x04, -0xF2,0x00,0xE1,0x88,0xE7,0x41,0x08,0xDC,0xA5,0x86,0x92,0x93,0x39,0xD3,0xCD,0x54, -0x07,0xA1,0x51,0x49,0x3D,0x35,0x13,0xDA,0x3B,0xF4,0x93,0x74,0x52,0x8B,0x01,0xD5, -0x7D,0x6F,0xDC,0x56,0x10,0xB9,0xB3,0x41,0x4A,0x87,0xE5,0x37,0x78,0x65,0x16,0xB4, -0xFA,0x29,0xF2,0x96,0x62,0x30,0xA5,0x2E,0x61,0x32,0xC5,0xFA,0x5F,0x23,0x68,0x28, -0x11,0x64,0x50,0x14,0x77,0x58,0x3B,0x08,0xF4,0xD4,0x16,0x68,0x54,0x78,0xB8,0x63, -0x0D,0xAE,0x53,0x74,0xCA,0xCD,0xA8,0x47,0x21,0x62,0x62,0x27,0xBB,0x71,0x26,0x19, -0x97,0x86,0x91,0xA3,0x69,0x45,0x77,0xBA,0xC5,0xF7,0xC7,0xF6,0x4A,0x6B,0xB0,0x4A, -0x8A,0xE8,0x7D,0xB4,0x2B,0x97,0xED,0xE0,0x12,0x4B,0x8E,0xB6,0x6D,0x2D,0xCE,0xD6, -0xE7,0x47,0x1E,0x81,0x9F,0x78,0x91,0x31,0x59,0x8F,0xFB,0x1E,0x3E,0xBE,0x06,0x05, -0x54,0xFE,0xEF,0xBA,0xCD,0x49,0x75,0x7F,0x39,0xFE,0xAE,0x7B,0x46,0x5D,0xAB,0x50, -0x56,0xD8,0xFE,0x99,0xEE,0x3B,0xE7,0x42,0x24,0x50,0x82,0xAC,0x7C,0x32,0x6A,0x0E, -0x23,0xEF,0x55,0xF4,0x90,0x43,0xFE,0x81,0x1A,0xC3,0x3C,0x09,0x32,0x88,0x1D,0x1F, -0x24,0x3F,0x60,0x98,0x0A,0xEA,0x42,0xD7,0xB5,0x92,0xEC,0x70,0x2E,0x3F,0xD0,0x3A, -0x6F,0xF8,0x16,0x33,0x7B,0xA9,0x34,0xA4,0xF9,0x6E,0x44,0x5C,0xF0,0x02,0x5F,0x55, -0x7E,0xED,0x22,0x02,0x29,0x98,0xD0,0xEA,0x7F,0x80,0x89,0xE7,0xC9,0x57,0x29,0xE0, -0xA1,0xB1,0x1A,0xBE,0x4D,0x0B,0xBA,0xDD,0xE7,0xBE,0x8A,0xF9,0x55,0x44,0x43,0x71, -0x8A,0x06,0x38,0x71,0x59,0xA6,0x79,0xED,0x56,0x5D,0x16,0x9D,0x67,0x4A,0xE5,0x8F, -0x79,0xD3,0x52,0xAB,0xF2,0x91,0x14,0x98,0x29,0x88,0x52,0x20,0xE5,0xE8,0x0E,0xC2, -0x0B,0x34,0xCC,0xAA,0x12,0x0E,0x0C,0x29,0x01,0x21,0x12,0x27,0x53,0xB7,0xFA,0xC7, -0x02,0xB9,0x30,0xC3,0xCF,0xFE,0xCA,0x17,0x8F,0x47,0x6D,0x23,0x47,0x61,0x50,0x42, -0xF3,0x4A,0x4B,0x3A,0x10,0x01,0x31,0x23,0xE2,0x8C,0x6A,0x72,0x3C,0xB8,0x4A,0xFC, -0x2A,0x8C,0xEC,0x58,0x9B,0x8E,0xAE,0x77,0xC2,0xAD,0x98,0xCA,0x6F,0x2B,0x82,0x2F, -0x10,0x2E,0xFA,0xA6,0x71,0xA1,0x39,0x44,0x9C,0x4F,0x73,0x0A,0x8F,0x2E,0xB0,0xA4, -0x15,0xD8,0xDE,0xE9,0x93,0x31,0x1C,0xFF,0x66,0x68,0x9A,0xC6,0x09,0xDB,0x27,0x53, -0x3B,0x99,0xD8,0x69,0x67,0x03,0xC7,0x7E,0x79,0xCC,0x8B,0x1E,0x35,0x47,0x5F,0xBB, -0xBA,0xAB,0x2C,0xB2,0x98,0x44,0xCE,0x6B,0xA2,0xDC,0xCD,0xAF,0xD9,0x74,0x76,0x2A, -0xFC,0xB3,0x6D,0x48,0xBC,0xB2,0x81,0x6E,0xE0,0x86,0x57,0x7D,0xB3,0xB2,0xC8,0x4C, -0x64,0xBD,0xBE,0xBC,0x90,0xFB,0x7C,0xE3,0x45,0x55,0x08,0xB4,0x78,0xC7,0x9F,0x41, -0x6F,0x16,0x53,0xF6,0x54,0x92,0x2B,0x57,0x62,0x4C,0x27,0x88,0x62,0x83,0xEB,0xD2, -0xA4,0x47,0x3E,0xF1,0x89,0x62,0xED,0x69,0x28,0x9E,0x0F,0xE5,0xE6,0xD2,0xB9,0x29, -0xF7,0x18,0x80,0x02,0xAC,0x51,0xFF,0x7A,0x68,0xCE,0xA8,0x38,0x92,0x07,0x0F,0x66, -0x65,0x19,0x51,0xCB,0x77,0xE0,0xB9,0x6A,0x6C,0xEA,0x15,0x76,0x8E,0xB0,0xC2,0x43, -0x96,0xCC,0x3B,0x11,0x0B,0x97,0x9D,0xA3,0x16,0x0D,0xB1,0x40,0x01,0xBA,0x40,0xF3, -0x2E,0xDE,0x27,0x60,0xCD,0xF1,0xF7,0x1D,0xAE,0x70,0xC2,0x5E,0x6E,0xB5,0xF0,0xC8, -0x2F,0x7A,0xC8,0x17,0x60,0x87,0x1A,0x46,0x91,0xF5,0x21,0x3E,0xE2,0x85,0xC5,0x93, -0x30,0x32,0x35,0x23,0x36,0xF8,0x43,0x2C,0xDF,0x03,0xB4,0x1D,0x90,0xA3,0xCA,0x6A, -0x91,0x1C,0x0E,0x7D,0x32,0xB6,0xFE,0x08,0x5E,0xD5,0xA4,0x22,0x0B,0x7F,0xE2,0x5F, -0xC6,0x11,0x7B,0xB6,0x24,0x14,0x00,0x32,0x8A,0x75,0x8D,0xA8,0x63,0x1D,0x99,0x35, -0x18,0x07,0xE9,0xB8,0x18,0xBE,0x83,0xAB,0xC6,0x89,0x25,0x84,0x5E,0x1F,0x93,0x3A, -0x53,0xC0,0x9F,0x13,0x50,0xDC,0x96,0x73,0x40,0x67,0xE8,0x3F,0x33,0xB4,0xE6,0x0D, -0x19,0xA3,0x06,0xCF,0x23,0x90,0xDD,0x0A,0x4C,0xCB,0xE7,0xCE,0x54,0xDA,0x31,0x96, -0xAC,0x6E,0x2D,0xEF,0x1C,0xF0,0x3E,0x8F,0xA8,0x5E,0x42,0x1F,0x6C,0x11,0x35,0xC4, -0x63,0x6D,0x8B,0xD0,0x7C,0x95,0x6B,0xFE,0x87,0xCF,0xDF,0x9C,0xBD,0x20,0x16,0x5A, -0x42,0xD5,0xAB,0x22,0x5D,0xE8,0xC4,0xC9,0xEE,0x20,0x65,0x83,0x7F,0xAA,0x54,0x10, -0x9A,0xB7,0xE3,0x37,0x25,0xD1,0x5D,0x24,0x82,0xFD,0x3F,0x17,0x1D,0x0D,0x8D,0xD6, -0x1C,0x55,0x22,0x80,0xF8,0x21,0x9B,0x1A,0xA1,0xC0,0xAD,0x65,0x88,0x43,0x7B,0xF5, -0x5B,0xE9,0x8C,0x0D,0x64,0xC9,0xA7,0x62,0x73,0x4E,0x04,0xAE,0x4F,0x00,0x37,0xE2, -0x2D,0x5C,0xD9,0x34,0xBD,0x77,0xDC,0x78,0x49,0xF9,0x07,0x45,0xC8,0x6B,0xD2,0xF2, -0xEC,0x02,0xB6,0x0E,0xA0,0xA0,0xF0,0xD6,0x6A,0xC4,0x95,0x37,0xEB,0x7A,0xD0,0xD4, -0x48,0xDA,0xA9,0x1F,0x96,0xBA,0xFC,0xCD,0xAF,0x66,0x9F,0x9B,0xC6,0xF9,0x0C,0xE4, -0x80,0x09,0x3A,0x4C,0xDD,0x12,0x89,0x09,0x1B,0xB7,0xE3,0x74,0xF3,0x9A,0x61,0x4B, -0xD9,0x59,0x86,0x82,0x7D,0x50,0x36,0xE8,0xFF,0x22,0x46,0xA5,0x41,0x92,0xE9,0xF4, -0xAF,0xEC,0xD3,0xBB,0xFB,0xEB,0xFB,0x06,0xAD,0x6C,0xA2,0x94,0x70,0xA6,0xF8,0xE1, -0x9B,0x13,0x0C,0x40,0x9E,0x05,0x4E,0x45,0x14,0x07,0x8C,0x4F,0x86,0xD1,0xA5,0xE3, -0x56,0x36,0xBB,0x5C,0x31,0x7C,0x9E,0x14,0x8E,0x51,0x30,0xE6,0xEA,0xE4,0xA2,0x33, -0x87,0xD9,0x0F,0x20,0xBF,0x78,0xE1,0x72,0xB9,0x5C,0x61,0x39,0x3B,0xD5,0x81,0xAD, -0x90,0xB8,0xE1,0x0A,0xCE,0x3B,0x97,0x01,0x94,0xC7,0xC1,0xB5,0x24,0x58,0xFB,0x63, -0x12,0x08,0xEB,0x85,0x55,0x57,0x76,0x41,0x02,0x3D,0x72,0xED,0x2F,0x03,0x2B,0x28, -0x4B,0x58,0x57,0x4B,0x21,0x9F,0xE0,0x00,0x63,0x5A,0x7A,0x4D,0xFA,0x65,0x74,0x0C, -0xA0,0x15,0xF5,0xC9,0xA5,0x2B,0x10,0xE4,0x4E,0xC1,0xDA,0xC1,0x06,0xD7,0x8B,0xA2, -0x36,0x46,0xEF,0x38,0x41,0xFA,0xB5,0x71,0xED,0x3C,0x05,0x49,0xD1,0x15,0x11,0x8A, -0xEE,0x24,0xA7,0x2D,0xE5,0xF6,0xB7,0xB4,0xE6,0xA8,0xD7,0x3C,0xE4,0x76,0x7C,0x25, -0x3E,0x6F,0xFC,0x26,0x70,0x64,0x64,0x52,0xF3,0x8E,0x49,0x54,0x66,0xD4,0x97,0x68, -0xDA,0xDB,0x78,0xD6,0x6F,0xBC,0x75,0xF6,0xCB,0x33,0x77,0xB0,0xC5,0xC3,0xBB,0x0F, -0x95,0x4E,0xC5,0x45,0xF7,0x1A,0xF4,0xAA,0x97,0xDB,0xA1,0x7F,0xDB,0xD0,0xB3,0x26, -0xAE,0x48,0x3C,0xCC,0x5A,0x6C,0x19,0xF1,0x34,0x26,0x7E,0xF7,0x3D,0x26,0x38,0x1B, -0x39,0xBF,0xC9,0x4A,0xF0,0x9E,0x29,0x92,0x33,0x1E,0xA3,0x73,0x74,0xF1,0x84,0x5B, -0xD4,0x86,0xB1,0xD3,0x04,0xAC,0xF2,0x13,0x95,0xD1,0x9C,0x70,0x87,0x4F,0xD7,0x04, -0xA9,0x98,0x09,0xA0,0x8D,0x2C,0x50,0x4D,0x17,0x1B,0xEC,0x85,0x4D,0xA4,0xF2,0xEE, -0x25,0x75,0xCA,0x2A,0x5F,0xE7,0xF9,0xC3,0x0A,0xB5,0xC0,0x52,0xA5,0xC0,0xA7,0xC5, -0x60,0xEF,0x75,0x84,0xDC,0xD7,0xD4,0x1F,0x39,0x9C,0x2C,0xC3,0x5A,0x48,0xEF,0x80, -0x04,0xCD,0xEA,0xD8,0x37,0x3D,0x1E,0x3A,0x1E,0x85,0x03,0xFF,0x32,0x2A,0x94,0xEA, -0xDF,0x2D,0x5C,0x99,0x3F,0x82,0xAC,0xB2,0x99,0x7D,0x93,0x81,0x1B,0xFE,0x34,0x60, -0x28,0xAA,0xFD,0x7B,0x7E,0x9A,0x56,0xF4,0x72,0x58,0x59,0x6B,0xDE,0x19,0xBD,0x7B, -0xD3,0x56,0x84,0xBF,0x2F,0x61,0xD2,0xA6,0x05,0x05,0xAF,0x69,0x2E,0x9D,0x59,0xCF, -0x7F,0xA7,0x88,0xB0,0x08,0x5D,0xFD,0xBF,0x46,0x49,0x68,0x7E,0x44,0x5B,0xE7,0xA9, -0xE0,0x79,0x6E,0x28,0xC1,0x00,0xF8,0xB1,0xF4,0xB6,0x94,0xD0,0x5F,0x81,0xE1,0xDD, -0x3F,0xCB,0x13,0x51,0xC4,0x8B,0x18,0x83,0x42,0x6D,0xD5,0x30,0xF5,0x69,0xD8,0xFD, -0xDE,0x89,0xB3,0xEE,0xF6,0xDF,0xA9,0xBC,0xD6,0x9D,0x5B,0x67,0x91,0x3D,0xB8,0x8D, -0x5E,0xAB,0x40,0xF7,0xF7,0x2D,0x15,0x9F,0xB9,0x25,0x04,0x5A,0x46,0x06,0x85,0xBB, -0x76,0x02,0x00,0xF0,0x41,0xD9,0x10,0xC0,0xB8,0xBB,0xE3,0x28,0xD9,0x1E,0x65,0x0A, -0x90,0x9D,0x98,0x2E,0x47,0x60,0xA6,0x33,0xAC,0x6D,0x66,0x82,0xDC,0xA8,0x3A,0xFE, -0x21,0x7E,0x04,0x4A,0x75,0xC6,0x58,0x3D,0x63,0x4F,0xD1,0xA9,0x71,0x6B,0x2E,0xCE, -0xB5,0x8E,0x8A,0x1D,0x7D,0xA1,0xF8,0x5C,0x4A,0x9B,0x5B,0x09,0x59,0xBC,0xEC,0x54, -0xEB,0x6C,0x61,0xDD,0x9D,0x93,0x73,0x59,0xB4,0x8D,0xF9,0x33,0x76,0x2B,0x06,0x67, -0xF8,0x64,0x7F,0xF4,0x55,0x73,0x95,0x16,0xD1,0x47,0x6E,0x21,0x29,0xD8,0xB8,0x34, -0x95,0xAF,0x78,0xA5,0x2E,0x69,0x2B,0xCF,0x28,0x3C,0x9D,0xD0,0xD6,0x23,0x67,0x00, -0xD5,0xFF,0xDF,0x78,0xCB,0x55,0xFD,0x03,0xA0,0x5B,0x7C,0x99,0x93,0xDC,0xEF,0x48, -0x97,0xA5,0x45,0xAA,0xA1,0xEB,0x9B,0xC5,0x5A,0x1A,0x64,0xDF,0x65,0x93,0xCB,0x4D, -0x11,0x4B,0x88,0x11,0x1B,0x04,0x84,0xAC,0xFB,0xA9,0x0F,0x36,0xE6,0x0E,0xE4,0xDC, -0x0E,0xEF,0x99,0xC9,0x27,0x7C,0x6C,0x30,0x7B,0xAF,0x4E,0x18,0xD4,0xD5,0x10,0x5D, -0x5F,0xBD,0x1D,0x32,0xF4,0x9A,0xFE,0xA5,0xE3,0x49,0x90,0x87,0xB5,0xFF,0xFE,0x4A, -0x1F,0xED,0xBA,0xEF,0x80,0x2C,0xB1,0x70,0x10,0xF7,0xCF,0xD4,0x86,0xED,0xDB,0x59, -0x32,0x76,0x1A,0x63,0x6A,0xBC,0x96,0xB0,0xAE,0xC9,0x6A,0x47,0x2C,0x6E,0xE7,0xC0, -0x15,0x6F,0x35,0x5F,0x70,0xC8,0x05,0xF4,0xE4,0x24,0xC1,0x4C,0x45,0x39,0x23,0x74, -0xD9,0x53,0xD0,0x89,0x7C,0xD3,0x1F,0xC2,0x72,0x50,0x09,0x0D,0x26,0xE5,0xBA,0x3E, -0xE6,0xD6,0x33,0xE9,0xF0,0xE6,0x44,0xF2,0x05,0xBF,0xAD,0x0C,0x50,0x08,0x17,0x65, -0x1B,0xC9,0x07,0xA1,0x9C,0xE1,0x94,0xC7,0xD9,0x26,0xCE,0x46,0x37,0xAB,0x00,0x49, -0x61,0x2E,0xA3,0x97,0x13,0x63,0x24,0xCD,0x03,0x4C,0x1B,0xB5,0x40,0x8F,0x7C,0x80, -0xFD,0x56,0x9F,0x7F,0x71,0xBA,0xE2,0x6A,0xA4,0x0C,0xC6,0xE5,0xC3,0x12,0x53,0x11, -0xB1,0xAA,0x37,0x53,0x4C,0xB0,0xED,0x68,0xAA,0x9E,0xD0,0x3B,0x69,0x91,0x6F,0x88, -0xA8,0x20,0xA6,0xCA,0x82,0xE9,0xBD,0xD4,0x31,0x42,0xE5,0x13,0x2F,0x51,0x41,0x0F, -0x29,0xF6,0xB6,0xF5,0x19,0xC1,0x88,0x08,0x6F,0x79,0xCB,0xB2,0x61,0xEC,0x45,0x2B, -0xDF,0x7D,0x50,0xC8,0x7E,0x16,0x13,0x66,0xFD,0x5A,0xB9,0x8F,0x27,0x2C,0x6B,0xAC, -0xF0,0xEC,0xCD,0x4B,0xAF,0x35,0x8D,0x57,0xC2,0xFC,0xBA,0x40,0x42,0x79,0x0B,0xDD, -0x37,0x44,0xFA,0xE8,0x21,0xC5,0xDA,0xC3,0x01,0xE8,0x17,0x70,0x0B,0x84,0x27,0x50, -0x3B,0xE8,0xF5,0x19,0x46,0x12,0x41,0xAD,0xDD,0x71,0x74,0x3A,0x47,0xCF,0x54,0x29, -0xD6,0xE3,0xBF,0xB2,0x9A,0x58,0x22,0x34,0x92,0x55,0x82,0x3F,0xF6,0x89,0x8F,0x39, -0x04,0x6D,0x16,0x79,0x5D,0x14,0x35,0x77,0x1F,0xFB,0x3E,0x78,0x1E,0xB5,0x13,0x41, -0x99,0x03,0x77,0x54,0x6D,0x77,0xC7,0xDD,0x30,0xDC,0x02,0x61,0x3F,0xD6,0x2A,0xEA, -0xF5,0xDE,0x2D,0xC0,0x0F,0xAE,0x01,0x7A,0x25,0x94,0x60,0xB9,0x06,0x4F,0x52,0x07, -0xD8,0x45,0x8D,0x4C,0xD4,0x2F,0x33,0x8E,0x0D,0xDE,0x0D,0x6B,0x6D,0xEE,0xE1,0xEE, -0x6C,0x94,0xF1,0xA3,0xE1,0x42,0x9C,0xED,0x5E,0x4D,0xDE,0xA3,0xC5,0x9B,0xAA,0x2A, -0x3E,0xDA,0x15,0x92,0xDA,0xF1,0x25,0x1C,0x26,0xAE,0x8B,0x0E,0xA0,0xCE,0xCA,0x5B, -0x1D,0xE7,0x87,0xE0,0xF9,0xF3,0x03,0x0D,0x1C,0xC1,0xD5,0xCF,0x77,0xE2,0xD7,0xF5, -0x63,0x24,0x9E,0x98,0x94,0x86,0x34,0xA6,0x52,0x7B,0xC4,0xB8,0xD2,0x5C,0xE9,0x66, -0xF9,0x72,0x22,0x31,0xF8,0x81,0xE4,0x93,0x4E,0xCC,0xE1,0x75,0xAB,0x8C,0x46,0x37, -0x88,0x01,0x54,0x72,0x53,0xCA,0x23,0xE5,0x90,0xF1,0x8E,0xFA,0x87,0x24,0x0A,0xCB, -0xDA,0x4F,0xB0,0x43,0x62,0xDB,0x36,0xD1,0xA9,0xA4,0x3B,0x8C,0x3C,0xE9,0x8C,0x25, -0x75,0x1E,0x60,0x3A,0x3D,0x08,0xFF,0x74,0x97,0x9C,0xDF,0x31,0x80,0x64,0x22,0x62, -0x14,0x79,0x68,0x9A,0xE8,0x57,0xDB,0x12,0x59,0x20,0x8F,0x68,0x48,0xF2,0x56,0x23, -0xCE,0x7F,0x73,0xEE,0x29,0xA2,0x7A,0xA2,0x32,0x78,0x0E,0xA4,0xAF,0xF3,0xC8,0x51, -0xE3,0xE4,0xD3,0x62,0x36,0xD8,0xB4,0x2F,0x18,0x96,0x6F,0xB3,0xEC,0x85,0xB9,0x22, -0x91,0x8B,0xC5,0xEB,0xF6,0x5F,0xF2,0x01,0x3F,0xD0,0xF3,0xCD,0x21,0xA5,0x92,0x97, -0x84,0xAD,0x5B,0x83,0x74,0xB4,0xBF,0xA3,0x34,0x8B,0xB8,0x1D,0xB3,0x76,0x07,0x71, -0x39,0xE2,0xC8,0x16,0x14,0xA8,0x75,0xA0,0xDB,0x82,0xC2,0x83,0xFC,0x02,0xD2,0xC7, -0x9A,0x1F,0x17,0x9E,0xC3,0x32,0x5D,0x62,0x2A,0x98,0x91,0x15,0x2D,0xA7,0x36,0x52, -0x43,0x05,0x6C,0x20,0x2F,0x1B,0xCC,0x51,0xDE,0x4B,0x9F,0x8D,0xBB,0x0B,0x2D,0xD2, -0x44,0x3D,0xB1,0xA4,0x66,0xA7,0x8C,0x86,0x58,0xBE,0x68,0x1A,0x49,0x3B,0x87,0xB1, -0xBC,0x10,0x65,0x67,0xD7,0x98,0xD8,0xB4,0xC4,0x0F,0x0C,0xF9,0x6B,0x67,0x18,0xD5, -0xE0,0xF8,0xB3,0xA8,0xC9,0x90,0xF1,0xA7,0x57,0xB2,0x99,0xB6,0xCD,0xE6,0x80,0x89, -0x7D,0x96,0xD2,0x85,0xB7,0x84,0x12,0xB7,0x38,0xBD,0xA2,0x06,0x30,0xEB,0x28,0xE0, -0x4E,0xBF,0x3E,0x14,0x48,0xCC,0x57,0x3F,0x96,0x02,0x38,0x43,0x00,0xC6,0xAB,0x3C, -0xE2,0xF2,0x8E,0xA7,0x95,0xF4,0xD3,0x38,0xC1,0xC6,0x51,0xF7,0x7B,0xE0,0x73,0x30, -0x60,0x38,0xFE,0x52,0x5F,0xD1,0x39,0xD3,0xB2,0x7E,0x4F,0x8A,0xFB,0x42,0xFA,0x6E, -0x05,0x7B,0x4B,0xBC,0xCC,0x9E,0xAC,0x6E,0x69,0x8A,0x7D,0x0B,0x4D,0x44,0x09,0xD7, -0x72,0x26,0xBD,0xBE,0x3C,0x7A,0x18,0xEA,0xAD,0xF3,0x81,0xF0,0xB6,0xC0,0x58,0x85, -0x69,0xA6,0x11,0x28,0x20,0xB7,0x3D,0x5D,0xCA,0x9D,0x1A,0x27,0xEA,0x0C,0x40,0x19, -0xEE,0x5E,0x81,0x56,0x09,0x17,0xB7,0x89,0x8B,0x2B,0xFA,0xFC,0x55,0xBE,0x48,0x91, -0x35,0x4E,0xC7,0xE7,0xE7,0xFB,0x2A,0x1E,0x43,0x64,0x1C,0x1C,0x5C,0x0A,0xB3,0xA0, -0xA1,0xBE,0x49,0xB0,0x83,0x9B,0x5A,0x4A,0xFC,0xC4,0x5E,0xFD,0x08,0xBB,0x81,0x9F, -0x31,0x6A,0x7A,0xA9,0x56,0xC4,0x7E,0x2C,0xA2,0xFF,0x70,0x5C,0x8A,0xEF,0x7F,0x9C, -0x83,0x95,0x86,0x07,0x4D,0xC2,0x0A,0xF6,0x3A,0x19,0xAE,0xC3,0xD7,0xEA,0xB6,0x92, -0xAB,0x9B,0xBD,0xB4,0x87,0x45,0x96,0x0D,0x74,0xF4,0x67,0x3E,0xBC,0x94,0xB5,0x88, -0xB3,0x7B,0x22,0x05,0x60,0xDB,0xE4,0x0C,0x71,0x42,0x93,0x61,0x15,0x93,0xF5,0xA0, -0xDE,0xD0,0x15,0x70,0xB5,0xB1,0x17,0xD6,0x3C,0xC0,0x78,0xC3,0xC0,0x2E,0xB1,0xDF, -0x1D,0xC4,0xB8,0x40,0x02,0x93,0x3C,0x19,0xC2,0xF2,0xDE,0xCD,0x23,0x4A,0x2D,0x6E, -0x9E,0xF8,0x12,0xD9,0x9D,0x73,0x8D,0x01,0x17,0x28,0x2D,0xA7,0xD2,0xB9,0xD4,0x15, -0x09,0x12,0x3D,0xEA,0x3F,0x65,0xB7,0xFF,0x9C,0xC8,0x1F,0xA2,0x30,0x79,0x3F,0x4B, -0x96,0x99,0xB2,0xBE,0xF9,0xC2,0x6E,0x9D,0x4F,0x9B,0xD7,0x31,0x11,0xC1,0xCD,0x6B, -0x6D,0x46,0x4D,0x8A,0x0A,0xB9,0x9F,0x64,0xF1,0xE0,0xCD,0xE8,0xDA,0x90,0xCA,0x06, -0x26,0x35,0x01,0xF3,0x00,0xE4,0x61,0xEF,0xFF,0x14,0x55,0x3B,0x1B,0xCE,0xF0,0x69, -0x69,0x11,0xF7,0xF6,0x18,0xA5,0x27,0x15,0x99,0x7E,0xEB,0xFD,0x41,0x1C,0x6A,0x2B, -0x60,0xEE,0xB0,0xE3,0x2A,0x51,0xA6,0xCE,0x08,0x92,0xC2,0xCE,0x51,0xAD,0x2C,0xF0, -0xBB,0x1A,0x82,0x62,0x6B,0x57,0x88,0x4E,0xE0,0xAE,0xBA,0x52,0xF5,0x75,0x3D,0xEF, -0x58,0x25,0xE2,0xE7,0xAB,0x09,0x6A,0xA5,0xD5,0x35,0x92,0x8E,0x53,0x8B,0x0F,0xE1, -0x4A,0x00,0xD1,0xF4,0xF4,0xB7,0x39,0x56,0x9A,0x41,0x24,0x5B,0x03,0x56,0xA8,0xA1, -0x8C,0xDD,0x21,0xCA,0xA5,0xDA,0xF2,0x51,0x61,0xC5,0x76,0x0A,0xD1,0x3B,0x80,0xEB, -0xDB,0x19,0x48,0x7E,0x0E,0x37,0xF9,0x1B,0xF2,0xDF,0x02,0x4E,0xC8,0x07,0xAF,0xCC, -0xBD,0xE9,0x34,0xDB,0xC9,0x41,0xB2,0xB0,0x20,0x45,0x58,0x0C,0x68,0x8D,0x86,0x18, -0x50,0x44,0x42,0x80,0x6D,0xAE,0xB3,0xC7,0x7B,0xC9,0x6D,0x3C,0xED,0xED,0x65,0x27, -0x3A,0x82,0x24,0x3E,0x7F,0xB2,0x0B,0xB6,0x40,0xA6,0xDD,0x33,0x90,0xF3,0x16,0x9F, -0x1E,0xFE,0x53,0xF7,0xAA,0xD8,0xF8,0x6C,0xF0,0x29,0x5F,0x39,0x77,0xC5,0xB2,0xE5, -0x24,0x91,0x0D,0x36,0xB4,0x60,0x85,0x1F,0x89,0xF9,0x0E,0x96,0x14,0x37,0x82,0x4F, -0xA7,0xAD,0xA7,0xAF,0xA2,0xF2,0x5B,0x11,0x86,0xC4,0x04,0x94,0xE8,0x1B,0x2A,0x03, -0x59,0xBB,0x05,0x95,0xAF,0x87,0x0C,0xDA,0xEC,0xAC,0x7F,0xF6,0x48,0x91,0x03,0xD7, -0xE4,0xBF,0x4B,0xB1,0x81,0xBC,0xAD,0x84,0xD9,0x37,0x57,0x2A,0x9E,0xAE,0x13,0x56, -0xCC,0xF5,0x26,0x63,0xDE,0x02,0xFE,0x77,0xE9,0x1A,0x8B,0xA9,0x52,0x2F,0x78,0x0E, -0x99,0x95,0x43,0x12,0xDD,0xA4,0x31,0x48,0x77,0xCB,0xA8,0x98,0xC3,0xAC,0xE5,0x21, -0x7A,0xAA,0x23,0x97,0x10,0x8F,0x84,0x68,0x25,0xF3,0xAC,0x53,0x56,0x7D,0x40,0xC5, -0x31,0xD9,0x6F,0xEE,0x73,0x16,0xCE,0xB4,0xBE,0x94,0x7B,0x3D,0xFA,0x8C,0x4F,0xC9, -0x00,0xED,0x7A,0xFF,0x5A,0x05,0xC6,0xAA,0x51,0xE8,0xAA,0x89,0xD3,0x1D,0xA3,0xFA, -0x3C,0x71,0x92,0x87,0xE6,0xAB,0x81,0x27,0x46,0x2F,0xE6,0xCA,0x5D,0xD6,0x0A,0x28, -0xFA,0xAC,0x62,0xB9,0x04,0x6A,0x07,0x90,0x65,0xBA,0x10,0x84,0x60,0xA4,0x98,0x0B, -0x63,0xD4,0x5B,0x54,0x66,0x22,0xDF,0x85,0xA3,0xD8,0xC9,0x23,0xBD,0x30,0xC2,0x67, -0x2E,0x54,0xA1,0x94,0xBA,0xB3,0x1D,0xEB,0xF8,0x54,0xFC,0x13,0x2A,0xC7,0x44,0x92, -0x5B,0x1F,0x09,0x50,0x69,0x20,0xD5,0xB8,0x57,0x61,0x91,0x70,0xFB,0x28,0x38,0x26, -0x57,0x29,0x13,0x4B,0xB1,0x3F,0x71,0xA9,0x67,0x4C,0x4D,0xF3,0x59,0x84,0x32,0xE3, -0x7B,0x34,0xC4,0xE5,0xEF,0x50,0xB0,0x93,0x41,0x6F,0x4F,0xE2,0x64,0xF6,0xA0,0xC0, -0x39,0xB8,0xCF,0x89,0x85,0x32,0xCB,0xFB,0x80,0x4D,0x3F,0x6D,0xCC,0x55,0x97,0x07, -0xE9,0x17,0xB6,0xD8,0xA0,0x85,0x06,0xE7,0x50,0x21,0x38,0x58,0x9A,0xFC,0x2B,0x9D, -0x5C,0x72,0x58,0x9B,0x5F,0x5A,0x32,0x1C,0x52,0xD7,0x65,0x2F,0xF1,0x27,0x05,0x24, -0x91,0xF4,0xE3,0x75,0xEA,0x0F,0x44,0x25,0x47,0xE6,0x74,0x1B,0xBF,0x16,0xE1,0x76, -0x47,0xA8,0x2C,0x9D,0xEB,0xDE,0xD6,0xEC,0xBF,0x5D,0xE9,0xEC,0xC7,0xFE,0xDD,0xEA, -0xD1,0xDC,0xE4,0xDC,0xBB,0x62,0x8F,0x22,0x9B,0x88,0xB6,0x8A,0xA0,0x5E,0xD5,0x8B, -0x30,0x47,0x88,0x9C,0x0B,0x68,0x0D,0xAD,0xD0,0x83,0x66,0xD1,0x5A,0x06,0x66,0x1D, -0x46,0x36,0xCB,0xEF,0x6A,0x86,0x1A,0x87,0x1E,0x9C,0x1C,0x5C,0xC1,0x8A,0xC6,0x30, -0xC3,0xF9,0xD7,0xCF,0xDC,0x75,0xA3,0x81,0xDB,0xC1,0x0A,0x5D,0x13,0xE7,0xEE,0x7A, -0x10,0x6C,0x45,0x29,0x97,0x2E,0x73,0x8A,0x96,0x43,0xE1,0xFF,0x35,0x8F,0x70,0x6F, -0x12,0xC8,0x49,0xEC,0xF5,0x66,0xAB,0x9F,0x39,0x76,0x8C,0x9C,0xA1,0xFA,0xA2,0x64, -0xB7,0x2C,0x98,0x79,0xA6,0x7C,0x3D,0x6E,0x11,0xA1,0x16,0x5E,0x5C,0x72,0x7D,0xC7, -0x8E,0x79,0x2D,0x0F,0x0C,0x40,0xA4,0xED,0xE8,0xD3,0x19,0x78,0x83,0xC0,0x04,0xBA, -0xBE,0xD3,0xDF,0x6C,0xFB,0xB5,0x33,0x6B,0xA8,0x9A,0xA5,0xAF,0xBB,0x44,0xD9,0xBD, -0x53,0x7E,0xA9,0x37,0xFD,0x4C,0x08,0xE2,0x95,0x7C,0x2E,0x59,0x46,0xCC,0x06,0x1E, -0xD2,0xE6,0x0F,0x6B,0x68,0xF1,0x47,0x71,0xBC,0x62,0x26,0x4A,0xAE,0x03,0xD0,0x42, -0x73,0x55,0x64,0x82,0x5C,0xFC,0xFD,0x23,0x33,0xFD,0x72,0xC1,0x01,0x70,0x8B,0xB0, -0x5E,0xD6,0x54,0x5E,0xC6,0x43,0xB8,0x8D,0x76,0x02,0x3A,0x49,0x28,0xE1,0x67,0x83, -0xF7,0x04,0x9F,0xD0,0x2B,0x80,0x34,0x07,0x5D,0xEA,0x6F,0x2D,0x86,0x36,0x4B,0x9E, -0x55,0x8D,0x1F,0x8E,0x35,0x38,0x49,0x74,0xB7,0x20,0x4A,0xC6,0x4C,0xC3,0x3B,0x1C, -0x75,0xA6,0xD2,0x3B,0xE5,0x0D,0x4E,0x18,0x7C,0x89,0xC4,0x14,0x98,0xDA,0x08,0x8C, -0xF1,0xF7,0x29,0x69,0x19,0x74,0xB5,0xDC,0xC8,0x79,0x20,0x90,0xC5,0xD8,0xFE,0xFB, -0x0B,0xB6,0x31,0x2F,0x9E,0xD5,0x42,0x3E,0xD3,0xBC,0xA9,0x77,0xE0,0x32,0x34,0x10, -0xB9,0xBE,0x8E,0xA7,0x7E,0x63,0x99,0x7F,0x59,0x95,0x09,0xA3,0x18,0x4C,0xA4,0x97, -0x0E,0x7F,0x6C,0x21,0x3A,0x3A,0x43,0x49,0x3E,0x36,0x25,0xB4,0x00,0xD4,0xFC,0x5F, -0xBF,0x4D,0x38,0x1E,0x78,0x9A,0xA2,0xF6,0x4E,0x52,0x45,0xE0,0xF0,0x83,0x72,0xCB, -0x5F,0x48,0xB3,0x2C,0xCA,0xE7,0x7D,0x8F,0x6E,0xF8,0x7C,0x08,0x2B,0x63,0x33,0x7D, -0x5A,0x81,0xEE,0x22,0x14,0x01,0xE2,0x17,0x1A,0xE3,0x7A,0xD2,0xD4,0xCD,0xCF,0xCF, -0x1C,0x02,0x54,0x84,0x4F,0xE5,0x0D,0xD9,0x29,0xB3,0xB3,0x23,0x65,0x16,0xA3,0xA2, -0x4F,0x91,0x87,0x4C,0xE7,0xAE,0xC9,0xAC,0xC6,0xCF,0x62,0x97,0x08,0xB9,0x96,0xC1, -0x5E,0x8E,0x5F,0xE8,0xFD,0x98,0xD2,0xA0,0x6A,0xC5,0xC0,0x52,0xD4,0x89,0xBB,0x42, -0x64,0xE1,0x01,0x29,0x2A,0x85,0x7C,0x8C,0x18,0x57,0xFD,0x71,0xD6,0xAF,0x98,0x53, -0x0C,0x83,0x6B,0x52,0x21,0x09,0x10,0xCE,0xBB,0x60,0x55,0xB6,0xA6,0x6E,0xBA,0xDC, -0x10,0x34,0x4E,0x9F,0x58,0xA6,0x41,0x1E,0x12,0xDC,0x03,0x2C,0xA1,0xBE,0xD6,0xE9, -0xEB,0xEB,0xB1,0xAB,0xB6,0xC3,0x02,0xAB,0xC9,0xF2,0x68,0x95,0xFC,0xBC,0x20,0x9E, -0xD2,0xBE,0x04,0xDD,0x0D,0x45,0xEC,0x66,0xF8,0x16,0x26,0xC7,0xED,0xA9,0x11,0xAA, -0x1B,0x6F,0x05,0x4F,0xC2,0x19,0x04,0xB0,0x10,0x2A,0x5E,0x5B,0x70,0x51,0xAA,0x5D, -0xD5,0xD3,0x55,0x16,0x0A,0x6D,0x45,0x26,0xB0,0x22,0x39,0x3A,0x2F,0x75,0x7F,0x3B, -0x5A,0xD9,0xE5,0x94,0x66,0xF6,0x05,0xC7,0xE8,0x91,0xC3,0xAC,0xFF,0x3E,0x74,0x60, -0x70,0x37,0x84,0x83,0x25,0x87,0x76,0xB1,0x64,0x31,0x58,0x81,0x85,0xF0,0x6B,0xED, -0x76,0xC4,0x32,0x3A,0x39,0x48,0x56,0x34,0x09,0x19,0x8A,0xCB,0x93,0x35,0x36,0xEC, -0x7D,0x9F,0x79,0xEA,0xAB,0xDD,0xB0,0xE7,0x61,0x87,0xAC,0xDE,0x78,0x78,0xB4,0x4E, -0x68,0xD7,0x1B,0x32,0xA7,0x79,0x75,0xE5,0x14,0x55,0x38,0xD5,0x15,0xD7,0x81,0x2D, -0x99,0xCD,0x48,0xA4,0x76,0x9D,0xE0,0x40,0x9C,0x8A,0xC5,0x76,0x8F,0xFF,0x56,0xEF, -0x1A,0xF1,0xE2,0x3D,0xC3,0xC8,0x96,0x79,0x2E,0xF3,0x1A,0x0B,0x80,0x06,0x24,0xC9, -0x9C,0x04,0x15,0xAA,0x31,0x62,0xF5,0x49,0xAA,0x2E,0x22,0x0C,0x3C,0x46,0x6D,0x1E, -0x15,0xFD,0x13,0x91,0x47,0xCF,0xAE,0xA4,0x22,0xF1,0xDF,0xAF,0xB7,0x7B,0x8B,0xE8, -0x86,0x40,0x86,0xDE,0xE1,0x57,0xF2,0x25,0xED,0x27,0x37,0xF3,0xBF,0x52,0x95,0xFB, -0xD4,0x4D,0xB2,0x64,0x8A,0xE4,0x1B,0x84,0x9E,0x7C,0x98,0x01,0xEB,0xDD,0x0A,0x70, -0x7A,0xF2,0x28,0x21,0xBA,0x67,0xC7,0xA9,0x0F,0x90,0xB1,0x32,0xA3,0x98,0xF5,0xF8, -0xF0,0x31,0xC5,0xAD,0x71,0xB5,0x49,0x00,0xD8,0xBC,0x1F,0x2F,0xF6,0xB3,0x1D,0x9C, -0x83,0x89,0xDB,0xD0,0xF1,0x3C,0x17,0xA2,0x2D,0xCC,0xD5,0xAD,0xD3,0x59,0xD7,0x77, -0xEF,0xBC,0x0B,0xD7,0x3C,0x17,0xA2,0x82,0x34,0xFF,0x01,0x3D,0x5D,0x92,0x7E,0xA5, -0x2B,0xC5,0xF7,0x2C,0xC7,0x46,0xF0,0x06,0x36,0x09,0x5C,0x4A,0xB9,0x26,0x8E,0x21, -0xC9,0x64,0x70,0xDB,0xDF,0x07,0xB6,0xFC,0xDC,0xC3,0x79,0xA1,0x30,0x3D,0x4B,0xC6, -0x88,0xD2,0x90,0x00,0x60,0x0F,0x3E,0x4E,0xA2,0x53,0x81,0x26,0x90,0xB7,0x62,0x12, -0xBE,0x8B,0xD4,0xDA,0x82,0xCE,0xB8,0xF9,0x3A,0x0B,0x99,0xEE,0xBC,0xD0,0xC1,0x05, -0x01,0x2B,0x96,0x3B,0xD6,0xFC,0x87,0x48,0x6D,0x85,0x69,0x7A,0xDC,0xA0,0xA5,0x51, -0x78,0x56,0x24,0xE4,0x5D,0xF9,0xB5,0xA8,0x8D,0xC4,0xB2,0xCC,0xE5,0x80,0x0F,0xB9, -0xE0,0xB0,0xFA,0x7B,0x00,0x30,0xBB,0xAD,0x23,0x38,0x4D,0x7E,0xE3,0xF4,0x14,0x63, -0xFA,0xF4,0x69,0x0F,0x53,0x2A,0x2D,0x5C,0x7A,0x42,0x25,0x39,0xFE,0x9A,0x03,0x8F, -0xFB,0x6A,0x8E,0x7D,0xCC,0xCA,0x9C,0x44,0x7D,0x02,0x8C,0x11,0x0A,0x9F,0xB5,0xD0, -0x21,0x00,0x5B,0x8E,0xFB,0x61,0xE9,0x29,0xC0,0x46,0x59,0x6E,0xE1,0xD2,0x37,0x72, -0xEE,0x22,0xEC,0xA5,0x56,0x75,0xD9,0xEA,0xA4,0xDA,0xBA,0xDF,0x47,0x2C,0x05,0x7C, -0xF6,0xC2,0x73,0x14,0xFC,0x49,0x40,0x69,0x57,0x23,0x4B,0xA4,0xB4,0xF9,0xDF,0x16, -0x08,0xD4,0xD1,0x2E,0xD3,0xA3,0x73,0xFE,0x97,0xC8,0xA9,0xFA,0x86,0x72,0x3F,0x13, -0x6A,0x73,0x17,0xF7,0x5C,0x28,0x27,0x61,0x2F,0x3A,0x88,0xDA,0x4E,0xA1,0x6C,0x80, -0x93,0x08,0xE4,0x06,0xA3,0xF7,0x13,0x9A,0x7E,0x3D,0x43,0xB7,0x54,0x1F,0x17,0x59, -0x18,0x55,0xEE,0xF8,0xEF,0x84,0x6A,0xD1,0x20,0x07,0x82,0xD8,0xCC,0x11,0xE3,0x8A, -0xE2,0x14,0xF6,0xBE,0x19,0xA0,0x6F,0x9E,0xF2,0x9D,0xD8,0x9A,0x72,0x77,0x89,0x4C, -0x39,0xE0,0xC4,0x3F,0x5E,0x5F,0x7A,0x97,0x43,0xDB,0xC8,0x41,0x5B,0xE6,0x65,0x7F, -0xB9,0xE6,0x85,0x11,0x6C,0xAB,0xFB,0x4C,0x9B,0xCA,0x6C,0x5E,0x23,0x0E,0x59,0xE3, -0x52,0xB8,0x45,0xF3,0x0C,0x94,0x7E,0xAF,0x65,0xF8,0xCA,0x50,0x0B,0x3B,0xC2,0x3F, -0xA1,0x06,0x1A,0xA0,0x3F,0xB1,0x6D,0xBD,0xB8,0x5F,0x9A,0x10,0xBD,0x74,0xB6,0xEA, -0xA6,0x6B,0x4B,0x6B,0xCF,0x6C,0x53,0x7B,0xD5,0x77,0x48,0x5A,0xEF,0x8F,0x32,0xBB, -0xEC,0x86,0xE0,0x60,0xA6,0xA8,0xE7,0x2C,0xE9,0x58,0x51,0x7D,0x9B,0x1C,0x28,0xFF, -0x47,0xF0,0x27,0x2B,0xDA,0x58,0x42,0x4A,0x63,0x71,0xF1,0xA9,0xC1,0xCE,0xB2,0xBD, -0x30,0x1F,0x83,0x2A,0xAC,0xF5,0x19,0xA7,0x03,0x92,0x74,0x96,0xF4,0x95,0x3E,0x8D, -0x41,0x03,0x91,0x92,0xCA,0x33,0xA7,0xCD,0x1D,0xE1,0x09,0x2E,0x44,0xAE,0x51,0x82, -0x9B,0x69,0x44,0x61,0xBD,0x4F,0x6E,0xE9,0x2B,0x45,0xEE,0x54,0xC6,0x1E,0xDE,0x88, -0xE8,0xD1,0x5A,0x1C,0xE3,0x20,0xAF,0xD3,0xD9,0x75,0x8D,0xFE,0x97,0x67,0x0E,0x27, -0xE6,0x43,0x4C,0xC2,0x49,0x1C,0x36,0x50,0xF5,0xDD,0x71,0xB2,0x9D,0x68,0x33,0x25, -0x2D,0x36,0x41,0x95,0xEB,0x0A,0x0C,0xAE,0x7F,0xF4,0xD1,0x66,0xE6,0x02,0x5B,0x47, -0x73,0x0D,0x6F,0x34,0xA5,0x0E,0x28,0x13,0x40,0xE4,0x07,0xE7,0xCE,0x37,0xC0,0x9B, -0x80,0xB3,0x30,0x67,0xC8,0x44,0xFA,0x3B,0xC1,0x8F,0xCB,0xBF,0x12,0x07,0xED,0x18, -0xBF,0x15,0x33,0xA8,0xAD,0x24,0x8B,0x6E,0x42,0x12,0x5A,0x90,0x31,0x99,0x3C,0x29, -0x9F,0x3E,0xFE,0x1D,0xCD,0x1B,0x0E,0x8D,0x93,0xB7,0xCF,0x74,0x35,0xCB,0x04,0xE2, -0x43,0xA7,0x9D,0x57,0x81,0x68,0x77,0xC6,0x62,0xB8,0x63,0x78,0xE2,0x50,0x63,0x8C, -0x5D,0xB4,0xB4,0x5F,0x94,0x5C,0x66,0xF7,0xF3,0x54,0x4A,0x4B,0x33,0xBF,0x1F,0x38, -0xD0,0x1A,0x08,0x18,0x7C,0xC0,0x1E,0xCB,0x38,0xFD,0xC4,0x99,0x7F,0xA8,0xD8,0x7B, -0x67,0xDB,0xEA,0x9E,0x8C,0x1D,0x20,0x0D,0x4A,0x6F,0xF9,0xBA,0x89,0x8B,0x4D,0x35, -0x72,0x93,0x88,0x46,0xB5,0x65,0xCD,0x94,0xDE,0x35,0x24,0xD6,0x50,0x4D,0x2F,0x92, -0x2D,0x9D,0x23,0x95,0x74,0x56,0xE0,0x20,0x75,0x84,0x0F,0x21,0xA0,0x24,0xFD,0xF1, -0x83,0x61,0xDC,0x27,0x72,0x4D,0x3A,0x54,0xEA,0x5A,0xE9,0xB9,0x69,0x2A,0xA0,0xF4, -0x9A,0x52,0x08,0xB7,0x2D,0x98,0x5C,0x70,0x4B,0x74,0xD2,0xE7,0x97,0x29,0x22,0xA0, -0xCD,0xDC,0xF8,0x23,0x4D,0xFC,0x08,0x00,0xAA,0x36,0x72,0x58,0xA5,0x16,0x76,0x11, -0x7C,0x9A,0xE8,0xF8,0xA1,0x12,0x9F,0x9D,0x4A,0xD0,0x3D,0x90,0x5E,0x27,0x7F,0xA5, -0x02,0x0A,0x10,0x7F,0x01,0x3B,0x4B,0x17,0x91,0x30,0x8B,0xD1,0x56,0xAF,0xC0,0x17, -0x94,0xA6,0x90,0x64,0xCC,0x27,0xFC,0x32,0x46,0xAB,0xE5,0xB6,0x4E,0x33,0x9C,0xDB, -0x96,0x50,0xCD,0x13,0x28,0xD7,0x78,0x86,0xBD,0x57,0x9C,0x72,0x1F,0x61,0x67,0x5F, -0x78,0xE5,0x8E,0x76,0x67,0x44,0xC5,0x13,0x3C,0x65,0x68,0xA9,0xEC,0xD8,0xD1,0x59, -0x8D,0x95,0x44,0xF4,0x42,0x8E,0x2E,0xF9,0x41,0x7B,0xD0,0xDA,0x65,0x86,0x51,0xFB, -0x3E,0x25,0x09,0x58,0x7A,0x53,0x29,0x7D,0xF5,0x12,0x14,0x8D,0xBD,0x8A,0x2A,0xDD, -0xAF,0xC9,0x20,0x6B,0x32,0xAC,0xA1,0x38,0xB0,0x88,0xAB,0x23,0x3E,0x56,0x1A,0xF0, -0x82,0xA8,0x4E,0xF6,0x26,0xD2,0xB1,0xDB,0x00,0xB3,0xA4,0x4C,0x96,0x3F,0xE7,0xFD, -0x4D,0x7E,0xA6,0xAA,0x2E,0xCC,0xA2,0xF2,0x4F,0x26,0x19,0xDF,0x0E,0x63,0x41,0x7C, -0x8E,0xAA,0x8B,0x52,0x11,0x7D,0x90,0xA6,0xAC,0x42,0xA8,0x43,0x91,0x07,0x63,0x20, -0x0A,0x77,0xB3,0x55,0xAD,0x34,0x47,0xE6,0x3B,0xB5,0x5D,0xC5,0x3B,0x64,0x91,0x10, -0xB4,0x0C,0xA9,0x8C,0x84,0xD8,0x74,0x77,0xA3,0xBB,0x8E,0x31,0x20,0xE4,0x07,0xBC, -0x3C,0xD3,0x54,0x2F,0x1E,0x0F,0xB6,0x5F,0x35,0xE8,0x94,0xC0,0xC4,0x71,0xD6,0x19, -0xA9,0x40,0x1B,0x92,0x02,0x6F,0xB5,0x95,0xAB,0x92,0x9D,0x2F,0x11,0xC7,0x99,0x6D, -0xC1,0xDE,0x3D,0x87,0xE9,0xED,0x17,0xD8,0x7B,0xD9,0xC6,0x24,0x84,0x21,0x0B,0xBE, -0x48,0xC8,0x52,0xF5,0x6E,0x2D,0x39,0x9E,0x05,0x45,0x80,0x03,0xAF,0x94,0xC6,0x9E, -0xC4,0x68,0xC9,0xD8,0x14,0x32,0xB4,0x50,0x12,0x24,0x6E,0x29,0xDE,0xE7,0x85,0xE8, -0xB0,0x73,0xCF,0x02,0xE1,0xF3,0x04,0xF1,0xDE,0xA5,0x36,0x42,0x40,0x95,0x62,0xE9, -0x10,0x7B,0xA8,0x63,0xBE,0x26,0x62,0xD5,0x87,0xF5,0x8A,0x8C,0x34,0xD4,0xAA,0x7F, -0x69,0xAB,0xF9,0xCC,0x6D,0x79,0xC7,0x1C,0x3A,0x11,0xB2,0xB2,0x9A,0x93,0x16,0xF2, -0x58,0x4F,0xB7,0x9E,0x7C,0x48,0xF3,0x09,0x4C,0xA4,0xE7,0x8B,0x1C,0x7D,0xAD,0x3F, -0x1B,0x39,0xC4,0xEF,0x37,0xE3,0x85,0xCE,0xC3,0xCB,0xDA,0x55,0x50,0x81,0x81,0x97, -0xB2,0x85,0x92,0x75,0x30,0x8F,0xB0,0x1E,0x0E,0xEE,0x6D,0x49,0xFF,0xD0,0xF8,0x47, -0xCA,0x9C,0x51,0x0B,0x45,0xE2,0x1B,0x29,0x79,0xFF,0xD7,0x07,0xC1,0x43,0x5D,0xF9, -0xB8,0x0E,0x6C,0x28,0x47,0xC1,0x0A,0x0F,0xB8,0xA1,0xB8,0x3D,0xDC,0xED,0x8A,0xD5, -0x89,0xEA,0x22,0x7A,0xF4,0xFA,0xFB,0xB6,0x15,0xF4,0x5B,0x45,0xBC,0x9C,0xEF,0x80, -0x66,0x96,0xF3,0xCE,0x99,0xCF,0x98,0x19,0xDD,0x27,0xC8,0x16,0xF7,0x58,0x47,0xF5, -0xEA,0x36,0x68,0xE3,0x18,0x14,0x6C,0x2B,0x0F,0x4A,0x82,0x3E,0x44,0xB1,0x2C,0x54, -0x7E,0x6C,0xB5,0x8F,0xC1,0x76,0xCB,0xED,0xD7,0x28,0xCA,0x2B,0x3C,0x5C,0x15,0xCD, -0x53,0x0D,0xDB,0x12,0xA2,0x46,0x61,0x1F,0xCE,0x14,0xED,0x04,0x05,0xF7,0x34,0xAE, -0x98,0xA4,0x55,0xC0,0xEE,0x81,0x22,0x08,0x89,0xA8,0x43,0x89,0x99,0x8F,0xDC,0x92, -0x33,0xEE,0x5E,0x2D,0xA4,0x5D,0xBB,0x6B,0x8C,0x5E,0x67,0xC6,0x42,0x9F,0x6D,0xD4, -0xC2,0xE1,0xF2,0x21,0x73,0x3A,0xD5,0xF0,0xC6,0x3D,0xFE,0x1A,0x31,0xE6,0x21,0x9F, -0x61,0xD6,0x5A,0xE6,0x83,0xB4,0x41,0xA7,0xF6,0x90,0xEA,0xD9,0x1D,0x6B,0x68,0x62, -0xE2,0x4B,0xCB,0xC9,0xA0,0x65,0x70,0x39,0x39,0x93,0x4C,0xE6,0x7D,0x1A,0x0D,0x37, -0xDF,0xAD,0x40,0x3F,0x77,0x02,0x1E,0xA2,0x04,0xE1,0x6F,0x74,0x53,0x9D,0x4B,0xF7, -0xE0,0xBD,0x96,0xBE,0x5F,0x99,0xC2,0x97,0xA5,0xCF,0x54,0x2A,0x57,0xB9,0x05,0x4A, -0x79,0x2C,0x1C,0xA7,0x06,0x57,0x7E,0xC7,0x8D,0xFA,0x88,0xB1,0x79,0x3E,0x43,0x8A, -0x55,0x84,0xE0,0xEB,0x0C,0x6A,0x7C,0xC8,0x53,0xEC,0x1A,0xBF,0x45,0xA7,0xE9,0x09, -0xBD,0xB8,0x98,0x77,0xD5,0x08,0xDB,0x0E,0x03,0x31,0x5A,0x18,0x6A,0x36,0x6A,0x94, -0x8B,0x1C,0x7F,0x0D,0x57,0x87,0xD1,0xBE,0xF0,0xE4,0x30,0xC2,0x16,0xFF,0x1D,0xB0, -0xC3,0x28,0x60,0xF0,0x50,0xEB,0xE4,0x6E,0xBA,0x87,0xA9,0x1E,0x01,0xD3,0x7A,0x13, -0xA3,0xCB,0xE5,0xCF,0x65,0x67,0xD4,0x35,0xBB,0x23,0x46,0x69,0xAC,0x88,0x0C,0xFE, -0x75,0x2E,0xD9,0x03,0x7E,0x6B,0xE2,0x2F,0xFA,0xEB,0x32,0xFF,0x35,0xC2,0x6F,0x22, -0x49,0x01,0xC0,0x24,0x0A,0x71,0xA6,0xBC,0xF1,0x40,0xDF,0xB5,0xF1,0x76,0x06,0x75, -0xC5,0xA1,0x5B,0x09,0x9A,0x9B,0x66,0x9B,0x62,0xE5,0xE1,0x0B,0xCD,0xEF,0xAC,0xF6, -0x18,0x06,0x0B,0x49,0x2C,0xEF,0xB3,0xD4,0x31,0xBA,0x5F,0xF8,0xE8,0xFC,0x9F,0xE4, -0xE3,0x82,0x59,0x18,0xCA,0x3C,0x26,0x46,0xAE,0x64,0xB9,0x60,0x06,0xEB,0xFE,0xCE, -0x3B,0x93,0xFD,0x07,0xB2,0x00,0xBA,0xAE,0x80,0x25,0xBF,0xE0,0xF2,0x6A,0xCC,0x15, -0x80,0x5E,0x13,0x81,0x5D,0xBA,0xD3,0xB1,0x69,0x4E,0x0C,0x41,0xDD,0xFB,0x4F,0x88, -0x52,0xC4,0x49,0xC3,0xE3,0xD0,0x15,0xD7,0x2F,0x56,0x4D,0xBB,0xF9,0xFE,0xB9,0xC7, -0x8F,0x63,0x19,0x83,0xDF,0x35,0xD9,0x01,0x66,0xB7,0x2A,0x33,0x71,0xB6,0xFC,0x38, -0xDE,0x64,0xD2,0xEE,0xC5,0x4E,0x00,0xBF,0x97,0x44,0x51,0xCA,0xAE,0x82,0x03,0xC3, -0xF7,0x7A,0xDA,0xFD,0x25,0x86,0x4F,0x59,0x85,0xD3,0x9B,0xAF,0x10,0xD1,0x5C,0x30, -0x37,0x91,0x38,0xA3,0x17,0x66,0x4A,0xD2,0xBF,0x71,0x8D,0x51,0xFA,0xE2,0x73,0xA7, -0x60,0x1F,0xC8,0x37,0x70,0x6E,0x2B,0x72,0x1F,0xFB,0x59,0x78,0x38,0x78,0x5B,0x70, -0x04,0x83,0x2B,0x86,0xD6,0x5C,0x25,0x8C,0x34,0x4C,0x7B,0xB7,0x2C,0x48,0xF6,0xB3, -0xDA,0x1B,0xB4,0x60,0x6F,0x5A,0xD6,0x3A,0x9E,0xC9,0xAD,0xA3,0x73,0xBC,0xF3,0x05, -0xDD,0x5B,0x1D,0x48,0x9B,0xEC,0x89,0x3F,0xEC,0x2E,0x33,0xA2,0x93,0x0D,0x6C,0x1D, -0x1F,0x4A,0xD3,0x4A,0x3C,0xFE,0x9B,0x63,0xBD,0x08,0x57,0xA6,0xFD,0x38,0x1C,0x70, -0x50,0x6E,0x25,0x4F,0x24,0xBF,0xDD,0x99,0xDB,0x62,0xE9,0x60,0xA7,0xEA,0x86,0x32, -0xCD,0x41,0xA6,0xDE,0x4F,0x0C,0x34,0x38,0xC4,0xD8,0x06,0x09,0x49,0x51,0x4B,0xB4, -0x16,0xB5,0x94,0x5F,0x0E,0x0A,0x1A,0xB8,0x2C,0xE4,0x7E,0x95,0xED,0x89,0x5A,0xAB, -0x3C,0x5B,0xF5,0x48,0xD0,0xEC,0x85,0x20,0xBE,0x37,0x98,0x00,0xBF,0x72,0xDE,0xFA, -0x2E,0x7E,0xC6,0x5B,0x8F,0x52,0xD6,0xD3,0xF1,0x43,0x2E,0xD5,0xEF,0xAF,0x79,0xBA, -0xAD,0x42,0x6C,0xC2,0x2A,0x6C,0x45,0x6D,0xD6,0xA9,0xBE,0x15,0x74,0x23,0xD9,0x97, -0xFA,0x86,0x05,0x76,0x81,0x81,0x4E,0x27,0x45,0xB3,0xCA,0x51,0x6D,0x1F,0xF6,0xB0, -0xC5,0x20,0x06,0xB9,0x44,0x80,0x58,0x7A,0x55,0x34,0x2F,0x3A,0xA9,0xB7,0x83,0xFB, -0xDD,0xC0,0x99,0x08,0xA3,0x1E,0x2A,0x7B,0x50,0x82,0xDB,0x65,0x00,0xB0,0xC3,0xD3, -0x6B,0x9F,0x9C,0xFC,0x26,0xC8,0x80,0x6F,0xE6,0x84,0x62,0x96,0x9F,0x6E,0x5B,0x35, -0xA8,0x8B,0x31,0xCC,0x91,0xEA,0xAB,0xA0,0x18,0xB6,0xC4,0x98,0x7C,0x0A,0xC7,0x84, -0x7F,0x49,0x19,0x56,0x1B,0x3E,0x0B,0x89,0xB8,0xBE,0xA3,0xF9,0x8C,0x5D,0x49,0x10, -0xE8,0xA3,0x36,0x65,0xB9,0x28,0x31,0x77,0x33,0x5E,0x91,0xFC,0x6E,0x9D,0xA2,0x4E, -0x1B,0x1D,0x69,0x36,0x2E,0xE2,0x23,0x12,0xD5,0x96,0x71,0xB3,0x66,0xB4,0xBC,0x5D, -0xE0,0xC2,0x96,0x02,0xDD,0x99,0xD2,0xEB,0x6B,0xED,0x6B,0x6A,0xAD,0xE5,0xBB,0x30, -0xEF,0xCE,0x67,0xAE,0xF9,0xFF,0x8D,0x3E,0x53,0xBD,0x14,0xC3,0x7F,0x88,0x93,0x7A, -0xBA,0xAE,0x02,0xDF,0xFA,0x59,0x42,0x01,0xCD,0x6C,0x37,0xF2,0xEE,0x0B,0x0E,0x55, -0x47,0x82,0x4B,0x52,0x57,0x4D,0x72,0xC2,0x9A,0xE2,0xC7,0x66,0x46,0xA8,0x39,0x92, -0x0C,0xF1,0x07,0x2B,0x34,0xD4,0x38,0x1E,0x01,0x85,0x10,0x08,0xEA,0x59,0x36,0x9E, -0x4A,0x2A,0xB6,0x3B,0xC2,0xF0,0x3D,0x51,0x62,0x59,0x5A,0x91,0xE1,0xF2,0x7C,0x73, -0x76,0xB6,0x5E,0x43,0x7E,0x5E,0x7A,0xDC,0x75,0x9E,0x16,0xD2,0x6F,0x39,0xD5,0xA1, -0x15,0x8F,0x7F,0xE8,0x42,0x79,0x63,0xF3,0x87,0xAE,0x75,0x78,0x01,0x14,0xB4,0x3C, -0x8C,0xF7,0x46,0x05,0x20,0x31,0xBB,0xE6,0x41,0xCC,0xAC,0xDF,0xDC,0x80,0xEE,0x50, -0x26,0x1F,0x66,0x3C,0x49,0xF5,0x0F,0xB1,0x5F,0xBF,0xD1,0x67,0x51,0xC9,0x13,0x7C, -0xCB,0xB2,0x10,0x67,0xED,0x1A,0x0E,0xC6,0x04,0x33,0xE4,0x57,0xD4,0xA9,0xF0,0x43, -0x68,0xA5,0x77,0x4B,0x8E,0x83,0x44,0x1A,0xD4,0x5F,0xE3,0x62,0xCB,0xE1,0xC4,0xBE, -0x4C,0xD9,0x00,0x82,0x5B,0xE9,0xB7,0xC0,0x64,0xD0,0x61,0x68,0x2C,0xD7,0x60,0xC4, -0xD1,0xF6,0x83,0x13,0x86,0xA9,0xE7,0x67,0xA2,0xB2,0xB8,0xCF,0x54,0x3F,0x5C,0x58, -0x52,0xCA,0x29,0x8A,0x90,0x3B,0x39,0x69,0xAD,0x8F,0xB2,0xCD,0xA8,0x13,0xF4,0x14, -0x92,0xE4,0x6F,0x0D,0xA5,0xE7,0x11,0xF2,0xFD,0x41,0xEB,0x71,0x22,0x8A,0x65,0x0D, -0x2F,0xE0,0x21,0x29,0x8B,0xDC,0xB0,0xAC,0xC8,0xDA,0xC3,0xAD,0xF4,0xB5,0x75,0x8C, -0xA7,0x87,0xC0,0x60,0x9F,0x39,0x33,0x54,0xBF,0xFE,0x0A,0xD1,0x1C,0x7A,0xA3,0xD0, -0x31,0xF3,0x08,0x21,0xCF,0x85,0x6A,0x9A,0x9B,0x2B,0x55,0xB7,0x7B,0xDA,0xAB,0xB1, -0x30,0x6D,0xEF,0x53,0x4E,0xDD,0xA6,0xF1,0x3A,0xEA,0xA0,0x07,0x7D,0xAE,0xB0,0x6B, -0x46,0x1C,0xAC,0x20,0x2F,0x33,0xB1,0xDB,0xF4,0xF5,0xDA,0x8A,0xE6,0x22,0x10,0x46, -0x66,0x37,0x61,0x95,0xB3,0x75,0xCF,0xFC,0xB2,0x35,0x5D,0xA4,0x89,0xAB,0x06,0x34, -0xB5,0xA2,0xF3,0x73,0xF8,0x2E,0x1F,0xF7,0xFF,0xB7,0xB6,0x06,0xAF,0xC3,0x98,0x21, -0xC1,0x77,0xBC,0xC5,0x82,0x27,0x81,0x18,0x35,0xD7,0xAA,0x05,0xE0,0x56,0x0B,0x9C, -0x64,0x93,0x6D,0x50,0xD1,0x3D,0x17,0xE9,0x1D,0x00,0x30,0xC7,0x1D,0xDE,0xD4,0x3F, -0x2D,0x44,0x2D,0xEC,0x4D,0x7B,0x69,0xCE,0x73,0x17,0x2D,0x2B,0x47,0x0C,0x4E,0x7D, -0x58,0x0F,0x85,0x28,0x9E,0xE8,0xA1,0x9D,0xDC,0x22,0x40,0x48,0x96,0xE3,0x32,0xC9, -0x0D,0x6F,0xE0,0x59,0xCB,0x0B,0x0C,0xE5,0x65,0x19,0xF3,0xB9,0xD8,0xD2,0xD6,0x9B, -0x21,0x72,0x37,0xF7,0x95,0x64,0xCD,0xDF,0x43,0x3A,0xF1,0xA8,0xE5,0xA0,0x44,0xB8, -0x9F,0x4C,0x92,0x64,0x84,0xDE,0xBA,0x91,0x74,0x57,0x84,0x03,0x26,0xD8,0x5D,0xC6, -0x4F,0xE3,0xEB,0x35,0xA1,0x69,0x77,0x8D,0xA4,0x3B,0x83,0x36,0x70,0x71,0xE1,0x5C, -0xE7,0xAF,0xC7,0xC9,0xCE,0x54,0xF8,0x53,0x63,0x90,0xC8,0x40,0x03,0x32,0x97,0x2D, -0x2A,0x29,0x7C,0x27,0x7B,0x01,0x8E,0x6A,0x76,0xA1,0xD9,0x74,0x4D,0x03,0x73,0x7F, -0x87,0xAC,0x0D,0xD5,0x3D,0x2F,0x09,0xAA,0xEC,0x0F,0x9C,0xCB,0x79,0xFC,0x88,0xA0, -0x03,0xFD,0xF6,0x87,0xC1,0x56,0xF2,0x6E,0x58,0xFF,0x78,0x4F,0x24,0xFE,0x7E,0xD7, -0xCF,0xE5,0xAA,0x1B,0x5A,0x38,0x25,0x09,0x7D,0xE3,0xB5,0xF8,0xA4,0x68,0xD2,0xCC, -0x7D,0xED,0x15,0x93,0xBA,0x8E,0xFE,0x48,0xF7,0xCA,0x15,0x2C,0x5C,0x16,0x42,0x4B, -0xC9,0x16,0x1C,0xA2,0x5C,0xC1,0x1E,0x80,0x6A,0x24,0xF9,0xBB,0x4C,0xA7,0x04,0x90, -0x78,0x24,0x48,0x9D,0x1E,0x61,0xFF,0x3F,0x1A,0x40,0x99,0xEF,0xBC,0xF0,0x8A,0x04, -0x2C,0xDA,0xCA,0x9E,0x30,0x5A,0x5E,0x61,0x3E,0x95,0xC6,0x89,0x68,0xE9,0xB9,0x94, -0x29,0x13,0x97,0x90,0xEE,0xBC,0xC1,0xF9,0x4A,0x8E,0xC0,0x53,0x97,0x47,0x45,0x26, -0xC8,0x88,0xFB,0xD0,0xDF,0xEE,0x8F,0x1D,0x8C,0xEC,0x19,0xF4,0x07,0x60,0xAF,0xE6, -0xF8,0x22,0x09,0xB3,0x28,0x1B,0x18,0x9B,0xCC,0xA5,0xA5,0x23,0x3F,0xE4,0x72,0xE1, -0xA4,0xBD,0x2B,0xD7,0x4C,0xAA,0xFB,0x07,0x98,0x14,0x9A,0x11,0x12,0x27,0xA6,0x19, -0x25,0x25,0x8D,0x8B,0xD9,0x17,0xB4,0x94,0xB1,0x0A,0x92,0x02,0xFA,0xE8,0x70,0x45, -0x28,0x8D,0x70,0xE2,0xE2,0x18,0x04,0xFB,0x52,0x74,0x86,0x12,0x94,0xC5,0x11,0xD8, -0x05,0x0E,0x40,0x3E,0x78,0xA7,0x41,0x55,0x17,0x8B,0xCE,0x9A,0xBD,0x54,0xFD,0xEB, -0x23,0xD6,0x3B,0x32,0x11,0x63,0xF5,0x02,0x93,0x56,0xF6,0x9D,0xF0,0xE7,0x4D,0x47, -0x81,0x5F,0xBB,0x6C,0x0F,0xDB,0x88,0x71,0x79,0x9C,0xD3,0x76,0x3A,0x12,0x3D,0xC5, -0x2B,0x46,0x89,0x73,0xEE,0x4E,0x12,0x8B,0x81,0x02,0x60,0x58,0x7C,0x39,0x10,0x29, -0x86,0x85,0xB9,0x67,0xC5,0x81,0x30,0x3C,0x27,0xFC,0x6E,0x6A,0xCD,0xDA,0x74,0xB5, -0x83,0x33,0x4D,0x38,0x6F,0x95,0xE6,0xB9,0x9E,0x4A,0x9D,0x6C,0x2B,0x45,0xAA,0x2D, -0x1C,0x2B,0xFC,0xD8,0x1D,0x94,0x78,0x5E,0x6A,0x4F,0xC2,0xDA,0x03,0xEC,0xAD,0x6D, -0x8C,0x0E,0x47,0x3A,0x97,0x05,0x61,0xC7,0x2E,0x71,0x92,0x03,0xC8,0xE8,0xFF,0x55, -0x73,0xF5,0x73,0xE5,0x66,0xFC,0x1A,0x34,0x34,0xCF,0x4B,0x78,0xA5,0x23,0xAE,0x52, -0x2C,0x06,0x20,0x5B,0x74,0x99,0xD0,0xA3,0xD4,0x29,0x04,0xB0,0xB6,0x2B,0x87,0x4C, -0x03,0x91,0x13,0xB1,0x4E,0x67,0xC6,0x01,0xE6,0xA2,0x01,0x50,0xE8,0xC9,0x47,0xA7, -0x8E,0xF8,0x1A,0x4D,0x5F,0x56,0xF2,0x14,0x3B,0x36,0x6D,0x0A,0x53,0xA8,0x93,0xB4, -0xBC,0x23,0x9B,0xB9,0x71,0xD6,0xF4,0x55,0x43,0xDE,0xF1,0x36,0x4C,0x0C,0x4B,0xA5, -0x3F,0xBE,0x0A,0x96,0x98,0x77,0x47,0x3E,0xAC,0xC1,0x98,0x8C,0xCA,0xE2,0xF0,0x68, -0xC9,0xF1,0x0F,0xB2,0xDE,0x8D,0x06,0x26,0x12,0xA7,0x5E,0xE6,0x88,0xB8,0x22,0xF2, -0x1F,0x14,0x33,0x7E,0x0B,0xC9,0x79,0x9B,0x8F,0x5F,0xA9,0x5D,0x48,0x28,0x05,0x18, -0x76,0x43,0x87,0xBA,0x00,0x83,0x94,0x30,0xFB,0xCC,0xED,0x47,0x6F,0x31,0x39,0x37, -0xDC,0xC0,0x1E,0x86,0x93,0x3D,0xAA,0x95,0x6B,0xEB,0x2D,0xAD,0x42,0xAA,0xB5,0x97, -0xEF,0xD2,0x0D,0xA3,0xC0,0xCE,0x14,0xCA,0xDD,0xA4,0xF8,0xD9,0x02,0xFA,0x68,0x30, -0x1A,0xA2,0xC7,0x21,0xF2,0x2E,0x11,0x41,0x24,0x7E,0x90,0x3E,0x3C,0x69,0xCD,0x8E, -0x6D,0x86,0x0E,0x5D,0x01,0xF4,0x7B,0x94,0xA6,0xCE,0x9A,0xB1,0x46,0x8E,0xFB,0x2A, -0x0A,0x25,0x22,0x4A,0x4B,0x28,0xE2,0xF7,0xA1,0x1E,0xAF,0xDD,0xBB,0x91,0xB3,0x1E, -0x7C,0xC8,0x79,0xE7,0x4A,0x5F,0x0D,0x53,0x94,0x45,0x9F,0x51,0x84,0x14,0xD3,0xFD, -0x3B,0xC1,0x6C,0x18,0xF5,0x42,0x24,0x91,0x86,0xD2,0x55,0x34,0x74,0xB1,0xAF,0x9B, -0x75,0x7C,0x48,0x1C,0x54,0x1C,0x1F,0xBF,0xAE,0xE7,0x89,0xAF,0xF5,0x67,0x90,0x8B, -0x33,0xBC,0xCF,0x32,0x7C,0x87,0xC3,0x8A,0xF7,0xB7,0x35,0x61,0xEC,0xED,0x09,0x1A, -0x99,0x3F,0x56,0x0E,0xA2,0x89,0x51,0x9C,0xFD,0xB8,0x37,0x5C,0xA0,0x11,0x25,0xB2, -0x1D,0xE2,0x6E,0x09,0x7D,0xF0,0x2C,0x2E,0x55,0x1B,0xF0,0x6B,0x66,0xAF,0x43,0xD8, -0x51,0xA9,0x17,0x7A,0x37,0x2C,0xB5,0x4D,0x82,0x80,0x9E,0x0C,0x6A,0x03,0xB2,0xD7, -0x18,0x54,0x9A,0x56,0x07,0xEF,0xA1,0xE0,0x72,0xD7,0x0A,0x82,0xAD,0xAB,0x11,0xE0, -0x7D,0x01,0xEB,0x36,0xC8,0xD0,0x07,0xE3,0x51,0x49,0x3B,0x53,0x82,0x3A,0x92,0x7D, -0x5C,0x62,0x40,0x0F,0xFE,0x08,0xC9,0x3A,0xE9,0x5B,0x27,0x22,0xA8,0x99,0x9A,0x00, -0x65,0xFB,0xAD,0x77,0x26,0x1D,0x81,0x58,0x30,0x9D,0x80,0x40,0xC4,0x44,0x0E,0x5A, -0x44,0x98,0x06,0x4E,0x3F,0x32,0xA6,0x64,0x53,0x6F,0x2A,0x70,0x59,0x2A,0x23,0x3B, -0xAC,0xA4,0x7E,0xD2,0x78,0xBF,0x08,0xD8,0x1F,0x78,0x69,0xB7,0x8B,0xA4,0xE8,0x92, -0x2D,0xCF,0xB2,0x8A,0x88,0x31,0x9C,0x8F,0xB4,0x59,0x50,0xD4,0x40,0xA0,0xBA,0xAA, -0xFA,0xE3,0x1C,0x97,0x49,0x0B,0xF3,0xD1,0xB6,0x7F,0x41,0xF7,0x63,0x9D,0xC8,0x38, -0x9F,0xB6,0x6D,0xF7,0xE4,0x73,0x10,0x84,0x05,0xC6,0xB0,0xCC,0x31,0xD3,0xF9,0xDC, -0x37,0xC3,0xA9,0xBC,0x2C,0x20,0x83,0x57,0x68,0x69,0xD3,0xF9,0x85,0x02,0x16,0xA0, -0x66,0xC4,0x62,0xD1,0xCB,0x84,0xF9,0x61,0x9C,0x6C,0x8C,0x4F,0x87,0x08,0x19,0x9D, -0xDD,0x09,0x8C,0x57,0xBD,0xBD,0xAC,0xD4,0x8D,0x79,0xB8,0x7E,0xD5,0x46,0x28,0x79, -0xF1,0xA1,0x70,0x1B,0x32,0x63,0x91,0xBB,0xC6,0xBE,0xCE,0xD5,0xA4,0x35,0x6B,0x0F, -0x88,0x71,0x21,0xB4,0xFF,0x7F,0x26,0x9E,0xC1,0x6E,0xFB,0xB9,0x3E,0x63,0xC2,0xB3, -0xB6,0xA8,0x65,0xE4,0xF4,0x35,0xCB,0x35,0x9F,0xEE,0x72,0x1B,0xBE,0xA3,0x38,0xFE, -0xF5,0xDE,0x16,0x95,0xE3,0x1F,0x25,0x54,0xE5,0x20,0xFF,0x04,0x93,0x38,0xB4,0x5E, -0x12,0xDF,0x64,0x0B,0x2F,0x74,0x7D,0xD5,0x10,0x81,0x4F,0xC5,0x49,0x3E,0xC0,0x45, -0xDA,0x49,0x25,0x7F,0x76,0xBA,0xC1,0x85,0x4F,0xA5,0x29,0x10,0x28,0x59,0x60,0x4D, -0x77,0x8A,0x15,0x6B,0x52,0x07,0xC5,0xCB,0x75,0x07,0x3F,0xEE,0xC7,0x58,0xC4,0x3A, -0xA6,0x2F,0x80,0x8F,0xC4,0xF6,0xDF,0x98,0xEF,0x2F,0xFD,0x39,0x64,0xA5,0x4C,0xE5, -0xE9,0x5B,0x36,0x5A,0x5A,0x19,0xD6,0xE2,0xF3,0xE5,0xFE,0x59,0xD9,0xEA,0xD9,0x76, -0x7B,0x88,0xD0,0xCF,0x8A,0x12,0x8D,0xA9,0x18,0xA8,0x5C,0xDB,0xCC,0xCC,0xB1,0xE8, -0x97,0xCB,0xCE,0xDD,0xF1,0x7A,0xEF,0xC3,0xD7,0xAB,0xFA,0xE4,0xBD,0xBF,0xF2,0x9E, -0x31,0x4A,0x92,0x45,0xBE,0xE9,0x52,0x56,0xDF,0x82,0xE9,0xFA,0xE1,0x57,0x3D,0x48, -0x13,0x16,0xF6,0xDA,0x5D,0x75,0xE3,0x32,0xE0,0xD6,0xDB,0x4B,0x19,0x7A,0xFE,0x9C, -0xE1,0x26,0x95,0x70,0xCA,0xF3,0x16,0xC5,0x5C,0x96,0x0C,0x02,0x1E,0x42,0x7A,0x41, -0xA1,0x6F,0x29,0xA7,0xCD,0x9F,0x23,0x15,0x96,0x63,0x8E,0x72,0x3D,0x7F,0x08,0xD3, -0x21,0xCD,0x77,0x2E,0xB0,0xEC,0x9B,0x0B,0xB3,0x89,0x65,0xB8,0xBF,0xB5,0xFD,0xA3, -0x5A,0xEB,0x7B,0xF6,0x04,0xBB,0x5F,0x62,0x8B,0x0D,0x62,0x65,0x13,0xF8,0x4E,0x13, -0x6A,0xC6,0xA7,0x75,0x41,0x15,0xE0,0xF8,0xC3,0x48,0xEA,0x9A,0x20,0xD1,0xDF,0xFF, -0x0F,0x93,0xD6,0x15,0xBB,0xA6,0x76,0xA0,0x50,0xED,0xD4,0x24,0xB3,0x19,0x0C,0xAC, -0xB0,0x21,0x5E,0x1D,0x60,0xE7,0xC0,0x40,0xF0,0x67,0x00,0x0D,0x34,0xE1,0x72,0x3C, -0xEC,0xED,0xC2,0x05,0xB7,0x80,0xAE,0xDB,0x3D,0x42,0xB7,0x11,0x2F,0x61,0xE4,0x90, -0x17,0x69,0x90,0x54,0x4C,0x44,0xD7,0x27,0xD9,0xF6,0x33,0xE1,0x58,0x3C,0xE6,0x66, -0x8D,0xC7,0xD5,0xEB,0x84,0x17,0x44,0xF4,0x85,0x50,0xAB,0x60,0xDE,0xD2,0x5D,0xAB, -0xD0,0xC2,0xDB,0x22,0x1B,0x8F,0xA2,0x2A,0x83,0x24,0x71,0x7B,0x6C,0x2D,0xF3,0x57, -0x52,0x96,0xD8,0xDC,0xBA,0xD1,0x99,0x04,0xDC,0x00,0x17,0xAE,0xFC,0xF9,0xEA,0x64, -0x06,0x27,0xE7,0xEE,0x5B,0x6E,0x39,0x46,0xBC,0x70,0x43,0xCA,0x68,0x09,0xBD,0xEA, -0xA7,0x11,0x26,0x77,0xD0,0x2C,0x91,0x2C,0x63,0xC5,0x30,0x47,0x2A,0x27,0xB1,0xD4, -0x7F,0x73,0x6E,0x62,0xA8,0x15,0x08,0xC1,0x0F,0x18,0x6A,0xD3,0x48,0x80,0x68,0x12, -0xF9,0x91,0xAF,0xD5,0x75,0xE5,0xCE,0xFF,0x2C,0x25,0xF8,0xA1,0xDD,0xCE,0x9E,0x31, -0xBE,0x2D,0x01,0x58,0xE9,0x0D,0xF2,0x87,0xFE,0xAB,0x51,0x6A,0x1A,0x8D,0xD2,0x26, -0xB6,0x04,0x12,0x46,0xDD,0x18,0xC3,0x96,0xCD,0x82,0xBD,0xFB,0x66,0x39,0x03,0xC9, -0xFC,0x67,0x8B,0x9A,0xAE,0x54,0x88,0xEF,0xC1,0x2E,0xB2,0x0A,0x01,0x57,0xD4,0x52, -0x49,0xAA,0xA0,0xBA,0x91,0x34,0x6B,0x6A,0x25,0xBB,0x17,0xDB,0x39,0x9C,0xD0,0x00, -0x86,0xA9,0x06,0x85,0xF1,0x51,0x3E,0x1B,0x0A,0x2A,0x8A,0x58,0xE8,0xAD,0xF3,0x9E, -0xD5,0xF6,0xB8,0x76,0xBB,0x3C,0x16,0xC9,0x52,0xE6,0xE1,0xD9,0xC5,0x2E,0x2F,0xAE, -0x74,0xD8,0x83,0x28,0xBF,0x72,0xAB,0xED,0xD3,0x30,0xF1,0xE6,0x5E,0xF2,0x07,0x9B, -0x23,0xD5,0xF6,0xE3,0xA9,0xD0,0x55,0xD7,0x07,0x90,0xD8,0x6C,0x36,0x90,0x7C,0xF1, -0xFD,0xC3,0x64,0xED,0x95,0x7A,0xD6,0x4E,0x4B,0x6C,0x70,0x40,0x0B,0x92,0x76,0xFE, -0x80,0xDD,0xDC,0x9E,0xFA,0x24,0xEC,0x8F,0xE1,0x0F,0x40,0xB2,0xDB,0x3D,0x27,0x87, -0x73,0x08,0xB6,0x44,0x86,0x53,0xC8,0x46,0x9B,0xE8,0xE4,0x84,0x54,0x37,0xA5,0x37, -0xCB,0x1A,0xAA,0x35,0x40,0x35,0xA2,0xF8,0x23,0x95,0x97,0x9A,0x3B,0x38,0x15,0x0C, -0xCA,0xBE,0x45,0x42,0xED,0x43,0x4F,0xA3,0x1C,0x10,0x74,0xFA,0xB7,0x08,0x20,0x57, -0x81,0x79,0x33,0xE9,0x1D,0x3F,0x29,0x06,0xC8,0xB0,0x5D,0x70,0x2D,0x4A,0x7A,0x85, -0x8A,0xD2,0xDE,0xA3,0xD9,0x56,0x7E,0xB2,0xEF,0xA9,0x72,0x4C,0x37,0x0E,0x0E,0x16, -0x41,0x83,0xB3,0xA4,0x04,0xA6,0xB8,0x8C,0xA5,0x7B,0x5A,0x21,0xB3,0x5F,0x5C,0xED, -0x12,0xDC,0x0D,0x57,0x21,0x95,0xAA,0x9F,0xE5,0x2B,0xFD,0xFC,0xC7,0x8A,0xEA,0xA2, -0xF0,0x1C,0x53,0xBC,0x1E,0xF5,0x49,0x1A,0xEB,0x8D,0xCF,0x02,0x5C,0x56,0xC2,0x97, -0xDE,0x5D,0x55,0x3C,0xEA,0xC7,0x92,0x9B,0xF4,0x29,0xDE,0xDA,0x60,0xCA,0xBA,0x7F, -0x5F,0x6F,0xA1,0xE7,0x15,0x80,0x9B,0x8E,0x2F,0x39,0x98,0x6B,0x8C,0xF9,0x93,0xEE, -0x19,0x77,0xE0,0x1D,0x31,0x76,0xD4,0x8B,0x6D,0x63,0x02,0xB9,0xE6,0x3F,0x2D,0x88, -0xE7,0x7D,0xBD,0x96,0x42,0x3A,0x9F,0xF2,0x02,0xA2,0x38,0xE7,0x12,0xEC,0xB5,0x86, -0x16,0x8E,0xC6,0x6F,0x9D,0xC5,0x64,0xC6,0x6F,0x69,0x3F,0xB6,0x69,0x35,0xAF,0x38, -0xCF,0x48,0x61,0x0D,0x16,0x4A,0xFB,0x92,0x4F,0x48,0xCD,0x0E,0x3A,0xA6,0x67,0xEB, -0xF5,0xEA,0x77,0xF3,0xFC,0x65,0x6C,0xA1,0x11,0xAA,0x26,0xCE,0xDA,0xA3,0x55,0x60, -0x44,0x75,0x97,0xEB,0xC0,0xCF,0xEF,0x38,0x6A,0x5B,0xDF,0x3D,0x00,0xC9,0xA6,0xB5, -0x6F,0xC2,0xB5,0x24,0xD4,0x62,0x2C,0x08,0xDB,0xB8,0x43,0x59,0x32,0xC7,0x00,0x4B, -0x9C,0x17,0xDF,0xFE,0x7F,0x55,0x41,0x7D,0xA4,0x6D,0x07,0xE4,0xB0,0x65,0xEB,0x06, -0xEE,0xF0,0x41,0xFF,0x9F,0xCA,0x59,0xCC,0x8C,0xC4,0x47,0xE3,0x06,0x3A,0x1F,0x03, -0x9A,0x63,0x05,0xE5,0x85,0x99,0xA8,0x5A,0xCB,0xAC,0x3D,0xBA,0x11,0xD6,0x02,0x6D, -0x05,0xBD,0xE3,0x7D,0x4C,0xC4,0xAD,0x54,0x79,0x53,0xC1,0x14,0x0A,0x0C,0x04,0x19, -0xDA,0x0F,0x9E,0x04,0x49,0x4F,0x4D,0x66,0xCF,0x88,0x80,0xF4,0xA0,0xE4,0x3D,0x39, -0x3B,0x4D,0x3E,0xBB,0x7B,0x1B,0xFC,0x59,0x5B,0x78,0x0E,0xA3,0xC4,0xB0,0x5D,0x49, -0xE1,0x09,0x67,0x8D,0xBA,0xF9,0x4B,0xDF,0x93,0x60,0x56,0x3B,0x67,0xA7,0x71,0x2E, -0x3A,0xE9,0xD1,0xCC,0xB2,0x46,0xF9,0x57,0x14,0x98,0xC6,0x45,0x4E,0x73,0xD1,0xA4, -0xCD,0x6E,0x70,0x2E,0xF3,0x5E,0x03,0x11,0xFF,0xBD,0x0C,0xAF,0x8B,0x94,0x58,0xBF, -0x36,0x92,0x09,0xEA,0xA2,0xA5,0x87,0x43,0x88,0xE0,0xFA,0xAD,0x7B,0x10,0xBC,0x0B, -0x31,0x42,0x3C,0x86,0x89,0x68,0xA7,0xF6,0x18,0x34,0xC9,0xB4,0xD2,0xC2,0x32,0xC0, -0x4C,0x5C,0x84,0xF5,0x00,0xE8,0x05,0xA8,0x9A,0xFE,0xB9,0x41,0x18,0x29,0x17,0x2A, -0xC0,0xB1,0x47,0x7F,0xD2,0x23,0xAC,0x26,0x87,0x50,0x95,0x96,0xF0,0x4D,0x42,0x01, -0x85,0x2B,0xF8,0xD1,0x51,0x13,0x81,0xFA,0xB4,0x79,0x79,0x07,0x0F,0xC5,0x0A,0x44, -0x3F,0x1F,0xF5,0x83,0xE2,0x78,0x20,0x13,0x46,0xD6,0x22,0x74,0x90,0x4E,0x5E,0xCB, -0x70,0x8A,0x48,0x10,0x7A,0xDE,0xA1,0x4F,0x1A,0x3E,0xF4,0xBB,0x8E,0x5D,0x56,0xE2, -0x4B,0x8C,0xB1,0x99,0xD7,0xA8,0x4C,0x14,0xB9,0xC3,0x2B,0x33,0x68,0xAB,0xDD,0xDF, -0xDC,0x7B,0x44,0x1F,0x7D,0x5A,0x7C,0x77,0xBE,0xFB,0xF6,0xB7,0x21,0x7C,0x61,0x9F, -0x45,0xD1,0x78,0x9C,0x28,0xEF,0x45,0x01,0xC3,0x24,0x8F,0x05,0x53,0x5A,0x6E,0x66, -0xD3,0x82,0x62,0x6D,0xCC,0x3E,0xE0,0x94,0x60,0xD9,0x50,0x8D,0x84,0x98,0xF4,0x4E, -0x0B,0xE0,0x2A,0x78,0x68,0x32,0xE2,0x51,0x6B,0x4D,0x82,0xF8,0xB1,0xFB,0x99,0xE1, -0xDB,0xAB,0x71,0x73,0xFD,0xA0,0x31,0xB7,0x7E,0x6B,0x1C,0x90,0x33,0x59,0x72,0xAC, -0x62,0x1D,0x82,0x75,0x32,0xBC,0xB4,0x97,0x34,0xB9,0x34,0xFD,0x6E,0x58,0x64,0x69, -0x75,0x7C,0x6C,0x5F,0x43,0xFF,0xC2,0xE4,0x19,0x22,0x94,0x71,0x71,0xD5,0x1E,0xA7, -0xF7,0xCC,0x66,0xD0,0xD8,0x93,0x23,0xA4,0x8F,0xD8,0x27,0x29,0x7A,0x8E,0xCE,0xEC, -0xAE,0x9C,0xDA,0x1E,0xAC,0x5B,0xB5,0xE5,0xEE,0xBF,0x2F,0x89,0xAF,0xE8,0x91,0xC8, -0x3C,0x9D,0x0B,0xD7,0xF0,0x94,0x63,0x0D,0x72,0xC7,0x13,0x61,0x14,0x1F,0x0C,0x30, -0x4A,0x28,0x5E,0xEE,0x76,0x2F,0xAE,0xE3,0x20,0x89,0xF7,0x50,0x25,0x2B,0x1D,0x25, -0x7E,0xD7,0x81,0x15,0x13,0xC1,0x1B,0xA0,0x99,0xE2,0xD9,0x8B,0xD3,0x5C,0x40,0x27, -0xB3,0xF2,0x36,0x09,0xBC,0xB8,0xCB,0xF1,0x03,0xB4,0x65,0x22,0xBF,0x69,0x47,0xF7, -0xC8,0x98,0x54,0x61,0x30,0xB3,0x89,0x9D,0xC4,0x1C,0x52,0x81,0x9D,0xE6,0x37,0x36, -0x09,0xC6,0x3B,0x5B,0x2D,0x64,0xA5,0x33,0xE7,0x21,0xC0,0xF3,0xBE,0xF7,0x35,0x10, -0xAD,0x1E,0x24,0x4A,0x1B,0x7E,0xA9,0x28,0x22,0x83,0xCA,0x5F,0x93,0x74,0xE9,0x20, -0x65,0xCD,0xB7,0x19,0x50,0xD6,0xDC,0xEC,0x96,0x52,0xB6,0xB0,0xA6,0x17,0x84,0x8F, -0x21,0xB0,0xB2,0x13,0x09,0x95,0xF1,0xB1,0x6E,0x11,0x90,0x9D,0x4A,0x68,0x65,0x86, -0xEA,0x19,0x3C,0xC1,0x45,0x52,0xB2,0xA6,0x29,0xAD,0x3E,0x10,0xD6,0x10,0x8D,0xBA, -0xC7,0x78,0x52,0x5C,0x26,0x62,0x18,0x54,0x30,0x91,0x19,0x3F,0xEF,0xBB,0xAC,0xD9, -0x53,0x22,0x8F,0x30,0xFF,0x00,0xBF,0x92,0xE8,0xF3,0x51,0x2A,0x97,0x56,0x95,0x40, -0x5B,0x5F,0x2C,0x1A,0x47,0x71,0xA3,0x80,0xDE,0x2A,0x9F,0xF2,0xAE,0xFD,0xB4,0x23, -0xD8,0xC2,0xBD,0x35,0x64,0xA0,0x92,0x1E,0x11,0x29,0x39,0xCD,0xCE,0x8C,0xD1,0x76, -0x7B,0xF5,0x15,0xF2,0x94,0x2E,0x06,0x49,0x21,0x84,0x2D,0x0E,0xE2,0x01,0x98,0x8B, -0x8A,0xFA,0xB9,0xFE,0x43,0x49,0x68,0xD2,0x6B,0xE7,0xB4,0xD2,0x91,0x78,0xD4,0xC0, -0xEC,0x90,0x07,0x38,0xEB,0x7E,0xAF,0x71,0xB4,0x55,0xC9,0xAB,0x96,0x40,0x50,0x1D, -0xC0,0x38,0xFB,0x74,0xE1,0x43,0xAD,0x7E,0x6A,0x43,0x5B,0xA5,0xAA,0xD9,0xFA,0x9E, -0x59,0xA9,0x71,0x6D,0xB8,0x8D,0x11,0x2E,0x42,0x76,0x87,0x3E,0x84,0x5E,0xBC,0x5E, -0x66,0xB9,0xA7,0xEC,0x90,0x16,0xCD,0x1B,0xE3,0x58,0xBC,0x60,0x80,0x7A,0xF2,0xE3, -0x1A,0xDF,0x02,0x1C,0x82,0x73,0x07,0x8C,0x5C,0x9A,0x95,0x7D,0x7F,0x6F,0xB5,0xEA, -0x7A,0x3C,0x87,0x23,0xB7,0xFF,0x37,0xD7,0x5D,0x3E,0x7A,0x0A,0xD2,0x34,0xC3,0x07, -0x32,0x08,0x98,0xDE,0xB0,0x93,0x02,0x07,0x17,0x5D,0xE3,0xD6,0xC5,0x18,0xA4,0xA4, -0x04,0xAC,0x7F,0xA4,0x32,0x1C,0x08,0xB7,0xE4,0x88,0x89,0x0C,0xB9,0xD1,0xD3,0x80, -0xA1,0x12,0xEC,0x9A,0xCB,0xFB,0x60,0x6D,0xD6,0x03,0x8C,0xEC,0x3B,0x1B,0x26,0xF0, -0x7C,0xB5,0xBC,0xDA,0x7D,0x8F,0xB5,0x22,0x85,0x5C,0x32,0x1F,0x1E,0x08,0x15,0xE2, -0xF0,0x15,0x27,0xF7,0xED,0x65,0x75,0x05,0x16,0xF9,0x0C,0xA1,0x22,0x91,0xBF,0x61, -0xCC,0x3A,0x3E,0xD0,0x99,0x7F,0x31,0x96,0x1D,0x52,0xE1,0xEB,0xE6,0x25,0xD6,0x36, -0xEB,0xD0,0xAE,0x10,0x04,0xC4,0xC6,0x6E,0xC8,0xEF,0x9E,0xAF,0x2A,0x19,0x00,0xD3, -0x39,0x4A,0xF4,0x52,0xBA,0xAE,0x00,0x08,0x8E,0xF7,0xDF,0x55,0x0E,0x1C,0xF6,0x9C, -0x82,0x87,0x1A,0xD4,0x55,0x14,0x69,0x17,0x67,0x9C,0x6C,0xF4,0x21,0x8D,0x75,0x01, -0x5A,0x96,0xBE,0xCB,0x2D,0x28,0xF5,0xFF,0x49,0xDD,0x6A,0x74,0xD5,0x0C,0x47,0xDA, -0x8E,0x85,0xDF,0x70,0xF0,0x72,0x99,0x6B,0x58,0xC8,0x5E,0x45,0x29,0x05,0xCA,0xB3, -0x4E,0x6E,0x3D,0x2E,0xC2,0x92,0x9C,0xE0,0x62,0x6A,0x48,0xBB,0xC3,0x36,0xE5,0x24, -0x67,0x70,0x35,0x3D,0x22,0x5A,0xD3,0x06,0x70,0xFD,0x82,0xDE,0x7D,0x65,0xBA,0xD7, -0x36,0x77,0xFE,0x50,0x38,0x21,0x0A,0xB8,0x81,0x0E,0xF9,0x27,0xA2,0x51,0x45,0x2C, -0x64,0x4F,0xFA,0x9B,0x7C,0xF8,0x5A,0x86,0x0B,0x97,0xE0,0xB6,0x40,0xEA,0xD5,0x09, -0x63,0x0F,0x53,0xB3,0x88,0x4E,0x05,0x83,0x79,0x70,0x7E,0xB7,0xA0,0x5B,0x4A,0x11, -0xBD,0x97,0xCC,0x55,0x31,0x48,0xF6,0x35,0xD3,0xF5,0xA8,0xA3,0xFF,0xAF,0x4F,0xA7, -0xD9,0x0B,0x2F,0xE4,0x97,0x7A,0xF8,0xCB,0xF8,0x42,0x8A,0x6C,0xEB,0x9F,0xE2,0x64, -0x74,0xC8,0x1F,0xF0,0xAA,0xE8,0xDB,0xB9,0x4D,0x8F,0xA1,0x4C,0x76,0xF1,0xCF,0x05, -0x23,0x46,0xEF,0x64,0xCA,0x8C,0x8F,0xC9,0xAC,0xCD,0x01,0xF3,0x44,0xCE,0x9B,0xB4, -0x3A,0x75,0x3B,0xF4,0x95,0x59,0xE9,0xED,0x0D,0xE3,0x3A,0xAD,0xBA,0xCD,0x19,0xE0, -0x94,0x89,0xC4,0x46,0x93,0x42,0x33,0x99,0x92,0x3D,0xDC,0x35,0x73,0xC3,0x44,0xE5, -0x2F,0x44,0x2A,0xC0,0xCF,0xC3,0xAB,0x3F,0x5A,0xEE,0x4F,0x66,0xCC,0x86,0xDE,0x4B, -0x2D,0xB2,0x77,0xB7,0x2B,0x33,0x2F,0x8B,0xA1,0x12,0x36,0xA2,0x9D,0xD4,0x25,0xCF, -0xBB,0x1E,0xF7,0xAC,0xE6,0x2F,0x98,0xAE,0x76,0x89,0x58,0xC5,0x85,0x48,0x79,0x03, -0xC5,0x8E,0x0F,0x2B,0x46,0x06,0x4C,0x24,0xAD,0x69,0xEE,0x84,0x8D,0xC0,0xC6,0xB1, -0x16,0xDD,0xC7,0xB8,0xD5,0xB8,0x72,0x81,0x57,0x31,0x78,0x37,0xED,0xB1,0xA3,0xE4, -0x87,0x31,0xEE,0x8B,0x9D,0x47,0xFA,0xC4,0x12,0xAB,0xC7,0x99,0x6E,0x6D,0x93,0xC9, -0x34,0x81,0xA3,0x27,0xA5,0x9A,0xFD,0x40,0xA6,0xC2,0x03,0xCE,0xB6,0x61,0xE8,0xEF, -0xC1,0xF1,0x69,0xA5,0x80,0x50,0x16,0xAA,0xDB,0xDC,0xBB,0xBD,0x3F,0x3F,0x68,0x4D, -0xB3,0x63,0x54,0x86,0x4A,0x20,0x94,0x5F,0xDC,0x0C,0x8E,0xD1,0xE8,0x83,0x28,0x04, -0x37,0xBE,0x6C,0x81,0xF6,0x69,0x43,0x1F,0x4B,0xFB,0x7B,0x57,0x42,0xE0,0xDA,0x34, -0xF4,0x6A,0x41,0x79,0xC9,0xD8,0x71,0x4B,0xA8,0x9F,0xCA,0xCB,0xDD,0x84,0xF8,0x68, -0x3B,0xBC,0xA9,0x25,0xC1,0xC6,0x62,0x62,0xE7,0x0A,0x77,0x58,0x45,0xD8,0x5E,0xE9, -0x78,0xCA,0xDA,0x54,0x0E,0xF9,0xC4,0x61,0x9C,0x60,0x15,0x30,0x57,0xC6,0xB2,0xAA, -0x10,0x54,0xFC,0x41,0xE5,0x7B,0x66,0x2C,0x4C,0x2B,0x4E,0x3B,0xC2,0x20,0x20,0x79, -0x85,0xC7,0xB3,0xFC,0xF9,0x1B,0x65,0xE6,0xD2,0x51,0x47,0xD4,0x17,0x96,0x6F,0x0D, -0x0D,0x18,0x4E,0x5F,0x63,0xCC,0xA7,0xCE,0x44,0x02,0x5D,0x25,0xF3,0x03,0xBE,0xA8, -0xA9,0x6F,0x4F,0xB0,0x59,0x32,0xB1,0x6C,0x60,0x4C,0x59,0x98,0xE7,0x33,0x13,0x6B, -0x09,0x67,0x28,0xD1,0x06,0xE7,0xD7,0x48,0x39,0x1C,0xE5,0x56,0x93,0x72,0xDB,0xFD, -0x7D,0x7C,0x2E,0x0B,0xF3,0x26,0x67,0xE9,0xF5,0x9D,0xBD,0x3D,0x0D,0x00,0x3C,0xFC, -0xF1,0xDC,0xB5,0x26,0x89,0x39,0xEA,0x27,0xE2,0xFC,0x53,0x17,0x7C,0x73,0x7F,0x8A, -0x0B,0x91,0x75,0xA6,0xD7,0x9B,0x63,0xA7,0xE9,0x57,0xBE,0x5D,0x2C,0x37,0x41,0x53, -0xA2,0x2D,0x23,0x3C,0xD0,0xF7,0x56,0x77,0x24,0x72,0x09,0x41,0x83,0x66,0x38,0x83, -0xE1,0x5B,0x50,0x4D,0x9B,0x5C,0x20,0xB0,0xAB,0x1D,0x34,0x9F,0xCF,0x9A,0x14,0x2B, -0xD0,0xBF,0x1E,0x1F,0x8A,0x6D,0x14,0xA5,0xDD,0xA8,0x61,0xA6,0x49,0x74,0xAF,0xE6, -0xDF,0x82,0x14,0x1D,0x7E,0xDB,0x4B,0xA0,0x3A,0x9E,0x1B,0x02,0x24,0xBF,0xFE,0xE1, -0x30,0xFE,0xC5,0xA9,0x13,0xEE,0x28,0x0F,0xF2,0x4D,0x88,0x51,0x6F,0x7B,0x56,0x94, -0x01,0x1A,0x8B,0xFB,0xA0,0xD5,0xD9,0xB6,0x5F,0x18,0x6B,0x29,0x0F,0x0A,0x33,0xC1, -0x73,0x88,0xB6,0xD8,0xA2,0xF6,0xC8,0x90,0x9E,0x46,0x04,0x13,0x12,0xA4,0xE4,0xED, -0xF6,0xEF,0x45,0xDE,0x41,0x93,0x64,0xA1,0xAA,0xFF,0xA4,0x71,0x2C,0x75,0x5C,0x8C, -0xE2,0xDF,0x86,0x73,0x8E,0xB8,0xD3,0x83,0x98,0xF1,0x5A,0xD7,0x48,0xE9,0xED,0x6F, -0x49,0xAA,0xEB,0x44,0x54,0x4B,0x06,0xE9,0x1A,0x53,0x17,0x3C,0xF5,0xAD,0x92,0xBA, -0xA9,0x1B,0xF3,0xDB,0x55,0x39,0xE1,0x77,0xAC,0x0C,0x12,0xC8,0xF2,0xED,0xBA,0x13, -0x74,0x25,0x35,0x2B,0x3C,0x30,0x6C,0x8B,0xB8,0xDA,0x97,0x62,0xF6,0x92,0x34,0x75, -0xAB,0x11,0xCE,0xD4,0xC5,0xC1,0x9F,0xF0,0xC3,0x03,0x29,0x78,0xA7,0x95,0x59,0xBE, -0x20,0x45,0x51,0x5B,0xA7,0x18,0x59,0x57,0x90,0x90,0xFA,0xB0,0x1F,0x67,0x79,0x9F, -0xCA,0x76,0xC6,0x74,0x59,0x22,0xFB,0x41,0x70,0x95,0x71,0x82,0xDF,0x8C,0x27,0x7D, -0x28,0xCD,0xE3,0xE4,0x16,0x27,0x0D,0x65,0xF6,0x60,0x86,0x15,0x13,0x65,0xDD,0x5A, -0xDC,0x4C,0x38,0xD6,0x96,0x09,0x4C,0x63,0xCA,0xFC,0x6E,0x6D,0xCB,0x74,0xC2,0xFE, -0x23,0x59,0x31,0x91,0x4D,0x88,0x7E,0x97,0x26,0xCF,0xFF,0x44,0x7A,0x32,0x19,0xEE, -0x07,0x5C,0x7E,0x67,0xB7,0xCE,0x66,0xD6,0x4C,0x09,0x99,0xFA,0xA8,0xA8,0x5B,0xB4, -0x2B,0xD1,0x83,0x2E,0x43,0x56,0x68,0x05,0x87,0x7C,0x94,0xAD,0x61,0xF7,0xFE,0x67, -0xEF,0x65,0xD4,0x47,0x09,0x5D,0xC3,0xE8,0x9D,0x38,0x07,0xD9,0x5D,0xD8,0xD9,0x7E, -0x32,0x5B,0x12,0xB7,0x0E,0x96,0x92,0x85,0x19,0x69,0xFC,0x8B,0x30,0xF0,0x93,0xAC, -0x17,0x48,0x00,0x84,0xFD,0xC5,0xCD,0x3B,0x6D,0xBC,0xB3,0x3D,0xED,0x57,0xD3,0xFC, -0xCC,0x58,0x46,0x35,0x34,0x57,0xCC,0xEA,0x71,0x0B,0x96,0xF0,0xA3,0xEA,0xD7,0xD8, -0xB0,0x91,0x62,0x42,0xEE,0xA4,0x19,0x80,0xFE,0x01,0x26,0x72,0x95,0x4E,0xAD,0x3F, -0x76,0x2F,0x08,0x24,0x9F,0x1C,0x0B,0x9C,0x91,0x0E,0x1D,0xC2,0x8B,0x3D,0x15,0x42, -0xDB,0x74,0xE5,0x52,0xE8,0x1D,0xAF,0x73,0x1D,0x3E,0x46,0xF7,0xEB,0xDE,0x2A,0xC7, -0x8D,0x1E,0xBC,0x2D,0xDC,0x02,0xE7,0x8E,0x6F,0x18,0xBF,0xF8,0xC8,0x4B,0x64,0x31, -0x89,0x3A,0x01,0x63,0x82,0xA3,0xC9,0xB5,0xF4,0xC4,0x8A,0xD0,0xF7,0x5B,0xE5,0xE7, -0x9F,0x00,0xFF,0xC1,0x49,0xF4,0xC4,0xC0,0x9C,0xA6,0xE0,0xAB,0x7D,0x72,0x31,0x47, -0xA3,0x99,0x7C,0x6B,0x47,0x2A,0xD2,0x52,0xA1,0xA4,0xEF,0xA1,0x51,0xDA,0x7D,0xBB, -0xEB,0x41,0x69,0x09,0xEC,0x61,0x15,0x24,0xCC,0x0F,0xD8,0xD4,0xEA,0x17,0xFB,0x55, -0x98,0x38,0x22,0x45,0x30,0x2B,0x76,0xBD,0xAB,0x61,0x43,0x03,0x1B,0x18,0xF7,0xF9, -0xA7,0xBD,0xC1,0x25,0x10,0x9E,0xBB,0x96,0x93,0xAA,0x11,0x07,0xCA,0xBD,0x13,0x6C, -0xC7,0xCC,0x94,0x40,0x2F,0x51,0xB8,0x30,0x42,0x9B,0x8F,0x24,0x49,0x20,0x3C,0xFD, -0xE6,0xFB,0x3B,0x3D,0xDD,0x70,0x00,0x10,0x80,0x11,0xC5,0x66,0x56,0x9A,0x55,0x12, -0x9E,0x16,0xA2,0x04,0xC8,0xA8,0x62,0x58,0xE2,0xB6,0x03,0xBF,0xC2,0xC0,0x39,0xCF, -0x43,0x28,0x64,0xF4,0x7F,0x2E,0x80,0x99,0x77,0xF8,0x20,0x49,0xB0,0x52,0x1A,0xF2, -0xDF,0x50,0x58,0x1C,0xF2,0x69,0x3C,0x37,0xB0,0xBB,0x37,0x05,0x7B,0xFB,0xC8,0x7C, -0x06,0x4A,0x23,0xA2,0xCB,0x1F,0x89,0x62,0x37,0xD0,0x27,0xE0,0x90,0xF8,0xF2,0xCB, -0x1B,0xE4,0x0F,0x75,0xF1,0xDE,0xD7,0x0D,0x14,0xC1,0x01,0xE2,0xE2,0x6A,0xD1,0xF6, -0x2D,0xFF,0x03,0x6F,0xE0,0x7A,0x0F,0x12,0x39,0x42,0x31,0x3E,0x4E,0x60,0x14,0x54, -0x66,0x3B,0x76,0xC7,0xB3,0xB2,0xDC,0x81,0x0C,0x21,0x9E,0x53,0xA1,0x1C,0xA0,0x85, -0xC6,0xDA,0xC9,0x85,0x7D,0xEB,0x8C,0x3D,0xBE,0x29,0x21,0xDB,0x70,0xB9,0x44,0x10, -0x40,0x34,0x04,0x3E,0x44,0x9D,0x39,0x68,0x8F,0x1D,0x34,0xCA,0x41,0x5D,0x16,0x5E, -0x25,0x77,0xB1,0xD0,0xBF,0xA9,0xC6,0xB7,0x79,0x6A,0x36,0x97,0x9A,0x73,0xAF,0x35, -0x8A,0x26,0x61,0xA9,0xA3,0x64,0xE3,0x00,0x15,0x5F,0xE6,0x90,0x33,0xCF,0x35,0x63, -0x04,0x40,0x1E,0xAD,0xDF,0xB5,0x0C,0xB4,0xC4,0x6E,0x78,0xB3,0xEC,0x9E,0x02,0x6E, -0x75,0x33,0x68,0xEE,0xF5,0xA2,0x6D,0x5A,0xDB,0xE3,0xB6,0xC9,0x60,0x3E,0x2F,0xF5, -0xEE,0x73,0x89,0x82,0x7A,0x20,0xDD,0x50,0xD0,0xB8,0xFD,0x19,0x38,0x8D,0xB9,0x0F, -0x9A,0x32,0x1F,0x4A,0xB4,0x79,0x8D,0xEC,0x05,0xDE,0xD9,0x46,0x98,0x85,0xD8,0x68, -0x1E,0xD6,0xEF,0xFE,0x36,0x92,0xC0,0x4E,0xF9,0x6C,0x77,0xB9,0x14,0x25,0xF5,0xF3, -0xFA,0x43,0x4A,0x2F,0xC7,0x04,0x93,0x54,0x2E,0xAE,0x5F,0x23,0x9C,0xFA,0x56,0x0E, -0x5E,0x86,0x48,0x23,0xD2,0xDC,0xF1,0x1C,0x1B,0xCD,0xF0,0x4E,0xE9,0x28,0x5D,0x9A, -0xCB,0x60,0x9B,0xB1,0xD9,0x0C,0xBA,0x47,0x99,0x6F,0xBD,0xA5,0x81,0xB6,0x48,0xBC, -0xD4,0xC4,0x8A,0x69,0x29,0xE8,0x0E,0xC3,0x3A,0x78,0xDA,0x89,0x65,0x88,0x70,0x01, -0x4C,0x98,0x0B,0xCF,0xBA,0xA7,0x9B,0x7E,0x24,0x6B,0xF3,0x81,0xAA,0x5E,0x2C,0xE9, -0xE1,0xC3,0xE6,0xB9,0x33,0x9C,0x9D,0x87,0xC2,0x9D,0xCE,0x0A,0x22,0x81,0x8F,0x14, -0x4B,0xA0,0xD6,0x4B,0xB5,0x0B,0x6A,0x72,0x8B,0x4A,0x8E,0xB6,0xA6,0x5C,0x88,0x2C, -0xBF,0x21,0x0D,0x79,0x2C,0xE6,0x53,0x0A,0x78,0xF4,0xD1,0xE5,0xA5,0x63,0x2E,0xE3, -0x36,0x7F,0xAF,0xF9,0x5F,0x9B,0x4D,0xB2,0xB2,0x1F,0x3B,0xC0,0x50,0x13,0xAC,0x29, -0xE4,0xF1,0x06,0x32,0xD5,0x17,0xA0,0x71,0x5A,0x7B,0x10,0x95,0x87,0x3F,0xB1,0x87, -0x67,0x2D,0x2B,0x02,0x7B,0x52,0x3A,0xCE,0xA5,0xF3,0x55,0xDD,0x16,0xD3,0x82,0xAE, -0x8C,0x08,0xE1,0xE8,0x27,0x36,0x18,0x51,0xCD,0x91,0x3F,0xA6,0x2A,0xFC,0xA5,0xB7, -0x84,0x80,0x53,0x57,0x66,0xED,0xF8,0xE7,0xE4,0x45,0xB5,0x06,0x54,0x6C,0x22,0x4F, -0xC5,0xC6,0xA9,0x4F,0x84,0x1A,0x7F,0x46,0x21,0xA2,0xAE,0x8F,0xBE,0xA6,0xC9,0x6A, -0x94,0x94,0x2D,0xB4,0x40,0xE1,0x83,0x3F,0xD1,0x26,0x1A,0x6B,0xBC,0x50,0xBE,0x37, -0xB3,0x8D,0x02,0x88,0x4F,0x4D,0x72,0x33,0xBB,0xE0,0x7C,0xD5,0xAB,0x97,0xFD,0x7B, -0x7A,0x83,0x07,0xD5,0xD7,0xD2,0xAC,0xD5,0xA0,0x3A,0x08,0xD3,0x05,0x6B,0x4F,0x84, -0x7F,0xB1,0xE7,0x5E,0xAE,0x0D,0x1E,0xA8,0x0A,0xD2,0x28,0xEA,0xE5,0x2A,0xF9,0x5F, -0x4D,0x8E,0x56,0x0A,0x11,0xEC,0x5C,0x08,0x6E,0x86,0x58,0x8A,0xB2,0xA4,0x6D,0xAF, -0x12,0x50,0x4F,0x56,0x60,0xD3,0xCB,0x83,0xD9,0xE8,0xE5,0x08,0x00,0x15,0xD4,0xDE, -0x61,0x13,0x3E,0x20,0x8E,0xB2,0xE1,0x94,0x54,0x92,0xFA,0xC6,0xA0,0x38,0x4F,0x52, -0x13,0xF4,0xA0,0x21,0xD6,0x33,0x8A,0x58,0xE4,0x67,0x3B,0x67,0xBB,0xE2,0x49,0x26, -0x52,0x3C,0xD4,0xB7,0x6A,0x63,0x44,0x01,0x82,0x38,0xEE,0x43,0xB3,0x83,0x2E,0x86, -0x62,0x91,0xC0,0x74,0x6E,0x2D,0xF9,0x25,0x94,0x02,0x10,0xE1,0xC4,0x6C,0x2F,0x22, -0xF7,0x40,0x24,0xD1,0x74,0x7E,0x08,0xB3,0x56,0x98,0xC7,0xC9,0x1B,0xCF,0xD2,0xAA, -0x41,0x0F,0xF1,0xA5,0x7D,0x04,0xE7,0x2D,0x55,0x84,0xA7,0x03,0x88,0x72,0x9D,0x3F, -0xA7,0x9D,0x64,0x76,0x26,0x4F,0xEC,0xFD,0xF7,0x6F,0x25,0x4E,0x16,0x67,0xBB,0x57, -0xC5,0xCB,0x21,0x31,0x37,0x69,0xCF,0xFF,0xFB,0xC3,0x2A,0xBF,0x54,0xEB,0xD7,0x5C, -0x6B,0x1C,0x3C,0x1D,0x58,0x37,0xF5,0x3E,0xEA,0xC1,0x09,0x99,0xC6,0xC8,0xEA,0x2E, -0x1A,0x79,0x5C,0x48,0xBB,0x62,0x8D,0x93,0x1B,0x72,0x32,0x20,0x22,0x9A,0xA4,0x1F, -0xDE,0xD1,0x17,0x3D,0x28,0xB1,0xDE,0x5B,0x78,0x1F,0x07,0x8F,0x5E,0x2E,0x75,0xF0, -0x15,0x80,0x7A,0x3A,0x52,0x87,0x7A,0xBC,0x27,0xEB,0xB1,0x8A,0x63,0x2C,0x7F,0xFF, -0xFB,0x3B,0xFC,0xF7,0x07,0x32,0x43,0xCA,0x13,0xFA,0x80,0x9F,0x87,0x7E,0x31,0xCE, -0x07,0x17,0xB0,0x5F,0x3A,0x5D,0x9D,0x45,0x65,0xB1,0x2B,0x58,0xF1,0x0F,0x42,0x8D, -0x56,0x6E,0x1F,0x8F,0x8D,0x78,0x81,0x88,0x50,0xB6,0x47,0x88,0x4D,0x95,0x14,0x24, -0xA1,0xE9,0xBE,0x6D,0xDD,0x46,0x58,0xCC,0x7F,0x27,0xDA,0x0B,0x52,0x18,0x6E,0xEA, -0x29,0x56,0xB6,0xDF,0x6B,0xA6,0x19,0x17,0xAB,0x87,0xF3,0x81,0xC2,0x9F,0x96,0x94, -0xB5,0x0A,0xAE,0x13,0x05,0x3D,0x7E,0xC0,0x1C,0x4A,0xEF,0xA4,0x6E,0x84,0x16,0x02, -0xE7,0xF1,0xFF,0x97,0x7C,0xC1,0xBA,0x3B,0x98,0xAE,0x1F,0x10,0x98,0xF3,0x4B,0x00, -0xA2,0x6B,0x40,0x39,0xEF,0x12,0xE9,0xF3,0x00,0xF2,0x9E,0xB6,0x55,0x75,0xA5,0xBB, -0xAC,0x36,0x89,0x3C,0x09,0xCC,0x71,0x6C,0xDA,0xF4,0x85,0xC2,0xA9,0xC7,0x5A,0x15, -0xAF,0xB4,0x77,0x68,0x32,0xE2,0x2F,0xCD,0xBC,0xAB,0x50,0xE6,0x9A,0x57,0x8E,0x0C, -0x90,0xE0,0x45,0xD9,0x92,0xA0,0x90,0x2C,0xE8,0xCB,0x34,0x96,0x14,0xC3,0x7E,0x5B, -0xB9,0x71,0x76,0x35,0x44,0x25,0x84,0x86,0x51,0xA0,0x1A,0x4D,0x60,0x16,0xC8,0x14, -0xE5,0xD7,0xEE,0xB4,0xF9,0xB0,0x17,0xC9,0x42,0xA8,0x04,0x64,0xB6,0x4A,0x20,0xDB, -0x81,0xF5,0x71,0xE8,0x48,0xD4,0x8B,0x2A,0x70,0x97,0xB5,0x30,0x62,0xB2,0x0D,0x18, -0xE2,0x07,0xDB,0xD8,0xBD,0x23,0x0D,0xBD,0xA7,0x2B,0xFC,0x70,0xBF,0xB5,0x35,0x9C, -0x5E,0x47,0x0C,0x91,0x88,0xF3,0x61,0xBA,0x25,0xE1,0x8C,0x85,0x2D,0x96,0x08,0xEE, -0x00,0xC7,0x85,0x33,0x30,0xED,0x12,0xC7,0xCE,0xC4,0x46,0x6F,0x5D,0x14,0xC2,0x1B, -0x0C,0xBC,0x5D,0x15,0xF4,0x84,0x45,0x73,0xC9,0xFC,0x9B,0xEB,0xED,0xB8,0x8F,0xA8, -0xD0,0x8C,0xDE,0x38,0x4B,0x1E,0xEB,0x36,0x41,0xB4,0x64,0xAE,0x01,0x8B,0xA6,0x39, -0x6D,0x68,0xE6,0x06,0x59,0xF2,0xA8,0x28,0xC6,0x4C,0xF4,0xD0,0x4A,0xF8,0xDF,0x75, -0xEC,0x5A,0x12,0xDD,0x5F,0xB3,0x28,0x06,0x5A,0x34,0xC8,0x38,0x5B,0xE7,0x7B,0xAD, -0x7D,0xD9,0x3D,0x40,0xEC,0xD8,0x89,0xEF,0x33,0xDB,0x72,0x27,0x96,0x61,0x95,0x16, -0x78,0x2F,0x19,0x0F,0xAD,0xC0,0x73,0xA9,0xF5,0x65,0x18,0x41,0x0C,0x23,0xCF,0xC4, -0x44,0xF9,0xD5,0xEA,0xD2,0x7D,0x37,0x7C,0x02,0xF8,0xA3,0xB9,0xE6,0xE3,0x5F,0xE3, -0xF0,0x90,0x11,0xBD,0x3F,0xD6,0x7D,0x77,0x46,0x8C,0xB9,0x2A,0xC9,0xC4,0x46,0xDF, -0x69,0x3A,0x2D,0x3E,0x01,0x73,0xC3,0xE4,0x86,0x1C,0x53,0x0D,0x69,0xE9,0xDD,0x53, -0x7A,0x09,0x08,0x2C,0xBF,0x2C,0x30,0xB7,0x53,0xAA,0x27,0x42,0xCE,0xA9,0x8D,0x8E, -0xFE,0xCD,0xD8,0xB8,0xB9,0x6D,0xB0,0x99,0xCB,0xF6,0xA6,0xE4,0xD7,0xD7,0x4E,0xF6, -0xCE,0x60,0xCC,0x7B,0x9B,0xDA,0x7F,0xB2,0xC5,0x50,0x94,0x1A,0x4B,0x66,0xAD,0x92, -0x3A,0x65,0x93,0xCD,0x4D,0x5F,0x6B,0x18,0x36,0xE9,0x92,0xAC,0xD3,0x80,0x32,0x4C, -0x8B,0xFA,0x73,0xD5,0xD3,0xB8,0x6A,0x6A,0x69,0x1D,0x24,0xA9,0x93,0xA8,0x9B,0x4B, -0x30,0x6A,0x91,0xF0,0xCA,0x21,0xFB,0xE0,0x39,0x59,0xFD,0x97,0xAB,0x63,0x9F,0x19, -0x04,0x95,0x4E,0x0B,0xB1,0xD2,0x02,0x11,0xE0,0x43,0x86,0x29,0xAC,0x0E,0x54,0x48, -0x57,0xCA,0xF0,0xF8,0x7B,0x45,0x67,0x03,0xAF,0xA3,0x4E,0xCF,0xB2,0x1D,0x5C,0x61, -0x64,0xE5,0x1A,0x6F,0x6D,0xE7,0x99,0x39,0xAA,0x91,0xAE,0x44,0x59,0x43,0xBE,0xA1, -0x19,0xFB,0xA2,0x1C,0x87,0xC8,0x0E,0x0A,0x5B,0x22,0x95,0xFD,0x26,0xCD,0xD8,0xA5, -0x60,0xB7,0xD1,0x57,0x1E,0xAB,0xD2,0x40,0x35,0xF5,0xF2,0x66,0x29,0xC1,0x74,0x54, -0xED,0xFE,0xFD,0xAA,0x0A,0x06,0x11,0x70,0xA1,0x05,0x7C,0x31,0x1E,0x06,0xDC,0xF7, -0x9C,0x9B,0x9D,0xFF,0xAC,0x05,0x2E,0xBF,0x90,0x26,0xAD,0xAF,0x83,0x29,0x4D,0x74, -0x37,0xBA,0xA4,0x9C,0x62,0xDC,0xF6,0x89,0x8C,0x9E,0xDC,0xBD,0xFE,0x03,0xEE,0x7C, -0xDA,0x83,0xDC,0x05,0x2A,0xBE,0xE3,0x51,0x2B,0x47,0xBE,0x7B,0xA4,0x6F,0x33,0xE8, -0x71,0xA2,0xE5,0x66,0x0D,0x82,0xCC,0x48,0x81,0x24,0x8E,0x89,0xC5,0xF2,0x5D,0xC5, -0x09,0x4A,0x79,0x5A,0xA3,0x3E,0x41,0x0F,0xC2,0x68,0x49,0x9E,0x6C,0x20,0xD3,0x0E, -0xB0,0xFC,0x8A,0x5C,0xBA,0xA7,0xD0,0x85,0x3B,0x53,0xC0,0x98,0x70,0x97,0x1E,0x2B, -0x79,0x8B,0xF6,0x78,0xD0,0x72,0x0A,0x76,0x31,0xD1,0x4F,0x28,0xD4,0xED,0xF9,0x1D, -0x55,0xEC,0xE1,0xDB,0x49,0x11,0xD6,0x3C,0x04,0xD6,0x23,0xF8,0xE0,0x10,0xE6,0x55, -0x0E,0x9A,0x4C,0x36,0xA6,0xB5,0xA1,0x3D,0x34,0xE3,0xAF,0xA3,0x03,0x2F,0x63,0x35, -0x1B,0xDD,0xB3,0x3F,0x8F,0x77,0xBC,0x82,0xFE,0xF1,0xCA,0x34,0x65,0xDF,0xC6,0x49, -0x3F,0x93,0xB7,0x82,0xB4,0x59,0xE2,0x23,0x22,0xD9,0x51,0x01,0x75,0x5E,0x10,0x76, -0xB8,0xD5,0x99,0x42,0x68,0x6C,0x79,0x0B,0x9E,0x80,0x9F,0x51,0xE4,0x47,0x9A,0xEF, -0x21,0x7F,0xA5,0xC1,0xFA,0x7A,0x77,0xD5,0x9C,0x8A,0xA2,0x5E,0x4C,0x0B,0x66,0xC3, -0xB7,0xD9,0x51,0x7B,0xD4,0x3A,0x44,0xD7,0x90,0xE9,0x14,0xE3,0x42,0xFA,0x96,0xBA, -0x1F,0xAC,0x95,0x30,0x1C,0x69,0xD7,0x04,0xFD,0x46,0x77,0xD6,0xF6,0x2B,0x79,0xC6, -0x7A,0xF9,0xE4,0x50,0xB1,0x11,0x34,0x51,0x4E,0xFF,0x86,0xED,0xA4,0x65,0x48,0x22, -0xAD,0xD5,0x4A,0x4D,0x70,0x2B,0x5B,0x0F,0x4C,0xD9,0x97,0xCE,0x87,0x58,0x3A,0xB0, -0x08,0x6B,0xD9,0x73,0x07,0x65,0xE1,0x1E,0x39,0xEE,0x3C,0xA3,0xF9,0x9B,0x42,0xA9, -0x71,0xBB,0x88,0xDC,0xCA,0x79,0x56,0x3B,0x3E,0x3E,0x09,0xCF,0x63,0xCD,0xEB,0x15, -0x5D,0x13,0x74,0x90,0x45,0xA7,0x6B,0x54,0x75,0xF9,0x7F,0x64,0x12,0xBE,0xA8,0x63, -0xE6,0xDE,0x9A,0x16,0x33,0x9E,0x3E,0xE1,0x64,0xEC,0x4B,0x55,0x40,0xF0,0x99,0x87, -0x5A,0x53,0xDD,0xB8,0x8E,0xA0,0x06,0x05,0xB7,0x25,0xEE,0x0A,0xEF,0xA1,0xE0,0x57, -0x92,0xC5,0x9C,0xCC,0xD7,0x6E,0xBA,0x55,0xE8,0x01,0x88,0xDF,0x8E,0xC6,0x40,0x5F, -0x75,0xC4,0xEE,0x52,0x1B,0x05,0xE2,0xD4,0x1D,0xA0,0x38,0x1E,0x54,0xC0,0x34,0x44, -0x36,0xB2,0x9D,0x23,0x0C,0x2F,0x0C,0xB5,0x67,0x6E,0xB5,0x01,0x79,0x5B,0xB8,0xE4, -0xFB,0x92,0x28,0x08,0x72,0x08,0x4A,0x29,0xE0,0x28,0x9B,0xC1,0x0B,0x34,0x31,0xF2, -0x69,0x41,0xCE,0x9D,0xA2,0x03,0x11,0x62,0x0B,0x65,0x39,0x43,0x1E,0x12,0x59,0x6C, -0x26,0x35,0x78,0x48,0x3C,0xEC,0x18,0x18,0x17,0xAF,0x3A,0x23,0xA3,0x5D,0xCC,0xFF, -0xF7,0x90,0xED,0xAC,0xAA,0x1D,0x02,0x4B,0x8D,0x87,0xF8,0xF4,0x00,0xA0,0x44,0x20, -0x61,0x3C,0x6D,0xB7,0x32,0xE9,0xD1,0x45,0xA4,0x16,0xCB,0x18,0xD9,0xBA,0xFA,0x5B, -0x93,0x0C,0x0E,0x1D,0xA5,0x6F,0x24,0xB2,0x18,0x56,0x1C,0x51,0xDE,0x82,0x7E,0x86, -0xB1,0x50,0x6A,0x82,0x46,0xF3,0x95,0xD6,0x27,0x02,0x2E,0xE0,0x26,0xAF,0xBD,0x52, -0x17,0xD1,0x36,0x1A,0x09,0x60,0x28,0x43,0x2F,0x2B,0x3D,0xFE,0x7A,0x47,0x72,0x84, -0xEA,0xDC,0x5F,0xB2,0xB9,0x0F,0x27,0x78,0x3B,0xC8,0x2D,0x80,0xE7,0x29,0x5F,0xE5, -0xDA,0xF1,0x83,0x31,0xFC,0xA1,0x98,0xE2,0x73,0x8D,0xA5,0x7F,0xD4,0x00,0xCE,0x09, -0xA1,0xD7,0x8F,0xE9,0x48,0xF6,0x5C,0x8B,0x4B,0x09,0xA2,0xA2,0x78,0x4D,0x7D,0xB9, -0x21,0x75,0xD1,0x60,0x35,0x85,0xE4,0x95,0x6E,0xE3,0x49,0x68,0xFA,0x87,0x88,0xC9, -0x97,0x73,0x68,0x93,0xB4,0x5E,0x10,0xA7,0x21,0x76,0xF4,0xFB,0x9F,0xC4,0x66,0x7C, -0x6C,0xF7,0x3A,0xC2,0x4F,0x9A,0x69,0x5B,0xC5,0xC2,0x70,0x0B,0xE8,0x99,0x64,0x8A, -0x30,0x3B,0xA6,0xDA,0x98,0xFD,0x07,0xC0,0x08,0xE7,0xC7,0x17,0xF3,0x19,0xF2,0x26, -0x8F,0x89,0x2E,0xD2,0x43,0xBC,0xB1,0x20,0xA8,0x6D,0x13,0x3E,0x74,0xE1,0x8C,0xB6, -0x86,0x3D,0x1F,0x29,0xA3,0x74,0xFE,0xC6,0x44,0xF0,0x84,0xD0,0xAF,0xF1,0x3D,0xF0, -0xD2,0x8C,0x20,0x1B,0x42,0xCB,0x5E,0x84,0x24,0x80,0xD0,0xB4,0x3B,0x01,0x6A,0x7E, -0x50,0xD8,0x23,0xE5,0xE3,0x95,0x65,0xAA,0x7B,0xA4,0xB6,0x61,0xAB,0xD5,0x73,0x4D, -0x0D,0xDD,0x2D,0x2C,0x7C,0x0D,0x83,0x74,0x7D,0xD0,0x6C,0x7A,0x19,0x2A,0xDD,0xB1, -0x9C,0x31,0x04,0x1F,0xE5,0x8E,0xBF,0xDE,0x92,0xCF,0x05,0xC0,0xC4,0x14,0x2D,0x77, -0x03,0x29,0xB5,0xFF,0x97,0x8F,0x21,0x39,0x66,0xCA,0x5A,0x76,0xEC,0xBD,0x2A,0x37, -0x06,0x9F,0x41,0xA0,0x3D,0x9B,0xF7,0xBC,0xDF,0x7C,0xA9,0x70,0x0A,0x22,0xF4,0xAF, -0xAB,0x5C,0x71,0xB4,0x16,0x54,0xD5,0x0B,0x79,0x82,0xA7,0x42,0xBB,0xC1,0x90,0x33, -0x83,0x8B,0xEB,0x76,0xB6,0x7D,0x01,0x81,0x1E,0x22,0xC6,0x4A,0x2F,0x31,0xC7,0xBD, -0xAC,0x1C,0xD8,0x9C,0x8C,0x83,0x17,0x23,0x2C,0xA9,0xC3,0xAA,0x71,0xD3,0x07,0x56, -0xF3,0xEF,0x8B,0x22,0x9E,0xE6,0xDD,0xB4,0xCC,0x4F,0x8C,0x62,0x62,0xDB,0x2E,0x48, -0x0C,0x14,0xBF,0xFD,0x6F,0x1F,0xA6,0x47,0xD6,0xF1,0x55,0x19,0x0F,0x10,0x7F,0x4F, -0x49,0xEB,0xF7,0x75,0x26,0x97,0xC1,0xA6,0xEA,0x27,0x99,0xFC,0x4F,0x40,0xA2,0xE8, -0xBF,0xA4,0xF2,0x51,0x60,0x6D,0x80,0xBE,0x54,0x41,0x5F,0x96,0x0D,0x1A,0x70,0x72, -0x3C,0x39,0x63,0x7E,0x89,0xCC,0x33,0xD5,0xBB,0x5E,0x36,0x2C,0x8B,0xF4,0xCB,0xBF, -0x0E,0xE2,0xE2,0x8A,0xA7,0x4C,0x35,0x94,0xC3,0xB6,0xAA,0x10,0x94,0x50,0x13,0xAE, -0x6F,0xC8,0xF5,0x64,0x38,0xD4,0xD3,0x4A,0x25,0x24,0x3F,0xC3,0xC5,0x02,0xE8,0x2A, -0x5C,0xDA,0xE6,0x41,0x6B,0x27,0x6D,0x15,0x93,0x6B,0xEA,0xB7,0x85,0x52,0x35,0x8D, -0xF6,0x59,0x7F,0x7D,0xF8,0x99,0x53,0xB0,0x03,0x4C,0x2A,0x5D,0xA8,0xC9,0xB9,0x2D, -0x9F,0x0E,0xCB,0xB9,0xF3,0xD3,0xBE,0x1B,0x77,0xDF,0x6E,0x47,0x8F,0xD0,0x85,0x02, -0xFC,0xD2,0x81,0x20,0xB2,0x45,0xCA,0xD3,0x6C,0xC5,0x58,0x4B,0x43,0xEC,0x53,0xE7, -0x8A,0x3F,0xDA,0x8D,0xB3,0x32,0x25,0x77,0x59,0x9E,0x68,0xC7,0x7C,0x69,0x33,0x04, -0xED,0x9C,0xF6,0x9A,0xF9,0xEE,0xBC,0x14,0x5E,0x4E,0x5D,0xAB,0x81,0x76,0x7B,0x30, -0x9A,0xB8,0x3F,0xE6,0x0A,0x34,0xD6,0xC1,0xDC,0xFE,0x57,0x24,0xFB,0x91,0x4D,0x94, -0x19,0x25,0xAE,0xC9,0x5A,0x93,0x96,0x1C,0x05,0x38,0xF0,0x46,0x67,0xE9,0xA5,0xA8, -0xB3,0xA6,0x37,0xF5,0x84,0x9D,0x04,0x0A,0x0F,0x37,0xF2,0x7B,0x2B,0x15,0x89,0x00, -0xF5,0x66,0xB0,0xDB,0xAC,0x06,0xD8,0x3F,0x56,0x67,0x4E,0xB5,0x32,0x9F,0x10,0x91, -0xBB,0xDB,0x94,0xDF,0x0D,0x58,0xE3,0x11,0x7E,0x52,0x92,0x2E,0xB3,0x49,0x2F,0x81, -0xFD,0x1B,0x13,0xF1,0x30,0xCA,0xC0,0x63,0xA9,0xC9,0xFC,0x49,0x45,0xC2,0x12,0x67, -0x98,0x4E,0x62,0x91,0xFF,0xF5,0x66,0x60,0x8A,0x57,0xCD,0x98,0x6A,0x53,0x91,0xFA, -0xD1,0xB3,0xEF,0xBD,0xCF,0x36,0x72,0xCD,0x7A,0x00,0x59,0x16,0xAD,0xFB,0x32,0xCD, -0x9D,0xF8,0x96,0xCE,0x85,0xEA,0xEB,0xAE,0xAD,0x9B,0x37,0x71,0xA1,0x57,0xC3,0xC2, -0x2C,0xBE,0x86,0x15,0x80,0xA5,0xCF,0x58,0xE7,0xF8,0xAE,0xAD,0x4C,0x5C,0x68,0x88, -0xC4,0x82,0xFE,0x89,0xC7,0x28,0x61,0xE4,0xAB,0xEF,0xED,0x6A,0x9E,0xD2,0xA3,0x21, -0xE5,0xE1,0x55,0xB0,0xDE,0x07,0x46,0xD8,0xC8,0x1D,0x47,0x5A,0x03,0xBC,0x8E,0x40, -0xDC,0x78,0xB8,0xC8,0x06,0x12,0x0E,0xBA,0x11,0xDB,0xE0,0x38,0x6F,0x61,0x1A,0x1A, -0xAE,0xFE,0x96,0x12,0x9B,0x51,0x47,0x34,0x65,0xC3,0x86,0xA4,0x30,0xE3,0x82,0xDE, -0x90,0x84,0xD9,0x25,0xD9,0xE2,0x51,0xCC,0xBD,0xFA,0xE1,0xB7,0x78,0xA5,0x4D,0xEC, -0xC5,0xE9,0xC5,0xD9,0x76,0xB5,0xD9,0xD4,0x76,0x4D,0xA0,0xF3,0x0A,0x03,0x81,0x11, -0x4C,0xC2,0x72,0xB8,0x0C,0x74,0xA4,0x71,0xF3,0xEE,0x36,0x68,0x8C,0x91,0x5D,0xFB, -0x43,0xC1,0xA0,0x92,0x30,0x18,0x93,0x5E,0xF9,0xBD,0x2B,0xB1,0x74,0x80,0xB3,0x75, -0x21,0x58,0x04,0x38,0xE6,0x27,0xCA,0x8F,0x60,0x57,0x5E,0x73,0x28,0x76,0xFD,0x07, -0x63,0x1B,0xB4,0x97,0x5C,0xE9,0x46,0x28,0x79,0x66,0x0E,0x56,0xDF,0xCC,0xF3,0x02, -0x97,0xEE,0x89,0x07,0xAE,0x79,0x9D,0x95,0x01,0x54,0x99,0x81,0x2C,0x16,0x92,0xA7, -0xB2,0xEE,0x28,0xE8,0x3E,0x8F,0x15,0xD9,0x7C,0x9C,0xDE,0x82,0x97,0xDF,0xF9,0x55, -0xC6,0x08,0x80,0x15,0x47,0xEA,0xE8,0x72,0x0E,0x85,0xF7,0x4B,0x85,0x62,0x37,0x70, -0x4D,0x1E,0x62,0xD9,0x0F,0xDD,0x69,0x3B,0x93,0x27,0x01,0x49,0x60,0x48,0xBB,0xE6, -0xA7,0x0A,0x24,0x52,0x75,0x83,0x1B,0x4F,0x0A,0x39,0xFD,0xB4,0xE5,0x4E,0x4E,0x94, -0x7B,0x7A,0x6E,0x2A,0x00,0xC4,0xA0,0xDE,0x16,0xBE,0x00,0x01,0x08,0x50,0x39,0x23, -0xB4,0xBF,0xEE,0xE3,0xA4,0x29,0xAF,0x5C,0x76,0x2D,0xCD,0x28,0x98,0xFB,0x00,0x55, -0xE7,0xA9,0x08,0xDA,0x74,0x75,0xEB,0x79,0x9C,0x78,0xB9,0x18,0xB7,0x22,0x0D,0x9C, -0x89,0xAD,0x4E,0xC1,0xAC,0x07,0xCD,0xCB,0xC3,0xFE,0xD6,0x3D,0xD3,0x20,0x60,0xBB, -0x25,0x39,0x5A,0x34,0x5A,0x9F,0xC2,0xAD,0xF5,0xE2,0xF3,0x9C,0x28,0xE8,0x16,0x57, -0xD5,0xEB,0x70,0xD1,0x29,0xCF,0x52,0x54,0x6E,0x8A,0x0D,0xBF,0x95,0x64,0xA1,0xEA, -0x4F,0x3E,0xEB,0x9A,0x27,0x04,0x5B,0xB5,0x06,0xE5,0x3C,0x2D,0xEA,0xF4,0xE7,0x52, -0xB6,0x65,0x0A,0xCF,0xE5,0x9C,0xFC,0x9C,0x6F,0x1B,0x82,0x52,0xDF,0xD8,0x1A,0xFD, -0x6D,0x17,0x08,0xB5,0x84,0xF2,0x9D,0x5F,0x57,0x23,0x87,0xE9,0x58,0xBD,0x57,0x02, -0x8A,0x58,0x94,0x49,0xD0,0x3E,0x86,0x11,0x82,0xED,0xF6,0x52,0x9C,0xBC,0xA6,0xCB, -0x7D,0xA1,0xCC,0x40,0x60,0x61,0x04,0x58,0xBC,0x5B,0x71,0x1E,0x57,0x40,0x28,0x1E, -0xEC,0xE1,0x89,0x09,0x00,0xFC,0x7D,0x1F,0x74,0x3D,0x08,0xAF,0xA4,0xA4,0x83,0xD5, -0x52,0x9D,0x8D,0xCA,0x90,0x55,0xCA,0xBF,0x63,0x7E,0x26,0x57,0x76,0xF9,0x34,0x03, -0xF8,0x90,0x49,0x47,0x05,0xDA,0x8C,0x3A,0x6C,0x95,0xCE,0x12,0x40,0x7F,0xDC,0x05, -0x57,0xCF,0x87,0xE5,0x9E,0x46,0xBB,0xAD,0x05,0x6A,0x6B,0xBD,0xBA,0x8E,0x12,0x7F, -0x8C,0x3E,0x74,0xC2,0x6E,0x95,0x53,0xA6,0x05,0x55,0x8D,0xE1,0x14,0xFE,0x0D,0x18, -0x28,0x73,0xA8,0xE8,0x1E,0x93,0x4C,0x6A,0xC5,0x36,0x65,0xE6,0xD8,0x33,0x5B,0x22, -0xEE,0x6F,0x17,0xEC,0x0F,0x96,0x3A,0xA4,0xD8,0xF2,0x24,0xCB,0x77,0x94,0xAD,0x57, -0x59,0x4A,0x20,0xB9,0xDD,0x41,0xB1,0x66,0xCC,0xF7,0x6E,0xBB,0x82,0xB8,0x5A,0x5D, -0xA8,0x50,0x3C,0x9E,0x80,0xCB,0x8A,0x17,0x58,0x15,0x5B,0x84,0xC3,0x1C,0x57,0x21, -0xFF,0x42,0x33,0x69,0x7E,0x5D,0x73,0x83,0xB1,0xA6,0x7E,0x61,0x90,0xA6,0x87,0xC6, -0x53,0xB0,0xEC,0x4C,0x2C,0xEB,0x47,0x50,0x86,0xD1,0xBB,0xE6,0x5E,0x09,0xA0,0x75, -0xE6,0xCC,0x02,0x7A,0xFA,0xF5,0xB0,0xC0,0xCD,0x8F,0xD9,0x11,0xD5,0xFA,0xE7,0x56, -0xA9,0x12,0xA3,0x00,0x6F,0xA2,0x22,0x48,0x9C,0xAA,0x92,0x75,0xBA,0x42,0x7E,0x97, -0x45,0x51,0x29,0xB5,0xFD,0x6A,0x99,0x7F,0xAA,0x44,0x56,0x92,0x66,0xE0,0x9A,0x47, -0xB7,0x75,0x76,0x5A,0x35,0xD3,0x38,0xB0,0x3B,0xF7,0x0C,0xBA,0xBF,0x38,0xC3,0xC5, -0x81,0xF7,0xFA,0x51,0xC6,0xC9,0xD1,0xF2,0x80,0xF9,0xB1,0xB3,0x17,0xF1,0x37,0x3D, -0x9D,0x1C,0x76,0xD6,0x49,0xAD,0xB0,0x54,0x49,0xC6,0xBF,0x02,0x26,0x3B,0x63,0xC4, -0x84,0x28,0x84,0x16,0x9F,0x1A,0xC0,0x7F,0x0D,0x54,0x73,0xB5,0x0C,0x1F,0xE3,0x63, -0xD2,0x26,0x3E,0xB0,0xE8,0x5F,0x17,0xA4,0xD8,0x4C,0xAF,0x7B,0xDA,0x0A,0xDC,0x95, -0x49,0xE7,0xB9,0x88,0x45,0x14,0x89,0xE5,0x65,0x2D,0xAA,0x37,0x0A,0x2D,0x39,0xB7, -0x54,0x4C,0xAB,0xD4,0x28,0x17,0xED,0xCB,0x7B,0xE5,0x88,0x6D,0x9D,0x70,0xC5,0xC3, -0x85,0x81,0x0B,0xDD,0x4C,0x23,0x27,0xD5,0x04,0xDB,0x0B,0xED,0x51,0x60,0x45,0xD9, -0x32,0xD0,0x8A,0x23,0xBA,0x2C,0xA4,0x3C,0x3E,0xFF,0xD4,0x2F,0x2C,0x98,0xD3,0x01, -0xBA,0x0B,0x5D,0x7B,0x31,0x11,0x63,0xA0,0x38,0xAF,0x2A,0x7B,0xB1,0x5C,0x4A,0x42, -0xC2,0xEF,0xB0,0x95,0xB0,0x1B,0x21,0x61,0xDE,0xC0,0xE4,0xC9,0x85,0xA1,0xE1,0xDC, -0x67,0x13,0x7A,0x94,0x18,0x4A,0xE4,0x8A,0x7B,0x0B,0x8B,0x4C,0xEF,0xCA,0xE6,0xFE, -0x7C,0x1E,0x35,0x48,0x03,0x9A,0x45,0x64,0xB6,0x19,0x69,0x11,0xE8,0xDC,0x69,0x2F, -0xD0,0x90,0x63,0x5D,0xFE,0xBE,0x5F,0xC7,0xAE,0x46,0xF0,0xF6,0x53,0x78,0x91,0xED, -0x10,0x16,0x25,0xFF,0xC7,0x02,0x2E,0x17,0x2F,0xE7,0x44,0xB9,0x32,0x30,0xAA,0x6D, -0x19,0x09,0x7B,0x15,0xCB,0x3F,0x2F,0x31,0x74,0xBC,0xED,0x24,0x46,0x47,0xA9,0xB6, -0x39,0x98,0xB0,0xBE,0x55,0xC8,0x18,0xB0,0xDF,0x61,0xD7,0xB2,0xC7,0xC3,0x92,0x38, -0xC1,0xB7,0xB4,0x4E,0xBD,0x3D,0x54,0x6B,0x47,0xD8,0x06,0x8D,0xC4,0x3A,0x4F,0xD2, -0xDB,0x8B,0x57,0xC2,0xC8,0x2E,0x6C,0x76,0xD6,0xDA,0xAB,0x81,0xEB,0x66,0x71,0xB8, -0xB3,0x52,0xCB,0x37,0x22,0x58,0x65,0xF5,0xE4,0xE0,0xD1,0x5B,0xCB,0xEF,0xBE,0x50, -0xC0,0x5E,0x2D,0x0B,0x35,0x34,0x07,0xDD,0x0E,0x3C,0x4B,0x57,0xD1,0xE5,0x80,0x4C, -0xAC,0x2B,0xB8,0x2C,0xBC,0x12,0x43,0xBF,0x1F,0x33,0x05,0x75,0xBD,0x72,0xE8,0x68, -0x9B,0xC8,0x99,0x45,0xE8,0x7A,0x69,0xEB,0x27,0x79,0x1D,0x28,0x00,0x6C,0xBB,0xC0, -0xB0,0x07,0x76,0x15,0x61,0x77,0xC2,0x9C,0xDD,0x10,0x2F,0xF3,0x01,0x5A,0xCE,0xC4, -0x35,0x13,0x38,0xE1,0x0C,0xA3,0x8A,0xF0,0x03,0x87,0x68,0x46,0x55,0x31,0xD7,0x1E, -0x0F,0x51,0x9E,0x2B,0x48,0x9E,0x90,0xA0,0xEA,0x04,0x15,0x37,0xD4,0x6F,0xB5,0xC7, -0x1E,0xBD,0x9A,0xFE,0xA3,0x13,0x31,0x72,0xAF,0x33,0xC7,0xFC,0xB8,0x37,0x66,0xB7, -0x6E,0x57,0xC1,0x97,0x08,0x22,0x8C,0x85,0xEE,0x40,0x88,0xC2,0xA9,0x96,0x83,0x73, -0xB1,0x35,0x66,0x08,0xBD,0xDA,0xCB,0x36,0x65,0x8F,0x3F,0xF8,0xE6,0x99,0x86,0x5A, -0x5E,0xD4,0x69,0xE0,0x2D,0x1B,0xB8,0x47,0x81,0x5C,0x78,0x8B,0x1E,0xA1,0xCC,0xC8, -0x90,0xE5,0xD9,0xFE,0x9B,0xE6,0x18,0xDD,0xFD,0xF5,0x00,0x83,0xF4,0xAB,0x40,0x6C, -0x15,0xC8,0xE6,0x63,0x93,0xB0,0x78,0xCF,0x4E,0x68,0x68,0x6A,0x0C,0xE5,0x29,0xAA, -0xC9,0xD3,0xF8,0xA4,0x6B,0xA5,0xEF,0x15,0x0F,0x37,0x3E,0x9C,0xC1,0xA0,0x57,0x11, -0x32,0x74,0x34,0xAA,0xC9,0xCA,0x84,0x7C,0x10,0x63,0xEE,0x49,0xD1,0xAD,0x73,0x19, -0x10,0x9B,0x18,0x95,0x9E,0x97,0x7C,0xDD,0xD3,0x65,0xF3,0x44,0x7F,0xAE,0x56,0x73, -0xB6,0xE9,0x87,0x71,0x04,0x82,0xFC,0x5F,0x68,0x1B,0x0D,0xB5,0x92,0x69,0x33,0x7F, -0xEC,0xF7,0xB8,0x80,0xB4,0x5A,0xAB,0x84,0x9D,0xB7,0xFF,0x18,0x1B,0xD0,0xD8,0xE6, -0x05,0xDC,0x2B,0x93,0x8F,0x81,0xDA,0x93,0xB1,0x68,0x27,0xE6,0xE5,0x17,0xAF,0xE2, -0x0B,0x9A,0x27,0xCF,0xFC,0x4B,0xC8,0x13,0xAA,0x0D,0x3B,0x4A,0x65,0x73,0x09,0xBC, -0x01,0xA9,0x66,0xD5,0x2A,0xB3,0x04,0x3A,0xA4,0xF2,0xE9,0x4D,0x00,0x51,0x56,0xA3, -0xC4,0x9D,0x2B,0x4B,0x40,0x1C,0x1B,0xE0,0x83,0xCF,0x45,0x7A,0x58,0xE7,0x50,0xBD, -0x28,0x5B,0x2A,0x77,0x18,0xF8,0x99,0x67,0x1D,0x2E,0x13,0x8E,0xF9,0x18,0xA5,0xAE, -0x63,0xEE,0x16,0xFC,0x22,0x40,0xE2,0xC1,0xA2,0x02,0x5C,0x19,0x3C,0x4F,0x8A,0x95, -0xD2,0x66,0x93,0x09,0x49,0x8B,0x9D,0x76,0xCE,0x33,0x8F,0xC8,0x38,0x19,0x99,0x65, -0x95,0x28,0x23,0xFE,0x68,0xE0,0xFA,0xAE,0x5E,0xAC,0x0A,0x27,0x32,0xCD,0x34,0x49, -0x7D,0x7D,0x1D,0x71,0xE0,0x8D,0x51,0x21,0xE1,0x48,0xA4,0x54,0x14,0xA9,0x35,0x02, -0xAF,0x94,0x17,0xDD,0x4F,0xD5,0x1E,0x79,0x41,0x2E,0xB5,0x13,0xF6,0x24,0xD7,0xDE, -0xF1,0xE3,0x0C,0x47,0x99,0x5F,0xC8,0xB8,0x6C,0x93,0x7A,0x61,0x37,0x8E,0x80,0x20, -0x6B,0x50,0x5F,0x6E,0xE0,0x55,0x8A,0xF8,0xEA,0x49,0x09,0x51,0x14,0xE2,0x8B,0x36, -0xA7,0x3F,0x8A,0x93,0xFF,0xD6,0x09,0x14,0x93,0x9D,0x21,0x50,0x10,0xC0,0xDB,0x9E, -0xBF,0x8B,0x6E,0xCF,0xFA,0xC8,0xBB,0x48,0x7E,0x4B,0x16,0xC8,0x55,0xA8,0x51,0x81, -0x6D,0xB9,0x37,0x8F,0xF5,0x79,0x44,0x69,0x8C,0x1E,0x83,0xD4,0x03,0x72,0x0C,0x51, -0x57,0x97,0x24,0x26,0x29,0xFD,0xB9,0x28,0x6F,0xE0,0xA3,0x81,0x41,0x85,0x33,0x57, -0x11,0x2D,0x1A,0x5C,0x3D,0xDC,0x3E,0xA9,0xE0,0x4C,0x61,0x25,0x52,0x94,0x24,0x20, -0xBC,0x67,0x99,0x33,0x2C,0x80,0xEA,0xC6,0x9A,0xC2,0x7B,0x9A,0x7F,0x87,0xFE,0x9C, -0xD3,0x33,0x1B,0xBF,0x96,0x66,0x72,0xDA,0x80,0xFA,0xC6,0xAD,0x93,0x20,0xC7,0xB7, -0x31,0xD6,0x27,0xBA,0x12,0x70,0x41,0xF4,0x49,0x1D,0xDD,0xEF,0xD1,0xF0,0x64,0x8B, -0xFE,0x0C,0x3D,0x02,0x4E,0x8A,0xA2,0xE9,0xF9,0xBD,0xAA,0x2C,0x07,0xB8,0xBF,0x04, -0x4A,0x99,0x56,0xBE,0xDD,0xC2,0xBA,0x5A,0x1C,0x22,0x6A,0xB2,0x47,0x04,0x67,0x48, -0x77,0x24,0xDB,0x6F,0x50,0x41,0x46,0xA5,0xBB,0xAC,0x0E,0xFD,0x97,0x93,0xED,0x2C, -0xBA,0x5A,0x26,0xA1,0x26,0xEA,0x7D,0x7B,0x9E,0x5F,0xC1,0xD4,0x89,0x7E,0xED,0xA4, -0x6C,0x40,0x24,0x02,0x16,0x9A,0x1C,0x04,0x58,0x27,0x33,0x26,0x76,0xBD,0x97,0xDD, -0x03,0x2F,0xB7,0xB7,0x13,0x98,0x53,0x75,0x17,0xAA,0x5D,0x3D,0xDF,0xCF,0x76,0xC8, -0x4D,0xC1,0x4C,0xE7,0x24,0xD8,0x6A,0xA1,0x5F,0x59,0x7C,0x29,0xEB,0x50,0xD5,0x2D, -0x64,0xC9,0x77,0x17,0x30,0x65,0x7B,0xD7,0x3C,0xB0,0x08,0xEF,0x75,0x35,0x92,0x71, -0x47,0xB9,0x56,0xC5,0xF7,0xF4,0xFD,0xF7,0x77,0x5F,0x1D,0x84,0xF6,0x39,0x7D,0x05, -0xBB,0xA3,0x11,0xB5,0xAE,0xF2,0xAC,0x3D,0x6C,0xB0,0xF7,0xD1,0x96,0x67,0x9C,0x31, -0xE4,0x45,0xD8,0xF7,0x03,0xCC,0x2C,0x2E,0x52,0xF4,0x9B,0xDD,0x8C,0x9D,0xBA,0xB5, -0x91,0x25,0x1B,0xE3,0x21,0x3A,0x0E,0x4F,0x30,0x8F,0xF9,0xED,0xA6,0xA2,0x4A,0xA4, -0x23,0xC6,0x77,0x9B,0x62,0xAC,0x7F,0x66,0xDD,0x90,0x2D,0xC9,0x14,0xC3,0xCA,0xDC, -0xB4,0xEE,0x53,0x1A,0x7B,0x76,0xCF,0x28,0xE5,0xCA,0xD9,0xA9,0x53,0x53,0x4C,0x84, -0x5B,0xB1,0x58,0xC0,0x73,0x1F,0x70,0x3A,0xCB,0x0F,0x2A,0x8E,0x2E,0x58,0x5F,0x62, -0x3C,0x9F,0xCD,0x34,0x83,0x59,0xA5,0x39,0xF3,0x93,0x14,0x86,0x80,0xEB,0x50,0xE2, -0x8C,0xBE,0xD4,0x50,0xD1,0x2B,0xF6,0x97,0xF2,0x66,0xF6,0x46,0xD8,0xCE,0xDE,0x5D, -0x1A,0x20,0x7D,0x78,0x53,0xB9,0xCB,0xD0,0x66,0xB6,0x7F,0xAA,0x84,0x0F,0x38,0x2F, -0x9E,0x8A,0xF0,0xAA,0x2C,0x2E,0x0C,0xE4,0x95,0xA6,0x54,0xB6,0x4B,0x2C,0x8F,0x9C, -0xDF,0x15,0x56,0xA5,0x17,0x89,0x6A,0x3F,0xD7,0xF3,0x92,0xE5,0x02,0x29,0xD2,0x0F, -0xE1,0x18,0xD3,0x75,0xDC,0xA6,0xA2,0xC4,0xCA,0xF3,0x12,0x59,0xC9,0x71,0x03,0x2E, -0xD4,0xFF,0x9F,0x3E,0x05,0x02,0xCE,0x74,0x32,0xB4,0xE3,0xE8,0xC6,0xFB,0x3C,0xCE, -0x74,0xFE,0x1C,0xC7,0x65,0xC5,0x07,0xFC,0xAA,0x55,0x42,0x39,0xD2,0x60,0x56,0x45, -0x9C,0x29,0x48,0xF3,0x9A,0x43,0xF9,0xF8,0x59,0x55,0xE8,0x7E,0x1C,0xEF,0xAB,0x04, -0x37,0x7E,0x0F,0xC2,0xE0,0x44,0x06,0x98,0x3F,0x43,0x36,0x5C,0x2A,0x2F,0x87,0xC3, -0xD1,0xCE,0x09,0x9A,0xF8,0x34,0x86,0x00,0xF1,0x81,0xED,0x67,0x79,0xFC,0x75,0xC6, -0x4C,0x4F,0x2A,0x15,0xE4,0x06,0x24,0x88,0x26,0x61,0x30,0x8E,0x9D,0x84,0xF3,0x87, -0x3D,0x35,0x6D,0x73,0xE6,0x07,0x29,0x25,0x9A,0x58,0xD7,0x2B,0xC7,0x48,0x64,0xF7, -0xB2,0x6A,0x01,0xBC,0xB7,0x1E,0x0B,0xA4,0x13,0xF6,0x56,0x91,0x99,0x46,0x58,0xF2, -0xCB,0xC2,0x23,0x3F,0x33,0xFA,0xF5,0x64,0x45,0xB7,0xC7,0x46,0x60,0xDB,0x3A,0x9D, -0xB7,0x88,0xFE,0xE5,0x96,0xDE,0x8E,0xD6,0x91,0x95,0x6F,0xCF,0x61,0x75,0xF7,0x21, -0x49,0x2C,0x0D,0x17,0xFC,0x52,0xE5,0x7A,0xDD,0x63,0x9F,0x2F,0x04,0x25,0x7A,0x8C, -0x38,0xD4,0xCF,0x6D,0x77,0x62,0x26,0xEC,0x10,0x8B,0x0C,0xBC,0xFD,0x26,0xD8,0x36, -0x86,0xB7,0x79,0x86,0xED,0x4E,0xB6,0xED,0xDC,0xF1,0xF5,0xF0,0x91,0xBE,0x64,0x16, -0x7F,0xEA,0x0C,0xFF,0xF4,0x05,0x5B,0xD7,0x24,0x11,0x8E,0xA3,0xEE,0x1F,0xB5,0xF3, -0x27,0xC7,0x9D,0xB8,0x6D,0xD7,0x04,0xFA,0x02,0x7F,0x03,0x64,0x35,0x0E,0x1C,0x6B, -0x4A,0x06,0x7F,0xAF,0x3B,0x3F,0xC2,0x30,0x1E,0xCB,0x67,0x37,0x9E,0xA0,0x20,0xDE, -0x21,0x25,0x2A,0xA4,0x3E,0x78,0xDC,0xC8,0x91,0x93,0xB3,0x0A,0xCE,0x25,0xC9,0xA4, -0x62,0xB1,0x94,0x2A,0xFC,0x15,0xB8,0x25,0x23,0xCF,0x02,0xEF,0x03,0xBC,0x19,0x6E, -0x7C,0xDC,0xDC,0x44,0x34,0x0D,0x04,0x10,0xDE,0xDE,0x6A,0xF5,0x2C,0x8B,0x45,0x9A, -0xFF,0x1C,0x4D,0xF8,0xF5,0xC1,0x9F,0x89,0x6C,0x89,0x48,0x39,0xA3,0xA3,0x26,0x95, -0xF5,0x74,0xB6,0x4C,0xFA,0x5B,0xBC,0x1E,0xB8,0xDC,0x24,0x58,0x14,0xD0,0xD7,0x43, -0x2A,0x0D,0x97,0xB7,0x9C,0x16,0x9E,0x8A,0x4D,0xCD,0x2D,0xEB,0x3A,0xD1,0x21,0xA8, -0x76,0x27,0x04,0x48,0xE5,0xBB,0x2F,0xA4,0x23,0x96,0x3E,0x29,0x46,0xCB,0xFF,0x24, -0x57,0xC7,0x4E,0x29,0xD3,0xFD,0x7F,0xBE,0xE5,0xE1,0x2F,0x2F,0x8F,0x09,0x48,0x0A, -0xD3,0x22,0x56,0xF6,0x28,0xC7,0x1F,0x42,0x8F,0x43,0xD8,0x3F,0x63,0x29,0x2B,0x08, -0x68,0x58,0x72,0x47,0xA1,0xE0,0x80,0x47,0xF5,0x6F,0xAE,0xC0,0xC2,0xC0,0x64,0xEE, -0x20,0x2B,0x2E,0x01,0xDA,0x54,0x53,0x44,0x37,0x4B,0x12,0x82,0x77,0x00,0x21,0x7F, -0xDA,0xF1,0xEA,0x58,0xDA,0x9B,0xB8,0x93,0xDC,0x92,0x5A,0xB4,0x5E,0x77,0xFD,0x18, -0xCC,0xF3,0x9B,0x30,0x57,0x79,0x8E,0x54,0xD5,0xF5,0x8A,0xA4,0xCE,0x6C,0xF6,0x86, -0x4C,0xC9,0x98,0x33,0xC6,0x3A,0x83,0x16,0x46,0x54,0x01,0xE4,0x14,0xAA,0xDB,0xB2, -0xB1,0x8D,0x68,0x53,0x9D,0xF4,0xDF,0xE4,0x21,0xEF,0x0B,0x22,0xAC,0xD2,0xCF,0x4C, -0x70,0xBF,0x2E,0x42,0xBF,0x1B,0xB1,0x97,0x00,0x48,0x33,0x7A,0x6B,0x95,0xDA,0x26, -0x88,0xE8,0xB7,0x69,0xB6,0xC4,0xCD,0x15,0x3B,0x60,0x3C,0x69,0x3B,0x22,0xA5,0x48, -0x3D,0x63,0xDD,0x58,0x3B,0xBA,0x07,0x65,0x0B,0x11,0x04,0x88,0xAC,0x59,0x29,0xBA, -0x60,0x75,0x39,0xBC,0x55,0x98,0xB1,0xEC,0xE6,0x8C,0x07,0x21,0x11,0x44,0xA6,0x38, -0x0F,0xBF,0x07,0x6B,0xA5,0x63,0x63,0xB7,0xF9,0x1B,0x0A,0x22,0xA1,0x94,0x87,0x2F, -0x1A,0xBF,0x43,0x74,0x42,0xBF,0x4D,0xC3,0xD1,0x9C,0x4F,0x93,0xBE,0xC2,0x3F,0x0B, -0xE1,0x77,0x14,0x91,0xC0,0xA1,0xAE,0xFC,0xAD,0xE9,0xD9,0x57,0xF3,0x91,0xAD,0x62, -0x2B,0xC5,0x71,0xEE,0x61,0xAF,0x7A,0x34,0x75,0x3D,0xBD,0x13,0x28,0x8D,0xE1,0x01, -0xF0,0xF1,0x4A,0xED,0xF2,0x46,0xEC,0x7C,0x8F,0x1F,0x7A,0xFA,0x85,0x55,0xB0,0x70, -0x28,0x2C,0x09,0x9A,0x9F,0x1C,0xBE,0x21,0x3F,0xB6,0xC3,0x50,0x79,0xA7,0xE7,0x95, -0xEA,0x03,0x1C,0x35,0xA9,0xC9,0x5F,0x17,0x54,0x18,0xE5,0x94,0x46,0xF6,0xEF,0xB2, -0x52,0x6A,0xD2,0x37,0x9B,0x82,0xDE,0x8C,0x45,0x1F,0xB2,0x20,0xD5,0xB9,0xA3,0x01, -0xB6,0x03,0x31,0x27,0xEC,0x6E,0x71,0x85,0x7D,0x03,0x4D,0x06,0x9C,0xEF,0x73,0x5E, -0x19,0xE4,0xC4,0xFA,0x41,0xAB,0x0A,0x61,0xD6,0xDB,0xFB,0xA6,0xFD,0x43,0x82,0x2C, -0xA8,0xE6,0x6B,0x6A,0xAD,0x7E,0x12,0xA2,0x84,0xAC,0x51,0x23,0xD9,0x49,0x90,0x57, -0x0C,0x22,0x4A,0xAC,0x30,0x4B,0xDC,0x32,0x97,0x85,0xDB,0x2E,0xFD,0xB8,0xDD,0xA9, -0x23,0x21,0xFF,0xE5,0x16,0x75,0xA4,0x18,0x09,0x46,0x83,0x98,0x73,0x38,0xDD,0x20, -0x84,0x26,0x76,0x39,0x8F,0x34,0xBD,0xD3,0x87,0x00,0x86,0x32,0x5E,0xFE,0xD9,0x74, -0x9E,0x6A,0x10,0x52,0x50,0x7B,0x78,0xB3,0xD8,0x7F,0x56,0xC3,0xAF,0x47,0x86,0xAD, -0xEE,0x9A,0x18,0x23,0xA2,0x9D,0x85,0xD5,0x76,0x1E,0x85,0x06,0xD5,0x9C,0x2A,0xFD, -0xE9,0xA1,0x05,0x36,0x66,0x36,0x66,0x40,0xF7,0xC4,0x45,0x09,0x15,0x42,0x71,0xBC, -0x6F,0xC2,0xED,0x58,0x33,0xDE,0x61,0x02,0x3D,0x6E,0xCA,0x23,0xA2,0xE8,0x47,0x84, -0x50,0xAC,0xD2,0x46,0xD0,0x61,0xAF,0xB9,0x3F,0xEA,0x71,0xFC,0x15,0x6D,0xDE,0x3E, -0xB4,0x62,0xB9,0x3B,0x30,0x18,0x5C,0xD7,0x45,0x7A,0xEC,0x50,0x99,0xFC,0x4F,0x4A, -0xAD,0x74,0x04,0xB8,0x5B,0x97,0x85,0x70,0x98,0xCC,0xE2,0x7B,0x20,0x7D,0x19,0xE4, -0xAC,0x01,0x53,0x50,0x05,0xE6,0x70,0x3F,0xD9,0x8B,0x2E,0x6F,0x99,0x9A,0xCC,0xB8, -0xE4,0xB4,0x9E,0xCA,0xF0,0x2C,0x1E,0x37,0xB3,0xDF,0x14,0x3A,0x22,0x5F,0x72,0x9D, -0xC8,0x49,0x71,0x0A,0xCB,0x92,0xF7,0x94,0xC7,0x2A,0x8C,0x30,0xB8,0xA6,0xCE,0x9B, -0xF8,0x27,0x4D,0x49,0x19,0xE3,0xC7,0x33,0xC9,0x9D,0x8F,0x25,0xEF,0x35,0xBC,0x37, -0x74,0xC1,0x23,0x4D,0xB6,0x1D,0x10,0xDA,0x38,0x44,0xDF,0x57,0xAF,0xC5,0xD1,0x97, -0x32,0x3C,0xDB,0x88,0xBA,0xA9,0x90,0x4F,0xC1,0x16,0x65,0xB7,0xC5,0xF7,0xE2,0xB5, -0x30,0xD1,0x28,0x76,0x46,0xC6,0x14,0x88,0x16,0x8E,0x17,0x6E,0x41,0x99,0x66,0x25, -0x40,0x29,0x49,0x7A,0x4D,0x10,0x20,0x86,0x1D,0xC2,0xD4,0xE6,0x3E,0x6B,0x3A,0x9E, -0xEB,0x2A,0x4D,0xC5,0xE7,0xDD,0xC2,0xA4,0x28,0xBD,0x39,0x4B,0x50,0xA4,0x83,0xCC, -0x58,0x5E,0xA3,0x9C,0x69,0x11,0xB3,0x84,0x0D,0xB3,0xCD,0x16,0xB5,0x5D,0x60,0xBA, -0x5E,0x35,0x80,0xCD,0x59,0xED,0xB6,0x10,0xE0,0x80,0x93,0xAC,0xAE,0xB7,0x10,0x2A, -0xCF,0x5D,0xC0,0xDD,0x67,0xCE,0x4E,0x96,0xE9,0x20,0x9F,0x64,0xA8,0xA2,0x14,0xB0, -0x72,0x69,0xBC,0x4A,0x09,0xE7,0x2E,0x1E,0x50,0x3A,0xFA,0x10,0xF7,0xD6,0x2D,0xF3, -0xDC,0x70,0x90,0x3F,0x84,0x1E,0x10,0x9B,0x6E,0x90,0xF9,0x9A,0x0F,0x73,0x6A,0x18, -0x06,0x90,0xAB,0xEA,0x9B,0x89,0x53,0xB8,0x50,0xE0,0x69,0xAF,0x18,0x87,0x90,0x28, -0x90,0x12,0x3A,0xF5,0xC3,0x3B,0xBA,0x76,0x6A,0xAC,0x08,0x70,0xCE,0x53,0x39,0x41, -0x66,0x33,0x04,0xD5,0xA3,0x4E,0xB2,0xC7,0x19,0x56,0x37,0x6D,0x43,0x31,0x20,0x9E, -0x13,0xCD,0xD9,0x13,0x4E,0xB0,0x4C,0x22,0x1D,0x27,0xA5,0x8F,0xE5,0xD5,0xC5,0x2C, -0x81,0xFB,0xF9,0xD4,0xD3,0x26,0x3C,0x29,0x19,0xA0,0x64,0xA2,0xC1,0x5C,0x07,0x19, -0xF3,0xBF,0x1D,0xCA,0x39,0x96,0x47,0x17,0xCB,0xC4,0x41,0xF0,0xE5,0xBE,0xB1,0x20, -0xB5,0xBD,0xA8,0x83,0x1F,0xF1,0x40,0x8B,0x56,0x65,0xF2,0xA5,0x81,0x80,0x4C,0x92, -0xEE,0xE1,0x19,0xDB,0xB0,0xF5,0x37,0xC3,0xAF,0x38,0x38,0xA1,0xBA,0x82,0xE1,0x8E, -0x10,0x33,0x2E,0xBD,0xC9,0x79,0x7C,0x07,0xB7,0x1B,0xC8,0xE5,0x9D,0xD2,0xE8,0x29, -0x21,0x14,0x85,0xE2,0xAF,0xE9,0x17,0xF4,0x02,0x0A,0x52,0x2D,0xE2,0x19,0x04,0x52, -0x9F,0x29,0x33,0x81,0xD1,0xC5,0x4C,0x2D,0x1E,0xC7,0xAB,0x03,0x2E,0x81,0xCD,0xB9, -0x9A,0x3A,0x71,0xC1,0xFF,0xA0,0x13,0x3C,0x6A,0x88,0x70,0xBC,0x4E,0xEF,0x8C,0x35, -0xEB,0xAC,0x4C,0x54,0x67,0xA1,0x0B,0x98,0x9E,0xDD,0x97,0x55,0x23,0x23,0xE8,0xD2, -0x6C,0xBE,0x22,0xE7,0xB0,0x5D,0x73,0x78,0x0A,0x5A,0x60,0xFD,0x66,0x7C,0x51,0x34, -0x15,0xDB,0x9F,0x34,0x64,0xB9,0xBB,0xFF,0x50,0x73,0xF1,0x31,0x03,0xE1,0xB2,0xD3, -0x3B,0x31,0x95,0x42,0xCF,0xE4,0xA7,0x12,0x08,0xA2,0x4F,0x5A,0xB3,0x48,0x44,0x60, -0xD3,0xE5,0x7A,0x01,0x4C,0x62,0x07,0x91,0x0C,0x04,0xE5,0x0F,0x8E,0xC7,0x56,0x41, -0x76,0x43,0x85,0x4C,0xFD,0x93,0x40,0x5D,0x38,0x0E,0x4A,0xD6,0xC0,0x5B,0x63,0xDA, -0x90,0xB8,0x84,0xC6,0x07,0xE3,0x30,0xC7,0x90,0x89,0x91,0xDD,0xE3,0x88,0xF9,0xBE, -0x78,0x17,0xE8,0x55,0x03,0x2E,0x30,0x42,0x33,0xDE,0x35,0xA5,0xE2,0x8E,0xB5,0x19, -0x39,0xD4,0xAB,0x0D,0x80,0x89,0x63,0x74,0x73,0xA4,0xF3,0x6F,0xF6,0x8B,0xB6,0xDF, -0x73,0x08,0x97,0xFF,0x34,0xA5,0x20,0xA6,0xB3,0x59,0x44,0xD1,0x36,0x5C,0x47,0x5B, -0x46,0x73,0xD0,0x54,0x75,0x01,0xD5,0x1C,0x28,0x26,0xB5,0x49,0x85,0xD6,0x03,0x7E, -0x9B,0x86,0x64,0x24,0x30,0xFE,0x7D,0xF8,0xE8,0x40,0xB3,0xA0,0xFE,0x4C,0xB5,0x44, -0xFC,0x5F,0xD8,0x0E,0xC6,0xB8,0x94,0x87,0x8C,0xF1,0x8D,0x81,0x51,0xFF,0x68,0x9F, -0xBD,0x93,0xF2,0x8C,0xE1,0x1E,0x24,0x51,0xF9,0x4D,0xD8,0x2E,0xCD,0xA8,0x6C,0x90, -0x2B,0x52,0x9E,0xFC,0x18,0x8C,0x7B,0x11,0x7E,0xFA,0x51,0x40,0xD8,0x69,0x76,0xF3, -0x36,0xF3,0xB8,0x44,0x2C,0x9D,0xC0,0xB1,0xA8,0xD1,0x5E,0x53,0x55,0x05,0x8A,0xB7, -0x43,0xEA,0xC8,0xC2,0x96,0x6B,0x36,0x4A,0x9C,0x31,0x3C,0x9F,0x86,0x3A,0x56,0x47, -0x13,0x66,0xD9,0xAF,0x4E,0xD1,0x94,0xDC,0xED,0xF2,0x7E,0xE5,0xC2,0xF4,0xA0,0x04, -0x84,0xCC,0x49,0x52,0xBB,0x0B,0xCA,0x7A,0x5F,0xDA,0x8A,0x89,0x2A,0x64,0x28,0x71, -0xC3,0x71,0x20,0xC2,0x71,0xC2,0x25,0x0A,0x0E,0x94,0xAF,0xD4,0xDA,0x92,0x4E,0xA0, -0xEA,0xF9,0x15,0xED,0x65,0x7F,0xE1,0x47,0xA3,0x20,0xDB,0x27,0xFF,0xF7,0xD5,0x44, -0x1C,0x44,0x8F,0xB7,0x9B,0x55,0x1B,0xA1,0x88,0x21,0x50,0xAF,0x24,0xC0,0x49,0xC5, -0xE0,0x38,0x65,0xB0,0x1B,0x53,0x5D,0xCC,0x85,0x72,0xBA,0x1C,0x87,0x9E,0x54,0x70, -0x1D,0xD9,0xDF,0x29,0xC8,0x4D,0xBD,0xD8,0x78,0x9E,0x66,0xC8,0x14,0xD9,0xFF,0xA2, -0xD0,0xC9,0xBD,0xC9,0x1E,0xE6,0xBC,0x22,0x06,0x2D,0xA9,0x7B,0x22,0x34,0x17,0xC7, -0xA4,0x31,0x2C,0xB3,0x03,0x3F,0x87,0x5E,0x39,0xE0,0xFA,0x71,0x22,0x68,0x7A,0x66, -0xCB,0x1B,0x67,0xA4,0x3C,0x3D,0x20,0x8F,0xB0,0xC2,0x94,0xB9,0x83,0x1A,0x6D,0x8A, -0x96,0xE9,0x75,0xF2,0x45,0xD7,0xAB,0xFA,0xBC,0xDF,0x7A,0x1D,0x62,0x57,0x98,0x5F, -0x74,0xDB,0x17,0x9D,0xA7,0xC1,0x50,0xEC,0x38,0x6E,0x61,0xEB,0x61,0x87,0xC4,0x12, -0xED,0x3C,0x01,0xC4,0x66,0x65,0xB4,0x48,0x99,0x91,0xCD,0x89,0x73,0xA3,0x9D,0x00, -0x59,0x77,0xBB,0x02,0x3F,0x2D,0x28,0xE4,0x00,0x80,0x0D,0x67,0xBA,0x1F,0xF8,0x36, -0xF0,0x7F,0x69,0x14,0xAF,0x5A,0x10,0xB6,0x4A,0xC4,0x04,0x0C,0x37,0x22,0x55,0x60, -0xCA,0x35,0x45,0x9F,0x71,0xDE,0x08,0x8A,0xA2,0xEA,0x24,0x22,0x48,0xD5,0x68,0x61, -0x1B,0xCE,0x56,0x51,0x7D,0x27,0x75,0x1A,0xC1,0x22,0xDC,0x49,0x15,0x20,0xF8,0x47, -0xB6,0xF5,0x91,0xAC,0x39,0x7B,0xDC,0x0F,0x41,0xD1,0xC6,0xB8,0x0C,0x33,0xBD,0x41, -0xCC,0xFD,0x6C,0x9D,0x7F,0xF2,0x14,0xCD,0xC6,0xEA,0xAE,0x07,0xEA,0x45,0x7D,0x82, -0x56,0x8C,0x0B,0x00,0x53,0xF8,0xD1,0x90,0x3A,0x53,0xDD,0x12,0x7E,0x29,0x61,0x33, -0x18,0x1D,0xD6,0xA8,0x02,0x6F,0xA2,0x9C,0xB7,0x25,0xB1,0xBE,0xAD,0x0F,0xB0,0x40, -0x00,0x03,0x5D,0x2D,0xA0,0x71,0x1C,0x90,0xE6,0x3D,0x86,0xE9,0xB6,0x67,0x56,0x39, -0x32,0x1F,0x30,0x25,0x4E,0x47,0xAA,0x3E,0x3D,0xFB,0xAD,0x3B,0x1E,0x6A,0xC0,0xD4, -0x75,0xDE,0x4A,0xA2,0xAD,0x2C,0x22,0x11,0x8F,0x6F,0x28,0x79,0x54,0xBE,0x9F,0x47, -0x08,0xEA,0x16,0x3B,0x6F,0x72,0x0B,0x51,0xEB,0x11,0x12,0x5E,0xA3,0x83,0x02,0x86, -0xDA,0x2E,0xB4,0xFC,0x10,0x2A,0x74,0xEE,0x18,0x61,0x03,0x58,0x82,0x0E,0x1B,0xDB, -0x63,0x05,0xA3,0x25,0x00,0xBB,0x46,0x9D,0x0E,0x0E,0xE2,0x6F,0x6B,0x40,0x98,0xB3, -0xA6,0xF0,0xD3,0x1D,0x8B,0x14,0xC6,0xD7,0x6D,0xDC,0x4E,0x09,0xE3,0xF6,0x1B,0x25, -0xC4,0x0A,0x09,0x6F,0x4B,0xE7,0x4E,0xAB,0xC2,0xD2,0xFB,0x95,0x5C,0xE8,0xA8,0x74, -0x8F,0xE0,0x70,0x44,0x64,0x5F,0x6C,0x4B,0x57,0xA3,0xB4,0x5E,0xEA,0xBF,0x71,0x23, -0x4B,0x7A,0xFA,0xB4,0xB6,0xFD,0xA9,0xBC,0xD5,0xFF,0x58,0x5D,0x9A,0x77,0x1D,0xA3, -0x11,0x77,0xCA,0x3F,0x36,0x25,0xB7,0x9A,0x02,0xF1,0xAA,0xE6,0x9F,0xCE,0x5C,0x64, -0xAC,0x91,0x0F,0x4E,0x6C,0xEC,0xBB,0xA7,0x09,0x84,0x9C,0xA3,0x05,0xD4,0x89,0x71, -0xA2,0x42,0x7E,0x94,0x1E,0x26,0x27,0x01,0x4A,0x43,0x80,0xC2,0xE0,0xB0,0xB1,0x85, -0x6E,0x97,0x39,0x3C,0xB1,0x02,0xE3,0x35,0x9B,0x67,0x99,0xB3,0x52,0x07,0x87,0xE2, -0xB2,0x30,0x2B,0xF5,0x5B,0x17,0x56,0x97,0x8A,0x30,0xCF,0x9F,0x8A,0x42,0x40,0x38, -0xB7,0x90,0x1A,0x8A,0xE8,0x30,0x45,0x28,0x2F,0xDB,0x54,0xC1,0xC9,0x09,0x4E,0x23, -0x95,0xAB,0x3C,0xF8,0xDC,0x6D,0xED,0x3E,0x6C,0x7E,0x49,0x15,0xEE,0x0A,0x49,0x45, -0x16,0x4E,0xB8,0x53,0x6A,0x7D,0x86,0xEF,0x8D,0x58,0x98,0xDF,0x8F,0x3E,0xD1,0x29, -0xC9,0x46,0x40,0xF2,0x92,0x85,0x36,0x0B,0x66,0x9B,0x2F,0x59,0x2B,0x31,0xB6,0x2B, -0x37,0x99,0x34,0xA2,0x4D,0x41,0x39,0xFC,0xD3,0x4D,0xA7,0x77,0x47,0x0C,0xB4,0x34, -0xF9,0xE0,0xA7,0xB8,0x56,0xBC,0x71,0x05,0xBB,0x38,0xDF,0x14,0x23,0x06,0x73,0x3C, -0xAD,0xF5,0xFC,0x5E,0x3E,0xC3,0x92,0xB3,0xAC,0x96,0x6B,0x15,0x46,0xE3,0x91,0x19, -0x11,0x23,0xDC,0x11,0x04,0x03,0x67,0x32,0xE5,0xB5,0x23,0x06,0x9A,0x57,0x25,0x4E, -0x59,0x4E,0xB1,0xA2,0xCF,0x74,0x8A,0x32,0x3C,0x8E,0xD9,0xEB,0x87,0x98,0x46,0x2A, -0x89,0xEE,0x9B,0x43,0x8D,0x6F,0xC0,0xD5,0xB9,0x37,0xCF,0xDD,0xB4,0x7A,0x8B,0x5B, -0x2E,0x0A,0xEB,0x92,0xDE,0xD2,0x3F,0xBC,0x75,0x62,0x29,0x87,0x6C,0x15,0x4C,0x0F, -0x3D,0x2C,0xA0,0x9C,0x70,0xC8,0x35,0xD9,0x80,0xC8,0x75,0xDB,0x1F,0xB8,0xB3,0xCD, -0x2C,0x12,0xC5,0x54,0x00,0x0A,0x97,0xA5,0xB2,0xB8,0x54,0xF2,0x7C,0xFE,0x83,0xBB, -0xDB,0x91,0x8B,0x49,0xCE,0x2A,0x4E,0x1C,0xFF,0x93,0xD0,0x4F,0x68,0xC4,0xDE,0xAB, -0x01,0xC2,0xD9,0xB0,0x08,0xBF,0x3F,0xA3,0xE0,0xED,0x61,0x60,0xAD,0x16,0x4F,0x7B, -0x69,0xEA,0x57,0xFB,0x6B,0x88,0x36,0xB0,0xD0,0x22,0x7F,0x8F,0xFF,0x0E,0x27,0x4A, -0x4B,0x31,0xA9,0x6E,0x1F,0xA0,0x09,0x34,0xC4,0xB6,0xFC,0xBC,0xEB,0xC2,0x57,0x3A, -0x27,0x49,0x32,0x26,0x7F,0xD3,0x7F,0xDC,0xB9,0x35,0xF6,0x2D,0x75,0x58,0x23,0xBC, -0x8D,0x1A,0x86,0xCF,0x67,0x1C,0x4C,0xD2,0xD7,0x5B,0x7C,0xC5,0x20,0x06,0xAB,0xF3, -0x00,0xB0,0xC0,0xCA,0x98,0x0D,0x53,0x28,0xBA,0x5A,0x24,0xE7,0xE9,0xD4,0x40,0x3D, -0x64,0xC8,0xF6,0x8E,0x61,0xA3,0x4D,0xDB,0x6C,0x93,0x49,0xB2,0x85,0x3C,0x06,0xDA, -0xB0,0x3C,0x96,0xD6,0xC6,0x26,0xC7,0x25,0x34,0xC9,0x22,0x71,0x79,0x7B,0xC6,0x31, -0xE6,0x5B,0xB1,0x2F,0x7A,0xF5,0x76,0xB3,0xEC,0xE0,0xE9,0xFF,0xA9,0xCA,0xA2,0x1A, -0xB1,0xFD,0x4C,0x75,0xF9,0xBA,0x3A,0xC9,0x4E,0xB8,0x51,0xE8,0x89,0x81,0x1D,0x5C, -0x4E,0x4E,0x48,0x93,0x7D,0xEC,0xF5,0x1A,0xFB,0xD1,0xB5,0x96,0x50,0x6D,0xA9,0x73, -0xF8,0x85,0x8C,0x91,0x8C,0x40,0x69,0x90,0x6C,0x57,0x1A,0x20,0x59,0xA8,0x6D,0xED, -0xDA,0x9C,0x94,0xF4,0x7F,0x92,0x02,0xD5,0x12,0x03,0xE2,0x01,0x09,0xA2,0x3F,0xB5, -0xBE,0xB0,0x5A,0xF5,0xCF,0x8E,0x12,0xFA,0xE9,0xE1,0x28,0xE3,0xB5,0xAC,0xD2,0x31, -0x79,0x54,0x9E,0xBC,0xD2,0x56,0x8F,0x6C,0xB5,0x6A,0xF3,0x7C,0x2E,0x45,0x86,0x6E, -0xC0,0x87,0x34,0x12,0x15,0xA4,0xCF,0xC7,0x39,0x7F,0x2B,0x26,0x82,0x1F,0xC4,0xF8, -0x07,0x51,0xF4,0x55,0xBC,0x5A,0x61,0x65,0x8B,0xAE,0x3E,0xEA,0xF8,0xB9,0xEB,0x04, -0x04,0x59,0x7E,0xB8,0x72,0x47,0x6F,0x9B,0xB9,0x1A,0x63,0xB3,0x50,0x9B,0x14,0x03, -0x09,0x41,0x04,0xBE,0x8F,0x97,0x48,0x01,0x7A,0x58,0x0C,0x66,0x33,0x60,0x8F,0x2F, -0x4C,0xE5,0x5F,0xA1,0x41,0xC1,0xCC,0xD5,0xC0,0xB9,0x19,0x38,0xB9,0xBC,0xAC,0xE3, -0x02,0x83,0x46,0x60,0x37,0xA9,0x35,0x49,0x5A,0x42,0x4F,0x30,0x2E,0x39,0x7F,0xDE, -0x08,0xD8,0x16,0x6F,0x9D,0xD1,0x44,0xA3,0xB7,0x97,0xB2,0xB6,0x2D,0xF7,0x87,0x72, -0x30,0x57,0x14,0xBF,0xFB,0x96,0xD0,0x34,0xEF,0x01,0x73,0x5A,0x0E,0x18,0x84,0x07, -0x3F,0xD7,0x31,0xCF,0xB4,0x21,0x69,0x25,0xE5,0xD8,0x8B,0x66,0x4F,0xC7,0xD6,0x4A, -0x17,0xB0,0x1C,0x33,0xBC,0x5C,0x31,0x31,0x77,0xF0,0xE7,0x56,0x1A,0x2F,0x31,0x30, -0x8F,0x55,0x42,0xC8,0x43,0xA5,0xA0,0xF5,0x3D,0x92,0xCB,0x88,0xC3,0x91,0x62,0x16, -0x8C,0xA8,0x71,0xC3,0xEE,0x36,0xD4,0x4C,0x11,0x47,0xFB,0x8B,0xC5,0xE0,0x47,0x9E, -0xDC,0x46,0x1F,0x1A,0xDB,0xC6,0x81,0xEB,0xF2,0xFA,0x77,0x3D,0x25,0x1E,0x97,0x36, -0x72,0x31,0x97,0x53,0xE6,0x6E,0x57,0x2D,0xC4,0x80,0x53,0x8C,0x70,0x62,0x6E,0x31, -0xEF,0x70,0x05,0x6E,0x4A,0xFF,0x86,0x59,0x0A,0x8F,0xB7,0x15,0x99,0x1B,0x04,0xEA, -0xE1,0x85,0x2D,0xAD,0xA5,0x7E,0x36,0xBE,0x58,0xE2,0xAE,0x72,0xC7,0x94,0x02,0x45, -0x2D,0xE6,0x6B,0xC7,0xF4,0x99,0x43,0x3B,0xF7,0x2B,0xAF,0xC3,0x46,0xE5,0x3A,0x27, -0x55,0xDC,0x40,0x85,0xCC,0x44,0x64,0x21,0x18,0x84,0x9D,0x9D,0x9D,0x78,0x9C,0x60, -0x86,0xF6,0x70,0xCC,0x3E,0x9F,0x30,0x4A,0xD1,0xD8,0xED,0x1A,0x1F,0x9E,0xFE,0xD7, -0x46,0xD9,0x0C,0xC5,0xB8,0x41,0xA3,0xB5,0x3E,0x9B,0xEA,0xB5,0x10,0x35,0x38,0xE2, -0xC9,0x7B,0x14,0xDF,0x64,0xEB,0x1C,0xBE,0x62,0xCF,0x6C,0x42,0xF8,0xDD,0xCD,0x52, -0x52,0x20,0xCE,0x49,0xB6,0x4A,0xEE,0xC0,0x8C,0x76,0xAB,0x5C,0x84,0x7D,0xBB,0xA0, -0xD8,0xD0,0x58,0x61,0x81,0xBB,0xB3,0x8F,0xD8,0x3B,0x0F,0xE9,0xE7,0x48,0xE6,0x70, -0x80,0x29,0xF6,0xF5,0x20,0x3B,0xE0,0xF9,0xCE,0xC9,0x20,0xC0,0x9A,0x76,0x45,0x77, -0x85,0x8D,0xF3,0x01,0x9D,0xFD,0x86,0x42,0xA6,0x9B,0x87,0xF8,0x96,0x37,0x1A,0xD9, -0xA6,0xED,0x94,0x4E,0x13,0xD6,0x4B,0x00,0x31,0xC1,0x10,0x72,0x22,0xB3,0x4E,0x2F, -0x67,0x78,0xA5,0xBB,0xFF,0x5F,0xB0,0x58,0x65,0x8E,0x82,0xCD,0x5F,0x25,0x11,0x1F, -0x42,0x57,0x83,0x15,0x2F,0xBD,0xAC,0x9B,0x62,0xEA,0xF0,0x22,0x6C,0x95,0x2E,0x7D, -0xF1,0x7D,0x3A,0x8F,0x99,0x83,0x1F,0x89,0xFC,0x6A,0xB6,0x1B,0x2F,0xF2,0x28,0xDB, -0xFA,0x65,0x6A,0x33,0x41,0x70,0xE7,0x36,0x0D,0x73,0xDF,0x9F,0x4A,0x1D,0x0B,0xF7, -0x6A,0x57,0xA8,0x59,0x20,0x84,0xC8,0x39,0x36,0xBC,0x05,0x76,0x02,0x8A,0x88,0x3C, -0x0B,0x40,0xE8,0xA9,0xA9,0x50,0x32,0x0E,0x1F,0xBE,0x93,0x4E,0xEE,0x38,0x27,0xB2, -0x34,0x98,0x35,0xBB,0xA9,0x32,0xE1,0xBC,0x8B,0x83,0x65,0x2C,0xEC,0x4D,0x7E,0x7A, -0xCE,0x26,0x7D,0xA9,0xF1,0x5E,0xB7,0xB2,0xF2,0x30,0x5B,0x39,0x08,0x12,0x18,0x69, -0x90,0x56,0xFC,0xF3,0x15,0xB4,0xF5,0xE6,0xD2,0xF0,0x5D,0x93,0xEB,0xEE,0x2C,0xF1, -0x9C,0xBC,0x80,0xEC,0x50,0xA1,0x8B,0x2A,0x7B,0x41,0xCC,0x68,0xF0,0xCD,0x08,0x2F, -0xF9,0x9E,0x1F,0x9B,0x2E,0xD5,0xED,0xC2,0x59,0x0B,0x71,0x1A,0xB0,0xE4,0xCD,0x33, -0x66,0x56,0xFF,0x95,0xBD,0xF4,0x07,0xB3,0x79,0x5B,0x31,0x27,0xB1,0xAA,0x35,0xB6, -0x14,0xCB,0x73,0xFA,0xAD,0x9A,0x3F,0xB6,0x79,0x7B,0x33,0x6D,0xB6,0xC5,0xC3,0x01, -0xD7,0x9E,0x7C,0x39,0xA9,0x68,0x0B,0xA5,0x14,0x4D,0x43,0xC1,0xBA,0x13,0x22,0xA7, -0x3A,0x93,0xCA,0xC6,0xEA,0xA7,0xBB,0x46,0xD3,0x45,0xE8,0x19,0xEF,0xDE,0xF9,0xA7, -0xDE,0xB0,0x37,0x3E,0xCB,0xD3,0xBA,0xDA,0x0F,0xE3,0x07,0xCB,0x09,0xF7,0x68,0x61, -0xCF,0x2A,0x69,0x41,0xEC,0x5E,0x4A,0x85,0x77,0x2E,0xD5,0x6C,0x77,0xAF,0xB7,0xA3, -0xF5,0x51,0x29,0xC4,0x80,0x63,0x00,0xE9,0xDF,0x23,0xA8,0xDD,0x97,0xF1,0x41,0x03, -0x70,0xAE,0x94,0xA3,0x4B,0xB7,0x20,0xA9,0x7C,0x68,0xEF,0xB0,0x0E,0x9A,0xF2,0x31, -0x5B,0x5B,0x73,0xD8,0x25,0xBA,0xF7,0x33,0xFD,0x05,0xDD,0x4A,0x7E,0xAC,0x9D,0x68, -0x6C,0xD8,0x20,0x50,0xE9,0xD2,0x2E,0xFA,0x56,0xA6,0xC5,0xF5,0xD2,0xB2,0x96,0xB0, -0x00,0x8D,0xEB,0xBC,0xCC,0xF4,0xFC,0x8D,0x5B,0x85,0x8B,0x52,0x3C,0x25,0x59,0x84, -0x73,0xD5,0xD8,0x0E,0x7C,0x98,0x23,0x9E,0xE6,0x09,0x11,0x36,0xF8,0x2F,0xF6,0xEF, -0x1B,0x1E,0x3E,0x62,0x51,0xEE,0x48,0xB4,0xC4,0x0A,0x6B,0x2F,0x40,0xA6,0x52,0x5E, -0x01,0x5F,0xCA,0xBE,0xA7,0xFD,0x4D,0x27,0xA5,0x3A,0xC6,0xCB,0x00,0xFA,0x7D,0x73, -0xF9,0x6E,0xC4,0x39,0xC5,0x08,0x57,0x2E,0xC2,0xB4,0x17,0x41,0xC3,0x03,0xB7,0x06, -0xD9,0x90,0x09,0x72,0x48,0xFF,0x8B,0xAC,0x17,0x1D,0x2D,0xCF,0x6B,0x87,0x06,0x3E, -0xD0,0xD0,0xF8,0x53,0x22,0xC2,0x54,0x0E,0x4C,0x92,0x84,0x61,0x72,0xF0,0xE0,0xC1, -0x10,0x5D,0xF5,0xCC,0xAC,0x7E,0xFF,0x98,0x8E,0x69,0x30,0xA5,0x3F,0xB8,0x2E,0x1F, -0xBC,0x3F,0x7D,0x0A,0xD9,0x5A,0xFA,0xE0,0xDA,0x8C,0xA9,0x63,0x7C,0x1C,0xF8,0x71, -0xA7,0x9B,0x90,0x41,0xC7,0x8A,0xC8,0xCE,0x72,0x89,0x4B,0xF5,0x24,0x0A,0xA1,0x4C, -0x02,0x80,0x73,0x37,0xC8,0xDB,0x6A,0x96,0xF7,0x17,0x24,0xBB,0xB7,0x61,0xBA,0x9F, -0x7A,0xCA,0xEC,0x49,0x8F,0xD1,0x34,0x15,0x04,0x77,0xEA,0xE2,0xFD,0x9C,0xDD,0x29, -0xF2,0x7C,0x07,0x9C,0xB0,0xEC,0xF6,0x4E,0x06,0x11,0x14,0x4F,0x6B,0x58,0xA6,0x49, -0x45,0xCB,0x59,0x56,0xB7,0xE3,0xA0,0x1C,0x13,0x8F,0xCB,0x47,0x0A,0xA0,0xC1,0xFB, -0x94,0x4F,0xFC,0x9B,0x9F,0xD7,0x5D,0xC0,0x7A,0x89,0x48,0x23,0x3E,0xB0,0xE9,0x01, -0x89,0x9A,0xC5,0x05,0x8D,0xD4,0x7A,0x4B,0x9B,0x7D,0x6A,0x69,0x56,0xED,0x7A,0xC4, -0x12,0xF1,0x63,0x44,0x37,0x9F,0x58,0x88,0xFE,0xD9,0x6F,0xFB,0xD1,0xCA,0x75,0xEC, -0x44,0xCA,0x2D,0xF4,0xC9,0xDA,0xD4,0x39,0xBC,0x74,0xB3,0x39,0xC1,0xDF,0x62,0xAC, -0x5D,0x3D,0x7F,0xA6,0x54,0x6D,0x34,0x88,0x8D,0xDC,0x7F,0x5E,0xD5,0xFB,0xBD,0x7A, -0x41,0x5A,0xC2,0x36,0x0A,0x09,0xBC,0x01,0xC8,0x3D,0x71,0x40,0x06,0x31,0x46,0x9A, -0x77,0xCE,0x03,0xE8,0x45,0x13,0x1F,0xCD,0x56,0x27,0xCC,0x50,0x15,0xF8,0x7F,0x4D, -0x85,0x77,0xC8,0x67,0x26,0xAA,0xCE,0x54,0x18,0x6D,0x96,0xEB,0x24,0x20,0x2A,0x93, -0x69,0x01,0x75,0xFA,0x98,0x62,0x1F,0x8F,0x65,0xC2,0x52,0x09,0xE1,0x82,0xDB,0x36, -0x26,0xCA,0x35,0x24,0xE4,0x35,0xBD,0x79,0xBD,0x6A,0x19,0xDE,0xD0,0x3A,0x28,0x3A, -0x93,0x57,0x18,0x12,0xDA,0x2B,0x1F,0x03,0xB4,0x02,0x7B,0x09,0x26,0xC9,0x5D,0xE8, -0x3F,0x39,0xD4,0xAD,0xA8,0x9D,0xF8,0xF4,0x15,0x1C,0xBE,0x13,0x07,0x66,0x25,0x0C, -0x68,0x2F,0x16,0xD4,0xFB,0x0B,0xA0,0x40,0x9A,0x01,0x9B,0xCA,0x23,0xDC,0xBA,0x61, -0x99,0xD9,0xA5,0xB0,0xB6,0x81,0x61,0xA9,0x87,0x88,0xAE,0xC5,0x7E,0x78,0x7F,0xCB, -0x2E,0xF0,0x28,0x25,0xD2,0x56,0x10,0x6C,0xF5,0x21,0xE4,0xBC,0x9B,0x54,0x75,0xE0, -0xE8,0x02,0x6F,0xB3,0xA3,0x53,0x40,0x9F,0xED,0x28,0xA5,0x67,0xDD,0xF3,0x09,0xED, -0x4C,0x37,0x8E,0xCA,0x0F,0x55,0x06,0xFC,0x7D,0xD8,0x4D,0xBD,0x79,0x3E,0xA2,0xE2, -0x97,0x88,0x0C,0x4A,0x7E,0x86,0x0D,0x4B,0x09,0xD9,0xAB,0xB5,0xDA,0x4E,0xA1,0x9E, -0x38,0x34,0x41,0xC5,0xD4,0x1A,0x12,0x7E,0xB2,0xE4,0x0E,0xC1,0xFD,0xBF,0x3B,0xE7, -0x92,0x17,0xBE,0x35,0xDC,0x95,0x27,0x0E,0x86,0x8E,0xE6,0xB0,0xE4,0x39,0x8C,0xBB, -0x2C,0xC8,0x20,0x63,0x64,0x3C,0x30,0x46,0x28,0x32,0xC8,0xE7,0xF2,0x64,0xED,0x57, -0xBD,0xF4,0xB5,0xF4,0xE1,0xA1,0xE1,0x8D,0x0A,0x78,0xB1,0x28,0xBB,0x80,0xBB,0xCC, -0x4A,0x26,0x21,0x3C,0x2D,0xFE,0x34,0x43,0xE8,0xAA,0x36,0x34,0x2B,0x7C,0x67,0x43, -0xAD,0xC9,0x3E,0x10,0x14,0x32,0x43,0xDB,0xA4,0xC0,0x47,0x36,0x09,0x7D,0x97,0x20, -0x76,0xD7,0xEB,0xE9,0x6F,0x5C,0xE9,0x01,0x1E,0xAE,0x42,0xA2,0xC9,0x18,0xEE,0x73, -0x8F,0x76,0x8F,0xB8,0xAC,0xC4,0x2A,0xBB,0x01,0x43,0xFC,0xAA,0x07,0x34,0xEA,0x0E, -0x15,0x20,0xA7,0x0E,0x16,0x0F,0x00,0x82,0xD9,0x42,0xCD,0x9B,0x04,0xA4,0xB6,0x93, -0xE5,0x64,0x6F,0x41,0x35,0x5F,0xD1,0x27,0xB8,0xD4,0x33,0xFF,0x8C,0x28,0x8C,0x30, -0x49,0xB6,0x75,0xF7,0x74,0xC7,0xE5,0xAB,0xDC,0x9C,0x16,0x4D,0xD6,0xE0,0x78,0x7C, -0x27,0xA1,0x7B,0x28,0x7F,0xB5,0xE8,0xE4,0xB4,0xAA,0x79,0xFD,0x12,0xE2,0xBB,0x2D, -0x74,0xA9,0xE1,0x3F,0xF5,0xE9,0xD4,0x17,0x8E,0x4E,0x0D,0x7A,0xAD,0x3B,0xBD,0x9B, -0xBB,0xA0,0xBE,0x6D,0x2E,0x04,0x15,0xD6,0xBC,0x7F,0xC0,0xF8,0x9F,0x90,0xE7,0xAA, -0x67,0xAD,0xA1,0xEA,0xA4,0x43,0x99,0x5A,0x87,0x8E,0x3D,0x90,0xD6,0x8E,0xF8,0x7D, -0x8D,0x8E,0xFA,0x71,0xF8,0x1D,0x1E,0x3B,0xF1,0xA4,0xC1,0xE2,0x93,0x88,0x4B,0x80, -0x06,0xF2,0xFC,0xC2,0xD1,0x2A,0xD1,0xE3,0xF9,0x41,0x37,0x1C,0x67,0xA2,0xD9,0xE8, -0x72,0xA7,0x94,0x24,0xF6,0x4F,0x54,0x5F,0x96,0x44,0x1E,0xA4,0x99,0x1F,0xB6,0x5F, -0x57,0x82,0xE2,0x06,0x37,0xB9,0xAC,0xCA,0x01,0xCE,0x59,0x88,0x08,0xD6,0x99,0xD2, -0xA3,0xC0,0x73,0xB5,0x73,0x29,0x3C,0xF8,0x26,0x7C,0xCE,0x53,0x9C,0x0C,0x24,0x34, -0xE1,0x39,0xDA,0xA2,0x34,0xE7,0x05,0x6A,0xE3,0x00,0x9E,0xAD,0x75,0xB6,0x26,0xC2, -0x83,0x19,0x3A,0x26,0x59,0xD8,0x69,0x6C,0x76,0xA8,0xEB,0x7F,0x96,0x40,0x92,0x0F, -0x8C,0xB5,0x39,0x2B,0x7D,0xB4,0x42,0xDD,0x81,0xBB,0xF6,0x0B,0xB7,0x51,0xF0,0xF3, -0x05,0x95,0xF3,0xE3,0x6A,0x75,0xE3,0x29,0xB4,0x27,0x60,0xF7,0x84,0xC3,0xDB,0x66, -0x50,0xFD,0x0B,0x08,0x66,0x22,0x2C,0xD9,0x55,0xAE,0x21,0xFA,0xA5,0x65,0xDA,0xED, -0x6E,0x4E,0x50,0x58,0xD4,0x91,0xF4,0x32,0xB7,0xE2,0x46,0xA9,0x51,0x23,0x3E,0x85, -0xE1,0xE6,0x85,0x59,0xC7,0x4F,0xD7,0x06,0xDA,0x49,0x6A,0x08,0x15,0x9E,0xD4,0x3D, -0x7B,0xD6,0x3A,0x86,0x88,0x45,0x02,0xD2,0x6C,0x0A,0x19,0x2E,0x1F,0xF2,0xC3,0xA0, -0xB7,0xA0,0x6E,0x37,0x34,0xC6,0x94,0xED,0x02,0xA2,0x31,0x13,0x1B,0xD0,0x65,0xB7, -0xAF,0xF2,0xDE,0xC0,0x1E,0xD8,0xD0,0x4F,0x49,0xDC,0x06,0xEA,0xAE,0xB8,0x35,0x87, -0xC2,0x25,0x90,0xAE,0x68,0x9B,0x92,0x8A,0x83,0xFF,0x9F,0x57,0x09,0x09,0x51,0x6F, -0x85,0xE7,0xD0,0xA0,0x5B,0xF0,0x74,0xC2,0x55,0xE5,0x1A,0x96,0x08,0xDD,0x79,0x28, -0x6D,0x6E,0xFF,0xEA,0xC7,0x9D,0x10,0xBC,0x3A,0x97,0xB4,0x57,0x3F,0xB9,0xC4,0x63, -0xBF,0x7C,0x01,0x36,0x27,0xC5,0x62,0xBF,0xBE,0xE1,0xA5,0x4F,0x27,0x34,0x11,0xBF, -0xC3,0x83,0x7D,0x2D,0xC3,0x76,0x91,0x7C,0xBF,0x1F,0xD6,0xDE,0xF9,0x30,0xB5,0x56, -0x21,0x5D,0x80,0xB7,0x4D,0x60,0x65,0x54,0xCE,0xE7,0xCD,0xF1,0x88,0xE0,0x13,0xD0, -0xEE,0x2A,0x3A,0x9C,0x30,0x9A,0x58,0x0D,0x55,0x21,0xBA,0x27,0x34,0xA8,0x12,0x16, -0x5A,0x66,0x77,0x83,0x66,0xD2,0xDC,0x71,0x58,0xA3,0x7A,0xAD,0x2B,0x14,0x15,0x33, -0x7D,0xCF,0xAD,0xA1,0xC4,0x69,0x44,0x49,0xCB,0x42,0x93,0x86,0xD2,0x62,0x72,0x2B, -0x47,0x46,0xB2,0x18,0x91,0xED,0x4F,0x08,0x0A,0x02,0xB3,0xD2,0xFE,0x95,0x03,0xBF, -0x01,0x96,0x6B,0xF0,0x73,0xCC,0xA2,0x32,0xF0,0x93,0x71,0xC0,0x94,0x84,0x81,0xF4, -0xAC,0x5C,0x05,0xA5,0x24,0x90,0x4F,0xD6,0x05,0xFA,0x6B,0xDA,0x1B,0x97,0xEF,0x84, -0x05,0x7D,0x7F,0x69,0x72,0xA0,0xA4,0xB8,0xD8,0x43,0x78,0xB7,0xE1,0xF5,0xD4,0x70, -0xD9,0xDC,0x9B,0x44,0xF9,0xB5,0x2A,0xF8,0xAF,0xB9,0x2E,0x81,0xE3,0xB0,0xB6,0xBC, -0x22,0x90,0x0B,0x26,0x12,0xDA,0xA8,0x48,0x40,0x56,0xFE,0x43,0x0E,0xBD,0x78,0xF3, -0x00,0x75,0x80,0x29,0x58,0x87,0x8E,0x58,0x96,0x69,0xE3,0x5E,0xE8,0xBE,0xD3,0xE6, -0x7E,0x1F,0x17,0xC7,0xD1,0x32,0x56,0x4D,0x57,0x89,0x98,0x2E,0x27,0x86,0x8A,0x3E, -0xA1,0x4F,0x93,0x4B,0x0E,0xCA,0x3F,0xEA,0x91,0x62,0x2F,0x27,0x0B,0x89,0x6A,0x12, -0x4E,0xD8,0x76,0xC8,0x20,0x0B,0xC9,0xED,0x33,0xF0,0x68,0xFD,0x32,0xB1,0xCE,0x01, -0x80,0x17,0x73,0x12,0x81,0xF6,0x91,0x2F,0x8A,0xF1,0x10,0x6F,0x6E,0xBB,0x8A,0x53, -0x11,0x78,0xCB,0x17,0x45,0xA3,0xEB,0xD6,0x2E,0xC7,0xF9,0x1B,0xFC,0x41,0x9E,0xF7, -0xD4,0xCE,0xA6,0x74,0x4E,0x0C,0x62,0x54,0x37,0x61,0x55,0x94,0x1D,0xF7,0x7A,0x1D, -0x38,0x60,0x88,0xF1,0x2D,0xE8,0x8E,0x33,0x8F,0x6A,0x03,0x44,0xF4,0x08,0x57,0xE3, -0x73,0xC3,0x64,0xBE,0xE2,0x50,0xAC,0x3F,0x9F,0x69,0x4C,0xF7,0x73,0x5F,0xD7,0xAF, -0xA6,0x16,0x78,0x2E,0xF8,0x92,0xBD,0x90,0xC9,0x87,0x1D,0x7D,0xEF,0x79,0x2B,0x67, -0xFC,0x69,0x60,0xF5,0xA7,0x4A,0xDB,0x4F,0xBF,0xB9,0xEF,0x79,0x5E,0xC0,0xDB,0x40, -0x15,0xC4,0x53,0xDE,0x31,0x91,0x75,0x1C,0xB0,0x20,0x37,0xB4,0xEC,0x07,0xA4,0x31, -0x1B,0xB0,0xB7,0x97,0xE3,0x5B,0x4D,0x62,0x2E,0x43,0x2B,0x66,0xCC,0x63,0x50,0xAA, -0x64,0x71,0x60,0x9C,0xD3,0xD5,0x79,0xD8,0x12,0x74,0x52,0x03,0xEC,0x70,0x02,0xA9, -0x8C,0xD1,0xB2,0xE1,0x6D,0x53,0x15,0xA2,0x68,0xB0,0xF8,0xC2,0x22,0xFF,0xA6,0x75, -0x27,0x4B,0x69,0x44,0x62,0x54,0x60,0xDC,0xC5,0xAC,0x26,0xEE,0xDB,0x3F,0x75,0xFF, -0xC1,0x93,0xF4,0xBC,0x93,0x24,0xEB,0xF1,0xA6,0xE8,0xFD,0xDC,0x79,0xEC,0x68,0xEE, -0x8E,0x8D,0x27,0xCD,0xAE,0x3E,0xDD,0x3F,0x2F,0x5E,0x44,0x46,0x40,0x3C,0xB1,0xD5, -0xCF,0x63,0x78,0x06,0x8C,0x99,0xD0,0x3F,0x75,0xE4,0x82,0x12,0x8D,0x39,0x20,0x42, -0xF1,0xA2,0xD2,0x1F,0x2B,0xB6,0x61,0x99,0xBC,0x81,0x02,0x42,0x3C,0x61,0x02,0xB2, -0xC4,0x8A,0xA3,0xC9,0x23,0x12,0xE2,0x5A,0xCA,0x32,0xF3,0x85,0x8F,0xEB,0x43,0xB8, -0xA7,0x59,0xFB,0xFA,0x53,0xCE,0xD5,0x9A,0xF0,0x72,0x7F,0x32,0x07,0x65,0xCC,0xDB, -0x59,0x5E,0x47,0xF9,0x43,0x42,0x96,0x86,0x3F,0x92,0x8F,0x2A,0xDF,0x35,0x0E,0xF5, -0x28,0x0F,0x33,0x6B,0x13,0x72,0x91,0xAF,0x47,0x43,0x1C,0xB6,0xF8,0x36,0x3D,0xDE, -0x96,0x0B,0x88,0x2C,0xEE,0x5E,0x2F,0x6C,0xF1,0xB2,0xE5,0xF0,0x65,0xAE,0x61,0xE1, -0x5C,0x82,0xBC,0x83,0x0D,0x16,0xB5,0x48,0xE8,0x0A,0x20,0xE4,0x05,0x94,0x7C,0xEA, -0x2D,0x4B,0xA8,0x90,0xCD,0x17,0x95,0x78,0x09,0xC8,0xC7,0x33,0xE3,0x58,0xFB,0xFA, -0xA2,0x23,0xB1,0x40,0xAC,0x0E,0x84,0xE1,0x3B,0xF6,0x46,0x15,0xF8,0x56,0x3B,0x22, -0xDB,0x11,0x40,0x30,0xCE,0xEA,0x75,0x7B,0xD8,0x31,0xD7,0x40,0x9F,0xCB,0x15,0xB5, -0x5D,0xBF,0x7D,0xD5,0xFA,0xC8,0xDC,0x39,0x69,0xD5,0x6C,0x45,0xBD,0x40,0x6E,0xBA, -0x74,0xFF,0x66,0x0F,0x05,0x75,0xDA,0x73,0x4B,0x38,0x18,0xD8,0xF3,0x25,0xB1,0x6D, -0x57,0xCA,0xE1,0x74,0x33,0xE4,0x42,0x7D,0x74,0x9F,0x0D,0x69,0x0C,0x29,0x6B,0xB1, -0xAB,0x96,0x21,0x2C,0xEC,0xE2,0xFF,0xBD,0x2B,0xA5,0xE7,0x4B,0x78,0x77,0x14,0x41, -0x67,0x09,0x37,0x42,0x31,0x51,0xCE,0xD3,0x8F,0x19,0x1E,0x16,0xFB,0x83,0xF5,0xA6, -0xAA,0x0F,0x85,0x23,0x15,0xFA,0x5F,0x05,0x53,0x55,0xD1,0x5C,0xC3,0x6E,0xD7,0xFB, -0x7C,0x65,0x8B,0x72,0x16,0x8A,0x7F,0x34,0x59,0xE5,0x23,0x9A,0x04,0xAD,0x8E,0xE9, -0x13,0xC0,0x96,0xAE,0x4B,0x88,0x8D,0x81,0xD0,0x8D,0x4D,0x97,0xC2,0xDF,0x7A,0x32, -0x4B,0xE8,0xCB,0x43,0xA4,0x0F,0xBF,0xA3,0x6E,0xE4,0x3A,0xE1,0x8B,0x48,0xF6,0xDC, -0x2C,0x9F,0x33,0xFF,0x74,0x49,0x7F,0x17,0xA1,0x0C,0x04,0x83,0x4F,0xFB,0x14,0x83, -0x9C,0xF8,0xFB,0x77,0x99,0x3B,0xD0,0x5C,0xE8,0x6E,0xE6,0x3D,0xB0,0xDE,0x7B,0xE3, -0x0A,0xD1,0xB2,0x88,0xD2,0xA9,0xE4,0x23,0x09,0x10,0x6F,0x67,0x81,0x1F,0xFB,0xF7, -0xF4,0x76,0x58,0xAB,0xD9,0xDC,0xBC,0xEA,0x31,0x2D,0x8B,0x9B,0xA1,0x8D,0x3C,0x30, -0x81,0x20,0x7A,0x41,0x6A,0x2A,0x1C,0x4B,0x42,0x62,0xE9,0xEE,0x2D,0xB2,0xCA,0xB8, -0x33,0x17,0x62,0x20,0xBA,0xBC,0x5E,0xFD,0x9D,0x78,0x3D,0xC1,0x47,0xD3,0x1D,0x41, -0xA4,0xB1,0x8F,0xCE,0x4C,0x66,0x66,0xEC,0x5D,0xF5,0xC9,0x58,0x33,0x43,0xA5,0x6F, -0x0A,0x45,0x72,0xCD,0x32,0x12,0x29,0x2D,0x4A,0x84,0x3D,0x02,0x34,0xEB,0xAB,0x20, -0xFB,0x5D,0x45,0x1A,0xFB,0x98,0xA0,0x60,0x3C,0xAD,0x08,0x85,0xC9,0x4F,0xE2,0x2A, -0x7B,0x6D,0xE2,0x29,0x55,0xC0,0x4D,0xF2,0xF0,0x4B,0x36,0x92,0xA0,0x60,0xF2,0x78, -0xBD,0x07,0x0F,0xF3,0xE7,0xC5,0x74,0xDB,0xB7,0x0D,0x77,0x67,0x5E,0xC7,0xAB,0x0F, -0x04,0xD6,0x63,0xD6,0xDE,0x15,0x46,0x91,0x27,0x0C,0x38,0xB5,0x09,0xDD,0xB2,0xB2, -0xDF,0xA4,0x74,0xAC,0x2D,0xC6,0x67,0x34,0x1E,0x3E,0xDE,0x05,0x87,0xAD,0x77,0x16, -0x01,0xCD,0x98,0xCF,0x33,0x06,0x69,0xE1,0x9B,0x51,0x75,0x7B,0xE4,0xAA,0x1C,0xC4, -0xAB,0x07,0x0A,0x20,0x8F,0x89,0x9B,0x6E,0x64,0x07,0x9D,0x24,0xEC,0x2C,0xA5,0xEB, -0x2E,0x7F,0x76,0xDD,0x15,0x32,0x82,0xAE,0x0B,0x97,0x22,0x03,0xD6,0x13,0x93,0xE4, -0xBF,0xE6,0x1F,0x04,0x79,0xAF,0xFB,0x7B,0xF7,0x2D,0x5B,0xFC,0x4A,0xF7,0x0B,0x92, -0x3E,0x65,0xC9,0x1A,0xC8,0xA1,0xBF,0x6D,0x6E,0xD7,0xD4,0xE2,0x88,0xEE,0x36,0xD2, -0xD9,0x4D,0x4D,0xBE,0x77,0x6D,0x87,0xE5,0x70,0x46,0xA5,0xEE,0x03,0xEF,0xF2,0x43, -0x1C,0x98,0x0D,0x2E,0xB2,0x57,0xB8,0xA5,0x74,0x06,0x6F,0x92,0xB2,0xA7,0x6D,0x63, -0xE5,0xE0,0x4C,0x67,0x8D,0xCF,0x3B,0xBC,0xB5,0xD8,0xD1,0x59,0x96,0x8B,0x4B,0x8F, -0x76,0xDC,0xA1,0x8B,0xE7,0xCC,0xCC,0xFC,0xA8,0xD5,0xA0,0xA2,0x2A,0xBB,0x02,0x9A, -0x86,0x93,0x15,0x22,0x46,0x9C,0x92,0x18,0xDF,0x6D,0x5E,0xD6,0x0A,0x37,0x5D,0xE2, -0xB4,0x07,0x5E,0x8C,0x5B,0x26,0x60,0x67,0xF7,0xAA,0xEA,0xA2,0x69,0x71,0x28,0xDB, -0xDA,0xD6,0x80,0x90,0x11,0x54,0x99,0x95,0x37,0xD0,0x85,0xB2,0x5F,0x73,0x7B,0x56, -0x28,0x09,0xF0,0x47,0x30,0x97,0x4B,0x54,0x5D,0xAA,0x53,0x34,0x7C,0x03,0x03,0xBB, -0xE7,0x7D,0x0B,0x93,0x47,0x7A,0x84,0x73,0x3C,0x8D,0x9E,0x35,0xEA,0xA8,0x6E,0xFE, -0x1E,0x0B,0x2B,0x2E,0x94,0x8E,0xC3,0x6B,0x3A,0xD1,0x52,0xCD,0xE0,0x1B,0x39,0x99, -0xF4,0x8F,0x61,0x9F,0x56,0xD0,0x53,0xFB,0xA1,0x3F,0xAE,0xC0,0xAC,0x1D,0xDE,0xA0, -0xE1,0xF2,0xD0,0x6D,0x59,0xDC,0x5C,0xA9,0x53,0x66,0x8D,0xE3,0x11,0x8C,0xF3,0xF9, -0x95,0xA5,0x26,0xC3,0xDF,0xB9,0x6B,0xFF,0xF8,0x1B,0xA4,0xEE,0xD4,0x31,0x14,0x9E, -0x30,0x54,0x7A,0x8A,0xF8,0xBA,0x4A,0xE3,0x3D,0x1F,0x5D,0xF5,0x47,0x9F,0xDE,0x61, -0xC4,0x3F,0xA3,0x4D,0xC3,0x2A,0x8E,0x9D,0xEC,0x8E,0xCA,0xFD,0x74,0x45,0xBB,0x03, -0x10,0xFB,0x4D,0xB2,0xA7,0x4B,0xE3,0xEE,0xEC,0x80,0x78,0x35,0x35,0xD3,0x5D,0xFB, -0x72,0x12,0x17,0x05,0xBD,0x74,0x6D,0x56,0xC2,0x74,0x0D,0x16,0x60,0x25,0x7E,0x62, -0x96,0x4E,0x5E,0x8F,0x98,0xE6,0x6E,0xD8,0x46,0xBB,0xF3,0x0E,0x0D,0x50,0xD7,0x8A, -0x1F,0x79,0x27,0xE0,0x3D,0x27,0x2D,0x37,0x06,0x06,0x65,0x2D,0x5B,0xC2,0xBD,0x44, -0xFD,0xFA,0x8F,0xCD,0xD8,0x02,0x5C,0x51,0xBB,0x52,0xD5,0x9C,0x3F,0xB0,0x57,0x42, -0xC3,0xDF,0x75,0x2F,0x1F,0xB1,0x75,0x58,0x23,0xAE,0xB2,0x0F,0xA0,0xF6,0xD7,0xBB, -0x5C,0x47,0xD0,0x8E,0xD9,0xCD,0x3E,0x2E,0x00,0x26,0x46,0x80,0x7D,0x3C,0x74,0xBB, -0x4D,0x5F,0x10,0x04,0xCC,0x40,0xF6,0x6F,0xC8,0x5A,0x94,0x6C,0x0F,0x64,0xB1,0x3E, -0xE3,0x8F,0x60,0xB4,0x1E,0x24,0x8C,0x10,0x31,0xCC,0x7C,0xF0,0xD3,0x09,0x9D,0xF0, -0x66,0xAE,0x78,0x7D,0x47,0xF0,0xD3,0xBC,0xA3,0x20,0x3B,0xAC,0x6C,0x62,0xC8,0xB5, -0xFF,0xD4,0x1C,0x93,0x5F,0x41,0xA4,0x94,0x71,0x02,0x56,0xC7,0x53,0x21,0x4E,0x67, -0xC8,0x47,0x0F,0xC1,0xE9,0x29,0xA6,0x10,0xEC,0x64,0x4E,0x74,0xEE,0x3F,0xA9,0x8F, -0xE0,0x97,0x8E,0xA3,0xD1,0x0B,0xCD,0x0D,0xBC,0xD3,0x82,0x89,0xF5,0xBC,0x94,0x62, -0x93,0x3C,0x9F,0x62,0x16,0x67,0xFE,0x69,0x1F,0x7F,0x18,0x4E,0x37,0xB6,0x62,0x42, -0x92,0x34,0xFF,0x51,0x08,0x6E,0x42,0xA3,0xE2,0xCA,0x55,0x62,0x60,0x69,0x0D,0x40, -0x88,0xD7,0x42,0x7D,0xA1,0x7D,0xF6,0x13,0x9F,0xC6,0xF8,0x91,0x6C,0x35,0x38,0x1E, -0x4A,0x28,0xCD,0x90,0x0E,0x6C,0x73,0xE6,0x08,0xD8,0xBE,0x7D,0xC6,0x14,0xC4,0x72, -0x6A,0xE2,0xB8,0x9F,0x32,0x9B,0xA6,0x47,0x3F,0x44,0x84,0x8C,0x08,0x90,0x71,0x59, -0x83,0x49,0xC7,0xD7,0xFF,0xED,0x44,0x9B,0x58,0xCD,0xA3,0x9B,0x00,0x2B,0x79,0x19, -0x43,0xF3,0x3D,0x36,0x9C,0x51,0xEC,0xB2,0x0B,0xAC,0x17,0xB4,0xE6,0x63,0x16,0x51, -0x34,0x69,0x92,0xA2,0x24,0x19,0xC9,0xA2,0xBA,0x37,0xD8,0xA2,0xA9,0x99,0xBF,0xBF, -0x2F,0x57,0x4C,0x05,0xC3,0xC9,0x22,0x44,0x08,0xB3,0x3A,0x37,0xF9,0x8F,0x56,0x99, -0xE9,0x00,0x1F,0xB7,0xBD,0x42,0x4B,0x56,0x47,0xF2,0x79,0xF3,0xF8,0x0F,0x9D,0x94, -0x91,0x40,0xDE,0x29,0x49,0x48,0xCD,0x90,0xA1,0x95,0xB7,0x9C,0xF2,0xF2,0xA1,0x85, -0xD6,0xFA,0x89,0x54,0x2C,0x70,0x97,0xF8,0x50,0xAA,0x58,0x1E,0x2D,0x33,0xD1,0xE9, -0x61,0xE5,0x3F,0x65,0x06,0x7F,0x77,0x58,0x9F,0x10,0x87,0xB5,0xFD,0xCB,0xDA,0xD8, -0x1A,0xCC,0xAE,0x88,0x6F,0x47,0x8E,0x80,0x51,0x39,0xF9,0x19,0x07,0x7E,0x1F,0x8F, -0x07,0xB6,0x85,0x66,0x27,0x44,0x96,0xB5,0x51,0x98,0xDB,0x29,0x87,0x23,0x16,0x27, -0xD7,0x57,0x48,0xF6,0xCA,0x49,0x65,0x7F,0x59,0x32,0x20,0xE3,0x36,0x4C,0x2E,0x70, -0x81,0xB6,0x7D,0x4F,0x74,0x0C,0x8A,0xEF,0x2D,0x1F,0xFC,0x49,0x4B,0x59,0xCF,0x1C, -0xD2,0xE4,0xC4,0x9E,0xFA,0x9A,0xD9,0xC8,0x64,0x5C,0xE2,0x06,0x90,0xA2,0xD8,0x5D, -0xCE,0x40,0xCB,0x4F,0x5B,0xFE,0xB5,0x07,0xCD,0x68,0xEC,0x87,0xB1,0x68,0xC8,0x10, -0x16,0xB1,0x0A,0x1F,0xB5,0x39,0xE0,0x2F,0x2C,0xA4,0x05,0x79,0xAB,0xB3,0x23,0x12, -0xE4,0x4F,0x00,0x46,0x1F,0x80,0xB0,0xE2,0xA3,0x4A,0x5F,0x21,0x79,0x6B,0x14,0x51, -0xB5,0xED,0x28,0x13,0xBC,0xA6,0xC9,0x68,0xB5,0xA0,0x8A,0x17,0x1A,0xA9,0x2B,0x8A, -0xFA,0x80,0x7D,0xC3,0x12,0xF1,0x19,0xFA,0x1F,0xFE,0xC1,0xDD,0xD6,0x11,0xBF,0x82, -0xAC,0x8C,0x89,0x16,0xA3,0x0E,0xA0,0x6A,0xAF,0xE9,0x2D,0x94,0xF6,0xF5,0x12,0x8A, -0x00,0x2E,0x88,0xFE,0x9A,0xB8,0x38,0xA8,0xE9,0xAF,0xE8,0x3C,0xB2,0x5A,0x3F,0x47, -0xF7,0xE7,0xE8,0x17,0x3F,0x67,0xCB,0x28,0xBA,0x7C,0x62,0x06,0xC3,0x2B,0xB6,0x22, -0xA9,0xF8,0xA8,0x00,0xDD,0x8D,0x39,0x9F,0xE8,0x3E,0x64,0x96,0x70,0xD7,0xE2,0x0E, -0xA5,0xBA,0x1F,0x86,0x62,0x98,0xE5,0xF1,0x73,0xEE,0xF5,0x5D,0x26,0xF4,0xFD,0x7D, -0xC0,0x9D,0xC9,0xBB,0xD8,0xEC,0x94,0xEC,0x46,0x9A,0x48,0xCF,0x8C,0xDD,0xBA,0xC6, -0x5F,0x17,0x23,0xDC,0x8D,0xCD,0x98,0x27,0x93,0xE3,0x08,0x44,0x89,0x93,0xA0,0x8E, -0x2D,0x69,0xF4,0x08,0x13,0xA3,0x23,0xE7,0x80,0x38,0x0A,0x73,0x91,0xFC,0xBA,0xAF, -0xEE,0x5A,0x40,0x89,0x01,0x51,0xD2,0x1A,0xBA,0x74,0x7A,0xF1,0x7C,0x2A,0x28,0x43, -0x03,0x67,0x01,0xFF,0xA4,0x9E,0xFE,0x94,0x49,0x9D,0xD1,0x09,0x9D,0xE7,0x17,0xF7, -0x9F,0xA9,0x89,0x3D,0x6B,0xEF,0x6C,0x31,0xA1,0xA8,0x29,0x74,0x7E,0x8A,0x36,0x7D, -0x5E,0x2A,0x6A,0x3D,0x41,0x66,0x70,0x65,0x06,0xF7,0xBB,0xC5,0x9D,0x1C,0x41,0x33, -0x7B,0x82,0x8C,0x95,0x44,0x84,0x08,0x7C,0x20,0xDB,0xC9,0x03,0x8F,0xAC,0x00,0xF6, -0xC8,0x54,0x56,0x61,0xF7,0xBA,0x6B,0xAA,0xE9,0xD3,0x8F,0x76,0xC4,0xCB,0xE0,0xBE, -0xC3,0x9A,0x58,0xFC,0xFF,0x49,0x50,0xC3,0xB7,0x2F,0xE6,0x7B,0x48,0x24,0x47,0xD8, -0x53,0xF6,0xD1,0xB7,0x5E,0xBD,0xFF,0x0C,0x1B,0xB4,0x3C,0x9B,0x79,0xB3,0xCB,0xD5, -0x32,0x72,0xBB,0x14,0x7B,0x69,0xE3,0x46,0xA6,0x91,0xAA,0x5A,0x3F,0x01,0x24,0x39, -0x0D,0x0C,0x79,0x7D,0xEE,0x0B,0xE5,0xE3,0x4F,0xAD,0x5C,0xF8,0x7B,0x74,0xB3,0xA3, -0x6C,0x5C,0xEE,0x23,0x50,0x7D,0x27,0xAB,0x34,0xD5,0xA4,0x40,0x9E,0x41,0x9C,0xA5, -0xBF,0xF8,0x61,0xF7,0x5F,0xA6,0xFC,0x91,0xE3,0x68,0xD4,0xC0,0x50,0xA7,0x67,0x77, -0x7F,0x49,0x87,0x31,0x65,0x78,0x49,0xDC,0xED,0xC0,0xD3,0xD9,0xE8,0x0C,0xB5,0xC8, -0xF0,0xDB,0x82,0x1C,0xE4,0xD2,0xAE,0x81,0x0C,0x60,0x55,0xDA,0xA1,0xE4,0xA8,0x32, -0x6B,0x68,0x8D,0xA9,0xF3,0x73,0x43,0xF2,0x9B,0x43,0x92,0x7E,0x0E,0x44,0x56,0xE5, -0xE1,0xC3,0x66,0x24,0xEF,0x82,0x61,0x92,0xAC,0x28,0x36,0x34,0x87,0x71,0x56,0x9D, -0xB9,0xDA,0x59,0xDB,0x17,0x02,0x33,0x13,0xA7,0x64,0x19,0xBB,0x96,0x4F,0x6F,0x29, -0xBC,0xB4,0xE3,0x0B,0xE7,0xC4,0x60,0x49,0xC6,0xE0,0xBE,0x19,0x97,0x0E,0xFA,0x4E, -0x2E,0x83,0xE1,0x79,0x40,0x65,0xB3,0x91,0xE2,0xB4,0xDE,0x3B,0xEF,0x16,0xF3,0xA5, -0xB6,0x3C,0x05,0x28,0x61,0x9C,0x86,0x07,0x1D,0x91,0xF2,0x5E,0xCA,0xA8,0x47,0xA2, -0xB5,0x5D,0xA3,0xFC,0x55,0x0F,0xEC,0x68,0xEC,0x48,0xC2,0x69,0x7B,0xD9,0xD9,0x0A, -0xE5,0x12,0x78,0x8B,0x52,0xFF,0x15,0xDB,0x9E,0x7A,0x4E,0x75,0x65,0x27,0x01,0x1C, -0x4B,0x7D,0x45,0xD3,0x5F,0x57,0x4E,0x89,0x81,0x90,0x6A,0x13,0x6A,0x5B,0xAB,0x11, -0xD6,0xF0,0x8C,0x3B,0xEC,0xC6,0xBD,0xED,0xF6,0xC3,0x8E,0xD0,0x8A,0x22,0x9A,0x70, -0xD8,0xFC,0x85,0x0C,0x25,0x47,0xFB,0x6E,0xF0,0xFA,0x97,0xAF,0x5C,0xAD,0xB2,0x35, -0x14,0xF9,0xF8,0xD5,0xE5,0xA0,0xD4,0xC9,0x5F,0x0E,0x96,0xD1,0x9D,0xDC,0xCC,0xA3, -0x3E,0x1F,0x8A,0xC2,0x46,0x63,0x3B,0x0B,0x5A,0x53,0x07,0xC8,0x68,0x80,0xDF,0x9E, -0x3D,0xD7,0x7F,0x3B,0x15,0x7E,0x33,0x77,0xC5,0xC8,0x5A,0x89,0x5A,0xA2,0x18,0xEC, -0x30,0x91,0x61,0x7B,0x0A,0xAE,0x00,0x70,0x1D,0x24,0x35,0x7F,0x35,0x59,0x87,0x56, -0x75,0xA2,0xBE,0x18,0x1F,0xF8,0x16,0x16,0x03,0x0A,0x20,0xA0,0xBE,0x85,0xBF,0xB6, -0x3B,0x1B,0x30,0xD3,0xFE,0x90,0x62,0x5C,0x17,0xDF,0x76,0xA9,0x3F,0x00,0x2B,0x74, -0x31,0xB9,0xAA,0xBF,0xC7,0xE8,0x16,0xDC,0xEF,0x0C,0x8B,0xFE,0xAC,0xCE,0xE4,0x41, -0x09,0xA9,0x09,0x16,0x0F,0xAF,0x22,0xF7,0x95,0x7B,0x4A,0xD2,0x78,0x21,0x10,0x92, -0x06,0xC9,0x32,0x62,0xA2,0x18,0x95,0x28,0x26,0x42,0xB2,0xCE,0x1C,0xFE,0x4C,0xE7, -0xDF,0xB8,0x4A,0x9F,0x51,0xCC,0xBB,0x4C,0x66,0x33,0xD0,0x0A,0x97,0xF3,0xA4,0xFF, -0x88,0xDC,0x4C,0xCB,0x25,0x83,0x02,0xCB,0xC3,0x52,0x68,0x19,0x56,0xB8,0x2A,0x8C, -0x77,0x1F,0x47,0x79,0xFE,0xD5,0xCC,0x9A,0x26,0xB5,0x8C,0x54,0xDD,0x54,0x02,0x3B, -0xC1,0x2A,0x01,0xD8,0xED,0x79,0xA1,0x5A,0x4E,0x13,0x23,0x53,0xE1,0x91,0x9A,0x22, -0xE3,0xF5,0xDA,0x63,0x4F,0xAB,0xFB,0xAF,0x59,0x9F,0xDB,0x4B,0xB5,0x9B,0x57,0x83, -0x87,0x1B,0x11,0x6B,0x39,0xB7,0xD8,0xA0,0x56,0x9A,0x11,0x46,0xF0,0x95,0x61,0x35, -0x40,0x28,0xF3,0x68,0x3B,0x6F,0x7F,0x61,0xF6,0x1C,0xCA,0xA1,0x5D,0x7C,0x64,0xD4, -0xF9,0x62,0x7F,0xC5,0xB7,0x9D,0x1D,0x2D,0xDE,0x84,0x12,0x28,0x11,0x26,0xF8,0x78, -0x38,0x2B,0x12,0xD7,0x32,0x86,0x8D,0x1C,0x0E,0xF3,0x58,0xF4,0xA8,0x2F,0x90,0xE0, -0x50,0xE0,0xEA,0x81,0x1E,0xB1,0xF3,0xF4,0x3F,0xAB,0x46,0xD6,0xA6,0x37,0x14,0x10, -0x72,0x8F,0x03,0x48,0x60,0x99,0x91,0x81,0xE9,0x15,0xC5,0xA6,0x94,0xFB,0x82,0xF7, -0x1E,0x40,0x62,0x60,0xAA,0xEA,0xE5,0x4F,0xE0,0xE1,0xCF,0x06,0xF9,0x61,0x1C,0xF5, -0xB4,0xCE,0x84,0xDC,0xDE,0x25,0x9A,0xD8,0x8B,0x51,0x45,0x3D,0xC1,0x3F,0x4C,0xAD, -0x39,0x37,0xC6,0x2C,0xD8,0x34,0x78,0x06,0x9D,0xCF,0x1D,0xD8,0x36,0xED,0xA5,0xDE, -0x5D,0x64,0xC5,0xBD,0x18,0x9A,0x47,0x3A,0x07,0x55,0x70,0xAE,0xC7,0x05,0x3A,0xF1, -0x89,0x92,0xF5,0x58,0x14,0x1F,0xD3,0x73,0xBC,0xB1,0x1B,0x2F,0x62,0x42,0x4D,0x06, -0x94,0x0C,0x83,0x1A,0x55,0xFA,0xF2,0x3C,0x97,0xEA,0x52,0xA3,0xE8,0xDA,0x01,0x66, -0x28,0x9E,0x0C,0xE0,0xD5,0x3A,0x65,0xDE,0xB4,0xCC,0x1A,0xC7,0xBF,0x6E,0x30,0x1D, -0x60,0x8C,0x38,0x77,0xF7,0x4D,0x18,0xED,0x3A,0xE5,0xE0,0x84,0x22,0xA1,0x33,0x67, -0xB0,0x30,0xC1,0x02,0x10,0x56,0x8F,0x54,0xB4,0x31,0xF6,0xE0,0xB5,0x43,0xF3,0xF9, -0x17,0x66,0xF7,0xB4,0xA6,0xEB,0xE8,0xAF,0x4D,0xBE,0x10,0x03,0xB7,0x2C,0x22,0xA7, -0x04,0xA9,0x51,0xA3,0xAD,0xF1,0xF1,0xEE,0x96,0x6C,0x4C,0xEF,0x4C,0x81,0x87,0xEC, -0x15,0x58,0xE6,0x33,0x94,0x33,0xFE,0x9C,0xC2,0x5A,0x6D,0x0F,0xD2,0xC7,0x11,0x92, -0xE2,0x7A,0xFB,0xA9,0xCC,0x13,0x5F,0xD7,0x2A,0x40,0xE9,0xED,0x76,0xFD,0x9F,0xEC, -0xB0,0x4C,0xEA,0x99,0xDA,0xD3,0x4E,0xFF,0x98,0x1D,0x43,0xF3,0xF3,0x04,0x9D,0x15, -0x41,0xEF,0x4E,0x76,0x40,0x59,0xBF,0x9F,0xFA,0xB1,0x76,0x67,0xE2,0xA0,0xD0,0x6B, -0xF6,0xBD,0x96,0x36,0x23,0x8E,0xBE,0x55,0x7F,0x2C,0x3C,0xC0,0xAB,0x8C,0x0A,0xFE, -0x30,0x53,0x84,0x7F,0x01,0x8B,0x10,0x9B,0xA6,0xCB,0x7D,0xB6,0xF4,0x2B,0x6E,0xD1, -0x94,0xF3,0xA7,0x88,0xC1,0x8D,0x7A,0x33,0x1B,0x7B,0x95,0x34,0x97,0xE6,0x9F,0x36, -0x4F,0x5C,0xF0,0x0C,0x82,0x5E,0x1C,0xC1,0xA0,0x27,0x73,0x1B,0xF6,0x96,0x36,0x65, -0xE0,0x14,0x7A,0xA3,0x9B,0xC2,0x4A,0xF4,0xB0,0xEA,0xD6,0x97,0x20,0x67,0x8E,0xBA, -0x4A,0x58,0x54,0x91,0x19,0x4D,0x2D,0x5D,0xF7,0x8A,0x3E,0x08,0x37,0xE1,0x99,0x9B, -0xF4,0x47,0xB8,0x9B,0x1A,0xE4,0x28,0x8B,0xFB,0x21,0x10,0xAE,0x06,0xBC,0x52,0x93, -0x65,0x08,0xAD,0x13,0xB1,0x79,0xEE,0xFE,0x18,0xF0,0x69,0x55,0x27,0x58,0x5D,0xC7, -0x92,0x0D,0xC0,0xF1,0x2A,0x26,0xAA,0x33,0x78,0x42,0xEE,0x43,0xFC,0xA4,0x52,0x6A, -0x75,0x3F,0x40,0x56,0x3D,0xEA,0x70,0xC1,0x1A,0xDA,0x9F,0xAB,0xD5,0xA5,0xD1,0xD1, -0xAE,0x3A,0xDB,0x3E,0xA9,0x84,0xDC,0x2D,0x75,0x2A,0x9A,0x8A,0x20,0xC0,0xDD,0x7D, -0x57,0xB9,0x1D,0x35,0x1D,0x1C,0x43,0xB8,0x55,0x13,0x24,0xB4,0x48,0xEC,0xB5,0xFD, -0xCD,0x3F,0x84,0x94,0x9B,0xD7,0x95,0x4D,0xA2,0xBA,0x15,0xAF,0x3D,0x7C,0x30,0x7D, -0x3D,0x1D,0xAB,0x5A,0xC3,0x87,0xEE,0x4D,0xE8,0x5A,0xEB,0xF6,0x10,0xF0,0xB4,0x89, -0x91,0x78,0x5D,0x80,0xC4,0x1F,0x50,0xF5,0xEE,0x2D,0xCE,0x9B,0x73,0x38,0x5C,0x0C, -0xFF,0x2F,0x9C,0x90,0x03,0x6D,0xD0,0xCD,0x19,0x1B,0xA1,0x27,0x0F,0x3A,0x97,0x0F, -0xAC,0x83,0xEC,0x3C,0x7F,0x31,0x47,0x34,0x54,0x36,0xD5,0x2A,0x93,0xE3,0x1C,0x3D, -0x63,0x4F,0x53,0x84,0xCE,0xDC,0xF7,0xEB,0x0F,0x51,0x18,0xD7,0xD7,0x48,0x1E,0xF8, -0xBF,0x8B,0x4F,0x40,0x50,0x9B,0x9B,0x82,0x0E,0x23,0xE5,0xAB,0x92,0x56,0x80,0x12, -0x55,0x85,0xC8,0x5B,0xF0,0xC5,0x77,0xB8,0xFF,0xE7,0x19,0x42,0x09,0x50,0x62,0x9F, -0xDE,0x5B,0x51,0x61,0x5B,0xF2,0xA0,0xF1,0x09,0xA1,0xEF,0x1E,0x30,0x7A,0x7F,0xA3, -0xAA,0xF4,0x1B,0x50,0x6E,0x97,0x2C,0xDD,0x27,0x1C,0xC6,0xFD,0xCF,0xC7,0x8D,0xBE, -0x8F,0xAC,0xE0,0xE6,0x4D,0x61,0xB8,0xD2,0x4C,0xB9,0x81,0x46,0xBF,0x0E,0x6C,0xA2, -0x7B,0xED,0x02,0x17,0x56,0xF1,0xB6,0x0F,0x47,0x5E,0x16,0xA7,0x06,0xD4,0xE9,0xA6, -0x39,0xF4,0x28,0xE7,0x18,0x3F,0x57,0x87,0xD3,0xBB,0x46,0xFA,0xB2,0x6E,0x08,0xE5, -0x5B,0x51,0x9B,0x17,0x9D,0x00,0x4B,0xE1,0x66,0xD4,0x33,0xE4,0xA8,0x98,0xF8,0x1E, -0x54,0xB8,0xE9,0xB5,0x36,0x6C,0x73,0x6A,0xDE,0x27,0x2E,0x43,0xDC,0x89,0x6F,0x2E, -0xDD,0x97,0xE2,0x61,0x00,0xAD,0x02,0x99,0xD8,0x06,0xB8,0xF1,0x5A,0x1B,0xDA,0x98, -0x88,0xE5,0xEF,0xAC,0xF2,0xFA,0xC6,0x6C,0x0B,0x3F,0xF9,0xA6,0x74,0xBD,0x6B,0x6F, -0xB6,0x6E,0xB4,0xD9,0x8F,0x49,0x5F,0xB3,0x1F,0x1F,0x9E,0x59,0xB4,0xFB,0xA2,0x09, -0x06,0x12,0x06,0x1B,0x34,0x0B,0xAA,0xE9,0x0F,0x83,0xDF,0x30,0x83,0x2F,0x19,0x98, -0x17,0x6E,0xEF,0x19,0x9A,0x86,0xF3,0x0E,0x3E,0xDB,0x0D,0x25,0x07,0x77,0x29,0xDF, -0x2D,0x23,0x53,0x02,0x1E,0xBB,0xC4,0xDC,0x01,0xF2,0x70,0x5D,0xA5,0x29,0xE7,0xDE, -0xA8,0xF6,0x44,0x43,0x6B,0x6F,0xCD,0x5C,0xCB,0xDA,0x37,0x52,0x61,0x42,0x96,0x58, -0x83,0xA7,0xCF,0x76,0x25,0x62,0xCF,0x90,0x96,0x26,0x05,0xB4,0xD8,0x74,0x1D,0x44, -0xB4,0x6B,0x11,0x49,0xF9,0x0A,0xE9,0x6D,0x96,0xBA,0x1D,0x11,0xEC,0x6A,0x22,0xAF, -0xD8,0x12,0x5E,0x27,0x9C,0x2C,0x25,0xF9,0x82,0xA0,0x53,0x93,0xA7,0xFD,0x69,0x30, -0xAB,0x79,0xEF,0x7B,0xDA,0x40,0x9E,0xA7,0x5A,0xEE,0xC9,0x37,0x91,0xF7,0x90,0x43, -0xC3,0x8C,0xBB,0x3C,0x5B,0x36,0xA9,0x94,0xFF,0xE4,0xB3,0x88,0x52,0x7E,0x1B,0x04, -0xD9,0x80,0xA2,0xF1,0x40,0x25,0x84,0x63,0x25,0x12,0x1E,0xBC,0xE3,0x22,0xF1,0x20, -0x21,0xE2,0xBE,0x14,0x3F,0xD0,0xA0,0x40,0xBD,0x54,0xCF,0xD7,0x7D,0xDB,0xAF,0x9E, -0x01,0xDD,0xFE,0x1B,0xDE,0x27,0xA9,0x70,0xCE,0xE1,0xF5,0x9C,0xF4,0x5F,0x37,0x33, -0x08,0xEC,0x40,0x03,0xF4,0x1A,0x5A,0x27,0x76,0xF1,0x5C,0x3D,0x60,0x28,0xE8,0x37, -0xC8,0xC5,0x11,0x59,0x43,0xA6,0xBF,0x6B,0x00,0xE0,0xE8,0x12,0x63,0x60,0x97,0x7C, -0x64,0x4C,0x9F,0x47,0x56,0x82,0x04,0x77,0x50,0x9C,0x71,0xD9,0x2E,0xC4,0x6B,0x26, -0x7F,0x5A,0x64,0x11,0xD7,0x52,0xCA,0xB6,0xE6,0x18,0x93,0xDA,0x4A,0xD2,0x44,0x7D, -0xDA,0x15,0x3C,0x4C,0x39,0x03,0xE1,0xAD,0xDE,0x19,0xFC,0x0A,0xA8,0xB9,0xE4,0x8D, -0xA2,0xF6,0x30,0xC2,0x25,0x09,0x41,0x07,0x1C,0x3C,0x32,0x48,0xE1,0x44,0xA7,0x7F, -0x2A,0x98,0x23,0x6A,0x0D,0x34,0xBB,0x21,0x68,0x5A,0xCC,0xB2,0x6A,0x80,0x7C,0xB3, -0x9D,0x93,0x3E,0x6E,0xF7,0x3B,0xA9,0x91,0x8B,0xB1,0x13,0x0E,0xA9,0x78,0xF5,0x93, -0x4C,0xE0,0xA1,0xAB,0x6E,0x0F,0xBC,0xCF,0x36,0x1F,0x90,0xC6,0x0F,0x68,0xA8,0x40, -0x51,0xF8,0xD3,0x2A,0xDC,0x0C,0xA9,0x23,0xB8,0x8D,0xB2,0x91,0xD3,0x35,0xB5,0xD7, -0xCA,0xD4,0x17,0x7A,0x8E,0x47,0x80,0x7F,0x9F,0x81,0xB7,0x6D,0x2B,0x12,0x7C,0xD3, -0x9C,0xD1,0xD8,0x65,0x9D,0x02,0xBA,0xFE,0xE4,0xEC,0x6B,0xBE,0xB5,0x07,0xE2,0x6D, -0x85,0xAC,0x06,0x06,0xFD,0xB5,0x6A,0xAC,0x7F,0x66,0xA7,0x32,0x2B,0x23,0x15,0x92, -0x99,0x56,0x5D,0x5D,0xB5,0xD1,0xD8,0x25,0x6D,0xA0,0xA9,0x63,0x3E,0xE9,0xBC,0x60, -0xAF,0x9A,0x40,0xE1,0x55,0xCB,0xF6,0x3B,0xA0,0xCF,0x14,0x99,0xCC,0x20,0xFD,0x71, -0x5D,0x76,0x37,0x1D,0x47,0x72,0x08,0x99,0x0C,0x93,0x4E,0xA2,0x3B,0xF8,0xD6,0x3A, -0xB1,0x38,0xBE,0x35,0xB8,0xBA,0x21,0xDF,0x49,0xEC,0x8A,0x57,0x3B,0x5A,0x21,0x13, -0xFE,0x76,0x9A,0x78,0x4C,0xED,0x19,0xF9,0x27,0xD6,0xC1,0x04,0x00,0xE2,0x52,0x73, -0x4B,0xD7,0x73,0x71,0x9D,0xF3,0xDD,0xE9,0x7C,0x36,0xA3,0x28,0xFC,0x11,0x06,0x1C, -0xE7,0x15,0xAA,0x5C,0x01,0x45,0xCD,0x20,0x99,0x78,0x66,0x68,0x70,0xBE,0x00,0xB1, -0xD2,0xF4,0xF0,0x10,0xAD,0xC8,0x0C,0x24,0x89,0x0F,0x0A,0x8C,0xE3,0x63,0x92,0xD4, -0x22,0x34,0xE0,0x7E,0x7F,0x98,0xCE,0xBE,0xDD,0x9F,0xF4,0x6C,0x03,0xEF,0x11,0x84, -0xB1,0x8A,0xE6,0xEA,0x86,0x9B,0x95,0xC7,0xAD,0x44,0x85,0xA2,0xB5,0xDF,0x8F,0x09, -0x48,0x6C,0xD0,0xF5,0xC1,0x03,0xA8,0x37,0xF6,0x8E,0x3B,0x74,0x9E,0xF3,0x30,0x67, -0x8D,0xD6,0xC5,0xCD,0x64,0x39,0x89,0x67,0x9A,0x68,0xF1,0xA4,0x98,0xBB,0x24,0xC5, -0x6A,0xB1,0xA8,0x88,0x0F,0xF5,0xEA,0x76,0xB6,0xE6,0x80,0x05,0x96,0xBA,0x85,0xD4, -0xEB,0x7C,0xC0,0x85,0xAF,0xFB,0x53,0xD5,0xCC,0x5C,0x0F,0x2F,0x1A,0xA3,0x84,0xF5, -0x7A,0xE2,0xA4,0xDA,0x07,0x66,0x64,0xEE,0xDA,0x7E,0x76,0x8A,0x41,0x47,0x49,0xE7, -0xFF,0x4C,0x7F,0xDC,0xF7,0xDD,0x84,0x30,0xA6,0xE0,0xC9,0x38,0xC4,0x78,0x01,0xC2, -0x55,0x40,0xCF,0xA2,0x34,0x52,0xA1,0xF1,0x71,0x43,0x21,0x18,0x1C,0xFE,0x92,0xA4, -0x8B,0x6F,0x68,0xE8,0xF0,0x92,0x36,0x1E,0xD8,0x5E,0x8A,0xAD,0xEB,0xF9,0xEA,0xDE, -0x50,0x05,0x32,0x4A,0x19,0x41,0x43,0xA9,0xD7,0xBA,0x6C,0x40,0xEA,0x89,0x5F,0xA3, -0xE9,0x30,0x7D,0x0C,0x31,0x91,0x3C,0x51,0x6D,0x9B,0x23,0xAE,0xA2,0x93,0xF7,0xEB, -0x2F,0x49,0xF6,0x06,0x19,0x94,0x37,0xC0,0xB0,0x7D,0x62,0xEF,0x3F,0x34,0x23,0xAF, -0xAF,0xF3,0xE6,0x77,0xEC,0xCC,0x06,0x16,0xAF,0xE8,0x5C,0x94,0xD0,0x1B,0x13,0x90, -0x5E,0x9A,0x35,0xF0,0xF8,0x46,0xE4,0xAA,0x08,0xB1,0x69,0xE3,0x08,0xBF,0x5B,0x90, -0x97,0xE2,0xCE,0x7F,0x53,0xE5,0xAD,0xE5,0xE6,0x60,0xE6,0x1D,0x81,0xA2,0x8D,0x16, -0xA9,0x21,0xF5,0xAC,0x3A,0x56,0x99,0x03,0x8F,0x36,0x81,0x72,0x6A,0xE4,0x50,0xBF, -0x4B,0xD1,0x65,0x38,0x5F,0x73,0x7D,0x31,0x4A,0x4F,0x31,0xB6,0x7A,0x96,0x9D,0x54, -0xC2,0xD6,0x25,0xCD,0x46,0xB2,0x0A,0x5E,0xB2,0x02,0xA7,0x9B,0x7B,0x04,0x19,0xE5, -0x26,0x48,0xCF,0x64,0x67,0x20,0xC1,0x59,0xEC,0x69,0x59,0xFD,0x29,0x71,0xF8,0xC3, -0x44,0x20,0xBE,0xC2,0xAD,0x1F,0xF8,0xDC,0x80,0x6B,0x2C,0xE9,0xDC,0x87,0x62,0xFD, -0x90,0x5D,0xBA,0xE2,0xA3,0x7E,0x7F,0x36,0x44,0x2D,0x9E,0x59,0x80,0x11,0x28,0xC2, -0x64,0x84,0x6A,0x45,0x4C,0xEE,0xD6,0x9E,0x35,0x95,0x09,0xFE,0xCB,0xCB,0xAD,0xB9, -0xC1,0x00,0x38,0x4D,0x3C,0xED,0xB8,0x41,0x9C,0x47,0xF0,0xE0,0xA1,0x65,0xAD,0x1B, -0xB5,0x80,0xB0,0x76,0xC8,0x88,0xC9,0x37,0xF1,0x8C,0xD9,0x76,0xDB,0xD8,0x8C,0x38, -0xA0,0x65,0x21,0xC3,0xB0,0x84,0x48,0xFA,0x99,0x66,0xFA,0x35,0x85,0x49,0xF2,0x62, -0x4A,0x31,0xDA,0x9C,0x28,0xDA,0x3F,0xBE,0x35,0x4F,0x06,0x45,0x5D,0x4F,0xB4,0x66, -0xB3,0x56,0x53,0x40,0xC9,0x2E,0x30,0x6F,0x13,0xBF,0xCA,0xAF,0x3A,0xFC,0x13,0xFE, -0x7C,0x5A,0xFF,0x1B,0x62,0xC3,0x8F,0x6E,0x9C,0x23,0x07,0xF1,0x69,0x57,0x2F,0x97, -0x8E,0x00,0xDA,0x0C,0x0E,0x00,0x54,0xD7,0x16,0x53,0xD1,0x93,0xA3,0x27,0x99,0xA4, -0xE0,0xDE,0x43,0x18,0xEA,0x72,0xAD,0x9D,0x68,0xE9,0xBE,0xC9,0x84,0x25,0xEF,0x1D, -0x7B,0x6D,0xD1,0x50,0xEF,0x9D,0x94,0x54,0xBF,0x28,0x6E,0x8D,0x9F,0xDB,0xF6,0x9D, -0x60,0x3C,0xFF,0xF8,0x3A,0x4D,0x67,0x0C,0xF7,0x53,0x8C,0xA6,0x8C,0xCD,0xCB,0xD7, -0x17,0x23,0xE7,0xF5,0xEA,0x05,0x48,0x14,0x6D,0x3C,0x43,0x83,0x5B,0x37,0xD5,0xB0, -0xD7,0x1A,0x8C,0x0F,0x0B,0xB9,0x4A,0x57,0x71,0xA8,0xF7,0x0C,0xEF,0x7F,0x39,0x4C, -0x3E,0x6C,0xA2,0x29,0x20,0xCF,0xFA,0xBA,0x83,0xF5,0xD0,0xD9,0xF6,0xC4,0xFA,0xC9, -0x1E,0x7B,0x35,0x4C,0x56,0x38,0x0C,0xB0,0x33,0x34,0xEA,0x67,0xE0,0x40,0x42,0xAC, -0xDC,0xDD,0xD9,0xF8,0x88,0x29,0xCA,0x51,0x8C,0x75,0xAC,0x60,0x3D,0x61,0x37,0xE2, -0xC6,0x3E,0x2C,0xCB,0x19,0x3A,0xAA,0x47,0x44,0x1D,0x01,0xA6,0x6F,0x3D,0x91,0x9D, -0xC7,0xE0,0x13,0xF8,0x4D,0x33,0xBE,0xFC,0x25,0xF1,0x4C,0xA2,0xC8,0xE2,0xDE,0xF5, -0xB4,0x1F,0x4C,0x52,0x90,0x5F,0x67,0xF0,0x50,0xCB,0xD6,0x07,0x08,0xE8,0xF2,0x97, -0x9C,0x12,0x77,0x05,0x99,0x7D,0x66,0x6D,0x18,0x3E,0x1A,0x53,0xA4,0x6B,0xDB,0x55, -0xAB,0x88,0xF9,0x61,0x07,0x15,0x2D,0x72,0xDE,0xA7,0x02,0x38,0xBA,0x75,0x12,0x20, -0x32,0xE1,0xE2,0x7C,0x80,0xA4,0xE3,0x3E,0x19,0x61,0x6F,0x61,0x0B,0x36,0x07,0x98, -0xB7,0x6C,0xE3,0x2C,0xFB,0x70,0x54,0x3D,0x5D,0x61,0x28,0x46,0xFA,0x5D,0xC1,0xF8, -0x19,0x7E,0x83,0x55,0x2C,0x14,0x1E,0xB3,0x88,0x48,0xC0,0x3E,0x6A,0x30,0xD3,0xAC, -0x08,0x6D,0x67,0x29,0x48,0x99,0xE0,0x5D,0x88,0x05,0x12,0x3E,0x62,0x68,0x27,0xCE, -0x54,0x92,0x51,0x69,0x91,0xEC,0x4A,0x44,0xF5,0x60,0xBC,0x31,0xC3,0x0E,0xDD,0x3D, -0xF8,0xD2,0xE5,0x14,0x9C,0x5A,0x4F,0x7C,0xC8,0x42,0x79,0xEF,0x81,0xA1,0xA1,0x6E, -0xAE,0x79,0xC1,0x04,0x36,0xA5,0x7D,0x44,0xFB,0x06,0x95,0x62,0xDE,0x45,0x46,0xF0, -0xE1,0x85,0xEC,0x6E,0x2F,0xF2,0x80,0xC2,0xE4,0xCC,0xDE,0xAE,0x12,0xFD,0xB0,0x3E, -0xB0,0xDF,0xB5,0x9D,0xBD,0xD4,0xDE,0xFD,0xE2,0xA8,0x0B,0xAC,0xA3,0x3F,0x59,0x48, -0x42,0xAD,0x15,0x78,0x4A,0x6D,0x5E,0x35,0x20,0x2C,0x51,0x85,0xDA,0xE7,0x65,0x23, -0x9A,0x98,0x95,0x49,0x8E,0xAA,0xDB,0x9A,0x29,0xCF,0xB8,0xBC,0xF8,0x3C,0xDE,0xC8, -0x86,0xFB,0xF3,0xBF,0xAC,0xCE,0x18,0x2E,0x59,0x00,0xB6,0x8B,0x65,0xF6,0x33,0xD6, -0xD5,0xAF,0xCE,0x48,0xE1,0x58,0x03,0x3D,0xAA,0xA3,0xA8,0x3C,0xA6,0x0D,0x4B,0x2E, -0x83,0xB0,0x72,0xEF,0xD3,0x1D,0xFB,0x48,0x49,0x94,0x74,0x9B,0x23,0x18,0x0C,0xED, -0x53,0x3A,0x2A,0x17,0x62,0x10,0xFF,0x52,0xC1,0xA9,0x8F,0xC4,0xB7,0x77,0x5C,0x91, -0x4E,0x9D,0x5E,0x54,0xFD,0x13,0x8C,0xF1,0x8D,0x54,0xAD,0xEB,0x81,0x2A,0xBE,0xFC, -0x35,0x34,0x09,0xCA,0x2F,0x2B,0xE5,0x37,0x89,0xE3,0xD3,0xA3,0xA2,0x9F,0xAA,0x35, -0x82,0xB0,0x90,0x95,0x4B,0x24,0x26,0xF8,0x4D,0x6A,0x0C,0xDC,0x8F,0x67,0x43,0x9D, -0xC5,0xD1,0xBF,0x5C,0x1C,0x1C,0xF3,0x26,0x11,0x2A,0xE3,0x76,0xB4,0xA6,0x98,0x22, -0xBD,0x7C,0x91,0x7D,0x79,0x16,0x1B,0xB5,0xC4,0x38,0x2D,0x31,0x41,0x5B,0x6A,0x70, -0xF7,0xCF,0xE5,0x71,0xF6,0x0B,0xCD,0xC1,0x3E,0xDE,0x30,0x84,0xE8,0x0C,0xFF,0x05, -0xED,0x71,0x34,0x95,0x20,0x18,0xA8,0xD3,0x07,0x90,0x9D,0x83,0xE1,0x50,0x96,0xED, -0x2F,0xDE,0x5C,0x75,0x61,0x09,0x78,0xAE,0x8C,0x8C,0xDB,0x1D,0xDC,0x71,0x8E,0x84, -0x0F,0x83,0x86,0x96,0xD4,0xFE,0x84,0xF5,0xAA,0x59,0xE1,0xED,0x7E,0xF5,0x27,0x79, -0xE6,0xCC,0x06,0xBF,0x5B,0x88,0x6B,0xFA,0x60,0xD2,0xC6,0x69,0x3D,0x4E,0xBF,0x6B, -0x26,0x55,0x84,0x1C,0x7B,0x34,0xE0,0x2C,0xDE,0xBE,0x72,0x25,0x11,0x06,0x54,0x5E, -0x51,0xAB,0x43,0x61,0xF8,0x7C,0x16,0x72,0x7D,0x00,0xBD,0x36,0xA1,0xFC,0x71,0xA5, -0x4A,0x20,0xA2,0xB8,0xA4,0xAC,0x1C,0x0E,0x4C,0xF0,0x5F,0xCC,0x7D,0xEA,0x4A,0xDB, -0x39,0xDB,0xF8,0xD2,0x63,0xA8,0xF9,0xA6,0xCF,0x43,0x23,0x14,0xDD,0x59,0xF0,0xAC, -0x28,0xA8,0x29,0xCC,0x92,0x25,0xA3,0x0D,0x8F,0x3F,0xF1,0x96,0x81,0x01,0x34,0xF5, -0x86,0x68,0x13,0x77,0x1D,0x41,0x7E,0x4E,0x9B,0x2B,0x19,0xBC,0xD7,0x6C,0x9B,0x82, -0x03,0x37,0x9F,0x6D,0x19,0x95,0xF7,0xE0,0xEF,0x80,0x5E,0xD0,0x02,0x07,0xA4,0x0E, -0x9A,0x58,0x18,0xA0,0xD0,0x24,0x88,0x2A,0xB6,0x17,0x33,0x2D,0x12,0x44,0x9B,0xB9, -0xAD,0xB7,0x4F,0xDB,0x68,0x4C,0xAB,0x0C,0xF9,0xFF,0x2B,0xEC,0x97,0x5A,0x36,0xAF, -0x85,0x45,0x73,0x65,0x0D,0x6E,0xE4,0x6A,0x51,0x8E,0xE7,0x05,0xD2,0xD9,0x38,0xD7, -0xF6,0x92,0x60,0x7F,0xA9,0x02,0xCA,0xD0,0x0B,0xBD,0x7D,0xB1,0xD2,0xD3,0xCF,0x6A, -0xB7,0xCB,0x13,0x1A,0x71,0xFF,0xE6,0x05,0xD6,0x3D,0x87,0x66,0xFF,0xC7,0xCE,0xC9, -0xAB,0x84,0x91,0x55,0x68,0x9B,0x64,0x72,0x4C,0x4E,0x89,0xD2,0x39,0x0D,0x62,0x82, -0x73,0xB4,0xAC,0x7D,0x8E,0x5C,0x58,0x1A,0xE3,0x26,0x60,0x01,0x9A,0xD6,0xF1,0xD1, -0x81,0x93,0xA3,0x80,0x66,0xE5,0x56,0xF8,0x79,0x73,0x3A,0xDD,0xCC,0x0E,0x1C,0xD2, -0xD0,0xFC,0xD0,0xC1,0x23,0xC3,0x8A,0x9E,0x1D,0x91,0xEF,0x83,0xB7,0xCC,0x58,0x1C, -0x9F,0x9A,0x52,0x19,0x95,0x94,0x4F,0x1D,0x6B,0x19,0xA4,0xC2,0xB7,0x74,0xAE,0x11, -0xC9,0xCB,0x7D,0xA9,0x30,0x6B,0xAB,0x04,0xDF,0x0F,0x48,0xA0,0x70,0x90,0x5A,0xA5, -0x65,0x18,0xA0,0x65,0xE6,0xDD,0x6F,0xC8,0xEA,0x5E,0x8D,0x78,0xE7,0x3F,0xAB,0xB7, -0x8C,0xD9,0xED,0xD9,0xC7,0x27,0x53,0x56,0x5C,0xF4,0x1C,0xF9,0xE0,0x6A,0xBD,0xA3, -0xF4,0x8B,0x7F,0xCF,0x3F,0x2D,0xA7,0x0A,0x3D,0x2B,0xD2,0x69,0x1D,0x97,0x47,0x40, -0xB3,0x28,0x88,0x69,0x7E,0x15,0x34,0x49,0x73,0xFE,0x3D,0x00,0x16,0x56,0x44,0x25, -0x04,0x86,0x3B,0x6E,0xC1,0x1A,0x4F,0x2B,0xFB,0x38,0xE2,0xCA,0xD2,0xAE,0x91,0x07, -0x7F,0xF9,0x1A,0x1B,0xF9,0x22,0x90,0x97,0xA2,0xB6,0x9C,0x5A,0xBF,0x1B,0x47,0x19, -0x62,0x9A,0xBC,0xCF,0x39,0x21,0xCF,0x21,0xC4,0x77,0xBE,0x52,0x8E,0x46,0xCA,0xFE, -0xB2,0x4C,0x13,0xC1,0x40,0x2C,0xC6,0xF9,0x7F,0xF4,0x45,0xB0,0x39,0x29,0xCF,0xB9, -0xE4,0x28,0x52,0x06,0xA3,0x69,0xDF,0xAA,0xCA,0x47,0x99,0x7C,0x9B,0x3C,0x6C,0xDD, -0x4B,0xC5,0x46,0x87,0xC1,0x57,0x26,0x56,0x49,0x73,0x47,0x06,0x75,0x76,0xEC,0x33, -0xDA,0x26,0xC3,0x93,0xD4,0xCA,0x02,0x35,0xA7,0xF1,0x3E,0x2F,0x2C,0x92,0x49,0x54, -0x5B,0xF4,0xDE,0x55,0x4E,0xC4,0xFC,0x60,0x22,0x01,0xB1,0x7F,0x53,0x8B,0x5D,0x90, -0xBC,0xDE,0xB3,0x34,0x17,0x08,0xE7,0x2A,0xAA,0x20,0xC0,0xF7,0x91,0x8A,0x29,0x74, -0x79,0x3F,0x43,0x50,0x80,0x32,0x8D,0x12,0x7F,0x3C,0x0A,0xFE,0x4C,0xC2,0xFF,0x34, -0x80,0x2C,0x62,0xC5,0x9B,0xAA,0xA3,0xDB,0x40,0x19,0xB4,0xD8,0xFC,0xEE,0xEA,0xAA, -0x13,0xEA,0xBD,0x09,0x3A,0xA9,0x3E,0xB2,0x72,0xF5,0xC5,0xC8,0x76,0xDE,0x8D,0x57, -0xE3,0x89,0x7B,0x8E,0x8F,0xF9,0x03,0xDC,0x9B,0x9C,0x3B,0x39,0x4C,0x52,0x6B,0x06, -0x6F,0x64,0xE4,0x7A,0xD9,0x77,0x5C,0x0F,0xDB,0x49,0x58,0xD7,0x0B,0x8E,0xEE,0x7D, -0x9E,0x2D,0x70,0x39,0xFF,0xFD,0x02,0xDA,0x2B,0x6D,0x6D,0x4F,0x07,0x2A,0xA6,0xB5, -0x1E,0x00,0x7B,0x21,0xE7,0xA5,0xD6,0x3A,0x68,0x00,0x53,0xBA,0xB9,0x05,0xAE,0x96, -0xD8,0x60,0x2E,0x42,0x18,0xA0,0x79,0x76,0xB3,0x12,0x12,0x92,0x6B,0xA2,0x67,0x57, -0x61,0x5E,0xB6,0xFD,0x21,0x70,0x38,0x14,0x4E,0x32,0x5D,0x19,0x84,0xB8,0xAC,0x62, -0xBA,0xDE,0xE4,0x1E,0x3B,0xA3,0x41,0xB6,0xC3,0xE7,0xBB,0xEB,0xCB,0xC8,0xC5,0x25, -0x64,0x25,0x48,0x30,0x4E,0x63,0x05,0x03,0x17,0x44,0x10,0xE8,0x75,0xCF,0xF9,0xF0, -0xCE,0x6A,0x3B,0xD5,0xEA,0xEC,0x3F,0xB0,0xA9,0x16,0xF8,0xB6,0xA5,0x49,0x8D,0xD5, -0x55,0xB8,0xD7,0x99,0xF7,0xDF,0x15,0x88,0x7A,0x7A,0x38,0xBB,0xD2,0xFA,0x67,0x16, -0xA1,0xA2,0xB2,0x02,0x83,0x4F,0x9B,0xC0,0xCB,0xC7,0xAF,0x80,0xD0,0x20,0x6B,0x06, -0x75,0x99,0x49,0xDF,0xAE,0x2E,0xE9,0x53,0x2A,0x19,0x1D,0xEE,0x8F,0xB6,0xE3,0x93, -0x17,0xAF,0x9B,0x66,0x08,0x11,0x4D,0x30,0xF0,0xAA,0x68,0x22,0xE3,0x40,0x6D,0x00, -0xF3,0x30,0xD7,0xEF,0xA2,0x83,0x19,0xC7,0x08,0x6D,0x96,0x53,0xA2,0x35,0xE2,0x26, -0x7A,0xF5,0xBB,0x74,0xCB,0x42,0x16,0xAB,0xAF,0xA7,0x00,0x6E,0x16,0xA7,0x4A,0x6D, -0x98,0xA3,0x79,0x05,0x45,0x67,0x77,0xEE,0xB9,0x4E,0xB0,0x24,0x59,0xD5,0x39,0x2F, -0xA6,0x5C,0x3A,0x85,0xDF,0xD4,0x12,0x8D,0xB3,0x95,0xD7,0x17,0xE3,0x93,0xCA,0x09, -0xD1,0x3D,0x9C,0x20,0x4E,0x43,0x86,0xAE,0xB7,0x05,0x8F,0x6E,0xCD,0x14,0x3B,0x13, -0xBF,0x20,0xCA,0xC5,0x1B,0x31,0x32,0xA8,0x12,0x98,0xE0,0x17,0xBF,0x16,0x98,0x81, -0x4D,0xB3,0xAA,0x0A,0x10,0xF2,0xD5,0xFD,0xE7,0xF5,0x36,0xA8,0x30,0x66,0x8F,0xB1, -0x82,0x57,0x48,0xA4,0x67,0x1F,0xF5,0xEB,0xD0,0xA2,0xFB,0xF9,0x4E,0xCD,0x6C,0x2A, -0x7B,0xEC,0xC9,0x52,0x20,0xEB,0x0F,0x1C,0xC5,0xEE,0x37,0x47,0xF0,0x7E,0x9F,0x0E, -0x91,0xB5,0xB6,0x25,0xD3,0xB5,0xA0,0x98,0x52,0x83,0xCB,0xA6,0xEC,0x78,0x8F,0xF0, -0x84,0x32,0xF1,0xBE,0x0F,0xB9,0x2E,0x05,0x27,0xDF,0xE8,0x8C,0x14,0xE9,0x8F,0xF5, -0xF0,0x8B,0x09,0x48,0xE3,0xDC,0x87,0xAE,0x03,0x5C,0xC1,0x4D,0x90,0x54,0x98,0x1D, -0x50,0x69,0x4D,0x70,0xA9,0xE8,0x65,0x1A,0x1B,0x46,0xB8,0x53,0xC6,0x0A,0x48,0x9C, -0xFC,0x2A,0xD2,0x17,0x36,0x5E,0x3D,0xC3,0x87,0x38,0x7D,0x27,0x5C,0xA5,0xE3,0x3A, -0xAA,0x60,0x78,0xE3,0x60,0xA1,0xB3,0x26,0xD8,0xDC,0x91,0x9E,0x5C,0x41,0x23,0x3B, -0xE5,0xB4,0xA7,0x97,0x86,0xF6,0x8C,0x14,0xA9,0x78,0xDA,0x15,0x6C,0xF9,0x0F,0xF6, -0xB4,0xF6,0xBF,0xCE,0xE2,0xD0,0x71,0x59,0x8D,0x0A,0x0F,0xC7,0xCA,0x3B,0x1C,0x48, -0x46,0x2F,0xEC,0x30,0xAF,0x69,0x7D,0x43,0x2F,0xC7,0x55,0xD3,0xD4,0xE3,0xFE,0x13, -0x9E,0xDC,0x4F,0xFE,0x6A,0xAE,0x5F,0x10,0x38,0x3E,0xBC,0xE8,0x70,0x38,0xB9,0xC1, -0x82,0x92,0x2E,0x6B,0x13,0xCA,0xCC,0x75,0x3D,0x90,0xB2,0x9E,0x53,0xF2,0x2F,0xDF, -0xD1,0xF0,0xD7,0x1E,0x07,0x5C,0xCA,0x0D,0x4A,0xF6,0xAC,0x6A,0x04,0x09,0xBA,0xA1, -0x87,0x57,0x6B,0xE2,0x2A,0x19,0x84,0x59,0xF3,0xAC,0x70,0xEE,0x59,0x1C,0x93,0xEF, -0x57,0x4C,0xAD,0xDA,0x55,0x14,0x7A,0xFB,0x2C,0xAD,0x8B,0xCC,0x28,0x73,0xF8,0xBE, -0x4A,0xC5,0xEB,0x2A,0x14,0x17,0x54,0x02,0xFA,0xCC,0xA9,0x33,0x55,0x2E,0x65,0xDE, -0x31,0x49,0xD9,0x21,0x61,0x2F,0xA8,0x4B,0xA5,0xE6,0xD7,0xA4,0xC8,0x9B,0x92,0xA8, -0x86,0x03,0xDC,0x58,0xA6,0x20,0x67,0xE4,0x04,0x49,0x08,0xCF,0x88,0x63,0x7B,0x75, -0xC1,0x25,0x8F,0x1D,0xD1,0x18,0xCF,0xF2,0x77,0x4C,0xE7,0xD7,0x53,0xA2,0x62,0x2D, -0xB9,0xDE,0x98,0xC3,0xEA,0x12,0xA0,0x9F,0xDD,0x06,0x29,0x40,0xDE,0x5F,0x17,0x27, -0x7F,0x87,0x70,0x1D,0xBF,0x99,0xEF,0x8E,0x36,0x48,0x6A,0xA9,0xCE,0xDF,0x33,0x10, -0x64,0x44,0xD8,0x9F,0x6D,0x49,0x5D,0x96,0x14,0x7B,0x88,0x9F,0x98,0xC9,0x1D,0x84, -0x13,0x98,0xFC,0x2F,0x68,0x01,0x44,0x02,0xF3,0x57,0x47,0x37,0x4B,0x33,0xE0,0x77, -0xD3,0x0A,0xAD,0x89,0x46,0xBD,0x02,0x8A,0x00,0x58,0xF3,0x6D,0xDE,0x7B,0xB3,0x43, -0x3A,0xCF,0xA5,0x1C,0xAC,0xCB,0xA9,0xF5,0x15,0xF3,0xD4,0x7E,0xDC,0xC0,0x38,0x71, -0x1A,0x83,0x0B,0xBC,0xA0,0x3C,0x78,0xB0,0xCD,0xB0,0xEE,0x41,0x87,0x44,0xAE,0xC3, -0xD8,0xE5,0xE6,0xD2,0xE5,0x2D,0x4D,0xDA,0xA6,0xB7,0xA8,0x2F,0x18,0x65,0x65,0x79, -0xC2,0xD8,0xBC,0xE8,0x6C,0x3E,0xEB,0xEB,0x2A,0xCB,0x05,0x5A,0x0A,0x39,0x27,0xF8, -0xC3,0x0A,0xC4,0xD3,0x19,0x37,0x36,0xB6,0x04,0x43,0x48,0xC5,0x99,0xE6,0xB4,0x11, -0xB0,0x9A,0x4B,0xB6,0xB8,0x5B,0x70,0xB3,0xF3,0x77,0xD2,0xCC,0x5C,0xEC,0x06,0x17, -0x98,0x68,0x59,0xBA,0xA2,0x79,0x82,0x30,0x72,0x5C,0x1E,0xC8,0x3A,0x6F,0x0E,0x1A, -0xAF,0xB4,0x52,0x3D,0xDD,0x11,0xD3,0xEB,0x98,0xA3,0x06,0x77,0xCB,0x71,0xF3,0xF5, -0x36,0x4D,0xBA,0x52,0x5E,0xA0,0x2B,0x3A,0xC7,0x68,0x6B,0x30,0x6F,0x32,0x93,0x0A, -0xB3,0x0F,0x3C,0xA5,0x01,0x74,0x59,0x5F,0xA9,0x69,0x2C,0xA8,0xCE,0x59,0x17,0xAA, -0x1D,0xD0,0x4E,0x6F,0x18,0x10,0x6C,0x43,0x1A,0xD6,0xC4,0x21,0xF5,0x34,0x8D,0x52, -0x0C,0xDB,0xBD,0xE3,0xAE,0x9D,0xC4,0x1F,0xB5,0x78,0x16,0xBD,0x36,0x6C,0xFD,0xC0, -0x93,0xB3,0xE8,0x1D,0x7A,0xE1,0xF0,0x9F,0xBD,0x2F,0xE2,0x0E,0x85,0xA6,0x3B,0xBA, -0xAD,0xFC,0x03,0x35,0x98,0x52,0xB0,0x1D,0x46,0xB5,0x85,0x74,0xC0,0xE0,0x43,0x9A, -0x4F,0x49,0xB3,0xDA,0xD2,0x77,0xE8,0x48,0x85,0x24,0x35,0xBA,0x85,0x92,0x77,0xB6, -0xC6,0xAB,0xF5,0xD5,0xF7,0xB6,0x88,0xC1,0x49,0xDA,0xA3,0x40,0x18,0x00,0x3E,0x68, -0x22,0xCC,0x86,0x86,0xDD,0x24,0x14,0xF0,0xD3,0xD7,0x5D,0xE7,0x5A,0x75,0x31,0x91, -0x40,0x32,0xBC,0x88,0x4C,0x1B,0xAA,0x7A,0x41,0x4D,0x28,0x78,0x28,0x83,0x12,0xE8, -0x94,0xFE,0xD2,0x4E,0x02,0x7A,0x89,0x50,0xD5,0x18,0x9A,0x83,0x46,0x15,0x2B,0x73, -0x60,0xA6,0x78,0x70,0xFC,0xEA,0x9D,0x4A,0xBB,0xE7,0x0D,0x7C,0x0C,0xCF,0x4E,0x12, -0xC5,0x41,0x81,0x32,0x27,0xE9,0x23,0x79,0xC1,0xC4,0xF4,0xEA,0x27,0x61,0x62,0x74, -0xB1,0x2B,0x97,0x02,0xA9,0x8C,0x81,0xF1,0x42,0x29,0xDD,0x8C,0x7C,0xDC,0x15,0x7A, -0xA4,0x2C,0x53,0x6F,0x49,0x80,0x48,0x6B,0xE5,0xCA,0xFE,0x08,0x80,0x4D,0x35,0x55, -0x4E,0xBD,0xE0,0x33,0xA5,0xDE,0xF4,0xE4,0xF1,0x2D,0x02,0x5A,0xDB,0x4B,0xBA,0x73, -0xB7,0xA7,0x04,0xFA,0xAB,0x2A,0x1D,0x49,0xB9,0x58,0xCE,0x1D,0xFF,0xF8,0x9C,0x65, -0x78,0x0A,0x27,0x5F,0xDB,0xC7,0x6A,0x6A,0x92,0x11,0x03,0x84,0x29,0x53,0x6B,0xC7, -0x8A,0xDD,0x72,0xE4,0x8B,0x04,0x35,0x1F,0x39,0xD9,0xD5,0xC8,0x3B,0x23,0x9D,0xDA, -0xE4,0x15,0xA8,0x5C,0x0D,0x76,0x02,0xDB,0xBE,0xBF,0xBA,0x7A,0x9F,0x21,0xB6,0xEE, -0xD6,0xE8,0x0E,0x53,0xEB,0xCC,0xEF,0x21,0x92,0xF8,0x0E,0xD8,0x72,0x67,0x71,0x6D, -0x26,0x9D,0x3B,0x8C,0xD6,0x9C,0x4E,0xFB,0xD2,0x30,0xF0,0x8F,0xE9,0xEB,0x74,0x1F, -0xB5,0x70,0xF3,0xC8,0xAD,0x9F,0x26,0xCA,0x71,0x3E,0x81,0x7D,0x92,0xDB,0xF8,0xC8, -0x4C,0xE1,0x67,0x2E,0xB6,0x07,0x33,0x5A,0x37,0x4A,0x3F,0x73,0x2F,0xF7,0xD1,0x08, -0x89,0x87,0xD6,0x91,0xA1,0x3D,0x59,0xBE,0x48,0x52,0xF5,0x78,0xE9,0xBF,0x37,0x1A, -0x6E,0x29,0x05,0xE7,0xF3,0xF1,0x49,0xE6,0xE0,0x89,0x84,0x7F,0xEF,0xBE,0x68,0xC5, -0xEF,0xC1,0x8B,0xF6,0xEF,0xFF,0xBB,0xE3,0x47,0xFA,0x0B,0x5C,0xA3,0xA7,0x39,0x23, -0x7E,0xE7,0x68,0x57,0x02,0x62,0x18,0xD7,0x43,0xCE,0x72,0x0A,0x8F,0x43,0xE4,0x71, -0xFB,0x56,0xD0,0xA6,0xE8,0xD9,0xFF,0x32,0xEA,0x3C,0xCD,0x98,0x1C,0x7C,0x7C,0xA5, -0x51,0x9D,0x1D,0x80,0x45,0x56,0x38,0x3D,0x9C,0x54,0x25,0xFF,0x3B,0xFA,0x08,0x43, -0x8F,0x5A,0x59,0x66,0xFE,0x96,0x38,0x88,0xF2,0xBB,0x8E,0x4D,0x6A,0xFD,0x22,0x49, -0x54,0x74,0x65,0xC6,0xB5,0x45,0x36,0x17,0xC0,0xFD,0x68,0xAC,0x05,0x8D,0x00,0x84, -0xED,0xB8,0x96,0x25,0x1F,0x95,0x0F,0xF2,0x85,0x19,0x27,0x4B,0x06,0x97,0x84,0x32, -0x2B,0x29,0x8B,0xDF,0x9C,0x90,0x37,0xD1,0x1A,0x75,0x66,0x51,0x3A,0x30,0xDE,0x98, -0xAB,0xAE,0xD9,0x87,0x02,0xC8,0xB9,0x03,0xDE,0xB9,0x58,0xAA,0xB5,0x1F,0x67,0x41, -0x5A,0xBE,0x49,0x89,0x6F,0x42,0xF9,0x9F,0x52,0x0C,0x6D,0x64,0xB9,0xBB,0xAA,0x7C, -0xBC,0x80,0x53,0xDB,0xEC,0xC4,0x50,0xB9,0x82,0x39,0x76,0x64,0x7D,0xC6,0xF7,0xF7, -0x7A,0xE9,0x75,0x24,0x02,0xC1,0xF3,0x49,0xD0,0x13,0x37,0x16,0x1E,0x61,0x5B,0xBC, -0xFA,0xE5,0x03,0xCC,0x59,0x99,0x04,0xA3,0xBD,0x3D,0x09,0x36,0x79,0x4E,0x88,0x74, -0x0B,0x01,0x70,0x41,0xA7,0x13,0x48,0x98,0x90,0xE1,0x3C,0x2A,0x34,0xEA,0xDC,0x76, -0xAA,0x5E,0xA9,0xED,0x30,0x88,0xBC,0xD8,0x28,0xCE,0x9C,0x3E,0x61,0x2D,0x56,0x03, -0x00,0x24,0x28,0xB4,0xD9,0x07,0x88,0xAD,0x70,0x58,0x74,0xDB,0x6A,0xAB,0x54,0xF9, -0xDE,0xF3,0xFF,0xDC,0xAE,0xC7,0x51,0xAD,0x91,0xB1,0xDF,0x24,0xAE,0xAC,0xE8,0x9A, -0x05,0x54,0xCF,0xCD,0xD4,0x14,0x1D,0x1C,0x5B,0xEE,0x39,0x0B,0x30,0xDC,0x1B,0x03, -0xD8,0xE5,0x28,0x05,0x71,0x6C,0x93,0xF7,0xCD,0x67,0xA4,0xE7,0xB9,0xEE,0xB0,0xE7, -0x3F,0x59,0xE2,0xE7,0xEE,0xA0,0x72,0xB7,0xD4,0x69,0xD5,0xD2,0x73,0xEF,0x22,0xE9, -0xBE,0x7F,0x94,0x90,0x05,0xAE,0xB9,0x14,0x7E,0x5C,0x5A,0xE0,0x54,0xF6,0x34,0x32, -0x2F,0x24,0x99,0x1E,0xBE,0x33,0x57,0xAE,0xC9,0xE7,0x23,0x4C,0x85,0x12,0xDA,0x26, -0x87,0x0A,0x90,0xE7,0x68,0x9D,0xF4,0x5F,0x86,0xA2,0x5F,0x08,0x80,0x36,0xA4,0x98, -0x77,0x15,0x4E,0x60,0x3A,0xCD,0xAB,0xD0,0x67,0x96,0xA1,0x2D,0x79,0xBA,0x5B,0x7D, -0xE4,0x63,0x1D,0xF1,0x5E,0xCE,0xD1,0x74,0x67,0x86,0xD0,0x11,0xC1,0x8A,0xFB,0x8B, -0x1D,0x8D,0x81,0xF8,0xA4,0x56,0x3B,0x19,0x6E,0xF1,0x6E,0x14,0x25,0xA6,0x1D,0xBD, -0xE6,0xCA,0x67,0x38,0x7F,0x7B,0x43,0xB4,0x4D,0x66,0x9F,0xAD,0xEE,0xA9,0x5F,0xF3, -0x29,0x76,0x54,0x63,0xDE,0x96,0xE5,0x2B,0x14,0xC9,0x52,0x68,0x2C,0x02,0x3A,0x15, -0xDB,0xC8,0xFA,0x48,0x5E,0x55,0x7E,0x87,0x08,0x64,0x84,0x40,0x52,0x72,0x42,0xB8, -0xB5,0x4A,0xD0,0x6B,0x8D,0x27,0x10,0x9E,0x1E,0xB4,0xEB,0xDC,0xF8,0x70,0xA5,0x52, -0x94,0x73,0xD1,0x7A,0x48,0xB8,0xAE,0x8B,0xF0,0xF3,0xA5,0x36,0x2D,0x30,0xBF,0x43, -0xE0,0xFB,0x71,0x88,0x40,0xDD,0xA5,0xB9,0x54,0xC4,0x8C,0x72,0x3F,0x8D,0x7A,0x48, -0xF5,0xB7,0x58,0x6E,0xF6,0xD1,0x78,0x0F,0xBF,0xE6,0xAF,0x2D,0x8F,0x1C,0x62,0xE9, -0x1F,0x9E,0x07,0x11,0x22,0x8F,0xDE,0xB2,0x10,0x2D,0x53,0x72,0x88,0x1A,0x09,0x3B, -0x73,0xDF,0xCA,0x7E,0xE4,0x75,0x6D,0x7C,0x4B,0x93,0x0C,0xF8,0xBC,0x24,0x0C,0x33, -0x11,0x83,0x20,0x47,0xC4,0x4A,0xF3,0x35,0x60,0x1C,0x79,0x0D,0x0B,0xD2,0xDF,0x34, -0xC5,0xFA,0x76,0xB3,0x34,0x2B,0xAF,0xA4,0x07,0x6A,0xCB,0x10,0x53,0x44,0x2C,0xEA, -0x31,0x7B,0xDD,0x3C,0x4F,0xBB,0xEC,0x3B,0x73,0x26,0x5C,0x6E,0x10,0x9E,0x32,0xE1, -0xC2,0x7D,0xF7,0xEA,0x16,0xB0,0xB4,0x3A,0x7C,0x94,0xB3,0x1A,0x65,0xF7,0x57,0xE6, -0xFC,0x98,0xDC,0x48,0x2E,0x03,0x03,0x7E,0xA7,0x2E,0xD4,0x34,0x24,0xB1,0x91,0xE5, -0x1E,0xFE,0xE1,0x95,0xD7,0x26,0x2B,0x30,0x5D,0x00,0x64,0x60,0x21,0xC3,0x58,0x1B, -0x97,0x82,0x53,0x34,0x81,0xE7,0x44,0x4C,0x62,0x5B,0xF2,0x3F,0x61,0x51,0x1C,0x0A, -0x67,0x41,0x71,0x07,0x58,0xF1,0x4D,0x6D,0xA3,0x99,0x3A,0xA3,0xAE,0x63,0x85,0x44, -0xE2,0xC2,0xF9,0xD0,0x4F,0x25,0xAA,0xE2,0x1E,0x97,0x7D,0xB6,0xC5,0x08,0xA6,0x5B, -0x4C,0x45,0xC2,0x43,0x66,0x41,0xAC,0xF4,0xE9,0xFC,0x95,0xD4,0x15,0x65,0x77,0x1E, -0x5D,0xFE,0x12,0x0E,0x03,0xCC,0x87,0x84,0xBE,0x4A,0x47,0xA8,0x23,0x3D,0xF7,0x27, -0x92,0xCC,0x93,0x45,0x65,0x66,0x73,0xBE,0x0D,0x33,0x19,0x80,0x04,0xB7,0xA6,0x9A, -0xE1,0x4E,0xEB,0xBB,0x01,0x0A,0x98,0x43,0x30,0x05,0x83,0x73,0xA2,0xBD,0xF3,0x2C, -0xC9,0xAC,0xA5,0xCA,0x80,0x28,0x8D,0x3C,0xCD,0x21,0x4F,0xE3,0x97,0x3E,0x96,0x9A, -0xFE,0x90,0x0D,0x81,0x47,0x40,0xD1,0x51,0x88,0x6D,0x57,0xDD,0xCC,0x20,0xC5,0x95, -0x6B,0x14,0xDE,0xC0,0xF4,0x9A,0x67,0x3A,0xEB,0x14,0x85,0x72,0x57,0x91,0xBB,0x92, -0x4B,0x1B,0x69,0x3F,0x9F,0x6D,0x3A,0xB6,0x5B,0xD5,0xBF,0xCB,0x61,0x15,0xD8,0xDB, -0x89,0x3D,0x45,0xCC,0x5B,0x7C,0x02,0x5A,0xDE,0x57,0xF9,0x26,0x27,0x34,0xD3,0xA0, -0x93,0x0C,0xE9,0x5D,0x81,0x6F,0xC2,0xF7,0xF8,0x38,0x54,0xCF,0xD6,0x68,0x62,0x22, -0x2E,0x66,0x67,0x86,0xB5,0xC8,0x84,0x54,0x61,0x14,0x3B,0x2C,0xD2,0x8E,0xB2,0x4C, -0x35,0x2B,0x94,0xBD,0x42,0x18,0x19,0xDD,0x4C,0x6E,0xD9,0xDD,0x85,0x98,0x1E,0x56, -0x42,0x1A,0xAB,0x7E,0x1B,0x50,0x52,0x98,0xEF,0x13,0x16,0xAC,0xC4,0x62,0x38,0x2F, -0x82,0xD4,0x8C,0xE9,0x9A,0xEC,0x08,0xDC,0xA6,0xB9,0xA2,0x49,0x50,0x2A,0x8F,0x0B, -0x60,0xE1,0xC8,0x2D,0x86,0x7E,0xF6,0xB7,0x68,0xCD,0x86,0x9E,0x45,0xCA,0x79,0xBE, -0xD7,0x17,0x4A,0x1E,0x72,0x71,0x58,0x10,0xA1,0xC5,0x59,0xEA,0x00,0x32,0xBC,0x2F, -0x90,0x57,0xB3,0xA0,0x7E,0x49,0x14,0xBE,0x45,0x02,0xB6,0x4A,0x4B,0xF3,0x35,0x78, -0xE8,0x68,0x1C,0xDF,0x28,0x43,0xC4,0xED,0x23,0xEE,0x78,0x74,0xCC,0x0E,0xEE,0x97, -0x80,0x03,0x65,0xCF,0xB8,0x0D,0xB1,0xE3,0x02,0x29,0xFD,0x92,0x8D,0x58,0x39,0x7C, -0xD6,0x08,0x9E,0xA2,0x5E,0x48,0x98,0x8E,0x57,0x04,0x21,0xE3,0xCB,0x4D,0xFE,0xEA, -0x06,0x6A,0x60,0x72,0x7B,0x45,0x39,0xA7,0x3F,0x00,0xDA,0xBD,0x6D,0x22,0xB2,0x22, -0x1B,0x14,0xE6,0x70,0x83,0x46,0x2D,0x3D,0x17,0x97,0xF8,0x55,0x30,0x7F,0x90,0x53, -0xE5,0x49,0x21,0x38,0x57,0x81,0xF1,0x0F,0x19,0xAB,0x5E,0x15,0xFA,0x6A,0x77,0xDE, -0x17,0xB6,0x8D,0x88,0xC5,0x38,0xC6,0x66,0x80,0x28,0x04,0xDB,0xF5,0xB2,0x54,0x08, -0xCF,0x0B,0xC0,0x47,0x33,0xFF,0x20,0x13,0x6E,0xE8,0xED,0xE1,0x3E,0x69,0xE3,0x30, -0xD3,0x6A,0x8B,0x3C,0x9A,0x9B,0x5A,0x0D,0x12,0xAF,0xE3,0x3E,0x55,0xA3,0xB1,0x16, -0x01,0x27,0xBE,0xC5,0x1A,0xB9,0xF4,0x29,0x41,0x83,0xE9,0x1F,0x56,0x5B,0x8B,0x45, -0xAD,0x01,0x66,0x19,0xDC,0x0F,0x8C,0xB8,0xB0,0x89,0x2C,0x18,0x3B,0xF4,0x6B,0x9A, -0xFB,0x1B,0x58,0xB5,0x03,0xF0,0xD4,0x27,0x28,0x22,0xC0,0xD5,0x3B,0x10,0x74,0x41, -0xB4,0xB4,0x1A,0x71,0x55,0xA7,0x24,0x93,0x96,0x3E,0x8B,0x21,0x90,0xA8,0xDC,0x8C, -0x1F,0xD3,0x1F,0xF5,0xCD,0xD7,0x69,0x8E,0xEF,0x80,0xEF,0x35,0xD9,0xA4,0xFC,0x60, -0x33,0x1E,0x21,0x72,0xBB,0x69,0xA5,0x15,0x32,0xFC,0x77,0x86,0xD4,0x5D,0xF8,0xDD, -0x03,0xB2,0x52,0x0F,0xCC,0x18,0x3F,0xC2,0x55,0xFD,0x74,0x88,0xF8,0xCE,0x1F,0x27, -0x8F,0x10,0x7D,0x1A,0xD2,0xE6,0xFC,0x0F,0x7C,0xA4,0x24,0xFB,0xEC,0x3E,0xEB,0x41, -0xAB,0xCC,0xC2,0x97,0xBF,0x9A,0xF6,0xA2,0xA6,0xB0,0x8A,0xDB,0x5E,0x96,0x89,0xE1, -0x4F,0xC0,0x5C,0x80,0x5C,0xE3,0x57,0x1B,0xD0,0x28,0x17,0x53,0xBD,0x07,0x3C,0x3B, -0x56,0x9A,0x5A,0x70,0x8F,0x6C,0x6C,0x81,0xFA,0xCD,0x19,0x03,0x8D,0x86,0x6E,0x83, -0x57,0x8A,0x25,0xE3,0x89,0x1D,0xAE,0xF4,0x05,0x58,0xD5,0xA5,0x44,0x61,0x35,0xAF, -0x65,0x2C,0xB9,0xF3,0xB4,0x80,0xA1,0xE5,0xEE,0x82,0xAD,0xDB,0x6B,0xBC,0x78,0x49, -0x15,0xF9,0xD5,0x89,0xA4,0x66,0x8C,0xCC,0x6A,0x9E,0x7E,0xE8,0xF1,0x67,0x1C,0x31, -0x12,0x30,0x57,0x17,0x0A,0xCD,0x99,0xBC,0x39,0xE1,0xBE,0x06,0xD7,0xB9,0xBE,0x4E, -0x94,0x8F,0x9D,0xBA,0x16,0x25,0x23,0xDD,0x59,0xE6,0x31,0x75,0xB5,0x13,0x77,0x89, -0x53,0xEA,0x43,0x73,0xE0,0x85,0xD8,0xB1,0xC7,0xD7,0xAA,0x9E,0x88,0xB2,0x20,0xDD, -0xF7,0xBA,0x3F,0xAD,0xE1,0xB0,0x37,0x14,0x28,0x50,0x20,0xC2,0xE9,0x43,0xC5,0x75, -0xD8,0x6E,0xC2,0xD7,0x58,0x8E,0x47,0x3F,0x01,0xE5,0x78,0x99,0x5B,0xC3,0xF8,0x4B, -0x7F,0xBD,0x43,0xFF,0xAD,0xCF,0x39,0x37,0xE9,0x35,0x7D,0x7B,0x07,0x05,0xEA,0x8F, -0xE8,0x2B,0x84,0x8B,0x35,0x4B,0xD4,0x0C,0xF5,0xBB,0x5E,0xCE,0xC3,0x2E,0x39,0xDE, -0x7A,0xD2,0x48,0x44,0x24,0xDD,0x87,0x52,0x09,0xD9,0x9F,0x20,0xD2,0xA7,0x64,0x90, -0x08,0x23,0x19,0x45,0x26,0x6D,0xB2,0xA9,0x59,0xB2,0xBA,0x63,0xC9,0x45,0x2E,0x6D, -0x4E,0x00,0xA6,0x56,0xC5,0x0A,0x35,0xEF,0x1D,0x1D,0x09,0x76,0x20,0x7B,0xC1,0xF8, -0x27,0x9F,0xAB,0x8F,0x9B,0xE5,0xD0,0x08,0xD9,0x93,0x02,0x93,0x13,0x88,0xB7,0xD4, -0xFD,0x6D,0x5D,0x17,0x3F,0x72,0xD4,0xB2,0x77,0x6B,0x92,0xA3,0xF2,0x7C,0xDE,0x14, -0x6B,0x9E,0xF3,0xED,0x1C,0xC0,0xFB,0x15,0x12,0x40,0xF3,0x4C,0xD7,0xA8,0x2C,0x04, -0x9D,0x2A,0x96,0x6A,0xD3,0xB5,0x4F,0x94,0xFD,0xEE,0xCC,0x44,0x7D,0xCA,0x1E,0xF1, -0xA3,0x70,0x97,0x01,0x48,0xEA,0x9F,0x08,0x03,0xF9,0x36,0x29,0x92,0xA6,0xF3,0x34, -0xA5,0xC6,0x87,0x18,0x93,0x16,0xE9,0x00,0x24,0xF3,0x68,0x98,0x65,0x4C,0xF1,0x33, -0x34,0x76,0xF5,0x51,0xDA,0x35,0x33,0x6A,0xD8,0xB9,0x64,0xF3,0x7B,0x59,0x55,0x24, -0x89,0x08,0xD6,0x86,0x40,0x1C,0x14,0xA0,0xB2,0x48,0x01,0x8B,0x9D,0x2D,0x67,0x7A, -0xC9,0xD8,0xD6,0xBD,0x1E,0x52,0xAD,0xD9,0x03,0x43,0x9E,0xDD,0x81,0x0C,0x63,0x7A, -0xCB,0x10,0x31,0x74,0x5D,0x3D,0x5C,0x28,0x47,0xBA,0xEC,0x2D,0x60,0x62,0x84,0x44, -0xBB,0x03,0x32,0x42,0xE1,0xEB,0x36,0xCA,0xBE,0x59,0x2F,0x95,0x4F,0x90,0x66,0xA9, -0x10,0x04,0xFA,0x9A,0x92,0x26,0x8F,0x50,0x3C,0xF2,0xC2,0x8A,0x90,0x5F,0xF1,0xC2, -0x93,0x10,0xBF,0xF5,0xC2,0x1B,0x37,0xA7,0xE5,0x5D,0x55,0xF4,0xDC,0x3B,0x13,0x12, -0xDB,0xA4,0x16,0xA4,0x01,0xAF,0x1D,0xC3,0x05,0x2C,0xE9,0x97,0x3C,0xFB,0x3C,0x90, -0x21,0x8F,0x91,0x5B,0x62,0x60,0xB8,0x78,0x55,0x3A,0xA1,0xA8,0x65,0x8C,0x97,0x36, -0x37,0xBA,0x90,0x6C,0x27,0x82,0xFC,0x0F,0x30,0xBA,0x71,0xEA,0x9C,0x97,0xFF,0x07, -0xD1,0x16,0x0D,0x24,0x5E,0xED,0x5D,0x4D,0xC0,0xF1,0xD6,0x7E,0xB2,0x2A,0x42,0x3E, -0x8D,0xF7,0x70,0x6C,0x5E,0x40,0x07,0x26,0x75,0xE2,0xC5,0x3C,0x95,0x30,0xB3,0xE3, -0xAC,0x30,0x61,0x94,0xCB,0x06,0x5A,0xD5,0x6A,0x1A,0xD4,0x23,0x27,0xF2,0x84,0x48, -0x28,0xD3,0xB4,0x7C,0xD5,0x3C,0x02,0x9E,0x18,0xE4,0x23,0xC8,0x81,0xD2,0xB8,0xB6, -0x99,0x50,0xC7,0x3A,0x58,0xEE,0x9E,0xC6,0x99,0x24,0xF9,0xC0,0x32,0x47,0xA4,0x91, -0x87,0x61,0x25,0x9D,0x67,0xF6,0xED,0x98,0xAE,0xAF,0x91,0xAA,0x78,0x70,0xE3,0xF1, -0x04,0xE3,0x60,0xE0,0x82,0x3A,0x0B,0xA0,0x26,0xD1,0xB3,0xA6,0xD3,0x58,0x7E,0x59, -0x0E,0x1B,0xB6,0xB6,0xEB,0xA0,0x27,0xF3,0x45,0xDC,0xDF,0xC0,0x9F,0x2B,0x0F,0x52, -0x84,0x9B,0x53,0x00,0x2E,0xFE,0x71,0xA2,0x8F,0x9D,0x75,0xFC,0xE3,0xE4,0x2E,0x8E, -0xDC,0xD5,0x2E,0x27,0xDA,0x2C,0x1E,0x4E,0x2A,0x2D,0xF8,0x1B,0x6E,0xF5,0x7A,0x7B, -0xB1,0x79,0x88,0x51,0x16,0xC4,0xD1,0x60,0x77,0xC6,0x9C,0x6E,0x67,0x5B,0x37,0xEB, -0xDA,0x08,0xF7,0x0D,0x94,0x83,0x7F,0x27,0x3E,0x02,0x48,0x59,0xAB,0xDE,0x4D,0x0A, -0x11,0x7F,0x26,0x16,0x85,0x32,0x19,0x33,0xA4,0x5F,0x1E,0x00,0xAC,0x0D,0x9B,0xCF, -0xA9,0xDF,0x70,0x45,0x70,0x79,0x7C,0x0C,0xDB,0x42,0x49,0xD3,0x27,0x42,0x9F,0x7F, -0x4D,0xEF,0x13,0x32,0x8F,0x95,0xD8,0x04,0x2B,0x8E,0xB6,0xAE,0x54,0x14,0x69,0x52, -0xE2,0x8B,0x23,0x0F,0x18,0x50,0x6A,0x13,0x68,0xC4,0x00,0x40,0x75,0xB8,0xC3,0x11, -0x1A,0xCC,0x60,0xD9,0x34,0x5A,0x44,0xE5,0xE0,0x66,0x22,0x11,0xE3,0x6A,0x5A,0x92, -0xD0,0x48,0x9B,0xD5,0xF7,0x54,0x28,0xBB,0x1E,0x78,0x46,0x25,0xDF,0x76,0xFB,0xEB, -0x0B,0xED,0x1C,0xE5,0xCA,0xBD,0x2E,0x32,0x87,0xF7,0x81,0xFE,0x25,0xAE,0xA4,0xC2, -0xD3,0x6E,0x86,0x6D,0xCE,0xE7,0xFF,0x55,0xA9,0x25,0x38,0x38,0x86,0x5C,0x3F,0x3F, -0xC6,0x8F,0x07,0x09,0x9C,0x41,0x0C,0xF8,0x1D,0xC5,0xFF,0x5F,0xB9,0xA2,0x3F,0x3B, -0x9B,0x5E,0x7D,0xD5,0x65,0x63,0x16,0xBE,0xC1,0x64,0xFC,0xEF,0xA8,0xBF,0x38,0x94, -0xF4,0x3C,0x58,0x31,0xB9,0x98,0x8D,0x36,0x8C,0xEC,0xF1,0xDC,0x4F,0x6F,0xEE,0xC8, -0xE1,0x5C,0x0D,0x03,0x5C,0x44,0xDC,0xFF,0xCE,0x35,0xB4,0xE4,0x3B,0x39,0xB7,0x3C, -0xB7,0x97,0x97,0x45,0xE4,0xC1,0xB5,0x86,0x75,0x47,0xFA,0xDB,0x3C,0x51,0x58,0x95, -0x4A,0x3E,0x24,0x22,0xBC,0x0F,0x1D,0x4F,0x2C,0xDA,0xF0,0x7A,0xB0,0x29,0x0F,0xE5, -0x8B,0x34,0xA2,0x0F,0xCE,0xE0,0xA7,0x7E,0x36,0x8F,0xC8,0x03,0x33,0x6E,0x43,0x8C, -0x73,0xFB,0x2A,0xB3,0x18,0x3F,0xA8,0x85,0x4D,0x9A,0xC7,0xD5,0xF7,0xD9,0x63,0x31, -0x9D,0xAB,0xBE,0xAC,0x29,0x78,0xA8,0xD0,0xD4,0xF6,0xA1,0x4A,0x6F,0xB0,0x7E,0x2F, -0x7B,0x60,0x32,0x43,0x9A,0x08,0x06,0x8C,0x52,0xFC,0x7A,0xAD,0x2B,0x63,0x9D,0x01, -0xD0,0x59,0xAC,0xDD,0xBA,0x0F,0xAA,0x4B,0x51,0x42,0xA4,0x58,0xB9,0xA3,0x33,0x3D, -0x38,0x30,0x99,0x92,0x14,0x89,0xD8,0x5C,0x43,0x82,0x0E,0x2D,0xBE,0x2C,0xF4,0x3C, -0x98,0x20,0x62,0x23,0x27,0x4E,0xA5,0x3E,0xA0,0xE2,0xAF,0x30,0xA3,0xB7,0x57,0x4B, -0xAD,0x40,0xD8,0x58,0x02,0xEA,0xB1,0xBE,0x36,0xA5,0x5E,0x25,0x4D,0x3D,0xE7,0xCC, -0x93,0xDD,0x55,0x33,0x2A,0xC5,0xE6,0x84,0x2B,0xEE,0xDE,0xB4,0x9D,0x65,0x6F,0x54, -0xD2,0x09,0x4C,0x82,0x31,0x62,0x23,0x8F,0x32,0xD5,0x18,0x22,0xEF,0x60,0xE3,0x37, -0xCA,0x30,0x3E,0x28,0xEA,0x02,0x4D,0x78,0x21,0x75,0xB9,0x66,0xFD,0xF2,0xE3,0x3A, -0x74,0xBE,0x05,0x1A,0x5A,0x2E,0x39,0x9E,0x19,0x71,0x40,0xBE,0x24,0x6A,0xA8,0x82, -0x05,0xAC,0x5F,0xCB,0xDB,0x1E,0xB7,0x7D,0xEB,0x4B,0xD3,0x14,0xDC,0x69,0xC4,0x6E, -0xFB,0x5B,0x20,0xDA,0xB7,0x92,0x14,0xEE,0x98,0xC0,0x23,0x9E,0x2B,0x39,0xEE,0x18, -0x87,0xB0,0xB3,0xDA,0x53,0xB6,0xAC,0x0B,0x6B,0xCA,0x8B,0x54,0x82,0x97,0x09,0xD6, -0xFE,0xB2,0x33,0xD2,0x7E,0x52,0x07,0xB0,0xAC,0x96,0x1A,0x9C,0x7E,0x0A,0x79,0xCF, -0x71,0xCA,0x54,0xDD,0x06,0x4B,0x2E,0xE9,0x45,0x6F,0x9B,0x72,0x68,0x04,0x1D,0x92, -0x00,0xDB,0x2A,0xD3,0xD5,0x4A,0xEB,0x32,0x1C,0xA2,0x7C,0x48,0x7F,0xC8,0x28,0x48, -0xF7,0x5E,0x59,0x30,0x7D,0xBE,0x67,0x87,0x48,0x0D,0xBB,0x99,0x2C,0x2B,0x27,0x68, -0x0B,0xB3,0x24,0x27,0x24,0xB8,0x0F,0x66,0xBA,0xF8,0x51,0x91,0xD0,0x75,0xAA,0xD3, -0x28,0x66,0xE9,0x41,0x41,0x29,0xAF,0xAB,0x03,0x13,0x44,0x29,0x9C,0x79,0xEF,0x7E, -0x01,0x00,0xCC,0x20,0x68,0x94,0x77,0x1A,0xB5,0x5C,0x30,0x32,0xD9,0x1C,0xAA,0x51, -0x4F,0x97,0x69,0x11,0x18,0xD4,0x3A,0x66,0x49,0xE9,0x11,0x88,0x93,0x83,0x19,0x80, -0x20,0x55,0x0C,0x88,0xAE,0xD6,0x3D,0xFB,0xF6,0xD0,0x7F,0x28,0x11,0xF1,0xD2,0xCB, -0xF6,0xC4,0x4D,0xE6,0x0C,0xA6,0x70,0x1A,0xF8,0xC4,0x8D,0xDC,0x62,0x32,0x02,0x57, -0x3B,0x51,0x30,0xE3,0x85,0x0D,0x13,0x14,0x83,0x92,0x42,0xB4,0xF7,0xDF,0x56,0xDF, -0x56,0xBA,0x05,0x3E,0xAC,0xF5,0xEF,0x0F,0xBE,0xB1,0x33,0x1D,0x48,0x43,0x0E,0x18, -0xC0,0x74,0x14,0x35,0x8C,0x67,0xEF,0x0A,0xE0,0x2F,0xBA,0x4A,0x71,0x82,0x40,0x3B, -0x70,0x77,0x26,0x4C,0x19,0x15,0x37,0xE0,0x52,0x29,0x58,0xAA,0xE4,0xA7,0x4B,0x78, -0x17,0xFD,0xF6,0x73,0x64,0x53,0x9D,0x29,0x3C,0xCB,0x66,0xD1,0x2C,0x14,0xE1,0x01, -0xF8,0xEB,0xD7,0xF4,0xA8,0x3A,0x4E,0xF0,0xF7,0x04,0x95,0xA3,0xC8,0x1F,0xE3,0xAE, -0x6F,0x79,0xAA,0x6D,0xA5,0xE0,0x2C,0xC4,0x1E,0xF2,0x61,0x0C,0x77,0x8F,0x62,0x1D, -0xDD,0xED,0x96,0x58,0xE5,0x76,0x2A,0x6F,0x92,0xF1,0xB5,0xBE,0xE9,0xEE,0x61,0x6C, -0xA8,0xD5,0xA6,0x82,0xA6,0x80,0x82,0x8B,0x02,0x90,0xD7,0x9C,0xC9,0xD1,0x9A,0x3B, -0xF3,0x30,0x9B,0x98,0x47,0x84,0xED,0x6C,0xB6,0x1A,0x5A,0x47,0xE7,0xE4,0xBE,0x65, -0xEB,0xB5,0x8C,0xA8,0x71,0x9A,0x9B,0x85,0x58,0xFC,0x6D,0x23,0xB0,0x8C,0x72,0x00, -0x27,0xFD,0xA9,0x94,0xFA,0x19,0x18,0x04,0xBD,0x46,0x45,0x35,0x1B,0xAE,0x55,0x50, -0xBD,0x2A,0x92,0x98,0x7B,0x13,0x75,0x28,0xA9,0xE8,0x36,0x02,0x0B,0xC2,0x18,0xCD, -0xE3,0x42,0xBA,0xAB,0x3F,0x99,0x52,0x7D,0xB6,0xFB,0xF9,0xE1,0x3D,0x68,0x89,0x3C, -0x31,0xD6,0x22,0x88,0xE5,0xC1,0x4F,0x25,0x1F,0xBF,0xE8,0x43,0x13,0xE5,0x40,0xD0, -0xD9,0xCB,0xEA,0xD2,0x5F,0xAC,0x99,0xEC,0x17,0x92,0x46,0x61,0xFD,0x81,0x7E,0x2D, -0x9E,0x31,0x90,0xDF,0xE0,0xC7,0xE5,0x14,0x08,0x40,0xC3,0xFB,0x9A,0x55,0xC8,0x19, -0x06,0xF0,0x6E,0x0F,0xBB,0x8E,0xE3,0xD0,0x6C,0xB2,0x26,0x6C,0x5D,0x48,0x3D,0xF9, -0xB2,0x09,0x5E,0xD6,0x72,0xC6,0x9C,0x6A,0x05,0x65,0xE6,0x89,0xAD,0xF4,0xC4,0x41, -0x7D,0x7B,0x0A,0xB4,0x00,0x3C,0x43,0x59,0xF7,0x56,0x91,0x55,0xF1,0xBC,0x32,0x71, -0x9F,0x4A,0xC3,0xFE,0x61,0x2A,0x99,0x83,0xAB,0x19,0x8A,0x73,0x97,0x6C,0x5C,0x61, -0xF0,0x0C,0x34,0x96,0x9E,0xCC,0x2F,0x04,0x63,0x3C,0x37,0x23,0xC7,0xCB,0x15,0x8E, -0x5D,0xC0,0x7C,0x84,0x9C,0x90,0x3F,0x79,0xE5,0x66,0x2D,0x4F,0x55,0xD8,0x53,0x64, -0x1B,0x02,0x0C,0x07,0x41,0xB1,0x22,0x92,0x6A,0x7C,0xEF,0x38,0xDE,0xC9,0xD8,0xBA, -0x21,0x9A,0xB8,0x99,0x61,0x35,0x03,0x31,0x28,0xE2,0xCF,0xFF,0xF5,0x3E,0x30,0xD2, -0x5C,0x1A,0xD9,0xC6,0x97,0xDB,0xC0,0x52,0x03,0x18,0xBF,0xA9,0x2A,0xE2,0x53,0xFB, -0x7E,0xB0,0x51,0x7B,0xA2,0x86,0xC1,0x8B,0xDF,0x51,0xA2,0x4A,0xE2,0xE1,0x16,0x2D, -0x85,0x1A,0x41,0xBA,0xF4,0xE9,0x6B,0x2A,0x61,0xD6,0x72,0xD2,0xBC,0xEC,0x74,0x86, -0x59,0xFB,0xCF,0xAC,0x6D,0xFC,0xEA,0x2A,0xD3,0x72,0x24,0x82,0x6C,0xA9,0x5E,0x56, -0xDC,0xBB,0xCC,0x76,0xCB,0xAA,0x93,0xF6,0x6B,0xB4,0x4C,0xB3,0x49,0xE7,0xD6,0xF1, -0x12,0xAE,0x1F,0xAA,0xE6,0x57,0x1F,0x80,0x02,0x5D,0x34,0x7F,0x8B,0xED,0x71,0x1E, -0xFD,0x8C,0xA3,0x7A,0x53,0x96,0x08,0x6B,0x09,0xF3,0x73,0xBB,0x16,0xD5,0x13,0x49, -0x22,0x94,0x75,0xC9,0x81,0x6E,0xD1,0xD0,0x13,0xC9,0xC4,0xFE,0x0E,0xDA,0x78,0x28, -0x2F,0x95,0x36,0x05,0xCE,0x0C,0x96,0x96,0x97,0x39,0x10,0x14,0xA9,0x03,0x27,0xB7, -0x64,0x10,0xB3,0xBA,0x53,0xB4,0xBD,0xE7,0x44,0xA4,0x5F,0x4B,0x56,0x54,0x7C,0xBC, -0x88,0x79,0xCA,0x6D,0x46,0x50,0x4A,0xC3,0x46,0x97,0x09,0xD5,0x72,0xAB,0x31,0x33, -0x4D,0xD5,0x56,0x37,0xF5,0xFF,0x86,0x28,0x9F,0x3C,0xA5,0x53,0xEB,0x1D,0xA6,0x63, -0x47,0x76,0xA8,0xCB,0x0B,0x07,0xDF,0xC4,0xB9,0xD4,0x77,0xB3,0x0C,0x3F,0x76,0xF1, -0x49,0xBB,0x97,0x72,0xCA,0xCD,0xDF,0x9A,0x5B,0x25,0x6B,0x53,0xB8,0x5B,0xB3,0x6F, -0xA0,0x6A,0x96,0xF4,0xF0,0x16,0xA5,0xCB,0xD9,0x73,0xB3,0xBD,0xD6,0x9C,0x5B,0xF7, -0xFA,0x5F,0x50,0x73,0x70,0xCE,0x0D,0xEF,0xEA,0xCB,0x41,0x60,0xA2,0x25,0x51,0xDA, -0x0E,0x7D,0xF3,0xF4,0x97,0xAB,0xB1,0xD9,0x70,0xA8,0x7A,0x26,0xE2,0xE5,0x3C,0xAF, -0x8A,0x99,0x3B,0x95,0x65,0x2F,0xE6,0xB0,0xA3,0xC6,0x86,0xA1,0xB0,0x91,0x12,0xB1, -0x9D,0xDA,0xB0,0xD4,0x10,0x93,0x3B,0x2F,0x0C,0x03,0x3F,0x1B,0x31,0x92,0x84,0x68, -0x57,0x15,0x68,0x86,0x15,0x59,0xAA,0xBE,0xB9,0x0E,0x22,0x71,0xC6,0x27,0xFC,0x8D, -0xCE,0x2B,0xAD,0x79,0x50,0x61,0x53,0x97,0x67,0x0F,0x30,0x78,0x52,0xA6,0xAA,0xEC, -0x95,0x6A,0x81,0x76,0x64,0xF5,0x49,0xAF,0xA3,0x42,0x64,0xEC,0x88,0x6B,0xAD,0x4E, -0x37,0x03,0x16,0x59,0xD0,0x65,0x9B,0x9C,0x0E,0x1C,0xE8,0xA1,0xD1,0xA2,0x07,0x89, -0x42,0x5A,0x7D,0xF4,0x33,0x18,0x4A,0x5D,0x2B,0xD0,0xA5,0x8F,0xE4,0xD6,0xDE,0x7F, -0x4A,0xC3,0xA5,0x0C,0x10,0x44,0x77,0xA8,0x89,0xCE,0xCD,0x46,0x31,0x12,0x23,0xE5, -0xDF,0x91,0xB4,0x6B,0x06,0x4A,0x3E,0x6F,0xA8,0x32,0x57,0xB0,0x69,0xEB,0x1C,0xAD, -0x8D,0x01,0xCF,0xEA,0x90,0x65,0x8E,0x5F,0x4E,0x8B,0x68,0xB6,0xF1,0x78,0x9C,0x7D, -0xE2,0x89,0xD0,0x5C,0x42,0xF4,0x86,0x4A,0xC4,0xF3,0xF5,0x17,0x83,0x17,0xC9,0x3B, -0x70,0x4A,0xFC,0x89,0xC0,0x43,0x36,0x0D,0xD6,0xE4,0x35,0x98,0x91,0x25,0xCC,0xAE, -0xD3,0xA7,0x41,0x5E,0x92,0xB7,0xBB,0x6F,0xED,0x9F,0x12,0x1B,0xB4,0xF8,0x99,0xBA, -0x91,0xF6,0xC3,0x7D,0x30,0x71,0x18,0x4F,0xA8,0x5E,0xB4,0x55,0x82,0xD6,0x3A,0x1E, -0x30,0x82,0x89,0xCA,0x53,0xF4,0x5B,0x6C,0x97,0x8B,0x2F,0x2C,0x85,0x07,0xD9,0xAD, -0x54,0xAD,0xA1,0x1A,0x60,0x73,0x8C,0x9E,0x53,0x60,0x79,0x7C,0x51,0xE5,0x79,0x3B, -0x8B,0xA2,0x27,0x4F,0x02,0x44,0xC7,0xBD,0x5E,0x55,0xA6,0xE8,0x76,0xB8,0x2A,0x9F, -0x51,0xCF,0x1E,0x0B,0xD0,0xB7,0x2A,0x8E,0x44,0x96,0xD0,0x62,0x81,0xD2,0xF3,0x88, -0x49,0x75,0x98,0x33,0x44,0x15,0xB9,0xDF,0xAD,0x7A,0x2C,0xC7,0x06,0x9B,0xFC,0xED, -0xF6,0xE0,0xAB,0xB3,0xFC,0xC9,0x71,0x77,0x0E,0x54,0x8D,0xCF,0x92,0x38,0x3A,0x85, -0xC1,0x0C,0x7A,0xC2,0x1F,0x4C,0x19,0x45,0x37,0xCA,0x57,0xFE,0x71,0x52,0x52,0xE6, -0x05,0x02,0x09,0x0E,0x07,0x05,0x00,0x0D,0x0E,0x03,0x0A,0x04,0x08,0x04,0x06,0x0C, -0x03,0x08,0x0D,0x0B,0x0E,0x0F,0x09,0x07,0x0D,0x0A,0x01,0x03,0x0E,0x0D,0x0B,0x0F, -0x0C,0x04,0x01,0x09,0x05,0x07,0x0D,0x09,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,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,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,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,0x05,0x02,0x04,0x06,0x07,0x03,0x01,0x06,0x04,0x05,0x01,0x00,0x03,0x02,0x07, -0x05,0x06,0x02,0x04,0x01,0x00,0x03,0x07,0x01,0x04,0x07,0x00,0x02,0x06,0x05,0x03, -0x06,0x07,0x03,0x00,0x01,0x05,0x04,0x02,0x07,0x04,0x01,0x00,0x06,0x02,0x05,0x03, -0x04,0x05,0x03,0x07,0x00,0x06,0x01,0x02,0x02,0x05,0x06,0x00,0x07,0x01,0x04,0x03, -0x02,0x04,0x07,0x06,0x00,0x03,0x01,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -}; - diff --git a/SPC/Inc/Util.h b/SPC/Inc/Util.h deleted file mode 100755 index 0a270c8..0000000 --- a/SPC/Inc/Util.h +++ /dev/null @@ -1,30 +0,0 @@ - - -/* -#ifdef _LINUX - unsigned long long timeGetTime(); -#endif -*/ -/** -4byte unsinged char * ¸¦ unsigned int ·Î º¯È¯. -@param pData (Input) - º¯È¯ÇÒ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ -@param uData (Output) - º¯È¯µÈ unsigned int Data -*/ -void ConvertUint8ToUint32 (unsigned char* pData, unsigned int* uData); - -/** -unsigned int ¸¦ 4byte unsigned char *·Î º¯È¯ -@param uData (Input) - º¯È¯ÇÒ unsigned int Data -@param pData (Output) - º¯È¯µÈ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ -*/ -void ConvertUint32ToUint8 (unsigned int uData, unsigned char* pData); - -/** - * @fn GetFileLength(FILE *pFp,int *nFileLen) - * @brief Get File length - * - * @param [in] pOutMsg Input File pointer - * @param [out] nOutLen file total length - * @return result of GetFileLength -*/ -int GetFileLength(FILE *pFp,int *nFileLen); \ No newline at end of file diff --git a/SPC/Inc/WhiteBox/SDWAP.h b/SPC/Inc/WhiteBox/SDWAP.h deleted file mode 100755 index 26367c1..0000000 --- a/SPC/Inc/WhiteBox/SDWAP.h +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @file SDWAP.h - * @brief Dynamic white box AES module for SSA(Samsung Security Architecture) - * @author Samsung Dynamic WhiteBox AES - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * @see SDWAP - * @date 2013-01-10 - * @version 1.0 - * @par Copyright: - * Copyright 2013 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of dynamic whitebox table generation is confidential. - */ - - -/** - * @interface SDWAP - * @brief encryption/decryption processing module of SDWAP(Samsung Dynamic Whitebox AES Project Version 2) - * - * @par Features : - * # Functionality1 : encryption/decryption processing module of SDWAP - * @date 2012-01-10 - * @version 1.0 - */ - -#ifndef _SAMSUNG_DYNIMIC_WHITE_BOX_AES_PROJECT_H_ -#define _SAMSUNG_DYNIMIC_WHITE_BOX_AES_PROJECT_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - -#ifndef _WIN - - #define SPC_INTERNAL __attribute__((visibility("hidden"))) -#else - #define SPC_INTERNAL -#endif - -/*! SDWAP return values */ -typedef enum -{ - SDWAP_RETURN_SUCCESS = 0x00000000, /*!< success case */ - SDWAP_RETURN_INVALID_PARAMETER = 0x80000001, /*!< null parameter */ - SDWAP_RETURN_INVALID_TBLSIZE = 0x80000002, /*!< invalid table size */ - SDWAP_TBLGEN_INVALID_OTMZ_LEVEL = 0x80000003 /*!< invalid optimization level */ -} SDWAP_RETURN_VAL; - -/** - * @fn SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev) - * @brief processing encryption or decryption according to the table - * - * @param [in] Table look-up table for SDWAP - * @param [in] TableLen byte-length of look-up table - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @return SDWAP_RETURN_VAL - */ -SPC_INTERNAL SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int isEncryption); - -#ifdef __cplusplus -} -#endif //__cplusplus - -#endif //_SAMSUNG_WHITE_BOX_AES_PROJECT_H_ - diff --git a/SPC/Inc/WhiteBox/SDWAP_TblGen.h b/SPC/Inc/WhiteBox/SDWAP_TblGen.h deleted file mode 100755 index 8cfc9b1..0000000 --- a/SPC/Inc/WhiteBox/SDWAP_TblGen.h +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @file SDWAP_TblGen.h - * @brief Dynamic white box AES table generation module for SSA(Samsung Security Architecture) - * @author Samsung Dynamic WhiteBox AES - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * @see SDWAP - * @date 2013-01-10 - * @version 1.0 - * @par Copyright: - * Copyright 2013 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of dynamic whitebox table generation is confidential. - */ - - -/** - * @interface SWPAv2_TblGen - * @brief table generator of SDWAP(Samsung Dynamic Whitebox AES Project Version 2) - * - * @par Features : - * # Functionality1 : table generator of SDWAP - * @date 2012-11-15 - * @version 1.0 - */ - -#ifndef _SDWAP_TABLE_GENERATOR_H_ -#define _SDWAP_TABLE_GENERATOR_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - -#ifndef _WIN - - #define SPC_INTERNAL __attribute__((visibility("hidden"))) -#else - #define SPC_INTERNAL -#endif - - -/*! SDWAP table generator return values */ -typedef enum -{ - SDWAP_TBLGEN_RETURN_SUCCESS = 0x00000000, /*!< success case */ - SDWAP_TBLGEN_RETURN_INVALID_PARAMETER = 0x80000011, /*!< null parameter */ - SDWAP_TBLGEN_RETURN_INVALID_KEYLEN = 0x80000012, /*!< invalid key length */ - SDWAP_TBLGEN_RETURN_INVALID_OTMZ_LEVEL = 0x80000013, /*!< invalid optimization level */ - SDWAP_TBLGEN_RETURN_MEM_ALLOC_FAILED = 0x80000014 /*!< memory allocation failed */ -} SDWAP_TBLGEN_RETURN_VAL; - -typedef enum -{ - SDWAP_TBL_TBOX = 0x00, - SDWAP_TBL_KEYLOOKUP = 0x01 -}SDWAP_TBLGEN_TYPE; - -typedef enum -{ - SDWAP_DECRYPTION = 0x00, - SDWAP_ENCRYPTION = 0x01 -}SDWAP_CRYPTO_MODE; - -/** - * @fn unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev) - * @brief derivate look-up table from given key - * - * @param [in] Key user key (cipher key) - * @param [in] KeyLen byte-length of cipher key - * @param [in] seed random seed - * @param [out] Table look-up table for SDWAP - * @param [out] TableLen byte-length of look-up table - * @param [in] isEncryption flag ordering encryption or decryption - * @return SDWAP_TBLGEN_RETURN_VAL - */ -unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, int TableType); - -#ifdef __cplusplus -} -#endif //__cplusplus - -#endif //_SDWAP_TABLE_GENERATOR_H_ - diff --git a/SPC/Inc/WhiteBox/SDWAP_defines.h b/SPC/Inc/WhiteBox/SDWAP_defines.h deleted file mode 100755 index e9a1677..0000000 --- a/SPC/Inc/WhiteBox/SDWAP_defines.h +++ /dev/null @@ -1,91 +0,0 @@ -/** - * @file SDWAP_defines.h - * @brief defines the constants, types and macros used in SDWAP(Samsung Dynamic Whitebox AES Project version2) - * @author Samsung Dynamic WhiteBox AES - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * @see SDWAP - * @date 2013-01-10 - * @version 1.0 - * @par Copyright: - * Copyright 2013 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of whitebox table generation is confidential. - */ - -#ifndef _SDWAP_DEFINES_H_ -#define _SDWAP_DEFINES_H_ - -#ifndef _WIN - - #define SPC_INTERNAL __attribute__((visibility("hidden"))) -#else - #define SPC_INTERNAL -#endif - - -//////////////////////////////////////////////////////////////////////////// -// Constants -//////////////////////////////////////////////////////////////////////////// -#define SDWAP_WORD_SIZE 4 /*!< Each word has 4-byte length, defined in FIPS-197 */ -#define SDWAP_COLUMNS 4 /*!< Number of columns comprising the State. Defined as Nb in FIPS-197 */ - -#define SDWAP_128_ROUNDS 10 /*!< Number of rounds, for AES-128 */ -#define SDWAP_192_ROUNDS 12 /*!< Number of rounds, for AES-192 */ -#define SDWAP_256_ROUNDS 14 /*!< Number of rounds, for AES-256 */ - -//////////////////////////////////////////////////////////////////////////// -// Types -//////////////////////////////////////////////////////////////////////////// -typedef unsigned char SDWAP_WORD[SDWAP_WORD_SIZE]; //!< SDWAP_WORD represents each word -typedef unsigned char SDWAP_RK_BOX[SDWAP_COLUMNS][SDWAP_WORD_SIZE]; //!< SDWAP_RK_BOX represents round keys for one round -typedef SDWAP_WORD SDWAP_MIX_COLUMN_BOX[16][16]; //!< SDWAP_MIX_COLUMN_BOX represents each MC box -typedef unsigned char SDWAP_SBOX[16][16]; //!< SDWAP_SBOX represents each S-box -typedef SDWAP_WORD SDWAP_TBOX[16][16]; //!< SDWAP_TBOX represents transform table for each byte of round key -typedef unsigned char SDWAP_PBOX[4][8]; //!< SDWAP_PBOX represents permutation table for each round -typedef unsigned char SDWAP_PVECTOR[16]; //!< SDWAP_PVECTOR represents permutation vector for each round -typedef SDWAP_WORD SDWAP_WORD_PBOX[16]; //!< SDWAP_WORD_PBOX represents permutation word of transform table for each round -typedef unsigned char SDWAP_BIT_PBOX[8]; //!< SDWAP_BIT_PBOX represents permutation word of transform table for each round - -typedef unsigned char SDWAP_KEY_LOOKUP[4][17]; //!< SDWAP_KEY_LOOKUP represents transform table for each column of round key -typedef unsigned char SDWAP_KEY_RANDOM_MASK[5][4]; -typedef unsigned char SDWAP_KEY_BYTE_PBOX[17]; //!< SDWAP_KEY_BYTE_PBOX represents permutation word of transform table for each round -typedef unsigned char SDWAP_KEY_BIT_PBOX[8]; //!< SDWAP_KEY_BIT_PBOX represents permutation word of transform table for each round - -//////////////////////////////////////////////////////////////////////////// -// Macros -//////////////////////////////////////////////////////////////////////////// -#define SBOX_SIZ (16 * 16) /*! SBOX_SIZ represents the size of S-box(16x16 matrix), for 4bit-4bit lookup */ -#define SDWAP_T_TABLE_ROUND_SIZE (sizeof(SDWAP_TBOX) * SDWAP_COLUMNS * SDWAP_WORD_SIZE) /*! SDWAP_T_TABLE_ROUND_SIZE represents the size of transform table for one round */ -#define SDWAP_P_TABLE_ROUND_SIZE (sizeof(SDWAP_PBOX)) /*! SDWAP_P_TABLE_ROUND_SIZE represents the size of permutation table for one round */ -#define SDWAP_WP_TABLE_ROUND_SIZE SDWAP_WORD_SIZE * 4 /*! SDWAP_WP_TABLE_ROUND_SIZE represents the size of permutation word of transform table for one round */ -#define SDWAP_BP_TABLE_ROUND_SIZE 8 /*! SDWAP_BP_TABLE_ROUND_SIZE represents the size of permutation bit of transform table for one round */ - -#define SDWAP_KEY_LOOKUP_COLUMN_SIZE 17 * 4 /*! SDWAP_KEY_LOOKUP_SIZE represents the size of key lookup table for one round */ -#define SDWAP_KEY_RANDOM_MASK_SIZE sizeof(SDWAP_KEY_RANDOM_MASK) - -#define SETBIT_U8(val, idx, bit) bit == 1 ? (unsigned char) ( val | (1 << idx) ) : (unsigned char) ( val & (~(1 << idx)) ) /*! set a bit */ -#define GETBIT_U8(val, idx) (val & (1 << idx)) >> idx /*! get a bit */ - - -/** - * @var static const unsigned char byte_pMatrix[24][4] - * @brief look-up matrix for CalcPWTBox, Calculate Word-Permutation T-Box - */ -static const unsigned char byte_pMatrix[24][4] = -{ - {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2}, {0, 3, 2, 1}, - {1, 0, 2, 3}, {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2}, {1, 3, 2, 0}, - {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0}, - {3, 0, 1, 2}, {3, 0, 2, 1}, {3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0} -}; - -#endif //_SDWAP_DEFINES_H_ diff --git a/SPC/Inc/WhiteBox/SWAPv2.h b/SPC/Inc/WhiteBox/SWAPv2.h deleted file mode 100755 index de0666b..0000000 --- a/SPC/Inc/WhiteBox/SWAPv2.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file SWAPv2.h - * @brief white box AES module for SSA(Samsung Security Architecture) - * @author Samsung WhiteBox AES Version 2 (SWAPv1 based) - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * Samsung WhiteBox AES Version 1 - * - Jisoon Park(js00n.park@samsung.com) - * - Dept: DMC R&D Center/Convergence Software Lab. - * - * @see SWAPv2 - * @date 2012-10-05 - * @version 2.0 - * @par Copyright: - * Copyright 2012 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - */ - -/** - * @interface SWAPv2 - * @brief encryption/decryption processing module of SWAPv2(Samsung Whitebox AES Project Version 2) - * - * @par Features : - * # Functionality1 : encryption/decryption processing module of SWAPv2 - * @date 2012-10-05 - * @version 2.0 - */ - -#ifndef _SAMSUNG_WHITE_BOX_AES_PROJECT_VERSION2_H_ -#define _SAMSUNG_WHITE_BOX_AES_PROJECT_VERSION2_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - -#ifndef _WIN - - #define SPC_INTERNAL __attribute__((visibility("hidden"))) -#else - #define SPC_INTERNAL -#endif - -/*! SWAPv2 return values */ -typedef enum -{ - SWAPv2_RETURN_SUCCESS = 0x00000000, /*!< success case */ - SWAPv2_RETURN_INVALID_PARAMETER = 0x80000001, /*!< null parameter */ - SWAPv2_RETURN_INVALID_TBLSIZE = 0x80000002, /*!< invalid table size */ -} SWAPv2_RETURN_VAL; - -/** - * @fn SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev) - * @brief processing encryption or decryption according to the table - * - * @param [in] Table look-up table for SWAPv2 - * @param [in] TableLen byte-length of look-up table - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @param [in] OptimizLev Performance Optimization Level [0~2] - * @return SWAPv2_RETURN_VAL - */ -SPC_INTERNAL SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out); - -#ifdef __cplusplus -} -#endif //__cplusplus - -#endif //_SAMSUNG_WHITE_BOX_AES_PROJECT_H_ - diff --git a/SPC/Inc/WhiteBox/SWAPv2_TblGen.h b/SPC/Inc/WhiteBox/SWAPv2_TblGen.h deleted file mode 100755 index ceb88ae..0000000 --- a/SPC/Inc/WhiteBox/SWAPv2_TblGen.h +++ /dev/null @@ -1,78 +0,0 @@ -/** - * @file SWAPv2_TblGen.h - * @brief white box AES table generation module for SSA(Samsung Security Architecture) - * @author Samsung WhiteBox AES Version 2 (SWAPv1 based) - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * Samsung WhiteBox AES Version 1 - * - Jisoon Park(js00n.park@samsung.com) - * - Dept: DMC R&D Center/Convergence Software Lab. - * - * @see SWAPv2 - * @date 2012-10-05 - * @version 2.0 - * @par Copyright: - * Copyright 2012 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - */ - -/** - * @interface SWPAv2_TblGen - * @brief table generator of SWAPv2(Samsung Whitebox AES Project Version 2) - * - * @par Features : - * # Functionality1 : table generator of SWAPv2 - * @date 2012-10-05 - * @version 2.0 - */ - -#ifndef _SWAPv2_TABLE_GENERATOR_H_ -#define _SWAPv2_TABLE_GENERATOR_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - -#ifndef _WIN - - #define SPC_INTERNAL __attribute__((visibility("hidden"))) -#else - #define SPC_INTERNAL -#endif - -/*! SWAPv2 table generator return values */ -typedef enum -{ - SWAPv2_TBLGEN_RETURN_SUCCESS = 0x00000000, /*!< success case */ - SWAPv2_TBLGEN_RETURN_INVALID_PARAMETER = 0x80000011, /*!< null parameter */ - SWAPv2_TBLGEN_RETURN_INVALID_KEYLEN = 0x80000012, /*!< invalid key length */ - SWAPv2_TBLGEN_RETURN_INVALID_OTMZ_LEVEL = 0x80000013, /*!< invalid optimization level */ - SWAPv2_TBLGEN_RETURN_MEM_ALLOC_FAILED = 0x80000014 /*!< memory allocation failed */ -} SWAPv2_TBLGEN_RETURN_VAL; - -/** - * @fn unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev) - * @brief derivate look-up table from given key - * - * @param [in] Key user key (cipher key) - * @param [in] KeyLen byte-length of cipher key - * @param [in] seed random seed - * @param [out] Table look-up table for SWAPv2 - * @param [out] TableLen byte-length of look-up table - * @param [in] isEncryption flag ordering encryption or decryption - * @return SWAPv2_TBLGEN_RETURN_VAL - */ -unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption); - -#ifdef __cplusplus -} -#endif //__cplusplus - -#endif //_SWAPv2_TABLE_GENERATOR_H_ - diff --git a/SPC/Inc/WhiteBox/SWAPv2_defines.h b/SPC/Inc/WhiteBox/SWAPv2_defines.h deleted file mode 100755 index 78fa022..0000000 --- a/SPC/Inc/WhiteBox/SWAPv2_defines.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - * @file SWAPv2_defines.h - * @brief defines the constants, types and macros used in SWAPv2(Samsung Whitebox AES Project version2) - * @author Samsung WhiteBox AES Version 2 (SWAPv1 based) - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * Samsung WhiteBox AES Version 1 - * - Jisoon Park(js00n.park@samsung.com) - * - Dept: DMC R&D Center/Convergence Software Lab. - * - * - * - * - * @see SWAPv2 - * @date 2012-10-05 - * @version 2.0 - * @par Copyright: - * Copyright 2012 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of whitebox table generation is confidential. - */ - -#ifndef _SWAPv2_DEFINES_H_ -#define _SWAPv2_DEFINES_H_ - -//#define SPC_INTERNAL - - - -//////////////////////////////////////////////////////////////////////////// -// Constants -//////////////////////////////////////////////////////////////////////////// -#define SWAPv2_WORD_SIZE 4 /*!< Each word has 4-byte length, defined in FIPS-197 */ -#define SWAPv2_COLUMNS 4 /*!< Number of columns comprising the State. Defined as Nb in FIPS-197 */ - -#define SWAPv2_128_ROUNDS 10 /*!< Number of rounds, for AES-128 */ -#define SWAPv2_192_ROUNDS 12 /*!< Number of rounds, for AES-192 */ -#define SWAPv2_256_ROUNDS 14 /*!< Number of rounds, for AES-256 */ - -//////////////////////////////////////////////////////////////////////////// -// Types -//////////////////////////////////////////////////////////////////////////// -typedef unsigned char SWAPv2_WORD[SWAPv2_WORD_SIZE]; //!< SWAPv2_WORD represents each word -typedef unsigned char SWAPv2_RK_BOX[SWAPv2_COLUMNS][SWAPv2_WORD_SIZE];//!< SWAPv2_RK_BOX represents round keys for one round -typedef SWAPv2_WORD SWAPv2_MIX_COLUMN_BOX[16][16]; //!< SWAPv2_MIX_COLUMN_BOX represents each MC box -typedef unsigned char SWAPv2_SBOX[16][16]; //!< SWAPv2_SBOX represents each S-box -typedef SWAPv2_WORD SWAPv2_TBOX[16][16]; //!< SWAPv2_TBOX represents transform table for each byte of round key -typedef unsigned char SWAPv2_PBOX[4][8]; //!< SWAPv2_PBOX represents permutation table for each round -typedef unsigned char SWAPv2_PVECTOR[16]; //!< SWAPv2_PVECTOR represents permutation vector for each round -typedef SWAPv2_WORD SWAPv2_WORD_PBOX[16]; //!< SWAPv2_WORD_PBOX represents permutation word of transform table for each round -typedef unsigned char SWAPv2_BIT_PBOX[8]; - - -//////////////////////////////////////////////////////////////////////////// -// Macros -//////////////////////////////////////////////////////////////////////////// -#define SBOX_SIZ (16 * 16) /*! SBOX_SIZ represents the size of S-box(16x16 matrix), for 4bit-4bit lookup */ -#define SWAPv2_T_TABLE_ROUND_SIZE (sizeof(SWAPv2_TBOX) * SWAPv2_COLUMNS * SWAPv2_WORD_SIZE) /*! SWAPv2_T_TABLE_ROUND_SIZE represents the size of transform table for one round */ -#define SWAPv2_P_TABLE_ROUND_SIZE (sizeof(SWAPv2_PBOX)) /*! SWAPv2_P_TABLE_ROUND_SIZE represents the size of permutation table for one round */ -#define SWAPv2_WP_TABLE_ROUND_SIZE SWAPv2_WORD_SIZE * 4 /*! SWAPv2_WP_TABLE_ROUND_SIZE represents the size of permutation word of transform table for one round */ -#define SWAPv2_BP_TABLE_ROUND_SIZE 8 /*! SWAPv2_BP_TABLE_ROUND_SIZE represents the size of permutation bit of transform table for one round */ - -#define SETBIT_U8(val, idx, bit) bit == 1 ? (unsigned char) ( val | (1 << idx) ) : (unsigned char) ( val & (~(1 << idx)) ) /*! set a bit */ -#define GETBIT_U8(val, idx) (val & (1 << idx)) >> idx /*! get a bit */ - - -/** - * @var static const unsigned char byte_pMatrix[24][4] - * @brief look-up matrix for CalcPWTBox, Calculate Word-Permutation T-Box - */ -static const unsigned char byte_pMatrix[24][4] = -{ - {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2}, {0, 3, 2, 1}, - {1, 0, 2, 3}, {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2}, {1, 3, 2, 0}, - {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0}, - {3, 0, 1, 2}, {3, 0, 2, 1}, {3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0} -}; - -#endif //_SWAPv2_DEFINES_H_ diff --git a/SPC/Inc/Wrapper_common.h b/SPC/Inc/Wrapper_common.h deleted file mode 100755 index 30e6a24..0000000 --- a/SPC/Inc/Wrapper_common.h +++ /dev/null @@ -1,186 +0,0 @@ -//SAKEP Message Format -#define SAKEP_AKE_MSG_START_INDEX 0 -#define SAKEP_AKE_MSG_VERSION_LEN 1 -#define SAKEP_AKE_MSG_DATATYPE_LEN 1 -#define SAKEP_AKE_MSG_TIMESTAMP_LEN 4 -#define SAKEP_AKE_MSG_PAYLOAD_ALG_LEN 1 -#define SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN 4 -#define SAKEP_AKE_MSG_USERID_LENGTH_LEN 4 -#define SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN 128 -#define SAKEP_AKE_MSG_INITIAL_SETUP_DATA_LEN 128 -#define SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN 20 -#define SAKEP_AKE_MSG_ACK_SERVER_PAYLOAD_LEN 20 -#define SAKEP_AKE_MSG_SK_PAYLOAD_HASH_DATA_LEN 20 -#define SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN 1 -#define SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN 4 -#define SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN 20 -#define SAKEP_AKE_MSG_TOT_HASH_DATA_LEN 20 -#define SAKEP_AKE_MSG_CLIENTHELLO_FIXED_LEN 168 -#define SAKEP_AKE_MSG_SERVERHELLO_FIXED_LEN 148 -#define SAKEP_AKE_MSG_INITALSETUP_FIXED_LEN 148 -#define SAKEP_AKE_MSG_RECORD_FIXED_LEN 36 -#define SAKEP_AKE_MSG_ACK_FIXED_LEN 20 -#define SAKEP_MAC_KEY_SIZE 20 -#define SAKEP_AKE_USERID_LEN 32 -#define SAKEP_SHARED_KEY_SIZE 16 -#define SAKEP_SK_PRIME_KEY_SIZE 20 -#define SAKEP_PREVIOS_MESSAGE_HASH_SIZE 20 -#define SAKEP_SHA1_HASH_SIZE 20 -#define SAKEP_DLBP_PAK_PARMETER_SIZE 128 -#define SAKEP_DLBP_PAK_ORDER_PARMETER_SIZE 20 -#define SAKEP_SHA1_DIGEST_LENGTH 20 -#define SPC_SERVERACK_SUCCESS 0//ack payload message -#define SAKEP_IV_SIZE 16 -#define SAKEP_AES_ECB_ADDED_PADDING_SIZE 16 -#define SPC_WB_BLOCK_SIZE 16 -#define SAKEP_GXY_KEY_SIZE 16 - -//PBKEF -#define SAKEP_PBKDF_DK_SIZE 16 -#define SAKEP_MFEK_KEY_SIZE 16 -#define SAKEP_AUTH_KEY_SIZE 16 -#define SAKEP_PBKDF_COUNT 100 - -//ERROR message -#define SPC_SUCCESS 0 - -#define SAKEP_FILE_ENDECRYPTION_FILE_OPEN_ERROR -161 -#define SAKEP_FILE_ENDECRYPTION_FILE_SEEK_ERROR -162 -#define SAKEP_FILE_ENDECRYPTION_FILE_READ_WRITE_ERROR -163 -#define SAKEP_FILE_ENDECRYPTION_FILE_ENDECRYPTED_ERROR -164 -#define SAKEP_ENCRYPTION_DECRYPTION_ERROR -165 - -#define SAKEP_MEMROY_ALLOCATE_ERROR -180 -#define SAKEP_INPUT_INVALID_ERROR -181 -#define SAKEP_MESSAGE_ERROR -182 -#define SAKEP_NULL_POINT_ERROR -183 -#define SAKEP_UNEXPECTED_MESSAGE_ERROR -184 -#define SAKEP_CREATE_PIPRIME_ERROR -185 -#define SAKEP_GETGX_SETBSPARAM_ERROR -186 -#define SAKEP_GETGX_GENEARTORBSPRIVATE_ERROR -187 -#define SAKEP_GETGX_ERROR -188 -#define SAKEP_GETGYWC_SETBSPARAM_ERROR -189 -#define SAKEP_GETGYWC_GENEARTORBSPUBLIC_ERROR -190 -#define SAKEP_INVAILD_STATE_ERROR -191 -#define SAKEP_MESSAGE_GENERATE_FAIL -200 - -#define SAKEP_VALIDATION_FAILED -201 -#define SAKEP_INVALID_PARAMETER -202 -#define SAKEP_MAC_VALIDATION_FAILED -203 -#define SAKEP_INVALID_RECOVERY_DATA_LENGTH -204 -#define SAKEP_IV_CREATE_FAIL -205 -#define SAKEP_SDWAP_FAILED -206 -#define SAKEP_SWAP_FAILED -207 -#define SAKEP_KEY_CREATE_FAIL -208 -#define SAKEP_GD_DECRYPITON_FAIL -209 -#define SAKEP_PASSWORD_TRANSFORM_FAIL -210 -#define SAKEP_INVALID_TRANSFORMED_PADDING -211 -#define SAKEP_ENCRYPT_GX_FAIL -212 -#define SAKEP_DECRYPT_GX_FAIL -213 -#define SAKEP_DECRYPT_GY_FAIL -214 -#define SAKEP_ENCRYPT_GY_FAIL -215 -#define SAKEP_USERID_INVAILD -216 // USERID IS NOT SAME (Peer UserID and My UserID) -#define SAKEP_ERROR -1 -#define SAKEP_SUCCESS 0 -#define SAKEP_VALIDATION_SUCCESS 0 - - -//error Type -typedef enum { - UNSPPORTED_VERSION_ERROR=0x81, - INVALID_RECORD_PROTOCOL_ERROR, - INTEGRITY_ERROR, - INTEGRITY_LENGTH_ERROR, - UNEXPECTED_MESSAGE_ERROR, - INVALID_CLIENT_HELLO_ERROR, - INVALID_SERVER_HELLO_ERROR, - INVALID_SERVER_ACK_ERROR, - INVALID_CLIENT_ACK_ERROR, - INVALID_INITIALSETUP_ERROR, - INVALID_TOKEN_REQ_ERROR, - INVALID_TOKEN_VALIDATION_REQ_ERROR, - INVALID_CLIENT_ACK_PAYLOAD_ERROR, - RECORD_ENCRYPTED_ERROR, - RECORD_DECRYPTED_ERROR, - RECORD_INVALID_INTEGRITY_ERROR, - FILE_ENCRYPTED_ERROR, - FILE_DECRYPTED_ERROR, - UNSPPORTED_ENDECRYPTION_MODE, - INVALIED_PARAMETER_ERROR, - INVALIED_PAYLOAD_LEN_ERROR, - LOGIN_COUNT_LIMITED_ERROR, - UNKNOWN_ERROR, - GD_DECRYPTION_ERROR, - PASSWORD_TRANSFORM_FAIL, - SUCCESS=0x00 -}ErrorType; - -typedef enum { - STATE_IDLE, - STATE_WAIT_INITALSETUP, - STATE_WAIT_CLIENTHELLO, - STATE_WAIT_SERVERHELLO, - STATE_WAIT_SERVERACKHELLO, - STATE_WAIT_CLIENTACKHELLO, - STATE_AKE_CANCEL, - STATE_ERROR, - STATE_COMPLETED - -}AkeState; - -typedef struct -{ - unsigned char pSharedkey[SAKEP_SHARED_KEY_SIZE]; - unsigned char pSKPrime[SAKEP_SK_PRIME_KEY_SIZE]; - unsigned char pPreHashMsg[SAKEP_SHA1_HASH_SIZE]; - AkeState eState; - ErrorType eErrorType; -// unsigned int nSeqNum; -// unsigned char pCurrentID[SAKEP_AKE_USERID_LEN];//ÇöÀçÀÇ ID -}Handle_CTX; - -typedef enum -{ - SERVER_MODE, - CLIENT_MODE -}ModeType; - - - -#define ID_MAX_LEN 256 -#define PWD_MAX_LEN 32 -#define TOT_USERCOUNT_LEN 4 -#define ID_PWD_FIELD_LEN 4 -#define USERCOUNT_MAX 8 -#define SPC_LOGIN_LIMITED_COUNT 5 - - - -#define SPC_ENCRYPT_FORMAT_MFEK1_LEN 4 -#define SPC_ENCRYPT_FORMAT_USERID_LEN 4 -#define SPC_ENCRYPT_FORMAT_FILE_LEN 4 -#define SPC_ENCRYPT_FORMAT_FEK1_LEN 4 -#define SPC_ENCRYPT_FORMAT_FEK1_LEN 4 -#define SPC_ENCRYPT_FORMAT_USERMAC_LENGTH_LEN 4 -#define SPC_ENCRYPT_FORMAT_USERMAC_LEN 20 - - - -//Error type -#define SPC_SUCCESS 0 -#define SPC_FAIL -1 -#define INPUT_ERROR -200 - - -typedef struct -{ - //unsigned char pUserID[ID_MAX_LEN]; - unsigned char *pUserID; - unsigned int nUserIDLen; - unsigned int LoginTryCount; - Handle_CTX ctx; -}SPCHandle_CTX; - - - - diff --git a/SPC/Inc/base/ANSI_x931.h b/SPC/Inc/base/ANSI_x931.h deleted file mode 100755 index dd07c96..0000000 --- a/SPC/Inc/base/ANSI_x931.h +++ /dev/null @@ -1,48 +0,0 @@ -/** - * \file ANSI_x931.h - * @brief Pseudorandom number generator based on a design described in ANSI X9.31 - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Junbum Shin - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/23 - */ - -#ifndef _ANSI_X931_H -#define _ANSI_X931_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "CryptoCore.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_RNG_X931 - * @brief generate random number with seed - * - * @param Seed [in]seed for RNG System - * @param bitLength [in]bit length of data to generate - * @param data [out]generated data - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_RNG_X931(cc_u8 *Seed, cc_u32 bitLength, cc_u8 *data); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/aes.h b/SPC/Inc/base/aes.h deleted file mode 100755 index 6544614..0000000 --- a/SPC/Inc/base/aes.h +++ /dev/null @@ -1,171 +0,0 @@ -/** - * rijndael-alg-fst.h - * - * @version 3.0 (December 2000) - * - * Optimised ANSI C code for the Rijndael cipher (now AES) - * - * @author Vincent Rijmen - * @author Antoon Bosselaers - * @author Paulo Barreto - * - * This code is hereby placed in the public domain. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''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 AUTHORS 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 _AES_H -#define _AES_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_rijndaelKeySetupEnc - * @brief Expand the cipher key into the encryption key schedule - * - * @param rk [out]expanded round key - * @param cipherKey [in]user key - * @param keyBits [in]bit-length of cipherKey - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupEnc(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits); - -/* - * @fn SDRM_rijndaelKeySetupDec - * @brief Expand the cipher key into the decryption key schedule - * - * @param rk [out]expanded round key - * @param cipherKey [in]user key - * @param keyBits [in]bit-length of cipherKey - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupDec(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits); - -/* - * @fn SDRM_rijndaelEncrypt - * @brief 16 byte AES Encryption with round key - * - * @param rk [in]expanded round key - * @param Nr [in]numer of rounds - * @param pt [in]plain text - * @param ct [out]cipher text - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_rijndaelEncrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 pt[16], cc_u8 ct[16]); - -/* - * @fn SDRM_rijndaelDecrypt - * @brief 16 byte AES Decryption with round key - * - * @param rk [in]expanded round key - * @param Nr [in]numer of rounds - * @param ct [in]cipher text - * @param pt [out]plain text - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_rijndaelDecrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 ct[16], cc_u8 pt[16]); - -/* - * @fn SDRM_AES128_Encryption - * @brief AES-128 Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES128_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); - -/* - * @fn SDRM_AES128_Decryption - * @brief AES-128 Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES128_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - -/* - * @fn SDRM_AES192_Encryption - * @brief AES-192 Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES192_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); - -/* - * @fn SDRM_AES192_Decryption - * @brief AES-192 Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES192_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - -/* - * @fn SDRM_AES256_Encryption - * @brief AES-256 Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES256_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); - -/* - * @fn SDRM_AES256_Decryption - * @brief AES-256 Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES256_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/bignum.h b/SPC/Inc/base/bignum.h deleted file mode 100755 index 035fcdc..0000000 --- a/SPC/Inc/base/bignum.h +++ /dev/null @@ -1,611 +0,0 @@ -/** - * \file bignum.h - * @brief big number library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/03 - */ - -#ifndef _BIGNUM_H -#define _BIGNUM_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" - -//////////////////////////////////////////////////////////////////////////// -// Parameters and Bit-wise Macros -//////////////////////////////////////////////////////////////////////////// -/*! @brief byte-length of single cc_u32 */ -#define SDRM_SIZE_OF_DWORD 4 -/*! @brief bit-length of single cc_u32 */ -#define SDRM_BitsInDWORD (8 * SDRM_SIZE_OF_DWORD) - -/*! @brief get k-th bit form cc_u32 array A */ -#define SDRM_CheckBitUINT32(A, k) (0x01 & ((A)[(k) >> 5] >> ((k) & 31))) - -/*! @brief get k-th byte from cc_u32 array A */ -#define SDRM_CheckByteUINT32(A, k) (cc_u8)(0xff & (A[(k) >> 2] >> (((k) & 3 ) << 3))) -#define SDRM_isEven0(X) (((X)[0] & 0x01) == 0) -#define SDRM_isOdd0(X) (((X)[0] & 0x01) == 1) - -/*! @brief increase 1 from Byte Array A, byte-length of B */ -#define SDRM_INC_BA(A, B) do { \ - for (i = 0; i < (B); i++) { \ - if (++A[i] != 0) break; \ - } \ - } while(0) \ - -//////////////////////////////////////////////////////////////////////////// -// MACROs for cc_u32 Evaluation -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_DIGIT_Mul(Dest, Src1, Src2) - * @brief Double-width UINT32 Multiplication - * @param Dest [out]destination, 2-cc_u32-size array - * @param Src1 [in]first element - * @param Src2 [in]second element - * - * @return void - */ -#ifndef _OP64_NOTSUPPORTED -#define SDRM_DIGIT_Mul(Dest, Src1, Src2) do { \ - (Dest)[0] = (cc_u32) ((cc_u64)(Src1) * (Src2)); \ - (Dest)[1] = (cc_u32)(((cc_u64)(Src1) * (Src2)) >> SDRM_BitsInDWORD); \ - } while(0) -#else -CRYPTOCORE_INTERNAL void SDRM_DIGIT_Mul(cc_u32 *Dest, cc_u32 Src1, cc_u32 Src2); -#endif - -/* - * @fn SDRM_DIGIT_Div(Src1, Src2, Div) - * @brief Doublue-width DWROD Division - * - * @param Src1 [in]upper-digit of dividend - * @param Src2 [in]lower-digit of dividend - * @param Div [in]divisor - */ -#ifndef _OP64_NOTSUPPORTED -#define SDRM_DIGIT_Div(Src1, Src2, Div) (cc_u32)((((cc_u64)(Src1) << SDRM_BitsInDWORD) ^ (Src2)) / (Div)) -#else -CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Div(cc_u32 Src1, cc_u32 Src2, cc_u32 Div); -#endif - -/* - * @fn SDRM_DIGIT_Mod(Src1, Src2, Div) - * @brief Doublue-width DWROD Modular - * - * @param Src1 [in]upper-digit of dividend - * @param Src2 [in]lower-digit of dividend - * @param Div [in]divisor - */ -#ifndef _OP64_NOTSUPPORTED -#define SDRM_DIGIT_Mod(Src1, Src2, Div) (cc_u32)((((cc_u64)(Src1) << SDRM_BitsInDWORD) ^ (Src2)) % (Div)) -#else -CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Mod(cc_u32 Src1, cc_u32 Src2, cc_u32 Div); -#endif - -/* - * @fn SDRM_DWD_Copy(Dest, Src, Size) - * @brief Copy Digit Array - * - * @param Dest [in]destination, cc_u32 array - * @param Src [in]source, cc_u32 array - * @param Size [in]length of dSrc - */ -#define SDRM_DWD_Copy(Dest, Src, Size) do { \ - memcpy(Dest, Src, SDRM_SIZE_OF_DWORD * Size); \ - } while(0) - -//////////////////////////////////////////////////////////////////////////// -// MACROs for Big Number -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_BN_IS_ODD(a) - * @brief check big number a is an odd number - */ -#define SDRM_BN_IS_ODD(a) ((a)->pData[0] & 1) - -/* - * @fn SDRM_BN_FREE(X) - * @brief free allocated memory - */ -#define SDRM_BN_FREE(X) do {if (X) free(X);} while(0) - -/* - * @fn SDRM_BN_OPTIMIZE_LENGTH(BN - * @brief optimize SDRM_BIG_NUM's length member - */ -#define SDRM_BN_OPTIMIZE_LENGTH(BN) do { \ - while((BN)->Length > 0) \ - if((BN)->pData[(BN)->Length - 1]) \ - break; \ - else \ - (BN)->Length--; \ - } while(0) -/* - * @fn SDRM_IS_BN_NEGATIVE(X) - * @brief check big number's sign - */ -#define SDRM_IS_BN_NEGATIVE(X) ((X)->sign) - -/*! @brief calc cc_u32-length when byte array is converted to cc_u32 array */ -#define SDRM_B2DLEN(X) ((X) > 0 ? (((X) - 1) >> 2) + 1 : 0) - -/*! @brief count byte-length of big number */ -#define SDRM_BN_GETBYTELEN(X, A) do { \ - if (!((X)->Length)) (A) = 0; \ - else { \ - (A) = (X)->Length * 4; \ - while(SDRM_CheckByteUINT32((X)->pData, (A) - 1) == 0) {(A) -= 1;} \ - } \ - } while(0) - -/*! @brief count bit-length of big number */ -#define SDRM_BN_GETBITLEN(X, A) do { \ - if (!((X)->Length)) (A) = 0; \ - else { \ - (A) = (X)->Length * SDRM_BitsInDWORD; \ - while(SDRM_CheckBitUINT32((X)->pData, (A) - 1) == 0) {(A) -= 1;} \ - } \ - } while(0) - -//////////////////////////////////////////////////////////////////////////// -// Global Variables -//////////////////////////////////////////////////////////////////////////// -/*! @brief some special big numbers */ -extern CRYPTOCORE_INTERNAL SDRM_BIG_NUM *BN_Zero, *BN_One; - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -CRYPTOCORE_INTERNAL int SDRM_DWD_Classical_REDC(cc_u32 *pdDest, cc_u32 DstLen, cc_u32 *pdModulus, cc_u32 ModLen); - -/* - * @fn int SDRM_BN2OS(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst) - * @brief Convert Big Number to Octet String - * - * @param BN_Src [in]source integer - * @param dDstLen [in]Byte-length of pbDst - * @param pbDst [out]output octet string - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if arrary is too small - */ -CRYPTOCORE_INTERNAL int SDRM_BN2OS(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst); - -/* - * @fn int SDRM_OS2BN(cc_u8* pbSrc, cc_u32 dSrcLen, SDRM_BIG_NUM *BN_Dst) - * @brief Convert Octet String to Big Number - * - * @param pbSrc [in]source octet string - * @param dSrcLen [in]Byte-length of pbSrc - * @param BN_Dst [out]output big number - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if arrary is too small - */ -CRYPTOCORE_INTERNAL int SDRM_OS2BN(cc_u8* pbSrc, cc_u32 dSrcLen, SDRM_BIG_NUM *BN_Dst); - -/* - * @fn int SDRM_I2OSP(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst) - * @brief Converts a nonnonegative integer to an octet string of a specified length - * - * @param BN_Src [in]nonnegative integer to be converted - * @param dDstLen [in]intended length of the resulting octet string - * @param pbDst [out]corresponding octet string of length dDstLen - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_I2OSP(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst); - -/* - * @fn int SDRM_BN_Clr(SDRM_BIG_NUM* BN_Src) - * @brief Clear the SDRM_BIG_NUM structure - * - * @param BN_Src [in]source - * - * @return CRYPTO_SUCCESS - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Clr(SDRM_BIG_NUM* BN_Src); - -/* - * @fn int SDRM_BN_Copy(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src) - * @brief copy SDRM_BIG_NUM - * - * @param BN_Dest [out]destination - * @param BN_Src [in]source - * - * @return CRYPTO_SUCCESS - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Copy(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src); - -/* - * @fn SDRM_BIG_NUM *SDRM_BN_Alloc(cc_u8* pbSrc, cc_u32 dSize) - * @brief allocate big number from buffer - * - * @param pbSrc [in]start pointer of buffer - * @param dSize [in]buffer size of big number - * - * @return pointer of SDRM_BIG_NUM structure - */ -CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Alloc(cc_u8* pbSrc, cc_u32 dSize); - -/* - * @fn SDRM_BIG_NUM *SDRM_BN_Init(cc_u32 dSize) - * @brief Allocate a new big number object - * - * @param dSize [in]buffer size of big number - * - * @return pointer of SDRM_BIG_NUM structure - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Init(cc_u32 dSize); - -/* - * @fn int SDRM_BN_Cmp(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) - * @brief Compare two Big Number - * - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return 1 if BN_Src1 is larger than pdSrc2 - * \n 0 if same - * \n -1 if BN_Src2 is larger than pdSrc1 - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Cmp(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2); // sign ºñ±³¾ÈÇÔ - -/* - * @fn int SDRM_BN_Cmp_sign(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) - * @brief Compare two Big Number considering sign - * - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return 1 if BN_Src1 is larger than pdSrc2 - * \n 0 if same - * \n -1 if BN_Src2 is larger than pdSrc1 - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Cmp_sign(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2); // sign ºñ±³ - -/* - * @fn int SDRM_BN_Rand(SDRM_BIG_NUM *BN_Dst, cc_u32 BitLen) - * @brief Generate simple random number - * - * @param BN_Dst [out]destination - * @param BitLen [in]bit-length of generated random number - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Rand(SDRM_BIG_NUM *BN_Dst, cc_u32 BitLen); - -/* - * @fn int SDRM_BN_SHL(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift) - * @brief Big Number Shift Left - * - * @param BN_Dst [out]destination - * @param BN_Src [in]source - * @param NumOfShift [in]shift amount - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_BN_SHL(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift); - -/* - * @fn int SDRM_BN_SHR(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift) - * @brief Big Number Shift Right - * - * @param BN_Dst [out]destination - * @param BN_Src [in]source - * @param NumOfShift [in]shift amount - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_BN_SHR(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift); - -/* - * @fn int SDRM_BN_Add(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) - * @brief Big Number Addition - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Add(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2); - -/* - * @fn int SDRM_BN_Sub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) - * @brief Big Number Subtraction - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Sub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2); - -/* - * @fn int SDRM_BN_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) - * @brief Big Number Multiplication - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2); - -/* - * @fn int SDRM_BN_Div(SDRM_BIG_NUM *BN_Quotient, SDRM_BIG_NUM *BN_Remainder, SDRM_BIG_NUM *BN_Dividend, SDRM_BIG_NUM *BN_Divisor) - * @brief Big Number Division - * - * @param BN_Quotient [out]quotient - * @param BN_Remainder [out]remainder - * @param BN_Dividend [in]dividend - * @param BN_Divisor [in]divisor - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Div(SDRM_BIG_NUM *BN_Quotient, SDRM_BIG_NUM *BN_Remainder, SDRM_BIG_NUM *BN_Dividend, SDRM_BIG_NUM *BN_Divisor); - -/* - * @fn int SDRM_BN_ModAdd(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Addition - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element of addition - * @param BN_Src2 [in]second element of addition - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModAdd(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn int SDRM_BN_ModSub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Subtraction - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element of subtraction - * @param BN_Src2 [in]second element of subtraction - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModSub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn int SDRM_BN_ModRed(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Reduction - * - * @param BN_Dst [out]destination - * @param BN_Src [in]source - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModRed(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn int SDRM_BN_ModMul(SDRM_BIG_NUM *BN_Res, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Multiplication - * - * @param BN_Res [out]destination - * @param BN_Src1 [in]first element of multiplication - * @param BN_Src2 [in]second element of multipliation - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModMul(SDRM_BIG_NUM *BN_Res, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn int SDRM_BN_ModInv(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Inverse - * - * @param BN_Dst [out]destination - * @param BN_Src [in]soure - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_NEGATIVE_INPUT if source is negative value - * \n CRYPTO_INVERSE_NOT_EXIST if inverse is not exists - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModInv(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn int SDRM_BN_ModExp(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Exponentiation - * - * @param BN_Dst [out]destination - * @param BN_Base [in]base - * @param BN_Exponent [in]exponent - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModExp(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn int SDRM_BN_ModExp2(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus) - * @brief Big Number Modular Exponentiation2 - Karen's method - * - * @param BN_Dst [out]destination - * @param BN_Base [in]base - * @param BN_Exponent [in]exponent - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModExp2(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn void SDRM_PrintBN(const char* s, SDRM_BIG_NUM* bn) - * @brief Show out a Big Number - * - * @param level [in]log level - * @param s [in]title - * @param bn [in]big number to show out - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_PrintBN(const char* s, SDRM_BIG_NUM* bn); - -/* - * @fn int SDRM_BN_num_bits(SDRM_BIG_NUM *BN_Src) - * @brief Calc bit-length of Big Number - * - * @param BN_Src [in]source - * - * @return bit-length - */ -CRYPTOCORE_INTERNAL int SDRM_BN_num_bits(SDRM_BIG_NUM *BN_Src); - -/* - * @fn int SDRM_UINT32_num_bits(cc_u32 *pdSrc) - * @brief Calc bit-length of cc_u32 - * - * @param pdSrc [in]source - * - * @return bit-length - */ -CRYPTOCORE_INTERNAL int SDRM_UINT32_num_bits(cc_u32 *pdSrc); - -/* - * @fn int SDRM_INT_num_bits(int Src) - * @brief Calc bit-length of integer - * - * @param Src [in]source - * - * @return bit-length - */ -CRYPTOCORE_INTERNAL int SDRM_INT_num_bits(int Src); - -/* - * @fn int SDRM_MONT_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_MONT *Mont) - * @brief Montgomery Multiplication - * - * @param BN_Dst [out]destination, montgomery number - * @param BN_Src1 [in]first element, montgomery number - * @param BN_Src2 [in]second element, montgomery number - * @param Mont [in]montgomery parameters - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_MONT_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_MONT *Mont); - -/* - * @fn SDRM_MONT_Zn2rzn(DST, SRC1, MONT) - * @brief Convert normal number to Montgomery number - * @param Dst [out]destination, montgomery number - * @param SRC1 [in]source, normal number - * @param MONT [in]montgomery parameters - * @return CRYPTO_SUCCESS if no error occured - */ -#define SDRM_MONT_Zn2rzn(DST, SRC1, MONT) SDRM_MONT_Mul(DST, SRC1, (MONT)->R, MONT) - -/* - * @fn int SDRM_MONT_Rzn2zn(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_MONT *Mont) - * @brief Convert Montgomery number to normal number - * - * @param BN_Dst [out]destination, normal number - * @param BN_Src1 [in]source, montgomery number - * @param Mont [in]montgomery parameters - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_MONT_Rzn2zn(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_MONT *Mont); - -/* - * @fn SDRM_BIG_MONT *SDRM_MONT_Init(cc_u32 dSize) - * @brief Allocate new momory for Montgomery parameter - * - * @param dSize [in]size of buffer of big number - * - * @return Pointer to created structure - * \n NULL if malloc failed - */ -CRYPTOCORE_INTERNAL SDRM_BIG_MONT *SDRM_MONT_Init(cc_u32 dSize); - -/* - * @fn int SDRM_MONT_Set(SDRM_BIG_MONT *Mont, SDRM_BIG_NUM *BN_Modulus) - * @brief Set Montgomery parameters - * - * @param Mont [out]montgomery parameter - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n BN_NOT_ENOUGHT_BUFFER if malloc is failed - * \n CRYPTO_INVERSE_NOT_EXIST if inverse is not exists - */ -CRYPTOCORE_INTERNAL int SDRM_MONT_Set(SDRM_BIG_MONT *Mont, SDRM_BIG_NUM *BN_Modulus); - -/* - * @fn void SDRM_MONT_Free(SDRM_BIG_MONT *Mont) - * @brief Free allocated memory for montgomery paramter - * - * @param Mont [in]montgomery parameters - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_MONT_Free(SDRM_BIG_MONT *Mont); - -/* - * @fn int SDRM_BN_CheckRelativelyPrime(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) - * @brief get gcd of two big number - * - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_ISPRIME if two elements are relatively prime - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR otherwise - */ -CRYPTOCORE_INTERNAL int SDRM_BN_CheckRelativelyPrime(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2); - -/* - * @fn int SDRM_BN_MILLER_RABIN(SDRM_BIG_NUM* n, cc_u32 t) - * @brief MILLER_RABIN Test - * - * @param n [in]value to test - * @param t [in]security parameter - * - * @return CRYPTO_ISPRIME if n is (probably) prime - * \n CRYPTO_INVALID_ARGUMENT if n is composite - */ -CRYPTOCORE_INTERNAL int SDRM_BN_MILLER_RABIN(SDRM_BIG_NUM* n, cc_u32 t); - -#ifdef __cplusplus -} -#endif - -#endif // _BIGNUM_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/des.h b/SPC/Inc/base/des.h deleted file mode 100755 index ed0057b..0000000 --- a/SPC/Inc/base/des.h +++ /dev/null @@ -1,411 +0,0 @@ -/** - * \file des.h - * @brief high-speed implementation of DES - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/06 - */ - -#ifndef _DES_H -#define _DES_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" - -//////////////////////////////////////////////////////////////////////////// -// Define Constants -//////////////////////////////////////////////////////////////////////////// -#define SDRM_DES_NUM_OF_ROUNDS 16 - -//////////////////////////////////////////////////////////////////////////// -// Macros -//////////////////////////////////////////////////////////////////////////// -/*! @brief circular left and right shifts for cc_u32 */ -#ifdef _MSC_VER - #define SDRM_rotl32(A, B) _lrotl((A), (B)) - #define SDRM_rotr32(A, B) _lrotr((A), (B)) -#else - #define SDRM_rotl32(A, B) (((A) << (B)) + ((A) >> (32 - (B)))) - #define SDRM_rotr32(A, B) (((A) >> (B)) + ((A) << (32 - (B)))) -#endif - -/*! @brief permutation operation */ -#define SDRM_PERM_OP(a,b,t,n,m) { \ - (t) = ((((a)>>(n))^(b))&(m)); \ - (b) ^= (t); \ - (a) ^= ((t)<<(n)); \ -} - -/*! @brief initial permutation */ -#define SDRM_IP(l,r) { \ - cc_u32 tt; \ - SDRM_PERM_OP(r,l,tt, 4,0x0f0f0f0f); \ - SDRM_PERM_OP(l,r,tt,16,0x0000ffff); \ - SDRM_PERM_OP(r,l,tt, 2,0x33333333); \ - SDRM_PERM_OP(l,r,tt, 8,0x00ff00ff); \ - SDRM_PERM_OP(r,l,tt, 1,0x55555555); \ -} - -/*! @brief inverse of initial permutation */ -#define SDRM_INV_IP(l,r) { \ - cc_u32 tt; \ - SDRM_PERM_OP(l,r,tt, 1,0x55555555); \ - SDRM_PERM_OP(r,l,tt, 8,0x00ff00ff); \ - SDRM_PERM_OP(l,r,tt, 2,0x33333333); \ - SDRM_PERM_OP(r,l,tt,16,0x0000ffff); \ - SDRM_PERM_OP(l,r,tt, 4,0x0f0f0f0f); \ -} - -/*! @brief encrypt one round */ -#define SDRM_D_ENCRYPT(L,R) { \ - u = R ^ RoundKey[i][0]; \ - t = R ^ RoundKey[i][1]; \ - t = SDRM_rotr32(t, 4); \ - L^= SDRM_DES_SPtrans[0][(u >> 2U) & 0x3f]^ \ - SDRM_DES_SPtrans[2][(u >> 10U) & 0x3f]^ \ - SDRM_DES_SPtrans[4][(u >> 18U) & 0x3f]^ \ - SDRM_DES_SPtrans[6][(u >> 26U) & 0x3f]^ \ - SDRM_DES_SPtrans[1][(t >> 2U) & 0x3f]^ \ - SDRM_DES_SPtrans[3][(t >> 10U) & 0x3f]^ \ - SDRM_DES_SPtrans[5][(t >> 18U) & 0x3f]^ \ - SDRM_DES_SPtrans[7][(t >> 26U) & 0x3f]; \ -} - -//////////////////////////////////////////////////////////////////////////// -// static values - specified in FIPS 46 -//////////////////////////////////////////////////////////////////////////// -static const cc_u8 SDRM_DES_KS_SHIFT[16] = {1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1}; - -static const cc_u32 SDRM_DES_BitMask[] = { - 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 -}; - -static const cc_u8 SDRM_DES_KS_PC1[] = { - 56, 48, 40, 32, 24, 16, 8, - 0, 57, 49, 41, 33, 25, 17, - 9, 1, 58, 50, 42, 34, 26, - 18, 10, 2, 59, 51, 43, 35, - - 62, 54, 46, 38, 30, 22, 14, - 6, 61, 53, 45, 37, 29, 21, - 13, 5, 60, 52, 44, 36, 28, - 20, 12, 4, 27, 19, 11, 3 -}; - -static const cc_u32 SDRM_des_skb[8][64]={ - { - /* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ - 0x00000000L,0x00000010L,0x20000000L,0x20000010L, - 0x00010000L,0x00010010L,0x20010000L,0x20010010L, - 0x00000800L,0x00000810L,0x20000800L,0x20000810L, - 0x00010800L,0x00010810L,0x20010800L,0x20010810L, - 0x00000020L,0x00000030L,0x20000020L,0x20000030L, - 0x00010020L,0x00010030L,0x20010020L,0x20010030L, - 0x00000820L,0x00000830L,0x20000820L,0x20000830L, - 0x00010820L,0x00010830L,0x20010820L,0x20010830L, - 0x00080000L,0x00080010L,0x20080000L,0x20080010L, - 0x00090000L,0x00090010L,0x20090000L,0x20090010L, - 0x00080800L,0x00080810L,0x20080800L,0x20080810L, - 0x00090800L,0x00090810L,0x20090800L,0x20090810L, - 0x00080020L,0x00080030L,0x20080020L,0x20080030L, - 0x00090020L,0x00090030L,0x20090020L,0x20090030L, - 0x00080820L,0x00080830L,0x20080820L,0x20080830L, - 0x00090820L,0x00090830L,0x20090820L,0x20090830L, - }, - { - /* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */ - 0x00000000L,0x02000000L,0x00002000L,0x02002000L, - 0x00200000L,0x02200000L,0x00202000L,0x02202000L, - 0x00000004L,0x02000004L,0x00002004L,0x02002004L, - 0x00200004L,0x02200004L,0x00202004L,0x02202004L, - 0x00000400L,0x02000400L,0x00002400L,0x02002400L, - 0x00200400L,0x02200400L,0x00202400L,0x02202400L, - 0x00000404L,0x02000404L,0x00002404L,0x02002404L, - 0x00200404L,0x02200404L,0x00202404L,0x02202404L, - 0x10000000L,0x12000000L,0x10002000L,0x12002000L, - 0x10200000L,0x12200000L,0x10202000L,0x12202000L, - 0x10000004L,0x12000004L,0x10002004L,0x12002004L, - 0x10200004L,0x12200004L,0x10202004L,0x12202004L, - 0x10000400L,0x12000400L,0x10002400L,0x12002400L, - 0x10200400L,0x12200400L,0x10202400L,0x12202400L, - 0x10000404L,0x12000404L,0x10002404L,0x12002404L, - 0x10200404L,0x12200404L,0x10202404L,0x12202404L, - }, - { - /* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */ - 0x00000000L,0x00000001L,0x00040000L,0x00040001L, - 0x01000000L,0x01000001L,0x01040000L,0x01040001L, - 0x00000002L,0x00000003L,0x00040002L,0x00040003L, - 0x01000002L,0x01000003L,0x01040002L,0x01040003L, - 0x00000200L,0x00000201L,0x00040200L,0x00040201L, - 0x01000200L,0x01000201L,0x01040200L,0x01040201L, - 0x00000202L,0x00000203L,0x00040202L,0x00040203L, - 0x01000202L,0x01000203L,0x01040202L,0x01040203L, - 0x08000000L,0x08000001L,0x08040000L,0x08040001L, - 0x09000000L,0x09000001L,0x09040000L,0x09040001L, - 0x08000002L,0x08000003L,0x08040002L,0x08040003L, - 0x09000002L,0x09000003L,0x09040002L,0x09040003L, - 0x08000200L,0x08000201L,0x08040200L,0x08040201L, - 0x09000200L,0x09000201L,0x09040200L,0x09040201L, - 0x08000202L,0x08000203L,0x08040202L,0x08040203L, - 0x09000202L,0x09000203L,0x09040202L,0x09040203L, - }, - { - /* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */ - 0x00000000L,0x00100000L,0x00000100L,0x00100100L, - 0x00000008L,0x00100008L,0x00000108L,0x00100108L, - 0x00001000L,0x00101000L,0x00001100L,0x00101100L, - 0x00001008L,0x00101008L,0x00001108L,0x00101108L, - 0x04000000L,0x04100000L,0x04000100L,0x04100100L, - 0x04000008L,0x04100008L,0x04000108L,0x04100108L, - 0x04001000L,0x04101000L,0x04001100L,0x04101100L, - 0x04001008L,0x04101008L,0x04001108L,0x04101108L, - 0x00020000L,0x00120000L,0x00020100L,0x00120100L, - 0x00020008L,0x00120008L,0x00020108L,0x00120108L, - 0x00021000L,0x00121000L,0x00021100L,0x00121100L, - 0x00021008L,0x00121008L,0x00021108L,0x00121108L, - 0x04020000L,0x04120000L,0x04020100L,0x04120100L, - 0x04020008L,0x04120008L,0x04020108L,0x04120108L, - 0x04021000L,0x04121000L,0x04021100L,0x04121100L, - 0x04021008L,0x04121008L,0x04021108L,0x04121108L, - }, - { - /* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ - 0x00000000L,0x10000000L,0x00010000L,0x10010000L, - 0x00000004L,0x10000004L,0x00010004L,0x10010004L, - 0x20000000L,0x30000000L,0x20010000L,0x30010000L, - 0x20000004L,0x30000004L,0x20010004L,0x30010004L, - 0x00100000L,0x10100000L,0x00110000L,0x10110000L, - 0x00100004L,0x10100004L,0x00110004L,0x10110004L, - 0x20100000L,0x30100000L,0x20110000L,0x30110000L, - 0x20100004L,0x30100004L,0x20110004L,0x30110004L, - 0x00001000L,0x10001000L,0x00011000L,0x10011000L, - 0x00001004L,0x10001004L,0x00011004L,0x10011004L, - 0x20001000L,0x30001000L,0x20011000L,0x30011000L, - 0x20001004L,0x30001004L,0x20011004L,0x30011004L, - 0x00101000L,0x10101000L,0x00111000L,0x10111000L, - 0x00101004L,0x10101004L,0x00111004L,0x10111004L, - 0x20101000L,0x30101000L,0x20111000L,0x30111000L, - 0x20101004L,0x30101004L,0x20111004L,0x30111004L, - }, - { - /* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */ - 0x00000000L,0x08000000L,0x00000008L,0x08000008L, - 0x00000400L,0x08000400L,0x00000408L,0x08000408L, - 0x00020000L,0x08020000L,0x00020008L,0x08020008L, - 0x00020400L,0x08020400L,0x00020408L,0x08020408L, - 0x00000001L,0x08000001L,0x00000009L,0x08000009L, - 0x00000401L,0x08000401L,0x00000409L,0x08000409L, - 0x00020001L,0x08020001L,0x00020009L,0x08020009L, - 0x00020401L,0x08020401L,0x00020409L,0x08020409L, - 0x02000000L,0x0A000000L,0x02000008L,0x0A000008L, - 0x02000400L,0x0A000400L,0x02000408L,0x0A000408L, - 0x02020000L,0x0A020000L,0x02020008L,0x0A020008L, - 0x02020400L,0x0A020400L,0x02020408L,0x0A020408L, - 0x02000001L,0x0A000001L,0x02000009L,0x0A000009L, - 0x02000401L,0x0A000401L,0x02000409L,0x0A000409L, - 0x02020001L,0x0A020001L,0x02020009L,0x0A020009L, - 0x02020401L,0x0A020401L,0x02020409L,0x0A020409L, - }, - { - /* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */ - 0x00000000L,0x00000100L,0x00080000L,0x00080100L, - 0x01000000L,0x01000100L,0x01080000L,0x01080100L, - 0x00000010L,0x00000110L,0x00080010L,0x00080110L, - 0x01000010L,0x01000110L,0x01080010L,0x01080110L, - 0x00200000L,0x00200100L,0x00280000L,0x00280100L, - 0x01200000L,0x01200100L,0x01280000L,0x01280100L, - 0x00200010L,0x00200110L,0x00280010L,0x00280110L, - 0x01200010L,0x01200110L,0x01280010L,0x01280110L, - 0x00000200L,0x00000300L,0x00080200L,0x00080300L, - 0x01000200L,0x01000300L,0x01080200L,0x01080300L, - 0x00000210L,0x00000310L,0x00080210L,0x00080310L, - 0x01000210L,0x01000310L,0x01080210L,0x01080310L, - 0x00200200L,0x00200300L,0x00280200L,0x00280300L, - 0x01200200L,0x01200300L,0x01280200L,0x01280300L, - 0x00200210L,0x00200310L,0x00280210L,0x00280310L, - 0x01200210L,0x01200310L,0x01280210L,0x01280310L, - }, - { - /* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */ - 0x00000000L,0x04000000L,0x00040000L,0x04040000L, - 0x00000002L,0x04000002L,0x00040002L,0x04040002L, - 0x00002000L,0x04002000L,0x00042000L,0x04042000L, - 0x00002002L,0x04002002L,0x00042002L,0x04042002L, - 0x00000020L,0x04000020L,0x00040020L,0x04040020L, - 0x00000022L,0x04000022L,0x00040022L,0x04040022L, - 0x00002020L,0x04002020L,0x00042020L,0x04042020L, - 0x00002022L,0x04002022L,0x00042022L,0x04042022L, - 0x00000800L,0x04000800L,0x00040800L,0x04040800L, - 0x00000802L,0x04000802L,0x00040802L,0x04040802L, - 0x00002800L,0x04002800L,0x00042800L,0x04042800L, - 0x00002802L,0x04002802L,0x00042802L,0x04042802L, - 0x00000820L,0x04000820L,0x00040820L,0x04040820L, - 0x00000822L,0x04000822L,0x00040822L,0x04040822L, - 0x00002820L,0x04002820L,0x00042820L,0x04042820L, - 0x00002822L,0x04002822L,0x00042822L,0x04042822L, - } -}; - -static const cc_u32 SDRM_DES_SPtrans[8][64]={ - // nibble 0 - { - 0x02080800, 0x00080000, 0x02000002, 0x02080802, 0x02000000, 0x00080802, 0x00080002, 0x02000002, - 0x00080802, 0x02080800, 0x02080000, 0x00000802, 0x02000802, 0x02000000, 0x00000000, 0x00080002, - 0x00080000, 0x00000002, 0x02000800, 0x00080800, 0x02080802, 0x02080000, 0x00000802, 0x02000800, - 0x00000002, 0x00000800, 0x00080800, 0x02080002, 0x00000800, 0x02000802, 0x02080002, 0x00000000, - 0x00000000, 0x02080802, 0x02000800, 0x00080002, 0x02080800, 0x00080000, 0x00000802, 0x02000800, - 0x02080002, 0x00000800, 0x00080800, 0x02000002, 0x00080802, 0x00000002, 0x02000002, 0x02080000, - 0x02080802, 0x00080800, 0x02080000, 0x02000802, 0x02000000, 0x00000802, 0x00080002, 0x00000000, - 0x00080000, 0x02000000, 0x02000802, 0x02080800, 0x00000002, 0x02080002, 0x00000800, 0x00080802 - }, - // nibble 1 - { - 0x40108010, 0x00000000, 0x00108000, 0x40100000, 0x40000010, 0x00008010, 0x40008000, 0x00108000, - 0x00008000, 0x40100010, 0x00000010, 0x40008000, 0x00100010, 0x40108000, 0x40100000, 0x00000010, - 0x00100000, 0x40008010, 0x40100010, 0x00008000, 0x00108010, 0x40000000, 0x00000000, 0x00100010, - 0x40008010, 0x00108010, 0x40108000, 0x40000010, 0x40000000, 0x00100000, 0x00008010, 0x40108010, - 0x00100010, 0x40108000, 0x40008000, 0x00108010, 0x40108010, 0x00100010, 0x40000010, 0x00000000, - 0x40000000, 0x00008010, 0x00100000, 0x40100010, 0x00008000, 0x40000000, 0x00108010, 0x40008010, - 0x40108000, 0x00008000, 0x00000000, 0x40000010, 0x00000010, 0x40108010, 0x00108000, 0x40100000, - 0x40100010, 0x00100000, 0x00008010, 0x40008000, 0x40008010, 0x00000010, 0x40100000, 0x00108000 - }, - // nibble 2 - { - 0x04000001, 0x04040100, 0x00000100, 0x04000101, 0x00040001, 0x04000000, 0x04000101, 0x00040100, - 0x04000100, 0x00040000, 0x04040000, 0x00000001, 0x04040101, 0x00000101, 0x00000001, 0x04040001, - 0x00000000, 0x00040001, 0x04040100, 0x00000100, 0x00000101, 0x04040101, 0x00040000, 0x04000001, - 0x04040001, 0x04000100, 0x00040101, 0x04040000, 0x00040100, 0x00000000, 0x04000000, 0x00040101, - 0x04040100, 0x00000100, 0x00000001, 0x00040000, 0x00000101, 0x00040001, 0x04040000, 0x04000101, - 0x00000000, 0x04040100, 0x00040100, 0x04040001, 0x00040001, 0x04000000, 0x04040101, 0x00000001, - 0x00040101, 0x04000001, 0x04000000, 0x04040101, 0x00040000, 0x04000100, 0x04000101, 0x00040100, - 0x04000100, 0x00000000, 0x04040001, 0x00000101, 0x04000001, 0x00040101, 0x00000100, 0x04040000 - }, - // nibble 3 - { - 0x00401008, 0x10001000, 0x00000008, 0x10401008, 0x00000000, 0x10400000, 0x10001008, 0x00400008, - 0x10401000, 0x10000008, 0x10000000, 0x00001008, 0x10000008, 0x00401008, 0x00400000, 0x10000000, - 0x10400008, 0x00401000, 0x00001000, 0x00000008, 0x00401000, 0x10001008, 0x10400000, 0x00001000, - 0x00001008, 0x00000000, 0x00400008, 0x10401000, 0x10001000, 0x10400008, 0x10401008, 0x00400000, - 0x10400008, 0x00001008, 0x00400000, 0x10000008, 0x00401000, 0x10001000, 0x00000008, 0x10400000, - 0x10001008, 0x00000000, 0x00001000, 0x00400008, 0x00000000, 0x10400008, 0x10401000, 0x00001000, - 0x10000000, 0x10401008, 0x00401008, 0x00400000, 0x10401008, 0x00000008, 0x10001000, 0x00401008, - 0x00400008, 0x00401000, 0x10400000, 0x10001008, 0x00001008, 0x10000000, 0x10000008, 0x10401000 - }, - // nibble 4 - { - 0x08000000, 0x00010000, 0x00000400, 0x08010420, 0x08010020, 0x08000400, 0x00010420, 0x08010000, - 0x00010000, 0x00000020, 0x08000020, 0x00010400, 0x08000420, 0x08010020, 0x08010400, 0x00000000, - 0x00010400, 0x08000000, 0x00010020, 0x00000420, 0x08000400, 0x00010420, 0x00000000, 0x08000020, - 0x00000020, 0x08000420, 0x08010420, 0x00010020, 0x08010000, 0x00000400, 0x00000420, 0x08010400, - 0x08010400, 0x08000420, 0x00010020, 0x08010000, 0x00010000, 0x00000020, 0x08000020, 0x08000400, - 0x08000000, 0x00010400, 0x08010420, 0x00000000, 0x00010420, 0x08000000, 0x00000400, 0x00010020, - 0x08000420, 0x00000400, 0x00000000, 0x08010420, 0x08010020, 0x08010400, 0x00000420, 0x00010000, - 0x00010400, 0x08010020, 0x08000400, 0x00000420, 0x00000020, 0x00010420, 0x08010000, 0x08000020 - }, - // nibble 5 - { - 0x80000040, 0x00200040, 0x00000000, 0x80202000, 0x00200040, 0x00002000, 0x80002040, 0x00200000, - 0x00002040, 0x80202040, 0x00202000, 0x80000000, 0x80002000, 0x80000040, 0x80200000, 0x00202040, - 0x00200000, 0x80002040, 0x80200040, 0x00000000, 0x00002000, 0x00000040, 0x80202000, 0x80200040, - 0x80202040, 0x80200000, 0x80000000, 0x00002040, 0x00000040, 0x00202000, 0x00202040, 0x80002000, - 0x00002040, 0x80000000, 0x80002000, 0x00202040, 0x80202000, 0x00200040, 0x00000000, 0x80002000, - 0x80000000, 0x00002000, 0x80200040, 0x00200000, 0x00200040, 0x80202040, 0x00202000, 0x00000040, - 0x80202040, 0x00202000, 0x00200000, 0x80002040, 0x80000040, 0x80200000, 0x00202040, 0x00000000, - 0x00002000, 0x80000040, 0x80002040, 0x80202000, 0x80200000, 0x00002040, 0x00000040, 0x80200040 - }, - - // nibble 6 - { - 0x00004000, 0x00000200, 0x01000200, 0x01000004, 0x01004204, 0x00004004, 0x00004200, 0x00000000, - 0x01000000, 0x01000204, 0x00000204, 0x01004000, 0x00000004, 0x01004200, 0x01004000, 0x00000204, - 0x01000204, 0x00004000, 0x00004004, 0x01004204, 0x00000000, 0x01000200, 0x01000004, 0x00004200, - 0x01004004, 0x00004204, 0x01004200, 0x00000004, 0x00004204, 0x01004004, 0x00000200, 0x01000000, - 0x00004204, 0x01004000, 0x01004004, 0x00000204, 0x00004000, 0x00000200, 0x01000000, 0x01004004, - 0x01000204, 0x00004204, 0x00004200, 0x00000000, 0x00000200, 0x01000004, 0x00000004, 0x01000200, - 0x00000000, 0x01000204, 0x01000200, 0x00004200, 0x00000204, 0x00004000, 0x01004204, 0x01000000, - 0x01004200, 0x00000004, 0x00004004, 0x01004204, 0x01000004, 0x01004200, 0x01004000, 0x00004004 - }, - // nibble 7 - { - 0x20800080, 0x20820000, 0x00020080, 0x00000000, 0x20020000, 0x00800080, 0x20800000, 0x20820080, - 0x00000080, 0x20000000, 0x00820000, 0x00020080, 0x00820080, 0x20020080, 0x20000080, 0x20800000, - 0x00020000, 0x00820080, 0x00800080, 0x20020000, 0x20820080, 0x20000080, 0x00000000, 0x00820000, - 0x20000000, 0x00800000, 0x20020080, 0x20800080, 0x00800000, 0x00020000, 0x20820000, 0x00000080, - 0x00800000, 0x00020000, 0x20000080, 0x20820080, 0x00020080, 0x20000000, 0x00000000, 0x00820000, - 0x20800080, 0x20020080, 0x20020000, 0x00800080, 0x20820000, 0x00000080, 0x00800080, 0x20020000, - 0x20820080, 0x00800000, 0x20800000, 0x20000080, 0x00820000, 0x00020080, 0x20020080, 0x20800000, - 0x00000080, 0x20820000, 0x00820080, 0x00000000, 0x20000000, 0x20800080, 0x00020000, 0x00820080 - } -}; - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_DES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 RKPos, cc_u32 RKStep) - * @brief Expand the cipher key into the encryption key schedule - * - * @param RoundKey [out]generated round key - * @param UserKey [in]user key, 8 byte - * @param RKPos [in]index of round key starts - * @param RKStep [in]step for index - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_DES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 RKPos, cc_u32 RKStep); - -/* - * @fn int SDRM_DES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out) - * @brief DES processing for one block - * - * @param RoundKey [in]expanded round key - * @param msg [in]8 byte plaintext - * @param out [out]8 byte ciphertext - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_DES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out); - -/* - * @fn int SDRM_DES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) - * @brief one block DES Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_DES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); - -/* - * @fn int SDRM_DES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) - * @brief one block DES Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_DES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/ecc.h b/SPC/Inc/base/ecc.h deleted file mode 100755 index 36eb611..0000000 --- a/SPC/Inc/base/ecc.h +++ /dev/null @@ -1,248 +0,0 @@ -/** - * \file ecc.h - * @brief ecc library based on big number - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jiyoung Moon - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/05/03 - * Note : optimized by Jiyoung Moon & Jisoon Park, August,2006. - */ - -#ifndef _ECC_H -#define _ECC_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" -#include "bignum.h" -#include "sha1.h" - -//////////////////////////////////////////////////////////////////////////// -// Constants -//////////////////////////////////////////////////////////////////////////// -#define SDRM_MAX_DIMENSION_ECC 256 -#define SDRM_SIZE_OF_ECC_KEY (SDRM_SIZE_OF_DWORD * SDRM_ECC_BN_BUFSIZE) - -//////////////////////////////////////////////////////////////////////////// -// Macros for ECC -//////////////////////////////////////////////////////////////////////////// -#define SDRM_EC_FREE(X) if (X) {free(X);} - -#define SDRM_EC_SET_ZERO(A) do { \ - memset((A), 0, sizeof(SDRM_EC_POINT) + SDRM_ECC_ALLOC_SIZE * 5); \ - (A)->IsInfinity = 0; \ - A->x = SDRM_BN_Alloc((cc_u8*)A + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE); \ - A->y = SDRM_BN_Alloc((cc_u8*)A->x + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); \ - A->z = SDRM_BN_Alloc((cc_u8*)A->y + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); \ - A->z2 = SDRM_BN_Alloc((cc_u8*)A->z + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); \ - A->z3 = SDRM_BN_Alloc((cc_u8*)A->z2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); \ - } while(0) - -#define SDRM_EC_CLR(A) SDRM_EC_SET_ZERO(A) - -#define SDRM_ECC_Clr(A) do { \ - SDRM_BN_Clr((A)->ECC_p); \ - SDRM_BN_Clr((A)->ECC_A); \ - SDRM_BN_Clr((A)->ECC_b); \ - SDRM_BN_Clr((A)->ECC_n); \ - SDRM_BN_Clr((A)->PRIV_KEY); \ - EC_Clr((A)->ECC_G); \ - EC_Clr((A)->PUBLIC_KEY); \ - } while(0) - -#define SDRM_ECC_FREE(X) do { \ - if ((X)) { \ - SDRM_BN_FREE(X->ECC_a); \ - SDRM_EC_FREE(X->ECC_G); \ - SDRM_EC_FREE(X->PUBLIC_KEY); \ - SDRM_EC_FREE(X); \ - } \ - } while(0) - -#define SDRM_EC_COPY(A, B) do { \ - (A)->IsInfinity = (B)->IsInfinity; \ - SDRM_BN_Copy((A)->x, (B)->x); \ - SDRM_BN_Copy((A)->y, (B)->y); \ - SDRM_BN_Copy((A)->z, (B)->z); \ - SDRM_BN_Copy((A)->z2, (B)->z2); \ - SDRM_BN_Copy((A)->z3, (B)->z3); \ - } while(0) - - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -///// ECC º¸Á¶ÇÔ¼ö -/* - * @fn SDRM_ECC_Init - * @brief return SDRM_EC_POINT structure - * - * @return address of allocate structure - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_EC_POINT *SDRM_ECC_Init(void); - -/* - * @fn SDRM_CURVE_Init - * @brief return SDRM_ECC_CTX structure - * - * @return address of allocate structure - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_ECC_CTX *SDRM_CURVE_Init(void); - -///// ECC Point ¿¬»êÇÔ¼ö -/* - * @fn SDRM_CTX_EC_Chain - * @brief Chain ÇÔ¼ö - * - * signed window method : size of window = 4 - * chain for addition/subtraction of k Using sliding window method - * @param chain [out]destination - * @param L_Src [in]byte-length of chain - * @param Len_Src [in]number of doubling in chain - * @param k [in]source - * @param window_size [in]size of window - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if given value is incorrect - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Chain(signed char *chain, cc_u32 *L_Src, cc_u32 *Len_Src, SDRM_BIG_NUM *k, int window_size); - -/* - * @fn SDRM_CTX_EC_kP - * @brief get EC_Dst = kP by Montgomery Method - * - * @param ctx [in]ecc context - * @param EC_Dst [out]destination - * @param EC_Src [in]first element(P) - * @param k [in]second element(k) - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if the arguemnt represents a minus value - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_INFINITY_INPUT if the argument is a infinity value - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src, SDRM_BIG_NUM *k); - -/* - * @fn SDRM_CTX_EC_2kP - * @brief get EC_Dst = k1*C1 + k2*C2 - * - * @param ctx [in]ecc context - * @param EC_Dst [out]destination - * @param k1 [in]first element(k1) - * @param EC_Src1 [in]second element(C1) - * @param k2 [in]third element(k2) - * @param EC_Src2 [in]fourth element(C2) - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if the arguemnt represents a minus value - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_INFINITY_INPUT if the argument is a infinity value - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_2kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *k1, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *k2, SDRM_EC_POINT *EC_Src2); - -///// Functions of Converting Coordingate -/* - * @fn SDRM_Mont_Jm2Jc - * @brief ÁÂÇ¥º¯È¯ 1 - * Modified Jacobian => Chundnovsky Jacobian - * (A->y) <= (A->y)/2 - * (A->z2) <= (A->z)^2 - * (A->z3) <= (A->z)^3 - * - * @param EC_Dst [out]destination - * @param new_a [in]first element - * @param new_b [in]second element - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_Mont_Jm2Jc(SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont); - -/* - * @fn SDRM_Mont_Jc2Jm - * @brief ÁÂÇ¥º¯È¯ 2 - * Chundnovsky Jacobian => Modified Jacobian - * (A->y) <= 2*(A->y) - * (A->z2) <= new_a*(A->z)^4 - * @param A [out]destination - * @param new_a [in]first element - * @param new_b [in]second element - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_Mont_Jc2Jm(SDRM_EC_POINT *A, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont); - -/* - * @fn SDRM_CTX_EC_Add_Jc - * @brief Chundnovsky Jacobian coordinate - * using montgomery (A = B + C) - * - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param EC_Src2 [in]second element(C) - * @param new_a [in]ECC_A's montgomery value - * @param new_b [in]ECC_B's montgomery value - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Add_Jc(SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_EC_POINT *EC_Src2, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont); - -/* - * @fn SDRM_CTX_EC_Double_Jc - * @brief Chundnovsky Jacobian coordinate - * montgomery (A = 2B) - * - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param new_a [in]ECC_A's montgomery value - * @param new_b [in]ECC_B's montgomery value - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jc(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont); - -/* - * @fn SDRM_CTX_EC_Double_Jm - * @brief Modified Jacobian coordinate - * montgomery (A = 2B) - * - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param new_a [in]ECC_A's montgomery value - * @param new_b [in]ECC_B's montgomery value - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jm(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont); - -#ifdef __cplusplus -} -#endif - -#endif // _ECC_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/fast_math.h b/SPC/Inc/base/fast_math.h deleted file mode 100755 index c0f4cbb..0000000 --- a/SPC/Inc/base/fast_math.h +++ /dev/null @@ -1,290 +0,0 @@ -/** - * @file fast_math.h - * @brief Header file for fast_mathf.c - * - * [Optional] Detail description (major features, interface description, flow of control, and so on) - * @see [Optional] Related information - - * Copyright 2008 by Samsung Electronics, Inc., - * - * This software is the confidential and proprietary information - * of Samsung Electronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Samsung. - * - * \internal - * Author : Karen Ispiryan - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2008/08/28 -*/ - -#ifndef FAST_MATH_H -#define FAST_MATH_H - -#include "CC_Type.h" - -#ifndef _OP64_NOTSUPPORTED -# define ORD_32 -#else -# define ORD_16 -#endif //_OP64_NOTSUPPORTED - -/* when we have only 16 bit processor available */ -#ifdef ORD_16 - -typedef cc_u16 BasicWord; -typedef cc_u32 BasicDWord; - -#define DIV_BY_ORD_BYTES_COUNT(x) (BasicWord)((x) >> 1) -#define MUL_BY_ORD_BYTES_COUNT(x) (BasicWord)((x) << 1) - -#define BASICWORD_BITS_COUNT 16 -#define BASICWORD_BYTES_COUNT 2 -#define MAXDIGIT (BasicWord)(0xFFFF) - -#endif - -/* when we have 32 bit processor available and also have 64 bit data type */ -#ifdef ORD_32 - -typedef cc_u32 BasicWord; -typedef cc_u64 BasicDWord; - -#define DIV_BY_ORD_BYTES_COUNT(x) (BasicWord)((x) >> 2) -#define MUL_BY_ORD_BYTES_COUNT(x) (BasicWord)((x) << 2) - -#define BASICWORD_BITS_COUNT 32 -#define BASICWORD_BYTES_COUNT 4 -#define MAXDIGIT (BasicWord)(0xFFFFFFFF) - -#endif - -#define LOW_WORD(a) (BasicWord) (a) -#define HIGH_WORD(a) (BasicWord)((a) >> BASICWORD_BITS_COUNT) - -/* In our implementation we are using assumption that DWord data type available for using. */ -/* If for some reasons it isn't so, then we just need to redefine rhe following two macros in appropriate way - * and functions will work properly. - */ -#define _add_add_(aw1,aw2,aw3,rwl,rwh) { \ - BasicDWord dw = (BasicDWord)(aw1)+(aw2)+(aw3); \ - rwl = LOW_WORD(dw); \ - rwh = HIGH_WORD(dw); \ - } - -#define _mul_add_add(wm1,wm2,aw1,aw2,rwl,rwh) { \ - BasicDWord dw = (BasicDWord)(wm1)*(wm2)+(aw1)+(aw2); \ - rwl = LOW_WORD(dw); \ - rwh = HIGH_WORD(dw); \ - } - -#define IN -#define OUT - -/*===========================================================================================================*/ - -/** - * @fn SDRM_ll_Cmp - * @brief Compare two large unsigned integers - * - * @param pFirstOperand [in] the first operand - * @param pSecondOperand [in] the second operand - * - * @return 0 if they are equal - * 1 if first bigger then second - * -1 if the seond one is bigger then first - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Cmp(const BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength); - -/** - * @fn SDRM_ll_Copy - * @brief Just copy two large unsigned integers from one into another - */ -CRYPTOCORE_INTERNAL void SDRM_ll_Copy(BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength); - -/** - * @fn SDRM_ll_bit_RShift - * @brief Shift large unsigned integer to the right by uBits - * - * @param pOperand [inout] pointer to the operand to be shifted - * - * @return Nothing - * @warning We have to be careful when using this function because it modifies uOperandLength+1 words - * that is by 1 word bigger then operand original size. - * WWW....Operand...WWW|W <- it modifies the word immediately after the last one of passed operand. - */ -CRYPTOCORE_INTERNAL void SDRM_ll_bit_RShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits); - -/** - * @fn SDRM_ll_bit_LShift - * @brief Shift large unsigned integer to the left by uBits - * - * @param pOperand [inout] pointer to the operand to be shifted - * - * @return Nothing - * @warning We have to be careful when using this function because it modifies uOperandLength+1 words - * that is by 1 word bigger then operand original size. - * It modifies the word immediately prior to the first one of passed operand -> W|WWW....Operand...WWW - */ -CRYPTOCORE_INTERNAL void SDRM_ll_bit_LShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits); - -/** - * @fn SDRM_ll_getMSW - * @brief Return index of most significant word. - * - * @param pOperand [in] pointer to the large integer. - * - * @return The index of most significant word. - * -1 if passed integer actually is equal to 0. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_getMSW(IN const BasicWord *pOperand, IN BasicWord uOperandLength); - -/** - * @fn SDRM_ll_Add - * @brief Add two large unsigned integers that have the same size. - * - * @param pFirstOperand [in] pointer to first large integer - * @param pSecondOperand [in] pointer to second large integer - * @param uOperandsLength [in] length of the operands in words - * @param pResult [out] pointer to result of subtraction - * - * @return carry if so. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Add(IN const BasicWord *pFirstOperand, - IN const BasicWord *pSecondOperand, - IN BasicWord uOperandsLength, - OUT BasicWord *pResult); - -/** - * @fn SDRM_ll_AddCarry - * @brief Add carry to large unsigned integer - * - * @param oneWord [in] value of carry - * @param pOperand [inout] pointer to large integer - * @param uOperandLength [in] length of the second operand in words - * - * @return carry if so. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_AddCarry(IN BasicWord oneWord, IN BasicWord *pOperand, IN BasicWord uOperandLength); - -/** - * @fn SDRM_ll_Sub - * @brief Subtract two large unsigned integers that have the same size. - * - * @param pFirstOperand [in] pointer to first large integer - * @param pSecondOperand [in] pointer to second large integer - * @param uOperandsLength [in] length of the operands in words - * @param pResult [out] pointer to result of subtraction - * - * @return borrow if so. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Sub(IN const BasicWord *pFirstOperand, - IN const BasicWord *pSecondOperand, - IN BasicWord uOperandsLength, - OUT BasicWord *pResult); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_MulAdd(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, - IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, - OUT BasicWord *pResult); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_Mul(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, - IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, - OUT BasicWord *pResult); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_Square(IN BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord *pResult); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_mont_Rem(IN OUT BasicWord *pFirstOperand, - IN BasicWord *pModule, - IN BasicWord uModuleLength, - IN BasicWord inv); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_mont_Square(IN BasicWord *pFirstOperand, - IN BasicWord *pModule, - IN BasicWord uModuleLength, - IN BasicWord Inv, - OUT BasicWord *pResult); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_mont_Mul(IN BasicWord *pFirstOperand, - IN BasicWord *pSecondOperand, - IN BasicWord *pModule, - IN BasicWord uModuleLengthInBytes, - IN BasicWord Inv, - OUT BasicWord *pResult); - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_ExpMod( IN BasicWord *pBase, IN BasicWord uBaseLengthInBytes, - IN BasicWord *pExponent, IN BasicWord uExponentLengthInBytes, - IN BasicWord *pModule, IN BasicWord uModuleLengthInBytes, - OUT BasicWord *pResult); - -#endif /*FAST_MATH_H*/ diff --git a/SPC/Inc/base/hash.h b/SPC/Inc/base/hash.h deleted file mode 100755 index 8acfa84..0000000 --- a/SPC/Inc/base/hash.h +++ /dev/null @@ -1,337 +0,0 @@ -/** - * \file hash.h - * @brief hash API function - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/08 - */ - -#ifndef _HASH_H -#define _HASH_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CC_API.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_SHA1_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_init(CryptoCoreContainer *crt); - -/* - * @fn SDRM_SHA1_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - -/* - * @fn SDRM_SHA1_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_final(CryptoCoreContainer *crt, cc_u8 *output); - -/* - * @fn SDRM_SHA1_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - -/* - * @fn SDRM_SHA224_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_init(CryptoCoreContainer *crt); - - -/* - * @fn SDRM_SHA224_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - -/* - * @fn SDRM_SHA224_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_final(CryptoCoreContainer *crt, cc_u8 *output); - -/* - * @fn SDRM_SHA224_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - -/* - * @fn SDRM_SHA256_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_init(CryptoCoreContainer *crt); - - -/* - * @fn SDRM_SHA256_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - -/* - * @fn SDRM_SHA256_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_final(CryptoCoreContainer *crt, cc_u8 *output); - -/* - * @fn SDRM_SHA256_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - -/* - * @fn SDRM_SHA384_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_init(CryptoCoreContainer *crt); - -/* - * @fn SDRM_SHA384_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - -/* - * @fn SDRM_SHA384_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_final(CryptoCoreContainer *crt, cc_u8 *output); - -/* - * @fn SDRM_SHA384_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - -/* - * @fn SDRM_SHA512_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_init(CryptoCoreContainer *crt); - -/* - * @fn SDRM_SHA512_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - -/* - * @fn SDRM_SHA512_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_final(CryptoCoreContainer *crt, cc_u8 *output); - -/* - * @fn SDRM_SHA512_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - -/* - * @fn SDRM_MD5_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_init(CryptoCoreContainer *crt); - -/* - * @fn SDRM_MD5_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen); - -/* - * @fn SDRM_MD5_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_final(CryptoCoreContainer *crt, cc_u8 *output); - -/* - * @fn SDRM_MD5_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/md5.h b/SPC/Inc/base/md5.h deleted file mode 100755 index 403e328..0000000 --- a/SPC/Inc/base/md5.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Implementation of MD5 - */ - -#ifndef _MD5_H -#define _MD5_H - -#include -#include -#include "CryptoCore.h" - -//prototypes - -#ifdef __cplusplus -extern "C" { -#endif - -CRYPTOCORE_INTERNAL void SDRM_MD5_Init(SDRM_MD5Context *ctx); - -CRYPTOCORE_INTERNAL void SDRM_MD5_Update(SDRM_MD5Context *ctx, cc_u8* buffer, cc_u32 cc_u8Count); - -CRYPTOCORE_INTERNAL void SDRM_MD5_Final(SDRM_MD5Context *ctx, cc_u8* output ); - -#ifdef __cplusplus -} -#endif - -#endif // _MD5_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/moo.h b/SPC/Inc/base/moo.h deleted file mode 100755 index 53677a5..0000000 --- a/SPC/Inc/base/moo.h +++ /dev/null @@ -1,206 +0,0 @@ -/** - * \file moo.h - * @brief implementation of mode of operations - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/04 - */ - - -#ifndef _MOO_H -#define _MOO_H - - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" -#include "aes.h" -#include "des.h" -#include "tdes.h" - - -//////////////////////////////////////////////////////////////////////////// -// Macros for Mode of operation -//////////////////////////////////////////////////////////////////////////// -#ifndef SDRM_CheckByteUINT32 -/*! @brief get k-th byte from cc_u32 array A */ -#define SDRM_CheckByteUINT32(A, k) (cc_u8)(0xff & (A[(k) >> 2] >> (((k) & 3 ) << 3))) -#endif - - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_ECB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key) - * @brief Encrypt a block with ECB mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_ECB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key); - - -/* - * @fn int SDRM_ECB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key) - * @brief Decrypt a block with ECB mode - * - * @param Algorithm [in]algorithm - * @param out [out]plain text block - * @param in [in]cipher text block - * @param key [in]user key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_ECB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key); - - -/* - * @fn int SDRM_CBC_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) - * @brief Encrypt a block with CBC mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CBC_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV); - - -/* - * @fn int SDRM_CBC_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) - * @brief Decrypt a block with CBC mode - * - * @param Algorithm [in]algorithm - * @param out [out]plain text block - * @param in [in]cipher text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CBC_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV); - - -/* - * @fn int SDRM_CFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) - * @brief Encrypt a block with CFB mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV); - - -/* - * @fn int SDRM_CFB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) - * @brief Decrypt a block with CBC mode - * - * @param Algorithm [in]algorithm - * @param out [out]plain text block - * @param in [in]cipher text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CFB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV); - - -/* - * @fn int SDRM_OFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) - * @brief Encrypt a block with OFB mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_OFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV); - - -/* - * @fn SDRM_OFB_Dec(ALG, OUT, IN, KEY, IV) - * @brief Decrypt a block with OFB mode - * - * \n ALG [in]algorithm - * \n OUT [out]plain text block - * \n IN [in]cipher text block - * \n KEY [in]user key - * \n IV [in]initial vector - */ -#define SDRM_OFB_Dec(ALG, OUT, IN, KEY, IV) SDRM_OFB_Enc(ALG, OUT, IN, KEY, IV) - -/* - * @fn int SDRM_CTR_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV, cc_u32 counter) - * @brief Encrypt a block with CTR mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * @param counter [in]counter - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CTR_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV, cc_u32 counter); - - -/* - * @fn SDRM_CTR_Dec(ALG, OUT, IN, KEY, IV, CTR) - * @brief Decrypt a block with CTR mode - * - * \n ALG [in]algorithm - * \n OUT [out]plain text block - * \n IN [in]cipher text block - * \n KEY [in]user key - * \n IV [in]initial vector - * \n CTR [in]counter - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -#define SDRM_CTR_Dec(ALG, OUT, IN, KEY, IV, CTR) SDRM_CTR_Enc(ALG, OUT, IN, KEY, IV, CTR) - - -#ifdef __cplusplus -} -#endif - -#endif // _MOO_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/pkcs1_v21.h b/SPC/Inc/base/pkcs1_v21.h deleted file mode 100755 index 5d4e725..0000000 --- a/SPC/Inc/base/pkcs1_v21.h +++ /dev/null @@ -1,142 +0,0 @@ -/** - * \file pkcs1_v21.h - * @brief PKCS#1 V1.5, V2.0(RSAES-OAEP), V2.1(RSASSA-PSS) Implemetation - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/20 - */ - -#ifndef _PKCS1_V21_H -#define _PKCS1_V21_H - -////////////////////////////////////////////////////////////////////////// -// Include Header Files -////////////////////////////////////////////////////////////////////////// -#include -#include "CryptoCore.h" -#include "bignum.h" - -////////////////////////////////////////////////////////////////////////// -// Define Constants -////////////////////////////////////////////////////////////////////////// -/*! @brief padding mode - enpadding */ -#define SDRM_ENPADDING 11111 -/*! @brief padding mode - depadding */ -#define SDRM_DEPADDING 11112 - -/*! @brief DER message */ -#define SDRM_DIGESTINFO_MD5_VALUE {0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x40, 0x10} -#define SDRM_DIGESTINFO_SHA1_VALUE {0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14} -#define SDRM_DIGESTINFO_SHA256_VALUE {0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20} -#define SDRM_DIGESTINFO_SHA384_VALUE {0x30, 0x41, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00, 0x04, 0x30} -#define SDRM_DIGESTINFO_SHA512_VALUE {0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00, 0x04, 0x40} - -/*! @brief byte-length of DER message */ -#define SDRM_DIGESTINFO_MD5_LEN 18 -#define SDRM_DIGESTINFO_SHA1_LEN 15 -#define SDRM_DIGESTINFO_SHA256_LEN 19 -#define SDRM_DIGESTINFO_SHA384_LEN 19 -#define SDRM_DIGESTINFO_SHA512_LEN 19 - -#define SDRM_EMSA_PSS_SALT_LEN 4 - -////////////////////////////////////////////////////////////////////////// -// Function Prototypes -////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_Padding_Rsaes_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, cc_u32 k) - * @brief RSAES PKCS#1 v1.5 - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param MODE [in]ENPADDING or DEPADDING - * @param k [in]byte-size of n - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, cc_u32 k); - -/* - * @fn int SDRM_Padding_Rsaes_oaep(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, int HASH_Algorithm, cc_u32 k) - * @brief RSAES OAEP - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param MODE [in]ENPADDING or DEPADDING - * @param k [in]byte-size of n - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_oaep(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, int HASH_Algorithm, cc_u32 k); - -/* - * @fn int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k); - * @brief RSASSA PKCS#1 v1.5 - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param pszHash [in]hash of BN_Src - * @param MODE [in]ENPADDING or DEPADDING - * @param k [in]byte-size of n - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_INVALID_ARGUMENT if source is not in the right form - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k); - -/* - * @fn int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte) - * @brief RSASSA PSS - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param pszHash [in]hash of BN_Src - * @param emBits [in]bit-length of EM - * @param MODE [in]ENPADDING or DEPADDING - * @param MaxByte [in]max byte-length for MGF function - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_INVALID_ARGUMENT if source is not in the right form - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte); - -/* - * @fn int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen) - * @brief MGF1 Function (Mask Generation Function based on a hash function) - * - * @param mask [out]byte-length of generated mask - * @param pbSeed [in]seed for MGF - * @param SeedLen [in]byte-length of pbSeed - * @param dMaskLen [in]byte-length of mask - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/rc4.h b/SPC/Inc/base/rc4.h deleted file mode 100755 index 112676e..0000000 --- a/SPC/Inc/base/rc4.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - * \file rc4.h - * @brief implementation of RC4 encryption scheme - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/01 - */ - -#ifndef _RC4_H -#define _RC4_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_RC4_Setup(SDRM_RC4Context *ctx, cc_u8 *UserKey, cc_u32 keyLen) - * @brief intialize s - * - * @param ctx [in]crypto context - * @param UserKey [in]user key - * @param keyLen [out]byte-length of UserKey - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_Setup(SDRM_RC4Context *ctx, cc_u8 *UserKey, cc_u32 keyLen); - -/* - * @fn int SDRM_RC4_PRNG(SDRM_RC4Context *ctx, cc_u8 *in, cc_u32 inLen, cc_u8 *out) - * @brief process stream data - * - * @param ctx [in]crypto context - * @param in [in]plaintext - * @param inLen [in]byte-length of in - * @param out [out]cipher text - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_PRNG(SDRM_RC4Context *ctx, cc_u8 *in, cc_u32 inLen, cc_u8 *out); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/sha1.h b/SPC/Inc/base/sha1.h deleted file mode 100755 index 1bc10e1..0000000 --- a/SPC/Inc/base/sha1.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Implementation of SHA-1 - */ - -#ifndef _SHA1_H -#define _SHA1_H - -#include -#include -#include "CryptoCore.h" - -//prototypes - -#ifdef __cplusplus -extern "C" { -#endif - -CRYPTOCORE_INTERNAL void SDRM_SHA1_Init(SDRM_SHA1Context* ctx); - -CRYPTOCORE_INTERNAL void SDRM_SHA1_Update(SDRM_SHA1Context* ctx, const cc_u8* buffer, int ByteCount); - -CRYPTOCORE_INTERNAL void SDRM_SHA1_Final(SDRM_SHA1Context* ctx, cc_u8* output); - -#ifdef __cplusplus -} -#endif - -#endif // _SHA1_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/sha2.h b/SPC/Inc/base/sha2.h deleted file mode 100755 index 68062a1..0000000 --- a/SPC/Inc/base/sha2.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Implementation of SHA-2 - */ - -#ifndef _SHA2_H -#define _SHA2_H - -#include -#include -#include "CryptoCore.h" - -//prototypes - -#ifdef __cplusplus -extern "C" { -#endif - -CRYPTOCORE_INTERNAL void SDRM_SHA224_Init(SDRM_SHA224Context* ctx); -CRYPTOCORE_INTERNAL void SDRM_SHA224_Update(SDRM_SHA224Context* ctx, const cc_u8 *message, cc_u32 len); -CRYPTOCORE_INTERNAL void SDRM_SHA224_Final(SDRM_SHA224Context* ctx, cc_u8 *digest); - -CRYPTOCORE_INTERNAL void SDRM_SHA256_Init(SDRM_SHA256Context* ctx); -CRYPTOCORE_INTERNAL void SDRM_SHA256_Update(SDRM_SHA256Context* ctx, const cc_u8 *message, cc_u32 len); -CRYPTOCORE_INTERNAL void SDRM_SHA256_Final(SDRM_SHA256Context* ctx, cc_u8 *digest); - -#ifndef _OP64_NOTSUPPORTED - -CRYPTOCORE_INTERNAL void SDRM_SHA384_Init(SDRM_SHA384Context* ctx); -CRYPTOCORE_INTERNAL void SDRM_SHA384_Update(SDRM_SHA384Context* ctx, const cc_u8 *message, cc_u32 len); -CRYPTOCORE_INTERNAL void SDRM_SHA384_Final(SDRM_SHA384Context* ctx, cc_u8 *digest); - -CRYPTOCORE_INTERNAL void SDRM_SHA512_Init(SDRM_SHA512Context* ctx); -CRYPTOCORE_INTERNAL void SDRM_SHA512_Update(SDRM_SHA512Context* ctx, const cc_u8 *message, cc_u32 len); -CRYPTOCORE_INTERNAL void SDRM_SHA512_Final(SDRM_SHA512Context* ctx, cc_u8 *digest); - -#endif //_OP64_NOTSUPPORTED - -#ifdef __cplusplus -} -#endif - -#endif // _SHA2_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/base/snow2.h b/SPC/Inc/base/snow2.h deleted file mode 100755 index 1061cca..0000000 --- a/SPC/Inc/base/snow2.h +++ /dev/null @@ -1,68 +0,0 @@ -/** - * \file snow2.h - * @brief implementation of SNOW 2.0 encryption scheme - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/02 - */ - - -#ifndef _SNOW2_H -#define _SNOW2_H - - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" - - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_SNOW2_Setup(SDRM_SNOW2Context *ctx, cc_u8 *UserKey, cc_u32 keyLen, cc_u8 *IV) - * @brief Setup FSM and s values - * @param ctx [out]crypto context - * @param UserKey [in]User Key, 128 or 256 bit - * @param keyLen [in]byte-size of User Key, 16 or 32 - * @param IV [in]16 byte initial vector - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_Setup(SDRM_SNOW2Context *ctx, cc_u8 *UserKey, cc_u32 keyLen, cc_u8 *IV); - -/* - * @fn int SDRM_SNOW2_getKeyStream64(SDRM_SNOW2Context *ctx, cc_u32 *keyStream64) - * @brief get 64 byte key stream - * @param ctx [out]crypto context - * @param keyStream64 [in]generated key stream - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream64(SDRM_SNOW2Context *ctx, cc_u32 *keyStream64); - -/* - * @fn int SDRM_SNOW2_getKeyStream(SDRM_SNOW2Context *ctx, cc_u32 *keyStream) - * @brief get 4 byte key stream - * @param ctx [out]crypto context - * @param keyStream [in]generated key stream - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream(SDRM_SNOW2Context *ctx, cc_u32 *keyStream); - - -#ifdef __cplusplus -} -#endif - -#endif // _SNOW2_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/drm_macro.h b/SPC/Inc/drm_macro.h deleted file mode 100755 index 94432b3..0000000 --- a/SPC/Inc/drm_macro.h +++ /dev/null @@ -1,201 +0,0 @@ -/** - * \file drm_macro.h - * @brief Common Macro Difinitions - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Changsup Ahn - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/02 - */ - -#ifndef _DRM_MACRO_H -#define _DRM_MACRO_H - -//////////////////////////////////////////////////////////////////////////// -// Header File Include -//////////////////////////////////////////////////////////////////////////// -#include - -//////////////////////////////////////////////////////////////////////////// -// Macros -//////////////////////////////////////////////////////////////////////////// -/*! @brief get larger of two */ -#define MAX2(A, B) ((A) > (B) ? (A) : (B)) - -/*! @brief get largest of three */ -#define MAX3(C, D, E) ((C) > MAX2((D), (E)) ? (C) : MAX2((D), (E))) - -/*! @brief print out by byte unit */ -#undef PrintBYTE -#define PrintBYTE(msg, Data, DataLen) { \ - int idx; \ - printf("%10s =", msg); \ - for( idx=0; idx<(int)DataLen; idx++) { \ - if( (idx!=0) && ((idx%16)==0) ) printf("\n"); \ - if((idx % 4) == 0) printf(" 0x"); \ - printf("%.2x", Data[idx]); \ - } \ - printf("\n"); \ -} - -/*! @brief print out in hexa representation */ -#undef PrintBYTE_HEX -#define PrintBYTE_HEX(msg, Data, DataLen) { \ - int idx; \ - printf("%10s =", msg); \ - for( idx=0; idx<(int)DataLen; idx++) { \ - if( (idx!=0) && ((idx%8)==0) ) printf("\n"); \ - printf("0x%.2x, ", Data[idx]); \ - } \ - printf("\n"); \ -} - -/*! @brief print out in hexa representation without length information */ -#undef PrintBYTE_FILE_RAW // raw data ÇüÅ·Π»ç¿ëÇÒ ¼ö ÀÖµµ·Ï Hex ÇüÅ·ΠÃâ·Â -#define PrintBYTE_FILE_RAW(pfile, Data, DataLen) { \ - int idx; \ - for( idx=0; idx<(int)DataLen; idx++) { \ - if( (idx==0) || ((idx%8)!=0) ) \ - fprintf(pfile, "0x%.2x, ", Data[idx]); \ - else \ - fprintf(pfile, " \n0x%.2x, ", Data[idx]); \ - } \ -} - -/*! @brief print out message */ -#undef PrintMSG -#define PrintMSG(msg) { \ - fprintf(stdout, "\n************************************************\n"); \ - fprintf(stdout, "* %s\n", msg); \ - fprintf(stdout, "*\n"); \ -} - -/*! @brief copy 16 byte block */ -#undef BlockCopy -#define BlockCopy(pbDst, pbSrc) { \ - memcpy(pbDst, pbSrc, 16); \ -} - -/*! @brief xor 16 byte block */ -#undef BlockXor -#define BlockXor(pbDst, phSrc1, phSrc2) { \ - int idx; \ - for(idx = 0; idx < 16; idx++) \ - (pbDst)[idx] = (phSrc1)[idx] ^ (phSrc2)[idx]; \ -} - -/*! @brief convert 32-bit unit to 4 byte */ -#undef GET_UINT32 -#define GET_UINT32(n,b,i) \ -{ \ - (n) = ((unsigned int)((b)[(i) ]) << 24 ) \ - | ((unsigned int)((b)[(i) + 1]) << 16 ) \ - | ((unsigned int)((b)[(i) + 2]) << 8 ) \ - | ((unsigned int)((b)[(i) + 3]) ); \ -} - -/*! @brief 4 byte to 32-bit unit */ -#undef PUT_UINT32 -#define PUT_UINT32(n,b,i) \ -{ \ - (b)[(i) ] = (unsigned char) ( (n) >> 24 ); \ - (b)[(i) + 1] = (unsigned char) ( (n) >> 16 ); \ - (b)[(i) + 2] = (unsigned char) ( (n) >> 8 ); \ - (b)[(i) + 3] = (unsigned char) ( (n) ); \ -} - -/*! @brief convert 24-bit unit to 3 byte */ -#undef GET_UINT24 -#define GET_UINT24(n,b,i) \ -{ \ - (n) = ( (b)[(i) ] << 16 ) \ - | ( (b)[(i) + 1] << 8 ) \ - | ( (b)[(i) + 2] ); \ -} - -/*! @brief convert 3 byte to 24-bit unit */ -#undef PUT_UINT24 -#define PUT_UINT24(n,b,i) \ -{ \ - (b)[(i) ] = (unsigned char) ( (n) >> 16 ); \ - (b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \ - (b)[(i) + 2] = (unsigned char) ( (n) >> ); \ -} - -/*! @brief convert 16-bit unit to 2 byte */ -#undef GET_UINT16 -#define GET_UINT16(n,b,i) \ -{ \ - (n) = ( (b)[(i) ] << 8 ) \ - | ( (b)[(i) + 1] ); \ -} - -/*! @brief convert 2 byte to 16-bit unit */ -#undef PUT_UINT16 -#define PUT_UINT16(n,b,i) \ -{ \ - (b)[(i) ] = (unsigned char) ( (n) >> 8 ); \ - (b)[(i) + 1] = (unsigned char) ( (n) ); \ -} - -/*! @brief read 1 byte of s form o & increase o */ -#undef READ_8 -#define READ_8(t,s,o) { \ - t = (unsigned char) s[o]; \ - o+=1; \ -} - -/*! @brief read 2 byte of sfrom o & increase o */ -#undef READ_16 -#define READ_16(t,s,o) { \ - GET_UINT16(t,s,o); \ - o+=2; \ -} - -/*! @brief read 3 byte of s from o & increase o */ -#undef READ_24 -#define READ_24(t,s,o) { \ - GET_UINT24(t,s,o); \ - o+=3; \ -} - -/*! @brief read 4 byte of s from o & increase o */ -#undef READ_32 -#define READ_32(t,s,o) { \ - GET_UINT32(t,s,o); \ - o+=4; \ -} - -/*! @brief write 4 byte to s from o & increase o */ -#undef WRITE_32 -#define WRITE_32(t,s,o) { \ - PUT_UINT32(s,t,o); \ - o+=4; \ -} - -/*! @brief write 3 byte to s from o & increase o */ -#undef WRITE_24 -#define WRITE_24(t,s,o) { \ - PUT_UINT24(s,t,o); \ - o+=3; \ -} - -/*! @brief write 2 byte to s from o & increase o */ -#undef WRITE_16 -#define WRITE_16(t,s,o) { \ - PUT_UINT16(s,t,o); \ - o+=2; \ -} - -/*! @brief write 1 byte to s from o & increase o */ -#undef WRITE_8 -#define WRITE_8(t,s,o) { \ - t[o] = (unsigned char)s; \ - o+=1; \ -} - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/cmac.h b/SPC/Inc/middle/cmac.h deleted file mode 100755 index 3b5b4a3..0000000 --- a/SPC/Inc/middle/cmac.h +++ /dev/null @@ -1,95 +0,0 @@ -/** - * \file cmac.h - * @brief funciton for c-mac code generation by AES-128 - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/20 - */ - -#ifndef _CMAC_H -#define _CMAC_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CC_API.h" -#include "moo.h" -#include "aes.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen) - * @brief Parameter setting for mac code generation - * - * @param crt [out]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen); - -/* - * @fn int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen) - * @brief process data blocks - * - * @param crt [out]crypto parameter - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen); - -/* - * @fn int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen) - * @brief process last data block - * - * @param crt [in]crypto parameter - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen) - * @brief generate c-mac code - * - * @param crt [in]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen); - -#ifdef __cplusplus -} -#endif - -#endif // _CMAC_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/dh.h b/SPC/Inc/middle/dh.h deleted file mode 100755 index b18943c..0000000 --- a/SPC/Inc/middle/dh.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * \file dh.h - * @brief implementation of Diffie-Hellman Key Exchange Protocol - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2012/04/12 - */ - -#ifndef _DIFFIE_HELLMAN_H -#define _DIFFIE_HELLMAN_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "CC_API.h" - -#define DH_DEFAULT_GENERATOR 5 /**< fixed generator value */ - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @fn SDRM_GenerateDHParam(SDRM_DHContext* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int* pGenerator) - * @brief generate parameters for Diffie-Hellman protocol - * - * @param [out] crt context - * @param [out] pPrime prime number - * @param [in] nPrimeLen size of pPrime buffer - * @param [out] pGenerator generator value - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_GenerateDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator); - -/** - * @fn SDRM_SetDHParam(SDRM_DHContext* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int nGenerator) - * @brief set parameters for Diffie-Hellman protocol - * - * @param [out] crt context - * @param [in] pPrime prime number - * @param [in] nPrimeLen size of pPrime buffer - * @param [in] pGenerator generator value - * @param [in] nGeneratorLen generator len - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_SetDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator, unsigned int nGeneratorLen); - -/** - * @fn SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPub) - * @brief generate private value and calculate public value - * - * @param [in] crt context - * @param [out] pPriv private value - * @param [out] pPub public value - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub); - -/** - * @fn SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPub, unsigned char* pSharedSecret) - * @brief calculate shared secret - * - * @param [in] crt context - * @param [in] pPriv private value - * @param [in] pPub guest's public value - * @param [out] pSharedSecret public value - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub, unsigned char* pSharedSecret); - -/** - * @fn SDRM_FreeDHContext(CryptoCoreContainer* crt) - * @brief free context buffer - * - * @param [in] crt context - */ -CRYPTOCORE_INTERNAL void SDRM_FreeDHContext(SDRM_DHContext* ctx); - -#ifdef __cplusplus -} -#endif - -#endif // _DIFFIE_HELLMAN_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/dsa.h b/SPC/Inc/middle/dsa.h deleted file mode 100755 index 7b76f09..0000000 --- a/SPC/Inc/middle/dsa.h +++ /dev/null @@ -1,171 +0,0 @@ -/** - * \file dsa.h - * @brief implementation of dsa signature/verifycation - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/23 - */ - -#ifndef _DSA_H -#define _DSA_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "CC_API.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_DSAContext *SDRM_DSA_InitCrt(void) - * @brief generate DSA Context - * - * @return pointer to the generated context - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_DSAContext *SDRM_DSA_InitCrt(void); - -/* - * @fn int SDRM_DSA_SetParam(CryptoCoreContainer *crt, cc_u8 *DSA_P_Data, cc_u32 DSA_P_Len, cc_u8 *DSA_Q_Data, cc_u32 DSA_Q_Len, cc_u8 *DSA_G_Data, cc_u32 DSA_G_Len) - * @brief set DSA parameters - * - * @param crt [out]dsa context - * @param DSA_P_Data [in]octet string of p value - * @param DSA_P_Len [in]legnth of p_val - * @param DSA_Q_Data [in]octet string of q value - * @param DSA_Q_Len [in]legnth of q_val - * @param DSA_G_Data [in]octet string of al value - * @param DSA_G_Len [in]legnth of al_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_SetParam( - CryptoCoreContainer *crt, - cc_u8 *DSA_P_Data, cc_u32 DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 DSA_G_Len); - -/* - * @fn int SDRM_DSA_SetKeyPair(CryptoCoreContainer *crt, cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len) - * @brief set DSA parameters - * - * @param crt [out]dsa context - * @param DSA_Y_Data [in]octet string of y value - * @param DSA_Y_Len [in]legnth of y_val - * @param DSA_X_Data [in]octet string of a value - * @param DSA_X_Len [in]legnth of a_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_SetKeyPair( - CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len); - -/* - * @fn int SDRM_DSA_GenParam(CryptoCoreContainer *crt, cc_u32 T_Siz, cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len) - * @brief generate and set DSA parameters - * - * @param crt [out]dsa context - * @param T_Siz [in]fix the length of p to 512 + 64t bit (0 <= T_Siz <= 8) - * @param DSA_P_Data [out]octet string of p value - * @param DSA_P_Len [out]legnth of p_val - * @param DSA_Q_Data [out]octet string of q value - * @param DSA_Q_Len [out]legnth of q_val - * @param DSA_G_Data [out]octet string of al value - * @param DSA_G_Len [out]legnth of al_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_GenParam( - CryptoCoreContainer *crt, - cc_u32 T_Siz, cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len); - -/* - * @fn int SDRM_DSA_GenKeypair(CryptoCoreContainer *crt, cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len) - * @brief generate and set DSA parameters - * - * @param crt [out]dsa context - * @param DSA_Y_Data [out]octet string of y value - * @param DSA_Y_Len [out]legnth of y_val - * @param DSA_X_Data [out]octet string of a value - * @param DSA_X_Len [out]legnth of a_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_GenKeypair( - CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len); - -/* - * @fn int SDRM_DSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [out]generated signature - * @param signLen [out]byte-length of signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_sign( - CryptoCoreContainer *crt, - cc_u8 *hash, cc_u32 hashLen, - cc_u8 *signature, cc_u32 *signLen); - -/* - * @fn int SDRM_DSA_verify(CryptoCoreContainer *crt,cc_u8 *hash, cc_u32 hashLen,cc_u8 *signature, cc_u32 signLen,int *result) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [in]signature - * @param signLen [in]byte-length of signature - * @param result [in]result of veryfing signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if the length of signature is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_verify( - CryptoCoreContainer *crt, - cc_u8 *hash, cc_u32 hashLen, - cc_u8 *signature, cc_u32 signLen, - int *result); - -#ifdef __cplusplus -} -#endif - -#endif // _DSA_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/ecdh.h b/SPC/Inc/middle/ecdh.h deleted file mode 100755 index a58803d..0000000 --- a/SPC/Inc/middle/ecdh.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file ecdh.h - * @brief implementation of EC Diffie-Hellman Key Exchange Protocol - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/27 - */ - -#ifndef _ECDH_H -#define _ECDH_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "CC_API.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_generateDH1stPhaseKey(CryptoCoreContainer *crt, cc_u8 *pchXk, cc_u8 *pchXv) - * @brief generate Xk and its Xv - * - * @param crt [in]crypto context - * @param pchXk [out]Generated Random Number - * @param pchXv [out]DH 1st phase value - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_generateDH1stPhaseKey(CryptoCoreContainer *crt, cc_u8 *pchXk, cc_u8 *pchXv); - -/* - * @fn int SDRM_generateDHKey(CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth) - * @brief genenrate auth key with Xk and Yv - * - * @param crt [in]crypto context - * @param pchXk [in]Generated Random Number - * @param pchYv [in]DH 1st phase value - * @param pchKauth [out]authentication key - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_generateDHKey(CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth); - -#ifdef __cplusplus -} -#endif - -#endif // _ECDH_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/ecdsa.h b/SPC/Inc/middle/ecdsa.h deleted file mode 100755 index 13d2098..0000000 --- a/SPC/Inc/middle/ecdsa.h +++ /dev/null @@ -1,144 +0,0 @@ -/** - * \file ecdsa.h - * @brief implementation of public key signature algorithm - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/13 - */ - -#ifndef _ECDSA_H -#define _ECDSA_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CC_API.h" -#include "ecc.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_ECDSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [out]generated signature - * @param signLen [out]byte-length of signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_ECDSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen); - -/* - * @fn int SDRM_ECDSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [in]signature - * @param signLen [in]byte-length of signature - * @param result [in]result of veryfing signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if the length of signature is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_ECDSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result); - -/* - * @fn SDRM_ECC_Set_CTX - * @brief Set parameters for ECC - * - * @param crt [out]crypto env structure - * @param Dimension [in]dimension - * @param ECC_P_Data [in]represents p - * @param ECC_P_Len [in]byte-length of p - * @param ECC_A_Data [in]represents a - * @param ECC_A_Len [in]byte-length of a - * @param ECC_B_Data [in]represents b - * @param ECC_B_Len [in]byte-length of b - * @param ECC_G_X_Data [in]represents x coordinate of g - * @param ECC_G_X_Len [in]byte-length of x coordinate of g - * @param ECC_G_Y_Data [in]represents y coordinate of g - * @param ECC_G_Y_Len [in]byte-length of y coordinate of g - * @param ECC_R_Data [in]represents r - * @param ECC_R_Len [in]byte-length of r - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_ECC_Set_CTX( - struct _CryptoCoreContainer *crt, cc_u16 Dimension, - cc_u8* ECC_P_Data, cc_u32 ECC_P_Len, - cc_u8* ECC_A_Data, cc_u32 ECC_A_Len, - cc_u8* ECC_B_Data, cc_u32 ECC_B_Len, - cc_u8* ECC_G_X_Data, cc_u32 ECC_G_X_Len, - cc_u8* ECC_G_Y_Data, cc_u32 ECC_G_Y_Len, - cc_u8* ECC_R_Data, cc_u32 ECC_R_Len -); - -/* - * @fn SDRM_ECC_genKeypair - * @brief Generate Private Key and Generate Key Pair for ECC Signature - * - * @param crt [out]crypto env structure - * @param PrivateKey [in]represents x coordinate of public key - * @param PrivateKeyLen [in]byte-length of x coordinate of public key - * @param PublicKey_X [in]represents x coordinate of public key - * @param PublicKey_XLen [in]byte-length of x coordinate of public key - * @param PublicKey_Y [in]represents y coordinate of public key - * @param PublicKey_YLen [in]byte-length of y coordinate of public key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_ECC_genKeypair( - CryptoCoreContainer *crt, - cc_u8 *PrivateKey, cc_u32 *PrivateKeyLen, - cc_u8 *PublicKey_X, cc_u32 *PublicKey_XLen, - cc_u8 *PublicKey_Y, cc_u32 *PublicKey_YLen -); - -/* - * @fn SDRM_ECC_setKeypair - * @brief Set key data for ECC - * - * @param crt [out]crypto env structure - * @param PRIV_Data [in]represents private key - * @param PRIV_Len [in]byte-length of private key - * @param PUB_X_Data [in]represents x coordinate of public key - * @param PUB_X_Len [in]byte-length of x coordinate of public key - * @param PUB_Y_Data [in]represents y coordinate of public key - * @param PUB_Y_Len [in]byte-length of y coordinate of public key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_ECC_setKeypair( - CryptoCoreContainer *crt, - cc_u8* PRIV_Data, cc_u32 PRIV_Len, - cc_u8* PUB_X_Data, cc_u32 PUB_X_Len, - cc_u8* PUB_Y_Data, cc_u32 PUB_Y_Len -); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/hmac.h b/SPC/Inc/middle/hmac.h deleted file mode 100755 index 45e0582..0000000 --- a/SPC/Inc/middle/hmac.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - * \file hmac.h - * @brief funciton for c-mac code generation by SHA1 and MD5 - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/19 - */ - -#ifndef _HMAC_H -#define _HMAC_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CC_API.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_HMAC_init - * @brief Parameter setting for mac code generation - * - * @param crt [out]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen); - -/* - * @fn SDRM_HMAC_update - * @brief process data blocks - * - * @param crt [out]crypto parameter - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen); - -/* - * @fn SDRM_HMAC_final - * @brief process last data block - * - * @param crt [in]crypto parameter - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn SDRM_HMAC_getMAC - * @brief generate h-mac code - * - * @param crt [in]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen); - -#ifdef __cplusplus -} -#endif - -#endif // _HMAC_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/rng.h b/SPC/Inc/middle/rng.h deleted file mode 100755 index bd00090..0000000 --- a/SPC/Inc/middle/rng.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file rng.h - * @brief Random Number Generator Interface - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon, Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/07 - */ - -#ifndef _RNG_H -#define _RNG_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "CC_API.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_X931_seed - * @brief Seed RNG System - * - * @param crt [in]crypto env structure - * @param seed [in]seed for RNG System - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_X931_seed(CryptoCoreContainer *crt, cc_u8 *seed); - -/* - * @fn SDRM_X931_get - * @brief generate random number - * - * @param crt [in]crypto env structure - * @param bitLength [in]bit length for generated number - * @param data [out]generated data - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_X931_get(CryptoCoreContainer *crt, cc_u32 bitLength, cc_u8 *data); - -#ifdef __cplusplus -} -#endif - -#endif // _RNG_H - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/rsa.h b/SPC/Inc/middle/rsa.h deleted file mode 100755 index ceb5511..0000000 --- a/SPC/Inc/middle/rsa.h +++ /dev/null @@ -1,273 +0,0 @@ -/** - * \file rsa.h - * @brief implementation of rsa encryption/decryption and signature/verifycation - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/20 - */ - -#ifndef _RSA_H -#define _RSA_H - -////////////////////////////////////////////////////////////////////////// -// Include Header Files -////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include "CC_API.h" - -////////////////////////////////////////////////////////////////////////// -// Function Prototypes -////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_RSA_InitCrt - * @brief generate RSA Context - * - * @return pointer to the generated context - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_RSAContext *SDRM_RSA_InitCrt(cc_u32 RSAKeyByteLen); - -/* - * @fn SDRM_RSA_setNED - * @brief set RSA parameters - * - * @param crt [out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_N_Data [in]n value - * @param RSA_N_Len [in]byte-length of n - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_D_Data [in]d value - * @param RSA_D_Len [in]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_setNED -( - CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 RSA_D_Len -); - -/* - * @fn SDRM_RSA_setNEDPQ - * @brief set RSA parameters - * - * @param crt [out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_N_Data [in]n value - * @param RSA_N_Len [in]byte-length of n - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_D_Data [in]d value - * @param RSA_D_Len [in]byte-length of d - * @param RSA_P_Data [in]p value - * @param RSA_P_Len [in]byte-length of p - * @param RSA_Q_Data [in]q value - * @param RSA_Q_Len [in]byte-length of q - * @param RSA_DmodP1_Data [in]d mod (p-1) value - * @param RSA_DmodP1_Len [in]byte-length of d mod (p-1) - * @param RSA_DmodQ1_Data [in]d mod (q-1) value - * @param RSA_DmodQ1_Len [in]byte-length of d mod (q-1) - * @param RSA_iQmodP_Data [in]q^(-1) mod p value - * @param RSA_iQmodP_Len [in]byte-length of q^(-1) mod p - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_setNEDPQ -( - CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 RSA_D_Len, - cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - cc_u8* RSA_DmodP1_Data, cc_u32 RSA_DmodP1_Len, - cc_u8* RSA_DmodQ1_Data, cc_u32 RSA_DmodQ1_Len, - cc_u8* RSA_iQmodP_Data, cc_u32 RSA_iQmodP_Len -); - -/* - * @fn SDRM_RSA_GenerateKey - * @brief generate and set RSA parameters - * - * @param crt [out]rsa context - * @param PaddingMethod [out]padding method - * @param RSA_N_Data [out]n value - * @param RSA_N_Len [out]byte-length of n - * @param RSA_E_Data [out]e value - * @param RSA_E_Len [out]byte-length of e - * @param RSA_D_Data [out]d value - * @param RSA_D_Len [out]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateKey -( - CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 *RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len -); - -/* - * @fn SDRM_RSA_GenerateND - * @brief generate and set RSA parameters with specfied e - * - * @param crt [in/out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_N_Data [out]n value - * @param RSA_N_Len [out]byte-length of n - * @param RSA_D_Data [out]d value - * @param RSA_D_Len [out]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateND -( - CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len -); - -/* - * @fn SDRM_RSA_GenerateDwithPQE - * @brief generate D with specfied p, q, d mod (p-1), d mod (q-1) and e - * - * @param crt [in/out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_P_Data [in]n value - * @param RSA_P_Len [in]byte-length of n - * @param RSA_Q_Data [in]d value - * @param RSA_Q_Len [in]byte-length of d - * @param RSA_D_P_Data [in]d mod (p-1) value - * @param RSA_D_P_Len [in]byte-length of d mod (p-1) - * @param RSA_D_Q_Data [in]d mod (q-1) value - * @param RSA_D_Q_Len [in]byte-length of d mod (q-1) - * @param RSA_D_Data [out]d value - * @param RSA_D_Len [out]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateDwithPQE -( - CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len -); - -/* - * @fn SDRM_RSA_encrypt - * @brief generate and set RSA parameters - * - * @param crt [in]rsa context - * @param in [in]message to encrypt - * @param inLen [in]byte-length of in - * @param out [out]encrypted message - * @param outLen [out]byte-length of out - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_encrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - -/* - * @fn SDRM_RSA_decrypt - * @brief RSA Decryption - * - * @param crt [in]rsa context - * @param in [in]message to decrypt - * @param inLen [in]byte-length of in - * @param out [out]decrypted message - * @param outLen [out]byte-length of out - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_decrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - -/* - * @fn SDRM_RSA_decryptByCRT - * @brief RSA Decryption using CRT - * - * @param crt [in]rsa context - * @param in [in]message to decrypt - * @param inLen [in]byte-length of in - * @param out [out]decrypted message - * @param outLen [out]byte-length of out - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_decryptByCRT(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - -/* - * @fn SDRM_RSA_sign - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [out]generated signature - * @param signLen [out]byte-length of signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen); - -/* - * @fn SDRM_RSA_verify - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [in]signature - * @param signLen [in]byte-length of signature - * @param result [in]result of veryfing signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if the length of signature is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/symmetric.h b/SPC/Inc/middle/symmetric.h deleted file mode 100755 index 8c1376a..0000000 --- a/SPC/Inc/middle/symmetric.h +++ /dev/null @@ -1,246 +0,0 @@ -/** - * \file symmetric.h - * @brief API for symmetric encryption - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon, Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/07 - */ - -#ifndef _SYMMETRIC_H -#define _SYMMETRIC_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CC_API.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn SDRM_AES_init - * @brief intialize crypt context for aes - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_AES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV); - -/* - * @fn SDRM_AES_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param Text [in]message block - * @param TextLen [in]byte-length of Text - * @param output [out]proecessed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_AES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn SDRM_AES_final - * @brief process final block and padding - * - * @param crt [in]crypto env structure - * @param input [in]message block - * @param inputLen [in]byte-length of Text - * @param output [out]processed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_AES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn SDRM_RC4_init - * @brief intialize crypt context for RC4 - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method, not needed - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector, not needed - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV); - -/* - * @fn SDRM_RC4_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param Text [in]message block - * @param TextLen [in]byte-length of Text - * @param output [out]proecessed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - -/* - * @fn SDRM_SNOW2_init - * @brief intialize crypt context for SNOW2 - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method, not needed - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV); - -/* - * @fn - * @brief process message block - * @param crt [in]crypto env structure - * @param in [in]message block - * @param inLen [in]byte-length of Text - * @param out [out]processed message - * @param outLen [out]byte-length of output - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen); - -/* - * @fn SDRM_DES_init - * @brief intialize crypt context for des - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV); - -/* - * @fn SDRM_DES_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param in [in]message block - * @param inLen [in]byte-length of Text - * @param out [out]processed message - * @param outLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn SDRM_DES_final - * @brief process final block and padding - * - * @param crt [in]crypto env structure - * @param input [in]message block - * @param inputLen [in]byte-length of Text - * @param output [out]processed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn SDRM_TDES_init - * @brief intialize crypt context for triple des - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV); - -/* - * @fn SDRM_TDES_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param Text [in]message block - * @param TextLen [in]byte-length of Text - * @param output [out]proecessed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen); - -/* - * @fn SDRM_TDES_final - * @brief process final block and padding - * - * @param crt [in]crypto env structure - * @param input [in]message block - * @param inputLen [in]byte-length of Text - * @param output [out]processed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Inc/middle/tdes.h b/SPC/Inc/middle/tdes.h deleted file mode 100755 index 9799672..0000000 --- a/SPC/Inc/middle/tdes.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * \file tdes.h - * @brief high-speed implementation of Triple DES-EDE - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/06 - */ - -#ifndef _TDES_H -#define _TDES_H - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "CryptoCore.h" - -//////////////////////////////////////////////////////////////////////////// -// Function Prototypes -//////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * @fn int SDRM_TDES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 KeyLen, cc_u32 RKStep) - * @brief Expand the cipher key into the encryption key schedule - * - * @param RoundKey [out]generated round key - * @param UserKey [in]user key, 16 or 24 byte - * @param KeyLen [in]byte-length of UserKey - * @param RKStep [in]operation mode - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 KeyLen, cc_u32 RKStep); - -/* - * @fn int SDRM_TDES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out) - * @brief Triple DES processing for one block - * - * @param RoundKey [in]expanded round key - * @param msg [in]8 byte plaintext - * @param out [out]8 byte ciphertext - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out); - -/* - * @fn int SDRM_TDES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) - * @brief one block Triple DES Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_TDES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); - -/* - * @fn int SDRM_TDES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) - * @brief one block Triple DES Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_TDES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - -#ifdef __cplusplus -} -#endif - -#endif - -/***************************** End of File *****************************/ diff --git a/SPC/Src/CC_API.c b/SPC/Src/CC_API.c deleted file mode 100755 index 6fc2582..0000000 --- a/SPC/Src/CC_API.c +++ /dev/null @@ -1,440 +0,0 @@ -/** - * \file CC_API.c - * @brief API of samsung Crypto Library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jae Heung Lee - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/10/24 - * Note : modified for implementation, by Jisoon, Park, 06/11/06 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "CryptoCore.h" -#include "rng.h" -#include "symmetric.h" -#include "hash.h" -#include "ecdsa.h" -#include "cmac.h" -#include "rsa.h" -#include "dsa.h" -#include "ecdh.h" -#include "hmac.h" -#include "dh.h" - -//////////////////////////////////////////////////////////////////////////// -// functions -//////////////////////////////////////////////////////////////////////////// -CRYPTOCORE_INTERNAL void *CCMalloc(int siz) -{ - cc_u8 *pbBuf = (cc_u8*)malloc(siz); - - if (pbBuf == NULL) - { - return NULL; - } - else - { - memset(pbBuf, 0, siz); - return (void*)pbBuf; - } -} - -CRYPTOCORE_INTERNAL void CCFree(void *ptr) -{ - if (ptr != NULL) - { - free(ptr); - } -} - -/* - * @fn CryptoCoreContainer *create_CryptoCoreContainer(cc_u32 algorithm) - * @brief memory allocation and initialize the crypt sturcture - * - * @param algorithm [in]algorithm want to use - * - * @return address of created sturcture - */ -CRYPTOCORE_INTERNAL CryptoCoreContainer *create_CryptoCoreContainer(cc_u32 algorithm) -{ - CryptoCoreContainer *crt; - srand((unsigned int)time(NULL)); - - // allocate memory for crypt data structure (by using CCMalloc) - crt = (CryptoCoreContainer *)CCMalloc(sizeof(CryptoCoreContainer)); - if (crt == NULL) - { - return NULL; - } - - crt->ctx = (CryptoCoreCTX *)CCMalloc(sizeof(CryptoCoreCTX)); - if (crt->ctx == NULL) - { - free(crt); - return NULL; - } - - crt->PRNG_seed = NULL; - crt->PRNG_get = NULL; - crt->MD_init = NULL; - crt->MD_update = NULL; - crt->MD_final = NULL; - crt->MD_getHASH = NULL; - crt->MAC_init = NULL; - crt->MAC_update = NULL; - crt->MAC_final = NULL; - crt->MAC_getMAC = NULL; - crt->SE_init = NULL; - crt->SE_process = NULL; - crt->SE_final = NULL; - crt->AE_encrypt = NULL; - crt->AE_decrypt = NULL; - crt->DS_sign = NULL; - crt->DS_verify = NULL; - crt->DSA_genParam = NULL; - crt->DSA_setParam = NULL; - crt->DSA_genKeypair = NULL; - crt->DSA_setKeyPair = NULL; - crt->RSA_genKeypair = NULL; - crt->RSA_genKeypairWithE= NULL; - crt->RSA_genKeyDWithPQE = NULL; - crt->RSA_setKeypair = NULL; - crt->EC_setCurve = NULL; - crt->EC_genKeypair = NULL; - crt->EC_setKeypair = NULL; - crt->DH_GenerateParam = NULL; - crt->DH_SetParam = NULL; - crt->DH_Gen1stPhaseKey = NULL; - crt->DH_GenAuthKey = NULL; - crt->ECDH_Gen1stPhaseKey= NULL; - crt->ECDH_GenAuthKey = NULL; - - // allocate memory for context data structure - // and set up the member functions according to the algorithm - crt->alg = algorithm; - switch(algorithm) - { - case ID_X931: - crt->ctx->x931ctx = (SDRM_X931Context*)CCMalloc(sizeof(SDRM_X931Context)); - crt->PRNG_seed = SDRM_X931_seed; - crt->PRNG_get = SDRM_X931_get; - break; - case ID_MD5: - crt->ctx->md5ctx = (SDRM_MD5Context*)CCMalloc(sizeof(SDRM_MD5Context)); - crt->MD_init = SDRM_MD5_init; - crt->MD_update = SDRM_MD5_update; - crt->MD_final = SDRM_MD5_final; - crt->MD_getHASH = SDRM_MD5_hash; - break; - case ID_SHA1: - crt->ctx->sha1ctx = (SDRM_SHA1Context*)CCMalloc(sizeof(SDRM_SHA1Context)); - crt->MD_init = SDRM_SHA1_init; - crt->MD_update = SDRM_SHA1_update; - crt->MD_final = SDRM_SHA1_final; - crt->MD_getHASH = SDRM_SHA1_hash; - break; - case ID_SHA224: - crt->ctx->sha224ctx = (SDRM_SHA224Context*)CCMalloc(sizeof(SDRM_SHA224Context)); - crt->MD_init = SDRM_SHA224_init; - crt->MD_update = SDRM_SHA224_update; - crt->MD_final = SDRM_SHA224_final; - crt->MD_getHASH = SDRM_SHA224_hash; - break; - case ID_SHA256: - crt->ctx->sha256ctx = (SDRM_SHA256Context*)CCMalloc(sizeof(SDRM_SHA256Context)); - crt->MD_init = SDRM_SHA256_init; - crt->MD_update = SDRM_SHA256_update; - crt->MD_final = SDRM_SHA256_final; - crt->MD_getHASH = SDRM_SHA256_hash; - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384: - crt->ctx->sha384ctx = (SDRM_SHA384Context*)CCMalloc(sizeof(SDRM_SHA384Context)); - crt->MD_init = SDRM_SHA384_init; - crt->MD_update = SDRM_SHA384_update; - crt->MD_final = SDRM_SHA384_final; - crt->MD_getHASH = SDRM_SHA384_hash; - break; - case ID_SHA512: - crt->ctx->sha512ctx = (SDRM_SHA512Context*)CCMalloc(sizeof(SDRM_SHA512Context)); - crt->MD_init = SDRM_SHA512_init; - crt->MD_update = SDRM_SHA512_update; - crt->MD_final = SDRM_SHA512_final; - crt->MD_getHASH = SDRM_SHA512_hash; - break; -#endif - case ID_CMAC: - crt->ctx->cmacctx = (SDRM_CMACContext*)CCMalloc(sizeof(SDRM_CMACContext)); - crt->MAC_init = SDRM_CMAC_init; - crt->MAC_update = SDRM_CMAC_update; - crt->MAC_final = SDRM_CMAC_final; - crt->MAC_getMAC = SDRM_CMAC_getMAC; - break; - case ID_HMD5: - case ID_HSHA1: - case ID_HSHA224: - case ID_HSHA256: -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384: - case ID_HSHA512: -#endif //_OP64_NOTSUPPORTED - crt->ctx->hmacctx = (SDRM_HMACContext*)CCMalloc(sizeof(SDRM_HMACContext)); - crt->MAC_init = SDRM_HMAC_init; - crt->MAC_update = SDRM_HMAC_update; - crt->MAC_final = SDRM_HMAC_final; - crt->MAC_getMAC = SDRM_HMAC_getMAC; - break; - case ID_DH : - crt->ctx->dhctx = (SDRM_DHContext*)CCMalloc(sizeof(SDRM_DHContext)); - crt->DH_GenerateParam = SDRM_GenerateDHParam; - crt->DH_SetParam = SDRM_SetDHParam; - crt->DH_Gen1stPhaseKey = SDRM_GenerateDHPrivate; - crt->DH_GenAuthKey = SDRM_GetDHSharedSecret; - break; - case ID_ECDH : - crt->ctx->ecdhctx = (SDRM_ECDHContext*)SDRM_CURVE_Init(); - crt->EC_setCurve = SDRM_ECC_Set_CTX; - crt->EC_genKeypair = SDRM_ECC_genKeypair; - crt->EC_setKeypair = SDRM_ECC_setKeypair; - crt->ECDH_Gen1stPhaseKey = SDRM_generateDH1stPhaseKey; - crt->ECDH_GenAuthKey = SDRM_generateDHKey; - break; - case ID_AES128: - crt->ctx->aesctx = (SDRM_AESContext*)CCMalloc(sizeof(SDRM_AESContext)); - crt->SE_init = SDRM_AES_init; - crt->SE_process = SDRM_AES_process; - crt->SE_final = SDRM_AES_final; - crt->SE_EncryptOneBlock = SDRM_AES128_Encryption; - crt->SE_DecryptOneBlock = SDRM_AES128_Decryption; - break; - case ID_AES192: - crt->ctx->aesctx = (SDRM_AESContext*)CCMalloc(sizeof(SDRM_AESContext)); - crt->SE_init = SDRM_AES_init; - crt->SE_process = SDRM_AES_process; - crt->SE_final = SDRM_AES_final; - crt->SE_EncryptOneBlock = SDRM_AES192_Encryption; - crt->SE_DecryptOneBlock = SDRM_AES192_Decryption; - break; - case ID_AES256: - crt->ctx->aesctx = (SDRM_AESContext*)CCMalloc(sizeof(SDRM_AESContext)); - crt->SE_init = SDRM_AES_init; - crt->SE_process = SDRM_AES_process; - crt->SE_final = SDRM_AES_final; - crt->SE_EncryptOneBlock = SDRM_AES256_Encryption; - crt->SE_DecryptOneBlock = SDRM_AES256_Decryption; - break; - case ID_DES: - crt->ctx->desctx = (SDRM_DESContext*)CCMalloc(sizeof(SDRM_DESContext)); - crt->SE_init = SDRM_DES_init; - crt->SE_process = SDRM_DES_process; - crt->SE_final = SDRM_DES_final; - crt->SE_EncryptOneBlock = SDRM_DES64_Encryption; - crt->SE_DecryptOneBlock = SDRM_DES64_Decryption; - break; - case ID_TDES: - crt->ctx->tdesctx = (SDRM_TDESContext*)CCMalloc(sizeof(SDRM_TDESContext)); - crt->SE_init = SDRM_TDES_init; - crt->SE_process = SDRM_TDES_process; - crt->SE_final = SDRM_TDES_final; - crt->SE_EncryptOneBlock = SDRM_TDES64_Encryption; - crt->SE_DecryptOneBlock = SDRM_TDES64_Decryption; - break; - case ID_RC4: - crt->ctx->rc4ctx = (SDRM_RC4Context*)CCMalloc(sizeof(SDRM_RC4Context)); - crt->SE_init = SDRM_RC4_init; - crt->SE_process = SDRM_RC4_process; - break; - case ID_SNOW2: - crt->ctx->snow2ctx = (SDRM_SNOW2Context*)CCMalloc(sizeof(SDRM_SNOW2Context)); - crt->SE_init = SDRM_SNOW2_init; - crt->SE_process = SDRM_SNOW2_process; - break; - case ID_RSA512: - crt->ctx->rsactx = SDRM_RSA_InitCrt(64); - crt->RSA_genKeypair = SDRM_RSA_GenerateKey; - crt->RSA_genKeypairWithE = SDRM_RSA_GenerateND; - crt->RSA_genKeyDWithPQE = SDRM_RSA_GenerateDwithPQE; - crt->RSA_setKeypair = SDRM_RSA_setNED; - crt->RSA_setKeypairForCRT = SDRM_RSA_setNEDPQ; - crt->AE_encrypt = SDRM_RSA_encrypt; - crt->AE_decrypt = SDRM_RSA_decrypt; - crt->AE_decryptByCRT = SDRM_RSA_decryptByCRT; - crt->DS_sign = SDRM_RSA_sign; - crt->DS_verify = SDRM_RSA_verify; - break; - case ID_RSA: - case ID_RSA1024: - crt->ctx->rsactx = SDRM_RSA_InitCrt(128); - crt->RSA_genKeypair = SDRM_RSA_GenerateKey; - crt->RSA_genKeypairWithE = SDRM_RSA_GenerateND; - crt->RSA_genKeyDWithPQE = SDRM_RSA_GenerateDwithPQE; - crt->RSA_setKeypair = SDRM_RSA_setNED; - crt->RSA_setKeypairForCRT = SDRM_RSA_setNEDPQ; - crt->AE_encrypt = SDRM_RSA_encrypt; - crt->AE_decrypt = SDRM_RSA_decrypt; - crt->AE_decryptByCRT = SDRM_RSA_decryptByCRT; - crt->DS_sign = SDRM_RSA_sign; - crt->DS_verify = SDRM_RSA_verify; - break; - case ID_RSA2048: - crt->ctx->rsactx = SDRM_RSA_InitCrt(256); - crt->RSA_genKeypair = SDRM_RSA_GenerateKey; - crt->RSA_genKeypairWithE = SDRM_RSA_GenerateND; - crt->RSA_genKeyDWithPQE = SDRM_RSA_GenerateDwithPQE; - crt->RSA_setKeypair = SDRM_RSA_setNED; - crt->RSA_setKeypairForCRT = SDRM_RSA_setNEDPQ; - crt->AE_encrypt = SDRM_RSA_encrypt; - crt->AE_decrypt = SDRM_RSA_decrypt; - crt->AE_decryptByCRT = SDRM_RSA_decryptByCRT; - crt->DS_sign = SDRM_RSA_sign; - crt->DS_verify = SDRM_RSA_verify; - break; - case ID_RSA3072: - crt->ctx->rsactx = SDRM_RSA_InitCrt(384); - crt->RSA_genKeypair = SDRM_RSA_GenerateKey; - crt->RSA_genKeypairWithE = SDRM_RSA_GenerateND; - crt->RSA_genKeyDWithPQE = SDRM_RSA_GenerateDwithPQE; - crt->RSA_setKeypair = SDRM_RSA_setNED; - crt->RSA_setKeypairForCRT = SDRM_RSA_setNEDPQ; - crt->AE_encrypt = SDRM_RSA_encrypt; - crt->AE_decrypt = SDRM_RSA_decrypt; - crt->AE_decryptByCRT = SDRM_RSA_decryptByCRT; - crt->DS_sign = SDRM_RSA_sign; - crt->DS_verify = SDRM_RSA_verify; - break; - case ID_DSA: - crt->ctx->dsactx = (SDRM_DSAContext*)SDRM_DSA_InitCrt(); - crt->DSA_genParam = SDRM_DSA_GenParam; - crt->DSA_setParam = SDRM_DSA_SetParam; - crt->DSA_genKeypair = SDRM_DSA_GenKeypair; - crt->DSA_setKeyPair = SDRM_DSA_SetKeyPair; - crt->DS_sign = SDRM_DSA_sign; - crt->DS_verify = SDRM_DSA_verify; - break; - case ID_ECDSA: - crt->ctx->ecdsactx = (SDRM_ECDSAContext*)SDRM_CURVE_Init(); - crt->EC_setCurve = SDRM_ECC_Set_CTX; - crt->EC_genKeypair = SDRM_ECC_genKeypair; - crt->EC_setKeypair = SDRM_ECC_setKeypair; - crt->DS_sign = SDRM_ECDSA_sign; - crt->DS_verify = SDRM_ECDSA_verify; - break; - default: - // free CryptoCoreContainer data structure - free(crt->ctx); - free(crt); - crt = NULL; - break; - } - return crt; -} - -/* - * @fn void destroy_CryptoCoreContainer(CryptoCoreContainer* crt) - * - * @brief free allocated memory - * @param crt [in]crypt context - * - * @return void - */ -CRYPTOCORE_INTERNAL void destroy_CryptoCoreContainer(CryptoCoreContainer* crt) -{ - if (crt == NULL) - { - return; - } - - if (crt->ctx == NULL) - { - free(crt); - return; - } - - // free context data structure - switch(crt->alg) - { - case ID_X931: - CCFree(crt->ctx->x931ctx); - break; - case ID_MD5: - CCFree(crt->ctx->md5ctx); - break; - case ID_SHA1: - CCFree(crt->ctx->sha1ctx); - break; - case ID_SHA224: - CCFree(crt->ctx->sha224ctx); - break; - case ID_SHA256: - CCFree(crt->ctx->sha256ctx); - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384: - CCFree(crt->ctx->sha384ctx); - break; - case ID_SHA512: - CCFree(crt->ctx->sha512ctx); - break; -#endif - case ID_CMAC: - CCFree(crt->ctx->cmacctx); - break; - case ID_HMD5: - case ID_HSHA1: - case ID_HSHA256: -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384: - case ID_HSHA512: -#endif //_OP64_NOTSUPPORTED - CCFree(crt->ctx->hmacctx); - break; - case ID_AES128: - case ID_AES192: - case ID_AES256: - CCFree(crt->ctx->aesctx); - break; - case ID_DES: - CCFree(crt->ctx->desctx); - break; - case ID_TDES: - CCFree(crt->ctx->tdesctx); - break; - case ID_RC4: - CCFree(crt->ctx->rc4ctx); - break; - case ID_SNOW2: - CCFree(crt->ctx->snow2ctx); - break; - case ID_RSA512: - case ID_RSA: - case ID_RSA1024: - case ID_RSA2048: - CCFree(crt->ctx->rsactx); - break; - case ID_DSA: - CCFree(crt->ctx->dsactx); - break; - case ID_ECDSA: - CCFree(crt->ctx->ecdsactx); - break; - case ID_ECDH: - CCFree(crt->ctx->ecdhctx); - break; - case ID_DH : - SDRM_FreeDHContext(crt->ctx->dhctx); - CCFree(crt->ctx->dhctx); - break; - } - - // free CryptoCoreContainer data structure - CCFree(crt->ctx); - CCFree(crt); -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/DRMLog.c b/SPC/Src/DRMLog.c deleted file mode 100755 index 5c1cdc9..0000000 --- a/SPC/Src/DRMLog.c +++ /dev/null @@ -1,151 +0,0 @@ -#include -#if defined(_WIN32_WCE) -#include -#endif -#include "DRMLog.h" - -void DRMLOG_API DRMLOG_SetFormat(DRMLOG_CTX* ctx, int format) -{ - if (ctx == NULL) - { - return; - } - - ctx->format = format; -} - -void DRMLOG_API DRMLOG_SetLevel(DRMLOG_CTX* ctx, int level) -{ - if ((ctx == NULL) || ((level < LOG_DEBUG) && (level > LOG_FATAL))) - { - return; - } - - ctx->level = level; -} - -void DRMLOG_API DRMLOG_SetOutput(DRMLOG_CTX* ctx, FILE *output_file) -{ - if (ctx == NULL) - { - return; - } - - ctx->file = output_file; -} - -static void PrintHeader(DRMLOG_CTX* ctx, int level, const char* filename, int line_number) -{ -#ifdef _DRMLOG_DISABLE - return; -#else - -#if defined(_WIN32_WCE) - SYSTEMTIME stm; -#else - time_t long_time; - struct tm* tm; -#endif - - static const char* _level_str[] = {"DEBUG", "INFO", "WARN", "ERROR", "FATAL"}; - - if(ctx == NULL) - { - return; - } - - // level - if (ctx->format & LOG_FORMAT_LEVEL) - { - fprintf(ctx->file, "[%s]", _level_str[level-1]); - } - - // tick - if (ctx->format & LOG_FORMAT_TICK) - { - #if defined(_WIN32_WCE) - fprintf(ctx->file, "[%ul]", GetTickCount()); - #endif - } - - // date / time - if (ctx->format & LOG_FORMAT_TIME) - { - #ifdef _WIN32_WCE - GetSystemTime(&stm); - fprintf(ctx->file, "[%04d/%02d/%02d,%02d:%02d:%02d.%03d]", - stm.wYear, stm.wMonth, stm.wDay, stm.wHour, stm.wMinute, stm.wSecond, stm.wMilliseconds); - #else - time(&long_time); - tm = localtime(&long_time); - fprintf(ctx->file, "[%04d/%02d/%02d,%02d:%02d:%02d]", - tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); - #endif - } - - // file and line-number - if(ctx->format & LOG_FORMAT_FILE) - { - char* file_name; - #if defined(_WIN32) || defined(_WIN32_WCE) - file_name = strrchr(filename, '\\'); - #else - file_name = strrchr(filename, '/'); - #endif - fprintf(ctx->file, "[%s:%d]", (file_name ? (file_name + 1) : filename), line_number); - } -#endif -} - -void DRMLOG_API DRMLOG_Message(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, const char* format, ...) -{ -#ifdef _DRMLOG_DISABLE - return; -#else - if ((ctx != NULL) && (ctx->file != NULL) && (ctx->level <= level)) - { - va_list lArg; - char log_buffer[LOG_BUFFER_LEN] = {0}; - - va_start(lArg, format); - vsprintf(log_buffer, format, lArg); - va_end(lArg); - - PrintHeader(ctx, level, file_name, line_number); - fprintf(ctx->file, "%s", log_buffer); - fflush(ctx->file); - } -#endif -} - -void DRMLOG_API DRMLOG_HexaBytes(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, - const char* szMsg, const unsigned char* bytes, int len) -{ -#ifdef _DRMLOG_DISABLE - return; -#else - int idx; - if ((ctx != NULL) && (ctx->file != NULL) && (ctx->level <= level)) - { - PrintHeader(ctx, level, file_name, line_number); - fprintf(ctx->file, "%s =>\n", szMsg); - for(idx = 0; idx < (int)len; idx++) - { - if((idx != 0) && ((idx % 16) == 0)) - { - fprintf(ctx->file, "\n"); - } - - if ((idx % 4) == 0) - { - fprintf(ctx->file, " 0x"); - } - - fprintf(ctx->file, "%.2x", bytes[idx]); - } - - fprintf(ctx->file, "\n"); - fflush(ctx->file); - } -#endif -} diff --git a/SPC/Src/DtcpCTcpSocket.cpp b/SPC/Src/DtcpCTcpSocket.cpp deleted file mode 100755 index 151e1d6..0000000 --- a/SPC/Src/DtcpCTcpSocket.cpp +++ /dev/null @@ -1,855 +0,0 @@ -// DtcpCTcpSocket.cpp: implementation of the DtcpCTcpSocket class. -// -////////////////////////////////////////////////////////////////////// -#include "DRMLog.h" -#include "DtcpCTcpSocket.h" -//#include "DtcpCUtil.h" - -#ifndef _LINUX -#include -//#define _WSPIAPI_COUNTOF -#include -#endif - -#define DEFAULT_TTL_VALUE 64 -////////////////////////////////////////////////////////////////////// -// Construction/Destruction -////////////////////////////////////////////////////////////////////// -FILE* logfile = NULL; -FILE* msgfile = NULL; -DRMLOG_CTX DtcpLogCTX; - - -/// tcpip -#define DTCP_TCPIP_SUCCESS DTCP_SUCCESS -#define DTCP_TCPIP_SOCKET_CLOSED DTCP_SUCCESS + 1 -#define DTCP_ERR_TCPIP_BIND -151 -#define DTCP_ERR_TCPIP_CONNECT -152 -#define DTCP_ERR_TCPIP_READ -153 -#define DTCP_ERR_TCPIP_SEND -154 -#define DTCP_ERR_TCPIP_CLOSE -155 -#define DTCP_ERR_TCPIP_LISTEN -156 -#define DTCP_ERR_TCPIP_ACCEPT -157 -#define DTCP_SOCKET_TIMEOUT -158 - -/// common -#define DTCP_SUCCESS 0 /// Function succeeded -#define DTCP_FAILURE -1 /// General failure - -/* -#ifdef _WIN32_ -int GetLocalIP (IN_ADDR* localHost) -#elif _LINUX -int GetLocalIP (struct in_addr* localHost) -#endif - -{ - - #ifndef _LINUX //anyview , win32 - WSADATA wsaData; - if (0 == WSAStartup(MAKEWORD(2, 2), &wsaData)) - { - if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) - { - WSACleanup(); - return DTCP_FAILURE; - } - } - - int reValue; - char aHostName [255]; - HOSTENT *pHost; - - memset(aHostName, 0x00, 255); - gethostname(aHostName, 255); - pHost = gethostbyname(aHostName); - - - if(pHost==NULL) - { - reValue = DTCP_FAILURE; - } - else - { - memcpy(localHost, pHost->h_addr, pHost->h_length); - reValue = DTCP_SUCCESS; - } - - WSACleanup (); -#else //LINUX - - int reValue = DTCP_SUCCESS, s; - - struct ifreq ifr; - struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr; - - memset(&ifr,0, sizeof ifr); - memset(localHost,0,sizeof(localHost)); - - if(0 > (s = socket(AF_INET,SOCK_STREAM,0))){ - return DTCP_ERR_LOCALIP; - } - - strcpy(ifr.ifr_name,"eth0"); - sin->sin_family = AF_INET; - - - if(0 == ioctl(s,SIOCGIFADDR,&ifr)){ - if(!inet_aton(inet_ntoa(sin->sin_addr),localHost)) - return DTCP_ERR_LOCALIP; - } - - ::close(s); - - - #endif - return reValue; -} - -*/ - -/** -*Constructor [DtcpCTcpSocket] -* Parameters: -* Return Value: -*/ -#ifdef _DTCP_PLUS -DtcpCTcpSocket::DtcpCTcpSocket (bool bSetTTL) -#else -DtcpCTcpSocket::DtcpCTcpSocket () -#endif -{ - int iReuseAddr = 1; - - init(); - - if (0 == m_iFd) - m_iFd = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - - DRMLOG_Msg (&DtcpLogCTX, LOG_DEBUG, "[Network] Socket m_iFd: %d\n",m_iFd); - - if (0 != ::setsockopt(m_iFd, SOL_SOCKET, SO_REUSEADDR, - (const char*)&iReuseAddr, sizeof(iReuseAddr))) - DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR, - "[Network] %s \n","setsockopt Error"); - else - { -#ifdef _DTCP_PLUS - SetTTL (bSetTTL); -#else - SetTTL (); -#endif - } - -} - -void -#ifdef _DTCP_PLUS -DtcpCTcpSocket::SetTTL (bool bSetTTL) -#else -DtcpCTcpSocket::SetTTL () -#endif -{ -#ifdef _DTCP_PLUS - if (bSetTTL == true) -#endif - { - int aTtl = 3; - setsockopt (m_iFd, IPPROTO_IP, IP_TTL, (char*)&aTtl, sizeof (aTtl)); - } -#ifdef _DTCP_PLUS - else - { - int aTtl = DEFAULT_TTL_VALUE; - setsockopt (m_iFd, IPPROTO_IP, IP_TTL, (char*)&aTtl, sizeof (aTtl)); - } -#endif -} - -/** -* Constructor [DtcpCTcpSocket with parameter] -* Parameters: -* uFd -* [in] Socket handle (File descriptor) -* Return Value: -*/ -#ifdef _DTCP_PLUS -DtcpCTcpSocket::DtcpCTcpSocket(cc_u32 uFd, bool bSetTTL) -#else -DtcpCTcpSocket::DtcpCTcpSocket(cc_u32 uFd) -#endif -{ - int iReuseAddr = 1; - - init(); - - m_iFd = uFd; - DRMLOG_Msg (&DtcpLogCTX, LOG_DEBUG,"[Network] Socket m_iFd: %d\n",m_iFd); - - if (0 != ::setsockopt(m_iFd, - SOL_SOCKET, - SO_REUSEADDR, - (const char*)&iReuseAddr, - sizeof(iReuseAddr))) - { - printf("DtcpCTcpSocket==> setsockopt Error!\n"); - - } - else - { -#ifdef _DTCP_PLUS - SetTTL (bSetTTL); -#else - SetTTL (); -#endif - } - -} - -DtcpCTcpSocket::~DtcpCTcpSocket() -{ - - //printf ("~DtcpCTcpSocket::DtcpCTcpSocket \n"); - - closeSocket(); -#ifdef _WIN32_ - ::WSACleanup(); -#elif _ANYVIEW - ::WSACleanup(); -#endif - -} - -#ifdef _WIN32_ -static int iWinSockInit = FALSE; -#elif _ANYVIEW -static int iWinSockInit = FALSE; -#endif - - -/** -* Initialize socket -* Parameters: -* Return Value: -*/ -int DtcpCTcpSocket::init() -{ -#ifdef _WIN32_ - if (TRUE == iWinSockInit) - return (DTCP_TCPIP_SUCCESS); - - else - { - WSADATA wsaData; - - - if (0 == ::WSAStartup(MAKEWORD(2, 2), &wsaData)) - { - if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) - { - ::WSACleanup(); - } - } - } -#elif _ANYVIEW - if (TRUE == iWinSockInit) - return (DTCP_TCPIP_SUCCESS); - - else - { - WSADATA wsaData; - - if (0 == ::WSAStartup(MAKEWORD(2, 2), &wsaData)) - { - if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) - { - ::WSACleanup(); - } - } - } -#endif - - ::memset(&m_AddrLocal, 0, sizeof(struct sockaddr_in)); - ::memset(&m_AddrDest, 0, sizeof(struct sockaddr_in)); - m_iFd = 0; - m_bNonBlocking = false; - - - return DTCP_TCPIP_SUCCESS; -} - -/** -*Bind a socket to a specified port and IP address -* Parameters: -* pAddr -* [in] Pointer to a sockaddr structure -* Return Value: -*/ -int -DtcpCTcpSocket::bindSocket(sockaddr_in* pAddr) -{ - m_AddrLocal.sin_family = AF_INET; - m_AddrLocal.sin_port = pAddr->sin_port; - m_AddrLocal.sin_addr.s_addr = pAddr->sin_addr.s_addr; - - int reValue = ::bind(m_iFd, (struct sockaddr *)&m_AddrLocal, sizeof(struct sockaddr_in)); - if (0 != reValue ) - { - DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR, - "Bind Error [Address %s, Port %d ] \n", - inet_ntoa(m_AddrLocal.sin_addr), ntohs (pAddr->sin_port) - ); - return DTCP_ERR_TCPIP_BIND; - } - - SetTTL (); - - return DTCP_TCPIP_SUCCESS; -} - -/** -* Estabilish a connection to a specified socket (to a remote computer) -* Parameters: -* pDest -* [in] Pointer to a sockaddr structure -* Return Value: -*/ -long -DtcpCTcpSocket::connectSocket(sockaddr_in* pDest) -{ - m_AddrDest.sin_family = AF_INET; - m_AddrDest.sin_port = pDest->sin_port; - m_AddrDest.sin_addr.s_addr = pDest->sin_addr.s_addr; - - ////////////////////////////////////////////////////////////////// - // for TTL Setting - // ÀÓ½Ã.. - -#ifndef _LINUX - IN_ADDR inLocalAddr; - GetLocalIP (&inLocalAddr); - - sockaddr_in LocalAddr; - LocalAddr.sin_family = AF_INET; - LocalAddr.sin_addr.s_addr = inLocalAddr.s_addr; - LocalAddr.sin_port = htons(0); - - bindSocket (&LocalAddr); -#endif - - if (0 != ::connect(m_iFd, (struct sockaddr *)&m_AddrDest, sizeof(m_AddrDest))) - { - printf ("After connect \n"); -#ifdef _WIN32_ - cc_u32 i = WSAGetLastError(); -#elif _ANYVIEW - cc_u32 i = WSAGetLastError(); -#endif - - DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR,"[Network] %s\n", "Connect Error"); - return DTCP_ERR_TCPIP_CONNECT; - } - - SetTTL (); - return DTCP_TCPIP_SUCCESS; -} -/** -* Read char-typed data from a connected or bound socket -* Parameters: -* pchBuf -* [out] char-typed Buffer for incoming data -* dwBufLen -* [in] Length of buffer -* pdwRcvLen -* [out] Received length -* dwMsec -* [in] timeout -* Return Value: -*/ -/* -int -DtcpCTcpSocket::read(cc_u8* pchBuf, - cc_u32 dwBufLen, - cc_u32* pdwRcvLen, - cc_u32 dwMsec) -{ - // Synchronization I/O - - if (INFINITE_32 != dwMsec) - { - int iRes = 0; - - fd_set readset; - timeval t; - - t.tv_sec = dwMsec/1000; - t.tv_usec = (dwMsec%1000) * 1000; - - FD_ZERO(&readset); - FD_SET(m_iFd, &readset); - -#ifdef _DTCP_DEBUG_VER - LOG_DEBUG(&DtcpLogCTX), "[network] DtcpCTcpSocket::read ==> m_iFd: %d\n",m_iFd); - // printf("DtcpCTcpSocket::read ==> m_iFd: %d\n", m_iFd); -#endif - - iRes = select(m_iFd+1, &readset, 0, 0, NULL); - if (-1 == iRes) - { -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> select error!"); - printf("DtcpCTcpSocket::read ==> select error!\n"); -#endif - return DTCP_ERR_TCPIP_READ; - } - else if (0 == iRes) - { -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network]%s\n","DtcpCTcpSocket::read ==> select error!, Time-out"); - //printf("DtcpCTcpSocket::read ==> select error!, Time-out\n"); -#endif - //return DTCP_ERR_TCPIP_READ; - } - - if (0 == FD_ISSET(m_iFd, &readset)) - { -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> FD_ISSET error!"); - //printf("DtcpCTcpSocket::read ==> FD_ISSET error!\n"); -#endif - return DTCP_ERR_TCPIP_READ; - } - } - -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> before ::recv!"); - //printf("DtcpCTcpSocket::read ==> before ::recv\n"); -#endif - - *pdwRcvLen = ::recv(m_iFd, (char *)pchBuf, dwBufLen, 0); - - -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network] DtcpCTcpSocket::read ==> after ::recv, ReceivedLength: %d\n",*pdwRcvLen); -// printf("DtcpCTcpSocket::read ==> after ::recv, ReceivedLength: %d\n", dwBufLen); -#endif - - - if (*pdwRcvLen == (unsigned)-1) - { - *pdwRcvLen = 0; - -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> Recv Error !"); - //printf("DtcpCTcpSocket::read ==> Recv Error !\n"); -#endif - - return DTCP_ERR_TCPIP_READ; - } - else if (0 == *pdwRcvLen) - return DTCP_TCPIP_SOCKET_CLOSED; - - -#ifdef _DTCP_DEBUG_VER - LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> Recv Success !"); - //printf("DtcpCTcpSocket::read ==> Recv Success \n"); -#endif - - return DTCP_TCPIP_SUCCESS; -} -*/ - -#if 0 -int -DtcpCTcpSocket::read(cc_u8* pbyBuf, - cc_u32 dwBufLen, - cc_u32* pdwRcvLen, - cc_u32 dwMsec) -{ - -// cc_u32 t0=GetTickCount(); - //*pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - /* -#ifdef _WIN32_ - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - -#elif _ANYVIEW - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); -#else - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); -#endif -*/ -/* - cc_u32 t1=GetTickCount(); - if( (t1 - t0 )>= dwMsec) - { - printf(" Time out!\n"); - return DTCP_ERR_TCPIP_READ; - } - else - printf(" %ld \n",(t1-t0)); -*/ - if (*pdwRcvLen == (unsigned)-1) - { - *pdwRcvLen = 0; - return DTCP_ERR_TCPIP_READ; - } - else if (0 == *pdwRcvLen) - return DTCP_TCPIP_SOCKET_CLOSED; - - return DTCP_TCPIP_SUCCESS; -} - -#endif -int -DtcpCTcpSocket::read(cc_u8* pbyBuf, - cc_u32 dwBufLen, - cc_u32* pdwRcvLen, - cc_u32 dwMsec) -{ - - *pdwRcvLen = 0; - cc_u32 uRecvLen = 0 ; - - fd_set fds ; - int n ; - struct timeval tv ; - - // Set up the file descriptor set. - FD_ZERO(&fds) ; - FD_SET(m_iFd, &fds) ; - - // Set up the struct timeval for the timeout. - tv.tv_sec = dwMsec/1000 ; - tv.tv_usec = 0 ; - - // Wait until timeout or data received. - n = select ( m_iFd+1, &fds, NULL, NULL, &tv ) ; - if ( n == 0 ) - { - printf ("TimeOut \n"); - return DTCP_SOCKET_TIMEOUT; - - } - else if (n == 1) - { - uRecvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - *pdwRcvLen = uRecvLen; - - if (uRecvLen != dwBufLen) - { - DRMLOG_Msg (&DtcpLogCTX, LOG_INFO, - "Requested length %d, Read length %d \n",dwBufLen,uRecvLen); - } - - } - else - { - printf ("Error \n"); - return DTCP_FAILURE; - } - - /* - - do - { - uRecvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - - if (uRecvLen != -1) - *pdwRcvLen += uRecvLen; - - uEndTime = timeGetTime (); - if (uEndTime - uStartTime > dwMsec) - { - printf ("TimeOut !!! \n"); - break; - } - }while (dwBufLen < *pdwRcvLen); - */ - //DRMLOG_Msg(&DtcpLogCTX,LOG_ERROR,"*pdwRcvLen %d , %d \n", *pdwRcvLen, (uEndTime - uStartTime)); - - -// cc_u32 t0=GetTickCount(); - //*pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - //*pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - /* -#ifdef _WIN32_ - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); - -#elif _ANYVIEW - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); -#else - *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0); -#endif -*/ -/* - cc_u32 t1=GetTickCount(); - if( (t1 - t0 )>= dwMsec) - { - printf(" Time out!\n"); - return DTCP_ERR_TCPIP_READ; - } - else - printf(" %ld \n",(t1-t0)); -*/ - if (*pdwRcvLen == (unsigned)-1) - { - *pdwRcvLen = 0; - return DTCP_ERR_TCPIP_READ; - } - else if (0 == *pdwRcvLen) - return DTCP_TCPIP_SOCKET_CLOSED; - - return DTCP_TCPIP_SUCCESS; -} - - -/** -* Query TCP socket to see how many bytes are in read buffer -* Parameters: -* iBufLen -* [out] Length of buffer -* Return Value: -*/ -long -DtcpCTcpSocket::readBufLen(int* iBufLen) -{ - if (NULL != iBufLen) - { -#ifdef _WIN32_ - if (0 != ioctlsocket( -#elif _ANYVIEW - if (0 != ioctlsocket( -#else - if (ioctl( -#endif - m_iFd, - FIONREAD, -#ifdef _WIN32_ - (u_long *)iBufLen)) -#elif _ANYVIEW - (cc_u32 *)iBufLen)) -#else - iBufLen)) -#endif - return DTCP_ERR_TCPIP_READ; - - } - else - return DTCP_ERR_TCPIP_READ; - - return DTCP_TCPIP_SUCCESS; -} - -/* -* Send char-typed data on a connected socket -* Parameters: -* pchBuf -* [in] char-typed Buffer containing the data to be transmitted -* dwBufLen -* [in] Length of buffer -* pdwSndLen -* [out] -* Return Value: -*/ -int -DtcpCTcpSocket::send(const char* pchBuf, cc_u32 dwBufLen, cc_u32* pdwSndLen) -{ - -#ifdef _DTCP_DEBUG_VER -#ifdef _DTCP_FILE_LOG - if (pchBuf[0] == 0x01) - { - fprintf (msgfile, "\n\n*** Send Msg ***"); - PrintAkeMessage ((cc_u8 *)pchBuf, dwBufLen); - } -#endif -#endif - -#ifdef _WIN32_ - cc_u32 iFlags = 0; - *pdwSndLen = ::send(m_iFd, pchBuf, dwBufLen, iFlags); - -#elif _ANYVIEW - cc_u32 iFlags; - *pdwSndLen = ::send(m_iFd, pchBuf, dwBufLen, iFlags); -#elif _LINUX - *pdwSndLen = write(m_iFd,pchBuf,dwBufLen); -#endif - - - - if ((unsigned)-1 == *pdwSndLen) - { - *pdwSndLen = 0; - - return DTCP_ERR_TCPIP_SEND; - } - - return DTCP_TCPIP_SUCCESS; -} - -/** -* Send cc_u8-typed data on a connected socket -* Parameters: -* pbyBuf -* [in] cc_u8-typed Buffer containing the data to be transmitted -* dwBufLen -* [in] Length of buffer -* pdwSndLen -* [out] -* Return Value: -*/ -/* -int -DtcpCTcpSocket::send(const cc_u8* pbyBuf, cc_u32 dwBufLen, cc_u32* pdwSndLen) -{ - - int iFlags = 0; - -#ifdef _WIN32 - *pdwSndLen = ::send(m_iFd, (char *)pbyBuf, dwBufLen, iFlags); -#else - *pdwSndLen = ::send(m_iFd, pbyBuf, dwBufLen, iFlags); -#endif - - if ((unsigned)-1 == *pdwSndLen) - { - *pdwSndLen = 0; - - return DTCP_ERR_TCPIP_SEND; - } - else if (0 == *pdwSndLen) - return DTCP_TCPIP_SOCKET_CLOSED; - - return DTCP_TCPIP_SUCCESS; -} -*/ -/** -* Set non-blocking mode -* Parameters: -* Return Value: -*/ -bool -DtcpCTcpSocket::setNonBlocking(bool bNonBlocking) -{ - m_bNonBlocking = bNonBlocking; - - return true; -} - -/** -* Close an exiting socket -* Parameters: -* Return Value: -*/ -int -DtcpCTcpSocket::closeSocket(void) -{ - if (m_iFd == 0) - { - return DTCP_ERR_TCPIP_CLOSE; - } - - DRMLOG_Msg (&DtcpLogCTX, LOG_DEBUG,"[Network] closesocket %d\n",m_iFd); - - int reValue = 0; -#ifdef _WIN32_ - reValue = ::closesocket(m_iFd); -#elif _ANYVIEW - reValue = ::closesocket(m_iFd); -#else - reValue = ::shutdown (m_iFd,SHUT_RDWR); - if (reValue == 0) - { - reValue = ::close(m_iFd); - } -#endif - - m_iFd = 0; - if (reValue != 0) - { - return DTCP_ERR_TCPIP_CLOSE; - } - else - { - return DTCP_TCPIP_SUCCESS; - } -} - - - -/** -* Listen -* Parameters: -* Return Value: -*/ -int -DtcpCTcpSocket::listen(void) -{ - int reValue = ::listen(m_iFd, SOMAXCONN); - if (reValue != 0) - { - DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR, - " Listen Error [ErrorCode :%d] \n",reValue); - } - - return reValue; - - //return (0 != ::listen(m_iFd, SOMAXCONN) ? DTCP_ERR_TCPIP_LISTEN : DTCP_TCPIP_SUCCESS); -} - -/** -* Permit an incoming connection attempt on a socket -* (Block waiting for a remote connection on a bound socket) -* Parameters: -* Return Value: -*/ -DtcpCTcpSocket* -DtcpCTcpSocket::accept() -{ - struct sockaddr destAddr; -#ifdef _WIN32_ - int iDestSize = sizeof(destAddr); -#elif _ANYVIEW - int iDestSize = sizeof(destAddr); -#else - socklen_t iDestSize = sizeof(destAddr); -#endif - - int iFd = -1; - while (1) - { - iFd = ::accept(m_iFd, &destAddr, &iDestSize); - - if (-1 == iFd) - { - DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR, - "[Network] %s\n","Accept FAILURE\n"); - return NULL; - } - else - { - DRMLOG_Msg (&DtcpLogCTX, LOG_INFO, - "[Network] accept socketId m_iFd: %d\n",m_iFd); - } - break; - } - - DtcpCTcpSocket* ptSocket = new DtcpCTcpSocket((cc_u32)iFd); - - memcpy(&ptSocket->m_AddrDest, &destAddr, sizeof(m_AddrLocal)); - memcpy(&ptSocket->m_AddrLocal, &m_AddrLocal, sizeof(m_AddrLocal)); - -#ifdef _DTCP_PLUS - SetTTL (true); -#else - SetTTL (); -#endif - - return ptSocket; -} - - - diff --git a/SPC/Src/SAKEP.cpp b/SPC/Src/SAKEP.cpp deleted file mode 100755 index 572059e..0000000 --- a/SPC/Src/SAKEP.cpp +++ /dev/null @@ -1,8213 +0,0 @@ -#include -#include -#include "SAKEP.h" - -#include "CC_Context.h" -#include "bignum.h" -#include "ANSI_x931.h" -#include "SPC_Table.h" -#include "DRMLog.h" - - - -#define MIN(a,b) (((a) < (b)) ? (a) : (b)) - - -static unsigned char generator[SAKEP_DLBP_PAK_PARMETER_SIZE] = -{ - 0xab,0xf9,0xef,0x8e,0x95,0x7c,0x6e,0xe4,0xd4,0x90,0xf9,0xa0,0x3a,0x64,0x78,0x2e, - 0x3e,0x59,0x97,0x6e,0x21,0x2d,0xd1,0xbc,0x7e,0xe4,0x99,0x32,0xd3,0xc4,0x0d,0x8a, - 0x79,0x9e,0xeb,0x39,0x9a,0xa9,0xe0,0xfe,0x00,0x0c,0xa9,0xbb,0xb1,0x33,0xaf,0x9c, - 0x78,0xa8,0x75,0xbc,0xde,0x1c,0x32,0x84,0x93,0xa2,0x70,0x29,0x03,0x5a,0x86,0x8a, - 0x91,0x44,0x93,0x26,0xd9,0x1d,0x4d,0x71,0x2a,0xf3,0x52,0x91,0x0b,0xe8,0xc5,0xfb, - 0x98,0x59,0x17,0x41,0x1e,0xdd,0x2a,0x42,0x8b,0xd6,0x15,0x1e,0xda,0x08,0xf0,0xc1, - 0x85,0x47,0xc0,0x4d,0x19,0x3c,0x3d,0x30,0x58,0x82,0x50,0xe2,0xfe,0x60,0xb8,0x47, - 0xf2,0x50,0x91,0x5e,0x56,0xe8,0xf2,0x55,0x57,0x19,0x46,0x18,0xe7,0x83,0x2f,0x73 -}; - - static unsigned char prime[SAKEP_DLBP_PAK_PARMETER_SIZE] = -{ - 0xb3,0x61,0xeb,0x0a,0xb0,0x1c,0x34,0x39,0xf2,0xc1,0x6f,0xfd,0xa7,0xb0,0x5e,0x3e, - 0x32,0x07,0x01,0xeb,0xee,0x3e,0x24,0x91,0x23,0xc3,0x58,0x67,0x65,0xfd,0x5b,0xf6, - 0xc1,0xdf,0xa8,0x8b,0xb6,0xbb,0x5d,0xa3,0xfd,0xe7,0x47,0x37,0xcd,0x88,0xb6,0xa2, - 0x6c,0x5c,0xa3,0x1d,0x81,0xd1,0x8e,0x35,0x15,0x53,0x3d,0x08,0xdf,0x61,0x93,0x17, - 0x06,0x32,0x24,0xcf,0x09,0x43,0xa2,0xf2,0x9a,0x5f,0xe6,0x0c,0x1c,0x31,0xdd,0xf2, - 0x83,0x34,0xed,0x76,0xa6,0x47,0x8a,0x11,0x22,0xfb,0x24,0xc4,0xa9,0x4c,0x87,0x11, - 0x61,0x7d,0xdf,0xe9,0x0c,0xf0,0x2e,0x64,0x3c,0xd8,0x2d,0x47,0x48,0xd6,0xd4,0xa7, - 0xca,0x2f,0x47,0xd8,0x85,0x63,0xaa,0x2b,0xaf,0x64,0x82,0xe1,0x24,0xac,0xd7,0xdd - -}; - -//////////////////////////////////////////////////////////////////////////// -// Global Variables -//////////////////////////////////////////////////////////////////////////// -cc_u32 DWD_ZERO[2] = {0, 0}; -cc_u32 DWD_ONE[2] = {1, 0}; - -SPC_INTERNAL SDRM_BIG_NUM _BN_ZERO = {0, 1, 2, DWD_ZERO}; -SPC_INTERNAL SDRM_BIG_NUM _BN_ONE = {0, 1, 2, DWD_ONE}; - -SPC_INTERNAL SDRM_BIG_NUM *BN_ZERO = &_BN_ZERO; -SPC_INTERNAL SDRM_BIG_NUM *BN_ONE = &_BN_ONE; - - - -SPC_INTERNAL SAkepApi::SAkepApi() -{ - memset(m_pPrivatekeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE); - memset(m_pPublickeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE); - memset(m_pWc,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE); - - m_pMac = NULL; - - m_nMyMacLen = 0; -} - -SPC_INTERNAL SAkepApi::SAkepApi(Handle_CTX* ctx,ModeType eMode) -{ - ctx->eErrorType = SUCCESS; - - memset(m_pPrivatekeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE); - memset(m_pPublickeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE); - m_pMac = NULL; - memset(m_pWc,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE); - m_nMyMacLen = 0; - -} - -SAkepApi::~SAkepApi() -{ - if(m_pMac != NULL) - { - free(m_pMac); - } - -} - -SPC_INTERNAL void* SAkepApi::SAKEPMalloc(int siz) -{ - cc_u8 *pbBuf = (cc_u8*)malloc(siz); - - if (pbBuf == NULL) - { - return NULL; - } - else - { - memset(pbBuf, 0, siz); - return (void*)pbBuf; - } -} - -SPC_INTERNAL void SAkepApi::SAKEPFree(void *ptr) -{ - if (ptr != NULL) - { - free(ptr); - } -} - - -SPC_INTERNAL SAKEPContainer* SAkepApi::create_SAKEPContainer() -{ - SAKEPContainer *crt; - srand((unsigned int)time(NULL)); - - // allocate memory for crypt data structure (by using CCMalloc) - crt = (SAKEPContainer *)SAKEPMalloc(sizeof(SAKEPContainer)); - if (crt == NULL) - { - return NULL; - } - - crt->ctx = (SAKEP_BSContext *)SAKEPMalloc(sizeof(SAKEP_BSContext)); - if (crt->ctx == NULL) - { - free(crt); - return NULL; - } - - return crt; -} - -/*! \brief free allocated memory - * \param crt [in]crypt context - * \return void - */ -SPC_INTERNAL void SAkepApi::destroy_SAKEPContainer(SAKEPContainer* crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return; - } - // free CryptoCoreContainer data structure - SAKEPFree(crt->ctx); - SAKEPFree(crt); -} - - - -SPC_INTERNAL int SAkepApi::EncryptGy(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInGy, unsigned int nInGyLen, unsigned char* pOut, unsigned int* pOutLen) -{ - int reVal = SAKEP_SUCCESS; - unsigned char pGyTempHash[ SAKEP_SHA1_DIGEST_LENGTH] = {0,}; - unsigned char pGyKey[SAKEP_GXY_KEY_SIZE] = {0,}; - - CryptoCoreContainer *ctx; - ctx = create_CryptoCoreContainer(ID_SHA1); - if(ctx == NULL) - { - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer(ID_SHA1) [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - ctx->MD_init(ctx); - ctx->MD_update(ctx, pPwd,nPwdLen); - ctx->MD_final(ctx, pGyTempHash); - destroy_CryptoCoreContainer(ctx); - - memcpy(pGyKey,pGyTempHash,SAKEP_GXY_KEY_SIZE); - memset (pGyTempHash,0x00,SAKEP_SHA1_DIGEST_LENGTH); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128); - if(crt == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - - crt->SE_init(crt, ID_ENC_CBC, ID_NO_PADDING,pGyKey, 16,NULL); - crt->SE_process(crt, pInGy, nInGyLen, pOut, pOutLen); - destroy_CryptoCoreContainer(crt); - - return reVal; - - -} - - -SPC_INTERNAL int SAkepApi::DecryptGx(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInEncryptedGx, unsigned int nInEncryptedGxLen, unsigned char* pOut, unsigned int* pOutLen) -{ - int reVal = SAKEP_SUCCESS; - unsigned char pGxTempHash[ SAKEP_SHA1_DIGEST_LENGTH] = {0,}; - unsigned char pGxKey[SAKEP_GXY_KEY_SIZE] = {0,}; - - CryptoCoreContainer *ctx; - ctx = create_CryptoCoreContainer(ID_SHA1); - if(ctx == NULL) - { - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer(ID_SHA1) [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - ctx->MD_init(ctx); - ctx->MD_update(ctx, pPwd,nPwdLen); - ctx->MD_final(ctx, pGxTempHash); - destroy_CryptoCoreContainer(ctx); - - memcpy(pGxKey,pGxTempHash,SAKEP_GXY_KEY_SIZE); - memset (pGxTempHash,0x00,SAKEP_SHA1_DIGEST_LENGTH); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128); - if(crt == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - - crt->SE_init(crt, ID_DEC_CBC, ID_NO_PADDING,pGxKey, 16,NULL); - crt->SE_process(crt, pInEncryptedGx, nInEncryptedGxLen, pOut, pOutLen); - destroy_CryptoCoreContainer(crt); - - return reVal; - - -} - - -/** - * @fn int SAKEP_SetBSParam(SAKEPContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator, unsigned int nGeneratorLen) - * @brief set parameters for Diffie-Hellman protocol - * - * @param [out] crt context - * @param [in] pPrime prime number - * @param [in] nPrimeLen size of pPrime buffer - * @param [in] pGenerator generator value - * @param [in] nGeneratorLen generator Length - * - * @return int - */ - -SPC_INTERNAL int SAkepApi::SAKEP_SetBSParam(SAKEPContainer* crt, const unsigned char* pPrime, unsigned int nPrimeLen,const unsigned char* pGenerator, unsigned int nGeneratorLen) -{ - SAKEP_BSContext* ctx; - SDRM_BIG_NUM* p = NULL; - SDRM_BIG_NUM* g = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (pPrime == NULL) || (pGenerator == NULL)) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_SetBSParam Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_NULL_POINT_ERROR; - } - - ctx = crt->ctx; - - p = SDRM_BN_Init(nPrimeLen / 2 + 1); - if (p == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_SetBSParam p parameter Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - g = SDRM_BN_Init(nPrimeLen / 2 + 1); - if (g == NULL) - { - free(p); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_SetBSParam g parameter Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - SDRM_OS2BN((unsigned char*)pPrime, nPrimeLen, p); - SDRM_OS2BN((unsigned char*)pGenerator, nGeneratorLen, g); - - ctx->PrimeLen = nPrimeLen; - ctx->p = p; - ctx->g = g; - - return SAKEP_SUCCESS; -} - - -/** g^y - * @fn int SAKEP_SAKEP_GenerateBSPublic(SAKEPContainer* crt, unsigned char *pPin,unsigned int nPinLen,unsigned char* pPriv, unsigned char* pPub) - * @brief generate private value and calculate public value and generate public Key - * - * @param [in] crt context - * @param [in] pPin password - * @param [in] nPinLen password length - * @param [out] pPriv private value - * @param [out] pPub public length - * @return int - */ -SPC_INTERNAL int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer* crt, unsigned char *pPin,unsigned int nPinLen,unsigned char* pPriv/* x */, unsigned char* pPub/* g^x */) -{ - SAKEP_BSContext* ctx; - cc_u32 Seed[4] = {0,}; - int retVal; - //unsigned int WcLen; - - unsigned int nPrivLen = 0; - unsigned int nPubLen = 0; - - SDRM_BIG_NUM* priv = NULL; - SDRM_BIG_NUM* pub = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (pPriv == NULL) || (pPub == NULL)) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_NULL_POINT_ERROR; - } - - ctx = crt->ctx; - - priv = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (priv == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic priv Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - pub = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (pub == NULL) - { - free(priv); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic pub Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - - - //generate priv - //priv->Length = (ctx->PrimeLen + 3) / 4; - priv->Length = (ctx->PrimeLen + 3) / 4; - SDRM_RNG_X931((cc_u8 *)Seed, ctx->PrimeLen * 8, (cc_u8*)priv->pData); - retVal = SDRM_BN_ModRed(priv, priv, ctx->p); - if (retVal != SAKEP_SUCCESS) - { - free(priv); - free(pub); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SDRM_BN_ModRed SDRM_BN_ModRed Error [ErrorCode : %d ]\n",retVal); - - return retVal; - } - -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(pub, ctx->g, priv, ctx->p); -#else - retVal = SDRM_BN_ModExp(pub, ctx->g, priv, ctx->p); -#endif //_OP64_NOTSUPPORTED - - if (retVal != SAKEP_SUCCESS) - { - free(priv); - free(pub); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic SDRM_BN_ModExp2 Error [ErrorCode : %d ]\n",retVal); - - return retVal; - } - - - - SDRM_BN_GETBYTELEN(priv, nPrivLen); - SDRM_I2OSP(priv, ctx->PrimeLen, pPriv); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic Priv length %d \n",nPrivLen); -/* - if(nPrivLen <128) - { - memmove(pPriv + 128 - nPrivLen, pPriv, nPrivLen); - memset(pPriv, 0x00, 128 - nPrivLen); - } -*/ - SDRM_BN_GETBYTELEN(pub, nPubLen); - SDRM_I2OSP(pub, ctx->PrimeLen, pPub); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic Pub length %d \n",nPubLen); -/* - if(nPubLen <128) - { - memmove(pPub + 128 - nPubLen, pPub, nPubLen); - memset(pPub, 0x00, 128 - nPubLen); - } -*/ - - free(priv); - free(pub); - - return SAKEP_SUCCESS; -} - - -/** - * @fn int SAKEP_GetAuthClient(unsigned char* pPrivY,unsigned int nPrivYLen,unsigned char* pGX,unsigned int nGXLen,unsigned char* pSharedSecret,unsigned int *pSharedSecretlen) - * @brief calculate shared secret(Z = g^xy mod p) - * - * @param [in] pPrivY priavate key Data of y - * @param [in] nPrivYLen private key data length of y - * @param [in] pGX public key Data - * @param [in] nGXLen public key data length - * @param [out] pSharedSecret SharedSecret Value(Z = g^xy mod p) - * @param [out] pSharedSecretlen SharedSecret Length - * - * @return int - */ -SPC_INTERNAL int SAkepApi::SAKEP_GetAuthClient(unsigned char* pPrivY,unsigned int nPrivYLen,unsigned char* pGX,unsigned int nGXLen,unsigned char* pSharedSecret,unsigned int *pSharedSecretlen) -{ - int reVal = SAKEP_SUCCESS; - - SDRM_BIG_NUM *BN_GXY,*BN_GX,*BN_Y; - - - unsigned char pDecryptedGx[128] = {0,}; - unsigned int nDecryptedGxLen = 0; - unsigned int nGXYLen = 0; - - - BN_GXY = SDRM_BN_Init(nPrivYLen / 2); - if (BN_GXY == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY memory allocate Error [ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - - BN_Y = SDRM_BN_Init(nPrivYLen / 2); - if (BN_Y == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY memory allocate Error [ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - SDRM_OS2BN(pPrivY, nPrivYLen, BN_Y); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pPrivY " ,pPrivY,nPrivYLen); - - - BN_GX = SDRM_BN_Init(nPrivYLen / 2); - if (BN_GX == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY memory allocate Error [ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - SDRM_OS2BN(pGX, nGXLen, BN_GX); - - SAKEPContainer *crt = create_SAKEPContainer(); - if (crt == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - if( SAKEP_SetBSParam(crt,prime, SAKEP_DLBP_PAK_PARMETER_SIZE, generator,SAKEP_DLBP_PAK_PARMETER_SIZE) != 0) - { - destroy_SAKEPContainer(crt); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc SAKEP_SetBSParam Error [ErrorCode : %d ]\n",SAKEP_GETGYWC_SETBSPARAM_ERROR); - - return SAKEP_GETGYWC_SETBSPARAM_ERROR; - } - - //[Dpwd(g^y)] ^ x - unsigned char* pModulus; - unsigned int nModuluslen = 0; - SAKEP_BSContext* ctx; - ctx = crt->ctx; - - reVal = SDRM_BN_ModExp2(BN_GXY,BN_GX,BN_Y,ctx->p); - if(CRYPTO_SUCCESS != reVal) - { - destroy_SAKEPContainer(crt); - return reVal; - } - - - SDRM_BN_GETBYTELEN(ctx->p, nModuluslen); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY Length :%d ",nGXYLen); - - pModulus = (unsigned char*) malloc (sizeof(unsigned char) * nModuluslen); - SDRM_I2OSP(ctx->p, nModuluslen, pModulus); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pModulus " ,pModulus,nModuluslen); - - if(pModulus) - free(pModulus); - - - destroy_SAKEPContainer(crt); - - SDRM_BN_GETBYTELEN(BN_GXY, nGXYLen); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY Length :%d ",nGXYLen); - - SDRM_I2OSP(BN_GXY, nGXYLen, pSharedSecret); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "Client pSharedSecret " ,pSharedSecret,nGXYLen); - - - - if(nGXYLen <128) - { - memmove(pSharedSecret + 128 - nGXYLen, pSharedSecret, nGXYLen); - memset(pSharedSecret, 0x00, 128 - nGXYLen); - } - - *pSharedSecretlen = 128; - -return reVal; -} - -/** - * @fn int SAkepApi::GetGy(unsigned char *pPin,unsigned int nPinLen,unsigned char* pGy,unsigned char *py) - * @brief calculate public key - * - * @param [in] pPin password - * @param [in] nPinLen password length - * @param [out] pGy public key - * @param [out] py private key data * - * @return int - */ -SPC_INTERNAL int SAkepApi::GetGy(unsigned char *pPin,unsigned int nPinLen,unsigned char* pGy,unsigned char *py)//,unsigned char* pWc,unsigned int* nWcLen) - -{ - - SAKEPContainer *bob = create_SAKEPContainer(); - if (bob == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - if( SAKEP_SetBSParam(bob,prime, SAKEP_DLBP_PAK_PARMETER_SIZE, generator,SAKEP_DLBP_PAK_PARMETER_SIZE) != 0) - { - printf("SAKEP_SetBSParam() failed\n"); - destroy_SAKEPContainer(bob); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc SAKEP_SetBSParam Error [ErrorCode : %d ]\n",SAKEP_GETGYWC_SETBSPARAM_ERROR); - - return SAKEP_GETGYWC_SETBSPARAM_ERROR; - } - - //if(SAKEP_GenerateBSPublic(bob, pPin,nPinLen, py, pGy,pWc,nWcLen) != 0) - if(SAKEP_GenerateBSPublic(bob, pPin,nPinLen, py, pGy) != 0) - { - printf("SAKEP_GenerateBSPrivate() failed\n"); - destroy_SAKEPContainer(bob); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc SAKEP_GenerateBSPublic Error [ErrorCode : %d ]\n",SAKEP_GETGYWC_GENEARTORBSPUBLIC_ERROR); - - return SAKEP_GETGYWC_GENEARTORBSPUBLIC_ERROR; - } - - destroy_SAKEPContainer(bob); - - return SAKEP_SUCCESS; -} - - - - -SPC_INTERNAL int SAkepApi::GeneratorServerHello(Handle_CTX* ctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pUserID,unsigned int nUserIDLen,unsigned char* pOutMsg,unsigned int* nOutLen) -{ - - int reValue = 0; - unsigned int index = 0; - unsigned int nPayloadLen = 0; - //unsigned int nUserIDLen = 0; - - unsigned char pGy[SAKEP_DLBP_PAK_PARMETER_SIZE] = {0,};unsigned char pPrivateY[SAKEP_DLBP_PAK_PARMETER_SIZE] = {0,}; - unsigned char pWc[SAKEP_DLBP_PAK_PARMETER_SIZE] = {0,}; - unsigned int nWcLen = 0; - - unsigned char pEncGy[SAKEP_DLBP_PAK_PARMETER_SIZE] ={0,}; - unsigned int nEncGyLen = 0; - - unsigned char pEncWBGy[SAKEP_DLBP_PAK_PARMETER_SIZE] ={0,}; - - unsigned char *pTempHash=NULL; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"+++++++++++ GeneratorServerHello +++++++++++++\n"); - - if(ctx == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_NULL_POINT_ERROR; - } - if(ctx->eErrorType >= 0x81) - { - pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version - pOutMsg[index] = ctx->eErrorType;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp - pOutMsg[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm - ConvertUint32ToUint8(0,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - - *nOutLen = index; - ctx->eState = STATE_ERROR; - return SAKEP_MESSAGE_ERROR; - } - if( (pPwd == NULL) || (nPwdLen <=0 )|| (pUserID == NULL)||(pOutMsg == NULL)) - { - ctx->eErrorType = INVALIED_PARAMETER_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_INPUT_INVALID_ERROR; - } - - if(ctx->eState != STATE_WAIT_SERVERHELLO ) - { - ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello State Error [State : %d ,ErrorCode : %d ]\n",ctx->eState,SAKEP_NULL_POINT_ERROR); - - return SAKEP_INVAILD_STATE_ERROR; - } - pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version - pOutMsg[index] =SERVER_HELLO;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp - pOutMsg[index] =0x00;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm - - nPayloadLen = SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN + SAKEP_AKE_MSG_USERID_LENGTH_LEN + nUserIDLen; - ConvertUint32ToUint8(nPayloadLen,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - ConvertUint32ToUint8(nUserIDLen,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - memcpy(pOutMsg+index,pUserID,nUserIDLen);index+=nUserIDLen;//UserID Len - - - reValue = GetGy(pPwd,nPwdLen,pGy,pPrivateY);// modified 0404 - if(reValue != 0) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello GetGyWc Error [ErrorCode : %d ]\n",reValue); - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "password" ,pPwd, nPwdLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pPrivateY" ,pPrivateY, SAKEP_DLBP_PAK_PARMETER_SIZE); - return SAKEP_MESSAGE_GENERATE_FAIL; - } - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "Input password" ,pPwd, nPwdLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "My public Key pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pPrivateY" ,pPrivateY, SAKEP_DLBP_PAK_PARMETER_SIZE); - - SetPrivatekeyY(pPrivateY); - SetPublicKeyY(pGy); - SetMac(pUserID,nUserIDLen);//MACa --> 수정 필요 UserIDLen 저장 필요 - - - reValue = EncryptGy(pPwd,nPwdLen,pGy,128,pEncGy,&nEncGyLen); - - if(reValue != 0) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello GetGy Error [ErrorCode : %d ]\n",reValue); - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "password" ,pPwd, nPwdLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pPrivateY" ,pPrivateY, SAKEP_DLBP_PAK_PARMETER_SIZE); - return SAKEP_ENCRYPT_GY_FAIL; - } - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "password" ,pPwd, nPwdLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "Encrypted pGy" ,pEncGy, nEncGyLen); - - EncryptParameterDataWithWB(pEncGy,pEncWBGy); - - memcpy(pOutMsg+index,pEncWBGy,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);index+=SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN;//Epwd(g^y) - pOutMsg[index] =NO_INTEGRITY;index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;//integrity type - memset(pOutMsg+index,0x00,SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN);index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;//integrity length - - //previous message - - pTempHash = (unsigned char*) malloc (sizeof (unsigned char) * nPayloadLen); - if (pTempHash == NULL) - { - ctx->eErrorType = INVALID_SERVER_HELLO_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello pTempHash malloc Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - ConvertUint32ToUint8(nUserIDLen, pTempHash); - memcpy(pTempHash+SAKEP_AKE_MSG_USERID_LENGTH_LEN,pUserID,nUserIDLen); //MACa(UserID) - memcpy(pTempHash+SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen,pEncWBGy,SAKEP_DLBP_PAK_PARMETER_SIZE);//modified 0404 - - //PRINT_BUFFER(" pPreMessage ",pTempHash,SAKEP_AKE_MSG_USERID_LENGTH_LEN+ nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "GeneratorServerHello previos Mesage " ,pTempHash, SAKEP_AKE_MSG_USERID_LENGTH_LEN+ nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - if(pTempHash != NULL) - free(pTempHash); - ctx->eErrorType = INVALID_CLIENT_ACK_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello create_CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pTempHash,nPayloadLen); - crt->MD_final(crt, ctx->pPreHashMsg); - destroy_CryptoCoreContainer(crt); - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "GeneratorServerHello previos Hash Mesage " ,ctx->pPreHashMsg, 20); - -// PRINT_BUFFER(" geneartor ServerHello ctx->pPreHashMsg : ",ctx->pPreHashMsg, 20); - - if(pTempHash != NULL) - { - free(pTempHash); - } - - /////////////////////////////////////////////////////////////////////// - //soket일때는 살리자. - /////////////////////////////////////////////////////////////////////// - - ctx->eState = STATE_WAIT_CLIENTHELLO; - - *nOutLen = index; - - return 0; -} - -SPC_INTERNAL int SAkepApi::ParseClientHello(Handle_CTX* ctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen) -{ - int reValue = SAKEP_SUCCESS; - int index = 0; - unsigned int nPayloadLen = 0,nIntegrityLen=0,nUserIDLen=0; - unsigned char pPayloadHash[SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN] = {0,}; - unsigned char *pPreMessage = NULL; - - - unsigned char pGx[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]={0,}; - unsigned char pMyPublicKey[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]={0,}; - unsigned char pMyPrivateY[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]={0,}; - - - unsigned char *pMyMac =NULL; - unsigned char *pPeerMac=NULL ; - - unsigned char *SKPrimeTemp= NULL; - unsigned char pSkPrime[SAKEP_SHA1_HASH_SIZE]={0,}; - unsigned char pSKHashTemp[SAKEP_SK_PRIME_KEY_SIZE+1] = {0,}; - unsigned char pSKTemp[SAKEP_SK_PRIME_KEY_SIZE]={0,}; - - - unsigned char pPriv[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]; - unsigned int nSharedSecretlen; - unsigned char pSharedSecret[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN] = {0}; - - unsigned char *pTempZMacHash= NULL; - unsigned char pZMacHash[SAKEP_SHA1_HASH_SIZE] = {0,}; - - unsigned int nMyMacLen = 0; - unsigned char pDecryptedGx[128] = {0,}; - unsigned int nDecryptedGxLen = 0; - - DRMLOG_Message(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__,"++++++++++++++++++++++ParseClientHello++++++++++\n"); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello TotalMessage " ,pMessage, nInLen); - DRMLOG_Message(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__,"++++++++++++++++++++++ParseClientHello++++++++++\n"); - - if((ctx == NULL)|| (pMessage == NULL) || (nInLen <=0 )) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_INPUT_INVALID_ERROR; - } - - - if(ctx->eState != STATE_WAIT_CLIENTHELLO) - { - ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR; - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello State Error [State:%d , ErrorCode : %d ]\n",(AkeState)ctx->eState,SAKEP_UNEXPECTED_MESSAGE_ERROR); - - return SAKEP_UNEXPECTED_MESSAGE_ERROR; - } - - unsigned char* pCurrent = pMessage; - //version - if(pCurrent[index] != 0x01) - { - ctx->eErrorType = UNSPPORTED_VERSION_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Version Error [Version:%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_VERSION_LEN; - - - //data type - if(pCurrent[index] != 0x01 ) - { - ctx->eErrorType = (ErrorType) pCurrent[index] ; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello data type Error [data Type:%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_VERSION_LEN+SAKEP_AKE_MSG_TIMESTAMP_LEN; - - //payload en/decryption algorithm - if(pCurrent[index] != 0x00 ) - { - ctx->eErrorType = UNSPPORTED_ENDECRYPTION_MODE; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseClientHello payload en/decryption algorithm Error [payload en/decryption algorithm:%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_PAYLOAD_ALG_LEN; - - //Payload length - ConvertUint8ToUint32(pCurrent+index,&nPayloadLen); - - - index+= SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN; - - //UserID length - ConvertUint8ToUint32(pCurrent+index,&nUserIDLen); - - //previous Message - pPreMessage = (unsigned char*) malloc (sizeof(unsigned char) * (SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN )); - if(pPreMessage ==NULL) - { - ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pPreMessage malloc Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - memcpy(pPreMessage,pCurrent+index,SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - memcpy(pPreMessage+SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN, ctx->pPreHashMsg,SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN); - index+= SAKEP_AKE_MSG_USERID_LENGTH_LEN; - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello PreHashMessage " ,pPreMessage, SAKEP_AKE_MSG_USERID_LENGTH_LEN+ nUserIDLen+ SAKEP_DLBP_PAK_PARMETER_SIZE+SAKEP_SHA1_HASH_SIZE); - //Mac Value(UserID) - pPeerMac = (unsigned char*) malloc(sizeof (unsigned char) * (nUserIDLen+1)); - - if (pPeerMac == NULL) - { - free(pPreMessage); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pPeerMac malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - memset(pPeerMac,0x00,(nUserIDLen+1)); - - memcpy(pPeerMac,pCurrent+index,nUserIDLen); - index+= nUserIDLen; - - - memcpy(pGx,pCurrent+index,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - - unsigned char pDecGx[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN] = {0,}; - DecryptParameterDataWithWB(pGx,pDecGx); - - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello pGx " ,pGx, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello WB pGx " ,pDecGx, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello ] pEncryptedGx : ", pGx,128 ); - - printf(" pPWd : %s \n",pPwd); - reValue = DecryptGx(pPwd,nPwdLen,pDecGx,128,pDecryptedGx,&nDecryptedGxLen); - if (reValue != SAKEP_SUCCESS) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello DecryptGx Error [ErrorCode : %d \n]",reValue); - - return SAKEP_DECRYPT_GX_FAIL; - } - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello ] pDecryptedGx : ", pDecryptedGx,nDecryptedGxLen ); - - - GetPrivatekeyY(pPriv); - - SAKEP_GetAuthClient(pPriv,128,pDecryptedGx,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN,pSharedSecret,&nSharedSecretlen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello - pPreviousMsgTemp]Server pSharedSecret : ", pSharedSecret,nSharedSecretlen ); - - - - index+= SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN; - - - memcpy(pPayloadHash,pCurrent+index,SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN); - index+= SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN; - - GetMyMacLen(&nMyMacLen); - pMyMac = (unsigned char*)malloc(nMyMacLen); - if (pMyMac == NULL) - { - free(pPreMessage); - free(pPeerMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pMyMac malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - GetMac(pMyMac,nMyMacLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello - pPreviousMsgTemp]Server MACa(GetMac) : ", pMyMac,nMyMacLen ); - - - - pTempZMacHash = (unsigned char*) malloc (sizeof(unsigned char) * (nMyMacLen + nSharedSecretlen)); - if(NULL == pTempZMacHash) - { - if(pPreMessage != NULL) - { - free(pPreMessage); - } - - ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR; - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pTempZMacHash malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - memcpy(pTempZMacHash,pMyMac,nMyMacLen); - memcpy(pTempZMacHash+nMyMacLen,pSharedSecret,nSharedSecretlen); - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseClinetHello pMyMac Messsage" ,pMyMac, nMyMacLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "GenerateClientHello pSharedSecret Message" ,pSharedSecret, nSharedSecretlen); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - if(pTempZMacHash != NULL) - { - free (pTempZMacHash); - } - - if(pPreMessage != NULL) - { - free(pPreMessage); - } - - ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR; - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pTempZMacHash,(nMyMacLen + nSharedSecretlen)); - crt->MD_final(crt, pZMacHash); - destroy_CryptoCoreContainer(crt); - - if(pTempZMacHash != NULL) - { - free(pTempZMacHash); - } - - //check ClientHello's Mac Value - if(0!=memcmp(pZMacHash,pPayloadHash,SAKEP_SHA1_HASH_SIZE)) - { - ctx->eErrorType = INTEGRITY_ERROR; - free(pPreMessage); - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Previous Hash message Error [ErrorCode : %d ]\n",SAKEP_MESSAGE_ERROR); - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseClinetHello Previous Hash Messsage" ,pZMacHash, 20); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "GenerateClientHello Hash Message" ,pPayloadHash, 20); - - return SAKEP_MESSAGE_ERROR; - } - else - { - printf(" CleintHello's Hash Value same\n"); - } - - - //integrity type - if(pCurrent[index] != 0x00) - { - ctx->eErrorType = INTEGRITY_ERROR; - free(pPreMessage); - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Integrity Type Error [integrity type :%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN; - - //integrity Length - ConvertUint8ToUint32(pCurrent+index,&nIntegrityLen); - if(nIntegrityLen !=0) - { - ctx->eErrorType = INTEGRITY_LENGTH_ERROR; - free(pPreMessage); - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Integrity Length Error [integrity lehgth :%d , ErrorCode : %d ]\n",nIntegrityLen,SAKEP_MESSAGE_ERROR); - return SAKEP_MESSAGE_ERROR; - } - - - //hash of previous message ( MACb || g^x mod p) - //ClientHello에서 받은 메시지 hash value - - crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - if(pPreMessage != NULL) - { - free (pPreMessage); - } - ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR; - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pPreMessage,(SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN )); - crt->MD_final(crt, ctx->pPreHashMsg); - destroy_CryptoCoreContainer(crt); - - //PRINT_BUFFER(" parserClientHello ctx->pPreHashMsg : ",ctx->pPreHashMsg, 20); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "ParseClientHello Hash Message" ,ctx->pPreHashMsg, 20); - - if(pPreMessage != NULL) - { - free(pPreMessage); - } - - //generator Sk` - - GetMyMacLen(&nMyMacLen); - GetMac(pMyMac,nMyMacLen); - GetPublicKeyY(pMyPublicKey); - GetPrivatekeyY(pMyPrivateY); - - - - //PRINT_BUFFER("[ParseClientHello - pMyMac]Client MACb(GetMac) : ", pPeerMac, 6); - - SKPrimeTemp = (unsigned char*) malloc (sizeof(unsigned char) * (nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN)); - if (SKPrimeTemp == NULL) - { - free(pPeerMac); - free(pMyMac); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello SKPrimeTemp malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - - //Generator sk' - memcpy(SKPrimeTemp,pPeerMac,nUserIDLen); //MACa - memcpy(SKPrimeTemp+nUserIDLen,pMyMac,nMyMacLen);//MACb - memcpy(SKPrimeTemp+nUserIDLen+nMyMacLen,pDecryptedGx,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);//g^x - memcpy(SKPrimeTemp+nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN,pMyPublicKey,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);//G^y - memcpy(SKPrimeTemp+nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN,pSharedSecret,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);//z = G^xy - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pPeerMac :" ,pPeerMac, nUserIDLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pMyMac :" ,pMyMac, nMyMacLen); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pGx :" ,pDecryptedGx, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pMyPublicKey :" ,pMyPublicKey, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pSharedSecret :" ,pSharedSecret, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - - - - free(pPeerMac); - free(pMyMac); - - //hash of previous message ( MACb || g^x mod p) - crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - if(SKPrimeTemp != NULL) - { - free (SKPrimeTemp); - } - ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, SKPrimeTemp,nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN); - crt->MD_final(crt, pSkPrime); - destroy_CryptoCoreContainer(crt); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "SKPrimeTemp :" ,SKPrimeTemp, SAKEP_SK_PRIME_KEY_SIZE); - - - if(SKPrimeTemp != NULL) - { - free(SKPrimeTemp); - } - - //----------------------------------------- 다음 부터 수정 - - //SetSKPrime(pSkPrime); - memcpy(ctx->pSKPrime,pSkPrime,SAKEP_SK_PRIME_KEY_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "before ApplyKeyTransform of SK Value :" ,pSKTemp, SAKEP_SK_PRIME_KEY_SIZE); - - //Create SK - memcpy(pSKHashTemp,pSkPrime,SAKEP_SK_PRIME_KEY_SIZE); - pSKHashTemp[SAKEP_SK_PRIME_KEY_SIZE]=0; - - crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pSKHashTemp,21); - crt->MD_final(crt, pSKTemp); - destroy_CryptoCoreContainer(crt); - - //0215 pSKTemp permitation ¼öÇà - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "before ApplyKeyTransform of SK Value :" ,pSKTemp, SAKEP_SK_PRIME_KEY_SIZE); - ApplyKeyTransform(pSKTemp,pSKTemp); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "After ApplyKeyTransform of SK Value :" ,pSKTemp, SAKEP_SK_PRIME_KEY_SIZE); - memcpy(ctx->pSharedkey,pSKTemp,SAKEP_SHARED_KEY_SIZE); - PRINT_BUFFER("[ParseClientHello] sk Client : ",ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "Client SK Value " ,ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE); - - ctx->eState = STATE_WAIT_SERVERACKHELLO; - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello State [State:%d ]\n",(AkeState)ctx->eState); - - return reValue; -} - - -SPC_INTERNAL int SAkepApi::GeneratorServerAck(Handle_CTX* ctx,unsigned char* pOutMsg,unsigned int* nOutLen) -{ - int reValue = SAKEP_SUCCESS; - unsigned int index = 0; - - - if((ctx == NULL)|| (pOutMsg == NULL)) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR); - - return SAKEP_NULL_POINT_ERROR; - } - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck State [State:%d ]\n",ctx->eState); - - if(ctx->eErrorType >= 0x81) - { - pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version - pOutMsg[index] = ctx->eErrorType;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp - pOutMsg[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm - ConvertUint32ToUint8(0,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - - *nOutLen = index; - ctx->eState = STATE_ERROR; - return SAKEP_MESSAGE_ERROR; - } - - if(ctx->eState != STATE_WAIT_SERVERACKHELLO) - { - ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck State Error [State:%d , ErrorCode : %d ]\n",ctx->eState,SAKEP_UNEXPECTED_MESSAGE_ERROR); - - return SAKEP_UNEXPECTED_MESSAGE_ERROR; - } - - pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version - pOutMsg[index] =SERVER_ACKNOWLEDGEMENT;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp - pOutMsg[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm - ConvertUint32ToUint8(SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - - unsigned char pServerAckMsg [SAKEP_MAC_KEY_SIZE]; - unsigned char pServerAckMakeTempMsg[SAKEP_MAC_KEY_SIZE +1]; - memcpy(pServerAckMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE); - memset(pServerAckMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0x01,1); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - ctx->eErrorType = INVALID_CLIENT_ACK_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pServerAckMakeTempMsg,SAKEP_MAC_KEY_SIZE+1); - crt->MD_final(crt, pServerAckMsg); - destroy_CryptoCoreContainer(crt); - - PRINT_BUFFER("pServerAckMsg: ", pServerAckMsg, 20); - - - memcpy(pOutMsg+index,pServerAckMsg,SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN); index+= SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN;//H(SK' || 0x01) - pOutMsg[index] =NO_INTEGRITY;index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;//integrity type - memset(pOutMsg+index,0x00,SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN);index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;//integrity length - - *nOutLen = index; - ctx->eState = STATE_WAIT_CLIENTACKHELLO; - return reValue; -} - - - -SPC_INTERNAL int SAkepApi::ParserClientAck(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen) -{ - int reValue = SAKEP_SUCCESS; - int index = 0; - unsigned int nPayloadLen = 0,nIntegrityLen=0; - - - if((ctx == NULL)|| (pMessage == NULL) || (nInLen <=0 )) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck input parameter Error [ErrorCode : %d ]\n",SAKEP_INPUT_INVALID_ERROR); - - return SAKEP_INPUT_INVALID_ERROR; - } - - if(ctx->eState != STATE_WAIT_CLIENTACKHELLO) - { - ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck State Error [State: %d, ErrorCode : %d ]\n",ctx->eState,SAKEP_UNEXPECTED_MESSAGE_ERROR); - return SAKEP_UNEXPECTED_MESSAGE_ERROR; - } - - unsigned char* pCurrent = pMessage; - //version - if(pCurrent[index] != 0x01) - { - ctx->eErrorType = UNSPPORTED_VERSION_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck Version Error [Version: %d, ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_VERSION_LEN; - - //data type - if(pCurrent[index] != CLIENT_ACKNOWLEDGEMENT ) - { - ctx->eErrorType = (ErrorType) pCurrent[index] ; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck data type Error [data type: %d, ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_VERSION_LEN+SAKEP_AKE_MSG_TIMESTAMP_LEN; - - //payload en/decryption algorithm - if(pCurrent[index] != 0x00 ) - { - ctx->eErrorType = UNSPPORTED_ENDECRYPTION_MODE; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParserClientAck payload en/decryption algorithm Error [payload en/decryption algorithm type: %d, ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_PAYLOAD_ALG_LEN; - - //Payload length - ConvertUint8ToUint32(pCurrent+index,&nPayloadLen); - if(nPayloadLen != SAKEP_AKE_MSG_ACK_SERVER_PAYLOAD_LEN) - { - ctx->eErrorType = INVALID_CLIENT_ACK_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck payload length Error [payload length: %d, ErrorCode : %d ]\n",nPayloadLen,SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN; - - //Payload Value - PRINT_BUFFER("ctx->pSKPrime: ", ctx->pSKPrime, SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN); - unsigned char pClientAckMsg [SAKEP_MAC_KEY_SIZE]; - unsigned char pClientAckMakeTempMsg[SAKEP_MAC_KEY_SIZE +1]; - memcpy(pClientAckMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE); - memset(pClientAckMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0x02,1); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - ctx->eErrorType = INVALID_CLIENT_ACK_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck create_CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pClientAckMakeTempMsg,SAKEP_MAC_KEY_SIZE+1); - crt->MD_final(crt, pClientAckMsg); - destroy_CryptoCoreContainer(crt); - - if( 0 != memcmp(pClientAckMsg,(const char*)pCurrent+ index , SAKEP_MAC_KEY_SIZE) ) - { - ctx->eErrorType = INVALID_CLIENT_ACK_PAYLOAD_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck Mac key Error [ErrorCode : %d ]\n",SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - - index+= nPayloadLen; - - //integrity type - if(pCurrent[index] != 0x00) - { - ctx->eErrorType = INTEGRITY_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck integrity Error [integrity type: %d, ErrorCode : %d ]\n",pCurrent[index] ,SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN; - - //integrity Length - ConvertUint8ToUint32(pCurrent+index,&nIntegrityLen); - if(nIntegrityLen !=0) - { - ctx->eErrorType = INTEGRITY_LENGTH_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck integrity length Error [integrity length: %d, ErrorCode : %d ]\n",nIntegrityLen ,SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - - - ctx->eState = STATE_COMPLETED;; - - - return reValue; -} - - - -//add Header 16 byte -SPC_INTERNAL int SAkepApi::GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen) -{ - int reValue = SAKEP_SUCCESS; - int index = 0; - unsigned int nPaddingLen = 0; - unsigned int nEnTempLen = 0; - unsigned char *pEnTemp; - - if((ctx == NULL)|| (pPlainData == NULL)||(uPlainDataLen <=0 )||(pEncryptedData == NULL) || (uEncryptedDataLen ==NULL)) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg input parameter Error [ErrorCode : %d ]\n",SAKEP_INPUT_INVALID_ERROR); - - return SAKEP_INPUT_INVALID_ERROR; - } - - if(ctx->eErrorType >= 0x81) - { - printf(" ctx->eErrorType %d \n",ctx->eErrorType); - pEncryptedData[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version - pEncryptedData[index] = ctx->eErrorType;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - memset(pEncryptedData+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp - pEncryptedData[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm - ConvertUint32ToUint8(0,pEncryptedData+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - - *uEncryptedDataLen = index; - ctx->eState = STATE_ERROR; - return SAKEP_MESSAGE_ERROR; - } - - pEncryptedData[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version - //pEncryptedData[index] = ENCRYPTED_DATA ;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - pEncryptedData[index] = ENCRYPTED_CREDENTAIL_DATA ;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type - memset(pEncryptedData+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp - pEncryptedData[index] = AES_E_CRT;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm - - - - - /////////////////////////////////////////////////////////////////////////////////////////// - //encryption 수행 start - /////////////////////////////////////////////////////////////////////////////////////////// - pEnTemp = (unsigned char*) malloc (uPlainDataLen+SAKEP_AES_ECB_ADDED_PADDING_SIZE); - if(pEnTemp == NULL) - { - ctx->eErrorType = RECORD_ENCRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg pEnTemp memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - //memcpy(pEnTemp,pEncryptedData+index,uPlainDataLen);//// - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128); - if(crt == NULL) - { - if(pEnTemp!=NULL) - free(pEnTemp); - ctx->eErrorType = RECORD_ENCRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg create_CryptoCoreContainer memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - //AES-ECB - //2015 ctx->pSharedkey ReverseKeyTransform - PRINT_BUFFER("[0215] before ReverseKeyTransform ctx->pSharedkey : ",ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ReverseKeyTransform SK:" ,ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE); - unsigned char pTempSK[16] = {0,}; - ReverseKeyTransform(ctx->pSharedkey,pTempSK); - PRINT_BUFFER("[0215]atter ReverseKeyTransform ctx->pSharedkey : ",pTempSK, SAKEP_SHARED_KEY_SIZE); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "after ReverseKeyTransform SK:" ,pTempSK, SAKEP_SHARED_KEY_SIZE); - crt->SE_init(crt, ID_ENC_ECB, ID_PKCS5, pTempSK, SAKEP_SHARED_KEY_SIZE, NULL); - crt->SE_process(crt, pPlainData, uPlainDataLen, pEnTemp, &nEnTempLen); - crt->SE_final(crt, NULL, 0, pEnTemp + nEnTempLen, &nPaddingLen); - memset(pTempSK,0x00,16); - - nEnTempLen += nPaddingLen; - - destroy_CryptoCoreContainer(crt); - ConvertUint32ToUint8(nEnTempLen,pEncryptedData+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length - memcpy(pEncryptedData+index,pEnTemp,nEnTempLen); - - - //index+= uPlainDataLen; - index+= nEnTempLen; - /////////////////////////////////////////////////////////////////////////////////////////// - //encryption 수행 End - /////////////////////////////////////////////////////////////////////////////////////////// - - - unsigned char pTempPayloadMac[SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN] = {0,}; - unsigned int nMacOutMsgLen= 0; - - //Mac key 생성 // by added sangsu . 130111 - unsigned char pMacKey[SAKEP_MAC_KEY_SIZE+1]; - unsigned char pMacMakeTempMsg[SAKEP_MAC_KEY_SIZE +1]; - memcpy(pMacMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE); - memset(pMacMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0xFF,1); - - crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - free(pEnTemp); - ctx->eErrorType = RECORD_ENCRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg create_CryptoCoreContainer memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pMacMakeTempMsg,SAKEP_MAC_KEY_SIZE+1); - crt->MD_final(crt, pMacKey); - destroy_CryptoCoreContainer(crt); - - - pEncryptedData[index] =0x01;index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;//integrity type - - ConvertUint32ToUint8(SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN,pEncryptedData+index);index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;//Payload length - - crt = create_CryptoCoreContainer(ID_HSHA1); - if(crt == NULL) - { - - if(NULL!=pEnTemp) - free(pEnTemp); - - ctx->eErrorType = RECORD_ENCRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg create_CryptoCoreContainer memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MAC_getMAC(crt, pMacKey, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN, pEnTemp,nEnTempLen, pTempPayloadMac,&nMacOutMsgLen); - destroy_CryptoCoreContainer(crt); - - - memcpy(pEncryptedData+index,pTempPayloadMac,nMacOutMsgLen); - -// PRINT_BUFFER("pTempPayloadMac : ",pTempPayloadMac, nMacOutMsgLen); - index+=nMacOutMsgLen; - *uEncryptedDataLen = index; - - - if(NULL!=pEnTemp) - free(pEnTemp); - - return reValue; - -} -SPC_INTERNAL int SAkepApi::ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen) -{ - int reValue = SAKEP_SUCCESS; - int index = 0; - unsigned int nIntegrityLen = 0; - unsigned int nPayloadLen = 0; - - unsigned int nPaddingLen = 0; - unsigned char *pEnData; - - if((ctx == NULL)|| (pEncryptedData == NULL) || (uEncryptedDataLen <= 0) ||(pPlainData == NULL)||(uPlainDataLen == NULL )) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg Input parameter Error [ErrorCode : %d ]\n",SAKEP_INPUT_INVALID_ERROR); - - if(ctx == NULL) - printf("ctx null\n"); - else if(pEncryptedData == NULL) - printf("(pEncryptedData == NULL)"); - else if (uEncryptedDataLen <= 0) - printf("(uEncryptedDataLen <= 0) "); - else if (pPlainData == NULL) - printf("(pPlainData == NULL)"); - else if(uPlainDataLen == NULL ) - printf("uPlainDataLen == NULL )"); - return SAKEP_INPUT_INVALID_ERROR; - } - - if(pEncryptedData[index] != 0x01) - { - ctx->eErrorType = UNSPPORTED_VERSION_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg Version Error [Vesrion:%d , ErrorCode : %d ]\n",pEncryptedData[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_VERSION_LEN; - - //data type - if(pEncryptedData[index] != 0x11 ) - { - if(pEncryptedData[index] > 0x81) - { - ctx->eErrorType = (ErrorType)pEncryptedData[index]; - } - else - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg data type Error [Vesrion:%d , ErrorCode : %d ]\n",pEncryptedData[index],UNEXPECTED_MESSAGE_ERROR); - - ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR; - } - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_VERSION_LEN+SAKEP_AKE_MSG_TIMESTAMP_LEN; - - //payload en/decryption algorithm - if(pEncryptedData[index] != 0x01 ) - { - ctx->eErrorType = UNSPPORTED_ENDECRYPTION_MODE; - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseRecordMsg payload en/decryption algorithm Error [payload en/decryption algorithm:%d , ErrorCode : %d ]\n",pEncryptedData[index],SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - } - index+= SAKEP_AKE_MSG_PAYLOAD_ALG_LEN; - - //Payload length - ConvertUint8ToUint32(pEncryptedData+index,&nPayloadLen); - - index+= SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN; - - /////////////////////////////////////////////////////////////////////////////////////////// - //decryption 수행 start - /////////////////////////////////////////////////////////////////////////////////////////// - - pEnData = (unsigned char*) malloc (nPayloadLen); - if(pEnData == NULL) - { - ctx->eErrorType = RECORD_DECRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg pEnData memory allocate Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - memcpy(pEnData,pEncryptedData+index,nPayloadLen); - index+=nPayloadLen; - //integrity type - if(pEncryptedData[index] == 0x00) - { - if(pEnData != NULL) - { - free(pEnData); - } - ctx->eErrorType = INTEGRITY_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg integrity type Error [integrity type%d, ErrorCode : %d ]\n",pEncryptedData[index] ,SAKEP_MESSAGE_ERROR); - - return SAKEP_MESSAGE_ERROR; - - } - else if(pEncryptedData[index] == 0x01 ) - { - unsigned char pTmpPayloadMac[SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN] ={0,}; - unsigned int nMacOutMsgLen= 0; - unsigned char pInMsgPayloadMac[SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN] ={0,}; - index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN; - - //integrity Length - ConvertUint8ToUint32(pEncryptedData+index,&nIntegrityLen); - index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN; - memcpy(pInMsgPayloadMac,pEncryptedData+index,nIntegrityLen); - - //Mac key 생성 // by added sangsu . 130111 - unsigned char pMacKey[SAKEP_MAC_KEY_SIZE]; - unsigned char pMacMakeTempMsg[SAKEP_MAC_KEY_SIZE +1]; - memcpy(pMacMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE); - memset(pMacMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0xFF,1); - - //MAC key 생성 - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1); - if(crt == NULL) - { - if(pEnData != NULL) - { - free(pEnData); - } - ctx->eErrorType = RECORD_DECRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainerError [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MD_init(crt); - crt->MD_update(crt, pMacMakeTempMsg,SAKEP_MAC_KEY_SIZE+1); - crt->MD_final(crt, pMacKey); - destroy_CryptoCoreContainer(crt); - - crt = create_CryptoCoreContainer(ID_HSHA1); - if(crt == NULL) - { - if(pEnData != NULL) - { - free(pEnData); - } - ctx->eErrorType = RECORD_DECRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - crt->MAC_getMAC(crt, pMacKey, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN, pEnData,nPayloadLen, pTmpPayloadMac,&nMacOutMsgLen); - destroy_CryptoCoreContainer(crt); - - if(0!=memcmp(pTmpPayloadMac,pInMsgPayloadMac,SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN)) - { - printf(" Integrity Fiail\n"); - if(pEnData != NULL) - { - free(pEnData); - } - ctx->eErrorType = RECORD_INVALID_INTEGRITY_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg Inegrity Invalid Error [ ErrorCode : %d ]\n",SAKEP_MESSAGE_ERROR); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseRecordMsg Calcurated Mac Value " ,pTmpPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN); - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseRecordMsg Input Message Mac Value " ,pInMsgPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN); - - - return SAKEP_MESSAGE_ERROR; - } - - - // PRINT_BUFFER("pTmpPayloadMac : ",pTmpPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN); - // PRINT_BUFFER("pInMsgPayloadMac : ",pInMsgPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN); - - - - } - - /////////////////////////////////////////////////////////////////////////////////////////// - //decryption 수행 start - /////////////////////////////////////////////////////////////////////////////////////////// - - - //PRINT_BUFFER("ctx->pSharedkey : ",ctx->pSharedkey, 16); - - CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128); - if(crt == NULL) - { - if(pEnData != NULL) - free(pEnData); - ctx->eErrorType = RECORD_DECRYPTED_ERROR; - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - //0215 repermition ¼öÇà - unsigned char pTempSK[16] = {0,}; - ReverseKeyTransform(ctx->pSharedkey,pTempSK); - crt->SE_init(crt, ID_DEC_ECB, ID_PKCS5, pTempSK, 16,NULL); - crt->SE_process(crt, pEnData, nPayloadLen-1, pPlainData, uPlainDataLen); - crt->SE_final(crt, pEnData+nPayloadLen-1,1, pPlainData + (*uPlainDataLen), &nPaddingLen); - - memset(pTempSK,0x00,16); - - (*uPlainDataLen) +=nPaddingLen; - destroy_CryptoCoreContainer(crt); - - free(pEnData); - - /////////////////////////////////////////////////////////////////////////////////////////// - //decryption 수행 End - /////////////////////////////////////////////////////////////////////////////////////////// - ctx->eErrorType = SUCCESS; - - return reValue; -} - - -SPC_INTERNAL int SAkepApi::SetPrivatekeyY(unsigned char* pPrivateKey) -{ - int reValue = 0; - memcpy(m_pPrivatekeyY,pPrivateKey,SAKEP_DLBP_PAK_PARMETER_SIZE); - return reValue; -} - -SPC_INTERNAL int SAkepApi::GetPrivatekeyY(unsigned char* pPrivatekey) -{ - int reValue = 0; - memcpy(pPrivatekey,m_pPrivatekeyY,SAKEP_DLBP_PAK_PARMETER_SIZE); - return reValue; -} - -SPC_INTERNAL int SAkepApi::SetMac(unsigned char* pMac,unsigned int nMacLen) -{ - int reValue = 0; - m_pMac = (unsigned char*) malloc (sizeof(unsigned char) * (nMacLen+1)); - memset(m_pMac,0x00,(nMacLen+1)); - if(m_pMac == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SetMac m_pMac memory allocate Error [ ErrorCode : %d ] \n",SAKEP_MEMROY_ALLOCATE_ERROR); - - return SAKEP_MEMROY_ALLOCATE_ERROR; - } - memcpy(m_pMac,pMac,nMacLen); - m_nMyMacLen =nMacLen; //Ãß°¡ 0314 - PRINT_BUFFER("[0217] Set Mac ",m_pMac,nMacLen); - - return reValue; -} -SPC_INTERNAL int SAkepApi::GetMac(unsigned char* pMac,unsigned int nMacLen) -{ - int reValue = 0; - memcpy(pMac,m_pMac,nMacLen); - PRINT_BUFFER("[0217] GetMac Mac ",pMac,nMacLen); - return reValue; -} - -SPC_INTERNAL int SAkepApi::GetMyMacLen(unsigned int* pMacLen) -{ - int reValue = 0; - *pMacLen = m_nMyMacLen; - return reValue; -} - -SPC_INTERNAL int SAkepApi::SetPublicKeyY(unsigned char* pPublicKey) -{ - int reValue = 0; - memcpy(m_pPublickeyY,pPublicKey,SAKEP_DLBP_PAK_PARMETER_SIZE); - return reValue ; -} - -SPC_INTERNAL int SAkepApi::GetPublicKeyY(unsigned char* pPublicKey) -{ - int reValue = 0; - - memcpy(pPublicKey,m_pPublickeyY,SAKEP_DLBP_PAK_PARMETER_SIZE); - - return reValue; -} - -SPC_INTERNAL int SAkepApi::EncryptParameterDataWithWB(unsigned char* pIn, unsigned char* pOut) -{ - unsigned int i; - - for (i = 0; i < 128; i += 16) - { - SWAPv2_Process(pParameterDataEncTbl, sizeof(pParameterDataEncTbl), pIn + i, pOut + i); - } - - return SPC_SUCCESS; -} - -SPC_INTERNAL int SAkepApi::DecryptParameterDataWithWB(unsigned char* pIn, unsigned char* pOut) -{ - - unsigned int i = 0; - - for (i = 0; i < 128; i += 16) - { - SWAPv2_Process(pParameterDataDecTbl, sizeof(pParameterDataDecTbl), pIn + i, pOut + i); - } - - return SPC_SUCCESS; -} - -static void X931_Prng(unsigned char* Key, unsigned char *Si, unsigned int nByteLen, unsigned char* pData) -{ - int i, offset; - int numBlock, residueBlock; - unsigned char *DT; - unsigned char I[16] = {0}; - unsigned char Ri[16]; - unsigned int Date[4]; - unsigned int RoundKey[4 * (10 + 1)]; //AES Round Key - - time_t nowTime; - - time(&nowTime); - Date[0] = (cc_u32)nowTime; - Date[1] = clock(); - Date[2] = rand(); - Date[3] = rand(); - - DT = (cc_u8*)Date; //DT : Time | Clock | RND | RND - - SDRM_rijndaelKeySetupDec(RoundKey, Key, 128); - - memset(pData, 0x00, nByteLen); - - numBlock = nByteLen / 16; - residueBlock = nByteLen - numBlock * 16; - offset = 0; - - for(i = 0; i < numBlock; i++) - { - SDRM_rijndaelDecrypt(RoundKey, 10, DT, I); - BlockXor(I, I, Si); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri); - BlockXor(I, I, Ri); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Si); - memcpy(pData + offset, Ri, 16); - offset += 16; - } - - if (residueBlock != 0) - { - SDRM_rijndaelDecrypt(RoundKey, 10, DT, I); - BlockXor(I, I, Si); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri); - BlockXor(I, I, Ri); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Si); - memcpy(pData + offset, Ri, residueBlock); - - } - - BlockXor(Si, I, Si); - - return; -} - -int (*pAesEncrypt)(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey); -int (*pAesDecrypt)(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey); - - -#define PRNG_TRANSFORM_NR 2 -#define KEY_TRANSFORM_NR 3 - -static void SimpleTransform_ProcNormal(SWAPv2_TBOX *pTBox, SWAPv2_PBOX *pPBox, SWAPv2_WORD_PBOX* pWPBox, SWAPv2_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) -{ - unsigned int i, j; - unsigned int idx = 0; - unsigned int idx16; - unsigned char idx_wps[16]; - unsigned char state[16]; //state - SWAPv2_WORD* itmdt[16]; //intermediate value - - - //3. Process initial permutation - for (i = 0; i < 2; i++) - { - for (j = 0; j < 8; j++) - { - idx_wps[(pPBox[0][i][j]) & 0x0f] = state[(pPBox[0][i][j]) & 0x0f] = in[i * 8 + j]; - } - } - - //4. Process each rounds - do - { - idx16 = (idx << 4); - - for (i = 0; i < 16; i++) - { - itmdt[i] = (SWAPv2_WORD*)pTBox[idx16 + i][state[i] >> 4][state[i] & 0xf]; - } - idx++; - - - for (i = 0; i < 4; i++) - { - for (j = 0; j < 4; j++) - { - state[ pPBox[idx][i][j] & 0x0f ] = (*itmdt[ pPBox[idx][i][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][4] & 0x0f ] & 0xf) % 4 ]][j] ] - ^ (*itmdt[ pPBox[idx][i][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][5] & 0x0f ] & 0xf) % 4 ]][j] ] - ^ (*itmdt[ pPBox[idx][i][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][6] & 0x0f ] & 0xf) % 4 ]][j] ] - ^ (*itmdt[ pPBox[idx][i][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][7] & 0x0f ] & 0xf) % 4 ]][j] ]; - } - } - - for (i = 0; i < 16; i++) - { - idx_wps[i] = state[i]; - } - } while(idx < (Nr - 1)); - - idx16 = (idx << 4); - - - //5. Process final round - for (i = 0; i < 16; i++) - { - out[pPBox[Nr][i / 8][i % 8] & 0x0f] = pTBox[idx16 + i][state[i] >> 4 ][ state[i] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[i] & 0x0f) % 4]][0]]; - } - - return; -} - -#define SIMPLE_AES_NR 2 -static void SimpleTransform(unsigned char* table, unsigned int nr, unsigned char* in, unsigned char* out) -{ - unsigned int TBoxSize; - unsigned int PBoxSize; - unsigned int WPBoxSize; - - SWAPv2_TBOX *pTBox = NULL; - SWAPv2_PBOX *pPBox = NULL; - SWAPv2_WORD_PBOX* pWPBox = NULL; - SWAPv2_BIT_PBOX* pBPBox = NULL; - - unsigned char isLittleEndian; - - { - //get little endian flag - unsigned int EndianTestVector = 1; - isLittleEndian = *(unsigned char*)(&EndianTestVector); - } - - //Get pointer of P-Box - pTBox = (SWAPv2_TBOX*)table; - TBoxSize = SWAPv2_T_TABLE_ROUND_SIZE * nr; - - pPBox = (SWAPv2_PBOX*)((unsigned char*)pTBox + TBoxSize); - PBoxSize = SWAPv2_P_TABLE_ROUND_SIZE * (nr + 1); - WPBoxSize = SWAPv2_WP_TABLE_ROUND_SIZE * (nr); - - pWPBox = (SWAPv2_WORD_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize); - pBPBox = (SWAPv2_BIT_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize + WPBoxSize); - - SimpleTransform_ProcNormal(pTBox, pPBox, pWPBox, pBPBox, nr, in, out, isLittleEndian); - - return; -} - - - - -SPC_INTERNAL int SAkepApi::ApplyPasswordTransform(unsigned char* pPwd, unsigned int nPwdLen, unsigned char* pTransPwd, unsigned int* pTransPwdLen) -{ - unsigned int nOutLen = (nPwdLen / 16) * 16 + 16; - unsigned int i; - - if(pPwd == NULL || nPwdLen == 0 || pTransPwd == NULL) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ApplyPasswordTransform input parameter Error [ ErrorCode : %d ] \n",SAKEP_INPUT_INVALID_ERROR); - - return SAKEP_INPUT_INVALID_ERROR; - } - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ApplyPasswordTransform Password:" ,pPwd, nPwdLen); - - memcpy(pTransPwd, pPwd, nPwdLen); - memset(pTransPwd + nPwdLen, nOutLen - nPwdLen, nOutLen - nPwdLen); - - for (i = 0; i < nOutLen; i += 16) - { - ApplyKeyTransform(pTransPwd + i, pTransPwd + i); - } - - if (pTransPwdLen != NULL) - { - *pTransPwdLen = nOutLen; - } - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ApplyPasswordTransform Password:" ,pTransPwd, *pTransPwdLen); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ApplyPasswordTransform OutLen:%d ",nOutLen); - return SPC_SUCCESS; -} - -SPC_INTERNAL int SAkepApi::ReversePasswordTransform(unsigned char* pTransPwd, unsigned int nTransPwdLen, unsigned char* pPwd, unsigned int* pPwdLen) -{ - unsigned char tmp[16]; - unsigned char pad[16]; - unsigned int padLen; - unsigned int i = 0; - - if ((nTransPwdLen % 16) != 0) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ReversePasswordTransform input parameter Error [ ErrorCode : %d ] \n",SAKEP_INPUT_INVALID_ERROR); - - return SAKEP_INVALID_PARAMETER; - } - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ReversePasswordTransform Password:" ,pTransPwd, nTransPwdLen); - - for (i = 0; i < (nTransPwdLen - 16); i += 16) - { - ReverseKeyTransform(pTransPwd + i, pPwd + i); - } - - ReverseKeyTransform(pTransPwd + i, tmp); - - padLen = tmp[15]; - - if (padLen > 16) - { - memset(pPwd, 0xAA, i); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ReversePasswordTransform Padding Length is greater than 16 Error [padLen:%d, ErrorCode : %d ] \n",padLen,SAKEP_INVALID_TRANSFORMED_PADDING); - - return SAKEP_INVALID_TRANSFORMED_PADDING; - } - - memset(pad, padLen, padLen); - if (memcmp(tmp + 16 - padLen, pad, padLen) != 0) - { - memset(pPwd, 0xAA, i); - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ReversePasswordTransform Padding Error [ ErrorCode : %d ] \n",SAKEP_INVALID_TRANSFORMED_PADDING); - return SAKEP_INVALID_TRANSFORMED_PADDING; - } - - memcpy(pPwd + i, tmp, 16 - padLen); - - if (pPwdLen != NULL) - { - *pPwdLen = nTransPwdLen - padLen; - } - - DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ReversePasswordTransform Password:" ,pPwd, *pPwdLen); - - memset(tmp, 0xAA, 16); - - return SPC_SUCCESS; -} - -SPC_INTERNAL void SAkepApi::ApplyKeyTransform(unsigned char* in, unsigned char* out) -{ - const unsigned char KeyTransformArray[] = - { - 0xAC, 0xE3, 0xE9, 0xC6, 0xC3, 0xBA, 0x8C, 0xB5, 0xEA, 0xC5, 0x8A, 0xE3, 0x64, 0x2B, 0x91, 0x39, - 0x85, 0xCA, 0x32, 0x34, 0xF2, 0xE0, 0xBD, 0xDE, 0xCC, 0x33, 0x7C, 0x33, 0x0F, 0x40, 0x0E, 0xCD, - 0x21, 0x6E, 0x51, 0xF3, 0x7E, 0x50, 0x31, 0xE2, 0x86, 0x06, 0x49, 0x4C, 0x17, 0x58, 0x8F, 0x54, - 0x5B, 0x14, 0xC7, 0x1F, 0xBE, 0x74, 0xF1, 0x06, 0xBE, 0x83, 0xCC, 0xF1, 0xE0, 0xAF, 0xA1, 0x8D, - 0xEE, 0xA1, 0xAD, 0xC0, 0xBA, 0x64, 0xF5, 0x12, 0x38, 0xFD, 0xB2, 0x09, 0x25, 0x6A, 0x9D, 0x74, - 0x17, 0x58, 0x53, 0xC7, 0x92, 0xB7, 0xDD, 0xE9, 0x0D, 0x29, 0x66, 0xE8, 0xEB, 0xA4, 0x69, 0x4E, - 0x1E, 0x51, 0xDB, 0x46, 0xE1, 0xA9, 0xAE, 0x84, 0x88, 0x71, 0x3E, 0x35, 0xB2, 0xFD, 0xE4, 0x9A, - 0x6D, 0x22, 0xC5, 0x2B, 0x80, 0xF6, 0xCF, 0xBA, 0x36, 0x8A, 0xC5, 0x70, 0x75, 0x3A, 0x98, 0x21, - 0xA0, 0xEF, 0x79, 0x5A, 0xB8, 0x24, 0xF7, 0x50, 0xD5, 0x26, 0x69, 0x3F, 0x4A, 0x05, 0x12, 0x94, - 0xBC, 0xF3, 0xE8, 0xD7, 0xAA, 0x65, 0xE5, 0x03, 0x22, 0xCE, 0x81, 0x20, 0x9B, 0xD4, 0x3F, 0x68, - 0xDE, 0x91, 0xFF, 0xA2, 0x00, 0xD6, 0x4F, 0x1A, 0x46, 0x0C, 0x43, 0x86, 0xE2, 0xAD, 0xE1, 0xCF, - 0xC9, 0x86, 0xA6, 0xEC, 0xD8, 0x73, 0x97, 0x67, 0x25, 0xA8, 0xE7, 0x41, 0x79, 0x36, 0x08, 0xBD, - 0x5E, 0x11, 0xDF, 0x02, 0x15, 0xCF, 0x5A, 0x16, 0x3D, 0xAD, 0xE2, 0x5C, 0x9A, 0xD5, 0x37, 0x61, - 0x9A, 0xD5, 0xEB, 0xF2, 0xD6, 0xA3, 0x99, 0xB9, 0x70, 0xFE, 0xB1, 0x42, 0x0A, 0x45, 0x16, 0xD0, - 0x3D, 0x72, 0xC0, 0x7E, 0xA4, 0xB5, 0xEB, 0xDD, 0xED, 0xA3, 0xEC, 0x82, 0x3A, 0x75, 0x44, 0xB2, - 0x30, 0x7F, 0x58, 0xEB, 0x9E, 0x27, 0xD1, 0x75, 0xD1, 0x66, 0x29, 0x7B, 0x6F, 0x20, 0x59, 0xFA, - 0xDB, 0x94, 0xE7, 0xBF, 0x52, 0x93, 0x1D, 0x0D, 0x9A, 0x43, 0x0C, 0x15, 0x21, 0x6E, 0x8D, 0x60, - 0x76, 0x39, 0x0C, 0xF9, 0xBC, 0x34, 0xF3, 0x44, 0x4E, 0x0D, 0x42, 0x8F, 0xF1, 0xBE, 0xA8, 0x95, - 0x3B, 0x74, 0x90, 0x28, 0xA6, 0xF5, 0xE9, 0x9F, 0xC1, 0x62, 0x2D, 0x6F, 0xDB, 0x94, 0x3B, 0x2C, - 0x24, 0x6B, 0x49, 0xEE, 0xBF, 0x7C, 0xF0, 0x0F, 0x60, 0xFA, 0xB5, 0x56, 0x19, 0x56, 0x5F, 0x8A, - 0x46, 0x09, 0x5E, 0x9B, 0xE4, 0xB1, 0xAB, 0x99, 0x82, 0x46, 0x09, 0x08, 0x44, 0x0B, 0xC2, 0x4A, - 0xCE, 0x81, 0xFE, 0xB3, 0x8E, 0x26, 0xC1, 0x64, 0x89, 0x61, 0x2E, 0x24, 0xBB, 0xF4, 0x6C, 0x1B, - 0x15, 0x5A, 0x13, 0x85, 0x23, 0xCD, 0x6C, 0x22, 0xB3, 0xD2, 0x9D, 0xAD, 0x1B, 0x54, 0x1F, 0xC8, - 0xE0, 0xAF, 0x7D, 0x1E, 0x4F, 0x0A, 0x00, 0x89, 0x41, 0x6A, 0x25, 0xE7, 0x38, 0x77, 0x04, 0xF0, - 0xFC, 0xB3, 0xEC, 0x93, 0x1F, 0x0F, 0x50, 0xDC, 0xC8, 0x73, 0x3C, 0x77, 0x4D, 0x02, 0x4A, 0xCB, - 0x4A, 0x05, 0xCE, 0x07, 0xB4, 0xB4, 0xFB, 0xCC, 0x81, 0x60, 0x2F, 0x2D, 0x28, 0x67, 0x05, 0xE1, - 0x95, 0xDA, 0x33, 0x25, 0x49, 0x5A, 0x06, 0xDF, 0x75, 0xAE, 0xE1, 0x17, 0xF6, 0xB9, 0xF0, 0xCA, - 0x53, 0x1C, 0x47, 0x97, 0x02, 0x96, 0x4D, 0x58, 0x85, 0x20, 0x6F, 0x69, 0x04, 0x4B, 0xC6, 0x0E, - 0xFE, 0xB1, 0xAC, 0xD1, 0xC2, 0xB2, 0x8D, 0xBC, 0xFA, 0xC1, 0x8E, 0xF7, 0x2E, 0x61, 0x55, 0xB7, - 0x2C, 0x63, 0xC9, 0x66, 0x45, 0xCA, 0x0A, 0x43, 0x66, 0x8C, 0xC3, 0x26, 0x50, 0x1F, 0xD3, 0x4F, - 0xCA, 0x85, 0xEE, 0xA7, 0xAC, 0x35, 0xE3, 0x55, 0x9F, 0x13, 0x5C, 0x40, 0x42, 0x0D, 0x92, 0x1C, - 0xC0, 0x8F, 0x2E, 0x6D, 0x9C, 0x67, 0xD3, 0x37, 0x9C, 0x35, 0x7A, 0x65, 0x07, 0x48, 0x8E, 0x45, - 0x55, 0x1A, 0x17, 0xC1, 0x03, 0x9E, 0x4C, 0x51, 0xA7, 0x96, 0xD9, 0xFD, 0xFF, 0xB0, 0x78, 0x4B, - 0xDC, 0x93, 0xBF, 0xE0, 0x08, 0x56, 0x47, 0x92, 0x52, 0x48, 0x07, 0xD6, 0x5E, 0x11, 0x03, 0x91, - 0xEA, 0xA5, 0xBD, 0xD4, 0xCF, 0x2A, 0x80, 0x29, 0x2F, 0x9F, 0xD0, 0x7C, 0xF0, 0xBF, 0xA0, 0x9C, - 0x19, 0x56, 0x83, 0x19, 0xC6, 0xA2, 0x89, 0xA8, 0x2D, 0xA9, 0xE6, 0x48, 0x84, 0xCB, 0xE6, 0xAE, - 0x9E, 0xD1, 0xFB, 0xE6, 0xCB, 0x3A, 0x84, 0x3D, 0x68, 0xFB, 0xB4, 0x5F, 0x4C, 0x03, 0x42, 0xC2, - 0x7B, 0x34, 0x94, 0x6C, 0x3F, 0x5C, 0x70, 0xAF, 0x11, 0x6C, 0x23, 0xB1, 0xF8, 0xB7, 0x20, 0x14, - 0xA3, 0xEC, 0x31, 0x11, 0xDF, 0x2B, 0x90, 0x38, 0xF7, 0x90, 0xDF, 0xAB, 0xE8, 0xA7, 0x21, 0x05, - 0xE4, 0xAB, 0x6D, 0x0A, 0xFC, 0x30, 0xB3, 0x00, 0x39, 0xED, 0xA2, 0x18, 0xF9, 0xB6, 0x28, 0x1D, - 0x37, 0x78, 0x00, 0xB4, 0xCC, 0x62, 0x83, 0x62, 0x2C, 0xB9, 0xF6, 0x59, 0x5F, 0x10, 0x0B, 0x98, - 0x38, 0x77, 0xD8, 0x63, 0x70, 0x80, 0x3F, 0x3C, 0x23, 0xDE, 0x91, 0x31, 0x16, 0x59, 0x87, 0x5D, - 0x1C, 0x53, 0x9B, 0x04, 0x27, 0xDD, 0x68, 0x36, 0x8A, 0x47, 0x08, 0x01, 0x30, 0x7F, 0x84, 0x78, - 0x9F, 0xD0, 0xF3, 0xEF, 0x32, 0xC4, 0x7D, 0x3A, 0xE3, 0xD4, 0x9B, 0xFB, 0x7C, 0x33, 0x10, 0xA0, - 0xC8, 0x87, 0xAE, 0xE5, 0xBD, 0x3C, 0xF2, 0x4D, 0x8C, 0x31, 0x7E, 0x71, 0x3D, 0x72, 0x1C, 0xED, - 0x57, 0x18, 0x57, 0x83, 0x3B, 0x4C, 0x74, 0xBB, 0x6F, 0x9D, 0xD2, 0x3E, 0x98, 0xD7, 0x77, 0x23, - 0x26, 0x69, 0x09, 0xAC, 0x7B, 0x48, 0x34, 0xFF, 0xB6, 0x82, 0xCD, 0xF8, 0xD9, 0x96, 0x7B, 0x6E, - 0xC6, 0x89, 0x7E, 0x3B, 0x59, 0x5B, 0x16, 0xCE, 0x40, 0x7A, 0x35, 0xF6, 0x55, 0x1A, 0xCB, 0x52, - 0xED, 0xA2, 0xE5, 0x8B, 0xE6, 0xF1, 0xA9, 0xDB, 0xF2, 0xC0, 0x8F, 0xFE, 0xA7, 0xE8, 0xFD, 0x96, - 0x8B, 0xC4, 0xE2, 0xEA, 0xEE, 0x71, 0xA1, 0x53, 0x1D, 0x2D, 0x62, 0xFC, 0x4B, 0x04, 0x1A, 0x9D, - 0xC4, 0x8B, 0x3E, 0x79, 0x3E, 0x54, 0x71, 0xA6, 0xB9, 0xE5, 0xAA, 0x90, 0x1D, 0x52, 0x4F, 0x9E, - 0xDA, 0x95, 0xEF, 0xB6, 0xF5, 0xB8, 0xBA, 0x81, 0x76, 0x88, 0xC7, 0x32, 0x36, 0x79, 0xD4, 0x2E, - 0x93, 0xDC, 0x63, 0x73, 0x2C, 0x15, 0x63, 0xF5, 0x97, 0x12, 0x5D, 0x49, 0x68, 0x27, 0x01, 0xA5, - 0x22, 0x6D, 0x19, 0xB8, 0xF7, 0xF8, 0xB8, 0xC3, 0x4B, 0x5D, 0x12, 0xDA, 0xD3, 0x9C, 0xBB, 0xA4, - 0xA5, 0xEA, 0x61, 0x47, 0x65, 0x99, 0x2A, 0x30, 0x07, 0x1E, 0x51, 0xD5, 0xE7, 0xA8, 0xF9, 0xD2, - 0x1B, 0x54, 0xC3, 0x5B, 0x24, 0x95, 0x6B, 0x7D, 0xD9, 0x67, 0x28, 0x72, 0x2A, 0x65, 0x45, 0xA3, - 0x86, 0xC9, 0x7A, 0x7F, 0x37, 0xDC, 0x78, 0x27, 0xAB, 0xD7, 0x98, 0xB0, 0xDD, 0x92, 0x6B, 0x7A, - 0x14, 0x5B, 0x1B, 0x8C, 0x0B, 0x1E, 0x44, 0xD9, 0x14, 0x3C, 0x73, 0xE4, 0xC7, 0x88, 0xAA, 0xA1, - 0x4E, 0x01, 0xDE, 0x13, 0x57, 0x8B, 0x18, 0x10, 0x7F, 0x99, 0xD6, 0x2A, 0x2F, 0x60, 0x5D, 0xBE, - 0x13, 0x5C, 0x43, 0xD3, 0xB5, 0xBC, 0xFA, 0xC5, 0xD2, 0x40, 0x0F, 0x5E, 0xB6, 0xF9, 0xF4, 0x8E, - 0x64, 0x2B, 0x4D, 0xAA, 0xB7, 0xFC, 0xF8, 0x87, 0x06, 0x0E, 0x41, 0xC4, 0x41, 0x0E, 0xDA, 0x57, - 0xC2, 0x8D, 0x6E, 0x2F, 0xB0, 0xA4, 0xFF, 0xD8, 0x29, 0xE9, 0xA6, 0x0C, 0x76, 0x39, 0xD0, 0x6A, - 0xEF, 0xA0, 0xA5, 0xC9, 0xF4, 0xB0, 0xBB, 0x88, 0xD7, 0x10, 0x5F, 0x0B, 0x7D, 0x32, 0x18, 0xA9, - 0x87, 0xC8, 0x72, 0x76, 0x97, 0xAF, 0xD8, 0xF4, 0x6A, 0xCD, 0x82, 0x6B, 0x4E, 0x01, 0x02, 0x80, - 0x85, 0xF3, 0x9D, 0xBF, 0x03, 0xEB, 0x75, 0x39, 0x89, 0xB7, 0xC1, 0xEF, 0xCD, 0xBB, 0x1F, 0x03, - 0x5E, 0x28, 0x70, 0x89, 0xB2, 0x91, 0xC4, 0xF2, 0x33, 0x0C, 0x7A, 0xEE, 0x82, 0xF4, 0xC3, 0x90, - 0xCC, 0xBA, 0x11, 0x7A, 0x35, 0xE9, 0x43, 0x0D, 0x71, 0x38, 0x4E, 0x98, 0xC1, 0xB7, 0x8F, 0x9F, - 0x8D, 0xFB, 0x1D, 0x37, 0x8B, 0x4B, 0xFD, 0x11, 0xCD, 0xF5, 0x83, 0xE9, 0xB8, 0xCE, 0x51, 0x38, - 0x4F, 0x39, 0x79, 0x91, 0x7D, 0x6D, 0x0B, 0xC1, 0x75, 0x78, 0x0E, 0xDC, 0x1F, 0x69, 0x7A, 0xB4, - 0x47, 0x31, 0xF9, 0x19, 0x1B, 0x6A, 0x6D, 0xA0, 0x92, 0x94, 0xE2, 0xD7, 0xF2, 0x84, 0x95, 0xB6, - 0x97, 0xE1, 0xDC, 0xEC, 0x54, 0xB6, 0x22, 0x33, 0xC7, 0xC2, 0xB4, 0xD4, 0x3A, 0x4C, 0x31, 0xDA, - 0x5C, 0x2A, 0x30, 0xCB, 0x4A, 0x67, 0x3C, 0xFC, 0x5C, 0xE9, 0x9F, 0x64, 0x57, 0x21, 0xFE, 0x78, - 0x1E, 0x68, 0x74, 0xCD, 0xF4, 0xC5, 0x82, 0xE0, 0x52, 0x9E, 0xE8, 0x1D, 0xD1, 0xA7, 0x8E, 0x8E, - 0x19, 0x6F, 0x2C, 0x92, 0x52, 0xE6, 0x24, 0x65, 0x58, 0xA9, 0xDF, 0x20, 0x36, 0x40, 0xA1, 0x46, - 0x5D, 0x2B, 0x38, 0xC2, 0x7F, 0x2D, 0x09, 0x83, 0x90, 0xA2, 0xD4, 0xE3, 0xCF, 0xB9, 0x5F, 0x41, - 0x3E, 0x48, 0x27, 0xBE, 0x17, 0xFA, 0x61, 0x3C, 0x8A, 0x91, 0xE7, 0xCA, 0x12, 0x64, 0xE2, 0x21, - 0x9E, 0xE8, 0x54, 0x6D, 0x16, 0xF2, 0x60, 0x35, 0xE3, 0x02, 0x74, 0x30, 0x08, 0x7E, 0x23, 0xFA, - 0xA2, 0xD4, 0x96, 0x93, 0x84, 0x93, 0xF2, 0xC6, 0x22, 0x18, 0x6E, 0xEB, 0xE3, 0x95, 0x9C, 0xAE, - 0xFE, 0x88, 0x03, 0x5A, 0xDE, 0x56, 0xA8, 0x59, 0xD5, 0xF0, 0x86, 0xF4, 0x46, 0x30, 0xF7, 0x60, - 0x1C, 0x6A, 0x34, 0x8F, 0x83, 0xCB, 0xF5, 0x99, 0x7C, 0x69, 0x1F, 0xC4, 0x9F, 0xE9, 0x5A, 0x14, - 0x62, 0x14, 0xB2, 0x77, 0x0E, 0x73, 0x78, 0xAC, 0xCA, 0x93, 0xE5, 0x88, 0x24, 0x52, 0xE0, 0x15, - 0x96, 0xE0, 0xD4, 0xE5, 0xEB, 0x1C, 0x9D, 0x26, 0xA8, 0x27, 0x51, 0x5E, 0xB3, 0xC5, 0x99, 0xFB, - 0x76, 0x00, 0xA3, 0x72, 0x33, 0xB9, 0x45, 0x5B, 0xA9, 0x37, 0x41, 0x4F, 0x4F, 0x39, 0x7F, 0xE1, - 0x55, 0x23, 0xB8, 0x4A, 0x74, 0xE5, 0x02, 0x40, 0xA0, 0x26, 0x50, 0x57, 0x32, 0x44, 0xB1, 0x52, - 0xAA, 0xDC, 0x16, 0x1B, 0xC5, 0x9F, 0xB3, 0x8B, 0xF0, 0x20, 0x56, 0x01, 0x49, 0x3F, 0x2F, 0xB7, - 0xA1, 0xD7, 0xDE, 0xD8, 0x4C, 0x37, 0x3A, 0xAA, 0x8B, 0x81, 0xF7, 0xDB, 0x97, 0xE1, 0xDA, 0x9C, - 0x66, 0x10, 0xA2, 0x63, 0x7A, 0x35, 0x0C, 0x9E, 0x28, 0x2F, 0x59, 0xD6, 0x40, 0x36, 0xA7, 0x36, - 0x6F, 0x19, 0x2A, 0xE2, 0x89, 0x0B, 0xFF, 0x53, 0x6E, 0x5B, 0x2D, 0xE4, 0x76, 0x00, 0xA5, 0x02, - 0x14, 0x62, 0xB4, 0x07, 0x58, 0x26, 0x2E, 0xAF, 0x94, 0xE2, 0x94, 0xA7, 0xEE, 0x98, 0x04, 0x3B, - 0x92, 0xE4, 0xC4, 0xF1, 0xC7, 0xDF, 0xB1, 0xC9, 0xFF, 0x47, 0x31, 0x69, 0x42, 0x34, 0xE7, 0x74, - 0xD2, 0xA4, 0xC0, 0xB5, 0xB6, 0x81, 0xC0, 0xE6, 0xF3, 0x06, 0x70, 0x24, 0x5D, 0x2B, 0x3E, 0xB2, - 0xF0, 0x86, 0xD3, 0x84, 0x56, 0xF6, 0x20, 0x71, 0x43, 0x8A, 0xFC, 0x18, 0xA5, 0xD3, 0xC8, 0xBC, - 0x65, 0x13, 0xEA, 0x28, 0xA7, 0x88, 0xD1, 0xFE, 0x83, 0x80, 0xF6, 0xD2, 0x66, 0x10, 0xA4, 0x13, - 0xD9, 0xAF, 0x08, 0x76, 0xA8, 0x50, 0xDE, 0x29, 0x0F, 0xC9, 0xBF, 0x17, 0x01, 0x77, 0xAB, 0x7B, - 0x8E, 0xF8, 0x55, 0x7C, 0x8C, 0x13, 0xFA, 0x4E, 0x0C, 0xEF, 0x99, 0x32, 0x98, 0xEE, 0x02, 0x4B, - 0x9B, 0xED, 0x4C, 0x70, 0x0F, 0x7B, 0x79, 0xA5, 0x98, 0xA3, 0xD5, 0xEA, 0x0B, 0x7D, 0x6B, 0xB1, - 0x4D, 0x3B, 0x39, 0xD3, 0xD6, 0xD6, 0xA0, 0xD1, 0x4A, 0x9B, 0xED, 0x00, 0x99, 0xEF, 0x0A, 0x42, - 0x27, 0x51, 0xAE, 0x2E, 0x5E, 0x76, 0x28, 0xF9, 0xE4, 0x64, 0x12, 0x51, 0xBE, 0xC8, 0x01, 0x6E, - 0x8A, 0xFC, 0x45, 0x68, 0x85, 0x9B, 0xF3, 0xCF, 0x97, 0xC4, 0xB2, 0x82, 0x0D, 0x7B, 0x3B, 0xE7, - 0xE6, 0x90, 0x82, 0xC3, 0x70, 0xF5, 0x06, 0x54, 0x8C, 0xE7, 0x91, 0xBA, 0xB5, 0xC3, 0xC9, 0xAD, - 0xFB, 0x8D, 0x1B, 0x47, 0x4B, 0x6F, 0x3D, 0xF5, 0x05, 0xFE, 0x88, 0x2A, 0x9C, 0xEA, 0x12, 0x5F, - 0x15, 0x63, 0xBC, 0x0E, 0xE6, 0x84, 0x90, 0xB3, 0x20, 0x2E, 0x58, 0xDF, 0xD2, 0xA4, 0xC6, 0xC5, - 0x0F, 0x79, 0x7D, 0xD5, 0xAB, 0x18, 0xDD, 0x62, 0xB3, 0x04, 0x72, 0x66, 0xBD, 0xCB, 0x49, 0x25, - 0x16, 0x60, 0xF4, 0x45, 0xB4, 0xC1, 0xC2, 0xA4, 0xD7, 0xC6, 0xB0, 0xC0, 0x25, 0x53, 0xE8, 0x1C, - 0x6B, 0x1D, 0x3A, 0xF6, 0x6E, 0x24, 0x18, 0x9B, 0xDD, 0xF1, 0x87, 0xFD, 0x1E, 0x68, 0x72, 0xBD, - 0xEC, 0x9A, 0x42, 0x09, 0xBC, 0x41, 0xCA, 0x2C, 0x5B, 0x8F, 0xF9, 0x05, 0x53, 0x25, 0xEE, 0x6C, - 0x05, 0x73, 0xBD, 0x1F, 0x5A, 0x66, 0x2C, 0xED, 0x1A, 0x9D, 0xEB, 0x56, 0xCC, 0xBA, 0x17, 0x0A, - 0x35, 0x43, 0xEF, 0x7D, 0x50, 0xA6, 0x26, 0x27, 0x06, 0xD8, 0xAE, 0x0F, 0xEA, 0x9C, 0x14, 0x2F, - 0xB6, 0xC0, 0x87, 0x96, 0x6C, 0x64, 0x1A, 0xD9, 0xC2, 0x92, 0xE4, 0x81, 0xAC, 0xDA, 0x40, 0x3D, - 0x1D, 0x6B, 0x3C, 0x86, 0xDA, 0x46, 0xAC, 0x4D, 0x8D, 0xF7, 0x81, 0xAB, 0xBF, 0xC9, 0x09, 0x67, - 0xE0, 0x96, 0xD2, 0x95, 0x05, 0xBB, 0x73, 0x6F, 0x78, 0x29, 0x5F, 0x80, 0x71, 0x07, 0xFD, 0x5D, - 0xAB, 0xDD, 0x1E, 0x12, 0xC3, 0xCF, 0xB5, 0xDD, 0x4E, 0xDB, 0xAD, 0x44, 0xFF, 0x89, 0x0D, 0x23, - 0x13, 0x65, 0xEC, 0x58, 0x7E, 0x25, 0x08, 0x8A, 0x15, 0xFA, 0x8C, 0x3E, 0x22, 0x54, 0xB0, 0x43, - 0x3B, 0x4D, 0x3F, 0xA3, 0x87, 0xDB, 0xF1, 0x8D, 0xE1, 0x34, 0x42, 0x04, 0xF6, 0x80, 0x85, 0xA2, - 0x48, 0x3E, 0x21, 0xCE, 0x8E, 0x53, 0xF8, 0x0C, 0x6C, 0x6D, 0x1B, 0xD0, 0xAE, 0xD8, 0x00, 0x7F, - 0x29, 0x5F, 0x7E, 0xF0, 0xFD, 0x4D, 0x8B, 0x61, 0x10, 0xAA, 0xDC, 0x6B, 0x55, 0x23, 0xBE, 0x3A, - 0x6A, 0x1C, 0x32, 0xFF, 0x3C, 0x61, 0x4A, 0x8C, 0x19, 0xBB, 0xCD, 0x73, 0x1A, 0x6C, 0x62, 0xA9, - 0x5B, 0x2D, 0x68, 0x94, 0x15, 0xBA, 0x63, 0x7E, 0x86, 0xD0, 0xA6, 0x87, 0xEC, 0x9A, 0x44, 0x79, - 0xD7, 0xA1, 0xD8, 0xA8, 0xB1, 0xD9, 0xC7, 0xB9, 0x07, 0xC8, 0xBE, 0x1E, 0xD9, 0xAF, 0x0E, 0x06, - 0x17, 0x61, 0xFC, 0x4C, 0xCB, 0x4F, 0xBD, 0x55, 0x29, 0x3F, 0x49, 0xC7, 0x5C, 0x2A, 0x36, 0xBB, - 0xBC, 0xCA, 0x47, 0x5C, 0xCE, 0x57, 0xB8, 0x48, 0xBF, 0x45, 0x33, 0x2B, 0x72, 0x04, 0xB5, 0x16, - 0x7F, 0x09, 0x2B, 0xF3, 0x0A, 0x63, 0x7C, 0xB8, 0x9E, 0xD5, 0xA3, 0x9A, 0x21, 0x57, 0xF8, 0x08, - 0x0D, 0x7B, 0x3D, 0x97, 0xAD, 0x48, 0xDB, 0x34, 0xCC, 0xE5, 0x93, 0xF8, 0x7C, 0x0A, 0x65, 0xC8, - 0x37, 0x41, 0xAF, 0x3F, 0xA0, 0xD0, 0xD6, 0xA1, 0xD1, 0xB0, 0xC6, 0xB0, 0xB9, 0xCF, 0x59, 0x31, - 0x11, 0x67, 0xAC, 0x1A, 0x30, 0xF1, 0x46, 0x10, 0x9A, 0x95, 0xE3, 0xDE, 0xF9, 0x8F, 0x5D, 0x75, - 0x03, 0x75, 0xED, 0x49, 0x2C, 0x60, 0x5A, 0x9D, 0xB7, 0x44, 0x32, 0x22, 0x11, 0x67, 0xAA, 0x6A, - 0xA9, 0xDF, 0x5E, 0x50, 0x4E, 0x77, 0x38, 0xE8, 0x69, 0x3D, 0x4B, 0x85, 0xD3, 0xA5, 0xCE, 0xCC, - 0x71, 0x07, 0xFB, 0x2D, 0x59, 0x2E, 0x2F, 0xA6, 0x80, 0xA6, 0xD0, 0xF7, 0x77, 0x01, 0xAD, 0x0B, - 0xE6, 0x87, 0xAC, 0x0F, 0xA3, 0xEF, 0xC2, 0x68, 0x6E, 0xBB, 0xDA, 0xF1, 0xA5, 0xC4, 0xBF, 0x3E, - 0x68, 0x09, 0x5C, 0x71, 0x51, 0xD9, 0x30, 0xAC, 0x1A, 0x7D, 0x1C, 0x43, 0xEE, 0x8F, 0x73, 0xB9, - 0xA6, 0xC7, 0xA8, 0x4B, 0x8F, 0x2C, 0xEE, 0x87, 0xE7, 0xA2, 0xC3, 0x61, 0x13, 0x72, 0x9D, 0xAA, - 0xB5, 0xD4, 0xE1, 0x11, 0xEA, 0x63, 0x8B, 0xAD, 0xC5, 0x14, 0x75, 0xF5, 0xB8, 0xD9, 0x26, 0xBA, - 0xF3, 0x92, 0xB5, 0x03, 0xA0, 0xA7, 0xC1, 0x23, 0x07, 0x28, 0x49, 0x0B, 0x3B, 0x5A, 0x4E, 0x51, - 0xD5, 0xB4, 0xB6, 0x26, 0xE5, 0xBB, 0x84, 0x7A, 0xC7, 0x22, 0x43, 0xC1, 0x0B, 0x6A, 0x1C, 0x33, - 0x4A, 0x2B, 0x4F, 0x40, 0xF7, 0xFA, 0x96, 0x29, 0xE0, 0xC4, 0xA5, 0x00, 0xE2, 0x83, 0xE3, 0x25, - 0x07, 0x66, 0xD3, 0x91, 0x89, 0x7C, 0xE8, 0xD1, 0x85, 0x16, 0x77, 0xB7, 0x65, 0x04, 0x9B, 0xDA, - 0x3C, 0x5D, 0x49, 0x30, 0xBE, 0x76, 0xDF, 0xEC, 0x60, 0xCC, 0xAD, 0x88, 0x18, 0x79, 0x55, 0x69, - 0xA4, 0xC5, 0xE8, 0x09, 0x7C, 0x12, 0x1D, 0x4A, 0xB9, 0xD3, 0xB2, 0x4E, 0x01, 0x60, 0xDC, 0xF9, - 0xCB, 0xAA, 0x67, 0xE9, 0x56, 0x81, 0x37, 0xF3, 0x25, 0x9E, 0xFF, 0x9F, 0x1B, 0x7A, 0x1D, 0x22, - 0x85, 0xE4, 0xB3, 0x73, 0x86, 0xA4, 0xE7, 0x06, 0xCE, 0x33, 0x52, 0xD9, 0xF5, 0x94, 0xBA, 0x6B, - 0xAC, 0xCD, 0x68, 0x81, 0x9F, 0x2D, 0xFE, 0x96, 0x54, 0x08, 0x69, 0x78, 0xE8, 0x89, 0x23, 0xEF, - 0x14, 0x75, 0x9A, 0xCB, 0xBC, 0x36, 0xDD, 0xAE, 0x3A, 0xFD, 0x9C, 0xE3, 0x84, 0xE5, 0xE4, 0x44, - 0xA7, 0xC6, 0xA0, 0x42, 0x1C, 0x45, 0x7D, 0x7D, 0xD7, 0x26, 0x47, 0xD5, 0x29, 0x48, 0x0F, 0x02, - 0x80, 0xE1, 0xAB, 0x6E, 0xE3, 0xEB, 0x82, 0x2C, 0x77, 0xAE, 0xCF, 0xFD, 0x43, 0x22, 0x98, 0xFF, - 0x6E, 0x0F, 0x0C, 0x27, 0xDE, 0x21, 0xBF, 0xDB, 0x8F, 0x21, 0x40, 0x8A, 0x7F, 0x1E, 0x5A, 0x01, - 0xCA, 0xAB, 0x6F, 0xE0, 0x45, 0xC8, 0x24, 0xA9, 0xD6, 0x36, 0x57, 0xC4, 0xA7, 0xC6, 0xFF, 0x7C, - 0x08, 0x69, 0x0B, 0x46, 0x3C, 0x16, 0x5D, 0x0E, 0xC1, 0x54, 0x35, 0xB1, 0x0D, 0x6C, 0x4C, 0x65, - 0xE0, 0x81, 0xFC, 0x59, 0xED, 0x3B, 0x8C, 0xF2, 0x50, 0x48, 0x29, 0x3C, 0x1F, 0x7E, 0x0D, 0x36, - 0xA0, 0xC1, 0xF8, 0x1D, 0xC8, 0x70, 0xA9, 0x9C, 0x71, 0xD8, 0xB9, 0x8D, 0x39, 0x58, 0x0E, 0x13, - 0x65, 0x04, 0xC4, 0xE4, 0x9D, 0x6D, 0xFC, 0xD4, 0xE9, 0xD5, 0xB4, 0x18, 0x03, 0x62, 0x9C, 0xBB, - 0x38, 0x59, 0x59, 0x24, 0xAD, 0x3F, 0xCC, 0xB6, 0xC2, 0x72, 0x13, 0x94, 0x71, 0x10, 0x8A, 0xDF, - 0x6B, 0x0A, 0x14, 0x3A, 0x3D, 0x1E, 0x5C, 0x07, 0xF6, 0xB6, 0xD7, 0x64, 0xB2, 0xD3, 0xE6, 0x70, - 0x45, 0x24, 0x97, 0x97, 0x47, 0x88, 0x26, 0xEB, 0xEE, 0xB3, 0xD2, 0x79, 0x19, 0x78, 0x5D, 0x60, - 0xC0, 0xA1, 0xAF, 0x2A, 0xB0, 0xA6, 0xD1, 0x32, 0x78, 0xC9, 0xA8, 0x95, 0xD9, 0xB8, 0x79, 0x84, - 0xF5, 0x94, 0xE5, 0x55, 0xA8, 0x27, 0xC9, 0xAB, 0x1B, 0x6D, 0x0C, 0x52, 0x55, 0x34, 0xC9, 0xB8, - 0x03, 0x62, 0xC3, 0x85, 0xC3, 0xB8, 0xA2, 0x5F, 0xC0, 0x44, 0x25, 0xA0, 0x64, 0x05, 0x93, 0xD3, - 0x4C, 0x2D, 0x1F, 0x16, 0xD2, 0xB1, 0xB3, 0x47, 0xEC, 0x85, 0xE4, 0x4D, 0x27, 0x46, 0xDF, 0xDC, - 0xB7, 0xD6, 0xA1, 0x53, 0x15, 0xCD, 0x74, 0xFC, 0xF2, 0xF6, 0x97, 0x20, 0x46, 0x27, 0x80, 0xE2, - 0xEF, 0x8E, 0x24, 0x8E, 0x4C, 0x40, 0x2D, 0x28, 0x7A, 0xFF, 0x9E, 0xA1, 0x35, 0x54, 0x9E, 0x8F, - 0x3B, 0x5A, 0x11, 0x6F, 0x82, 0xB4, 0xE3, 0x12, 0x84, 0x06, 0x67, 0xA6, 0x1D, 0x7C, 0x4D, 0x74, - 0x86, 0xE7, 0xFB, 0x38, 0x11, 0xDD, 0x70, 0xE8, 0x6A, 0xFB, 0x9A, 0xB5, 0x12, 0x73, 0x95, 0xA3, - 0x5F, 0x3E, 0x56, 0x4C, 0x88, 0x74, 0xE9, 0xD8, 0xF7, 0xA6, 0xC7, 0x75, 0xF0, 0x91, 0xA2, 0x76, - 0xFA, 0x9B, 0x3D, 0x82, 0x60, 0x83, 0x01, 0xC7, 0x32, 0xFC, 0x9D, 0xEA, 0xAC, 0xCD, 0x37, 0xBF, - 0x11, 0x70, 0x82, 0xD6, 0x7A, 0x42, 0x1B, 0x1C, 0x53, 0x6E, 0x0F, 0x19, 0x90, 0xF1, 0xF5, 0x41, - 0x0B, 0x6A, 0x43, 0x0D, 0xE9, 0x2B, 0x88, 0xE6, 0x5B, 0x6F, 0x0E, 0x10, 0x30, 0x51, 0x86, 0x92, - 0xD6, 0xB7, 0xFE, 0x6D, 0xDA, 0x31, 0xBB, 0xCF, 0x8C, 0x07, 0x66, 0xAF, 0x53, 0x32, 0x99, 0xEE, - 0x2F, 0x4E, 0x00, 0x6A, 0xD1, 0xF9, 0xB0, 0x0C, 0x47, 0x2A, 0x4B, 0x49, 0x17, 0x76, 0x8D, 0xBE, - 0xC8, 0xA9, 0x2F, 0xA2, 0xE6, 0xF3, 0x87, 0x31, 0x64, 0x8C, 0xED, 0xCC, 0x10, 0x71, 0xD5, 0xE1, - 0x4E, 0x2F, 0x5F, 0x54, 0x91, 0xFD, 0xF0, 0x48, 0xC6, 0x32, 0x53, 0xD0, 0x52, 0x33, 0x91, 0xE7, - 0x23, 0x42, 0x90, 0xF6, 0xBA, 0x66, 0xDB, 0xF8, 0x17, 0x2C, 0x4D, 0x1F, 0x99, 0xF8, 0x7D, 0xC0, - 0xEB, 0x8A, 0x34, 0x9A, 0xEC, 0x33, 0x8D, 0xFB, 0xCB, 0x63, 0x02, 0x8C, 0x49, 0x28, 0x58, 0x35, - 0x06, 0x67, 0xDB, 0x98, 0x00, 0xD4, 0x61, 0xF0, 0xCC, 0x05, 0x64, 0xED, 0x41, 0x20, 0xD8, 0xBD, - 0xA1, 0xC0, 0xF0, 0x14, 0x8D, 0x6C, 0xEC, 0xC5, 0xEA, 0xF3, 0x92, 0x3D, 0x83, 0xE2, 0xBC, 0x1B, - 0xD8, 0xB9, 0x2E, 0xB3, 0x40, 0xD0, 0x21, 0xB4, 0x48, 0x4D, 0x2C, 0x21, 0xC2, 0xA3, 0xB0, 0x56, - 0x9B, 0xFA, 0x62, 0xBC, 0x74, 0x92, 0x15, 0xC2, 0x30, 0xCA, 0xAB, 0xDE, 0x50, 0x31, 0xD1, 0xA5, - 0xD4, 0xB5, 0xBE, 0x2F, 0xCF, 0x28, 0xAE, 0xC3, 0x4A, 0x7B, 0x1A, 0x15, 0x8B, 0xEA, 0x3C, 0x93, - 0x12, 0x73, 0xCA, 0x9D, 0xDB, 0x39, 0xBA, 0xC6, 0xDA, 0x77, 0x16, 0x89, 0x95, 0xF4, 0xED, 0x5C, - 0x81, 0xE0, 0xA3, 0x67, 0x97, 0xAD, 0xF6, 0x1E, 0xB2, 0xF4, 0x95, 0x62, 0x80, 0xE1, 0xF4, 0x50, - 0x18, 0x79, 0x0A, 0x57, 0xB1, 0xAE, 0xD0, 0x3B, 0xF1, 0xD0, 0xB1, 0x05, 0xD7, 0xB6, 0xA9, 0x5A, - 0x7F, 0x1E, 0x05, 0x3F, 0xF8, 0x22, 0x99, 0xFE, 0x29, 0xDF, 0xBE, 0xD2, 0x6B, 0x0A, 0x4B, 0x04, - 0xBC, 0xDD, 0x69, 0x90, 0xF2, 0xE2, 0x93, 0x34, 0x57, 0x2E, 0x4F, 0x5D, 0xFE, 0x9F, 0x72, 0xA8, - 0x44, 0x25, 0x9F, 0x9E, 0x7E, 0x52, 0x1F, 0x08, 0x20, 0xCE, 0xAF, 0xCA, 0xDC, 0xBD, 0x61, 0x99, - 0x5B, 0x3A, 0x46, 0x58, 0x3F, 0x5E, 0x5E, 0x45, 0x7E, 0xBF, 0xDE, 0xE5, 0x9C, 0xFD, 0x65, 0xDD, - 0xF7, 0x96, 0xA5, 0x17, 0x9A, 0x35, 0xFB, 0x8B, 0x87, 0x20, 0x41, 0x83, 0x1A, 0x7B, 0x15, 0x2B, - 0x6F, 0x0E, 0x04, 0x2E, 0x23, 0xCF, 0x42, 0xC8, 0xAA, 0xF1, 0x90, 0x7F, 0x61, 0x00, 0x8B, 0xCE, - 0x59, 0x38, 0x06, 0x1A, 0x57, 0x89, 0x36, 0xFA, 0x94, 0x02, 0x63, 0xB2, 0x68, 0x09, 0x03, 0x4F, - 0x8E, 0xEF, 0x7B, 0xB0, 0xF9, 0x2A, 0x98, 0xF7, 0x96, 0x34, 0x55, 0x86, 0xAF, 0xCE, 0x7F, 0xF4, - 0x50, 0x31, 0x8E, 0x9B, 0x58, 0x51, 0x39, 0x2D, 0x3E, 0xBD, 0xDC, 0xA7, 0xA4, 0xC5, 0xB7, 0x37, - 0x2B, 0x4A, 0x10, 0x7E, 0x5E, 0x01, 0x3F, 0x7B, 0x44, 0x0C, 0x6D, 0x6C, 0x5B, 0x3A, 0x19, 0x66, - 0x56, 0x37, 0xDE, 0xCD, 0x4F, 0x08, 0x2E, 0x63, 0x18, 0x4B, 0x2A, 0x77, 0x78, 0x19, 0x02, 0x5E, - 0xAA, 0xCB, 0x38, 0xD7, 0x5F, 0x09, 0x3E, 0x72, 0xBD, 0x93, 0xF2, 0x0A, 0x98, 0xF9, 0x75, 0xC9, - 0x3D, 0x5C, 0x41, 0x39, 0xEB, 0x6B, 0x8A, 0xA4, 0xD2, 0x76, 0x17, 0x80, 0x6C, 0x0D, 0x13, 0x5B, - 0x2C, 0xDB, 0xAD, 0x0D, 0x00, 0x5F, 0x05, 0x24, 0x4A, 0xAA, 0xBA, 0x9B, 0xA7, 0xEB, 0x16, 0xCA, - 0x26, 0x1B, 0x67, 0x07, 0x52, 0x3D, 0x35, 0x14, 0x6F, 0xA9, 0x9C, 0xBD, 0xBB, 0xAE, 0x4F, 0x8F, - 0x18, 0x99, 0xDB, 0x39, 0x87, 0xB6, 0x6B, 0x4A, 0xFD, 0xCF, 0x68, 0x49, 0x60, 0x87, 0xBD, 0xA6, - 0xCA, 0xFC, 0x6C, 0xEB, 0xFF, 0x49, 0xEC, 0xCD, 0x2C, 0x53, 0x25, 0x04, 0xE6, 0xF9, 0x45, 0xD8, - 0x73, 0x06, 0x2F, 0x52, 0x6F, 0xD5, 0xE0, 0xC1, 0x1D, 0x40, 0x07, 0x26, 0xC5, 0x5F, 0xC0, 0x7E, - 0xB5, 0x72, 0x9D, 0x94, 0xA3, 0x52, 0xAB, 0x8A, 0x63, 0xB0, 0x89, 0xA8, 0xF3, 0xAD, 0x04, 0x8C, - 0x1A, 0xD9, 0x99, 0x3B, 0x3A, 0xD6, 0xB6, 0x97, 0x7D, 0xFD, 0xDA, 0xFB, 0x7F, 0xE4, 0xC1, 0xC5, - 0xAC, 0xFB, 0x0D, 0x8D, 0x81, 0xC6, 0x1D, 0x3C, 0x27, 0xB4, 0xC9, 0xE8, 0x30, 0x81, 0xEB, 0xA0, - 0xF3, 0x26, 0x8F, 0xD2, 0xF8, 0x28, 0x8A, 0xAB, 0xA7, 0x86, 0x7B, 0x5A, 0x2A, 0xB2, 0xC2, 0x93, - 0x06, 0x48, 0x14, 0x27, 0x3F, 0x83, 0xE6, 0xC7, 0xED, 0x74, 0xC3, 0xE2, 0x31, 0x91, 0xFA, 0xB0, - 0xA0, 0x6B, 0x91, 0x81, 0x84, 0x93, 0x4D, 0x6C, 0x02, 0xB7, 0xEF, 0xCE, 0xF7, 0xED, 0x40, 0xCC, - 0x28, 0xCB, 0xB9, 0x09, 0x13, 0x6E, 0x27, 0x06, 0x2E, 0xBC, 0xC8, 0xE9, 0x59, 0x12, 0x11, 0x33, - 0xDD, 0xA5, 0x22, 0xFC, 0xC0, 0x95, 0x0F, 0x2E, 0x65, 0xF4, 0xCB, 0xEA, 0x0E, 0x72, 0x26, 0x53, - 0xC2, 0x7C, 0xE4, 0xE3, 0x49, 0x05, 0x16, 0x37, 0x5C, 0x55, 0x53, 0x72, 0x6A, 0xB0, 0x80, 0x91, - 0x3D, 0xD2, 0xB5, 0x1C, 0xA6, 0x07, 0xFB, 0xDA, 0x1F, 0xAF, 0xEA, 0xCB, 0xB8, 0x88, 0x6A, 0xA9, - 0x90, 0x39, 0xF3, 0xB1, 0x01, 0x4E, 0x15, 0x34, 0x85, 0x7B, 0xA4, 0x85, 0x9D, 0x58, 0x9F, 0x79, - 0xDB, 0xF5, 0x74, 0xFA, 0x80, 0xD7, 0x0D, 0x2C, 0x88, 0xD8, 0x0A, 0x2B, 0x71, 0x93, 0xB8, 0xB2, - 0xD6, 0x6D, 0xE1, 0xF7, 0x12, 0x7F, 0x37, 0x16, 0x71, 0xE4, 0xCF, 0xEE, 0x6C, 0xC6, 0xF0, 0xE7, - 0xB8, 0xEA, 0x08, 0x99, 0xFA, 0x1C, 0xBC, 0x9D, 0x56, 0x08, 0x04, 0x25, 0x02, 0x33, 0x6B, 0x12, - 0x7C, 0xDE, 0xF8, 0x5D, 0x96, 0xB3, 0x7F, 0x5E, 0x48, 0x45, 0x57, 0x76, 0x23, 0xA3, 0xDA, 0x82, - 0x38, 0xCA, 0xA8, 0x19, 0xE3, 0x10, 0xA9, 0x88, 0x8C, 0x73, 0xA5, 0x84, 0xD4, 0x4B, 0xC5, 0x6A, - 0x2F, 0x93, 0xE6, 0x0E, 0x46, 0x6D, 0x71, 0x50, 0x4B, 0x10, 0x01, 0x20, 0x3D, 0xD0, 0xB7, 0xF1, - 0x46, 0x4C, 0x50, 0x67, 0x11, 0x5A, 0x11, 0x30, 0x35, 0xE0, 0x8F, 0xAE, 0x27, 0xE3, 0x9E, 0xC2, - 0x5A, 0xDD, 0xDD, 0x7B, 0x50, 0x09, 0x03, 0x22, 0x2A, 0x17, 0x67, 0x46, 0x0A, 0x32, 0x62, 0x13, - 0xF8, 0xEE, 0x4C, 0xD9, 0x9C, 0x8E, 0x48, 0x69, 0x3F, 0xBD, 0xD8, 0xF9, 0xD1, 0x1B, 0x90, 0x3A, - 0x8B, 0xF0, 0x21, 0xAA, 0xC3, 0xB0, 0x29, 0x08, 0x7A, 0x03, 0x23, 0x02, 0xAD, 0xDC, 0x2B, 0xFD, - 0x08, 0x98, 0xCA, 0x29, 0x51, 0x18, 0x13, 0x32, 0x03, 0x0D, 0x54, 0x75, 0xA8, 0x8C, 0x7E, 0xAD, - 0xF1, 0x66, 0xCD, 0xD0, 0x82, 0xE3, 0x3B, 0x1A, 0xE2, 0x38, 0x80, 0xA1, 0x5C, 0x42, 0x44, 0x63, - 0xC7, 0x64, 0xF9, 0xE6, 0x65, 0xE8, 0xD7, 0xF6, 0x46, 0xB3, 0xAF, 0x8E, 0xBA, 0xBE, 0x5E, 0x9F, - 0xBD, 0xF2, 0x15, 0x9C, 0x41, 0x0C, 0x17, 0x36, 0xFB, 0x8B, 0x2A, 0x0B, 0x94, 0x49, 0x87, 0x68, - 0x4A, 0xDC, 0xCC, 0x6B, 0x8F, 0xBF, 0x6A, 0x4B, 0xE9, 0xDF, 0x6C, 0x4D, 0xA4, 0xCD, 0x33, 0xEC, - 0x63, 0x07, 0x3E, 0x42, 0xD5, 0xD4, 0x5B, 0x7A, 0x39, 0xF9, 0x9A, 0xBB, 0x3B, 0xA6, 0xC7, 0x87, - 0x09, 0x90, 0xC3, 0x28, 0x85, 0x82, 0x5D, 0x7C, 0x01, 0xE2, 0xB9, 0x98, 0x2D, 0xD4, 0xA3, 0xF5, - 0x61, 0x47, 0x7C, 0x40, 0x9A, 0xFE, 0x3E, 0x1F, 0x61, 0x5F, 0x64, 0x45, 0x37, 0xE7, 0x8A, 0xC6, - 0x82, 0x78, 0xA0, 0xA3, 0xC9, 0x8D, 0x1E, 0x3F, 0xCE, 0x33, 0xA7, 0x86, 0xEF, 0xE8, 0x5D, 0xC9, - 0x24, 0x5B, 0x25, 0x05, 0x91, 0xD2, 0x19, 0x38, 0x06, 0x1C, 0x40, 0x61, 0xE5, 0xDF, 0x60, 0xFE, - 0xA8, 0xEB, 0x19, 0x89, 0xBE, 0x1A, 0xFE, 0xDF, 0x20, 0x4A, 0x30, 0x11, 0x68, 0x86, 0xB4, 0xA7, - 0xF5, 0x76, 0xD9, 0xD4, 0x89, 0xCF, 0x1C, 0x3D, 0x54, 0xE7, 0xE9, 0xC8, 0xC1, 0x1F, 0x84, 0x3E, - 0x60, 0x4F, 0x75, 0x41, 0xE9, 0x2D, 0x9E, 0xBF, 0xBA, 0x9E, 0x7E, 0x5F, 0x5E, 0x74, 0x70, 0x55, - 0xF2, 0x2E, 0x86, 0xD3, 0x2B, 0xD3, 0xA2, 0x83, 0xEE, 0x21, 0x95, 0xB4, 0x9F, 0x6E, 0xAB, 0x4F, - 0x43, 0x54, 0x4D, 0x62, 0xAC, 0x3A, 0xCC, 0xED, 0xDF, 0x32, 0xB7, 0x96, 0xCC, 0x4E, 0xD8, 0x6F, - 0xFD, 0xF6, 0x51, 0xDC, 0xA0, 0x77, 0x8D, 0xAC, 0x78, 0xEC, 0xCE, 0xEF, 0x70, 0x83, 0xA9, 0xA2, - 0x75, 0x56, 0x79, 0x54, 0x20, 0xFF, 0x85, 0xA4, 0x43, 0xA2, 0xBB, 0x9A, 0x34, 0xC1, 0xAF, 0xE0, - 0xC4, 0x2C, 0xB2, 0xE5, 0xCD, 0xC9, 0x5E, 0x7F, 0xD0, 0x7E, 0xF4, 0xD5, 0x8E, 0x7A, 0xAE, 0x5B, - 0x22, 0x0B, 0x73, 0x03, 0x61, 0xAC, 0x97, 0xB6, 0x9A, 0x8C, 0x4C, 0x6D, 0x7A, 0xB4, 0x94, 0x95, - 0x3C, 0xDA, 0xBC, 0x1D, 0x8D, 0x8B, 0x5C, 0x7D, 0x38, 0x43, 0x21, 0x00, 0xE1, 0x9F, 0x24, 0xBE, - 0x0B, 0xD0, 0x81, 0x2A, 0xC4, 0xD1, 0x4F, 0x6E, 0xF4, 0xC7, 0x69, 0x48, 0xC8, 0x0E, 0x9C, 0x2F, - 0x6D, 0xD7, 0xE0, 0x4C, 0x44, 0x59, 0x47, 0x66, 0xF6, 0x28, 0x84, 0xA5, 0x2F, 0xE2, 0x97, 0xC3, - 0xC0, 0x3C, 0xA6, 0xE1, 0x7D, 0xF5, 0xD2, 0xF3, 0xF2, 0x83, 0x2B, 0x0A, 0x4E, 0x70, 0x64, 0x51, - 0x20, 0x4B, 0x31, 0x01, 0x6E, 0xC4, 0xF0, 0xD1, 0xFC, 0x75, 0xD3, 0xF2, 0xFE, 0xFC, 0x58, 0xDD, - 0x2E, 0x9B, 0xEF, 0x0F, 0x09, 0x47, 0x14, 0x35, 0x7B, 0xB9, 0x98, 0xB9, 0x29, 0x94, 0xE7, 0xB5, - 0xB1, 0x62, 0x89, 0x90, 0x79, 0xB1, 0x92, 0xB3, 0x34, 0x5A, 0x34, 0x15, 0x42, 0x31, 0x29, 0x10, - 0xFA, 0xAE, 0x0E, 0xDB, 0xE8, 0x3C, 0x8E, 0xAF, 0x0B, 0xBF, 0xEE, 0xCF, 0xB1, 0x99, 0x72, 0xB8, - 0x79, 0xC6, 0xE5, 0x58, 0xF1, 0x30, 0x9B, 0xBA, 0xF1, 0xD6, 0x7D, 0x5C, 0x25, 0xD5, 0xAA, 0xF4, - 0xD1, 0x35, 0xBE, 0xF0, 0x57, 0x68, 0x65, 0x44, 0x53, 0x19, 0x10, 0x31, 0x3E, 0xF6, 0x92, 0xD7, - 0xDE, 0xED, 0x69, 0xFF, 0xB5, 0x36, 0xD9, 0xF8, 0x3B, 0x16, 0x77, 0x56, 0xB2, 0xBF, 0x57, 0x9E, - 0x45, 0x04, 0x1B, 0x64, 0x1E, 0x32, 0x76, 0x57, 0xA1, 0xC2, 0x39, 0x18, 0x14, 0x41, 0x0F, 0x60, - 0x02, 0x58, 0x00, 0x23, 0x05, 0x0A, 0x55, 0x74, 0x12, 0x0C, 0x44, 0x65, 0x1D, 0x50, 0x17, 0x71, - 0x78, 0xCE, 0xEC, 0x59, 0x0F, 0x37, 0x62, 0x43, 0x55, 0x5D, 0x52, 0x73, 0x77, 0xE5, 0xC8, 0xC4, - 0x9D, 0xA1, 0x66, 0xBC, 0x69, 0xA5, 0x96, 0xB7, 0xBB, 0x24, 0xC5, 0xE4, 0x15, 0x51, 0x1E, 0x70, - 0x0C, 0x88, 0xDE, 0x2D, 0x1F, 0x23, 0x66, 0x47, 0x76, 0x1A, 0x36, 0x17, 0x95, 0x59, 0x96, 0x78, - 0xFF, 0xB6, 0x13, 0xDE, 0x97, 0xA2, 0x6F, 0x4E, 0x42, 0x18, 0x00, 0x21, 0xD3, 0x2D, 0xA4, 0x0C, - 0xB3, 0x22, 0xCB, 0x92, 0xAB, 0x5B, 0xAA, 0x8B, 0xF7, 0x92, 0x3F, 0x1E, 0x4D, 0x56, 0x41, 0x77, - 0x3A, 0x8A, 0xEA, 0x1B, 0x63, 0x98, 0xA1, 0x80, 0xDC, 0x67, 0xE1, 0xC0, 0x36, 0xF7, 0x9B, 0xD6, - 0x41, 0x49, 0x82, 0xD5, 0x71, 0xBA, 0xAB, 0x07, 0x7B, 0xB0, 0x46, 0x2B, 0x8C, 0xB8, 0x47, 0xE9, - 0xB3, 0x60, 0xAB, 0x0E, 0x40, 0x8B, 0xC0, 0x5D, 0x8D, 0x46, 0x96, 0x0D, 0xE7, 0x4C, 0x2C, 0x76, - 0x6A, 0x97, 0x5C, 0x20, 0x3D, 0xF6, 0x73, 0x93, 0xCB, 0x00, 0x84, 0x59, 0x63, 0xF8, 0xA8, 0x46, - 0x86, 0xED, 0x26, 0xB6, 0xFD, 0x36, 0x97, 0xB7, 0x4E, 0x85, 0x39, 0x61, 0x94, 0x21, 0x5F, 0x68, - 0xB2, 0xDB, 0x10, 0xB4, 0x11, 0xDA, 0x9C, 0x50, 0x61, 0xAA, 0x9D, 0xEA, 0x68, 0x3B, 0xA3, 0x8E, - 0xB5, 0x22, 0xE9, 0x4A, 0x39, 0xF2, 0x67, 0x83, 0xB5, 0x7E, 0x7C, 0xDF, 0xA6, 0x01, 0x6D, 0x7A, - 0x5E, 0xA1, 0x6A, 0x22, 0x03, 0xC8, 0xCF, 0x11, 0xC2, 0x09, 0x05, 0xD1, 0xF6, 0x54, 0x3D, 0x7F, - 0x33, 0xD2, 0x19, 0x3C, 0x62, 0xA9, 0xF1, 0x4E, 0x39, 0xF2, 0x40, 0x6F, 0x31, 0xEF, 0xFA, 0x03, - 0xA2, 0x70, 0xBB, 0x0F, 0x29, 0xE2, 0x76, 0x82, 0x86, 0x4D, 0x55, 0xC5, 0x18, 0x1D, 0xD3, 0xD8, - 0x2F, 0x6C, 0xA7, 0x9E, 0x3B, 0xF0, 0x25, 0xC3, 0x6E, 0xA5, 0x4A, 0x32, 0xC9, 0xE1, 0x02, 0xF5, - 0x99, 0x05, 0xCE, 0x41, 0x5B, 0x90, 0x12, 0x94, 0xE0, 0x2B, 0x34, 0xC2, 0xFA, 0xC8, 0x31, 0xEF, - 0xD7, 0x12, 0xD9, 0x18, 0x83, 0x48, 0x6F, 0x31, 0x44, 0x8F, 0xF3, 0xA1, 0x61, 0xBA, 0xAA, 0x06, - 0x87, 0x56, 0x9D, 0x0C, 0x55, 0x9E, 0xCC, 0x44, 0xB6, 0x7D, 0x37, 0x97, 0x89, 0xA5, 0x42, 0xF1, - 0x77, 0x92, 0x59, 0x38, 0x96, 0x5D, 0x63, 0x28, 0xE5, 0x2E, 0x29, 0xDA, 0x19, 0x14, 0xD2, 0xD0, - 0x9E, 0xFC, 0x37, 0xBF, 0x1D, 0xD6, 0x00, 0xC0, 0x2E, 0xE5, 0x0E, 0x36, 0xEC, 0x8F, 0x27, 0xBE, - 0x0B, 0xF1, 0x3A, 0x27, 0x27, 0xEC, 0xA8, 0x52, 0xEB, 0x20, 0xF7, 0x0A, 0xB9, 0xC7, 0x72, 0xA3, - 0x8C, 0xBA, 0x71, 0xEB, 0x3F, 0xF4, 0x31, 0xD3, 0x45, 0x8E, 0xFA, 0xA9, 0x72, 0xE0, 0xB9, 0x4F, - 0xCA, 0x17, 0xDC, 0x00, 0xD1, 0x1A, 0x78, 0x74, 0x0B, 0xC0, 0x60, 0x7D, 0xA2, 0x15, 0x69, 0x6A, - 0x9B, 0xE8, 0x23, 0xAE, 0x3C, 0xF7, 0x7A, 0x9B, 0xB2, 0x79, 0x23, 0x87, 0x9A, 0xFF, 0x51, 0xB8, - 0x5D, 0xF7, 0x3C, 0x77, 0x25, 0xEE, 0xEA, 0x12, 0x2A, 0xE1, 0x1A, 0x26, 0x58, 0x59, 0x93, 0xDC, - 0xC6, 0x02, 0xC9, 0x19, 0x0D, 0xC6, 0x11, 0xC1, 0x29, 0xE2, 0x51, 0x6E, 0x38, 0x6E, 0xF3, 0x8B, - 0xEE, 0x8A, 0x41, 0xB9, 0x67, 0xAC, 0xEC, 0x56, 0x0E, 0xC5, 0x7D, 0x65, 0xC7, 0x3F, 0x0C, 0x25, - 0x6B, 0x2C, 0xE7, 0x9A, 0xCC, 0x07, 0xFC, 0xED, 0x22, 0xE9, 0x92, 0xA6, 0xBB, 0x85, 0x70, 0xE3, - 0xF0, 0xD9, 0x12, 0xF4, 0xA0, 0x6B, 0x57, 0x2A, 0x9A, 0x51, 0xD8, 0x54, 0x98, 0xBD, 0x53, 0xF8, - 0x72, 0x86, 0x4D, 0x29, 0x37, 0xFC, 0xB9, 0x53, 0x28, 0xE3, 0x58, 0x66, 0xAB, 0x94, 0x60, 0xE2, - 0xE6, 0x30, 0xFB, 0x0B, 0x9C, 0x57, 0xA9, 0xE8, 0x3B, 0xF0, 0x02, 0x2F, 0xCE, 0xBE, 0x05, 0xAD, - 0xE2, 0x9F, 0x54, 0xA0, 0x81, 0x4A, 0x2D, 0x71, 0x68, 0xA3, 0x1C, 0x62, 0x87, 0x7B, 0x4C, 0x21, - 0x50, 0x59, 0x92, 0xD4, 0xCA, 0x01, 0xAA, 0xBD, 0xE6, 0x2D, 0x62, 0x92, 0x75, 0xBF, 0xBE, 0x17, - 0x13, 0xE0, 0x2B, 0x2E, 0xC6, 0x0D, 0x36, 0x2D, 0xC4, 0x0F, 0x53, 0x81, 0xD3, 0x3A, 0x18, 0x34, - 0xA4, 0x32, 0xF9, 0x4B, 0x41, 0x8A, 0xC9, 0x55, 0x89, 0x42, 0x82, 0x1D, 0xAD, 0xC2, 0x66, 0xB2, - 0x18, 0x0C, 0xC7, 0xC9, 0x1F, 0xD4, 0x42, 0x80, 0x7D, 0xB6, 0x10, 0x7B, 0x84, 0x30, 0x4F, 0x69, - 0xD2, 0x06, 0xCD, 0x09, 0x2F, 0xE4, 0x20, 0xD2, 0x5B, 0x90, 0x35, 0x78, 0xC1, 0x69, 0x0A, 0x75, - 0x95, 0x10, 0xDB, 0x58, 0x8B, 0x40, 0xE7, 0xB1, 0x00, 0xCB, 0xA3, 0xB5, 0xDD, 0xE4, 0x16, 0xE4, - 0xB4, 0x99, 0x52, 0xF0, 0x80, 0x4B, 0x24, 0x79, 0xDE, 0x15, 0x88, 0x40, 0x7C, 0x3E, 0xB7, 0x9F, - 0x6C, 0xD5, 0x1E, 0x64, 0x45, 0x8E, 0xDD, 0x45, 0xE1, 0x2A, 0x3D, 0xCA, 0x07, 0xDB, 0xCC, 0x01, - 0xA1, 0x26, 0xED, 0x5A, 0x4C, 0x87, 0x5C, 0xCD, 0xD7, 0x1C, 0x09, 0xC8, 0x73, 0xE9, 0xB8, 0x47, - 0x19, 0xB7, 0x7C, 0x73, 0xBC, 0x77, 0xDA, 0xBB, 0x24, 0xEF, 0xC4, 0xF6, 0x7B, 0x61, 0xB0, 0xC7, - 0x93, 0x52, 0x99, 0x1C, 0x48, 0x83, 0x48, 0xDD, 0xB3, 0x78, 0x2A, 0x8F, 0xCF, 0xB7, 0x04, 0xA5, - 0x7F, 0x28, 0xE3, 0x8A, 0x7F, 0xB4, 0x75, 0xD7, 0xA5, 0x6E, 0x6D, 0xDE, 0x7A, 0x68, 0xB1, 0xCF, - 0x64, 0x6F, 0xA4, 0xD6, 0x5C, 0x97, 0x4D, 0xCC, 0xD8, 0x13, 0xDE, 0x10, 0x6B, 0x70, 0xA0, 0xC6, - 0x16, 0xF4, 0x3F, 0x3F, 0xF3, 0x38, 0x49, 0x67, 0x96, 0x5D, 0x44, 0xC4, 0x95, 0x28, 0x5E, 0x60, - 0xC1, 0xFB, 0x30, 0xE7, 0x4F, 0x84, 0x17, 0x85, 0xF1, 0x3A, 0x2C, 0xCB, 0xDC, 0xED, 0x17, 0xEC, - 0x9A, 0x53, 0x98, 0x14, 0xB1, 0x7A, 0x4F, 0x23, 0x9C, 0x57, 0x8E, 0x04, 0xFF, 0xD5, 0x34, 0xF7, - 0x71, 0xD0, 0x1B, 0x7C, 0xA4, 0x6F, 0x43, 0x3A, 0x0F, 0xC4, 0x74, 0x6D, 0xB3, 0x0D, 0x78, 0x63, - 0xF6, 0x9B, 0x50, 0xB0, 0xB8, 0x73, 0xCE, 0xAB, 0xD5, 0x1E, 0x4B, 0x88, 0x1B, 0x56, 0xD0, 0x90, - 0x90, 0x04, 0xCF, 0x49, 0x3E, 0xF5, 0x38, 0xDB, 0x79, 0xB2, 0x04, 0x6B, 0xBE, 0x98, 0x75, 0xFB, - 0x4E, 0x0A, 0xC1, 0x99, 0xDA, 0x11, 0xBB, 0xBC, 0x32, 0xF9, 0x83, 0xA7, 0xD6, 0x27, 0x1D, 0x2C, - 0xD9, 0xEA, 0x21, 0xEE, 0xF8, 0x33, 0x8A, 0xAF, 0xCA, 0x01, 0x8D, 0x51, 0x5A, 0x1B, 0x91, 0x9C, - 0x9F, 0x47, 0x8C, 0x05, 0x6D, 0xA6, 0x26, 0x96, 0x65, 0xAE, 0x89, 0xFA, 0xC8, 0xE8, 0x03, 0xFD, - 0xFE, 0x21, 0xEA, 0x02, 0x65, 0xAE, 0xAE, 0x16, 0x88, 0x43, 0x8B, 0x15, 0x24, 0xE3, 0xEF, 0x1A, - 0xC3, 0x16, 0xDD, 0x08, 0x76, 0xBD, 0xF4, 0x5F, 0xC0, 0x0B, 0x47, 0x91, 0xB5, 0x5B, 0x7E, 0x33, - 0x0C, 0x08, 0xC3, 0xD9, 0xBD, 0x76, 0xD3, 0xB3, 0xAD, 0x66, 0xE5, 0x5E, 0x9E, 0xEB, 0x55, 0xA8, - 0xCD, 0xEE, 0x25, 0xFE, 0x74, 0xBF, 0xB6, 0x1F, 0x15, 0xDE, 0xAF, 0xAC, 0x50, 0xD1, 0x9B, 0x5C, - 0x06, 0x5F, 0x94, 0x84, 0xAF, 0x64, 0x80, 0xF2, 0x5A, 0x91, 0x3C, 0x70, 0xEB, 0xD0, 0x20, 0xE6, - 0x2E, 0xD7, 0x1C, 0x24, 0xA7, 0x6C, 0x08, 0x72, 0x2F, 0xE4, 0x07, 0x3E, 0xA9, 0xD6, 0x62, 0xA2, - 0x32, 0x69, 0xA2, 0x86, 0xE6, 0x2D, 0x45, 0x7E, 0x56, 0x9D, 0xA0, 0xE0, 0x64, 0xA7, 0xAF, 0x1E, - 0xF9, 0xD8, 0x13, 0xFC, 0x88, 0x43, 0xAC, 0xF9, 0x74, 0xBF, 0x91, 0xF3, 0x44, 0xD4, 0x8F, 0x4D, - 0x0A, 0x4A, 0x81, 0x9D, 0xB4, 0x7F, 0x52, 0x3B, 0x9F, 0x54, 0xC5, 0x4C, 0x5E, 0x0F, 0x95, 0x8C, - 0xA6, 0xDF, 0x14, 0xA4, 0x36, 0xFD, 0xB0, 0x5B, 0x08, 0xC3, 0x2B, 0x35, 0x35, 0xFB, 0xFE, 0x13, - 0x66, 0x82, 0x49, 0x39, 0xD4, 0x1F, 0x65, 0x6C, 0xD1, 0x1A, 0x5F, 0x98, 0xAC, 0xCB, 0x67, 0xBA, - 0x5A, 0x0E, 0xC5, 0x89, 0x33, 0xF8, 0xAD, 0x43, 0xA1, 0x6A, 0x79, 0xCE, 0xF5, 0x1F, 0x3E, 0x37, - 0xDF, 0xA8, 0x63, 0xAA, 0x34, 0xFF, 0xF2, 0x1B, 0x46, 0x8D, 0xB1, 0xE1, 0xC2, 0x22, 0x09, 0x3D, - 0x03, 0x4B, 0x80, 0x95, 0x14, 0xDF, 0x81, 0x48, 0x85, 0x4E, 0x1E, 0x8D, 0xCD, 0xF5, 0x06, 0xE5, - 0xBC, 0x23, 0xE8, 0x42, 0x77, 0xBC, 0xFD, 0x57, 0x58, 0x93, 0x7E, 0x30, 0xFE, 0xDC, 0x35, 0xFF, - 0x2D, 0xAC, 0x55, 0x79, 0x30, 0xE4, 0xB1, 0x54, 0x73, 0x5A, 0xDB, 0xA9, 0x15, 0x94, 0xAF, 0x3A, - 0x2A, 0xAB, 0x0D, 0x26, 0x96, 0xC7, 0x17, 0xD1, 0x79, 0x6D, 0xEC, 0x94, 0xF2, 0x73, 0x80, 0xF2, - 0x6E, 0xEF, 0x19, 0x76, 0xBB, 0x0C, 0x3A, 0x37, 0xB1, 0x66, 0xE7, 0x57, 0x0B, 0x8A, 0x7E, 0xF5, - 0x0D, 0x8C, 0x06, 0x0A, 0xD3, 0xDB, 0x52, 0x88, 0xAB, 0x55, 0xD4, 0x7E, 0xD6, 0x57, 0xC3, 0x95, - 0xAD, 0x2C, 0x75, 0xD9, 0xD2, 0xD3, 0x53, 0x81, 0xC2, 0xC6, 0x47, 0x84, 0xCC, 0x4D, 0x02, 0x4E, - 0x91, 0x10, 0xB7, 0x27, 0x40, 0xB2, 0xC1, 0x72, 0x03, 0xDC, 0x5D, 0x5F, 0x27, 0xA6, 0xBD, 0x1A, - 0xCD, 0x4C, 0x22, 0xEE, 0x1A, 0x77, 0x9B, 0xED, 0xF4, 0x34, 0xB5, 0x40, 0x82, 0x03, 0xD6, 0xD4, - 0x2F, 0xAE, 0x15, 0x3B, 0x47, 0xEA, 0xC6, 0x2D, 0x5D, 0xAD, 0x2C, 0x70, 0x5B, 0xDA, 0x7B, 0xA0, - 0xB6, 0x37, 0xBC, 0x0B, 0xC7, 0xCA, 0x46, 0x8D, 0xA8, 0x73, 0xF2, 0x5B, 0x09, 0x88, 0x3E, 0xB7, - 0x6D, 0xEC, 0x51, 0x3D, 0x76, 0xB0, 0xF7, 0x46, 0x12, 0xC8, 0x49, 0x5A, 0x46, 0xC7, 0xE2, 0x24, - 0xFF, 0x7E, 0x30, 0xCE, 0xF1, 0xC8, 0x70, 0xB9, 0x50, 0xFC, 0x7D, 0x2C, 0x05, 0x84, 0xAE, 0x2B, - 0xBE, 0x3F, 0x3C, 0x83, 0x4F, 0x6A, 0xCE, 0xA5, 0xEC, 0x31, 0xB0, 0x5D, 0x7C, 0xFD, 0x70, 0x8C, - 0x7C, 0xFD, 0x58, 0x25, 0xB9, 0x4C, 0x38, 0x75, 0x54, 0xBC, 0x3D, 0x68, 0xDB, 0x5A, 0x5B, 0x00, - 0x74, 0xF5, 0xD8, 0xAD, 0xDF, 0x4B, 0x5E, 0x14, 0xB3, 0x50, 0xD1, 0x63, 0x36, 0xB7, 0xB4, 0x02, - 0xA4, 0x25, 0xFD, 0x58, 0x90, 0x97, 0x11, 0x87, 0xE6, 0x06, 0x87, 0x60, 0xFE, 0x7F, 0x10, 0x6E, - 0x6F, 0xEE, 0x11, 0x7F, 0x8E, 0x46, 0x0F, 0x48, 0x7D, 0x2D, 0xAC, 0xD0, 0x93, 0x12, 0xDF, 0xCC, - 0x27, 0xA6, 0x95, 0xB3, 0x9C, 0x07, 0x1D, 0x1B, 0xB5, 0x26, 0xA7, 0x13, 0x2A, 0xAB, 0x25, 0x8F, - 0xA1, 0x20, 0xE5, 0x45, 0x03, 0xFE, 0x82, 0x7D, 0xDE, 0x83, 0x02, 0xDD, 0x86, 0x07, 0xC6, 0xC0, - 0xE1, 0x60, 0xE1, 0x01, 0x72, 0xA0, 0xF3, 0x52, 0xD2, 0xC2, 0x43, 0x90, 0x99, 0x18, 0x1F, 0x06, - 0xC3, 0x42, 0xF2, 0x30, 0x92, 0xD7, 0x13, 0xC5, 0x62, 0x4E, 0xCF, 0xAC, 0x61, 0xE0, 0xE9, 0x08, - 0x56, 0xD7, 0xCB, 0x9C, 0x63, 0xA9, 0xE2, 0x4A, 0xA2, 0x44, 0xC5, 0x66, 0xA2, 0x23, 0x85, 0xA7, - 0xEA, 0x6B, 0x29, 0xC2, 0x6C, 0x71, 0xED, 0x9D, 0x2E, 0x0D, 0x8C, 0xA3, 0xC5, 0x44, 0x8A, 0xCF, - 0xBD, 0x3C, 0x74, 0xC8, 0x48, 0x32, 0xC9, 0xFA, 0x2D, 0x2B, 0xAA, 0x86, 0x5C, 0xDD, 0x23, 0xFF, - 0xA8, 0x29, 0x6D, 0xC4, 0xCB, 0x5A, 0x4A, 0x11, 0xB9, 0x67, 0xE6, 0x5E, 0xCF, 0x4E, 0x4A, 0x05, - 0x51, 0xD0, 0x93, 0xC3, 0xCA, 0x52, 0x4B, 0x18, 0xEB, 0x57, 0xD6, 0x3C, 0xE0, 0x61, 0xC1, 0xA1, - 0xA5, 0x24, 0xF5, 0x51, 0x2F, 0x3D, 0xAE, 0x92, 0x89, 0xE3, 0x62, 0xEA, 0x77, 0xF6, 0xB8, 0x4F, - 0x45, 0xC4, 0x82, 0xC6, 0xF7, 0x98, 0x76, 0xEF, 0x88, 0xF3, 0x72, 0xFB, 0x8B, 0x0A, 0x5E, 0x55, - 0x66, 0xE7, 0x99, 0xFE, 0xB0, 0xC4, 0x31, 0xF4, 0x81, 0xE2, 0x63, 0xE3, 0xF6, 0x77, 0x90, 0xE6, - 0x99, 0x18, 0x37, 0xAF, 0x01, 0xBE, 0x80, 0x3F, 0xD1, 0xE4, 0x65, 0xB5, 0x8D, 0x0C, 0x0E, 0x03, - 0x92, 0x13, 0xFF, 0x6C, 0x88, 0x16, 0x09, 0x1E, 0xAA, 0x45, 0xC4, 0x6F, 0x53, 0xD2, 0xFB, 0x28, - 0x55, 0xD4, 0x83, 0xD7, 0xBE, 0x14, 0x3F, 0x2A, 0x09, 0xEB, 0x6A, 0x62, 0x84, 0x05, 0x86, 0x82, - 0x5C, 0xDD, 0x0B, 0x56, 0x4D, 0x2A, 0xCC, 0xE7, 0x4F, 0x9F, 0x1E, 0x50, 0xB2, 0x33, 0x84, 0xB6, - 0x58, 0xD9, 0x1B, 0x42, 0xAA, 0x05, 0x2B, 0x2F, 0xFC, 0x35, 0xB4, 0x49, 0xDA, 0x5B, 0x53, 0x09, - 0xDF, 0x5E, 0x63, 0xBD, 0x78, 0x60, 0xF9, 0x98, 0x7A, 0x4B, 0xCA, 0xB1, 0x97, 0x16, 0xCF, 0xD8, - 0x36, 0xB7, 0x9C, 0xAB, 0x9E, 0x47, 0x1F, 0x59, 0x3B, 0x59, 0xD8, 0xE2, 0x08, 0x89, 0x36, 0xBE, - 0x06, 0x87, 0xCE, 0xC9, 0x94, 0x87, 0x15, 0x93, 0x27, 0x1C, 0x9D, 0xBB, 0x2E, 0xAF, 0x35, 0x9B, - 0x85, 0x04, 0xA6, 0x22, 0xA8, 0x45, 0x29, 0x6D, 0xE3, 0x56, 0xD7, 0x35, 0x68, 0xE9, 0x61, 0x89, - 0x2E, 0xAF, 0x1D, 0x32, 0x1E, 0x67, 0x9F, 0xF9, 0xAC, 0x33, 0xB2, 0x1F, 0x7B, 0xFA, 0x28, 0xD3, - 0xD3, 0x52, 0xF3, 0x21, 0xC1, 0x9A, 0x40, 0xDB, 0x59, 0xED, 0x6C, 0x34, 0xB5, 0x34, 0xDC, 0xE9, - 0x98, 0x19, 0x3F, 0xA6, 0x07, 0xEE, 0x86, 0x69, 0x6F, 0x1F, 0x9E, 0xF0, 0x3B, 0xBA, 0x2C, 0x97, - 0x7E, 0xFF, 0x18, 0x67, 0x12, 0xF7, 0x93, 0x65, 0x6B, 0x5F, 0xDE, 0xB4, 0x5D, 0xDC, 0x2B, 0xF6, - 0x14, 0x95, 0x8F, 0x9A, 0x9A, 0x57, 0x1B, 0x4D, 0xC5, 0xA0, 0x21, 0xE5, 0x7A, 0xFB, 0x20, 0xDA, - 0xB9, 0x38, 0x64, 0xDC, 0x41, 0xBA, 0xC0, 0x7B, 0xB6, 0x00, 0x81, 0x36, 0xC9, 0x48, 0x1A, 0x53, - 0xD5, 0x54, 0xA3, 0x77, 0xB4, 0xD4, 0x35, 0xE0, 0xAD, 0x23, 0xA2, 0x0E, 0x71, 0xF0, 0xE8, 0x19, - 0xC8, 0x49, 0x3A, 0xF3, 0x8F, 0x4E, 0x0E, 0x41, 0x24, 0x3A, 0xBB, 0x9E, 0x58, 0xD9, 0x33, 0xEB, - 0x26, 0xA7, 0x9D, 0xBA, 0x22, 0xA5, 0xA3, 0x07, 0x01, 0xEA, 0x6B, 0x6B, 0x16, 0x97, 0xE7, 0x71, - 0x3C, 0xBD, 0x5C, 0x61, 0x6F, 0x39, 0xEE, 0xD6, 0x92, 0xC0, 0x41, 0xD2, 0x79, 0xF8, 0x68, 0x91, - 0x25, 0xA4, 0xD5, 0xF1, 0x70, 0xE0, 0xF1, 0x10, 0xF6, 0x02, 0x83, 0x74, 0xE1, 0x60, 0xC9, 0xA8, - 0x8F, 0x0E, 0x66, 0xE8, 0x0A, 0x76, 0x8B, 0xFC, 0x9E, 0x81, 0x00, 0x9F, 0xB6, 0x37, 0x94, 0xA2, - 0x4C, 0xCD, 0x0A, 0x47, 0xCE, 0x42, 0x4F, 0x0C, 0xBF, 0x11, 0x90, 0x2E, 0xE5, 0x64, 0xD9, 0xBC, - 0x3E, 0xBF, 0x1C, 0x23, 0x69, 0x69, 0xE8, 0x80, 0xED, 0x21, 0xA0, 0x4C, 0xB8, 0x39, 0x44, 0x7C, - 0x04, 0x85, 0x8E, 0x8B, 0x64, 0xF1, 0xE5, 0x15, 0xF0, 0x74, 0xF5, 0x04, 0x7D, 0xFC, 0x78, 0x85, - 0x22, 0xA3, 0x8D, 0xAE, 0xF4, 0xD0, 0x75, 0xA4, 0xBB, 0x51, 0xD0, 0x6A, 0x3D, 0xBC, 0x7C, 0xC1, - 0x30, 0xB1, 0xCC, 0xFD, 0xE8, 0x41, 0x69, 0x29, 0x96, 0x80, 0x01, 0x96, 0xD5, 0x54, 0x8B, 0xDE, - 0x9A, 0x1B, 0x7F, 0xE4, 0x8A, 0x56, 0x0B, 0x5C, 0x48, 0xF9, 0x78, 0x31, 0x17, 0x96, 0xEF, 0x78, - 0x42, 0xC3, 0xDA, 0x99, 0x9D, 0x0F, 0x1C, 0x12, 0xA1, 0x62, 0xE3, 0x43, 0xB3, 0x32, 0x8C, 0xBF, - 0x20, 0xA1, 0xCD, 0xEC, 0xBA, 0x04, 0x3B, 0x3E, 0x34, 0x3E, 0xBF, 0x8A, 0xE6, 0x67, 0x91, 0xF7, - 0x08, 0x89, 0x1E, 0x17, 0x43, 0xFA, 0xC2, 0x39, 0xC0, 0xF0, 0x71, 0xB0, 0x32, 0xB3, 0xA4, 0x16, - 0x7B, 0xFA, 0x00, 0x7A, 0x4A, 0x72, 0xCB, 0xB8, 0x4D, 0xA9, 0x28, 0x64, 0x6A, 0xEB, 0x21, 0xCB, - 0x1A, 0x9B, 0x5F, 0x44, 0x39, 0x6C, 0xB8, 0xD5, 0x31, 0x6E, 0xEF, 0xDF, 0x91, 0x10, 0x9F, 0x8E, - 0x59, 0xD8, 0x13, 0x4B, 0xF8, 0x40, 0x79, 0x38, 0x38, 0x7F, 0xFE, 0xC7, 0xDE, 0x5F, 0x43, 0x1D, - 0x68, 0xE9, 0x49, 0x20, 0xD1, 0x9B, 0x50, 0xCA, 0xA7, 0x14, 0x95, 0x33, 0x28, 0xA9, 0x65, 0xCD, - 0xE4, 0x65, 0xF9, 0x1C, 0x75, 0xF8, 0xF4, 0x0D, 0x26, 0x0C, 0x8D, 0xAA, 0x1D, 0x9C, 0x2F, 0xB2, - 0x24, 0xA5, 0xDD, 0xF8, 0x0F, 0x6E, 0x8E, 0xE1, 0x08, 0xFB, 0x7A, 0x73, 0x98, 0x19, 0x17, 0x0F, - 0x83, 0xAE, 0xE2, 0xBB, 0xAF, 0xF3, 0x93, 0xAB, 0x54, 0x71, 0xEA, 0xD2, 0x78, 0xFB, 0x4C, 0xC3, - 0x43, 0x8A, 0x06, 0x7B, 0x39, 0x1F, 0xE9, 0xD1, 0x8D, 0x5F, 0x1D, 0x25, 0x40, 0x7E, 0xF1, 0x46, - 0x3E, 0x44, 0xB5, 0x06, 0x17, 0xC6, 0x1E, 0x26, 0x39, 0x6F, 0x99, 0xA1, 0x14, 0x38, 0xE3, 0x00, - 0x0F, 0x1E, 0xDE, 0x37, 0xCC, 0x34, 0x37, 0x0F, 0xCD, 0xF0, 0xF2, 0xCA, 0x32, 0xCE, 0x33, 0xF6, - 0x1C, 0x57, 0x84, 0x24, 0x25, 0x46, 0xAC, 0x94, 0x9A, 0x1A, 0x4F, 0x77, 0x76, 0x8C, 0x35, 0xB4, - 0x7D, 0x08, 0xBA, 0x45, 0x3B, 0x2B, 0xDF, 0xE7, 0x21, 0x66, 0x88, 0xB0, 0xC8, 0x77, 0x70, 0x4F, - 0x47, 0x9A, 0x12, 0x7F, 0x53, 0xC0, 0x5C, 0x64, 0x74, 0x63, 0xD8, 0xE0, 0xC6, 0x00, 0x09, 0x38, - 0x6F, 0x49, 0xE9, 0x57, 0xAD, 0xC7, 0xA5, 0x9D, 0x4E, 0x97, 0x16, 0x2E, 0xF3, 0xD4, 0xE8, 0xEC, - 0xFD, 0x28, 0x1A, 0xC5, 0x01, 0xA2, 0x6C, 0x54, 0xCF, 0x1F, 0x1F, 0x27, 0xB8, 0xF1, 0x86, 0xC9, - 0x25, 0x8D, 0x67, 0x1D, 0x58, 0xEC, 0x7B, 0x43, 0xBD, 0xF6, 0x84, 0xBC, 0xDB, 0x55, 0x41, 0x6D, - 0x45, 0xDA, 0x50, 0x7D, 0x87, 0x5A, 0x12, 0x2A, 0x94, 0xEC, 0xB7, 0x8F, 0x2B, 0xDB, 0x3F, 0xE3, - 0x57, 0x9B, 0x03, 0x6F, 0x16, 0xD7, 0x0E, 0x36, 0x68, 0xC1, 0x66, 0x5E, 0xDC, 0x33, 0x20, 0x0B, - 0x59, 0x4B, 0xDD, 0x61, 0x3E, 0x7E, 0x8F, 0xB7, 0xB2, 0xBA, 0xC7, 0xFF, 0x13, 0x5E, 0x82, 0x66, - 0x63, 0xD9, 0x75, 0x5B, 0xA6, 0xEB, 0x82, 0xBA, 0xFA, 0xA7, 0x92, 0xAA, 0x2F, 0x9B, 0x7B, 0xA3, - 0xE8, 0x31, 0x16, 0xD0, 0x21, 0x02, 0xEC, 0xD4, 0x61, 0xC9, 0x67, 0x5F, 0xC3, 0x50, 0x5C, 0x68, - 0x2B, 0x5D, 0xB9, 0x13, 0x15, 0xF2, 0x28, 0x10, 0xD0, 0xE8, 0xF7, 0xCF, 0x8E, 0x03, 0x42, 0x3B, - 0x5B, 0x0B, 0x9F, 0x63, 0x6E, 0x28, 0x89, 0xB1, 0x2C, 0xC5, 0x26, 0x1E, 0x3F, 0x9F, 0x6F, 0xA7, - 0x42, 0x82, 0x0F, 0x7A, 0xB7, 0xEE, 0x96, 0xAE, 0x8A, 0xA1, 0xE4, 0xDC, 0x9E, 0x07, 0x56, 0x3F, - 0xAF, 0x6D, 0x0D, 0x97, 0x19, 0xBF, 0x69, 0x51, 0x60, 0x73, 0xDC, 0xE4, 0x64, 0xBE, 0x15, 0x86, - 0x41, 0xCA, 0x44, 0x79, 0xF2, 0xF9, 0xC4, 0xFC, 0x95, 0x56, 0x0C, 0x34, 0xB0, 0xF0, 0x8F, 0xC8, - 0xDE, 0x33, 0x22, 0xE6, 0xED, 0x85, 0xA7, 0x9F, 0xC8, 0xE1, 0xE6, 0xDE, 0x4D, 0x2F, 0xAD, 0x17, - 0xB2, 0xF4, 0x89, 0x8A, 0x83, 0x1E, 0x52, 0x6A, 0xF0, 0xFA, 0xC5, 0xFD, 0xBF, 0x97, 0xE7, 0xAF, - 0x19, 0x4F, 0x99, 0x21, 0xA0, 0x9B, 0xF4, 0xCC, 0x4A, 0x3C, 0xB9, 0x81, 0x7C, 0xBB, 0x08, 0x83, - 0x73, 0xD8, 0x64, 0x4B, 0x00, 0xB3, 0x7C, 0x44, 0x1B, 0x92, 0x46, 0x7E, 0x77, 0x9C, 0x24, 0xA4, - 0xB4, 0xA4, 0xDF, 0x8C, 0xCD, 0x25, 0x27, 0x1F, 0xCA, 0x0E, 0x0B, 0x33, 0x8B, 0x53, 0x17, 0x6B, - 0xFF, 0x68, 0x58, 0xC7, 0xB9, 0x97, 0xE1, 0xD9, 0x0E, 0x38, 0xF9, 0xC1, 0x7B, 0xDD, 0x69, 0xE5, - 0xE2, 0xF1, 0xDC, 0xDA, 0x12, 0x93, 0x4E, 0x76, 0xCB, 0xB4, 0xB0, 0x88, 0x36, 0x8E, 0x77, 0xB6, - 0x49, 0x4A, 0xCC, 0x71, 0x30, 0x07, 0xF8, 0xC0, 0xE1, 0xFB, 0xD5, 0xED, 0x7F, 0x9D, 0x2D, 0xA5, - 0x51, 0xCB, 0x55, 0x69, 0x10, 0xA7, 0x78, 0x40, 0x1C, 0x6C, 0xBF, 0x87, 0x61, 0xEE, 0x40, 0xD6, - 0x61, 0x99, 0x37, 0x59, 0xD0, 0x6D, 0x72, 0x4A, 0x45, 0x70, 0xFA, 0xC2, 0x62, 0xC8, 0x65, 0xF0, - 0x3F, 0x4C, 0xBC, 0x07, 0x52, 0xD1, 0x4C, 0x74, 0xB7, 0xAB, 0xD3, 0xEB, 0x04, 0x3C, 0xF7, 0x04, - 0xB8, 0x34, 0x43, 0x80, 0x37, 0x66, 0x9E, 0xA6, 0x4F, 0x2D, 0xAD, 0x95, 0x98, 0x71, 0x26, 0x49, - 0x32, 0xD4, 0x29, 0x0A, 0x43, 0xD4, 0x58, 0x60, 0x9C, 0x5E, 0x0D, 0x35, 0xD1, 0x62, 0x7C, 0x5A, - 0x3B, 0x5C, 0xA8, 0x03, 0x7D, 0x19, 0xAB, 0x93, 0xAE, 0x18, 0x79, 0x41, 0xD3, 0x54, 0x48, 0x6C, - 0xFE, 0x60, 0x51, 0xC6, 0xE9, 0xC1, 0xE7, 0xDF, 0x4B, 0x86, 0x02, 0x3A, 0x59, 0x6B, 0xFD, 0x53, - 0xF5, 0xA8, 0x92, 0xCD, 0x41, 0xE0, 0x6E, 0x56, 0x91, 0xFD, 0xA3, 0x9B, 0xAC, 0xB5, 0xD6, 0x8D, - 0x22, 0xD5, 0x38, 0x1A, 0xCF, 0x11, 0x11, 0x29, 0x05, 0xDF, 0x15, 0x2D, 0x09, 0x6D, 0xAB, 0x55, - 0x01, 0xCE, 0x00, 0x39, 0x93, 0x0A, 0x56, 0x6E, 0x1D, 0xD6, 0x04, 0x3C, 0xC7, 0x10, 0x18, 0x28, - 0x36, 0xC4, 0x3D, 0x0E, 0x05, 0xE6, 0x2C, 0x14, 0xC2, 0xBC, 0xB1, 0x89, 0x96, 0x06, 0x5F, 0x3E, - 0xC2, 0xA2, 0xAF, 0xFA, 0x6A, 0x6C, 0xC9, 0xF1, 0x14, 0xDE, 0x05, 0x3D, 0xEF, 0x91, 0xB1, 0xA9, - 0xDA, 0x23, 0x36, 0xE2, 0x65, 0x04, 0xAE, 0x96, 0x78, 0x7A, 0xCD, 0xF5, 0x74, 0xBA, 0x01, 0x82, - 0xCF, 0x3A, 0x3A, 0xF7, 0x0D, 0xEF, 0x2D, 0x15, 0xA0, 0xEE, 0x81, 0xB9, 0x1D, 0x29, 0xFB, 0x11, - 0x31, 0x9C, 0x62, 0x09, 0xFE, 0xB4, 0x85, 0xBD, 0x98, 0xF5, 0xA2, 0x9A, 0xD2, 0x44, 0x59, 0x7C, - 0x8D, 0x7E, 0x3C, 0xB5, 0x26, 0x63, 0x8A, 0xB2, 0x5D, 0x79, 0xEB, 0xD3, 0xDD, 0x23, 0x31, 0x1B, - 0x86, 0xB6, 0xFF, 0xBE, 0xF7, 0xAC, 0x94, 0xAC, 0x6E, 0x85, 0x24, 0x1C, 0x48, 0x7F, 0xF8, 0x47, - 0xA4, 0xA5, 0xCE, 0x9C, 0x80, 0x3B, 0x74, 0x4C, 0x52, 0x35, 0xA8, 0x90, 0xBE, 0x87, 0xF6, 0xBF, - 0x40, 0xC2, 0x4D, 0x78, 0x50, 0xE5, 0x7A, 0x42, 0xED, 0xE2, 0xC0, 0xF8, 0x72, 0xCC, 0x71, 0xF4, - 0xC6, 0xB2, 0xBB, 0xFE, 0xA9, 0x83, 0xE5, 0xDD, 0x23, 0x89, 0x65, 0x5D, 0x91, 0x60, 0x3E, 0x58, - 0xC3, 0xAA, 0xA6, 0xFB, 0xC0, 0x79, 0x76, 0x4E, 0x9E, 0xB1, 0xE0, 0xD8, 0x47, 0x18, 0x90, 0x20, - 0x08, 0x46, 0x81, 0x30, 0x11, 0xB6, 0x68, 0x50, 0x2E, 0x2A, 0xCB, 0xF3, 0x88, 0x75, 0x32, 0x4D, - 0x1B, 0x0F, 0xDB, 0x23, 0x1B, 0x8B, 0x5F, 0x67, 0x96, 0x03, 0x5A, 0x62, 0x0C, 0x3D, 0xFE, 0x05, - 0x13, 0x8F, 0x53, 0x2B, 0x1C, 0xEA, 0x39, 0x01, 0x9D, 0xE4, 0xB6, 0x8E, 0xE3, 0xD0, 0xFC, 0xE8, - 0x98, 0x67, 0x30, 0xA0, 0x9F, 0x47, 0x17, 0x2F, 0xD2, 0x07, 0x1A, 0x22, 0xF9, 0xE3, 0xD5, 0xDB, - 0xD9, 0x6B, 0x7D, 0xE1, 0x3D, 0x5B, 0xA9, 0x91, 0xA3, 0xBB, 0xD7, 0xEF, 0x27, 0x9A, 0x72, 0xA2, - 0xD1, 0xEB, 0xF5, 0xE9, 0x9D, 0x73, 0x21, 0x19, 0xA5, 0xFF, 0x95, 0xAD, 0x69, 0xEF, 0x49, 0xD7, - 0x0A, 0x06, 0xC3, 0x32, 0xE7, 0xB8, 0x90, 0xA8, 0xA4, 0x45, 0x2E, 0x16, 0xB5, 0xA0, 0xDA, 0x98, - 0xAA, 0x75, 0x10, 0x92, 0x20, 0x13, 0xFC, 0xC4, 0xBE, 0xA3, 0xD2, 0xEA, 0x81, 0x64, 0x2A, 0x5C, - 0x48, 0x42, 0xC5, 0x70, 0xBD, 0xD3, 0xA1, 0x99, 0x8E, 0x0A, 0x4B, 0x73, 0x2C, 0xBD, 0x5E, 0x85, - 0xCA, 0x22, 0x27, 0xF2, 0x84, 0x7F, 0x34, 0x0C, 0x7A, 0x95, 0x20, 0x18, 0x55, 0x2A, 0xB0, 0x12, - 0xF6, 0xE0, 0xD9, 0xCE, 0xE5, 0x8C, 0xA6, 0x9E, 0xA1, 0x54, 0x3A, 0x02, 0xEA, 0xC1, 0xE4, 0xF9, - 0x09, 0x4E, 0x88, 0x31, 0x5B, 0xC9, 0x5D, 0x65, 0xA9, 0xE6, 0x80, 0xB8, 0x29, 0xED, 0x0B, 0xD5, - 0x6A, 0x51, 0xF4, 0x52, 0x8C, 0x76, 0x35, 0x0D, 0x80, 0xFC, 0xB3, 0x8B, 0x94, 0x30, 0x6B, 0x08, - 0x4A, 0x02, 0x87, 0x72, 0xB3, 0xAA, 0xD6, 0xEE, 0x57, 0x24, 0xBC, 0x84, 0xF8, 0xF3, 0xC4, 0xCB, - 0x4D, 0x5A, 0xD8, 0x75, 0x90, 0x2F, 0x70, 0x48, 0x6A, 0x2E, 0x8B, 0xB3, 0xD7, 0x14, 0x0C, 0x2C, - 0xE0, 0x8F, 0xC1, 0x3B, 0x76, 0x38, 0xE7, 0xC5, 0x43, 0x0D, 0x02, 0x5B, 0x82, 0x75, 0xCC, 0xA3, - 0x91, 0x42, 0x0C, 0x87, 0x0F, 0x41, 0x40, 0x1B, 0x02, 0x4C, 0x4F, 0x57, 0x3C, 0x69, 0x72, 0x01, - 0x97, 0x00, 0x4E, 0xC3, 0x7A, 0x34, 0x7B, 0x55, 0x0A, 0x44, 0xC7, 0xD7, 0xB4, 0x41, 0xFA, 0xA1, - 0x96, 0xBB, 0xF5, 0x79, 0x35, 0x7B, 0xE8, 0x89, 0xD1, 0x9F, 0xF1, 0x3A, 0x05, 0x8A, 0x4B, 0xDB, - 0xAC, 0x75, 0x3B, 0x8D, 0x8D, 0xC3, 0xA2, 0x7B, 0x18, 0x56, 0x94, 0x96, 0xE3, 0x4B, 0xAD, 0xFC, - 0x1C, 0x5E, 0x10, 0x16, 0xE0, 0xAE, 0x00, 0xB4, 0xD3, 0x9D, 0xB3, 0x7A, 0xFD, 0x84, 0xB3, 0x2D, - 0xA4, 0xCF, 0x81, 0x3F, 0xA8, 0xE6, 0xCC, 0x30, 0xC0, 0x8E, 0xE9, 0x33, 0xCA, 0xB9, 0x84, 0x27, - 0xAF, 0x23, 0x6D, 0xD8, 0x45, 0x0B, 0xCE, 0xDF, 0xC8, 0x86, 0x61, 0xB3, 0xAC, 0xD8, 0xE2, 0x20, - 0x9B, 0x15, 0x5B, 0xDA, 0x78, 0x36, 0x39, 0x15, 0xD2, 0x9C, 0xBA, 0x72, 0xC8, 0xFB, 0x86, 0x67, - 0xB2, 0x26, 0x68, 0xC0, 0xA5, 0xEB, 0x59, 0xA8, 0xB1, 0xFF, 0xC6, 0x6D, 0xA0, 0x44, 0xEE, 0xB0, - 0x65, 0x29, 0x67, 0x18, 0x66, 0x28, 0xF6, 0xC4, 0x91, 0xDF, 0xB5, 0x3E, 0x43, 0x98, 0x0D, 0x8F, - 0x58, 0x1E, 0x50, 0x12, 0x81, 0xCF, 0x3E, 0xEB, 0x96, 0xD8, 0xEA, 0x66, 0xE5, 0x1D, 0xAB, 0xAC, - 0x8C, 0x47, 0x09, 0x9F, 0xF1, 0xBF, 0x18, 0xBD, 0x71, 0x3F, 0x22, 0x49, 0x69, 0x21, 0x27, 0x1C, - 0xBC, 0xDE, 0x90, 0x36, 0x28, 0x66, 0x6C, 0x10, 0x93, 0xDD, 0xF7, 0x7E, 0x34, 0xE1, 0x7A, 0x81, - 0x48, 0xB5, 0xFB, 0xA9, 0xBF, 0xF1, 0x82, 0x69, 0x11, 0x5F, 0x15, 0x1E, 0xA1, 0x4D, 0xEF, 0xB8, - 0x93, 0xAF, 0xE1, 0x68, 0x54, 0x1A, 0xD6, 0xD6, 0x2D, 0x63, 0xEB, 0xDC, 0x33, 0xBE, 0x7D, 0xD9, - 0x37, 0x80, 0xCE, 0xE3, 0xF8, 0xB6, 0x99, 0x35, 0xF9, 0xB7, 0x0A, 0xE9, 0x84, 0x23, 0xCA, 0xF3, - 0x2F, 0x91, 0xDF, 0xEA, 0x85, 0xCB, 0x2A, 0xFB, 0xDA, 0x94, 0x32, 0xF2, 0xC3, 0x38, 0x8D, 0xAF, - 0xF0, 0x24, 0x6A, 0x80, 0x93, 0xDD, 0x6D, 0xAA, 0xED, 0xA3, 0x0F, 0xF8, 0xB9, 0xD4, 0xF7, 0x39, - 0x26, 0x90, 0xDE, 0xE2, 0x04, 0x4A, 0x83, 0xD3, 0x19, 0x57, 0x9D, 0x9E, 0x5C, 0x5E, 0x12, 0x56, - 0xAE, 0x98, 0xD6, 0x62, 0xF7, 0xB9, 0x4E, 0xED, 0xE9, 0xA7, 0x1B, 0xE8, 0xCD, 0xE6, 0x83, 0x7F, - 0x9C, 0xEC, 0xA2, 0x24, 0xC1, 0x8F, 0x7A, 0xEF, 0xE0, 0xAE, 0x9A, 0x60, 0x3E, 0x2B, 0x70, 0x41, - 0x79, 0x97, 0xD9, 0xBA, 0xFE, 0xB0, 0xCF, 0x65, 0x25, 0x6B, 0x63, 0x5C, 0x72, 0xF3, 0x3C, 0xD5, - 0xA3, 0x36, 0x78, 0xC1, 0x20, 0x6E, 0xE4, 0x90, 0x2E, 0x60, 0xA0, 0x94, 0xFB, 0xD2, 0xB5, 0x7D, - 0x5C, 0xB1, 0xFF, 0xB9, 0xEA, 0xA4, 0xCA, 0x74, 0x5D, 0x13, 0xCD, 0x8A, 0x01, 0x9E, 0x4F, 0xCB, - 0x60, 0x3D, 0x73, 0x09, 0x12, 0x5C, 0xC4, 0x82, 0x7F, 0x31, 0xFC, 0x99, 0xE1, 0x09, 0xAF, 0xBC, - 0xDF, 0x55, 0x1B, 0xDE, 0x59, 0x17, 0x43, 0x4E, 0x9B, 0xD5, 0x7F, 0xFE, 0xEF, 0xD7, 0xA1, 0x6C, - 0x11, 0xF0, 0xBE, 0xB5, 0xF5, 0xBB, 0x0C, 0xAD, 0x1D, 0x53, 0x89, 0x8E, 0x70, 0xB1, 0x3E, 0x95, - 0x4A, 0x58, 0x16, 0x46, 0x2F, 0x61, 0x33, 0x48, 0x01, 0x4F, 0x04, 0x1F, 0x3B, 0x36, 0x75, 0x59, - 0x92, 0x14, 0x5A, 0xD2, 0xBC, 0xF2, 0xC9, 0x21, 0x14, 0x5A, 0x08, 0x06, 0xB8, 0xDD, 0xF6, 0x31, - 0xAA, 0x37, 0x79, 0xC9, 0xD1, 0x9F, 0x6B, 0xEE, 0xEA, 0xA4, 0x50, 0xA0, 0x10, 0x86, 0x5E, 0xC2, - 0x6F, 0x7E, 0x30, 0x45, 0xB6, 0xF8, 0x03, 0xE1, 0x56, 0x18, 0x0E, 0x42, 0x1F, 0x51, 0x51, 0x1A, - 0xFA, 0x73, 0x3D, 0xDD, 0xBA, 0xF4, 0x9F, 0x71, 0x05, 0x4B, 0x10, 0x0F, 0x32, 0xB7, 0x7C, 0xD1, - 0xC2, 0x50, 0x1E, 0xC6, 0x02, 0x4C, 0xD5, 0x83, 0x69, 0x27, 0xBB, 0xC8, 0xC7, 0x2C, 0x89, 0xBF, - 0x78, 0x2C, 0x62, 0x00, 0x2E, 0x60, 0x3A, 0x40, 0xC2, 0x8C, 0xAB, 0x73, 0x61, 0xA9, 0x2F, 0x9C, - 0x29, 0xD3, 0x9D, 0xAE, 0x09, 0x47, 0x16, 0x4B, 0xA8, 0xE6, 0x56, 0xE4, 0xE9, 0x81, 0xA7, 0x3C, - 0x1E, 0xB3, 0xFD, 0xF9, 0x0A, 0x44, 0x5D, 0x03, 0x80, 0xCE, 0xAD, 0x37, 0x1C, 0x1A, 0x52, 0x52, - 0xB8, 0x71, 0x3F, 0x9D, 0x92, 0xDC, 0x64, 0xA2, 0x99, 0xD7, 0x3D, 0xBE, 0x03, 0xDC, 0x4D, 0x8B, - 0x52, 0x49, 0x07, 0x4F, 0x2B, 0x65, 0x27, 0x58, 0x74, 0x3A, 0x3F, 0x51, 0xFC, 0x8D, 0xB2, 0x25, - 0xA7, 0x99, 0xD7, 0x6A, 0x65, 0x2B, 0xBD, 0x8C, 0x9A, 0xD4, 0x76, 0xF6, 0x51, 0xCB, 0x1F, 0xCE, - 0x2E, 0x2A, 0x64, 0x50, 0x7B, 0x35, 0x72, 0x5D, 0x8A, 0xC4, 0x67, 0xF7, 0xED, 0x95, 0xA3, 0x2C, - 0x77, 0x6F, 0x21, 0x4C, 0x5D, 0x13, 0x57, 0x5E, 0xBA, 0xF4, 0x05, 0xA5, 0xE7, 0x5F, 0xA9, 0xEC, - 0x85, 0x46, 0x08, 0x97, 0xA9, 0xE7, 0xC5, 0x38, 0xE4, 0xAA, 0x8E, 0x70, 0xD9, 0xE3, 0x97, 0x6E, - 0x7D, 0x38, 0x76, 0x11, 0xE4, 0xAA, 0x14, 0xA4, 0x63, 0x2D, 0x71, 0x08, 0x0B, 0x54, 0x45, 0x0B, - 0xF8, 0x9E, 0xD0, 0x32, 0xC6, 0x88, 0x25, 0xB7, 0x6F, 0x21, 0xED, 0x98, 0xB2, 0x17, 0xFC, 0xF1, - 0x3C, 0x6C, 0x22, 0x04, 0x48, 0x06, 0x5B, 0x47, 0x24, 0x6A, 0x6A, 0x54, 0x74, 0xA5, 0x3A, 0x85, - 0xF9, 0x25, 0x6B, 0x88, 0x1B, 0x55, 0x45, 0x0A, 0x39, 0x77, 0xEE, 0xCD, 0xDB, 0xA1, 0x95, 0x2E, - 0xD3, 0x40, 0x0E, 0xC7, 0x08, 0x46, 0x1F, 0x43, 0x92, 0xDC, 0xFE, 0x76, 0x6D, 0x35, 0x23, 0x0C, - 0xA8, 0xDA, 0x94, 0x26, 0x19, 0x57, 0x07, 0x4A, 0xC7, 0x89, 0xB6, 0x6B, 0x39, 0x74, 0x77, 0x19, - 0x13, 0x1D, 0x53, 0x5A, 0xE2, 0xAC, 0x42, 0xF4, 0xA6, 0xE8, 0x88, 0x34, 0x4A, 0x19, 0x04, 0x07, - 0x46, 0x4D, 0x03, 0x5F, 0x95, 0xDB, 0x3B, 0xFA, 0x9C, 0xD2, 0x20, 0xA6, 0xC9, 0xF2, 0x87, 0x6F, - 0x7C, 0x83, 0xCD, 0xAB, 0x41, 0x0F, 0xDA, 0xCF, 0xB4, 0xFA, 0xDB, 0x75, 0x30, 0xF5, 0x7E, 0x91, - 0x66, 0x7F, 0x31, 0x4D, 0x6E, 0x20, 0x7E, 0x44, 0x58, 0x16, 0xD0, 0x92, 0x06, 0xC1, 0x48, 0x93, - 0xBF, 0x88, 0xC6, 0x63, 0xEB, 0xA5, 0xC3, 0x7C, 0x98, 0xD6, 0x34, 0xB6, 0x7C, 0x2D, 0x32, 0x05, - 0x0B, 0x0C, 0x42, 0x53, 0xAD, 0xE3, 0xD1, 0x28, 0xE5, 0xAB, 0x87, 0x78, 0x8B, 0xF4, 0xC5, 0x2B, - 0xFF, 0x67, 0x29, 0xCC, 0x5B, 0x15, 0x01, 0x0E, 0xD4, 0x9A, 0xEC, 0x22, 0xA2, 0x06, 0xEC, 0xF0, - 0x80, 0x52, 0x1C, 0x86, 0xCB, 0x85, 0xB0, 0x2F, 0x82, 0xCC, 0xEF, 0x77, 0x1A, 0x4C, 0x54, 0x02, - 0xC8, 0x07, 0x49, 0x9B, 0x0E, 0x40, 0x49, 0x13, 0xB8, 0xF6, 0x47, 0xE5, 0x17, 0xD9, 0x59, 0x9A, - 0x53, 0xF2, 0xBC, 0xF5, 0xC5, 0x8B, 0x6E, 0xFF, 0x33, 0x7D, 0x24, 0x0D, 0x79, 0x30, 0x37, 0x1D, - 0xE2, 0x62, 0x2C, 0xD4, 0x96, 0xD8, 0x70, 0xB2, 0xF0, 0xBE, 0x8B, 0x61, 0xBD, 0xC0, 0xF3, 0x29, - 0xFD, 0x8A, 0xC4, 0x23, 0x64, 0x2A, 0xB4, 0x84, 0x26, 0x68, 0x28, 0x14, 0xF9, 0x90, 0xB7, 0x3D, - 0x8F, 0x11, 0x5F, 0xCA, 0xC0, 0x8E, 0x73, 0xE7, 0xFE, 0xB0, 0x55, 0xB1, 0xEE, 0xDE, 0xA0, 0x64, - 0xA6, 0x22, 0x6C, 0xD0, 0x4E, 0x00, 0x0D, 0x17, 0x9E, 0xD0, 0x62, 0xE6, 0x87, 0x68, 0xC9, 0xBB, - 0x5A, 0xF3, 0xBD, 0xFD, 0xA6, 0xE8, 0x12, 0xE0, 0x8C, 0xC2, 0x31, 0xA7, 0x9B, 0xE5, 0xD5, 0x2A, - 0xB6, 0x6D, 0x03, 0x74, 0x92, 0x15, 0x5F, 0x9D, 0x48, 0x25, 0xB5, 0x77, 0x03, 0x43, 0x98, 0x81, - 0x54, 0x5A, 0xD6, 0x96, 0x0F, 0xD5, 0x02, 0xC0, 0x78, 0x8C, 0x2C, 0xEE, 0xAE, 0x9A, 0xEC, 0x58, - 0x08, 0xCF, 0x1F, 0xCA, 0xCA, 0x4A, 0x58, 0x9A, 0x67, 0x7B, 0xC4, 0x06, 0xC5, 0x3F, 0x22, 0xFD, - 0x34, 0x0D, 0xE1, 0xF6, 0xAB, 0xB9, 0xCA, 0x08, 0xBC, 0xBA, 0xDE, 0x1C, 0x7A, 0xD4, 0x76, 0x16, - 0x94, 0x7E, 0x32, 0x56, 0xA3, 0xB0, 0xCB, 0x09, 0x46, 0xD3, 0x4D, 0x8F, 0xBB, 0xCE, 0xAD, 0x0C, - 0xF7, 0x61, 0x4E, 0x35, 0x74, 0x0F, 0xA3, 0x61, 0x6F, 0xC9, 0x7E, 0xBC, 0x06, 0x13, 0xCD, 0xD1, - 0xB3, 0x75, 0x1E, 0x71, 0xBF, 0xE9, 0x8E, 0x4C, 0xAC, 0x01, 0x75, 0xB7, 0xF8, 0xEA, 0xCA, 0x28, - 0xB4, 0x2D, 0x41, 0x76, 0x9C, 0x6C, 0x28, 0xEA, 0x91, 0x0B, 0x42, 0x80, 0xD7, 0x0D, 0x02, 0xCF, - 0xF6, 0x69, 0x47, 0x34, 0x3E, 0x70, 0x96, 0x54, 0xE8, 0x05, 0x35, 0xF7, 0xA7, 0x8B, 0xF4, 0x49, - 0x3D, 0x85, 0x60, 0xFF, 0xEF, 0xBF, 0x88, 0x4A, 0x58, 0x9E, 0x1E, 0xDC, 0x68, 0xE6, 0x56, 0x24, - 0xED, 0xA0, 0x95, 0x2F, 0x33, 0x2C, 0xC7, 0x05, 0x5B, 0xCB, 0x48, 0x8A, 0xCC, 0x2E, 0x3A, 0xEC, - 0xE5, 0x20, 0x1D, 0x27, 0x34, 0x4D, 0xA1, 0x63, 0x50, 0x2C, 0xA4, 0x66, 0x23, 0xC3, 0x38, 0x01, - 0x27, 0x44, 0xBB, 0xE5, 0x12, 0x9D, 0x57, 0x95, 0x65, 0x94, 0x29, 0xEB, 0x08, 0x64, 0xB4, 0xA6, - 0x66, 0x48, 0xF6, 0xA4, 0xB0, 0x81, 0xE9, 0x2B, 0x14, 0x28, 0xE4, 0x26, 0xD6, 0x1D, 0x13, 0xDF, - 0xF4, 0x29, 0x05, 0x36, 0xC8, 0x7E, 0x6E, 0xAC, 0x62, 0x6A, 0xD0, 0x12, 0x9A, 0x5E, 0x1C, 0x9C, - 0x2F, 0xC4, 0x33, 0xED, 0xB2, 0xB5, 0xDF, 0x1D, 0x63, 0xD0, 0x6B, 0xA9, 0x46, 0x11, 0x8F, 0xD3, - 0x31, 0x15, 0xFC, 0xF3, 0x22, 0x29, 0xD3, 0x11, 0x66, 0xC1, 0x7F, 0xBD, 0x32, 0xD7, 0x3D, 0x15, - 0x24, 0x0C, 0xF0, 0xE6, 0x4A, 0xC2, 0x50, 0x92, 0xBE, 0x55, 0x33, 0xF1, 0x5B, 0x44, 0xC7, 0x86, - 0x73, 0x51, 0xFA, 0xB1, 0x09, 0xA5, 0x74, 0xB6, 0x9B, 0x56, 0x15, 0xD7, 0xF2, 0xDD, 0xF7, 0x1F, - 0xCF, 0xB3, 0xA4, 0x0D, 0xD1, 0x72, 0x7B, 0xB9, 0x5E, 0xDA, 0x5C, 0x9E, 0xFD, 0xBA, 0x9F, 0x78, - 0x5A, 0x8A, 0x08, 0x98, 0xAF, 0xFD, 0x8A, 0x48, 0x94, 0x1A, 0x56, 0x94, 0x91, 0x79, 0x30, 0xBB, - 0x78, 0x99, 0x39, 0xBA, 0xD8, 0x6A, 0x6A, 0xA8, 0xA8, 0xAA, 0xDA, 0x18, 0x67, 0x81, 0x3E, 0x43, - 0x38, 0x9D, 0x7D, 0xFA, 0x86, 0x45, 0x1B, 0xD9, 0xE5, 0xA6, 0x9B, 0x59, 0xBE, 0x9E, 0xF8, 0x5C, - 0xBE, 0xED, 0x8B, 0x7C, 0x7F, 0x23, 0x84, 0x46, 0x2B, 0xCD, 0x3E, 0xFC, 0x5D, 0x32, 0xB7, 0xF0, - 0xC5, 0x73, 0x6E, 0x07, 0x52, 0xDF, 0x55, 0x97, 0x68, 0x37, 0x87, 0x45, 0xFC, 0xAA, 0x8E, 0x68, - 0xCC, 0xFB, 0xEF, 0x0E, 0x6C, 0x12, 0xA6, 0x64, 0x5A, 0x71, 0xF3, 0x31, 0xFE, 0x9C, 0xBA, 0x5E, - 0x0B, 0x87, 0x54, 0xC9, 0x6E, 0x26, 0x90, 0x52, 0x57, 0xD2, 0x5D, 0x9F, 0x83, 0x4B, 0x10, 0x89, - 0x00, 0x4F, 0x97, 0xC2, 0xC6, 0x07, 0x19, 0xDB, 0x8D, 0xA9, 0xFC, 0x3E, 0x76, 0x95, 0x3B, 0x57, - 0xFF, 0xE1, 0xC6, 0x3D, 0xBC, 0xCC, 0xA8, 0x6A, 0xDB, 0xF9, 0xFA, 0x38, 0xE8, 0xEE, 0xDE, 0x2C, - 0xDC, 0xFA, 0xFE, 0x1E, 0xE0, 0xD7, 0xEF, 0x2D, 0xC3, 0xF0, 0xEB, 0x29, 0x26, 0x93, 0x6D, 0x51, - 0x3C, 0x8D, 0x69, 0xFE, 0x45, 0xAA, 0x37, 0xF5, 0xD2, 0xF1, 0xFB, 0x39, 0xC0, 0x6F, 0x77, 0xAD, - 0xC8, 0xEB, 0xFB, 0x0A, 0x2A, 0x20, 0xD2, 0x10, 0x04, 0x93, 0x4F, 0x8D, 0xB9, 0xF8, 0x99, 0x3A, - 0x01, 0x47, 0x9E, 0xC3, 0x96, 0x51, 0x1F, 0xDD, 0xC8, 0x17, 0x07, 0xC5, 0x54, 0x23, 0xAF, 0xE1, - 0x4A, 0x8B, 0x19, 0x88, 0xE2, 0xE3, 0xD9, 0x1B, 0x0C, 0x21, 0xF5, 0x37, 0xA4, 0xAD, 0xD1, 0x6F, - 0xB7, 0x65, 0x0A, 0x75, 0x1F, 0xC1, 0x06, 0xC4, 0x27, 0xD4, 0x2B, 0xE9, 0x50, 0x63, 0xEB, 0xA1, - 0x1C, 0xDE, 0x1A, 0xDE, 0x3D, 0x55, 0xB0, 0x72, 0x0D, 0x9B, 0x4E, 0x8C, 0x19, 0x70, 0xB1, 0xB2, - 0x9F, 0xB6, 0xF1, 0x5D, 0xFF, 0xAB, 0x8C, 0x4E, 0x83, 0x5F, 0x04, 0xC6, 0x4D, 0x36, 0xA3, 0xF4, - 0xAF, 0xE4, 0x93, 0x6D, 0x3F, 0x61, 0x86, 0x44, 0xDA, 0x43, 0x41, 0x83, 0x4E, 0x10, 0x86, 0xD2, - 0x46, 0x1B, 0x85, 0x84, 0x18, 0xA0, 0x60, 0xA2, 0x89, 0x02, 0x53, 0x91, 0xB7, 0x8F, 0xE0, 0x4D, - 0xC1, 0x63, 0x7A, 0x03, 0x7D, 0x17, 0xB2, 0x70, 0x71, 0x84, 0x2D, 0xEF, 0x2B, 0xC2, 0x31, 0x00, - 0xBC, 0xAD, 0xC9, 0x7E, 0x98, 0x28, 0x68, 0xAA, 0x4C, 0x8E, 0x1A, 0xD8, 0xB1, 0xF9, 0x90, 0x3B, - 0xA5, 0x24, 0x59, 0x67, 0x41, 0xEE, 0x77, 0xB5, 0xEA, 0xEA, 0xD8, 0x1A, 0x10, 0x61, 0xA9, 0xA3, - 0xBF, 0xE5, 0x82, 0x7D, 0xDD, 0x3F, 0x3A, 0xF8, 0x53, 0x79, 0xF2, 0x30, 0x9F, 0x0E, 0x49, 0xCC, - 0x51, 0x42, 0xCB, 0x93, 0x36, 0x79, 0x97, 0x55, 0xA6, 0x5C, 0x22, 0xE0, 0x4B, 0x40, 0xD3, 0x82, - 0x4C, 0xDB, 0x4F, 0x8E, 0xAC, 0xD8, 0xAC, 0x6E, 0x36, 0xD5, 0x3B, 0xF9, 0x90, 0x69, 0x21, 0xAB, - 0x20, 0x1C, 0xE4, 0xE2, 0xC2, 0x43, 0x59, 0x9B, 0x0E, 0xCE, 0x18, 0xDA, 0x62, 0xD1, 0x6B, 0x13, - 0x8D, 0xF7, 0xA2, 0x4F, 0x2F, 0x75, 0x82, 0x40, 0xDD, 0xBD, 0xB8, 0x7A, 0x58, 0x62, 0xE2, 0xA0, - 0xE7, 0x60, 0x5F, 0x25, 0x8F, 0x5D, 0x0A, 0xC8, 0x8C, 0x13, 0x47, 0x85, 0x53, 0x45, 0xCE, 0x87, - 0xDB, 0xA2, 0xA1, 0x19, 0x77, 0x2A, 0x85, 0x47, 0x7B, 0xD9, 0x7A, 0xB8, 0xF4, 0xAB, 0x87, 0x69, - 0x03, 0x07, 0xDC, 0xC1, 0x2E, 0x64, 0x92, 0x50, 0x09, 0x30, 0xE1, 0x23, 0x97, 0x0F, 0x40, 0xCD, - 0xA9, 0xB4, 0xC5, 0x6B, 0x39, 0x11, 0xF0, 0x32, 0xAE, 0xEE, 0x98, 0x5A, 0xF3, 0xCD, 0xE6, 0x0F, - 0xBB, 0xF5, 0x96, 0x79, 0xA8, 0x9C, 0xEC, 0x2E, 0x52, 0xC3, 0x49, 0x8B, 0x04, 0x25, 0xF9, 0xE7, - 0x9D, 0xF6, 0xB3, 0x5F, 0x89, 0x2D, 0x7C, 0xBE, 0x3C, 0x88, 0x6C, 0xAE, 0x00, 0x65, 0xBD, 0xA7, - 0xA7, 0x64, 0x1B, 0x65, 0x11, 0xB8, 0x71, 0xB3, 0x74, 0x95, 0x39, 0xFB, 0x3C, 0xA0, 0x44, 0x62, - 0xD5, 0x72, 0x7F, 0x17, 0x3A, 0x34, 0xD6, 0x14, 0x16, 0xC7, 0x09, 0xCB, 0xA1, 0xFD, 0x84, 0x3F, - 0x16, 0x1E, 0xD0, 0xD4, 0x0E, 0xC4, 0x12, 0xD0, 0xA7, 0xE6, 0x99, 0x5B, 0xEC, 0xAE, 0x9A, 0x6C, - 0xBD, 0xA5, 0xC0, 0x7F, 0x16, 0xD9, 0x17, 0xD5, 0x4B, 0x70, 0xE3, 0x21, 0x6F, 0x80, 0x37, 0x42, - 0x7D, 0x81, 0x24, 0xBF, 0x80, 0x35, 0x6D, 0xAF, 0x92, 0x5E, 0x14, 0xD6, 0x57, 0x05, 0x8A, 0xC7, - 0xF1, 0x31, 0x18, 0x33, 0xE3, 0xF2, 0xC9, 0x0B, 0x0B, 0xDF, 0x0C, 0xCE, 0x1D, 0x30, 0xF5, 0xF2, - 0xC0, 0x6B, 0x73, 0x02, 0x38, 0x00, 0xE0, 0x22, 0xFF, 0x40, 0x67, 0xA5, 0x3B, 0xC6, 0x25, 0x04, - 0x83, 0x27, 0x7C, 0x41, 0x14, 0xED, 0x21, 0xE3, 0xE7, 0x49, 0x76, 0xB4, 0xE7, 0x89, 0xB6, 0x4B, - 0xE2, 0x78, 0x42, 0x20, 0x0A, 0x80, 0x52, 0x90, 0x5C, 0x35, 0xB1, 0x73, 0x59, 0x72, 0xF3, 0xB0, - 0x91, 0x66, 0x2F, 0x53, 0x82, 0x01, 0x5B, 0x99, 0x88, 0xB8, 0xE8, 0x2A, 0xDC, 0x2A, 0x2E, 0xE8, - 0xB9, 0xB5, 0xD4, 0x7B, 0x7C, 0x06, 0xA2, 0x60, 0xB2, 0x4C, 0x26, 0xE4, 0xE9, 0xFE, 0xCF, 0x3C, - 0x11, 0x63, 0x40, 0x5D, 0xA1, 0x82, 0xB7, 0x39, 0x39, 0x1A, 0xB6, 0x83, 0xD0, 0x98, 0xF3, 0x67, - 0x2B, 0xAD, 0x8E, 0xA9, 0x75, 0x56, 0x56, 0x0C, 0x11, 0x32, 0x4D, 0x50, 0x29, 0x9F, 0x0A, 0x99, - 0x7E, 0xFD, 0xDE, 0xAC, 0x02, 0x21, 0x2F, 0x02, 0x2B, 0x08, 0xE5, 0xC2, 0xAA, 0x74, 0x89, 0xF1, - 0xC5, 0x3A, 0x19, 0xD0, 0xF9, 0xDA, 0x6A, 0xBC, 0x4A, 0x69, 0xDB, 0x9D, 0xD9, 0x19, 0xFA, 0xEF, - 0x92, 0x87, 0xA4, 0x3A, 0xBB, 0x98, 0x6C, 0xF8, 0x59, 0x7A, 0x81, 0xD4, 0x42, 0x6B, 0x61, 0x06, - 0x66, 0xEC, 0xCF, 0xA5, 0x4D, 0x6E, 0xBC, 0xDE, 0x68, 0x4B, 0xEA, 0x8E, 0x6B, 0x99, 0x48, 0xDD, - 0xD2, 0x68, 0x4B, 0x95, 0x0B, 0x28, 0xAE, 0x8A, 0x15, 0x36, 0x59, 0x40, 0x9C, 0x40, 0xBF, 0xF3, - 0x0B, 0x9F, 0xBC, 0xBB, 0x8E, 0xAD, 0x13, 0xB2, 0xD5, 0xF6, 0xBD, 0x64, 0xE6, 0xAC, 0xC5, 0x65, - 0x8F, 0x82, 0xA1, 0x22, 0x76, 0x55, 0x1D, 0x44, 0x7D, 0x5E, 0xE6, 0x97, 0x5D, 0xAD, 0x7E, 0xDF, - 0x3E, 0x12, 0x31, 0x03, 0x25, 0x06, 0x03, 0x09, 0xBE, 0x9D, 0x49, 0xFB, 0x99, 0x5D, 0xBA, 0xEB, - 0xA5, 0xE7, 0xC4, 0x6D, 0xEE, 0xCD, 0x24, 0xE5, 0x35, 0x16, 0x2A, 0x13, 0xF7, 0xB4, 0xD4, 0x6C, - 0xED, 0xB2, 0x91, 0x70, 0x2B, 0x08, 0xDD, 0xD9, 0x0F, 0x2C, 0x82, 0x81, 0xFA, 0x21, 0xD9, 0xF4, - 0x37, 0x13, 0x30, 0x0B, 0x46, 0x65, 0x7F, 0x16, 0x01, 0x22, 0x5C, 0x51, 0x7B, 0x88, 0x58, 0xDC, - 0xCB, 0xC2, 0xE1, 0x26, 0xAE, 0x8D, 0x60, 0xE1, 0x13, 0x30, 0x0F, 0x10, 0x67, 0x05, 0x44, 0x4D, - 0xE2, 0xF1, 0xD2, 0x3C, 0x20, 0x03, 0x1E, 0x11, 0x73, 0x50, 0x38, 0x47, 0x0E, 0xB3, 0x2D, 0x92, - 0x90, 0x6A, 0x49, 0xD5, 0x84, 0xA7, 0xD9, 0x72, 0xAB, 0x88, 0x45, 0xE2, 0x19, 0xFD, 0x3A, 0xCB, - 0x44, 0x33, 0x10, 0x58, 0xE9, 0xCA, 0x7B, 0xBD, 0x25, 0x06, 0x3B, 0x12, 0x09, 0xEC, 0x2A, 0xCA, - 0x15, 0xCC, 0xEF, 0xF6, 0xCE, 0xED, 0x57, 0xB6, 0x4F, 0x6C, 0xC6, 0x85, 0x81, 0xC4, 0xA2, 0x6A, - 0xAF, 0xB0, 0x93, 0x30, 0xE2, 0xC1, 0xB8, 0x75, 0xE4, 0xC7, 0xD6, 0x3E, 0x27, 0x41, 0x04, 0x49, - 0x97, 0x93, 0xB0, 0x2B, 0x5A, 0x79, 0xF2, 0x87, 0x88, 0xAB, 0x7D, 0xF9, 0xD2, 0xDA, 0xF1, 0x27, - 0xCA, 0x79, 0x5A, 0x9C, 0x85, 0xA6, 0xD0, 0x7A, 0x17, 0x34, 0x1B, 0x00, 0xB1, 0xA6, 0x92, 0x38, - 0x3F, 0xA9, 0x8A, 0xB9, 0xCB, 0xE8, 0x4A, 0xAE, 0xF9, 0xDA, 0x52, 0xA7, 0x1C, 0xE0, 0x3F, 0xD3, - 0xD5, 0x91, 0xB2, 0x6B, 0x72, 0x51, 0x09, 0x54, 0x14, 0x37, 0x50, 0x48, 0xE3, 0xB1, 0xC0, 0x7D, - 0x73, 0x53, 0x70, 0x0F, 0xEA, 0xC9, 0x30, 0xF5, 0x0D, 0x2E, 0xC0, 0xC1, 0xFC, 0x77, 0xDF, 0xA4, - 0x10, 0xD8, 0xFB, 0xE7, 0x04, 0x27, 0x79, 0x52, 0xEE, 0xCD, 0x1C, 0xFE, 0xEB, 0x39, 0xC8, 0xFD, - 0xE8, 0xA6, 0x85, 0x61, 0x49, 0x6A, 0xA8, 0xCE, 0x69, 0x4A, 0xE3, 0x86, 0x39, 0x8E, 0x1A, 0x98, - 0x1A, 0x8F, 0xAC, 0xBA, 0xBD, 0x9E, 0x3A, 0xA8, 0x37, 0x14, 0x68, 0x53, 0x07, 0x32, 0x24, 0x1A, - 0x43, 0xCA, 0xE9, 0xA6, 0x9B, 0xB8, 0x1F, 0xAB, 0x07, 0x24, 0x0A, 0x01, 0x0D, 0xF8, 0x2E, 0xDA, - 0xBE, 0xA0, 0x83, 0x31, 0xE8, 0xCB, 0x72, 0xB5, 0x1F, 0x3C, 0x93, 0x80, 0x8D, 0x58, 0xAE, 0xFA, - 0x94, 0xC5, 0xE6, 0x7E, 0xFB, 0xD8, 0x28, 0xFC, 0xB4, 0x97, 0x83, 0x3B, 0x3B, 0xCC, 0x18, 0xD8, - 0x51, 0x8C, 0xAF, 0xF2, 0xA8, 0x8B, 0x36, 0xB1, 0xA9, 0x8A, 0x07, 0xA2, 0x94, 0xC8, 0xB7, 0x73, - 0x95, 0x7E, 0x5D, 0xC4, 0x26, 0x05, 0x48, 0x41, 0xE2, 0xC1, 0x80, 0x6E, 0x52, 0x7A, 0x71, 0x07, - 0x4B, 0x70, 0x53, 0x14, 0xE4, 0xC7, 0xEE, 0x25, 0x94, 0xB7, 0xF0, 0x68, 0xBC, 0x33, 0x9F, 0xA0, - 0x9D, 0xC4, 0xE7, 0x76, 0x73, 0x50, 0x00, 0x5C, 0x60, 0x43, 0x62, 0x0E, 0x59, 0xB9, 0x7A, 0xCF, - 0x42, 0x71, 0x52, 0x1C, 0x65, 0x46, 0x47, 0x0D, 0x57, 0x74, 0x5F, 0x04, 0x23, 0x55, 0x00, 0x59, - 0x5A, 0x60, 0x43, 0x15, 0x18, 0x3B, 0xF4, 0xC3, 0x74, 0x57, 0x67, 0x1F, 0x64, 0x4E, 0x47, 0x05, - 0xCE, 0xD6, 0xF5, 0x37, 0xC0, 0xE3, 0x89, 0x66, 0xA3, 0x80, 0xCD, 0x62, 0x1B, 0xBF, 0x38, 0x8B, - 0x14, 0x77, 0x54, 0x4C, 0x1E, 0x3D, 0xA2, 0x93, 0xA8, 0x8B, 0x0E, 0xAA, 0x92, 0x9E, 0xB1, 0x23, - 0xF1, 0x0C, 0x2F, 0xD2, 0x21, 0x02, 0x17, 0x19, 0x6D, 0x4E, 0xF7, 0x96, 0xDE, 0x46, 0xFD, 0xB7, - 0xC3, 0x78, 0x5B, 0x94, 0x17, 0x34, 0x23, 0x1B, 0x64, 0x47, 0x76, 0x1E, 0x2D, 0x8B, 0x0E, 0x89, - 0x7C, 0x10, 0x33, 0x43, 0x15, 0x36, 0x61, 0x5B, 0x90, 0xB3, 0xE4, 0x78, 0x90, 0xDC, 0xB3, 0x63, - 0xB2, 0xB5, 0x96, 0x28, 0xB9, 0x9A, 0x2E, 0xB8, 0x16, 0x35, 0x12, 0x08, 0x0F, 0xBA, 0x2C, 0x9A, - 0x0D, 0xDD, 0xFE, 0xFF, 0xF2, 0xD1, 0xA9, 0x74, 0xF2, 0xD1, 0x91, 0x6F, 0x01, 0x64, 0x22, 0x4A, - 0x31, 0x51, 0x72, 0x4F, 0x0A, 0x29, 0xA7, 0x82, 0xD0, 0xF3, 0xA0, 0x7C, 0xE1, 0xF3, 0xC2, 0x3D, - 0x02, 0x9E, 0xBD, 0xB3, 0x56, 0x75, 0x6E, 0x17, 0xDB, 0xF8, 0x63, 0xB4, 0xFF, 0x3C, 0xDC, 0xEC, - 0xC7, 0xD7, 0xF4, 0x3F, 0x31, 0x12, 0x06, 0x18, 0x67, 0x44, 0x3D, 0x56, 0xF0, 0xEB, 0xD3, 0x34, - 0xFF, 0xF4, 0xD7, 0x24, 0x5C, 0x7F, 0xA4, 0xD7, 0x99, 0xBA, 0x65, 0xF0, 0x58, 0xB0, 0x7B, 0xC7, - 0x27, 0xB8, 0x9B, 0xB0, 0xCF, 0xEC, 0x5E, 0xBE, 0x8C, 0xAF, 0x69, 0xE9, 0xDB, 0x5B, 0xF8, 0xAF, - 0xFB, 0x5B, 0x78, 0x8F, 0xD5, 0xF6, 0x85, 0x7F, 0x5C, 0x7F, 0x9C, 0xCC, 0xE5, 0xE7, 0xC6, 0x2D, - 0xFA, 0xE0, 0xC3, 0x35, 0x9A, 0xB9, 0x16, 0xA3, 0x87, 0xA4, 0xAA, 0x21, 0x54, 0x2C, 0x77, 0x57, - 0xFC, 0xA2, 0x81, 0x71, 0xEF, 0xCC, 0x2D, 0xED, 0x8F, 0xAC, 0x22, 0xA1, 0xDC, 0x04, 0xFF, 0xF7, - 0x8D, 0x6F, 0x4C, 0xCD, 0x96, 0xB5, 0x8A, 0x33, 0xCE, 0xED, 0x6F, 0xAD, 0x62, 0x18, 0x41, 0x55, - 0xC2, 0xC3, 0xE0, 0x2E, 0xA5, 0x86, 0xA3, 0x29, 0x45, 0x66, 0x0C, 0x45, 0x4C, 0xB5, 0x6F, 0xD6, - 0xC9, 0x2F, 0x0C, 0xC9, 0x48, 0x6B, 0xA1, 0xC6, 0x4D, 0x6E, 0x84, 0xC5, 0x2A, 0xD4, 0x09, 0xD1, - 0x71, 0xBE, 0x9D, 0xE0, 0x00, 0x23, 0x6D, 0x42, 0x5E, 0x7D, 0xDE, 0x8C, 0x1D, 0xE9, 0x3E, 0xDB, - 0xC1, 0x95, 0xB6, 0x7B, 0x6D, 0x4E, 0xCF, 0x8D, 0x95, 0xB6, 0xF9, 0x60, 0x03, 0x26, 0x20, 0x0A, - 0x35, 0xFE, 0xDD, 0xE4, 0x61, 0x42, 0x53, 0x1D, 0x1B, 0x38, 0x87, 0x90, 0x05, 0x70, 0x26, 0x5A, - 0x08, 0xC9, 0xEA, 0xEE, 0x86, 0xA5, 0x9B, 0x32, 0x1C, 0x3F, 0xD8, 0xC8, 0xA3, 0xF5, 0x80, 0x79, - 0xDF, 0xC6, 0xE5, 0x36, 0x45, 0x66, 0x34, 0x5E, 0x3C, 0x1F, 0xAB, 0x9B, 0x40, 0x29, 0x63, 0x46, - 0xF6, 0xF5, 0xD6, 0x2C, 0x98, 0xBB, 0x54, 0xE3, 0x5F, 0x7C, 0xD7, 0x84, 0x28, 0x96, 0x0B, 0x91, - 0xFE, 0x4F, 0x6C, 0x9E, 0xB4, 0x97, 0xBB, 0x20, 0xA0, 0x83, 0x86, 0x2A, 0xD3, 0xD3, 0xF0, 0x2F, - 0x25, 0x55, 0x76, 0x5F, 0x5F, 0x7C, 0xEF, 0x9F, 0x9C, 0xBF, 0x78, 0xE8, 0x41, 0x20, 0x62, 0x4E, - 0xD1, 0x3E, 0x1D, 0xC0, 0xC8, 0xEB, 0x01, 0xE6, 0x1E, 0x3D, 0x9A, 0x88, 0xD4, 0x8C, 0xF7, 0x77, - 0xE1, 0xA7, 0x84, 0x69, 0x11, 0x32, 0x75, 0x4B, 0xFC, 0xDF, 0x4F, 0xBF, 0x89, 0x4C, 0xAA, 0xEA, - 0xBE, 0x46, 0x41, 0x46, 0x45, 0x17, 0xEB, 0x10, 0x39, 0xE8, 0x68, 0x3E, 0x7C, 0x4A, 0x8F, 0x88, - 0x89, 0x93, 0xA3, 0xA4, 0x85, 0x4A, 0x76, 0x4D, 0xA0, 0xD8, 0xC1, 0xA7, 0x08, 0xE7, 0x56, 0x51, - 0xE9, 0x71, 0x21, 0x26, 0x29, 0xDF, 0x4F, 0xD8, 0xCB, 0x2C, 0x5E, 0xCC, 0xE6, 0x9E, 0xC1, 0xC6, - 0x2B, 0x8F, 0x1D, 0x1A, 0xDA, 0x4D, 0x2E, 0x4A, 0xD1, 0xF7, 0x9F, 0xD6, 0xB2, 0x21, 0x2A, 0x2D, - 0x85, 0xDE, 0xE2, 0xE5, 0x9F, 0xB6, 0x90, 0xB1, 0x6B, 0xFF, 0x2D, 0x6C, 0x5D, 0xE2, 0x06, 0x01, - 0x9A, 0xA2, 0x81, 0x86, 0x20, 0xDE, 0x47, 0xD9, 0x58, 0xD6, 0x37, 0x5F, 0x3D, 0x5F, 0xDB, 0xDC, - 0xC9, 0xD1, 0xA1, 0xA6, 0xFC, 0x3D, 0x78, 0x3A, 0x57, 0x01, 0xEF, 0x50, 0x92, 0x33, 0x18, 0x1F, - 0x91, 0x8E, 0xA6, 0xA1, 0x79, 0x9B, 0x5B, 0x9C, 0x60, 0x3C, 0xE5, 0x67, 0x5A, 0x1C, 0xFF, 0xF8, - 0x61, 0xF0, 0x28, 0x2F, 0x2F, 0x9D, 0x0B, 0x9A, 0x0B, 0xC8, 0x7A, 0x0C, 0xC6, 0x8C, 0xF3, 0xF4, - 0x8D, 0xD7, 0xE3, 0xE4, 0xE0, 0x83, 0xDA, 0x84, 0x20, 0x78, 0xE1, 0x27, 0x64, 0x43, 0x9E, 0x99, - 0xC4, 0x8D, 0xF0, 0xF7, 0xDD, 0xB4, 0xD0, 0xB3, 0xB1, 0xC0, 0xC8, 0xB6, 0xA8, 0xC7, 0xD6, 0xD1, - 0x44, 0x05, 0xF8, 0xFF, 0xBC, 0xD2, 0xD7, 0xD5, 0x5D, 0xCB, 0x2F, 0x5A, 0xAA, 0x28, 0x3B, 0x3C, - 0xAC, 0x66, 0x73, 0x74, 0x11, 0xFC, 0x54, 0xFB, 0xF1, 0x84, 0xCC, 0xF6, 0x83, 0x32, 0x08, 0x0F, - 0xA0, 0x2B, 0x32, 0x35, 0x0D, 0x42, 0xF6, 0x45, 0x3C, 0xF5, 0x70, 0x3B, 0x24, 0xEC, 0x71, 0x76, - 0x20, 0xA3, 0x3A, 0x3D, 0x25, 0xCA, 0x56, 0xCD, 0x7E, 0xF3, 0x34, 0x79, 0x1F, 0xA2, 0x04, 0x03, - 0xCD, 0x95, 0xE1, 0xE6, 0xEE, 0x7B, 0x2C, 0x7C, 0xC5, 0xF2, 0x8E, 0xC2, 0x8C, 0x7E, 0x4B, 0x4C, - 0xE8, 0x60, 0x31, 0x36, 0x52, 0x45, 0xAE, 0x42, 0x26, 0x2E, 0xB1, 0x21, 0x57, 0xBF, 0x51, 0x56, - 0xF1, 0x6C, 0x24, 0x23, 0xB9, 0xC6, 0xC6, 0xC1, 0x6A, 0xF6, 0x25, 0x6D, 0xAD, 0xD6, 0xC2, 0xC5, - 0x57, 0x34, 0xDA, 0xDD, 0xE2, 0x6E, 0x35, 0x69, 0x49, 0xCE, 0x3E, 0x4E, 0x0F, 0x19, 0xAF, 0xA8, - 0xB5, 0x6A, 0x66, 0x61, 0x35, 0x61, 0xED, 0x66, 0x00, 0x0B, 0xB2, 0x07, 0x67, 0x16, 0xC8, 0xCF, - 0x7D, 0xA9, 0x6D, 0x6A, 0xFA, 0x7F, 0x3C, 0x78, 0xCF, 0x38, 0x4E, 0xC8, 0xAE, 0x83, 0x94, 0x93, - 0x6E, 0x98, 0x4F, 0x48, 0x6D, 0x9F, 0x4B, 0x98, 0x43, 0x04, 0xFE, 0x44, 0xA0, 0x75, 0x6C, 0x6B, - 0x09, 0x1B, 0xAB, 0xAC, 0xB3, 0x91, 0x9B, 0x96, 0x2B, 0xBB, 0x29, 0x2C, 0x27, 0xB9, 0x27, 0x20, - 0x79, 0xED, 0x2D, 0x2A, 0xD5, 0x0E, 0x62, 0x09, 0x8E, 0x75, 0x42, 0x89, 0x68, 0x5A, 0x8B, 0x8C, - 0x1F, 0x7F, 0xD9, 0xDE, 0x82, 0xB3, 0x88, 0xB4, 0xE6, 0xCA, 0x95, 0xE1, 0x2A, 0x1A, 0x89, 0x8E, - 0x97, 0xFE, 0xD0, 0xD7, 0x4F, 0x40, 0xB6, 0x47, 0x92, 0xF8, 0xD3, 0x95, 0x1E, 0x18, 0xBF, 0xB8, - 0xAB, 0x07, 0x15, 0x12, 0x97, 0x0C, 0x22, 0x0B, 0xE9, 0x1D, 0x4D, 0xEE, 0xAB, 0x92, 0x80, 0x87, - 0x63, 0xC4, 0x1E, 0x19, 0xB6, 0x85, 0x8A, 0x82, 0x48, 0xC7, 0x36, 0x4F, 0x80, 0x67, 0x5E, 0x59, - 0x1E, 0x6E, 0xC9, 0xCE, 0x47, 0xFA, 0x04, 0xFD, 0xFE, 0x53, 0x14, 0xF9, 0xFD, 0xC2, 0x86, 0x81, - 0x05, 0x56, 0xEA, 0xED, 0x5C, 0xBD, 0x58, 0xBA, 0xEF, 0x4B, 0x1D, 0xE8, 0x4E, 0x0C, 0xFB, 0xFC, - 0x0F, 0x6B, 0xDD, 0xDA, 0xB0, 0xC7, 0xCE, 0xC0, 0x5A, 0x94, 0x77, 0x5D, 0x09, 0x5D, 0xED, 0xEA, - 0x69, 0xF9, 0x29, 0x2E, 0x3A, 0x22, 0xA1, 0x25, 0xEE, 0x42, 0x15, 0xE9, 0xE7, 0x24, 0x7A, 0x7D, - 0x6F, 0x89, 0x5F, 0x58, 0x73, 0xCC, 0x06, 0xCB, 0xE0, 0x9C, 0xC5, 0xE7, 0x41, 0x40, 0xB8, 0xBF, - 0xA3, 0x0E, 0x14, 0x13, 0xC1, 0x0A, 0x72, 0x0D, 0x12, 0x58, 0xF3, 0x15, 0x3F, 0xB0, 0x36, 0x31, - 0x3A, 0x8A, 0x09, 0x0E, 0xC5, 0xA5, 0xD9, 0xA2, 0x5B, 0x9D, 0x7F, 0x5C, 0x21, 0xFD, 0x65, 0x62, - 0x81, 0x9A, 0xA2, 0xA5, 0x51, 0x13, 0xFB, 0x14, 0x3E, 0xB7, 0x30, 0x39, 0x7B, 0xB4, 0x76, 0x71, - 0x00, 0x03, 0xBA, 0xBD, 0xF1, 0x93, 0xDB, 0x94, 0x54, 0x4A, 0xA7, 0x53, 0x16, 0xAA, 0x05, 0x02, - 0x52, 0x61, 0x8A, 0x8D, 0x3B, 0x99, 0x1B, 0x9E, 0x11, 0x13, 0xBB, 0x16, 0x33, 0xA9, 0x23, 0x24, - 0x87, 0xEA, 0xD4, 0xD3, 0x87, 0xA7, 0x99, 0xA0, 0x38, 0xE1, 0x60, 0x3F, 0xA1, 0xCF, 0xD7, 0xD0, - 0xFF, 0x15, 0x53, 0x54, 0x30, 0x75, 0xFC, 0x72, 0x46, 0x19, 0xE6, 0x41, 0x70, 0x53, 0x9A, 0x9D, - 0xC0, 0xC9, 0xB0, 0xB7, 0x7E, 0x62, 0xA5, 0x65, 0xCD, 0x7A, 0x0E, 0xCA, 0x39, 0xF4, 0x74, 0x73, - 0x49, 0x59, 0xA9, 0xAE, 0xB8, 0x7D, 0x7C, 0x7A, 0x0F, 0xDC, 0x6A, 0x08, 0x00, 0x55, 0xEC, 0xEB, - 0xA6, 0x5B, 0x44, 0x43, 0xE9, 0x82, 0xD2, 0x85, 0x37, 0x36, 0xB8, 0x30, 0x43, 0xAF, 0x55, 0x52, - 0x01, 0x12, 0xAA, 0xAD, 0xAF, 0x2F, 0x39, 0x28, 0xE7, 0xC3, 0x9D, 0xE0, 0xD9, 0x7B, 0x1B, 0x1C, - 0xF8, 0x74, 0x35, 0x32, 0xD3, 0x4C, 0x26, 0x4B, 0x0D, 0x9E, 0x2A, 0x0A, 0xFB, 0x86, 0xC4, 0xC3, - 0x3F, 0xDF, 0x59, 0x5E, 0x48, 0xB9, 0x48, 0xBE, 0x2E, 0xA6, 0x31, 0x29, 0xB1, 0x74, 0x7C, 0x7B, - 0x84, 0xCF, 0xF2, 0xF5, 0xCD, 0x1F, 0x6B, 0x18, 0x52, 0x1C, 0xF7, 0x55, 0x5E, 0xB7, 0x50, 0x57, - 0x13, 0x32, 0x98, 0x9F, 0xE5, 0x97, 0xCB, 0x90, 0xAD, 0x4D, 0x59, 0xAA, 0x72, 0xBC, 0x77, 0x70, - 0xE3, 0x4C, 0x16, 0x11, 0xF4, 0x87, 0xCA, 0x80, 0xF4, 0x99, 0xD4, 0xF3, 0xD0, 0x73, 0x1A, 0x1D, - 0x46, 0x31, 0xCE, 0xC9, 0xBA, 0x90, 0x93, 0x97, 0x6F, 0xEB, 0x3D, 0x68, 0x17, 0x10, 0xBE, 0xB9, - 0x11, 0x06, 0xAE, 0xA9, 0x0C, 0xF9, 0x4C, 0xFE, 0x5C, 0xC2, 0x27, 0x5B, 0x69, 0xE0, 0x30, 0x37, - 0x50, 0x55, 0xBC, 0xBB, 0x81, 0xE5, 0xDD, 0xE2, 0x8D, 0x3E, 0x0A, 0x8A, 0x76, 0x17, 0xD8, 0xDF, - 0x80, 0x8B, 0xB2, 0xB5, 0x28, 0x64, 0xF5, 0x63, 0x2C, 0xE4, 0x71, 0x2B, 0xD4, 0xD8, 0xB5, 0xB2, - 0x12, 0x23, 0x88, 0x8F, 0xBD, 0x69, 0x6D, 0x6E, 0x79, 0xAC, 0x6C, 0x7E, 0x2D, 0xE4, 0x70, 0x77, - 0xFA, 0x40, 0x03, 0x04, 0x54, 0x07, 0xEA, 0x00, 0x8C, 0x37, 0x02, 0x8B, 0x0A, 0x08, 0xBB, 0xBC, - 0x96, 0xEF, 0xC0, 0xC7, 0xA4, 0xC3, 0xDE, 0xC4, 0x1C, 0x86, 0x23, 0x1B, 0x14, 0x45, 0xE8, 0xEF, - 0x65, 0xB4, 0x68, 0x6F, 0xA5, 0x78, 0x64, 0x7F, 0x01, 0x02, 0xBA, 0x06, 0x1A, 0xB3, 0x10, 0x17, - 0x41, 0x50, 0xA8, 0xAF, 0x49, 0x02, 0xF2, 0x05, 0xF6, 0xDB, 0x94, 0xF1, 0xA7, 0x8B, 0x95, 0x92, - 0x8F, 0xE3, 0xD5, 0xD2, 0x90, 0xF5, 0xDC, 0xF2, 0x72, 0x6F, 0xA4, 0x75, 0xB5, 0xDF, 0xD3, 0xD4, - 0xD5, 0x88, 0xE4, 0xE3, 0x62, 0xDC, 0x07, 0xDB, 0x19, 0x9B, 0x3B, 0x1E, 0x65, 0xF9, 0x25, 0x22, - 0x9C, 0xD2, 0xF7, 0xF0, 0x10, 0x47, 0xEE, 0x40, 0xA4, 0xCC, 0xD1, 0xA3, 0x63, 0xBD, 0x67, 0x60, - 0xC3, 0xEC, 0x96, 0x91, 0x7D, 0x34, 0xF0, 0x33, 0x63, 0x77, 0xAD, 0x64, 0x26, 0x03, 0x9C, 0x9B, - 0x51, 0x44, 0xAC, 0xAB, 0x96, 0xB7, 0x98, 0xB0, 0x33, 0x22, 0xA8, 0x34, 0x5F, 0x0D, 0xEB, 0xEC, - 0x82, 0xBF, 0x84, 0x83, 0x91, 0x4E, 0x66, 0x49, 0xFD, 0x18, 0x5C, 0xFA, 0xBE, 0x38, 0x3F, 0x38, - 0xA7, 0x32, 0xE7, 0xA3, 0xE4, 0x53, 0xC5, 0x17, 0x26, 0xDF, 0x8B, 0x62, 0x1E, 0xAC, 0xC0, 0x84, - 0x7F, 0xE5, 0xE8, 0xAC, 0xBA, 0xEF, 0x27, 0xAB, 0x41, 0xB7, 0x84, 0x05, 0xDB, 0x20, 0x89, 0xCD, - 0x3C, 0x82, 0xCC, 0x88, 0xB0, 0xB8, 0x7A, 0xFC, 0xD8, 0x87, 0x2D, 0x9C, 0xFE, 0x23, 0xAF, 0xEB, - 0x54, 0x69, 0x4F, 0x0B, 0xBC, 0xAD, 0x63, 0xE9, 0x4B, 0x7D, 0x44, 0x0F, 0x26, 0xB7, 0xE3, 0xA7, - 0x09, 0x63, 0x18, 0x5C, 0xCB, 0x22, 0x9B, 0x66, 0xAE, 0xF7, 0x2B, 0xEA, 0x6B, 0xBB, 0xA2, 0xE6, - 0xF0, 0x05, 0x87, 0xC3, 0x3D, 0xA4, 0xEB, 0xE0, 0x02, 0xB8, 0xC8, 0x46, 0xA5, 0xD0, 0x07, 0x43, - 0xAE, 0x2A, 0xF6, 0xB2, 0x79, 0xE4, 0xEF, 0xA0, 0x1D, 0x7E, 0x11, 0x59, 0xE8, 0xDC, 0x46, 0x02, - 0xD9, 0xBD, 0x16, 0x52, 0x48, 0xC6, 0xFC, 0x82, 0xE5, 0x70, 0xE7, 0xA1, 0xD4, 0x6C, 0xCA, 0x8E, - 0xB0, 0x47, 0x85, 0xC1, 0xD7, 0x9C, 0x39, 0xD8, 0x09, 0x7B, 0x00, 0x4D, 0xCD, 0xDF, 0x60, 0x24, - 0x18, 0x66, 0x0C, 0x48, 0x14, 0x97, 0xF1, 0xD3, 0xD7, 0x50, 0xF5, 0x93, 0x17, 0xA4, 0xC1, 0x85, - 0x1A, 0x52, 0x3A, 0x7E, 0xAF, 0x50, 0x8D, 0x14, 0x00, 0xFA, 0x88, 0x44, 0x1A, 0x07, 0x6F, 0x2B, - 0x24, 0x9F, 0xC9, 0x8D, 0x2E, 0x59, 0x05, 0x1D, 0x36, 0xCE, 0x8A, 0x72, 0x28, 0x41, 0x1B, 0x5F, - 0x5C, 0x60, 0x4E, 0x0A, 0xBB, 0x54, 0x9D, 0x10, 0x64, 0xD9, 0xCF, 0x20, 0x44, 0xE5, 0xD3, 0x97, - 0x33, 0xEA, 0xAB, 0xEF, 0x29, 0xA0, 0xFB, 0xE4, 0xF3, 0x37, 0xB6, 0xB7, 0x92, 0x87, 0x67, 0x23, - 0x96, 0x97, 0x73, 0x37, 0xBE, 0x40, 0x8C, 0x04, 0x0F, 0x2D, 0x50, 0x4B, 0x83, 0x86, 0x77, 0x33, - 0xCA, 0x8C, 0x34, 0x70, 0x86, 0x63, 0x97, 0x27, 0x72, 0x9E, 0x9E, 0x36, 0x9B, 0x8F, 0x66, 0x22, - 0xDD, 0xF9, 0x56, 0x12, 0xA1, 0xA8, 0x7B, 0xEC, 0x48, 0x36, 0x0C, 0x0C, 0xFC, 0xCC, 0x42, 0x06, - 0xBC, 0x0A, 0xC4, 0x80, 0x5F, 0x94, 0xB9, 0xD0, 0xA3, 0x62, 0xB3, 0xE7, 0x27, 0x0D, 0x58, 0x1C, - 0x79, 0x95, 0x9E, 0xDA, 0x96, 0xC8, 0x2C, 0x8C, 0x06, 0xAC, 0xD8, 0x42, 0x38, 0xFA, 0xB0, 0xF4, - 0xE4, 0x55, 0xC3, 0x87, 0x43, 0x2A, 0x1B, 0x6E, 0xDF, 0xD8, 0x75, 0x9B, 0x08, 0x53, 0x29, 0x6D, - 0xEA, 0x2C, 0xB4, 0xF0, 0x01, 0x28, 0x5B, 0x6C, 0x91, 0x42, 0xA1, 0xD5, 0xD1, 0x7D, 0xDE, 0x9A, - 0xC9, 0xA9, 0x12, 0x56, 0x5E, 0x2F, 0x03, 0x6B, 0x76, 0x8A, 0x8E, 0x32, 0xEC, 0x77, 0xE9, 0xAD, - 0x02, 0x4F, 0x3F, 0x7B, 0x0E, 0x6B, 0x17, 0x2F, 0x8F, 0x8D, 0x70, 0xCB, 0x2F, 0xBF, 0xE2, 0xA6, - 0xD5, 0xF0, 0x57, 0x13, 0x72, 0x08, 0x08, 0x4C, 0x52, 0xED, 0xCD, 0x16, 0x06, 0xA5, 0xD1, 0x95, - 0x42, 0x0D, 0x3D, 0x79, 0x5D, 0x79, 0x56, 0x3D, 0x5F, 0x78, 0x55, 0x1B, 0x10, 0x5A, 0x38, 0x7C, - 0x45, 0x6C, 0x5B, 0x1F, 0xD5, 0x71, 0xD6, 0x35, 0xB2, 0x7A, 0xBA, 0xF6, 0x1B, 0xBD, 0xD4, 0x90, - 0x99, 0xFF, 0x14, 0x50, 0x20, 0xA1, 0xF3, 0xE5, 0x7A, 0x16, 0x1E, 0x3E, 0x18, 0xE8, 0x82, 0xC6, - 0x48, 0x30, 0x0A, 0x4E, 0x07, 0x6A, 0x1F, 0x2E, 0x17, 0xB4, 0xD1, 0x53, 0xA8, 0x73, 0xA9, 0xED, - 0xC4, 0xF5, 0x43, 0x07, 0x73, 0xB3, 0xB2, 0xF7, 0x8D, 0xCF, 0x30, 0xC9, 0x23, 0xA6, 0xF7, 0xB3, - 0xBE, 0x3E, 0xF2, 0xB6, 0x45, 0x68, 0x5F, 0x2C, 0xC2, 0x5C, 0xEC, 0x86, 0x22, 0x1C, 0x4C, 0x08, - 0xC6, 0xC1, 0x75, 0x31, 0xB6, 0xFA, 0x3E, 0xBE, 0x81, 0x53, 0xA0, 0xC5, 0x54, 0x5E, 0x78, 0x3C, - 0x64, 0xDD, 0xCB, 0x8F, 0xFB, 0xBB, 0x32, 0xFF, 0xF8, 0xF4, 0x7E, 0xBC, 0x25, 0xE2, 0xB5, 0xF1, - 0xDE, 0xDC, 0x70, 0x34, 0xD6, 0x27, 0x83, 0x63, 0xB9, 0xB9, 0x72, 0xFD, 0x12, 0xB5, 0xD5, 0x91, - 0x4F, 0x51, 0x6C, 0x28, 0x85, 0x35, 0xC2, 0x71, 0x51, 0xA6, 0x85, 0x15, 0xEE, 0x98, 0x04, 0x40, - 0x58, 0x24, 0x0E, 0x4A, 0x9C, 0x9F, 0x71, 0xDB, 0x93, 0x00, 0xE1, 0xD7, 0x49, 0x46, 0x7D, 0x39, - 0x01, 0x6A, 0x19, 0x5D, 0xE1, 0x47, 0xD4, 0x03, 0x37, 0xC7, 0x82, 0x73, 0x3B, 0xAF, 0xE6, 0xA2, - 0x78, 0x84, 0x8E, 0xCA, 0x90, 0x8A, 0x68, 0xCE, 0x32, 0xDA, 0x9A, 0x76, 0xE7, 0x90, 0x05, 0x41, - 0x4C, 0x74, 0x4A, 0x0E, 0x3F, 0x49, 0x04, 0x0D, 0x61, 0xC4, 0xD7, 0x25, 0x56, 0xB1, 0x95, 0xD1, - 0x67, 0xF8, 0xED, 0xA9, 0x5B, 0x3B, 0x12, 0x7F, 0x3C, 0x04, 0x4A, 0x78, 0x34, 0xE3, 0xA5, 0xE1, - 0xFF, 0x6D, 0xE0, 0xA4, 0xF3, 0x01, 0x80, 0x45, 0xF9, 0xFD, 0x76, 0xBD, 0x7C, 0xFE, 0xF0, 0xB4, - 0x4E, 0x40, 0x7C, 0x38, 0x33, 0x5C, 0x1D, 0x18, 0x5A, 0x65, 0x4D, 0x1E, 0xBF, 0x36, 0xFB, 0xBF, - 0x95, 0xB2, 0x55, 0x11, 0x58, 0x6D, 0x47, 0x29, 0xAC, 0xB5, 0x6B, 0xE8, 0x4B, 0xA9, 0x90, 0xD4, - 0xF6, 0x75, 0xF1, 0xB5, 0x64, 0xE1, 0xF7, 0xA5, 0x99, 0xCA, 0x21, 0xDD, 0xD2, 0x28, 0x88, 0xCC, - 0x60, 0x99, 0x8B, 0xCF, 0x80, 0x21, 0xD3, 0x65, 0x1C, 0x77, 0x19, 0x58, 0x0B, 0x06, 0x7F, 0x3B, - 0x0A, 0x46, 0x3E, 0x7A, 0x94, 0x25, 0xC3, 0x61, 0x62, 0x8F, 0x9F, 0x26, 0xF2, 0x3A, 0xBA, 0xFE, - 0xF4, 0x41, 0xC7, 0x83, 0x6F, 0x0D, 0x10, 0x49, 0xB6, 0x6E, 0xAA, 0xF2, 0xC8, 0xCE, 0x74, 0x30, - 0x7C, 0xC0, 0xCE, 0x8A, 0x02, 0x7E, 0x0E, 0x3A, 0xEE, 0xB3, 0x2F, 0xAA, 0x1C, 0x43, 0x2D, 0x69, - 0x62, 0xAD, 0xBD, 0xF9, 0x3C, 0x1F, 0x51, 0x5B, 0x15, 0xF6, 0x91, 0x51, 0xA7, 0x3F, 0xEA, 0xAE, - 0x4B, 0x15, 0x2C, 0x68, 0x5A, 0x80, 0xA8, 0xC4, 0xEC, 0xF1, 0x6F, 0xA8, 0x4D, 0xED, 0xD2, 0x96, - 0x69, 0x81, 0x9A, 0xDE, 0x4A, 0x2B, 0x13, 0x6F, 0xFF, 0xAB, 0x26, 0xBB, 0x67, 0xA2, 0xB7, 0xF3, - 0x94, 0xA3, 0x45, 0x01, 0x59, 0xD6, 0xFD, 0x92, 0x31, 0x91, 0xD2, 0x75, 0x4C, 0x57, 0x69, 0x2D, - 0xE0, 0x11, 0x83, 0xC7, 0xDE, 0x9D, 0x31, 0xD9, 0xBF, 0xEF, 0x22, 0xFB, 0x88, 0x61, 0x9B, 0xDF, - 0x0B, 0x57, 0x2E, 0x6A, 0x3A, 0x5D, 0x15, 0x19, 0x5E, 0x71, 0x5D, 0x1A, 0x31, 0xF2, 0xB1, 0xF5, - 0x6E, 0xE0, 0xFC, 0xB8, 0xC5, 0xDA, 0x6D, 0x9E, 0x13, 0xA0, 0xC1, 0x57, 0xC9, 0x74, 0xCF, 0x8B, - 0x49, 0x21, 0x1A, 0x5E, 0xD3, 0x33, 0x92, 0x77, 0x8C, 0xC6, 0x38, 0xC8, 0x9A, 0x35, 0xDD, 0x99, - 0x89, 0xEB, 0x10, 0x54, 0xB1, 0x03, 0xC0, 0x47, 0xAA, 0xE3, 0x3B, 0xEE, 0xC3, 0x29, 0x98, 0xDC, - 0x40, 0x39, 0x0B, 0x4F, 0x8B, 0xCD, 0x34, 0x89, 0xDC, 0x93, 0x3D, 0x98, 0xE6, 0x2A, 0xBE, 0xFA, - 0xAB, 0x7F, 0xA6, 0xE2, 0xC2, 0x23, 0x93, 0x67, 0x92, 0x09, 0xE9, 0xD6, 0x13, 0x0F, 0x6E, 0x2A, - 0x37, 0xAE, 0xEB, 0xAF, 0x19, 0x39, 0x52, 0x7D, 0xFD, 0xE9, 0x66, 0xB9, 0xAA, 0x9C, 0x44, 0x00, - 0xEE, 0x68, 0xF4, 0xB0, 0x89, 0x20, 0xDB, 0x64, 0x65, 0xD0, 0xC7, 0x21, 0x0C, 0xF8, 0x86, 0xC2, - 0xF9, 0x1D, 0x96, 0xD2, 0x1F, 0x7B, 0x16, 0x3F, 0xD9, 0x8E, 0x25, 0x9D, 0xCC, 0x65, 0xDB, 0x9F, - 0x59, 0x35, 0x1E, 0x5A, 0xE2, 0x11, 0x81, 0x55, 0xFE, 0xA2, 0x2E, 0xBA, 0x9D, 0xCB, 0x24, 0x60, - 0xB4, 0x03, 0xC5, 0x81, 0xA4, 0xBC, 0x6A, 0xF8, 0x4D, 0x2B, 0x14, 0x09, 0x4E, 0xB8, 0x84, 0xC0, - 0xDA, 0x98, 0x30, 0x74, 0x0F, 0xD0, 0xAD, 0x94, 0xF5, 0x61, 0xE6, 0xB1, 0x76, 0xA3, 0xA7, 0xE3, - 0x9E, 0x11, 0xD9, 0x8B, 0x12, 0x8F, 0xCB, 0xDD, 0x41, 0x28, 0x3F, 0x13, 0xBC, 0x1D, 0xF7, 0xA5, - 0x03, 0xD1, 0x84, 0xD6, 0xC7, 0x6D, 0xFC, 0x3F, 0x98, 0x5C, 0x92, 0xCA, 0x8C, 0xB4, 0x6E, 0x3C, - 0x3A, 0x7D, 0x11, 0x43, 0x25, 0xEF, 0x9C, 0xBD, 0x0F, 0xB2, 0xEB, 0x5D, 0x78, 0x2B, 0x05, 0x57, - 0x5B, 0x8E, 0x83, 0xD1, 0xDB, 0xD3, 0x5E, 0x81, 0xE4, 0xE6, 0x54, 0xB6, 0xA3, 0xEA, 0x1F, 0x4D, - 0xE5, 0xCB, 0x78, 0x2A, 0x8A, 0x2C, 0xF0, 0x7E, 0xC8, 0x09, 0x97, 0x9A, 0xAB, 0x58, 0xA5, 0xF7, - 0x32, 0x74, 0x10, 0x42, 0xF6, 0x4F, 0xEF, 0x1D, 0x15, 0x69, 0x2A, 0x47, 0x82, 0x42, 0x96, 0xC4, - 0x0D, 0xA8, 0xF3, 0xA1, 0x85, 0x6F, 0xBC, 0x3D, 0xD6, 0xC6, 0x46, 0x84, 0x55, 0x9A, 0x99, 0xCB, - 0x2E, 0x2D, 0x55, 0x07, 0xDA, 0x68, 0xE4, 0x3A, 0x31, 0x0E, 0x69, 0x63, 0x68, 0x90, 0xAE, 0xFC, - 0x7E, 0x7B, 0x53, 0x01, 0xA4, 0xE6, 0x14, 0xB4, 0x3D, 0x92, 0xF9, 0x6F, 0x9C, 0x0F, 0xC5, 0x97, - 0xAF, 0xB4, 0x4D, 0x1F, 0x83, 0x2D, 0xF8, 0x7F, 0x50, 0x30, 0x36, 0x02, 0x2C, 0x94, 0xEE, 0xBC, - 0xA5, 0x89, 0x7A, 0x28, 0xD9, 0x3E, 0xB1, 0x6C, 0x18, 0xFC, 0xB2, 0x4A, 0x94, 0xBD, 0x7F, 0x2D, - 0xA2, 0xE8, 0x1C, 0x4E, 0x51, 0x36, 0x31, 0x64, 0xF5, 0xFE, 0x5D, 0xA7, 0x9F, 0x5A, 0x93, 0xC1, - 0x21, 0x45, 0x32, 0x60, 0x32, 0xBD, 0xD9, 0xEF, 0xC6, 0xD7, 0x47, 0x94, 0xD0, 0xB9, 0x3F, 0x6D, - 0x83, 0x59, 0x8C, 0xDE, 0x7F, 0xFC, 0xD5, 0xAE, 0xBF, 0x70, 0x99, 0xED, 0xA1, 0x05, 0xF2, 0xA0, - 0x23, 0x71, 0x04, 0x56, 0xF7, 0xF4, 0x55, 0xA6, 0xCA, 0x4B, 0xD7, 0x98, 0xA7, 0x41, 0xB0, 0xE2, - 0x59, 0xBA, 0xB5, 0xE7, 0xC1, 0x2F, 0xB8, 0x7D, 0x85, 0xD8, 0x0B, 0xD7, 0xA6, 0xFB, 0x0B, 0x59, - 0xDB, 0x06, 0x8B, 0xD9, 0x34, 0xFF, 0x9D, 0xAD, 0x9F, 0x03, 0xCA, 0xCD, 0x7A, 0xC4, 0xE8, 0xBA, - 0xB3, 0xED, 0x08, 0x5A, 0x38, 0xEA, 0x84, 0xB8, 0x0C, 0xF9, 0xA3, 0x5E, 0xA2, 0x50, 0xA4, 0xF6, - 0x40, 0xB6, 0xA0, 0xF2, 0x60, 0x14, 0x22, 0x46, 0x61, 0x5B, 0x6C, 0x33, 0x9A, 0x4B, 0x87, 0xD5, - 0x98, 0x61, 0xAF, 0xFD, 0x3E, 0xA8, 0xC0, 0xFA, 0x06, 0x33, 0x63, 0x54, 0x5F, 0xC7, 0xCE, 0x9C, - 0x49, 0xAE, 0xB1, 0xE3, 0xFD, 0xA3, 0x08, 0xF1, 0x5A, 0xFA, 0xF6, 0x08, 0x6C, 0x3B, 0x01, 0x53, - 0x3E, 0x39, 0x51, 0x03, 0xCC, 0x81, 0x1B, 0xD3, 0xA2, 0xF4, 0x00, 0xF0, 0x50, 0x8B, 0x8D, 0xDF, - 0xEE, 0xE7, 0x5F, 0x0D, 0x4F, 0x65, 0x7C, 0x37, 0xE9, 0x73, 0xCC, 0xBB, 0xEF, 0x5C, 0xE5, 0xB7, - 0x17, 0x81, 0xC0, 0x92, 0xB9, 0xE3, 0x0C, 0xB1, 0x45, 0x3C, 0x2F, 0x17, 0x21, 0x37, 0x40, 0x12, - 0xFD, 0xD6, 0x7D, 0x2F, 0x2B, 0x17, 0x6A, 0x45, 0x47, 0x7E, 0x6F, 0x15, 0x9E, 0xE0, 0x28, 0x7A, - 0xC3, 0x1B, 0x8E, 0xDC, 0xAA, 0x1E, 0xE2, 0x4C, 0x71, 0x4A, 0x6D, 0x23, 0xAC, 0xA6, 0x5C, 0x0E, - 0x57, 0xC3, 0xC2, 0x90, 0x53, 0xDB, 0xDE, 0x89, 0x4E, 0xFF, 0xE7, 0x1C, 0x49, 0x38, 0x27, 0x75, - 0xFF, 0xE2, 0x4B, 0x19, 0x90, 0xD0, 0x16, 0x82, 0x90, 0xD4, 0x12, 0xC2, 0x93, 0x43, 0x86, 0xD4, - 0x71, 0x13, 0x34, 0x66, 0x3A, 0x07, 0x6B, 0x55, 0x48, 0xA9, 0xB7, 0x1A, 0x07, 0x61, 0x30, 0x62, - 0x2D, 0x08, 0x73, 0x21, 0x02, 0x24, 0x70, 0x76, 0x35, 0x1A, 0x79, 0x67, 0x1F, 0x68, 0x21, 0x73, - 0xBB, 0xE4, 0x09, 0x5B, 0x3F, 0x13, 0x7A, 0x41, 0x23, 0x5D, 0x28, 0x71, 0xC0, 0x02, 0x94, 0xC6, - 0xD4, 0x6E, 0xEC, 0xBE, 0xAD, 0xE7, 0x1C, 0xB5, 0xB4, 0xB3, 0x51, 0xE6, 0x16, 0x60, 0x20, 0x72, - 0x73, 0x27, 0x02, 0x50, 0xDD, 0x91, 0x1A, 0xC3, 0x76, 0x15, 0x35, 0x24, 0xC8, 0xB0, 0x2E, 0x7C, - 0x07, 0x95, 0xC4, 0x96, 0x5A, 0xDA, 0xD6, 0x88, 0xF8, 0x6B, 0xC5, 0xAA, 0x0C, 0x86, 0xDC, 0x8E, - 0xAC, 0x91, 0x6B, 0x39, 0xDE, 0xC7, 0x4F, 0x95, 0xAB, 0x75, 0x88, 0xF9, 0xC9, 0x0A, 0x95, 0xC7, - 0x8E, 0x05, 0xDD, 0x8F, 0xCE, 0x6C, 0xF4, 0x3E, 0xB8, 0x2F, 0xC1, 0xEA, 0xE3, 0x45, 0xF0, 0xA2, - 0xAE, 0xA5, 0x5D, 0x0F, 0x57, 0x74, 0x75, 0x26, 0xCB, 0x42, 0xDF, 0x99, 0x1E, 0xD2, 0x9A, 0xC8, - 0x6E, 0x6F, 0x57, 0x05, 0x35, 0x44, 0x27, 0x16, 0xED, 0x67, 0xDC, 0xBF, 0x47, 0xCE, 0xDF, 0x8D, - 0xEC, 0xD3, 0x69, 0x3B, 0xBE, 0x1A, 0xF2, 0x48, 0x19, 0xF5, 0xBA, 0x4B, 0xB5, 0x15, 0xF6, 0xA4, - 0x89, 0x64, 0xBB, 0xE9, 0x41, 0x9D, 0x8A, 0xCF, 0x54, 0x24, 0x26, 0x06, 0x4D, 0x93, 0x88, 0xDA, - 0xD0, 0x2A, 0xAC, 0xFE, 0x9D, 0x7E, 0xB5, 0x2C, 0xBA, 0x6D, 0x81, 0xE8, 0x2E, 0x7B, 0x03, 0x51, - 0x09, 0xEC, 0xB3, 0xE1, 0x0D, 0x67, 0x3C, 0x35, 0x22, 0x54, 0x20, 0x70, 0x88, 0x1F, 0xC1, 0x93, - 0xA7, 0xBD, 0x4C, 0x1E, 0x0F, 0x8A, 0xD3, 0xD8, 0x9B, 0x17, 0xDA, 0xC9, 0x62, 0xCD, 0xF9, 0xAB, - 0x4C, 0xFB, 0xE1, 0xB3, 0x46, 0x64, 0x74, 0x36, 0xD5, 0x8D, 0x0E, 0x87, 0x97, 0xE8, 0x29, 0x7B, - 0x53, 0x87, 0x82, 0xD0, 0x20, 0xFB, 0x8D, 0xA9, 0x0A, 0xAF, 0xF3, 0x58, 0xCA, 0x5F, 0xC3, 0x91, - 0x3D, 0x1C, 0x77, 0x25, 0x8B, 0x97, 0x4A, 0xC5, 0xB2, 0xE5, 0x01, 0xE0, 0xF2, 0x44, 0xE0, 0xB2, - 0x1E, 0x99, 0xD1, 0x83, 0x9B, 0x3C, 0xF1, 0x6E, 0x9E, 0x0A, 0xC2, 0xCC, 0x48, 0x82, 0x9C, 0xCE, - 0xBE, 0xB1, 0x59, 0x0B, 0x66, 0x56, 0x66, 0x04, 0xB9, 0x26, 0xC9, 0xEB, 0x19, 0x2C, 0x63, 0x31, - 0xBF, 0xA0, 0x49, 0x1B, 0x18, 0xD8, 0x96, 0x8A, 0xD4, 0x84, 0x06, 0x86, 0xCD, 0xA1, 0x3A, 0x68, - 0xE6, 0xEE, 0x5E, 0x0C, 0x65, 0x00, 0x33, 0x52, 0x70, 0x43, 0x65, 0x22, 0xBF, 0x48, 0xA1, 0xF3, - 0x39, 0x58, 0x37, 0x65, 0x52, 0x60, 0x64, 0x32, 0xFE, 0x3D, 0x95, 0xAC, 0x96, 0x52, 0x92, 0xC0, - 0xA8, 0xD5, 0x2B, 0x79, 0x01, 0x72, 0x25, 0x20, 0x16, 0x22, 0x62, 0x44, 0x6A, 0x7F, 0x43, 0x11, - 0x80, 0x7C, 0xAA, 0xF8, 0xDF, 0x7C, 0xF5, 0x2E, 0x7B, 0x80, 0xAD, 0x29, 0xB0, 0x04, 0xE2, 0xB0, - 0x18, 0xE9, 0xA7, 0xF5, 0x77, 0x46, 0x67, 0x14, 0xBE, 0x79, 0x91, 0xEC, 0xF8, 0x19, 0xB7, 0xE5, - 0x9F, 0x00, 0xC9, 0x9B, 0x14, 0xCD, 0x8F, 0x9F, 0x75, 0x5E, 0x7D, 0x27, 0x63, 0x77, 0x42, 0x10, - 0xAB, 0xF0, 0x0D, 0x5F, 0xBB, 0x0E, 0xE3, 0x5C, 0x26, 0x40, 0x30, 0x74, 0xD2, 0x56, 0xD2, 0x80, - 0x11, 0xF1, 0xB6, 0xE4, 0xE0, 0xA6, 0x10, 0xF4, 0xDE, 0x4E, 0xC6, 0x8C, 0x56, 0xCF, 0xCF, 0x9D, - 0x87, 0x1D, 0xCC, 0x9E, 0x04, 0x66, 0x34, 0x34, 0x5B, 0xF3, 0xFE, 0x09, 0x8F, 0xE1, 0x38, 0x6A, - 0xA9, 0xC4, 0x3B, 0x69, 0xB7, 0x1B, 0xFA, 0x49, 0x1D, 0xE1, 0xAA, 0x4F, 0x3B, 0xD1, 0xBC, 0xEE, - 0x72, 0x36, 0x12, 0x40, 0xDC, 0x2A, 0xA0, 0x78, 0xEB, 0x31, 0x8C, 0xB9, 0xCF, 0x4E, 0xD7, 0x85, - 0x9B, 0x44, 0x89, 0xDB, 0x86, 0x39, 0xE9, 0x6B, 0xA9, 0x37, 0xC8, 0xFB, 0x98, 0xA4, 0x6A, 0x38, - 0x85, 0x29, 0xFA, 0xA8, 0xB8, 0x58, 0xB6, 0x0A, 0x52, 0x72, 0x76, 0x00, 0x23, 0xD8, 0xAD, 0xFF, - 0xED, 0xC2, 0x79, 0x2B, 0x10, 0x62, 0x24, 0x30, 0x25, 0x0B, 0x78, 0x77, 0x76, 0xDD, 0xFD, 0xAF, - 0x13, 0xC5, 0x80, 0xD2, 0xEB, 0x4A, 0xF7, 0x18, 0xF1, 0xEA, 0x4D, 0xA3, 0x4C, 0x29, 0x33, 0x61, - 0x3F, 0x43, 0x48, 0x87, 0x57, 0x4C, 0x2F, 0x83, 0xF4, 0x1D, 0xDD, 0x3B, 0x20, 0xD7, 0xC3, 0x0C, - 0x0B, 0xB3, 0x8C, 0x43, 0xF8, 0x8F, 0x43, 0x40, 0xA7, 0x03, 0x90, 0x68, 0x91, 0xF6, 0x53, 0x9C, - 0x20, 0x3F, 0x2B, 0xE4, 0x9C, 0xFD, 0x55, 0x32, 0xFA, 0xC3, 0x0D, 0x35, 0xF3, 0xA4, 0x63, 0xAC, - 0xB8, 0xAA, 0x26, 0xE9, 0x34, 0xC7, 0xC7, 0x08, 0x3F, 0x3A, 0x31, 0xF0, 0xBB, 0xB9, 0x36, 0xF9, - 0x99, 0x1B, 0xB6, 0x79, 0x11, 0xE1, 0xC4, 0x2E, 0x7F, 0x7E, 0x35, 0xB0, 0xD5, 0xF2, 0x13, 0xDC, - 0x08, 0x96, 0xAA, 0x65, 0x42, 0xF3, 0x85, 0x3C, 0x97, 0x61, 0xC2, 0x58, 0x29, 0xDF, 0xC2, 0x0D, - 0x1F, 0xE3, 0xC8, 0x07, 0x5B, 0x59, 0x36, 0x96, 0x55, 0xC7, 0xA6, 0x9A, 0x8E, 0x01, 0xBB, 0x74, - 0x46, 0xAD, 0xDF, 0x10, 0x26, 0x81, 0x93, 0x4E, 0xF1, 0x00, 0xC5, 0x3E, 0xFC, 0xE8, 0x20, 0xEF, - 0x4D, 0x81, 0xF8, 0x37, 0x53, 0xE3, 0x84, 0x2C, 0xA4, 0x48, 0xD8, 0x6B, 0x35, 0x7D, 0x7C, 0xB3, - 0xB3, 0x86, 0x01, 0xCE, 0xA8, 0xCB, 0x57, 0x04, 0x70, 0xA9, 0xED, 0xBF, 0x0F, 0x89, 0xB2, 0x7D, - 0x3B, 0x07, 0x08, 0xC7, 0xC5, 0xB8, 0x49, 0x77, 0x28, 0x74, 0x68, 0xE7, 0xDB, 0x04, 0xEB, 0x24, - 0x25, 0x6A, 0x7B, 0xB4, 0xFB, 0xD9, 0x16, 0x16, 0xD3, 0x31, 0xD6, 0x1C, 0x60, 0x78, 0x2C, 0xE3, - 0x09, 0x87, 0xBA, 0x75, 0xF4, 0x9A, 0x5A, 0x55, 0x9C, 0xA2, 0x0A, 0x53, 0x78, 0x71, 0x3D, 0xF2, - 0xD2, 0x75, 0x93, 0x5C, 0x9F, 0xAB, 0x00, 0x64, 0x6A, 0x72, 0x2C, 0xA5, 0x8C, 0xEE, 0x56, 0x99, - 0xB1, 0xB2, 0x37, 0xF8, 0xA3, 0x27, 0xB0, 0xE8, 0x5F, 0x0D, 0x66, 0x90, 0x15, 0x6F, 0x4E, 0x81, - 0x27, 0x5E, 0x4D, 0x82, 0x47, 0xE7, 0x94, 0x28, 0xDA, 0xB0, 0x5E, 0x15, 0xCC, 0x41, 0xB9, 0x76, - 0x4C, 0x90, 0xE8, 0x27, 0xFD, 0x9B, 0x52, 0x54, 0x98, 0xB6, 0x1A, 0x57, 0xF6, 0xB5, 0x77, 0xB8, - 0x29, 0x27, 0x3A, 0xF5, 0x02, 0x1C, 0x2A, 0xD3, 0xD5, 0x67, 0x86, 0x1A, 0x0E, 0x33, 0x09, 0xC6, - 0x0E, 0xE6, 0xDC, 0x13, 0x14, 0xF5, 0xD5, 0x3A, 0x4A, 0x01, 0x7F, 0x85, 0x5D, 0x72, 0x1B, 0xD4, - 0xCE, 0x2C, 0xD6, 0x19, 0x76, 0xC5, 0x87, 0x0A, 0x6C, 0x24, 0x7C, 0xA3, 0x04, 0x6E, 0x5E, 0x91, - 0x0C, 0xD2, 0xEA, 0x25, 0x9D, 0x46, 0xEF, 0x89, 0x2A, 0x36, 0x28, 0xE5, 0x8A, 0xAA, 0x14, 0xDB, - 0x2E, 0x46, 0x5C, 0x93, 0x8D, 0xED, 0x54, 0x22, 0x39, 0x6C, 0x61, 0xF6, 0xA0, 0xE5, 0x71, 0xBE, - 0xD3, 0x64, 0x83, 0x4C, 0x9E, 0x10, 0xBA, 0xDF, 0xF7, 0x56, 0x95, 0x38, 0x8B, 0x10, 0xAF, 0x60, - 0xA7, 0xD6, 0x45, 0x8A, 0x19, 0x5B, 0x76, 0x94, 0x79, 0x28, 0x65, 0xB6, 0x4F, 0x26, 0x5D, 0x92, - 0xBE, 0xDA, 0x50, 0x9F, 0xD8, 0xBD, 0x51, 0x72, 0x1F, 0x49, 0x62, 0xD0, 0x0B, 0x22, 0x1D, 0xD2, - 0x1E, 0xF2, 0xD8, 0x17, 0x25, 0xD7, 0xC6, 0x18, 0x38, 0x65, 0x69, 0xF7, 0x5A, 0x8C, 0xE2, 0x2D, - 0xF3, 0xC4, 0x03, 0xCC, 0x63, 0x7A, 0x2D, 0xB5, 0x8B, 0xEC, 0x53, 0x44, 0x89, 0xFF, 0x42, 0x8D, - 0x9D, 0x5F, 0xF6, 0x39, 0xC8, 0x16, 0xEA, 0xD9, 0x33, 0xA6, 0xA1, 0xFC, 0xB1, 0xE4, 0x61, 0xAE, - 0x07, 0xFE, 0xCD, 0x02, 0x4C, 0x0B, 0x73, 0xC4, 0x1A, 0x54, 0x7A, 0xD5, 0x21, 0x6D, 0x78, 0xB7, - 0xEC, 0xB8, 0x60, 0xAF, 0x05, 0xE5, 0xD4, 0x2A, 0x54, 0xCE, 0xAE, 0x9B, 0xD4, 0x48, 0xA8, 0x67, - 0x70, 0x69, 0x2D, 0xE2, 0xDE, 0xFF, 0x15, 0x30, 0x3B, 0x2E, 0x21, 0xF4, 0x6D, 0xDB, 0x82, 0x4D, - 0xA9, 0xAF, 0x32, 0xFD, 0x4E, 0xE6, 0x9C, 0x29, 0xA3, 0x17, 0x80, 0x6C, 0xCB, 0xBF, 0x40, 0x8F, - 0x4E, 0xA4, 0xDE, 0x11, 0x0C, 0xE4, 0xDC, 0x2B, 0x68, 0x30, 0x6C, 0xA7, 0xAC, 0xFC, 0x64, 0xAB, - 0xB7, 0xC2, 0x41, 0x8E, 0xFA, 0x62, 0xAC, 0xAD, 0xC4, 0x7F, 0x8F, 0x0B, 0x62, 0x97, 0xC1, 0x0E, - 0xE9, 0xED, 0x30, 0xFF, 0xBE, 0x22, 0xA8, 0xED, 0xDB, 0xB9, 0x56, 0x14, 0x2F, 0x9B, 0x80, 0x4F, - 0x9E, 0x7A, 0xD0, 0x1F, 0x8F, 0x00, 0xBB, 0xCF, 0x23, 0xB7, 0xA0, 0xEC, 0x13, 0x2B, 0x0C, 0xC3, - 0xE0, 0xF5, 0x21, 0xEE, 0x23, 0x95, 0x82, 0x5A, 0xE0, 0x18, 0xCC, 0x2F, 0xD9, 0xEB, 0x06, 0xC9, - 0x38, 0x22, 0x2E, 0xE1, 0x7D, 0x29, 0x60, 0xE6, 0x87, 0x70, 0xC3, 0x48, 0x1C, 0x67, 0x4F, 0x80, - 0x7B, 0x45, 0x0A, 0xC5, 0x77, 0x7E, 0x3D, 0xB1, 0x1E, 0x40, 0x6A, 0xD1, 0x39, 0x64, 0x69, 0xA6, - 0x13, 0xAE, 0x89, 0x46, 0x7B, 0x6B, 0x24, 0xA4, 0x8D, 0xBA, 0x03, 0x42, 0xE1, 0xF0, 0x25, 0xEA, - 0x1B, 0xA7, 0x88, 0x47, 0x7C, 0x92, 0xDA, 0x5D, 0xA2, 0x1E, 0x88, 0x6D, 0x83, 0xA2, 0x15, 0xDA, - 0x74, 0x2D, 0x6D, 0xA2, 0xEE, 0x66, 0xBC, 0xA9, 0x35, 0xF0, 0xF1, 0xFA, 0x55, 0xC0, 0xA1, 0x6E, - 0xD1, 0x50, 0xB5, 0x7A, 0x79, 0x86, 0xCB, 0x49, 0xC9, 0xEA, 0x17, 0x06, 0x44, 0xC1, 0xB1, 0x7E, - 0x8D, 0x4B, 0xF2, 0x3D, 0x41, 0xA5, 0xD0, 0x6A, 0xB4, 0x59, 0xD9, 0x7B, 0x5C, 0xC8, 0xA0, 0x6F, - 0xF7, 0x80, 0x43, 0x8C, 0x10, 0x5A, 0x7E, 0x95, 0xCF, 0xBC, 0x47, 0x00, 0x0A, 0x98, 0xA6, 0x69, - 0x5F, 0xA1, 0xCA, 0x05, 0xD3, 0x51, 0xB6, 0x9E, 0x11, 0x97, 0xB2, 0xDE, 0xD0, 0xE3, 0x07, 0xC8, - 0x5D, 0x95, 0xFC, 0x33, 0x68, 0x96, 0xCA, 0x59, 0xC6, 0x3D, 0xCF, 0x09, 0xDD, 0x40, 0xA9, 0x66, - 0x63, 0x58, 0x0F, 0xC0, 0xE9, 0x9F, 0x42, 0x50, 0xF0, 0x09, 0xCD, 0x3F, 0xEF, 0x06, 0xDD, 0x12, - 0xAD, 0xEB, 0x72, 0xBD, 0xC6, 0xEE, 0x1C, 0x21, 0x57, 0x85, 0xE6, 0x98, 0x16, 0x3A, 0x18, 0xD7, - 0x8E, 0x6E, 0xD4, 0x1B, 0x99, 0xE9, 0x44, 0x26, 0xB0, 0x4D, 0xC9, 0x7F, 0x2B, 0x30, 0x2F, 0xE0, - 0x45, 0x88, 0xF9, 0x36, 0xC9, 0xAD, 0x50, 0x62, 0x49, 0x4A, 0x37, 0x86, 0xE8, 0xF8, 0x24, 0xEB, - 0x92, 0x37, 0x91, 0x5E, 0xB5, 0xCE, 0x4F, 0x01, 0x94, 0x2A, 0x8A, 0x5B, 0xC1, 0xE2, 0x17, 0xD8, - 0x9A, 0x3E, 0x90, 0x5F, 0x66, 0x6E, 0x3C, 0xA1, 0x8E, 0xF1, 0x4B, 0x41, 0x3B, 0x8B, 0x84, 0x4B, - 0xFB, 0xCD, 0x02, 0xCD, 0x98, 0x52, 0xFE, 0x9D, 0x65, 0xA5, 0xF4, 0xAA, 0xE0, 0x4A, 0x9E, 0x51, - 0x3E, 0x52, 0x58, 0x97, 0x51, 0x0E, 0x6B, 0xC1, 0xC0, 0x6B, 0x9F, 0x0F, 0xFF, 0xBD, 0x76, 0xB9, - 0xA3, 0x92, 0x05, 0xCA, 0x84, 0xEC, 0x5C, 0x23, 0x19, 0x1F, 0x32, 0xD6, 0xCF, 0x14, 0xEF, 0x20, - 0x83, 0x32, 0x85, 0x4A, 0xB4, 0x75, 0xF5, 0xBA, 0x4B, 0x08, 0x77, 0x84, 0xE4, 0xE1, 0x31, 0xFE, - 0xF9, 0xF9, 0x34, 0xFB, 0x82, 0xAE, 0x18, 0x61, 0x04, 0x9B, 0xAB, 0xCB, 0xE5, 0x5B, 0x8A, 0x45, - 0x81, 0x06, 0xB3, 0x7C, 0x71, 0x3C, 0x79, 0xF3, 0x47, 0x94, 0xE7, 0x88, 0x93, 0x19, 0xBE, 0x71, - 0x23, 0x1A, 0x0D, 0xC2, 0x3C, 0x7D, 0x75, 0xB2, 0x3E, 0x33, 0x39, 0xF1, 0xE2, 0xA5, 0x73, 0xBC, - 0x05, 0xCA, 0xFB, 0x34, 0x9A, 0xBF, 0x11, 0x70, 0x99, 0xBF, 0x12, 0x56, 0xD7, 0x1D, 0xFE, 0x31, - 0x02, 0xAB, 0x9D, 0x52, 0x12, 0xB7, 0x91, 0x78, 0x74, 0xBD, 0xFD, 0xBB, 0xDC, 0xFA, 0x12, 0xDD, - 0xDE, 0x38, 0xD2, 0x1D, 0xE7, 0x67, 0xB4, 0xA8, 0xBC, 0xD1, 0x59, 0x73, 0xDF, 0xAF, 0x44, 0x8B, - 0x0F, 0xF7, 0xCC, 0x03, 0xC0, 0xAC, 0x58, 0x63, 0xD1, 0x73, 0x96, 0x1E, 0x6F, 0x34, 0x6F, 0xA0, - 0x02, 0x2B, 0x12, 0xCB, 0x7B, 0x42, 0x57, 0xCE, 0xDE, 0xE7, 0x7A, 0x7F, 0x1C, 0x3F, 0x25, 0xC1, - 0xFC, 0x17, 0x2E, 0x09, 0xE9, 0xD0, 0xA4, 0xAF, 0xC4, 0xFD, 0xA1, 0xBE, 0xF7, 0x6B, 0xCE, 0x7E, - 0x1E, 0x95, 0xAC, 0x69, 0x7C, 0x45, 0x08, 0x96, 0xAF, 0x96, 0x55, 0x21, 0x60, 0x85, 0x59, 0x07, - 0xCB, 0x77, 0x4E, 0x5E, 0x21, 0x18, 0xC8, 0x0B, 0x36, 0x0F, 0x65, 0x88, 0xB9, 0xF1, 0x80, 0xAA, - 0x03, 0x90, 0xA9, 0x71, 0xAD, 0x94, 0xF4, 0xBB, 0x6F, 0x56, 0xB1, 0x05, 0xC9, 0xD7, 0xF0, 0xFC, - 0x5C, 0x97, 0xAE, 0x29, 0x0B, 0x32, 0x71, 0x98, 0x58, 0x61, 0x8C, 0x0F, 0x2E, 0x1F, 0x17, 0xD3, - 0x2F, 0xB7, 0x8E, 0x7A, 0xE8, 0xD1, 0xAD, 0xA7, 0x57, 0x6E, 0x5B, 0xD7, 0xED, 0xB0, 0xD4, 0xBF, - 0x53, 0xD4, 0xED, 0x65, 0x80, 0xB9, 0x12, 0x70, 0x64, 0x5D, 0x72, 0xCD, 0x30, 0xD0, 0x09, 0x02, - 0x88, 0xCE, 0xF7, 0xA4, 0xE4, 0xDD, 0x31, 0x37, 0x52, 0x6B, 0x46, 0xCF, 0x0D, 0x27, 0x34, 0xC8, - 0x00, 0xC6, 0xFF, 0x24, 0x82, 0xBB, 0x50, 0x30, 0xBE, 0x87, 0x4D, 0x28, 0xE0, 0x25, 0xD9, 0x27, - 0x5A, 0xD5, 0xEC, 0x6D, 0xB5, 0x8C, 0x6D, 0x3A, 0x2F, 0x16, 0xF5, 0x01, 0xA8, 0xE9, 0x91, 0xA3, - 0x7D, 0x1E, 0x27, 0x81, 0xAB, 0x92, 0xA2, 0xEB, 0x04, 0x3D, 0x45, 0x9A, 0xC5, 0x4B, 0xFC, 0x6C, - 0x18, 0xD7, 0xEE, 0x2D, 0x4D, 0x74, 0x63, 0xCC, 0xCA, 0xF3, 0x7F, 0x6E, 0x7D, 0x01, 0x44, 0x9E, - 0x2E, 0x0C, 0x35, 0xC0, 0xFC, 0xC5, 0xA8, 0xB6, 0x71, 0x48, 0x7E, 0xD4, 0x32, 0x92, 0x0B, 0x42, - 0xA6, 0x04, 0x3D, 0x40, 0x74, 0x4D, 0x80, 0x16, 0x33, 0x0A, 0x78, 0x90, 0x47, 0xA9, 0x7E, 0x0C, - 0xEB, 0x45, 0x7C, 0x4C, 0xCA, 0xF3, 0x9C, 0xB4, 0xFE, 0xC7, 0x09, 0x2C, 0x3E, 0x0E, 0x07, 0xD2, - 0xE7, 0x50, 0x69, 0x55, 0x57, 0x6E, 0xB8, 0x0D, 0x0F, 0x36, 0x86, 0x52, 0xFE, 0xEA, 0xC7, 0xF6, - 0xB9, 0xEC, 0xD5, 0xB7, 0x58, 0x61, 0x6F, 0xD5, 0x46, 0x7F, 0x43, 0xDE, 0x99, 0x82, 0xA0, 0xF9, - 0xE1, 0x12, 0x2B, 0x11, 0xF0, 0xC9, 0x34, 0x26, 0x65, 0x5C, 0x7B, 0xC5, 0xF4, 0x20, 0xCD, 0x36, - 0xED, 0x07, 0x3E, 0x08, 0x73, 0x4A, 0xDF, 0x4E, 0x29, 0x10, 0xA3, 0x51, 0x67, 0xDA, 0x5E, 0x5F, - 0x60, 0x1B, 0x22, 0x99, 0x38, 0x01, 0x58, 0x82, 0x81, 0xB8, 0xF8, 0xA2, 0xBD, 0xE5, 0x84, 0xBA, - 0x96, 0x9D, 0xA4, 0xE9, 0xA7, 0x9E, 0x3E, 0x7B, 0x24, 0x1D, 0x36, 0xC9, 0x11, 0xAA, 0x28, 0x59, - 0x15, 0x79, 0x40, 0x8E, 0xA9, 0x90, 0xE0, 0xAB, 0x4C, 0x75, 0x89, 0x1E, 0x5A, 0x2D, 0x63, 0x95, - 0x24, 0x5B, 0x62, 0x9D, 0x49, 0x70, 0x77, 0xDC, 0xC0, 0xF9, 0xB5, 0xAE, 0xA2, 0x23, 0x9B, 0x63, - 0x49, 0x28, 0x11, 0x83, 0xB3, 0x8A, 0x3B, 0x6A, 0x47, 0x7E, 0x4A, 0xD6, 0x68, 0x0D, 0x51, 0x87, - 0x8A, 0x23, 0x1A, 0x4B, 0x3A, 0x03, 0x1A, 0xC2, 0xE6, 0xDF, 0x90, 0xAD, 0xB6, 0x26, 0x8F, 0x72, - 0x73, 0xE6, 0xDF, 0x77, 0x76, 0x4F, 0xC2, 0x56, 0x9D, 0xA4, 0x75, 0x33, 0x89, 0x93, 0xB0, 0xF8, - 0xF2, 0xEF, 0xD6, 0xFF, 0x85, 0xBC, 0x0F, 0x68, 0xE9, 0xD0, 0x47, 0x75, 0xBF, 0xA7, 0x86, 0xFA, - 0x74, 0x1F, 0x26, 0x89, 0x14, 0x2D, 0xB7, 0x41, 0xE1, 0xD8, 0xCF, 0xF5, 0x4C, 0x6A, 0x75, 0xC4, - 0xE6, 0xEB, 0xD2, 0xEF, 0xF1, 0xC8, 0x3D, 0x2E, 0x55, 0x6C, 0x19, 0x97, 0xDB, 0x84, 0xE2, 0xBD, - 0xDB, 0xDC, 0xE5, 0xE5, 0x8B, 0xB2, 0xD1, 0xB8, 0xE0, 0xD9, 0xC6, 0xFD, 0xCD, 0xC3, 0xF4, 0xEC, - 0xE3, 0xFF, 0xC6, 0xFE, 0xCC, 0xF5, 0xCA, 0xE4, 0xF1, 0xC8, 0xDE, 0xF4, 0xB0, 0x70, 0x89, 0x22, - 0x17, 0x94, 0xAD, 0x61, 0x25, 0x1C, 0xDC, 0x1B, 0x31, 0x08, 0x3A, 0xD0, 0x40, 0xF6, 0x79, 0x54, - 0x07, 0x3F, 0x06, 0xDA, 0x93, 0xAA, 0x48, 0x39, 0x54, 0x6D, 0x10, 0x9F, 0x53, 0xAC, 0x6A, 0x1D, - 0x83, 0x22, 0x1B, 0x43, 0x3C, 0x05, 0x4C, 0x92, 0x1D, 0x24, 0xD5, 0x13, 0x00, 0xB2, 0x39, 0x50, - 0x04, 0x69, 0x50, 0x8F, 0xFA, 0xC3, 0xFE, 0xE6, 0xEF, 0xD6, 0x11, 0x25, 0x8E, 0xCC, 0xB7, 0xA0, - 0x98, 0x65, 0x5C, 0x1F, 0x43, 0x7A, 0xBD, 0x1C, 0x49, 0x70, 0x94, 0x06, 0xAC, 0xFD, 0x95, 0xB3, - 0x67, 0xE2, 0xDB, 0x67, 0x91, 0xA8, 0x0A, 0x79, 0x37, 0x0E, 0x6C, 0x80, 0xE1, 0x2C, 0xD8, 0x2F, - 0xEC, 0xBC, 0x85, 0xB2, 0xAF, 0x96, 0xB6, 0xFB, 0x1E, 0x27, 0x9E, 0x5B, 0x15, 0xBE, 0x2C, 0x49, - 0x8E, 0x8C, 0xB5, 0xE0, 0xA5, 0x9C, 0x7C, 0x3B, 0x5B, 0x62, 0xC7, 0x47, 0x33, 0x9B, 0x0A, 0x4A, - 0x9F, 0x9C, 0xA5, 0xE1, 0x19, 0x20, 0x22, 0xD9, 0xE8, 0xD1, 0x4E, 0x7D, 0x2D, 0x54, 0x14, 0x9B, - 0xD6, 0x72, 0x4B, 0x46, 0xB4, 0x8D, 0x64, 0x32, 0x38, 0x01, 0xBB, 0x58, 0x63, 0xCE, 0x5A, 0x4F, - 0xD4, 0x9F, 0xA6, 0xA9, 0x4B, 0x72, 0x35, 0x9C, 0x00, 0x39, 0x51, 0x8A, 0xDA, 0x8D, 0xE3, 0xB5, - 0x44, 0x86, 0xBF, 0x20, 0x54, 0x6D, 0xF3, 0x45, 0xC2, 0xFB, 0xF7, 0xEE, 0x42, 0xB4, 0x7B, 0x14, - 0xBF, 0xAE, 0x97, 0xF3, 0xA1, 0x98, 0x68, 0x2B, 0xA2, 0x9B, 0xC0, 0xB9, 0x41, 0xFF, 0x78, 0x5C, - 0x42, 0xC4, 0xFD, 0x64, 0x29, 0x10, 0x40, 0x8B, 0x5D, 0x64, 0x91, 0x17, 0x66, 0xD3, 0x5F, 0x57, - 0x52, 0x6F, 0x56, 0xDF, 0x8F, 0xB6, 0xC5, 0xA8, 0x21, 0x18, 0x2B, 0xD1, 0x4A, 0x3C, 0x73, 0x94, - 0xF9, 0x03, 0x3A, 0x18, 0x7A, 0x43, 0x5E, 0xC6, 0x02, 0x3B, 0x13, 0xCA, 0xF2, 0x76, 0xCB, 0x66, - 0xD8, 0x8A, 0xB3, 0xB0, 0xD3, 0xEA, 0x0C, 0x3D, 0x82, 0xBB, 0xB3, 0xEA, 0xEE, 0xFB, 0xD7, 0xF7, - 0x8B, 0x98, 0xA1, 0xF1, 0xCF, 0xF6, 0x81, 0xAC, 0x53, 0x6A, 0x4F, 0xC7, 0x06, 0xE4, 0x3F, 0x00, - 0xBC, 0xF8, 0xC1, 0xA6, 0xA6, 0x9F, 0x37, 0x73, 0x60, 0x59, 0x66, 0xDD, 0x88, 0x9A, 0xB1, 0xF0, - 0xC1, 0x20, 0x19, 0x03, 0xB1, 0x88, 0x79, 0x2A, 0xFB, 0xC2, 0x14, 0x34, 0x2C, 0x5D, 0x15, 0x93, - 0x62, 0xF6, 0xCF, 0x76, 0xF5, 0xCC, 0x29, 0x3E, 0x13, 0x2A, 0x0B, 0xC3, 0xDE, 0x99, 0xE7, 0xA5, - 0xCD, 0x35, 0x0C, 0x1A, 0x31, 0x08, 0xD9, 0x0A, 0x83, 0xBA, 0xBA, 0xE2, 0x8D, 0x87, 0xB4, 0xE8, - 0xAE, 0xBE, 0x87, 0xF2, 0x5F, 0x66, 0x30, 0x8D, 0x76, 0x4F, 0x21, 0x8C, 0x46, 0xA0, 0x7F, 0x04, - 0x06, 0x84, 0xBD, 0x60, 0x52, 0x6B, 0xA5, 0x15, 0x23, 0x1A, 0x69, 0x91, 0x83, 0x59, 0xBA, 0x38, - 0x05, 0xD2, 0xEB, 0x35, 0xEA, 0xD3, 0xEF, 0xE7, 0x16, 0x2F, 0x16, 0xDB, 0x13, 0xE8, 0x2A, 0x19, - 0x6E, 0xE3, 0xDA, 0x6F, 0xC3, 0xFA, 0x1D, 0x3C, 0x7D, 0x44, 0xE2, 0x44, 0xE5, 0x38, 0xDC, 0x3F, - 0xDD, 0x9E, 0xA7, 0xA1, 0x34, 0x0D, 0xC4, 0x12, 0xF9, 0xC0, 0x56, 0x74, 0xA3, 0x2A, 0x9A, 0x6B, - 0x39, 0x5E, 0x67, 0x85, 0x4E, 0x77, 0x28, 0x84, 0x0E, 0x37, 0x8F, 0x5A, 0x26, 0x97, 0x1F, 0x53, - 0x32, 0xB2, 0x8B, 0x62, 0x78, 0x41, 0x1C, 0x86, 0xF2, 0xCB, 0x95, 0xBC, 0x09, 0x33, 0x30, 0xD8, - 0xC9, 0x9A, 0xA3, 0xB1, 0x81, 0xB8, 0x1B, 0x78, 0x3C, 0x05, 0xAF, 0x48, 0xDD, 0xD2, 0xE4, 0xED, - 0x61, 0xA0, 0x99, 0x23, 0x02, 0x3B, 0xF0, 0x10, 0x6C, 0x55, 0xFA, 0x4D, 0xAA, 0xAB, 0x93, 0xE3, - 0x5F, 0xC1, 0xF8, 0x7C, 0x71, 0x48, 0x9D, 0x0E, 0xAB, 0x92, 0x41, 0x31, 0x51, 0xEE, 0x68, 0x5D, - 0x6B, 0xCF, 0xC4, 0xE2, 0xD8, 0xB1, 0x09, 0x80, 0x6E, 0xB2, 0xBC, 0x35, 0xC6, 0x7A, 0xDC, 0xF3, - 0x25, 0x1B, 0x5E, 0xAC, 0xFD, 0x44, 0xD9, 0x50, 0x28, 0x59, 0x11, 0x98, 0x61, 0x94, 0x95, 0x1D, - 0x4A, 0x94, 0xBE, 0xC3, 0x6E, 0xFD, 0xF3, 0x7A, 0xF9, 0xC5, 0x5C, 0xD5, 0xA0, 0x8E, 0x4E, 0x07, - 0xD2, 0x35, 0x87, 0x5B, 0x0A, 0x5B, 0x31, 0xB8, 0x3F, 0x1C, 0x43, 0xCA, 0x29, 0x97, 0xDE, 0x1E, - 0x6E, 0xD7, 0xD9, 0xE7, 0x97, 0x9B, 0x6C, 0xE5, 0x4A, 0x0B, 0x21, 0xA8, 0xE4, 0xCC, 0x48, 0x45, - 0x49, 0xDC, 0xF5, 0xC0, 0x39, 0xCA, 0x93, 0x1A, 0x62, 0xAB, 0xA9, 0x20, 0x73, 0xA6, 0xB5, 0x2F, - 0xFA, 0xE6, 0x7C, 0x73, 0x4A, 0x19, 0x33, 0xBA, 0x54, 0x46, 0x72, 0xFB, 0x98, 0x0B, 0xF3, 0x82, - 0x42, 0x14, 0x36, 0xCB, 0x51, 0x21, 0x10, 0x99, 0xCF, 0x28, 0x87, 0x0E, 0x5F, 0x67, 0x58, 0xEE, - 0x5B, 0x9D, 0xA6, 0xD2, 0x1F, 0x1A, 0x65, 0xEC, 0x42, 0xB9, 0x9B, 0x12, 0x5A, 0x37, 0x0D, 0xBE, - 0x48, 0xD4, 0xFC, 0xC1, 0x50, 0x30, 0x00, 0x89, 0xD6, 0x9B, 0x2D, 0xA4, 0xE1, 0x9C, 0x1D, 0x15, - 0x86, 0x20, 0xC6, 0x0F, 0xA5, 0x1B, 0xDE, 0x57, 0xF4, 0x66, 0xF2, 0x7B, 0x0F, 0x61, 0x0E, 0xE8, - 0x08, 0xD0, 0xB8, 0x81, 0x93, 0xDF, 0x2C, 0xA5, 0x46, 0x12, 0x34, 0xBD, 0xC3, 0x2A, 0x89, 0xA3, - 0xE9, 0xAF, 0x26, 0x60, 0x00, 0x66, 0x06, 0x8F, 0x00, 0xF9, 0x99, 0x10, 0xE7, 0xEA, 0x6D, 0x63, - 0xA4, 0x33, 0xF7, 0x2D, 0x86, 0x9E, 0x78, 0xF1, 0xB7, 0x9C, 0x4B, 0xC2, 0x9F, 0x6D, 0x92, 0xE4, - 0x3B, 0xCA, 0x91, 0xB2, 0xC7, 0xCD, 0x6A, 0xE3, 0x76, 0xBB, 0xAD, 0x24, 0x60, 0x84, 0x84, 0x0D, - 0x1D, 0xC9, 0xB4, 0x94, 0xDB, 0x94, 0x2F, 0xA6, 0xBC, 0x7B, 0xA7, 0x2E, 0x32, 0xB4, 0xE6, 0x3D, - 0xED, 0xBF, 0x32, 0x64, 0xC4, 0xE8, 0x4C, 0xC5, 0x17, 0xBC, 0xCB, 0x42, 0xEF, 0xEB, 0x64, 0x62, - 0x1B, 0x99, 0xE2, 0x92, 0x5B, 0x1C, 0x27, 0xAE, 0xE5, 0x67, 0xE2, 0x6B, 0xB5, 0xDA, 0x0F, 0x53, - 0x2E, 0xD3, 0x9D, 0xA7, 0xDA, 0x85, 0x3F, 0xB6, 0x22, 0x04, 0x46, 0xCF, 0x05, 0x56, 0x33, 0xDF, - 0xAB, 0xEB, 0x20, 0x22, 0xF4, 0x5C, 0xC8, 0x41, 0xCE, 0x92, 0x3C, 0xB5, 0x21, 0x96, 0xD7, 0x1F, - 0xD5, 0x6D, 0xD8, 0x5C, 0xC8, 0xA5, 0x0D, 0x84, 0x11, 0xF8, 0x89, 0x00, 0x31, 0x92, 0xC3, 0x1B, - 0x01, 0x58, 0x39, 0x88, 0x3C, 0x9F, 0xC3, 0x4A, 0x16, 0x06, 0x70, 0xF9, 0xE2, 0xBA, 0x38, 0x33, - 0x59, 0xDD, 0xE4, 0xD0, 0xB1, 0x4B, 0x9A, 0x13, 0x97, 0x8E, 0x79, 0xF0, 0xFC, 0xC9, 0x55, 0x40, - 0xA2, 0x63, 0xA1, 0x2B, 0xCD, 0xF0, 0x5D, 0xD4, 0xFA, 0x90, 0x0A, 0x83, 0xA3, 0xA8, 0x6B, 0x21, - 0x0E, 0x80, 0xEE, 0x87, 0x47, 0x45, 0x62, 0xEB, 0x8B, 0x2C, 0xC7, 0x4E, 0x71, 0x90, 0x81, 0x19, - 0xE6, 0x77, 0xF1, 0x6F, 0x6A, 0xB9, 0xB3, 0x3A, 0x06, 0xBD, 0xDB, 0x52, 0x30, 0x82, 0xD2, 0x0B, - 0x24, 0x13, 0x57, 0xAD, 0xB4, 0x1E, 0xCA, 0x43, 0x73, 0xAA, 0xB9, 0x30, 0x83, 0x28, 0xCB, 0xA1, - 0x80, 0x70, 0x90, 0x09, 0x5D, 0x6C, 0x51, 0xD8, 0x3D, 0xF3, 0xAE, 0x27, 0x26, 0xF0, 0xB6, 0x79, - 0x85, 0x68, 0x8D, 0x0C, 0x62, 0xB0, 0xB2, 0x3B, 0xD3, 0x8A, 0x39, 0xB0, 0x9A, 0x3D, 0xC7, 0xB4, - 0xD6, 0x25, 0x93, 0x5F, 0x43, 0x01, 0x22, 0xAB, 0x23, 0xBE, 0xFD, 0x74, 0xF6, 0xFE, 0x68, 0x77, - 0x8B, 0xB8, 0x53, 0x02, 0x11, 0x63, 0x12, 0x9B, 0xAF, 0x95, 0x5A, 0xD3, 0xE0, 0x8C, 0x0C, 0x05, - 0x4E, 0x84, 0xAA, 0xC7, 0x0C, 0x2B, 0x47, 0xCE, 0x3A, 0x0D, 0x57, 0xDE, 0x72, 0xB6, 0xA4, 0x3F, - 0xE8, 0xA7, 0x2F, 0x61, 0xA8, 0x47, 0x8F, 0x06, 0x5A, 0xB0, 0x8A, 0x03, 0xA4, 0xCE, 0x0A, 0x47, - 0x05, 0x48, 0x2D, 0x8C, 0x4F, 0x4C, 0x63, 0xEA, 0x3B, 0xB7, 0xEC, 0x65, 0x24, 0xC6, 0x82, 0x4F, - 0xCD, 0xEC, 0x41, 0x44, 0x1A, 0x4F, 0x35, 0xBC, 0xA8, 0x6B, 0xA3, 0x2A, 0x01, 0x16, 0x77, 0x9F, - 0xA0, 0x23, 0xE3, 0x29, 0x81, 0xFF, 0x1E, 0x97, 0x67, 0xBA, 0xBD, 0x34, 0xED, 0xDD, 0x50, 0x54, - 0x3A, 0xC2, 0x98, 0xB3, 0x54, 0x74, 0x40, 0xC9, 0xA2, 0x36, 0xF4, 0x7D, 0x40, 0x04, 0x24, 0x8D, - 0x75, 0x1E, 0x0B, 0xFC, 0xEE, 0x75, 0xFB, 0x72, 0x69, 0x4C, 0x45, 0xCC, 0xAD, 0xDF, 0x12, 0x56, - 0x36, 0x52, 0x04, 0xBF, 0xAC, 0x03, 0xCF, 0x46, 0x96, 0x34, 0xC2, 0x4B, 0xCC, 0x4D, 0xE1, 0xC4, - 0x4F, 0x8C, 0xA3, 0xC6, 0x10, 0x72, 0x02, 0x8B, 0x8A, 0x96, 0x7C, 0xF5, 0xC0, 0x0C, 0xAC, 0x85, - 0xFF, 0xFE, 0x61, 0x76, 0x3E, 0xAB, 0xF5, 0x7C, 0xAE, 0x2F, 0xE1, 0x68, 0x89, 0x1F, 0xF6, 0x96, - 0x14, 0x41, 0x35, 0x9D, 0xFF, 0x70, 0xEF, 0x66, 0x5D, 0x4E, 0x73, 0xFA, 0x4B, 0x23, 0x08, 0xAA, - 0xB1, 0x2A, 0xFB, 0x38, 0x08, 0x6F, 0x07, 0x8E, 0xC2, 0x8B, 0x29, 0xA0, 0xDE, 0x7F, 0xC1, 0xF6, - 0x68, 0x87, 0x8F, 0xE1, 0xA1, 0x5F, 0x9E, 0x17, 0x02, 0x16, 0x74, 0xFD, 0xE9, 0x9D, 0x14, 0x14, - 0x26, 0x53, 0x15, 0xAF, 0x8F, 0x86, 0x69, 0xE0, 0x7B, 0x18, 0x03, 0x8A, 0xA9, 0x9F, 0x56, 0x16, - 0xC1, 0x7C, 0xDD, 0x48, 0x85, 0xBB, 0x5E, 0xD7, 0xFE, 0x3B, 0xA5, 0x2C, 0xF1, 0x98, 0x09, 0x11, - 0x38, 0x82, 0xDA, 0xB1, 0x4D, 0x78, 0x55, 0xDC, 0x18, 0xF0, 0x88, 0x01, 0xE5, 0xDC, 0x59, 0x55, - 0xE5, 0x3F, 0xBA, 0x6C, 0x57, 0x51, 0x66, 0xEF, 0xA7, 0x27, 0xE0, 0x69, 0xFA, 0xBF, 0x25, 0x36, - 0xBE, 0xF2, 0x2C, 0x37, 0x2D, 0x9A, 0xD7, 0x5E, 0x10, 0x42, 0x32, 0xBB, 0xCB, 0x2B, 0x80, 0xA2, - 0x60, 0x07, 0x07, 0xE9, 0x56, 0x40, 0x76, 0xFF, 0x31, 0xEA, 0xBB, 0x32, 0x03, 0x20, 0x43, 0xA9, - 0xB7, 0x7A, 0xAD, 0x3E, 0xF5, 0x4D, 0xD8, 0x51, 0x05, 0xE8, 0x8D, 0x04, 0x7F, 0xE7, 0xF8, 0x6E, - 0x81, 0x78, 0x99, 0x08, 0xB3, 0x7F, 0xAC, 0x25, 0xC8, 0xD6, 0x7E, 0xF7, 0xF7, 0xEE, 0x79, 0x67, - 0xD3, 0x3D, 0x8E, 0x5A, 0x17, 0x13, 0x64, 0xED, 0x37, 0xAE, 0xF9, 0x70, 0x6F, 0xE3, 0xEC, 0x6A, - 0x44, 0x44, 0x60, 0xCD, 0x75, 0xC5, 0xD0, 0x59, 0xBD, 0xC1, 0x1C, 0x95, 0x09, 0x17, 0x7E, 0x9E, - 0xB8, 0xA2, 0x7A, 0x31, 0x74, 0xD4, 0xC0, 0x49, 0xC0, 0x64, 0xC4, 0x4D, 0x7E, 0xF7, 0xE9, 0x7E, - 0xC5, 0x6C, 0xC9, 0x4C, 0x7D, 0xCC, 0xD1, 0x58, 0xDB, 0x38, 0x83, 0x0A, 0x65, 0xD4, 0xD1, 0x5D, - 0x91, 0x79, 0x88, 0x18, 0x5E, 0x49, 0x77, 0xFE, 0x65, 0x55, 0x50, 0xD9, 0x37, 0xE4, 0xB3, 0x6D, - 0xF6, 0x76, 0xE0, 0x7F, 0xD2, 0x8C, 0x3E, 0xB7, 0xB2, 0x8D, 0x5F, 0xD6, 0xD5, 0x58, 0xED, 0xD1, - 0x6F, 0xDF, 0xD0, 0xE6, 0xD1, 0xA9, 0x18, 0x91, 0xD5, 0xCE, 0x7B, 0xF2, 0x88, 0x0F, 0xE7, 0x86, - 0xFC, 0xB6, 0x2A, 0x75, 0x45, 0x71, 0x54, 0xDD, 0x3E, 0xA6, 0xF8, 0x71, 0x91, 0x1A, 0xEB, 0x93, - 0x19, 0xD9, 0xA0, 0x90, 0x49, 0x3C, 0x15, 0x9C, 0x34, 0xFB, 0xAF, 0x26, 0x69, 0x95, 0x9C, 0x1C, - 0xB5, 0x3A, 0xEF, 0x3C, 0x22, 0xF2, 0xB0, 0x39, 0x52, 0x02, 0x30, 0xB9, 0x19, 0x13, 0x6A, 0x9A, - 0xAA, 0xE3, 0x29, 0x23, 0x2E, 0xBF, 0xF1, 0x78, 0x7D, 0x5C, 0x41, 0xC8, 0x1D, 0x53, 0x2E, 0xDA, - 0x52, 0x15, 0x27, 0xDB, 0x9E, 0x83, 0x7D, 0xF4, 0xEA, 0x2B, 0xA1, 0x28, 0x0E, 0x71, 0x1F, 0xF8, - 0xDA, 0x37, 0xB5, 0xEC, 0x37, 0x85, 0x68, 0x31, 0xF3, 0x37, 0x1E, 0x47, 0xFB, 0xCD, 0x16, 0x58, - 0xD0, 0x3D, 0x7F, 0x2C, 0x85, 0x43, 0xAE, 0x45, 0xC3, 0x65, 0x2E, 0x25, 0xB0, 0x4A, 0x5D, 0x94, - 0x05, 0xE8, 0x97, 0x11, 0x3A, 0x2B, 0xC6, 0x92, 0x7C, 0xCF, 0x91, 0x30, 0x14, 0x8D, 0xF9, 0xF7, - 0xF0, 0x1D, 0x0C, 0x7F, 0xFC, 0x34, 0xD9, 0x4B, 0x10, 0x08, 0xFD, 0x9B, 0x0D, 0x1D, 0xE0, 0x7E, - 0xEE, 0x03, 0xC3, 0xAE, 0x81, 0xEC, 0x01, 0xEE, 0x9D, 0xB0, 0x70, 0xAE, 0xAD, 0xCE, 0x40, 0x0D, - 0x3C, 0xD1, 0x74, 0xCB, 0x15, 0x5A, 0xB7, 0xCC, 0x1A, 0xC8, 0xF7, 0x51, 0x06, 0xDE, 0xEB, 0xB6, - 0x56, 0xBB, 0x89, 0x5C, 0xAD, 0xCB, 0x26, 0xE5, 0xBB, 0xB3, 0x56, 0x8B, 0xE0, 0x1F, 0x0D, 0x91, - 0xDE, 0x33, 0xA1, 0xFC, 0xEB, 0x66, 0x8B, 0x0E, 0xD1, 0x24, 0x3C, 0x76, 0x0E, 0x56, 0xE3, 0x36, - 0xFF, 0x12, 0xDB, 0xA7, 0x01, 0x5E, 0xB3, 0xDC, 0xAB, 0xB2, 0x46, 0x9A, 0xE5, 0x02, 0x08, 0x89, - 0x97, 0x7A, 0x64, 0x70, 0xC1, 0x03, 0xEE, 0x41, 0xC8, 0xAD, 0x25, 0xE6, 0x07, 0xD7, 0xEA, 0xBE, - 0xB5, 0x58, 0x55, 0x63, 0x6B, 0xD4, 0x39, 0x3C, 0x3A, 0x9B, 0xD7, 0x22, 0x8C, 0xB4, 0x61, 0x56, - 0x0B, 0xE6, 0x49, 0xC1, 0xA4, 0xCA, 0x27, 0xED, 0x7B, 0x97, 0x96, 0x6F, 0x47, 0x93, 0xAA, 0xBA, - 0x74, 0x99, 0xB8, 0x4F, 0x6D, 0x96, 0x7B, 0x78, 0xE8, 0xFE, 0x05, 0x95, 0x85, 0x35, 0x68, 0xDE, - 0xD2, 0x3F, 0x3D, 0x6C, 0x9E, 0x04, 0xE9, 0x19, 0xEF, 0xA6, 0x02, 0xCA, 0xB9, 0xCB, 0x54, 0x1C, - 0x83, 0x6E, 0x61, 0x61, 0x99, 0xFD, 0x10, 0xE7, 0x73, 0x17, 0x9E, 0xE7, 0x54, 0xC9, 0xB9, 0xF3, - 0x32, 0xDF, 0xAA, 0x1B, 0xF8, 0x9B, 0x76, 0xE0, 0xA8, 0xFA, 0x45, 0xD1, 0x5C, 0x41, 0xB1, 0x73, - 0x4C, 0xA1, 0x52, 0x9D, 0x05, 0xF1, 0x1C, 0x77, 0x1D, 0x90, 0xF0, 0x0E, 0x44, 0xD8, 0xA9, 0xF2, - 0x6A, 0x87, 0x77, 0x9E, 0x7B, 0x7F, 0x92, 0x87, 0x58, 0x8C, 0xB5, 0x57, 0xB6, 0x1C, 0x5B, 0xC4, - 0x8D, 0x60, 0xBF, 0xB1, 0x7D, 0x3D, 0xD0, 0xC3, 0x44, 0x1D, 0xA9, 0xDA, 0x69, 0x3E, 0x84, 0x39, - 0x35, 0xD8, 0xF5, 0x43, 0x44, 0xA5, 0x48, 0x62, 0x67, 0x06, 0x8A, 0xE2, 0xAB, 0x98, 0x46, 0x5D, - 0x9E, 0x73, 0xE5, 0xF8, 0x65, 0x2C, 0xC1, 0xCA, 0x71, 0x57, 0x9C, 0xA5, 0xFF, 0xD9, 0x12, 0x48, - 0xD3, 0x3E, 0x34, 0x64, 0x3F, 0x3F, 0xD2, 0x83, 0x0F, 0xD1, 0xE2, 0x5D, 0x9A, 0xF3, 0x77, 0x07, - 0x19, 0xF4, 0x1A, 0x80, 0x07, 0x1C, 0xF1, 0x98, 0x1B, 0xC0, 0xF6, 0x58, 0x93, 0x72, 0x7E, 0x8F, - 0x3E, 0xD3, 0x36, 0x8B, 0x9D, 0x52, 0xBF, 0x4C, 0xE4, 0x6E, 0x09, 0x09, 0x43, 0x87, 0xAE, 0xAA, - 0x4F, 0xA2, 0x19, 0xD5, 0x38, 0xC6, 0x2B, 0x7D, 0x22, 0x1A, 0xCF, 0xBB, 0x9D, 0xAC, 0x70, 0x5F, - 0x92, 0x7F, 0x79, 0x68, 0x4C, 0x1F, 0xF2, 0xD0, 0x11, 0x00, 0xFC, 0x92, 0x04, 0x9C, 0xE9, 0xF6, - 0x41, 0xAC, 0xC7, 0x05, 0x82, 0xBA, 0x57, 0xBB, 0xB8, 0xFB, 0x55, 0xC0, 0xAF, 0x8C, 0x42, 0x4D, - 0x38, 0xD5, 0x60, 0xDB, 0x20, 0xD7, 0x3A, 0x74, 0x75, 0x47, 0x98, 0xB1, 0x84, 0x3C, 0x69, 0xD6, - 0x51, 0xBC, 0xD6, 0x04, 0xA2, 0x88, 0x65, 0xA9, 0x1E, 0xD8, 0xF3, 0x45, 0x6F, 0x68, 0x82, 0x69, - 0xB6, 0x5B, 0x1E, 0x2B, 0xF6, 0x63, 0x8E, 0x16, 0x29, 0xD2, 0xC4, 0x78, 0x75, 0xB3, 0x98, 0xA8, - 0x4D, 0xA0, 0x5B, 0x95, 0xEC, 0x9F, 0x72, 0xF0, 0x37, 0x03, 0xDA, 0xB7, 0x15, 0x84, 0xF8, 0xFF, - 0x02, 0xEF, 0xC8, 0x49, 0xEE, 0x72, 0x9F, 0x1F, 0x8C, 0xB9, 0x61, 0xB6, 0xF9, 0x8F, 0x14, 0x18, - 0x2D, 0xC0, 0x6C, 0xC2, 0xB0, 0xCE, 0x23, 0xFD, 0xFB, 0xB7, 0x16, 0xCF, 0xB2, 0x08, 0x5F, 0xD4, - 0x20, 0xCD, 0xF9, 0x5A, 0xFE, 0xD9, 0x34, 0xA4, 0xC1, 0x25, 0x2C, 0x67, 0x6A, 0x75, 0x87, 0x71, - 0x0E, 0xE3, 0x54, 0xD9, 0xE1, 0x31, 0xDC, 0x53, 0xBE, 0xAB, 0x53, 0x96, 0xCC, 0xF0, 0x21, 0x52, - 0x7D, 0x90, 0x39, 0xC7, 0x0D, 0x4B, 0xA6, 0xC5, 0xDF, 0xF4, 0x32, 0xA8, 0x0C, 0x14, 0xE1, 0x76, - 0x4E, 0xA3, 0x10, 0xDD, 0x48, 0xB0, 0x5D, 0x7B, 0x4A, 0xCD, 0xA7, 0x04, 0x0A, 0x42, 0xE7, 0x26, - 0x8A, 0x67, 0xE0, 0xE9, 0xC5, 0xAC, 0x41, 0xEA, 0x89, 0xA1, 0x64, 0xAB, 0x18, 0x11, 0xF5, 0x67, - 0xFE, 0x13, 0xD2, 0xAF, 0xD4, 0xBC, 0x51, 0xEB, 0xE5, 0x66, 0x08, 0x00, 0x71, 0xA7, 0x9C, 0xB8, - 0x07, 0xEA, 0xD5, 0x51, 0x26, 0x95, 0x78, 0x30, 0xCD, 0xB5, 0x20, 0xFB, 0x40, 0xCC, 0xAD, 0xE2, - 0x36, 0xDB, 0xBE, 0x0B, 0x16, 0x0C, 0xE1, 0x99, 0x24, 0x4A, 0xC9, 0xED, 0x95, 0x24, 0x78, 0xDF, - 0xD6, 0x3B, 0x29, 0x7C, 0xFD, 0x8F, 0x62, 0xF1, 0x06, 0x59, 0xEB, 0xDC, 0x80, 0x28, 0x6D, 0xC6, - 0xB3, 0x5E, 0x03, 0x33, 0xC6, 0xFA, 0x17, 0xBF, 0x80, 0x29, 0x6D, 0x2A, 0x7D, 0x3B, 0x90, 0x28, - 0xF4, 0x19, 0x18, 0x6F, 0x0B, 0x09, 0xE4, 0x81, 0xA3, 0x32, 0x4E, 0x12, 0x74, 0xBA, 0x99, 0xA0, - 0xD8, 0x35, 0xF7, 0xAC, 0xA6, 0x27, 0xCA, 0x02, 0xE2, 0x3E, 0x0F, 0x5F, 0x7E, 0x70, 0x93, 0x60, - 0x47, 0xAA, 0x91, 0x55, 0x71, 0x28, 0xC5, 0xDA, 0x64, 0x4E, 0x89, 0xA9, 0xC2, 0x2E, 0x2F, 0x82, - 0x8E, 0x63, 0xF4, 0xF9, 0xD3, 0x45, 0xA8, 0x15, 0x94, 0x38, 0x79, 0x2F, 0xB1, 0x43, 0x5C, 0x9C, - 0x6B, 0x86, 0x7E, 0x96, 0xF2, 0xCC, 0x21, 0xBD, 0x60, 0x5E, 0x8D, 0xBD, 0xBA, 0x80, 0x57, 0x54, - 0xFC, 0x11, 0x90, 0xEF, 0x94, 0x53, 0xBE, 0x44, 0x65, 0x46, 0x88, 0xA0, 0x50, 0xDD, 0xBD, 0xE3, - 0x39, 0xD4, 0x69, 0xD3, 0x53, 0xF7, 0x1A, 0x27, 0x30, 0x5B, 0xDD, 0xE8, 0xCB, 0xAF, 0x26, 0x0A, - 0x2E, 0xC3, 0x27, 0x8A, 0x5E, 0x59, 0xB4, 0x84, 0xED, 0xE6, 0x00, 0x88, 0xA5, 0x46, 0x48, 0x8D, - 0xD5, 0x38, 0x62, 0x34, 0xE3, 0xDC, 0x31, 0xBC, 0x2A, 0x9A, 0xC7, 0x33, 0x52, 0x9F, 0xBF, 0xA3, - 0xF2, 0x1F, 0x4E, 0x3F, 0x2D, 0x79, 0x94, 0xD7, 0xC5, 0x35, 0x28, 0x73, 0xF8, 0x86, 0x15, 0x10, - 0xA1, 0x4C, 0x50, 0x72, 0x32, 0x91, 0x7C, 0x20, 0x55, 0x14, 0xB8, 0xC2, 0x29, 0x7A, 0xC4, 0x3D, - 0xA2, 0x4F, 0x1B, 0x3A, 0xF1, 0x9A, 0x77, 0xE8, 0x7A, 0x9F, 0x97, 0x66, 0xD6, 0x2B, 0x3B, 0x93, - 0x76, 0x9B, 0xFA, 0x0F, 0x21, 0x6C, 0x81, 0xCE, 0xB4, 0x6B, 0x59, 0x5C, 0xBD, 0xDF, 0x50, 0x0C, - 0xDD, 0x30, 0xEA, 0xB4, 0x13, 0x18, 0xF5, 0x88, 0x86, 0x79, 0x6B, 0x7C, 0x82, 0x6A, 0x6F, 0x86, - 0x25, 0xC8, 0xE4, 0x42, 0xE9, 0x8B, 0x66, 0xE1, 0x0A, 0xC9, 0xE7, 0x40, 0xCE, 0xB2, 0x23, 0x12, - 0xCF, 0x22, 0xB9, 0xF5, 0x6E, 0xC0, 0x2D, 0x2D, 0xB7, 0x23, 0x5A, 0x17, 0x42, 0x8E, 0xAF, 0xA2, - 0xB2, 0x5F, 0x0A, 0x3B, 0x5A, 0xF6, 0x1B, 0x2F, 0xA6, 0x2A, 0x4B, 0x0F, 0x36, 0xBC, 0xDB, 0xE4, - 0x6E, 0x83, 0x63, 0x8E, 0x4B, 0xE6, 0x0B, 0x2E, 0x62, 0x1E, 0x8F, 0xFF, 0xED, 0x8A, 0x00, 0x09, - 0xC2, 0x2F, 0x2C, 0x6D, 0x23, 0x81, 0x6C, 0x21, 0xC7, 0x75, 0x2A, 0x31, 0xA4, 0x4F, 0x49, 0x85, - 0xA4, 0x49, 0x4D, 0x6A, 0xEF, 0xC9, 0x24, 0xA5, 0x13, 0x40, 0xFE, 0xD0, 0x4D, 0x59, 0xA0, 0x7A, - 0x33, 0xDE, 0xA3, 0x13, 0xC4, 0x17, 0xFA, 0x50, 0xA7, 0x22, 0x4A, 0x06, 0xEC, 0x83, 0x01, 0x01, - 0x7B, 0xA8, 0x03, 0xF3, 0x6C, 0x9E, 0x22, 0x16, 0x52, 0xDA, 0x5A, 0xD8, 0xD8, 0x05, 0x0D, 0x85, - 0x4B, 0xCA, 0x51, 0xC3, 0xA0, 0xD5, 0xA5, 0x5D, 0x58, 0xD0, 0x90, 0x18, 0x6A, 0x71, 0xCB, 0x43, - 0xF4, 0xDF, 0xFB, 0x7C, 0xC3, 0x71, 0x62, 0xF9, 0x8D, 0x05, 0x78, 0x25, 0xD5, 0xA6, 0xA3, 0x2B, - 0x98, 0x74, 0x3C, 0x10, 0x4A, 0x68, 0xF2, 0xE0, 0x78, 0xF0, 0xE3, 0x4B, 0x13, 0x7F, 0xBC, 0x34, - 0x15, 0x41, 0x84, 0x9D, 0x39, 0xC8, 0x21, 0x40, 0x66, 0xEE, 0x2C, 0x9A, 0x6E, 0xDA, 0x64, 0xEC, - 0x92, 0xBE, 0xFC, 0x1A, 0x82, 0x63, 0x31, 0xEB, 0xB4, 0x3C, 0x9B, 0xFF, 0xFA, 0xF8, 0xD2, 0x5A, - 0x33, 0x64, 0x87, 0xBB, 0xA5, 0x85, 0xF0, 0x0D, 0xDE, 0x56, 0x66, 0x68, 0x42, 0xD1, 0x43, 0xCB, - 0x59, 0x99, 0x10, 0xD1, 0x02, 0x6B, 0xB9, 0xE3, 0x56, 0xDE, 0x4E, 0xC8, 0x04, 0x3A, 0xEE, 0x66, - 0x23, 0x75, 0x86, 0xAB, 0xBD, 0x80, 0xED, 0x08, 0x77, 0xFF, 0x34, 0x93, 0xEE, 0xE8, 0xD6, 0x5E, - 0x40, 0x09, 0x99, 0xC8, 0x8A, 0x62, 0x38, 0xEA, 0x1F, 0x97, 0x8B, 0x44, 0x2E, 0x75, 0x8B, 0x03, - 0xB2, 0xCD, 0xAF, 0x3A, 0x62, 0xE9, 0x5B, 0x61, 0x3D, 0xB5, 0xBA, 0x57, 0x84, 0x08, 0x5C, 0xD4, - 0xF3, 0x80, 0xA3, 0x7B, 0x8E, 0x22, 0x7C, 0xAA, 0x83, 0x0B, 0xA6, 0xF5, 0x4B, 0xD9, 0x42, 0xCA, - 0x60, 0x7A, 0xCA, 0xE8, 0xEA, 0xE0, 0xDA, 0x68, 0xFC, 0x74, 0x57, 0x7B, 0x82, 0x4C, 0x1E, 0x96, - 0x67, 0x25, 0x92, 0xEF, 0x28, 0xDC, 0x24, 0x54, 0x5A, 0xD2, 0xD2, 0x58, 0x71, 0x2D, 0x8C, 0x04, - 0xFB, 0x08, 0x23, 0x73, 0xC7, 0x31, 0x26, 0xB9, 0x0B, 0x83, 0x8E, 0x55, 0x76, 0xD3, 0x75, 0xFD, - 0x20, 0x3E, 0xCE, 0xA8, 0x47, 0x39, 0xAE, 0xB1, 0xBA, 0x32, 0x45, 0x2F, 0x17, 0xD4, 0x13, 0x9B, - 0x95, 0xE1, 0xA4, 0x1D, 0xC6, 0x21, 0x37, 0xA9, 0xC4, 0x4C, 0xBD, 0xA9, 0xEA, 0x43, 0x79, 0xF1, - 0xD0, 0xB8, 0xB8, 0x58, 0xF0, 0xD3, 0xF3, 0x5B, 0xE2, 0x6A, 0x98, 0xAA, 0x94, 0xB3, 0xF7, 0x7F, - 0xCC, 0x35, 0x29, 0x44, 0x0D, 0x0C, 0xD1, 0x84, 0x05, 0x8D, 0x50, 0x85, 0x92, 0xF7, 0xB5, 0x3D, - 0xEF, 0x0D, 0x32, 0x67, 0x69, 0xCE, 0x77, 0x46, 0xBD, 0x35, 0x1A, 0x77, 0xAB, 0x56, 0x2D, 0xA5, - 0xF9, 0x4A, 0x63, 0x71, 0x7C, 0x9A, 0x36, 0x12, 0x16, 0x9E, 0x0A, 0xCC, 0x8A, 0xFE, 0xA4, 0x2C, - 0x87, 0xB2, 0xE5, 0x0F, 0x33, 0xFF, 0x1C, 0x77, 0x5B, 0xD3, 0xDB, 0x50, 0xD0, 0xB7, 0xB7, 0x3F, - 0x93, 0xB7, 0xF4, 0x1B, 0xBB, 0xF6, 0x9D, 0x7E, 0x91, 0x19, 0xF5, 0xB4, 0xE8, 0xAC, 0x94, 0x1C, - 0x6C, 0xE6, 0x5A, 0xE4, 0x9E, 0x26, 0x68, 0xAE, 0xB6, 0x3E, 0xD9, 0xBF, 0x72, 0x78, 0xDA, 0x52, - 0xAA, 0x54, 0x2E, 0x22, 0x6B, 0xF8, 0x43, 0x70, 0xC7, 0x4F, 0xF6, 0xE1, 0xD7, 0x49, 0x4E, 0xC6, - 0x99, 0x7D, 0x34, 0x11, 0xC2, 0x61, 0x73, 0xE9, 0x1A, 0x92, 0x96, 0x5C, 0xA3, 0xE4, 0x97, 0x1F, - 0x30, 0x2F, 0xCF, 0xB8, 0x79, 0xCA, 0x63, 0x42, 0xC9, 0x41, 0x28, 0x31, 0x6D, 0x8F, 0x32, 0xBA, - 0xFD, 0x5E, 0x73, 0x75, 0xE2, 0xE1, 0xD3, 0x69, 0xB0, 0x38, 0x8F, 0xEF, 0xCF, 0x40, 0x5F, 0xD7, - 0x96, 0xAA, 0xEC, 0x1E, 0x5D, 0x0A, 0x87, 0x82, 0xD9, 0x51, 0x39, 0x30, 0x4D, 0x9D, 0x00, 0x88, - 0xA1, 0x97, 0xE6, 0x29, 0x9C, 0x10, 0x5C, 0x98, 0x3E, 0xB6, 0xF1, 0x1F, 0x19, 0x22, 0xEB, 0x63, - 0xBF, 0x58, 0x37, 0x37, 0xCB, 0x70, 0x6B, 0xF8, 0xC5, 0x4D, 0xB4, 0xA1, 0x03, 0xC4, 0x17, 0x9F, - 0x04, 0x59, 0x8D, 0x8C, 0x2C, 0x9C, 0x60, 0x14, 0x8A, 0x02, 0x27, 0x7D, 0x01, 0x2B, 0xFA, 0x72, - 0x73, 0x20, 0x83, 0xFB, 0xE0, 0xD7, 0xE7, 0x5F, 0xA5, 0x2D, 0x83, 0xF6, 0x5F, 0xC9, 0x46, 0xCE, - 0x49, 0x88, 0x11, 0xC1, 0x45, 0x0F, 0x9A, 0x87, 0xA8, 0x20, 0x16, 0x6E, 0x11, 0x90, 0x51, 0xD9, - 0x36, 0x79, 0x9F, 0xBE, 0x66, 0xA9, 0x1F, 0x21, 0x86, 0x0E, 0xBB, 0xED, 0x0E, 0x67, 0xB9, 0x31, - 0x57, 0x47, 0xC0, 0xDF, 0x42, 0x69, 0xFB, 0xE1, 0xF5, 0x7D, 0xD6, 0xF3, 0xE2, 0xF1, 0xC3, 0x4B, - 0xC2, 0xEB, 0xF9, 0x4A, 0x12, 0x6F, 0xAD, 0xE7, 0xC6, 0x4E, 0xFF, 0xE9, 0xA7, 0x4F, 0x38, 0xB0, - 0x01, 0x44, 0x95, 0x89, 0x53, 0x7D, 0xFE, 0xF5, 0x02, 0x8A, 0x0F, 0xDD, 0x2A, 0xDE, 0x24, 0xAC, - 0x6D, 0xEF, 0x52, 0xE5, 0x8C, 0x14, 0x48, 0x9C, 0x76, 0xFE, 0x3D, 0x9B, 0x3B, 0xDF, 0x34, 0xBC, - 0x45, 0x14, 0x81, 0xCD, 0xD6, 0x25, 0x23, 0xAD, 0x8F, 0x07, 0x3A, 0x65, 0xC9, 0x04, 0x1D, 0x95, - 0xAC, 0x02, 0x7E, 0x24, 0xEB, 0xF0, 0xCB, 0x78, 0xBE, 0x36, 0x51, 0x3F, 0xF9, 0xAD, 0x84, 0x0C, - 0x8E, 0x33, 0x6D, 0x06, 0xF2, 0xE5, 0xC7, 0x6D, 0x5E, 0xD6, 0xC6, 0x48, 0x12, 0xC5, 0x07, 0x8F, - 0x08, 0xC5, 0x1D, 0x80, 0x1C, 0x18, 0xD4, 0x90, 0x3B, 0xB3, 0xEC, 0x07, 0x29, 0x8B, 0x72, 0xFA, - 0x2B, 0xFD, 0x06, 0xA3, 0x94, 0x11, 0x55, 0x99, 0x7C, 0xF4, 0xF7, 0x5B, 0xE4, 0xB5, 0x81, 0x09, - 0x6A, 0xB0, 0x0A, 0xE2, 0x54, 0x1B, 0x9F, 0x93, 0x50, 0xD8, 0x18, 0x98, 0x49, 0x36, 0xAF, 0x27, - 0xEC, 0x46, 0x7A, 0x64, 0xB6, 0xA7, 0xC1, 0x2F, 0xCF, 0x47, 0x7E, 0x61, 0x9E, 0xEE, 0xA0, 0x28, - 0x1C, 0xC0, 0x0C, 0x94, 0xA8, 0xD4, 0xAC, 0x5C, 0x06, 0x8E, 0x1B, 0xCD, 0x3C, 0x21, 0xCD, 0x45, - 0xE8, 0x52, 0x6A, 0x60, 0x60, 0xDF, 0x6F, 0x57, 0xE3, 0x6B, 0x91, 0xA2, 0x1D, 0x89, 0x44, 0xCC, - 0xED, 0x4F, 0x72, 0x65, 0xD7, 0x35, 0x32, 0xBD, 0x74, 0xFC, 0x7F, 0xDB, 0x7B, 0x70, 0xDB, 0x53, - 0xB8, 0x07, 0x6F, 0x30, 0x3E, 0xAE, 0x40, 0x26, 0xB1, 0x39, 0x86, 0xE7, 0xBC, 0x13, 0x7F, 0xF7, - 0x65, 0x67, 0xD2, 0xED, 0xB9, 0xC0, 0xA9, 0x48, 0xA6, 0x2E, 0xC8, 0xBE, 0xB1, 0xB0, 0xD1, 0x59, - 0xA2, 0xDC, 0xAE, 0x2A, 0x97, 0x37, 0x70, 0xBF, 0x5D, 0xD5, 0x8D, 0x00, 0x0C, 0x88, 0x54, 0xDC, - 0x4D, 0x9C, 0x01, 0xC5, 0x24, 0x9D, 0x69, 0x15, 0x7A, 0xF2, 0xA1, 0x0B, 0xC2, 0xE3, 0xF1, 0x79, - 0xDD, 0x2D, 0x20, 0x55, 0x09, 0x4C, 0x95, 0xC4, 0x29, 0xA1, 0xBF, 0x46, 0xDD, 0x14, 0x19, 0x91, - 0xF2, 0x89, 0xAB, 0x7A, 0xA7, 0xB3, 0xC4, 0x3B, 0x2A, 0xA2, 0xF4, 0x0E, 0x1E, 0xDC, 0x12, 0x9A, - 0x3C, 0xB3, 0x5F, 0xB4, 0x38, 0xD8, 0x30, 0x50, 0xFE, 0x76, 0x15, 0x3B, 0xCE, 0xFA, 0xE4, 0x6C, - 0x0E, 0x93, 0x4D, 0x86, 0xB2, 0xE7, 0x85, 0x6F, 0x55, 0xDD, 0x05, 0x80, 0xFC, 0xBC, 0x90, 0x18, - 0x82, 0xAF, 0xFD, 0x0A, 0x26, 0xAB, 0x5D, 0x23, 0xAD, 0x25, 0x0B, 0x76, 0x06, 0xD5, 0x03, 0x8B, - 0x3F, 0xF8, 0x17, 0xB7, 0x96, 0x27, 0x61, 0xAF, 0x47, 0xCF, 0x56, 0xC1, 0x81, 0x19, 0x48, 0xC0, - 0x2E, 0xE0, 0x1E, 0xA6, 0xD0, 0x53, 0x53, 0xDB, 0x3A, 0xB2, 0xE5, 0x0F, 0xB5, 0x1B, 0x7E, 0xF6, - 0xEA, 0x10, 0x2A, 0x62, 0x3D, 0x88, 0x65, 0x00, 0xE6, 0x6E, 0x8C, 0xBA, 0xA4, 0x1A, 0x6E, 0xE6, - 0x4F, 0xDE, 0x41, 0xC7, 0xB1, 0xC1, 0xA0, 0x49, 0x4A, 0xC2, 0xC3, 0x59, 0xCC, 0x15, 0x09, 0x81, - 0x9B, 0x3F, 0x74, 0x13, 0x4E, 0x28, 0xB6, 0xA0, 0x2C, 0xA4, 0xA2, 0x5E, 0x00, 0x91, 0x41, 0xC9, - 0x2F, 0xE9, 0x16, 0xA7, 0x35, 0x89, 0x6C, 0x01, 0xBB, 0x33, 0x4C, 0x27, 0x2B, 0x64, 0x9F, 0x17, - 0x10, 0xF5, 0x49, 0x2C, 0xFA, 0x2A, 0x46, 0xA5, 0x3A, 0xB1, 0x42, 0xFE, 0x2F, 0x93, 0xF5, 0x13, - 0x72, 0x41, 0xFD, 0xFA, 0x5B, 0x51, 0xE7, 0x7F, 0x43, 0x5F, 0xD5, 0x69, 0xF1, 0x4D, 0x00, 0x38, - 0x4E, 0x84, 0x38, 0x03, 0x5A, 0x59, 0xE6, 0x76, 0xDE, 0x9F, 0x88, 0x34, 0x00, 0xBC, 0x7E, 0xB7, - 0x25, 0x21, 0x9D, 0xCD, 0x13, 0xD5, 0xAF, 0xB3, 0x3D, 0xD0, 0x24, 0x98, 0x67, 0xDB, 0x71, 0xDF, - 0x73, 0x51, 0xED, 0xEB, 0xF5, 0xF2, 0x49, 0x72, 0xA5, 0x45, 0x29, 0x95, 0x26, 0x9A, 0x7D, 0x92, - 0x7A, 0x40, 0xFC, 0xF3, 0x81, 0xB4, 0x3D, 0x40, 0x6B, 0xF6, 0x54, 0xE8, 0x10, 0xAC, 0x7F, 0xA6, - 0x29, 0x60, 0xDC, 0x80, 0x35, 0xD6, 0x89, 0x96, 0xE4, 0x16, 0x3B, 0x87, 0xFE, 0x42, 0xD8, 0xEF, - 0x99, 0xEC, 0x50, 0xBC, 0x79, 0x42, 0xC5, 0x4E, 0x12, 0x18, 0xC3, 0x7F, 0x6D, 0xD1, 0xB1, 0x15, - 0xCF, 0x9C, 0x20, 0x9A, 0x61, 0xC3, 0xDD, 0xD7, 0x6A, 0xE7, 0x44, 0xF8, 0x7C, 0xC0, 0xB8, 0x0D, - 0x3B, 0x52, 0xEE, 0xA0, 0x0A, 0x5C, 0xB6, 0x23, 0x5F, 0x06, 0x90, 0x2C, 0x8A, 0x36, 0x9E, 0xDD, - 0x65, 0x23, 0x9F, 0x8F, 0x4F, 0x40, 0xF3, 0x7A, 0x6F, 0xB2, 0x14, 0xA8, 0x9F, 0x23, 0x87, 0xD1, - 0x44, 0xB3, 0x0F, 0x3E, 0x9E, 0x6D, 0x22, 0x86, 0x22, 0xAC, 0x47, 0xFB, 0x77, 0xCB, 0x70, 0xCE, - 0xB6, 0x0B, 0xB7, 0x74, 0x12, 0xDD, 0xAE, 0xBA, 0xDA, 0xDB, 0xC8, 0x74, 0xBF, 0x03, 0xD4, 0xA2, - 0xCA, 0xCC, 0x70, 0xCF, 0xE5, 0xF3, 0x59, 0x63, 0x64, 0x9E, 0x33, 0x8F, 0x3A, 0x86, 0xEC, 0x1F, - 0x16, 0x83, 0x3F, 0x5C, 0xE7, 0xB3, 0x5B, 0x21, 0xBF, 0x6C, 0x1A, 0xA6, 0xB5, 0x09, 0x14, 0x68, - 0x0B, 0xD6, 0x6A, 0x14, 0x7C, 0x5A, 0xC0, 0x53, 0x83, 0x95, 0xDF, 0x63, 0x11, 0xAD, 0x77, 0xAF, - 0x68, 0x72, 0xCE, 0xD3, 0x06, 0xCC, 0xBA, 0xBF, 0xA9, 0x08, 0x68, 0xD4, 0xA3, 0x1F, 0x45, 0x2F, - 0x0E, 0x86, 0x3A, 0x41, 0x0D, 0x04, 0xB1, 0x7C, 0xC6, 0x82, 0x8D, 0x31, 0x2A, 0x96, 0xED, 0x0E, - 0x6E, 0x04, 0xB8, 0xA3, 0xC9, 0x30, 0x75, 0x8C, 0xFC, 0x0B, 0x3E, 0x82, 0xC1, 0x7D, 0x52, 0x5A, - 0x1E, 0x82, 0x3E, 0x55, 0x75, 0xD2, 0xC9, 0xD2, 0x05, 0x6D, 0xA1, 0x1D, 0xCE, 0x72, 0x8A, 0x8D, - 0x79, 0x66, 0xDA, 0xD6, 0xCA, 0x78, 0x76, 0xC7, 0x63, 0xFF, 0x55, 0xE9, 0x1C, 0xA0, 0xEF, 0x3A, - 0x62, 0x45, 0xF9, 0xEE, 0xC3, 0xF0, 0x7F, 0x46, 0x3F, 0xE4, 0x12, 0xAE, 0xEF, 0x53, 0xD1, 0xF7, - 0x1A, 0xC2, 0x7E, 0x11, 0x22, 0x8F, 0x9E, 0xD8, 0x5B, 0x42, 0xD0, 0x6C, 0xEA, 0x56, 0xC9, 0xEA, - 0x09, 0xE0, 0x5C, 0x20, 0x37, 0x96, 0x8B, 0xD4, 0x2C, 0xD5, 0x30, 0x8C, 0x69, 0xD5, 0xA1, 0x01, - 0x36, 0x03, 0xBF, 0xFC, 0xC6, 0xE8, 0x7A, 0x5B, 0xFF, 0x2E, 0x18, 0xA4, 0x5A, 0xE6, 0xBB, 0x28, - 0xE5, 0x2B, 0x97, 0x07, 0xF7, 0xB2, 0x4B, 0x30, 0x01, 0x29, 0xE1, 0x5D, 0x73, 0xCF, 0x60, 0xDA, - 0x9D, 0xAC, 0x10, 0xF8, 0xBD, 0x76, 0x01, 0xBE, 0x8D, 0xEC, 0xA8, 0x14, 0x56, 0xEA, 0x2B, 0xB4, - 0xF1, 0x6F, 0xD3, 0x57, 0xAF, 0x37, 0x13, 0xED, 0xB9, 0x1C, 0x6C, 0xD0, 0x4A, 0xF6, 0xBA, 0x39, - 0xFB, 0x58, 0xE4, 0x6A, 0x7B, 0x02, 0xC7, 0x0C, 0x89, 0xA8, 0xE8, 0x54, 0xD7, 0x6B, 0x03, 0x1D, - 0xA4, 0x39, 0x85, 0x54, 0xBB, 0x26, 0x07, 0xE8, 0x97, 0xC5, 0x9B, 0x27, 0xAD, 0x11, 0x95, 0xF1, - 0xE7, 0x1D, 0xA1, 0x33, 0x05, 0x84, 0xB9, 0xF4, 0x92, 0x90, 0xCB, 0x77, 0x28, 0x94, 0xAD, 0x4C, - 0x75, 0x27, 0x9B, 0x9B, 0xDD, 0x21, 0x61, 0x89, 0x0A, 0x05, 0xC6, 0x7A, 0x3F, 0x83, 0xF4, 0x02, - 0x53, 0xD1, 0x6D, 0x4B, 0xA2, 0xAF, 0x1E, 0x78, 0xC5, 0xA7, 0xAB, 0x17, 0x79, 0xC5, 0xA0, 0x10, - 0xE9, 0x6A, 0xD6, 0x4A, 0x4E, 0x48, 0xF2, 0x73, 0x19, 0x34, 0xE4, 0x58, 0x94, 0x28, 0x4F, 0x12, - 0x88, 0xF8, 0x44, 0xB9, 0xD8, 0x39, 0x64, 0x94, 0x54, 0x2A, 0xB7, 0x0B, 0x6E, 0xD2, 0xF9, 0x5E, - 0x82, 0xCF, 0x73, 0x84, 0xC2, 0xF8, 0x7E, 0x4F, 0x7B, 0xE2, 0x50, 0xEC, 0x85, 0x39, 0x46, 0x0A, - 0xAB, 0x5E, 0xE2, 0x3C, 0x18, 0x1D, 0xA4, 0x70, 0x55, 0x3B, 0xA7, 0x1B, 0x5C, 0xE0, 0xEB, 0x7E, - 0x17, 0x93, 0x2F, 0x4D, 0x33, 0x86, 0x8F, 0xC0, 0x8B, 0x9C, 0xDE, 0x62, 0x31, 0x8D, 0x24, 0xDC, - 0x4A, 0xC4, 0x78, 0x47, 0x2A, 0x0F, 0x96, 0x50, 0x85, 0xE5, 0xA9, 0x15, 0x20, 0x9C, 0x2D, 0xC4, - 0x50, 0xF7, 0x4B, 0x6E, 0xB3, 0xA6, 0x0F, 0x60, 0x38, 0x85, 0x74, 0xC8, 0xF9, 0x45, 0x80, 0xB0, - 0x90, 0xFD, 0x41, 0xA4, 0x24, 0xDF, 0x98, 0x8E, 0xD0, 0xE6, 0xFF, 0x43, 0xFA, 0x46, 0xC8, 0xFB, - 0x3E, 0x02, 0xBE, 0xF5, 0xF4, 0xFA, 0x48, 0x7B, 0xDB, 0xCA, 0xD8, 0x64, 0xB4, 0x08, 0x1C, 0x61, - 0x07, 0x97, 0x2B, 0x59, 0x48, 0x18, 0xF4, 0x25, 0xA8, 0x19, 0x78, 0xC4, 0xCA, 0x76, 0x9A, 0x99, - 0x81, 0xE9, 0x55, 0xA1, 0x2D, 0x57, 0x91, 0x0F, 0x34, 0xC8, 0x35, 0x89, 0xD9, 0x65, 0xD3, 0xC3, - 0x4D, 0xA2, 0x1E, 0x26, 0xDE, 0x69, 0x62, 0xC2, 0xE1, 0x43, 0x6B, 0xD7, 0xDB, 0x67, 0x93, 0x81, - 0x56, 0x81, 0x3D, 0x1E, 0x1C, 0x0D, 0xA0, 0x64, 0x13, 0x09, 0xD3, 0x6F, 0x43, 0xFF, 0x32, 0xB8, - 0xC0, 0xFB, 0x47, 0xF2, 0xF3, 0xA2, 0x4F, 0x24, 0xCD, 0xAE, 0xAA, 0x16, 0x17, 0xAB, 0x27, 0xF9, - 0xDC, 0xBE, 0x02, 0xAB, 0x01, 0x94, 0xBD, 0xE0, 0xCE, 0x8B, 0x8C, 0x30, 0x99, 0x25, 0xD7, 0x87, - 0x47, 0x95, 0x29, 0x1B, 0xE3, 0xA3, 0x5F, 0x35, 0x31, 0x9D, 0x65, 0xD9, 0x1B, 0xA7, 0xB7, 0x65, - 0xAA, 0x4E, 0xF2, 0x2D, 0xEB, 0x23, 0x57, 0xBD, 0x4B, 0x56, 0xD4, 0x68, 0x7D, 0xC1, 0xB0, 0x04, - 0xAE, 0x0E, 0xB2, 0x69, 0x32, 0x8E, 0x8E, 0xC9, 0x1F, 0x44, 0x92, 0x2E, 0x70, 0xCC, 0x28, 0x91, - 0xF6, 0x09, 0xB5, 0x36, 0x0E, 0x4C, 0xB2, 0x37, 0x3C, 0xC1, 0x34, 0x88, 0xE2, 0x5E, 0x49, 0x62, - 0xCB, 0xDC, 0x60, 0xDE, 0x3B, 0x06, 0x87, 0x48, 0x33, 0xA9, 0x53, 0xEF, 0x32, 0x8E, 0x6C, 0x97, - 0xC7, 0x9D, 0x21, 0x93, 0xF0, 0xEA, 0x4C, 0x6F, 0x91, 0xB5, 0xED, 0x51, 0x2C, 0x90, 0xBD, 0x58, - 0xE2, 0x4D, 0xF1, 0x66, 0x52, 0xD9, 0xEE, 0xFE, 0xF7, 0x27, 0x19, 0xA5, 0xB8, 0x04, 0x8C, 0xFD, - 0xFD, 0x2E, 0x92, 0x1A, 0xB0, 0xEE, 0x0C, 0x2B, 0x20, 0x98, 0x71, 0xCD, 0xE5, 0x59, 0x11, 0x3D, - 0xE3, 0x5D, 0xE1, 0x77, 0x57, 0xC1, 0xEB, 0xE3, 0x0C, 0x75, 0xB0, 0x0C, 0x2D, 0x91, 0xB5, 0x51, - 0x74, 0x37, 0x8B, 0x8A, 0xB9, 0x66, 0x05, 0xAA, 0xAC, 0x5D, 0x38, 0x84, 0x80, 0x3C, 0x5E, 0x17, - 0xE0, 0x7B, 0xC7, 0x52, 0x1A, 0x5D, 0xA6, 0x32, 0xFE, 0x3F, 0x08, 0xB4, 0x0A, 0xB6, 0xBE, 0x7D, - 0x98, 0xFC, 0x40, 0xAD, 0xB1, 0xE6, 0x0D, 0x22, 0x9B, 0x88, 0xDA, 0x66, 0xBC, 0x00, 0x9C, 0xE9, - 0x9F, 0x9A, 0x26, 0xCC, 0xA3, 0xA7, 0x1F, 0x71, 0x41, 0x6B, 0xE3, 0x5F, 0xCD, 0x71, 0xC2, 0xC6, - 0x58, 0xF6, 0x4A, 0x67, 0xBA, 0x2E, 0x06, 0xE1, 0x2F, 0xF0, 0x16, 0xAA, 0xD2, 0x6E, 0x1B, 0x00, - 0x67, 0x15, 0xA9, 0xBB, 0x4C, 0x08, 0xF0, 0x31, 0xBC, 0x49, 0x3C, 0x80, 0x63, 0xDF, 0x61, 0xCB, - 0x35, 0x25, 0x99, 0xD9, 0x07, 0xC4, 0xBB, 0xB6, 0x7C, 0x83, 0x36, 0x8A, 0xA5, 0x19, 0x15, 0x79, - 0xD4, 0x06, 0x83, 0x79, 0xA2, 0x5D, 0x8F, 0xD1, 0x62, 0x5B, 0xB0, 0x17, 0xE2, 0x00, 0x30, 0x1E, - 0x0D, 0xDF, 0xF7, 0xD4, 0xC2, 0x80, 0x52, 0x6C, 0xFB, 0xF2, 0x29, 0x27, 0xD1, 0x29, 0x03, 0x04, - 0xA8, 0x7A, 0x39, 0xBF, 0x7C, 0x53, 0x81, 0x01, 0x50, 0x49, 0x82, 0x37, 0x78, 0x7B, 0xAA, 0xFF, - 0xC5, 0x17, 0x9B, 0x70, 0xDB, 0x2A, 0xF8, 0xDF, 0x7B, 0xD2, 0xA9, 0x87, 0xB5, 0x0A, 0x67, 0x43, - 0x9A, 0x48, 0x19, 0xAD, 0x6D, 0x43, 0x91, 0x00, 0x90, 0x6D, 0x42, 0xD3, 0xDE, 0xFE, 0x0C, 0xDC, - 0x71, 0xA3, 0x4D, 0x12, 0xA5, 0xA4, 0x76, 0x2F, 0x8A, 0xAC, 0x58, 0x08, 0xE9, 0xC3, 0x3B, 0xD6, - 0x8D, 0x5F, 0x57, 0xF4, 0xE0, 0x5F, 0x8D, 0x91, 0xEA, 0xFB, 0x38, 0x3F, 0xF7, 0x0C, 0x25, 0x07, - 0x60, 0xB2, 0x55, 0x1B, 0x73, 0x10, 0xC2, 0x4D, 0x06, 0x1C, 0xD4, 0x34, 0x4C, 0x0D, 0x9E, 0xBD, - 0xE3, 0x31, 0xBE, 0x73, 0xE9, 0x5E, 0x8C, 0x99, 0xBB, 0xF6, 0x69, 0x63, 0xDD, 0xB5, 0x0F, 0x94, - 0x6D, 0xBF, 0xC0, 0x83, 0xCC, 0x78, 0xAA, 0x9A, 0x49, 0xC0, 0x9B, 0xA7, 0x98, 0xEC, 0x4A, 0x88, - 0x2F, 0xFD, 0xC6, 0xC7, 0x04, 0x9F, 0x4D, 0xB5, 0x96, 0x3D, 0x44, 0x85, 0x84, 0x61, 0x56, 0x19, - 0xB7, 0x65, 0xFF, 0x66, 0x4E, 0x27, 0xF5, 0x47, 0x54, 0x59, 0x86, 0x23, 0xA7, 0x59, 0x75, 0x02, - 0x3E, 0xEC, 0xDE, 0xCE, 0x5E, 0x8C, 0x5E, 0xFC, 0x00, 0x4C, 0xD2, 0x62, 0xB1, 0x1E, 0x63, 0x53, - 0x2D, 0xFF, 0x84, 0x87, 0x8F, 0xC1, 0x13, 0x60, 0x65, 0x03, 0xB7, 0x48, 0xCF, 0xE6, 0x1D, 0xD5, - 0x0E, 0xDC, 0xBC, 0x9C, 0xA1, 0x0B, 0xD9, 0x84, 0x6C, 0x8B, 0xBE, 0xC9, 0xDB, 0xE3, 0x09, 0xC4, - 0x40, 0x92, 0x26, 0x48, 0x8D, 0x2C, 0xFE, 0x8F, 0xBC, 0xAE, 0x6E, 0x3C, 0x24, 0xB2, 0xF6, 0x6A, - 0x4C, 0x9E, 0xBA, 0xD8, 0x60, 0xED, 0x3F, 0xA3, 0x1A, 0x8D, 0xC8, 0xB9, 0x6B, 0x21, 0xB9, 0xB6, - 0x11, 0xC3, 0x7A, 0x45, 0xDF, 0x85, 0x57, 0x74, 0xF8, 0xBA, 0x2A, 0x6C, 0x08, 0x5D, 0xDA, 0xA9, - 0xC6, 0x14, 0xD0, 0x38, 0xEE, 0xA7, 0x75, 0x67, 0x73, 0x52, 0xA1, 0x0F, 0xFA, 0x99, 0x28, 0x9F, - 0xD8, 0x0A, 0x1F, 0xE9, 0xF2, 0x19, 0xCB, 0xC5, 0xB8, 0xBE, 0x6A, 0x28, 0xBB, 0xD4, 0x69, 0x93, - 0x84, 0x56, 0xD6, 0x7C, 0x03, 0x66, 0xB4, 0x4B, 0x7A, 0xDA, 0xA8, 0x8E, 0x28, 0x2E, 0xFA, 0xFA, - 0x16, 0xC4, 0x25, 0x1D, 0x86, 0xC0, 0x12, 0x68, 0x46, 0x18, 0x94, 0x70, 0x2F, 0x71, 0xFD, 0xA2, - 0xEF, 0x3D, 0x22, 0xE3, 0xDA, 0x91, 0x43, 0x65, 0xAB, 0xF7, 0x79, 0x72, 0xB3, 0x5C, 0x61, 0x13, - 0x89, 0x5B, 0x43, 0xE4, 0x11, 0x20, 0xF2, 0x1F, 0xA3, 0x77, 0x71, 0xFA, 0x68, 0x6A, 0xBA, 0xFE, - 0x97, 0x45, 0x8C, 0x35, 0x0E, 0xC8, 0x1A, 0xE8, 0x04, 0x5C, 0xD6, 0x76, 0x33, 0xFC, 0xE1, 0x33, - 0x51, 0x83, 0x3E, 0x41, 0xC4, 0xC2, 0x10, 0x28, 0x4F, 0x90, 0x9D, 0xF1, 0x03, 0x9E, 0xD1, 0x61, - 0x39, 0xEB, 0x81, 0x96, 0x2C, 0x17, 0xC5, 0x15, 0xEB, 0xF3, 0x39, 0x36, 0xBC, 0x8B, 0x6E, 0xCB, - 0x26, 0xF4, 0x47, 0x4F, 0xB7, 0xE2, 0x30, 0x7B, 0xF2, 0x7A, 0x20, 0xA6, 0xD0, 0x20, 0x02, 0x0C, - 0xFE, 0x2C, 0x3A, 0xEA, 0x78, 0xFC, 0x2E, 0xAA, 0x52, 0x09, 0x80, 0x75, 0x5D, 0x15, 0x8F, 0xB4, - 0x48, 0x9A, 0xAE, 0xC8, 0xCF, 0x2E, 0xFC, 0xCF, 0xF9, 0xB2, 0x2B, 0x65, 0xDA, 0xEA, 0x08, 0xCC, - 0xD9, 0x0B, 0x16, 0xE1, 0x32, 0x44, 0x96, 0x58, 0x1F, 0x95, 0xCD, 0xA4, 0x7B, 0x30, 0xA9, 0xB7, - 0x74, 0xA6, 0x50, 0x0A, 0x1A, 0xCC, 0x1E, 0xF8, 0xF1, 0x32, 0x23, 0xED, 0x11, 0xCD, 0xC3, 0x20, - 0x0A, 0xD8, 0xA8, 0x8C, 0x51, 0xCF, 0x1D, 0xB0, 0x7D, 0x82, 0xAF, 0xD1, 0x46, 0xC7, 0x94, 0x7D, - 0x99, 0x4B, 0x52, 0xE5, 0x5F, 0x37, 0xE5, 0x46, 0x31, 0x16, 0xE3, 0x09, 0xCA, 0xFB, 0x18, 0xCD, - 0xD2, 0x00, 0xD5, 0x29, 0x02, 0xDD, 0x0F, 0xF1, 0xBD, 0xA6, 0x6F, 0x35, 0x77, 0xAC, 0xA5, 0x27, - 0xE4, 0x36, 0xE1, 0x2B, 0xB1, 0xA0, 0x72, 0x3F, 0xC9, 0xE0, 0x1B, 0x07, 0x66, 0xB4, 0xB4, 0x2E, - 0xF4, 0x26, 0xF0, 0x2A, 0xD8, 0x7C, 0xAE, 0x8A, 0x12, 0x0D, 0xC0, 0x31, 0xA2, 0x44, 0x70, 0x1A, - 0x93, 0x41, 0x98, 0x25, 0x97, 0xD0, 0x02, 0x69, 0x5B, 0x81, 0x89, 0xF4, 0x07, 0x8A, 0xD5, 0x71, - 0xDB, 0x09, 0x54, 0xA1, 0xF6, 0xB6, 0x64, 0x6E, 0xB2, 0x7E, 0x60, 0xE2, 0xD3, 0x6B, 0x01, 0x44, - 0x05, 0xD7, 0x7F, 0x54, 0x18, 0x21, 0xF3, 0x17, 0x13, 0x05, 0xC1, 0x38, 0x67, 0xBD, 0xB5, 0x26, - 0x41, 0x93, 0x2F, 0x40, 0x2B, 0xEE, 0x3C, 0xEB, 0xAF, 0xE7, 0x7D, 0x66, 0xA5, 0x1B, 0x77, 0x42, - 0xE5, 0x37, 0xE8, 0x23, 0xD2, 0x2B, 0xF9, 0xD7, 0x34, 0x0E, 0xE6, 0x14, 0xF0, 0x53, 0x22, 0x5F, - 0x4B, 0x99, 0xE5, 0x80, 0x9C, 0x3C, 0xEE, 0x8E, 0x5A, 0x89, 0x88, 0xFD, 0x2D, 0x33, 0xFF, 0xE2, - 0xCE, 0x1C, 0x58, 0xB8, 0xD9, 0xC7, 0x15, 0x30, 0xAD, 0xA7, 0x7F, 0x24, 0xEA, 0x88, 0x38, 0x9E, - 0x6B, 0xB9, 0x96, 0xD3, 0xF5, 0xE0, 0x32, 0x3B, 0x07, 0x14, 0xD5, 0x3D, 0x05, 0xC8, 0xD7, 0x31, - 0x83, 0x51, 0x89, 0x24, 0xEB, 0xB3, 0x61, 0x76, 0xD6, 0x39, 0x04, 0xC1, 0x95, 0x79, 0x47, 0x10, - 0x88, 0x5A, 0x4A, 0xEC, 0xA0, 0xB0, 0x62, 0x3E, 0x29, 0x97, 0xFB, 0x90, 0xBA, 0xDD, 0x68, 0x9B, - 0x7E, 0xAC, 0x9A, 0xCA, 0x41, 0x64, 0xB6, 0x0B, 0x42, 0x08, 0x90, 0x64, 0x74, 0xE7, 0xA6, 0x6F, - 0x1E, 0xCC, 0xAD, 0x9D, 0x05, 0x24, 0xF6, 0x0F, 0x6A, 0xDB, 0xB8, 0x9F, 0xE4, 0x56, 0x36, 0x4E, - 0x9D, 0x4F, 0x46, 0xF5, 0x92, 0xC4, 0x16, 0x78, 0x7F, 0xC2, 0xAD, 0x93, 0xC6, 0x67, 0x14, 0x5D, - 0xE8, 0x3A, 0x7D, 0xBB, 0xB8, 0xA1, 0x73, 0x37, 0x82, 0x2C, 0x50, 0x80, 0x40, 0x91, 0x92, 0x2D, - 0x1B, 0xC9, 0xB0, 0x85, 0xA3, 0xE6, 0x34, 0x6B, 0x8B, 0xA4, 0x59, 0x01, 0x63, 0xA9, 0xB1, 0x36, - 0x35, 0xE7, 0x1D, 0x06, 0x4C, 0xCA, 0x18, 0xA8, 0x81, 0x64, 0x53, 0xCB, 0x22, 0xE4, 0xF0, 0x3A, - 0x3A, 0xE8, 0xCA, 0xDE, 0x2A, 0x55, 0x87, 0x51, 0x3D, 0x86, 0xEF, 0x95, 0xA4, 0x12, 0x76, 0x4A, - 0x57, 0x85, 0x68, 0x11, 0x4F, 0x9C, 0x4E, 0xFD, 0x4E, 0x98, 0x9C, 0xF8, 0x54, 0x94, 0x86, 0x3C, - 0xDE, 0x0C, 0x49, 0xB9, 0xC5, 0x79, 0xAB, 0x92, 0x45, 0x50, 0x97, 0x3B, 0xA0, 0x06, 0x72, 0x5A, - 0xDC, 0x0E, 0x0B, 0xF9, 0xD7, 0x3F, 0xED, 0xC6, 0x4D, 0xD0, 0x9F, 0xB3, 0x3B, 0x74, 0xE9, 0xB3, - 0xCB, 0x19, 0x45, 0xA0, 0x42, 0x32, 0xE0, 0x5E, 0x95, 0x75, 0x47, 0xCE, 0x01, 0xDC, 0xD3, 0x21, - 0x23, 0xF1, 0x5A, 0x57, 0xEF, 0x1C, 0xCE, 0xDD, 0x33, 0x56, 0xE1, 0x4B, 0x7E, 0x2D, 0xAC, 0xAF, - 0x59, 0x8B, 0xB6, 0xC1, 0x82, 0x6F, 0xBD, 0xC3, 0xF3, 0x72, 0x21, 0xAF, 0x1F, 0x13, 0xCD, 0xF0, - 0xA2, 0x70, 0xF3, 0x7F, 0xAB, 0x5C, 0x8E, 0xD9, 0xF5, 0x22, 0x27, 0xF9, 0x8A, 0xBF, 0x58, 0xC9, - 0xBE, 0x6C, 0x7E, 0xEE, 0x5B, 0x98, 0x4A, 0xED, 0xE7, 0x63, 0x35, 0xAA, 0x49, 0x10, 0x9B, 0xA5, - 0xAE, 0x7C, 0x6F, 0xEF, 0x69, 0xEC, 0x3E, 0xAB, 0x8E, 0xBC, 0x5C, 0x1C, 0x25, 0xBB, 0xF7, 0x62, - 0x87, 0x55, 0x9D, 0x34, 0x6E, 0x15, 0xC7, 0x55, 0xBF, 0xE6, 0x6D, 0x77, 0x0D, 0x40, 0xDF, 0xB1, - 0x8F, 0x21, 0x20, 0x5F, 0x2A, 0xB8, 0x1C, 0x68, 0x14, 0xC4, 0x53, 0xC9, 0xDF, 0xE2, 0xB3, 0x63, - 0x84, 0xE2, 0xE8, 0x54, 0x4C, 0x4C, 0x8E, 0x9C, 0x9D, 0x4D, 0x72, 0x61, 0x55, 0x8D, 0x56, 0x86, - 0xF7, 0x8F, 0xF6, 0x27, 0x3A, 0xBC, 0x08, 0x6C, 0xF0, 0x20, 0xD0, 0xAE, 0x30, 0x21, 0x9F, 0x4F, - 0x4B, 0xD1, 0x14, 0x9B, 0x4A, 0x3A, 0xFE, 0xEA, 0xFF, 0x2F, 0x07, 0x76, 0x56, 0xD8, 0x00, 0xD0, - 0x41, 0x1B, 0xD4, 0x91, 0x46, 0x7B, 0xB3, 0xAB, 0xD1, 0x01, 0xAA, 0xF5, 0xB9, 0x1B, 0x2C, 0xFC, - 0x48, 0x9A, 0x5C, 0x98, 0x5D, 0x58, 0x8B, 0x88, 0x22, 0xF2, 0x67, 0xCB, 0xA2, 0x47, 0x6B, 0xBB, - 0xB5, 0x89, 0xB2, 0x65, 0x2D, 0xDE, 0x7D, 0x0E, 0x57, 0x87, 0x5C, 0x85, 0x88, 0x08, 0x0E, 0xDE, - 0xA0, 0x85, 0xAB, 0x70, 0x3E, 0xFC, 0x4C, 0x2C, 0xD4, 0x04, 0xB7, 0xED, 0x1F, 0x7F, 0xEE, 0x3E, - 0x75, 0x6D, 0x96, 0xA5, 0xC1, 0x15, 0x5A, 0xC5, 0x4D, 0x9D, 0x87, 0x44, 0x74, 0x25, 0xDF, 0x0F, - 0x44, 0x06, 0xCC, 0x94, 0x12, 0x3D, 0xA1, 0xED, 0x64, 0xB4, 0x75, 0x9F, 0x73, 0xDB, 0x26, 0xF6, - 0x2D, 0xB0, 0x13, 0xFD, 0xD5, 0x51, 0x0A, 0x81, 0x74, 0xA4, 0x64, 0x9E, 0x41, 0x9D, 0x52, 0x82, - 0x3F, 0xE3, 0x52, 0xEF, 0xB9, 0x92, 0xA5, 0x42, 0x68, 0xB8, 0xE9, 0x0F, 0xB1, 0xA9, 0x96, 0x46, - 0x39, 0xB5, 0x02, 0xE9, 0x80, 0x07, 0x09, 0xD7, 0x93, 0x43, 0xAC, 0xB1, 0x98, 0xB3, 0xA5, 0x75, - 0xF9, 0x51, 0x26, 0x29, 0xDF, 0x66, 0x37, 0xB6, 0xE9, 0x39, 0x40, 0x27, 0xF5, 0xAD, 0xD6, 0x06, - 0x5F, 0xD4, 0x05, 0x8F, 0x51, 0x19, 0xC6, 0xC9, 0x01, 0xD1, 0x5F, 0xD0, 0x58, 0x2E, 0xF8, 0x28, - 0x87, 0xA9, 0xA0, 0x57, 0xC3, 0x23, 0x6E, 0xF3, 0x16, 0xC6, 0x11, 0x89, 0xCD, 0xB6, 0xF5, 0x25, - 0xD9, 0x22, 0x75, 0x09, 0x56, 0x7F, 0xA7, 0xAF, 0xCF, 0x1F, 0x65, 0x24, 0x02, 0x67, 0xEB, 0x3B, - 0x78, 0xF8, 0x0E, 0xA8, 0x34, 0xCB, 0x71, 0x1B, 0x11, 0xC1, 0x4E, 0xD1, 0xEC, 0x1E, 0x7C, 0xAC, - 0x91, 0xEE, 0xF1, 0x41, 0x01, 0x1F, 0x90, 0xCF, 0x59, 0x89, 0x82, 0x55, 0x8D, 0x19, 0x1A, 0xCA, - 0xD8, 0x2B, 0x7D, 0x08, 0x6A, 0xBA, 0x5E, 0x6A, 0x3E, 0xEE, 0xEA, 0x5A, 0xC2, 0xFA, 0xB6, 0x66, - 0x03, 0x1D, 0x90, 0xD3, 0x5E, 0x7E, 0xAE, 0xAE, 0x2E, 0xFE, 0xFB, 0x5B, 0xAB, 0x4F, 0x6A, 0xBA, - 0x77, 0x2F, 0xD6, 0xA7, 0x57, 0x6F, 0xB6, 0xBF, 0x18, 0xC8, 0xCF, 0x59, 0x18, 0x81, 0x17, 0xC7, - 0xFB, 0x13, 0x66, 0x2B, 0xBD, 0xD2, 0xE1, 0x02, 0x53, 0x83, 0x48, 0x95, 0x45, 0x36, 0xFD, 0x2D, - 0xB7, 0xCB, 0xF2, 0x67, 0x0D, 0x5E, 0xDD, 0x8E, 0xC0, 0x10, 0xB2, 0xFC, 0x4B, 0xC0, 0x05, 0xD5, - 0x88, 0x7E, 0x78, 0x58, 0x1F, 0x6C, 0xFD, 0xBC, 0xB4, 0x64, 0x80, 0xBA, 0x5B, 0x7B, 0xAE, 0x7E, - 0xE3, 0x8A, 0xE7, 0x33, 0xEB, 0xA2, 0xC7, 0x72, 0x42, 0x92, 0x50, 0x9C, 0xBA, 0x4E, 0x7A, 0xAA, - 0x1C, 0xDB, 0x49, 0xCC, 0x60, 0x8D, 0x63, 0x5D, 0x49, 0x99, 0x93, 0x54, 0xF1, 0x06, 0x79, 0xA9, - 0xCD, 0x27, 0x64, 0x1D, 0x41, 0x1D, 0xD2, 0xCD, 0xA1, 0x71, 0x8C, 0xA3, 0xEF, 0x4B, 0x2A, 0xFA, - 0x67, 0x3E, 0xD7, 0xB7, 0xEE, 0xF2, 0x92, 0x22, 0x04, 0xD4, 0x42, 0xC8, 0xC3, 0x40, 0x0D, 0xDD, - 0x90, 0xE7, 0xF9, 0x40, 0x92, 0x35, 0x29, 0xE5, 0x81, 0x51, 0xFF, 0xF0, 0x86, 0xFE, 0xF6, 0x26, - 0xFE, 0x0E, 0x7E, 0x2E, 0x2F, 0xE8, 0x49, 0x38, 0x2F, 0xFF, 0xF2, 0x53, 0xC8, 0xA7, 0xE1, 0x31, - 0x65, 0x7C, 0x97, 0xB5, 0x32, 0xBD, 0x01, 0x6D, 0x8B, 0x5B, 0x35, 0x30, 0x31, 0x9B, 0x24, 0xF4, - 0x69, 0xE0, 0x07, 0xB9, 0x8E, 0x70, 0x70, 0xA0, 0x43, 0x93, 0x59, 0x94, 0x0B, 0x6F, 0xEA, 0x3A, - 0x61, 0x68, 0x87, 0xB1, 0x63, 0xAB, 0x46, 0x7B, 0x25, 0xF5, 0x38, 0x93, 0xC0, 0x15, 0x5B, 0x8B, - 0x8C, 0x6A, 0x68, 0x5C, 0xD2, 0x37, 0x6B, 0xE7, 0xDC, 0x0C, 0x3F, 0x6D, 0x9C, 0x18, 0x0A, 0xDA, - 0xB0, 0x94, 0xAA, 0x60, 0x8A, 0x30, 0x34, 0xE0, 0x4E, 0x9E, 0xCC, 0x0C, 0x19, 0x3B, 0xAC, 0x7C, - 0x72, 0x32, 0xCE, 0xA2, 0xE3, 0xA3, 0xCE, 0x73, 0x12, 0xC2, 0x05, 0x99, 0xE8, 0xB5, 0xD3, 0x03, - 0xB9, 0x15, 0x22, 0x69, 0xEF, 0xE2, 0x83, 0x32, 0x0C, 0xDC, 0xCA, 0x48, 0xF4, 0x17, 0x6D, 0xBD, - 0x32, 0x76, 0xCA, 0xE2, 0xD9, 0x10, 0x47, 0xC0, 0xDB, 0x0B, 0x60, 0x35, 0xC5, 0x04, 0x4F, 0x9F, - 0xD0, 0xA3, 0xFD, 0x00, 0xC6, 0x73, 0x3B, 0xA3, 0x86, 0x56, 0xA0, 0xA8, 0x7A, 0xD3, 0x27, 0xF7, - 0x3B, 0xF7, 0x42, 0xEB, 0x50, 0x09, 0xD7, 0xD9, 0xBE, 0x6E, 0x4A, 0x7A, 0x00, 0x88, 0x06, 0xD6, - 0xD5, 0xBE, 0xE5, 0x05, 0xC7, 0x63, 0x2A, 0xB3, 0x13, 0xC3, 0x0C, 0x91, 0x28, 0x28, 0x8E, 0x5E, - 0x33, 0x7F, 0xC2, 0xE3, 0xBC, 0xC2, 0xF0, 0x12, 0x82, 0x52, 0xB4, 0xB8, 0xD5, 0xBF, 0xE4, 0x34, - 0x98, 0x6F, 0x79, 0x48, 0xC4, 0x45, 0x0F, 0x95, 0x34, 0xE4, 0x20, 0x9A, 0x62, 0xDA, 0x36, 0xE6, - 0x38, 0xBC, 0x0A, 0xE8, 0x7C, 0xC8, 0x3A, 0x18, 0xEC, 0x3C, 0x5D, 0x3F, 0xAD, 0x0B, 0x28, 0xF8, - 0x21, 0x2C, 0x83, 0xF1, 0xBB, 0xA4, 0x91, 0x74, 0xF3, 0x23, 0x9B, 0xE6, 0x36, 0x65, 0xDD, 0x0D, - 0x85, 0xEB, 0xE0, 0x55, 0x11, 0x1B, 0x84, 0xCB, 0x9B, 0x4B, 0x24, 0x31, 0xDE, 0x58, 0x08, 0xD8, - 0xCE, 0x6C, 0x2C, 0x1E, 0x43, 0x2B, 0xE6, 0xFB, 0x5D, 0x8D, 0x96, 0x45, 0x14, 0x98, 0x02, 0xD2, - 0xCC, 0x2E, 0x6C, 0x1C, 0xCD, 0x54, 0x17, 0x84, 0xAA, 0x7A, 0x4F, 0x6B, 0x69, 0x3D, 0xDA, 0x0A, - 0x20, 0x25, 0x8B, 0xF0, 0x77, 0xEF, 0x16, 0x3F, 0x47, 0x97, 0x4D, 0x84, 0xFA, 0xE1, 0x95, 0x45, - 0x40, 0x12, 0xDC, 0x90, 0xA6, 0xF1, 0xD9, 0x21, 0xBB, 0x6B, 0x57, 0x62, 0xBF, 0x5F, 0x6E, 0xBE, - 0x5A, 0xC9, 0x1D, 0x8A, 0xAC, 0xC6, 0xE4, 0x16, 0x50, 0x80, 0x03, 0xDD, 0x77, 0x70, 0x89, 0x59, - 0xB1, 0x9D, 0xA2, 0x61, 0x33, 0xAD, 0x10, 0x7D, 0x0F, 0xDF, 0x81, 0x00, 0xC1, 0xAF, 0xE0, 0x30, - 0x9A, 0x2D, 0x39, 0x4A, 0x8F, 0x60, 0x61, 0xB0, 0x62, 0xB2, 0x23, 0xCF, 0x66, 0x71, 0x99, 0x49, - 0x31, 0x3D, 0x82, 0xE1, 0x74, 0xC9, 0x33, 0x19, 0xC7, 0x17, 0xED, 0xA4, 0xD8, 0x1C, 0x4A, 0x9A, - 0xA8, 0x0D, 0x2B, 0x78, 0x6E, 0xFA, 0x1A, 0x2A, 0x1E, 0xCE, 0x99, 0x09, 0xB8, 0xA1, 0x97, 0x47, - 0x76, 0x26, 0xDE, 0xA6, 0x1A, 0x3C, 0xA8, 0xEC, 0x8A, 0x5A, 0x3C, 0x38, 0x97, 0xFF, 0xE6, 0x36, - 0xA6, 0xD3, 0xFB, 0x76, 0xB4, 0xC3, 0xF9, 0x13, 0xC4, 0x14, 0xA6, 0xEC, 0xBB, 0xF4, 0xC1, 0x11, - 0xAF, 0x52, 0x73, 0x7F, 0xA5, 0xD7, 0xFC, 0x07, 0xE7, 0x37, 0x9E, 0xF7, 0x95, 0x10, 0x0B, 0xDB, - 0xCA, 0x78, 0x3C, 0x1A, 0x23, 0xA9, 0x04, 0x79, 0xF4, 0x24, 0xC4, 0xBE, 0x44, 0x8C, 0x46, 0x96, - 0x9E, 0x39, 0x29, 0x4E, 0x72, 0xBF, 0x43, 0x6F, 0x7D, 0xAD, 0xE5, 0x16, 0x54, 0x37, 0xED, 0x3D, - 0x5C, 0x9F, 0x4D, 0x8C, 0x69, 0x9C, 0x7B, 0x4C, 0xE5, 0x35, 0xDC, 0xB7, 0x1E, 0xC5, 0x55, 0x85, - 0x83, 0xBD, 0xB0, 0x53, 0xF8, 0x80, 0xF6, 0x50, 0xA7, 0x77, 0xDA, 0xF3, 0xD6, 0xEA, 0xB2, 0x62, - 0x71, 0x79, 0x86, 0xA1, 0xE4, 0xC5, 0xAF, 0x15, 0x29, 0xF9, 0xA4, 0x03, 0xF3, 0xE9, 0x94, 0x44, - 0xE8, 0x1B, 0xA1, 0x17, 0x0A, 0x47, 0x1F, 0xB8, 0x71, 0x8E, 0x2B, 0x08, 0x56, 0xAD, 0xA9, 0x56, - 0x2D, 0xE2, 0x9D, 0xD2, 0x69, 0xE3, 0xD8, 0x1C, 0x24, 0xDB, 0x63, 0x15, 0x24, 0x44, 0x32, 0xCD, - 0x3A, 0xAC, 0xC4, 0xC5, 0xCA, 0x4D, 0xD5, 0xB2, 0xF9, 0x06, 0x03, 0xA8, 0xCD, 0xC3, 0x5C, 0xA3, - 0xC1, 0xE9, 0x7A, 0x3E, 0xF2, 0xC8, 0x68, 0x37, 0x3E, 0xC1, 0xB8, 0xD4, 0x14, 0xED, 0xAB, 0x54, - 0xE6, 0xC5, 0x71, 0x19, 0x99, 0x6D, 0xA6, 0x92, 0xD1, 0x2E, 0xF8, 0x7B, 0x0D, 0x5E, 0x01, 0xFE, - 0xB5, 0xDB, 0x3C, 0x4A, 0x6E, 0x85, 0xB9, 0x7A, 0x41, 0xBE, 0x49, 0x5A, 0xF1, 0x73, 0xD0, 0x2F, - 0xB6, 0x90, 0x74, 0x49, 0xA6, 0x8E, 0x7A, 0x71, 0x6E, 0x91, 0xED, 0xD1, 0xA0, 0xDD, 0x2F, 0xD0, - 0x62, 0x71, 0x41, 0x9D, 0x80, 0x78, 0xAA, 0x87, 0xA0, 0x5F, 0xD7, 0x25, 0x54, 0x42, 0x44, 0xBB, - 0xC9, 0x61, 0xFA, 0x36, 0xC6, 0x0C, 0x98, 0xF3, 0x92, 0x6D, 0xF7, 0x37, 0xE1, 0xC8, 0x7B, 0x84, - 0x31, 0x6F, 0x0C, 0xCE, 0xAF, 0x9F, 0x62, 0x60, 0x1E, 0xE1, 0xCB, 0x87, 0x39, 0x5C, 0x37, 0xC8, - 0xDB, 0x32, 0xBB, 0x24, 0x63, 0xD4, 0xE5, 0x2B, 0xA3, 0x5C, 0x9C, 0x6D, 0x05, 0xEC, 0xBB, 0x44, - 0xA6, 0x81, 0x75, 0x59, 0x61, 0xE2, 0xD1, 0x1D, 0xB2, 0x4D, 0x84, 0x64, 0x37, 0xAA, 0xCF, 0x30, - 0x7A, 0xE8, 0xC0, 0x85, 0x60, 0xF2, 0xC0, 0x0D, 0x76, 0x89, 0x74, 0x50, 0x01, 0x47, 0x14, 0xEB, - 0xD6, 0xA7, 0x23, 0x29, 0x6F, 0x95, 0xA8, 0x6A, 0xD3, 0x2C, 0xBA, 0x3B, 0xC4, 0xCB, 0x5D, 0xA2, - 0xB0, 0xC6, 0x24, 0x4F, 0xEB, 0xDD, 0x64, 0x22, 0x07, 0xF8, 0x5B, 0x0E, 0xD2, 0x34, 0xB4, 0x4B, - 0x27, 0x28, 0x5D, 0xD8, 0x1E, 0x03, 0x4F, 0xFC, 0xB3, 0x4C, 0x8D, 0x6C, 0x08, 0x4F, 0x15, 0xEA, - 0x39, 0xE7, 0x8C, 0xC6, 0xB3, 0xDA, 0x3B, 0x25, 0xEF, 0x10, 0x44, 0xF9, 0x83, 0x9A, 0x4B, 0xB4, - 0x34, 0x72, 0x14, 0xCB, 0xEA, 0xCD, 0x75, 0x32, 0xD5, 0x2A, 0xEC, 0x6B, 0xFE, 0x3F, 0x93, 0x6C, - 0x1A, 0xDF, 0x97, 0xE5, 0x1D, 0x25, 0x6A, 0xDA, 0xAA, 0x55, 0x1D, 0xE5, 0x7B, 0x1C, 0x35, 0xCA, - 0x69, 0xB2, 0x89, 0x96, 0x8B, 0x5F, 0x86, 0xA0, 0xCB, 0x34, 0x23, 0xBA, 0x9F, 0x38, 0xF5, 0x0A, - 0x5A, 0x9B, 0x93, 0xA5, 0x35, 0xA4, 0xC3, 0x5B, 0x5E, 0xA1, 0x8F, 0x83, 0xC9, 0x68, 0xF3, 0x0C, - 0x9E, 0x6B, 0xA7, 0x61, 0xA4, 0xB8, 0x4E, 0x47, 0x9D, 0x62, 0x20, 0xEF, 0x9A, 0x29, 0xE1, 0x1E, - 0xEA, 0x59, 0xE1, 0x15, 0xA5, 0xA8, 0x5F, 0x57, 0xF1, 0x0E, 0x8B, 0x28, 0x2C, 0xF6, 0x88, 0x77, - 0x13, 0x5E, 0x1F, 0xEC, 0x7E, 0x81, 0xAD, 0x7E, 0xD9, 0x26, 0x70, 0xFB, 0x47, 0xAC, 0xB9, 0x46, - 0x22, 0x35, 0x45, 0xDD, 0xD7, 0x18, 0x9D, 0xE7, 0x30, 0xCF, 0x66, 0x04, 0xAF, 0x91, 0x6C, 0x93, - 0xC2, 0xA2, 0x32, 0x3D, 0xBF, 0x9B, 0x76, 0x64, 0x12, 0xED, 0x57, 0x17, 0xA3, 0x88, 0x79, 0x86, - 0xA7, 0x88, 0x7D, 0x58, 0xF1, 0xEE, 0x4D, 0x11, 0x94, 0x6B, 0xA1, 0x67, 0xB0, 0x66, 0x84, 0x7B, - 0xE0, 0x93, 0x21, 0x1F, 0xCF, 0x1D, 0x80, 0xE2, 0xB7, 0x48, 0x99, 0x7C, 0x31, 0xEE, 0x8D, 0x72, - 0xCC, 0x7C, 0xE2, 0x33, 0x4C, 0x33, 0x2D, 0xCC, 0xF6, 0x09, 0xD4, 0x70, 0xFB, 0x2E, 0x87, 0x78, - 0x53, 0x1A, 0x1B, 0xAC, 0x94, 0x3C, 0xFA, 0xC3, 0x70, 0x8F, 0x22, 0x00, 0xA5, 0xCC, 0x3B, 0xC4, - 0x9A, 0x7F, 0xB7, 0x65, 0x5B, 0x51, 0x58, 0xAE, 0x80, 0x7F, 0xA4, 0x76, 0xC8, 0xD2, 0x48, 0xB7, - 0x7F, 0xF5, 0xD8, 0x80, 0xF3, 0xD8, 0x79, 0x27, 0x74, 0x8B, 0x36, 0x10, 0x0B, 0x1A, 0x43, 0xBC, - 0x58, 0xD9, 0xD3, 0xA7, 0x39, 0xE5, 0x8E, 0x1A, 0x09, 0xF6, 0x85, 0xDE, 0x53, 0xBC, 0xBD, 0x42, - 0x7E, 0xFC, 0xD0, 0x81, 0xC9, 0x6B, 0xF0, 0x94, 0x4C, 0xB3, 0xDC, 0xC2, 0x97, 0x8A, 0x4F, 0xB0, - 0x99, 0x34, 0xFF, 0x66, 0x8D, 0x29, 0xF6, 0xD6, 0x50, 0xAF, 0x51, 0x53, 0xB5, 0x77, 0x90, 0x6F, - 0x21, 0x7E, 0x0D, 0xDE, 0x2C, 0xB1, 0xCF, 0x4E, 0x73, 0x8C, 0x69, 0x48, 0x13, 0x13, 0x52, 0xAD, - 0x8A, 0x6E, 0xB6, 0x75, 0x84, 0x38, 0xEE, 0xC7, 0x65, 0x9A, 0x2E, 0x19, 0x52, 0x06, 0x06, 0xF9, - 0xC7, 0xBF, 0x2A, 0x38, 0xCD, 0x2B, 0xB4, 0xD4, 0x1B, 0xE4, 0xD6, 0x9F, 0x78, 0x49, 0x63, 0x9C, - 0x0D, 0x91, 0xCE, 0xF2, 0xD6, 0x08, 0x8C, 0xF7, 0x0F, 0xF0, 0xD3, 0x8E, 0xF9, 0xC1, 0x6A, 0x95, - 0x2A, 0xBD, 0xC5, 0xD5, 0x02, 0x46, 0x16, 0xB9, 0xF0, 0x0F, 0x82, 0x20, 0x0C, 0xE4, 0xBA, 0x45, - 0x5B, 0x92, 0x9B, 0xA4, 0x33, 0xD2, 0xB3, 0x2D, 0x36, 0xC9, 0x30, 0x54, 0x27, 0x11, 0x64, 0x9B, - 0x86, 0xF2, 0x26, 0x79, 0x9E, 0x0B, 0xC7, 0xF4, 0x05, 0xFA, 0x19, 0x4E, 0x17, 0xB8, 0xFD, 0x02, - 0x55, 0x4C, 0x4B, 0xAA, 0xF5, 0xAE, 0x09, 0x51, 0xAC, 0x53, 0x4B, 0xB5, 0x07, 0x03, 0x56, 0xA9, - 0x2C, 0xEB, 0x95, 0xD3, 0x3A, 0xC3, 0xAB, 0x3C, 0x61, 0x9E, 0x3A, 0x09, 0xB7, 0x98, 0x7D, 0x82, - 0x45, 0x5D, 0x4A, 0xBA, 0xE7, 0x9C, 0x29, 0x63, 0x0A, 0xF5, 0xCE, 0x96, 0xE3, 0x27, 0x96, 0x69, - 0xA2, 0x95, 0x65, 0x5D, 0x58, 0x77, 0x7D, 0x88, 0x3D, 0xC2, 0xF3, 0x9C, 0x38, 0xE6, 0x8C, 0x73, - 0x59, 0xD0, 0xDB, 0xA6, 0xBE, 0x8B, 0x67, 0x74, 0x23, 0xDC, 0x3C, 0x4D, 0x0F, 0xB1, 0xEC, 0x13, - 0x16, 0x43, 0x07, 0xE9, 0x51, 0x66, 0x65, 0x99, 0x98, 0x67, 0x3D, 0xF7, 0x04, 0x56, 0x00, 0xFF, - 0xCE, 0x3E, 0xA2, 0x31, 0x7F, 0x91, 0xBC, 0x6E, 0xE7, 0x18, 0xCC, 0x79, 0x46, 0x16, 0x02, 0xFD, - 0xC4, 0xF4, 0x62, 0x3B, 0x0B, 0x57, 0x0E, 0xA8, 0xD7, 0x28, 0xAE, 0x2B, 0xC1, 0xDA, 0x49, 0xB6, - 0x11, 0x1C, 0x5F, 0xEE, 0xDC, 0x3F, 0xB1, 0xC0, 0x68, 0x97, 0xBB, 0x81, 0x06, 0xB9, 0xED, 0x12, - 0xE4, 0x87, 0x31, 0x1B, 0x05, 0x20, 0x77, 0xDF, 0x04, 0xFB, 0x10, 0x46, 0x96, 0x30, 0xF4, 0x0B, - 0xFA, 0x48, 0xE0, 0x05, 0xA0, 0xF8, 0x0A, 0x07, 0x89, 0x76, 0x25, 0xFE, 0x45, 0x43, 0x54, 0xAB, - 0x28, 0xFF, 0x85, 0xD7, 0x82, 0x4E, 0x9E, 0xB1, 0x0E, 0xF1, 0xDA, 0x86, 0x55, 0xF8, 0xFF, 0x00, - 0x42, 0x02, 0x12, 0xBD, 0xAB, 0xDF, 0x26, 0x20, 0xAF, 0x50, 0x00, 0xFD, 0x94, 0xDF, 0x19, 0xE6, - 0xCA, 0x2A, 0xB2, 0x35, 0x40, 0x72, 0x60, 0x8D, 0xC5, 0x3A, 0xFD, 0x6A, 0xDD, 0x78, 0xF7, 0x08, - 0xEB, 0x50, 0xE9, 0x14, 0x92, 0x4A, 0x8A, 0xB5, 0xBF, 0x40, 0x11, 0xFC, 0x89, 0xC7, 0x1C, 0xE3, - 0x83, 0xEF, 0x3E, 0x7C, 0x0F, 0x17, 0x4A, 0xE8, 0xDC, 0x23, 0x6D, 0xE3, 0x5C, 0xF0, 0xFE, 0x01, - 0xA1, 0xDE, 0x2D, 0x5E, 0x72, 0xC0, 0xE0, 0x3F, 0x2E, 0xD1, 0xA9, 0xD5, 0x3F, 0x18, 0x75, 0x8A, - 0x1F, 0xC2, 0x8F, 0xE0, 0xA3, 0xDE, 0x2F, 0x21, 0x6F, 0x90, 0xE4, 0xD9, 0x18, 0xF4, 0xBE, 0x41, - 0x60, 0x33, 0x01, 0x9F, 0x36, 0x82, 0xE6, 0x7D, 0xFC, 0x03, 0x1E, 0xB0, 0xBE, 0x90, 0x7C, 0x83, - 0xC6, 0xB6, 0x22, 0x39, 0x57, 0x10, 0x15, 0xEF, 0xFB, 0x04, 0x41, 0xE8, 0x40, 0x52, 0x40, 0xBF, - 0x97, 0xEA, 0x2F, 0x68, 0xA9, 0xE9, 0x12, 0x16, 0x67, 0x98, 0x6C, 0x59, 0x42, 0xBD, 0xAD, 0x52, - 0x26, 0x21, 0x55, 0xD9, 0xAE, 0x8F, 0x73, 0x70, 0xBC, 0x43, 0x5A, 0xB4, 0xCA, 0x3D, 0xA5, 0x5A, - 0x1E, 0x41, 0x8E, 0x3D, 0x76, 0x10, 0xB7, 0xC5, 0xF5, 0xBE, 0x29, 0x0D, 0x91, 0x80, 0xC0, 0x33, - 0x37, 0x5B, 0xBD, 0x0E, 0xEF, 0x20, 0x1E, 0x5C, 0x95, 0x63, 0x94, 0xD0, 0x3C, 0x59, 0xB4, 0xEA, - 0x3D, 0x06, 0xEA, 0x59, 0xF6, 0xB0, 0x97, 0x45, 0xEC, 0x14, 0x9A, 0xA7, 0x35, 0x48, 0xAC, 0xFB, - 0x4C, 0xBA, 0x27, 0x94, 0xDD, 0x00, 0x0C, 0x6E, 0x4B, 0x6D, 0x44, 0xDE, 0xFA, 0x25, 0x0E, 0x96, - 0xF4, 0x93, 0xB6, 0x05, 0x07, 0x3F, 0xE9, 0xB4, 0x92, 0x9A, 0x6A, 0x29, 0x57, 0xFC, 0x7A, 0x4F, - 0xC9, 0x99, 0x81, 0x32, 0x1D, 0xE4, 0x28, 0xAE, 0x5A, 0x7D, 0x45, 0xCE, 0xE8, 0x17, 0x2E, 0xA4, - 0x3A, 0xF8, 0x13, 0xA0, 0x8B, 0x03, 0x59, 0x38, 0x44, 0x2E, 0x08, 0x9D, 0x5E, 0xED, 0x62, 0x5E, - 0x3B, 0x42, 0xA8, 0x1B, 0x67, 0x08, 0xBE, 0xD4, 0xD7, 0x61, 0xD4, 0xD2, 0xB1, 0x00, 0x60, 0xB3, - 0xDB, 0xCD, 0xC7, 0x74, 0xC4, 0x90, 0x85, 0x77, 0xFB, 0x46, 0xDF, 0xF5, 0xC6, 0xE0, 0xF7, 0x53, - 0x82, 0xD1, 0x82, 0x31, 0x36, 0x54, 0xB3, 0x85, 0xDE, 0x60, 0xDC, 0xD3, 0x36, 0x6E, 0x89, 0xDD, - 0x6E, 0x47, 0xF8, 0x4B, 0xD9, 0x14, 0x1C, 0x6A, 0x79, 0x19, 0x02, 0xAA, 0x23, 0x3A, 0xC8, 0x89, - 0x56, 0x5C, 0xDB, 0x68, 0x1B, 0xB2, 0x78, 0xA8, 0x33, 0xA1, 0xF0, 0x12, 0x82, 0xA2, 0xF1, 0x11, - 0xD1, 0x90, 0x90, 0x23, 0xE8, 0x7F, 0x46, 0x5B, 0xB8, 0xFF, 0x25, 0x4C, 0xC2, 0xA0, 0xB3, 0x13, - 0x29, 0x16, 0xEE, 0x5D, 0x8D, 0x55, 0x09, 0x3E, 0x69, 0xB2, 0xB9, 0x01, 0x8B, 0xB3, 0xE9, 0x00, - 0x85, 0x2F, 0x7B, 0xC8, 0x31, 0x0B, 0xEB, 0x82, 0xBA, 0x12, 0xCA, 0xA1, 0x0D, 0xCD, 0x11, 0x7E, - 0xD4, 0x81, 0x84, 0x37, 0xE1, 0xFE, 0xCE, 0x52, 0x96, 0x35, 0xC1, 0x86, 0xD9, 0x83, 0x8B, 0x30, - 0x6A, 0xEC, 0x57, 0xE4, 0x75, 0x5B, 0xFF, 0xC6, 0xE8, 0xBB, 0x31, 0x08, 0x00, 0x9C, 0x4D, 0x2F, - 0x16, 0xF3, 0x34, 0x87, 0x97, 0x8E, 0xC8, 0x24, 0x57, 0xD3, 0xE6, 0x60, 0x9D, 0xC1, 0x8D, 0x72, - 0xE3, 0xD6, 0xE4, 0x57, 0x35, 0x1F, 0xFB, 0x86, 0xC5, 0x27, 0x80, 0x94, 0xAC, 0x55, 0x28, 0xE6, - 0xAE, 0xDA, 0xA5, 0x16, 0xFE, 0x38, 0x17, 0x4D, 0xD9, 0x99, 0x22, 0x2A, 0x7D, 0x4B, 0xE7, 0xF8, - 0x46, 0xE7, 0x70, 0xC3, 0xCB, 0x47, 0x5D, 0x78, 0xB1, 0xFE, 0x2D, 0x4D, 0x58, 0x9B, 0x12, 0x28, - 0x19, 0xBF, 0x77, 0xC4, 0xF7, 0xB9, 0x9F, 0x44, 0x34, 0x58, 0x0E, 0xEB, 0x39, 0x09, 0xE1, 0xBA, - 0x5D, 0xBB, 0x37, 0x84, 0x2E, 0xCD, 0x32, 0x9D, 0x26, 0x1E, 0x5A, 0xAD, 0xA1, 0x04, 0x74, 0xB7, - 0x6B, 0x56, 0xEC, 0x5F, 0x26, 0x45, 0xB2, 0x95, 0xED, 0xAF, 0x20, 0x1C, 0xA6, 0x62, 0x15, 0xD1, - 0xA9, 0x24, 0x5C, 0xEF, 0xC2, 0xC6, 0xD5, 0x71, 0xF3, 0xFC, 0x6D, 0x4F, 0x04, 0xDC, 0x09, 0x6F, - 0xCB, 0x76, 0x6C, 0xDF, 0x89, 0x41, 0x19, 0x3A, 0x39, 0xF6, 0xAD, 0x45, 0x70, 0x1A, 0xBB, 0xA9, - 0x17, 0x49, 0x8F, 0x3C, 0x7F, 0x91, 0x3F, 0xCC, 0x80, 0xDC, 0x3E, 0x6F, 0x0A, 0xAB, 0x70, 0x18, - 0xBC, 0x8E, 0xE3, 0x50, 0x66, 0x01, 0xB6, 0xD5, 0x1B, 0x29, 0x50, 0x9A, 0xD3, 0xB4, 0xB6, 0x07, - 0xDD, 0x89, 0x85, 0x36, 0x74, 0x52, 0xF7, 0xC7, 0xF8, 0x10, 0x8A, 0xA3, 0x8D, 0xC5, 0x99, 0x76, - 0x22, 0xF1, 0x02, 0xB1, 0xDF, 0x42, 0x4C, 0x6C, 0x4F, 0xC2, 0xEF, 0x71, 0xAF, 0x73, 0x0D, 0xC0, - 0xFA, 0x65, 0x4E, 0xFD, 0x7C, 0xDA, 0x77, 0xCF, 0x2D, 0xF2, 0xBD, 0x41, 0x4F, 0xF9, 0x67, 0x4A, - 0x07, 0xF2, 0x24, 0x97, 0x92, 0x93, 0xD0, 0x21, 0x05, 0x7A, 0x1D, 0xC9, 0xA4, 0x54, 0x21, 0xE7, - 0xCC, 0x88, 0x95, 0x26, 0xBC, 0x3E, 0x53, 0x0F, 0x68, 0x09, 0x03, 0xBA, 0xA0, 0x14, 0x65, 0xA7, - 0xF0, 0x38, 0x19, 0xAA, 0xF0, 0xE6, 0xC7, 0x43, 0x66, 0xF1, 0xF5, 0x42, 0xC9, 0x87, 0x9F, 0x34, - 0x83, 0x6B, 0x39, 0x8A, 0x44, 0x30, 0xA5, 0xF7, 0x86, 0x9E, 0x7A, 0x2D, 0x6E, 0x69, 0xD6, 0xDA, - 0x9B, 0x62, 0x28, 0x9B, 0x30, 0x02, 0xE3, 0x83, 0x35, 0xE3, 0xB4, 0x50, 0x6C, 0x5F, 0xE2, 0xEC, - 0xBD, 0x34, 0x58, 0xEB, 0xD6, 0xC3, 0xC4, 0x65, 0xA0, 0xEE, 0x2C, 0x5D, 0x60, 0x1E, 0xAF, 0xAD, - 0x73, 0x5F, 0xFD, 0x4E, 0x9F, 0x06, 0x48, 0x2C, 0xEF, 0x42, 0xCF, 0xF1, 0x6F, 0x79, 0xC7, 0xCA, - 0x8A, 0x63, 0x38, 0x8B, 0x9E, 0x0F, 0x40, 0x2D, 0x2F, 0x1F, 0x52, 0xAC, 0x11, 0x88, 0x48, 0x3B, - 0x5C, 0x01, 0x8C, 0x3F, 0x3F, 0xD5, 0x3B, 0x8C, 0xC1, 0x88, 0x2B, 0x3B, 0xE4, 0x56, 0x63, 0xE5, - 0x64, 0x1A, 0xAF, 0x1C, 0xB9, 0x23, 0x4B, 0x0A, 0xE5, 0x15, 0x92, 0xA6, 0x66, 0x68, 0xDF, 0xDB, - 0x2C, 0x07, 0xFA, 0x49, 0x22, 0x51, 0xA2, 0x91, 0x1C, 0xD0, 0xAE, 0x63, 0x05, 0xCC, 0x18, 0x7F, - 0xBF, 0xDB, 0xB5, 0x06, 0x20, 0x13, 0xE2, 0x93, 0xEE, 0xF9, 0x75, 0x4A, 0xFD, 0x43, 0x6F, 0xF0, - 0x04, 0xA7, 0x72, 0xC1, 0xD7, 0xCA, 0xCC, 0x64, 0xAB, 0x02, 0xCB, 0xB1, 0xC5, 0xC6, 0xD2, 0x75, - 0x4E, 0x55, 0xCA, 0x79, 0x5B, 0xF6, 0x7C, 0xE8, 0xDC, 0x8D, 0x33, 0x3E, 0x61, 0x0E, 0xBE, 0xBD, - 0xFF, 0x74, 0x5A, 0xE9, 0x8A, 0x0A, 0x51, 0x39, 0xC2, 0xDE, 0x7E, 0x6D, 0x96, 0xE6, 0xA1, 0x55, - 0xD0, 0x2A, 0x2B, 0x98, 0xCF, 0x53, 0x4D, 0x7C, 0x76, 0x5A, 0x4E, 0xE9, 0x8F, 0xF3, 0xAD, 0x40, - 0xEA, 0xDE, 0xE5, 0x56, 0xA4, 0xA7, 0xD2, 0x17, 0x97, 0x8E, 0x7B, 0x3D, 0xA9, 0x05, 0x7D, 0xB6, - 0x50, 0x18, 0x99, 0x2A, 0xF2, 0xA4, 0x87, 0x41, 0xA5, 0xFA, 0x3D, 0x49, 0xB0, 0x10, 0x71, 0xA3, - 0x61, 0x0B, 0xBB, 0x08, 0xE7, 0xA8, 0x9E, 0x54, 0x32, 0x1A, 0x4A, 0xA9, 0xD8, 0x93, 0x9A, 0x20, - 0x9E, 0x73, 0x3C, 0x8F, 0x06, 0x36, 0xE1, 0xB5, 0x94, 0xD8, 0x2E, 0x6B, 0xC0, 0x96, 0x87, 0x25, - 0xA6, 0x68, 0x1F, 0xAC, 0x0F, 0xB7, 0x69, 0xBC, 0x8F, 0x9F, 0x72, 0x2C, 0xFE, 0x65, 0x4A, 0xD6, - 0x25, 0x0F, 0xFB, 0x48, 0xB0, 0xA2, 0xC3, 0x03, 0x1D, 0x6B, 0x14, 0xD8, 0x9B, 0xB7, 0xFD, 0x04, - 0xD3, 0x7F, 0x7D, 0xCE, 0x0C, 0xFC, 0x21, 0xBF, 0x7B, 0xF4, 0xED, 0x47, 0x43, 0xB8, 0x2A, 0x0B, - 0x31, 0x1F, 0xFF, 0x4C, 0xC8, 0x0C, 0x15, 0x7B, 0xF2, 0x47, 0xD7, 0xF4, 0xFC, 0x53, 0x7E, 0xE0, - 0xA3, 0x79, 0x0B, 0xB8, 0xC3, 0xCF, 0xDD, 0x70, 0x78, 0xA2, 0xB8, 0x11, 0x54, 0xDA, 0x5F, 0x69, - 0xEB, 0x64, 0x5E, 0xED, 0x18, 0xF9, 0x30, 0xAB, 0x75, 0x0C, 0x1B, 0xBF, 0xE5, 0x46, 0x72, 0xF5, - 0x43, 0xF6, 0x64, 0xD7, 0xC0, 0x84, 0x95, 0x73, 0xE0, 0x01, 0x83, 0xB2, 0xBC, 0x51, 0x3C, 0xE2, - 0x24, 0xB5, 0x40, 0xF3, 0x7E, 0x98, 0x37, 0xCD, 0xB5, 0x51, 0x86, 0xE2, 0x84, 0xD4, 0x81, 0x67, - 0x1A, 0xEA, 0x21, 0x92, 0xBE, 0x7C, 0x13, 0x0D, 0xD8, 0x22, 0x98, 0x91, 0x12, 0xAE, 0x6D, 0x1D, - 0x27, 0xE0, 0x16, 0xA5, 0x6A, 0x9D, 0x26, 0xD9, 0x6C, 0xA6, 0xA8, 0x15, 0xAB, 0x33, 0x49, 0x80, - 0x88, 0x8C, 0xD5, 0x66, 0x78, 0xCE, 0x67, 0xCB, 0x9C, 0x62, 0x9C, 0xD1, 0x3A, 0x2F, 0xC4, 0x9C, - 0x77, 0xF4, 0x52, 0xE1, 0x32, 0x40, 0xA3, 0x81, 0x59, 0x2B, 0x10, 0x98, 0x71, 0x0A, 0xAA, 0xB9, - 0x8C, 0x27, 0x7A, 0xC9, 0x03, 0x2B, 0xF9, 0xB0, 0x5E, 0xD2, 0xEE, 0x61, 0xAA, 0x23, 0x58, 0x90, - 0x04, 0xE3, 0x08, 0x22, 0xDA, 0x3C, 0x09, 0x1A, 0xA5, 0x83, 0x39, 0x73, 0x74, 0x7F, 0xE4, 0xC2, - 0xF2, 0x33, 0x2E, 0xD4, 0xEF, 0xE8, 0xE8, 0xCE, 0xCE, 0xE8, 0xCD, 0xEC, 0x4E, 0x8B, 0x2A, 0x0C, - 0xE7, 0x3F, 0x37, 0xC1, 0xDF, 0x6C, 0x5C, 0x4A, 0x8B, 0xAD, 0x94, 0xF0, 0x61, 0xD5, 0x5B, 0x7D, - 0x0F, 0x20, 0xC0, 0x29, 0x92, 0x3F, 0x42, 0x19, 0x5A, 0x7C, 0x68, 0xDD, 0xD0, 0xF4, 0xCB, 0xED, - 0xC7, 0x4C, 0x64, 0xE1, 0x6A, 0xB0, 0x35, 0x96, 0xD6, 0xF0, 0x54, 0x6D, 0x9A, 0x06, 0x73, 0x55, - 0x42, 0xF1, 0x5C, 0x64, 0xD4, 0x4B, 0x70, 0x6D, 0x21, 0x07, 0x8D, 0x43, 0x21, 0x7A, 0xB4, 0x92, - 0xCD, 0x86, 0xA4, 0xEB, 0x0F, 0x62, 0x82, 0x44, 0x23, 0x05, 0xCF, 0x03, 0xB2, 0xA6, 0xFB, 0xDD, - 0x69, 0x41, 0xC7, 0x4F, 0x33, 0xA7, 0x7B, 0x81, 0xB8, 0x9E, 0xBD, 0xEA, 0xFA, 0xBB, 0xAE, 0x88, - 0x57, 0xFD, 0x45, 0x71, 0x8A, 0x3A, 0x5F, 0x1C, 0x3E, 0x18, 0x4B, 0x9A, 0xC2, 0xA0, 0x8D, 0xAB, - 0x89, 0xD6, 0xB0, 0xAF, 0xF3, 0xAD, 0xB1, 0x8B, 0x9F, 0xB9, 0x91, 0xE1, 0x14, 0xC2, 0x39, 0x1F, - 0x78, 0x59, 0xCE, 0x5E, 0x6E, 0xF0, 0x71, 0xD6, 0x9E, 0xB8, 0x98, 0xE9, 0xED, 0xFE, 0xFC, 0xDA, - 0x1F, 0x31, 0xC1, 0x39, 0x8D, 0x5C, 0x3E, 0x7A, 0xD7, 0xF1, 0x5D, 0x65, 0x23, 0x95, 0x59, 0x7F, - 0x5E, 0x7C, 0xCD, 0x78, 0x15, 0x51, 0xAB, 0x77, 0x31, 0x17, 0x9C, 0x42, 0x05, 0xC3, 0x29, 0x0F, - 0x68, 0x48, 0xCF, 0x4E, 0xDB, 0x2C, 0x18, 0x0A, 0x45, 0x63, 0xAE, 0x04, 0x1D, 0xCA, 0x38, 0x1E, - 0x86, 0x01, 0x68, 0xA0, 0x54, 0x43, 0xF8, 0x65, 0xF1, 0xD7, 0x78, 0x66, 0x6E, 0x99, 0x18, 0x3E, - 0x15, 0xFB, 0x01, 0x33, 0xA2, 0xBB, 0xF6, 0x9D, 0xBD, 0x9B, 0xA0, 0xF2, 0x52, 0x29, 0x94, 0xB2, - 0x22, 0xC6, 0x0B, 0x04, 0x4F, 0x60, 0xC0, 0x46, 0x02, 0x24, 0xB5, 0x58, 0x12, 0x86, 0x7B, 0x5D, - 0x0B, 0x34, 0xD0, 0x2D, 0xB1, 0x99, 0xC7, 0xBF, 0x33, 0x15, 0xDE, 0x02, 0xE9, 0x55, 0x53, 0x75, - 0x2E, 0x5A, 0x9B, 0x08, 0x3D, 0xD0, 0x02, 0xF6, 0x79, 0x5F, 0x50, 0xC6, 0x16, 0x2D, 0xD4, 0xF2, - 0x32, 0xD7, 0x0A, 0x14, 0x09, 0x14, 0xF2, 0x32, 0x6B, 0x4D, 0x03, 0x87, 0xB9, 0x41, 0x17, 0x31, - 0xAF, 0xF3, 0xB3, 0x89, 0x39, 0x90, 0x46, 0xB6, 0xBF, 0x99, 0xE2, 0xB2, 0x84, 0x4B, 0x20, 0x06, - 0xD5, 0x1F, 0x25, 0xF3, 0x27, 0xE3, 0x2B, 0xC5, 0x7F, 0x59, 0x06, 0x96, 0xBA, 0x14, 0x41, 0x67, - 0x50, 0xA2, 0x1D, 0x76, 0x22, 0xB3, 0x7E, 0x95, 0xC1, 0xE7, 0x1A, 0x34, 0xDD, 0x57, 0x65, 0x43, - 0x47, 0xEC, 0x44, 0x61, 0xBA, 0xBE, 0xEB, 0x98, 0x19, 0x3F, 0x67, 0x91, 0x75, 0xC5, 0x5F, 0x79, - 0xDB, 0xC1, 0xF5, 0xFD, 0x19, 0x10, 0xE6, 0x36, 0xC2, 0xE4, 0x51, 0x7C, 0x3D, 0xD8, 0x0A, 0x2C, - 0x52, 0xE0, 0x5D, 0x74, 0x76, 0xF5, 0x6C, 0xD3, 0xC9, 0xEF, 0x92, 0xB4, 0xAF, 0xBE, 0xFE, 0xD8, - 0xB9, 0xB4, 0xE2, 0x9F, 0x4C, 0x46, 0xE5, 0x60, 0x0D, 0x2B, 0x62, 0x80, 0x4D, 0xDE, 0x7C, 0x5A, - 0xB6, 0x63, 0x3A, 0x90, 0xB5, 0xD9, 0x83, 0xFF, 0xB1, 0x97, 0x3C, 0x62, 0xBB, 0xAE, 0xFA, 0xDC, - 0x64, 0xD4, 0x5F, 0x42, 0xD3, 0x2D, 0x11, 0x0B, 0x0E, 0x28, 0x29, 0xC8, 0x38, 0xC9, 0x1E, 0x38, - 0x97, 0x19, 0x61, 0xB1, 0x8F, 0x6A, 0x0A, 0x4C, 0x07, 0x21, 0xA8, 0x40, 0x00, 0xD2, 0x3D, 0x1B, - 0x92, 0x04, 0x79, 0xB4, 0xEB, 0xA8, 0xAC, 0x8E, 0xE6, 0xC0, 0x36, 0x3F, 0xFF, 0xAA, 0xBA, 0x9C, - 0x11, 0xEF, 0x11, 0x37, 0x9C, 0x48, 0x3B, 0x6E, 0xF3, 0xD5, 0x3A, 0x26, 0xCE, 0xB9, 0x98, 0xBE, - 0x82, 0x15, 0x78, 0xA4, 0x60, 0x87, 0x08, 0xA1, 0xE0, 0xC6, 0x60, 0x6F, 0x4A, 0x20, 0x85, 0xA3, - 0xCC, 0x8F, 0xAC, 0xEA, 0x6B, 0xA0, 0x24, 0x86, 0x30, 0x16, 0x95, 0x4A, 0x1B, 0x8E, 0x7A, 0x5C, - 0xB2, 0x77, 0x2A, 0x94, 0x18, 0x00, 0xF7, 0x26, 0x8C, 0xAA, 0xCB, 0xA8, 0xB7, 0xB7, 0xEF, 0xC9, - 0xA1, 0x2D, 0x63, 0x87, 0x84, 0x4D, 0x26, 0x6B, 0xE9, 0xCF, 0xE1, 0xE7, 0x4F, 0x31, 0x91, 0xB7, - 0xA3, 0x6F, 0x23, 0x85, 0x51, 0x13, 0xAD, 0x35, 0x1A, 0x3C, 0x2C, 0xD9, 0xC8, 0xFD, 0xDA, 0xFC, - 0x3B, 0x56, 0x82, 0x1D, 0xA3, 0xAB, 0xE7, 0x8D, 0xD8, 0xFE, 0x8A, 0xBD, 0xF0, 0xE6, 0xF9, 0xDF, - 0x6F, 0x17, 0x97, 0x49, 0x7D, 0xD2, 0x40, 0xF4, 0x37, 0x11, 0xCA, 0x12, 0x1C, 0x70, 0x83, 0xA5, - 0xE1, 0x69, 0x67, 0xC7, 0x7E, 0xF4, 0x65, 0xD2, 0xC5, 0xE3, 0x0E, 0x24, 0x45, 0x6C, 0xC6, 0xE0, - 0x01, 0xFE, 0x10, 0x27, 0x75, 0xD3, 0x49, 0xF5, 0x66, 0x40, 0x96, 0x1F, 0xA5, 0xE3, 0xA9, 0x8F, - 0xEC, 0xFC, 0xFF, 0xCA, 0xA9, 0x9C, 0xDA, 0xBA, 0x8A, 0xAC, 0x9D, 0xF8, 0xA4, 0x59, 0x12, 0x34, - 0x16, 0xB0, 0x49, 0x30, 0xE4, 0xCF, 0xC4, 0xE9, 0x1C, 0x3A, 0x7A, 0x89, 0x57, 0x38, 0x80, 0xA6, - 0xFD, 0xE4, 0xF6, 0xDB, 0xCB, 0x28, 0x0C, 0x0E, 0x06, 0x20, 0xA1, 0x48, 0x6A, 0x32, 0xB7, 0x91, - 0x24, 0x90, 0x5B, 0x02, 0xE5, 0xDF, 0xD5, 0xF9, 0xDC, 0xFA, 0x9E, 0xAD, 0xD2, 0x1B, 0x26, 0x00, - 0x49, 0x32, 0x94, 0x6F, 0x3B, 0xA6, 0x72, 0x80, 0xF7, 0xD1, 0x2E, 0x36, 0xA3, 0xA7, 0xEB, 0xCD, - 0x58, 0x2A, 0x9D, 0x7E, 0x35, 0xD1, 0x0B, 0xF7, 0xEE, 0xC8, 0xBE, 0xBF, 0xA9, 0xFA, 0xBC, 0x9A, - 0x81, 0x5E, 0x30, 0xA7, 0x88, 0x0C, 0x6B, 0x2A, 0x77, 0x51, 0x8E, 0x16, 0x80, 0xE0, 0x8F, 0xA9, - 0x55, 0xBF, 0x05, 0x73, 0xBC, 0xC8, 0x9B, 0xEE, 0x93, 0xB5, 0x0D, 0x71, 0x99, 0x53, 0x25, 0x03, - 0xF8, 0xF9, 0xEE, 0xDE, 0x1C, 0x40, 0xB3, 0x66, 0x7D, 0x5B, 0x44, 0xD6, 0x64, 0xC4, 0x4F, 0x69, - 0x72, 0x93, 0x0E, 0x54, 0x4E, 0x70, 0xD1, 0x56, 0xDE, 0xF8, 0xDC, 0xED, 0xBC, 0x50, 0x03, 0x25, - 0xC4, 0x07, 0x2C, 0xE2, 0x2B, 0xA2, 0x66, 0x84, 0x75, 0x53, 0xCC, 0x56, 0x43, 0x28, 0x84, 0xA2, - 0xB5, 0x28, 0x72, 0x93, 0xF1, 0x9B, 0x85, 0xBD, 0x67, 0x41, 0x9F, 0x17, 0x22, 0x2F, 0xE2, 0xC4, - 0xAA, 0xEE, 0xAB, 0x8C, 0x9F, 0x6E, 0x1E, 0x48, 0x7E, 0x58, 0x0F, 0x9E, 0x89, 0xE8, 0x8E, 0xA8, - 0x1B, 0x25, 0xD1, 0x3D, 0x0C, 0x44, 0xA7, 0x62, 0x88, 0xAE, 0xDF, 0xB8, 0x55, 0xD7, 0x6D, 0x4B, - 0xDD, 0x97, 0xA5, 0xFB, 0xCC, 0x4E, 0x6D, 0x68, 0xC3, 0xE5, 0x58, 0x74, 0x37, 0x85, 0x5D, 0x7B, - 0x63, 0x8B, 0x07, 0x45, 0x81, 0x1D, 0x73, 0x3B, 0x27, 0x01, 0xDB, 0x13, 0xF5, 0xF7, 0xED, 0xCB, - 0x05, 0xEA, 0x00, 0x23, 0xFB, 0xAC, 0xB8, 0x8A, 0x2F, 0x09, 0x53, 0x93, 0xC3, 0x1A, 0x36, 0x10, - 0x08, 0x7F, 0x98, 0x2E, 0xAF, 0xEA, 0xAA, 0xCC, 0xF6, 0xD0, 0x27, 0x3E, 0x87, 0x1E, 0x76, 0x50, - 0x9A, 0x8C, 0xF9, 0xBC, 0x8C, 0x4C, 0x2F, 0x6A, 0xCA, 0xEC, 0xD9, 0xFC, 0xD8, 0x46, 0x71, 0x57, - 0x4A, 0x79, 0xDC, 0x6C, 0x83, 0x2B, 0x47, 0x0D, 0xFF, 0xD9, 0xA6, 0xB6, 0x30, 0x7B, 0xA4, 0x82, - 0x54, 0xB6, 0x0D, 0x72, 0x21, 0x95, 0x5B, 0xB3, 0x34, 0x12, 0x81, 0x5A, 0x7D, 0x77, 0xE5, 0xC3, - 0xC0, 0x13, 0x3C, 0xE6, 0x47, 0x61, 0xC9, 0x47, 0x96, 0xB0, 0x10, 0x69, 0x88, 0x52, 0x35, 0x13, - 0x9D, 0xD3, 0xA1, 0xBB, 0x90, 0x09, 0x76, 0x2F, 0x74, 0x52, 0xC5, 0x5E, 0xF4, 0x4D, 0x56, 0x70, - 0x5A, 0x74, 0xFE, 0x48, 0x8F, 0x75, 0x2A, 0x39, 0x8C, 0xFC, 0x16, 0x4A, 0xB8, 0xB5, 0xDD, 0x03, - 0x04, 0x96, 0x42, 0xF4, 0x09, 0x83, 0x5A, 0xBF, 0x5B, 0xF3, 0xCE, 0x45, 0x41, 0x2A, 0xBB, 0x9C, - 0x69, 0x88, 0x31, 0x87, 0xF9, 0x05, 0x2C, 0x4F, 0xF9, 0x9E, 0x01, 0x28, 0xED, 0xE3, 0xDE, 0x55, - 0xAA, 0x40, 0x3A, 0x8C, 0x0D, 0x97, 0x4A, 0xBB, 0xD8, 0x17, 0xA9, 0xA1, 0x82, 0x06, 0x54, 0xB0, - 0x0E, 0xCB, 0x15, 0xA3, 0x49, 0xC7, 0x5E, 0xFF, 0x3C, 0xD7, 0x8D, 0x61, 0x1F, 0x5B, 0x94, 0xED, - 0x02, 0xD2, 0x00, 0xB6, 0x6B, 0xF6, 0x4D, 0xDD, 0xD7, 0x54, 0xE5, 0xE2, 0x68, 0xBB, 0x03, 0x0D, - 0x11, 0x3C, 0xFD, 0x4B, 0xED, 0x00, 0x3D, 0x5B, 0xEC, 0x21, 0xAB, 0x97, 0x27, 0xDE, 0x29, 0x68, - 0x90, 0xB4, 0xF4, 0x42, 0xCE, 0x38, 0x26, 0x78, 0x21, 0xD2, 0x95, 0x64, 0x7B, 0x99, 0x32, 0x2F, - 0x68, 0x32, 0x8A, 0x3C, 0x27, 0x2E, 0xD9, 0x91, 0x62, 0x6B, 0x6F, 0xDD, 0xC9, 0x23, 0x3A, 0x95, - 0x3B, 0x73, 0x98, 0x2E, 0xE4, 0x81, 0xB5, 0x52, 0xEF, 0x77, 0xFE, 0xC1, 0xFD, 0xE7, 0xCA, 0x51, - 0x8D, 0xAC, 0xF1, 0x47, 0x88, 0x2A, 0x72, 0x3E, 0xFE, 0x67, 0xFF, 0xD1, 0xBB, 0x93, 0xF8, 0x25, - 0xE6, 0xF6, 0xC0, 0x76, 0xA0, 0xD1, 0xA1, 0x16, 0x0C, 0x4E, 0x24, 0xF8, 0x45, 0x6A, 0xFF, 0xDC, - 0x22, 0xC0, 0x32, 0x84, 0x96, 0xE5, 0xA3, 0x20, 0x9A, 0x15, 0xE9, 0xA3, 0xD6, 0x40, 0x46, 0xF6, - 0x5F, 0x65, 0xEA, 0x5C, 0xAC, 0x4D, 0x31, 0x1A, 0xD4, 0x02, 0xB0, 0xB4, 0x4E, 0x4D, 0xD3, 0xFB, - 0xDA, 0x46, 0x4C, 0xFA, 0xD3, 0xBC, 0xBF, 0x65, 0xCB, 0xEA, 0x47, 0x5C, 0xCD, 0x63, 0x7E, 0xD5, - 0x3E, 0x62, 0x8C, 0x3A, 0xB2, 0x82, 0xE0, 0x04, 0x27, 0x90, 0xD1, 0x26, 0xD3, 0x10, 0x13, 0xA6, - 0xA0, 0x1D, 0x6D, 0xDB, 0x0F, 0xD5, 0x0A, 0xB9, 0x61, 0x3D, 0x3A, 0x8B, 0x9A, 0x03, 0x49, 0xB5, - 0x65, 0x91, 0x24, 0x92, 0xAA, 0x1B, 0x61, 0x1C, 0x09, 0x5A, 0x35, 0xEC, 0x79, 0xAF, 0x06, 0x19, - 0x73, 0x6E, 0xCD, 0x7B, 0x7E, 0xFA, 0x54, 0xC8, 0xC5, 0x12, 0xB1, 0xA4, 0x7E, 0xC9, 0x67, 0x7F, - 0xA9, 0x15, 0x6C, 0xDA, 0xCA, 0x2C, 0x36, 0x7C, 0xEE, 0xCC, 0x44, 0x7A, 0x07, 0x5E, 0x89, 0xE8, - 0x40, 0x92, 0x02, 0xB4, 0xEB, 0x56, 0x6D, 0x5D, 0x39, 0xC3, 0x9C, 0x75, 0xA0, 0xB0, 0xC0, 0x06, - 0x98, 0x06, 0x4E, 0xF8, 0x67, 0x6A, 0xDD, 0xD1, 0xC3, 0x50, 0xF5, 0xE6, 0x56, 0x48, 0xCE, 0xFE, - 0xA4, 0xB6, 0xC2, 0x74, 0xDA, 0x3D, 0x37, 0x6C, 0x44, 0x1B, 0x39, 0xAD, 0xE1, 0xA2, 0x93, 0x14, - 0x96, 0xF0, 0xB6, 0x00, 0xCB, 0x25, 0x3E, 0x7D, 0x70, 0x2D, 0x3B, 0x9B, 0x2F, 0xDF, 0x20, 0x69, - 0xAC, 0x04, 0x78, 0xCE, 0xA8, 0x59, 0x21, 0x1E, 0x07, 0xA2, 0xC3, 0x14, 0x2B, 0x9F, 0x64, 0x29, - 0x50, 0x29, 0xA9, 0x1F, 0x38, 0xE8, 0x00, 0x8E, 0x18, 0x4A, 0x34, 0xFC, 0x66, 0xCC, 0x7A, 0x7A, - 0x01, 0x87, 0x56, 0xE0, 0x17, 0x4C, 0x8B, 0xA1, 0xDB, 0x41, 0xFC, 0xF7, 0x2E, 0xCF, 0x31, 0x79, - 0xF5, 0x18, 0x3D, 0x8B, 0xD9, 0x76, 0x7F, 0x6F, 0x0B, 0xB7, 0xDA, 0x01, 0x1B, 0x1B, 0xD0, 0xAD, - 0xF7, 0xF7, 0xD0, 0x66, 0x08, 0x8A, 0x52, 0xBE, 0xBE, 0x88, 0x50, 0x3E, 0xFB, 0x91, 0xBA, 0x27, - 0x85, 0x1E, 0x4B, 0xFD, 0x5D, 0xC2, 0x4F, 0xEB, 0x79, 0x2C, 0x33, 0x9A, 0xC7, 0x54, 0x43, 0xE2, - 0x6C, 0x99, 0x25, 0x93, 0x80, 0xA2, 0xF2, 0x36, 0x74, 0x82, 0x90, 0x34, 0x9E, 0x43, 0x0D, 0xF5, - 0xB5, 0xB7, 0xD2, 0x64, 0x47, 0x19, 0x8E, 0xF1, 0xC9, 0x07, 0xA8, 0xB1, 0x20, 0xB8, 0x48, 0x0E, - 0x1F, 0xCA, 0x05, 0xB3, 0x85, 0xBF, 0xEA, 0x33, 0x47, 0x4D, 0x6C, 0xFB, 0x5B, 0x19, 0x92, 0xAF, - 0xE1, 0x08, 0x39, 0x8F, 0x82, 0xE0, 0xB2, 0x34, 0xB4, 0xDF, 0x0D, 0x69, 0x78, 0xBF, 0x17, 0x09, - 0xE3, 0xE7, 0xD4, 0x62, 0x1E, 0xCD, 0x03, 0xA8, 0xB3, 0x26, 0xF3, 0x90, 0x75, 0xEE, 0x4B, 0x58, - 0x6B, 0x67, 0xDC, 0x6A, 0xC5, 0xFB, 0xEE, 0x73, 0xD2, 0x40, 0xF4, 0xF6, 0x0F, 0x5F, 0x80, 0xE9, - 0x28, 0x9D, 0x65, 0xD3, 0xC6, 0xB0, 0xA6, 0x70, 0x2B, 0x85, 0xC8, 0x33, 0xB3, 0x92, 0xF1, 0x24, - 0xFD, 0xAA, 0x87, 0x31, 0xA5, 0xCC, 0xB9, 0x13, 0xEB, 0xD8, 0x55, 0x6E, 0x64, 0xFA, 0x4E, 0x4C, - 0x9E, 0x42, 0x0C, 0xBA, 0x57, 0x08, 0x8F, 0xE1, 0x41, 0x0F, 0x28, 0xB9, 0x77, 0xD8, 0x7F, 0x6E, - 0xB9, 0xAE, 0xC7, 0x71, 0x16, 0x45, 0x83, 0xA0, 0x8E, 0x11, 0xF9, 0xA7, 0xD5, 0x66, 0x63, 0xD0, - 0xE4, 0x19, 0x2D, 0x9B, 0xF0, 0x84, 0xA4, 0x46, 0xAB, 0x37, 0xFA, 0x81, 0xBA, 0x83, 0xE9, 0x35, - 0xF4, 0xA2, 0x86, 0x30, 0x77, 0x7B, 0xDC, 0xC1, 0x3F, 0x81, 0xD8, 0x37, 0xDF, 0x51, 0x5E, 0xE7, - 0x35, 0x85, 0x60, 0xD6, 0xD6, 0xA1, 0xA7, 0x60, 0x87, 0x10, 0xF1, 0xA6, 0x48, 0x3B, 0xA3, 0x8D, - 0x7C, 0x22, 0x8E, 0x38, 0xBC, 0x5C, 0x30, 0x0A, 0xC1, 0xBD, 0x1A, 0x0B, 0xE8, 0xB3, 0x8B, 0x05, - 0xE7, 0x4C, 0x7B, 0xCD, 0x9E, 0x6D, 0x23, 0x28, 0x1D, 0x5E, 0x25, 0xE8, 0xF8, 0xB7, 0x9F, 0x01, - 0x60, 0x80, 0x30, 0x86, 0xAE, 0x0F, 0x71, 0x18, 0xAF, 0x98, 0x51, 0x2E, 0x38, 0xBD, 0x55, 0x0B, - 0xA7, 0xE3, 0x94, 0x22, 0x11, 0x1A, 0xDB, 0xA7, 0x10, 0xF0, 0x86, 0x46, 0x05, 0x68, 0xBD, 0xDE, - 0x37, 0x6A, 0x8D, 0x3B, 0x7D, 0xB1, 0x1C, 0xCB, 0xD6, 0xEF, 0x5F, 0x59, 0x6B, 0x9D, 0x26, 0x2B, - 0x42, 0x7D, 0xEF, 0x59, 0x73, 0x6F, 0xCC, 0xC5, 0x88, 0x53, 0xBD, 0xE5, 0x10, 0x3C, 0xFC, 0x8A, - 0x99, 0xBC, 0xF5, 0x43, 0x44, 0x52, 0xC6, 0xF2, 0xDC, 0xB8, 0x02, 0x0E, 0x3F, 0xDB, 0x34, 0x6D, - 0xAE, 0xEB, 0x95, 0x23, 0x5A, 0x9D, 0x17, 0xEC, 0xC6, 0x44, 0xE4, 0xF2, 0x81, 0x20, 0x71, 0x96, - 0xA5, 0x0C, 0x79, 0xCF, 0xE1, 0x9C, 0xAD, 0x57, 0xC4, 0xA9, 0x0B, 0x1F, 0x5D, 0x6F, 0xE2, 0xD9, - 0x86, 0x4B, 0x1D, 0xAB, 0x4F, 0x91, 0x0E, 0xF9, 0x12, 0x1D, 0x69, 0xAB, 0xC1, 0x22, 0x33, 0x94, - 0xB6, 0xE2, 0x84, 0x32, 0x7C, 0xB8, 0x14, 0xCA, 0x66, 0xC4, 0xC4, 0x72, 0x7C, 0xFF, 0x53, 0x49, - 0xA6, 0x59, 0x2F, 0x99, 0xD5, 0xEA, 0xEF, 0x63, 0xA8, 0x61, 0xAF, 0xD7, 0x11, 0x2C, 0xED, 0x9A, - 0x16, 0xC2, 0x04, 0xB2, 0x18, 0x9B, 0x53, 0xAE, 0x0A, 0x0C, 0x60, 0xBA, 0xCF, 0x55, 0x4A, 0xE3, - 0xF3, 0x5C, 0x7F, 0xC9, 0x1C, 0x8F, 0x43, 0xAA, 0x4F, 0xF7, 0xDE, 0x41, 0xEC, 0xF3, 0xCF, 0x45, - 0xD9, 0x13, 0x1A, 0xAC, 0x62, 0x77, 0xC5, 0xD4, 0x15, 0xE4, 0x97, 0x52, 0x70, 0xBE, 0x1E, 0x08, - 0x58, 0x9B, 0x13, 0xA5, 0x76, 0x72, 0xD4, 0xC0, 0x2D, 0xC7, 0x8C, 0x71, 0x94, 0x74, 0x30, 0xC2, - 0xAD, 0xBE, 0xC3, 0x75, 0x89, 0x23, 0x7A, 0x3F, 0xB7, 0x89, 0x58, 0x3F, 0x9F, 0x53, 0x1C, 0xE5, - 0xF2, 0xE6, 0xC4, 0x72, 0x70, 0x24, 0x84, 0xC6, 0x2F, 0x2A, 0x63, 0x9C, 0x89, 0x21, 0x78, 0x97, - 0x36, 0xD0, 0x36, 0x80, 0x35, 0x7D, 0x98, 0x83, 0x51, 0xA4, 0x93, 0x12, 0x8A, 0x07, 0x5D, 0xB1, - 0x14, 0x2D, 0xE9, 0x5F, 0x29, 0xF0, 0x09, 0x9F, 0x57, 0xE6, 0xD7, 0x50, 0xA5, 0xE0, 0x95, 0x56, - 0xB2, 0x49, 0x2B, 0x9D, 0x0A, 0xC8, 0x12, 0xBC, 0x6E, 0x7E, 0x76, 0xC8, 0x57, 0x58, 0xDF, 0xEE, - 0xAE, 0x0D, 0x4D, 0x02, 0xEC, 0xD5, 0xAC, 0xD8, 0xBB, 0x43, 0x59, 0x19, 0xFA, 0xBA, 0x80, 0xDB, - 0x79, 0x65, 0x25, 0xBD, 0xB1, 0x48, 0xF1, 0x18, 0xA4, 0x3F, 0x3A, 0x7A, 0x18, 0x58, 0xB7, 0x0E, - 0x6A, 0x47, 0x07, 0x8C, 0x66, 0x35, 0x26, 0xB2, 0x92, 0xFB, 0xC8, 0x88, 0x93, 0xD3, 0x5F, 0x6D, - 0xC8, 0xF9, 0xB9, 0x90, 0x78, 0xE4, 0x38, 0x7D, 0x9E, 0xB6, 0x89, 0xC9, 0x58, 0x18, 0xB3, 0x4A, - 0x46, 0x86, 0xC6, 0x61, 0x24, 0x71, 0x64, 0xB4, 0xF7, 0x4C, 0x1A, 0x5A, 0x9A, 0xDA, 0xD7, 0xEC, - 0x65, 0x20, 0x60, 0xE4, 0xB6, 0x10, 0xF6, 0x47, 0xAF, 0x13, 0x1D, 0x5D, 0xA6, 0xE6, 0x15, 0x12, - 0x68, 0x71, 0x31, 0xB8, 0x4F, 0xEE, 0x0F, 0x40, 0x1E, 0x3E, 0x81, 0xC1, 0x4B, 0x0B, 0xFA, 0x10, - 0x12, 0xC0, 0x80, 0x73, 0x29, 0xE9, 0x69, 0x21, 0xF3, 0x08, 0x5A, 0x1A, 0x43, 0x03, 0x7A, 0x98, - 0xE5, 0x28, 0x68, 0x6C, 0x37, 0x38, 0x77, 0xEE, 0x3E, 0x9E, 0x01, 0x41, 0xE4, 0xA4, 0x51, 0x14, - 0x25, 0x22, 0x62, 0xA6, 0xF1, 0x4C, 0xB1, 0x5C, 0x6C, 0xFC, 0x31, 0x71, 0xAF, 0xEF, 0x9D, 0x93, - 0x18, 0xF7, 0xB7, 0x4E, 0x99, 0x9B, 0xD9, 0xE3, 0xC6, 0xE9, 0x8E, 0xCE, 0x0B, 0x4B, 0xFE, 0x54, - 0x76, 0x02, 0x42, 0xD5, 0x86, 0x42, 0xC6, 0x25, 0x01, 0x42, 0xE2, 0xA2, 0x12, 0x52, 0x77, 0xC4, - 0xA7, 0x1C, 0x5C, 0x1A, 0x5E, 0xE7, 0x1E, 0x58, 0xB9, 0x77, 0x6F, 0x2F, 0xB2, 0xF2, 0x04, 0x17, - 0xC2, 0xCE, 0x8E, 0xAD, 0xE8, 0xC5, 0xA8, 0xCC, 0xC1, 0x88, 0xE8, 0xA8, 0x19, 0x59, 0xBF, 0x07, - 0x55, 0xA4, 0xE4, 0x50, 0x79, 0xEC, 0x39, 0x74, 0xBA, 0x52, 0x49, 0x09, 0xFF, 0xBF, 0x98, 0xC6, - 0xF5, 0x2C, 0x6C, 0x78, 0xD4, 0x07, 0x94, 0x32, 0x2D, 0xAF, 0x23, 0x63, 0x11, 0x51, 0x3F, 0x8F, - 0xDC, 0xBD, 0xFD, 0xC0, 0x74, 0x74, 0x34, 0xE1, 0x13, 0x62, 0xD0, 0x90, 0x82, 0xC2, 0x56, 0x75, - 0x61, 0x60, 0x20, 0xA0, 0xAD, 0xD9, 0xED, 0x95, 0x09, 0x4B, 0xE3, 0xA3, 0x1B, 0x5B, 0xFF, 0x45, - 0x0C, 0xB3, 0xF3, 0x1E, 0x08, 0xB2, 0x48, 0x5B, 0xF2, 0x19, 0x4A, 0x0A, 0xB0, 0xF0, 0x44, 0x55, - 0xD2, 0xCA, 0x8A, 0xB9, 0x65, 0x7D, 0x25, 0xF9, 0x4E, 0x68, 0x87, 0xC7, 0x9B, 0xDB, 0xDF, 0xE5, - 0x0D, 0xA3, 0xE3, 0x0F, 0x3A, 0xA0, 0x7A, 0x7B, 0xD1, 0x9C, 0xEC, 0xAC, 0x70, 0x30, 0x60, 0xB1, - 0x22, 0x44, 0x04, 0xC7, 0xD1, 0x1F, 0x91, 0x2F, 0xDB, 0xA1, 0xDB, 0x9B, 0x6A, 0x2A, 0xA1, 0x6A, - 0x9C, 0xBF, 0xFF, 0x82, 0x2D, 0xF9, 0x6D, 0x35, 0x0A, 0x6E, 0xC5, 0x85, 0x0A, 0x4A, 0xF6, 0x5D, - 0x40, 0xF0, 0xB0, 0x11, 0xC0, 0x16, 0x80, 0x37, 0xB0, 0x6F, 0x7E, 0x3E, 0xE6, 0xA6, 0x11, 0x56, - 0x94, 0xBE, 0xFE, 0x8B, 0x43, 0x7E, 0x03, 0xDC, 0x99, 0xD7, 0xEF, 0xAF, 0x5B, 0x1B, 0xFB, 0x01, - 0x97, 0x98, 0xD8, 0xAE, 0xCD, 0x8E, 0x8D, 0xA2, 0x85, 0x8E, 0xAA, 0xEA, 0xA9, 0xE9, 0xCD, 0xC5, - 0xB8, 0x7F, 0x3F, 0x66, 0x8F, 0xCA, 0xCF, 0xA4, 0x14, 0x03, 0xB6, 0xF6, 0x76, 0x36, 0x30, 0xE7, - 0x4A, 0xC7, 0x87, 0x2C, 0x17, 0x6B, 0x57, 0x9D, 0x0F, 0x3B, 0x95, 0xD5, 0xB4, 0xF4, 0x54, 0x41, - 0xF1, 0x6C, 0x2C, 0x3C, 0x9E, 0xC3, 0xDE, 0xBC, 0x5E, 0x7C, 0x83, 0xC3, 0xE0, 0xA0, 0x41, 0x00, - 0x6D, 0x21, 0x61, 0xED, 0x8D, 0x8A, 0xCD, 0xE6, 0xD8, 0x84, 0xFD, 0xBD, 0x85, 0xC5, 0x0E, 0x2A, - 0x89, 0xEB, 0xAB, 0xC3, 0xAE, 0x91, 0xEE, 0xDE, 0xC9, 0x81, 0xE9, 0xA9, 0x8C, 0xCC, 0x86, 0xAB, - 0x82, 0xCC, 0x8C, 0xEF, 0xE0, 0x45, 0xA0, 0x44, 0x67, 0xD0, 0x16, 0x56, 0x5C, 0x1C, 0xA3, 0x5E, - 0x02, 0xC4, 0x84, 0x67, 0xBE, 0x90, 0xFE, 0xCF, 0x43, 0x34, 0xD6, 0x96, 0x8A, 0xCA, 0xD6, 0xFD, - 0x75, 0x24, 0x64, 0xF0, 0x3D, 0xF8, 0x7D, 0x24, 0x50, 0x05, 0xF4, 0xB4, 0x9F, 0xDF, 0xCF, 0xF1, - 0x3A, 0x41, 0x01, 0xDA, 0x48, 0xB6, 0x08, 0x1F, 0x20, 0xF3, 0x72, 0x32, 0x62, 0x22, 0x21, 0xE2, - 0x66, 0x06, 0x46, 0xC1, 0xBB, 0x88, 0xFB, 0xD2, 0x3B, 0xCB, 0x51, 0x11, 0x6B, 0x2B, 0xA9, 0x63, - 0xA5, 0x2A, 0x6A, 0x2E, 0x95, 0x0B, 0xD5, 0x7F, 0x37, 0x86, 0x10, 0x50, 0x61, 0x21, 0x69, 0xA9, - 0x5C, 0xB5, 0xF5, 0x48, 0x9A, 0xD3, 0xDA, 0xA8, 0x47, 0x70, 0x96, 0xD6, 0xDD, 0x9D, 0x8B, 0xF7, - 0xF0, 0x7C, 0x3C, 0x2D, 0xF7, 0x1C, 0xB7, 0x0A, 0x31, 0xF6, 0x66, 0x26, 0xAE, 0xEE, 0x95, 0x9A, - 0x9F, 0x99, 0xD9, 0xA7, 0x7E, 0xB4, 0x3E, 0x2B, 0x57, 0x64, 0x92, 0xD2, 0xA5, 0xE5, 0x5D, 0x59, - 0xCB, 0xDF, 0x9F, 0xB5, 0x7C, 0xF4, 0x3C, 0x69, 0xBE, 0x16, 0x09, 0x49, 0xAD, 0xED, 0xDD, 0xD1, - 0x53, 0xD2, 0x92, 0x20, 0x6B, 0xAD, 0x2B, 0x27, 0x2C, 0xBE, 0x33, 0x73, 0x75, 0x35, 0x78, 0xAC, - 0xD0, 0xFC, 0xBC, 0x8D, 0x83, 0x5A, 0xC3, 0x38, 0xA2, 0x4F, 0x4C, 0x0C, 0xD3, 0x93, 0x5B, 0x29, - 0xCE, 0x8F, 0xCF, 0xE0, 0xF9, 0xCC, 0xB9, 0xD4, 0xFD, 0x71, 0x2D, 0x6D, 0x13, 0x53, 0x7F, 0xCD, - 0xD4, 0xBC, 0xFC, 0xC9, 0x02, 0x72, 0x42, 0x91, 0xC4, 0xDD, 0xB8, 0xF8, 0x15, 0x55, 0x2F, 0x9B, - 0xE0, 0x78, 0x38, 0x39, 0x1E, 0xE3, 0x5E, 0x1C, 0xA8, 0x72, 0x7B, 0x3B, 0x07, 0x47, 0x6E, 0xC8, - 0xA6, 0x0C, 0x4C, 0x0B, 0x0E, 0xE2, 0x4E, 0x0D, 0x6F, 0xD9, 0x17, 0x57, 0x6E, 0x2E, 0xB1, 0x7E, - 0x58, 0xF5, 0xB5, 0x0C, 0x27, 0x39, 0x67, 0xFF, 0xBC, 0x22, 0x3F, 0x7F, 0x5F, 0x1F, 0xEB, 0x15, - 0xBD, 0x2F, 0x6F, 0x33, 0xAA, 0x81, 0xEA, 0xCA, 0x70, 0xA5, 0x74, 0x34, 0x9D, 0xDD, 0x8F, 0xB3, - 0x4B, 0xD7, 0x97, 0x3D, 0x39, 0xE8, 0x79, 0x30, 0xC0, 0x99, 0xF8, 0xB8, 0xD1, 0x91, 0x1B, 0x6B, - 0xFC, 0x3D, 0x7D, 0x60, 0x72, 0x24, 0x32, 0xB7, 0x2A, 0xCE, 0x45, 0x05, 0x5D, 0x1D, 0xAB, 0x57, - 0x32, 0x40, 0x00, 0xD3, 0x44, 0x26, 0x04, 0x83, 0x23, 0xD6, 0x54, 0x14, 0x29, 0x69, 0xED, 0x65, - 0x87, 0x9C, 0xDC, 0xBA, 0x54, 0x27, 0x14, 0x92, 0x17, 0x26, 0x90, 0xD0, 0xF2, 0xB2, 0x00, 0x53, - 0x64, 0x30, 0x70, 0xF5, 0x33, 0x28, 0x73, 0xFA, 0x7C, 0xE8, 0x35, 0x75, 0xBB, 0xFB, 0x8C, 0x96, - 0x63, 0x56, 0x16, 0x94, 0x7B, 0xAC, 0x3B, 0x36, 0x49, 0x09, 0xE1, 0xA1, 0x52, 0x12, 0x73, 0x80, - 0x1A, 0xC1, 0x81, 0x7A, 0xA5, 0x59, 0xE5, 0x1D, 0x2B, 0xDF, 0x55, 0x15, 0xF3, 0xB3, 0x08, 0x5A, - 0xE6, 0x0E, 0x4E, 0x49, 0xE1, 0x4D, 0xA1, 0x4D, 0x4F, 0x79, 0x97, 0xD7, 0x4F, 0x0F, 0xEA, 0x04, - 0xDA, 0xCB, 0x8B, 0xB0, 0x45, 0x2E, 0x05, 0x8A, 0x52, 0x31, 0xC2, 0x82, 0xD4, 0x94, 0x03, 0x76, - 0x83, 0xDC, 0x9C, 0xFE, 0xEB, 0x8D, 0xAB, 0x87, 0xEF, 0x51, 0x1F, 0x5F, 0xBA, 0xFA, 0x84, 0x9F, - 0x3D, 0x27, 0x67, 0xBB, 0x6E, 0xB5, 0x2E, 0x3A, 0x93, 0xEA, 0xD8, 0x98, 0x4D, 0x0D, 0xAA, 0x46, - 0x36, 0x00, 0x40, 0x97, 0xCB, 0xDE, 0x8B, 0xF4, 0x3C, 0xAA, 0x37, 0x77, 0xE7, 0xA7, 0x19, 0x5F, - 0x7B, 0x53, 0x13, 0x89, 0x23, 0x29, 0x63, 0xEB, 0x1D, 0x1B, 0xA7, 0xE7, 0x36, 0x76, 0x34, 0xA3, - 0x33, 0x50, 0x10, 0xC2, 0x28, 0xE1, 0x68, 0x28, 0x96, 0xBF, 0x88, 0xC8, 0xC9, 0x89, 0x9A, 0xF2, - 0x06, 0x84, 0xC4, 0x23, 0xDE, 0xC7, 0x9E, 0xF8, 0x62, 0x85, 0x46, 0x06, 0xA2, 0xE2, 0x05, 0x06, - 0x21, 0x43, 0x03, 0x93, 0xC4, 0x85, 0xE7, 0xF0, 0xF7, 0xE6, 0x95, 0xA0, 0x76, 0x7C, 0x14, 0xD9, - 0x1B, 0x79, 0xAB, 0x01, 0xB9, 0x5D, 0x3F, 0x55, 0xFA, 0x7E, 0x98, 0x35, 0x61, 0x32, 0x03, 0x80, - 0x64, 0x06, 0x5A, 0x8F, 0x3C, 0xFB, 0x99, 0x76, 0xD4, 0xFD, 0xB6, 0x98, 0x89, 0x2D, 0xEB, 0x77, - 0x05, 0x67, 0x64, 0xD0, 0xD8, 0x3B, 0x59, 0x52, 0xA7, 0xE3, 0xC5, 0xF5, 0xF3, 0xC1, 0x91, 0xE1, - 0x90, 0xF2, 0xC8, 0xE9, 0x8E, 0x3D, 0x5F, 0x02, 0x94, 0xF9, 0xF6, 0xDC, 0x08, 0x84, 0x6A, 0x5F, - 0x53, 0x31, 0x67, 0x85, 0xDD, 0x2F, 0x4D, 0x43, 0x50, 0xCD, 0x32, 0x2C, 0x14, 0x09, 0x76, 0xCE, - 0x3F, 0x5D, 0xCC, 0x42, 0x6B, 0x46, 0x24, 0x9C, 0x24, 0x8B, 0x46, 0x1E, 0x04, 0x18, 0x66, 0xCF, - 0x17, 0x75, 0x37, 0x91, 0x00, 0x77, 0x15, 0xC6, 0xDD, 0x75, 0xBF, 0x19, 0x2D, 0xEA, 0x4F, 0x14, - 0xFE, 0x9C, 0x21, 0x6E, 0xE8, 0xA2, 0xC0, 0xFB, 0xEC, 0x2F, 0x8E, 0x72, 0xB4, 0xDA, 0xD6, 0xBD, - 0xDC, 0xBE, 0x10, 0x7D, 0xE4, 0xB7, 0xD5, 0xE2, 0x0C, 0x58, 0x6E, 0xE5, 0x37, 0x31, 0x55, 0xD5, - 0x5A, 0x38, 0xE6, 0x0D, 0xF7, 0x4A, 0x28, 0x0C, 0x69, 0x17, 0x0B, 0xCF, 0x42, 0x0A, 0x20, 0x9B, - 0x79, 0x1B, 0xDE, 0x16, 0x76, 0x43, 0x21, 0x84, 0x2E, 0x4B, 0x4C, 0xD4, 0xB1, 0xC7, 0xD3, 0xA5, - 0x38, 0x5A, 0x93, 0x1A, 0xBC, 0x49, 0x2B, 0x44, 0x02, 0x88, 0x60, 0x3B, 0x9F, 0x6A, 0xFD, 0x26, - 0xBE, 0xDC, 0x65, 0x6A, 0xE2, 0xF5, 0x97, 0xA6, 0x9D, 0x71, 0xFF, 0x5D, 0x90, 0xBD, 0xF2, 0xFE, - 0x4E, 0x2C, 0xE3, 0x1C, 0x8F, 0x86, 0xE4, 0xB8, 0x54, 0xDD, 0x36, 0x38, 0xFD, 0x1F, 0x9F, 0x31, - 0xBA, 0xD8, 0x71, 0x7A, 0x4C, 0x8D, 0xEF, 0x70, 0xB1, 0xB2, 0xD3, 0xB2, 0x74, 0x3E, 0x16, 0x99, - 0xBF, 0xDD, 0x6C, 0x62, 0x11, 0x67, 0x05, 0xC7, 0x26, 0xCB, 0x44, 0x5C, 0xEB, 0x58, 0x89, 0x60, - 0xEA, 0x88, 0x24, 0x7F, 0x63, 0xFC, 0x9E, 0x2E, 0xE3, 0xF7, 0x81, 0xA5, 0x4F, 0x9F, 0x2D, 0x03, - 0x37, 0x55, 0x44, 0xC2, 0x8A, 0x92, 0xF0, 0xA9, 0xF4, 0xAE, 0x96, 0xEB, 0xE1, 0x92, 0x83, 0xA0, - 0xF0, 0x92, 0xFF, 0xBE, 0x53, 0x65, 0x07, 0x87, 0x0F, 0x10, 0x6D, 0xAE, 0x64, 0x2F, 0x06, 0x98, - 0x1F, 0x7D, 0xBF, 0x11, 0x4A, 0xCF, 0xAD, 0x34, 0x28, 0x1B, 0x4A, 0x82, 0xC1, 0xE1, 0xA3, 0xF3, - 0x8F, 0xED, 0x0E, 0x30, 0xB6, 0x1E, 0x7C, 0x19, 0x7B, 0x56, 0x19, 0x9C, 0x29, 0xFE, 0x4B, 0x04, - 0xA0, 0xC2, 0xAA, 0xBB, 0xE7, 0xE1, 0x83, 0xB7, 0x78, 0x1E, 0x1A, 0xD7, 0x22, 0x3D, 0x40, 0xCC, - 0x6E, 0x0C, 0x90, 0x4F, 0x13, 0x8A, 0xE8, 0x28, 0xAC, 0x2B, 0xCE, 0x36, 0xD4, 0xED, 0xB6, 0xEA, - 0x5C, 0x3E, 0xB0, 0x5D, 0xA6, 0xB5, 0xD7, 0xA2, 0x07, 0x90, 0x65, 0x26, 0xA0, 0xDF, 0xC2, 0xAC, - 0xD0, 0xB2, 0x8C, 0xED, 0x7E, 0xF9, 0x9B, 0x36, 0xFF, 0x66, 0x9D, 0x28, 0x33, 0x25, 0x51, 0xC5, - 0x6D, 0x0F, 0xDB, 0x07, 0x42, 0x75, 0x17, 0x86, 0x15, 0xD1, 0x77, 0x75, 0x78, 0xA2, 0x1A, 0x09, - 0x7C, 0x1E, 0xC3, 0x0E, 0x70, 0x01, 0x63, 0xC0, 0x68, 0x1F, 0x0A, 0xC6, 0x4E, 0x96, 0x2C, 0x0B, - 0xB8, 0xDA, 0x33, 0x3A, 0x46, 0xDA, 0xB8, 0x2D, 0xB4, 0xAA, 0xD6, 0xAF, 0x5E, 0x87, 0x3C, 0x0A, - 0x1D, 0x7F, 0xFD, 0x51, 0x83, 0x93, 0xF1, 0xA1, 0x18, 0x49, 0x7A, 0xE0, 0x39, 0xEF, 0x5B, 0x05, - 0xC9, 0xAB, 0x1C, 0x64, 0x95, 0x7A, 0x18, 0x5E, 0x7E, 0x4E, 0x1C, 0x81, 0x71, 0x23, 0x13, 0x81, - 0x7D, 0x1F, 0xCA, 0x06, 0x4F, 0xDB, 0xB9, 0x25, 0xE9, 0x37, 0x8B, 0x6F, 0xAF, 0x08, 0xCD, 0x74, - 0x29, 0x4B, 0x8B, 0x13, 0x01, 0xCC, 0xAE, 0x7C, 0x00, 0xC8, 0x62, 0x79, 0x3D, 0xFB, 0x5F, 0x15, - 0x19, 0x7B, 0xE9, 0x41, 0x86, 0x87, 0xE5, 0xB0, 0x0A, 0x08, 0x68, 0xB3, 0xFB, 0x49, 0x99, 0x61, - 0xA6, 0xC4, 0xFC, 0xEB, 0x41, 0x23, 0x41, 0xD3, 0xDF, 0x35, 0xBD, 0x5B, 0x93, 0xF6, 0xF1, 0xB6, - 0xCA, 0xA8, 0x57, 0x2C, 0xD1, 0x3A, 0x58, 0x5A, 0x2A, 0x5B, 0x48, 0xC0, 0x8C, 0x30, 0xEE, 0x6F, - 0x47, 0x25, 0x62, 0x94, 0x02, 0x9A, 0xF8, 0x29, 0x34, 0x8A, 0x56, 0x0F, 0x54, 0x4D, 0x36, 0xCA, - 0xC0, 0xA2, 0x9D, 0xEC, 0x12, 0x31, 0x53, 0x92, 0xE6, 0xEF, 0x84, 0xB8, 0xE2, 0xD9, 0x80, 0xE8, - 0x61, 0x03, 0x47, 0x97, 0xD3, 0xD7, 0xB5, 0xB5, 0x8C, 0x78, 0xEE, 0x45, 0x73, 0x61, 0x11, 0xC1, - 0x0B, 0x69, 0xBA, 0x00, 0x9A, 0x39, 0x5B, 0x12, 0x04, 0xD8, 0x66, 0x6D, 0xDE, 0x27, 0xBC, 0x2A, - 0x71, 0x13, 0x56, 0x96, 0xCE, 0xD2, 0xB0, 0xAD, 0x25, 0x83, 0x47, 0x17, 0xE6, 0xCD, 0x84, 0xF8, - 0x12, 0x70, 0x2A, 0x89, 0x1B, 0x30, 0x52, 0x9A, 0x4D, 0x54, 0x2F, 0xA8, 0xBB, 0x0D, 0xD9, 0x65, - 0xE0, 0x82, 0xEE, 0xBF, 0x78, 0xBB, 0xD9, 0x72, 0x6F, 0x47, 0x0D, 0x99, 0x6C, 0xA7, 0x0E, 0x18, - 0xA1, 0xC3, 0xA3, 0xB3, 0x5F, 0x70, 0x12, 0x9E, 0xD1, 0xE5, 0xB3, 0x85, 0x72, 0x68, 0x10, 0xC9, - 0x32, 0x50, 0x59, 0xDA, 0xF9, 0xB2, 0xD0, 0xFA, 0xAE, 0x6B, 0xCC, 0x74, 0x2E, 0xA1, 0x4C, 0x5C, - 0x35, 0x57, 0x06, 0x82, 0x07, 0x8E, 0xEC, 0x38, 0x08, 0x48, 0x6A, 0xF1, 0xBC, 0x52, 0xDE, 0x3D, - 0xA9, 0xCB, 0x2B, 0x33, 0x05, 0x63, 0x01, 0xD7, 0x59, 0x45, 0x3B, 0xAD, 0x45, 0x55, 0x27, 0xC3, - 0x72, 0x10, 0x1D, 0xDE, 0x8D, 0x6B, 0x09, 0x57, 0xE8, 0x3F, 0x8A, 0x66, 0x23, 0x34, 0x41, 0xC4, - 0xC7, 0xA5, 0xC2, 0xB4, 0x14, 0x73, 0x11, 0xD6, 0x96, 0xB9, 0xF4, 0x9E, 0x49, 0xC9, 0x2B, 0x53, - 0x82, 0xE0, 0x9B, 0xA8, 0xD0, 0x81, 0xE3, 0xE0, 0xB0, 0xBA, 0xD2, 0xBB, 0xC7, 0xB7, 0xA5, 0xA3, - 0x9E, 0xFC, 0x16, 0x39, 0xF2, 0x5E, 0x3C, 0x1D, 0x57, 0x95, 0x35, 0x73, 0x85, 0xB1, 0xE7, 0xE7, - 0xBD, 0xDF, 0x2E, 0x22, 0x54, 0x9C, 0xFE, 0x79, 0xEF, 0x67, 0x8D, 0x39, 0x1D, 0x88, 0x7F, 0x46, - 0xAB, 0xC9, 0x69, 0x73, 0x15, 0xC8, 0xAA, 0x6C, 0x44, 0xDC, 0x26, 0x29, 0x94, 0xA9, 0xF6, 0xEE, - 0xD5, 0xB7, 0x91, 0xF5, 0x3F, 0xAD, 0xCF, 0x23, 0x09, 0x40, 0x6B, 0xF8, 0x87, 0xF3, 0xE5, 0xA7, - 0xC1, 0xA3, 0x94, 0xE4, 0xBE, 0xA4, 0xC6, 0xAB, 0xC3, 0xA4, 0xA1, 0xD6, 0xA4, 0xCB, 0xC6, 0xBC, - 0x3E, 0x5C, 0xC5, 0x4A, 0x4B, 0x74, 0x16, 0x8E, 0xE4, 0xAF, 0x86, 0xFA, 0xEA, 0x51, 0x88, 0x68, - 0xF8, 0x9A, 0x77, 0x3E, 0x60, 0xAA, 0xC8, 0x7B, 0x95, 0xF1, 0xF7, 0xD5, 0x7E, 0xF4, 0x1C, 0x59, - 0xCB, 0xA9, 0x5E, 0x24, 0x50, 0x33, 0x51, 0xD2, 0x48, 0x4C, 0x2A, 0xB5, 0xA7, 0x80, 0xC5, 0xF4, - 0x62, 0x00, 0x0C, 0xDF, 0x40, 0x98, 0xFA, 0x69, 0x9B, 0x21, 0xF9, 0x0B, 0x02, 0x4E, 0x60, 0x9F, - 0xAF, 0xCD, 0x7D, 0x63, 0xF0, 0xB3, 0xD1, 0xF2, 0xE2, 0xFF, 0x80, 0xAC, 0x6F, 0xEC, 0x0D, 0x50, - 0xC4, 0xA6, 0x89, 0xFC, 0xA4, 0x58, 0x3A, 0x4D, 0x8B, 0x20, 0xE9, 0x1A, 0x30, 0x6E, 0x52, 0x8D, - 0xF3, 0x91, 0xB4, 0xF6, 0x7F, 0x42, 0x20, 0x8C, 0x6C, 0x0F, 0x0E, 0xD2, 0xDB, 0x3A, 0xB9, 0x32, - 0xED, 0x8F, 0x7B, 0x27, 0x48, 0x22, 0x40, 0xDB, 0x97, 0xB1, 0xF5, 0x97, 0x27, 0x20, 0x45, 0xD4, - 0x56, 0x34, 0x7A, 0x9D, 0x43, 0xCE, 0xAC, 0x3C, 0xD8, 0x6D, 0xBA, 0x04, 0xCA, 0x22, 0xA8, 0x3B, - 0x90, 0xA0, 0x8D, 0xAF, 0x98, 0x9C, 0xB9, 0xBA, 0xB0, 0x9D, 0xB2, 0xBF, 0xFA, 0xBC, 0xFB, 0x9E, - 0xB5, 0xA3, 0xAB, 0x89, 0x16, 0xE2, 0x49, 0x34, 0xE9, 0xD8, 0xAE, 0xFA, 0xCC, 0x4E, 0x3F, 0x6C, - 0x12, 0x7D, 0xD2, 0xF0, 0x42, 0xA3, 0x5C, 0x60, 0x05, 0xA2, 0x38, 0x80, 0x63, 0xA1, 0x7F, 0x83, - 0x58, 0x8F, 0x6A, 0x48, 0xDA, 0x9A, 0xFD, 0xF8, 0x3D, 0x81, 0x23, 0xA3, 0x07, 0x63, 0xD9, 0x41, - 0xD3, 0x5A, 0x34, 0x16, 0xD8, 0xD8, 0xBD, 0xFA, 0xBA, 0xCA, 0xEF, 0xE8, 0x39, 0x90, 0x14, 0xB2, - 0x02, 0xC6, 0x79, 0x5B, 0xCB, 0x82, 0xF4, 0xE9, 0x42, 0xB4, 0x69, 0x96, 0x76, 0xF5, 0x3E, 0xD7, - 0xD1, 0xB5, 0xD9, 0xFB, 0xB5, 0x7A, 0x72, 0x97, 0xEE, 0x21, 0x50, 0x03, 0x94, 0x49, 0x60, 0x6B, - 0xFD, 0xBE, 0xFE, 0xDC, 0xFB, 0xE0, 0xA6, 0xD9, 0xBF, 0xDE, 0xFE, 0xFC, 0xB1, 0x99, 0x95, 0xBB, - 0x9E, 0x56, 0x75, 0x57, 0xF8, 0xAB, 0xEE, 0xDA, 0x75, 0xD4, 0x3E, 0xF6, 0xC8, 0x0E, 0x7B, 0x2C, - 0xFE, 0xEB, 0xA8, 0x8A, 0x21, 0xDF, 0x43, 0x03, 0x5C, 0xE7, 0x24, 0xC5, 0x61, 0x97, 0x4B, 0xB5, - 0x87, 0xE5, 0xDF, 0xFD, 0x30, 0xC7, 0x4A, 0x12, 0x56, 0xB0, 0x79, 0x92, 0xE8, 0x8E, 0xDB, 0xAC, - 0x20, 0x3B, 0xA6, 0x84, 0x5D, 0x65, 0x85, 0x7F, 0x27, 0x7D, 0xC5, 0x5F, 0x73, 0xA5, 0x6B, 0x87, - 0xF9, 0x15, 0x51, 0x73, 0x84, 0x11, 0x28, 0xA6, 0x9F, 0xEC, 0xEC, 0xCE, 0x96, 0x7F, 0x54, 0x5D, - 0x31, 0x3A, 0xB6, 0x94, 0x6F, 0x45, 0x97, 0x4D, 0xA2, 0xDB, 0xE6, 0xF9, 0x57, 0x65, 0x8F, 0x47, - 0x2F, 0x77, 0xE5, 0xC7, 0x95, 0x09, 0x21, 0xB7, 0x51, 0x49, 0x87, 0x6B, 0x26, 0xF3, 0x68, 0xD1, - 0xBC, 0xAB, 0xAA, 0x88, 0x78, 0x0B, 0xCE, 0x5A, 0x50, 0xF2, 0x3D, 0xD0, 0xC1, 0x1F, 0x63, 0x3D, - 0x98, 0x12, 0x37, 0x15, 0xA4, 0x62, 0x7B, 0x86, 0xC2, 0x06, 0x5B, 0x24, 0xAA, 0xBA, 0xAD, 0x98, - 0x52, 0xD2, 0x3D, 0x1F, 0x62, 0xD0, 0x0F, 0x40, 0xA0, 0x36, 0x09, 0x14, 0x66, 0xF1, 0x2A, 0xD3, - 0xEB, 0x41, 0x17, 0x35, 0xD3, 0x1B, 0x75, 0xF1, 0x7C, 0xD5, 0x36, 0xF7, 0x40, 0x07, 0xFA, 0x25, - 0x70, 0x2F, 0xE2, 0xC0, 0xCC, 0xDD, 0xAC, 0xEE, 0xD7, 0xB9, 0xF1, 0x9B, 0xC9, 0x1E, 0x6A, 0x3C, - 0x93, 0xF5, 0xDB, 0xF9, 0xBD, 0xF2, 0xF2, 0x9F, 0xB6, 0xDF, 0xF6, 0xFD, 0x88, 0x0C, 0x39, 0x2E, - 0x24, 0x90, 0x09, 0x2B, 0x0B, 0x66, 0xD0, 0x29, 0x49, 0x58, 0x8E, 0x7A, 0x33, 0xA7, 0x29, 0x85, - 0x46, 0xC2, 0x39, 0x1B, 0x81, 0x0C, 0x30, 0xA3, 0x91, 0x14, 0x1A, 0x36, 0x08, 0x04, 0xB1, 0x26, - 0x6E, 0x62, 0xB1, 0x93, 0x2C, 0x4A, 0xDB, 0x0E, 0x6C, 0x7E, 0x8D, 0x5C, 0xAF, 0xEA, 0xF8, 0xC8, - 0x83, 0x4E, 0x70, 0x52, 0xE4, 0x26, 0x7F, 0xC6, 0x01, 0x0D, 0x93, 0x2F, 0x80, 0x0D, 0x30, 0x2F, - 0x3C, 0x99, 0x18, 0x3A, 0xB9, 0xE6, 0xE2, 0x9B, 0x7D, 0x6E, 0x8C, 0x4C, 0xB7, 0xEF, 0xE5, 0xCD, - 0xAE, 0xFF, 0xEC, 0xCE, 0x2D, 0x43, 0xD3, 0x0F, 0x88, 0xBE, 0xA9, 0x9C, 0x84, 0x4D, 0x74, 0x6F, - 0xB2, 0x5D, 0x52, 0x70, 0x33, 0x8C, 0x02, 0x11, 0xC5, 0xFF, 0xA5, 0xDD, 0x68, 0x86, 0x53, 0xA4, - 0xDA, 0x52, 0x35, 0x17, 0xE3, 0x79, 0x27, 0xC1, 0x2D, 0x2A, 0x98, 0x08, 0x22, 0xB3, 0x2C, 0x91, - 0x5F, 0x71, 0x93, 0xB1, 0x71, 0x8A, 0x46, 0x53, 0x72, 0x2D, 0xC0, 0x0F, 0xE0, 0x8F, 0xD2, 0xAD, - 0x4D, 0x25, 0xD5, 0xF7, 0x7C, 0x1F, 0xDE, 0x5E, 0x36, 0x6D, 0xC4, 0x4F, 0x4D, 0x56, 0xA6, 0x74, - 0x86, 0x5F, 0x64, 0x46, 0x1A, 0x7E, 0xD9, 0x38, 0x00, 0xB6, 0x29, 0x94, 0xCD, 0x5E, 0x2E, 0x7C, - 0x8E, 0xED, 0xDE, 0xFC, 0x10, 0xB4, 0x19, 0x32, 0x0F, 0xF5, 0x65, 0xD7, 0x34, 0xC1, 0x48, 0xE3, - 0x77, 0xD1, 0x1B, 0x39, 0xB4, 0x73, 0x7A, 0x96, 0x47, 0xA0, 0x78, 0x82, 0xDD, 0x5A, 0x3A, 0x78, - 0x85, 0x0A, 0x32, 0x10, 0x3B, 0x04, 0x82, 0x19, 0xD4, 0xEF, 0xA4, 0xCD, 0x9D, 0x58, 0x78, 0x7A, - 0xC0, 0xB4, 0xC9, 0xEB, 0xBE, 0xB9, 0xBA, 0x9C, 0x6F, 0x28, 0xD8, 0x0A, 0xB3, 0xAF, 0xA1, 0x8D, - 0xB7, 0x4C, 0x46, 0x64, 0x76, 0xD5, 0x1E, 0x54, 0x25, 0x90, 0x2A, 0xB2, 0x03, 0x23, 0x9D, 0x01, - 0xA9, 0x01, 0x15, 0x37, 0x9E, 0xCA, 0xE9, 0xBC, 0x94, 0x00, 0x0B, 0x22, 0x2E, 0xF2, 0x61, 0xD0, - 0x1D, 0x31, 0x91, 0xB3, 0x8B, 0xC6, 0xF0, 0xA9, 0xBB, 0x71, 0x55, 0x53, 0x32, 0xB7, 0x38, 0x95, - 0xFC, 0x04, 0x45, 0x67, 0x7D, 0x16, 0xD6, 0x5F, 0x81, 0xBF, 0xA1, 0x9D, 0xAD, 0xDC, 0xCC, 0xFE, - 0x03, 0x7C, 0xC2, 0xE0, 0x6C, 0x0E, 0xDF, 0x4E, 0xA7, 0xCF, 0xF7, 0xED, 0x2C, 0xC4, 0x55, 0xE6, - 0x0D, 0x8A, 0x3A, 0x18, 0xFF, 0xF4, 0xB6, 0xDD, 0x9B, 0x43, 0x47, 0x61, 0xB8, 0x88, 0x8D, 0xAA, - 0xED, 0x05, 0x55, 0x77, 0x11, 0xBD, 0x11, 0x33, 0xE8, 0x63, 0x14, 0x41, 0xDA, 0x3C, 0x5B, 0x1E, - 0x5E, 0xCB, 0x28, 0x0A, 0x27, 0x89, 0x13, 0x05, 0xF0, 0x72, 0x1D, 0x50, 0x9C, 0x48, 0x69, 0x6A, - 0xCB, 0x53, 0x25, 0x07, 0x66, 0xC4, 0x1F, 0x44, 0xD6, 0x02, 0x4B, 0x20, 0xBB, 0xAE, 0xA8, 0x8C, - 0x84, 0xB0, 0x89, 0xAB, 0x01, 0xAC, 0x10, 0x23, 0x18, 0xA7, 0x20, 0x85, 0x37, 0xE7, 0x6D, 0xC5, - 0x44, 0x2D, 0xD4, 0xF6, 0xF0, 0x23, 0x6E, 0xD2, 0xE1, 0x62, 0x1C, 0x40, 0x3F, 0xE6, 0x64, 0xC4, - 0xAA, 0x54, 0x43, 0x61, 0x2E, 0x08, 0x9B, 0x0C, 0x37, 0xD6, 0x7E, 0xF4, 0x44, 0x47, 0xBE, 0x65, - 0x1E, 0x64, 0xC7, 0xE5, 0x3E, 0x19, 0x9A, 0x1C, 0x80, 0x04, 0x1B, 0x26, 0x4F, 0x60, 0x92, 0x42, - 0x8B, 0xFC, 0xCA, 0xE8, 0x29, 0x57, 0xC3, 0x0B, 0x28, 0x3E, 0x89, 0x1C, 0xEA, 0xB8, 0xEF, 0x9A, - 0xDE, 0xF9, 0x9A, 0xB8, 0xAC, 0xEA, 0xFB, 0x8E, 0x4F, 0x1A, 0xCA, 0x38, 0x48, 0x06, 0xF3, 0x24, - 0xB3, 0xE7, 0xE9, 0xCB, 0xD6, 0x06, 0x6D, 0xF4, 0x71, 0x7B, 0x95, 0x59, 0x6C, 0xC6, 0x17, 0xE4, - 0x07, 0xD7, 0x6D, 0x4F, 0x4B, 0x22, 0xD4, 0x69, 0x4C, 0x4C, 0x9F, 0x6E, 0x59, 0x12, 0xF6, 0x30, - 0xF7, 0xE3, 0xA9, 0x8B, 0x57, 0xAF, 0x45, 0x75, 0xE3, 0x8F, 0xF3, 0xAD, 0x18, 0x00, 0xA5, 0x22, - 0x32, 0x6F, 0xE0, 0xC2, 0x72, 0xC1, 0x0E, 0x50, 0x1C, 0x08, 0x8B, 0x2A, 0xDC, 0x4A, 0x2B, 0x68, - 0x35, 0x91, 0x19, 0x3B, 0x5B, 0x33, 0xD5, 0x79, 0xE7, 0x20, 0x58, 0x02, 0x86, 0x7B, 0x40, 0x59, - 0xCE, 0x42, 0x31, 0x13, 0x68, 0x1A, 0xCF, 0x4A, 0x3B, 0xC3, 0x67, 0xE1, 0xF8, 0x8A, 0xCF, 0xA8, - 0x59, 0x35, 0xD1, 0xF3, 0xEB, 0xF1, 0xA7, 0xC9, 0x0A, 0xE1, 0x74, 0xC3, 0xE1, 0x9F, 0xC3, 0xBD, - 0xFF, 0x51, 0x13, 0x31, 0xEE, 0xEC, 0xBF, 0xCC, 0xF5, 0x66, 0x0C, 0x44, 0x9E, 0x7E, 0x5D, 0x5C, - 0xE4, 0x0D, 0x54, 0x76, 0x1D, 0x21, 0x81, 0x3F, 0xCD, 0x45, 0x17, 0x67, 0x16, 0x77, 0xDC, 0x55, - 0x76, 0x6B, 0xA0, 0x82, 0xCF, 0x96, 0xE4, 0xED, 0x4E, 0xA1, 0x70, 0x83, 0xBC, 0xC8, 0xC9, 0xEA, - 0x10, 0x92, 0x3F, 0x1D, 0xC0, 0x41, 0x3C, 0xE2, 0xB8, 0x27, 0x00, 0x05, 0x5E, 0x74, 0x97, 0x56, - 0x99, 0xA8, 0x8C, 0xAE, 0x2B, 0x15, 0x83, 0x09, 0x5A, 0xA5, 0x60, 0x87, 0x6A, 0xB0, 0x67, 0x92, - 0x13, 0xC7, 0x69, 0x4B, 0xA2, 0x34, 0x2B, 0x80, 0xC8, 0x51, 0x06, 0x73, 0xA2, 0xBB, 0xA4, 0x99, - 0xFF, 0x6F, 0xB5, 0xF6, 0x68, 0x9F, 0xD2, 0x2B, 0xB0, 0x5A, 0x8C, 0x19, 0xCC, 0x1B, 0xF2, 0x58, - 0xEF, 0xD4, 0x1E, 0x5D, 0xEF, 0x60, 0xAA, 0xAC, 0x24, 0xEC, 0xAE, 0xAF, 0xA9, 0xC9, 0x45, 0x8A, - 0x2E, 0xF3, 0xF8, 0xBB, 0x4E, 0xBA, 0xD1, 0x0D, 0x9C, 0x7D, 0x87, 0x3E, 0x3E, 0xA3, 0xB8, 0xE0, - 0x67, 0x54, 0x16, 0x55, 0x24, 0x47, 0x46, 0x67, 0xDA, 0xD0, 0x6C, 0x93, 0x9E, 0x2B, 0x90, 0x68, - 0xFC, 0x3A, 0xE3, 0xA0, 0x06, 0x76, 0x55, 0x45, 0x06, 0x33, 0x53, 0x70, 0x8E, 0x2F, 0x84, 0x6C, - 0x7B, 0xF6, 0xA8, 0xEB, 0x36, 0x14, 0x07, 0x75, 0xB4, 0xF5, 0x27, 0xB6, 0x4E, 0x25, 0x4E, 0x66, - 0xBC, 0x95, 0x0C, 0x4F, 0x89, 0x01, 0xAD, 0xCA, 0x0B, 0x9D, 0xF0, 0xDE, 0x73, 0xF0, 0xA6, 0xB3, - 0x2C, 0x1C, 0x15, 0x56, 0xE5, 0xAA, 0x6A, 0xA6, 0xCD, 0x82, 0x29, 0xC1, 0x1D, 0x05, 0x3D, 0x46, - 0x04, 0xBC, 0x9D, 0xDE, 0x1D, 0xA4, 0x9C, 0x5E, 0x5C, 0x20, 0x1A, 0x63, 0x2D, 0x81, 0x89, 0xC2, - 0xFA, 0x7E, 0xA1, 0xE2, 0x1A, 0xFB, 0xC4, 0x59, 0xAF, 0xB2, 0x7B, 0xF1, 0x0E, 0x27, 0x0C, 0x64, - 0xF8, 0x91, 0x4C, 0x0F, 0x86, 0xD6, 0x75, 0xC5, 0xA8, 0x4B, 0x85, 0x08, 0x03, 0x76, 0x50, 0x35, - 0x70, 0x11, 0x44, 0x07, 0x5D, 0xE0, 0x98, 0x1E, 0xC9, 0x2D, 0x82, 0x6E, 0x79, 0xC7, 0x9B, 0x84, - 0x33, 0xEB, 0xFD, 0xBE, 0x5E, 0xAB, 0xD0, 0x1D, 0x30, 0xE8, 0xBE, 0xAB, 0xC5, 0x0A, 0xEA, 0x49, - 0xE6, 0xDC, 0x1F, 0x5C, 0x3D, 0xD7, 0xCF, 0x7E, 0xF0, 0xB5, 0x23, 0xF6, 0x12, 0x62, 0x55, 0x21, - 0x85, 0x34, 0x94, 0xD7, 0xCF, 0x13, 0xF9, 0x8C, 0x5A, 0x62, 0x5E, 0x21, 0x01, 0x40, 0x64, 0x03, - 0xA2, 0xD8, 0x5F, 0x1C, 0x8E, 0x5E, 0xF5, 0xCD, 0x95, 0x7C, 0x8F, 0x3F, 0xA3, 0xFE, 0x78, 0xBD, - 0xE8, 0x2A, 0xE7, 0xA4, 0x84, 0x94, 0x35, 0xC7, 0x54, 0x9A, 0xA8, 0xD9, 0x9A, 0x6B, 0xD4, 0x28, - 0xC2, 0x65, 0x82, 0xC1, 0xFA, 0x6C, 0xB3, 0xB9, 0x0E, 0x89, 0xE1, 0xCA, 0x06, 0x26, 0x05, 0x65, - 0x43, 0xED, 0x8B, 0xC8, 0xEE, 0x69, 0xA2, 0xAD, 0x36, 0xAA, 0xFA, 0xE9, 0xE2, 0xEC, 0x2B, 0xAF, - 0xB6, 0xC8, 0x5B, 0x18, 0x11, 0x38, 0x0C, 0x52, 0xAC, 0xE4, 0x2E, 0xA7, 0xE9, 0xCB, 0x07, 0x88, - 0xE9, 0x90, 0x5C, 0x1F, 0xE8, 0x3F, 0xF2, 0xAB, 0x34, 0x47, 0x15, 0x04, 0xFF, 0xB9, 0x63, 0xFA, - 0x2D, 0xA6, 0xAE, 0xED, 0xAD, 0x66, 0xEE, 0xEE, 0x4A, 0xC9, 0xE5, 0x8A, 0xFC, 0x9F, 0x46, 0xDC, - 0x0F, 0x5B, 0x71, 0x32, 0xB1, 0xEB, 0x7F, 0xF2, 0x4C, 0x8B, 0xA1, 0xC8, 0xD3, 0x78, 0x8E, 0x3B, - 0xA9, 0x3F, 0xB3, 0xF0, 0x92, 0xD3, 0x64, 0xD1, 0x75, 0x13, 0x00, 0x50, 0x21, 0xC0, 0xC4, 0x83, - 0x59, 0x0B, 0x77, 0x34, 0xEB, 0x74, 0xBA, 0xA8, 0x93, 0x3E, 0xCB, 0x7D, 0x66, 0xA4, 0xE7, 0xE7, - 0x82, 0xCA, 0x6D, 0x2E, 0xDC, 0x49, 0xB0, 0x9F, 0xC7, 0xD5, 0x74, 0x96, 0x49, 0x43, 0x2F, 0x00, - 0xB5, 0x9D, 0x0D, 0x4E, 0xC2, 0x86, 0x61, 0x81, 0xDD, 0x29, 0x92, 0x6A, 0xF7, 0xB8, 0x6A, 0xFB, - 0xBE, 0x7A, 0xE1, 0xA2, 0x79, 0x87, 0xDB, 0x3A, 0xDF, 0xC4, 0x7D, 0x87, 0x2B, 0xF7, 0xF9, 0xB4, - 0x9D, 0x3D, 0x85, 0xC6, 0xD7, 0x8A, 0x78, 0x94, 0x09, 0x70, 0x1F, 0x33, 0xB7, 0xBA, 0x28, 0xF9, - 0xAD, 0x94, 0x1C, 0x5F, 0xE4, 0xA3, 0x62, 0xA7, 0x7D, 0xA9, 0xB2, 0xEA, 0x0A, 0x67, 0x48, 0x24, - 0xBD, 0x2F, 0xB7, 0xF4, 0x4D, 0xF1, 0x99, 0x0E, 0xB3, 0x0C, 0xD9, 0x4F, 0x67, 0xB4, 0xF6, 0xF7, - 0x0D, 0xB4, 0x9C, 0xDF, 0x80, 0x80, 0x25, 0xC3, 0x11, 0x61, 0x16, 0x22, 0xB9, 0xCD, 0x51, 0x8E, - 0x73, 0x44, 0x12, 0x51, 0xBF, 0x35, 0xAF, 0xFC, 0x79, 0x06, 0x19, 0x45, 0xBF, 0xBB, 0x21, 0xF8, - 0x20, 0x05, 0x00, 0x43, 0x7C, 0x9A, 0xC3, 0x3F, 0xF4, 0x1A, 0x88, 0x59, 0x8B, 0x7F, 0xD1, 0x3C, - 0x96, 0xDA, 0x69, 0x2A, 0x10, 0x31, 0x04, 0x53, 0xE5, 0x0A, 0x89, 0x49, 0xCD, 0x0B, 0xE3, 0x48, - 0xFD, 0x80, 0x58, 0x1B, 0x38, 0xCA, 0xD7, 0x7B, 0x17, 0x23, 0x52, 0x60, 0x33, 0xF2, 0xE4, 0xB1, - 0x39, 0xB6, 0xAA, 0xE9, 0x0E, 0xFE, 0xD5, 0x4D, 0x81, 0x78, 0x9F, 0x3B, 0xA0, 0xD8, 0x5D, 0x9B, - 0x44, 0x13, 0x72, 0x31, 0x34, 0x56, 0x47, 0x77, 0xCF, 0x6F, 0xC6, 0x2C, 0x38, 0xD5, 0xC8, 0x96, - 0xC1, 0x30, 0xD4, 0x97, 0x4B, 0xA7, 0xC9, 0x08, 0xD0, 0x87, 0x31, 0xC4, 0xBB, 0xFB, 0x65, 0xB8, - 0x25, 0x14, 0x14, 0x57, 0x2A, 0x99, 0x96, 0x69, 0x3C, 0xFD, 0xA7, 0xBE, 0xA5, 0x88, 0x08, 0xCB, - 0x41, 0x02, 0x66, 0x25, 0x17, 0x6E, 0x5C, 0x54, 0x97, 0x91, 0x60, 0xD2, 0xCE, 0x2D, 0xC6, 0x6E, - 0x1F, 0xE0, 0xDA, 0x99, 0x91, 0x98, 0x2C, 0xD2, 0x40, 0x9E, 0xB8, 0xDD, 0x37, 0xB2, 0xA0, 0xF1, - 0x72, 0xFE, 0xA9, 0xEA, 0x61, 0x1E, 0x5A, 0x22, 0xE2, 0xF3, 0x77, 0xB0, 0x9B, 0x7B, 0xC5, 0x38, - 0xB1, 0x36, 0xA2, 0xE1, 0x95, 0x8C, 0x3C, 0xD6, 0xC3, 0x7A, 0xDF, 0x39, 0xF4, 0x9E, 0x4F, 0xDD, - 0x15, 0xBD, 0x8D, 0xCE, 0xD1, 0xDC, 0x28, 0x92, 0x27, 0xBA, 0xFB, 0xF9, 0x69, 0xC3, 0x8F, 0x80, - 0x19, 0xA4, 0x98, 0xDB, 0xF3, 0xED, 0x3B, 0xB0, 0xCC, 0x39, 0x93, 0x7A, 0x1E, 0x23, 0x18, 0x60, - 0x0A, 0x4A, 0x65, 0x26, 0x75, 0x1B, 0x4B, 0x36, 0xF7, 0x4C, 0xDD, 0x0F, 0x51, 0x46, 0x32, 0x05, - 0x8B, 0xC2, 0x6C, 0x2F, 0x56, 0x23, 0x50, 0x15, 0x3A, 0xBF, 0xE3, 0xFC, 0x0D, 0x01, 0x29, 0x42, - 0xB7, 0x72, 0xE0, 0xA3, 0x30, 0x42, 0x57, 0x73, 0x1C, 0xCF, 0xB5, 0x8C, 0x5D, 0x07, 0x7F, 0x44, - 0x4B, 0x5F, 0x31, 0x72, 0xA0, 0xF3, 0x76, 0xE3, 0x03, 0x27, 0x42, 0x64, 0x10, 0x54, 0x61, 0x17, - 0x1A, 0xF1, 0xCE, 0x8D, 0x8F, 0x57, 0xFD, 0xCC, 0xC0, 0x2C, 0x8A, 0x6F, 0x58, 0x57, 0x2A, 0x14, - 0xEE, 0x6E, 0xA5, 0xE6, 0x41, 0x6D, 0x09, 0x02, 0x10, 0xDA, 0xAC, 0x99, 0x6D, 0x83, 0xCB, 0xC0, - 0xEC, 0x81, 0x48, 0x0B, 0x90, 0x91, 0x24, 0xD3, 0xA5, 0xE5, 0x26, 0xA6, 0x8D, 0x09, 0xA1, 0x4A, - 0x9E, 0x68, 0xD3, 0x90, 0xC5, 0xD9, 0x39, 0x86, 0x62, 0x41, 0x45, 0x02, 0xB1, 0xCC, 0x58, 0x8F, - 0x77, 0xEF, 0xBD, 0xFE, 0x18, 0xB9, 0x84, 0x5B, 0x6F, 0xEF, 0xE6, 0xAC, 0xE8, 0xDB, 0x16, 0x98, - 0xAE, 0xC1, 0x4A, 0x09, 0xDF, 0x02, 0xF8, 0x9C, 0xD2, 0x6A, 0xDE, 0x29, 0x56, 0x20, 0x53, 0x63, - 0xBB, 0x6B, 0xF5, 0xB6, 0x97, 0xCE, 0x7C, 0xD4, 0x7A, 0x50, 0x4C, 0x13, 0xEC, 0x9B, 0x52, 0xD8, - 0x7E, 0xE7, 0xBC, 0xFF, 0x32, 0x00, 0x17, 0x71, 0x12, 0x37, 0x43, 0x74, 0x0F, 0x37, 0x1D, 0x74, - 0x68, 0x18, 0x55, 0x16, 0xE6, 0xE1, 0x22, 0xA5, 0xDE, 0x7F, 0xC7, 0x3C, 0x08, 0x51, 0x7C, 0x12, - 0xB2, 0x63, 0xF4, 0xB7, 0x52, 0x37, 0x40, 0x11, 0xF5, 0xA1, 0x32, 0xE2, 0x71, 0xC6, 0x92, 0x85, - 0x5B, 0xE4, 0x9A, 0xD9, 0x73, 0x4D, 0x1B, 0x30, 0x22, 0xAE, 0xEA, 0xED, 0xD6, 0x28, 0xDB, 0x6B, - 0x83, 0x70, 0xD6, 0x95, 0xFF, 0x71, 0xAB, 0xBC, 0xD8, 0x3D, 0x83, 0x7E, 0x20, 0xD0, 0xD5, 0x93, - 0xBF, 0xC0, 0x5A, 0x19, 0x42, 0x26, 0x41, 0x01, 0x5F, 0x76, 0x4F, 0x35, 0x97, 0x3A, 0x88, 0x79, - 0x8D, 0x86, 0x2E, 0x6D, 0x53, 0x3E, 0x48, 0x10, 0x6B, 0x40, 0x4D, 0x03, 0x59, 0x47, 0x3B, 0x04, - 0x89, 0x25, 0xCB, 0x4E, 0xC2, 0x01, 0x2C, 0xCF, 0x96, 0x32, 0x46, 0xA8, 0xD3, 0x3D, 0xAF, 0x9E, - 0xB1, 0xA0, 0x4E, 0xF3, 0x39, 0xBF, 0xD7, 0x8A, 0xB8, 0xEB, 0xB1, 0x5F, 0x14, 0xFA, 0xD3, 0x25, - 0x12, 0x0E, 0xE0, 0xFE, 0x2E, 0xE6, 0xC0, 0xC4, 0x3F, 0x02, 0xDF, 0x31, 0xC9, 0x27, 0x6E, 0x45, - 0x71, 0xAA, 0x44, 0x39, 0xEB, 0xDA, 0x05, 0x3D, 0xD6, 0x70, 0x44, 0xAA, 0x9C, 0x72, 0x73, 0x0D, - 0xFB, 0x95, 0x7B, 0x8C, 0x61, 0x3A, 0x8F, 0x57, 0x39, 0x72, 0xA9, 0x47, 0x4D, 0xA3, 0x5E, 0xF1, - 0xDD, 0x63, 0x8D, 0x5C, 0xB5, 0x0F, 0x5B, 0xB6, 0xA6, 0x86, 0xC2, 0x2C, 0x83, 0x6D, 0xAA, 0xCB, - 0x15, 0x68, 0x86, 0x9F, 0xB6, 0x47, 0x58, 0xFD, 0x08, 0xD7, 0x3D, 0xD3, 0xAC, 0x42, 0x21, 0x6F, - 0xE2, 0x80, 0x6E, 0x80, 0xE5, 0x0A, 0x0B, 0xE3, 0x25, 0x2B, 0xEC, 0x02, 0x3C, 0xD2, 0x00, 0xDE, - 0x1A, 0x0F, 0xE1, 0xF7, 0xA5, 0x0E, 0x4B, 0xA7, 0xD1, 0x11, 0x22, 0xCC, 0x5F, 0xB1, 0x1F, 0xA2, - 0x18, 0x39, 0xD7, 0xC3, 0xD8, 0xC0, 0x36, 0x14, 0x97, 0x23, 0x56, 0xB8, 0x4E, 0xA0, 0x16, 0xBA, - 0xD4, 0x72, 0x9C, 0x44, 0x32, 0x77, 0xDC, 0x49, 0x27, 0x1F, 0xDA, 0x34, 0xF3, 0x1D, 0xFC, 0xED, - 0xBD, 0xE1, 0x0F, 0xBE, 0xCA, 0x81, 0x24, 0x47, 0xB3, 0xC7, 0x96, 0x78, 0x7F, 0x91, 0x4C, 0xD1, - 0x65, 0xEE, 0x00, 0x69, 0x24, 0x26, 0xCA, 0x0E, 0x34, 0x2E, 0xF8, 0x16, 0x5E, 0xB0, 0x17, 0xAB, - 0x90, 0x30, 0xDE, 0x42, 0xB3, 0x5F, 0x5D, 0xE0, 0x4F, 0xF4, 0x59, 0xB7, 0xEA, 0x04, 0x75, 0x7D, - 0x14, 0x78, 0x96, 0x8E, 0xD5, 0x58, 0x3B, 0x81, 0xB0, 0xE2, 0xB0, 0x5E, 0x3E, 0xD0, 0x40, 0x9C, - 0x1B, 0x1F, 0xF1, 0xE6, 0x79, 0xBB, 0x97, 0xCE, 0x3C, 0x27, 0xF9, 0x17, 0x9B, 0x75, 0x2B, 0x52, - 0xF0, 0xB2, 0x5C, 0xA0, 0x6A, 0xF2, 0x84, 0x94, 0x43, 0xB9, 0x18, 0xF6, 0x26, 0xC8, 0xC1, 0x05, - 0x66, 0xC8, 0x26, 0x4C, 0x19, 0xEC, 0xF7, 0xF9, 0x67, 0x5D, 0xD8, 0x36, 0x47, 0xA9, 0x9E, 0x3B, - 0x91, 0x20, 0xCE, 0x53, 0x37, 0x6F, 0xD9, 0x54, 0x44, 0xD8, 0x7E, 0x90, 0x38, 0xD6, 0x10, 0xCA, - 0xC8, 0x37, 0xD9, 0x1D, 0x3A, 0xF7, 0xD4, 0xC1, 0xE1, 0xA5, 0xA6, 0x48, 0x02, 0xEC, 0x82, 0x62, - 0x05, 0x6C, 0x82, 0x8B, 0x10, 0x64, 0xFE, 0x78, 0xD7, 0x61, 0x54, 0xBA, 0x34, 0xDA, 0x80, 0x56, - 0xDE, 0x45, 0xAB, 0x79, 0xE9, 0x9A, 0x07, 0x7F, 0x8D, 0x0A, 0x65, 0x8B, 0x1C, 0xF2, 0x53, 0xAD, - 0xDF, 0x55, 0xBB, 0x68, 0x9D, 0xDC, 0x73, 0x4D, 0x52, 0xBC, 0x0C, 0xE2, 0x70, 0x9E, 0x94, 0x06, - 0x4E, 0x49, 0xA7, 0xE5, 0x59, 0xE8, 0xB7, 0xBD, 0x13, 0xEF, 0x1E, 0xF0, 0xB3, 0x5D, 0xF8, 0xA9, - 0xB4, 0xF0, 0x1E, 0xA6, 0xE3, 0x5A, 0x0D, 0xB5, 0x95, 0x17, 0x60, 0x8E, 0x5A, 0xB4, 0x07, 0xBF, - 0x8A, 0x03, 0xED, 0x6B, 0xA4, 0x06, 0x4A, 0xAE, 0x1D, 0x96, 0x69, 0x87, 0x79, 0x97, 0x1C, 0x87, - 0xC4, 0x76, 0x98, 0x50, 0xC1, 0x49, 0x2F, 0x84, 0xF3, 0x85, 0x94, 0x7A, 0xFF, 0x11, 0x6C, 0x71, - 0xAC, 0xF5, 0x1B, 0xBB, 0x21, 0x3E, 0xCF, 0x13, 0xEA, 0x89, 0x81, 0x6F, 0xDD, 0x33, 0x7F, 0x40, - 0x88, 0x35, 0xDB, 0x5F, 0x7C, 0xA3, 0x92, 0xD3, 0x61, 0x2D, 0xAE, 0x40, 0x99, 0x77, 0x6B, 0x10, - 0x20, 0xBC, 0x52, 0x7E, 0x99, 0xCC, 0x77, 0x59, 0xA9, 0xEE, 0xA5, 0x4B, 0x6D, 0x83, 0x0D, 0x82, - 0xEF, 0xD1, 0x3F, 0xDC, 0x50, 0x60, 0xBE, 0x3C, 0xB7, 0x83, 0xD6, 0x38, 0x9D, 0x73, 0x7B, 0x04, - 0x37, 0xDE, 0x30, 0x0B, 0xCF, 0x99, 0x21, 0x5A, 0x55, 0xDD, 0x6A, 0x84, 0x1B, 0xF5, 0x0B, 0xF2, - 0x57, 0x5C, 0xB2, 0xE9, 0x22, 0x76, 0xCC, 0x58, 0x68, 0x35, 0xBF, 0x51, 0x9E, 0x70, 0x33, 0x4F, - 0xF6, 0xC4, 0x2A, 0xD0, 0x9A, 0x84, 0x74, 0x12, 0x0C, 0x93, 0x7D, 0x93, 0xBD, 0x53, 0x28, 0x77, - 0xB2, 0x86, 0x68, 0xD6, 0x7D, 0xAB, 0x93, 0xDA, 0xF1, 0xB1, 0xA2, 0x4C, 0xA1, 0x4F, 0xB9, 0xFA, - 0x42, 0x08, 0xE6, 0xA8, 0x5B, 0xA8, 0xB5, 0xFF, 0xC7, 0x75, 0x50, 0xBE, 0xE4, 0x0A, 0xA5, 0xA3, - 0x79, 0xAB, 0x45, 0x30, 0x29, 0xBE, 0xC7, 0x9B, 0x9F, 0x2A, 0x57, 0xB9, 0x1D, 0xF3, 0x5B, 0xA4, - 0xAD, 0xE5, 0x0B, 0xAA, 0x0E, 0xB5, 0xE0, 0xB7, 0xBA, 0xDF, 0x87, 0x69, 0xE2, 0x0C, 0xF5, 0xF5, - 0xB6, 0xC6, 0x28, 0x92, 0xC4, 0x51, 0x2A, 0x99, 0x32, 0x5E, 0x8E, 0x60, 0xF6, 0x18, 0xE4, 0xF0, - 0xFF, 0xD5, 0x3B, 0xC8, 0x89, 0xCD, 0x67, 0x48, 0x7D, 0x74, 0xEB, 0x05, 0x88, 0x66, 0x62, 0x08, - 0x41, 0x2E, 0xC0, 0x8D, 0x2F, 0xEE, 0xC1, 0xCD, 0xE3, 0x91, 0x90, 0x7E, 0x8C, 0x62, 0x72, 0x1C, - 0x8E, 0x43, 0xAD, 0x2F, 0x56, 0x30, 0xB8, 0x6A, 0x78, 0x21, 0xBB, 0x55, 0x41, 0xAF, 0xCE, 0x6D, - 0xE5, 0xE6, 0x08, 0xE1, 0x85, 0x5D, 0x6B, 0xD4, 0xC3, 0x31, 0x10, 0xFE, 0xE8, 0x06, 0x35, 0x3F, - 0x48, 0x3F, 0xD1, 0x95, 0x58, 0xE0, 0xB6, 0xB4, 0x6A, 0x01, 0x89, 0x67, 0xDB, 0x35, 0x2F, 0x16, - 0x2A, 0x8B, 0x65, 0x43, 0x15, 0x7C, 0xFB, 0x65, 0x2D, 0x22, 0xED, 0x03, 0x75, 0x9B, 0x8C, 0x1B, - 0xC5, 0x66, 0x88, 0x41, 0x5A, 0xA0, 0xB4, 0xF6, 0xCA, 0x29, 0x01, 0xEF, 0xCE, 0x20, 0x36, 0x1A, - 0x23, 0x9A, 0x74, 0x5B, 0xA1, 0x1E, 0x4F, 0xB3, 0x9D, 0x1E, 0x61, 0x8F, 0xD0, 0x3E, 0xE7, 0xD5, - 0x9C, 0x71, 0x9F, 0x0F, 0x46, 0x31, 0xA8, 0x7B, 0x5C, 0xC5, 0x7B, 0x95, 0xE7, 0x09, 0xED, 0xE8, - 0x7E, 0xCD, 0x23, 0x51, 0xE7, 0x4A, 0x09, 0xA1, 0x4B, 0xB0, 0x19, 0xF7, 0xE9, 0x07, 0x3D, 0x36, - 0xA7, 0xD2, 0x3C, 0x97, 0x12, 0x24, 0xFC, 0x3A, 0xC2, 0x20, 0x00, 0xEE, 0x85, 0x6B, 0xFA, 0x9D, - 0x70, 0xBA, 0x54, 0x28, 0xC7, 0x19, 0x29, 0xD2, 0xA1, 0xE7, 0xA4, 0x4A, 0x3A, 0xD4, 0x50, 0x88, - 0x04, 0x7C, 0x92, 0x9A, 0xCD, 0xD9, 0x23, 0x18, 0x6D, 0x60, 0xEF, 0x01, 0x0A, 0xE4, 0x02, 0xEA, - 0x3B, 0x9F, 0x71, 0x46, 0xC9, 0xC9, 0x27, 0x0C, 0x03, 0xFB, 0x1A, 0xF4, 0x28, 0xC6, 0x11, 0xDB, - 0xD0, 0x32, 0xDC, 0x00, 0x41, 0x69, 0xAF, 0x24, 0xA4, 0xB2, 0xF4, 0x1A, 0x42, 0xAC, 0x86, 0x26, - 0xF9, 0xA3, 0x4D, 0xB8, 0x2B, 0xFE, 0xC5, 0xD9, 0x83, 0x73, 0x12, 0xFC, 0xE3, 0x0D, 0xFD, 0xFC, - 0xDB, 0x15, 0xFB, 0x2C, 0xF9, 0x9B, 0x17, 0x6E, 0x38, 0x63, 0xB9, 0x57, 0x64, 0x8A, 0x85, 0x03, - 0xD8, 0x33, 0xDD, 0x09, 0x1C, 0xF4, 0xF2, 0xE4, 0x8F, 0x3E, 0x53, 0xBD, 0x82, 0x6C, 0xA2, 0xC2, - 0x09, 0x2D, 0xC3, 0xC6, 0xA2, 0x56, 0x4C, 0xF8, 0x63, 0x19, 0x98, 0x76, 0xC3, 0x2D, 0xAE, 0x8F, - 0x74, 0xFA, 0x14, 0x6C, 0x80, 0x45, 0x6E, 0xC9, 0x8B, 0x7A, 0x13, 0xFD, 0x31, 0xDF, 0x98, 0x4B, - 0xE9, 0xA7, 0x49, 0xAC, 0xE8, 0x92, 0x06, 0x76, 0xBC, 0xAF, 0xF1, 0x1F, 0x52, 0xBC, 0x87, 0x37, - 0xD5, 0x62, 0x8C, 0x55, 0x25, 0x2E, 0xCB, 0x07, 0x46, 0xEC, 0x48, 0xA6, 0x51, 0xBF, 0xCF, 0x7C, - 0xD2, 0x04, 0xEA, 0x34, 0x94, 0x54, 0x7A, 0xCC, 0xC6, 0x64, 0x40, 0xAE, 0x8A, 0x64, 0x22, 0x4A, - 0x2C, 0xFD, 0x13, 0x33, 0xC5, 0x59, 0x2B, 0x90, 0x29, 0x66, 0xAD, 0x43, 0x16, 0xF8, 0x93, 0x67, - 0x4D, 0x6F, 0x81, 0xC0, 0x63, 0x7A, 0x8D, 0x15, 0xEB, 0x98, 0x91, 0x7F, 0x11, 0xFF, 0xCB, 0x38, - 0x08, 0xF1, 0xA4, 0x7A, 0x70, 0x51, 0xA8, 0xF7, 0xD8, 0x5F, 0x21, 0x51, 0x4A, 0xA5, 0xB3, 0xC0, - 0xE8, 0x11, 0x33, 0x0D, 0x9B, 0xD2, 0x2B, 0x9F, 0xFA, 0x4C, 0x03, 0x60, 0x5F, 0xA9, 0xA6, 0xD9, - 0x2A, 0xD3, 0x95, 0x69, 0x86, 0xD7, 0x2E, 0x87, 0x7D, 0x34, 0x84, 0x9F, 0xBE, 0x37, 0x47, 0xA6, - 0x6D, 0x94, 0x8E, 0x35, 0x4B, 0x24, 0xDD, 0xB9, 0x5E, 0x2F, 0xA7, 0xA7, 0xB7, 0xB6, 0x4E, 0x2E, - 0x99, 0x60, 0x1C, 0x53, 0xFC, 0xF6, 0x0F, 0xDC, 0xBA, 0x48, 0x43, 0x24, 0x08, 0xA3, 0xF1, 0x84, - 0x06, 0xFF, 0x7A, 0xAA, 0x2B, 0xF9, 0x00, 0x04, 0x3C, 0x38, 0xC5, 0xD2, 0xB4, 0xFD, 0x4D, 0x66, - 0xB5, 0x4C, 0xF3, 0x90, 0x7F, 0x12, 0xEB, 0xBB, 0xBE, 0x58, 0x47, 0x30, 0x70, 0x0D, 0x89, 0x52, - 0x50, 0xA9, 0x79, 0xFF, 0x5E, 0x9B, 0x62, 0x13, 0x4A, 0x3E, 0xB3, 0xA2, 0x7B, 0xCE, 0x82, 0x9A, - 0xFE, 0x07, 0x74, 0x5C, 0x73, 0x07, 0xFE, 0xA2, 0x1F, 0x23, 0xE6, 0xEA, 0xA0, 0xF8, 0x59, 0x77, - 0xF3, 0x0A, 0xE1, 0xC4, 0x3D, 0x10, 0xE9, 0xFB, 0x25, 0xB1, 0xDC, 0x42, 0x78, 0x85, 0x81, 0xD2, - 0xA3, 0x5A, 0xB4, 0xC1, 0x80, 0x95, 0x6C, 0xC3, 0x01, 0xF2, 0xF8, 0x25, 0xC6, 0x99, 0x3F, 0x70, - 0xD0, 0x29, 0xD9, 0xDF, 0x6C, 0xEF, 0x16, 0x55, 0x60, 0xAD, 0x99, 0x1B, 0x06, 0x7D, 0xFF, 0x54, - 0x54, 0xAD, 0x6D, 0xEF, 0x48, 0x72, 0x8B, 0xEC, 0x57, 0xA7, 0xAE, 0x26, 0xD2, 0x9C, 0x2B, 0x61, - 0x90, 0x69, 0x9D, 0xDB, 0xC5, 0x6E, 0x97, 0x7D, 0x94, 0xCB, 0x6D, 0x89, 0xC0, 0xCF, 0x39, 0x20, - 0xD9, 0x20, 0x58, 0x57, 0xAB, 0x4B, 0xB2, 0x36, 0x13, 0xB3, 0xEA, 0x76, 0x8A, 0x41, 0x73, 0xE4, - 0x20, 0xD9, 0x5F, 0xA9, 0x59, 0x62, 0x9B, 0xED, 0x3B, 0x60, 0xC2, 0x8D, 0xBB, 0x2A, 0x42, 0xBE, - 0xFB, 0x02, 0x69, 0x44, 0x64, 0x55, 0xAC, 0xE7, 0xD4, 0xCF, 0x2D, 0xCD, 0x04, 0x3F, 0xFD, 0x14, - 0x03, 0xFA, 0x67, 0xB2, 0x9E, 0xC6, 0x3F, 0x8E, 0x58, 0x7F, 0xA1, 0xF1, 0x48, 0xE7, 0xB1, 0x80, - 0x6C, 0x95, 0x87, 0x3D, 0xD7, 0x28, 0xD1, 0x29, 0x78, 0x2C, 0x81, 0x82, 0xFC, 0x31, 0x05, 0xE2, - 0x11, 0xE8, 0x34, 0xF3, 0xE3, 0x1E, 0xE7, 0x2B, 0x69, 0x25, 0x90, 0x9A, 0x88, 0x03, 0x71, 0xA4, - 0x1C, 0xE5, 0xA1, 0x6B, 0xAE, 0x5F, 0xA6, 0x27, 0x19, 0x73, 0xE0, 0xBC, 0x6E, 0xC2, 0x97, 0x83, - 0xB0, 0x49, 0xEE, 0x88, 0xC6, 0x38, 0xC1, 0x28, 0xBC, 0x18, 0x45, 0x72, 0x27, 0x07, 0xDE, 0x0F, - 0xED, 0x14, 0x2E, 0x15, 0x49, 0xC9, 0x30, 0x56, 0x79, 0x24, 0x80, 0x8B, 0x26, 0x0E, 0xDF, 0x07, - 0x7A, 0x83, 0xC0, 0x6C, 0x62, 0x17, 0xEE, 0xA3, 0xCD, 0x46, 0x34, 0x5D, 0x87, 0xD4, 0x7E, 0x7C, - 0xE7, 0x1E, 0xE4, 0xD5, 0xDE, 0x29, 0xD0, 0x21, 0xEE, 0x5D, 0x17, 0x65, 0x01, 0x22, 0xF8, 0x0C, - 0x22, 0xDB, 0x1D, 0xE9, 0x19, 0x8D, 0x74, 0x42, 0xBB, 0x40, 0x42, 0x2D, 0x9A, 0x50, 0x63, 0xE5, - 0x0B, 0xF2, 0xEF, 0x32, 0x6E, 0x02, 0xFB, 0xBA, 0xF4, 0x9C, 0x0D, 0xBE, 0x98, 0x12, 0x61, 0xA5, - 0xF0, 0x09, 0xAA, 0x8C, 0xD3, 0x87, 0x7E, 0x82, 0x33, 0xE0, 0xCA, 0x05, 0x6F, 0xCB, 0x96, 0x8B, - 0x7F, 0x86, 0xDD, 0x74, 0xBF, 0x4F, 0xB6, 0x26, 0x8B, 0x12, 0x72, 0x4F, 0xE3, 0xF7, 0x1A, 0x3B, - 0x2C, 0xD5, 0xC3, 0x39, 0xA0, 0xA7, 0x5E, 0xD1, 0x1B, 0x33, 0xE2, 0xFE, 0x32, 0x0B, 0xCB, 0x16, - 0xA8, 0x51, 0x77, 0x09, 0xAC, 0xB2, 0x4B, 0xC8, 0x6A, 0x6D, 0x93, 0xD1, 0x77, 0x52, 0x8E, 0x0A, - 0x7C, 0x85, 0x96, 0x3C, 0x7C, 0x44, 0xBD, 0xEE, 0xA4, 0x99, 0x5D, 0xEB, 0x1C, 0xA6, 0xE5, 0x95, - 0x49, 0xB0, 0xE9, 0x76, 0x4C, 0xDD, 0x24, 0x47, 0x16, 0xAB, 0xEF, 0x6B, 0xCD, 0x5A, 0x34, 0xB8, - 0x21, 0xD8, 0x56, 0xA1, 0x8C, 0x80, 0x79, 0xDA, 0x75, 0xB4, 0x8C, 0x17, 0x2F, 0x8F, 0xD6, 0x8F, - 0xD5, 0x2C, 0xC4, 0xC7, 0x29, 0x14, 0xED, 0xEB, 0xA5, 0x91, 0x5C, 0xE2, 0x8D, 0x1E, 0x74, 0xBC, - 0x6B, 0x92, 0xD8, 0x65, 0xE6, 0x0A, 0xF3, 0x3A, 0xE4, 0x9D, 0x1D, 0xAF, 0x46, 0x39, 0xBF, 0x50, - 0x0C, 0xF5, 0xB0, 0x6A, 0x13, 0xDA, 0x23, 0x1F, 0x31, 0xA0, 0xC8, 0x47, 0x73, 0x46, 0x8A, 0x1A, - 0xAA, 0x53, 0x35, 0x49, 0xE0, 0x48, 0xB1, 0x7E, 0x36, 0xF8, 0xCF, 0x18, 0x4F, 0xB8, 0xB6, 0xD8, - 0xEC, 0x15, 0x27, 0x1D, 0x75, 0x45, 0xBC, 0xE6, 0x76, 0xFC, 0x8F, 0x5C, 0x96, 0xCC, 0x6F, 0x75, - 0x5D, 0xA4, 0xEC, 0x67, 0x14, 0x23, 0xDA, 0xE1, 0xAD, 0x11, 0x54, 0x6A, 0x9E, 0x44, 0x67, 0xF5, - 0x0E, 0xF7, 0xF2, 0x2A, 0x08, 0x9D, 0x64, 0x43, 0x1D, 0x63, 0xE4, 0xA8, 0x7A, 0xC7, 0x83, 0x92, - 0x04, 0xFD, 0x38, 0xEA, 0xBA, 0x5B, 0xA2, 0x37, 0x2D, 0x31, 0xD4, 0xCA, 0x31, 0x40, 0xC8, 0x5E, - 0x2E, 0xD7, 0x81, 0x79, 0x71, 0xEA, 0x13, 0x4D, 0xCE, 0x0E, 0x37, 0x16, 0xC7, 0x90, 0x3E, 0x78, - 0xDB, 0x22, 0x1A, 0x17, 0xB7, 0xF5, 0x0C, 0x94, 0xA2, 0xC9, 0x5B, 0xBD, 0xDE, 0x00, 0x27, 0xF1, - 0xE2, 0x1B, 0xF9, 0xCD, 0x98, 0x84, 0x7D, 0xCA, 0xC4, 0xCE, 0x3D, 0xDC, 0xCC, 0x53, 0x35, 0xB0, - 0x30, 0xC9, 0x4E, 0xA8, 0x0C, 0x32, 0xCB, 0xE8, 0x43, 0xB6, 0xBA, 0x23, 0x67, 0x43, 0x9E, 0x0B, - 0x00, 0xF9, 0x2C, 0xFA, 0x66, 0xB8, 0x41, 0x08, 0x0F, 0x22, 0xF6, 0xFB, 0xC4, 0xDB, 0x3D, 0x30, - 0x88, 0x71, 0x04, 0x5A, 0x20, 0x15, 0xEC, 0xE3, 0x65, 0xB5, 0x9C, 0x06, 0x2A, 0x92, 0xD3, 0x97, - 0x4C, 0xB5, 0xF4, 0x6E, 0xC1, 0xC1, 0x38, 0xD6, 0xCF, 0x06, 0x36, 0x1F, 0xCE, 0x11, 0x37, 0xF0, - 0x91, 0x68, 0x94, 0xD3, 0xB5, 0x18, 0xE1, 0x7B, 0xFC, 0x1C, 0x05, 0x36, 0x57, 0x21, 0xAE, 0x59, - 0xE6, 0x1F, 0xED, 0xDD, 0xAD, 0x09, 0xF0, 0x72, 0xAB, 0x41, 0x52, 0x3C, 0x4E, 0xB1, 0xB7, 0xD0, - 0x9F, 0x66, 0x4A, 0x03, 0x0F, 0x64, 0x9D, 0xBD, 0x66, 0xFD, 0x9F, 0x4D, 0x65, 0x01, 0x9C, 0x4B, - 0x68, 0x91, 0x93, 0x2D, 0x7B, 0xBD, 0x44, 0x10, 0xF7, 0xD4, 0x0E, 0xF5, 0xBF, 0x3E, 0x46, 0xAE, - 0x8F, 0x76, 0x5B, 0x02, 0x2F, 0x56, 0xAF, 0xAF, 0xC0, 0xDE, 0x39, 0xC8, 0xA5, 0xE5, 0x5C, 0x6F, - 0xDC, 0x25, 0x45, 0x4F, 0x63, 0xAC, 0x55, 0x19, 0x52, 0xBF, 0xAB, 0x3B, 0x33, 0x02, 0xCA, 0x1E, - 0x93, 0x6A, 0xD6, 0x93, 0x61, 0x41, 0xB8, 0xF6, 0xE9, 0x05, 0x10, 0x3A, 0xDF, 0x09, 0x26, 0xF9, - 0xB4, 0x4D, 0xFA, 0x98, 0xF6, 0xA1, 0x58, 0x81, 0x86, 0x8A, 0x7F, 0xDA, 0x7C, 0x91, 0x85, 0xC2, - 0x92, 0x6B, 0xDF, 0x9B, 0x88, 0x2F, 0xD6, 0x71, 0xC3, 0x96, 0x3A, 0x83, 0x8E, 0x55, 0x77, 0xF4, - 0xEB, 0x12, 0x78, 0x45, 0xC9, 0x7B, 0x82, 0x64, 0xB9, 0x00, 0x40, 0x6F, 0x61, 0x15, 0x98, 0x5B, - 0x53, 0xAA, 0x32, 0xB7, 0xF0, 0xE3, 0x1A, 0xC5, 0x9A, 0x1B, 0x63, 0x57, 0xA3, 0xB3, 0x5A, 0x3F, - 0x0D, 0xF4, 0xB9, 0x62, 0xB2, 0xE1, 0x18, 0x85, 0xD1, 0xD7, 0x28, 0xD0, 0x50, 0x7E, 0xA9, 0x01, - 0x40, 0xB9, 0x68, 0xFE, 0xE8, 0xF2, 0x0B, 0xCC, 0xAF, 0x51, 0x56, 0x28, 0x35, 0x54, 0xCC, 0x4E, - 0xE0, 0x19, 0xBB, 0x8D, 0x10, 0x8C, 0x75, 0x4A, 0x3A, 0x68, 0xC3, 0x84, 0x89, 0x0A, 0x70, 0xAC, - 0xC7, 0x3E, 0x97, 0x86, 0x8A, 0xC2, 0x3B, 0x9E, 0xC5, 0xC6, 0x3C, 0xD5, 0x59, 0xFF, 0xA0, 0x89, - 0x10, 0xB5, 0x8A, 0xBC, 0x5F, 0x2D, 0x60, 0x54, 0xAE, 0xF9, 0x4E, 0x71, 0xFF, 0xC0, 0xD4, 0x32, - 0xAF, 0x5E, 0x61, 0xE8, 0xB8, 0x02, 0x87, 0x9C, 0x6F, 0x22, 0x54, 0x6B, 0xC8, 0xF7, 0xDE, 0x0F, - 0x19, 0xA4, 0x9B, 0xA4, 0xEB, 0x4F, 0xD4, 0x82, 0x1E, 0xC5, 0xC2, 0xFD, 0x5A, 0x65, 0xBF, 0xFC, - 0xF6, 0x49, 0x76, 0xA6, 0xA4, 0x93, 0x9B, 0x11, 0xF9, 0xCE, 0x2E, 0x11, 0xE1, 0xDE, 0x05, 0xFD, - 0xD6, 0xC9, 0xF6, 0x06, 0x7B, 0x6E, 0x44, 0x33, 0xF0, 0xD6, 0x3F, 0x00, 0xC7, 0xF8, 0x06, 0xD8, - 0x7B, 0x10, 0x2F, 0x72, 0xA6, 0xD3, 0x99, 0x53, 0x59, 0xE6, 0xA6, 0x99, 0xF4, 0xCB, 0x1C, 0xF1, - 0x72, 0x01, 0x3E, 0x6A, 0xD1, 0xDD, 0xEE, 0x2A, 0xD0, 0x76, 0xBF, 0x80, 0xA3, 0x9C, 0x41, 0xFB, - 0xBD, 0x6C, 0x53, 0xC8, 0xA8, 0x03, 0x97, 0x8D, 0x4B, 0xC6, 0x94, 0xAB, 0x6E, 0x51, 0xFD, 0x8A, - 0x85, 0xE9, 0xD6, 0x75, 0x3A, 0x62, 0x05, 0x7E, 0x01, 0xB9, 0xA1, 0x9E, 0xD9, 0xE6, 0xD7, 0x17, - 0xCC, 0xFA, 0xC5, 0x2F, 0x77, 0xFE, 0x48, 0xAF, 0x4E, 0x93, 0xC4, 0xFB, 0xA7, 0x98, 0x51, 0xEF, - 0x4A, 0x84, 0xBB, 0xD7, 0xD7, 0x8D, 0xE8, 0x7C, 0xAC, 0xCD, 0x78, 0x47, 0x32, 0x0D, 0x68, 0x43, - 0x9E, 0xCA, 0xF5, 0x4D, 0xF0, 0x86, 0xCF, 0x50, 0x89, 0x38, 0xA8, 0x97, 0xCD, 0xF2, 0xC6, 0x12, - 0x81, 0xA9, 0x96, 0x31, 0x83, 0x98, 0xBC, 0x3D, 0xC2, 0x56, 0x8D, 0xB2, 0x8E, 0xB1, 0x8A, 0x1D, - 0x71, 0x27, 0x18, 0x4F, 0xA5, 0x9B, 0x9A, 0x18, 0xF4, 0x92, 0x7F, 0x40, 0xCB, 0xF4, 0x96, 0x44, - 0x64, 0x73, 0x4C, 0x0E, 0xDC, 0x45, 0xE3, 0xBF, 0x5B, 0xD2, 0x90, 0xAF, 0xB1, 0x8E, 0x00, 0xA8, - 0xC5, 0xEB, 0xD4, 0x37, 0x64, 0xB7, 0x5B, 0xF5, 0x3F, 0x74, 0x52, 0x6D, 0x92, 0xAD, 0x1B, 0x90, - 0x1F, 0xD2, 0xED, 0xD4, 0x3B, 0x6A, 0x04, 0x77, 0x1A, 0x81, 0x82, 0xBD, 0x39, 0x06, 0xA0, 0x80, - 0x7E, 0x40, 0x7F, 0x27, 0x9D, 0x49, 0xA2, 0xF2, 0xD8, 0x7F, 0xBE, 0x81, 0x3E, 0x01, 0xF8, 0xDF, - 0xE6, 0x4D, 0x72, 0xB2, 0xDB, 0x1D, 0xE4, 0xE0, 0x75, 0x0B, 0x67, 0x58, 0x7E, 0x41, 0xFC, 0x9B, - 0xE1, 0x2B, 0x14, 0xD3, 0x6A, 0x67, 0x55, 0x2B, 0xF5, 0x83, 0x6F, 0x50, 0xA5, 0x9A, 0x11, 0xAD, - 0x47, 0xD5, 0xEA, 0x8B, 0x7E, 0x76, 0x41, 0x2E, 0xB8, 0x9D, 0x3C, 0x03, 0x1E, 0x21, 0xAB, 0xAC, - 0xDA, 0x88, 0xB7, 0x4B, 0x16, 0xA1, 0x29, 0x91, 0x8F, 0x48, 0xDE, 0xE1, 0x7D, 0x42, 0xB4, 0xD0, - 0xEB, 0x1C, 0x23, 0xEE, 0xE2, 0xC7, 0xDD, 0x03, 0xBC, 0xD9, 0x7C, 0x43, 0xAD, 0x92, 0x91, 0x25, - 0x3A, 0x02, 0x3D, 0x21, 0x5C, 0x65, 0x63, 0x1F, 0x50, 0xFE, 0xB7, 0x88, 0xEC, 0xD3, 0x9D, 0x68, - 0xCA, 0x8C, 0xB3, 0x5F, 0xD5, 0xCD, 0xEA, 0x3E, 0xB0, 0x94, 0x3D, 0x02, 0xCC, 0xF3, 0xCE, 0x1B, - 0xE8, 0x3A, 0x05, 0xCB, 0x07, 0xA8, 0x38, 0x89, 0x0B, 0x84, 0x96, 0xA9, 0x4B, 0x74, 0xB6, 0xE4, - 0x08, 0xB0, 0x8F, 0xA1, 0x37, 0xFA, 0x08, 0xEB, 0x30, 0x1C, 0x35, 0x0A, 0x07, 0x38, 0x22, 0x3C, - 0xE3, 0x1D, 0x22, 0xE7, 0xBF, 0x5A, 0x80, 0xC3, 0x97, 0x55, 0xDB, 0xE4, 0x6D, 0x52, 0xB5, 0xC1, - 0x43, 0x95, 0xAA, 0xCF, 0x39, 0x2A, 0x06, 0x35, 0x92, 0x00, 0x8B, 0xB4, 0x15, 0x2A, 0x63, 0x6F, - 0x37, 0x53, 0x6C, 0x7D, 0x33, 0xEA, 0x0C, 0xFF, 0x5E, 0x87, 0xC0, 0xFF, 0x25, 0x1A, 0x31, 0x0D, - 0x4D, 0xE2, 0xDD, 0xB6, 0x19, 0x79, 0x26, 0x46, 0x78, 0x57, 0x36, 0x09, 0xC6, 0xF9, 0x0E, 0xD1, - 0x94, 0xFD, 0xC2, 0x70, 0xEC, 0x17, 0xD3, 0xDD, 0xF1, 0xC7, 0x2F, 0x10, 0xAA, 0x95, 0xC9, 0x7A, - 0x27, 0x57, 0x68, 0x69, 0x2B, 0x6B, 0x14, 0x66, 0x83, 0x05, 0x9F, 0xA0, 0x11, 0x2E, 0x73, 0x7B, - 0x28, 0x30, 0x0F, 0x01, 0x87, 0x88, 0xB8, 0x29, 0x0F, 0xC0, 0xD6, 0xE9, 0xB4, 0x8B, 0x18, 0xB5, - 0x56, 0xC1, 0xFE, 0x8E, 0xDA, 0x15, 0xE5, 0xE9, 0x07, 0xC9, 0xD7, 0xE8, 0x71, 0x4E, 0x24, 0x4C, - 0xA3, 0x1F, 0x20, 0xA5, 0x4D, 0x6C, 0x72, 0x07, 0x7C, 0x13, 0x76, 0x49, 0xC5, 0xFA, 0x46, 0x9A, - 0xE7, 0x5D, 0x62, 0xA3, 0xCC, 0x44, 0xF3, 0xAE, 0x14, 0xF8, 0xF5, 0xCA, 0xDC, 0xE3, 0xCF, 0x0A, - 0x8E, 0xCE, 0xF1, 0x59, 0x34, 0xB2, 0x0B, 0xA0, 0x80, 0x20, 0xB9, 0x86, 0x50, 0x6F, 0x7F, 0x36, - 0x29, 0x20, 0x1F, 0x10, 0x5B, 0x3D, 0x64, 0x40, 0xE2, 0xF6, 0x0D, 0x32, 0x70, 0x4F, 0x2C, 0x45, - 0x2B, 0x16, 0x29, 0x24, 0x26, 0xF3, 0x19, 0xF3, 0xA4, 0xC4, 0x79, 0x46, 0x61, 0x5E, 0x25, 0x5D, - 0x26, 0x47, 0x78, 0x78, 0x48, 0x74, 0x77, 0x1A, 0x3B, 0x30, 0x12, 0x2D, 0x83, 0xBC, 0x12, 0x88, - 0xD1, 0xAF, 0x90, 0x67, 0x1B, 0x39, 0x24, 0x04, 0x16, 0xCC, 0xC3, 0xFC, 0x13, 0x2C, 0x33, 0x39, - 0xC8, 0xBA, 0x85, 0x6B, 0x9F, 0x09, 0xA0, 0xB0, 0x0A, 0x95, 0x86, 0xB9, 0x62, 0x5D, 0x6D, 0x16, - 0xEE, 0x4C, 0x73, 0xBB, 0x4B, 0x3C, 0x74, 0x51, 0x95, 0x61, 0xED, 0xD2, 0xAC, 0x93, 0x99, 0x2C, - 0x21, 0x21, 0x1E, 0x19, 0xD0, 0xD5, 0xEF, 0x23, 0x0C, 0xE5, 0xF0, 0xCF, 0xE6, 0xD9, 0x5D, 0xA2, - 0x42, 0x85, 0xBA, 0xDE, 0x15, 0xE9, 0x2A, 0xDA, 0xE5, 0x97, 0x6B, 0x54, 0xB3, 0x8C, 0x40, 0xEA, - 0xBA, 0x0A, 0x35, 0xA9, 0x3C, 0x32, 0x03, 0x28, 0xA5, 0xD5, 0x69, 0x56, 0xFC, 0xC3, 0x9C, 0x79, - 0x82, 0x8F, 0xB0, 0x14, 0xC7, 0x8C, 0xF8, 0x6D, 0x8B, 0x0C, 0x9E, 0xA1, 0x3B, 0x04, 0xE0, 0xC2, - 0xDC, 0xFE, 0xC1, 0x3B, 0xAE, 0x53, 0x91, 0xDB, 0x84, 0x64, 0xF9, 0xC6, 0xB2, 0x8D, 0x48, 0xE3, - 0x04, 0xF1, 0xCE, 0xEC, 0x31, 0xAA, 0x0E, 0xBD, 0x66, 0x3A, 0x45, 0x7A, 0x34, 0x0B, 0x38, 0x15, - 0xBB, 0x1A, 0x25, 0xB8, 0x82, 0x90, 0xBD, 0x34, 0x52, 0xCA, 0x81, 0xBE, 0xB6, 0x89, 0x58, 0xF7, - 0x13, 0x93, 0xAC, 0x99, 0x67, 0xFF, 0x58, 0xBE, 0x9A, 0x09, 0x8A, 0xB5, 0x42, 0x7D, 0x3E, 0x65, - 0xF7, 0x59, 0x66, 0xB7, 0x3F, 0x7A, 0x00, 0x63, 0xC0, 0x62, 0xBB, 0x84, 0xD0, 0xEF, 0x5F, 0x96, - 0x9F, 0xDA, 0xE5, 0x5C, 0xDF, 0x0D, 0xE0, 0xF4, 0xD9, 0x6E, 0xAE, 0x91, 0xF2, 0xCD, 0x4C, 0xA7, - 0x87, 0xDF, 0xE0, 0x41, 0x1D, 0x69, 0x22, 0x52, 0xA6, 0xF0, 0x4F, 0x70, 0x75, 0x4A, 0x34, 0x58, - 0xB9, 0x2C, 0x13, 0x8C, 0x5A, 0x35, 0x65, 0x49, 0x2E, 0x71, 0x46, 0x79, 0x56, 0x69, 0x2F, 0x60, - 0xEC, 0x7A, 0x45, 0x8F, 0x63, 0xEF, 0x5C, 0xAA, 0x61, 0x5B, 0x23, 0x1C, 0x5F, 0x60, 0xA7, 0xE1, - 0x7D, 0x66, 0x59, 0x02, 0xA7, 0xDB, 0x98, 0x5A, 0x20, 0x08, 0x31, 0x0E, 0x9C, 0xA3, 0xCB, 0x4E, - 0x36, 0x43, 0x7C, 0x6C, 0xEE, 0x57, 0xD1, 0x9F, 0xE4, 0x86, 0x7B, 0x44, 0x1B, 0x24, 0xB3, 0xB1, - 0xED, 0x6A, 0x55, 0x9E, 0x17, 0xA9, 0x28, 0x98, 0xBE, 0xED, 0x4A, 0x75, 0x33, 0x0C, 0x60, 0x4A, - 0xA2, 0x0F, 0x30, 0xB4, 0xC9, 0x5C, 0xF6, 0xB3, 0x77, 0x3F, 0x51, 0x6E, 0x17, 0x28, 0x23, 0x2D, - 0xFB, 0x18, 0x27, 0xFA, 0xC4, 0xC4, 0xFB, 0x26, 0xD2, 0x42, 0x89, 0xB6, 0x2D, 0x12, 0xB1, 0x85, - 0xC3, 0x9D, 0xA2, 0x47, 0x94, 0xC1, 0xAB, 0x73, 0x70, 0x5E, 0x37, 0x08, 0x09, 0x36, 0xF2, 0xE2, - 0x55, 0xE7, 0xD8, 0xAB, 0xE7, 0xDF, 0xD8, 0x1E, 0x54, 0xBA, 0xF7, 0xC8, 0x68, 0x57, 0xAD, 0xDC, - 0x0D, 0xBE, 0xD4, 0xE1, 0xCE, 0x8E, 0x1C, 0x7F, 0x61, 0x18, 0x84, 0xFA, 0x09, 0x98, 0xAE, 0xB0, - 0x1B, 0x6B, 0xD5, 0x53, 0xB3, 0xF0, 0xD7, 0xE6, 0xCC, 0xD0, 0x01, 0xC2, 0x45, 0xFD, 0x55, 0x6F, - 0xB0, 0xC3, 0x6B, 0xC1, 0xFE, 0xD6, 0x20, 0x36, 0x91, 0xAE, 0xBB, 0x91, 0xE4, 0xF3, 0xE2, 0x19, - 0x21, 0x0A, 0xEB, 0x8B, 0xA1, 0x83, 0x63, 0xE1, 0x0B, 0x4F, 0x53, 0xD1, 0x59, 0x9B, 0x86, 0x06, - 0x12, 0xE1, 0x7D, 0x26, 0x52, 0x48, 0xB8, 0xE8, 0x3F, 0x35, 0x7C, 0x3B, 0xAE, 0x9A, 0x03, 0x64, - 0xBD, 0x0F, 0x0E, 0xBE, 0x09, 0xF9, 0x2E, 0x8A, 0xE2, 0x36, 0x4A, 0x24, 0x6E, 0x83, 0x66, 0x27, - 0xE1, 0x68, 0xCC, 0x4E, 0xDE, 0x5D, 0xC2, 0x06, 0x0A, 0xF3, 0x8A, 0xD1, 0xDF, 0x2C, 0x06, 0x0A, - 0x1E, 0x75, 0x48, 0x70, 0x8D, 0xEF, 0x88, 0x2E, 0x7D, 0x9C, 0x1F, 0xF1, 0xE9, 0x0B, 0x33, 0x4C, - 0x3F, 0x97, 0x2B, 0x8E, 0x55, 0xFA, 0xD5, 0xF1, 0x0C, 0xF9, 0x6E, 0x0F, 0x6A, 0x1A, 0x22, 0x7F, - 0xA6, 0xC0, 0xCE, 0x2A, 0x52, 0x1F, 0xAD, 0xB0, 0x68, 0x6B, 0x10, 0xA3, 0xBD, 0x60, 0x23, 0x96, - 0xB9, 0x9A, 0xBB, 0x70, 0xAF, 0xF1, 0x95, 0x9B, 0xFF, 0xA4, 0x8F, 0x5C, 0xB8, 0x78, 0xFC, 0x6C, - 0xCF, 0x6A, 0x49, 0x41, 0xD6, 0x6D, 0x24, 0x7A, 0x37, 0xBA, 0x35, 0x05, 0x10, 0xCE, 0x96, 0x6E, - 0x97, 0xC8, 0xDA, 0xE6, 0x6B, 0xEF, 0x4F, 0xEA, 0x9A, 0x46, 0xEA, 0x81, 0xAA, 0xB4, 0xE3, 0xBF, - 0x0A, 0x46, 0x78, 0x2F, 0xE5, 0x76, 0x66, 0xAB, 0xF1, 0xC0, 0x3D, 0xED, 0x85, 0x47, 0x98, 0xD9, - 0x43, 0xA6, 0x3A, 0x09, 0x38, 0x0B, 0x2B, 0xF2, 0x00, 0xD0, 0x26, 0x45, 0x26, 0xAC, 0x04, 0xA1, - 0xBA, 0x90, 0xAE, 0x38, 0x96, 0xFF, 0xCD, 0x95, 0x73, 0x2E, 0x11, 0x04, 0x97, 0x5A, 0x9F, 0x77, - 0x74, 0xC0, 0x40, 0xF2, 0x44, 0xA4, 0x19, 0x45, 0xFF, 0x57, 0x6D, 0x6B, 0xFE, 0x34, 0xAD, 0x51, - 0xFC, 0x13, 0x67, 0xB9, 0x47, 0x5D, 0x2A, 0xD0, 0x80, 0x26, 0x4C, 0xE1, 0xBA, 0x73, 0xA4, 0x23, - 0x2F, 0x8A, 0x79, 0xE3, 0x39, 0xB6, 0xE5, 0x02, 0xD0, 0x89, 0xED, 0xC2, 0xAA, 0xAB, 0x12, 0xEF, - 0x89, 0x7C, 0xBF, 0xB8, 0x7C, 0x82, 0xDD, 0x3A, 0x77, 0x24, 0x33, 0x2D, 0xBA, 0x96, 0x76, 0x28, - 0x0E, 0xE9, 0xF1, 0x2B, 0xF6, 0x5A, 0xD4, 0x81, 0x43, 0xAD, 0x8B, 0x55, 0xD9, 0x0C, 0xF8, 0x8C, - 0x5B, 0x7A, 0xA6, 0x54, 0xB1, 0x00, 0x25, 0xDE, 0x40, 0xBD, 0xC0, 0x8E, 0x8F, 0xC1, 0xBA, 0xA0, - 0x7D, 0x47, 0x71, 0xB4, 0x5D, 0x91, 0xF4, 0x1D, 0xB4, 0xD9, 0x48, 0x1A, 0xA9, 0xA0, 0x42, 0xA4, - 0xDE, 0x3C, 0x42, 0x97, 0xA5, 0xE1, 0x13, 0x64, 0xBB, 0xBF, 0x28, 0xA0, 0x66, 0x54, 0x58, 0x39, - 0x45, 0x3F, 0x17, 0x3A, 0x93, 0x86, 0xC4, 0xE5, 0xCD, 0xC7, 0x7A, 0xA9, 0x00, 0x36, 0xCC, 0xDA, - 0xD6, 0x4C, 0x0C, 0x72, 0x69, 0x4F, 0x07, 0xDE, 0xC8, 0xCD, 0xD8, 0x4E, 0x6D, 0x08, 0x51, 0xD1, - 0x9C, 0xE7, 0x17, 0x93, 0xFF, 0xA5, 0xC6, 0x7A, 0x9F, 0xA4, 0x16, 0xFC, 0xDD, 0x44, 0x9E, 0x13, - 0x8E, 0xBF, 0xB8, 0x55, 0xA2, 0xAE, 0xB5, 0x9C, 0xAD, 0xD1, 0xFB, 0xD3, 0x8A, 0x69, 0xCB, 0xCC, - 0xD0, 0x17, 0x69, 0xA8, 0x92, 0x37, 0x29, 0x71, 0x37, 0x7A, 0x6C, 0x5D, 0x0E, 0x23, 0xBE, 0x6F, - 0xC5, 0x3D, 0x9F, 0xB1, 0x13, 0x08, 0x85, 0xED, 0xFB, 0xA9, 0xA9, 0xE4, 0x01, 0x6A, 0x6C, 0xCF, - 0xC7, 0xEA, 0x09, 0xD1, 0xC8, 0x13, 0xFF, 0x1E, 0xC2, 0x49, 0xAE, 0xD6, 0x27, 0x5E, 0x2C, 0x19, - 0xBC, 0x21, 0x66, 0x8F, 0xE3, 0x3B, 0xDF, 0x7E, 0xFB, 0x29, 0x76, 0x66, 0x8C, 0xD9, 0xEB, 0xD6, - 0xAF, 0x83, 0x1B, 0xAE, 0x95, 0xC5, 0xA2, 0x37, 0x2D, 0x36, 0x9F, 0x21, 0xD8, 0xF8, 0x0C, 0x8E, - 0xB1, 0x68, 0x37, 0xC7, 0x50, 0x02, 0xDB, 0x5C, 0xAA, 0x6D, 0xC9, 0x01, 0xB9, 0x3C, 0x13, 0x9A, - 0x86, 0xD7, 0x7E, 0x1F, 0x2A, 0x34, 0xDA, 0xF7, 0x8F, 0xE7, 0x79, 0xA3, 0x3C, 0x49, 0x24, 0x48, - 0xD1, 0xDC, 0xD0, 0xFF, 0xD9, 0xC3, 0x05, 0x4E, 0x81, 0xE4, 0x82, 0xCA, 0x3D, 0x1D, 0x75, 0xE2, - 0x39, 0x81, 0xBB, 0x01, 0xD6, 0x70, 0x61, 0x6C, 0xF7, 0x10, 0xF7, 0x3F, 0x5E, 0x7F, 0x5C, 0xAB, - 0x71, 0x11, 0xDC, 0xC3, 0x78, 0xC6, 0x3B, 0x6F, 0xCE, 0x2F, 0xEC, 0xDC, 0x86, 0x9D, 0xDA, 0x7C, - 0xEB, 0x04, 0xE2, 0xB6, 0xD2, 0x58, 0x2D, 0x8F, 0x5F, 0xC3, 0xA8, 0x7C, 0x85, 0x81, 0xFE, 0x80, - 0x8C, 0x39, 0xE4, 0xB1, 0xE3, 0xD5, 0x9E, 0x46, 0xAD, 0xA9, 0xE6, 0x5D, 0x1D, 0x4E, 0xD4, 0x6D, - 0x06, 0xBA, 0xC5, 0x3F, 0xCF, 0xEF, 0xB6, 0x6D, 0xBF, 0x1F, 0xB3, 0x82, 0x7F, 0x56, 0xAD, 0x45, - 0x62, 0x33, 0x5A, 0x3B, 0x7A, 0x07, 0x90, 0xA3, 0xC5, 0x89, 0x59, 0x67, 0x10, 0x0F, 0x46, 0x22, - 0xE2, 0xCD, 0xE1, 0x73, 0x4D, 0xCD, 0x5C, 0xE0, 0xA3, 0xA5, 0xEE, 0x7B, 0x17, 0xE8, 0x2B, 0x44, - 0xFA, 0x73, 0x18, 0x11, 0x58, 0x43, 0xD2, 0x23, 0xEB, 0x90, 0x50, 0x42, 0x93, 0x65, 0xAA, 0x6A, - 0x70, 0x77, 0x9A, 0x96, 0xD1, 0x85, 0x15, 0x22, 0xE9, 0x99, 0x64, 0xC1, 0x51, 0x77, 0x59, 0x5F, - 0xA4, 0x6E, 0xA0, 0xC1, 0x0F, 0xC9, 0x27, 0xFC, 0x0B, 0xAA, 0x80, 0x19, 0x2B, 0xE0, 0x61, 0xFF, - 0xF2, 0x11, 0x92, 0x05, 0xCF, 0x35, 0x37, 0xF0, 0xAC, 0xD9, 0xBE, 0xEC, 0x83, 0x3A, 0xD9, 0x2F, - 0x3E, 0x39, 0x65, 0xC5, 0x67, 0x2B, 0xE7, 0xDA, 0x91, 0xEC, 0xE3, 0xA5, 0x19, 0x55, 0x55, 0x28, - 0x75, 0xA9, 0x20, 0x1A, 0x08, 0x26, 0x72, 0xE1, 0xFD, 0xB2, 0xA7, 0x44, 0x7E, 0x5D, 0x3E, 0x40, - 0xDC, 0xC3, 0x68, 0x5B, 0xAE, 0xD1, 0x18, 0x65, 0xC5, 0x6F, 0x93, 0xB4, 0x1D, 0x40, 0x5E, 0x77, - 0x58, 0x32, 0x0C, 0x4F, 0x88, 0x0F, 0xF5, 0x9A, 0x1F, 0x49, 0x99, 0x29, 0x13, 0x14, 0x6A, 0xBC, - 0xCA, 0x81, 0xBA, 0xDC, 0x36, 0xE3, 0xB7, 0x89, 0x83, 0xFF, 0x02, 0x2C, 0xFB, 0xBF, 0x14, 0x07, - 0x57, 0x5E, 0xF5, 0x51, 0xB4, 0x0E, 0xF9, 0x29, 0xC8, 0x3A, 0x46, 0x37, 0x67, 0xC3, 0x01, 0x2C, - 0x04, 0xE3, 0x65, 0x6C, 0x4C, 0x73, 0xF0, 0x18, 0x73, 0x6C, 0x00, 0x39, 0x05, 0xEF, 0xDB, 0xF8, - 0x51, 0x46, 0x55, 0xBB, 0xD3, 0xE8, 0xD3, 0x5D, 0x17, 0x48, 0x32, 0xE6, 0xAB, 0x7B, 0x6D, 0x9D, - 0xF1, 0x06, 0x66, 0x0D, 0xFE, 0x4D, 0x4B, 0x33, 0x80, 0xBD, 0xC8, 0x13, 0x86, 0xCB, 0xF9, 0xD8, - 0x22, 0x43, 0xE5, 0x12, 0xA5, 0x83, 0x91, 0x11, 0x2D, 0x57, 0x68, 0x5A, 0x43, 0x52, 0x17, 0xDE, - 0xA3, 0x6F, 0x14, 0xBC, 0x38, 0x96, 0x8D, 0xFC, 0x48, 0x02, 0xAA, 0x71, 0x6A, 0x03, 0x3C, 0xF2, - 0xF6, 0x69, 0x59, 0x6F, 0x5D, 0x38, 0x5F, 0x62, 0x10, 0x58, 0xE9, 0xFB, 0xC9, 0x17, 0x6E, 0xB4, - 0x67, 0xF6, 0x79, 0xE1, 0x82, 0xA1, 0x6F, 0x34, 0xB3, 0x59, 0xFE, 0xE2, 0x26, 0xCC, 0x5A, 0x38, - 0xA1, 0xD6, 0x0C, 0xEF, 0x4F, 0x95, 0x92, 0x1A, 0x50, 0x2D, 0x30, 0x87, 0x8F, 0x87, 0xEF, 0x14, - 0xE4, 0x48, 0x14, 0xE1, 0xC5, 0x7E, 0x7E, 0x1F, 0x98, 0x34, 0x4D, 0x50, 0x41, 0xB2, 0x2D, 0xE4, - 0xA5, 0xF3, 0x4B, 0xB8, 0xFD, 0xD4, 0x38, 0x1F, 0x77, 0x9D, 0x94, 0xAA, 0xDC, 0x41, 0x3F, 0xD7, - 0x6B, 0x4D, 0x01, 0xDE, 0x12, 0x69, 0x09, 0x06, 0xEB, 0xC3, 0x42, 0x5A, 0x37, 0x31, 0xEC, 0xF2, - 0xFD, 0xBF, 0xEA, 0x07, 0xA1, 0xC1, 0x3E, 0x10, 0xB7, 0x3E, 0x91, 0xA0, 0x08, 0xD1, 0x58, 0x9E, - 0x38, 0x59, 0x43, 0x31, 0x07, 0xF7, 0x77, 0x78, 0x3D, 0x6D, 0x84, 0x96, 0xC8, 0x7D, 0xF5, 0x5B, - 0x22, 0xC6, 0x9C, 0xDE, 0x2D, 0x4B, 0x8D, 0xFF, 0xDA, 0x83, 0xE8, 0x5E, 0x16, 0x8B, 0xF3, 0xF5, - 0xFA, 0xCB, 0xC5, 0xF0, 0xA0, 0x9E, 0x0A, 0x3A, 0x3F, 0xAA, 0x93, 0x5D, 0xDF, 0xAB, 0x1D, 0xF2, - 0x8C, 0x66, 0x3E, 0xBD, 0xA0, 0x4F, 0x5C, 0xFB, 0x96, 0x5B, 0x82, 0xE0, 0xFE, 0x53, 0xBB, 0xE1, - 0x2E, 0x36, 0x7B, 0xF1, 0x2C, 0x89, 0x62, 0x81, 0x48, 0xD7, 0x11, 0x1B, 0x36, 0x90, 0x38, 0xA7, - 0xAF, 0x90, 0x48, 0xFD, 0x27, 0x47, 0x3D, 0x71, 0xF3, 0xE8, 0xDA, 0xBD, 0x02, 0xE1, 0x44, 0x96, - 0x42, 0x0F, 0xC0, 0x4A, 0xFB, 0x32, 0x10, 0x0C, 0x46, 0x1B, 0xC8, 0xBE, 0x54, 0x92, 0x1C, 0xEB, - 0x94, 0xA3, 0xAD, 0x90, 0x95, 0x38, 0x95, 0x5E, 0x2E, 0xDB, 0x0F, 0x51, 0x35, 0x71, 0x68, 0x29, - 0xDF, 0xFA, 0xE8, 0x24, 0x52, 0x72, 0x58, 0x5E, 0xE5, 0x04, 0x5A, 0x53, 0x4C, 0x80, 0x9F, 0x7E, - 0x7C, 0xAA, 0x58, 0x69, 0x4A, 0x72, 0x00, 0x3F, 0x14, 0x35, 0x8A, 0xC5, 0xB6, 0x47, 0xAA, 0x04, - 0x1C, 0x77, 0xCF, 0xC1, 0x80, 0xD4, 0xF4, 0xEE, 0x77, 0x12, 0x29, 0x6C, 0xA2, 0xA0, 0x09, 0x55, - 0x18, 0xDA, 0x86, 0xDA, 0xA5, 0x81, 0x27, 0x59, 0x3D, 0xA8, 0xA8, 0x41, 0x46, 0x7E, 0xB7, 0x78, - 0x39, 0x39, 0x11, 0xFF, 0x34, 0xD2, 0x60, 0x3E, 0xE3, 0xDD, 0x20, 0x40, 0xD8, 0x4D, 0xC6, 0xD5, - 0x67, 0x5B, 0xA1, 0x13, 0x6D, 0x81, 0xC2, 0xB9, 0x36, 0x01, 0xDD, 0x4C, 0x96, 0x89, 0x5F, 0x6A, - 0xB9, 0xF5, 0x52, 0xAE, 0x30, 0x0E, 0xFF, 0x0F, 0xC8, 0x2A, 0x7B, 0x2D, 0x8E, 0xB1, 0xE4, 0x92, - 0x69, 0xD4, 0x85, 0x9E, 0x2A, 0xAE, 0x13, 0x10, 0x7C, 0xB0, 0x5E, 0x5E, 0x27, 0x32, 0x97, 0xC6, - 0xBE, 0x1D, 0x56, 0x02, 0xBF, 0x05, 0xE0, 0x40, 0xF0, 0x03, 0xC3, 0x78, 0x00, 0x1B, 0xB9, 0x63, - 0x45, 0x2A, 0xA1, 0xEE, 0x42, 0x8A, 0x0E, 0x6C, 0x47, 0x3A, 0xEE, 0xC4, 0x0F, 0x99, 0x4C, 0xFB, - 0x72, 0x61, 0x61, 0x6F, 0xE7, 0x45, 0xF8, 0x59, 0x33, 0xE8, 0x17, 0xE3, 0x8B, 0x7F, 0xEB, 0x90, - 0x44, 0x04, 0x73, 0xC3, 0x69, 0x3B, 0x34, 0xC8, 0xE2, 0x50, 0xF2, 0xE0, 0xF5, 0xF9, 0x0A, 0x5A, - 0x3A, 0x1F, 0x05, 0xCC, 0xE9, 0x13, 0x4E, 0x0E, 0xA8, 0x48, 0x6B, 0x40, 0x9C, 0x81, 0x7B, 0x9F, - 0x61, 0x8D, 0x76, 0xCB, 0x94, 0xDD, 0x9A, 0x23, 0xEE, 0xF3, 0x9B, 0xD4, 0xA0, 0x70, 0xC3, 0x29, - 0xDB, 0x5C, 0xF4, 0x9E, 0x71, 0xAF, 0x2C, 0x62, 0x0D, 0x51, 0xED, 0x91, 0x9E, 0xC1, 0x99, 0x7E, - 0x1E, 0x7F, 0xE8, 0x61, 0x05, 0xBC, 0xD7, 0x2C, 0x35, 0x7D, 0xE9, 0xD8, 0x16, 0x7A, 0xF3, 0xAB, - 0x28, 0xC3, 0xC7, 0x76, 0xAD, 0x63, 0xCE, 0x0A, 0x65, 0x46, 0x46, 0x60, 0xDF, 0xEC, 0xE2, 0xAE, - 0x4B, 0xB2, 0xCB, 0x19, 0x95, 0xA6, 0x5F, 0x60, 0x02, 0xB0, 0x4A, 0x3A, 0x2E, 0xDC, 0x14, 0x7B, - 0xDE, 0x10, 0x25, 0xC8, 0xD9, 0xDD, 0x78, 0x77, 0x94, 0x31, 0xB5, 0x04, 0x87, 0x96, 0xBC, 0xD0, - 0x55, 0xDE, 0xF7, 0x3B, 0x11, 0xC3, 0xA9, 0xB4, 0x42, 0xF9, 0x4F, 0xA4, 0x97, 0x83, 0x8C, 0x19, - 0xD0, 0xCE, 0x4A, 0x65, 0x98, 0x06, 0xCC, 0x59, 0x0E, 0x50, 0x59, 0x92, 0xBA, 0x48, 0x29, 0xE9, - 0x07, 0xDC, 0x19, 0xE4, 0x0A, 0x0A, 0xCF, 0x20, 0x68, 0x3F, 0x75, 0x4C, 0x8B, 0x37, 0x69, 0x7A, - 0xEF, 0x2D, 0x64, 0xD3, 0xFA, 0xF4, 0xA7, 0xB9, 0xF9, 0xD7, 0xE4, 0x53, 0x70, 0x74, 0x27, 0x37, - 0x19, 0x09, 0xE7, 0x42, 0x9E, 0xFD, 0xE6, 0xB6, 0xE9, 0x3A, 0xB0, 0x96, 0xBD, 0x2A, 0x05, 0xD9, - 0x64, 0x7C, 0xFB, 0x33, 0x7A, 0xAF, 0xD3, 0xFB, 0x22, 0x08, 0xF5, 0xC4, 0xC2, 0xC6, 0x21, 0x05, - 0x16, 0x60, 0x65, 0xAA, 0x8F, 0xAF, 0x65, 0xAE, 0x3D, 0x9A, 0x3F, 0x3F, 0x55, 0x5D, 0x83, 0x83, - 0xC0, 0xC3, 0xFF, 0xF2, 0xAD, 0x83, 0x15, 0xB5, 0xBC, 0x3E, 0xF1, 0x43, 0x49, 0x6C, 0x7A, 0x4C, - 0xFE, 0xCC, 0x72, 0x46, 0x9A, 0xBC, 0x57, 0xAD, 0xF4, 0x53, 0xF7, 0xF1, 0xD4, 0xD9, 0xA2, 0xC7, - 0x3C, 0x9E, 0xDF, 0xC5, 0xB1, 0x3C, 0x06, 0xB4, 0x7A, 0x0E, 0x76, 0x00, 0x13, 0xC5, 0x5A, 0xBA, - 0xAA, 0xF2, 0x54, 0x13, 0x92, 0x88, 0x98, 0x28, 0xEF, 0xD6, 0x33, 0x75, 0xCE, 0x3B, 0xCB, 0xAA, - 0xBD, 0x39, 0xF2, 0x59, 0x67, 0xFF, 0x43, 0x72, 0xBC, 0x66, 0xA2, 0x59, 0x4D, 0x0B, 0x6B, 0xCA, - 0x54, 0x4C, 0xFD, 0xAF, 0x45, 0x33, 0xBB, 0xC9, 0x47, 0xE0, 0x50, 0x93, 0x30, 0xA4, 0x41, 0x4D, - 0x12, 0x93, 0xCB, 0xC3, 0x50, 0x00, 0x97, 0x5E, 0x48, 0x20, 0x03, 0x06, 0x24, 0xAD, 0x30, 0x89, - 0x9C, 0x62, 0x34, 0xDA, 0x1E, 0x54, 0x9F, 0x73, 0x1E, 0x14, 0xA5, 0xB2, 0xFB, 0x1F, 0x26, 0x3B, - 0x66, 0xA6, 0xF4, 0x1F, 0xD9, 0x50, 0x2F, 0xA6, 0x31, 0xE6, 0x05, 0x97, 0xAB, 0x87, 0x8B, 0xD0, - 0xC7, 0x4E, 0x3C, 0x38, 0x82, 0x5E, 0x14, 0xBF, 0x31, 0x19, 0x88, 0x8F, 0x13, 0x4C, 0xBB, 0xB6, - 0xF3, 0xC7, 0xCF, 0x5F, 0x73, 0x0B, 0x09, 0xDE, 0x43, 0x05, 0x21, 0x9A, 0x45, 0x26, 0x3D, 0xB9, - 0x56, 0x8B, 0xF0, 0xBE, 0x7A, 0xF1, 0xEB, 0xE4, 0x88, 0x28, 0x9E, 0x01, 0x18, 0xE3, 0xC2, 0x96, - 0xCD, 0x05, 0x9F, 0x0A, 0x16, 0x21, 0x40, 0xA2, 0x2C, 0x25, 0x0C, 0xFC, 0xD5, 0xA1, 0x48, 0x02, - 0xD4, 0x53, 0xAB, 0x03, 0xB4, 0x46, 0xB4, 0x6A, 0xF0, 0x39, 0xF0, 0xD5, 0x9E, 0x73, 0x47, 0x63, - 0x30, 0x03, 0x3D, 0x02, 0x8C, 0x2F, 0x23, 0xB3, 0x4C, 0x9A, 0x24, 0x08, 0xF9, 0x41, 0xB2, 0x85, - 0xB7, 0x67, 0x7A, 0x97, 0x58, 0xF9, 0x01, 0xC2, 0x0C, 0x28, 0x6A, 0xC9, 0x6E, 0xB3, 0xC2, 0x76, - 0xEA, 0x9C, 0x41, 0xF2, 0x06, 0x5C, 0x6E, 0x86, 0x55, 0x11, 0xA6, 0x9F, 0x62, 0x63, 0xC7, 0x3D, - 0x0D, 0x4E, 0xFD, 0x67, 0x2E, 0x44, 0x5B, 0x6E, 0x1D, 0x4B, 0x36, 0xA0, 0xB9, 0xC4, 0x71, 0xE9, - 0xE7, 0xFE, 0xEA, 0x83, 0x2B, 0x7C, 0x02, 0x65, 0x30, 0x85, 0x52, 0xE9, 0xE8, 0xE2, 0x1A, 0x05, - 0x04, 0x61, 0xE0, 0x4F, 0x0F, 0x89, 0x31, 0x61, 0x07, 0xD0, 0xAE, 0x7E, 0xD9, 0x86, 0x4C, 0x11, - 0xBA, 0x9C, 0x3F, 0xB2, 0x70, 0x11, 0xBC, 0x50, 0x29, 0xDD, 0xB6, 0x02, 0x94, 0x08, 0xB8, 0x2B, - 0xB8, 0x19, 0xFC, 0x77, 0xDE, 0xCF, 0xC9, 0x16, 0x0C, 0x3A, 0x25, 0x27, 0x4E, 0x6F, 0x5B, 0x5D, - 0xA3, 0x1C, 0xB4, 0x1F, 0xE1, 0x60, 0x2B, 0x06, 0xFB, 0xC9, 0x6D, 0x41, 0x72, 0x35, 0x0B, 0x9C, - 0xB2, 0xCA, 0x53, 0x34, 0xB9, 0x4F, 0x1A, 0x06, 0xE9, 0x93, 0xD8, 0xD7, 0x0F, 0xCA, 0x02, 0xCA, - 0xFC, 0x7E, 0xCC, 0xB3, 0x1F, 0x86, 0xD5, 0xED, 0xB1, 0x07, 0xBF, 0xD1, 0xB9, 0x79, 0x89, 0x0A, - 0x9D, 0x73, 0x20, 0x00, 0xD4, 0x77, 0x68, 0x5B, 0x11, 0x1A, 0xE5, 0xAC, 0x4D, 0x8F, 0x1C, 0xAC, - 0xCB, 0x50, 0xE5, 0x33, 0xF0, 0x72, 0xAC, 0xA9, 0x01, 0x69, 0xFB, 0xFC, 0xD0, 0xF6, 0x69, 0x0C, - 0xD6, 0xBB, 0xE2, 0x48, 0x45, 0x21, 0x49, 0x1F, 0xD3, 0x01, 0x85, 0xFE, 0x76, 0x51, 0xDB, 0x26, - 0x2D, 0xCF, 0x25, 0xBF, 0xD0, 0x19, 0x1D, 0x5F, 0x3F, 0xFF, 0xD2, 0x45, 0xF1, 0x8E, 0xA7, 0x61, - 0x1F, 0xAD, 0xD3, 0xD0, 0x69, 0xC8, 0xF9, 0x8F, 0xB0, 0xB7, 0x71, 0x8A, 0xD6, 0xDB, 0xC3, 0x7B, - 0x29, 0x5E, 0x78, 0x76, 0x2F, 0x89, 0xE0, 0x16, 0x64, 0xC1, 0xDE, 0xB6, 0x77, 0x4D, 0x7B, 0xD7, - 0xE9, 0x36, 0x12, 0x22, 0x22, 0x73, 0x4F, 0x19, 0xCC, 0x54, 0x82, 0x5B, 0x7D, 0xA1, 0x92, 0x49, - 0x7C, 0x39, 0xAF, 0xF9, 0x1D, 0x39, 0x68, 0xBC, 0xC7, 0xDE, 0x7D, 0x58, 0x90, 0xEB, 0x9E, 0x6E, - 0xE7, 0x57, 0x3C, 0xFF, 0x65, 0x00, 0xFB, 0xFB, 0x4F, 0x14, 0x6E, 0x08, 0xB4, 0x7F, 0xED, 0x46, - 0x62, 0x97, 0xF0, 0xA1, 0xFB, 0xA0, 0x9E, 0x13, 0xA9, 0xED, 0x78, 0x0C, 0xC7, 0xB4, 0x97, 0xAD, - 0xD8, 0x53, 0xA4, 0xCA, 0xEA, 0x6A, 0x90, 0x1C, 0xF6, 0x88, 0xD3, 0x08, 0xA1, 0x43, 0xBA, 0x02, - 0x30, 0x2A, 0xBA, 0xCE, 0xEF, 0xA2, 0xF8, 0x91, 0x58, 0xA1, 0x42, 0x9B, 0x37, 0x00, 0x86, 0x81, - 0x89, 0x17, 0x4C, 0xC7, 0x93, 0x46, 0xD7, 0xCB, 0x8D, 0x32, 0xF4, 0x09, 0xE9, 0x2C, 0x21, 0x64, - 0x5E, 0x25, 0x73, 0xF7, 0x50, 0xAA, 0x24, 0x0A, 0x12, 0x56, 0x69, 0x62, 0x81, 0x05, 0x93, 0x79, - 0x45, 0xA0, 0x84, 0x1C, 0x75, 0xA1, 0xCF, 0x48, 0x6C, 0xE3, 0x20, 0x90, 0x03, 0x48, 0x96, 0xB7, - 0x72, 0x0C, 0x0F, 0x58, 0xD4, 0x15, 0x39, 0x7E, 0x05, 0x44, 0xD9, 0x56, 0xD9, 0xAE, 0xF9, 0x4F, - 0x0D, 0x90, 0x7B, 0xCA, 0xE0, 0x79, 0x79, 0x86, 0x9C, 0x7F, 0x5C, 0x77, 0x22, 0xB6, 0x77, 0x7B, - 0x73, 0x00, 0x1B, 0x7D, 0x19, 0xCE, 0x03, 0x1D, 0x8A, 0x31, 0xC5, 0x5F, 0x30, 0xCE, 0xD3, 0x99, - 0xEC, 0xE3, 0xF3, 0x8F, 0xA6, 0xEA, 0x1B, 0x92, 0xDE, 0xBF, 0xDA, 0xA6, 0x5B, 0xF6, 0x63, 0x74, - 0x56, 0x76, 0xE2, 0x00, 0x3B, 0x64, 0xAD, 0xE2, 0x21, 0xEE, 0xAC, 0x38, 0x37, 0x47, 0xFC, 0xE6, - 0xE8, 0x9C, 0xD5, 0xBA, 0xCC, 0xF0, 0x6F, 0xBC, 0xD8, 0xD3, 0x6D, 0xFE, 0x5A, 0xB7, 0xB3, 0xF6, - 0xA3, 0x00, 0x1B, 0x8C, 0xC9, 0xB7, 0xA2, 0x5E, 0xE7, 0x88, 0x38, 0x09, 0x61, 0x46, 0x0A, 0x1A, - 0x2B, 0xB7, 0xE3, 0xB9, 0x75, 0x33, 0xC3, 0xE7, 0x21, 0x88, 0x1E, 0xEB, 0x5F, 0x97, 0x0F, 0x77, - 0x4B, 0xB2, 0xFF, 0xB1, 0x6A, 0x04, 0x37, 0x4E, 0xCE, 0xE0, 0xBD, 0x83, 0x31, 0x70, 0x6B, 0xD9, - 0x0E, 0x90, 0xA1, 0x14, 0x91, 0xA9, 0x57, 0x71, 0x0F, 0x57, 0x17, 0x8C, 0xE2, 0x7A, 0x7A, 0x78, - 0x2F, 0x10, 0x43, 0xAF, 0x94, 0xBA, 0x10, 0xCC, 0xD9, 0xE4, 0x9F, 0x9F, 0xA1, 0x49, 0x62, 0xF4, - 0x8E, 0xAD, 0xE6, 0x5C, 0x9D, 0x80, 0xC8, 0x2C, 0x69, 0x36, 0x4C, 0x97, 0x7A, 0x86, 0x6A, 0xA2, - 0x50, 0x8A, 0x5B, 0xC8, 0xE4, 0x34, 0xF5, 0x88, 0xB4, 0x70, 0xEA, 0x8F, 0xB8, 0xBE, 0x3F, 0x77, - 0x0F, 0xDD, 0x7E, 0xBB, 0x6D, 0x15, 0x40, 0x96, 0x07, 0xCD, 0xB3, 0x16, 0x3E, 0x4A, 0x2D, 0x89, - 0xCA, 0xDC, 0x72, 0x5F, 0x1D, 0xCB, 0x09, 0x06, 0x71, 0x19, 0xA6, 0xB0, 0xD6, 0xE6, 0x71, 0x32, - 0xCD, 0xD6, 0x53, 0x23, 0x8D, 0x64, 0x3D, 0x99, 0x52, 0x2C, 0xA4, 0xFF, 0x74, 0x9C, 0xF5, 0xA5, - 0x15, 0x97, 0xAA, 0x68, 0xC2, 0x52, 0xBA, 0x4B, 0x46, 0x77, 0xDF, 0x62, 0xC4, 0xBC, 0x7A, 0xE8, - 0x19, 0x3F, 0xAC, 0x0B, 0x3F, 0x87, 0x55, 0x5C, 0x26, 0x6F, 0x26, 0x2E, 0xB9, 0xA7, 0x5A, 0x24, - 0xBB, 0x35, 0xAD, 0xE5, 0xE8, 0xA4, 0x6B, 0x35, 0x96, 0x79, 0xB5, 0xEF, 0x94, 0x64, 0x8E, 0x4D, - 0x75, 0xD3, 0x10, 0xF3, 0x1A, 0x04, 0x27, 0x27, 0x99, 0xF0, 0xFF, 0xED, 0x9B, 0xA5, 0x6E, 0xE1, - 0x98, 0xD1, 0xF1, 0x9A, 0x14, 0x6F, 0x0A, 0xFD, 0xF6, 0x84, 0xED, 0x50, 0x60, 0xD6, 0x4B, 0x3E, - 0x94, 0x3B, 0x2B, 0x42, 0x01, 0x87, 0x1C, 0xAC, 0x15, 0xA2, 0x5A, 0xE6, 0xFE, 0x02, 0x17, 0xE5, - 0x8F, 0x94, 0xDB, 0x3F, 0x8D, 0x94, 0xFE, 0xA1, 0x4B, 0x5C, 0x12, 0xDB, 0xB4, 0x58, 0xDE, 0xC0, - 0xCB, 0x93, 0xB7, 0xA6, 0x9F, 0xDA, 0xE2, 0xBF, 0xE3, 0xD9, 0x88, 0x23, 0xAF, 0x4E, 0x49, 0x86, - 0x85, 0xC5, 0x15, 0x41, 0x96, 0xF2, 0x2D, 0xBE, 0xC7, 0xF1, 0xEF, 0xB6, 0xBD, 0xFD, 0xB2, 0x86, - 0xFC, 0xA0, 0x6B, 0xDF, 0x9A, 0x91, 0x9B, 0x43, 0x80, 0x1B, 0xCC, 0xA0, 0x9E, 0xC1, 0x9B, 0x7A, - 0xAA, 0xB2, 0x9F, 0x5C, 0x0B, 0x45, 0x5F, 0x6D, 0x7E, 0x43, 0xD2, 0x08, 0x88, 0xB8, 0x10, 0x1F, - 0x1A, 0x17, 0x2B, 0xB7, 0x0F, 0x4E, 0x2A, 0xEA, 0x45, 0x06, 0xE5, 0xC8, 0x01, 0xB9, 0x87, 0xE5, - 0xE1, 0x87, 0xB7, 0x43, 0x66, 0xE1, 0x7E, 0x9E, 0xF1, 0x8B, 0xB2, 0xCC, 0x93, 0x66, 0xAC, 0x3F, - 0x07, 0x04, 0xF7, 0x1D, 0xDD, 0xC3, 0x14, 0xAD, 0xD9, 0x26, 0x13, 0xB1, 0x57, 0x76, 0xA1, 0xB7, - 0xE3, 0xD1, 0x01, 0x5D, 0x39, 0x8B, 0x83, 0x12, 0x78, 0x71, 0xC7, 0x0B, 0x9D, 0x44, 0x5B, 0xC2, - 0xDD, 0x1B, 0x3B, 0x44, 0x64, 0x86, 0x59, 0x72, 0x29, 0x31, 0x91, 0x64, 0x3B, 0x54, 0x3A, 0x9C, - 0x80, 0xCE, 0x5F, 0xFD, 0x97, 0x64, 0x36, 0xBD, 0x43, 0x97, 0x5D, 0xF8, 0xA4, 0x84, 0x32, 0x88, - 0xD0, 0xE8, 0x2C, 0x7E, 0xF8, 0x78, 0x35, 0x84, 0x63, 0xFF, 0x65, 0x4C, 0x03, 0xD5, 0x42, 0x08, - 0x3A, 0x41, 0x25, 0xC4, 0xE4, 0xFA, 0x6C, 0xE4, 0x8D, 0x78, 0x01, 0xD0, 0x7F, 0xF3, 0xA0, 0xDC, - 0x8D, 0x76, 0xBD, 0x11, 0x6E, 0xFD, 0x8B, 0xD4, 0x83, 0x75, 0x81, 0x62, 0x71, 0x3F, 0x0C, 0x6F, - 0x33, 0xB9, 0xFA, 0xC2, 0x2C, 0xE9, 0x06, 0x1C, 0xA8, 0x88, 0x99, 0x9E, 0xE2, 0xB1, 0x37, 0x34, - 0x25, 0xE6, 0x1E, 0xBE, 0xB8, 0x94, 0xA0, 0xF5, 0x87, 0xF3, 0x34, 0xC4, 0x4C, 0x9A, 0xF2, 0x6B, - 0x63, 0x02, 0xF5, 0x3B, 0xC9, 0x3C, 0x8C, 0xC0, 0xCD, 0x45, 0x67, 0xF8, 0x25, 0x93, 0xA2, 0xA3, - 0x51, 0x40, 0x5F, 0x82, 0x6E, 0x2D, 0x18, 0x9C, 0xA1, 0x8D, 0x32, 0xBF, 0xB9, 0xB0, 0x94, 0x49, - 0xAB, 0x88, 0x53, 0x62, 0x3D, 0xF7, 0xA8, 0xEA, 0xFC, 0xB0, 0x92, 0x1F, 0x54, 0x28, 0x66, 0x6E, - 0xC4, 0x45, 0xEF, 0x78, 0x58, 0x5D, 0x3E, 0x16, 0x26, 0x0A, 0x16, 0xBB, 0xC1, 0x11, 0x8F, 0xFD, - 0xF0, 0xAA, 0xBA, 0x34, 0xA8, 0x1E, 0x23, 0x32, 0x8D, 0x67, 0xBF, 0xC7, 0x58, 0x7B, 0xC0, 0xE1, - 0xFA, 0x6D, 0x93, 0x1F, 0x9B, 0x58, 0x77, 0xE9, 0xDD, 0x4A, 0x3B, 0x30, 0x4E, 0x96, 0x22, 0x00, - 0x61, 0x05, 0xB9, 0x2B, 0x37, 0x11, 0xDC, 0x04, 0x7B, 0xC3, 0xA9, 0xFF, 0x99, 0xD4, 0x9D, 0x2B, - 0x53, 0x42, 0xB6, 0x70, 0xA8, 0x32, 0xE4, 0x5F, 0x19, 0x22, 0xC2, 0xB4, 0xF2, 0xF1, 0x24, 0x12, - 0x2E, 0x50, 0x52, 0xB6, 0x84, 0x23, 0xD1, 0xF1, 0x92, 0xC3, 0x87, 0xEF, 0x34, 0x1D, 0x39, 0x87, - 0xF7, 0x39, 0x7E, 0x5C, 0x94, 0x98, 0x22, 0x9F, 0xF4, 0x26, 0xC6, 0x6C, 0x51, 0x5B, 0xF2, 0x4B, - 0x21, 0x9F, 0xC4, 0x82, 0xBB, 0xD7, 0x52, 0x30, 0x6E, 0xF4, 0x08, 0x0E, 0x41, 0x6A, 0x66, 0x09, - 0x0B, 0x3F, 0x97, 0x8F, 0x04, 0xE6, 0x31, 0x02, 0xCF, 0x46, 0x41, 0xA5, 0x8A, 0xF2, 0x98, 0xAE, - 0xC9, 0x71, 0xDC, 0x83, 0x13, 0x0B, 0x60, 0x93, 0xB4, 0xDA, 0xC0, 0xD8, 0x15, 0xEE, 0x8C, 0xF6, - 0x8A, 0x9D, 0x1B, 0x97, 0xD7, 0x46, 0x74, 0xA5, 0x5F, 0xE9, 0x95, 0x8E, 0x21, 0x3C, 0x0F, 0x04, - 0x9D, 0xAE, 0xC5, 0xD6, 0x3D, 0x0F, 0xAF, 0x31, 0xE7, 0x73, 0x04, 0x40, 0xCC, 0x0C, 0x0A, 0x6F, - 0xB0, 0xDC, 0x9D, 0xE9, 0xA0, 0xE6, 0xE8, 0xD9, 0x2A, 0x1F, 0x7E, 0xFF, 0x2C, 0xF6, 0xA5, 0x9A, - 0xF8, 0xD3, 0x3C, 0x7B, 0x84, 0xF2, 0xB2, 0x41, 0x27, 0xFC, 0x65, 0x10, 0x5A, 0x14, 0x75, 0x5D, - 0x62, 0xD4, 0xC7, 0xED, 0x64, 0x21, 0xA4, 0xB4, 0x8E, 0xFA, 0x21, 0xFA, 0x3B, 0x08, 0x3E, 0x46, - 0x05, 0x26, 0xA6, 0x98, 0xC5, 0x39, 0x17, 0x20, 0x5B, 0x7F, 0x6F, 0x43, 0x63, 0xC7, 0xCA, 0xF9, - 0x26, 0xEB, 0x9A, 0x67, 0x39, 0x4C, 0x2B, 0x3B, 0x05, 0x3E, 0x16, 0x4A, 0x8E, 0x71, 0xC3, 0x0E, - 0x38, 0x94, 0x7A, 0x8F, 0x9F, 0xD8, 0x52, 0x4D, 0x6A, 0x53, 0x40, 0xEB, 0x71, 0xB5, 0xBF, 0xC6, - 0x0F, 0xE6, 0xFD, 0x33, 0xD9, 0xD5, 0x53, 0xFD, 0x84, 0xC0, 0xF0, 0xC4, 0x73, 0xC0, 0xAA, 0x79, - 0x58, 0x2E, 0x87, 0xA5, 0xF7, 0x02, 0x8C, 0x55, 0x79, 0x3D, 0x0B, 0x5C, 0x60, 0x94, 0x30, 0x6F, - 0xF9, 0x84, 0x44, 0x26, 0x78, 0x22, 0x9C, 0xDB, 0xA5, 0x10, 0xED, 0xA4, 0x5D, 0xFE, 0xA9, 0x79, - 0x2D, 0xF8, 0x84, 0xE2, 0x73, 0xF0, 0xAE, 0x9B, 0x93, 0xA7, 0x09, 0x81, 0xA2, 0x69, 0xD3, 0x94, - 0x7B, 0x7B, 0x67, 0x2C, 0x65, 0x0C, 0xBE, 0xA9, 0xCC, 0xFF, 0x37, 0x55, 0xDF, 0xB3, 0xE8, 0xAA, - 0xB7, 0x56, 0x54, 0xDD, 0x4A, 0xF3, 0x6E, 0x48, 0x56, 0xFA, 0x6A, 0x07, 0xEA, 0xDC, 0x6A, 0x70, - 0x8F, 0xA2, 0x47, 0xB7, 0xA2, 0xC3, 0x3F, 0xCD, 0x30, 0x5F, 0x3A, 0x1F, 0x5A, 0xDF, 0x34, 0x7A, - 0xEB, 0x9B, 0x33, 0x91, 0xCB, 0x24, 0x19, 0xFE, 0x49, 0xEE, 0xD0, 0x44, 0x57, 0x86, 0x81, 0x88, - 0x6B, 0xF5, 0xBB, 0x7E, 0x83, 0x53, 0xD5, 0x79, 0x4A, 0xAD, 0x67, 0xC7, 0x8A, 0x61, 0x39, 0x20, - 0x73, 0x18, 0x3E, 0xFD, 0x50, 0xE2, 0x5B, 0x4C, 0x40, 0xDF, 0xD9, 0xFF, 0xDE, 0xEC, 0x2C, 0xAA, - 0xDE, 0x8F, 0x4C, 0xE3, 0xCA, 0x9E, 0x70, 0xB8, 0x2E, 0x92, 0xCF, 0x3E, 0x77, 0x4A, 0xA1, 0x1E, - 0x8D, 0x09, 0xCE, 0x37, 0x88, 0xDD, 0x79, 0xAF, 0xDD, 0x52, 0x89, 0x29, 0xC2, 0x66, 0xED, 0xC0, - 0xD8, 0x2E, 0xF9, 0x58, 0x33, 0x83, 0x5A, 0xF9, 0x13, 0x68, 0xBB, 0x59, 0x37, 0xF2, 0xCB, 0x60, - 0x78, 0x06, 0x5A, 0x7A, 0xF1, 0x96, 0xC2, 0x5D, 0xA9, 0xB3, 0x41, 0xF9, 0x95, 0x42, 0x43, 0x29, - 0xFC, 0x9E, 0x0A, 0x6D, 0x49, 0xF9, 0xFB, 0x05, 0xE7, 0xC1, 0x2E, 0xC9, 0x87, 0xD4, 0x4E, 0xF2, - 0x55, 0x05, 0x4A, 0x13, 0xEF, 0xD5, 0x91, 0xBF, 0xC3, 0x32, 0x1A, 0x67, 0x7C, 0xC9, 0x54, 0x47, - 0xD1, 0x4F, 0x7F, 0xFA, 0xA5, 0x84, 0x7C, 0xA5, 0xED, 0x11, 0x10, 0xD1, 0xEB, 0x9D, 0xDB, 0x2E, - 0x43, 0xDB, 0x9A, 0x19, 0x97, 0xCB, 0x3E, 0x08, 0x92, 0x17, 0x8B, 0x7C, 0xA6, 0x36, 0xF6, 0xC3, - 0x28, 0x5F, 0xF3, 0x3B, 0xE9, 0xD0, 0x1B, 0x68, 0x4C, 0x92, 0xB9, 0x8B, 0xC9, 0x0E, 0xD1, 0x37, - 0x6D, 0x93, 0x43, 0xFF, 0x7A, 0x1F, 0xF7, 0xCE, 0x76, 0x89, 0xC4, 0xA5, 0xC5, 0x3B, 0xAA, 0xFE, - 0x2C, 0xDB, 0x68, 0x18, 0xCA, 0xC3, 0xB1, 0x81, 0x32, 0x13, 0x1D, 0xA3, 0xBA, 0xC8, 0x67, 0x14, - 0xE2, 0x99, 0x22, 0x26, 0xE7, 0x12, 0x80, 0xD0, 0x2E, 0xF1, 0xCB, 0xAE, 0xB6, 0xB8, 0xA8, 0x5E, - 0xAB, 0x1C, 0x52, 0xFA, 0xB5, 0x25, 0x18, 0x06, 0x2C, 0x1E, 0xE1, 0xE1, 0x0C, 0xDB, 0x23, 0x65, - 0x2A, 0x18, 0x13, 0x7F, 0x21, 0x2D, 0x04, 0xDE, 0xCD, 0xAE, 0x23, 0xCD, 0x3D, 0x8A, 0x16, 0x06, - 0x7F, 0x42, 0xE6, 0x27, 0xE0, 0x56, 0xD6, 0xB6, 0x4B, 0x11, 0x60, 0x9D, 0xB9, 0x9E, 0xD6, 0x33, - 0xEE, 0x10, 0x8E, 0x22, 0xA5, 0x74, 0xE6, 0x33, 0x21, 0x11, 0x77, 0x52, 0x1D, 0x45, 0x99, 0xF0, - 0x9B, 0x88, 0x0B, 0xFE, 0x8F, 0x04, 0x31, 0xD9, 0x5E, 0xC6, 0xF5, 0xEF, 0x63, 0x13, 0xCC, 0xFF, - 0x34, 0x38, 0x45, 0xB8, 0xC9, 0x6B, 0xA7, 0x7F, 0xEE, 0xA2, 0xC3, 0x97, 0xB7, 0x0A, 0x7B, 0x90, - 0x68, 0xD0, 0x02, 0x93, 0xB8, 0x67, 0x4B, 0xBD, 0xF3, 0xBB, 0x03, 0xD5, 0xFB, 0xA5, 0x48, 0xFE, - 0x97, 0x60, 0x32, 0xD3, 0xA5, 0xE1, 0x01, 0x55, 0xB9, 0x1C, 0x96, 0x84, 0x2F, 0x82, 0x01, 0xDC, - 0x84, 0x73, 0x00, 0x8A, 0xE5, 0x5C, 0x95, 0x07, 0x25, 0xA0, 0x0D, 0x15, 0xA6, 0x11, 0xE4, 0xDE, - 0x92, 0xFE, 0xF0, 0x5D, 0xB6, 0x0D, 0x5E, 0xFB, 0x3E, 0x54, 0x88, 0xEB, 0x70, 0x74, 0x7B, 0x23, - 0x39, 0x6A, 0x3B, 0xE3, 0xF5, 0xB8, 0xA9, 0xCE, 0x41, 0x18, 0x32, 0x36, 0x81, 0x7A, 0x6A, 0x76, - 0xA8, 0x5A, 0xCC, 0xAE, 0xF5, 0x50, 0xEA, 0x36, 0x91, 0x52, 0xDA, 0x10, 0x7B, 0x12, 0x19, 0x98, - 0x1E, 0x8F, 0x05, 0x1F, 0x19, 0xFF, 0xC6, 0x9F, 0xC0, 0xBF, 0x63, 0xE0, 0xDA, 0x3D, 0xFC, 0xC7, - 0x83, 0xD3, 0xB9, 0xBB, 0x43, 0x41, 0xEF, 0x55, 0xD8, 0xCD, 0xB4, 0x8D, 0xDD, 0xCE, 0x3E, 0x28, - 0xCA, 0x96, 0xB5, 0x77, 0x2C, 0xD1, 0xA2, 0x36, 0xD8, 0x88, 0xAF, 0x3C, 0xA6, 0x25, 0xDE, 0x0A, - 0x33, 0xC7, 0xCB, 0x75, 0x74, 0x31, 0x44, 0xBA, 0xF3, 0xD8, 0x98, 0x8C, 0x54, 0xD3, 0xC6, 0x74, - 0xB6, 0x39, 0x2F, 0xAF, 0x31, 0x41, 0x5C, 0x4D, 0xE6, 0x3A, 0xE7, 0x27, 0x69, 0x93, 0x71, 0xA2, - 0x2F, 0x2B, 0x04, 0xEB, 0x9C, 0xDF, 0x24, 0x18, 0x4C, 0xDF, 0x99, 0xB8, 0xE6, 0xE9, 0x92, 0xB6, - 0x30, 0x47, 0x3B, 0xC2, 0x42, 0x65, 0x1C, 0xBF, 0x5E, 0x3E, 0x06, 0x37, 0x4F, 0xF1, 0xD6, 0x36, - 0x46, 0x2A, 0x9D, 0x52, 0xC8, 0x76, 0xAD, 0x59, 0x46, 0xA5, 0xBC, 0xE8, 0x47, 0x47, 0x2A, 0x64, - 0x87, 0x20, 0x14, 0x13, 0x76, 0xC8, 0x5D, 0x5C, 0x55, 0x35, 0x02, 0x9F, 0x1F, 0x85, 0xBB, 0x55, - 0xD2, 0xE1, 0x37, 0x61, 0x57, 0x7A, 0xAC, 0xCC, 0xCB, 0x62, 0x49, 0x03, 0xCC, 0x48, 0xAF, 0xDC, - 0xF4, 0x7E, 0x75, 0xCC, 0x6B, 0x84, 0x7D, 0x99, 0x8A, 0x70, 0xC1, 0x47, 0xC8, 0x29, 0xAB, 0x75, - 0x57, 0x33, 0xBD, 0x26, 0x12, 0x1F, 0x9A, 0x35, 0x5D, 0x57, 0xA1, 0xFF, 0x7F, 0xDD, 0xEA, 0xD1, - 0xFD, 0xBA, 0xF7, 0x9C, 0xF0, 0x54, 0x90, 0xB5, 0x95, 0x96, 0xE4, 0x33, 0x3D, 0xBD, 0xDE, 0xDA, - 0x75, 0x96, 0x71, 0xB3, 0xF2, 0x70, 0xA3, 0x80, 0x9E, 0xA9, 0xC5, 0x1A, 0x9A, 0xFA, 0x7D, 0x67, - 0xA6, 0xF6, 0x4B, 0x09, 0x03, 0x82, 0x6C, 0xED, 0x77, 0xC8, 0x64, 0x25, 0x15, 0x22, 0x8E, 0x6F, - 0x00, 0xCD, 0x26, 0x18, 0x58, 0x5E, 0x54, 0x60, 0xFF, 0xDD, 0xBA, 0xF7, 0x6F, 0x1F, 0x9F, 0x2A, - 0x59, 0x0A, 0xAA, 0x1B, 0xE4, 0x75, 0xA0, 0x9C, 0xD4, 0x6A, 0xE5, 0xC5, 0x34, 0xAA, 0xA3, 0x83, - 0x4C, 0xDD, 0xB3, 0xD2, 0xB0, 0x8F, 0x0C, 0x73, 0x9E, 0x86, 0x20, 0xD0, 0x6A, 0xE3, 0x9D, 0xE7, - 0x4E, 0x05, 0x92, 0xFC, 0x0F, 0xFE, 0x76, 0x71, 0xCB, 0x0F, 0x27, 0x2A, 0xCE, 0xD7, 0xBF, 0xFD, - 0x35, 0xF8, 0x4B, 0x3B, 0x2F, 0x2E, 0x56, 0xF0, 0xDD, 0x41, 0xFF, 0xC5, 0xFA, 0x50, 0x3F, 0x92, - 0xCC, 0x82, 0xDD, 0x49, 0x5A, 0x2B, 0x4D, 0xB6, 0x6C, 0x19, 0xF3, 0x93, 0xB5, 0xBF, 0xDD, 0x52, - 0x5F, 0x4C, 0xF0, 0x38, 0x3B, 0xCB, 0x8E, 0x97, 0x13, 0x01, 0x51, 0x40, 0x26, 0x81, 0xDF, 0xE2, - 0x15, 0xF4, 0x10, 0x16, 0xFC, 0xBE, 0x4F, 0xBF, 0x27, 0xAD, 0x9F, 0xFA, 0x97, 0xCD, 0x71, 0x39, - 0x07, 0x64, 0x91, 0xF9, 0x3C, 0xCA, 0x3C, 0x43, 0xB9, 0x74, 0x72, 0x4E, 0x70, 0xE0, 0xA2, 0xD4, - 0x52, 0x9C, 0x73, 0xCF, 0x33, 0xD8, 0xEF, 0x2A, 0x40, 0x05, 0x9A, 0x66, 0xEB, 0xE7, 0x0F, 0x48, - 0xC9, 0x81, 0x6A, 0x19, 0x97, 0xB9, 0x44, 0x92, 0x58, 0x59, 0x08, 0xA4, 0x9D, 0xA5, 0xD5, 0x09, - 0xC3, 0x98, 0xB8, 0xCA, 0x53, 0x56, 0x10, 0x3D, 0x97, 0x8F, 0x8C, 0x88, 0x2D, 0x48, 0x0F, 0xE3, - 0xF7, 0xA7, 0x3F, 0xBD, 0x84, 0x14, 0x0D, 0x38, 0x4F, 0x9B, 0x25, 0x8F, 0xA8, 0x22, 0x21, 0xA4, - 0x98, 0x31, 0x1B, 0xBE, 0x47, 0x13, 0x9B, 0x0E, 0x1C, 0x24, 0xA1, 0xAE, 0x9E, 0x1B, 0x3B, 0x4C, - 0x62, 0x7B, 0xA7, 0x83, 0x81, 0x28, 0x2B, 0x05, 0x90, 0xB4, 0x01, 0xA2, 0xF8, 0x83, 0x51, 0x06, - 0x50, 0xCF, 0x39, 0xA2, 0xE2, 0x7F, 0xBF, 0x28, 0x2D, 0x74, 0x54, 0x6F, 0x56, 0xA0, 0xA9, 0xC5, - 0x16, 0x88, 0xBF, 0x40, 0x24, 0x05, 0x93, 0xF3, 0x02, 0x7C, 0x07, 0xE9, 0x8A, 0xA9, 0xD9, 0xCE, - 0xAE, 0x51, 0x86, 0xE8, 0x77, 0x20, 0x9C, 0x08, 0x87, 0xB2, 0x37, 0xA7, 0xE8, 0x3F, 0xAF, 0xE3, - 0xB9, 0xF2, 0x5F, 0x9C, 0x33, 0x04, 0x47, 0x08, 0xD1, 0x00, 0xA6, 0xF1, 0xF1, 0x0F, 0x0F, 0x3D, - 0xFA, 0x4B, 0xC4, 0xE5, 0xC0, 0x4D, 0x53, 0x0D, 0xA1, 0x50, 0xF3, 0x7F, 0x9D, 0xDD, 0x55, 0x02, - 0x38, 0x23, 0x99, 0x1E, 0xB5, 0x1A, 0x02, 0x7D, 0x56, 0x12, 0x72, 0x2E, 0x3B, 0xC1, 0x9D, 0x18, - 0x12, 0x74, 0xB3, 0x6B, 0x9C, 0x16, 0x61, 0xFC, 0x93, 0x81, 0x3B, 0x9F, 0xB6, 0x59, 0xC8, 0xF3, - 0xC4, 0x4D, 0x8C, 0x20, 0xD9, 0x41, 0x11, 0x51, 0xFB, 0xCA, 0xF5, 0x57, 0x6B, 0x68, 0x6F, 0x44, - 0x1D, 0x69, 0xE2, 0x48, 0x78, 0x89, 0xE2, 0x00, 0x3F, 0x9E, 0xB4, 0x8F, 0xB9, 0x2E, 0x54, 0xA8, - 0x60, 0x3E, 0xA2, 0x34, 0xA9, 0xB1, 0xD7, 0x86, 0x55, 0x9B, 0xF1, 0xE8, 0x94, 0xC2, 0x31, 0x85, - 0xD2, 0x63, 0x51, 0x4F, 0x71, 0x67, 0x4D, 0x44, 0x6B, 0xAB, 0x81, 0xF1, 0x61, 0x55, 0x4C, 0x53, - 0x29, 0xD3, 0x7D, 0x40, 0xBF, 0x45, 0x19, 0xDF, 0x0E, 0xEF, 0xD6, 0x7F, 0xC8, 0x8A, 0xC3, 0xC1, - 0x99, 0x8D, 0xE1, 0x23, 0xFD, 0x18, 0x6C, 0x23, 0x4B, 0xD9, 0xE1, 0x1B, 0x5C, 0x8B, 0xC4, 0x2C, - 0xCF, 0xAB, 0xBC, 0xF1, 0x1C, 0x19, 0xA8, 0x3C, 0x24, 0x37, 0xFF, 0x6E, 0x26, 0xF2, 0x78, 0x51, - 0xB6, 0x79, 0x4C, 0xC5, 0x7D, 0x99, 0x1E, 0x0C, 0x46, 0x24, 0xDC, 0x14, 0x63, 0xCE, 0x20, 0x80, - 0xF8, 0x6A, 0x69, 0x4B, 0xE7, 0xA8, 0xD1, 0xAF, 0xEA, 0x7D, 0xBB, 0xD9, 0x49, 0x7D, 0xD5, 0x05, - 0xBC, 0x55, 0x43, 0xD1, 0x9B, 0x8F, 0xCD, 0x6B, 0xE7, 0xEB, 0x21, 0x4B, 0xA2, 0x6B, 0x1D, 0x73, - 0xA7, 0xBB, 0x0C, 0xE1, 0x23, 0x58, 0x2F, 0xC7, 0xA4, 0x69, 0x69, 0x2D, 0x9E, 0x31, 0xF7, 0xC8, - 0x00, 0x5F, 0x84, 0x22, 0x1C, 0xC5, 0x35, 0x6F, 0x74, 0x08, 0xAA, 0x7B, 0x9F, 0x82, 0xB8, 0xC8, - 0xBE, 0xC9, 0xBD, 0xC4, 0x7E, 0xF3, 0xB8, 0xBA, 0xD2, 0xC2, 0xB2, 0x78, 0xF7, 0x0C, 0xFC, 0x9B, - 0x09, 0x66, 0xDC, 0x5F, 0x1F, 0x83, 0x5F, 0x27, 0x55, 0xDF, 0x32, 0xA1, 0xCB, 0xC0, 0x9D, 0x3C, - 0xE3, 0xAA, 0x50, 0x5A, 0xDE, 0x01, 0x06, 0x6B, 0xD6, 0x11, 0x56, 0x9F, 0x73, 0xE6, 0x59, 0x22, - 0xB3, 0xA2, 0xA0, 0x4E, 0xF4, 0x72, 0x05, 0x09, 0xF7, 0x5D, 0x6E, 0xE8, 0x55, 0xB7, 0xB2, 0xCF, - 0xEE, 0x69, 0x7E, 0xF4, 0x66, 0xEC, 0x6A, 0x0A, 0xA1, 0x14, 0xA2, 0x3B, 0xB6, 0x67, 0x93, 0xE0, - 0xD0, 0xF4, 0xB7, 0xFA, 0xE2, 0x0D, 0xB0, 0x78, 0xB1, 0xC7, 0xF4, 0xD3, 0xDD, 0x77, 0xD3, 0x54, - 0x34, 0xDC, 0x4C, 0x25, 0x7C, 0xED, 0x27, 0x2E, 0xE0, 0x7F, 0x20, 0xFF, 0xC1, 0x45, 0x95, 0x12, - 0x63, 0xCF, 0x97, 0x52, 0x59, 0xFC, 0xC6, 0x18, 0xDA, 0x8A, 0xD9, 0x23, 0x08, 0x8D, 0x84, 0x0B, - 0xBD, 0x0C, 0xCA, 0xE4, 0xB3, 0xD9, 0xFB, 0xDE, 0x25, 0xFC, 0x7F, 0x1A, 0x7F, 0xB5, 0x49, 0xBB, - 0x1C, 0x1A, 0xA9, 0xDE, 0xDD, 0xA2, 0x23, 0x34, 0x62, 0x2E, 0xAC, 0x30, 0xD4, 0x7A, 0x67, 0xF8, - 0x3D, 0x07, 0x22, 0x86, 0x3A, 0x61, 0x64, 0x7B, 0xB3, 0x36, 0x24, 0xBD, 0xFA, 0x49, 0xC6, 0x06, - 0x78, 0x7F, 0x77, 0x8F, 0x69, 0x69, 0x04, 0x08, 0xE2, 0xA4, 0x8E, 0x88, 0xDC, 0x43, 0xEA, 0xB9, - 0x18, 0x4A, 0xB3, 0x1E, 0xAF, 0x43, 0xF0, 0x00, 0xAA, 0xF3, 0x2D, 0xCF, 0xBE, 0xA4, 0xBB, 0x21, - 0x90, 0x18, 0x6D, 0x00, 0x75, 0xA8, 0x91, 0x27, 0x91, 0xEB, 0x0B, 0xF0, 0x8A, 0x75, 0xF7, 0x61, - 0xDB, 0x19, 0x9A, 0x17, 0x38, 0x39, 0x5C, 0x22, 0x60, 0xD0, 0x5E, 0xCC, 0x6B, 0x84, 0x70, 0xB6, - 0xAB, 0xE2, 0xFD, 0x4F, 0x4F, 0x03, 0x39, 0xBB, 0x08, 0x3F, 0xDE, 0xB1, 0x4B, 0xE5, 0x50, 0x8F, - 0x46, 0xF3, 0xE9, 0x03, 0xD9, 0xFA, 0x14, 0xD1, 0x1C, 0x24, 0xCC, 0xEB, 0xB2, 0x96, 0xE8, 0x4F, - 0x88, 0xEC, 0xC8, 0x9E, 0xBC, 0x18, 0x58, 0x89, 0x13, 0xB7, 0x86, 0x34, 0x4A, 0x57, 0x99, 0xC0, - 0x2A, 0xBA, 0x66, 0x44, 0xB5, 0xFD, 0x66, 0xFC, 0xF9, 0xEE, 0x15, 0xA1, 0x2C, 0x94, 0x67, 0x9A, - 0x26, 0xD0, 0x92, 0x10, 0xA1, 0xDA, 0x89, 0xAA, 0xEF, 0x7A, 0xEC, 0xB6, 0xEB, 0x8F, 0x93, 0xB9, - 0xFE, 0x44, 0xF3, 0x49, 0xC1, 0xE2, 0x0E, 0xB9, 0x44, 0xFA, 0x97, 0xF8, 0xBF, 0xAF, 0x2E, 0x30, - 0xF9, 0x81, 0x59, 0x3B, 0xAD, 0xE1, 0x3A, 0x73, 0xF9, 0x4D, 0x95, 0x0C, 0xA4, 0xD5, 0x7E, 0x5C, - 0x3C, 0xB6, 0x97, 0x57, 0x38, 0x2C, 0x73, 0xE1, 0xA1, 0x9F, 0x80, 0xFF, 0xC4, 0x79, 0xDD, 0xFD, - 0x03, 0x8A, 0x5F, 0xBD, 0xE3, 0xA8, 0xCB, 0xA5, 0x07, 0x7C, 0x71, 0xF0, 0xFF, 0x33, 0x84, 0x38, - 0xEB, 0xE1, 0xCB, 0xC8, 0xF5, 0x98, 0xA3, 0xDA, 0x12, 0x4D, 0xE0, 0x17, 0x69, 0x70, 0xC3, 0xAB, - 0x51, 0x73, 0xA3, 0xD5, 0xFA, 0x2F, 0xAD, 0x81, 0x37, 0x0F, 0x4B, 0xA8, 0xE3, 0x87, 0xC2, 0xEF, - 0xD4, 0x0E, 0x04, 0xFB, 0xA3, 0x58, 0xC8, 0xF2, 0xEE, 0x29, 0x5D, 0x32, 0xA6, 0x4C, 0x5C, 0xC6, - 0x4F, 0x6B, 0xBE, 0x71, 0x29, 0x4B, 0x5B, 0xBA, 0xAA, 0x67, 0x4E, 0x5C, 0x4F, 0xD8, 0x0F, 0x57, - 0xDA, 0x71, 0xB6, 0x89, 0x91, 0x39, 0x7C, 0x8E, 0x1B, 0x81, 0xB1, 0x8A, 0x3D, 0x92, 0x7C, 0x33, - 0x1A, 0xD2, 0x95, 0x5D, 0xFF, 0xE4, 0xD3, 0xB1, 0x27, 0x10, 0xED, 0x7D, 0x03, 0x7E, 0x2E, 0xA3, - 0x2C, 0x23, 0xBE, 0x7D, 0x8A, 0xE2, 0xCA, 0x3C, 0x67, 0xBD, 0x42, 0xA6, 0x3D, 0xE8, 0x1E, 0x3E, - 0x65, 0xA0, 0x81, 0x41, 0xDC, 0x80, 0x9E, 0x61, 0x73, 0x0D, 0x9F, 0x52, 0x00, 0x74, 0xA8, 0xC2, - 0xDF, 0x4A, 0x13, 0xF5, 0x1A, 0x19, 0x28, 0x3D, 0x10, 0x0D, 0xE9, 0x61, 0x32, 0xC5, 0x2D, 0x52, - 0x40, 0x26, 0x4C, 0x81, 0x2B, 0xD5, 0x30, 0xD6, 0x64, 0x0A, 0xF6, 0xC6, 0xD4, 0xFD, 0x13, 0xD3, - 0x3E, 0x40, 0x5F, 0xCC, 0x8B, 0xD3, 0x4A, 0x69, 0x9A, 0xAF, 0x6F, 0x74, 0x4D, 0x85, 0x2E, 0x23, - 0x41, 0xDF, 0xB1, 0x1A, 0x9F, 0xCE, 0x0A, 0xB7, 0xED, 0xC6, 0xEA, 0x78, 0x33, 0x9D, 0xC9, 0xAA, - 0x76, 0x13, 0x81, 0x4A, 0x26, 0x7F, 0xFC, 0xE1, 0x3C, 0xF6, 0x13, 0xAC, 0x75, 0x7B, 0xDB, 0xCB, - 0x6D, 0x7C, 0x67, 0x67, 0x04, 0xCC, 0x17, 0x7F, 0x43, 0xD1, 0x5A, 0x0E, 0xF0, 0x36, 0xCD, 0x48, - 0xBA, 0xA6, 0x75, 0x9A, 0xBA, 0x3A, 0xE4, 0x5C, 0xCE, 0x70, 0xC7, 0xF9, 0xEA, 0x1F, 0x1D, 0x03, - 0x5C, 0x69, 0x10, 0xAC, 0x34, 0x5B, 0x74, 0xE6, 0x6D, 0x92, 0xF6, 0x62, 0x9A, 0xC3, 0x86, 0xA9, - 0x44, 0x8A, 0xA2, 0x02, 0xF8, 0x1C, 0xFA, 0x6E, 0x7D, 0xD4, 0x48, 0x7B, 0x27, 0x4E, 0x7B, 0x0D, - 0xC4, 0xE0, 0xAC, 0x34, 0xCB, 0x74, 0x36, 0x26, 0xD7, 0x15, 0xFF, 0x49, 0x10, 0xA9, 0xEB, 0xDE, - 0xA0, 0x73, 0x57, 0x5B, 0xE4, 0x5A, 0x10, 0x6A, 0x4F, 0x77, 0x15, 0xD3, 0x2E, 0xF0, 0xD4, 0xA9, - 0x98, 0xF7, 0x78, 0x31, 0x50, 0x97, 0x41, 0x47, 0x08, 0xF1, 0x45, 0xED, 0x94, 0xF3, 0x5D, 0x16, - 0x54, 0x6E, 0x21, 0x2B, 0xEB, 0xFE, 0x91, 0x08, 0x05, 0xE9, 0x18, 0x06, 0xDB, 0x9C, 0x6C, 0x6C, - 0x02, 0x20, 0x7D, 0x71, 0xF2, 0xAE, 0x81, 0x5E, 0x3D, 0x8B, 0x26, 0x44, 0x8F, 0x46, 0x01, 0x78, - 0xD6, 0x4F, 0xA9, 0x6E, 0x1E, 0xCE, 0xB3, 0x1C, 0x63, 0x63, 0xC2, 0x8B, 0x78, 0xD1, 0xD2, 0x86, - 0x77, 0x8C, 0x01, 0x7B, 0xD6, 0x91, 0xA3, 0xFA, 0x82, 0xA5, 0x24, 0x39, 0xE5, 0xBB, 0x3C, 0x2A, - 0x20, 0x89, 0x95, 0xDB, 0x11, 0x75, 0x7C, 0xBA, 0xE3, 0x81, 0xDF, 0xFF, 0xE9, 0xEF, 0x6B, 0xC6, - 0x17, 0x02, 0x97, 0x06, 0x96, 0x5A, 0x7D, 0x2C, 0xB0, 0x3D, 0x6F, 0xD6, 0xCE, 0x9A, 0x47, 0xE3, - 0x09, 0x7D, 0xAF, 0x13, 0x93, 0x6E, 0x04, 0x84, 0x44, 0xF4, 0x39, 0xA9, 0x2F, 0x5E, 0x07, 0xA3, - 0x2A, 0xE8, 0x2E, 0xD3, 0x43, 0xC7, 0x38, 0xAB, 0x8D, 0xF4, 0x40, 0xB5, 0x3A, 0xE8, 0x40, 0xE3, - 0x4D, 0x0F, 0x45, 0x5F, 0x01, 0x64, 0x8B, 0x6B, 0x9E, 0x45, 0x0E, 0x31, 0xFC, 0x27, 0x80, 0x70, - 0xD7, 0x69, 0x45, 0x0E, 0x27, 0xE6, 0x9D, 0xAC, 0x5D, 0x5B, 0x4A, 0x3A, 0x81, 0x3B, 0x01, 0x82, - 0x9F, 0xD3, 0xCA, 0xF8, 0x61, 0xC8, 0xC7, 0xC5, 0xE3, 0xC7, 0x51, 0x00, 0x30, 0xD9, 0x20, 0x02, - 0xC1, 0xE3, 0xF8, 0x73, 0x25, 0x77, 0xC9, 0xB9, 0xAE, 0x7B, 0x58, 0x0A, 0x20, 0x6A, 0xF2, 0xFA, - 0x50, 0x81, 0x45, 0x99, 0xBA, 0x87, 0xF9, 0x7D, 0x03, 0x19, 0x4F, 0x43, 0x7D, 0xB1, 0x48, 0x56, - 0x05, 0xBC, 0xB3, 0x39, 0xFD, 0xF7, 0x2B, 0x2A, 0x16, 0x26, 0x0C, 0x9D, 0xC3, 0xA5, 0x74, 0xF0, - 0x84, 0x11, 0xF8, 0x24, 0xAA, 0x33, 0x37, 0x54, 0x29, 0x07, 0xCE, 0x04, 0x0B, 0xF4, 0x6F, 0x2C, - 0xCD, 0xAE, 0x57, 0x48, 0x9E, 0x27, 0xAF, 0x87, 0x15, 0x45, 0xE4, 0x09, 0xF7, 0x97, 0xCA, 0x61, - 0x03, 0xF0, 0xC8, 0x9D, 0x00, 0x0A, 0x9E, 0x6D, 0x2D, 0x62, 0x32, 0x34, 0x14, 0xE7, 0x99, 0xBD, - 0x42, 0xCA, 0x8A, 0x95, 0x18, 0x7C, 0xD8, 0xC8, 0xCE, 0x5A, 0xEB, 0xFA, 0x6D, 0x14, 0x21, 0x41, - 0x07, 0x89, 0xEF, 0x5C, 0xDF, 0x22, 0x34, 0x4F, 0x86, 0xC4, 0x96, 0xAA, 0x28, 0x21, 0x7C, 0x96, - 0x6C, 0x1D, 0x59, 0x8D, 0x7E, 0x93, 0x11, 0xAA, 0x56, 0x4E, 0xA4, 0xBA, 0x7C, 0x19, 0x04, 0x65, - 0xFE, 0xD5, 0xD4, 0x03, 0x46, 0x13, 0x53, 0xBE, 0x85, 0x02, 0x3F, 0x02, 0xE9, 0xB2, 0xC7, 0xC6, - 0x7A, 0xD3, 0xDC, 0xBB, 0xCD, 0x20, 0xBE, 0xF4, 0xBE, 0xA3, 0x35, 0x49, 0x50, 0xE6, 0xF2, 0xF6, - 0xD3, 0x6E, 0xDA, 0x72, 0x39, 0xF8, 0xD4, 0xE8, 0x98, 0xF6, 0x01, 0xFB, 0x95, 0xFB, 0x96, 0x92, - 0x57, 0x56, 0x1A, 0x56, 0x04, 0xFD, 0xED, 0x8A, 0xA4, 0x35, 0x6E, 0x43, 0x46, 0x6D, 0x42, 0xE5, - 0xF7, 0x8D, 0x6B, 0x6B, 0x8D, 0x6B, 0x75, 0x6E, 0xE2, 0x50, 0x94, 0x9C, 0xFF, 0xDD, 0xDD, 0x6E, - 0xA2, 0xE7, 0x6C, 0x44, 0x4D, 0xF8, 0x56, 0xDB, 0x76, 0xEC, 0xA6, 0xE8, 0x06, 0x49, 0xBD, 0x58, - 0xF1, 0x48, 0xBD, 0xC6, 0x47, 0xD5, 0x5F, 0x5C, 0xC0, 0x30, 0xE0, 0x82, 0xC9, 0x65, 0xA1, 0xB5, - 0x69, 0xD3, 0x23, 0x8A, 0x88, 0xF6, 0x82, 0x6F, 0x6E, 0x4A, 0x93, 0xEA, 0x5E, 0x68, 0x06, 0xE0, - 0x1F, 0xDB, 0x01, 0x78, 0x52, 0x43, 0x33, 0xA5, 0x40, 0x7A, 0x29, 0x0C, 0x40, 0xDE, 0x4A, 0x01, - 0x00, 0x19, 0x0D, 0x24, 0x04, 0xB7, 0x0B, 0x38, 0x8A, 0x67, 0xB6, 0x3D, 0xDD, 0xC6, 0xCE, 0xE7, - 0x99, 0x1B, 0xB9, 0x50, 0x59, 0x2E, 0x73, 0x18, 0x2A, 0x95, 0xC8, 0x9D, 0x37, 0xBC, 0x54, 0xCE, - 0x1C, 0x9C, 0xE3, 0xFD, 0xC1, 0x83, 0x6B, 0x7C, 0x55, 0x44, 0xB7, 0x32, 0x99, 0xFC, 0xB7, 0x96, - 0xE5, 0x25, 0x4C, 0x12, 0x78, 0x3F, 0x8D, 0x8E, 0x36, 0xCB, 0x80, 0xEF, 0xF8, 0x0A, 0xD1, 0x6A, - 0xAC, 0x41, 0x40, 0x4B, 0x54, 0xEF, 0xC0, 0x18, 0xA7, 0x55, 0x9B, 0xB0, 0x0A, 0xE1, 0x7A, 0xA7, - 0x31, 0x48, 0x23, 0x10, 0x11, 0xA9, 0xE9, 0x56, 0x58, 0xD9, 0x4C, 0xA9, 0x31, 0x12, 0xE4, 0xD0, - 0x87, 0x54, 0x67, 0x3D, 0xDC, 0xEA, 0xC5, 0x47, 0x6A, 0x65, 0xF5, 0x0E, 0xEF, 0x3D, 0xE8, 0x49, - 0x16, 0x51, 0x1F, 0xED, 0xF6, 0x72, 0x86, 0x6E, 0x25, 0xA8, 0x1D, 0x14, 0xE1, 0x55, 0x9F, 0x1B, - 0xBD, 0x59, 0x0A, 0x9A, 0x41, 0x1B, 0x71, 0xC3, 0x09, 0x57, 0xA7, 0xD6, 0xA2, 0x5B, 0x17, 0x94, - 0xAB, 0x5B, 0xFB, 0x64, 0x52, 0xD9, 0xBA, 0x6F, 0x5E, 0x53, 0x22, 0xB7, 0xD6, 0x3E, 0xAC, 0xE8, - 0xB8, 0x9B, 0x1B, 0x74, 0x96, 0x23, 0x2E, 0x94, 0x70, 0xC0, 0xB9, 0x36, 0x36, 0xAD, 0xB6, 0xBC, - 0x47, 0xED, 0xCA, 0xD2, 0x48, 0x2C, 0x64, 0x5D, 0xFE, 0x18, 0x2C, 0x8E, 0xA7, 0x8A, 0x3A, 0x3F, - 0x1B, 0x58, 0x4A, 0x7C, 0x2B, 0x55, 0x88, 0xDB, 0x1E, 0x5D, 0xEC, 0xA2, 0xB3, 0x25, 0x57, 0xC9, - 0xB4, 0xB2, 0x5E, 0xE6, 0xCE, 0xEA, 0x1E, 0x2B, 0xC6, 0xEE, 0xDA, 0x52, 0x37, 0x3C, 0x46, 0xDD, - 0x28, 0xA9, 0x9D, 0x04, 0x6E, 0x96, 0x13, 0x7D, 0x99, 0x87, 0x5D, 0x1C, 0x4D, 0xCF, 0x7D, 0x5A, - 0x3A, 0x3F, 0xBB, 0x14, 0x56, 0xC9, 0x60, 0xAB, 0x66, 0x03, 0xB0, 0xBF, 0xBC, 0xE2, 0x6B, 0x0B, - 0x70, 0xC1, 0x8C, 0x8D, 0x51, 0x6D, 0xA1, 0x6B, 0xD1, 0x17, 0x7E, 0xBD, 0x59, 0xAE, 0x45, 0xAE, - 0xE3, 0xA3, 0xE7, 0xA1, 0x18, 0xE1, 0x62, 0xBC, 0xD2, 0x04, 0xDC, 0x2C, 0xA9, 0x90, 0xF6, 0xEC, - 0x1A, 0x60, 0x81, 0xB7, 0x41, 0xD7, 0x79, 0x39, 0xE8, 0x64, 0xD0, 0x04, 0x92, 0x7F, 0xAC, 0x52, - 0x61, 0xC6, 0x5C, 0x6E, 0x31, 0xAA, 0x59, 0x1F, 0xDD, 0x92, 0x08, 0x68, 0xC7, 0xF8, 0x03, 0x57, - 0x63, 0x86, 0x13, 0x65, 0xF2, 0x50, 0x23, 0x91, 0xFD, 0xDA, 0x0F, 0x5F, 0xFD, 0xCC, 0xA5, 0x0B, - 0x76, 0x40, 0x68, 0x0B, 0x4D, 0x3B, 0x8F, 0x17, 0x49, 0xC3, 0xCA, 0x26, 0x06, 0x85, 0xE6, 0xF7, - 0x2F, 0xFD, 0xEC, 0xCE, 0x15, 0x2D, 0x7B, 0x00, 0xA3, 0x8E, 0x95, 0xA4, 0x6C, 0x30, 0x47, 0xDA, - 0x89, 0x05, 0x50, 0x27, 0x49, 0x28, 0x43, 0x74, 0x23, 0xD8, 0x4B, 0xCE, 0xC4, 0x0D, 0x1B, 0x48, - 0x5A, 0xB2, 0x63, 0x80, 0x30, 0xD1, 0x8C, 0x85, 0x9D, 0x88, 0xEA, 0x02, 0x68, 0xD5, 0x3B, 0x88, - 0xD2, 0x33, 0x90, 0x58, 0xCE, 0x39, 0xBF, 0x99, 0x3C, 0xA0, 0xCB, 0x33, 0x8E, 0x92, 0x0E, 0xDF, - 0x78, 0x52, 0xE1, 0xE6, 0xA5, 0x58, 0xB5, 0x3C, 0x09, 0x78, 0x8E, 0x86, 0xD4, 0xF2, 0x4C, 0xDB, - 0xDB, 0x06, 0xB5, 0x55, 0xD4, 0x0E, 0x52, 0x18, 0xFC, 0x5C, 0xEE, 0x90, 0x7C, 0x06, 0xE8, 0xC4, - 0xFD, 0xAE, 0x53, 0xF4, 0xE6, 0x36, 0x83, 0x65, 0xF7, 0x51, 0x66, 0x56, 0x48, 0x67, 0x29, 0xE7, - 0xA8, 0x61, 0xAD, 0x4E, 0x8C, 0xB0, 0x72, 0xDC, 0xAD, 0xCC, 0x2D, 0x7E, 0x31, 0xAA, 0x6B, 0x92, - 0xA9, 0xC4, 0x95, 0x62, 0x6E, 0xAD, 0xC5, 0xB5, 0xF2, 0x09, 0x88, 0x1B, 0x6F, 0xF2, 0x51, 0x05, - 0x80, 0x08, 0x62, 0xD0, 0x33, 0x1A, 0x58, 0xBD, 0x0A, 0x1C, 0x7B, 0x9A, 0x0C, 0x25, 0x93, 0xE3, - 0x02, 0x4A, 0xB9, 0xBD, 0xCB, 0x16, 0x75, 0x09, 0x1B, 0xF7, 0x95, 0xC5, 0xE3, 0xDE, 0xB9, 0xE5, - 0xE4, 0x10, 0x2E, 0xCC, 0x76, 0xB7, 0x8C, 0x9C, 0xAB, 0x7A, 0x63, 0x85, 0x22, 0xE9, 0xBF, 0x7A, - 0x62, 0xEA, 0x54, 0x1F, 0xEF, 0x11, 0x69, 0x9F, 0x91, 0x66, 0xAF, 0x9B, 0xFC, 0xDF, 0x6D, 0x40, - 0x1A, 0x08, 0xDB, 0xA6, 0x30, 0xA7, 0xF0, 0x54, 0x5B, 0x44, 0xD5, 0xCE, 0x18, 0xA1, 0x7D, 0x25, - 0xEB, 0x42, 0x00, 0xD3, 0x79, 0x98, 0x00, 0x6A, 0xA5, 0x0B, 0x01, 0x55, 0x16, 0xFA, 0xB3, 0xEE, - 0x5A, 0x28, 0x9A, 0x2B, 0xDA, 0xF7, 0x76, 0xEB, 0xA8, 0x19, 0xB7, 0x85, 0xE5, 0x40, 0x55, 0xDA, - 0xE1, 0x23, 0xA2, 0x7D, 0x2B, 0x1F, 0x72, 0x16, 0x03, 0xC8, 0x4C, 0xFE, 0xB5, 0x85, 0x13, 0x32, - 0x77, 0x83, 0xB1, 0x35, 0xA8, 0xEE, 0xDD, 0x95, 0xAD, 0xB6, 0x55, 0x69, 0x0A, 0xB3, 0xCF, 0x88, - 0x47, 0xA8, 0xBF, 0xDB, 0xB2, 0x37, 0xD1, 0x5B, 0xF0, 0xCA, 0xC4, 0x5F, 0x9D, 0xD0, 0x21, 0x96, - 0x0D, 0x97, 0xE2, 0x0F, 0x81, 0x47, 0x2E, 0x42, 0xDD, 0xE4, 0xE3, 0xA6, 0x5F, 0x45, 0x3E, 0x60, - 0x18, 0x97, 0xA6, 0x8E, 0x7E, 0xFE, 0xD4, 0xCF, 0x92, 0x95, 0x32, 0xEF, 0x1E, 0xCE, 0xDB, 0x3A, - 0xD3, 0xA5, 0xDA, 0xE5, 0x22, 0x0A, 0xC2, 0xC2, 0xB0, 0x0D, 0x57, 0xC5, 0xF5, 0x4B, 0x5D, 0x95, - 0xAC, 0x47, 0x63, 0x3C, 0x49, 0x8C, 0xEE, 0x84, 0x41, 0x07, 0x54, 0xD7, 0x84, 0x9C, 0x40, 0x24, - 0xEF, 0xA8, 0x96, 0xC1, 0xF9, 0xEC, 0x7F, 0xA0, 0xE4, 0xEA, 0x3C, 0xC7, 0x58, 0x74, 0x70, 0xC2, - 0x4A, 0xE0, 0xA8, 0x06, 0xFD, 0x3F, 0x0A, 0xE9, 0x33, 0x32, 0xA5, 0x83, 0x09, 0x66, 0x40, 0x39, - 0xE6, 0xCE, 0xC5, 0xBC, 0xE9, 0xE7, 0x1F, 0x66, 0xCE, 0xE3, 0xEC, 0x6A, 0x73, 0xA3, 0xEC, 0x11, - 0x10, 0x70, 0xD3, 0xA6, 0x84, 0xB6, 0x73, 0x75, 0x82, 0x8F, 0x16, 0x61, 0xD2, 0xB9, 0x4D, 0x23, - 0x30, 0xA4, 0xF6, 0x72, 0x98, 0x19, 0x08, 0xA7, 0x6B, 0x54, 0x91, 0xC6, 0xB8, 0x61, 0xEE, 0xAA, - 0xC8, 0xCD, 0x38, 0x75, 0x36, 0x20, 0x19, 0x22, 0x48, 0x6C, 0xC7, 0x79, 0x9D, 0x17, 0xDF, 0x61, - 0x0B, 0x42, 0x7C, 0xAE, 0xF3, 0x7F, 0x8A, 0x14, 0xCA, 0x91, 0xF9, 0xE5, 0xEC, 0xB5, 0x98, 0x2D, - 0x7A, 0xC0, 0xFA, 0x3D, 0x7E, 0x8D, 0x41, 0x1E, 0x07, 0xD4, 0xA6, 0x55, 0x5A, 0x34, 0x60, 0xD4, - 0x09, 0x42, 0x41, 0x38, 0xB1, 0x3E, 0x53, 0x01, 0xBA, 0x16, 0x8B, 0x96, 0xD8, 0xD9, 0xF6, 0x69, - 0xEA, 0xF5, 0xC5, 0x8B, 0x12, 0x37, 0x94, 0x46, 0x77, 0xD0, 0x0E, 0x5E, 0x01, 0x0F, 0x7E, 0x71, - 0x1B, 0x3E, 0x4F, 0xD2, 0x71, 0x8F, 0xC1, 0x52, 0x2C, 0xD8, 0xC3, 0x95, 0xBC, 0x44, 0xD8, 0x8D, - 0xDC, 0x63, 0xB7, 0x94, 0x10, 0xBB, 0x11, 0xAB, 0xC7, 0xD8, 0x9B, 0x39, 0xFB, 0xE7, 0xF7, 0xF5, - 0x3B, 0x1D, 0xD4, 0x6C, 0x23, 0xFB, 0xB2, 0xE8, 0xB6, 0x4F, 0x6F, 0x29, 0x1F, 0x87, 0x81, 0x1C, - 0xE5, 0xD0, 0x36, 0x70, 0xD7, 0x53, 0x33, 0x11, 0xF3, 0xA8, 0xBC, 0x5F, 0x08, 0x83, 0x03, 0x32, - 0xD6, 0x7C, 0x9A, 0xA9, 0xFB, 0x7D, 0xBB, 0x41, 0xDB, 0x0A, 0xFB, 0x39, 0x33, 0xA2, 0xC9, 0x6A, - 0x12, 0x39, 0x17, 0xD8, 0xEF, 0x65, 0x46, 0x1D, 0xCB, 0xB2, 0x59, 0xEF, 0x0F, 0xFC, 0xA9, 0x38, - 0x2A, 0x9D, 0x8B, 0xCF, 0x95, 0x8D, 0xE0, 0x3A, 0x50, 0x0E, 0x64, 0x5B, 0xD4, 0x22, 0x07, 0x14, - 0xE8, 0xCC, 0x37, 0x66, 0xD0, 0x67, 0x6B, 0xE4, 0xF1, 0x16, 0x2F, 0xA9, 0xB0, 0x4F, 0x56, 0x12, - 0xDA, 0x18, 0x6F, 0x0B, 0xBB, 0x7E, 0xBF, 0x3A, 0xEC, 0xB9, 0xB8, 0xD0, 0xC4, 0xAB, 0x88, 0x4D, - 0x28, 0x22, 0xA8, 0xD3, 0x12, 0x77, 0xF1, 0xC1, 0xCC, 0x9E, 0x9A, 0xBF, 0x2F, 0x2C, 0x22, 0xC3, - 0xF8, 0x76, 0x3D, 0x86, 0x19, 0xC9, 0x3D, 0x90, 0xA4, 0x8F, 0xF5, 0xF5, 0xC9, 0x71, 0x65, 0x15, - 0x5F, 0x6D, 0x8C, 0x52, 0xAE, 0x5C, 0xAD, 0xBA, 0x1C, 0x50, 0xC0, 0x26, 0xBF, 0x96, 0x8D, 0xD7, - 0x79, 0xBD, 0xF4, 0x92, 0x2B, 0x67, 0xC9, 0x60, 0xEA, 0x5C, 0x99, 0x9C, 0x13, 0x7C, 0x48, 0xD9, - 0x1D, 0x41, 0x91, 0x12, 0x28, 0x36, 0x35, 0x09, 0x4D, 0x6B, 0xAA, 0x07, 0x50, 0x9F, 0xF2, 0x33, - 0x93, 0x1F, 0x01, 0xD3, 0x3B, 0x50, 0x2D, 0xAA, 0xFA, 0xC6, 0x27, 0x89, 0x7B, 0x21, 0xCD, 0xDA, - 0xF4, 0x89, 0x97, 0x65, 0x40, 0x97, 0xBE, 0x09, 0xE9, 0xDE, 0x52, 0xD9, 0x3E, 0x23, 0x45, 0x27, - 0xAE, 0x09, 0xE8, 0x0D, 0xBB, 0x2A, 0xF6, 0x8E, 0x0D, 0xD3, 0xB0, 0x24, 0xA0, 0x38, 0x29, 0x53, - 0x51, 0x9E, 0xC0, 0x95, 0x6C, 0x17, 0x43, 0x98, 0x47, 0x3A, 0x81, 0x64, 0xEF, 0x29, 0x76, 0x1D, - 0xE2, 0x33, 0xDC, 0x26, 0x6E, 0xEF, 0x24, 0x72, 0x14, 0x39, 0x4E, 0x5B, 0xA5, 0x67, 0x09, 0x1B, - 0x14, 0x28, 0x61, 0x95, 0x20, 0xB7, 0x7E, 0x9E, 0xB3, 0xF7, 0xF3, 0xB6, 0xD8, 0x06, 0x18, 0x29, - 0x6D, 0x80, 0x4E, 0x5E, 0xD7, 0x50, 0x60, 0x3B, 0x6D, 0x15, 0x37, 0x07, 0x7E, 0x50, 0x7D, 0x1A, - 0xCA, 0x14, 0x37, 0x10, 0x9B, 0x59, 0x1E, 0x98, 0x40, 0x9F, 0xD2, 0x85, 0x74, 0x4D, 0x5C, 0x81, - 0x15, 0x85, 0x18, 0xB5, 0xD4, 0x8C, 0x49, 0x8C, 0x25, 0x47, 0x86, 0xFF, 0x3D, 0xB6, 0xFC, 0x53, - 0xB1, 0x94, 0xAB, 0xCD, 0x24, 0xCC, 0x2B, 0x63, 0x6D, 0x24, 0x7D, 0xAA, 0x04, 0x82, 0x61, 0x00, - 0x5D, 0x99, 0xB8, 0x0D, 0x83, 0xB6, 0x6E, 0xEA, 0x9F, 0x52, 0x48, 0x9C, 0xA1, 0xFF, 0x46, 0xCC, - 0xC6, 0x63, 0x09, 0x31, 0xB6, 0x9A, 0xA4, 0x6C, 0x8C, 0x67, 0xFE, 0x97, 0x36, 0x8D, 0xB4, 0x47, - 0xF7, 0x44, 0x64, 0xC5, 0x04, 0x56, 0x6A, 0x65, 0x82, 0xD6, 0x8E, 0xA4, 0x45, 0x5B, 0xAC, 0x70, - 0x42, 0xAC, 0xFF, 0x5A, 0xF7, 0x7F, 0x6C, 0xC9, 0xA9, 0xB1, 0xCC, 0xCA, 0x46, 0x65, 0x97, 0xF8, - 0x5E, 0x66, 0xCD, 0x95, 0x62, 0xEE, 0xED, 0x5D, 0x28, 0x86, 0x9D, 0x0F, 0xCD, 0xA7, 0x78, 0x0D, - 0xA0, 0xAA, 0x21, 0x83, 0x77, 0x0E, 0xA8, 0xDD, 0xC5, 0x7A, 0x03, 0x10, 0xF8, 0x31, 0xBA, 0x45, - 0x90, 0x47, 0x79, 0xFD, 0x5D, 0x25, 0x39, 0x5F, 0x2A, 0xDB, 0xD8, 0x08, 0xE3, 0x26, 0xD6, 0x10, - 0x3F, 0xC4, 0xB7, 0x03, 0x87, 0x3F, 0xCB, 0x52, 0x12, 0xF6, 0x20, 0x5F, 0xBF, 0xCF, 0x57, 0x4C, - 0x36, 0x7C, 0x4A, 0xCC, 0x72, 0x31, 0x98, 0x5F, 0x38, 0x34, 0x0C, 0x17, 0x84, 0x89, 0x61, 0x15, - 0x84, 0x30, 0x9C, 0x8F, 0x51, 0xDA, 0x3E, 0xF2, 0xF3, 0xA3, 0x04, 0x07, 0xE2, 0x07, 0xD6, 0xED, - 0x1C, 0xF0, 0x08, 0x28, 0xB6, 0xCA, 0x9E, 0xEF, 0xC8, 0x7E, 0xB4, 0x17, 0x05, 0xFD, 0x30, 0x6F, - 0xD7, 0xFA, 0x9C, 0x75, 0x97, 0x5C, 0x13, 0xB9, 0xE6, 0x11, 0x8F, 0xF8, 0xA4, 0x5C, 0xE3, 0xCE, - 0xBD, 0x42, 0xA3, 0xA8, 0x80, 0xEE, 0xBA, 0x82, 0xA3, 0xDD, 0x92, 0x24, 0xDF, 0x68, 0x49, 0x06, - 0x78, 0x2D, 0x9C, 0xFE, 0xA7, 0x50, 0x05, 0x9D, 0xDB, 0x3D, 0x70, 0xB2, 0x5F, 0xCD, 0xEB, 0x6D, - 0x3A, 0x04, 0x39, 0x6D, 0x17, 0x37, 0x97, 0x51, 0xEB, 0x6F, 0xDB, 0x4D, 0x6A, 0x56, 0x47, 0x37, - 0x91, 0x63, 0x09, 0x36, 0x67, 0xE9, 0xFD, 0xB2, 0xE7, 0xDD, 0xA6, 0xEE, 0x10, 0xDC, 0x1C, 0x4A, - 0x0C, 0xCC, 0x25, 0x34, 0x2B, 0xAB, 0xD4, 0xBA, 0xC8, 0x02, 0x71, 0x11, 0xA7, 0x2F, 0x73, 0x2A, - 0x21, 0xE3, 0xF7, 0xA3, 0x0F, 0xCC, 0x56, 0x98, 0x2A, 0x6D, 0x8A, 0x4A, 0x1F, 0xC1, 0xB6, 0x4C, - 0xD8, 0x2E, 0x1B, 0x22, 0x19, 0x22, 0xB0, 0x0B, 0xE3, 0xE3, 0xBD, 0x8E, 0xB7, 0x37, 0xB1, 0xC3, - 0x3D, 0x7F, 0x72, 0x10, 0xF3, 0xA3, 0x36, 0x99, 0x84, 0x3B, 0x8B, 0x73, 0xFC, 0xFB, 0x1D, 0x66, - 0xA4, 0x5B, 0xA1, 0x5E, 0x8B, 0x27, 0x4E, 0x85, 0x2F, 0x23, 0xF5, 0x01, 0x29, 0x81, 0xFA, 0x44, - 0x54, 0x91, 0xA8, 0x96, 0x86, 0x64, 0xBF, 0xB5, 0x72, 0x42, 0xAE, 0x9E, 0x70, 0x55, 0x55, 0xF5, - 0x22, 0x95, 0x4A, 0x96, 0x9F, 0x10, 0x0E, 0x4F, 0xB6, 0x3A, 0x14, 0x0B, 0xB0, 0xE3, 0xA4, 0xBB, - 0x26, 0xAA, 0x3E, 0x99, 0x4C, 0x43, 0xB5, 0x5B, 0x60, 0x24, 0xD1, 0x99, 0xBF, 0x18, 0xA6, 0xFF, - 0x89, 0xAF, 0x1C, 0x61, 0x49, 0xE7, 0x23, 0x5A, 0x52, 0xA4, 0xE7, 0x28, 0x8D, 0x01, 0xF7, 0xD7, - 0x85, 0x29, 0x26, 0x09, 0x1D, 0xD5, 0x13, 0x32, 0x66, 0xC8, 0x84, 0xAB, 0x41, 0x90, 0xE7, 0x85, - 0x7A, 0x1D, 0x77, 0x2D, 0xCB, 0x19, 0x59, 0x79, 0xFC, 0x54, 0x11, 0xF7, 0xDC, 0xB7, 0x78, 0xB1, - 0x80, 0x14, 0xED, 0xC6, 0xAA, 0x78, 0x4C, 0x11, 0xEC, 0xF2, 0x9A, 0x8E, 0x86, 0x66, 0x53, 0xE7, - 0x96, 0x60, 0x48, 0x66, 0x25, 0xF1, 0x87, 0xBC, 0x6C, 0xF3, 0x1F, 0x40, 0xEE, 0x03, 0x22, 0xBD, - 0xBA, 0x7E, 0x34, 0x47, 0x7E, 0x40, 0xF8, 0x17, 0x76, 0xC5, 0xC8, 0xE8, 0x46, 0x00, 0xAA, 0xB3, - 0x2B, 0x7D, 0xEE, 0xF4, 0x66, 0x6E, 0xBB, 0xCC, 0xDA, 0x13, 0x20, 0x94, 0x0C, 0x68, 0x06, 0xAC, - 0x5E, 0x57, 0xBE, 0xCE, 0xD0, 0xCC, 0x1E, 0x72, 0xDB, 0x9F, 0x32, 0xBC, 0x55, 0xF1, 0x8A, 0x70, - 0x4B, 0x59, 0x88, 0x4B, 0x99, 0x37, 0xB2, 0xA5, 0x8D, 0x48, 0xF7, 0x5E, 0x87, 0xB8, 0xE1, 0xB0, - 0x27, 0xD2, 0x23, 0xB1, 0x11, 0xAD, 0x44, 0xC1, 0x33, 0x4F, 0xED, 0x7C, 0xA9, 0x42, 0xF9, 0x2C, - 0x5C, 0x79, 0x53, 0x23, 0x62, 0x34, 0x64, 0x89, 0x94, 0xEB, 0x35, 0x7C, 0xB6, 0xC5, 0x25, 0xFA, - 0x4D, 0x37, 0xD4, 0x66, 0xEF, 0x00, 0x9C, 0xB4, 0xAA, 0x46, 0x43, 0x83, 0x04, 0x93, 0xDA, 0xE4, - 0xDE, 0x98, 0x5E, 0xDE, 0x22, 0xFA, 0x5F, 0xD5, 0x9B, 0x9B, 0xE1, 0xA2, 0x72, 0xAD, 0x36, 0x51, - 0x15, 0xD4, 0x90, 0x31, 0xB2, 0x96, 0x2E, 0x32, 0x33, 0xC0, 0x60, 0x01, 0x0B, 0xF2, 0x7D, 0xE9, - 0x07, 0xA2, 0x7D, 0x4A, 0xBA, 0x43, 0x5D, 0x23, 0xB5, 0x12, 0x8D, 0xD4, 0x08, 0xDF, 0x95, 0xFE, - 0xC0, 0x15, 0xC4, 0x5C, 0xCD, 0x6C, 0xBE, 0xD8, 0x46, 0x85, 0x5B, 0x20, 0x75, 0x5A, 0x50, 0xEF, - 0x95, 0xF1, 0x7B, 0xE9, 0x8A, 0x07, 0x4F, 0x1A, 0x93, 0x06, 0x10, 0x91, 0x78, 0x97, 0xD4, 0xF4, - 0x45, 0x6C, 0xEF, 0xA7, 0x85, 0x5A, 0x88, 0xFF, 0xA0, 0xDF, 0xB3, 0xDC, 0xFA, 0xCF, 0x2B, 0x45, - 0xE6, 0x1B, 0x9A, 0xA5, 0x56, 0x3D, 0x6F, 0x52, 0x87, 0xAF, 0xD3, 0xE7, 0xC4, 0x3B, 0xC0, 0x35, - 0x67, 0xE3, 0xBB, 0x69, 0x79, 0xDA, 0xB1, 0xAB, 0x7D, 0xCA, 0xD7, 0xF0, 0x97, 0xE8, 0x86, 0xFD, - 0xEF, 0xF9, 0xE4, 0x60, 0x92, 0x20, 0x82, 0x89, 0x54, 0xDD, 0xF6, 0xFE, 0x61, 0xAF, 0x6E, 0x55, - 0x12, 0xF5, 0x96, 0xD3, 0x0B, 0x16, 0x46, 0x39, 0x1F, 0xE6, 0xA8, 0x23, 0xE8, 0x0D, 0x4D, 0x95, - 0xB4, 0x24, 0x2F, 0x68, 0x05, 0xBA, 0x7E, 0xE4, 0xF3, 0xD2, 0x76, 0xA1, 0xAD, 0x30, 0xAE, 0x72, - 0x3F, 0x5F, 0x3F, 0x5E, 0x5D, 0x96, 0xBC, 0x05, 0x1A, 0x2E, 0x1B, 0xE0, 0x86, 0x7B, 0x86, 0x9A, - 0xEB, 0x90, 0x86, 0x53, 0x07, 0xC3, 0x8E, 0x1B, 0x9E, 0xA3, 0xFF, 0x6B, 0x52, 0xEC, 0x8C, 0x99, - 0xA5, 0xAE, 0x7A, 0xDD, 0xE9, 0x21, 0x7C, 0x74, 0x0E, 0x58, 0x78, 0xA8, 0x9E, 0xCE, 0x83, 0x6E, - 0x69, 0x48, 0x7F, 0xC0, 0x0F, 0xE8, 0xAC, 0xE3, 0xD0, 0xFB, 0x25, 0x22, 0x52, 0xA1, 0x7B, 0x62, - 0xF9, 0x76, 0xBF, 0xE6, 0xC6, 0x62, 0x0B, 0x58, 0xC2, 0xE8, 0xC2, 0xE1, 0x73, 0x94, 0x21, 0xC0, - 0x9D, 0x44, 0x8E, 0xAF, 0x59, 0x1A, 0x2D, 0xF6, 0x32, 0xBF, 0x28, 0x73, 0x98, 0xCD, 0x69, 0x7C, - 0x61, 0x04, 0x4E, 0x79, 0x4A, 0x76, 0x49, 0xF9, 0xCE, 0x65, 0xCB, 0x34, 0x5D, 0xFE, 0x78, 0xFE, - 0x79, 0xBF, 0x85, 0xA2, 0xD4, 0x9D, 0xC7, 0x72, 0x7C, 0x6A, 0x75, 0xB2, 0xBA, 0x73, 0xC0, 0x3F, - 0xEA, 0x04, 0xC7, 0xA5, 0xF5, 0xAF, 0xA0, 0x72, 0x79, 0x7D, 0x77, 0xD7, 0x7B, 0x06, 0x3D, 0x38, - 0xA2, 0xE9, 0xA8, 0x1D, 0xAF, 0xD6, 0xFA, 0x38, 0xA6, 0xC5, 0x6C, 0x07, 0x17, 0xE4, 0x75, 0xA6, - 0x17, 0x12, 0xBB, 0xE7, 0x6B, 0xA9, 0x05, 0x93, 0xF1, 0x7C, 0x7D, 0x15, 0xC6, 0xD5, 0xA0, 0x50, - 0x70, 0x6C, 0xC5, 0x28, 0x0D, 0x76, 0xB6, 0x8E, 0x28, 0xAD, 0x33, 0xD0, 0x15, 0x1A, 0x67, 0x70, - 0x2A, 0x19, 0xBC, 0x71, 0x5F, 0xA5, 0x40, 0x84, 0xC2, 0x17, 0x52, 0x39, 0xF4, 0xA7, 0x74, 0x9A, - 0x34, 0x6F, 0x8F, 0x43, 0xAE, 0x6B, 0x39, 0x99, 0x9E, 0x80, 0x04, 0x27, 0xEB, 0x63, 0xE5, 0xC5, - 0x4A, 0xBF, 0x1C, 0xBE, 0xE4, 0x81, 0x9E, 0xCF, 0x29, 0x21, 0x19, 0x7A, 0xEA, 0x86, 0xAA, 0xD4, - 0x1D, 0x8E, 0x44, 0x4C, 0x15, 0x41, 0x41, 0x1B, 0x8F, 0xF3, 0xE2, 0x70, 0x64, 0xD2, 0x37, 0xC1, - 0x7F, 0xDF, 0x35, 0x19, 0x6B, 0x2D, 0xE5, 0x71, 0x28, 0x35, 0xD6, 0xA8, 0x65, 0x29, 0x6F, 0xDA, - 0x3A, 0xB8, 0xB0, 0xE0, 0x68, 0x9A, 0x09, 0x6E, 0x31, 0x1C, 0xAB, 0x13, 0x89, 0x1C, 0xBF, 0xCF, - 0xF0, 0x98, 0xCE, 0xC0, 0xB7, 0x65, 0x92, 0x3C, 0x51, 0xCA, 0xD9, 0x76, 0x21, 0xAA, 0x24, 0xF3, - 0x3E, 0xAD, 0xF5, 0xBA, 0x02, 0x04, 0xA3, 0x8B, 0x7F, 0xD2, 0x0F, 0xDD, 0x17, 0xDA, 0x66, 0x25, - 0x38, 0x6A, 0x90, 0x4F, 0xA5, 0xB2, 0x16, 0x60, 0x9F, 0xAF, 0x31, 0x17, 0x41, 0x98, 0xD6, 0x9F, - 0xB9, 0xD0, 0x63, 0x89, 0x45, 0x7C, 0x0A, 0xE1, 0x4D, 0x75, 0xF3, 0xCF, 0xA7, 0xC9, 0x19, 0x14, - 0xFC, 0x12, 0xAB, 0x7A, 0x9F, 0x6C, 0xF4, 0xF5, 0x85, 0x8A, 0x65, 0xFF, 0x3D, 0x57, 0x1B, 0x7E, - 0x6D, 0xBA, 0x68, 0xD3, 0x1A, 0x3E, 0xC4, 0x46, 0x7A, 0xBB, 0x72, 0x4A, 0x68, 0x8C, 0x7A, 0x89, - 0x9F, 0xB7, 0x29, 0x57, 0xB7, 0x48, 0x6B, 0x67, 0xF6, 0x50, 0x9B, 0xE4, 0x47, 0x74, 0xED, 0x6E, - 0xCC, 0xC3, 0xA9, 0x26, 0xBF, 0x3D, 0x62, 0x6B, 0x72, 0xC6, 0xDD, 0x97, 0x14, 0x58, 0xE2, 0xE0, - 0x6A, 0x0E, 0x49, 0x26, 0x3A, 0x4D, 0xD0, 0xCA, 0xE0, 0x4F, 0x53, 0x6F, 0xF5, 0x50, 0xCF, 0xE1, - 0xCA, 0x81, 0x02, 0xA5, 0x1D, 0xA0, 0x48, 0x9C, 0x6D, 0x42, 0xA9, 0x59, 0x7F, 0xE0, 0xF2, 0xEC, - 0x47, 0x61, 0x14, 0x72, 0x2D, 0x37, 0x83, 0x57, 0x04, 0x57, 0x08, 0xCE, 0xC7, 0xDB, 0xAA, 0xBD, - 0xEE, 0xD4, 0xA1, 0x24, 0xCB, 0xA4, 0xE9, 0x8E, 0x70, 0x93, 0x3C, 0xEC, 0x61, 0xC6, 0xF2, 0xD5, - 0x51, 0x3D, 0x0F, 0xFD, 0xB6, 0x56, 0x2C, 0xBD, 0xC3, 0x95, 0x99, 0x2A, 0xCC, 0x24, 0xD4, 0xEE, - 0xC3, 0x9F, 0x91, 0xCA, 0x3C, 0x77, 0x6E, 0xBF, 0xE2, 0x17, 0x02, 0x97, 0x97, 0x8F, 0xF2, 0x79, - 0xEC, 0x42, 0xBE, 0x4A, 0xA0, 0x65, 0x96, 0xEF, 0x1B, 0xF0, 0xDB, 0x01, 0xF2, 0xB7, 0x28, 0xCF, - 0x3B, 0xD0, 0x29, 0xD8, 0x63, 0x7C, 0x65, 0xF7, 0xC6, 0x28, 0x46, 0xC8, 0x82, 0x9E, 0x93, 0xB1, - 0xC0, 0xBC, 0x75, 0xC9, 0x92, 0xC2, 0x8B, 0x67, 0x78, 0x23, 0x6B, 0x0F, 0x9A, 0x1C, 0xF4, 0xF3, - 0xF7, 0x8C, 0x48, 0xB8, 0xFB, 0xCD, 0x7D, 0xBA, 0x5B, 0x8B, 0x92, 0xD7, 0x8C, 0xFA, 0xE3, 0x4C, - 0xC1, 0x54, 0xD1, 0x40, 0x36, 0x76, 0xB1, 0xD2, 0xB7, 0x4F, 0x77, 0x8A, 0x3C, 0x7C, 0x0D, 0xCB, - 0xBF, 0xED, 0xA6, 0x57, 0x26, 0xE6, 0xCB, 0xF7, 0x43, 0x42, 0xEE, 0x75, 0x7A, 0x04, 0xB6, 0xA4, - 0xE4, 0x21, 0x91, 0x98, 0xD4, 0x70, 0x1F, 0x41, 0x7F, 0xB8, 0x1E, 0x27, 0x0A, 0xF5, 0x37, 0x3D, - 0x5E, 0x41, 0x39, 0x41, 0xA3, 0x69, 0xA9, 0xF2, 0x04, 0x9B, 0x68, 0xD0, 0xBB, 0x44, 0x32, 0xDD, - 0x9B, 0x70, 0x1B, 0xF5, 0xAD, 0xA7, 0x52, 0xE0, 0xFC, 0xBF, 0x6C, 0x73, 0x08, 0xFF, 0x7A, 0x0C, - 0xAD, 0x1B, 0xC8, 0xCD, 0x29, 0x20, 0x4B, 0x5F, 0x38, 0xD2, 0xC3, 0x27, 0x50, 0x69, 0x5F, 0x66, - 0xCE, 0xE9, 0xCC, 0x77, 0xC8, 0xB3, 0xDA, 0x49, 0x1D, 0x06, 0xCF, 0x38, 0x24, 0x59, 0xEC, 0xB4, - 0x5B, 0xE2, 0x4D, 0x8B, 0x56, 0x2C, 0xFD, 0xF0, 0x5C, 0x04, 0x30, 0x88, 0x99, 0x13, 0xF2, 0x42, - 0xD0, 0xD1, 0x73, 0x3F, 0x15, 0x32, 0x2C, 0x92, 0x87, 0x8E, 0xCA, 0x6D, 0x2E, 0x06, 0x0C, 0xD4, - 0x55, 0x5A, 0xF6, 0x27, 0x68, 0x19, 0x49, 0xF6, 0x68, 0x1A, 0xDC, 0xFC, 0x27, 0xCD, 0x26, 0x24, - 0x82, 0xF5, 0x44, 0x91, 0xF4, 0x34, 0x4A, 0xEA, 0xEB, 0xC3, 0xF0, 0x39, 0x48, 0xB2, 0x54, 0x82, - 0x6A, 0x91, 0x86, 0x66, 0x13, 0x2F, 0x22, 0x37, 0x10, 0x7B, 0x61, 0xA2, 0xFF, 0xF1, 0xDD, 0xD6, - 0x78, 0x0F, 0x14, 0xD7, 0xE4, 0x98, 0xBB, 0x3C, 0xC3, 0x4D, 0x14, 0x35, 0xE2, 0x54, 0x15, 0xE6, - 0xBD, 0x24, 0x8B, 0x19, 0x8A, 0xC7, 0xF2, 0x25, 0x8C, 0xEE, 0x01, 0x92, 0xDB, 0xF8, 0x16, 0x8E, - 0xA7, 0x74, 0xB3, 0xFB, 0xDE, 0xE3, 0x08, 0x4C, 0x25, 0x4E, 0x6D, 0xD8, 0xBF, 0x0E, 0xE6, 0x74, - 0x7F, 0x8E, 0xF1, 0x13, 0x6C, 0x8E, 0x8F, 0xAB, 0xFC, 0xC3, 0x16, 0x71, 0xF4, 0x2E, 0x9B, 0x8B, - 0x09, 0xE1, 0xB1, 0x97, 0xE9, 0x1F, 0xD9, 0x86, 0x4C, 0x60, 0x07, 0xCD, 0xAB, 0xD6, 0x15, 0xA7, - 0xAB, 0x2E, 0x80, 0x4D, 0x91, 0xB4, 0xE7, 0xD5, 0xAC, 0xE5, 0x94, 0x9E, 0x38, 0x15, 0x13, 0xB4, - 0x2A, 0x28, 0x67, 0x64, 0x26, 0xE0, 0xB8, 0x86, 0xA0, 0xEC, 0x5F, 0xEC, 0xFC, 0x64, 0xDA, 0x3E, - 0xC7, 0x41, 0xF9, 0x9B, 0x03, 0x87, 0x95, 0x86, 0xF1, 0x4E, 0x4D, 0x53, 0x78, 0x17, 0x75, 0xD4, - 0x11, 0x75, 0x02, 0x6D, 0xC8, 0xE1, 0x10, 0xAA, 0x56, 0x7B, 0x8A, 0x21, 0x2A, 0xF4, 0x63, 0xAE, - 0x5A, 0xE4, 0xE6, 0x40, 0xE2, 0xBF, 0xDD, 0x22, 0x3A, 0x73, 0xDF, 0xCD, 0x74, 0x05, 0x11, 0x9B, - 0xF9, 0xB6, 0x68, 0xF9, 0x3A, 0x39, 0x85, 0x92, 0xBA, 0x27, 0x0F, 0xC0, 0x39, 0xC2, 0xA0, 0xD6, - 0x99, 0x58, 0x9F, 0x1E, 0xC8, 0xBF, 0x71, 0xFC, 0x98, 0x4F, 0xAC, 0xE4, 0xAA, 0x25, 0x3F, 0x8E, - 0x9D, 0x35, 0x7F, 0xA2, 0x5B, 0xA1, 0xA2, 0x85, 0x47, 0x2C, 0x2D, 0xC2, 0x67, 0xFB, 0x49, 0x08, - 0xBC, 0xB7, 0x6E, 0x57, 0x69, 0x02, 0xE5, 0x12, 0x0D, 0xEF, 0xA5, 0x02, 0xD0, 0xC8, 0x53, 0x81, - 0xE2, 0xF1, 0x54, 0x0F, 0x67, 0x07, 0x47, 0x95, 0xB4, 0x5A, 0x58, 0x96, 0x01, 0x0C, 0x32, 0x32, - 0x3C, 0xEC, 0x13, 0x42, 0xB6, 0x26, 0x7A, 0xCE, 0xD7, 0xD6, 0xFE, 0x27, 0xC5, 0x34, 0x95, 0x0F, - 0x51, 0x31, 0x87, 0x96, 0x2A, 0x06, 0x31, 0x66, 0x82, 0x86, 0x75, 0x57, 0x9B, 0xF6, 0xF6, 0x63, - 0xB5, 0x48, 0xDE, 0xDC, 0x94, 0x48, 0xA6, 0x3C, 0x8F, 0xCD, 0xA1, 0x46, 0x21, 0xC4, 0xD0, 0x24, - 0x32, 0x7B, 0x8C, 0x27, 0x00, 0x0B, 0x84, 0x67, 0x91, 0x52, 0xEF, 0xD0, 0x4D, 0x36, 0x25, 0x59, - 0x6F, 0x5A, 0x00, 0x3B, 0x46, 0x47, 0xEB, 0x76, 0x3C, 0xA7, 0x23, 0x8E, 0x1A, 0xE6, 0xD1, 0xEF, - 0x88, 0xBF, 0x31, 0xBB, 0x1D, 0xA8, 0xDE, 0x35, 0xA9, 0xC0, 0xB3, 0xDC, 0x67, 0x41, 0xF5, 0xEA, - 0x62, 0x0A, 0x67, 0x0C, 0xC8, 0x0E, 0x87, 0xCB, 0xBA, 0x62, 0xD7, 0x8B, 0x5D, 0x67, 0xC9, 0x60, - 0x81, 0x07, 0x4A, 0x1F, 0xAB, 0xF6, 0xB4, 0x28, 0x8F, 0xA0, 0x2B, 0xA1, 0xAB, 0x03, 0x3F, 0x09, - 0x3F, 0xA0, 0x49, 0xB0, 0xAC, 0x2B, 0x39, 0x7A, 0x3E, 0x4F, 0x33, 0x1C, 0x39, 0x8D, 0xF2, 0xE5, - 0x3D, 0xBE, 0x37, 0x25, 0xEA, 0x07, 0x4C, 0x1B, 0x4A, 0x5D, 0xA0, 0x16, 0xF8, 0xEA, 0x74, 0x89, - 0x26, 0x09, 0xA7, 0x6D, 0xE4, 0xC3, 0xAE, 0x21, 0x80, 0xF7, 0xE8, 0x2A, 0xCD, 0xB0, 0x01, 0x3A, - 0x37, 0xC7, 0xF5, 0x79, 0xAA, 0x7A, 0x9F, 0xCE, 0xDC, 0xFE, 0x5D, 0x06, 0xDE, 0x4F, 0x0A, 0xC3, - 0x79, 0xE6, 0xEF, 0x6A, 0xEB, 0x3D, 0x50, 0xE9, 0x7C, 0x61, 0x3A, 0x85, 0xC6, 0xFC, 0x05, 0x05, - 0x18, 0x4B, 0x56, 0x8E, 0xDF, 0xD4, 0xED, 0xA9, 0x11, 0x78, 0x60, 0xFC, 0x50, 0x0A, 0x10, 0x4B, - 0x4E, 0x9D, 0x11, 0x68, 0xC5, 0xC7, 0x29, 0x37, 0x0E, 0x2A, 0x7E, 0x86, 0x98, 0x73, 0x8E, 0xB1, - 0x53, 0xAA, 0x40, 0xAD, 0x6E, 0xE9, 0xCC, 0x47, 0x52, 0xE3, 0x00, 0xAF, 0xA0, 0xD4, 0x38, 0x67, - 0xA8, 0xD6, 0xB0, 0x23, 0x96, 0x37, 0x98, 0xEB, 0x39, 0xE0, 0x57, 0x22, 0xCC, 0x0B, 0xB1, 0x6E, - 0x9C, 0x6B, 0xFF, 0xA6, 0xF2, 0xCE, 0x63, 0xBF, 0x24, 0x87, 0x35, 0xE5, 0x05, 0xAF, 0xBE, 0xF5, - 0xE1, 0x17, 0xE7, 0xF2, 0x8C, 0xBF, 0x56, 0x31, 0x04, 0x26, 0x70, 0xCB, 0xB0, 0x43, 0x77, 0x11, - 0x93, 0x0E, 0xD2, 0x8E, 0xF9, 0x70, 0xE0, 0x4B, 0x57, 0x6E, 0xBA, 0x96, 0x4B, 0xD8, 0xD4, 0xE0, - 0x45, 0x56, 0xC6, 0xEF, 0x41, 0xF2, 0x90, 0xF1, 0xBC, 0x0E, 0x74, 0x57, 0x28, 0xE9, 0x61, 0x19, - 0x7B, 0x69, 0x61, 0x84, 0x92, 0x26, 0xD2, 0x36, 0xD5, 0xED, 0x72, 0xA5, 0x7C, 0x5C, 0x55, 0x86, - 0xB9, 0x7A, 0x39, 0xBC, 0x67, 0x4B, 0x83, 0xA5, 0xB2, 0xA3, 0xF3, 0xD0, 0xC1, 0x40, 0xFB, 0x5B, - 0x2F, 0xBA, 0x76, 0xB1, 0x07, 0x09, 0x1D, 0x4D, 0x85, 0xDA, 0xB6, 0x2F, 0xC2, 0xBE, 0xBC, 0xF7, - 0x38, 0x6E, 0x98, 0xE8, 0x17, 0x96, 0xC6, 0x6C, 0x09, 0xDB, 0x27, 0xCD, 0x2C, 0x8E, 0x5D, 0x42, - 0xD1, 0xEB, 0xDB, 0xEC, 0x26, 0x90, 0x3E, 0xBD, 0x1A, 0xE9, 0xD5, 0xA9, 0x10, 0x21, 0xC4, 0xD1, - 0x97, 0x4A, 0x49, 0xC1, 0x4B, 0x8A, 0x12, 0xB6, 0xED, 0x97, 0x86, 0x56, 0xE4, 0x28, 0xA3, 0xEA, - 0x19, 0x2C, 0x35, 0xFC, 0x63, 0xFF, 0x1A, 0xE2, 0x0E, 0x3A, 0x20, 0x16, 0x47, 0x9A, 0x07, 0x16, - 0xE3, 0x52, 0x3B, 0x62, 0xC3, 0xB6, 0xAA, 0x8A, 0x52, 0x46, 0x80, 0xDA, 0x39, 0x02, 0xF5, 0xA8, - 0x42, 0x07, 0xCD, 0xAF, 0x03, 0x53, 0x91, 0x35, 0x62, 0xDD, 0x0D, 0xE4, 0x2A, 0xC9, 0xB1, 0xEC, - 0x76, 0xA5, 0xDF, 0xDF, 0x56, 0x9B, 0x8C, 0xDA, 0x7D, 0x89, 0xA4, 0xF4, 0x23, 0xA3, 0xDB, 0xE5, - 0xD3, 0x8E, 0xC2, 0x3C, 0x06, 0x9B, 0x6E, 0x1D, 0xEB, 0x2D, 0x1B, 0xE2, 0x79, 0x66, 0xFD, 0xAF, - 0x48, 0x7B, 0x29, 0x67, 0xA1, 0xF8, 0xC5, 0x6D, 0x19, 0x00, 0x89, 0x21, 0x03, 0x24, 0xDE, 0xFA, - 0x17, 0xAC, 0xA7, 0x84, 0xC2, 0x63, 0xEC, 0x6C, 0x05, 0x6B, 0xFD, 0x3C, 0xD7, 0x16, 0x6E, 0xA0, - 0xA1, 0x82, 0x9C, 0xBA, 0x87, 0x7A, 0x56, 0xF3, 0x81, 0x87, 0x4C, 0x0D, 0x72, 0x60, 0x3B, 0xFE, - 0xB9, 0x2F, 0xB0, 0xE8, 0xC5, 0x89, 0xC9, 0x88, 0x3B, 0xAA, 0x74, 0xC0, 0x19, 0x7F, 0x70, 0x90, - 0xC3, 0xB7, 0xFD, 0x2F, 0x1F, 0x04, 0xB7, 0x0B, 0x5F, 0x27, 0x0C, 0x41, 0x85, 0xE6, 0x70, 0x97, - 0x83, 0x4C, 0xBB, 0xD0, 0xC9, 0xF2, 0xC8, 0xD4, 0xA2, 0xC8, 0x14, 0xBF, 0x14, 0x63, 0x7D, 0x4B, - 0x75, 0x4A, 0x16, 0x3A, 0xB6, 0x7F, 0xFF, 0x24, 0xDD, 0xAC, 0xF2, 0x1F, 0x39, 0x9A, 0xF3, 0xAC, - 0x9E, 0x02, 0xAC, 0x6C, 0x57, 0x96, 0xE4, 0x47, 0x23, 0x9F, 0xBF, 0x32, 0x5B, 0xD3, 0x3C, 0xEA, - 0x6D, 0xF7, 0xCA, 0x18, 0x14, 0x1B, 0x33, 0xD5, 0xC7, 0xA2, 0x96, 0x00, 0x62, 0x4E, 0xB5, 0x42, - 0x42, 0xFE, 0x48, 0xC3, 0x14, 0xC9, 0x8A, 0xF0, 0x4A, 0x6E, 0xBA, 0x83, 0x52, 0xF8, 0x94, 0x11, - 0x2A, 0xB1, 0x3F, 0x03, 0x51, 0x03, 0x62, 0xB0, 0x18, 0x25, 0xF9, 0x01, 0x64, 0x69, 0x9B, 0xA8, - 0x24, 0x80, 0x4A, 0x2A, 0x40, 0x9E, 0xD8, 0xFE, 0x43, 0xC1, 0x0E, 0xBD, 0x07, 0xC2, 0x3C, 0x86, - 0x41, 0xF2, 0x05, 0x56, 0x7E, 0x48, 0x5D, 0x96, 0x85, 0x94, 0xC5, 0x87, 0xB6, 0xD4, 0x13, 0x80, - 0xD2, 0x6D, 0x21, 0xE2, 0x6C, 0x53, 0xC6, 0xA8, 0x57, 0xBB, 0x51, 0xF6, 0xEA, 0xC7, 0xCF, 0x08, - 0xF5, 0x1A, 0xE9, 0xDD, 0x7C, 0x15, 0x53, 0xF7, 0xA6, 0xF8, 0x1B, 0xBA, 0x89, 0x38, 0x78, 0xA1, - 0x5A, 0x7A, 0x24, 0x79, 0x3B, 0xFE, 0x93, 0x05, 0x73, 0x5E, 0xF7, 0x97, 0x7D, 0x64, 0xAD, 0xE3, - 0x43, 0xAB, 0x9A, 0x12, 0x07, 0x45, 0xA5, 0xEE, 0x77, 0xF6, 0x61, 0xE5, 0x4A, 0xCB, 0x73, 0xAF, - 0xB0, 0x73, 0x4B, 0x62, 0xFF, 0xDD, 0x22, 0x26, 0xDF, 0x21, 0x6C, 0x17, 0x07, 0x57, 0xDD, 0x0D, - 0x9D, 0xEB, 0x3E, 0xFB, 0xD9, 0x67, 0xCF, 0x7D, 0x06, 0xCE, 0x1F, 0xDC, 0xD5, 0x45, 0xDF, 0x98, - 0xD1, 0x79, 0x93, 0xA3, 0x62, 0x89, 0x01, 0x13, 0x33, 0x27, 0xDE, 0xE7, 0x95, 0x0F, 0x9B, 0x60, - 0xEF, 0xE7, 0xBD, 0x42, 0x95, 0x7E, 0xA3, 0x10, 0x57, 0x58, 0x1D, 0x19, 0x8F, 0x9C, 0x81, 0x0A, - 0x00, 0x5A, 0x9E, 0xE5, 0xAB, 0xE8, 0xAF, 0xE3, 0xD1, 0x11, 0x06, 0x76, 0xA9, 0x65, 0x55, 0xDB, - 0x87, 0xC5, 0x85, 0xBE, 0x23, 0x95, 0x77, 0x6D, 0x0B, 0xCE, 0x26, 0x3C, 0x87, 0x1E, 0xDF, 0xF7, - 0xB3, 0x22, 0xDD, 0x2F, 0x30, 0xEA, 0x70, 0x20, 0xF5, 0x02, 0x5C, 0x23, 0x8B, 0x1C, 0x67, 0x97, - 0xFA, 0x4A, 0xF7, 0xB9, 0x4D, 0x99, 0xB5, 0x8A, 0x10, 0x4C, 0xF0, 0xAD, 0x48, 0x09, 0xBE, 0xEC, - 0x4F, 0x5D, 0xDC, 0x6C, 0x88, 0xA9, 0xEA, 0x07, 0x37, 0x63, 0x04, 0xB7, 0x13, 0x50, 0xDF, 0xE8, - 0x72, 0xEF, 0xFD, 0x55, 0x95, 0xA3, 0x34, 0xAE, 0x38, 0x27, 0x3C, 0x8B, 0xF2, 0xF6, 0x4E, 0x79, - 0xAA, 0x40, 0xEB, 0x15, 0x62, 0x63, 0x95, 0xCD, 0x8B, 0x14, 0xF3, 0x83, 0xD3, 0x25, 0x09, 0xD5, - 0xED, 0xF4, 0xCF, 0x81, 0x55, 0xF4, 0xB4, 0x95, 0x77, 0xB7, 0xC0, 0x00, 0xC9, 0xAD, 0x99, 0xE1, - 0x8D, 0xB2, 0x90, 0xE4, 0x40, 0x6F, 0xF1, 0xD6, 0x10, 0x71, 0xCA, 0xA0, 0xA8, 0x07, 0xBC, 0xCF, - 0x79, 0x12, 0x57, 0x7C, 0xDF, 0xA6, 0x91, 0x5D, 0x6F, 0x2C, 0x2D, 0x94, 0x22, 0xA4, 0x13, 0x18, - 0x18, 0xEF, 0xEE, 0xCE, 0x95, 0x15, 0x19, 0x23, 0x4D, 0x04, 0xFC, 0x01, 0xD4, 0x82, 0xF3, 0x1E, - 0xD5, 0xB8, 0xF5, 0x14, 0xE5, 0xFC, 0x52, 0x87, 0xFA, 0x28, 0x0D, 0x76, 0x98, 0xD7, 0xD2, 0x7B, - 0xBC, 0x2D, 0x93, 0x1A, 0xEE, 0x17, 0x89, 0xAD, 0x9D, 0x9A, 0x0B, 0xFD, 0x33, 0x23, 0x26, 0x4E, - 0x31, 0x6C, 0x53, 0x67, 0x39, 0x39, 0x37, 0x62, 0x5D, 0x26, 0x85, 0x56, 0xA3, 0x3B, 0xC2, 0xEB, - 0xD6, 0x80, 0xE9, 0x90, 0xD6, 0xE4, 0x80, 0x52, 0x85, 0x73, 0x49, 0xEB, 0x7E, 0xBB, 0x8B, 0x11, - 0x8F, 0xF7, 0xB6, 0x5B, 0xEC, 0x70, 0x6A, 0xF1, 0x52, 0x3D, 0x6F, 0xC3, 0xA5, 0xDF, 0xA8, 0xB3, - 0x8C, 0x09, 0xFE, 0x54, 0x12, 0xF7, 0x3A, 0xC1, 0x87, 0x94, 0x3E, 0x3C, 0xB1, 0xE7, 0x0F, 0x44, - 0xE3, 0x98, 0x99, 0x59, 0x9A, 0x59, 0x67, 0xE3, 0x26, 0x86, 0xEE, 0xC0, 0x6D, 0x2B, 0x10, 0xA3, - 0x39, 0x3A, 0x47, 0xFE, 0x91, 0xEE, 0x59, 0xB9, 0x26, 0xE0, 0xFE, 0xD5, 0x6E, 0x7D, 0xED, 0x90, - 0xAE, 0x87, 0x9B, 0xF2, 0x5F, 0x8F, 0xBD, 0x46, 0xD3, 0x10, 0xCC, 0xD6, 0x32, 0xA9, 0x7F, 0x85, - 0xC4, 0xDE, 0x87, 0x3D, 0xF2, 0x3B, 0x5B, 0xF5, 0xC9, 0xA5, 0xDC, 0x90, 0xF4, 0x08, 0x79, 0xA8, - 0x90, 0x11, 0x20, 0x4D, 0x8D, 0x98, 0xA0, 0x9B, 0x72, 0x44, 0x03, 0xCE, 0x73, 0x5F, 0x87, 0xF5, - 0xE5, 0xF0, 0x95, 0x76, 0xC3, 0x78, 0x10, 0x4D, 0x34, 0x53, 0x02, 0xF5, 0x73, 0x68, 0x43, 0xAF, - 0x21, 0x68, 0xA9, 0xDF, 0x95, 0x4B, 0x46, 0xB8, 0xB6, 0xEB, 0x7B, 0x4D, 0x75, 0x76, 0x70, 0xBE, - 0x97, 0x39, 0xE6, 0x3B, 0x97, 0xC6, 0x3F, 0x49, 0xD2, 0xFF, 0x47, 0xAF, 0x7E, 0x55, 0x7E, 0x59, - 0x58, 0x90, 0xC6, 0x89, 0x1A, 0x75, 0x71, 0x22, 0x1E, 0xC3, 0xF4, 0xCF, 0x4D, 0x32, 0xE9, 0x67, - 0x44, 0x81, 0x01, 0x9F, 0x17, 0x85, 0x35, 0xEC, 0xCC, 0xD8, 0xE2, 0x37, 0x47, 0xA8, 0x3B, 0xA2, - 0xA6, 0x22, 0x86, 0x39, 0xCD, 0xFF, 0x2E, 0x8C, 0x72, 0x15, 0xB8, 0xEF, 0x69, 0xE0, 0x51, 0x82, - 0x15, 0x92, 0x08, 0xEB, 0x60, 0x55, 0x27, 0xE2, 0xA2, 0xE4, 0xB6, 0xA1, 0x0C, 0xBE, 0xE0, 0x25, - 0xCE, 0x81, 0x4C, 0xEE, 0x0E, 0x80, 0x30, 0x24, 0xC0, 0xEF, 0x86, 0x50, 0x6D, 0x2F, 0xFA, 0x85, - 0xDA, 0xD6, 0x83, 0xF0, 0xCF, 0x57, 0x73, 0x4C, 0xC6, 0xD0, 0x54, 0x7F, 0x03, 0x7A, 0xE4, 0xD5, - 0x8B, 0x51, 0x44, 0x37, 0x9B, 0x05, 0xB1, 0xF0, 0x58, 0x8C, 0x48, 0x38, 0x86, 0xFB, 0x01, 0x02, - 0xE8, 0x63, 0xE0, 0x4D, 0x66, 0xF1, 0x9B, 0x8D, 0x7C, 0xE8, 0xD0, 0xE9, 0x1C, 0xB2, 0xAE, 0x84, - 0x98, 0x73, 0xB0, 0x07, 0xEB, 0x0D, 0x4D, 0x97, 0x12, 0x36, 0xE1, 0x67, 0x92, 0x7C, 0x41, 0xC8, - 0x6B, 0x36, 0x7E, 0xF6, 0x23, 0x15, 0x94, 0xE1, 0xFD, 0x3A, 0xA7, 0xFF, 0xF3, 0x3D, 0x63, 0x19, - 0x5E, 0xD9, 0x08, 0xE0, 0x54, 0x89, 0xE9, 0xCA, 0x2A, 0x83, 0x4B, 0x21, 0x7D, 0x78, 0x20, 0x84, - 0x66, 0x96, 0x88, 0xA5, 0x37, 0x9B, 0xDB, 0x54, 0x5C, 0x5B, 0x6E, 0x19, 0xDB, 0x13, 0x9A, 0x15, - 0xCD, 0xF7, 0x12, 0xF1, 0x31, 0x8F, 0x40, 0xDD, 0x2D, 0x35, 0x2C, 0x4F, 0x24, 0x81, 0x9A, 0x32, - 0x99, 0x77, 0x8A, 0xD3, 0xDD, 0x6B, 0x4A, 0x56, 0x42, 0xB1, 0xC1, 0xB3, 0xC3, 0x05, 0xCA, 0x1F, - 0x84, 0x90, 0x1D, 0xDE, 0x81, 0x0D, 0x7E, 0xBD, 0x72, 0x98, 0xAB, 0x30, 0x1A, 0xAC, 0x09, 0x65, - 0x12, 0x05, 0x70, 0x6C, 0xFA, 0x22, 0x11, 0x80, 0x4D, 0x6C, 0x92, 0x5B, 0x0D, 0x28, 0x3F, 0x7D, - 0xA2, 0x63, 0x3A, 0xDE, 0xBE, 0x21, 0xEB, 0x80, 0xE1, 0x70, 0x0A, 0x80, 0xF8, 0x88, 0x16, 0xA6, - 0x36, 0x0D, 0xEE, 0x76, 0x47, 0xAB, 0xD9, 0xA5, 0xA7, 0x21, 0x29, 0xE6, 0xEE, 0xDD, 0xD7, 0x65, - 0x1A, 0xAA, 0x7D, 0x13, 0xC2, 0xAF, 0x9F, 0x80, 0x3E, 0xFB, 0x20, 0x6A, 0x59, 0x8E, 0x95, 0x90, - 0x1C, 0xEB, 0x17, 0x93, 0x5C, 0xC4, 0x6F, 0x17, 0xE4, 0x49, 0x35, 0x29, 0x3D, 0x57, 0xCB, 0xFC, - 0xCA, 0xF5, 0x5D, 0x6D, 0xC0, 0xFA, 0x1F, 0x7F, 0xC6, 0xAF, 0xFB, 0x0B, 0xE8, 0x66, 0xA5, 0xC0, - 0x13, 0xE0, 0x26, 0xA0, 0xC6, 0xBC, 0xEC, 0xBC, 0x55, 0x75, 0xBA, 0xFD, 0x19, 0x20, 0xFD, 0xBA, - 0x6E, 0x75, 0x5C, 0x03, 0x57, 0x2F, 0xD9, 0x97, 0x36, 0x73, 0xFF, 0x88, 0xED, 0xCC, 0x03, 0x5D, - 0xA0, 0x76, 0x6A, 0x9F, 0x7B, 0x55, 0x92, 0xF8, 0xBF, 0x68, 0x39, 0x75, 0x4E, 0x31, 0xDB, 0xE1, - 0xB7, 0x7D, 0x9D, 0x2C, 0x0C, 0x58, 0x49, 0x26, 0x15, 0x03, 0xA8, 0xC5, 0xB9, 0x01, 0xBE, 0x96, - 0xF4, 0xCE, 0x11, 0x54, 0x20, 0xFB, 0x5D, 0x63, 0xAA, 0x1B, 0xFD, 0xA8, 0x60, 0xD3, 0x3B, 0x3C, - 0x36, 0xA5, 0x9F, 0x9B, 0x19, 0xCF, 0x0C, 0x47, 0xC1, 0x0D, 0x7C, 0x5F, 0x05, 0xCF, 0x17, 0x20, - 0x96, 0x87, 0x52, 0xF4, 0xC8, 0xF4, 0x95, 0x3D, 0x94, 0x7E, 0xAF, 0x31, 0xA1, 0x15, 0x33, 0x20, - 0x6C, 0xCE, 0xFA, 0xB8, 0x03, 0xAD, 0x25, 0xBD, 0x26, 0x5E, 0x0F, 0xA0, 0x24, 0x8D, 0x27, 0xFC, - 0x5E, 0x7C, 0x5A, 0x03, 0x5B, 0x9B, 0xB1, 0xD4, 0xC7, 0xBE, 0x5A, 0xBC, 0xF1, 0xAE, 0x0B, 0x61, - 0x18, 0x59, 0x5F, 0x2C, 0x2F, 0x9D, 0x9D, 0xA4, 0x26, 0xF2, 0x09, 0x6F, 0x68, 0xA7, 0xC7, 0xD9, - 0x5C, 0xA1, 0x2A, 0x93, 0xF8, 0x40, 0xE1, 0x2D, 0x9E, 0x4D, 0x94, 0x2F, 0xCE, 0xE9, 0x30, 0x10, - 0xC7, 0xB8, 0x2A, 0x91, 0x0C, 0xD8, 0x4A, 0x3B, 0x68, 0x21, 0x06, 0xC2, 0x14, 0xAB, 0x24, 0xDC, - 0xCD, 0x50, 0xE3, 0x43, 0xDE, 0xED, 0x1E, 0x83, 0x24, 0xCC, 0x82, 0x90, 0x2B, 0x46, 0xAE, 0xA8, - 0xF9, 0xC3, 0x2A, 0x56, 0x46, 0xE2, 0x03, 0xA2, 0xFB, 0x34, 0x2B, 0xA6, 0xF7, 0x2C, 0xB8, 0xDF, - 0xBD, 0x0B, 0x17, 0x88, 0xF4, 0x24, 0x0B, 0x3D, 0x42, 0x09, 0x60, 0x9A, 0xDD, 0xB9, 0x06, 0x79, - 0xE0, 0x8E, 0xF0, 0x3F, 0x20, 0xC5, 0x64, 0x8F, 0xFD, 0x44, 0xAC, 0xE2, 0x0B, 0x69, 0x27, 0x4F, - 0xDE, 0x1F, 0xE1, 0x9D, 0x3A, 0x3F, 0xBE, 0xDF, 0x2C, 0x88, 0xFA, 0xA6, 0x62, 0x79, 0xE1, 0x25, - 0x3A, 0xB0, 0xC9, 0x12, 0x96, 0x63, 0x29, 0x8E, 0x7D, 0xBF, 0x2E, 0x93, 0x54, 0x4B, 0x1E, 0x92, - 0x0E, 0x13, 0x99, 0x26, 0xE6, 0xA9, 0x3B, 0x0E, 0xD8, 0xEE, 0xA4, 0x8E, 0xFA, 0x8C, 0x8B, 0xF3, - 0xB0, 0xF0, 0xFB, 0xEB, 0xC6, 0x52, 0xB6, 0xDF, 0xEB, 0x77, 0xBC, 0x05, 0xFF, 0x02, 0xE2, 0x18, - 0x07, 0x99, 0x8A, 0x34, 0x7F, 0xC9, 0x51, 0xEF, 0x43, 0xC7, 0x3C, 0x67, 0x83, 0xCE, 0xAA, 0x78, - 0xED, 0x4B, 0xF8, 0x62, 0xDB, 0x8D, 0x08, 0x59, 0xCF, 0x55, 0x58, 0xDB, 0xFF, 0xE8, 0x06, 0x4E, - 0xB8, 0xAE, 0x32, 0x63, 0x87, 0x2A, 0x10, 0x71, 0x74, 0xAD, 0xD2, 0xAC, 0x43, 0xC0, 0xFA, 0x36, - 0xF6, 0xAC, 0x99, 0x4B, 0x46, 0x9B, 0xDF, 0xF2, 0x69, 0xE0, 0xB5, 0xE3, 0xE2, 0x73, 0x68, 0xF2, - 0xB2, 0xA0, 0xC4, 0xE1, 0x44, 0x52, 0xC3, 0xEB, 0x5F, 0xD6, 0x2F, 0xB4, 0xF9, 0x65, 0x41, 0x7C, - 0xA9, 0xD7, 0xC5, 0x03, 0xC0, 0x73, 0x21, 0x45, 0xD7, 0x60, 0x67, 0xCD, 0x48, 0x3F, 0x08, 0x2A, - 0xDC, 0xE5, 0xD5, 0xB7, 0x46, 0x29, 0x43, 0x13, 0xB1, 0x6F, 0x8F, 0xEA, 0x14, 0x5B, 0xA5, 0x8A, - 0x27, 0x17, 0x78, 0x1B, 0xAC, 0xBE, 0x17, 0xC2, 0x4A, 0xD7, 0xD8, 0x6F, 0x14, 0x84, 0xA9, 0xBB, - 0x97, 0xE0, 0xE5, 0x65, 0xAD, 0xEE, 0x62, 0x04, 0x35, 0xEB, 0xEF, 0x77, 0xE6, 0x85, 0xE8, 0xA1, - 0xC1, 0x93, 0xA0, 0x2F, 0x9D, 0x4A, 0xA6, 0x48, 0xB3, 0x33, 0xF1, 0xB5, 0xC9, 0xFC, 0xAC, 0x5F, - 0x28, 0x11, 0xCF, 0x3A, 0x16, 0xDC, 0x87, 0x29, 0xB2, 0x12, 0xE2, 0x4A, 0x8D, 0x81, 0xA4, 0x04, - 0xF0, 0x33, 0x11, 0x1C, 0x2F, 0xCE, 0x00, 0xAF, 0x87, 0x57, 0x99, 0xA5, 0xBE, 0xA1, 0x3D, 0x76, - 0xF7, 0x56, 0xAB, 0xD8, 0xE4, 0xFC, 0x34, 0xD7, 0x55, 0x57, 0x9B, 0x09, 0xF3, 0xDB, 0xB9, 0x13, - 0x32, 0x89, 0x93, 0xB0, 0x60, 0x30, 0x7D, 0xBE, 0x8F, 0x12, 0x8E, 0xDA, 0x33, 0x77, 0xCC, 0xC3, - 0xA5, 0x38, 0xD9, 0x14, 0xB1, 0x1F, 0x37, 0x95, 0x39, 0xAD, 0xD0, 0x33, 0x40, 0xEB, 0x6E, 0x13, - 0x48, 0x81, 0x7D, 0x2B, 0x0D, 0xA6, 0x1A, 0x86, 0xA2, 0xC6, 0xC2, 0x97, 0xF3, 0x98, 0xCB, 0x35, - 0x86, 0x8C, 0x59, 0x56, 0xC6, 0x99, 0x56, 0x06, 0xC2, 0x55, 0x88, 0x0D, 0x48, 0x59, 0x6D, 0x9C, - 0x24, 0x6A, 0x4E, 0xD5, 0x01, 0x37, 0x68, 0xDA, 0x92, 0xE4, 0x1B, 0xE5, 0x5B, 0x9A, 0x52, 0x8B, - 0x76, 0x0C, 0x5D, 0x7F, 0x34, 0xCA, 0x0A, 0x14, 0x48, 0x4F, 0x80, 0x9F, 0x39, 0x4D, 0x38, 0x10, - 0x16, 0x83, 0xD8, 0x03, 0xFD, 0x57, 0xFE, 0x6A, 0x65, 0x86, 0x23, 0xBE, 0xD8, 0xAA, 0x24, 0x12, - 0x9E, 0x10, 0xF2, 0xE0, 0xEB, 0x5A, 0x9F, 0x74, 0x6D, 0x69, 0x05, 0xD5, 0xD1, 0x7B, 0xB3, 0x63, - 0xD5, 0xA4, 0x80, 0x36, 0x84, 0x34, 0x52, 0x07, 0xBC, 0xD2, 0x50, 0x06, 0x4D, 0x8A, 0xB5, 0x5F, - 0x6D, 0x71, 0x1C, 0xDD, 0x10, 0x78, 0xC8, 0x7F, 0xAE, 0x0A, 0xD7, 0x29, 0xB7, 0x83, 0xDF, 0x9A, - 0xB3, 0xE2, 0x65, 0x1D, 0xC8, 0xAD, 0xF5, 0x07, 0x24, 0xD4, 0x71, 0x08, 0xDC, 0xBB, 0x86, 0x4C, - 0x12, 0xDC, 0x6E, 0xDA, 0x27, 0xB9, 0x2D, 0x9A, 0x92, 0x3F, 0xA2, 0xF1, 0xCA, 0x74, 0xBD, 0x20, - 0x33, 0x6E, 0xF3, 0xDE, 0xA9, 0x91, 0x6A, 0x61, 0xBB, 0xBB, 0x2A, 0x61, 0x9B, 0x47, 0x07, 0xDA, - 0x4F, 0x06, 0x99, 0x79, 0xDA, 0x38, 0x04, 0x23, 0xF2, 0x7E, 0xE4, 0x5D, 0x90, 0x93, 0x02, 0x03, - 0x78, 0x31, 0x73, 0x0B, 0x8A, 0xAC, 0xF2, 0xCE, 0xD4, 0x07, 0x1D, 0xFF, 0x80, 0x75, 0xAC, 0x9E, - 0x63, 0xD9, 0x17, 0xD3, 0xAB, 0x2A, 0x19, 0xC1, 0x2D, 0x62, 0x54, 0xF7, 0xFD, 0x38, 0xA3, 0x8B, - 0xB4, 0xA7, 0x45, 0x60, 0x52, 0x36, 0xEA, 0x87, 0x1B, 0x15, 0xC9, 0xDC, 0xA8, 0x11, 0x87, 0x6B, - 0x6B, 0x59, 0xFF, 0xD6, 0x87, 0xAE, 0x90, 0xC0, 0xD0, 0x55, 0x91, 0x1A, 0x7A, 0x7A, 0xBE, 0xEE, - 0xD1, 0x0B, 0xFC, 0xED, 0x24, 0xF8, 0x26, 0x83, 0x70, 0x60, 0xE7, 0xBA, 0x47, 0xCB, 0x8D, 0x2B, - 0x4E, 0x6A, 0xD0, 0xC4, 0xD6, 0x71, 0x3E, 0x39, 0x17, 0x10, 0xF8, 0xDD, 0x78, 0xF3, 0xFF, 0xCC, - 0x30, 0xC7, 0x5E, 0xC2, 0xF7, 0x2B, 0x44, 0x93, 0xE6, 0x8D, 0x61, 0x58, 0xF1, 0x8B, 0x31, 0xA7, - 0x41, 0xC4, 0xA3, 0x05, 0xBB, 0xB9, 0x55, 0xE7, 0x86, 0x56, 0x40, 0x47, 0xB8, 0xD6, 0xAF, 0xD4, - 0xD4, 0xC1, 0x22, 0xBF, 0x17, 0x55, 0x72, 0xB9, 0x7B, 0x8F, 0xBF, 0x50, 0xF2, 0x9C, 0x1D, 0x0C, - 0x14, 0x34, 0xA8, 0x87, 0xC4, 0x77, 0xDD, 0x1D, 0x82, 0xA5, 0xE3, 0x9E, 0x17, 0x70, 0x7B, 0xB7, - 0x22, 0x01, 0x08, 0xB9, 0xA2, 0xD9, 0xC4, 0x87, 0x6F, 0x62, 0x4C, 0x26, 0xF6, 0xE6, 0x61, 0x90, - 0x0D, 0x76, 0xDA, 0x87, 0xE5, 0xD9, 0xC5, 0xC6, 0x3B, 0xFC, 0x7F, 0xBE, 0x86, 0x3D, 0x00, 0x89, - 0xE5, 0xD4, 0x2F, 0x36, 0x21, 0x66, 0xAD, 0x5E, 0x39, 0x9C, 0xEE, 0xE4, 0x27, 0x7E, 0xF4, 0x8A, - 0x5F, 0xBC, 0x8A, 0xD6, 0xC4, 0x01, 0xA3, 0x0F, 0x5B, 0x19, 0x45, 0xF6, 0x8D, 0x89, 0x25, 0xB9, - 0xDA, 0x72, 0x7D, 0x67, 0x8F, 0xAA, 0xC6, 0x3A, 0xF5, 0x08, 0x53, 0xB3, 0x46, 0x42, 0x38, 0x35, - 0x0B, 0x8F, 0x50, 0xBD, 0xC5, 0xC3, 0x33, 0x32, 0xDD, 0x74, 0xAA, 0xD7, 0xD8, 0x5A, 0x92, 0x9B, - 0x2B, 0x17, 0x02, 0x9F, 0xAB, 0xCF, 0x48, 0x99, 0x7E, 0x1A, 0x2D, 0xFB, 0x1A, 0x82, 0x25, 0x58, - 0xDD, 0x9A, 0x1D, 0x8B, 0xAB, 0x90, 0x24, 0x57, 0xF3, 0x68, 0xD7, 0xBC, 0x19, 0x98, 0x94, 0xE2, - 0x71, 0x5C, 0xEE, 0xE5, 0xEF, 0x88, 0x31, 0x22, 0x44, 0x16, 0x9E, 0x78, 0x35, 0x5D, 0x44, 0xED, - 0x32, 0xBC, 0x4F, 0xE5, 0x3F, 0x26, 0x68, 0x9E, 0xBD, 0x91, 0xB0, 0x14, 0x1E, 0xE2, 0x03, 0x6E, - 0x41, 0x2D, 0x39, 0xB5, 0x9E, 0xEA, 0x7A, 0x08, 0x7E, 0x87, 0x9D, 0xA1, 0xCD, 0x0F, 0x9A, 0x37, - 0x30, 0x89, 0x13, 0x3B, 0xC0, 0x01, 0xB1, 0x6B, 0xAD, 0xED, 0xC2, 0x38, 0xF5, 0x8E, 0x13, 0x33, - 0xF3, 0x79, 0x88, 0xB5, 0xB8, 0x46, 0x22, 0x7A, 0xDF, 0xAB, 0xFC, 0x1B, 0x8E, 0x2C, 0x95, 0x9A, - 0x00, 0x80, 0x7F, 0x22, 0x24, 0x47, 0x89, 0x5C, 0x20, 0xCD, 0x54, 0x24, 0xD0, 0xBC, 0x3E, 0xE3, - 0xE7, 0x04, 0x53, 0xAE, 0xA2, 0x96, 0x2A, 0x9B, 0x32, 0xAD, 0xA0, 0x94, 0xAA, 0xDC, 0xAB, 0x77, - 0x20, 0x89, 0x45, 0xF2, 0x34, 0xC3, 0xFA, 0x74, 0xF9, 0xD6, 0xF8, 0xBF, 0x85, 0x7F, 0xE7, 0xAD, - 0xD1, 0x54, 0xA4, 0xD2, 0x7B, 0x0A, 0xAF, 0xF2, 0x87, 0x7A, 0x35, 0x64, 0x04, 0x34, 0x0C, 0x4D, - 0x11, 0xBB, 0x83, 0x5E, 0x30, 0xE4, 0xDB, 0x58, 0xAF, 0x1A, 0x5F, 0x91, 0xB2, 0x19, 0x1B, 0x42, - 0x29, 0xFB, 0xFA, 0x5F, 0xD2, 0xFE, 0x7D, 0x61, 0xA5, 0x0A, 0x62, 0x22, 0xFC, 0xC7, 0x84, 0xE1, - 0xED, 0xDF, 0x59, 0xAE, 0xF3, 0xC7, 0x80, 0x0F, 0x3B, 0x42, 0xC0, 0xE4, 0xD5, 0x99, 0x4A, 0x42, - 0xDE, 0x2B, 0x46, 0xB5, 0x19, 0xED, 0x08, 0x19, 0xED, 0x35, 0x87, 0xE7, 0x54, 0xB8, 0xB9, 0xBD, - 0xDF, 0x38, 0x9A, 0x59, 0xE1, 0x07, 0xB7, 0xEC, 0x48, 0x9A, 0x58, 0x62, 0xA1, 0xD2, 0x92, 0xCA, - 0x39, 0x78, 0x14, 0x5B, 0x06, 0xFD, 0x4E, 0xC0, 0xB1, 0x70, 0xAE, 0x1E, 0x96, 0xE5, 0xDF, 0x34, - 0xBB, 0x19, 0x99, 0x08, 0x1C, 0xAF, 0x63, 0xE6, 0x0F, 0x7A, 0x40, 0xD7, 0xC3, 0x1E, 0x96, 0x97, - 0x92, 0x97, 0xD2, 0x37, 0x22, 0x58, 0xFE, 0x88, 0x3E, 0x3C, 0xB3, 0xA8, 0xAC, 0xC9, 0x6F, 0x87, - 0x61, 0x6F, 0xC4, 0x6A, 0xAC, 0x6B, 0x4D, 0x1F, 0xD1, 0x83, 0x8C, 0x7B, 0x62, 0x7B, 0x2D, 0xB9, - 0xD0, 0x14, 0x34, 0x55, 0xF2, 0x75, 0x3B, 0x4E, 0x5F, 0x63, 0x3A, 0x02, 0xF9, 0xC1, 0x4D, 0x2D, - 0x21, 0x22, 0x4B, 0xF1, 0x9A, 0x78, 0xCB, 0x39, 0x78, 0x9D, 0xEE, 0x9E, 0xE8, 0x9A, 0x55, 0x3F, - 0x59, 0xCD, 0x76, 0xB5, 0x0C, 0xCD, 0x52, 0x71, 0xB0, 0x73, 0x94, 0x92, 0x25, 0xE4, 0xE9, 0x53, - 0x36, 0x0F, 0x89, 0x99, 0x48, 0x41, 0x15, 0x83, 0xED, 0xC2, 0xD8, 0x17, 0x7B, 0x7E, 0x2A, 0x0C, - 0x7C, 0x89, 0x51, 0x8B, 0xC1, 0xC7, 0xEA, 0x46, 0x51, 0x50, 0xFF, 0x83, 0xA1, 0xEB, 0x84, 0x1A, - 0x4C, 0xCD, 0x4F, 0xB0, 0xFA, 0xF6, 0xE6, 0x56, 0xB5, 0x4C, 0x6E, 0x88, 0xCF, 0x88, 0x9A, 0x72, - 0xDA, 0xB2, 0x62, 0x4C, 0xE0, 0x5C, 0x49, 0x62, 0xCC, 0x21, 0x77, 0x45, 0xD4, 0xBE, 0xBD, 0x64, - 0xD4, 0xF5, 0x54, 0xDF, 0x60, 0x9F, 0x44, 0x07, 0x9D, 0x08, 0x07, 0xFB, 0x6F, 0x4F, 0x6B, 0x54, - 0x97, 0xAF, 0xC5, 0x29, 0xEC, 0x55, 0xD5, 0xD5, 0x72, 0x87, 0x6F, 0x50, 0xC2, 0xA7, 0xF7, 0x94, - 0xE8, 0x1D, 0xFA, 0x06, 0x1D, 0x52, 0xF9, 0x32, 0x5E, 0xC5, 0x6C, 0xD2, 0x3E, 0x70, 0xB7, 0x6C, - 0x23, 0x89, 0x32, 0x26, 0xE2, 0xFE, 0xEF, 0x04, 0x48, 0x15, 0x09, 0x50, 0xA4, 0xF5, 0x73, 0x28, - 0xCC, 0x60, 0x03, 0x66, 0xF8, 0x05, 0x51, 0xC6, 0x75, 0x4E, 0xB5, 0x9A, 0x72, 0x60, 0x8D, 0x35, - 0xFD, 0x60, 0x0F, 0x2F, 0xF4, 0x2D, 0x9F, 0x2B, 0x69, 0xB3, 0xC5, 0x16, 0x9B, 0xB6, 0xBF, 0x7F, - 0x66, 0xBA, 0x9C, 0xC5, 0x43, 0xFA, 0x55, 0xF4, 0xBC, 0x5D, 0x73, 0x6A, 0x3D, 0xC4, 0x72, 0xCD, - 0x8A, 0x7A, 0x7E, 0x75, 0xD2, 0x14, 0x10, 0xAB, 0xC6, 0xA8, 0x46, 0x4D, 0x25, 0xB9, 0x0F, 0xC5, - 0xAB, 0xE8, 0x78, 0x1C, 0xAE, 0xD9, 0x02, 0x7E, 0xC0, 0xA7, 0xE3, 0x34, 0x1B, 0x1D, 0x78, 0xF2, - 0x9B, 0xFA, 0x33, 0x57, 0x3A, 0x82, 0x93, 0x8A, 0xF6, 0xFC, 0x38, 0xB4, 0x71, 0x0A, 0x6A, 0x08, - 0x65, 0xB0, 0x16, 0x00, 0xA1, 0x88, 0xD6, 0x50, 0x4E, 0xF9, 0xA6, 0xFF, 0xE7, 0x9C, 0x28, 0xE4, - 0x79, 0x08, 0x50, 0x92, 0x3A, 0xF8, 0x57, 0x2E, 0x9A, 0x34, 0xF7, 0xE4, 0x4D, 0x5E, 0x92, 0x38, - 0x27, 0xAF, 0x85, 0xAF, 0x0A, 0x48, 0xA5, 0xB4, 0x9E, 0xB0, 0x8F, 0x34, 0xB2, 0xC6, 0x65, 0x65, - 0xBF, 0xC3, 0x8B, 0xDB, 0x76, 0xCA, 0x05, 0xA9, 0x9B, 0xC7, 0x3F, 0x34, 0x09, 0x3C, 0xAA, 0xFF, - 0x0D, 0xC8, 0xD7, 0xD1, 0x3E, 0xAC, 0xA3, 0x95, 0x69, 0x93, 0x37, 0x7A, 0xAF, 0xB2, 0xB1, 0x41, - 0x04, 0xA9, 0x1F, 0xBE, 0xAA, 0x2C, 0xF0, 0xB8, 0x48, 0x4C, 0x1B, 0x7D, 0x92, 0xF4, 0xFC, 0x45, - 0x01, 0xF5, 0x2F, 0x69, 0x82, 0x07, 0xAC, 0xEC, 0x4A, 0xA9, 0xE0, 0xED, 0xA6, 0x6D, 0xAD, 0x1D, - 0x43, 0xF0, 0x4E, 0x8D, 0x28, 0x1D, 0x3E, 0x4F, 0x4B, 0x6F, 0x4B, 0xAA, 0x2E, 0xF6, 0xA8, 0x83, - 0x86, 0xD5, 0x9E, 0x07, 0x76, 0x7C, 0x81, 0x68, 0x33, 0x87, 0xA9, 0xA7, 0x7D, 0x53, 0x3B, 0x0C, - 0xEC, 0xA1, 0x29, 0xDE, 0x16, 0xE6, 0x28, 0xFA, 0x97, 0x6F, 0xB4, 0xE4, 0x62, 0x67, 0xCA, 0xEB, - 0xC3, 0x4D, 0x06, 0xFD, 0x31, 0xB6, 0x06, 0x03, 0x32, 0x51, 0xCE, 0x76, 0x0E, 0x4A, 0x60, 0x16, - 0x13, 0x94, 0xE1, 0xB9, 0x3A, 0xDD, 0xCA, 0x11, 0x23, 0x55, 0xA1, 0x6C, 0x25, 0x17, 0x15, 0x24, - 0xE1, 0xEC, 0xB8, 0xF0, 0xF7, 0x34, 0x84, 0xFA, 0x49, 0x96, 0x83, 0x79, 0x18, 0x90, 0x29, 0xC0, - 0xD3, 0x07, 0x98, 0x17, 0xA7, 0x25, 0x50, 0x93, 0x76, 0xB3, 0x14, 0x22, 0x19, 0x74, 0x8A, 0x02, - 0xA8, 0x8F, 0xD5, 0x8C, 0x77, 0xCB, 0x16, 0xC3, 0xC2, 0xEC, 0x1C, 0x19, 0x5C, 0x1A, 0xF2, 0x35, - 0x26, 0x69, 0x3F, 0xA9, 0xD9, 0xD5, 0x0E, 0xC3, 0x3E, 0x2E, 0x91, 0xA9, 0x1B, 0xA4, 0x6A, 0xA1, - 0x42, 0xCD, 0x3B, 0xF3, 0x1C, 0x7A, 0xF2, 0x75, 0x47, 0xE8, 0xA2, 0x26, 0x56, 0x47, 0x3C, 0x14, - 0x64, 0x82, 0xE7, 0x67, 0xB1, 0x25, 0x96, 0x7C, 0x21, 0x8D, 0xFB, 0x01, 0xF2, 0xAD, 0x86, 0x0F, - 0xD9, 0x3F, 0xE3, 0xED, 0xE6, 0x6A, 0x1F, 0x2B, 0x3A, 0xAD, 0x75, 0x05, 0xAA, 0x5C, 0xB0, 0x6C, - 0x6A, 0x18, 0x24, 0x91, 0x5B, 0x7A, 0x78, 0x20, 0xFD, 0x21, 0xBA, 0x22, 0xCB, 0x12, 0xEB, 0xD7, - 0x95, 0x7C, 0x1D, 0x08, 0xE4, 0xB6, 0xCD, 0xBB, 0x13, 0x5D, 0x8B, 0xC4, 0xA6, 0x03, 0xA6, 0x70, - 0xCF, 0x55, 0xEF, 0x94, 0x8B, 0xBB, 0x85, 0xB6, 0xFE, 0x45, 0x69, 0xD0, 0x9C, 0x18, 0xC8, 0x6B, - 0x2E, 0x5F, 0x03, 0x21, 0x29, 0xAA, 0x72, 0xAC, 0x22, 0x97, 0xBD, 0xE1, 0x5C, 0x8D, 0x58, 0xD5, - 0xF1, 0xA7, 0x86, 0x96, 0xEA, 0xB7, 0x25, 0x42, 0xBB, 0x2E, 0xE9, 0xB8, 0xAF, 0x76, 0xB4, 0xC5, - 0x56, 0xD3, 0x48, 0xE9, 0x5D, 0xBF, 0x5B, 0x2F, 0x7F, 0xF5, 0x0C, 0x62, 0x5F, 0x6B, 0x86, 0x06, - 0x2F, 0xA1, 0x19, 0xB1, 0x5E, 0x18, 0x45, 0xC8, 0xE3, 0xCB, 0xC8, 0x40, 0xFB, 0x3D, 0x71, 0x60, - 0xD2, 0x8E, 0x0E, 0x4B, 0x4A, 0x2C, 0x99, 0x7D, 0xDC, 0x02, 0x79, 0xE3, 0xDA, 0x0E, 0x93, 0xD3, - 0xE5, 0x4D, 0xB7, 0x05, 0xAF, 0xB8, 0x6F, 0xE5, 0x2B, 0x43, 0x80, 0x7D, 0x92, 0xE8, 0x45, 0x92, - 0xFE, 0x8F, 0x8A, 0x34, 0x20, 0x30, 0x84, 0xFE, 0x18, 0xE9, 0xC9, 0x53, 0x82, 0xA5, 0x61, 0x4C, - 0x29, 0x19, 0x62, 0xB6, 0xF2, 0x39, 0x77, 0x19, 0xA7, 0x03, 0x54, 0xD6, 0xA4, 0x8C, 0x7F, 0x2B, - 0xF6, 0x2C, 0x0D, 0x1E, 0x54, 0x11, 0x0D, 0x65, 0xB9, 0x1F, 0x0C, 0x27, 0x2E, 0xE7, 0xDB, 0xF6, - 0x4C, 0xB8, 0xF1, 0x1A, 0x36, 0x39, 0xBB, 0x23, 0x4C, 0xA5, 0x7A, 0xBE, 0x77, 0x56, 0x25, 0xB6, - 0xD3, 0x10, 0xA0, 0x2F, 0xE5, 0x43, 0xA3, 0x2C, 0xF0, 0x0E, 0x65, 0x76, 0x8C, 0x6E, 0x57, 0x8E, - 0xAD, 0xAC, 0x20, 0x25, 0x6F, 0x7C, 0xD9, 0xE0, 0x84, 0x2C, 0xFC, 0xB4, 0x4F, 0x16, 0xDA, 0xBD, - 0xDC, 0x5A, 0xF9, 0x1C, 0x66, 0x8C, 0xC8, 0x13, 0xBB, 0x27, 0xDD, 0x5C, 0x6E, 0x4B, 0x6B, 0xE6, - 0x49, 0x56, 0x04, 0xC0, 0xA3, 0x9B, 0xEF, 0x93, 0xBB, 0xE2, 0x22, 0x82, 0xFE, 0x01, 0x37, 0xBE, - 0x89, 0x5A, 0x6E, 0x07, 0x65, 0x40, 0x40, 0x86, 0xBA, 0x22, 0x7E, 0x82, 0x8A, 0xED, 0xDF, 0xE3, - 0xBF, 0x2D, 0x14, 0x50, 0x7B, 0xD7, 0x59, 0x95, 0xC7, 0x72, 0xD1, 0x2D, 0x4F, 0x7B, 0xB3, 0x97, - 0x90, 0x87, 0x7D, 0x82, 0x81, 0x2C, 0x58, 0x0A, 0xC8, 0xF4, 0xE2, 0x50, 0xDE, 0xA0, 0x9F, 0x16, - 0x78, 0x23, 0x2E, 0xF0, 0xE6, 0xE9, 0x30, 0xA8, 0xCF, 0xB4, 0x73, 0x2B, 0x02, 0xE3, 0xFB, 0xED, - 0xC2, 0xC2, 0x22, 0x8E, 0x53, 0x65, 0x3E, 0xBC, 0x9B, 0xAF, 0xD8, 0xCD, 0x87, 0x14, 0x39, 0xE9, - 0x47, 0xFA, 0x5A, 0x51, 0x4D, 0xBF, 0x5B, 0xAB, 0xEE, 0x42, 0xCE, 0x6B, 0x71, 0xDF, 0xEB, 0x6C, - 0xB5, 0xFB, 0xCB, 0x56, 0x2E, 0xEA, 0x1A, 0x8A, 0xD3, 0x8E, 0x7F, 0x88, 0x24, 0x1C, 0xD2, 0x6C, - 0x6D, 0x58, 0x49, 0x81, 0x9F, 0x05, 0x9D, 0x6F, 0x5F, 0xD9, 0x04, 0x5B, 0xC4, 0x3C, 0x9E, 0x72, - 0x6A, 0x3B, 0x21, 0xE8, 0x00, 0x31, 0xA9, 0xA8, 0xA9, 0x69, 0x06, 0xD0, 0x95, 0x46, 0xE8, 0x74, - 0xAF, 0xE6, 0xEE, 0x10, 0xE1, 0x0F, 0xE0, 0x2A, 0x0B, 0xEF, 0x13, 0x88, 0x39, 0xEA, 0x11, 0x50, - 0x38, 0x1E, 0x3F, 0xA4, 0x53, 0xCA, 0xAA, 0x4A, 0xF4, 0x9A, 0x4D, 0xDA, 0x0C, 0x76, 0xF5, 0x4D, - 0xD5, 0x25, 0x17, 0xEC, 0x48, 0x3D, 0x87, 0xBF, 0x29, 0xC2, 0x5F, 0xED, 0xD3, 0x05, 0x08, 0x32, - 0x1B, 0x51, 0x3D, 0xAE, 0xF7, 0x96, 0xCB, 0x27, 0xCA, 0x4F, 0x15, 0x70, 0x01, 0xC4, 0xD0, 0xAE, - 0xB9, 0x6C, 0x60, 0x9F, 0xAA, 0x64, 0xF5, 0x75, 0xB9, 0xBD, 0x86, 0xBF, 0x7E, 0x07, 0x28, 0x83, - 0xEB, 0x4F, 0x16, 0x22, 0xF0, 0xA1, 0x97, 0xAE, 0xB5, 0xA2, 0x1D, 0x89, 0x3A, 0xD0, 0xB6, 0x99, - 0x8B, 0x26, 0x22, 0x7D, 0xF6, 0x8B, 0x63, 0xC2, 0x7C, 0xE4, 0xBE, 0x4C, 0x4B, 0x37, 0xCF, 0x84, - 0x03, 0x6C, 0x33, 0x1C, 0x3A, 0xF4, 0x02, 0xA4, 0x8C, 0x28, 0x98, 0xCD, 0xDC, 0xE6, 0x38, 0x3B, - 0x48, 0xBD, 0x1A, 0xF1, 0x3B, 0xCF, 0xCF, 0xD1, 0x15, 0x01, 0xCD, 0xB1, 0xDD, 0x17, 0xEA, 0x59, - 0xF0, 0xA0, 0xAB, 0x24, 0xE3, 0xFA, 0x55, 0x3F, 0x7C, 0x8B, 0x4A, 0x26, 0xD6, 0x1E, 0xFF, 0x54, - 0x2E, 0xFC, 0xC4, 0x0C, 0x5F, 0x59, 0x68, 0x91, 0x38, 0x92, 0xEC, 0x47, 0x98, 0x26, 0xBE, 0x45, - 0x8F, 0x48, 0xC8, 0xCF, 0x56, 0x6C, 0xB0, 0x2C, 0x6C, 0xE3, 0x3F, 0x70, 0x14, 0xE9, 0xFE, 0x47, - 0xAE, 0x64, 0x38, 0x5C, 0x9B, 0xD1, 0xF7, 0x54, 0x4C, 0x0B, 0xB7, 0x89, 0xF8, 0xDA, 0xBE, 0x04, - 0x20, 0xCC, 0x9F, 0xAA, 0xDC, 0x5D, 0x96, 0x47, 0x42, 0x42, 0xFD, 0x3C, 0xC3, 0x24, 0xA4, 0x52, - 0x7D, 0x24, 0xC2, 0xEB, 0x76, 0x24, 0xF9, 0x4D, 0x03, 0xE2, 0x31, 0xCF, 0x81, 0xF4, 0x95, 0x40, - 0x43, 0x1D, 0xE7, 0x24, 0x16, 0x88, 0x23, 0xD1, 0xB0, 0x44, 0x67, 0x97, 0xF4, 0xE4, 0x55, 0x1E, - 0xA7, 0xC5, 0xF0, 0x9C, 0x54, 0xD2, 0xB4, 0x78, 0x17, 0x9A, 0xB3, 0xE0, 0x02, 0xD6, 0x00, 0x89, - 0x93, 0x05, 0x54, 0x4B, 0x62, 0xF3, 0xA6, 0xBA, 0xCB, 0xDC, 0x39, 0x1C, 0xB8, 0x11, 0xA6, 0xA0, - 0x2D, 0x54, 0x29, 0x52, 0x90, 0x1F, 0x2B, 0xBA, 0xF2, 0x60, 0x21, 0x48, 0xC9, 0x9F, 0xEA, 0x4D, - 0x9A, 0xE5, 0xC0, 0xE9, 0x63, 0xF8, 0xCC, 0x87, 0xA0, 0xC1, 0xA1, 0x13, 0x0C, 0x53, 0xC1, 0x65, - 0x70, 0x09, 0x26, 0x98, 0xAF, 0x7C, 0x95, 0xAA, 0x6E, 0xFB, 0xC5, 0xF2, 0xBC, 0x75, 0xCD, 0x20, - 0x25, 0xF7, 0xDD, 0x5F, 0xAA, 0x7B, 0x8D, 0xA2, 0x07, 0x6F, 0x4F, 0x02, 0x9E, 0x5D, 0xA9, 0x4E, - 0x6B, 0xA3, 0x3A, 0x43, 0xF4, 0xDD, 0x42, 0x77, 0x12, 0x02, 0x28, 0x59, 0xCB, 0xEE, 0xEC, 0xCC, - 0x2F, 0x07, 0xDE, 0x9C, 0xCD, 0x16, 0x5E, 0xDE, 0xF9, 0x45, 0xB2, 0xD3, 0x03, 0xF8, 0xC0, 0x5D, - 0x34, 0x10, 0x8D, 0x92, 0x27, 0x07, 0xBC, 0x31, 0x75, 0x4A, 0xFA, 0x7C, 0x4B, 0xA2, 0x59, 0x15, - 0x41, 0x6F, 0x47, 0x84, 0x71, 0x7C, 0xDE, 0x15, 0x70, 0x29, 0x12, 0x82, 0x5F, 0xC6, 0x87, 0x18, - 0xBA, 0xE5, 0xC1, 0xB4, 0xFA, 0x56, 0x8A, 0xAB, 0xA4, 0x5F, 0x45, 0x29, 0xE2, 0x19, 0x15, 0x54, - 0x0A, 0x66, 0x84, 0xDD, 0x74, 0x49, 0xFF, 0x8B, 0xA0, 0x9A, 0x72, 0x67, 0xBE, 0x18, 0x80, 0xD9, - 0x5C, 0x3E, 0x7B, 0x10, 0x07, 0x06, 0x3B, 0xA2, 0xC6, 0xC2, 0x6C, 0xDE, 0x2D, 0x61, 0xF2, 0x5F, - 0x81, 0x4F, 0x65, 0x40, 0x2B, 0x57, 0xF2, 0x68, 0x5B, 0xBB, 0xA8, 0xC2, 0xAE, 0xCA, 0x46, 0xAE, - 0x57, 0xD2, 0x64, 0xC5, 0xA1, 0xC3, 0x82, 0x27, 0x8F, 0xD3, 0x66, 0x6F, 0x91, 0xFB, 0x1A, 0xF8, - 0x8E, 0x4D, 0x6F, 0x16, 0x89, 0x74, 0x71, 0x82, 0x82, 0xFB, 0x27, 0x98, 0x08, 0xBD, 0x22, 0x92, - 0xF3, 0xB5, 0x03, 0xD7, 0x35, 0xBA, 0x44, 0x9C, 0x02, 0x7D, 0x62, 0xC9, 0xE4, 0x51, 0x72, 0x61, - 0x3D, 0xBD, 0xBE, 0x4C, 0x0B, 0x28, 0x0F, 0xF4, 0xC3, 0xB9, 0xA4, 0xDE, 0x64, 0xAC, 0xA0, 0x00, - 0x2A, 0x18, 0xB0, 0x66, 0x3E, 0xBB, 0xD4, 0xDA, 0x06, 0xE3, 0x35, 0x99, 0x73, 0x9C, 0xAB, 0x7C, - 0x69, 0x7A, 0x9B, 0x36, 0x67, 0x96, 0xC0, 0x69, 0x77, 0x50, 0x60, 0x5D, 0xCE, 0x4E, 0x9D, 0xBA, - 0xAB, 0xC0, 0x5E, 0x78, 0x5D, 0xDA, 0x91, 0x26, 0x28, 0x2D, 0xE1, 0x34, 0xC9, 0x52, 0x4B, 0x15, - 0x0B, 0xBC, 0x9F, 0xBC, 0x3D, 0x87, 0x08, 0x1C, 0x9F, 0x04, 0x32, 0x9D, 0x87, 0x88, 0xE2, 0xEF, - 0xF1, 0x13, 0x43, 0x6A, 0x5E, 0x1C, 0xB8, 0x02, 0xE6, 0xCB, 0x92, 0xB1, 0xB2, 0x10, 0x7C, 0xD7, - 0xC3, 0x58, 0x30, 0xBA, 0xD2, 0x72, 0x2C, 0xCE, 0x87, 0xAE, 0xC7, 0x2F, 0xD2, 0x33, 0xEB, 0x2E, - 0x85, 0xBF, 0xF5, 0x20, 0xB5, 0x0D, 0x00, 0x8B, 0x06, 0x3B, 0x94, 0x02, 0xE3, 0x3A, 0x3B, 0xF7, - 0xC1, 0x89, 0xC8, 0xED, 0x99, 0x02, 0x7C, 0xE9, 0xDF, 0xD0, 0x09, 0x72, 0x20, 0x74, 0xD2, 0x0B, - 0x5A, 0x91, 0x13, 0x9F, 0x6B, 0xD9, 0xD7, 0xA5, 0x7F, 0x8F, 0x9B, 0xB4, 0x02, 0x36, 0x02, 0x4B, - 0x50, 0x7B, 0x84, 0x38, 0x85, 0xD6, 0x83, 0x2F, 0x6B, 0xC9, 0x1F, 0x66, 0x93, 0xDB, 0xB4, 0x17, - 0x64, 0x1A, 0xAD, 0x0D, 0x25, 0x09, 0x9E, 0xBD, 0xE6, 0x17, 0xB6, 0x7F, 0xCE, 0xB1, 0x42, 0x12, - 0x20, 0x2D, 0x98, 0x45, 0x17, 0x9A, 0xE6, 0x0C, 0x26, 0xFC, 0x8C, 0x5D, 0x7B, 0xA5, 0x09, 0x05, - 0x93, 0xFF, 0xE8, 0x47, 0xFB, 0x51, 0x81, 0x73, 0x5A, 0xC6, 0x43, 0xC9, 0xB0, 0xEB, 0xC5, 0xC6, - 0x6C, 0x2B, 0xF9, 0x37, 0x91, 0x5B, 0x34, 0x55, 0x6F, 0x34, 0x72, 0xA5, 0xEF, 0xFA, 0x70, 0x8F, - 0x36, 0xF8, 0x29, 0x72, 0x93, 0xBE, 0x7C, 0xE1, 0x13, 0xC7, 0x90, 0x6A, 0xBE, 0xE1, 0x08, 0x60, - 0xD7, 0x46, 0xEC, 0xA6, 0xA6, 0xAA, 0x8B, 0x71, 0x02, 0x1A, 0x44, 0xA2, 0x7E, 0x74, 0x43, 0x99, - 0x08, 0x31, 0x24, 0x06, 0xB4, 0x49, 0xDC, 0x4C, 0x86, 0x25, 0x10, 0xE8, 0x50, 0x8F, 0x73, 0x56, - 0xAF, 0x87, 0xC5, 0xA0, 0x3B, 0xF9, 0xA2, 0xE2, 0xA7, 0x39, 0xF5, 0xAA, 0x09, 0x92, 0x38, 0x21, - 0xD6, 0xB2, 0x47, 0x6A, 0xA2, 0xD8, 0xBC, 0x22, 0x5B, 0xCC, 0x31, 0x06, 0x84, 0xC4, 0x11, 0x3E, - 0x3A, 0xED, 0x17, 0x3A, 0xC6, 0xEE, 0xFF, 0xC6, 0x39, 0x64, 0x37, 0x39, 0x43, 0xB3, 0x45, 0x5C, - 0xEA, 0xBC, 0x89, 0xE6, 0x43, 0xE7, 0x33, 0x06, 0xDE, 0x69, 0x58, 0xF2, 0x10, 0xEE, 0xDB, 0xF5, - 0x18, 0xEB, 0x71, 0x2E, 0x6A, 0x5F, 0x7D, 0x02, 0x46, 0xB1, 0x7A, 0x38, 0x2B, 0x69, 0x52, 0x6B, - 0x2A, 0xC0, 0x2F, 0xEF, 0x70, 0x10, 0xA9, 0x41, 0x26, 0x3A, 0xED, 0xE6, 0x5D, 0x8D, 0x60, 0xCF, - 0x51, 0x15, 0x70, 0xAF, 0xE7, 0x39, 0xEF, 0xBB, 0xC5, 0xB3, 0xE5, 0xB0, 0xE2, 0xE3, 0xEC, 0x7C, - 0xDF, 0xD0, 0x35, 0x40, 0x38, 0x2D, 0xF7, 0x34, 0x7D, 0xB7, 0x68, 0xF9, 0x4E, 0x5D, 0xED, 0x11, - 0xBB, 0xAE, 0x5A, 0xA3, 0xBE, 0x8F, 0x0B, 0x16, 0x05, 0x9F, 0x5B, 0xE6, 0xB8, 0xBE, 0xFF, 0x41, - 0x9D, 0x34, 0x56, 0xFA, 0x53, 0x50, 0x6F, 0x51, 0x3A, 0x67, 0x02, 0x62, 0x1A, 0x54, 0xC6, 0x70, - 0xDE, 0x87, 0x26, 0xCB, 0xE7, 0x81, 0x5C, 0xDF, 0xF7, 0x55, 0x76, 0xB4, 0x9A, 0x3F, 0x07, 0x17, - 0x46, 0xEE, 0xFB, 0x58, 0xC7, 0xFD, 0xFC, 0x1F, 0x8F, 0x1C, 0xC6, 0xE5, 0x1E, 0xC5, 0xA8, 0x51, - 0xF4, 0x3C, 0x99, 0xFD, 0x96, 0xFC, 0x5A, 0x5E, 0xD2, 0xD9, 0xCE, 0xED, 0xD0, 0x4B, 0xCE, 0x88, - 0xFD, 0xA1, 0xED, 0x79, 0x17, 0xEC, 0x09, 0x2B, 0xF0, 0x4B, 0xE2, 0xF3, 0x08, 0x0D, 0xBC, 0x09, - 0xF8, 0xA4, 0x5E, 0x2C, 0x80, 0x8A, 0x55, 0x23, 0xF5, 0x17, 0x19, 0x6F, 0x90, 0x94, 0x03, 0x9F, - 0xBA, 0x1F, 0x58, 0x93, 0xB0, 0xCA, 0xC7, 0xAF, 0x62, 0x58, 0xB2, 0x5B, 0x66, 0x0F, 0x67, 0x53, - 0x7F, 0xAB, 0xD8, 0xB7, 0x61, 0xEB, 0x78, 0x41, 0x30, 0x55, 0x50, 0xD6, 0xAA, 0xAA, 0x6F, 0x49, - 0x15, 0xEC, 0x4E, 0xB8, 0x7E, 0x36, 0xD1, 0x96, 0x06, 0x4B, 0x4D, 0xEE, 0xE6, 0x9E, 0x07, 0x5E, - 0x35, 0xAF, 0xE5, 0x1A, 0x1E, 0x0B, 0xA8, 0x86, 0xEC, 0x0D, 0x4C, 0x7A, 0xC4, 0x99, 0xAF, 0xE9, - 0x04, 0x50, 0x08, 0x99, 0x52, 0x17, 0x66, 0xB6, 0x7F, 0x8B, 0x3C, 0x5A, 0x79, 0x4F, 0x5D, 0xC8, - 0x9F, 0x41, 0x1F, 0xB5, 0x44, 0x94, 0xAC, 0xDE, 0xC8, 0x3B, 0x8A, 0xAF, 0x2C, 0x3D, 0xE2, 0xF3, - 0x73, 0x0C, 0x4D, 0x9D, 0xA4, 0x40, 0xE9, 0x16, 0xCD, 0xC1, 0xBF, 0xA0, 0x80, 0x40, 0x1A, 0x75, - 0x52, 0x79, 0xBE, 0xB1, 0x04, 0x0E, 0xFB, 0x1C, 0x12, 0x2C, 0x1A, 0xFF, 0xED, 0xE4, 0x51, 0xCA, - 0x62, 0x0B, 0xB9, 0x78, 0x7A, 0xFA, 0x6A, 0x45, 0xC4, 0x0B, 0xC1, 0xB9, 0x7F, 0xF3, 0x21, 0x4A, - 0x9C, 0xF6, 0x57, 0xDC, 0xB4, 0x14, 0x2F, 0x4A, 0x66, 0x0D, 0x5F, 0x19, 0x50, 0x65, 0xE1, 0x06, - 0x80, 0xF8, 0xDA, 0x39, 0x24, 0xB7, 0xAE, 0x39, 0xEE, 0x7D, 0x0E, 0xBC, 0xB5, 0xA7, 0xA2, 0xC3, - 0xCF, 0xE5, 0x73, 0x36, 0x72, 0xC4, 0xEC, 0xE8, 0x26, 0x5E, 0x21, 0xE8, 0x7D, 0x87, 0xCC, 0x27, - 0x85, 0xB0, 0x9E, 0x9F, 0xEC, 0x17, 0x13, 0xCD, 0x2C, 0x67, 0x06, 0x2C, 0x18, 0x12, 0xA7, 0xF5, - 0xB5, 0x33, 0xA0, 0xB9, 0x51, 0xAD, 0x1F, 0x3A, 0xA1, 0xB1, 0x97, 0x1C, 0x7C, 0x71, 0x16, 0x03, - 0x23, 0x7E, 0x61, 0xC9, 0x1F, 0xB2, 0xB0, 0x32, 0x7D, 0x60, 0x8E, 0x87, 0x96, 0x47, 0x1B, 0x3F, - 0x2D, 0x5A, 0x3D, 0x25, 0x3E, 0x46, 0xBD, 0x99, 0x6E, 0xB8, 0xFE, 0x8A, 0xE2, 0xB6, 0x80, 0xA5, - 0x6E, 0x67, 0xC6, 0x70, 0xF7, 0x49, 0x2C, 0x95, 0xE6, 0xA2, 0x96, 0x43, 0xDB, 0x5E, 0x8B, 0x2F, - 0x11, 0x97, 0xEF, 0xAD, 0x44, 0x68, 0x00, 0x0F, 0xB0, 0xCE, 0x95, 0x39, 0x63, 0x89, 0x14, 0x5B, - 0xDA, 0xA9, 0xB8, 0x0F, 0xCC, 0xF3, 0x16, 0x9E, 0xFF, 0x5D, 0xF0, 0x17, 0x2C, 0x0C, 0x57, 0xE3, - 0x26, 0x04, 0x45, 0x0F, 0xD4, 0xD7, 0x4E, 0x66, 0x1F, 0xCF, 0xA1, 0x11, 0x8C, 0x2B, 0x35, 0x66, - 0xC0, 0xE3, 0x69, 0xDB, 0xBE, 0x84, 0xB7, 0xDC, 0x2F, 0x8B, 0x57, 0xDA, 0x56, 0x1C, 0x22, 0x85, - 0x42, 0x11, 0x2B, 0x55, 0x9C, 0x2F, 0x9A, 0x6B, 0x1E, 0xF6, 0xB9, 0xBB, 0xBE, 0xE7, 0xE5, 0x87, - 0x6B, 0x7D, 0x52, 0xA3, 0x46, 0x9A, 0x07, 0xCF, 0xCF, 0x14, 0x4A, 0x47, 0xD4, 0x30, 0x98, 0xCF, - 0x98, 0x38, 0x44, 0x02, 0x61, 0x43, 0xB4, 0x97, 0xC8, 0xCA, 0x75, 0xD4, 0x3D, 0x82, 0x45, 0xE0, - 0x29, 0x2C, 0x32, 0x36, 0x36, 0xB4, 0xC2, 0xEA, 0x0C, 0x25, 0xC3, 0xC9, 0x68, 0x38, 0x59, 0xBA, - 0xD8, 0x8C, 0xC7, 0x44, 0x69, 0x2D, 0x32, 0xB7, 0x65, 0x6C, 0x17, 0x71, 0xC9, 0x63, 0xB7, 0x93, - 0xA0, 0x12, 0xE1, 0xEC, 0xF7, 0xB1, 0xAB, 0xF9, 0xCC, 0xA8, 0x6D, 0xA6, 0x10, 0x1D, 0x1F, 0xA6, - 0xF9, 0x44, 0x7A, 0x76, 0x1F, 0xD7, 0x70, 0xFE, 0x09, 0x54, 0xAD, 0x51, 0x2F, 0x45, 0x5D, 0xAB, - 0x1E, 0x32, 0x30, 0x3E, 0x63, 0x05, 0xD3, 0xF8, 0xA8, 0xC8, 0x59, 0x3B, 0x55, 0x25, 0xE7, 0x09, - 0xD9, 0xB8, 0xA1, 0xED, 0x5A, 0x29, 0x03, 0x79, 0x34, 0x3D, 0x01, 0x18, 0x4D, 0x86, 0xEA, 0xF9, - 0x28, 0x3A, 0x1B, 0xE1, 0x04, 0xE1, 0x56, 0xBF, 0xD0, 0x8B, 0xCC, 0x76, 0x1D, 0xCD, 0xDF, 0x4C, - 0xE8, 0x6C, 0x56, 0x57, 0x32, 0x91, 0x22, 0xCF, 0x0F, 0xC8, 0xA6, 0x95, 0xB2, 0xE0, 0x50, 0x63, - 0xD0, 0x9C, 0xCB, 0x70, 0xFF, 0x52, 0x84, 0xAC, 0xE8, 0xEA, 0x9B, 0x09, 0x30, 0x3E, 0x8C, 0x90, - 0x14, 0xFE, 0xB0, 0xC2, 0xCB, 0x95, 0x79, 0x85, 0x27, 0xE8, 0x39, 0xE5, 0x40, 0x60, 0xDD, 0x66, - 0x27, 0xC9, 0x26, 0xF2, 0x8B, 0xB6, 0xF1, 0x29, 0x20, 0x2D, 0x7E, 0x65, 0x5B, 0x41, 0xAC, 0xE1, - 0xF2, 0x86, 0x28, 0x76, 0xA4, 0xDC, 0xCA, 0x37, 0x61, 0x40, 0x53, 0xEF, 0x1B, 0xA3, 0xBD, 0x91, - 0xD2, 0x06, 0x43, 0x27, 0x54, 0xF2, 0xB1, 0x17, 0xD3, 0x24, 0xD4, 0x01, 0x4A, 0x7B, 0xCC, 0x4C, - 0x24, 0x97, 0xD6, 0x16, 0x16, 0xFB, 0xDD, 0x4A, 0x4E, 0x94, 0x2E, 0x73, 0x2B, 0x61, 0x77, 0x39, - 0x88, 0xD7, 0x42, 0x6E, 0xB8, 0xC8, 0xC8, 0xF2, 0xA8, 0xAD, 0x67, 0x33, 0xF0, 0xA4, 0x2D, 0x45, - 0xCB, 0x8C, 0x55, 0xFC, 0xB4, 0xC0, 0x91, 0xC8, 0xBE, 0x03, 0x49, 0x6D, 0x02, 0x1B, 0xC6, 0x93, - 0xB8, 0x2A, 0xE2, 0x6C, 0xE0, 0x84, 0x83, 0x3B, 0xB5, 0x7B, 0x64, 0x28, 0x14, 0xF6, 0xE6, 0x43, - 0xC9, 0x53, 0x8E, 0xC7, 0xDC, 0x29, 0x48, 0x4F, 0xAF, 0x85, 0x3B, 0x32, 0x9A, 0x77, 0x38, 0xE8, - 0x0A, 0x38, 0x29, 0x4B, 0x07, 0xF9, 0xDB, 0x84, 0x32, 0xFC, 0x05, 0xB4, 0xB4, 0xD5, 0xA7, 0xC3, - 0xAA, 0xEB, 0xBB, 0x78, 0x5B, 0x3F, 0x2D, 0x89, 0x99, 0x5E, 0x2F, 0x2F, 0x19, 0xF5, 0x5A, 0x04, - 0xE1, 0xE6, 0xFF, 0x3E, 0x1F, 0xAB, 0xE0, 0x11, 0xDF, 0x8D, 0x7A, 0xA4, 0xAC, 0x04, 0x3B, 0x66, - 0x69, 0x67, 0x8E, 0xEE, 0xA8, 0xDF, 0x81, 0x37, 0xE9, 0x40, 0x5C, 0x65, 0xF4, 0xD5, 0x8D, 0x17, - 0x09, 0x75, 0x8A, 0xA5, 0x62, 0x0F, 0x75, 0x9A, 0x37, 0xAF, 0xFF, 0x6A, 0xB9, 0x32, 0x82, 0x00, - 0x4C, 0x81, 0x7A, 0xE0, 0x6D, 0x24, 0x15, 0xEE, 0x35, 0xBD, 0x55, 0xB6, 0xB4, 0x38, 0x4D, 0x90, - 0x6D, 0x3C, 0x7C, 0x13, 0xB1, 0x9E, 0x52, 0x76, 0x51, 0xAA, 0xDD, 0x73, 0xEA, 0x0B, 0x90, 0xEC, - 0xCC, 0xF1, 0xF5, 0x4F, 0x05, 0x02, 0x8A, 0xB3, 0x90, 0xF5, 0x0E, 0x9B, 0x55, 0xC4, 0xFE, 0x11, - 0x12, 0x03, 0x19, 0xA3, 0x79, 0xD5, 0xB7, 0x59, 0x75, 0xE2, 0xA8, 0xA6, 0xCD, 0xFC, 0x23, 0x44, - 0x4D, 0x25, 0x85, 0xFF, 0xD5, 0x8D, 0x02, 0x55, 0x46, 0xE9, 0xF1, 0x3E, 0xFC, 0x08, 0x48, 0xFE, - 0x88, 0x7D, 0x4A, 0x4F, 0x91, 0x9C, 0x4B, 0x95, 0x5D, 0x33, 0xE4, 0xE0, 0x86, 0xA4, 0xE3, 0x17, - 0x8F, 0xA1, 0x51, 0x78, 0x4B, 0xDC, 0x7F, 0xF5, 0x59, 0xDF, 0xE6, 0x2A, 0x4A, 0xDE, 0x22, 0x94, - 0x57, 0x17, 0x3A, 0x94, 0x68, 0xBB, 0xF8, 0xED, 0x44, 0x24, 0x9D, 0xF8, 0xD2, 0xFE, 0x6D, 0xF1, - 0x5B, 0x8B, 0x08, 0x3B, 0x37, 0x6D, 0x17, 0x09, 0x52, 0x38, 0x64, 0xB6, 0xF2, 0xE5, 0x68, 0xD6, - 0xF9, 0x75, 0xF7, 0x7E, 0x1E, 0x9D, 0x29, 0x11, 0x02, 0xFF, 0xF7, 0x56, 0x22, 0x26, 0x5C, 0xE8, - 0x37, 0x51, 0x94, 0xA4, 0x11, 0x52, 0x65, 0xB9, 0x48, 0x3C, 0xBD, 0xC8, 0xDF, 0xE7, 0x37, 0x93, - 0xDA, 0x1F, 0x92, 0x65, 0x14, 0x66, 0x48, 0x39, 0x0D, 0x3F, 0xAF, 0xD3, 0x9D, 0x94, 0x29, 0xB9, - 0x5D, 0x8B, 0x01, 0x4B, 0x72, 0x0A, 0xBB, 0xCF, 0x27, 0xAE, 0x33, 0x71, 0xF3, 0x99, 0x48, 0x63, - 0x6B, 0x16, 0xA2, 0xAA, 0x29, 0x57, 0xA2, 0xDD, 0x64, 0x53, 0x9C, 0xF0, 0x89, 0x0F, 0xF3, 0x57, - 0xAB, 0x7B, 0x83, 0xCE, 0x8F, 0x20, 0x0D, 0x7E, 0x84, 0x07, 0xC0, 0x22, 0x0C, 0xE3, 0x67, 0x88, - 0x3E, 0x5C, 0xBA, 0x13, 0xFF, 0x39, 0x2A, 0x12, 0x20, 0x0F, 0x3F, 0xEE, 0x2D, 0xA9, 0xD8, 0x7B, - 0xA5, 0x64, 0xDB, 0xF7, 0x04, 0x67, 0xB9, 0x95, 0xD3, 0x0B, 0x2C, 0xA0, 0xB0, 0x3D, 0x6F, 0x7E, - 0x20, 0xBB, 0x07, 0x0D, 0xF1, 0xAF, 0xDC, 0x4D, 0x7C, 0xF8, 0x3A, 0x18, 0xAD, 0xF6, 0x9C, 0x3A, - 0x9A, 0xD6, 0x14, 0x42, 0x04, 0x93, 0xD2, 0x54, 0xC1, 0x0E, 0x91, 0xEE, 0xDC, 0x01, 0xA4, 0xCC, - 0x72, 0x4A, 0xD3, 0xEA, 0xF6, 0x3D, 0xBA, 0xCC, 0xAB, 0x68, 0x00, 0x0C, 0x18, 0x42, 0x7D, 0xA1, - 0xCB, 0x1D, 0x7B, 0x5C, 0xE3, 0x7E, 0x95, 0xB9, 0xA6, 0x38, 0xB6, 0x98, 0x27, 0x6E, 0xD1, 0x86, - 0x1C, 0x42, 0xC9, 0x8C, 0x4E, 0xBB, 0x66, 0x96, 0x3F, 0x75, 0x2B, 0xA7, 0x4E, 0x47, 0x6A, 0xFF, - 0x07, 0xE9, 0xC4, 0x48, 0x78, 0xA1, 0x8D, 0x40, 0x05, 0x3B, 0x62, 0x46, 0x71, 0x0A, 0x5D, 0x46, - 0x30, 0x91, 0x34, 0xDA, 0x27, 0xD6, 0x7B, 0x1F, 0xE8, 0x37, 0x9B, 0xDE, 0x0F, 0xEC, 0xF7, 0x19, - 0x4F, 0x64, 0xB5, 0xFD, 0x82, 0x96, 0x3B, 0x90, 0x3A, 0xB3, 0x1E, 0x51, 0xD7, 0xF4, 0x5F, 0xBA, - 0x31, 0x30, 0x41, 0x54, 0x16, 0xE9, 0x41, 0xC5, 0x89, 0x1E, 0x87, 0x78, 0xF1, 0x8C, 0xD8, 0x23, - 0xAE, 0x4B, 0x0D, 0xE9, 0x51, 0x67, 0x59, 0x5F, 0x42, 0x58, 0x98, 0x54, 0x4D, 0xB4, 0xB8, 0x9B, - 0x14, 0xE0, 0x39, 0xCD, 0xF6, 0xC8, 0xEF, 0x51, 0x3D, 0x0C, 0xEE, 0xDC, 0x11, 0x05, 0x99, 0xF8, - 0x67, 0x60, 0x3B, 0x32, 0x1B, 0xE6, 0xE2, 0xEE, 0x66, 0xD2, 0x76, 0x54, 0xA9, 0xD8, 0x76, 0xF7, - 0x21, 0x84, 0x0A, 0xD0, 0x25, 0x1E, 0xCE, 0x64, 0xAE, 0x30, 0x25, 0x11, 0xD2, 0xD1, 0xE6, 0x56, - 0x13, 0xAD, 0x5B, 0xBA, 0x4D, 0x2E, 0x5A, 0x25, 0x68, 0x4D, 0x70, 0xF4, 0x8E, 0xF2, 0x0C, 0xDC, - 0xE9, 0x69, 0x97, 0xB6, 0x82, 0x2F, 0xEA, 0x64, 0x1E, 0xC9, 0xD0, 0x10, 0xCE, 0x6A, 0xDE, 0x20, - 0x86, 0xB2, 0xD0, 0x08, 0xC9, 0x9D, 0x7C, 0x7E, 0xCE, 0x4C, 0x54, 0x17, 0x05, 0x53, 0xC3, 0x4D, - 0xB2, 0xBF, 0xD3, 0x95, 0x69, 0xAC, 0x61, 0x98, 0x0E, 0x08, 0xFD, 0xB7, 0x93, 0x39, 0x51, 0x66, - 0xB8, 0x9E, 0xA4, 0x84, 0x52, 0xCE, 0x35, 0xC9, 0x47, 0xFA, 0x79, 0x22, 0x1C, 0xD4, 0x94, 0x7C, - 0x23, 0xC7, 0xBF, 0xE1, 0x98, 0x7C, 0x9E, 0x2E, 0xF5, 0xD4, 0xEB, 0x1F, 0x12, 0x96, 0x91, 0x0A, - 0x11, 0xF9, 0x57, 0x9D, 0x47, 0xF3, 0xA6, 0x7E, 0xF9, 0x65, 0x80, 0xAF, 0xD2, 0xB3, 0x91, 0xD8, - 0x6C, 0x91, 0x7F, 0x7D, 0x21, 0xE5, 0x93, 0x64, 0xAB, 0x56, 0xC5, 0xD1, 0x8A, 0x5F, 0xF3, 0x68, - 0xB5, 0x05, 0x30, 0xE8, 0x62, 0xA9, 0x60, 0x68, 0x7E, 0xB5, 0x84, 0xC6, 0xEA, 0x19, 0x8D, 0x02, - 0x63, 0x41, 0x32, 0x01, 0xD4, 0x72, 0x10, 0xF3, 0x6A, 0x7F, 0x4A, 0xE2, 0x86, 0x28, 0xEE, 0x33, - 0x49, 0xCA, 0xE1, 0x37, 0x77, 0x55, 0x73, 0x4F, 0x81, 0x40, 0x03, 0x53, 0x3A, 0xB0, 0xFA, 0xEB, - 0x8B, 0x1E, 0xA8, 0x8D, 0x91, 0x31, 0x22, 0xA0, 0xEE, 0x4D, 0x82, 0x0F, 0x5A, 0xAC, 0x71, 0x33, - 0xC8, 0xCC, 0x86, 0x6E, 0x01, 0x4D, 0x36, 0x43, 0x55, 0x7A, 0xD7, 0x4D, 0x5D, 0x7E, 0xA9, 0x16, - 0xDF, 0xCA, 0x52, 0xEF, 0xAE, 0x54, 0xED, 0x3B, 0x7C, 0xE2, 0x46, 0x81, 0x30, 0x4E, 0xAC, 0x0F, - 0xD6, 0x7D, 0x32, 0x57, 0x47, 0x55, 0x5E, 0x10, 0xFE, 0x16, 0x18, 0xBE, 0x0D, 0x40, 0x0E, 0x20, - 0xCD, 0x40, 0xE4, 0xE1, 0x92, 0x05, 0xBC, 0xC7, 0xF3, 0xD9, 0x50, 0xE7, 0xF5, 0x1A, 0x93, 0xA8, - 0x89, 0xAB, 0xE8, 0x9F, 0x70, 0xC2, 0xA0, 0x3B, 0x2C, 0x54, 0xCA, 0x7E, 0x8E, 0x0C, 0x74, 0xA2, - 0xC7, 0x5A, 0x76, 0x4C, 0x3A, 0x53, 0x6F, 0x36, 0xF5, 0xA8, 0xAD, 0x92, 0xF7, 0xBF, 0xDC, 0xD7, - 0xBE, 0xC1, 0x10, 0x62, 0xB3, 0xC4, 0xD9, 0x43, 0x12, 0x06, 0x8E, 0x56, 0xB7, 0x83, 0x0D, 0x4B, - 0xE8, 0x7D, 0xE6, 0x1A, 0x6E, 0x3B, 0x1D, 0x3B, 0xD8, 0x44, 0x90, 0x48, 0x0C, 0xFA, 0x02, 0xEF, - 0x58, 0x3E, 0xA9, 0x0D, 0xEB, 0x12, 0x68, 0x19, 0x5D, 0x6A, 0xA7, 0x0F, 0xD8, 0xFB, 0xE4, 0x72, - 0xA3, 0xEC, 0x98, 0xD6, 0xB0, 0x42, 0x3C, 0xD1, 0x19, 0x83, 0xF0, 0x84, 0xA2, 0x24, 0xE3, 0x1E, - 0x45, 0x29, 0x9A, 0x1A, 0x06, 0x44, 0x56, 0x8A, 0xE0, 0xD5, 0x51, 0xBF, 0x03, 0x34, 0x51, 0x57, - 0xA1, 0xDE, 0x11, 0x6C, 0x1D, 0x3C, 0xC1, 0x08, 0x08, 0xE6, 0x85, 0xEF, 0x54, 0x06, 0x3A, 0x1D, - 0x9F, 0xF5, 0xD7, 0x89, 0x67, 0x7E, 0x1B, 0x4E, 0xCF, 0x7D, 0xD3, 0x3A, 0x76, 0x16, 0xE3, 0x34, - 0xC2, 0xC1, 0xB6, 0x7B, 0x88, 0x83, 0x74, 0x8B, 0xB7, 0x7C, 0x1F, 0x92, 0x34, 0xC6, 0xEB, 0x02, - 0x92, 0x0C, 0x89, 0x89, 0x30, 0x9D, 0x77, 0x3E, 0x0B, 0xD2, 0x27, 0x51, 0xD1, 0x97, 0x26, 0x8C, - 0x78, 0x94, 0xD8, 0x79, 0xA9, 0x78, 0x2E, 0xAC, 0x4F, 0x46, 0x43, 0x68, 0x1A, 0xB1, 0xDF, 0x95, - 0xCF, 0xBE, 0x00, 0x95, 0xF6, 0x50, 0xC9, 0xE5, 0x2F, 0x99, 0xC3, 0x7E, 0xFB, 0x7D, 0xE0, 0x06, - 0x71, 0xE5, 0x75, 0x91, 0x87, 0x90, 0x44, 0x0E, 0xD6, 0xC4, 0xDB, 0xD4, 0x25, 0xF3, 0x60, 0xF1, - 0x2F, 0x66, 0x61, 0xCE, 0xB4, 0xB2, 0x87, 0xF8, 0x3E, 0x75, 0x45, 0x88, 0x0D, 0x57, 0xC5, 0x00, - 0x61, 0x84, 0xDF, 0xAC, 0x7B, 0xC9, 0x48, 0x00, 0x8D, 0x76, 0x22, 0x63, 0xB2, 0xE4, 0xF3, 0xDC, - 0x25, 0xF2, 0xBB, 0x17, 0xC8, 0xA1, 0x54, 0xBA, 0x4D, 0xC1, 0xB8, 0x81, 0xE8, 0xF2, 0xFB, 0xBE, - 0x3E, 0x32, 0x81, 0xB5, 0x14, 0x8C, 0xB6, 0x6C, 0xB4, 0x52, 0xF0, 0xBC, 0xCD, 0xA8, 0x0D, 0x71, - 0x4B, 0x94, 0x75, 0x6F, 0x2C, 0xBF, 0xD4, 0xE6, 0xDE, 0xD2, 0x18, 0x04, 0x3C, 0xCC, 0xFC, 0x5B, - 0xB0, 0xF6, 0x55, 0x2D, 0x16, 0x68, 0x80, 0x62, 0xC7, 0xA6, 0x4F, 0xDA, 0x47, 0x13, 0x41, 0x45, - 0x00, 0x33, 0x97, 0x51, 0xAB, 0x0C, 0xF5, 0x5E, 0x18, 0x15, 0x78, 0x4C, 0xFC, 0x12, 0x51, 0x27, - 0x56, 0xFC, 0x2A, 0x00, 0x55, 0x1D, 0x31, 0xC7, 0xD9, 0x39, 0x66, 0x40, 0x59, 0x6B, 0x47, 0x38, - 0x2A, 0xDC, 0x46, 0xA1, 0x4A, 0x3C, 0x9C, 0x11, 0xE7, 0xAC, 0xF7, 0xA3, 0xEC, 0x2E, 0xBF, 0xA5, - 0x77, 0x97, 0x86, 0x49, 0x48, 0x35, 0xF3, 0x10, 0x47, 0x07, 0x3B, 0xEA, 0xC8, 0xFE, 0xE7, 0x79, - 0x49, 0x67, 0x99, 0xED, 0x87, 0xDA, 0x29, 0xC4, 0xB9, 0x0C, 0x6D, 0x52, 0x3A, 0xEE, 0x9B, 0xE7, - 0xAD, 0x51, 0x8D, 0x31, 0x77, 0xB4, 0xBE, 0x4B, 0xFD, 0xB4, 0xB9, 0x95, 0x23, 0xDC, 0x44, 0x4F, - 0x99, 0x5A, 0x9F, 0x95, 0x93, 0xC4, 0xAC, 0xCE, 0x77, 0x79, 0x33, 0x90, 0xF6, 0x1B, 0xA3, 0xCC, - 0x27, 0x2B, 0xAC, 0xA4, 0x5F, 0x62, 0x21, 0x09, 0x34, 0x66, 0x2B, 0x89, 0x3C, 0x95, 0xD9, 0xAD, - 0x90, 0x4F, 0xD3, 0x72, 0x53, 0x18, 0xC6, 0x30, 0x4C, 0x88, 0xAB, 0x05, 0x02, 0x59, 0x16, 0xD4, - 0x7A, 0x14, 0x7E, 0xCE, 0xCC, 0xAB, 0x9F, 0xB4, 0x2E, 0x01, 0xCF, 0x39, 0xE5, 0x7F, 0x19, 0x19, - 0x01, 0xA8, 0xD2, 0x7D, 0x6A, 0xF2, 0x02, 0x9F, 0xCC, 0x04, 0x38, 0x89, 0xFC, 0x82, 0x36, 0x43, - 0xFB, 0x83, 0x41, 0x6D, 0x78, 0xD7, 0xB2, 0x66, 0x4F, 0xBD, 0x98, 0xB7, 0x9F, 0x1A, 0x38, 0xB2, - 0xC9, 0x4E, 0xC3, 0xDC, 0x37, 0xFF, 0x26, 0x69, 0x10, 0x10, 0xCD, 0x86, 0x3C, 0x39, 0xE1, 0x5B, - 0x8F, 0x0F, 0xD9, 0x01, 0x0D, 0x3F, 0x0A, 0x05, 0x82, 0xFC, 0x9E, 0x50, 0xFA, 0x30, 0xF8, 0x99, - 0xCB, 0xA2, 0xDB, 0xC4, 0xBC, 0x81, 0x76, 0xD0, 0x26, 0xD2, 0x03, 0xAF, 0x76, 0x7E, 0x24, 0x1E, - 0x50, 0x2D, 0xDA, 0xBF, 0x04, 0x45, 0xDD, 0x94, 0x39, 0xC6, 0x91, 0x69, 0xA6, 0x3C, 0x3B, 0x4A, - 0x5A, 0xEB, 0xA3, 0x8A, 0x8B, 0xC4, 0x89, 0x4A, 0x1B, 0x28, 0x15, 0xE9, 0xE9, 0xD1, 0x84, 0xFF, - 0x6E, 0x23, 0x45, 0x67, 0xE8, 0x7A, 0x94, 0x1F, 0xFF, 0x5A, 0xBC, 0x98, 0xE7, 0xBB, 0x97, 0x14, - 0x8B, 0x15, 0x07, 0xFB, 0x97, 0x42, 0xF8, 0xF5, 0xE7, 0x5A, 0xA2, 0xDD, 0xCC, 0xC0, 0xEB, 0x32, - 0x5D, 0xCB, 0x64, 0xFB, 0x99, 0x57, 0x88, 0xCA, 0x06, 0xEA, 0x6C, 0xDA, 0x40, 0xF1, 0x1B, 0x67, - 0x84, 0x99, 0xBF, 0xC1, 0xDB, 0x5C, 0x7B, 0x97, 0x2D, 0x10, 0x2D, 0xD6, 0x3D, 0xB7, 0x03, 0xE4, - 0xF9, 0x60, 0x4F, 0x73, 0x31, 0xF9, 0x4E, 0xBE, 0x26, 0x2F, 0x68, 0xAC, 0xB9, 0x5B, 0x83, 0x44, - 0x37, 0xFE, 0xF1, 0xB6, 0x76, 0x0C, 0x05, 0xB7, 0xA9, 0xC6, 0xAE, 0x0D, 0xB9, 0xA6, 0xC0, 0xA7, - 0x20, 0x3E, 0x90, 0x31, 0xA5, 0x1B, 0xDE, 0x39, 0xA1, 0x78, 0x3F, 0xB5, 0x45, 0x96, 0x63, 0xBF, - 0x63, 0xBC, 0xD8, 0x1D, 0x14, 0xF3, 0xCA, 0x41, 0xB7, 0xBE, 0x6A, 0xFB, 0x76, 0x44, 0x44, 0x1B, - 0xA1, 0x55, 0x27, 0x76, 0x64, 0xA1, 0x9B, 0xCF, 0xED, 0x8A, 0xEB, 0x55, 0x3C, 0x58, 0xA0, 0xF7, - 0xD6, 0x79, 0x6F, 0xAE, 0x83, 0x77, 0xC2, 0x03, 0x09, 0x3E, 0xD7, 0xB3, 0x1B, 0x41, 0x67, 0xC9, - 0x43, 0xE0, 0x98, 0x03, 0xAF, 0x79, 0xE5, 0x99, 0x7A, 0x0F, 0x28, 0x75, 0x75, 0x0B, 0xC4, 0x42, - 0x83, 0xD5, 0x16, 0x09, 0x7B, 0x0E, 0x4A, 0x4E, 0xC9, 0x24, 0x74, 0x16, 0xFF, 0xE7, 0x00, 0x59, - 0xB5, 0xE4, 0x3C, 0x8C, 0x63, 0xEA, 0x53, 0x7C, 0xB9, 0x63, 0xDB, 0x08, 0x80, 0x71, 0x8F, 0x08, - 0x9A, 0xA3, 0x9A, 0xFD, 0xD7, 0x96, 0x52, 0x5D, 0xB5, 0xF7, 0xE8, 0xAB, 0x4C, 0xAA, 0x39, 0x2D, - 0x72, 0x77, 0x9A, 0xB5, 0x3C, 0xF3, 0x3A, 0x0A, 0xE2, 0x3A, 0x79, 0x04, 0xCE, 0xE9, 0x68, 0x75, - 0xC8, 0xBE, 0x14, 0xEC, 0x46, 0x36, 0x34, 0x5A, 0x0C, 0xB1, 0xD2, 0x19, 0x82, 0x1E, 0xAC, 0xA7, - 0x4D, 0xBE, 0xBE, 0x44, 0xE2, 0x42, 0x51, 0x23, 0xB8, 0x61, 0xC4, 0x9F, 0x7C, 0xD5, 0x1B, 0xB4, - 0xD8, 0x4E, 0xA7, 0x65, 0xCB, 0xC0, 0x93, 0xE0, 0x98, 0x7E, 0x73, 0x1A, 0x40, 0x04, 0x8D, 0x56, - 0xEF, 0x69, 0x69, 0x3C, 0x07, 0xBD, 0x65, 0x25, 0xB3, 0x20, 0x8A, 0x81, 0x69, 0xE2, 0x1D, 0x40, - 0xF4, 0x69, 0x06, 0x83, 0xAD, 0xC5, 0x8E, 0xDD, 0xDC, 0x38, 0xC3, 0xF4, 0x58, 0xAF, 0x8D, 0x2A, - 0x23, 0x39, 0x33, 0x64, 0x10, 0xA8, 0x7D, 0x97, 0x41, 0x05, 0x5E, 0x26, 0x74, 0x86, 0xEB, 0x06, - 0xFC, 0x77, 0x47, 0xF8, 0x20, 0x09, 0x07, 0xF9, 0xE4, 0x17, 0x06, 0x73, 0xFD, 0xED, 0xFC, 0xF7, - 0x46, 0xD2, 0x4C, 0xBA, 0x40, 0x74, 0xB1, 0x1D, 0x7D, 0xEB, 0x70, 0x28, 0x51, 0x5C, 0x54, 0xAE, - 0xD9, 0xA9, 0x93, 0xA1, 0x91, 0x70, 0xA9, 0xA0, 0x97, 0x5C, 0x6F, 0xD0, 0x3E, 0x64, 0x4D, 0x6D, - 0xA7, 0xBD, 0x2D, 0x5E, 0xD4, 0x17, 0xD3, 0x3C, 0xFB, 0xDA, 0xF6, 0xCD, 0x56, 0x1C, 0x02, 0x25, - 0xE1, 0x88, 0x61, 0xC0, 0x1D, 0xAB, 0x9D, 0x96, 0xF1, 0x52, 0x17, 0xED, 0xE3, 0xDA, 0x92, 0x65, - 0x81, 0xBA, 0x01, 0x7A, 0xDF, 0x12, 0x69, 0xA6, 0x4C, 0xC8, 0xB4, 0x64, 0xF9, 0x3D, 0x0D, 0x09, - 0x09, 0x6D, 0x85, 0xE2, 0xF5, 0x0F, 0x08, 0xDC, 0x06, 0x43, 0x92, 0xF8, 0x8C, 0xEC, 0x83, 0xDA, - 0x42, 0x1B, 0x12, 0x10, 0x45, 0xE8, 0xC5, 0x7F, 0xC5, 0x1B, 0xC7, 0xAA, 0xB3, 0x1D, 0x31, 0xFB, - 0xFA, 0x2E, 0xAF, 0xA5, 0x89, 0x8C, 0x5F, 0x73, 0xF3, 0xF3, 0x40, 0xBC, 0x8B, 0x14, 0x98, 0x91, - 0x24, 0x3D, 0x78, 0xE2, 0xBF, 0x9F, 0x62, 0x18, 0x42, 0xD8, 0xE6, 0x8F, 0x33, 0x2C, 0x17, 0x45, - 0x85, 0x81, 0xD6, 0xCC, 0x90, 0xF1, 0xBA, 0x05, 0x45, 0xAA, 0x35, 0x60, 0xF3, 0xE3, 0x9A, 0x4C, - 0xA4, 0x13, 0xC9, 0x68, 0xE0, 0x4D, 0xFD, 0xB9, 0x1B, 0x3A, 0xBD, 0x06, 0x9F, 0xD0, 0x73, 0xD6, - 0xBF, 0x10, 0x85, 0xEE, 0x98, 0x76, 0x10, 0x7C, 0x6F, 0xDD, 0x75, 0x19, 0x76, 0x16, 0x01, 0x69, - 0x67, 0x74, 0x2A, 0xB1, 0x66, 0x65, 0x97, 0x93, 0x3D, 0xE2, 0x0E, 0xD8, 0x35, 0x36, 0x21, 0x8A, - 0x60, 0x92, 0x30, 0x39, 0xA8, 0xA7, 0xA3, 0x5B, 0x45, 0x38, 0x0C, 0xE0, 0x0F, 0x4C, 0x1E, 0x39, - 0xA5, 0x9F, 0x4F, 0xEB, 0x90, 0x34, 0xEA, 0x81, 0x63, 0xFA, 0x19, 0x16, 0xCC, 0xE0, 0xAD, 0x32, - 0x32, 0xD4, 0x63, 0xB8, 0x41, 0xC1, 0xA0, 0x5B, 0x08, 0x0B, 0x47, 0x62, 0xC1, 0x7C, 0x5C, 0x1F, - 0xDF, 0xF1, 0xE5, 0x6D, 0x76, 0x77, 0x8D, 0xB5, 0x15, 0x67, 0x55, 0x9C, 0x9C, 0x0F, 0xE0, 0x77, - 0x11, 0x5D, 0x6A, 0x3F, 0xD7, 0x8B, 0xC1, 0xBD, 0x33, 0x25, 0x1F, 0x7A, 0x32, 0xCE, 0x42, 0x2C, - 0xB3, 0xA8, 0x21, 0x4F, 0x32, 0x36, 0xFF, 0x22, 0x34, 0x07, 0x8C, 0x43, 0x7E, 0x0D, 0xDC, 0x36, - 0xB5, 0xB6, 0x4A, 0x87, 0x10, 0xBF, 0xAC, 0x1E, 0x22, 0x03, 0x5D, 0x99, 0x01, 0x38, 0x6B, 0xD4, - 0x79, 0x8B, 0x72, 0xE7, 0x9E, 0x09, 0x48, 0x87, 0x53, 0xD9, 0x49, 0x17, 0x11, 0x03, 0xA9, 0xB2, - 0x5D, 0xFC, 0xB7, 0xDA, 0x60, 0x73, 0x17, 0xDB, 0xD2, 0x5B, 0x85, 0xA3, 0x41, 0x56, 0x99, 0x4C, - 0xFF, 0xD6, 0x24, 0x50, 0xD2, 0x38, 0x3A, 0x8E, 0xA9, 0xE8, 0x81, 0xFE, 0x94, 0xA5, 0x8D, 0x0F, - 0x28, 0xF3, 0xD5, 0x0A, 0x60, 0x42, 0x57, 0x38, 0xA7, 0x1D, 0x8E, 0x24, 0x31, 0x2A, 0xBB, 0xEF, - 0xFF, 0x3B, 0x52, 0x41, 0x53, 0x84, 0x09, 0x2C, 0xD6, 0xB0, 0x29, 0x9C, 0x25, 0xC6, 0xCD, 0x3E, - 0x71, 0x47, 0x3A, 0x69, 0x8F, 0xA6, 0xD4, 0xA8, 0x3C, 0xAE, 0xE3, 0x8D, 0x7B, 0x35, 0x42, 0x40, - 0xA7, 0xEB, 0xA3, 0x1F, 0x5F, 0x31, 0x33, 0x86, 0xD4, 0x69, 0x01, 0xC3, 0x21, 0x5B, 0x6F, 0x68, - 0x0E, 0x06, 0x00, 0x0C, 0x00, 0x08, 0x03, 0x0C, 0x01, 0x0F, 0x0E, 0x0A, 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, - 0x01, 0x06, 0x02, 0x04, 0x00, 0x03, 0x07, 0x05, 0x04, 0x07, 0x00, 0x03, 0x05, 0x01, 0x06, 0x02, - 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD - }; - - SimpleTransform((unsigned char*)KeyTransformArray, KEY_TRANSFORM_NR, in, out); - - return; -} - -SPC_INTERNAL void SAkepApi::ReverseKeyTransform(unsigned char* in, unsigned char* out) -{ - const unsigned char ReverseKeyTransformArray[] = - { - 0xE7, 0xFB, 0xEA, 0xC3, 0xC8, 0x16, 0x50, 0xB8, 0xCB, 0x4A, 0xDE, 0x7B, 0x44, 0x9F, 0x3D, 0x10, - 0xF6, 0x68, 0x36, 0x6E, 0xCB, 0x43, 0xD9, 0x84, 0xF1, 0xC3, 0xE5, 0x48, 0x49, 0x57, 0x9E, 0x47, - 0x23, 0x26, 0x6F, 0x0B, 0x97, 0x4E, 0x1A, 0xB3, 0x85, 0x71, 0x55, 0xCC, 0xCC, 0x61, 0xBD, 0x68, - 0x80, 0x3F, 0xDC, 0xA9, 0xFA, 0x50, 0x22, 0x88, 0xFB, 0xFE, 0x13, 0x58, 0xDF, 0xB2, 0x53, 0x71, - 0x8F, 0x0B, 0xDE, 0x3E, 0x96, 0xF4, 0xDF, 0xF8, 0xD5, 0x27, 0xE6, 0x40, 0x90, 0xA2, 0xB0, 0x5F, - 0x52, 0xF0, 0x0D, 0x33, 0xA7, 0xE7, 0x24, 0xF4, 0x8A, 0x19, 0x99, 0x6C, 0xF3, 0xDB, 0x58, 0x0F, - 0xCC, 0x3D, 0x33, 0xDE, 0xE1, 0x0C, 0xCD, 0x5D, 0xA8, 0x8D, 0x30, 0x2D, 0xE0, 0x08, 0xB6, 0x16, - 0xED, 0x76, 0x7B, 0x20, 0x17, 0x7C, 0xD8, 0x07, 0x56, 0x8A, 0x88, 0xC1, 0x7D, 0x58, 0x9C, 0xD0, - 0x8D, 0x33, 0xC5, 0xB5, 0x28, 0x99, 0x62, 0x60, 0x30, 0x18, 0x5C, 0x27, 0x53, 0x7D, 0x78, 0xD9, - 0x1D, 0x16, 0xC6, 0x4C, 0x2E, 0xDD, 0x1F, 0xC7, 0x8C, 0x69, 0x33, 0x25, 0x09, 0xC3, 0x31, 0x49, - 0x40, 0x87, 0xF5, 0x96, 0x08, 0x8B, 0x06, 0x02, 0xCC, 0x2B, 0xEB, 0x5C, 0xBC, 0xCB, 0xBB, 0x21, - 0xF7, 0xB4, 0x09, 0xED, 0x3A, 0xCD, 0x74, 0x32, 0xF8, 0xDB, 0x83, 0xA1, 0xCE, 0x2D, 0x52, 0x1F, - 0x82, 0x07, 0xC7, 0x22, 0x65, 0x95, 0x3E, 0x39, 0x67, 0x2F, 0xDA, 0x8C, 0x5D, 0x3C, 0x8E, 0xB2, - 0xA0, 0xA8, 0xAB, 0xD4, 0x36, 0xD4, 0x79, 0x2E, 0x88, 0x2D, 0x96, 0xFB, 0xEE, 0x49, 0x40, 0x7D, - 0x70, 0x5F, 0x61, 0xC5, 0x7B, 0xD8, 0x25, 0x77, 0xF2, 0xE6, 0x75, 0xB1, 0xBB, 0x73, 0x45, 0xCD, - 0xAC, 0x78, 0x8D, 0x4B, 0xAA, 0x44, 0xEC, 0xA3, 0xCA, 0x5B, 0x41, 0x15, 0x21, 0x9B, 0x91, 0xE7, - 0xFC, 0xE5, 0xA7, 0x8D, 0xBA, 0xFF, 0xB6, 0x86, 0x9A, 0x0D, 0xF2, 0x99, 0x1A, 0x10, 0xDF, 0x50, - 0xBF, 0xD3, 0x4A, 0x6D, 0xC9, 0xAC, 0x95, 0xF3, 0x7D, 0x06, 0x47, 0x69, 0xF6, 0x2F, 0x49, 0x94, - 0x71, 0x83, 0x5E, 0x46, 0x86, 0x4F, 0x85, 0xDD, 0x2D, 0x50, 0xF4, 0xE5, 0x02, 0x76, 0xD6, 0xB9, - 0x42, 0xBF, 0xEE, 0x1D, 0x98, 0x02, 0x9E, 0x93, 0x3A, 0x25, 0xAA, 0x37, 0xEF, 0x8C, 0xFA, 0x36, - 0xE8, 0xCF, 0xE8, 0x54, 0x3B, 0x77, 0xB1, 0x79, 0xD0, 0x72, 0xDC, 0xF0, 0xB6, 0xBB, 0xE6, 0x9A, - 0xA1, 0x74, 0x94, 0x57, 0xB3, 0xF7, 0x4F, 0x01, 0x0E, 0xD5, 0xC2, 0xCA, 0x23, 0xD7, 0x7E, 0x90, - 0x09, 0x3C, 0x89, 0x95, 0x35, 0x81, 0xF0, 0x12, 0x5B, 0xD6, 0x4B, 0xF6, 0xF9, 0xAB, 0x05, 0xB4, - 0xB4, 0x82, 0xE4, 0x0D, 0x91, 0x0A, 0x67, 0x14, 0x83, 0x01, 0xFF, 0x85, 0x4C, 0xA3, 0x8F, 0xDC, - 0xFE, 0xDD, 0xBC, 0x06, 0x34, 0x3B, 0x35, 0x59, 0xB1, 0x81, 0x3D, 0x31, 0x54, 0xC5, 0x86, 0x35, - 0xFD, 0x39, 0x98, 0x0E, 0x3E, 0x66, 0x45, 0xE2, 0xD1, 0x63, 0x43, 0x9E, 0x04, 0x0B, 0x92, 0x1E, - 0xB9, 0x8E, 0xFD, 0x11, 0xA0, 0x19, 0x9C, 0x18, 0x51, 0xEB, 0xBD, 0xE6, 0xFD, 0x9A, 0xAE, 0x64, - 0x53, 0x2C, 0x32, 0xB0, 0xFC, 0x14, 0x5F, 0x2F, 0xA2, 0xB0, 0xC6, 0x3D, 0xA9, 0x65, 0x11, 0x9F, - 0x6E, 0xF8, 0xBF, 0xFF, 0xB8, 0x10, 0xFA, 0xF1, 0x12, 0x8C, 0xF5, 0x66, 0x2A, 0x2E, 0x76, 0x17, - 0x0D, 0x59, 0x25, 0x62, 0x6B, 0x63, 0x7F, 0x52, 0xF3, 0xF7, 0xEA, 0xDF, 0xA1, 0x59, 0xA3, 0x53, - 0x78, 0xEA, 0xEB, 0xAD, 0x40, 0x96, 0xAE, 0xC0, 0x57, 0x9B, 0x17, 0xAF, 0x0F, 0xBE, 0x75, 0xEE, - 0x19, 0x73, 0x6A, 0xBB, 0x8F, 0x47, 0x7C, 0x5A, 0xA5, 0xD1, 0xF3, 0x1A, 0x4B, 0x1B, 0x71, 0x30, - 0xA8, 0x1D, 0x21, 0xBC, 0x29, 0x23, 0xA7, 0x2B, 0xEF, 0xAE, 0xDD, 0x73, 0x4F, 0x2A, 0xDA, 0xE0, - 0xE0, 0x7A, 0x62, 0x3C, 0x9E, 0x46, 0xE3, 0x34, 0xB3, 0xB5, 0x32, 0xA6, 0x88, 0xC4, 0xB9, 0xB6, - 0xB3, 0x03, 0x6C, 0xF2, 0x1E, 0x74, 0x21, 0x80, 0x15, 0xED, 0xC0, 0x41, 0x85, 0x0C, 0x1A, 0xE1, - 0x72, 0x67, 0x7A, 0x4E, 0xF5, 0x1C, 0xA6, 0xA8, 0xAD, 0xD8, 0x0A, 0x9D, 0xA3, 0x15, 0x4C, 0x24, - 0x84, 0x5A, 0x70, 0x5E, 0x15, 0x93, 0x94, 0x70, 0x55, 0xAF, 0x18, 0x38, 0x1B, 0xD5, 0x65, 0x1B, - 0xA4, 0xCD, 0x07, 0x23, 0x58, 0x9F, 0xC8, 0x29, 0x73, 0x7F, 0x14, 0xA7, 0xC7, 0xD4, 0x5A, 0x98, - 0x37, 0x0C, 0x20, 0xD2, 0x52, 0xC2, 0xB8, 0x92, 0xA1, 0x95, 0x56, 0xC4, 0xA5, 0x68, 0x08, 0x83, - 0x00, 0x55, 0x3C, 0x7E, 0x13, 0xD7, 0xE9, 0xD7, 0xD3, 0x57, 0x4C, 0x09, 0x24, 0x6F, 0x80, 0x7C, - 0x89, 0x56, 0x69, 0x42, 0xBE, 0x54, 0x87, 0x56, 0xC3, 0x43, 0x27, 0xFC, 0x6F, 0x4E, 0xC8, 0x82, - 0xB0, 0xE7, 0x48, 0xFA, 0x42, 0x79, 0xE2, 0xB7, 0x03, 0x89, 0x01, 0xFD, 0x32, 0x48, 0x7F, 0xFE, - 0x28, 0x77, 0xC1, 0x6B, 0x11, 0x38, 0xA5, 0xA0, 0x28, 0x05, 0xCE, 0x55, 0xE3, 0x81, 0xE3, 0x2A, - 0xB7, 0x66, 0xC0, 0x05, 0x6D, 0x27, 0x02, 0xF5, 0x9D, 0x6C, 0xC7, 0xBE, 0x93, 0x2B, 0xE5, 0x63, - 0xD1, 0x7E, 0xC9, 0xEC, 0x9D, 0x13, 0x6A, 0x08, 0xED, 0x9A, 0xD2, 0xE4, 0x92, 0xEE, 0x5F, 0x28, - 0xFB, 0x64, 0x2F, 0x72, 0xFF, 0x41, 0xD6, 0x13, 0x1B, 0x94, 0x93, 0x8F, 0xC4, 0x5D, 0x0F, 0xA4, - 0x20, 0xC2, 0x4B, 0x03, 0x38, 0x22, 0x38, 0x45, 0xA9, 0x9C, 0xAF, 0x43, 0x51, 0x31, 0x97, 0xAE, - 0x8B, 0x6E, 0x72, 0xC9, 0xBD, 0x01, 0x0E, 0x6A, 0x2C, 0x41, 0x6B, 0x8B, 0xF1, 0x97, 0xB7, 0x78, - 0xB5, 0x5E, 0xDB, 0x8E, 0xC1, 0x1E, 0xA9, 0x3F, 0x82, 0x10, 0x60, 0xEB, 0xF2, 0x1E, 0xE2, 0x44, - 0x39, 0xE4, 0x1D, 0xC6, 0x30, 0x90, 0x04, 0x89, 0xE0, 0xC6, 0x11, 0xD3, 0xD2, 0x7A, 0xF0, 0x26, - 0x6C, 0xC0, 0xA4, 0x74, 0x61, 0x3E, 0x0F, 0xE9, 0xFE, 0xAB, 0x29, 0xE8, 0x00, 0x3A, 0x39, 0xCE, - 0xE4, 0x1F, 0xCE, 0xCB, 0xD9, 0x17, 0xCF, 0xD6, 0xCF, 0x0E, 0x7B, 0xA5, 0x12, 0x2C, 0x6D, 0x9C, - 0x98, 0xC5, 0xB5, 0xEF, 0xD7, 0xE1, 0x8E, 0xBD, 0xAA, 0xB9, 0x3F, 0xBA, 0x31, 0xC1, 0x2A, 0xC2, - 0x6D, 0x1C, 0x9B, 0xF7, 0x9F, 0xFC, 0x26, 0x7F, 0x3F, 0x70, 0x90, 0x87, 0xB1, 0x03, 0x18, 0x76, - 0x92, 0x48, 0x24, 0x0C, 0xA4, 0xB2, 0xAD, 0xC8, 0x1F, 0xD0, 0x36, 0x51, 0xF4, 0x63, 0xA6, 0xE3, - 0x7E, 0xB7, 0x5C, 0xD1, 0x80, 0x0B, 0xF8, 0x7A, 0x37, 0x79, 0x69, 0x00, 0xB2, 0x8A, 0x4D, 0x4A, - 0x4A, 0x0A, 0x64, 0x75, 0xAD, 0xBA, 0x54, 0x4F, 0x6E, 0x37, 0xBC, 0x65, 0xE8, 0x34, 0x04, 0xDA, - 0xD3, 0x46, 0xD2, 0x67, 0x7C, 0x26, 0x9D, 0x9B, 0x34, 0x5C, 0xF9, 0xF9, 0x84, 0xC9, 0xA0, 0xAA, - 0x3B, 0xDC, 0x06, 0x4D, 0x75, 0x2E, 0x64, 0x1C, 0xAF, 0xEC, 0x05, 0x0A, 0xDA, 0x46, 0x42, 0xEA, - 0xEF, 0x4E, 0x60, 0xAB, 0x20, 0x2B, 0x5E, 0xAC, 0x68, 0x47, 0x16, 0x2C, 0x6A, 0xBA, 0xD9, 0x19, - 0x91, 0xAC, 0x00, 0x04, 0xA6, 0x5D, 0xE1, 0xBF, 0xC4, 0x22, 0x12, 0xDB, 0xE2, 0x44, 0x59, 0x61, - 0xCA, 0x60, 0x84, 0xA2, 0x99, 0xB8, 0x5B, 0xD8, 0x35, 0x4D, 0x66, 0x97, 0xCA, 0x1C, 0xF9, 0xCF, - 0x4D, 0x8B, 0xEC, 0x8A, 0xDE, 0xE9, 0x77, 0x3A, 0xBE, 0xE9, 0xF1, 0x91, 0x62, 0x86, 0x6B, 0xD5, - 0x51, 0x14, 0x29, 0x3B, 0x45, 0x87, 0x5A, 0x5B, 0xB4, 0xD4, 0x07, 0x81, 0xA2, 0xD0, 0xF6, 0x6F, - 0x65, 0x04, 0x70, 0xEB, 0xF3, 0xBA, 0xB5, 0xFA, 0x5D, 0xF8, 0x00, 0x0A, 0x99, 0x35, 0x5A, 0x2D, - 0xDD, 0x03, 0x8E, 0x07, 0x6E, 0x90, 0xE5, 0x3C, 0x15, 0xB3, 0x21, 0xF4, 0x6F, 0x20, 0x2A, 0x77, - 0x74, 0x97, 0xAC, 0x46, 0x7D, 0x7E, 0x36, 0x25, 0x2B, 0x7E, 0xBF, 0x19, 0x29, 0xC9, 0xC1, 0xDE, - 0x0B, 0xA9, 0xF3, 0x6A, 0x1E, 0x96, 0x4F, 0x75, 0xF8, 0x85, 0x62, 0x14, 0x18, 0x32, 0xD2, 0xD2, - 0xFE, 0x70, 0xDD, 0x72, 0x51, 0x75, 0x5F, 0x5B, 0xFA, 0xB1, 0x6D, 0x83, 0x74, 0xCF, 0x76, 0xA2, - 0xB8, 0xFF, 0xA3, 0xE6, 0x42, 0x9B, 0x8C, 0x42, 0x49, 0xA8, 0xCE, 0x21, 0x19, 0xF7, 0x68, 0x99, - 0x08, 0x4D, 0xD7, 0x62, 0xC7, 0xB8, 0xBA, 0x6D, 0x10, 0xE6, 0x1B, 0x44, 0x45, 0x34, 0x65, 0xAE, - 0x33, 0xC4, 0xED, 0x51, 0xCA, 0x1B, 0x72, 0x3A, 0xCC, 0x75, 0x0A, 0xE9, 0x46, 0xBD, 0x30, 0x92, - 0xAC, 0xD5, 0xEC, 0x3F, 0xAF, 0xB7, 0x76, 0xCD, 0xAB, 0xF6, 0x41, 0x61, 0x24, 0x01, 0x62, 0x89, - 0x98, 0x68, 0xD4, 0x9B, 0x35, 0x63, 0x9E, 0xE7, 0x47, 0xD1, 0x9D, 0xEF, 0xF5, 0xC8, 0xFE, 0x5D, - 0x7B, 0xA3, 0xAE, 0xD1, 0x60, 0x66, 0xA4, 0x57, 0x8D, 0x26, 0x4D, 0xFE, 0xB8, 0x94, 0xF2, 0x04, - 0x37, 0xA1, 0x41, 0xA6, 0xD3, 0xA8, 0xD1, 0x98, 0xE1, 0x89, 0x6F, 0x08, 0xEB, 0xD3, 0xB3, 0x13, - 0x6E, 0x55, 0xDE, 0x8B, 0x40, 0x74, 0xC0, 0x35, 0x2F, 0x3A, 0x1A, 0xC7, 0xB4, 0x99, 0xEB, 0x18, - 0x06, 0xA5, 0xEA, 0x76, 0x32, 0x9D, 0x26, 0x0B, 0xD3, 0x09, 0xAD, 0xBC, 0x86, 0xEB, 0xAD, 0x28, - 0xDE, 0xE7, 0xAA, 0x0F, 0x87, 0x17, 0x2E, 0x63, 0xE0, 0x98, 0xF0, 0x66, 0xA0, 0xF2, 0xFB, 0xED, - 0xB1, 0x96, 0x16, 0x0D, 0xDD, 0x5E, 0x90, 0xF3, 0xE3, 0xBD, 0x60, 0x9F, 0xA6, 0x8F, 0xBF, 0x4A, - 0x12, 0x8F, 0xA5, 0xAF, 0xC2, 0xA9, 0x4E, 0xF6, 0xC2, 0x0C, 0x59, 0x27, 0x1F, 0x8A, 0x2C, 0x3E, - 0xA6, 0x58, 0x7D, 0xDC, 0x77, 0x23, 0x46, 0x9E, 0xAF, 0xB2, 0xE4, 0xBF, 0xBB, 0x1D, 0xA7, 0x38, - 0x2F, 0x5B, 0x28, 0xE0, 0xAD, 0x58, 0x3A, 0xBA, 0xB2, 0xFA, 0x4C, 0x7D, 0x3D, 0xA2, 0xD1, 0x2B, - 0x31, 0xFC, 0xF6, 0xDA, 0x38, 0xC0, 0x56, 0xB0, 0xCE, 0x41, 0x05, 0x7E, 0xB5, 0x5C, 0x51, 0x53, - 0x47, 0xAB, 0x1C, 0x1D, 0x61, 0xDC, 0x61, 0x1C, 0xC8, 0x31, 0xAF, 0x37, 0x16, 0x73, 0x24, 0xB9, - 0x19, 0xDE, 0x0B, 0xCF, 0x8C, 0xF0, 0x9B, 0x93, 0x78, 0x0D, 0x9C, 0x6C, 0x08, 0x68, 0x69, 0xF7, - 0xAA, 0x88, 0x5B, 0x43, 0x78, 0x6F, 0xC2, 0xBE, 0x6C, 0x5D, 0x52, 0x47, 0x47, 0x78, 0x8A, 0xD9, - 0x1F, 0x83, 0xBC, 0xB3, 0x94, 0xF9, 0xFD, 0x7A, 0x81, 0x6B, 0x11, 0xA7, 0x34, 0x5B, 0xD9, 0xAC, - 0x1E, 0x5F, 0x83, 0x30, 0xC5, 0x57, 0xF6, 0x1A, 0x4C, 0xFD, 0xF4, 0x91, 0x01, 0x91, 0x61, 0x70, - 0xFA, 0x15, 0x71, 0x85, 0x81, 0x53, 0x53, 0xC4, 0xCD, 0x64, 0x95, 0x87, 0xCE, 0x43, 0xB0, 0xEA, - 0x07, 0x79, 0xD5, 0xF5, 0x2F, 0x85, 0xB4, 0x79, 0x03, 0xD7, 0xE0, 0x48, 0xE5, 0x92, 0x45, 0x78, - 0x18, 0x02, 0x34, 0x4C, 0xA4, 0x50, 0xC3, 0x3D, 0x99, 0x76, 0x83, 0xD5, 0x36, 0x17, 0x36, 0xDB, - 0x2B, 0x3E, 0x84, 0x17, 0x27, 0x37, 0x88, 0xB5, 0x14, 0xA2, 0xBE, 0x9A, 0x72, 0xB2, 0x32, 0x05, - 0x50, 0x65, 0x77, 0xCC, 0x73, 0x88, 0x77, 0x4E, 0xDB, 0x00, 0x54, 0x3B, 0x2E, 0x71, 0x3F, 0x32, - 0xAE, 0xED, 0xF7, 0xB4, 0x8A, 0xB4, 0xE6, 0x34, 0xBE, 0xB7, 0x10, 0x24, 0xB0, 0xA8, 0x40, 0xC8, - 0xD0, 0x0F, 0x97, 0x1B, 0xDA, 0xA0, 0x28, 0x1F, 0x9A, 0x53, 0x13, 0x2C, 0xBA, 0xD8, 0x1D, 0x73, - 0xA1, 0xD9, 0xF5, 0x23, 0xAA, 0xA6, 0x82, 0x56, 0x1A, 0xDB, 0xED, 0x54, 0x9D, 0x04, 0xF1, 0xFD, - 0xBB, 0x1B, 0x87, 0xEE, 0x2B, 0x2E, 0x85, 0xA9, 0x06, 0x82, 0xDA, 0xF8, 0xDC, 0x55, 0xE4, 0xB8, - 0xF9, 0xF1, 0x55, 0x8D, 0x49, 0x7C, 0x39, 0xB2, 0x21, 0x43, 0x49, 0x09, 0xD6, 0x25, 0xB9, 0x03, - 0xF5, 0x21, 0x73, 0x12, 0x95, 0x43, 0x38, 0x31, 0x56, 0xD4, 0x69, 0x74, 0x9B, 0x79, 0xB5, 0x5A, - 0xE7, 0x56, 0x8B, 0xB7, 0x2D, 0x6A, 0xF8, 0x0E, 0x5C, 0xE9, 0x9F, 0x64, 0x7B, 0x4B, 0x3A, 0x82, - 0x2D, 0x63, 0x33, 0x6B, 0x0B, 0x3C, 0xE1, 0xCB, 0x4A, 0x8D, 0x5E, 0xD8, 0x90, 0xCC, 0x52, 0xAA, - 0xDF, 0x3B, 0x95, 0x8C, 0x06, 0x9F, 0x29, 0x9C, 0x44, 0xF4, 0x0D, 0x16, 0x10, 0x0E, 0x60, 0x1E, - 0x30, 0x20, 0xC9, 0x59, 0xC1, 0xFC, 0xC7, 0xCA, 0x07, 0x93, 0x45, 0x96, 0xA7, 0x4A, 0x05, 0x01, - 0x86, 0xCF, 0x0A, 0xA1, 0x7F, 0x91, 0x7A, 0x52, 0x54, 0xE0, 0x66, 0xE3, 0x33, 0xE3, 0x27, 0x40, - 0x42, 0x12, 0x8F, 0x69, 0xDF, 0xB1, 0xDC, 0x84, 0x6D, 0x4C, 0xCD, 0x29, 0xB6, 0xD5, 0x04, 0x6F, - 0x7E, 0x1A, 0x3D, 0xA5, 0x4A, 0x29, 0xB0, 0x8E, 0x09, 0xEA, 0x16, 0x58, 0x71, 0x3B, 0x67, 0x39, - 0x3F, 0x14, 0xCB, 0xCE, 0x1C, 0x79, 0x03, 0x02, 0xEF, 0xF0, 0x3C, 0xC6, 0x13, 0x87, 0x35, 0x22, - 0x2A, 0xE2, 0xBB, 0x94, 0x1D, 0xC3, 0xC6, 0x49, 0xE6, 0xE8, 0x5A, 0x2F, 0xE3, 0xEF, 0x01, 0xDF, - 0x23, 0x8B, 0x0E, 0x7F, 0x6D, 0xC5, 0x6C, 0x00, 0xE7, 0xF9, 0xC5, 0x41, 0x9F, 0x48, 0x1E, 0x8A, - 0xEC, 0x07, 0x25, 0xD7, 0xBC, 0x59, 0xA5, 0xD4, 0x6E, 0x69, 0x5D, 0xD0, 0xCC, 0x0F, 0x5F, 0x9D, - 0xCA, 0xCD, 0xE5, 0xD6, 0xE1, 0xEE, 0xA3, 0xA8, 0x4F, 0xD8, 0x64, 0x68, 0x30, 0x6A, 0x72, 0x7C, - 0x84, 0xF7, 0x11, 0x2A, 0x3C, 0x6B, 0x67, 0x60, 0x7A, 0x39, 0x93, 0xFB, 0x0E, 0x15, 0x2D, 0x50, - 0xDB, 0x5E, 0x39, 0x7B, 0x7A, 0x80, 0x8E, 0xC9, 0x02, 0xC6, 0x7F, 0x26, 0x2A, 0x40, 0x94, 0xE2, - 0x7D, 0xFE, 0x19, 0xAD, 0x3F, 0x3E, 0xEE, 0x5C, 0xBD, 0x92, 0x80, 0xDD, 0x11, 0xCB, 0xDA, 0x55, - 0xD2, 0x37, 0x8C, 0x90, 0xBF, 0x0C, 0x2C, 0xE8, 0x93, 0x4B, 0x75, 0xC5, 0x59, 0x63, 0xC7, 0x97, - 0x96, 0x80, 0xE9, 0x8F, 0x9C, 0x4B, 0xC1, 0xB6, 0xE8, 0x91, 0x09, 0xE1, 0x57, 0x22, 0x31, 0xFC, - 0xC4, 0x25, 0xD8, 0xC2, 0x8E, 0x1F, 0xD7, 0xE4, 0x82, 0x4E, 0x81, 0x5E, 0xEF, 0xE2, 0x18, 0xC3, - 0xFC, 0x48, 0xC6, 0xF9, 0x5C, 0xD6, 0x97, 0x0C, 0x3B, 0x6A, 0xD4, 0xEC, 0xBE, 0xE9, 0xB6, 0xA3, - 0x8D, 0x9E, 0xA4, 0xC1, 0x7C, 0xC4, 0xF3, 0x6E, 0xFD, 0xD0, 0x58, 0xA4, 0x4F, 0x44, 0x38, 0x15, - 0xEA, 0x5A, 0x92, 0xAB, 0x2C, 0xD0, 0x3D, 0x45, 0x0F, 0x9A, 0xBC, 0x11, 0xCB, 0xB7, 0xA1, 0x71, - 0x1C, 0x67, 0x98, 0xBB, 0xEC, 0x4D, 0x6B, 0xFF, 0xCA, 0x05, 0xA0, 0xA0, 0x50, 0x9A, 0xCF, 0x10, - 0x8B, 0xC3, 0x13, 0xBD, 0x44, 0xDF, 0xF1, 0xE5, 0xA2, 0xEE, 0x27, 0x88, 0x17, 0xB6, 0x9E, 0xF2, - 0xFF, 0xAC, 0xE2, 0xF1, 0x6C, 0x7F, 0xA9, 0x4B, 0x26, 0x22, 0x7C, 0x2E, 0x28, 0x0C, 0x7B, 0x95, - 0xFB, 0xC9, 0x4E, 0x06, 0xE4, 0xFF, 0x57, 0x33, 0x46, 0xC0, 0x02, 0x81, 0xAE, 0xB3, 0x0D, 0x86, - 0xE8, 0x62, 0x89, 0x20, 0x54, 0x64, 0xAB, 0xC0, 0x20, 0x52, 0xD6, 0x67, 0xFB, 0x89, 0x08, 0x36, - 0x14, 0xD2, 0x12, 0xD3, 0x0A, 0x86, 0x24, 0x80, 0xF4, 0xC8, 0x3E, 0x4D, 0xF2, 0x70, 0x00, 0xB1, - 0x51, 0xB9, 0x48, 0x4F, 0x66, 0x22, 0xD9, 0xF0, 0x42, 0x84, 0xA7, 0x5F, 0x23, 0xB9, 0x9C, 0x65, - 0x46, 0x7E, 0x3E, 0xB0, 0xB9, 0x5D, 0xA8, 0xE6, 0xA4, 0xDF, 0x25, 0x2D, 0x29, 0x30, 0xD4, 0x77, - 0x0F, 0xC5, 0x42, 0xB3, 0x31, 0xDD, 0x56, 0x9E, 0x7A, 0x78, 0x3B, 0x17, 0xBC, 0x5C, 0x4C, 0x7D, - 0x53, 0x88, 0x4E, 0xEA, 0x9B, 0xA0, 0x80, 0xF3, 0x29, 0x0B, 0x18, 0x62, 0x46, 0x44, 0x25, 0x3B, - 0xEE, 0x36, 0x23, 0x72, 0x3F, 0x2B, 0x17, 0xF5, 0xF1, 0xDC, 0xAC, 0x11, 0xF3, 0x4C, 0xAF, 0x53, - 0x58, 0xD9, 0xE0, 0x8A, 0xC3, 0x06, 0x72, 0x14, 0xD7, 0x0C, 0xA0, 0x8E, 0xFC, 0xC8, 0xE3, 0x73, - 0x1B, 0xEF, 0x0D, 0x6A, 0xB0, 0x55, 0x51, 0x61, 0x30, 0x07, 0x15, 0x7E, 0x10, 0xF7, 0x75, 0xB7, - 0xA5, 0xB5, 0x44, 0xFA, 0x92, 0xA8, 0x79, 0x74, 0x90, 0x2F, 0x4D, 0xD0, 0xE5, 0x6B, 0x50, 0xD1, - 0x96, 0x89, 0xF4, 0xA1, 0x8C, 0xE5, 0x62, 0x3A, 0x87, 0x5A, 0x13, 0x02, 0x08, 0x91, 0x7C, 0x5E, - 0xEA, 0x53, 0x8F, 0x85, 0x61, 0xC9, 0x98, 0xB5, 0x59, 0xFD, 0x0D, 0x38, 0xAB, 0xBE, 0x09, 0xB4, - 0x89, 0xF2, 0x15, 0x18, 0xB2, 0xBA, 0x1D, 0x16, 0xB8, 0x86, 0x12, 0x81, 0x20, 0xC9, 0xDC, 0xF0, - 0xFE, 0x79, 0xC0, 0x5C, 0x85, 0xED, 0x9B, 0xBD, 0x0F, 0xDB, 0x14, 0xFD, 0x41, 0xFC, 0xDB, 0xD7, - 0x9F, 0xE0, 0x41, 0x4A, 0x4A, 0x3C, 0x49, 0x27, 0xFD, 0x91, 0xF0, 0x48, 0x05, 0x59, 0xDF, 0x09, - 0x1A, 0x33, 0x32, 0xE9, 0x34, 0xCC, 0xA2, 0x05, 0x7B, 0x69, 0xA4, 0x79, 0x0E, 0xEC, 0x38, 0xF9, - 0x19, 0xD7, 0x16, 0xE1, 0x3E, 0x91, 0xD2, 0xBE, 0x1B, 0x8B, 0xDA, 0xD6, 0x5E, 0x22, 0x2C, 0xD2, - 0xB4, 0x26, 0x98, 0x57, 0xF6, 0xBE, 0xB8, 0xC8, 0x08, 0xBA, 0x21, 0xDA, 0xA3, 0x82, 0xBB, 0x78, - 0x5E, 0x84, 0x57, 0xF6, 0xAA, 0xB3, 0x7B, 0xFF, 0xFB, 0xE1, 0x5A, 0x01, 0xF7, 0x7D, 0x04, 0x83, - 0xB5, 0xFA, 0xA7, 0xD4, 0xAD, 0x4D, 0xC3, 0x13, 0x20, 0x13, 0x7E, 0x8B, 0xF9, 0x3C, 0xF2, 0xE8, - 0x68, 0x01, 0x74, 0xD9, 0x9C, 0x5E, 0x38, 0x1F, 0x7F, 0x2D, 0x01, 0xA7, 0x9A, 0x45, 0x1A, 0xB8, - 0x0A, 0x7C, 0xD1, 0xC7, 0x1D, 0xD6, 0x3F, 0xE0, 0xFC, 0x80, 0x6F, 0x26, 0x77, 0xBF, 0x36, 0x37, - 0x2B, 0x37, 0x99, 0x39, 0xEB, 0xA6, 0x2A, 0xBA, 0x02, 0x87, 0xD7, 0xCA, 0xEA, 0xEF, 0x1C, 0xF1, - 0x11, 0x62, 0x9C, 0x89, 0xC1, 0xE9, 0x3E, 0x63, 0x5B, 0xC9, 0x02, 0xAF, 0x43, 0xB0, 0x34, 0xA0, - 0x00, 0xF1, 0x40, 0x24, 0xC2, 0xBC, 0xB7, 0x5F, 0x61, 0x40, 0x39, 0x9C, 0x4E, 0x78, 0x97, 0xF7, - 0x67, 0x35, 0x76, 0x4E, 0xF0, 0xFA, 0xC5, 0x6F, 0x51, 0xF4, 0xF4, 0xBF, 0xD5, 0x55, 0xF9, 0x96, - 0xC4, 0x2C, 0xC5, 0xEC, 0x9D, 0xE4, 0xFD, 0x54, 0x2F, 0x7B, 0xB2, 0x2B, 0xC6, 0x86, 0x17, 0x8F, - 0x47, 0xA2, 0x01, 0x33, 0x3C, 0x7E, 0x9E, 0xC9, 0x22, 0x27, 0x71, 0x1C, 0xE4, 0xAE, 0xEA, 0x9A, - 0x65, 0x0D, 0x6D, 0xC5, 0x6F, 0x3F, 0xD9, 0xDE, 0xCD, 0x25, 0x3D, 0x6B, 0x57, 0xDB, 0x24, 0x55, - 0x4B, 0x72, 0x27, 0xAC, 0xA0, 0xEE, 0x0B, 0x44, 0x60, 0x51, 0xA6, 0xF2, 0x2B, 0x7C, 0x3B, 0x00, - 0x97, 0x55, 0xCB, 0x22, 0x71, 0x72, 0xC2, 0x90, 0x58, 0xEC, 0x92, 0x56, 0xB1, 0x94, 0xEF, 0x2A, - 0xFA, 0x1C, 0x6C, 0xAB, 0x24, 0x77, 0xF8, 0x20, 0x26, 0x63, 0xD4, 0xC2, 0x03, 0x24, 0x9B, 0xAE, - 0x6A, 0x39, 0x6F, 0x52, 0x22, 0x33, 0x85, 0x87, 0x9A, 0x12, 0xBB, 0xC0, 0x59, 0x9A, 0xD2, 0x3E, - 0x10, 0xBE, 0xA3, 0x0A, 0x30, 0x67, 0x93, 0xD5, 0x52, 0xD1, 0x64, 0x46, 0xC4, 0xCA, 0xF8, 0xF8, - 0xA7, 0x8D, 0x5F, 0x71, 0x02, 0x21, 0xE1, 0xE5, 0x66, 0x21, 0x0C, 0xBB, 0xB6, 0x2C, 0x11, 0xC6, - 0x8A, 0x16, 0x31, 0x10, 0x95, 0x56, 0xC1, 0x98, 0x95, 0x7A, 0x77, 0x60, 0xBB, 0xE4, 0xB2, 0x91, - 0x7F, 0xCF, 0x1F, 0x08, 0xDD, 0x4B, 0x69, 0x5A, 0x00, 0xB3, 0xD8, 0x5D, 0x3B, 0x26, 0x80, 0x25, - 0x99, 0xBD, 0xF6, 0x36, 0x8A, 0xA1, 0x1F, 0x9D, 0x9D, 0x73, 0x8E, 0xE7, 0xB8, 0x6D, 0xE7, 0xAD, - 0x75, 0x42, 0x8E, 0xEB, 0xAE, 0x18, 0x4A, 0x2F, 0xB5, 0xDA, 0xD1, 0xB6, 0xFE, 0x84, 0x0C, 0x04, - 0xDE, 0xEE, 0xB7, 0x21, 0x3A, 0x3A, 0xE3, 0x6E, 0x4A, 0xCC, 0xF6, 0x34, 0xD8, 0x9D, 0x5A, 0xC1, - 0x52, 0x54, 0x71, 0x69, 0xCB, 0xB4, 0x4E, 0xD8, 0x28, 0x1A, 0x87, 0x0C, 0xF8, 0xF9, 0x48, 0xA3, - 0x03, 0x15, 0x64, 0x2C, 0xD3, 0xBD, 0x28, 0x31, 0x65, 0x04, 0x9C, 0x42, 0x18, 0xCB, 0xC7, 0x7B, - 0x8B, 0xCA, 0x0E, 0x93, 0x6B, 0x94, 0xE8, 0x0E, 0x54, 0xA1, 0xCE, 0x0F, 0x0A, 0xDD, 0x93, 0x29, - 0x2D, 0x6A, 0x2E, 0x45, 0x93, 0x12, 0xBC, 0x3F, 0x9F, 0x47, 0x81, 0x70, 0xC0, 0xFB, 0x53, 0x28, - 0x76, 0xA6, 0xAA, 0xE3, 0xAC, 0xF7, 0x06, 0x58, 0x6E, 0x28, 0xF5, 0x3C, 0xE8, 0xA3, 0xF3, 0x86, - 0xB6, 0x1E, 0x83, 0xDC, 0x4F, 0x2D, 0xBD, 0xBC, 0x1E, 0xDE, 0xE0, 0x66, 0xA8, 0x37, 0x5C, 0x88, - 0xAA, 0x81, 0x46, 0x6D, 0xD4, 0x43, 0x90, 0xDD, 0x14, 0xE3, 0x16, 0x76, 0x68, 0x61, 0xC1, 0x32, - 0x34, 0x4C, 0x78, 0x80, 0x76, 0x8C, 0x7A, 0x7C, 0x9E, 0x56, 0x1E, 0x1E, 0x8E, 0x2E, 0x0A, 0x4D, - 0xAD, 0x00, 0xCE, 0x92, 0xA7, 0x10, 0xB3, 0xA8, 0xC4, 0x3D, 0x5B, 0x82, 0xE2, 0xD3, 0xAE, 0x3D, - 0x08, 0x44, 0xCA, 0x4C, 0x2A, 0x81, 0xB9, 0x4B, 0xC2, 0x4D, 0xF1, 0xCB, 0x60, 0x5D, 0x73, 0xFE, - 0xDC, 0xD6, 0xAC, 0xAA, 0x7F, 0x84, 0x83, 0xFB, 0x05, 0xE6, 0xE2, 0xED, 0xD0, 0xA1, 0xE8, 0x0D, - 0x43, 0xC7, 0xAD, 0xC4, 0x52, 0x35, 0x2F, 0xCE, 0xD9, 0x75, 0xF3, 0x40, 0xCD, 0x33, 0xF0, 0x7F, - 0x63, 0x50, 0xDA, 0xB9, 0x1F, 0x39, 0x73, 0x97, 0xFF, 0xA5, 0xFF, 0xDF, 0x11, 0x32, 0xCF, 0xFC, - 0xE7, 0x5F, 0x96, 0x99, 0x19, 0x7D, 0x0E, 0x30, 0x79, 0x5D, 0xAB, 0xEE, 0x2E, 0x88, 0x2A, 0x9B, - 0xD0, 0x06, 0x8A, 0x35, 0x58, 0x68, 0x5F, 0x75, 0x0B, 0x9F, 0xB1, 0x23, 0xAF, 0x8F, 0xA2, 0x64, - 0x07, 0x70, 0xC8, 0xDB, 0x94, 0xEC, 0x04, 0xD3, 0x19, 0xBF, 0xD5, 0x41, 0x82, 0x23, 0x13, 0x51, - 0x4F, 0x17, 0x8B, 0x5B, 0x23, 0x89, 0x40, 0xCC, 0x45, 0xA4, 0x3A, 0x94, 0x45, 0xCD, 0x70, 0x07, - 0x95, 0x6D, 0xD0, 0xA9, 0xFF, 0xB6, 0x41, 0x4F, 0x07, 0xD2, 0xED, 0x7A, 0xA9, 0xF2, 0xE6, 0xC3, - 0x54, 0x09, 0xC6, 0x15, 0x14, 0xDE, 0xC6, 0x67, 0xBF, 0xE7, 0x27, 0xA6, 0x8F, 0xEB, 0xB0, 0x06, - 0x1C, 0x6E, 0x85, 0x95, 0xF5, 0xEB, 0x31, 0xF4, 0xB1, 0x9E, 0x74, 0x68, 0xCE, 0xBA, 0xA5, 0x43, - 0x36, 0x74, 0x63, 0x0B, 0x97, 0xB9, 0x8D, 0xEF, 0x47, 0x90, 0x35, 0x03, 0x98, 0x09, 0xF5, 0xCF, - 0x6C, 0x64, 0xD8, 0x2E, 0xB7, 0xAB, 0xE9, 0x8D, 0x86, 0x4B, 0x8C, 0x6C, 0xFB, 0x70, 0x1D, 0x9F, - 0xC7, 0xC8, 0xE1, 0xE4, 0x32, 0x88, 0xDF, 0xA2, 0x03, 0x96, 0x48, 0xA4, 0x5B, 0xD6, 0x3D, 0x49, - 0x57, 0xED, 0xE2, 0x1D, 0x48, 0xD3, 0x05, 0x50, 0xA9, 0x83, 0xE6, 0x1A, 0x38, 0xAF, 0xD5, 0x19, - 0x6E, 0x5C, 0xC3, 0xA5, 0xB4, 0xFE, 0x60, 0xB1, 0x69, 0x49, 0xC0, 0x1B, 0x65, 0xA9, 0x62, 0x65, - 0x50, 0x6C, 0x6A, 0xE2, 0x67, 0x8D, 0xE5, 0x12, 0x37, 0x66, 0x20, 0x59, 0x99, 0xCC, 0x4F, 0x84, - 0xCF, 0x7D, 0x6B, 0x8C, 0x1B, 0x92, 0x42, 0x47, 0x82, 0x0F, 0x29, 0xB2, 0xE9, 0x66, 0x49, 0xCD, - 0xDB, 0xE5, 0xFA, 0x1B, 0xD1, 0x07, 0x2B, 0x73, 0xFE, 0xD2, 0x0E, 0xE3, 0x34, 0x14, 0x60, 0xC9, - 0xD0, 0x02, 0x0A, 0xAE, 0x47, 0xC3, 0xC7, 0x4C, 0x1E, 0x3F, 0x38, 0xA0, 0x67, 0x67, 0x15, 0xEA, - 0xF8, 0xA2, 0xA4, 0xF6, 0x62, 0xA5, 0x32, 0xD0, 0x8E, 0x76, 0x62, 0x1E, 0x9A, 0x45, 0x00, 0xC2, - 0x8D, 0xB5, 0x76, 0xA8, 0x4E, 0x2A, 0xDF, 0x2A, 0xD5, 0xC6, 0x5E, 0x2D, 0xD7, 0x5B, 0x4E, 0xD9, - 0x08, 0x96, 0x59, 0x9E, 0xE6, 0x03, 0xFE, 0x8B, 0xC4, 0x0C, 0xA9, 0xFD, 0x6F, 0x6E, 0x92, 0x13, - 0xAF, 0x48, 0x63, 0x80, 0x7E, 0x09, 0x6B, 0xE7, 0xC7, 0x70, 0x12, 0xB4, 0xEF, 0xE6, 0xEA, 0xED, - 0xDC, 0x1B, 0x16, 0xA3, 0x17, 0x4F, 0x91, 0xFF, 0x9E, 0x7C, 0x5F, 0xE8, 0x92, 0x4C, 0x87, 0x3B, - 0x0B, 0xC3, 0x65, 0x17, 0x9D, 0x27, 0x24, 0xF7, 0x06, 0x11, 0xE1, 0x55, 0x19, 0xE8, 0x81, 0xAC, - 0xBE, 0x49, 0x0D, 0x1F, 0x0A, 0x8D, 0xD9, 0x57, 0x9D, 0x00, 0xE4, 0xA1, 0xFE, 0xE3, 0x71, 0x19, - 0x5C, 0x29, 0xA2, 0x61, 0x1E, 0xA6, 0x89, 0x99, 0x95, 0x24, 0x00, 0xA2, 0xA3, 0xE9, 0xCA, 0x69, - 0x6D, 0x3A, 0xAE, 0x9A, 0x89, 0x0C, 0x74, 0x39, 0x23, 0xAA, 0xF1, 0x0F, 0x8C, 0x21, 0xBC, 0x03, - 0x36, 0xC9, 0x75, 0xE1, 0x36, 0xF7, 0x20, 0xC6, 0x82, 0x65, 0x53, 0xE5, 0x81, 0x7D, 0x8B, 0xC0, - 0x2A, 0x6B, 0x4C, 0xB6, 0x3B, 0xC0, 0x7C, 0x05, 0xF1, 0xBD, 0x84, 0x51, 0xFB, 0xB6, 0xC1, 0x23, - 0x51, 0x8A, 0xF5, 0xA9, 0xEE, 0x84, 0xF7, 0x72, 0x6C, 0x27, 0x25, 0x32, 0x88, 0x65, 0x62, 0xA6, - 0x0C, 0x3D, 0x89, 0xAF, 0xE9, 0xA3, 0x96, 0x47, 0x28, 0xF2, 0xAE, 0x45, 0xDF, 0x52, 0xC9, 0x20, - 0x46, 0xCF, 0x3C, 0x4B, 0xED, 0x7D, 0xD2, 0xE2, 0x3E, 0x73, 0x37, 0x24, 0x0E, 0x9D, 0x53, 0xF2, - 0x1E, 0x69, 0xDB, 0xB9, 0x06, 0xD4, 0x94, 0x0B, 0xFD, 0xAE, 0xB5, 0xAA, 0xDB, 0x16, 0x17, 0x85, - 0x97, 0x53, 0xE8, 0x82, 0xA5, 0x83, 0x99, 0xC3, 0x50, 0x72, 0x26, 0xBB, 0x8E, 0x15, 0x2B, 0x0C, - 0x23, 0x63, 0xCB, 0x4F, 0xCB, 0xE2, 0x02, 0xEE, 0x3A, 0x44, 0xE2, 0xDC, 0xC8, 0x27, 0x1B, 0x7E, - 0xAC, 0x1D, 0x5F, 0x09, 0x25, 0xFB, 0x11, 0x3D, 0x98, 0xF7, 0xFB, 0x7F, 0xD6, 0x4A, 0x20, 0x46, - 0xC4, 0x12, 0xFF, 0xC5, 0xC0, 0x9C, 0x2E, 0x87, 0xA0, 0x95, 0x2D, 0x0E, 0x7F, 0x7A, 0x67, 0x78, - 0xFA, 0x4D, 0xD3, 0xBA, 0x28, 0xCC, 0x4D, 0xFE, 0xAD, 0x46, 0xD6, 0xD3, 0x6C, 0x4B, 0x6B, 0x83, - 0x57, 0xCE, 0x52, 0xD4, 0x04, 0x43, 0xA0, 0x04, 0xB3, 0xE3, 0xAB, 0xB1, 0xE4, 0xCA, 0x94, 0x84, - 0x50, 0x30, 0xBE, 0x6C, 0x2E, 0x85, 0x3D, 0x54, 0x4D, 0xAB, 0xE0, 0x90, 0x94, 0x3C, 0xCE, 0x91, - 0xB4, 0x14, 0xB6, 0x6F, 0xA9, 0xDA, 0xD4, 0x9F, 0xDF, 0x5E, 0xCB, 0x41, 0x45, 0xF3, 0x54, 0x43, - 0xC5, 0xA8, 0xB4, 0x00, 0xE0, 0x4A, 0x8E, 0x21, 0x26, 0x5D, 0xEE, 0xD1, 0x01, 0xF5, 0xF3, 0x3E, - 0x06, 0x60, 0x32, 0xDF, 0xCA, 0x8C, 0x13, 0x71, 0x7E, 0x91, 0x69, 0xAB, 0x55, 0xE7, 0xA1, 0x28, - 0xF6, 0x54, 0xCF, 0xB7, 0x23, 0xB2, 0x61, 0x97, 0x05, 0x6D, 0x5A, 0x1C, 0x13, 0xD5, 0x91, 0x5A, - 0xF0, 0x10, 0x68, 0xCA, 0xD8, 0xEE, 0x33, 0x15, 0x47, 0x33, 0x75, 0xFC, 0x4C, 0xEB, 0xBD, 0x25, - 0xF2, 0xFF, 0x1F, 0x86, 0x16, 0x21, 0x80, 0x60, 0xB1, 0x5F, 0xDA, 0xDE, 0x0D, 0xB8, 0xAA, 0x62, - 0x86, 0x52, 0x86, 0x1D, 0x09, 0x74, 0xFC, 0xC7, 0xD8, 0x15, 0xA5, 0xF0, 0xDC, 0x77, 0x30, 0xB0, - 0x3B, 0x6A, 0x22, 0x29, 0xDD, 0x5E, 0x66, 0x2F, 0x56, 0xF9, 0x82, 0x2C, 0x40, 0xA6, 0xE4, 0x79, - 0x1B, 0x78, 0x40, 0x4D, 0x68, 0xB5, 0x0F, 0x26, 0x55, 0x85, 0x39, 0x65, 0x08, 0xED, 0x1A, 0x58, - 0xCD, 0x1A, 0x78, 0x3C, 0x7A, 0xD7, 0x2F, 0x42, 0x1D, 0x43, 0x83, 0xE9, 0x86, 0x1C, 0xAC, 0xF5, - 0xD3, 0x57, 0x36, 0x27, 0xF5, 0x0F, 0xCF, 0x70, 0x58, 0x56, 0xC2, 0xB8, 0x8F, 0x04, 0x45, 0x93, - 0x76, 0x66, 0x7B, 0x75, 0xA1, 0x5D, 0xDD, 0x66, 0xE7, 0x3C, 0x1D, 0x30, 0xA6, 0xBC, 0x7A, 0x53, - 0xAD, 0xA7, 0x14, 0xCC, 0x80, 0xE5, 0x6C, 0x5F, 0x64, 0x03, 0xC1, 0x31, 0x64, 0x42, 0xEC, 0x7A, - 0x64, 0x32, 0x29, 0x63, 0xB2, 0x51, 0xEC, 0x9D, 0x7C, 0x2D, 0x18, 0xC4, 0x79, 0x0A, 0x2E, 0xD2, - 0xA4, 0xAF, 0x93, 0x35, 0xD5, 0xD9, 0x6F, 0xD6, 0x42, 0xC4, 0x6A, 0x22, 0x93, 0x5D, 0xE9, 0xA4, - 0x0D, 0x87, 0xC2, 0x6A, 0x3E, 0x70, 0x29, 0x3F, 0x9F, 0xBC, 0x95, 0xCE, 0x2A, 0x79, 0x5B, 0xF1, - 0x81, 0xAC, 0x6A, 0xA5, 0x38, 0x39, 0x59, 0x95, 0xF4, 0x4A, 0x9B, 0x8F, 0xBE, 0xA1, 0x08, 0xC1, - 0xEA, 0xF6, 0xF6, 0xE0, 0x9C, 0x49, 0x35, 0x68, 0xE6, 0xFC, 0xD7, 0x16, 0x22, 0x70, 0xDC, 0x08, - 0x9A, 0xF0, 0xBF, 0x4A, 0x41, 0x8A, 0xB7, 0xE6, 0x38, 0xF8, 0x93, 0xB3, 0xB3, 0xFD, 0x3F, 0x02, - 0x31, 0x37, 0x99, 0x59, 0xDA, 0x79, 0x07, 0x1A, 0xDE, 0x9E, 0x01, 0x67, 0xB6, 0xA8, 0x8F, 0x38, - 0x90, 0xAD, 0x04, 0x3A, 0x61, 0x5C, 0x17, 0x40, 0x31, 0x1C, 0xBD, 0x96, 0x20, 0x44, 0x4B, 0x07, - 0xFF, 0x5C, 0x48, 0x4E, 0xC1, 0xF2, 0x3F, 0x18, 0x97, 0x98, 0x71, 0xCD, 0xC5, 0x7B, 0x2C, 0xBD, - 0x09, 0x2C, 0x12, 0x5B, 0x6E, 0xFC, 0x7F, 0x8C, 0xA8, 0xB1, 0xC9, 0x0D, 0x1F, 0x98, 0xC8, 0x06, - 0x34, 0x26, 0x02, 0xAD, 0xF3, 0x46, 0xBF, 0xDA, 0x19, 0x74, 0x56, 0x11, 0x71, 0x03, 0xA9, 0x2B, - 0x68, 0x2B, 0x35, 0x6E, 0x21, 0x25, 0x55, 0x98, 0xAF, 0xFA, 0xA7, 0xBC, 0xDE, 0x43, 0xA7, 0xBF, - 0x73, 0x77, 0xE0, 0x81, 0x42, 0x73, 0x92, 0x76, 0x2F, 0xB9, 0xC0, 0xF4, 0xBB, 0xF4, 0xB8, 0xFB, - 0x05, 0x35, 0x0E, 0x56, 0xD4, 0xB7, 0x7E, 0x49, 0xDD, 0xE2, 0xBA, 0x2E, 0x84, 0x28, 0x3B, 0xFA, - 0x30, 0x8D, 0xD2, 0x9C, 0x82, 0x72, 0x58, 0x50, 0x61, 0xF4, 0xDE, 0xEF, 0xEC, 0xC3, 0x13, 0x7D, - 0xA2, 0xEB, 0x34, 0x48, 0xC2, 0x0B, 0x1A, 0x88, 0xB0, 0x9F, 0x10, 0xF8, 0x07, 0x85, 0xBA, 0x94, - 0x72, 0xCD, 0xAB, 0x44, 0xFD, 0x88, 0xC6, 0x89, 0xCD, 0xE8, 0x87, 0xD8, 0x0B, 0xC8, 0xE3, 0xC8, - 0x8A, 0x4B, 0x9A, 0x10, 0x18, 0xEF, 0xF9, 0x33, 0xED, 0xA4, 0x88, 0x5C, 0x4F, 0xCE, 0x44, 0xB5, - 0x48, 0x39, 0x57, 0x0A, 0x90, 0x10, 0x78, 0x34, 0x41, 0xB8, 0xD1, 0x6B, 0x5A, 0x8F, 0x01, 0xE4, - 0x54, 0x9B, 0x6E, 0x5D, 0xE7, 0x6D, 0xEF, 0x14, 0x69, 0xD0, 0x3A, 0xEC, 0xE1, 0x9F, 0x24, 0xBE, - 0x9E, 0x5B, 0x6F, 0x7B, 0x50, 0x11, 0xB2, 0x12, 0xD1, 0xF1, 0x8B, 0xD5, 0xCC, 0x63, 0xC5, 0xDB, - 0xB1, 0x05, 0x2D, 0x9B, 0x7D, 0xF0, 0x4E, 0x77, 0x96, 0x58, 0xBB, 0xEB, 0xBF, 0xB0, 0x66, 0x5E, - 0xD8, 0xB0, 0xC6, 0x92, 0x7B, 0xB9, 0x3E, 0xDD, 0xF8, 0x59, 0xAA, 0x74, 0xA0, 0xCC, 0x33, 0xF9, - 0x49, 0x83, 0x1C, 0xCF, 0x97, 0x37, 0x19, 0x01, 0xE1, 0xB7, 0xB9, 0xA7, 0xD9, 0x22, 0x80, 0x8A, - 0x47, 0x75, 0x77, 0x8E, 0xC7, 0xBB, 0x4F, 0xB2, 0x7F, 0x51, 0xA3, 0x8D, 0x8B, 0x40, 0x9B, 0x36, - 0x9C, 0xB4, 0x18, 0x37, 0x2F, 0xEB, 0x2C, 0xCB, 0x5A, 0xEA, 0xB3, 0xD7, 0x99, 0x60, 0xF9, 0x52, - 0x41, 0x31, 0xD0, 0xF3, 0x0F, 0x3D, 0x8C, 0x6D, 0x90, 0xD3, 0x1F, 0x7C, 0xBA, 0xE5, 0xD6, 0x64, - 0x9D, 0xE5, 0xE3, 0x19, 0xC6, 0x90, 0xE8, 0x4A, 0xD4, 0x63, 0x36, 0x4E, 0x8A, 0x9F, 0x92, 0xA5, - 0x62, 0xE2, 0x62, 0x91, 0xDC, 0x52, 0x25, 0x38, 0x95, 0x32, 0x73, 0x5B, 0xBD, 0x33, 0xCB, 0xB9, - 0x79, 0x5E, 0x00, 0xC3, 0x9E, 0xB8, 0x46, 0xEA, 0x9F, 0x42, 0xC8, 0x06, 0x2E, 0xC2, 0x0A, 0x9E, - 0xFA, 0x5F, 0xDC, 0xFC, 0x92, 0x68, 0xD9, 0xCC, 0xD2, 0x1E, 0x91, 0x0A, 0x0E, 0xBF, 0x9D, 0xE9, - 0xC5, 0x9F, 0x64, 0xD5, 0x80, 0x1F, 0x7C, 0x34, 0x32, 0x2C, 0x49, 0x85, 0xF8, 0xAF, 0xA0, 0xE3, - 0x00, 0x86, 0x42, 0x83, 0x4A, 0x2A, 0xA0, 0x8C, 0xD9, 0xAB, 0x61, 0xED, 0x39, 0x13, 0xC4, 0xF5, - 0x57, 0x4E, 0x4F, 0x20, 0xB8, 0x72, 0x47, 0x2A, 0x59, 0x69, 0xD5, 0xDF, 0x6A, 0xDD, 0xBD, 0xFB, - 0x01, 0xA0, 0x88, 0x43, 0x57, 0x69, 0x92, 0x76, 0xEE, 0x2D, 0xCA, 0xBA, 0x22, 0x5D, 0xDA, 0xB8, - 0x99, 0x1D, 0x36, 0x2E, 0xE1, 0x86, 0x6A, 0xB5, 0x7A, 0x84, 0x8B, 0x98, 0x01, 0x28, 0xA9, 0xEB, - 0x4F, 0xBB, 0x96, 0x0E, 0x25, 0x5B, 0xA2, 0x30, 0xFF, 0xB2, 0xA4, 0xBB, 0xAA, 0xE2, 0x05, 0xD2, - 0x45, 0xD7, 0x03, 0x96, 0x19, 0x53, 0x6E, 0x82, 0x38, 0x5C, 0xF2, 0xD8, 0x71, 0x93, 0xA3, 0xB6, - 0xC9, 0x64, 0x55, 0xC6, 0x58, 0x5D, 0x05, 0x74, 0x5A, 0xE0, 0xE9, 0x8A, 0x5B, 0x0D, 0xB9, 0x50, - 0x82, 0xA1, 0x54, 0x7C, 0x4D, 0xAB, 0x5F, 0x04, 0xAA, 0x88, 0x14, 0xBE, 0x3D, 0xE4, 0xA1, 0x59, - 0xCB, 0x0B, 0x24, 0x7A, 0x44, 0xC2, 0xB4, 0xB1, 0xD6, 0x2F, 0x41, 0xA1, 0xA2, 0x8A, 0xB0, 0x58, - 0x1F, 0xC2, 0xF5, 0xE6, 0x8B, 0x4E, 0x1C, 0x9A, 0x85, 0x68, 0x56, 0xE0, 0x3A, 0x1B, 0x20, 0xD1, - 0x63, 0xC4, 0xA8, 0x51, 0xAD, 0x84, 0x1D, 0x5A, 0x79, 0x0D, 0xB7, 0xCD, 0x03, 0xA3, 0x91, 0xF0, - 0xAB, 0x00, 0x75, 0xD4, 0xE3, 0xBE, 0xE1, 0xAE, 0x47, 0x72, 0x9B, 0x92, 0xF4, 0x30, 0x70, 0xC5, - 0x02, 0xE9, 0x33, 0x3F, 0xBC, 0x17, 0xB0, 0x86, 0x63, 0x27, 0x29, 0x2B, 0x18, 0xED, 0x8F, 0xBD, - 0x97, 0x89, 0x76, 0x81, 0x1A, 0xB7, 0x66, 0xA6, 0x58, 0xAC, 0x9E, 0x65, 0xE7, 0x16, 0xDB, 0x02, - 0x23, 0x4B, 0xF6, 0xB3, 0xB5, 0x7E, 0x5B, 0x33, 0x10, 0x04, 0x5C, 0x78, 0x12, 0x0E, 0x02, 0x2C, - 0x7D, 0xA6, 0xD5, 0xF4, 0xF1, 0xC9, 0x44, 0x56, 0x1E, 0x45, 0x37, 0x8E, 0x6E, 0x2A, 0xD8, 0x57, - 0x2F, 0xB0, 0xC7, 0xA0, 0xA3, 0x6C, 0x09, 0x67, 0xA6, 0x85, 0x08, 0xA7, 0xE6, 0x95, 0x07, 0x3D, - 0xC7, 0xF0, 0x15, 0x69, 0x9B, 0x01, 0x32, 0x79, 0xF7, 0x8E, 0x68, 0x09, 0xB3, 0x27, 0x23, 0x84, - 0xA5, 0x94, 0x35, 0x7B, 0xEA, 0xD7, 0x0A, 0x1B, 0x06, 0x23, 0xDE, 0x87, 0x3F, 0x6F, 0x99, 0x42, - 0x8E, 0x5A, 0x65, 0x6F, 0x8D, 0x13, 0x60, 0x2D, 0x82, 0xD0, 0xBA, 0x1E, 0xDB, 0xDA, 0xD3, 0xB0, - 0x34, 0x0C, 0xA5, 0xF2, 0x7B, 0x2E, 0x70, 0x27, 0x19, 0xFD, 0xDB, 0x70, 0xC7, 0x6B, 0x4C, 0x75, - 0x2E, 0x96, 0x0D, 0x60, 0xEC, 0x8A, 0x76, 0xAC, 0x5E, 0xD1, 0x39, 0x21, 0x40, 0x43, 0xA7, 0x1D, - 0x80, 0xCE, 0x25, 0xC0, 0x98, 0xE5, 0x3A, 0x5D, 0x61, 0x6B, 0x5E, 0xC4, 0x1B, 0xE5, 0x6B, 0x99, - 0xF8, 0x30, 0xAD, 0x40, 0x9C, 0x80, 0xCD, 0xF1, 0xE7, 0xD4, 0x4D, 0xB2, 0x65, 0x4A, 0x89, 0xF9, - 0x0B, 0xCC, 0x1D, 0xDB, 0x8F, 0x2B, 0xEB, 0x36, 0xB2, 0xEE, 0xFD, 0xB7, 0xB1, 0xAC, 0x1B, 0x9F, - 0x4B, 0x43, 0x43, 0x39, 0x73, 0x9B, 0x18, 0xAD, 0xBB, 0x17, 0x7A, 0xBF, 0x59, 0x86, 0x81, 0x4B, - 0x3B, 0xBE, 0x2F, 0x9D, 0x36, 0xF0, 0x84, 0xF7, 0x6A, 0xDE, 0xAE, 0x23, 0xC0, 0x94, 0xCD, 0xFD, - 0x31, 0xD2, 0xBA, 0x05, 0x02, 0x4D, 0x20, 0xCF, 0xD0, 0x52, 0xE6, 0xE5, 0x67, 0xC1, 0xB1, 0xE2, - 0xF7, 0x82, 0x27, 0x2F, 0xBA, 0x4A, 0xCC, 0x31, 0x26, 0x47, 0xBC, 0x95, 0x46, 0x3F, 0xFA, 0xAA, - 0xEE, 0x51, 0x34, 0xC1, 0x13, 0xDE, 0x8D, 0x13, 0x60, 0xAE, 0x15, 0x7E, 0xD8, 0xD2, 0x37, 0x94, - 0xBE, 0x28, 0x57, 0x29, 0x6C, 0xE0, 0xA1, 0x4C, 0x51, 0x55, 0x19, 0x6D, 0x05, 0xDF, 0xCC, 0x47, - 0x90, 0x38, 0x18, 0xCA, 0x99, 0x39, 0xB9, 0x62, 0x3D, 0xA8, 0x69, 0xC9, 0x0A, 0x48, 0xF8, 0x45, - 0x89, 0xEB, 0x0B, 0x24, 0xDF, 0xB6, 0x2D, 0x1C, 0x50, 0x90, 0x52, 0xD7, 0xA9, 0xEA, 0xE1, 0xF6, - 0xA6, 0xDD, 0x8E, 0x07, 0x6F, 0x04, 0xA9, 0x68, 0x0C, 0x53, 0x65, 0xDA, 0x7C, 0x8F, 0xAF, 0xAF, - 0xF1, 0x15, 0x83, 0xA4, 0x54, 0x8D, 0x9A, 0x52, 0x0F, 0xDA, 0x59, 0x8F, 0x6D, 0x22, 0x3C, 0x73, - 0x06, 0x11, 0xE6, 0x08, 0xCB, 0x9C, 0xF4, 0x53, 0x6D, 0x66, 0x42, 0xDD, 0x26, 0xAA, 0xBF, 0x14, - 0x2C, 0xF9, 0x7C, 0xDC, 0xFF, 0x21, 0x50, 0x6B, 0xBC, 0xAF, 0x96, 0x41, 0xFA, 0x24, 0x98, 0xF8, - 0x9C, 0xC3, 0x29, 0xD9, 0x1C, 0xEA, 0x1A, 0x11, 0xF1, 0xF3, 0xCF, 0x4D, 0x2A, 0x35, 0x6F, 0x32, - 0x53, 0xB6, 0x9A, 0x17, 0x50, 0xE8, 0x6D, 0xFE, 0xA2, 0xB4, 0xD8, 0x0C, 0x08, 0xC3, 0xC0, 0x5E, - 0xFE, 0xA7, 0x09, 0xCB, 0x09, 0x1C, 0x40, 0x61, 0xFD, 0xFE, 0xD3, 0x54, 0x7D, 0x0C, 0x73, 0x90, - 0xC0, 0x41, 0x7B, 0x22, 0x61, 0xEC, 0xBD, 0x55, 0xCF, 0x8C, 0xE3, 0x12, 0xCA, 0x77, 0x40, 0x6C, - 0xA8, 0x49, 0xCE, 0xA8, 0xB9, 0xAE, 0xC4, 0x15, 0xE9, 0x95, 0x26, 0x44, 0x97, 0xAD, 0xD1, 0x5F, - 0x38, 0xF7, 0x94, 0xE1, 0xD6, 0xDF, 0xC6, 0xA9, 0xEF, 0xE8, 0x81, 0x00, 0x07, 0x54, 0xF4, 0x5C, - 0x3D, 0x29, 0x8B, 0x16, 0x75, 0xC6, 0x64, 0x1A, 0x56, 0xED, 0xF5, 0x93, 0x3E, 0xEC, 0x45, 0x7D, - 0x55, 0x21, 0x3E, 0x9C, 0xC1, 0x11, 0x17, 0xC2, 0xF2, 0x7A, 0xF3, 0x18, 0x83, 0x74, 0xFB, 0x10, - 0x71, 0x5D, 0xE4, 0xE7, 0x48, 0x12, 0x2B, 0x97, 0x74, 0xC5, 0xE0, 0x6E, 0x2B, 0xB6, 0xB3, 0x0D, - 0x7B, 0x31, 0x71, 0x7F, 0x56, 0xB5, 0x11, 0x49, 0xFC, 0x3B, 0x98, 0xEE, 0x62, 0xB5, 0x08, 0x71, - 0xD7, 0x06, 0x28, 0x63, 0x20, 0xE2, 0xD6, 0xA3, 0x5F, 0x14, 0x72, 0x9B, 0xC8, 0xFC, 0x78, 0x77, - 0x58, 0xFC, 0xC5, 0x4F, 0x7E, 0x97, 0x04, 0xB4, 0x41, 0x0F, 0x3C, 0xD6, 0xFB, 0xA7, 0x44, 0xC7, - 0x75, 0xA5, 0x31, 0xD0, 0xCD, 0xC1, 0x88, 0xE4, 0x0E, 0x1F, 0x12, 0x35, 0x35, 0x8C, 0x14, 0xD3, - 0xB1, 0x9A, 0xDD, 0x46, 0x78, 0xCA, 0x78, 0x03, 0x7D, 0x3C, 0x67, 0x66, 0x76, 0x6C, 0x22, 0x3E, - 0xD1, 0x91, 0x8C, 0xE8, 0x79, 0x16, 0xFB, 0x3C, 0x48, 0xF6, 0xBB, 0xDE, 0x93, 0x5A, 0xB4, 0xF3, - 0x0F, 0x34, 0xC8, 0xEC, 0x9D, 0x5C, 0x4E, 0xCE, 0x87, 0x24, 0x21, 0x0F, 0xF2, 0x4C, 0x2D, 0x72, - 0xB2, 0xD3, 0x66, 0x3A, 0x60, 0x30, 0x3E, 0x6A, 0xAC, 0xF5, 0xB3, 0xFA, 0x87, 0x83, 0x9E, 0xBC, - 0xF6, 0xA4, 0xED, 0xEF, 0x7F, 0x4B, 0x87, 0x8B, 0x7F, 0x70, 0x10, 0x89, 0xE4, 0x1E, 0x3F, 0x26, - 0x7E, 0xEF, 0x6E, 0x88, 0x4C, 0x77, 0xDC, 0x3B, 0x3B, 0xD5, 0xCE, 0x8D, 0xD9, 0x51, 0xEB, 0xAB, - 0x85, 0x10, 0x3A, 0x37, 0x37, 0x2C, 0x07, 0xC8, 0x67, 0x16, 0xF9, 0x80, 0x33, 0xF0, 0x49, 0x64, - 0xFF, 0x81, 0xC3, 0x0B, 0xC9, 0xA4, 0x7F, 0x48, 0xF9, 0xCF, 0x03, 0xFF, 0x77, 0xEF, 0xFE, 0x01, - 0xD4, 0x4F, 0x93, 0x1F, 0xB7, 0x46, 0xD0, 0x28, 0xF3, 0xBF, 0xB8, 0xA2, 0x74, 0xE7, 0x1A, 0x25, - 0xAC, 0x2D, 0x7D, 0xD0, 0xA7, 0x12, 0x1E, 0xDF, 0xBA, 0x86, 0xBF, 0xF6, 0x25, 0x90, 0xCF, 0x1C, - 0x97, 0xA4, 0x47, 0xE3, 0xAA, 0xB1, 0xD6, 0x88, 0x66, 0x15, 0xAE, 0x5B, 0x26, 0x19, 0x9A, 0x20, - 0x5A, 0x10, 0x77, 0xC0, 0x31, 0xDF, 0xFB, 0xE9, 0x50, 0xD1, 0xC9, 0x31, 0x14, 0x6B, 0xDC, 0x10, - 0x1C, 0x9F, 0x09, 0x54, 0x22, 0x31, 0x28, 0xF0, 0xE3, 0xC8, 0x6A, 0x93, 0x79, 0x53, 0xC2, 0x2B, - 0xD0, 0xF7, 0x06, 0xF4, 0x1D, 0xD4, 0x92, 0x97, 0x81, 0x1E, 0x1B, 0xAB, 0x49, 0x6D, 0x6B, 0x6C, - 0xAF, 0xC9, 0x59, 0xD8, 0x7E, 0x3C, 0xEB, 0xC7, 0x52, 0xE5, 0xC6, 0xA6, 0x78, 0x96, 0x78, 0x60, - 0xC1, 0x64, 0xDA, 0x59, 0x93, 0x10, 0x11, 0x48, 0xF7, 0x98, 0xA4, 0xB8, 0xF9, 0x91, 0xF0, 0x9F, - 0x79, 0x63, 0x24, 0xB5, 0x0E, 0x3A, 0x41, 0x8E, 0xBF, 0xD3, 0x85, 0x46, 0x0F, 0x84, 0x80, 0xC5, - 0x7A, 0x87, 0x00, 0xBD, 0xE7, 0xBD, 0x8A, 0xD1, 0x4A, 0xF8, 0x54, 0xD4, 0xC0, 0x56, 0x51, 0x5F, - 0x15, 0xF6, 0xBC, 0xBF, 0xBD, 0xF4, 0x34, 0x41, 0x49, 0xDD, 0xC4, 0x2D, 0xC6, 0x2B, 0x15, 0xF8, - 0xCA, 0x35, 0x74, 0x39, 0x20, 0xDE, 0x64, 0x87, 0x85, 0x5A, 0xBE, 0x75, 0xD4, 0x3D, 0x41, 0xAA, - 0xA2, 0xC5, 0x40, 0xC4, 0x52, 0x37, 0x82, 0xB9, 0x79, 0x69, 0x09, 0x0E, 0xE6, 0x4F, 0x07, 0x9A, - 0xDF, 0xC3, 0x04, 0x63, 0x00, 0xCC, 0x00, 0xE5, 0x27, 0x46, 0xE9, 0x4C, 0xD8, 0x30, 0x58, 0xB6, - 0x93, 0xC1, 0xEB, 0x14, 0xB3, 0x02, 0x75, 0x2A, 0x4B, 0xE9, 0xCB, 0xBA, 0x8B, 0x77, 0x19, 0xA1, - 0x08, 0xB5, 0x46, 0x8D, 0xCF, 0x1D, 0xD2, 0x7F, 0x01, 0x96, 0xE5, 0xD3, 0x44, 0xA5, 0xC8, 0x3B, - 0x3C, 0x08, 0x7E, 0x29, 0x55, 0xC9, 0x3A, 0x55, 0xED, 0xB1, 0x39, 0x5D, 0x95, 0x6C, 0x54, 0xEF, - 0x0E, 0xE8, 0xF1, 0xF1, 0x18, 0xC5, 0x66, 0x0C, 0xC6, 0x3D, 0xF6, 0xF5, 0x27, 0xDC, 0x20, 0x6B, - 0xBB, 0xE3, 0x16, 0x01, 0xF4, 0x53, 0x59, 0xC8, 0x2B, 0x0B, 0xB5, 0x15, 0x54, 0xFF, 0x73, 0x1E, - 0xE3, 0xCB, 0xB6, 0xAF, 0x01, 0x76, 0xC5, 0xAE, 0x62, 0x51, 0x0B, 0x85, 0x76, 0xD7, 0x8E, 0x0B, - 0xBD, 0xBE, 0xA1, 0x7D, 0xEC, 0x5A, 0x3F, 0x21, 0xD2, 0x6D, 0x38, 0xDE, 0x68, 0xCC, 0xC3, 0x45, - 0x8B, 0x3B, 0x82, 0x52, 0xCD, 0xF2, 0x9E, 0x08, 0x18, 0x9A, 0xE8, 0xCF, 0x5D, 0x06, 0x7B, 0x99, - 0x95, 0x9C, 0x5C, 0x68, 0x58, 0x6A, 0xF2, 0x02, 0x64, 0x21, 0xA1, 0xCC, 0xD5, 0xF8, 0xFB, 0xE1, - 0xB6, 0xEF, 0x0F, 0x1D, 0xA2, 0x03, 0xEA, 0x44, 0x68, 0x6C, 0xFD, 0x95, 0x7F, 0x2E, 0x86, 0x8C, - 0x02, 0x38, 0xD7, 0x6E, 0x17, 0x89, 0xE2, 0x2C, 0x05, 0xD2, 0x40, 0x0D, 0xDB, 0xB9, 0x0D, 0x8A, - 0x0A, 0x8D, 0x5D, 0x06, 0xEA, 0x1E, 0x42, 0x86, 0x14, 0xD7, 0xB4, 0x96, 0xD0, 0x0C, 0xEA, 0x7A, - 0x74, 0x6F, 0x3D, 0xA9, 0xBA, 0x0A, 0x8C, 0xAD, 0x30, 0x33, 0xB7, 0x9E, 0xDA, 0x7C, 0xB7, 0xC1, - 0x8F, 0x5E, 0x2E, 0xA5, 0x47, 0x9D, 0x2C, 0x07, 0xBE, 0xC2, 0x1A, 0x28, 0x12, 0x16, 0x98, 0xB7, - 0xF4, 0x05, 0xDD, 0x7E, 0x13, 0x22, 0xD3, 0xFC, 0x71, 0x60, 0xF0, 0x89, 0x4E, 0xD5, 0x95, 0x80, - 0xA3, 0x19, 0x7F, 0x47, 0x4F, 0x2F, 0x10, 0xCB, 0xA9, 0xB7, 0x44, 0xFA, 0x85, 0x36, 0xEF, 0xCA, - 0xBC, 0x62, 0x9E, 0xFE, 0xC4, 0xFA, 0x67, 0x8F, 0x33, 0x16, 0x27, 0x67, 0x56, 0xB3, 0x9C, 0x69, - 0xBA, 0x3F, 0x29, 0x82, 0xA5, 0xFD, 0x52, 0xA8, 0xE6, 0x9D, 0x50, 0x23, 0x61, 0x35, 0xCB, 0xC2, - 0x5E, 0x75, 0xDB, 0x37, 0xE1, 0xF9, 0xF7, 0x76, 0x67, 0x04, 0x31, 0x35, 0xAE, 0xE7, 0x1A, 0x58, - 0x7B, 0x5B, 0x3F, 0x3E, 0x66, 0x35, 0x8D, 0x2E, 0xEE, 0x94, 0xA9, 0xA4, 0x70, 0xAA, 0xCA, 0xAC, - 0x94, 0x40, 0x63, 0xEB, 0xA1, 0x56, 0x63, 0x78, 0xAD, 0xF3, 0xE1, 0x24, 0xC7, 0xEE, 0xAF, 0xB3, - 0x43, 0x36, 0x21, 0x05, 0x4D, 0xC0, 0x5C, 0xBC, 0xF6, 0x89, 0x3B, 0xD6, 0x1B, 0xEF, 0x90, 0x30, - 0x89, 0x03, 0x99, 0xD9, 0x6B, 0x96, 0x45, 0x79, 0xE0, 0xED, 0xFA, 0x6A, 0xF0, 0x68, 0xF8, 0x18, - 0x5D, 0x91, 0xFF, 0x3F, 0x29, 0xD6, 0x9D, 0x00, 0x8B, 0x23, 0xED, 0xBB, 0xB6, 0x81, 0x13, 0xB1, - 0x51, 0x41, 0xD9, 0xA0, 0xF5, 0xE9, 0x9C, 0x83, 0xFC, 0xB4, 0xCD, 0xC6, 0xFB, 0xDD, 0x1F, 0xE8, - 0x05, 0xB9, 0x5F, 0x91, 0xCA, 0x0C, 0x26, 0xE4, 0xB0, 0xBB, 0x49, 0xE6, 0xFD, 0xA0, 0x5B, 0x4F, - 0x1F, 0x7B, 0x2D, 0x5C, 0x4B, 0x84, 0x21, 0x1B, 0xAC, 0xE2, 0x7E, 0x4A, 0xBC, 0xF1, 0x4E, 0x0A, - 0x48, 0x67, 0x8F, 0x65, 0xDC, 0xF3, 0x01, 0x66, 0xC4, 0x09, 0xF9, 0x62, 0xAC, 0xAB, 0xF5, 0x2F, - 0x6E, 0xAD, 0x4F, 0x64, 0x81, 0x44, 0x07, 0x1A, 0xE5, 0xB8, 0xC0, 0xDA, 0x50, 0xCE, 0xD8, 0xCE, - 0x8E, 0x82, 0x11, 0x26, 0x7D, 0x69, 0x62, 0xFB, 0x4C, 0x88, 0xFE, 0x9D, 0x83, 0x4B, 0xAB, 0x6D, - 0x87, 0xEB, 0xA4, 0xCD, 0x0D, 0x6F, 0xC8, 0xB2, 0x4D, 0x99, 0x61, 0xF3, 0xFF, 0xEC, 0xB4, 0x38, - 0xDA, 0x7A, 0x97, 0x17, 0x2A, 0x83, 0x14, 0x3C, 0xA3, 0x8A, 0xB2, 0xEA, 0x11, 0x9F, 0xCD, 0x8B, - 0x9B, 0x74, 0x61, 0x7C, 0x7C, 0xD3, 0xA7, 0xB0, 0x45, 0x90, 0x98, 0x74, 0x73, 0x23, 0x9F, 0x90, - 0x22, 0xAF, 0xA0, 0x13, 0x1F, 0x3B, 0xDE, 0xE0, 0xFE, 0x80, 0xC2, 0x51, 0x53, 0x47, 0x8D, 0xF2, - 0xE6, 0x72, 0x25, 0xDB, 0xBF, 0x1B, 0x78, 0x36, 0xC7, 0x2C, 0x69, 0x9B, 0xD6, 0x71, 0xAE, 0xDD, - 0x58, 0x28, 0x6C, 0x4B, 0x3C, 0x7C, 0x33, 0xBE, 0x91, 0x0A, 0x70, 0x5E, 0xDE, 0x4D, 0x1C, 0x11, - 0x29, 0xFE, 0x0E, 0x73, 0x1C, 0x6E, 0x57, 0xDC, 0x57, 0xB0, 0xFC, 0x16, 0x2F, 0xE0, 0x92, 0xA7, - 0x32, 0xE0, 0x43, 0x3D, 0xFC, 0xE1, 0x65, 0x04, 0x42, 0xF1, 0xAD, 0x53, 0x37, 0x86, 0x9B, 0x4E, - 0x60, 0x45, 0x72, 0x70, 0xEE, 0xB5, 0x73, 0x56, 0x28, 0x2E, 0x25, 0xEC, 0x8F, 0x46, 0xB2, 0x71, - 0xD9, 0x9E, 0xB3, 0x1F, 0x5F, 0x94, 0x4A, 0xEE, 0x17, 0xF2, 0x24, 0x6F, 0x71, 0x6F, 0x70, 0xE7, - 0x76, 0x57, 0x26, 0x22, 0xDF, 0xA6, 0x88, 0x5A, 0x39, 0x2B, 0xD1, 0x77, 0x39, 0xC7, 0x6D, 0x25, - 0x20, 0x97, 0xBB, 0x98, 0x5C, 0xC1, 0xC3, 0xD2, 0xD0, 0x59, 0x37, 0x49, 0x6E, 0xB1, 0x87, 0xE2, - 0x7F, 0x3E, 0x93, 0xC9, 0x1A, 0x2A, 0x2A, 0x7B, 0xA8, 0xA6, 0xDB, 0x94, 0x4A, 0xE4, 0x3E, 0x50, - 0xB0, 0xB2, 0xB8, 0x61, 0x6A, 0x2C, 0x80, 0x32, 0x5E, 0xA8, 0x9A, 0xFF, 0x92, 0xD4, 0xAA, 0x03, - 0xF5, 0xD9, 0xE2, 0xFD, 0x06, 0x88, 0x7D, 0x42, 0xE8, 0xE4, 0x03, 0xED, 0x43, 0x1D, 0x36, 0xD7, - 0x5F, 0xA9, 0xE4, 0xB4, 0x84, 0x55, 0xF3, 0x81, 0xEC, 0xA0, 0xA6, 0x33, 0xCE, 0x17, 0xA7, 0x34, - 0x4C, 0x02, 0x23, 0x92, 0x34, 0xCE, 0x0F, 0x72, 0x8A, 0x32, 0x72, 0xD5, 0x9B, 0x2D, 0xA2, 0x84, - 0x2F, 0xA3, 0xB9, 0x0F, 0x24, 0x75, 0x55, 0x57, 0x08, 0x8E, 0x83, 0x3A, 0x77, 0x12, 0x34, 0x40, - 0x5B, 0xCC, 0x48, 0x43, 0x0C, 0xD5, 0x0D, 0xF9, 0x8C, 0x42, 0xD8, 0x9C, 0x48, 0xA8, 0xD1, 0x27, - 0x4E, 0x3A, 0x38, 0x19, 0x4C, 0x7A, 0x99, 0xF7, 0xA5, 0xFA, 0x18, 0xA3, 0xAB, 0x13, 0x0B, 0xC3, - 0xB8, 0x07, 0x32, 0x09, 0x8C, 0xE7, 0xCF, 0x4D, 0x60, 0x65, 0x04, 0x12, 0x30, 0x3E, 0x65, 0xA2, - 0x2C, 0x5B, 0x1A, 0x79, 0xF9, 0x23, 0x30, 0x2E, 0x50, 0x21, 0xE7, 0x9A, 0xF8, 0x21, 0x4D, 0xB1, - 0x3E, 0x0F, 0x48, 0x6F, 0xC8, 0x6E, 0x95, 0x7C, 0x6F, 0x08, 0x5F, 0x5A, 0x92, 0xFE, 0xF2, 0x39, - 0xEC, 0xC6, 0xA0, 0x2F, 0xD6, 0x55, 0xF8, 0x44, 0x0F, 0xA6, 0x0E, 0x51, 0x2B, 0xDA, 0x40, 0x6C, - 0xCC, 0xD4, 0xC2, 0x4B, 0xB4, 0x6D, 0x2E, 0x35, 0xB9, 0x28, 0xFF, 0xFC, 0xED, 0x60, 0x08, 0xE0, - 0x8C, 0x7B, 0xCC, 0xDF, 0x01, 0x86, 0x47, 0x3C, 0xFC, 0x3D, 0xBE, 0xAD, 0x6A, 0x89, 0x57, 0x2B, - 0xCA, 0x90, 0x65, 0x36, 0x29, 0xD7, 0xEE, 0x63, 0x4E, 0x84, 0x9A, 0xF8, 0x12, 0x76, 0x8A, 0xC7, - 0x8F, 0x2E, 0xF0, 0x56, 0x09, 0x01, 0x4E, 0xC5, 0xF9, 0xCA, 0xA1, 0x73, 0xAD, 0x22, 0x71, 0x38, - 0x0F, 0x1C, 0x44, 0x94, 0x9C, 0x3C, 0x87, 0x6A, 0x3B, 0xD7, 0xE9, 0xDB, 0x83, 0xFB, 0x69, 0xCD, - 0x54, 0xEF, 0x9F, 0xEF, 0x5E, 0xAA, 0x79, 0x43, 0x2A, 0x1D, 0x1E, 0x0B, 0x56, 0x70, 0x2D, 0xBA, - 0xE4, 0x74, 0x6C, 0x13, 0x99, 0x8C, 0xD2, 0x50, 0x9A, 0x18, 0x4B, 0x31, 0x30, 0xE2, 0xCB, 0x6E, - 0xBA, 0x96, 0x2C, 0x9C, 0x02, 0x7F, 0x62, 0xAC, 0x1D, 0x10, 0x42, 0xC8, 0xE4, 0x78, 0xE1, 0x86, - 0xD6, 0x32, 0x5C, 0x61, 0x58, 0xE3, 0x09, 0xE9, 0xC9, 0x8C, 0x93, 0x01, 0x52, 0x34, 0xF3, 0x1F, - 0x9C, 0xC0, 0xE9, 0x85, 0x82, 0x07, 0xEA, 0x52, 0xDD, 0xB1, 0x7B, 0x0F, 0x1F, 0x2A, 0xBD, 0x04, - 0x5C, 0x5D, 0x53, 0xD3, 0x88, 0x17, 0xD7, 0xA4, 0xBC, 0xDF, 0xE0, 0x22, 0xDA, 0xB5, 0x0C, 0x18, - 0xF4, 0xCF, 0x49, 0x49, 0x03, 0x11, 0x73, 0x33, 0x5E, 0x8E, 0xA7, 0x0E, 0xB2, 0x5E, 0x24, 0x9F, - 0xDC, 0x6F, 0xE7, 0x11, 0xF2, 0x5D, 0x1C, 0x47, 0x39, 0x6B, 0x98, 0xB4, 0x36, 0x92, 0x82, 0xC4, - 0x9D, 0x7A, 0xA2, 0x40, 0x9B, 0x1B, 0xE6, 0x5F, 0x2E, 0x2A, 0xCB, 0xF3, 0x4C, 0x59, 0xC8, 0x27, - 0xBB, 0x2C, 0x67, 0x59, 0x23, 0xC7, 0xD3, 0x95, 0x06, 0x42, 0x20, 0x74, 0x5A, 0x3D, 0x74, 0xE6, - 0xB6, 0x8F, 0x30, 0x91, 0x85, 0x20, 0x8B, 0x67, 0xB2, 0x70, 0xA0, 0xB6, 0x54, 0x44, 0xBA, 0xB5, - 0x71, 0xEC, 0x66, 0x7F, 0xD9, 0xF5, 0x90, 0x88, 0xAD, 0x15, 0x17, 0xF2, 0x17, 0x23, 0x3A, 0xFD, - 0x1A, 0xB6, 0xFA, 0x3A, 0xE5, 0x8F, 0x69, 0x19, 0x51, 0xE1, 0x2D, 0xBC, 0x0A, 0x6B, 0xF8, 0x55, - 0x9B, 0x3E, 0x05, 0x3D, 0x97, 0x42, 0xAB, 0x03, 0x14, 0xF4, 0x6C, 0xED, 0x16, 0x32, 0x54, 0x62, - 0xF9, 0x6C, 0x1E, 0x81, 0x45, 0x21, 0x41, 0x41, 0xAF, 0xA9, 0x66, 0x9D, 0x31, 0xF3, 0xA5, 0xF1, - 0x25, 0x53, 0x9D, 0x80, 0x63, 0xBE, 0x91, 0x4D, 0xF6, 0xA5, 0x2B, 0xC1, 0x46, 0x64, 0xD8, 0xD1, - 0xAD, 0xD3, 0xE5, 0x7E, 0xAB, 0x38, 0x52, 0x92, 0x73, 0x11, 0x53, 0x57, 0xF6, 0x58, 0x83, 0xE2, - 0xDD, 0xD5, 0xAC, 0xD4, 0x1E, 0xD3, 0x3B, 0x9B, 0x26, 0x0E, 0x2F, 0xF0, 0xF7, 0x49, 0xED, 0x7D, - 0x0C, 0x49, 0x78, 0x1D, 0x35, 0x7B, 0xB7, 0x54, 0x31, 0x4F, 0x7C, 0xB7, 0x7E, 0xD9, 0x7C, 0xE5, - 0x51, 0xFE, 0x04, 0x1B, 0xF5, 0x7A, 0x7D, 0x72, 0xD0, 0x62, 0x80, 0xD2, 0x5F, 0x68, 0xC4, 0xDC, - 0xCF, 0x81, 0xFE, 0xC2, 0x1A, 0x0D, 0x7F, 0x3E, 0xEC, 0x37, 0x83, 0x5B, 0x44, 0x50, 0x4F, 0xDE, - 0x6F, 0xA1, 0x28, 0x64, 0x9F, 0xC5, 0xA2, 0xFA, 0xC3, 0x14, 0x06, 0x6D, 0x7D, 0xFC, 0x85, 0x75, - 0xFA, 0x39, 0x22, 0x08, 0x2D, 0x09, 0xAA, 0xC6, 0x95, 0x77, 0xC1, 0x83, 0x19, 0x5A, 0xF4, 0xAE, - 0xAC, 0x69, 0xAE, 0xBB, 0xDB, 0x62, 0xA4, 0x87, 0x8E, 0x25, 0xA3, 0x3F, 0xFF, 0x40, 0x6A, 0x84, - 0xD1, 0xCC, 0xB0, 0xD9, 0x0C, 0xB1, 0x1B, 0xFF, 0x15, 0x34, 0xA6, 0xCB, 0xD8, 0x81, 0x9B, 0x17, - 0x3C, 0xE0, 0x3F, 0x23, 0x1B, 0x63, 0x6E, 0xA1, 0x5B, 0x79, 0xB8, 0xD0, 0x68, 0xBD, 0xC0, 0x24, - 0xC8, 0x7F, 0x12, 0x7A, 0x4B, 0xEF, 0x38, 0x12, 0x75, 0x9A, 0xF7, 0xC0, 0x7C, 0xED, 0xEB, 0xEA, - 0x24, 0xE9, 0xD6, 0x45, 0xAC, 0x1F, 0x33, 0xA7, 0x00, 0xC9, 0x84, 0xE3, 0x91, 0xDB, 0x0B, 0xA9, - 0x72, 0xB9, 0x5A, 0xF6, 0xB5, 0x03, 0x3F, 0xAA, 0x92, 0x3C, 0xAF, 0x32, 0xD2, 0xBC, 0x8B, 0xE1, - 0xC7, 0x33, 0x32, 0xFE, 0x6D, 0x70, 0xE8, 0x1E, 0x94, 0xB7, 0x0B, 0xA5, 0xBF, 0x02, 0x13, 0x5C, - 0x1D, 0x48, 0x16, 0x82, 0x38, 0x4C, 0xEB, 0x97, 0x87, 0xC1, 0x8D, 0x1A, 0xA2, 0x4A, 0xD1, 0xF4, - 0x88, 0xD0, 0x1C, 0xEE, 0xE6, 0x76, 0x4C, 0x89, 0xFF, 0x41, 0x05, 0xE4, 0xDE, 0xF1, 0xD2, 0xBD, - 0x97, 0x27, 0x19, 0x30, 0x94, 0xBB, 0x8E, 0x93, 0xA9, 0x22, 0xC2, 0x0A, 0x04, 0x12, 0x36, 0x06, - 0xC3, 0x98, 0xE2, 0xCF, 0x67, 0x60, 0xD5, 0xE8, 0x9E, 0x2F, 0x9E, 0xC9, 0xCB, 0xB0, 0x97, 0xEC, - 0x3A, 0xA4, 0x98, 0x5E, 0xE7, 0x18, 0x5D, 0x16, 0x64, 0x50, 0x00, 0x10, 0xAE, 0x07, 0x88, 0xA8, - 0x6A, 0xB0, 0xB3, 0x90, 0x87, 0xB7, 0xBF, 0x68, 0xDF, 0x0D, 0x0A, 0x60, 0x8A, 0xE3, 0x80, 0xAB, - 0x75, 0x47, 0xB6, 0x4E, 0x93, 0x9C, 0xEF, 0xA6, 0xDC, 0x71, 0xB1, 0x29, 0x5C, 0x4D, 0x3D, 0x4C, - 0x31, 0x43, 0x68, 0xEB, 0x61, 0x29, 0xA5, 0x42, 0x46, 0xA0, 0x7E, 0xFB, 0xDD, 0xD4, 0x2B, 0x2D, - 0x9F, 0x95, 0xD5, 0x0C, 0xC5, 0x59, 0xC9, 0xBF, 0xD4, 0x55, 0x55, 0x2A, 0x13, 0x67, 0xE4, 0x58, - 0x14, 0x40, 0x91, 0x7B, 0x24, 0xE0, 0xB2, 0xA0, 0x77, 0x26, 0x86, 0xAF, 0x89, 0xC6, 0x79, 0x3B, - 0xE1, 0x65, 0xF7, 0xE7, 0xCD, 0xDE, 0xC0, 0x46, 0x0E, 0x66, 0xC4, 0x77, 0xEA, 0x01, 0x2F, 0xD5, - 0xF2, 0x8B, 0xEE, 0x34, 0xB3, 0x4A, 0x4F, 0x00, 0x35, 0x78, 0xA9, 0x4F, 0x59, 0x18, 0x8D, 0x76, - 0x77, 0xA8, 0xC1, 0x02, 0xC7, 0xCE, 0xFD, 0xB0, 0x02, 0x75, 0xF5, 0x8C, 0x00, 0x56, 0xE8, 0xA3, - 0x7A, 0x0B, 0x96, 0xCA, 0xFD, 0xFD, 0x74, 0x8B, 0x3E, 0x20, 0xF6, 0x05, 0xDC, 0xC5, 0x45, 0xB2, - 0x43, 0xAA, 0x56, 0x0D, 0x60, 0x47, 0xB4, 0xDD, 0x81, 0x4A, 0x29, 0x8D, 0x4D, 0x48, 0xA6, 0xB8, - 0xDE, 0x80, 0x90, 0x5D, 0x9E, 0xAB, 0xB3, 0x65, 0xDB, 0x3A, 0xDF, 0x98, 0x05, 0x03, 0x58, 0x99, - 0xCD, 0x6E, 0x89, 0x8E, 0xBC, 0xEA, 0x27, 0xCC, 0x72, 0xD1, 0x99, 0x71, 0x3B, 0xCE, 0xB5, 0x07, - 0xAE, 0x86, 0xD9, 0xF7, 0xE3, 0xC6, 0x19, 0xB3, 0x7E, 0xC2, 0xA8, 0x8A, 0xE8, 0x35, 0xB8, 0xDA, - 0xF0, 0x64, 0x99, 0x78, 0xCE, 0x27, 0xE5, 0xD6, 0xB4, 0xFB, 0x04, 0x21, 0x3F, 0x8A, 0x6B, 0xA2, - 0x82, 0x8D, 0xA7, 0x9E, 0xFA, 0xDA, 0x15, 0xBE, 0x84, 0xBD, 0x36, 0x53, 0xC3, 0xB9, 0x10, 0x15, - 0x37, 0x07, 0xCF, 0x96, 0xBA, 0xA3, 0x57, 0x66, 0x41, 0xEB, 0x10, 0x4A, 0xF0, 0x28, 0xCA, 0x48, - 0x6D, 0x4E, 0x5F, 0x28, 0x06, 0xA1, 0x26, 0x09, 0xE6, 0xAF, 0x16, 0x37, 0xF3, 0x0D, 0x33, 0xD8, - 0x1F, 0xA7, 0x61, 0xCE, 0xFC, 0x93, 0x65, 0x14, 0x25, 0x72, 0x94, 0xB9, 0xBB, 0x46, 0xCD, 0xF9, - 0x85, 0x73, 0x4B, 0x26, 0xC4, 0x37, 0xD8, 0x20, 0xF1, 0xEE, 0x45, 0x70, 0x57, 0x61, 0x43, 0x25, - 0xD0, 0x76, 0xFB, 0x1C, 0xBE, 0x7D, 0x13, 0xC3, 0xA8, 0xE2, 0x08, 0x2C, 0x9D, 0x96, 0x52, 0xF5, - 0x63, 0xB8, 0x34, 0x69, 0x51, 0x0A, 0x11, 0x8F, 0xBF, 0xA3, 0x5B, 0x6B, 0xF1, 0x39, 0xA4, 0xD7, - 0xCA, 0xF8, 0xB0, 0x36, 0xE8, 0xFF, 0xE4, 0xD5, 0xBE, 0xB9, 0xA1, 0xC0, 0x74, 0x82, 0x0A, 0xF0, - 0x93, 0xA4, 0xFD, 0x3A, 0xC8, 0x68, 0x99, 0xA2, 0x62, 0xB8, 0x22, 0xFF, 0x78, 0x1D, 0xDA, 0xD6, - 0x28, 0xD4, 0xF7, 0x67, 0x5B, 0xA9, 0x68, 0x85, 0x00, 0x04, 0x39, 0xAD, 0x3A, 0x7E, 0x30, 0x04, - 0x6D, 0x85, 0xB6, 0x72, 0x6C, 0xF0, 0xC4, 0x99, 0x81, 0x03, 0xC6, 0x25, 0x20, 0xB3, 0xF2, 0x76, - 0x91, 0xCB, 0x8C, 0x86, 0xC4, 0xB8, 0x06, 0x84, 0xEA, 0x46, 0x5A, 0x7F, 0xB1, 0xC9, 0x0B, 0x4A, - 0x8E, 0x8F, 0x3B, 0xE3, 0x8C, 0xDF, 0x86, 0xC7, 0x2D, 0xA8, 0x0C, 0x1C, 0x5E, 0x1C, 0x10, 0x16, - 0x3A, 0x4D, 0xBB, 0xD1, 0xDF, 0xA6, 0x48, 0xC9, 0x20, 0x60, 0x5B, 0xBF, 0xAC, 0xFB, 0x48, 0xB0, - 0x12, 0xCA, 0x50, 0xB9, 0x1E, 0xC2, 0xF4, 0xDF, 0x06, 0x79, 0x9E, 0xE9, 0x66, 0x27, 0x7D, 0x08, - 0xB2, 0x06, 0x38, 0xB6, 0xBD, 0xDB, 0x56, 0x6C, 0x37, 0x82, 0x92, 0xFA, 0xBE, 0x5E, 0x3F, 0x48, - 0xA9, 0xBA, 0x5A, 0xE4, 0x97, 0xC1, 0xC8, 0x8A, 0x61, 0x31, 0x1E, 0xAA, 0xFF, 0x35, 0x31, 0xBE, - 0xFF, 0x54, 0x9D, 0x87, 0x4C, 0x67, 0xB9, 0xEE, 0xF4, 0x5D, 0x14, 0x32, 0xC3, 0xF9, 0x39, 0x0C, - 0xD0, 0x62, 0x18, 0xA4, 0xE7, 0xCB, 0x73, 0xD7, 0x54, 0xFB, 0xC2, 0x12, 0x07, 0x31, 0xE4, 0x89, - 0xEC, 0xEB, 0x1B, 0xF1, 0xE5, 0xF3, 0xF8, 0xCC, 0xCA, 0x22, 0x38, 0x6D, 0x4B, 0x46, 0xE6, 0x66, - 0x0D, 0x8E, 0xE7, 0xDC, 0xDC, 0x42, 0x40, 0xED, 0x97, 0x24, 0x44, 0xDA, 0x6D, 0x47, 0x2C, 0xA6, - 0x1A, 0xC9, 0xB4, 0x9D, 0x44, 0xD2, 0xD1, 0x64, 0x46, 0xED, 0x90, 0x46, 0xA2, 0xEF, 0xA0, 0x8D, - 0x4F, 0x6E, 0xC8, 0x82, 0xDB, 0xC3, 0xBF, 0x65, 0x36, 0x47, 0xD9, 0x40, 0xAB, 0x04, 0xC9, 0x38, - 0x07, 0xE2, 0x72, 0x44, 0xF4, 0x60, 0x55, 0x10, 0x94, 0xAD, 0x78, 0x8F, 0x53, 0x00, 0x1C, 0x0F, - 0xC5, 0x4A, 0x3A, 0x59, 0x01, 0xB9, 0x4D, 0x3E, 0x14, 0x6F, 0xCC, 0xBD, 0xFC, 0x3D, 0xD5, 0x9A, - 0x72, 0xC1, 0x01, 0x17, 0xFE, 0xED, 0xB6, 0x81, 0x51, 0x0F, 0x59, 0x03, 0x5A, 0xEB, 0x75, 0xBA, - 0xC0, 0x94, 0x25, 0xAE, 0x12, 0x12, 0x6B, 0xF9, 0x17, 0xE6, 0xF0, 0xE8, 0x05, 0xBA, 0xDC, 0x92, - 0x85, 0xC5, 0x64, 0xBB, 0xD9, 0xFB, 0x34, 0x7E, 0x57, 0x72, 0xFE, 0x47, 0x0C, 0x51, 0xB5, 0x27, - 0x33, 0x68, 0x95, 0x35, 0x55, 0x41, 0x7C, 0xB8, 0x77, 0x16, 0x9C, 0x55, 0x7D, 0x69, 0x63, 0x45, - 0x53, 0x63, 0xC4, 0x9B, 0x00, 0x65, 0xCE, 0x01, 0xA5, 0x56, 0x74, 0x9C, 0x45, 0x52, 0x0E, 0x5B, - 0x6C, 0xA3, 0x7C, 0xB2, 0x88, 0xBA, 0x71, 0x6B, 0xB7, 0x40, 0x26, 0xC8, 0x17, 0x1F, 0xAB, 0x6A, - 0x05, 0x8D, 0x03, 0xF8, 0xFD, 0x09, 0xBE, 0xA5, 0x47, 0x28, 0xDB, 0xFC, 0x7E, 0x61, 0x87, 0x61, - 0x62, 0x37, 0x3C, 0x1D, 0xA6, 0xC5, 0x18, 0x21, 0x6F, 0x70, 0x75, 0x5C, 0x0A, 0x2D, 0xE8, 0x90, - 0x80, 0x1B, 0x7B, 0x4C, 0x21, 0x2E, 0x30, 0x49, 0xC7, 0xEA, 0x6F, 0xCE, 0x9D, 0x2B, 0x4C, 0x1B, - 0xE1, 0x36, 0xE0, 0x22, 0x3D, 0xB1, 0x81, 0x8C, 0x07, 0xBC, 0xD5, 0x53, 0x6B, 0x3B, 0x71, 0x11, - 0xF5, 0x38, 0x08, 0x1F, 0x26, 0xAF, 0xCF, 0xC1, 0x4D, 0x58, 0x60, 0xA1, 0xD0, 0xDF, 0x92, 0xCB, - 0x21, 0xF1, 0xD9, 0x83, 0xBF, 0xE3, 0xDD, 0x77, 0x21, 0xA5, 0x10, 0x05, 0x95, 0x43, 0xF9, 0x91, - 0xA6, 0x08, 0xD0, 0x8B, 0x57, 0x79, 0xF7, 0xA3, 0x7F, 0x2A, 0x50, 0xE7, 0x69, 0xB0, 0x49, 0x0A, - 0x16, 0x32, 0x85, 0x8E, 0x83, 0xEB, 0x11, 0xC5, 0xCF, 0xD6, 0xA3, 0x7C, 0x7A, 0x96, 0xE2, 0xCD, - 0x42, 0xB3, 0x33, 0x51, 0xE3, 0xAE, 0x84, 0x7B, 0x35, 0xCE, 0xE5, 0x15, 0x8A, 0xFA, 0x82, 0x70, - 0x4E, 0x48, 0x02, 0x42, 0x3E, 0x55, 0x89, 0xA8, 0x56, 0xB7, 0xB5, 0xFD, 0xF5, 0xD6, 0xBC, 0x2F, - 0xE7, 0xA1, 0x44, 0xA9, 0xA0, 0x98, 0x64, 0x96, 0x45, 0x64, 0xAC, 0x13, 0x5C, 0x97, 0x28, 0x0D, - 0xBD, 0xB4, 0xB2, 0xD9, 0x81, 0xD3, 0x9A, 0xDE, 0xD8, 0x34, 0x6A, 0x39, 0xE4, 0x7B, 0x2F, 0xF3, - 0x02, 0x3C, 0x6D, 0xB3, 0x8B, 0x5E, 0x79, 0x4F, 0xE1, 0xF3, 0xAA, 0x98, 0xB2, 0xC1, 0xEF, 0x6E, - 0x3E, 0xB5, 0x6E, 0xE6, 0x9A, 0xCD, 0xD4, 0x93, 0xEC, 0x3B, 0xFD, 0x3B, 0x89, 0xF2, 0x66, 0x54, - 0x09, 0x76, 0x32, 0xEB, 0x4F, 0x83, 0xB1, 0xCA, 0x69, 0x0D, 0xD2, 0x18, 0x39, 0x76, 0xD4, 0x20, - 0x32, 0x4E, 0x5F, 0xF5, 0xEC, 0x9A, 0x13, 0x79, 0x7A, 0xDE, 0xCB, 0xF6, 0x7F, 0xE2, 0x5B, 0x5E, - 0x83, 0x52, 0xC0, 0x30, 0xEE, 0xA2, 0x98, 0x62, 0xF8, 0x50, 0x08, 0x2B, 0xB6, 0x36, 0x8A, 0xC2, - 0x94, 0x15, 0x93, 0x71, 0xCC, 0x0D, 0x6E, 0x0E, 0x4B, 0x25, 0xC7, 0xE5, 0xFA, 0x41, 0x88, 0x2D, - 0xCD, 0x49, 0xDE, 0x7D, 0x1C, 0xFA, 0x7F, 0xC4, 0x1E, 0x1F, 0x77, 0xE0, 0x19, 0x0B, 0x43, 0x57, - 0x19, 0x80, 0x0F, 0xE1, 0xC0, 0xDD, 0xF1, 0x28, 0x84, 0xF7, 0x5D, 0x34, 0x2D, 0xAF, 0xFE, 0x6F, - 0xDA, 0x0E, 0x8D, 0x3C, 0xE1, 0x96, 0x0F, 0x60, 0xF6, 0x11, 0x63, 0xDD, 0x30, 0x9D, 0xBD, 0x95, - 0x7D, 0x73, 0x8B, 0x78, 0x71, 0xB3, 0xF6, 0x63, 0xAC, 0xAF, 0xF3, 0x94, 0x5F, 0x9F, 0xCC, 0x29, - 0xB8, 0x6A, 0xAD, 0x2E, 0x2C, 0x22, 0x2C, 0x50, 0x19, 0xA7, 0x9B, 0x1E, 0x87, 0xE6, 0x8E, 0x69, - 0x88, 0x18, 0x9F, 0x68, 0x9B, 0x11, 0x57, 0xAC, 0x6B, 0x41, 0xA5, 0xF7, 0xEF, 0x1B, 0x7E, 0x5D, - 0xC3, 0xDD, 0x9E, 0xD2, 0x84, 0x6A, 0xEE, 0x4D, 0x13, 0xD7, 0x20, 0x43, 0xB0, 0x4A, 0xD7, 0x75, - 0xBB, 0x23, 0x16, 0x52, 0xCD, 0xD1, 0xED, 0x31, 0x86, 0xBB, 0x2A, 0xDB, 0xAE, 0x70, 0x70, 0xAB, - 0xA8, 0x9C, 0x90, 0x24, 0x65, 0x99, 0x2F, 0x2C, 0x5C, 0xC7, 0x0E, 0xA0, 0x27, 0x4C, 0x73, 0xFE, - 0xAE, 0x0B, 0x34, 0xAF, 0xD8, 0x27, 0xB7, 0x41, 0xE9, 0xCF, 0x66, 0x2A, 0x93, 0x3F, 0xA4, 0x26, - 0x3C, 0xDA, 0x1F, 0x5A, 0x90, 0x40, 0x37, 0x02, 0xBF, 0x7C, 0xEA, 0x7A, 0x9E, 0x23, 0xA8, 0x3F, - 0x49, 0xF9, 0x6C, 0x09, 0xD3, 0x76, 0xD7, 0xEF, 0x53, 0x43, 0x2E, 0xEC, 0x2B, 0xD3, 0xA3, 0xD8, - 0x67, 0xE9, 0x23, 0xEA, 0x1D, 0x26, 0xFC, 0xFB, 0xA7, 0x1A, 0x03, 0x73, 0x98, 0x5F, 0xF5, 0x88, - 0x29, 0xF2, 0x3D, 0xA7, 0x2E, 0x1A, 0xA7, 0x4B, 0x4A, 0xE0, 0x8C, 0x5F, 0xC6, 0x8D, 0x80, 0x9F, - 0x4B, 0x96, 0x1D, 0xB5, 0x02, 0x5D, 0x45, 0x1A, 0x8F, 0x42, 0xAD, 0xD3, 0x99, 0xDC, 0x29, 0xB7, - 0xE8, 0x13, 0xCE, 0xC6, 0x61, 0xFC, 0xD8, 0x80, 0x04, 0x35, 0xE9, 0x06, 0x86, 0x65, 0x52, 0x56, - 0x7A, 0xC2, 0xE5, 0x33, 0x14, 0x4F, 0x17, 0x4E, 0xAA, 0xD2, 0x54, 0xD0, 0x7B, 0x15, 0x3E, 0xF2, - 0xE0, 0x10, 0x2A, 0xE2, 0x75, 0xD6, 0x01, 0xCF, 0xEE, 0x77, 0x8A, 0xD4, 0x9F, 0xA0, 0x74, 0x00, - 0xE3, 0x59, 0x91, 0x9E, 0x92, 0x78, 0xBC, 0x19, 0xF1, 0xA9, 0x8F, 0x23, 0x51, 0x8B, 0x24, 0x14, - 0x58, 0x29, 0x9B, 0xC3, 0x91, 0x9C, 0xB4, 0x3D, 0xA1, 0x67, 0xA4, 0x37, 0x2F, 0x24, 0xC6, 0x74, - 0xA2, 0xF0, 0x05, 0xBC, 0xD5, 0x2B, 0xAB, 0x58, 0x58, 0xF6, 0xDE, 0x0B, 0xD1, 0x5C, 0x4E, 0xF4, - 0x95, 0x33, 0x59, 0xB1, 0x3F, 0x89, 0x0A, 0x97, 0x0C, 0x09, 0x25, 0xB4, 0xAA, 0x87, 0x15, 0x07, - 0x71, 0x01, 0x36, 0x52, 0xB6, 0x4A, 0x2C, 0x54, 0x8C, 0x9C, 0xB1, 0x04, 0x25, 0x95, 0x3E, 0x51, - 0xEB, 0xD5, 0x1C, 0xBA, 0x8E, 0xEE, 0x91, 0x60, 0x58, 0x00, 0x60, 0xCD, 0xC9, 0xB2, 0xB0, 0x8D, - 0x97, 0xCA, 0x49, 0x1D, 0x23, 0x77, 0xE5, 0xFB, 0xC2, 0xD1, 0xAF, 0x1F, 0x83, 0xCD, 0xD9, 0xA3, - 0x24, 0x04, 0x86, 0x68, 0xCC, 0x00, 0xE7, 0xB7, 0xD5, 0x90, 0xFC, 0x58, 0xEF, 0x62, 0x2F, 0x81, - 0x76, 0xFF, 0xDA, 0xEA, 0x88, 0xA7, 0xE1, 0xCA, 0xF9, 0xCF, 0xC2, 0x27, 0xB1, 0x4D, 0x6D, 0x61, - 0x04, 0x16, 0xE4, 0x0C, 0xBC, 0x5A, 0x11, 0xA2, 0xC9, 0x89, 0xF0, 0x55, 0x4D, 0x7E, 0x16, 0xD6, - 0x99, 0x3C, 0x22, 0x5C, 0x74, 0xDC, 0xD2, 0x7D, 0x9B, 0xDD, 0xE2, 0x43, 0x81, 0xF9, 0x4E, 0xAC, - 0xC3, 0x75, 0xB2, 0xE2, 0xC8, 0xDE, 0xA3, 0x12, 0x3C, 0x99, 0xE4, 0x3E, 0x82, 0xDC, 0xB7, 0x3C, - 0x2A, 0xF2, 0xED, 0x29, 0xEC, 0xD6, 0x47, 0x11, 0xA6, 0x48, 0x2B, 0xEC, 0x77, 0xF7, 0x25, 0xED, - 0xB7, 0xD8, 0x2B, 0x79, 0x12, 0x3A, 0x40, 0xA9, 0xFC, 0x38, 0xDD, 0xF9, 0x3F, 0xBC, 0xDB, 0xCC, - 0x5A, 0xF4, 0xA4, 0x83, 0x91, 0xBB, 0xED, 0xC7, 0x03, 0xB0, 0x5C, 0xFE, 0x9A, 0xC1, 0xC5, 0xAE, - 0x39, 0x1C, 0xF4, 0xFA, 0xCE, 0x97, 0xD3, 0xB8, 0x0F, 0xA3, 0x6D, 0x05, 0x49, 0x3A, 0xC8, 0x73, - 0x06, 0xF9, 0x93, 0x40, 0xC1, 0x37, 0xBB, 0x74, 0x48, 0x0A, 0x5D, 0x3B, 0x2B, 0xEC, 0xF0, 0x02, - 0x15, 0x17, 0x8A, 0x93, 0xBF, 0xA3, 0x34, 0x32, 0x73, 0x14, 0x30, 0x03, 0x98, 0xF5, 0x52, 0xA1, - 0x8E, 0x79, 0xEB, 0xBE, 0x8F, 0x80, 0x80, 0xFF, 0x43, 0x52, 0x02, 0x71, 0xAE, 0x31, 0x38, 0xC6, - 0x83, 0xDA, 0xBC, 0x76, 0xB5, 0xB3, 0x09, 0xC4, 0x7F, 0x07, 0x01, 0xF8, 0x72, 0xA2, 0x95, 0xD7, - 0xC5, 0x31, 0x15, 0x9F, 0x13, 0x54, 0x51, 0x36, 0x3B, 0xD2, 0x8A, 0x8F, 0xAF, 0x20, 0x56, 0x59, - 0x81, 0x35, 0xCB, 0x3A, 0xE1, 0xE1, 0x1B, 0xD2, 0xA1, 0x03, 0x45, 0x5D, 0x2E, 0xB9, 0x40, 0x38, - 0xE0, 0x32, 0xEC, 0x0F, 0x56, 0x9D, 0x46, 0xD4, 0x0A, 0x54, 0x72, 0xDB, 0xFB, 0x32, 0x04, 0x4F, - 0x6B, 0xE7, 0xA8, 0x78, 0xB7, 0x24, 0x3D, 0xCB, 0xA9, 0x27, 0xA1, 0x5E, 0x61, 0x93, 0x99, 0x2C, - 0x37, 0xEA, 0x9F, 0xBB, 0x15, 0x1D, 0x21, 0x9C, 0xE3, 0x5D, 0x6A, 0xBD, 0xB9, 0x44, 0xEA, 0x98, - 0x63, 0x55, 0x64, 0x44, 0xE6, 0xC6, 0x7A, 0xE7, 0xD4, 0x50, 0x36, 0x7E, 0x76, 0xE6, 0x4B, 0x72, - 0x9E, 0xC2, 0xCE, 0xE4, 0xF5, 0xCA, 0x4B, 0x1C, 0xA2, 0x7F, 0xFE, 0x14, 0xF8, 0x17, 0xFD, 0xDF, - 0xCE, 0xD6, 0xE5, 0x2A, 0x95, 0x65, 0xA9, 0x62, 0x19, 0x22, 0xF4, 0x64, 0xDC, 0xF3, 0xF5, 0xDC, - 0x33, 0x41, 0x4F, 0x8A, 0x1F, 0x0D, 0x1C, 0x6A, 0xE9, 0xC5, 0xFF, 0xD1, 0xCD, 0xF6, 0x6E, 0x28, - 0x86, 0xCB, 0x27, 0x82, 0xC7, 0x7E, 0xCB, 0xDE, 0xEF, 0x4E, 0x5B, 0x46, 0xA0, 0x48, 0xF6, 0x95, - 0x7C, 0xA2, 0x61, 0x9A, 0x94, 0x0B, 0xB8, 0xFD, 0x82, 0x33, 0xF1, 0x90, 0xAC, 0x05, 0xAF, 0xC9, - 0xE9, 0x3A, 0x6B, 0xF6, 0x4A, 0x31, 0x1F, 0xE3, 0xFA, 0xB3, 0x79, 0x6E, 0xD0, 0xBE, 0xAC, 0x80, - 0xC8, 0x92, 0x42, 0x57, 0x69, 0x1E, 0x9A, 0xD5, 0x26, 0x0B, 0x4C, 0xA4, 0x1A, 0x49, 0xBD, 0x50, - 0x25, 0xBE, 0xCD, 0xAD, 0x7E, 0xCC, 0xEF, 0x8B, 0x68, 0x46, 0x52, 0xBF, 0xAA, 0x75, 0xE6, 0x63, - 0xD0, 0x9B, 0xAB, 0x31, 0xDE, 0x62, 0xC7, 0xD3, 0x7D, 0xBB, 0x70, 0x97, 0xE3, 0x2F, 0x76, 0xDD, - 0x3C, 0x0D, 0x6F, 0x0E, 0x39, 0x92, 0xCC, 0x66, 0x08, 0xE8, 0x03, 0xB4, 0x0E, 0x19, 0x96, 0x9E, - 0x9B, 0xD3, 0x55, 0x10, 0xED, 0xB8, 0x56, 0x8E, 0xBE, 0x66, 0xF2, 0x19, 0x0F, 0x08, 0xF8, 0x01, - 0x3B, 0xF3, 0x83, 0xB6, 0x68, 0x70, 0x8B, 0x4A, 0x91, 0x45, 0x77, 0x2F, 0x36, 0xA4, 0x32, 0xAA, - 0x58, 0x1B, 0xD3, 0xCF, 0xA9, 0x1F, 0x50, 0xF3, 0xF3, 0x57, 0x57, 0x4B, 0x8D, 0xB4, 0x17, 0xF0, - 0x0E, 0x4B, 0x5F, 0x7C, 0x5F, 0x74, 0x5E, 0xB2, 0xE8, 0x05, 0x35, 0xF7, 0x6B, 0xAE, 0x89, 0xDA, - 0x29, 0xA7, 0xD1, 0xA0, 0x6C, 0xAE, 0xCF, 0xEF, 0x5B, 0x7C, 0xDB, 0x84, 0x85, 0xBD, 0x90, 0x09, - 0x59, 0xA1, 0x98, 0x0A, 0xD9, 0x45, 0xA6, 0xE6, 0x0E, 0x63, 0xA7, 0x23, 0x84, 0xAC, 0xFE, 0x96, - 0xA5, 0x8C, 0x79, 0x6F, 0x87, 0x07, 0x89, 0x06, 0xAD, 0x10, 0x74, 0xA6, 0x2D, 0x9C, 0xB9, 0xA8, - 0xF8, 0x3B, 0x05, 0x69, 0x47, 0x06, 0x43, 0x20, 0x4C, 0x3D, 0x88, 0xC3, 0x0C, 0x2D, 0x01, 0x91, - 0x6F, 0x4C, 0x78, 0x49, 0xE5, 0x3F, 0x5F, 0x77, 0x69, 0x86, 0x98, 0x99, 0x64, 0xC6, 0x29, 0x16, - 0xEE, 0xC4, 0x87, 0x4E, 0x97, 0xF2, 0x9D, 0x6D, 0x2C, 0x93, 0xD9, 0xC8, 0x78, 0x9F, 0x85, 0x21, - 0xD1, 0x21, 0xE0, 0xF4, 0x11, 0xC3, 0x65, 0x39, 0x8B, 0xD7, 0xDF, 0xB5, 0x34, 0x90, 0xA5, 0xA5, - 0x0D, 0x1E, 0x63, 0xF5, 0x37, 0x5C, 0xB5, 0x35, 0xD2, 0xDB, 0x92, 0xE9, 0x43, 0x07, 0xD8, 0x85, - 0x4F, 0x5E, 0x1A, 0x2D, 0x51, 0xBA, 0x27, 0xE1, 0x7B, 0x30, 0xD4, 0x00, 0x28, 0xC9, 0x09, 0x92, - 0x69, 0x08, 0xDF, 0x34, 0xE9, 0x66, 0x12, 0x2B, 0x53, 0x58, 0x3F, 0x87, 0x3E, 0xAD, 0xB5, 0x53, - 0x85, 0x9E, 0x1B, 0x0B, 0xAB, 0x88, 0x64, 0xFC, 0xD0, 0x67, 0xE3, 0x86, 0x65, 0xD7, 0x47, 0x89, - 0x42, 0xFD, 0x4D, 0xE5, 0xF7, 0x5D, 0x7F, 0x13, 0xCF, 0x02, 0x54, 0xC2, 0x26, 0xB0, 0xC7, 0xC1, - 0xA8, 0x2F, 0x2E, 0xA7, 0xFA, 0x6A, 0x23, 0xD0, 0xC1, 0xAD, 0x14, 0x56, 0xA8, 0x41, 0x71, 0x6C, - 0x68, 0xB2, 0x94, 0xF1, 0xF0, 0x7A, 0x1E, 0x26, 0xA0, 0xC3, 0x8F, 0x7B, 0x6D, 0xDE, 0xC0, 0x70, - 0x28, 0x1D, 0x9A, 0x65, 0x80, 0x20, 0xE8, 0x33, 0x44, 0x19, 0x6C, 0xC0, 0x44, 0x66, 0xFF, 0xB0, - 0x00, 0xBD, 0x34, 0x3D, 0x71, 0x6C, 0x87, 0x47, 0x23, 0xFC, 0x53, 0x7A, 0xC0, 0xAA, 0x59, 0xEB, - 0x10, 0x06, 0x11, 0x67, 0xEB, 0xF1, 0x26, 0x24, 0xE7, 0x6A, 0xBF, 0x45, 0x42, 0x16, 0xB6, 0x1A, - 0xA0, 0x9D, 0xE2, 0x9B, 0x2C, 0xD7, 0x8D, 0x37, 0x57, 0x6F, 0xEA, 0x7F, 0x24, 0x84, 0x50, 0xCE, - 0x22, 0x40, 0x21, 0x15, 0x2A, 0x9E, 0xFD, 0x9D, 0xB4, 0xFE, 0x67, 0x75, 0x20, 0xC0, 0x8E, 0x6B, - 0x4E, 0xE4, 0x51, 0xE8, 0x70, 0x02, 0x96, 0xD8, 0x60, 0x62, 0xB6, 0xBC, 0x96, 0x8C, 0x9C, 0xF2, - 0x3E, 0xE2, 0x18, 0x42, 0x5B, 0xAA, 0x1A, 0x17, 0x33, 0xF6, 0x6E, 0x8C, 0x60, 0x82, 0xF7, 0xB3, - 0x78, 0x09, 0xB1, 0xAB, 0x73, 0xFB, 0xB3, 0x48, 0x81, 0x4F, 0x4A, 0xD9, 0x18, 0x7D, 0x2A, 0x5F, - 0xFB, 0x6E, 0x39, 0xE0, 0xEE, 0x41, 0x73, 0x1E, 0x46, 0xA5, 0x1D, 0xAF, 0xF1, 0x0F, 0x14, 0xB9, - 0x7B, 0x5C, 0x8D, 0x22, 0x7B, 0x7C, 0xBA, 0xB1, 0x84, 0xB8, 0x55, 0x07, 0xDF, 0xD6, 0x0C, 0x4C, - 0xCA, 0x7D, 0x35, 0x1B, 0xBA, 0x13, 0x61, 0x08, 0x12, 0x7A, 0xAB, 0x2E, 0xE0, 0x0A, 0x8F, 0x4D, - 0xD8, 0x29, 0x67, 0x0D, 0x8B, 0x5E, 0xC4, 0x5A, 0x2D, 0x53, 0x13, 0xEE, 0x8A, 0xD5, 0x30, 0xC5, - 0x38, 0xA6, 0xBF, 0x3F, 0xC6, 0x10, 0xDA, 0x41, 0xC4, 0x5A, 0x0B, 0x88, 0x9F, 0x94, 0x75, 0x94, - 0x18, 0xB4, 0xDD, 0x5B, 0xA4, 0x28, 0x0C, 0x30, 0x72, 0xD4, 0xFA, 0x25, 0x59, 0x2E, 0x3D, 0x18, - 0x7B, 0xD2, 0x08, 0x78, 0x70, 0xCD, 0x5A, 0xF4, 0xC9, 0x41, 0x8A, 0x5F, 0xE0, 0xA3, 0xE8, 0xF7, - 0xD9, 0x71, 0x11, 0xCB, 0x48, 0xA0, 0x61, 0xEA, 0x46, 0x07, 0x1E, 0x21, 0x33, 0xBA, 0xFB, 0x19, - 0xBC, 0xA4, 0x5F, 0x92, 0x8B, 0xFC, 0x56, 0xE7, 0xF4, 0xB7, 0x9A, 0x55, 0x05, 0x95, 0x7E, 0x3A, - 0x11, 0xB5, 0xCC, 0x4E, 0x02, 0xFF, 0x6A, 0xB2, 0x7D, 0x8C, 0xA9, 0x6F, 0xCD, 0xC2, 0x73, 0x99, - 0xF2, 0xBF, 0x41, 0xDF, 0x8A, 0x20, 0xD5, 0xD8, 0xBD, 0xDA, 0x13, 0xF2, 0x0A, 0x02, 0x4A, 0x38, - 0x0C, 0x9E, 0x0A, 0x97, 0x9F, 0xD6, 0x8F, 0xA8, 0xBA, 0x62, 0xFF, 0x0C, 0x5A, 0xC4, 0xD7, 0x12, - 0xE1, 0x00, 0xC7, 0xA9, 0x76, 0x90, 0x26, 0x43, 0x2E, 0xCB, 0xBE, 0x2E, 0x89, 0xDD, 0xC4, 0xFC, - 0xEC, 0xDD, 0x3C, 0x7A, 0x8D, 0xA1, 0x2A, 0x50, 0x10, 0xB4, 0x92, 0x71, 0xF0, 0x8D, 0xA7, 0x14, - 0x3F, 0xA5, 0x83, 0xAD, 0x26, 0x0D, 0xE0, 0x69, 0xEC, 0xD1, 0x73, 0x5C, 0x7F, 0xCD, 0xF9, 0xF6, - 0x44, 0x12, 0xB0, 0x51, 0x54, 0x3F, 0xD0, 0x2F, 0x1C, 0xB9, 0x8E, 0x68, 0x99, 0xF3, 0x8B, 0x1F, - 0x9E, 0x4F, 0x21, 0x62, 0x4D, 0x19, 0x15, 0x79, 0x5E, 0x61, 0xF7, 0x28, 0x91, 0x9B, 0x3E, 0x95, - 0x67, 0xDF, 0x04, 0x61, 0x30, 0x1F, 0xB2, 0x3D, 0x2F, 0x0E, 0xF5, 0x94, 0x2F, 0x0B, 0x64, 0xDC, - 0x99, 0xFE, 0x4F, 0x29, 0xBE, 0x9D, 0x71, 0xE0, 0x6C, 0x13, 0xC7, 0x6E, 0xC9, 0x35, 0x16, 0x35, - 0x17, 0x22, 0x68, 0xC5, 0x77, 0x4C, 0xA5, 0x7C, 0xD1, 0x27, 0x63, 0x56, 0x21, 0x1F, 0x8C, 0xE1, - 0x06, 0xF2, 0x9F, 0x0F, 0x2B, 0x01, 0xFC, 0x70, 0x1A, 0xC4, 0x29, 0x2C, 0x1B, 0xAF, 0xD9, 0xE4, - 0xF0, 0xD0, 0x30, 0x63, 0x6C, 0x52, 0xEB, 0x31, 0x18, 0x88, 0x5E, 0xC3, 0x6E, 0x60, 0x6A, 0x2A, - 0xCF, 0x10, 0x88, 0x4A, 0xCC, 0xAF, 0x41, 0xA6, 0x12, 0xF8, 0xE5, 0x9E, 0xDE, 0xE4, 0xD8, 0x5E, - 0x94, 0x23, 0xB4, 0xFA, 0xD7, 0xB1, 0x0F, 0xEB, 0x67, 0xA6, 0x37, 0x89, 0x24, 0x6B, 0x35, 0x72, - 0xBF, 0xED, 0xE4, 0xEE, 0xC7, 0xFE, 0x21, 0x08, 0x31, 0x15, 0xBB, 0xD9, 0x7D, 0x46, 0xC1, 0xED, - 0x5F, 0xAE, 0xD2, 0x03, 0xE4, 0x8D, 0x54, 0x5B, 0x3A, 0xA0, 0x4B, 0x3E, 0x42, 0x82, 0x2D, 0x7B, - 0xDF, 0xE6, 0xB5, 0x40, 0x35, 0xA6, 0xC6, 0xAE, 0x36, 0xAD, 0x57, 0x27, 0xF1, 0x0E, 0x7B, 0x2B, - 0x47, 0x5B, 0x0B, 0x2D, 0xA2, 0x02, 0xC0, 0x25, 0xE1, 0x19, 0x24, 0xFF, 0xF9, 0x66, 0xCE, 0xA1, - 0x85, 0xF3, 0x43, 0x30, 0x1D, 0x84, 0xD3, 0x53, 0xE2, 0x90, 0x18, 0xAA, 0x85, 0x42, 0x14, 0xDA, - 0x86, 0xBA, 0xF8, 0x4C, 0xE3, 0x0C, 0xAB, 0xD3, 0x45, 0x8E, 0x22, 0x74, 0xE9, 0x48, 0x81, 0x42, - 0x62, 0x01, 0x1B, 0x96, 0x0D, 0xCB, 0xFD, 0xB0, 0x87, 0x94, 0xEF, 0x06, 0x37, 0x4D, 0x9E, 0xB5, - 0xC3, 0xEB, 0xB9, 0x59, 0xCE, 0x97, 0xCA, 0xBD, 0xDC, 0xEF, 0x34, 0xF5, 0xC8, 0xB6, 0xCA, 0x0A, - 0xDC, 0xAF, 0x0E, 0x3C, 0x17, 0x09, 0x30, 0xC2, 0x54, 0x11, 0x4C, 0x75, 0x59, 0xCC, 0x33, 0x36, - 0xD4, 0xAC, 0xEA, 0x18, 0x67, 0x03, 0x8B, 0x9F, 0xB6, 0x6F, 0xE3, 0x15, 0x97, 0xE7, 0x63, 0x22, - 0x69, 0x4B, 0x44, 0xCE, 0x2E, 0xB8, 0x88, 0xE3, 0xE6, 0xA1, 0xC8, 0x01, 0x49, 0xE2, 0x7C, 0xD5, - 0x7F, 0x2A, 0xDD, 0x4F, 0xFC, 0x77, 0x12, 0x32, 0xAC, 0x45, 0x7D, 0xF3, 0xEC, 0x3C, 0x38, 0xD1, - 0xB0, 0x5F, 0x6E, 0x81, 0x2D, 0x5C, 0x80, 0xC7, 0xC0, 0xB8, 0x0D, 0x57, 0x0B, 0x81, 0x96, 0x07, - 0x2D, 0x3C, 0xCF, 0x1B, 0xA8, 0x8F, 0x23, 0xB4, 0xBB, 0xA7, 0xB4, 0xB6, 0x7C, 0xC5, 0x1D, 0xD2, - 0x9C, 0x20, 0x50, 0xDE, 0xF4, 0xC2, 0x7A, 0xB8, 0xEF, 0x58, 0x4F, 0x09, 0x47, 0xF6, 0x94, 0xE8, - 0x20, 0xE1, 0x34, 0xC8, 0x73, 0x29, 0x52, 0xD0, 0xDA, 0x92, 0x93, 0xB1, 0x5E, 0x33, 0xB2, 0xBE, - 0xEE, 0xB2, 0x4D, 0xC6, 0xB1, 0xA9, 0xE6, 0xE2, 0x82, 0x60, 0x74, 0x17, 0x96, 0x64, 0xBF, 0x1D, - 0x6E, 0xFA, 0x2A, 0x85, 0xF5, 0x1E, 0xF9, 0x87, 0x99, 0x8F, 0xA1, 0x4B, 0x78, 0x32, 0x78, 0x7E, - 0xAC, 0x52, 0x62, 0x98, 0xBB, 0x24, 0x05, 0x73, 0x60, 0x1E, 0xDB, 0x77, 0x3D, 0xAE, 0x13, 0x24, - 0x00, 0x65, 0x3B, 0x84, 0xEA, 0x65, 0x40, 0x66, 0xA2, 0x04, 0x16, 0x05, 0x3A, 0x51, 0x92, 0xAC, - 0xF1, 0xF6, 0xFA, 0xA3, 0x9A, 0x6F, 0xFB, 0x3B, 0x48, 0x46, 0x75, 0xD7, 0x86, 0x4A, 0xF0, 0xFE, - 0x8C, 0xD6, 0x6D, 0xD4, 0xC6, 0x22, 0xA2, 0x37, 0x98, 0x4A, 0xEA, 0xF1, 0x87, 0xC9, 0x2C, 0xC1, - 0xD7, 0xE5, 0x51, 0x64, 0x50, 0x5A, 0x27, 0x83, 0x5B, 0x95, 0x6C, 0x39, 0x79, 0xB1, 0xA4, 0x41, - 0xB9, 0x7A, 0x40, 0x65, 0xF7, 0x26, 0x72, 0x9C, 0x32, 0x9C, 0x87, 0x8C, 0xD3, 0xF8, 0xD4, 0x47, - 0x28, 0xE2, 0xD0, 0xEC, 0xB0, 0x75, 0x65, 0xDD, 0xBE, 0x53, 0x2F, 0xA7, 0x1A, 0x2C, 0x05, 0xDB, - 0x90, 0xDB, 0x61, 0xCD, 0xD5, 0x89, 0x84, 0xF0, 0x74, 0x75, 0x2E, 0x67, 0x1C, 0x50, 0x58, 0x6C, - 0x1B, 0xD9, 0x59, 0xD6, 0x5C, 0x8A, 0xB8, 0xA5, 0x76, 0x39, 0x59, 0x88, 0xC5, 0xAA, 0xC6, 0x13, - 0xD1, 0x72, 0xF5, 0xEF, 0x6A, 0x0F, 0x97, 0x86, 0xAB, 0xFD, 0x91, 0x0D, 0x63, 0x7C, 0x66, 0x33, - 0xA0, 0xA9, 0x53, 0x8B, 0x84, 0xC8, 0xC1, 0xE5, 0xA3, 0xC1, 0x5D, 0xBF, 0x0F, 0x76, 0xF3, 0xAB, - 0x3E, 0x83, 0x49, 0x6D, 0x38, 0xAA, 0xDA, 0xB7, 0xAD, 0x80, 0x36, 0x49, 0xBC, 0xFA, 0xA5, 0xFB, - 0x19, 0xB6, 0x28, 0x6A, 0x9D, 0xEE, 0x04, 0xB3, 0x39, 0x29, 0x77, 0x6B, 0x7E, 0x4E, 0x25, 0xC9, - 0xA6, 0x3E, 0xF7, 0x00, 0x5D, 0x56, 0x3B, 0x9A, 0x9C, 0x7B, 0x3A, 0x5A, 0x68, 0x1C, 0x37, 0x9D, - 0x14, 0x6B, 0xD3, 0xB9, 0x56, 0x07, 0x5B, 0x34, 0xF1, 0x43, 0x01, 0x44, 0x28, 0xF4, 0xE5, 0x54, - 0x5C, 0xE7, 0x69, 0x7F, 0xFB, 0xF6, 0xED, 0xBA, 0x27, 0x32, 0x39, 0x26, 0x4C, 0x96, 0xC5, 0x46, - 0x03, 0x2C, 0x80, 0xF8, 0xAA, 0xB7, 0xA8, 0xAF, 0x4E, 0x3B, 0xD2, 0x93, 0xD8, 0x98, 0x85, 0xE9, - 0xDE, 0xC0, 0x7F, 0x80, 0xFF, 0x93, 0x1A, 0x16, 0xE7, 0x64, 0x83, 0xBB, 0x31, 0x31, 0xC3, 0x02, - 0x25, 0x3F, 0x2B, 0x3F, 0x74, 0xA8, 0xAD, 0x58, 0x47, 0xC2, 0x55, 0x9B, 0x51, 0xA4, 0x86, 0xBC, - 0x3D, 0xCA, 0xF2, 0x11, 0xDC, 0xE0, 0x6F, 0x45, 0x8E, 0x6D, 0x68, 0x0E, 0x93, 0x10, 0x06, 0x8E, - 0x79, 0xBD, 0x79, 0xC4, 0x0C, 0x17, 0x7E, 0x8F, 0x70, 0x44, 0xFE, 0xCC, 0xE8, 0xCB, 0x5D, 0x7D, - 0x9F, 0x69, 0xEB, 0xA2, 0x36, 0x42, 0xCE, 0x8A, 0xDB, 0x57, 0xD8, 0x0B, 0x14, 0x38, 0xED, 0xE6, - 0xB5, 0x81, 0x71, 0x76, 0xCF, 0x4B, 0x49, 0x82, 0x6B, 0xAB, 0x2B, 0x90, 0x9B, 0x78, 0xB3, 0x04, - 0xA7, 0x18, 0x3D, 0xC0, 0x06, 0x9A, 0x9D, 0x1E, 0x00, 0xEE, 0xB7, 0xCA, 0x66, 0x08, 0xDF, 0xA0, - 0xE9, 0x03, 0x23, 0x8D, 0x08, 0x72, 0x89, 0x23, 0xE3, 0x55, 0x53, 0x10, 0x82, 0xBD, 0x95, 0x52, - 0x58, 0x1F, 0xBC, 0x48, 0x25, 0xE9, 0xE8, 0x4D, 0xDE, 0xA3, 0x43, 0x1A, 0xD4, 0x07, 0x55, 0xCF, - 0x70, 0x98, 0x57, 0x20, 0x09, 0xAE, 0x0A, 0x1C, 0x7A, 0x34, 0x45, 0x91, 0x4E, 0x1D, 0xFD, 0x5D, - 0xD6, 0xC3, 0x9B, 0xA4, 0xB3, 0x91, 0x6D, 0xF9, 0x15, 0x40, 0x09, 0x60, 0x16, 0xB3, 0xD5, 0xFD, - 0xA0, 0x6F, 0x67, 0x74, 0x5A, 0xCB, 0x11, 0x59, 0x9E, 0xE8, 0xA8, 0x7D, 0xEF, 0xE3, 0x2F, 0x13, - 0x67, 0x49, 0x74, 0xDF, 0xA9, 0x37, 0x8A, 0xE9, 0x4A, 0x0E, 0xCE, 0xEF, 0x5F, 0xE6, 0x15, 0x46, - 0xFC, 0xBA, 0x88, 0x6F, 0xE9, 0xB8, 0x68, 0xB7, 0xA2, 0x24, 0x1A, 0x75, 0xD8, 0xEE, 0xEC, 0x4F, - 0xA6, 0x26, 0xCD, 0x04, 0x99, 0x45, 0xCC, 0xDB, 0x3B, 0x36, 0xAC, 0x39, 0x0C, 0x72, 0x25, 0x9E, - 0x7C, 0xC2, 0x76, 0xE7, 0x2C, 0xA1, 0x3E, 0x91, 0x20, 0x78, 0xE1, 0x27, 0x18, 0x4F, 0x2B, 0x76, - 0x76, 0xD2, 0x80, 0xDA, 0x96, 0xF7, 0xA3, 0x51, 0x3C, 0xC9, 0x24, 0xB8, 0x79, 0x21, 0x06, 0xED, - 0xFD, 0xD4, 0x17, 0x7E, 0x8C, 0x6D, 0x31, 0xF9, 0xBB, 0xE1, 0x4C, 0x53, 0x9B, 0x70, 0x2A, 0xAA, - 0x0C, 0x98, 0x63, 0x11, 0x22, 0x35, 0x91, 0xD1, 0xE0, 0x47, 0xC8, 0x9F, 0xFC, 0x95, 0x90, 0x95, - 0x07, 0xE6, 0x0A, 0x3D, 0xDF, 0x5D, 0xA5, 0x21, 0x95, 0x88, 0x06, 0x2C, 0x95, 0xDF, 0xBE, 0xEA, - 0x36, 0xAB, 0x58, 0x98, 0x8D, 0x4B, 0xF1, 0x33, 0x1D, 0x37, 0x6C, 0xF3, 0xAA, 0xF6, 0x7E, 0x52, - 0x28, 0x90, 0x60, 0xF5, 0x65, 0x0B, 0x38, 0xE1, 0x48, 0x85, 0xD5, 0xD7, 0xCA, 0x58, 0x75, 0x03, - 0x4A, 0xA8, 0x11, 0x23, 0x07, 0x6F, 0x2A, 0xC1, 0xC4, 0xCD, 0x13, 0x6D, 0x7C, 0xD6, 0xD8, 0xF2, - 0xFF, 0x43, 0x18, 0x4A, 0x09, 0xFB, 0x85, 0x81, 0x0F, 0x92, 0x94, 0x84, 0x39, 0xC3, 0x89, 0xB3, - 0xD7, 0x12, 0x47, 0xE3, 0xA0, 0x12, 0x6E, 0xC7, 0xE3, 0x4F, 0xEC, 0x7B, 0x8B, 0x7A, 0xDC, 0x97, - 0xF7, 0xC4, 0xE1, 0x43, 0x35, 0x72, 0xD0, 0x82, 0x1C, 0xB4, 0x53, 0x2F, 0x3C, 0x34, 0x57, 0xAC, - 0x62, 0xF9, 0x4E, 0x8A, 0x81, 0xB0, 0xE2, 0x02, 0xE9, 0xAC, 0x7D, 0xF6, 0xFE, 0x29, 0xFF, 0xE4, - 0x55, 0xFD, 0xB6, 0x5F, 0x20, 0x5A, 0x2D, 0xA0, 0xC6, 0x46, 0x08, 0x55, 0xB6, 0xEF, 0x73, 0x5E, - 0xE0, 0x16, 0xBF, 0x36, 0x69, 0xF0, 0x2B, 0xD0, 0x59, 0x28, 0x09, 0x44, 0xE3, 0xF0, 0xD4, 0x22, - 0xCB, 0xBE, 0x70, 0xBA, 0xBD, 0x39, 0xB7, 0x01, 0xC1, 0xB9, 0x80, 0xD4, 0xF4, 0xB1, 0x93, 0x71, - 0x0B, 0xBF, 0x56, 0x70, 0xC1, 0x3F, 0x00, 0x5C, 0xF8, 0x01, 0xA1, 0x65, 0x15, 0x9C, 0xF6, 0x8D, - 0xE4, 0xC8, 0x1A, 0x72, 0x3B, 0xE6, 0x7F, 0xC2, 0xFA, 0x8A, 0xBA, 0x5D, 0x29, 0xC9, 0x7F, 0x8E, - 0x61, 0x00, 0xDE, 0xAF, 0xED, 0x40, 0x5F, 0x62, 0x51, 0x40, 0x83, 0xF1, 0x06, 0xEA, 0x49, 0x0B, - 0xD3, 0xCC, 0xE2, 0xA7, 0xE7, 0x2C, 0xC7, 0xF7, 0x8A, 0x31, 0xE7, 0x57, 0x50, 0x89, 0xA7, 0xCC, - 0x25, 0xA7, 0xA3, 0xA9, 0x6B, 0x9F, 0x97, 0xA1, 0xA0, 0xAF, 0x01, 0x4D, 0x4B, 0xDB, 0x1B, 0xAE, - 0x65, 0xDE, 0x7B, 0xEB, 0x67, 0x64, 0x84, 0x90, 0x03, 0x0D, 0xB2, 0x54, 0xEB, 0xD4, 0xD7, 0xC6, - 0xDD, 0x02, 0xB1, 0xDE, 0xA2, 0x7D, 0xD2, 0xB6, 0xC2, 0xB1, 0xA4, 0x30, 0xC3, 0xBC, 0x50, 0x2D, - 0x7B, 0xE5, 0x43, 0x86, 0xF5, 0xB5, 0x71, 0xBB, 0x91, 0x7F, 0xAA, 0x49, 0x77, 0x8E, 0x92, 0xAD, - 0x27, 0x30, 0xAC, 0x9D, 0xA3, 0x5B, 0x12, 0x7C, 0xD9, 0xFF, 0xE9, 0x2E, 0x68, 0xEB, 0xD6, 0x1A, - 0x1B, 0x4A, 0x3D, 0x64, 0x3F, 0x1E, 0x48, 0x17, 0x71, 0x3D, 0xF4, 0x66, 0x94, 0x1F, 0x98, 0x20, - 0x69, 0x87, 0x27, 0xA6, 0xC0, 0x19, 0xC0, 0x96, 0x46, 0x91, 0xE8, 0x3F, 0xD1, 0x0A, 0xC9, 0x61, - 0xBB, 0xE4, 0x65, 0x4C, 0xDB, 0xA5, 0x92, 0xF4, 0xD5, 0x60, 0xCF, 0xFE, 0x6A, 0x57, 0xB9, 0x6B, - 0x9D, 0x7B, 0x69, 0x9C, 0x58, 0xA4, 0xAD, 0x28, 0xF5, 0x1D, 0xB8, 0x69, 0x33, 0x5B, 0xE5, 0x26, - 0x6A, 0x7E, 0xB7, 0x83, 0xDC, 0x14, 0xD9, 0x9A, 0x22, 0xF3, 0xFA, 0x1F, 0x6C, 0xDC, 0x2E, 0xCF, - 0x99, 0xA5, 0xCC, 0xD8, 0x27, 0xEB, 0x66, 0xCE, 0xC8, 0x52, 0x35, 0xBD, 0x5B, 0xD1, 0xED, 0x93, - 0x19, 0xDD, 0x32, 0x50, 0x5D, 0x7A, 0x5A, 0x37, 0x8C, 0x4D, 0x50, 0x0A, 0xA1, 0xAE, 0x34, 0x0D, - 0x79, 0x72, 0x4C, 0xB2, 0x76, 0xB4, 0x4E, 0x67, 0x8F, 0x45, 0x74, 0xEE, 0x1A, 0xF3, 0x44, 0x07, - 0x6D, 0x59, 0x82, 0xE2, 0x73, 0x6A, 0xB9, 0x78, 0x68, 0xF8, 0xA2, 0x40, 0x19, 0x8F, 0x0D, 0xBC, - 0x9F, 0xEC, 0x66, 0xA8, 0xAD, 0xCF, 0xBD, 0x3C, 0x09, 0xEE, 0x23, 0xD9, 0x83, 0x5E, 0xDF, 0x73, - 0x3B, 0x9C, 0x9B, 0xC4, 0x10, 0x28, 0x6B, 0x92, 0x7C, 0x21, 0xED, 0x6A, 0x11, 0xAB, 0x0E, 0x58, - 0xDA, 0x25, 0x84, 0xBF, 0x54, 0x5F, 0xBE, 0x19, 0x1F, 0xBC, 0x77, 0xCB, 0xB2, 0xD8, 0x8B, 0x8B, - 0xF2, 0x74, 0xDB, 0x16, 0x75, 0xFD, 0x32, 0xDC, 0x33, 0x5E, 0x26, 0x8C, 0xD0, 0xCA, 0xEF, 0xAB, - 0xE5, 0xA6, 0x85, 0x63, 0xFA, 0x07, 0x1E, 0x31, 0x00, 0x05, 0x96, 0xB0, 0x9E, 0x87, 0xF4, 0xB5, - 0xB5, 0x2A, 0x36, 0x35, 0xD7, 0x5E, 0x81, 0xC5, 0xCE, 0x2E, 0x82, 0xE0, 0xB0, 0x64, 0xE4, 0xFA, - 0x52, 0xDA, 0x83, 0x3E, 0x13, 0x61, 0x17, 0x29, 0x8D, 0xCE, 0x6F, 0xD6, 0xC5, 0x37, 0xC7, 0x89, - 0x4B, 0xC6, 0x8E, 0x32, 0x9F, 0xD2, 0x47, 0x7F, 0xC5, 0x4E, 0x2C, 0xB1, 0x57, 0xC2, 0x16, 0xA2, - 0x93, 0xB5, 0x3A, 0xE5, 0xF7, 0xDA, 0xCD, 0xCA, 0x78, 0xD6, 0x41, 0x0F, 0x51, 0x49, 0x81, 0x06, - 0xC6, 0x89, 0xB3, 0xE6, 0xD3, 0xA6, 0xB6, 0x10, 0xD0, 0x14, 0x5C, 0x47, 0x42, 0x3F, 0x3E, 0x80, - 0x18, 0xB3, 0xAD, 0x41, 0xD9, 0xCA, 0x2E, 0x85, 0x99, 0x17, 0x20, 0xFC, 0x3A, 0xBF, 0xC0, 0x08, - 0x30, 0xE2, 0xF2, 0xE8, 0x5C, 0x5C, 0x9A, 0xFD, 0x86, 0xAE, 0xC1, 0x87, 0x71, 0x05, 0x05, 0x09, - 0x04, 0x1F, 0x9A, 0x18, 0x62, 0xBA, 0x73, 0x8F, 0x31, 0xD5, 0x3D, 0xB4, 0x41, 0x43, 0x77, 0x3B, - 0x44, 0x66, 0x42, 0x5A, 0x0A, 0xB2, 0xF9, 0x3A, 0x6C, 0x0F, 0x0E, 0x25, 0x84, 0x15, 0x6E, 0x1D, - 0xF8, 0x64, 0x2D, 0x2B, 0x9A, 0x0C, 0xB0, 0x60, 0xFC, 0xF6, 0x0D, 0x00, 0x23, 0x51, 0x13, 0x1B, - 0x02, 0x56, 0x30, 0x68, 0xA4, 0xEA, 0x59, 0x12, 0xDD, 0x08, 0x45, 0x4B, 0xE0, 0x8C, 0x9D, 0x99, - 0x3A, 0xF2, 0x04, 0xD5, 0x8E, 0x02, 0x8D, 0x88, 0x01, 0x86, 0xA9, 0x6C, 0x34, 0x10, 0x54, 0x48, - 0x40, 0xB8, 0xE7, 0x1E, 0x3E, 0x38, 0x88, 0xDD, 0xD1, 0x97, 0x63, 0x9B, 0x6D, 0x1C, 0x08, 0x05, - 0xAF, 0xCF, 0xAB, 0x1C, 0xF1, 0x4D, 0x46, 0x6E, 0xF3, 0x61, 0x0F, 0x34, 0x7A, 0x5D, 0x4F, 0x56, - 0x33, 0x1B, 0x62, 0xCD, 0x32, 0xC3, 0x9B, 0xEC, 0xF1, 0xEA, 0x14, 0x0C, 0xCB, 0x98, 0x53, 0xC9, - 0x4D, 0x8F, 0x24, 0x42, 0x2B, 0x10, 0x75, 0xFF, 0x52, 0x48, 0xA7, 0x15, 0xF0, 0x86, 0x6B, 0xA4, - 0x39, 0x0B, 0x94, 0xF0, 0x04, 0x26, 0x56, 0x7A, 0x87, 0x2D, 0xFE, 0x5B, 0xC7, 0x8B, 0xA8, 0xF8, - 0x03, 0x38, 0xAF, 0x79, 0x53, 0xEE, 0xF5, 0x77, 0x96, 0x80, 0x22, 0xC8, 0xFB, 0xDE, 0x21, 0xFB, - 0x9E, 0x82, 0xF9, 0xB9, 0x93, 0x29, 0x54, 0x4E, 0x9C, 0x63, 0xB3, 0x45, 0x44, 0xB4, 0xA9, 0x24, - 0x60, 0x6E, 0x41, 0xBE, 0x55, 0x79, 0x7E, 0xD3, 0xBD, 0x9D, 0xFB, 0x0E, 0x1E, 0xC4, 0xBC, 0xD2, - 0x42, 0x2F, 0xE8, 0x2A, 0x4C, 0xAA, 0x90, 0xC0, 0x23, 0x70, 0xC5, 0xC3, 0xB7, 0x2F, 0x55, 0x94, - 0x1D, 0x03, 0x97, 0x14, 0x1C, 0xD3, 0x78, 0xA3, 0xFE, 0x7D, 0x16, 0x38, 0xBB, 0x3C, 0xAE, 0xA5, - 0xFB, 0x57, 0xAE, 0x6C, 0x34, 0xEC, 0x29, 0x86, 0x65, 0x08, 0x7C, 0x85, 0xCF, 0x96, 0x13, 0xD2, - 0xA4, 0x7B, 0xD1, 0x52, 0x64, 0x95, 0xC1, 0xE5, 0xB8, 0x05, 0xAF, 0x7E, 0xC3, 0x85, 0xE8, 0xE3, - 0x27, 0xFA, 0xBF, 0xFF, 0xEB, 0x6F, 0xED, 0x08, 0xDA, 0x1B, 0x0A, 0x03, 0x3C, 0x0D, 0xEF, 0x62, - 0xD9, 0x16, 0x07, 0xF8, 0x2D, 0x3F, 0xC7, 0x95, 0xFB, 0xE5, 0x42, 0x48, 0x66, 0x7D, 0xFA, 0x94, - 0x80, 0x73, 0xD2, 0xB6, 0x7C, 0x60, 0xEF, 0x3C, 0xC1, 0x55, 0x47, 0x1D, 0xBF, 0x32, 0xEE, 0xBE, - 0xBA, 0x40, 0xE9, 0x3F, 0x2B, 0xA8, 0x4C, 0x31, 0xD0, 0xF8, 0x9B, 0x8E, 0x83, 0x67, 0x67, 0xBD, - 0x8A, 0x63, 0x24, 0x8B, 0x4A, 0x85, 0x22, 0xAA, 0xB7, 0x92, 0xAD, 0x4A, 0xB3, 0x21, 0x15, 0x8F, - 0xF4, 0xF7, 0x62, 0x04, 0x53, 0x56, 0xCC, 0xB9, 0x14, 0x30, 0x1E, 0x53, 0x88, 0x3F, 0x2D, 0xE2, - 0xF9, 0xC0, 0xA1, 0x58, 0x46, 0x7E, 0x31, 0x9B, 0x97, 0xEF, 0xDA, 0xDD, 0x15, 0xA5, 0x4E, 0x43, - 0x16, 0xB7, 0xED, 0x5A, 0x89, 0x0B, 0xFF, 0x28, 0xB5, 0x19, 0xB6, 0x72, 0x02, 0xE4, 0x09, 0x10, - 0xBB, 0x2E, 0x76, 0x2E, 0xDC, 0xAC, 0xE0, 0x54, 0x9B, 0x70, 0xFC, 0x0D, 0x98, 0x35, 0xDB, 0xDF, - 0x83, 0x8A, 0x42, 0x93, 0xF6, 0x44, 0x34, 0xCE, 0x47, 0xFE, 0x10, 0x2A, 0x4C, 0xA9, 0x12, 0x0E, - 0xFD, 0x1E, 0x04, 0x1C, 0x72, 0xF4, 0x40, 0x7C, 0x2A, 0x77, 0xB7, 0x63, 0xFC, 0xAC, 0x28, 0x5B, - 0x41, 0x1C, 0x6B, 0x6D, 0xE2, 0x4A, 0x09, 0x26, 0xBA, 0x8E, 0xB4, 0x46, 0x5B, 0xE8, 0x55, 0x5D, - 0x89, 0x9A, 0xB4, 0xAE, 0x24, 0x1A, 0x23, 0xBB, 0xC0, 0xD6, 0x78, 0xC1, 0x09, 0xBC, 0x43, 0x4F, - 0xBD, 0x67, 0xDC, 0x5E, 0x1A, 0xFC, 0xCA, 0xC9, 0x77, 0xAD, 0x84, 0xF2, 0x39, 0xFA, 0x31, 0x7D, - 0x7F, 0xF1, 0xF5, 0xA0, 0xAB, 0xE0, 0x0F, 0x56, 0x96, 0x6C, 0xE5, 0x01, 0x3A, 0x86, 0x78, 0xC6, - 0xA1, 0xCB, 0xEB, 0x07, 0xA1, 0x8C, 0x97, 0xC3, 0xDF, 0x6F, 0x99, 0xBA, 0x42, 0x06, 0x86, 0x4E, - 0xF2, 0xBE, 0xC8, 0x74, 0xE7, 0x94, 0xFE, 0x39, 0x83, 0x36, 0x95, 0xF7, 0x2F, 0x7B, 0x50, 0xE4, - 0x2A, 0xCD, 0x7C, 0xA3, 0x8F, 0x9C, 0x74, 0x8C, 0x3E, 0xAE, 0xF8, 0x49, 0x29, 0xF0, 0xC7, 0x40, - 0x0C, 0x52, 0x70, 0x73, 0xAF, 0x18, 0x38, 0x83, 0x88, 0x56, 0x3B, 0xA6, 0xC8, 0xDD, 0xA2, 0xBC, - 0xEB, 0xA2, 0xC5, 0x78, 0x6B, 0x27, 0xAE, 0x6F, 0xCB, 0xB6, 0xD6, 0x90, 0xBD, 0x8E, 0x81, 0xCF, - 0x4B, 0x0C, 0x9D, 0x50, 0x0D, 0xBB, 0x8B, 0x9A, 0x75, 0x26, 0x9F, 0xCA, 0xA8, 0x73, 0xA9, 0xED, - 0x5C, 0xDE, 0xC3, 0x25, 0x82, 0x41, 0xA7, 0x77, 0x46, 0x7D, 0x2F, 0xF6, 0xE6, 0x3E, 0xB2, 0xF3, - 0x82, 0xE4, 0xDD, 0x82, 0x68, 0x6E, 0xD2, 0xD4, 0x3A, 0x59, 0x54, 0x2C, 0x69, 0x12, 0x48, 0x1E, - 0x63, 0x5D, 0xC2, 0xF9, 0x2C, 0x19, 0x07, 0x5F, 0x59, 0xC4, 0xCE, 0x8D, 0xCA, 0x61, 0xCD, 0xCD, - 0xD4, 0x21, 0xC4, 0xA4, 0x0B, 0x2C, 0x00, 0x3E, 0x2E, 0x80, 0x1B, 0x06, 0x61, 0x36, 0x4B, 0xFA, - 0x26, 0x94, 0x20, 0xEE, 0xD5, 0x89, 0x04, 0x7A, 0x4F, 0x96, 0x9A, 0x9F, 0xFB, 0xE7, 0x99, 0x35, - 0xA0, 0xA5, 0x74, 0x16, 0x25, 0x3C, 0xE3, 0x71, 0xCA, 0x35, 0xE9, 0x4C, 0xD9, 0x17, 0x72, 0x4B, - 0xC0, 0x0A, 0x0A, 0xF4, 0x0E, 0xF2, 0xF7, 0x21, 0xC9, 0x3D, 0xCD, 0xA8, 0x62, 0x4A, 0x02, 0x41, - 0xD3, 0x06, 0xF1, 0xC5, 0xA4, 0x52, 0x60, 0xDC, 0x64, 0x8B, 0x43, 0x59, 0x14, 0x65, 0x68, 0x89, - 0x20, 0xDD, 0x8A, 0x9E, 0x5F, 0xAD, 0xDF, 0x88, 0x8E, 0x2A, 0x8C, 0xFB, 0x23, 0x68, 0xAB, 0xD5, - 0x02, 0x9C, 0x23, 0x0A, 0xA3, 0xE3, 0x2B, 0xB2, 0x93, 0x18, 0x76, 0xB8, 0x12, 0xEE, 0xFF, 0x2D, - 0x24, 0x03, 0x2F, 0xDA, 0x20, 0xE2, 0x14, 0x6E, 0xB3, 0x65, 0x01, 0x2F, 0x4B, 0xE2, 0xA3, 0x60, - 0xA2, 0x32, 0x7B, 0x22, 0x47, 0x58, 0xF1, 0x51, 0x37, 0x45, 0x4D, 0x20, 0xEC, 0xA6, 0xDE, 0x66, - 0xD0, 0xFF, 0x61, 0xE0, 0xB8, 0x5F, 0x79, 0xD0, 0x00, 0xE9, 0x51, 0x79, 0xA9, 0xB3, 0x8F, 0x27, - 0xC2, 0x9D, 0x05, 0xC0, 0x8D, 0xF3, 0xC8, 0xFD, 0xD7, 0x07, 0x13, 0x0F, 0x0F, 0x37, 0xD4, 0xEB, - 0x9E, 0x48, 0xEA, 0xDB, 0xDB, 0x1D, 0xAB, 0x3A, 0x9F, 0x87, 0x50, 0x68, 0x10, 0x52, 0x90, 0x5C, - 0xDC, 0xA6, 0x3D, 0xAD, 0x1F, 0x22, 0x3D, 0xD6, 0x45, 0x75, 0x0B, 0x12, 0x93, 0x6D, 0x91, 0x80, - 0x64, 0x7A, 0xF7, 0x98, 0xDA, 0x3B, 0x6B, 0xF0, 0x84, 0xC9, 0x1D, 0x76, 0xBB, 0x05, 0x16, 0x6B, - 0x6A, 0xB4, 0xA4, 0xE1, 0x9F, 0x6A, 0x7E, 0xB1, 0xCC, 0x49, 0x5E, 0x11, 0x28, 0x30, 0xE1, 0x8A, - 0x9C, 0xDF, 0xE5, 0xEF, 0x13, 0xD9, 0x2E, 0xE7, 0xE6, 0xD7, 0xB8, 0x0B, 0x33, 0x62, 0x5D, 0xE8, - 0x5D, 0xB0, 0x5C, 0x34, 0x43, 0xA0, 0xC6, 0x84, 0xBC, 0xF2, 0x03, 0x1B, 0x51, 0x70, 0x39, 0xC8, - 0xD8, 0x78, 0x98, 0xE9, 0x95, 0x06, 0xE6, 0x24, 0x17, 0x38, 0x3A, 0xB7, 0x7E, 0x53, 0x0F, 0x4D, - 0x72, 0xC6, 0x36, 0xFC, 0xC5, 0x7F, 0x0E, 0x47, 0x87, 0xC1, 0x39, 0x92, 0x8C, 0x08, 0xD5, 0x37, - 0xB2, 0xC7, 0x10, 0x36, 0xB9, 0x79, 0xB9, 0x1A, 0xBE, 0x79, 0x18, 0x23, 0x6D, 0x25, 0xB0, 0xCB, - 0xEC, 0x85, 0xF0, 0x19, 0x58, 0x1C, 0x94, 0xE6, 0x80, 0x3E, 0xB1, 0x13, 0xCE, 0x56, 0x35, 0x18, - 0x59, 0x6E, 0xF9, 0x70, 0x11, 0xB6, 0x92, 0x96, 0x1F, 0x50, 0xB0, 0x02, 0x9B, 0x49, 0x92, 0x64, - 0x4E, 0xBC, 0xA7, 0x05, 0x4D, 0x34, 0x69, 0xC4, 0x5A, 0xCC, 0xEA, 0x69, 0x44, 0x8D, 0x11, 0xEA, - 0xDB, 0x81, 0x08, 0xCC, 0xF9, 0xF6, 0x5B, 0x44, 0xAF, 0xD4, 0xC4, 0xB0, 0x86, 0x90, 0xB9, 0xA2, - 0x46, 0x3B, 0x5E, 0x0C, 0x71, 0xBD, 0x3C, 0xC7, 0x49, 0xEA, 0x2D, 0xC2, 0x41, 0x7A, 0xCF, 0xF5, - 0x6E, 0x6A, 0x01, 0xA5, 0xD8, 0x54, 0xD7, 0x81, 0xA5, 0x37, 0x55, 0x3D, 0xF3, 0xC3, 0x9A, 0xD1, - 0x91, 0xE8, 0x26, 0xB3, 0x1D, 0x4D, 0x81, 0xA7, 0x0E, 0xFD, 0x6C, 0x91, 0xB2, 0xE1, 0x33, 0x45, - 0xF3, 0xD0, 0x57, 0x65, 0x7F, 0x29, 0x93, 0x87, 0x82, 0xB5, 0xAA, 0x2B, 0x04, 0x6F, 0x9E, 0xB4, - 0xBE, 0x9E, 0x4C, 0x7B, 0xA7, 0x1B, 0x1C, 0x67, 0xD3, 0xF0, 0xBF, 0x6A, 0xED, 0x66, 0xF8, 0xAC, - 0x8F, 0xD3, 0x1E, 0xDE, 0xF5, 0x0D, 0x48, 0x75, 0x5B, 0x4F, 0xD5, 0xB5, 0xD2, 0x4F, 0x38, 0x14, - 0x44, 0xAC, 0x51, 0x38, 0xF4, 0x2B, 0x88, 0xBF, 0xFD, 0x99, 0xF5, 0x15, 0xE3, 0xC9, 0x6C, 0xEC, - 0xB5, 0xE0, 0x25, 0x57, 0x5A, 0x73, 0x28, 0x97, 0xA6, 0x3F, 0x71, 0xD9, 0x84, 0x2C, 0xD6, 0xD3, - 0xC5, 0xBA, 0x30, 0xA1, 0x54, 0xE7, 0x87, 0xD7, 0x66, 0x00, 0x58, 0x61, 0x60, 0xF6, 0x6D, 0x30, - 0xCF, 0xAA, 0xC6, 0x9C, 0xEE, 0xB1, 0x1A, 0x17, 0x7A, 0xB1, 0x9D, 0xFE, 0x01, 0x98, 0x40, 0xAB, - 0x45, 0xC2, 0xCE, 0x29, 0x91, 0xFE, 0xD1, 0xF1, 0xE4, 0x5C, 0xA3, 0x33, 0xA0, 0x57, 0xAA, 0x09, - 0x1F, 0x5E, 0x8B, 0x42, 0xE1, 0x03, 0x75, 0x9D, 0x7D, 0x4E, 0x15, 0x7F, 0x74, 0xCB, 0x63, 0xD8, - 0x19, 0x17, 0x21, 0x32, 0x22, 0x8D, 0xA8, 0x1F, 0xD8, 0x90, 0x11, 0x3B, 0x97, 0x5A, 0x69, 0x55, - 0xDE, 0x31, 0x32, 0x99, 0xD1, 0x71, 0x33, 0xAF, 0x0C, 0x76, 0x77, 0xA9, 0x27, 0x5F, 0x53, 0x00, - 0x10, 0x8A, 0xB5, 0x70, 0x83, 0x90, 0xF4, 0x5E, 0xB3, 0xF6, 0xA7, 0x2D, 0x74, 0x58, 0x94, 0x3B, - 0x1D, 0xBD, 0x76, 0x2C, 0x22, 0x7A, 0x3B, 0xFC, 0x4C, 0x0D, 0x18, 0x79, 0xAF, 0xAB, 0xEF, 0x60, - 0x32, 0xCB, 0x1C, 0xE4, 0x94, 0xD7, 0xB5, 0x0D, 0xEC, 0xA7, 0x8F, 0x84, 0xA3, 0xB8, 0x14, 0x51, - 0x6F, 0x70, 0x6C, 0xEE, 0x9C, 0xD4, 0x91, 0xE9, 0x22, 0x8C, 0x9B, 0xD4, 0x0C, 0xD8, 0x6A, 0xB3, - 0x9F, 0x52, 0x87, 0x90, 0x3F, 0x51, 0xE2, 0x3A, 0x97, 0x7C, 0x7C, 0xDF, 0x3D, 0x5E, 0x3E, 0x4B, - 0x4E, 0xC8, 0x55, 0x5F, 0x29, 0x30, 0x63, 0xA3, 0x32, 0xA2, 0x78, 0x9B, 0x88, 0xAC, 0xDA, 0x01, - 0x19, 0x63, 0xD3, 0x68, 0x6D, 0x47, 0xB6, 0x28, 0x07, 0x85, 0x7F, 0xFA, 0xF4, 0x1B, 0xDC, 0x5C, - 0x6A, 0xC0, 0x56, 0xBB, 0xF0, 0x24, 0x2C, 0x89, 0x70, 0xC1, 0xAA, 0x71, 0x4D, 0xFA, 0xC3, 0x27, - 0x46, 0x4F, 0xAC, 0x56, 0xD4, 0x58, 0x57, 0x53, 0x5F, 0x2B, 0xDF, 0xD2, 0x77, 0x24, 0xDD, 0x80, - 0x0B, 0x01, 0xB7, 0x48, 0x8F, 0x6B, 0xE7, 0x6F, 0xA5, 0xA4, 0xF3, 0x3F, 0xA5, 0x33, 0x83, 0xF5, - 0xF6, 0x14, 0x9F, 0x6A, 0x1F, 0xD5, 0xAE, 0x35, 0x39, 0xC2, 0xD6, 0xCA, 0x0B, 0x93, 0xDB, 0xDD, - 0xA5, 0x61, 0xBC, 0x19, 0xFF, 0x96, 0x43, 0x03, 0x06, 0x06, 0x40, 0x26, 0xFB, 0x74, 0x6E, 0xD6, - 0x88, 0x80, 0xD9, 0xE5, 0x07, 0x20, 0x80, 0xEC, 0x82, 0x26, 0x0C, 0x29, 0x64, 0x52, 0x62, 0x06, - 0x03, 0x86, 0x4E, 0x41, 0x9F, 0x9D, 0xED, 0x52, 0x8A, 0x4E, 0x86, 0x9C, 0x17, 0x8A, 0xD6, 0xD1, - 0x7E, 0xEB, 0x98, 0xEB, 0xC6, 0xC1, 0xE1, 0x1F, 0x92, 0x08, 0xEF, 0x66, 0x62, 0xD9, 0xF5, 0xA2, - 0xFE, 0x93, 0x66, 0x63, 0xC5, 0x88, 0x9D, 0xA4, 0xFE, 0x02, 0x77, 0xF3, 0x58, 0x07, 0xEB, 0x05, - 0x82, 0x90, 0x2F, 0xD8, 0x04, 0x69, 0xFC, 0x57, 0xE2, 0xB3, 0xB2, 0x6C, 0xCE, 0xC5, 0xC2, 0xFB, - 0xC4, 0xA0, 0x5D, 0xEA, 0x7F, 0xDE, 0x00, 0x64, 0x04, 0x8D, 0x5B, 0x1E, 0x33, 0xF1, 0xAA, 0x0B, - 0x90, 0xF2, 0x4B, 0xF8, 0x27, 0xA4, 0xCC, 0xE3, 0x54, 0x4B, 0x71, 0x83, 0xB5, 0x39, 0x75, 0xC8, - 0xD4, 0x55, 0x36, 0xFE, 0xDE, 0x34, 0xCF, 0xC6, 0xEA, 0xDB, 0x38, 0xD9, 0xB7, 0x85, 0x1A, 0xB9, - 0xD1, 0xE5, 0x0C, 0xAB, 0x57, 0x59, 0x68, 0x8F, 0x5A, 0x5F, 0x4C, 0x6B, 0x23, 0xFB, 0x5C, 0x36, - 0x4D, 0x31, 0xC5, 0x7A, 0xD9, 0x85, 0x84, 0xA8, 0xB2, 0x75, 0x98, 0xF1, 0x87, 0xC3, 0x68, 0x8B, - 0x9C, 0xAB, 0x17, 0xB5, 0xB0, 0xAB, 0xCE, 0xD7, 0x15, 0x20, 0x87, 0x8D, 0x1E, 0x6E, 0xF3, 0xFF, - 0xDD, 0xBC, 0x50, 0xE6, 0x46, 0x89, 0xA2, 0x78, 0x60, 0xEF, 0x49, 0x3E, 0x69, 0x81, 0xBF, 0xFD, - 0x47, 0x21, 0x33, 0x47, 0x99, 0x0A, 0x66, 0xF6, 0x48, 0xFA, 0xB4, 0x1C, 0x5E, 0x8C, 0x7C, 0xA1, - 0x59, 0x1A, 0x0B, 0x2A, 0x3B, 0xA9, 0xD5, 0xEF, 0x9B, 0xE3, 0x5A, 0x0F, 0xCA, 0xF2, 0x3A, 0x2E, - 0x1F, 0x2A, 0x79, 0x18, 0x51, 0xCE, 0xE3, 0x2B, 0xB6, 0x82, 0x34, 0x94, 0xE9, 0xC2, 0xF7, 0x9A, - 0x4A, 0x16, 0xF0, 0x1B, 0xFC, 0xDF, 0x3F, 0xB8, 0x7E, 0xD5, 0x97, 0x99, 0xDA, 0xF8, 0xCC, 0x13, - 0x05, 0xCF, 0xE4, 0x31, 0x4C, 0xE5, 0x3A, 0xED, 0x21, 0x84, 0xBF, 0x30, 0xBF, 0xA1, 0x19, 0x5D, - 0x75, 0x95, 0xF1, 0xC7, 0xB2, 0xC4, 0x72, 0xA6, 0x71, 0x42, 0x95, 0xAD, 0x53, 0x5F, 0xA1, 0x5A, - 0xFD, 0x6A, 0xF6, 0x46, 0xAC, 0xA6, 0xD7, 0xDB, 0x8B, 0xCD, 0xB9, 0x40, 0xD2, 0xDC, 0xCF, 0xF7, - 0xEE, 0x66, 0x0D, 0x77, 0xA1, 0x7B, 0x04, 0x20, 0xF2, 0x9D, 0x51, 0x23, 0xFE, 0x83, 0xB0, 0xC9, - 0x27, 0x8E, 0x4D, 0xA5, 0xDF, 0x12, 0x0F, 0x0C, 0x6F, 0x78, 0x4B, 0x0A, 0x98, 0xA6, 0x2C, 0x3C, - 0x22, 0x3E, 0x77, 0xF0, 0x39, 0xC6, 0x69, 0x9E, 0x93, 0x8B, 0xD0, 0xBA, 0xBE, 0x61, 0x3F, 0x97, - 0xB3, 0xDD, 0x7D, 0x7D, 0xE7, 0x63, 0x6D, 0xDA, 0x1D, 0x48, 0x0D, 0x38, 0xF7, 0x67, 0x95, 0xE7, - 0x2F, 0x09, 0xB4, 0xAC, 0xF5, 0xFA, 0xDB, 0x96, 0xE0, 0x38, 0xA9, 0x54, 0x6B, 0x3D, 0xD0, 0x8C, - 0xE0, 0xA8, 0x5E, 0x0E, 0x18, 0x64, 0xE5, 0x5B, 0xAF, 0x47, 0x62, 0xB2, 0x03, 0xB7, 0xD8, 0x39, - 0x8E, 0xC9, 0x73, 0x95, 0xA9, 0x78, 0x20, 0xC4, 0xF9, 0xFD, 0xFF, 0x72, 0x13, 0xBD, 0x2E, 0x04, - 0x54, 0x2D, 0xC8, 0x76, 0x96, 0xB8, 0x09, 0x7C, 0x6D, 0xF3, 0x50, 0x32, 0x49, 0xCD, 0x3B, 0xF2, - 0xB1, 0x4A, 0x72, 0x49, 0x30, 0xE3, 0x8D, 0xB0, 0x35, 0x5D, 0xF0, 0x1A, 0x05, 0x3C, 0x4F, 0x9D, - 0x37, 0x7B, 0x26, 0xB1, 0xE6, 0x45, 0xAD, 0x10, 0x13, 0x5C, 0x30, 0xD0, 0x7A, 0xF7, 0x00, 0x7B, - 0x1E, 0x44, 0xE6, 0x09, 0x59, 0xCD, 0xC7, 0xCF, 0x05, 0x0E, 0x64, 0xC2, 0x37, 0xC6, 0x52, 0xDE, - 0x17, 0xAD, 0x80, 0x11, 0x1C, 0x9C, 0xD2, 0x8E, 0x37, 0xD6, 0xEB, 0x22, 0x79, 0x8B, 0x49, 0xC0, - 0x99, 0x1B, 0x2D, 0xE0, 0x54, 0x10, 0x14, 0x34, 0x53, 0xB4, 0xF9, 0x02, 0x41, 0xE9, 0x38, 0x16, - 0xBB, 0x5A, 0x84, 0x74, 0x9E, 0xBB, 0x2D, 0x98, 0x4A, 0x71, 0xAF, 0x24, 0xC3, 0x16, 0x1F, 0x00, - 0x02, 0xE8, 0xD1, 0x50, 0x43, 0x57, 0x55, 0x67, 0xA3, 0xD8, 0x44, 0x62, 0x92, 0x3E, 0x40, 0xA9, - 0xE8, 0x2F, 0xA7, 0x07, 0x7D, 0xB1, 0xBC, 0x15, 0xE8, 0x50, 0x23, 0xE1, 0x28, 0xA3, 0x16, 0x69, - 0xF5, 0xED, 0x0F, 0x4F, 0x65, 0x44, 0x92, 0xCC, 0x2A, 0xE4, 0x11, 0x61, 0x15, 0x36, 0xB9, 0xA0, - 0x31, 0x32, 0x8C, 0xC1, 0xF9, 0x01, 0xC8, 0xA7, 0xA8, 0xB8, 0xEA, 0x33, 0xC7, 0x21, 0xE7, 0xD5, - 0x2E, 0x67, 0x2B, 0xBD, 0x97, 0x9E, 0xC9, 0xB6, 0x02, 0xF1, 0xEC, 0x43, 0x2C, 0x94, 0xEE, 0xBC, - 0x5D, 0xC4, 0xAE, 0x6E, 0xD0, 0xA0, 0x60, 0x86, 0x67, 0x10, 0xC1, 0xBF, 0x6E, 0xCA, 0x0E, 0x93, - 0x70, 0x25, 0xCB, 0x92, 0x68, 0x99, 0x41, 0x37, 0x61, 0x6C, 0x76, 0xE2, 0x6F, 0x0A, 0x28, 0x59, - 0x2B, 0xD7, 0x11, 0xE8, 0x91, 0x09, 0x42, 0x12, 0x18, 0x3C, 0x9E, 0x81, 0xD1, 0xA0, 0x86, 0x4C, - 0x08, 0xF8, 0x27, 0x6D, 0x5B, 0xA2, 0x7B, 0xBE, 0xBE, 0xEA, 0xBE, 0x21, 0x19, 0x25, 0x42, 0x91, - 0x1A, 0x9A, 0x43, 0x4D, 0x7E, 0xF8, 0xC0, 0xAE, 0xC7, 0xBA, 0x56, 0x42, 0x76, 0xE4, 0xFB, 0x4A, - 0x48, 0x81, 0xFF, 0x2F, 0xE0, 0xD2, 0x26, 0xB4, 0x74, 0x36, 0x06, 0x14, 0x1D, 0x12, 0xBA, 0x44, - 0x7D, 0x12, 0x08, 0xCE, 0x60, 0x9A, 0x65, 0xD3, 0x25, 0x73, 0x13, 0x55, 0xD3, 0x1C, 0xE9, 0x3D, - 0x15, 0x3A, 0x8F, 0x25, 0xDC, 0x5B, 0x73, 0xB7, 0x3C, 0xB6, 0x45, 0x73, 0x0F, 0xA4, 0x23, 0x08, - 0x2A, 0xB9, 0x8E, 0xF9, 0x2E, 0x81, 0x28, 0xCD, 0x03, 0x72, 0xD3, 0x9F, 0xE1, 0xE6, 0xF4, 0x7E, - 0x4F, 0xA6, 0xCA, 0x4E, 0xAE, 0xC9, 0x6B, 0xAA, 0xED, 0x24, 0xB0, 0x58, 0x34, 0xBA, 0x1B, 0x65, - 0xCB, 0x00, 0x91, 0x82, 0x40, 0x1E, 0x29, 0xDC, 0x41, 0x11, 0x01, 0x75, 0x56, 0xA8, 0x7F, 0x45, - 0xDE, 0x45, 0xC0, 0xC3, 0xEC, 0x29, 0x35, 0x85, 0x46, 0xEE, 0x89, 0xF4, 0x9B, 0xDA, 0x65, 0x87, - 0x9A, 0xE2, 0xBD, 0xC5, 0xCC, 0xAD, 0x79, 0x8A, 0xFC, 0x89, 0x6C, 0xCB, 0xAA, 0x5C, 0x31, 0x7F, - 0x96, 0xBB, 0xE1, 0x88, 0xB1, 0x8D, 0x0E, 0x1D, 0xFD, 0x0A, 0x53, 0x17, 0x35, 0x7A, 0x3D, 0xAF, - 0x68, 0xBA, 0x80, 0xBB, 0x4A, 0x35, 0x8F, 0xB0, 0xF0, 0x01, 0x35, 0xB1, 0xDC, 0x4D, 0x1C, 0x4E, - 0x69, 0xD4, 0x1F, 0xAA, 0x1F, 0x92, 0x90, 0xCC, 0xF9, 0xEA, 0x80, 0xD8, 0x95, 0x4B, 0xB6, 0x3E, - 0xE0, 0x45, 0x87, 0x3A, 0x08, 0xD5, 0xD1, 0x9F, 0x36, 0x42, 0xAB, 0x54, 0x41, 0xD7, 0x7F, 0xEF, - 0xC1, 0xFD, 0xBE, 0x8B, 0xE9, 0xB0, 0xFC, 0x63, 0x10, 0x43, 0x6B, 0x9E, 0x3D, 0x60, 0x79, 0xB2, - 0xDA, 0x76, 0xBC, 0xB3, 0xD5, 0x39, 0xA9, 0x60, 0x5C, 0x34, 0x84, 0x9C, 0xC7, 0x1F, 0xA0, 0x2C, - 0xE3, 0xBC, 0x17, 0x1F, 0xFA, 0x0F, 0x8A, 0xE5, 0x98, 0xFC, 0x01, 0x41, 0x11, 0x3F, 0x06, 0x8C, - 0x87, 0xCD, 0xCC, 0xB9, 0xAC, 0xE1, 0xE9, 0x22, 0xA4, 0x30, 0xB3, 0x49, 0x1B, 0xA7, 0x6A, 0x19, - 0x61, 0x53, 0xE6, 0xA3, 0xB7, 0x5D, 0xBB, 0x40, 0xE5, 0x5B, 0x45, 0x47, 0x97, 0xF7, 0xD9, 0x4F, - 0xD2, 0xF1, 0x45, 0xBA, 0x17, 0x91, 0xB4, 0x28, 0x3D, 0x22, 0x05, 0x05, 0x9B, 0xE4, 0x22, 0x7E, - 0xC4, 0x4D, 0x84, 0xDE, 0x3F, 0x16, 0xDC, 0xC3, 0xF7, 0xFE, 0xBD, 0x30, 0x5E, 0xB2, 0x3B, 0x58, - 0xCA, 0x83, 0xD7, 0xA7, 0x8B, 0xD4, 0xEE, 0x43, 0x05, 0x19, 0x1B, 0x68, 0x09, 0x11, 0xF3, 0x55, - 0x89, 0x03, 0x9F, 0xC0, 0x94, 0x90, 0x8B, 0xF4, 0xEA, 0xCC, 0x47, 0x73, 0x5F, 0x72, 0x1D, 0x92, - 0x94, 0xC1, 0x37, 0x88, 0x68, 0xDE, 0x7F, 0xCE, 0x7B, 0xB6, 0x7B, 0x8A, 0xC3, 0x28, 0x58, 0xF9, - 0x88, 0x6D, 0x00, 0xD1, 0x2D, 0x8F, 0x6A, 0x8F, 0x61, 0x7B, 0x09, 0x48, 0x3C, 0xA0, 0x5F, 0x78, - 0xAF, 0x9C, 0x93, 0x10, 0x96, 0xFF, 0x37, 0x85, 0x23, 0x18, 0xDB, 0xA2, 0x27, 0xF2, 0xE3, 0x1A, - 0xD8, 0xE1, 0xB3, 0x87, 0xCF, 0xA3, 0x3B, 0xC8, 0x2F, 0x87, 0xFD, 0x72, 0xA4, 0xCD, 0xE2, 0xC6, - 0xC8, 0x14, 0xD8, 0x93, 0x13, 0x69, 0x83, 0xFD, 0x21, 0x93, 0xC0, 0x9A, 0xA6, 0x71, 0x8D, 0xB7, - 0xAE, 0xF2, 0x0C, 0x01, 0xA3, 0x53, 0x86, 0xA8, 0x32, 0xB5, 0x07, 0x31, 0x55, 0xEA, 0x71, 0x07, - 0x7A, 0xD8, 0xE4, 0x9B, 0x24, 0xAA, 0x8E, 0xA1, 0xCE, 0x46, 0x9C, 0x81, 0x15, 0x08, 0xFE, 0x59, - 0xCC, 0xCA, 0x7D, 0xD7, 0xF0, 0x63, 0x12, 0x70, 0x8B, 0xDA, 0xC6, 0xEA, 0x65, 0xAC, 0x03, 0x35, - 0x81, 0x84, 0x66, 0xC9, 0xE4, 0x6D, 0x2F, 0x98, 0x30, 0x3E, 0x1C, 0x09, 0xD0, 0x5E, 0xE7, 0x7F, - 0x44, 0x35, 0x7A, 0x56, 0x85, 0x40, 0x41, 0x03, 0xC6, 0x2E, 0x16, 0x34, 0x6A, 0xC3, 0xB1, 0xBF, - 0x2C, 0x1D, 0xFD, 0xBD, 0x67, 0x6C, 0x10, 0x44, 0x51, 0x28, 0x9D, 0x90, 0x70, 0x51, 0x2B, 0x17, - 0xA8, 0xBB, 0xA6, 0x71, 0x00, 0xD6, 0xF5, 0x7B, 0x25, 0x64, 0x6C, 0xFF, 0xDE, 0xF1, 0x73, 0x3F, - 0x66, 0x74, 0xD3, 0xC2, 0x69, 0xF8, 0xBF, 0x04, 0x4C, 0x1A, 0x67, 0xD3, 0x23, 0xC5, 0x1B, 0xCF, - 0x0C, 0xCB, 0x5B, 0x1D, 0x56, 0x38, 0x96, 0xBC, 0x1E, 0x57, 0x56, 0x76, 0x71, 0x91, 0x0D, 0xDD, - 0xB5, 0x79, 0x0E, 0x39, 0x36, 0x33, 0x38, 0xED, 0x26, 0x6C, 0x48, 0x1B, 0x99, 0x58, 0x4D, 0x0F, - 0x73, 0x31, 0x82, 0x83, 0x80, 0x9E, 0xB6, 0x1C, 0x57, 0x54, 0x2A, 0xCD, 0xFB, 0x4A, 0x29, 0x2F, - 0xF4, 0x6E, 0x49, 0x6A, 0xC5, 0xCF, 0xA3, 0x5D, 0x5E, 0xBF, 0x9F, 0xA4, 0xF5, 0xE5, 0xBD, 0x6F, - 0x8C, 0xB3, 0xA5, 0x95, 0x77, 0x9A, 0x1A, 0x79, 0x01, 0xEE, 0xB7, 0x0D, 0x5C, 0x0E, 0x54, 0x29, - 0x33, 0x48, 0x5A, 0xC1, 0xC0, 0x11, 0x54, 0x42, 0xA7, 0x38, 0x97, 0xAD, 0xC9, 0xB0, 0x34, 0x6C, - 0x1D, 0x50, 0xAF, 0x18, 0x02, 0xB9, 0x49, 0x0A, 0x08, 0x05, 0x02, 0x64, 0x7D, 0x82, 0xF6, 0xEC, - 0xA1, 0x52, 0xC0, 0x69, 0x8D, 0x43, 0x65, 0xE7, 0xB4, 0x1E, 0x50, 0x06, 0xA0, 0xFA, 0x1A, 0x13, - 0x5D, 0x29, 0x77, 0x5A, 0xBD, 0x31, 0x23, 0xD5, 0xDC, 0xE3, 0x64, 0xF6, 0x9E, 0x13, 0xFC, 0x61, - 0x6E, 0xF3, 0x2A, 0xCB, 0x78, 0x28, 0x75, 0xF3, 0x04, 0x9A, 0x24, 0xB4, 0xF6, 0x99, 0xF4, 0xD4, - 0x6D, 0x0A, 0xBA, 0xEE, 0xDF, 0x55, 0x31, 0xF5, 0x6B, 0x98, 0x98, 0xC5, 0x66, 0xD0, 0x4A, 0x8E, - 0x25, 0xF4, 0x9B, 0xA5, 0x1C, 0xDB, 0xEC, 0x77, 0x76, 0xAA, 0x62, 0x86, 0x58, 0x39, 0xAC, 0xFC, - 0xC9, 0x7A, 0x47, 0x82, 0xC8, 0x12, 0x70, 0xA6, 0x42, 0x0E, 0x5A, 0x3B, 0x72, 0xED, 0x44, 0x66, - 0x03, 0x6B, 0x97, 0x75, 0x91, 0x4E, 0x7C, 0xEB, 0xA1, 0x44, 0x20, 0xF0, 0xC2, 0xE8, 0x7E, 0x33, - 0x6F, 0x9D, 0xB5, 0xDA, 0x86, 0x09, 0x3D, 0xB8, 0xED, 0x33, 0xCF, 0xF2, 0x0D, 0x26, 0x0B, 0x80, - 0x74, 0x16, 0xB7, 0xE2, 0x37, 0x15, 0xF8, 0x27, 0x24, 0xE7, 0x53, 0x23, 0xCE, 0xFB, 0x85, 0x02, - 0xC7, 0xB4, 0x14, 0xFB, 0x0C, 0x2D, 0xE6, 0x4A, 0x62, 0x73, 0x2D, 0xAC, 0xD7, 0x15, 0x56, 0x11, - 0x9E, 0xD1, 0xC1, 0xB5, 0x3B, 0xEE, 0xEB, 0x16, 0xD2, 0xF7, 0x59, 0x1E, 0xF8, 0x36, 0x60, 0x94, - 0x42, 0x7C, 0xD0, 0x26, 0x07, 0x67, 0xBE, 0x15, 0xE9, 0xC4, 0x63, 0x97, 0xAF, 0x95, 0xA8, 0x99, - 0xD3, 0x9F, 0xDA, 0xAB, 0xB8, 0xEF, 0xD4, 0xCA, 0xBF, 0x7E, 0xFE, 0x57, 0x6F, 0x34, 0x6F, 0xA0, - 0x9B, 0x61, 0xFB, 0xE0, 0xE2, 0xFA, 0xA4, 0x3C, 0x07, 0x92, 0x00, 0x50, 0xA9, 0x1E, 0x3F, 0x3D, - 0xA5, 0x8C, 0x65, 0x2D, 0x4B, 0x13, 0x4F, 0x7A, 0xAE, 0xD3, 0x22, 0xC4, 0xB0, 0xF0, 0xEC, 0x2E, - 0x76, 0x81, 0xB8, 0xD6, 0x47, 0xE8, 0x5C, 0x4B, 0xD1, 0xFF, 0x7D, 0xFA, 0xE0, 0x18, 0x95, 0x4D, - 0x9A, 0x0F, 0x64, 0xF1, 0x90, 0x68, 0xBC, 0x21, 0xF1, 0x82, 0x0A, 0x6D, 0x20, 0xB9, 0x52, 0x74, - 0x55, 0xAE, 0x8E, 0x53, 0xA7, 0xAB, 0xB1, 0x7D, 0x8A, 0x59, 0xF9, 0x36, 0xDB, 0x06, 0xAD, 0x20, - 0x30, 0xB1, 0xCA, 0xE4, 0x5D, 0x72, 0xCE, 0xE3, 0x74, 0x21, 0x79, 0xBE, 0xA1, 0x3A, 0x3C, 0xD9, - 0x14, 0xB9, 0xC9, 0x00, 0xE6, 0x02, 0x93, 0xE9, 0x0A, 0x8E, 0x19, 0x5C, 0x8A, 0x2E, 0xF2, 0x89, - 0xC2, 0x04, 0x2E, 0xAE, 0xE5, 0x4B, 0xEF, 0x52, 0xC4, 0xA5, 0x0D, 0x0C, 0x8F, 0xD9, 0x2C, 0x96, - 0x43, 0x12, 0x4F, 0x37, 0x7F, 0x99, 0x3E, 0x9D, 0x20, 0x10, 0xFF, 0x46, 0x51, 0xDD, 0x89, 0xD2, - 0x8D, 0xDD, 0x3A, 0x84, 0xED, 0x48, 0xCB, 0xB6, 0xDD, 0x60, 0x5B, 0x2A, 0xEC, 0x0B, 0x6E, 0x7C, - 0x17, 0x40, 0x59, 0x25, 0x4E, 0xCD, 0xB8, 0x65, 0xC2, 0xD9, 0xBA, 0x51, 0xA8, 0xDE, 0x19, 0xF7, - 0x46, 0xA2, 0x75, 0x62, 0x2C, 0xA9, 0xAA, 0x45, 0x9D, 0x88, 0x92, 0xF8, 0x89, 0x52, 0xBB, 0x32, - 0xF6, 0xF9, 0x46, 0x5E, 0x62, 0xB2, 0xE7, 0x5B, 0xC3, 0x5A, 0x85, 0x8D, 0x06, 0x7E, 0x41, 0xDF, - 0xE2, 0xD2, 0x88, 0x0E, 0x4C, 0xA2, 0x04, 0x14, 0x70, 0xD6, 0xD5, 0xDB, 0x2B, 0xE1, 0x18, 0x2B, - 0x0F, 0x32, 0xCB, 0x38, 0x39, 0x81, 0x57, 0x67, 0xC5, 0x26, 0x32, 0xD0, 0xEF, 0x77, 0x27, 0xC7, - 0x4C, 0xB2, 0x83, 0x5F, 0xAB, 0x50, 0xA2, 0x4C, 0xC8, 0x3A, 0x2B, 0xDC, 0x63, 0x27, 0x94, 0x91, - 0x21, 0x2A, 0x3E, 0xE1, 0xAD, 0xC7, 0x29, 0xE8, 0x7C, 0x49, 0xF3, 0x0B, 0x0B, 0xAD, 0x9C, 0x24, - 0x3C, 0xE8, 0x96, 0xA9, 0xBE, 0x78, 0x5F, 0x6E, 0xF5, 0x75, 0xA6, 0x08, 0x2F, 0xD6, 0xE0, 0xFE, - 0x40, 0xEB, 0xDF, 0x12, 0xC6, 0x86, 0xDF, 0xE6, 0xEB, 0x4F, 0x78, 0xAF, 0x25, 0x4E, 0x8C, 0x6B, - 0xF7, 0x79, 0x5E, 0xBD, 0x47, 0x6E, 0xB0, 0x14, 0xA9, 0xA9, 0xE6, 0x77, 0x26, 0xA6, 0xF7, 0x95, - 0x08, 0x7E, 0xDF, 0x35, 0x5D, 0xAC, 0x7D, 0x66, 0xE8, 0xF8, 0xA3, 0x62, 0x11, 0x0A, 0xAE, 0x89, - 0x6F, 0xC4, 0xE0, 0xD0, 0x09, 0x54, 0x4C, 0xE0, 0xEE, 0x85, 0x04, 0x26, 0x95, 0x2A, 0xA1, 0xC5, - 0xEC, 0xC5, 0x3C, 0xEF, 0x05, 0x84, 0xD3, 0xC6, 0xA3, 0xD9, 0x5D, 0x2A, 0xB5, 0x57, 0x36, 0xB2, - 0x95, 0x1D, 0x7E, 0xAF, 0xD1, 0x16, 0x35, 0xA0, 0xE5, 0x30, 0xF4, 0xC1, 0xA2, 0x86, 0xF8, 0xD9, - 0x50, 0x04, 0x58, 0xF9, 0x1B, 0x23, 0xE9, 0x18, 0x0E, 0xB7, 0xDC, 0xA9, 0x63, 0x3A, 0x9C, 0xCF, - 0x94, 0x3B, 0xB4, 0x6F, 0xCC, 0x55, 0x07, 0x5A, 0xD2, 0xB6, 0x5F, 0x96, 0xB9, 0xC8, 0xE6, 0x94, - 0xC2, 0xD5, 0x73, 0x0C, 0x23, 0x4E, 0xD2, 0x06, 0x65, 0xF2, 0x40, 0xF3, 0xF1, 0x48, 0x81, 0xD7, - 0xDA, 0x20, 0xAA, 0x22, 0xBE, 0x67, 0x37, 0x1C, 0xC3, 0x29, 0x31, 0x97, 0x31, 0x77, 0x39, 0xFE, - 0x0C, 0x86, 0x0A, 0x02, 0x7A, 0xBA, 0xFF, 0x99, 0x46, 0x1F, 0x1E, 0xB4, 0x9A, 0xBD, 0x95, 0xC7, - 0x5C, 0xFF, 0x69, 0xEA, 0xC3, 0x61, 0x90, 0x58, 0x66, 0x7B, 0x7C, 0xA6, 0xC0, 0x98, 0x85, 0x7C, - 0xD0, 0x4C, 0x3F, 0xBA, 0x82, 0x6F, 0xFB, 0xAE, 0x04, 0xC7, 0x67, 0xF4, 0xEA, 0x06, 0x9F, 0x9A, - 0x5E, 0x90, 0x18, 0x56, 0xDF, 0xFE, 0x21, 0x9D, 0xEA, 0xB4, 0xD4, 0x8D, 0x39, 0x1F, 0x8C, 0x74, - 0x17, 0x3A, 0x68, 0x50, 0xD6, 0x97, 0xCA, 0x28, 0x96, 0x13, 0x81, 0x92, 0xA6, 0x71, 0x9D, 0x75, - 0xF6, 0x5F, 0x94, 0x7D, 0x36, 0xB8, 0x88, 0x76, 0x45, 0x96, 0x22, 0xE1, 0x98, 0x36, 0xAD, 0xDC, - 0x8A, 0x59, 0xC9, 0xCA, 0x10, 0x72, 0x89, 0xB6, 0xB9, 0xF3, 0xC3, 0xCC, 0xA1, 0x8E, 0x1C, 0xFD, - 0x97, 0x72, 0x0F, 0x13, 0x27, 0x2B, 0x25, 0xAA, 0x5F, 0xBC, 0xBC, 0x07, 0x83, 0x78, 0xB3, 0x91, - 0x3E, 0x9B, 0x49, 0xF8, 0x78, 0x82, 0x74, 0x82, 0x7B, 0xE9, 0x0E, 0xBE, 0x6F, 0xA5, 0x4C, 0xE9, - 0xB6, 0xD0, 0xCA, 0x9F, 0x2E, 0x42, 0xCE, 0x1F, 0x2C, 0x9F, 0xC9, 0x54, 0x89, 0x9B, 0x3E, 0x00, - 0x02, 0x12, 0x4A, 0xAD, 0x81, 0x8B, 0xF3, 0x8A, 0x64, 0x37, 0x0B, 0x49, 0x7C, 0x83, 0xE7, 0x2E, - 0xBA, 0x2B, 0xFB, 0x8C, 0x38, 0x50, 0x9C, 0x4B, 0x9A, 0x1E, 0x9D, 0x8B, 0x7D, 0x00, 0x3B, 0x11, - 0xE8, 0x3D, 0xE9, 0xD8, 0x6A, 0xF5, 0xD1, 0x7A, 0x22, 0xDE, 0xA2, 0xA2, 0xF5, 0xBF, 0xE4, 0x7B, - 0x30, 0x0F, 0x09, 0x57, 0x71, 0xEB, 0x9F, 0x37, 0x3A, 0xB8, 0x4B, 0xAB, 0xA4, 0xFA, 0xA5, 0x6E, - 0x52, 0x6B, 0x29, 0x45, 0x00, 0x3D, 0xA7, 0x55, 0xCB, 0x15, 0xFD, 0x25, 0x28, 0xB2, 0x1F, 0xA8, - 0xA1, 0x97, 0x99, 0xDE, 0xE0, 0x12, 0xE5, 0x0B, 0x25, 0x66, 0x4E, 0x5C, 0x5C, 0xFE, 0x70, 0x59, - 0x1B, 0xC1, 0x59, 0x43, 0x16, 0x2F, 0xF5, 0x01, 0xBE, 0x4B, 0x2F, 0x32, 0x40, 0x4F, 0xEF, 0x9C, - 0x15, 0x55, 0x19, 0xEC, 0x03, 0xD9, 0xAF, 0x71, 0x5D, 0xF0, 0xCB, 0xE8, 0x80, 0x70, 0x57, 0xB5, - 0xBB, 0x0D, 0x31, 0x4C, 0x77, 0xB6, 0xE3, 0x80, 0x62, 0x4A, 0xAC, 0x0D, 0xDB, 0xD6, 0x9B, 0x31, - 0x9E, 0x57, 0x21, 0xF7, 0x14, 0x17, 0x7E, 0x1A, 0x8E, 0x75, 0x68, 0x9B, 0x2A, 0x39, 0x27, 0xB3, - 0x6D, 0xAB, 0x91, 0x6C, 0x07, 0xBC, 0x58, 0xDD, 0xDB, 0x4F, 0xD8, 0x9E, 0xFE, 0xDF, 0xB5, 0xD5, - 0xAE, 0x25, 0x13, 0xB1, 0xAD, 0xCC, 0x11, 0xDB, 0x56, 0x45, 0x3B, 0x0F, 0x5B, 0x01, 0xF1, 0xD1, - 0xDE, 0xD8, 0x7F, 0x15, 0xE8, 0xA7, 0x8D, 0x81, 0x87, 0x8C, 0xEF, 0x93, 0xC2, 0x13, 0xBD, 0x67, - 0x62, 0x19, 0x1B, 0x03, 0x21, 0x76, 0x59, 0x1D, 0x1A, 0xDC, 0x29, 0xB9, 0xDD, 0xAA, 0xC6, 0x86, - 0xA4, 0x49, 0x86, 0x29, 0x99, 0x71, 0xB5, 0xE3, 0xEC, 0xC9, 0x73, 0xC9, 0xFC, 0x54, 0x8D, 0xCE, - 0x2B, 0xB3, 0x6B, 0x05, 0xF7, 0xDC, 0x34, 0x60, 0x6D, 0xCE, 0x8C, 0x41, 0x9E, 0x4A, 0xF0, 0x6B, - 0x7B, 0xCA, 0x08, 0xED, 0x88, 0xE2, 0x18, 0x3F, 0x5C, 0x35, 0x80, 0x52, 0x43, 0x47, 0x0B, 0xB8, - 0x1C, 0x70, 0x37, 0x08, 0x44, 0x8A, 0xB8, 0x30, 0x6C, 0x0B, 0xC7, 0xFB, 0x32, 0x7F, 0xDD, 0xDA, - 0x05, 0xA3, 0x24, 0xE6, 0x02, 0x05, 0x2C, 0x4E, 0x01, 0x33, 0xFC, 0xE5, 0x91, 0xDD, 0xC4, 0x69, - 0x64, 0x8E, 0xBF, 0x88, 0xCF, 0xB1, 0x0F, 0x7E, 0x33, 0x41, 0xCC, 0xA3, 0xF6, 0xB7, 0x00, 0x5F, - 0x33, 0x46, 0xB2, 0x2B, 0xF4, 0x38, 0x3C, 0x44, 0x30, 0xC8, 0xF0, 0xF6, 0xE7, 0x1A, 0x93, 0x83, - 0xB9, 0x62, 0x40, 0xF0, 0x64, 0x1D, 0xC5, 0x47, 0x80, 0x34, 0x03, 0x6D, 0x61, 0xB1, 0xA4, 0xD4, - 0x93, 0x8A, 0xDA, 0x24, 0x50, 0xA0, 0x61, 0x7F, 0x51, 0xFD, 0xD7, 0xF1, 0xBD, 0x3F, 0x83, 0x38, - 0xC6, 0x2D, 0xA6, 0x3B, 0xCB, 0xD4, 0xF8, 0xD2, 0x9E, 0x2F, 0x4D, 0x20, 0x93, 0x56, 0xFC, 0x72, - 0x09, 0x58, 0x15, 0xF5, 0x87, 0xD6, 0x8F, 0x3D, 0xCD, 0x68, 0x5A, 0x61, 0xB1, 0xA0, 0x53, 0x1E, - 0x55, 0xDA, 0x47, 0x0E, 0xFA, 0xD0, 0x28, 0x79, 0xF3, 0x17, 0x76, 0x3E, 0x51, 0xE2, 0x7C, 0x40, - 0x6B, 0x3C, 0x35, 0xE7, 0x92, 0x20, 0xD5, 0x4D, 0xC1, 0x65, 0x46, 0x78, 0xE6, 0x99, 0x4F, 0xBC, - 0xAD, 0x6C, 0xA8, 0xCD, 0x4D, 0xE3, 0x53, 0x85, 0xD3, 0x73, 0x14, 0x2C, 0x9C, 0xC1, 0xC8, 0x70, - 0x3D, 0xD2, 0xF2, 0x84, 0x22, 0x92, 0x51, 0x39, 0xD5, 0x0E, 0xB3, 0x68, 0x0C, 0x38, 0xED, 0x73, - 0xC0, 0xBA, 0x02, 0xB0, 0x5A, 0x2D, 0x82, 0xEE, 0xCE, 0xE1, 0x66, 0x34, 0x18, 0xE1, 0xC7, 0x3C, - 0xA8, 0xB2, 0xB7, 0x3A, 0xEE, 0xFA, 0xF1, 0x36, 0x6A, 0x76, 0x60, 0xBF, 0xA5, 0x79, 0x79, 0x51, - 0xEE, 0xAA, 0x4D, 0x53, 0xCD, 0x89, 0x84, 0x65, 0xC0, 0xA0, 0x0D, 0xC2, 0xF9, 0x20, 0x34, 0x5D, - 0xE4, 0xC6, 0xD8, 0xCB, 0xD3, 0x2E, 0xBE, 0xBB, 0x48, 0x5E, 0x75, 0x42, 0xB0, 0x23, 0x8F, 0x21, - 0xCD, 0x67, 0xF9, 0x63, 0xE5, 0xAB, 0x91, 0x98, 0x7D, 0x94, 0xA9, 0xFA, 0x60, 0x32, 0x78, 0xEB, - 0x42, 0x9D, 0x14, 0x4F, 0xBB, 0xDE, 0x43, 0x8F, 0x63, 0x8F, 0xE7, 0xB7, 0x53, 0x69, 0x44, 0x5B, - 0x24, 0x01, 0xE1, 0x6A, 0xE3, 0xF6, 0xED, 0x2F, 0x41, 0xA7, 0xF2, 0x4A, 0xED, 0xF9, 0x1E, 0x12, - 0xE0, 0x3E, 0x0D, 0xFC, 0x56, 0xFD, 0x1D, 0xC8, 0x32, 0x84, 0x87, 0x19, 0xAE, 0x19, 0x28, 0xFF, - 0x9A, 0xAF, 0xF4, 0xC0, 0x06, 0x60, 0xDB, 0xE2, 0xBB, 0xBF, 0xB4, 0x23, 0x69, 0xD9, 0x11, 0x5E, - 0x44, 0x0A, 0xB0, 0xC4, 0xE2, 0x2A, 0x6E, 0x10, 0x74, 0x6D, 0x2E, 0xF2, 0x08, 0xCF, 0x88, 0xDF, - 0x63, 0x3F, 0xD1, 0xC3, 0xE4, 0x77, 0x12, 0xA7, 0x43, 0xEB, 0x85, 0xA5, 0x7F, 0x8B, 0x03, 0x0A, - 0x27, 0x48, 0x5A, 0x16, 0xFB, 0x0C, 0xAB, 0x46, 0x90, 0x6E, 0x26, 0xD6, 0x1C, 0x16, 0xA2, 0x90, - 0x10, 0x8B, 0x06, 0x1B, 0xAC, 0x10, 0x92, 0xE4, 0x5B, 0x8D, 0x6C, 0xAC, 0xA8, 0x65, 0x75, 0x48, - 0xEB, 0x74, 0x52, 0xA4, 0xD7, 0x4B, 0x49, 0x17, 0x07, 0x4E, 0x5B, 0xA1, 0x42, 0xC4, 0xD7, 0x87, - 0x41, 0xD4, 0xAF, 0x33, 0x2C, 0x7A, 0x45, 0x04, 0xCF, 0x24, 0x2D, 0x8E, 0xEF, 0x72, 0x26, 0x09, - 0x6A, 0x1A, 0xFF, 0x27, 0x52, 0x98, 0xEA, 0x64, 0xC5, 0x54, 0x96, 0xD3, 0xEC, 0x7A, 0xC2, 0x2D, - 0xC5, 0x40, 0x90, 0x2E, 0x20, 0x3F, 0x27, 0x50, 0xF5, 0x19, 0x8B, 0xFB, 0xDC, 0x14, 0x44, 0xE7, - 0x13, 0x22, 0xA8, 0x5F, 0x32, 0x5D, 0x07, 0x34, 0xBD, 0xDF, 0x31, 0x77, 0x52, 0xE5, 0xF2, 0x4A, - 0x7E, 0x3C, 0x93, 0x67, 0xFB, 0xB5, 0xD5, 0x74, 0x0F, 0x66, 0x15, 0x22, 0xFC, 0xB4, 0x92, 0x41, - 0xDB, 0x0D, 0xDE, 0x35, 0xAF, 0xE7, 0xC7, 0x62, 0xB0, 0x0C, 0xCA, 0xAA, 0xD5, 0x0C, 0xAD, 0x81, - 0x6C, 0x68, 0xC1, 0x71, 0xE8, 0xB9, 0xE4, 0x8F, 0x94, 0x77, 0x10, 0xD6, 0x23, 0x02, 0xC6, 0xC0, - 0xA5, 0xFD, 0xFC, 0xDE, 0xDA, 0x0D, 0x64, 0x4D, 0x8C, 0x59, 0xC9, 0x23, 0x3E, 0x4A, 0x04, 0x68, - 0x05, 0xDD, 0x2A, 0x78, 0x64, 0x98, 0x21, 0x2D, 0x77, 0xE6, 0x9D, 0xDC, 0x70, 0x71, 0xB3, 0xE3, - 0xAC, 0xF5, 0x7B, 0x27, 0x8F, 0x31, 0x67, 0xC4, 0xAA, 0x9E, 0x62, 0x30, 0xC9, 0x55, 0x01, 0xB6, - 0xE2, 0xAC, 0x1E, 0xF2, 0xC6, 0xA1, 0x3D, 0x7A, 0x0E, 0xA6, 0xDF, 0x04, 0x78, 0x78, 0x34, 0x1A, - 0x89, 0xF6, 0x82, 0xB7, 0x62, 0xD1, 0x51, 0x87, 0x1C, 0x10, 0x93, 0x9D, 0xE4, 0xA9, 0xE0, 0xD3, - 0x39, 0x6D, 0x71, 0x4B, 0x80, 0x91, 0x0F, 0x08, 0x36, 0xC4, 0x09, 0x75, 0xEC, 0xA0, 0x67, 0x2A, - 0x92, 0xAA, 0x57, 0x58, 0x1B, 0x62, 0xBF, 0xF4, 0xD0, 0xA2, 0x9B, 0xA1, 0xE9, 0xF5, 0xD7, 0x10, - 0xF7, 0x06, 0xA0, 0x5C, 0x9B, 0x1A, 0x37, 0x0A, 0x7F, 0xC2, 0x79, 0xDF, 0x9F, 0x73, 0xC4, 0xAF, - 0x98, 0xF7, 0xEC, 0x28, 0x3B, 0xB4, 0x1F, 0x52, 0xD9, 0x46, 0xB5, 0x84, 0x7A, 0x4C, 0xA3, 0x15, - 0x3C, 0x7C, 0xEA, 0xBF, 0xA9, 0xAE, 0xB7, 0xC8, 0xF1, 0x2E, 0x5E, 0x03, 0x2B, 0x0B, 0x41, 0x39, - 0x01, 0x76, 0xFA, 0x49, 0x34, 0x14, 0x77, 0x9E, 0x40, 0xEB, 0xC1, 0x1F, 0x45, 0x90, 0x20, 0x14, - 0x7B, 0x2D, 0x08, 0x93, 0x18, 0x9B, 0x9A, 0x64, 0xC7, 0xE3, 0xC8, 0xE6, 0xE1, 0xFC, 0x50, 0xE9, - 0x60, 0x71, 0xDD, 0x7C, 0x7B, 0xCD, 0x5D, 0x8A, 0x47, 0xA0, 0xAF, 0xAE, 0x84, 0x4B, 0x4F, 0xAD, - 0x38, 0xD7, 0x3A, 0x8E, 0xD8, 0x9A, 0x50, 0x42, 0x89, 0xAE, 0xD6, 0xFD, 0xB6, 0xCB, 0xFB, 0x6F, - 0x0D, 0x6F, 0xE6, 0x44, 0x8E, 0x5F, 0x76, 0x5B, 0x35, 0xB8, 0xB2, 0x3C, 0xDE, 0x20, 0xD3, 0xE8, - 0x7A, 0x97, 0x43, 0x56, 0xA7, 0x60, 0xCE, 0x9B, 0x25, 0xB2, 0x8F, 0xCA, 0x51, 0xC0, 0x0B, 0xDA, - 0xAA, 0xB1, 0xDC, 0x5A, 0x98, 0xE3, 0x12, 0x9A, 0x58, 0xC5, 0x18, 0xEA, 0x5D, 0x8D, 0x52, 0x86, - 0x40, 0x63, 0xBF, 0x18, 0xCA, 0xF8, 0x70, 0x26, 0xA9, 0xE2, 0xD9, 0x79, 0x00, 0x87, 0xE9, 0xF6, - 0x82, 0x11, 0x72, 0x02, 0x42, 0x07, 0xF1, 0x21, 0x05, 0xFE, 0x80, 0x4E, 0x15, 0xC6, 0xAC, 0xA7, - 0x96, 0x01, 0x87, 0x69, 0x0A, 0xF9, 0xBA, 0x00, 0x39, 0xAB, 0x83, 0xC7, 0x96, 0x6B, 0x2D, 0xC9, - 0x5C, 0xC1, 0x86, 0x4F, 0xBD, 0x85, 0xE7, 0x06, 0x81, 0x8A, 0x32, 0xFE, 0xBB, 0x97, 0xCC, 0xAC, - 0xD0, 0xEA, 0x2E, 0x80, 0x21, 0x51, 0x36, 0xCF, 0x10, 0x03, 0xA2, 0x66, 0xFA, 0xC4, 0xDB, 0xEB, - 0xB9, 0x5F, 0xC5, 0x89, 0x27, 0x18, 0x46, 0x65, 0x7E, 0x02, 0xB3, 0xF9, 0xE5, 0xB8, 0x8E, 0x4C, - 0x4F, 0x2F, 0x9F, 0x9C, 0x9D, 0x53, 0x47, 0xA0, 0x97, 0x0B, 0xAB, 0x9F, 0xD1, 0x48, 0x73, 0x24, - 0x41, 0xD9, 0xF4, 0xDD, 0xCD, 0xDF, 0x11, 0x13, 0x09, 0xED, 0xB1, 0xB5, 0x83, 0x2A, 0x68, 0x98, - 0x49, 0x6B, 0x38, 0xE1, 0x55, 0xD5, 0x84, 0x7F, 0x78, 0x89, 0x17, 0x6E, 0xE0, 0xED, 0x3E, 0x76, - 0x94, 0xEE, 0xF0, 0x25, 0x75, 0x03, 0x24, 0xD9, 0xB2, 0xB0, 0xBB, 0xC5, 0xC3, 0x68, 0x11, 0x40, - 0xD8, 0x58, 0xE2, 0xBC, 0x1D, 0x2B, 0xCF, 0x5E, 0xF6, 0x65, 0x30, 0xB2, 0x3D, 0x6F, 0xFD, 0xF8, - 0xD3, 0xBF, 0x12, 0x09, 0x8B, 0xEF, 0x23, 0x61, 0x16, 0x88, 0x06, 0xF1, 0x6E, 0x1C, 0x88, 0xDB, - 0x85, 0xEF, 0x9E, 0xBA, 0x14, 0xC2, 0xD7, 0x38, 0x3D, 0x9C, 0x56, 0x3F, 0x8D, 0x53, 0xA6, 0xCB, - 0xF0, 0xF8, 0x4C, 0xE4, 0x38, 0x4D, 0x3A, 0xC2, 0x66, 0x2C, 0x6A, 0x0C, 0xC0, 0x4D, 0xE8, 0xD0, - 0xA7, 0x12, 0x8B, 0x92, 0x24, 0xE1, 0x63, 0xF5, 0x2F, 0x2A, 0x1A, 0xA6, 0xB5, 0xEE, 0x02, 0xFF, - 0x00, 0xCC, 0xB1, 0x8C, 0xBC, 0xEB, 0xF6, 0x99, 0x2C, 0x56, 0xA1, 0xEF, 0x35, 0x66, 0x7A, 0x01, - 0x03, 0x99, 0x8D, 0x05, 0xC7, 0xCF, 0x2C, 0xE5, 0xEE, 0x4B, 0xE9, 0x47, 0x43, 0xE0, 0x69, 0xBE, - 0xD4, 0x41, 0xFE, 0xB1, 0x4D, 0xA7, 0x99, 0xED, 0x76, 0x26, 0x57, 0xFA, 0xC8, 0x44, 0x6F, 0x29, - 0x54, 0x73, 0x4A, 0x73, 0x44, 0x4E, 0x81, 0x8B, 0x7D, 0x7E, 0x08, 0xB0, 0xF9, 0xE1, 0x22, 0x7B, - 0xB6, 0x13, 0xE5, 0x0D, 0x50, 0x65, 0xD1, 0x45, 0x75, 0x5A, 0xEC, 0xB3, 0xA4, 0xEB, 0x99, 0x0B, - 0x3E, 0x93, 0x9D, 0xF3, 0x6C, 0x1F, 0x28, 0xD4, 0x6A, 0x3F, 0x5B, 0xF7, 0xDB, 0x75, 0x63, 0xD2, - 0x65, 0x60, 0x46, 0x88, 0xD3, 0xE4, 0x7C, 0x2B, 0xCB, 0xF0, 0xF9, 0x1D, 0xD6, 0x29, 0x54, 0x11, - 0x59, 0xD0, 0x1D, 0xBB, 0xB4, 0x6C, 0xFF, 0x60, 0x84, 0x7D, 0x2D, 0x20, 0xD2, 0x6D, 0x8A, 0xB4, - 0x22, 0x31, 0xA4, 0xA4, 0x61, 0x28, 0x74, 0x17, 0x19, 0xE7, 0x8C, 0x43, 0xA1, 0xBE, 0x29, 0x31, - 0x4E, 0x95, 0xD4, 0x59, 0xB7, 0x95, 0xDA, 0xF0, 0xD6, 0x29, 0x3F, 0x36, 0x54, 0x95, 0xBB, 0xE0, - 0x04, 0x67, 0x61, 0xBD, 0xB3, 0x4B, 0x9E, 0x55, 0xC0, 0xA8, 0xA6, 0x57, 0x85, 0x5A, 0x21, 0x32, - 0x9F, 0x09, 0x00, 0x90, 0xFF, 0x6B, 0x91, 0xD1, 0xB8, 0x28, 0x2E, 0xA9, 0xD4, 0x1D, 0xC3, 0x1E, - 0x16, 0x33, 0x33, 0xAB, 0x5C, 0x3C, 0x9C, 0x19, 0x15, 0xF4, 0xBD, 0xB8, 0x81, 0x1E, 0xFF, 0x97, - 0xA4, 0x47, 0xB7, 0x1B, 0x7F, 0x13, 0x19, 0x2F, 0x70, 0xAD, 0xF3, 0x6D, 0x8C, 0x42, 0xC8, 0x54, - 0x2B, 0x39, 0x23, 0x5D, 0x91, 0x0A, 0x0A, 0xFC, 0xD2, 0x1E, 0xEA, 0xCE, 0x92, 0x2F, 0xF3, 0x6C, - 0xF2, 0x17, 0x3B, 0xA8, 0x72, 0x24, 0x45, 0xEC, 0x45, 0x1C, 0xDE, 0xC1, 0x36, 0x43, 0x83, 0x91, - 0xCC, 0x48, 0x17, 0xD7, 0x9A, 0x74, 0x26, 0x95, 0x48, 0xCF, 0x25, 0x1C, 0x25, 0x72, 0x8F, 0x6A, - 0x58, 0x6A, 0x56, 0x7E, 0x74, 0x6D, 0x35, 0x46, 0xA5, 0xF1, 0xE8, 0x82, 0xCE, 0x34, 0x26, 0x83, - 0x5F, 0x94, 0xBA, 0xC6, 0x5E, 0xAB, 0xA8, 0x16, 0x5B, 0xB9, 0xA3, 0xA3, 0xBE, 0xC2, 0x7C, 0x96, - 0xCD, 0xF2, 0x5C, 0x12, 0xBA, 0xA2, 0x86, 0x33, 0xCE, 0x07, 0xE6, 0xC3, 0x5B, 0xFD, 0x1B, 0x2C, - 0xBC, 0x4E, 0x5E, 0x7D, 0xF3, 0x32, 0xDC, 0x8D, 0x37, 0x04, 0xC3, 0x53, 0x1F, 0xFB, 0xBC, 0x51, - 0xFE, 0x0E, 0x27, 0xA5, 0x79, 0x5A, 0x69, 0x85, 0xED, 0x37, 0x52, 0x0E, 0x49, 0xDD, 0x79, 0x48, - 0x0E, 0x3A, 0xDA, 0xCD, 0x90, 0x64, 0x1B, 0x63, 0x96, 0xCB, 0x61, 0xB9, 0x0F, 0xEF, 0x49, 0x3A, - 0xFA, 0xA5, 0xF7, 0x94, 0x4C, 0xC9, 0x88, 0x72, 0x59, 0x05, 0xD2, 0xCC, 0x57, 0xB0, 0x42, 0x70, - 0xF8, 0x4A, 0x80, 0xD8, 0x82, 0x06, 0x3B, 0x07, 0xAF, 0x69, 0x7D, 0xEE, 0x16, 0xE3, 0x55, 0x37, - 0x33, 0x30, 0xCA, 0x3B, 0x87, 0xB6, 0x6E, 0x3D, 0xBE, 0xA3, 0x8A, 0x3E, 0x1A, 0xAE, 0x0C, 0x6B, - 0x8E, 0x08, 0x6E, 0x0F, 0x53, 0x9C, 0xF4, 0xD5, 0x30, 0x4F, 0xAD, 0xE2, 0x86, 0x7F, 0xD8, 0xA2, - 0xC4, 0xEA, 0xBD, 0x55, 0xDC, 0x5F, 0xC7, 0x3B, 0xD6, 0x01, 0xFC, 0xEF, 0xDB, 0x6D, 0xC0, 0xFE, - 0x1D, 0x1F, 0xA5, 0x7B, 0x94, 0xE5, 0x4B, 0xFD, 0x9E, 0x1C, 0x54, 0x2D, 0x76, 0xDB, 0x31, 0x70, - 0xAD, 0xE3, 0x56, 0xE0, 0x27, 0x0B, 0x38, 0x84, 0xA7, 0xBD, 0x93, 0xED, 0x26, 0x1D, 0xAC, 0x5A, - 0x61, 0xB8, 0xF0, 0x64, 0x35, 0x47, 0xA1, 0x32, 0x98, 0x58, 0x29, 0x8A, 0xEF, 0xC9, 0x7D, 0xC6, - 0x49, 0xE0, 0x5E, 0xC4, 0x26, 0xC1, 0x1E, 0x44, 0xA5, 0x52, 0xDF, 0x9A, 0x7D, 0xBB, 0x60, 0xDE, - 0xB6, 0x0C, 0x83, 0xBC, 0x99, 0x1E, 0x96, 0x2E, 0x81, 0xEB, 0x8A, 0x28, 0xBD, 0x84, 0xD8, 0xF7, - 0x8A, 0x3F, 0xD8, 0x0C, 0x1F, 0xDD, 0x49, 0xE6, 0xDF, 0x09, 0x05, 0x68, 0x16, 0x4E, 0x74, 0xCE, - 0x15, 0x23, 0x69, 0xC9, 0xF9, 0x4F, 0x9D, 0x80, 0x44, 0x67, 0x28, 0x09, 0x2C, 0xFE, 0x21, 0xCB, - 0xCE, 0x9A, 0x06, 0x08, 0xDF, 0xE4, 0x8E, 0x47, 0x3A, 0x97, 0xC3, 0x2B, 0xC4, 0xD4, 0xBB, 0x1F, - 0x75, 0xD3, 0x05, 0x74, 0x3F, 0xD2, 0xCD, 0xAA, 0xB2, 0x17, 0x3D, 0x53, 0xE7, 0xA1, 0xC8, 0x4C, - 0xF9, 0x1C, 0xAD, 0x5F, 0x54, 0xDC, 0x8C, 0x5C, 0xB9, 0xF0, 0x88, 0xA3, 0x47, 0x0B, 0x35, 0xDB, - 0x58, 0x7F, 0x30, 0xC5, 0x5C, 0x38, 0x8F, 0x78, 0x6A, 0x83, 0x0D, 0x00, 0x37, 0xB0, 0x3F, 0x86, - 0x3D, 0x7B, 0xC7, 0x69, 0x14, 0x82, 0x03, 0xBE, 0x34, 0x61, 0x82, 0x40, 0xF7, 0x8F, 0x87, 0xAF, - 0x83, 0xC6, 0x5F, 0x04, 0x4F, 0xBE, 0x30, 0x0E, 0x90, 0xEA, 0x15, 0x46, 0xEC, 0xC1, 0x99, 0xE2, - 0xEB, 0x0A, 0xFF, 0x0B, 0x43, 0x8F, 0xCB, 0x1D, 0x41, 0x76, 0xDC, 0x92, 0xEE, 0x4A, 0xA1, 0xF9, - 0x72, 0x6B, 0xE9, 0x8A, 0xE2, 0x2D, 0x21, 0xD2, 0x8E, 0xA7, 0x0E, 0x08, 0x2D, 0x7D, 0xFD, 0xF4, - 0xB8, 0x4D, 0xE8, 0x4A, 0xB9, 0x11, 0x12, 0x62, 0x30, 0xCA, 0xB3, 0x90, 0x6C, 0x16, 0xF3, 0x02, - 0x71, 0xE2, 0xD5, 0xDF, 0x81, 0xC7, 0x63, 0x00, 0xB0, 0xF8, 0x71, 0x24, 0x08, 0x74, 0xD3, 0x10, - 0x23, 0x60, 0x89, 0x24, 0x37, 0x36, 0xCE, 0x8E, 0xE3, 0xB9, 0x36, 0x33, 0x46, 0x88, 0xE9, 0xE4, - 0x4C, 0x14, 0xC5, 0xD5, 0xAB, 0x5D, 0x8B, 0xD4, 0xCB, 0x19, 0x6E, 0x9D, 0xBB, 0xF8, 0x85, 0x40, - 0xD1, 0x44, 0x03, 0xFF, 0xBA, 0xAA, 0x5B, 0x1E, 0xF5, 0x46, 0x11, 0xB1, 0x48, 0x9C, 0x01, 0xD9, - 0x78, 0x1B, 0x52, 0xD7, 0xF7, 0x0F, 0x09, 0x2F, 0xB3, 0xAD, 0xF8, 0x18, 0x5E, 0xCE, 0x13, 0x8D, - 0xE8, 0x83, 0xC3, 0x5E, 0x58, 0xED, 0x77, 0x4F, 0x63, 0x8B, 0xF4, 0x87, 0x34, 0xB8, 0xDB, 0xA2, - 0xD5, 0x75, 0xD3, 0x54, 0x7E, 0x46, 0x64, 0x88, 0xA3, 0x16, 0xA2, 0x3D, 0xC8, 0x4B, 0x6B, 0x39, - 0x73, 0xAE, 0xA2, 0x30, 0xCB, 0x0C, 0x80, 0x7A, 0xB7, 0x06, 0xC9, 0xC8, 0x62, 0x02, 0x1B, 0x3F, - 0xD4, 0xB0, 0x98, 0xEE, 0x3B, 0x07, 0x35, 0x9D, 0x22, 0x9E, 0xA5, 0xC2, 0x5D, 0xC6, 0xF7, 0xA9, - 0x8D, 0x87, 0x34, 0xF2, 0x63, 0x80, 0x4F, 0x51, 0x2B, 0x96, 0x5C, 0x45, 0xB7, 0x67, 0x55, 0x66, - 0xF6, 0x98, 0x8D, 0x13, 0xCC, 0x62, 0x31, 0x31, 0xA0, 0x43, 0x2B, 0x01, 0x79, 0x4C, 0x05, 0x72, - 0xD7, 0x39, 0xA4, 0xBB, 0xB7, 0x51, 0x86, 0xCD, 0xF8, 0xE5, 0xD9, 0xE6, 0x04, 0xEB, 0x03, 0x36, - 0x00, 0x8D, 0xD7, 0x63, 0x65, 0x24, 0xD8, 0xDA, 0x4D, 0x6F, 0xD1, 0x8E, 0xFE, 0x64, 0xEE, 0x1A, - 0x9A, 0x65, 0xFD, 0xB7, 0xB4, 0xEA, 0xCF, 0xB1, 0x0E, 0x95, 0xCC, 0xBC, 0xE8, 0x36, 0xFC, 0x4E, - 0xD0, 0x81, 0x48, 0x45, 0x6F, 0xB1, 0xB4, 0x42, 0x4A, 0x91, 0x69, 0x62, 0x17, 0xCD, 0xA8, 0xF1, - 0x5B, 0xF6, 0x0C, 0x90, 0xEE, 0x1C, 0xDA, 0xC1, 0x14, 0x73, 0xE6, 0x22, 0xD5, 0x79, 0x28, 0xC3, - 0xCC, 0xD6, 0x71, 0xE7, 0x6E, 0x7B, 0x92, 0x82, 0x59, 0x7F, 0xBA, 0x7B, 0x91, 0x66, 0x9F, 0xA6, - 0x7F, 0xA3, 0xBE, 0x29, 0x10, 0x57, 0xFB, 0x89, 0x9C, 0xF3, 0x18, 0x5A, 0xF5, 0x04, 0xBF, 0xB4, - 0x65, 0x89, 0x20, 0xCF, 0xA8, 0xE6, 0xC2, 0xA8, 0xFE, 0xA1, 0xA4, 0x41, 0x90, 0xE5, 0x43, 0x99, - 0x0D, 0x45, 0x80, 0xC0, 0xA0, 0x02, 0xC1, 0x8C, 0x53, 0x22, 0xCA, 0xC0, 0x53, 0xD2, 0x1F, 0x94, - 0x54, 0x72, 0x2C, 0xDC, 0x1C, 0x66, 0x00, 0x9A, 0x12, 0x37, 0x9B, 0x85, 0xD4, 0xFA, 0xF4, 0xFC, - 0xC3, 0x52, 0x51, 0xAB, 0x39, 0x76, 0x5A, 0x21, 0x39, 0xC2, 0x4A, 0x17, 0xD7, 0xF2, 0x10, 0xD8, - 0x6F, 0xF9, 0x9B, 0x92, 0x57, 0x67, 0xC5, 0x20, 0xBC, 0xE1, 0x7C, 0x38, 0x70, 0xA7, 0x6C, 0xC7, - 0x0A, 0xFD, 0x6C, 0x3E, 0x91, 0xFA, 0x95, 0x0A, 0x97, 0x14, 0xAD, 0xAA, 0x22, 0xEA, 0xC9, 0xF6, - 0xF1, 0x20, 0x61, 0xED, 0x3C, 0x69, 0x84, 0xD6, 0xA6, 0x07, 0x56, 0xA6, 0xAB, 0xD6, 0xCA, 0xA3, - 0x06, 0xF0, 0x70, 0x27, 0xE7, 0x32, 0xFF, 0x25, 0x64, 0x75, 0x4C, 0x6B, 0x10, 0x32, 0x29, 0x79, - 0xA9, 0xD2, 0x86, 0x4B, 0x1E, 0x17, 0x6F, 0x26, 0x37, 0x34, 0x0B, 0x7C, 0x6D, 0x95, 0x2F, 0x3D, - 0x3C, 0xBE, 0x8C, 0xD3, 0x59, 0x27, 0x51, 0x8F, 0xE0, 0xEC, 0xBF, 0x0F, 0x68, 0xE1, 0x96, 0xAE, - 0x77, 0x9F, 0x72, 0x9B, 0xFB, 0x3E, 0xF2, 0x3C, 0x16, 0x9C, 0xAA, 0x55, 0x50, 0xDA, 0xFB, 0xB0, - 0x5E, 0x02, 0x97, 0x81, 0xC4, 0x86, 0x32, 0x15, 0x7A, 0x38, 0x57, 0x25, 0x74, 0x50, 0x09, 0x6B, - 0x79, 0xDE, 0x19, 0x6D, 0xBF, 0xB5, 0x85, 0xE9, 0xAB, 0xA4, 0x9E, 0xF1, 0x06, 0x60, 0x3B, 0x2D, - 0xAE, 0x6A, 0x6A, 0xB5, 0x21, 0xAF, 0xAF, 0x0F, 0x1A, 0x85, 0xA7, 0x49, 0x58, 0xB2, 0x4E, 0x3A, - 0x7E, 0x66, 0xF5, 0x93, 0xF4, 0xB4, 0x40, 0x53, 0xC6, 0xBA, 0xA6, 0xCA, 0xB6, 0xE4, 0x89, 0x59, - 0x9B, 0xA0, 0xB6, 0x0D, 0xAE, 0x42, 0x55, 0x23, 0x93, 0xBF, 0x9C, 0x7A, 0x3C, 0xD0, 0x6E, 0x28, - 0x95, 0xE1, 0xDD, 0xFB, 0xAF, 0x88, 0x73, 0xE3, 0xC5, 0xEF, 0x2F, 0xF6, 0x3A, 0xAC, 0x33, 0x9F, - 0x94, 0x24, 0x96, 0x41, 0x13, 0xEC, 0xB2, 0xF5, 0xA4, 0xE8, 0x1A, 0xD1, 0x7E, 0xB3, 0x84, 0xFA, - 0x56, 0x3E, 0x5B, 0x33, 0xCF, 0xD9, 0x78, 0x4D, 0x25, 0x60, 0x1D, 0x2E, 0x67, 0x76, 0xA2, 0xAC, - 0x9D, 0xDD, 0x11, 0x49, 0x07, 0x04, 0xBC, 0xC8, 0x50, 0x77, 0x43, 0xFC, 0xF3, 0x78, 0xE2, 0x03, - 0x40, 0x19, 0xD9, 0xCC, 0xEC, 0x6D, 0xB5, 0x7D, 0xF0, 0x57, 0xE5, 0x2A, 0x59, 0x31, 0x92, 0x05, - 0x26, 0x94, 0x12, 0x35, 0x29, 0x4B, 0xAC, 0x2B, 0x91, 0x50, 0xD0, 0x0D, 0xED, 0x42, 0x45, 0xDD, - 0x18, 0xEB, 0x3E, 0x6A, 0x1A, 0xC2, 0x97, 0x11, 0xF2, 0xB8, 0xA9, 0x5D, 0x25, 0x15, 0x48, 0x7E, - 0x2E, 0xA8, 0xDE, 0x87, 0x75, 0x19, 0x2E, 0xD0, 0x5C, 0x6E, 0x4E, 0xE0, 0x0F, 0x8B, 0x52, 0x98, - 0x2C, 0xE4, 0xA9, 0x68, 0x77, 0x68, 0x41, 0x6C, 0xEF, 0xA0, 0x3B, 0x2F, 0xB1, 0x1B, 0x08, 0xD1, - 0x8C, 0x42, 0x7F, 0x48, 0x9E, 0x70, 0x27, 0x65, 0xE1, 0x56, 0x7A, 0x44, 0x13, 0x3A, 0xCD, 0x5D, - 0x8B, 0xFA, 0x93, 0xB6, 0x0A, 0xFF, 0x61, 0x1B, 0x7C, 0x7C, 0x2A, 0x82, 0xC0, 0x23, 0xDE, 0xB3, - 0xE7, 0x07, 0xE3, 0x12, 0x0E, 0x2A, 0x99, 0x2C, 0xBA, 0xA5, 0x01, 0x9F, 0xB9, 0x73, 0xBD, 0x5B, - 0x5A, 0x33, 0x47, 0x2A, 0xF3, 0xDA, 0xF1, 0x18, 0x20, 0x71, 0xE9, 0xB5, 0x5F, 0x4D, 0xCF, 0xB2, - 0xFC, 0xE1, 0x18, 0x2A, 0xC6, 0xE2, 0xDB, 0x8D, 0x12, 0xED, 0xB7, 0x7B, 0x45, 0x20, 0xC8, 0x97, - 0xB5, 0xE2, 0x64, 0x91, 0x2B, 0xA1, 0x3B, 0xBB, 0xEC, 0x65, 0xCF, 0xFB, 0x30, 0x73, 0xEB, 0xE4, - 0x50, 0xD4, 0xA9, 0x07, 0x14, 0xA0, 0xB8, 0x67, 0x22, 0x35, 0xE4, 0xEF, 0x54, 0xEA, 0x18, 0x60, - 0x33, 0x49, 0x33, 0xA6, 0x30, 0xA3, 0xB0, 0x83, 0xA7, 0xE6, 0x47, 0x9C, 0xEF, 0xB7, 0x68, 0x6A, - 0xE9, 0xBB, 0x68, 0xDC, 0x62, 0x1F, 0xAB, 0xE1, 0x3A, 0xCF, 0xA2, 0x86, 0x25, 0x8E, 0xC3, 0xC6, - 0x54, 0x23, 0x05, 0x62, 0xD2, 0x2C, 0xF0, 0xDD, 0xAD, 0x6B, 0xA4, 0x0D, 0x6B, 0xC3, 0xD8, 0xD8, - 0x44, 0x0D, 0xE6, 0x2D, 0xBE, 0x0E, 0x06, 0x72, 0x21, 0xD1, 0xEC, 0xCB, 0x99, 0x98, 0x02, 0xA2, - 0x25, 0x1B, 0x67, 0xB4, 0x71, 0xE4, 0xA7, 0xD0, 0xF3, 0x1E, 0x76, 0x1A, 0xAE, 0x95, 0xC1, 0xFE, - 0x30, 0x41, 0x17, 0x42, 0x91, 0x64, 0x70, 0xBA, 0x7B, 0xC1, 0xC9, 0x70, 0x3F, 0x1C, 0x59, 0x6E, - 0xC5, 0x59, 0x39, 0x9B, 0x57, 0xE8, 0x38, 0x00, 0xD3, 0x89, 0x0B, 0x6D, 0x89, 0x92, 0xF4, 0x9F, - 0x97, 0x14, 0x08, 0x3E, 0x5E, 0x8E, 0xD1, 0x18, 0x06, 0xC7, 0x6E, 0x34, 0x2D, 0xAA, 0xC0, 0x22, - 0xCC, 0xB2, 0x8C, 0xF2, 0xE8, 0x17, 0xC3, 0x54, 0xBC, 0xF8, 0x09, 0xD1, 0xF9, 0x36, 0x09, 0xF3, - 0x23, 0x67, 0xD0, 0xE9, 0x42, 0xB9, 0x7D, 0x41, 0xA5, 0xDE, 0xCC, 0x87, 0x60, 0x9B, 0x92, 0x87, - 0xCF, 0xBA, 0xA8, 0x16, 0x28, 0x31, 0xC2, 0x9E, 0xF0, 0xFA, 0x7E, 0x3E, 0x5F, 0xB2, 0x52, 0x3F, - 0x0C, 0x8D, 0xA5, 0x4A, 0xEC, 0xB2, 0x1D, 0x10, 0x07, 0x1B, 0xED, 0x0B, 0x1A, 0xA7, 0x03, 0x7E, - 0x10, 0x3C, 0x60, 0xD5, 0x8A, 0x66, 0xFB, 0x82, 0x2A, 0x80, 0x8C, 0x65, 0xAA, 0xA2, 0x39, 0x2B, - 0x9F, 0x7C, 0x82, 0x8B, 0xF1, 0x1A, 0xDF, 0x58, 0x8A, 0x7D, 0x26, 0xF2, 0x22, 0xC5, 0x72, 0xA8, - 0x81, 0x46, 0x5C, 0x2C, 0x16, 0xAF, 0x2F, 0x53, 0xE6, 0xE8, 0x2C, 0x6A, 0xE6, 0x53, 0x4D, 0x44, - 0xB7, 0x69, 0x7F, 0xA9, 0x5D, 0x1E, 0x28, 0x3D, 0x04, 0xFF, 0xE5, 0x2F, 0xA8, 0x1E, 0x56, 0x5A, - 0xA8, 0xD0, 0x9E, 0xD2, 0x3D, 0x60, 0x87, 0xDF, 0x73, 0x74, 0xA1, 0xFA, 0x83, 0x0A, 0x98, 0x0A, - 0xA2, 0x33, 0x0F, 0x5F, 0xB6, 0xF7, 0x81, 0x7B, 0xFE, 0x12, 0x6A, 0x03, 0x80, 0x76, 0xD1, 0xB1, - 0x16, 0x40, 0xD7, 0x88, 0xA1, 0xA9, 0x53, 0x0E, 0xF6, 0xA7, 0x02, 0x89, 0x0F, 0x5A, 0x2B, 0x5C, - 0xAE, 0xAC, 0x29, 0x8F, 0x2E, 0x9B, 0x8B, 0xEE, 0x46, 0x15, 0x86, 0xFD, 0x29, 0x9D, 0x38, 0xF7, - 0x4A, 0x19, 0xDB, 0xC5, 0xDD, 0xE0, 0x50, 0xB5, 0xE3, 0x51, 0x58, 0xF9, 0xD2, 0x22, 0xC7, 0xA3, - 0xCD, 0x31, 0xB3, 0x2E, 0x6C, 0x4C, 0x65, 0x98, 0x5E, 0xEF, 0xC0, 0x94, 0x90, 0x7C, 0x27, 0x8C, - 0x62, 0x0C, 0x26, 0xE7, 0x0E, 0x3D, 0x5D, 0x4E, 0x9C, 0x6F, 0x74, 0xA6, 0xF2, 0x6E, 0x43, 0xAC, - 0x3B, 0x21, 0xB9, 0x13, 0xB8, 0xA4, 0x4F, 0x02, 0x41, 0x94, 0x79, 0x75, 0x1C, 0x2C, 0x94, 0xDA, - 0x4F, 0x6D, 0x48, 0x7C, 0xE2, 0xE1, 0xD3, 0x69, 0x19, 0xBC, 0xD7, 0xD5, 0x6C, 0x88, 0x69, 0xB6, - 0x34, 0xB6, 0xBB, 0x27, 0x43, 0x26, 0x13, 0x50, 0xD7, 0xEC, 0xFC, 0xC1, 0x2A, 0xE1, 0x71, 0x4C, - 0x6B, 0xE7, 0x93, 0x8E, 0x72, 0x74, 0x5E, 0xF5, 0x3E, 0xAA, 0x55, 0x2A, 0x78, 0xB5, 0x67, 0x5E, - 0x5A, 0x37, 0x38, 0x8A, 0xE4, 0x4B, 0x9A, 0x19, 0x8D, 0xFC, 0xD9, 0x7A, 0xAF, 0x55, 0xE7, 0x34, - 0xAC, 0x27, 0x32, 0xB7, 0x23, 0x58, 0xBC, 0xB2, 0xDB, 0x3C, 0x63, 0xE7, 0x5C, 0xCE, 0x1B, 0x84, - 0x0F, 0x85, 0x81, 0xAE, 0xBA, 0xAB, 0xD8, 0x36, 0x79, 0xF9, 0x42, 0x6B, 0x32, 0xCF, 0x84, 0x95, - 0xD2, 0x88, 0x52, 0x55, 0x66, 0xBA, 0x75, 0xA5, 0x82, 0xC8, 0x4E, 0x78, 0x0E, 0x9A, 0x0D, 0x96, - 0xFD, 0x62, 0x27, 0xF6, 0x4A, 0x40, 0xFA, 0x48, 0x24, 0x68, 0x98, 0x58, 0x71, 0x51, 0x42, 0x70, - 0xDF, 0x94, 0x4B, 0x59, 0x49, 0xD0, 0x03, 0x6D, 0x63, 0x3B, 0x8F, 0x19, 0xD6, 0x15, 0x3F, 0x76, - 0xB0, 0x96, 0xF7, 0x28, 0x50, 0xDD, 0x1F, 0x61, 0x85, 0x49, 0xB1, 0xF0, 0x3E, 0xDC, 0x7F, 0xA4, - 0x91, 0x68, 0xBF, 0x63, 0xE3, 0x7E, 0xBD, 0x78, 0x90, 0xBF, 0xEB, 0x80, 0x05, 0xC2, 0x47, 0xC9, - 0xF1, 0xFD, 0x01, 0x26, 0x85, 0xAA, 0x5B, 0xEA, 0xB1, 0xF4, 0x15, 0xC8, 0x84, 0x41, 0x29, 0x64, - 0x2D, 0x73, 0xED, 0x01, 0x79, 0x1D, 0x20, 0xD9, 0x78, 0x25, 0xC1, 0x54, 0xB4, 0x07, 0x5B, 0x56, - 0xF9, 0x95, 0x8B, 0x93, 0xEE, 0xBD, 0x8A, 0x24, 0x95, 0x06, 0x9F, 0x13, 0x82, 0xCA, 0xBE, 0xC0, - 0xD9, 0xE8, 0xFC, 0x04, 0xAD, 0xF5, 0x0A, 0x43, 0xC9, 0x4B, 0xC6, 0x1F, 0x9D, 0xAF, 0xFA, 0x77, - 0xA6, 0xC4, 0xA3, 0x3A, 0xC4, 0xED, 0x4C, 0xB9, 0x8B, 0xA1, 0xA5, 0xCD, 0x01, 0xF5, 0xBF, 0x1C, - 0x8C, 0x5A, 0x45, 0x20, 0xE5, 0xD4, 0xF4, 0x08, 0x37, 0xC3, 0xBE, 0x9F, 0xE0, 0xD8, 0xDA, 0xE0, - 0x5D, 0xC8, 0xB0, 0x0B, 0xF6, 0x2F, 0xF8, 0x39, 0xB4, 0x4D, 0x61, 0x5B, 0x1E, 0x90, 0xFB, 0xAB, - 0x6A, 0x64, 0xAC, 0x52, 0xE0, 0xEE, 0x44, 0x5D, 0xE5, 0x0C, 0x24, 0x4E, 0x36, 0xF8, 0x7C, 0x40, - 0xD6, 0x7F, 0xFE, 0x30, 0x4C, 0xEA, 0xB3, 0x38, 0x53, 0xE3, 0xDC, 0x8D, 0x43, 0xAB, 0x5F, 0x33, - 0x7D, 0xB5, 0xC7, 0x9C, 0x4D, 0x75, 0xDD, 0x29, 0x65, 0x66, 0xF3, 0xAE, 0x16, 0xB4, 0xF8, 0x4F, - 0xC4, 0xDA, 0x06, 0x47, 0x7D, 0xB8, 0xFE, 0x9D, 0x86, 0xAD, 0xB9, 0xD4, 0xF1, 0x12, 0x0A, 0x17, - 0xBB, 0xF6, 0x59, 0x79, 0x47, 0x83, 0xCD, 0x14, 0xFF, 0xCE, 0xE9, 0x3C, 0xA6, 0xB1, 0xC2, 0x1A, - 0xCB, 0x4D, 0x04, 0x73, 0x00, 0x6E, 0x93, 0x37, 0x14, 0xB0, 0xCB, 0xCC, 0xFF, 0xBD, 0x9E, 0x57, - 0x87, 0x3A, 0xEB, 0x71, 0xBC, 0x01, 0x91, 0x46, 0x61, 0x03, 0x04, 0x02, 0x6F, 0xF4, 0x20, 0x0D, - 0xD5, 0x77, 0xDA, 0xD4, 0x77, 0x4E, 0xEE, 0xA0, 0x05, 0x23, 0x66, 0x10, 0xC7, 0xDF, 0xEF, 0x81, - 0x6D, 0x9B, 0x24, 0xD3, 0x09, 0x08, 0x7A, 0x2F, 0x55, 0xBE, 0xA0, 0x3A, 0xDE, 0x31, 0x3C, 0x92, - 0x1C, 0xA3, 0x46, 0x05, 0x74, 0xDE, 0x17, 0x85, 0xC6, 0x7F, 0x51, 0x1D, 0xA9, 0xDE, 0x70, 0x90, - 0x28, 0x07, 0x7E, 0xB8, 0x40, 0xB6, 0xEA, 0x75, 0x2E, 0xE5, 0x7B, 0xC9, 0x97, 0x37, 0x96, 0xE2, - 0x49, 0x11, 0xFF, 0x21, 0x3F, 0x6F, 0x10, 0xEB, 0x89, 0x99, 0x2E, 0xD6, 0x00, 0x35, 0x99, 0xD6, - 0x45, 0x8E, 0xD9, 0xF1, 0x63, 0x80, 0xC5, 0xF0, 0x88, 0x45, 0xAD, 0xE9, 0x56, 0x56, 0x77, 0x11, - 0xCE, 0x39, 0x97, 0xCA, 0x8F, 0x5C, 0x4B, 0xD7, 0x00, 0x9A, 0x12, 0x83, 0x48, 0xF3, 0x15, 0x6C, - 0x8F, 0x52, 0x61, 0xC4, 0x4F, 0x7A, 0x4A, 0x1D, 0xB3, 0xCC, 0x9E, 0xD3, 0x34, 0x44, 0x13, 0x31, - 0x11, 0xBF, 0x5F, 0x09, 0x21, 0x57, 0x2B, 0x86, 0x32, 0x7A, 0xCA, 0x0C, 0x92, 0xC0, 0x48, 0xFD, - 0x0B, 0x72, 0x2D, 0xCB, 0x99, 0x9D, 0xF7, 0xB3, 0x35, 0xFB, 0x35, 0x84, 0x57, 0x96, 0x51, 0xDB, - 0x36, 0x3D, 0xA0, 0x1F, 0x11, 0x9A, 0x08, 0x32, 0xCA, 0xAF, 0xCE, 0x3B, 0xD5, 0x69, 0x76, 0xCD, - 0xF2, 0xF5, 0x25, 0xC2, 0xA4, 0x93, 0xE3, 0x5B, 0x6C, 0x0F, 0x18, 0x1B, 0x9C, 0x6F, 0xDC, 0xBD, - 0xEF, 0x75, 0x2B, 0x86, 0xC1, 0x20, 0xD7, 0x27, 0x25, 0x97, 0x82, 0xFB, 0xF6, 0x60, 0x88, 0x0E, - 0xC5, 0xE8, 0x7B, 0x40, 0x12, 0xCE, 0xC4, 0x3E, 0xDB, 0x7B, 0x85, 0x43, 0x79, 0x26, 0xF6, 0x9A, - 0xE2, 0x29, 0xE8, 0xB1, 0x5E, 0x21, 0xC6, 0x49, 0xB9, 0x43, 0x53, 0x32, 0xD3, 0xF0, 0x8B, 0xF7, - 0x36, 0xB3, 0x00, 0x9B, 0xB8, 0xC8, 0xB4, 0x77, 0x81, 0xE7, 0xEE, 0x06, 0x23, 0x98, 0xBF, 0x0A, - 0x2B, 0xFB, 0xA8, 0x59, 0x24, 0xED, 0x41, 0x11, 0xF9, 0x3A, 0x11, 0xEA, 0xCB, 0x96, 0x82, 0x1E, - 0xC3, 0x98, 0xD1, 0x09, 0xEC, 0x4E, 0x4C, 0x46, 0xA6, 0x16, 0x2F, 0x95, 0x42, 0xAD, 0xB8, 0x2D, - 0x33, 0xE6, 0x3A, 0x2B, 0xB0, 0x42, 0x01, 0x1F, 0xFB, 0xAD, 0x25, 0xE5, 0x61, 0x40, 0xFF, 0x73, - 0xFD, 0x55, 0x4F, 0xE4, 0x0E, 0x0B, 0x5B, 0x8F, 0x14, 0xDA, 0x27, 0xA9, 0x10, 0x2F, 0x43, 0x71, - 0xF3, 0x2C, 0x1C, 0x2A, 0x66, 0x3F, 0xAB, 0x72, 0xA0, 0x5F, 0x5F, 0x3F, 0xD0, 0x79, 0xDE, 0xCB, - 0x7B, 0xAD, 0x1B, 0xD5, 0x7F, 0x69, 0x8D, 0xB7, 0xD2, 0x92, 0x9D, 0x25, 0xE5, 0xB3, 0x66, 0x17, - 0xC4, 0xF9, 0xE4, 0x2E, 0x58, 0x96, 0x9B, 0x35, 0x5F, 0xDD, 0x49, 0x18, 0x64, 0xB4, 0xEE, 0xE8, - 0xE4, 0x59, 0x42, 0xF8, 0xF2, 0x90, 0xEB, 0x7C, 0xDA, 0x15, 0x94, 0xDC, 0x0D, 0xBD, 0x5B, 0x03, - 0x29, 0xCF, 0xA7, 0xCE, 0xB7, 0xCA, 0x80, 0xE0, 0x00, 0xF1, 0x77, 0x67, 0xBD, 0x41, 0xC0, 0xF0, - 0x16, 0x13, 0xA6, 0x4D, 0x59, 0xA9, 0x47, 0xB6, 0x26, 0x6E, 0xA7, 0x6B, 0xA6, 0xAE, 0x9C, 0x25, - 0x7C, 0xCC, 0x2E, 0xF2, 0x3B, 0x0C, 0x3A, 0xA8, 0x68, 0xD9, 0x9C, 0xE0, 0x81, 0x72, 0x70, 0xAB, - 0x2C, 0x9A, 0x9D, 0x7E, 0x3D, 0xBB, 0x67, 0xD4, 0x9E, 0xB2, 0x92, 0xA1, 0x4B, 0x54, 0xB0, 0xAA, - 0x0F, 0x1F, 0xAB, 0x51, 0x51, 0x23, 0xF2, 0xDE, 0x08, 0x76, 0x7E, 0x9E, 0x37, 0xF3, 0xAF, 0xFF, - 0x7F, 0xE9, 0xBE, 0x0B, 0x69, 0x3D, 0x9F, 0xE5, 0x40, 0x88, 0x35, 0xBF, 0x2E, 0x50, 0x1C, 0x5D, - 0x37, 0xA2, 0x9F, 0xF5, 0x07, 0xBE, 0x32, 0x64, 0xFE, 0x1D, 0x70, 0xDF, 0xBC, 0x84, 0x7A, 0xBB, - 0xAB, 0x73, 0x56, 0x21, 0x75, 0xF8, 0x00, 0x54, 0x12, 0x93, 0x57, 0x03, 0x8F, 0x33, 0x86, 0xC0, - 0x94, 0xAF, 0x57, 0xA2, 0xAA, 0x30, 0xC3, 0xD2, 0x7E, 0x65, 0xF8, 0x21, 0x60, 0x85, 0x45, 0x38, - 0x87, 0x9E, 0xAC, 0xAE, 0x23, 0x65, 0xC0, 0xEE, 0xAD, 0x68, 0x03, 0xFC, 0xF3, 0x94, 0x99, 0x95, - 0xA7, 0x3E, 0x0A, 0x78, 0x6C, 0xAE, 0x26, 0x91, 0xD8, 0x82, 0xA0, 0xD3, 0x1E, 0x6E, 0xB5, 0x1A, - 0xE6, 0x6D, 0x4D, 0x6F, 0x11, 0xEA, 0x20, 0x36, 0xB4, 0x74, 0x0F, 0xF1, 0x3B, 0xFE, 0xB6, 0xE3, - 0xA4, 0x1B, 0x9A, 0x81, 0xD5, 0x6F, 0xFD, 0xFE, 0x4F, 0x28, 0x5D, 0x73, 0x6F, 0x01, 0x09, 0x18, - 0xB1, 0x5A, 0xCB, 0xC4, 0x52, 0x07, 0x16, 0xD6, 0x53, 0x84, 0x04, 0x44, 0x0B, 0xC0, 0x1F, 0xA4, - 0x72, 0xB5, 0x7D, 0x3C, 0x71, 0x54, 0x65, 0xA3, 0x01, 0x9F, 0x66, 0xF8, 0x6E, 0xC4, 0xB3, 0x53, - 0x51, 0x30, 0x4B, 0x13, 0xD6, 0x4B, 0x19, 0xF6, 0x38, 0x55, 0xCA, 0x53, 0x7F, 0x5B, 0xB2, 0x3D, - 0xEC, 0x50, 0xBB, 0x7F, 0x90, 0x35, 0x96, 0x62, 0x74, 0x75, 0xC5, 0xD7, 0x72, 0x93, 0x11, 0x6A, - 0xE0, 0x1D, 0xE7, 0x26, 0xD4, 0x50, 0x21, 0x7D, 0x03, 0x08, 0x52, 0xF7, 0x15, 0xDB, 0x52, 0xEA, - 0x32, 0xF7, 0xA5, 0x45, 0x91, 0x0A, 0x4A, 0xE1, 0x5C, 0x24, 0x6C, 0x88, 0xEF, 0xC3, 0x3B, 0xAC, - 0x60, 0x95, 0x19, 0x5E, 0xF4, 0x27, 0xB6, 0x00, 0xBA, 0xBA, 0x76, 0xA2, 0x5E, 0xFA, 0x1A, 0x14, - 0xFC, 0x44, 0xD0, 0x8A, 0xFF, 0x89, 0xE7, 0x60, 0xF0, 0xD3, 0x09, 0x8C, 0x2D, 0xD9, 0x49, 0x61, - 0x76, 0xF1, 0xD8, 0xE2, 0x05, 0xA5, 0x0A, 0xEF, 0x28, 0xA0, 0xDE, 0x38, 0x58, 0x87, 0x5E, 0xB3, - 0x02, 0x43, 0x68, 0x66, 0x16, 0x62, 0xA1, 0xC9, 0xD6, 0x4C, 0xD9, 0x80, 0xB8, 0xB5, 0xD1, 0x6B, - 0x06, 0x07, 0xCD, 0xB8, 0xE9, 0xDD, 0xF5, 0x32, 0x24, 0xF9, 0x93, 0x64, 0xE3, 0xCE, 0x22, 0xB0, - 0x0D, 0x2B, 0xA4, 0xC6, 0x5C, 0x3A, 0xFE, 0xC2, 0x7D, 0x9C, 0xDD, 0xB1, 0x0E, 0x34, 0x0E, 0x3F, - 0x95, 0xBE, 0xC8, 0xCC, 0x63, 0xAC, 0x12, 0x06, 0xA3, 0xA6, 0x7A, 0xAF, 0x05, 0x81, 0xE9, 0xCF, - 0xD0, 0xA9, 0x2A, 0x05, 0x78, 0xE1, 0x0C, 0x48, 0x80, 0x89, 0xFF, 0x99, 0x6B, 0x30, 0xA2, 0xC8, - 0x05, 0x22, 0x5D, 0x41, 0xB6, 0xF5, 0x5C, 0x63, 0x61, 0x30, 0x84, 0x86, 0x89, 0x4E, 0xC2, 0x67, - 0x3E, 0xBA, 0xF9, 0x1C, 0x5F, 0x1E, 0x1A, 0xCA, 0x44, 0x56, 0x71, 0x1A, 0x06, 0x08, 0xBC, 0xF3, - 0xD5, 0xFC, 0x10, 0xB5, 0x49, 0x4A, 0x08, 0x98, 0x6C, 0x07, 0xD8, 0x45, 0xA3, 0x5A, 0x8D, 0xBE, - 0x85, 0xAA, 0xA3, 0x39, 0xC9, 0xAA, 0x62, 0x4F, 0xC7, 0xD7, 0xDC, 0x74, 0x4F, 0x65, 0x1B, 0x7A, - 0x18, 0x6A, 0xF5, 0x83, 0x35, 0x31, 0xD2, 0xBC, 0xCD, 0xC7, 0xE1, 0x82, 0xE4, 0x76, 0xDC, 0x5C, - 0x6B, 0xB9, 0x70, 0x20, 0x09, 0x83, 0xDA, 0x70, 0x4C, 0xD1, 0x78, 0xE3, 0xCE, 0x62, 0x93, 0x85, - 0x59, 0x39, 0xB2, 0x94, 0x6D, 0x91, 0xFA, 0x12, 0xD9, 0xEC, 0xB1, 0x4C, 0x18, 0x13, 0xF1, 0xBD, - 0x8A, 0xC2, 0x6F, 0x99, 0xBA, 0xD3, 0x8C, 0xFC, 0x46, 0xC1, 0x45, 0x15, 0x54, 0x8A, 0x47, 0xAF, - 0x2A, 0xEA, 0x37, 0x37, 0x47, 0x77, 0xE0, 0x8C, 0xB7, 0x8D, 0x2A, 0x61, 0x3F, 0xCF, 0x1D, 0x33, - 0x79, 0x99, 0x14, 0x42, 0xED, 0x71, 0x90, 0xC5, 0x97, 0x5B, 0x8A, 0xC7, 0xB7, 0x31, 0x9D, 0x4B, - 0xF2, 0x3D, 0x83, 0x44, 0xF6, 0x3C, 0x8E, 0x8B, 0xFA, 0xC3, 0x34, 0x7A, 0x8B, 0x02, 0x2D, 0x10, - 0x34, 0x87, 0x0F, 0x0C, 0x2C, 0x67, 0xF4, 0x79, 0x19, 0xED, 0x7B, 0x6A, 0x24, 0x20, 0x41, 0xE6, - 0xE5, 0x48, 0xDD, 0x96, 0xEF, 0x6A, 0xA8, 0x4E, 0x98, 0xFB, 0xE2, 0x0B, 0x86, 0xCA, 0x8E, 0x47, - 0x84, 0xBB, 0x3C, 0x57, 0xE6, 0xDF, 0xC1, 0xA5, 0xE7, 0x01, 0x7C, 0xD2, 0xDB, 0xCC, 0x39, 0x3B, - 0x04, 0x33, 0xC2, 0x2F, 0xC5, 0x8C, 0xB2, 0xD0, 0x9B, 0x02, 0xC7, 0x9B, 0xED, 0x8F, 0xD4, 0xDB, - 0x10, 0x63, 0x0C, 0x04, 0x36, 0x15, 0x36, 0xB4, 0x56, 0x34, 0x51, 0x7E, 0x31, 0x8E, 0xEB, 0x58, - 0x63, 0xB0, 0x89, 0xA7, 0x46, 0x48, 0x3C, 0x0F, 0xCC, 0xA9, 0xF0, 0x1D, 0xD5, 0x8D, 0xCF, 0x50, - 0x78, 0x88, 0x8B, 0x2C, 0xBC, 0x64, 0xD1, 0x80, 0x2F, 0x87, 0xBF, 0x0D, 0x17, 0x97, 0xBD, 0x9D, - 0xC1, 0xAC, 0xDE, 0x9E, 0x7C, 0x4D, 0x69, 0xBF, 0x57, 0x5A, 0x40, 0xE1, 0xC8, 0x1F, 0xD7, 0x22, - 0xF4, 0x4D, 0x29, 0x0D, 0x2D, 0x58, 0x28, 0xFA, 0x5A, 0x6D, 0x1C, 0x22, 0x46, 0x9C, 0x13, 0xFD, - 0x9A, 0xD6, 0x04, 0x6C, 0x17, 0x5D, 0x7D, 0x4A, 0x9F, 0xDC, 0x83, 0x3E, 0xD4, 0x48, 0x75, 0x1B, - 0x8F, 0x97, 0x55, 0x29, 0x77, 0xE3, 0x38, 0xDF, 0xE8, 0xA1, 0x14, 0x1E, 0xEC, 0x4A, 0x6E, 0x90, - 0x92, 0xDF, 0xFD, 0xEB, 0xDA, 0x6D, 0xC9, 0x69, 0xC6, 0xB9, 0xCD, 0xEB, 0x56, 0xC6, 0xA8, 0xD8, - 0xCB, 0x91, 0x28, 0x8E, 0xEE, 0x55, 0x74, 0xCD, 0xF7, 0xF4, 0x68, 0xB9, 0x4E, 0xA0, 0xA1, 0x31, - 0x2E, 0xAE, 0x92, 0xE9, 0x27, 0xC9, 0xA5, 0x19, 0x73, 0x52, 0xA4, 0xE2, 0x02, 0x39, 0x17, 0x23, - 0x71, 0xD9, 0x3C, 0x8F, 0x9D, 0xD3, 0x33, 0x40, 0x86, 0x45, 0x09, 0x2D, 0x92, 0xB4, 0xF2, 0xE8, - 0xEC, 0x89, 0xFA, 0xA5, 0x84, 0xC0, 0xE0, 0xAE, 0x81, 0xBB, 0xB1, 0xC1, 0xD4, 0x20, 0x7D, 0x96, - 0x2D, 0x1A, 0x0B, 0x82, 0xF3, 0xC2, 0xAC, 0x41, 0x57, 0xD9, 0xC0, 0xF9, 0x02, 0x4D, 0xD7, 0xEB, - 0xB7, 0xF2, 0x21, 0x56, 0xCD, 0xB0, 0x4A, 0xA8, 0xEA, 0xE1, 0xF4, 0x5D, 0x6A, 0xB0, 0x27, 0xDF, - 0xFF, 0x5A, 0xE3, 0x4B, 0xAB, 0x45, 0xD6, 0x8D, 0x15, 0x99, 0x18, 0x80, 0x64, 0xA4, 0xCF, 0xE2, - 0x9C, 0x23, 0xB3, 0xA3, 0xFC, 0x48, 0x1E, 0x2E, 0x2B, 0xC6, 0x67, 0xAC, 0x5F, 0x97, 0x46, 0xD8, - 0xE2, 0xC8, 0x91, 0x53, 0xA5, 0x05, 0x42, 0x22, 0x21, 0x9B, 0x17, 0x17, 0xB2, 0xC9, 0x65, 0x9F, - 0x51, 0xBD, 0x5E, 0x9D, 0x35, 0x5F, 0xFC, 0x6B, 0x23, 0x74, 0x5B, 0x60, 0xDD, 0xCB, 0x14, 0x23, - 0x28, 0xEE, 0x90, 0x93, 0xC8, 0xAF, 0x94, 0x5F, 0x5B, 0xC0, 0xCD, 0xE5, 0x8B, 0x71, 0xD4, 0xBE, - 0xA9, 0xE9, 0x6F, 0x1B, 0x0D, 0x89, 0x8D, 0x09, 0x99, 0xB2, 0xD7, 0x28, 0x41, 0xAD, 0xE1, 0x06, - 0xFD, 0x16, 0x94, 0xA4, 0x8F, 0x9F, 0xAA, 0xF6, 0x4D, 0x3F, 0xEA, 0x67, 0x46, 0x52, 0x60, 0x8E, - 0x5D, 0xB0, 0x42, 0x84, 0xC6, 0xEF, 0x00, 0xF0, 0x90, 0xBA, 0x2E, 0xAF, 0x4F, 0xB9, 0x09, 0x3B, - 0xCB, 0x55, 0x74, 0x49, 0x5A, 0x84, 0x45, 0xAA, 0x73, 0x60, 0x95, 0x4B, 0xB3, 0x4A, 0xB9, 0xA0, - 0x17, 0x54, 0xF7, 0x76, 0x0C, 0x43, 0xAB, 0xC9, 0xA3, 0x46, 0x99, 0xD4, 0x5C, 0x9F, 0xA2, 0xFC, - 0xC8, 0xDC, 0x48, 0x1C, 0x12, 0x3E, 0xC9, 0x6C, 0x98, 0x08, 0x12, 0x63, 0x80, 0x11, 0x85, 0x10, - 0x9E, 0x6F, 0xC4, 0x4C, 0x6E, 0x63, 0xCF, 0xDB, 0x96, 0xFE, 0x53, 0x08, 0xA6, 0x10, 0x4F, 0xD0, - 0x1B, 0x59, 0xEB, 0x6F, 0x64, 0xF6, 0xA3, 0x43, 0x7A, 0x68, 0x6C, 0xCC, 0x01, 0x45, 0x33, 0xCF, - 0xED, 0x4C, 0xB1, 0x1F, 0x5F, 0x9B, 0x9B, 0x5D, 0x31, 0x20, 0x4D, 0x32, 0xA2, 0xE7, 0x2A, 0x7C, - 0xA6, 0x6D, 0x4F, 0x57, 0xDE, 0x36, 0xF5, 0xDE, 0x74, 0x9E, 0x2D, 0xA7, 0x76, 0x01, 0xB8, 0x1A, - 0x77, 0xA4, 0x9B, 0xCB, 0xEE, 0x04, 0x87, 0x98, 0x53, 0x72, 0xF1, 0x29, 0xC1, 0x7A, 0x8B, 0xE6, - 0xAB, 0xA5, 0x18, 0xF4, 0x68, 0xC7, 0x58, 0x50, 0xFC, 0x1E, 0xD3, 0xDF, 0x77, 0x82, 0x64, 0x25, - 0x9A, 0x5E, 0x14, 0xE7, 0x54, 0xC4, 0xD1, 0x05, 0x07, 0xCD, 0x0E, 0xD2, 0x66, 0x2F, 0xF7, 0xF9, - 0x3A, 0xF8, 0xC2, 0xC7, 0x2B, 0x22, 0x9E, 0xCE, 0xA4, 0xB8, 0x21, 0x38, 0x9C, 0xA0, 0x1A, 0xD5, - 0x69, 0xBF, 0xD5, 0x86, 0x8C, 0x24, 0xE3, 0x8A, 0x0B, 0xD4, 0x03, 0xCE, 0x0C, 0x59, 0x3F, 0xD6, - 0x1F, 0x68, 0x3B, 0xC4, 0x44, 0xF9, 0x27, 0x0F, 0x59, 0x2F, 0x81, 0x92, 0xF3, 0xA2, 0x6B, 0x69, - 0x5E, 0x39, 0x7E, 0xD1, 0x6C, 0x12, 0xA0, 0x67, 0x00, 0x33, 0xB6, 0x3E, 0x32, 0x1E, 0x0F, 0x7F, - 0xB1, 0x8F, 0x86, 0x12, 0x19, 0x61, 0x83, 0x34, 0x62, 0x61, 0x0A, 0x25, 0x36, 0xE9, 0x6A, 0xD3, - 0x34, 0xB9, 0xA9, 0x31, 0x4C, 0x1D, 0x24, 0x2B, 0xCE, 0x58, 0xA1, 0xEF, 0xA9, 0x87, 0x7B, 0xD2, - 0x54, 0x49, 0xC5, 0x8C, 0xD8, 0x92, 0x62, 0x55, 0xC1, 0x14, 0x25, 0xCF, 0x61, 0xD0, 0x76, 0x71, - 0x19, 0x15, 0x9C, 0x80, 0xC7, 0x25, 0x26, 0x30, 0x56, 0x63, 0x05, 0xB2, 0x29, 0x50, 0x11, 0x32, - 0xF3, 0x57, 0xFF, 0x52, 0x5B, 0x4E, 0x63, 0x6A, 0x68, 0x3C, 0x7A, 0x9E, 0x31, 0x16, 0xEB, 0x5B, - 0x91, 0xEB, 0xE4, 0x00, 0xBA, 0xB2, 0x06, 0x47, 0x72, 0xDA, 0x50, 0x00, 0x08, 0xAE, 0x5A, 0x7A, - 0x40, 0x22, 0x30, 0x9C, 0xDA, 0xE3, 0x0D, 0xE9, 0x0D, 0x90, 0x7E, 0x69, 0x2B, 0xDB, 0x29, 0x29, - 0xF5, 0x2A, 0x58, 0x16, 0x55, 0x0E, 0xF7, 0xC5, 0xDA, 0x48, 0xCA, 0x1A, 0x75, 0x09, 0x5C, 0x3E, - 0x47, 0x9A, 0xDC, 0x62, 0x73, 0xA5, 0xE4, 0x02, 0xDD, 0xB6, 0x72, 0xF6, 0x47, 0xD1, 0xBC, 0xB1, - 0x03, 0x3F, 0x02, 0x66, 0x88, 0xF1, 0x1B, 0xBD, 0x97, 0x44, 0x96, 0x43, 0x3C, 0x0A, 0xE7, 0x42, - 0x2F, 0x56, 0x7C, 0x6D, 0x78, 0xFA, 0xAE, 0x5A, 0xD9, 0x1D, 0x43, 0x26, 0xC6, 0x85, 0x0A, 0x6E, - 0xBA, 0x3A, 0x76, 0xF5, 0xBC, 0x16, 0x91, 0xCC, 0x7E, 0xC3, 0x5D, 0x1C, 0x73, 0x75, 0x01, 0x89, - 0xAD, 0xD8, 0xBF, 0xB0, 0xF2, 0x08, 0x8A, 0x81, 0xFB, 0xE0, 0x6B, 0x33, 0xC2, 0x72, 0x6F, 0xC2, - 0x26, 0xAF, 0xFB, 0x65, 0xD9, 0x58, 0x44, 0x95, 0x80, 0x01, 0x74, 0x8A, 0xBC, 0xDD, 0x8D, 0xA2, - 0xBE, 0x0B, 0xA6, 0x5E, 0x70, 0x1E, 0xAD, 0x7E, 0x75, 0x24, 0xE8, 0xEC, 0xFA, 0x49, 0x02, 0xDC, - 0xF8, 0xE2, 0x0F, 0xB5, 0x22, 0x0C, 0xBB, 0x2A, 0xDC, 0x0C, 0xB7, 0xBD, 0xA8, 0x04, 0xA7, 0xED, - 0xAE, 0x51, 0x83, 0xE5, 0xF5, 0x66, 0x3B, 0xCA, 0xD8, 0xA7, 0x86, 0x6D, 0x97, 0xC0, 0x4B, 0x7B, - 0x6E, 0x07, 0x39, 0x78, 0x06, 0xD6, 0xC7, 0x51, 0xE5, 0xAD, 0x70, 0x7D, 0x84, 0xE6, 0xE0, 0xBC, - 0xBD, 0x82, 0x9A, 0x0B, 0xCA, 0xDE, 0xFB, 0xE3, 0x7C, 0x2C, 0x11, 0x6B, 0x90, 0x3F, 0xCA, 0xF3, - 0x3D, 0x40, 0x2E, 0x39, 0xA8, 0xFE, 0x9F, 0xF1, 0xB5, 0xB9, 0xBE, 0x56, 0xE1, 0x07, 0x1C, 0x91, - 0xC6, 0x9D, 0x23, 0xEA, 0x46, 0x88, 0x48, 0xB3, 0x41, 0x26, 0xE7, 0x7B, 0x78, 0x15, 0x50, 0x27, - 0xEE, 0xC5, 0x8D, 0x4A, 0x36, 0xE4, 0xB5, 0x17, 0x2E, 0xD7, 0x93, 0x37, 0x3D, 0x89, 0x3B, 0x7D, - 0x9D, 0xE6, 0xF8, 0x19, 0x7F, 0x94, 0x1F, 0x11, 0x8E, 0xF7, 0x35, 0xE1, 0xC3, 0xF1, 0xB3, 0xFD, - 0x39, 0x71, 0xFE, 0x92, 0x31, 0x8A, 0x04, 0x5C, 0x30, 0x9A, 0x88, 0x79, 0xF0, 0xAA, 0x8F, 0x4D, - 0x83, 0xFD, 0xB6, 0x54, 0xC3, 0xF0, 0xDE, 0x07, 0x7F, 0x79, 0x98, 0x57, 0xD2, 0x5C, 0x20, 0x21, - 0x4C, 0x2F, 0x2C, 0x85, 0xF4, 0xAC, 0x1D, 0x0A, 0xE6, 0xF8, 0xF9, 0x41, 0x38, 0xFD, 0x82, 0xEE, - 0xBF, 0xCE, 0xED, 0xE4, 0x1F, 0xC5, 0x14, 0xBF, 0x78, 0x87, 0x20, 0xBB, 0x3E, 0x81, 0xDF, 0x59, - 0x37, 0x30, 0x95, 0x64, 0x6A, 0xB6, 0x37, 0xEC, 0xC3, 0xFB, 0x69, 0xB8, 0x7D, 0x61, 0xE9, 0xB4, - 0x67, 0xFE, 0xBE, 0x70, 0x0E, 0x32, 0xC4, 0x75, 0x55, 0x36, 0x8C, 0x8E, 0x7C, 0xE2, 0x35, 0x8B, - 0xB4, 0x7B, 0x1D, 0x03, 0xB5, 0x38, 0xB4, 0x28, 0xF4, 0xAC, 0xEF, 0x13, 0x7F, 0xEA, 0xD1, 0xAF, - 0x8C, 0x79, 0x96, 0x18, 0x3A, 0xD5, 0x4E, 0x04, 0xBB, 0x4F, 0xFF, 0x3D, 0x65, 0x27, 0x13, 0xDD, - 0xA8, 0x2C, 0x24, 0xA1, 0x05, 0x6D, 0x8E, 0x2D, 0x44, 0x37, 0x13, 0xE0, 0xED, 0x98, 0xCC, 0xB7, - 0x49, 0xDB, 0xB7, 0x94, 0x40, 0x2C, 0xDF, 0x38, 0x18, 0x3A, 0xD0, 0xD7, 0x6E, 0x47, 0x42, 0x73, - 0xD2, 0xF6, 0xD6, 0xFA, 0xF0, 0x79, 0xE5, 0x3D, 0x87, 0xFF, 0xCC, 0x66, 0xBA, 0xA1, 0xD0, 0x15, - 0x93, 0xA7, 0x93, 0xEF, 0x65, 0x3C, 0x85, 0x83, 0x10, 0x88, 0xEC, 0x1B, 0xB8, 0x2A, 0xE8, 0x0E, - 0xDB, 0x0F, 0x51, 0xF2, 0xD3, 0xCD, 0x28, 0x0D, 0xC9, 0xA6, 0x19, 0x03, 0x34, 0x62, 0x52, 0xC8, - 0x95, 0xDA, 0x34, 0xAB, 0x77, 0x70, 0x1C, 0x35, 0x6C, 0x97, 0x4B, 0x4E, 0x52, 0x8B, 0x4A, 0xC1, - 0xAA, 0x60, 0x53, 0x4E, 0xA3, 0xA1, 0xD5, 0xA9, 0xA0, 0x13, 0x10, 0xE8, 0xCB, 0x99, 0x06, 0x77, - 0x35, 0xBD, 0xEE, 0x6E, 0xED, 0xA5, 0x44, 0x4B, 0xA1, 0x2E, 0xB3, 0x41, 0x1B, 0x6A, 0x6E, 0xA2, - 0x56, 0x20, 0x74, 0xCF, 0xC9, 0xA6, 0x4C, 0xAF, 0x24, 0xFD, 0x10, 0x32, 0xA0, 0x37, 0x1E, 0xA8, - 0xB3, 0x16, 0xB9, 0x59, 0xF6, 0xA7, 0xCF, 0x73, 0xEA, 0xAD, 0x3B, 0x26, 0xC4, 0xAE, 0xED, 0x2C, - 0xFA, 0x15, 0xC5, 0xE2, 0x1B, 0xE4, 0x2F, 0x45, 0x14, 0x25, 0x43, 0xA6, 0xB1, 0xFD, 0xCE, 0x5F, - 0x23, 0xEF, 0xBA, 0x7C, 0xAC, 0xE2, 0x53, 0x18, 0xF5, 0xD6, 0x82, 0xC7, 0x5A, 0x48, 0xC7, 0x36, - 0x42, 0xF9, 0x3B, 0xE5, 0x63, 0x08, 0xF2, 0xBA, 0x27, 0x19, 0x18, 0x16, 0x6D, 0x45, 0x04, 0x6A, - 0x52, 0xD7, 0xD8, 0xAA, 0x0F, 0x2A, 0x04, 0x15, 0xAB, 0xA3, 0x50, 0xD0, 0x9F, 0x1E, 0xDE, 0x10, - 0xEF, 0x4F, 0xB5, 0x14, 0xBF, 0x19, 0x5F, 0x29, 0x3C, 0x07, 0x56, 0x5B, 0xD1, 0x53, 0xC5, 0x0E, - 0xCA, 0x46, 0x51, 0x3A, 0x35, 0x11, 0x37, 0x9C, 0xBA, 0x30, 0xFD, 0x0C, 0x0D, 0xEB, 0x0F, 0x3B, - 0x91, 0xE0, 0xD5, 0xF6, 0x83, 0x88, 0x25, 0xD0, 0x00, 0x0F, 0x9A, 0xE9, 0xD9, 0x77, 0xC6, 0xEA, - 0xC3, 0xAD, 0xE4, 0x53, 0x8A, 0xEE, 0xCC, 0xC8, 0xD5, 0x41, 0xFF, 0xB0, 0x7D, 0x4F, 0xF2, 0x57, - 0x36, 0xB5, 0xCA, 0x8A, 0x4C, 0x62, 0x84, 0x72, 0x7D, 0x09, 0x3D, 0xAD, 0xCB, 0xC1, 0x5F, 0xA6, - 0x16, 0xC8, 0xBD, 0x1D, 0x57, 0x60, 0x0F, 0x4A, 0x2C, 0x48, 0x78, 0xB8, 0x5E, 0x7F, 0x3F, 0xE3, - 0x0A, 0x79, 0x78, 0x82, 0x31, 0xB4, 0xE9, 0xD8, 0x01, 0xD3, 0x19, 0xD6, 0xEE, 0x7A, 0x05, 0xB6, - 0xC9, 0x4E, 0x75, 0xDE, 0xF5, 0x37, 0x36, 0x56, 0xF6, 0x32, 0x8A, 0xE3, 0xAB, 0x6F, 0x54, 0xF7, - 0x25, 0x93, 0x0D, 0x21, 0x9F, 0xBF, 0x89, 0x89, 0xA3, 0x16, 0x38, 0x5A, 0x94, 0x46, 0x94, 0x4F, - 0xAE, 0x24, 0x43, 0x1A, 0xE0, 0x66, 0x73, 0x17, 0x75, 0xBC, 0x55, 0x27, 0x77, 0xD7, 0x9E, 0xC2, - 0xB1, 0x9D, 0xA2, 0x61, 0x80, 0x18, 0xDC, 0xF5, 0x02, 0x37, 0x11, 0xF2, 0x5C, 0xC3, 0x50, 0x92, - 0x87, 0xB2, 0x81, 0xE4, 0xCB, 0xA9, 0xDB, 0x9B, 0xE0, 0x20, 0xD8, 0xB7, 0x12, 0x8E, 0x4B, 0x8C, - 0x99, 0x88, 0x5F, 0x43, 0x2C, 0x1C, 0x2B, 0x90, 0x8C, 0xB5, 0xD2, 0x2F, 0xD6, 0x18, 0x74, 0x60, - 0x4C, 0xED, 0x06, 0x0D, 0x00, 0xE6, 0xA4, 0x7D, 0xE5, 0x99, 0xAC, 0x24, 0x26, 0xFF, 0xC1, 0x6B, - 0xA8, 0x58, 0xF4, 0x47, 0xF3, 0x9D, 0x7F, 0x26, 0x40, 0xDD, 0x72, 0x20, 0xDD, 0x40, 0x3E, 0x3F, - 0x10, 0xB4, 0x0A, 0x40, 0x7C, 0xAF, 0xA7, 0xC6, 0xF0, 0x6F, 0xF6, 0x54, 0xFB, 0x87, 0x2D, 0x94, - 0xA4, 0xC7, 0xD2, 0x97, 0x6B, 0xF1, 0x75, 0xB3, 0xF8, 0xDA, 0x9E, 0xDE, 0x74, 0xAB, 0xD7, 0x79, - 0x49, 0x99, 0x95, 0xB4, 0x3F, 0xE7, 0x27, 0xA1, 0x1F, 0x74, 0x23, 0x08, 0x98, 0x55, 0x6F, 0x7E, - 0x3D, 0xD5, 0x64, 0xDB, 0x65, 0xA2, 0xBB, 0xCA, 0x47, 0x5C, 0x8D, 0xA8, 0xE8, 0xF1, 0x92, 0x12, - 0x64, 0xF8, 0xFB, 0x2F, 0xD3, 0x3B, 0xA9, 0x86, 0x9A, 0xA7, 0x80, 0x7B, 0x06, 0xB3, 0x45, 0x64, - 0xCB, 0xC5, 0x6E, 0xE6, 0xB1, 0x4A, 0x91, 0x50, 0x58, 0x27, 0x34, 0x49, 0x64, 0xA1, 0x21, 0x44, - 0xAA, 0xD3, 0xEF, 0x7F, 0xFE, 0x5E, 0x48, 0x7A, 0xDD, 0xF4, 0x97, 0x3A, 0xA8, 0x13, 0x1D, 0x4C, - 0x5C, 0xC3, 0xE5, 0x42, 0x39, 0x4D, 0x6E, 0xD1, 0x8B, 0x34, 0x2D, 0xA7, 0x5B, 0x88, 0xE1, 0xFC, - 0x6D, 0x13, 0x4E, 0x46, 0xAF, 0x72, 0xAA, 0x3D, 0x38, 0x62, 0xA1, 0xF7, 0x8C, 0x68, 0x61, 0x96, - 0x32, 0x42, 0x66, 0xEF, 0x9E, 0x20, 0xE7, 0x98, 0xD1, 0x24, 0x08, 0x1C, 0xDE, 0x3C, 0x77, 0x84, - 0xD9, 0x60, 0x96, 0x91, 0x94, 0xD6, 0xF7, 0xA5, 0x65, 0xF3, 0x7B, 0xC4, 0x22, 0xC8, 0x39, 0xBE, - 0xFB, 0x96, 0xFA, 0x3E, 0x97, 0x46, 0x0E, 0x80, 0x22, 0xA0, 0x6C, 0x85, 0x85, 0x8C, 0x44, 0xB8, - 0xD4, 0x7C, 0x8F, 0x9D, 0xBB, 0xBC, 0x81, 0x6D, 0x84, 0x00, 0xBA, 0xA5, 0xFA, 0x47, 0x0B, 0x5E, - 0x09, 0x71, 0x5C, 0x66, 0x67, 0xAD, 0x2C, 0xFE, 0x7F, 0x31, 0xB6, 0xB6, 0xC6, 0x12, 0x82, 0x5D, - 0x2B, 0x87, 0x30, 0xC9, 0xA4, 0x1B, 0xD4, 0x11, 0x7E, 0xED, 0x35, 0x89, 0x40, 0xDA, 0x5D, 0x9E, - 0xF7, 0x09, 0xDC, 0xEE, 0x58, 0xAC, 0xAF, 0x22, 0xB7, 0x3C, 0xE1, 0x15, 0x70, 0x9C, 0x2F, 0xAC, - 0x97, 0x9C, 0x62, 0xAB, 0x3E, 0x78, 0x49, 0xB0, 0x96, 0x77, 0x1F, 0x5D, 0xF1, 0x1F, 0x41, 0x01, - 0xB6, 0x62, 0x2A, 0xE0, 0x8D, 0xDB, 0xEB, 0xA9, 0x83, 0x81, 0x45, 0x2D, 0xCA, 0x01, 0x79, 0x6C, - 0x8A, 0xAE, 0x98, 0xE8, 0x38, 0xD2, 0x00, 0xC0, 0x31, 0x0B, 0x4A, 0x42, 0x14, 0x05, 0xDC, 0x28, - 0xA0, 0x30, 0x7E, 0xF2, 0x19, 0xEB, 0xB8, 0x71, 0x8D, 0x69, 0x51, 0x10, 0xF5, 0x28, 0xB9, 0xD4, - 0xDF, 0x1C, 0x21, 0xCC, 0x70, 0xF3, 0xFE, 0x8B, 0xCF, 0x83, 0x32, 0xC2, 0x69, 0x72, 0xFC, 0xBF, - 0xFF, 0x61, 0x56, 0x5B, 0x33, 0xBB, 0x7E, 0xEC, 0x93, 0xCE, 0x6B, 0xCE, 0x76, 0x17, 0xB8, 0x08, - 0x7B, 0x41, 0x1A, 0x54, 0x90, 0x73, 0x29, 0xE1, 0x63, 0xAE, 0x07, 0x73, 0xE2, 0x69, 0xFE, 0x87, - 0xD0, 0x8B, 0x23, 0xF8, 0x91, 0xEC, 0x47, 0xF0, 0x55, 0x2B, 0x28, 0x50, 0xB7, 0x76, 0x59, 0xFB, - 0x6C, 0x90, 0x71, 0x9A, 0x3D, 0xE8, 0xB0, 0x95, 0xE3, 0xC4, 0xD0, 0x93, 0xC2, 0x25, 0x7A, 0x88, - 0x5B, 0x3C, 0x6D, 0xC3, 0x2B, 0x29, 0x0C, 0xF1, 0xB2, 0x85, 0x95, 0x86, 0xEA, 0x4D, 0xFD, 0x63, - 0x81, 0xCE, 0x36, 0xB9, 0x61, 0x07, 0x65, 0x8E, 0x67, 0xCB, 0xF0, 0xDF, 0x9B, 0x29, 0x26, 0xC5, - 0xCD, 0xB9, 0xD9, 0xBB, 0xDD, 0x68, 0x67, 0xFF, 0x12, 0x78, 0x3F, 0x11, 0x0B, 0x60, 0x98, 0x9F, - 0xBD, 0x02, 0x84, 0xB1, 0x9A, 0x85, 0x39, 0xDC, 0xF9, 0x06, 0x1D, 0xE1, 0x52, 0x6C, 0xC4, 0xD2, - 0xC2, 0x2E, 0xDB, 0x8F, 0xA0, 0xBE, 0x0A, 0x55, 0x80, 0x65, 0x4D, 0x09, 0x05, 0xCF, 0x0C, 0xDF, - 0x2E, 0xF3, 0xA3, 0x70, 0x9D, 0xB0, 0x1E, 0xBD, 0x28, 0x2D, 0x8F, 0x14, 0x63, 0xEA, 0x90, 0x2A, - 0x1A, 0x57, 0x9B, 0xCD, 0xA9, 0xD8, 0xE3, 0x4D, 0xC0, 0xB7, 0xA5, 0xC0, 0x5D, 0x03, 0x76, 0x58, - 0x6B, 0x6F, 0xF9, 0x1B, 0xD4, 0x0E, 0x8E, 0xE7, 0x53, 0x76, 0x54, 0xE7, 0x2A, 0xEC, 0x3A, 0x5A, - 0xD3, 0x83, 0x07, 0x1C, 0xAA, 0x48, 0x1A, 0x68, 0x03, 0xEB, 0x92, 0xCD, 0x33, 0x02, 0xE9, 0x49, - 0x89, 0xA6, 0xBC, 0x0C, 0x92, 0x7C, 0xBE, 0xD5, 0xB5, 0x04, 0x6A, 0x0E, 0xC0, 0x99, 0x15, 0xF9, - 0xC8, 0xCD, 0x4A, 0x02, 0x52, 0x5A, 0xBF, 0x1F, 0x06, 0x52, 0xE6, 0x5E, 0xBC, 0x2E, 0x13, 0xA4, - 0x43, 0x7A, 0x04, 0x39, 0xBE, 0x86, 0x31, 0x38, 0x8E, 0x8D, 0x59, 0x34, 0xA2, 0x8B, 0x71, 0xD9, - 0x4F, 0xE5, 0x22, 0xE9, 0xE2, 0x69, 0xE4, 0x23, 0x8F, 0x51, 0xDA, 0x0B, 0xF4, 0xE8, 0x9F, 0x1E, - 0xF4, 0x01, 0xF8, 0x0A, 0x79, 0x95, 0x17, 0x93, 0x6A, 0xC7, 0xEC, 0xC6, 0x68, 0xB2, 0xDA, 0x75, - 0x30, 0xC9, 0x7D, 0xD7, 0xCC, 0x9C, 0xFC, 0xFA, 0xCC, 0x67, 0x3A, 0xE6, 0x21, 0xB4, 0x70, 0x05, - 0x0D, 0x86, 0xF0, 0x03, 0x44, 0x9B, 0x03, 0x7B, 0x33, 0x33, 0xC1, 0x59, 0xA3, 0x4B, 0x57, 0x13, - 0x17, 0x4B, 0x82, 0xC1, 0xFC, 0x51, 0xDF, 0x4E, 0x34, 0xB2, 0x3E, 0xD1, 0x66, 0x1D, 0x4E, 0x35, - 0xD6, 0x7D, 0xA1, 0x2E, 0x1B, 0x13, 0x36, 0x2F, 0x1B, 0x9A, 0x5E, 0x91, 0xA5, 0x2E, 0xE4, 0xCE, - 0xDA, 0xE2, 0x87, 0xFE, 0x47, 0xFC, 0xE3, 0x34, 0x1A, 0x46, 0xDD, 0xAE, 0xF3, 0x4D, 0x0A, 0x09, - 0x1C, 0xA1, 0x19, 0x1B, 0x37, 0xE9, 0xB9, 0xC2, 0x20, 0x13, 0x6D, 0xAB, 0xC7, 0x3C, 0x80, 0xEE, - 0x5D, 0xCA, 0xEF, 0x15, 0xF7, 0xCF, 0xB8, 0x08, 0x93, 0x45, 0xE1, 0xFB, 0xBB, 0x8B, 0x86, 0xB3, - 0x98, 0x81, 0x55, 0x14, 0xE1, 0x0E, 0x04, 0x6C, 0xA6, 0x24, 0xC6, 0xFC, 0xA4, 0xEE, 0xC2, 0x04, - 0x82, 0x4C, 0x27, 0xD6, 0x59, 0xC4, 0xD8, 0x59, 0xA1, 0xA5, 0x39, 0x74, 0x61, 0xB8, 0xDB, 0x22, - 0x61, 0x06, 0x5D, 0x1D, 0xDC, 0x00, 0x10, 0x84, 0xFF, 0xD0, 0xEB, 0x63, 0x6F, 0x17, 0x4F, 0x62, - 0xA5, 0xCE, 0xD8, 0xC0, 0x69, 0x09, 0xFB, 0xED, 0x59, 0x70, 0x3D, 0x43, 0x26, 0x11, 0xE5, 0x12, - 0x28, 0x05, 0x21, 0xA6, 0x3F, 0x10, 0x3E, 0xCB, 0x6C, 0x11, 0x1A, 0x44, 0x55, 0xC9, 0x51, 0xC5, - 0x57, 0x29, 0x7E, 0x98, 0x05, 0x2B, 0x0D, 0x42, 0x15, 0x72, 0x4A, 0xAC, 0x02, 0x6A, 0x99, 0xC8, - 0x14, 0xC9, 0x93, 0xAE, 0xC4, 0x92, 0x62, 0x99, 0xF2, 0xDC, 0xF7, 0x7A, 0x9C, 0x8C, 0xB3, 0xD2, - 0x58, 0xBE, 0x7C, 0xAC, 0x78, 0xFD, 0x60, 0xE8, 0x87, 0x6F, 0x38, 0xB4, 0x0C, 0xC5, 0x0D, 0x88, - 0xFE, 0x68, 0x5C, 0x0C, 0x71, 0x9B, 0x89, 0xF0, 0xC6, 0x61, 0x53, 0x42, 0x2D, 0x49, 0xAF, 0x4D, - 0x46, 0x84, 0xA2, 0x0B, 0x0F, 0xDD, 0x1D, 0x7F, 0x96, 0xFC, 0x95, 0x68, 0x34, 0xA7, 0x7C, 0x5E, - 0xBB, 0xF4, 0x06, 0x67, 0x38, 0x25, 0x19, 0xAA, 0xBD, 0x3A, 0x88, 0xB1, 0x64, 0x4F, 0x05, 0x3D, - 0x8F, 0x50, 0x3E, 0xDA, 0x0C, 0x4D, 0xE4, 0x5A, 0x55, 0xA0, 0xA2, 0x65, 0x5A, 0xA6, 0xE3, 0x4F, - 0x4A, 0x1B, 0x84, 0xDB, 0xD5, 0x66, 0xF9, 0x9C, 0x5A, 0x94, 0x35, 0x67, 0x6E, 0xD7, 0x69, 0xA8, - 0x6A, 0x66, 0xF3, 0x4C, 0x96, 0x2E, 0x79, 0xFB, 0x06, 0xD9, 0x6C, 0x6B, 0x71, 0xB2, 0x2D, 0x1F, - 0x1F, 0xA9, 0x3D, 0xFF, 0x9D, 0x47, 0x07, 0xD7, 0xA4, 0x1C, 0x4D, 0xE7, 0x13, 0xA0, 0x49, 0x3F, - 0x35, 0x37, 0xDB, 0xE5, 0xBC, 0x7E, 0xBF, 0x66, 0x18, 0x7E, 0x56, 0xB5, 0xF2, 0x8D, 0x2C, 0xC3, - 0xF9, 0x97, 0xD4, 0x8D, 0x98, 0x7D, 0xB7, 0x82, 0x76, 0xD3, 0xD7, 0x36, 0xC5, 0x80, 0xEF, 0x9F, - 0xCE, 0x3B, 0xC8, 0xD4, 0x8E, 0xBC, 0x0B, 0xE6, 0x27, 0x92, 0x92, 0x23, 0xED, 0xE8, 0x68, 0x74, - 0xEE, 0x46, 0xBF, 0x43, 0x35, 0xE6, 0x2E, 0xF6, 0xF6, 0xB9, 0x00, 0xD6, 0xE5, 0xCC, 0x6B, 0x90, - 0x45, 0x8C, 0x86, 0xEF, 0x34, 0x79, 0x40, 0xE7, 0xC0, 0x3C, 0x2F, 0xF5, 0xB0, 0xD3, 0xCC, 0xEC, - 0x41, 0x7B, 0x2A, 0x8A, 0x1E, 0x29, 0x86, 0x7A, 0x11, 0x17, 0xBD, 0x00, 0xFD, 0xE2, 0x9E, 0x49, - 0x9C, 0x76, 0xF9, 0x71, 0xC2, 0x38, 0x2B, 0xE9, 0xEA, 0x26, 0xB1, 0x13, 0xC1, 0xB7, 0x17, 0x4A, - 0x4C, 0x67, 0x33, 0x86, 0x31, 0x43, 0xF0, 0xB2, 0xF0, 0xE4, 0x7C, 0x61, 0x25, 0x6D, 0xAC, 0xA9, - 0x6E, 0x91, 0x5F, 0x29, 0x32, 0xD3, 0x09, 0x97, 0xB7, 0xB7, 0x6B, 0x20, 0x82, 0x29, 0xD1, 0xAF, - 0x02, 0x9B, 0xC7, 0xBC, 0x9B, 0xED, 0x4E, 0xA7, 0x03, 0x60, 0x18, 0xF8, 0xF6, 0xBA, 0xD4, 0x16, - 0x23, 0x65, 0x8F, 0xF7, 0x28, 0x4E, 0xEC, 0xBE, 0x16, 0x96, 0x42, 0x88, 0xCD, 0xA4, 0xEC, 0x7B, - 0xBE, 0x80, 0x95, 0xDE, 0x01, 0x8E, 0xD3, 0x06, 0xEB, 0xFA, 0x32, 0x2C, 0x47, 0x7F, 0xC8, 0x89, - 0x62, 0x0E, 0x79, 0xF9, 0xFD, 0x39, 0xA8, 0x35, 0x22, 0x2B, 0xE6, 0xB0, 0x77, 0x39, 0xBA, 0xBB, - 0xF1, 0xFF, 0x5E, 0x38, 0x76, 0xAE, 0xAE, 0x91, 0x0F, 0xB0, 0x87, 0xDE, 0x01, 0x16, 0xD0, 0x73, - 0x5E, 0xC2, 0xCB, 0xF1, 0x14, 0xDF, 0x96, 0x47, 0xCD, 0x30, 0x33, 0xEC, 0x63, 0x04, 0xB4, 0x53, - 0xDC, 0x9E, 0x30, 0xA3, 0x9A, 0x72, 0x20, 0xB6, 0x8A, 0x63, 0x24, 0xAD, 0x9F, 0xF0, 0xFA, 0x69, - 0xA8, 0xD2, 0xC1, 0xCC, 0xC0, 0x37, 0xBC, 0xDD, 0xD2, 0x4B, 0x8A, 0x0D, 0xEF, 0x54, 0x07, 0x05, - 0xF8, 0x14, 0xEB, 0x51, 0x0A, 0xE7, 0xAD, 0x2A, 0xAD, 0x75, 0xA6, 0x52, 0x8B, 0xCD, 0xF4, 0x81, - 0xA7, 0x45, 0xC3, 0xF8, 0x3B, 0xB5, 0xE0, 0x8F, 0x44, 0x33, 0x0F, 0xB9, 0xD9, 0x99, 0xE2, 0x93, - 0x3F, 0xD4, 0x4A, 0x68, 0x5B, 0xCB, 0x4F, 0x6D, 0x48, 0xE3, 0x90, 0x9F, 0xAF, 0xB6, 0x88, 0x5B, - 0xC9, 0xC4, 0x40, 0x55, 0x9C, 0xD8, 0x69, 0xC6, 0x1E, 0x23, 0x2A, 0x02, 0x5C, 0x2D, 0x74, 0xEB, - 0x12, 0xB5, 0x24, 0xF3, 0x6E, 0x3C, 0xDC, 0x8C, 0x75, 0x37, 0xDF, 0x12, 0x15, 0x2B, 0xDE, 0x9B, - 0x0C, 0x8F, 0xFA, 0x54, 0x89, 0x89, 0x2C, 0x87, 0x19, 0xA2, 0xD5, 0x8A, 0xD1, 0xBD, 0xE1, 0x77, - 0x3B, 0x23, 0xE6, 0x0D, 0x45, 0xF3, 0x74, 0x00, 0xE0, 0xAB, 0x52, 0x82, 0x70, 0x72, 0x0B, 0xD5, - 0x24, 0x9A, 0x07, 0x76, 0x25, 0x8D, 0xDB, 0xE2, 0x97, 0x20, 0x16, 0x57, 0x5B, 0x66, 0xC5, 0x85, - 0x85, 0xB3, 0xAF, 0x57, 0xD9, 0x3A, 0xA0, 0xD1, 0x65, 0x78, 0xF1, 0xF1, 0xFC, 0x22, 0xB8, 0x83, - 0x31, 0xC0, 0x77, 0x80, 0xCE, 0x64, 0x72, 0xA4, 0x6D, 0xCD, 0x99, 0x7B, 0x73, 0x0E, 0x42, 0x6E, - 0xD9, 0xEA, 0xA3, 0x1A, 0xA5, 0x73, 0xA3, 0x6A, 0x70, 0x8E, 0xAB, 0x81, 0x21, 0x5A, 0x54, 0x7C, - 0x3D, 0x5F, 0x51, 0x50, 0x56, 0x08, 0x78, 0x31, 0xD5, 0xCA, 0x75, 0x85, 0xDA, 0xE5, 0xAB, 0x28, - 0x56, 0xAA, 0x41, 0x44, 0x2F, 0x7B, 0xCB, 0xDF, 0x40, 0x56, 0xF8, 0x15, 0x7A, 0xEA, 0x67, 0x40, - 0xA3, 0xB2, 0x6F, 0x9D, 0xE9, 0xF7, 0x83, 0x65, 0xE8, 0x1E, 0x3A, 0x08, 0xCC, 0x64, 0xCA, 0xB1, - 0x5F, 0x41, 0xF4, 0x2D, 0x90, 0x84, 0x30, 0x8B, 0x2F, 0x27, 0xFA, 0xA9, 0x0A, 0x4E, 0x9A, 0x2C, - 0x04, 0xE7, 0x70, 0xE1, 0x26, 0x1D, 0x22, 0xC7, 0x95, 0x18, 0x9D, 0x4C, 0xDE, 0xD2, 0x53, 0xFD, - 0x5C, 0x49, 0xD0, 0xC9, 0x50, 0xA2, 0x31, 0x41, 0x63, 0x25, 0x8D, 0x46, 0xAC, 0xCA, 0xC1, 0xE0, - 0xB0, 0x94, 0xA8, 0x36, 0x3A, 0x2A, 0x8E, 0x9E, 0x36, 0x01, 0x3F, 0xFF, 0x93, 0xE3, 0x01, 0x58, - 0x83, 0xCF, 0x18, 0x0A, 0xF2, 0xF5, 0x08, 0x5D, 0xB9, 0x5F, 0x7F, 0x1D, 0x59, 0xDA, 0xAA, 0xF4, - 0x9F, 0x7E, 0xDD, 0x95, 0x94, 0x21, 0xEE, 0xCF, 0x94, 0xC4, 0x1E, 0x73, 0xE9, 0xDF, 0x90, 0xA1, - 0x26, 0x11, 0x1C, 0x4E, 0x53, 0x32, 0xC8, 0x64, 0x7F, 0xBA, 0x3C, 0x83, 0xC3, 0x0B, 0x78, 0x3B, - 0x6F, 0x12, 0x60, 0xF5, 0xBE, 0x71, 0x28, 0x52, 0x81, 0x32, 0x44, 0x03, 0xB6, 0x58, 0x5B, 0x48, - 0xA0, 0xBA, 0x4B, 0x79, 0x48, 0x30, 0x43, 0x5C, 0x34, 0x39, 0xB4, 0xE4, 0x1C, 0xCF, 0xFB, 0xB5, - 0xC3, 0x27, 0xD1, 0xD8, 0x6C, 0x33, 0x4B, 0xB8, 0xB1, 0xEA, 0x17, 0x97, 0xA7, 0x92, 0x8B, 0xBF, - 0xC7, 0xD0, 0x7D, 0xBD, 0xAA, 0xBF, 0x03, 0x02, 0x3E, 0xB4, 0x57, 0x75, 0x98, 0xBB, 0x4B, 0x07, - 0x7A, 0x48, 0x10, 0x03, 0x1A, 0x8C, 0x58, 0x3E, 0xA9, 0x10, 0x51, 0xFE, 0xD6, 0xF6, 0x50, 0x19, - 0xB6, 0xE8, 0x1F, 0x6B, 0x09, 0x77, 0x54, 0x0F, 0x60, 0xC1, 0x85, 0x62, 0x5D, 0xED, 0x52, 0x21, - 0xD7, 0xFE, 0x9E, 0xF2, 0xC6, 0x9D, 0xF5, 0xAD, 0xB2, 0x0E, 0x1F, 0xB3, 0x6A, 0xE0, 0x91, 0x7D, - 0x05, 0x65, 0xBC, 0xA1, 0x4E, 0x8F, 0xBE, 0x85, 0x44, 0x08, 0x47, 0x28, 0x41, 0x58, 0x0D, 0xA2, - 0xDB, 0x61, 0xF8, 0x04, 0x1A, 0x74, 0x01, 0x7A, 0xF1, 0xEC, 0xB5, 0x62, 0xB2, 0x03, 0xD6, 0xD9, - 0x5F, 0x15, 0x4A, 0xB4, 0xB1, 0x52, 0xC6, 0x69, 0x1D, 0x54, 0x4B, 0x65, 0x3D, 0xE3, 0x0E, 0xEB, - 0x37, 0x9F, 0xFF, 0xBC, 0x5C, 0xDD, 0xEA, 0x93, 0x6E, 0xE0, 0x93, 0xB2, 0x2A, 0x96, 0xDC, 0xB5, - 0xFC, 0x66, 0x99, 0x31, 0xE7, 0xDE, 0x96, 0xDA, 0x8D, 0xEA, 0x02, 0x3F, 0xA1, 0x32, 0xDA, 0x22, - 0xB8, 0xB3, 0x12, 0x46, 0xB7, 0xF5, 0x82, 0x14, 0x34, 0xF5, 0xE3, 0x44, 0xC1, 0xD0, 0x75, 0x5C, - 0x71, 0xF6, 0x05, 0xA4, 0xA9, 0xBB, 0xCF, 0x0F, 0x1B, 0xC3, 0xC0, 0xC1, 0x8A, 0xBE, 0x72, 0xED, - 0x7B, 0x6E, 0x90, 0xC8, 0x45, 0x7F, 0x59, 0x30, 0x21, 0xDD, 0x1E, 0x66, 0x6D, 0xB5, 0x82, 0x58, - 0x3E, 0x7B, 0xD1, 0x99, 0x69, 0x01, 0x52, 0x59, 0x7A, 0xEE, 0xAE, 0x5A, 0xBF, 0x5F, 0xE1, 0x1A, - 0x84, 0xE6, 0x11, 0xCF, 0xD9, 0xF2, 0xC9, 0xA5, 0x6A, 0x18, 0xA4, 0x67, 0x78, 0xF4, 0xC7, 0x09, - 0x08, 0xB6, 0x47, 0x7C, 0xB3, 0x25, 0x29, 0x25, 0xBA, 0x29, 0x0F, 0x63, 0xEE, 0x18, 0x03, 0x36, - 0xA1, 0x5D, 0x01, 0x95, 0xA1, 0x77, 0x7D, 0x33, 0xEB, 0x76, 0x27, 0xCA, 0xDF, 0xBD, 0x4E, 0x64, - 0x8A, 0x49, 0x51, 0x5B, 0x5B, 0x31, 0x14, 0x2B, 0x30, 0x0D, 0xD4, 0x91, 0x7E, 0x84, 0x8E, 0xA3, - 0x24, 0xE9, 0x79, 0x03, 0x37, 0x41, 0xB0, 0xD6, 0x7C, 0x79, 0x25, 0xFE, 0x24, 0xEF, 0x12, 0xE6, - 0x29, 0x3A, 0x82, 0xDE, 0x41, 0xAF, 0xF2, 0x01, 0x51, 0x20, 0xBA, 0x0A, 0x92, 0xA3, 0x00, 0x7F, - 0x9D, 0x08, 0x02, 0x1C, 0x61, 0xCD, 0xE0, 0x65, 0x6C, 0x8F, 0x2F, 0xC3, 0xF0, 0x75, 0x38, 0x0E, - 0x2B, 0x86, 0xF3, 0xB1, 0x13, 0xF3, 0x09, 0x83, 0x46, 0x67, 0xFB, 0x59, 0xED, 0x3D, 0xFA, 0xA6, - 0xB1, 0x57, 0x3C, 0x63, 0x4F, 0xC4, 0x04, 0x40, 0x50, 0x06, 0x7A, 0xC0, 0x22, 0x9F, 0x5B, 0x4C, - 0xF9, 0x91, 0x86, 0xEF, 0x35, 0x36, 0x5F, 0x9A, 0x7E, 0x16, 0x99, 0x8F, 0x4E, 0x30, 0xAD, 0x6E, - 0xFF, 0x1A, 0x22, 0x78, 0x2B, 0x78, 0x12, 0x81, 0xE6, 0xAB, 0xF4, 0x31, 0xFE, 0x0C, 0xF6, 0x5D, - 0x1A, 0x00, 0x0B, 0xE5, 0x87, 0xB2, 0x2B, 0x2A, 0x14, 0x71, 0xAF, 0x4B, 0xAC, 0x6E, 0xED, 0xE1, - 0xB9, 0x73, 0xD8, 0x60, 0x8D, 0x09, 0x76, 0x5A, 0x89, 0x12, 0x35, 0xEA, 0x88, 0x8A, 0xE5, 0xE2, - 0x92, 0x67, 0x88, 0xAE, 0x09, 0x6D, 0xEF, 0xA9, 0xBF, 0xF7, 0xF8, 0x7C, 0xB7, 0x56, 0x66, 0xE3, - 0xEA, 0xE7, 0x00, 0x50, 0x7A, 0x18, 0xBC, 0x8A, 0xBC, 0xBE, 0x84, 0xC7, 0x5A, 0x60, 0x86, 0xA0, - 0xD1, 0xF9, 0x6D, 0x68, 0xC6, 0xF7, 0x3E, 0x7B, 0x61, 0x52, 0xFC, 0x38, 0x16, 0x6F, 0xA6, 0x24, - 0xB0, 0x97, 0xF6, 0x45, 0x93, 0x47, 0x3B, 0x41, 0xD0, 0x4E, 0x39, 0xA7, 0x70, 0xFD, 0x40, 0xF0, - 0x23, 0xA2, 0x17, 0xB2, 0xD2, 0x02, 0x2E, 0x10, 0xE7, 0x8D, 0x34, 0xFB, 0xB4, 0x73, 0x9F, 0x73, - 0x91, 0x1B, 0x33, 0xE7, 0x6A, 0x3D, 0x07, 0xD0, 0x3A, 0x61, 0x4C, 0x04, 0xDE, 0xAC, 0x20, 0xFB, - 0x54, 0x4D, 0x15, 0xFE, 0x1E, 0xA4, 0xAA, 0x4B, 0xEF, 0x8E, 0x10, 0x1F, 0x74, 0xB9, 0x9E, 0x55, - 0x33, 0xA8, 0x2A, 0x44, 0xCF, 0x70, 0x36, 0x82, 0x49, 0xD5, 0x94, 0xD3, 0xC2, 0xF5, 0x8C, 0xCC, - 0x56, 0xF1, 0x64, 0x91, 0x72, 0xD4, 0x0E, 0xB6, 0x04, 0x87, 0xA5, 0x76, 0xCB, 0xED, 0x65, 0xAA, - 0x94, 0xEC, 0x2C, 0x39, 0x83, 0x62, 0x80, 0x1B, 0x1C, 0x72, 0x8B, 0xAF, 0x0D, 0x57, 0x2D, 0x26, - 0x26, 0x55, 0x08, 0x6C, 0x0F, 0xCA, 0xAB, 0xD4, 0x5A, 0x6A, 0xE2, 0x55, 0xDC, 0x98, 0xB7, 0xF4, - 0x0C, 0x81, 0x92, 0x84, 0x7D, 0xF4, 0x42, 0x32, 0xFE, 0x5E, 0xDA, 0xE8, 0xE8, 0x68, 0x4A, 0x9C, - 0xFD, 0xA6, 0x53, 0x17, 0x7F, 0x83, 0xAD, 0x7E, 0xC6, 0x2F, 0xB8, 0x3E, 0x95, 0xC2, 0x27, 0x4A, - 0x3B, 0x8C, 0xCE, 0x47, 0x6C, 0x9A, 0x43, 0xAD, 0x2A, 0x97, 0x46, 0x39, 0xEB, 0x4D, 0xB3, 0x0C, - 0x59, 0x9E, 0xEE, 0x23, 0xE0, 0x32, 0x68, 0x62, 0x67, 0xC5, 0x77, 0x9C, 0x20, 0xAB, 0xCC, 0x43, - 0x96, 0x50, 0x5D, 0x56, 0xBA, 0xA2, 0x21, 0xDC, 0x10, 0x89, 0x98, 0x9E, 0x9C, 0xDA, 0xCE, 0x2C, - 0xB4, 0xA0, 0x23, 0xBD, 0xF7, 0xFB, 0x2D, 0x80, 0xAB, 0xF9, 0xC5, 0x94, 0xDB, 0xF9, 0x90, 0xC1, - 0xE4, 0x48, 0x40, 0xC4, 0xFA, 0xAC, 0x8E, 0x48, 0x87, 0x86, 0x9A, 0xAA, 0xE1, 0x70, 0xA3, 0xFA, - 0x45, 0x87, 0xE2, 0x2E, 0x50, 0xC1, 0xF3, 0x9E, 0xA8, 0xB0, 0xB9, 0x2F, 0x38, 0xB6, 0xBE, 0xD1, - 0x93, 0xA7, 0x42, 0x88, 0x20, 0x88, 0xF5, 0x34, 0x60, 0x74, 0x3C, 0xF2, 0x8D, 0xDF, 0x55, 0xD8, - 0x68, 0x18, 0x16, 0x77, 0x36, 0x0A, 0x0A, 0x13, 0x2F, 0x49, 0xB1, 0x26, 0x05, 0x5E, 0xAA, 0xDF, - 0x97, 0x90, 0x97, 0x70, 0x10, 0xCF, 0x5C, 0x0A, 0xE2, 0x53, 0xC3, 0xE4, 0xBD, 0x6B, 0x76, 0x15, - 0xC3, 0x4F, 0x21, 0xF1, 0xDC, 0x69, 0xD8, 0x51, 0x0F, 0xCD, 0xFD, 0x29, 0xD3, 0xF0, 0x17, 0x38, - 0x4F, 0x1F, 0x77, 0x42, 0x81, 0x15, 0x6F, 0x57, 0x64, 0x8C, 0x0B, 0x27, 0x13, 0x3A, 0x16, 0x1E, - 0xF0, 0x75, 0xA8, 0xCA, 0xFC, 0x0B, 0xCA, 0x35, 0xD3, 0x07, 0x45, 0x1C, 0xFF, 0x1D, 0x98, 0xC2, - 0x73, 0x4A, 0x74, 0xCB, 0x3B, 0x5D, 0xA9, 0xDB, 0x4C, 0x0B, 0x63, 0xCC, 0xA3, 0x06, 0x4D, 0x2D, - 0x9C, 0xC8, 0xC8, 0x3A, 0xBB, 0xE9, 0x9B, 0x19, 0x2E, 0x6F, 0x71, 0xEC, 0xE5, 0x34, 0x7D, 0x5F, - 0x48, 0x54, 0x19, 0xF3, 0x89, 0xD9, 0xDD, 0x6B, 0xA0, 0xB3, 0x9D, 0xCB, 0x19, 0x07, 0x06, 0xE8, - 0xB6, 0x1C, 0x52, 0xD2, 0x24, 0x58, 0x5E, 0x05, 0x35, 0xD3, 0x23, 0x8E, 0x7F, 0x95, 0xE0, 0x3C, - 0xEC, 0x6C, 0xA4, 0xC7, 0x49, 0x63, 0x40, 0x3D, 0xCB, 0xF2, 0x6B, 0xC5, 0xCC, 0x8C, 0x42, 0x9F, - 0xD2, 0x85, 0xD6, 0x21, 0x9B, 0x8B, 0x89, 0x7D, 0xC9, 0x9D, 0xD7, 0xB4, 0xD5, 0x80, 0x5E, 0x92, - 0xC5, 0xC4, 0x85, 0x66, 0x9D, 0x2C, 0xCD, 0x00, 0x3F, 0xBF, 0xBB, 0x1B, 0xD6, 0xA5, 0xA7, 0x02, - 0x13, 0xE4, 0x25, 0xC0, 0x7B, 0x53, 0x06, 0x4F, 0xD5, 0x90, 0xCE, 0xB8, 0xFA, 0x48, 0x28, 0xF8, - 0x1F, 0xF7, 0x14, 0x3B, 0x78, 0x6F, 0x53, 0xC6, 0xD8, 0x4D, 0x1D, 0x43, 0x26, 0xDB, 0x85, 0xE9, - 0xAE, 0x32, 0x8B, 0x27, 0xA2, 0x4B, 0x28, 0xBA, 0xE8, 0x3F, 0x5B, 0x71, 0xD1, 0xC4, 0x80, 0x37, - 0x81, 0x11, 0x0E, 0x11, 0xDE, 0x1E, 0x37, 0x1D, 0x22, 0x94, 0x62, 0xDD, 0xD0, 0xD5, 0xEE, 0xA8, - 0x79, 0xD2, 0xE1, 0xA7, 0xAD, 0x6B, 0x64, 0x3E, 0x39, 0x28, 0x30, 0xBF, 0x7C, 0xB0, 0x19, 0xAC, - 0x3C, 0xC7, 0xA0, 0xF6, 0x46, 0x43, 0x0C, 0xB9, 0x95, 0x1F, 0x2C, 0xE6, 0x6A, 0xD4, 0xA5, 0x6D, - 0xE3, 0x03, 0x2E, 0x75, 0x0D, 0xBD, 0x44, 0x98, 0x07, 0xCE, 0xD9, 0xCD, 0x79, 0xE5, 0xA9, 0x96, - 0xF8, 0x51, 0x4C, 0xC9, 0xF1, 0x5C, 0x69, 0xFD, 0x99, 0xE4, 0x3F, 0xD7, 0x58, 0x54, 0x11, 0xAF, - 0x9B, 0x83, 0xA6, 0x8B, 0x9A, 0xC0, 0x33, 0xB8, 0xB5, 0x9B, 0x60, 0xE9, 0x31, 0xAE, 0x57, 0xB7, - 0xC2, 0x8F, 0xEB, 0xD7, 0x2D, 0xDF, 0x56, 0xFC, 0xC8, 0xBB, 0x17, 0x7E, 0x72, 0xC9, 0xD7, 0xFF, - 0x61, 0xAB, 0x82, 0xA9, 0xBC, 0xFF, 0x46, 0x64, 0x67, 0xF4, 0xD7, 0x35, 0x3B, 0xCB, 0xDF, 0xF3, - 0x55, 0x0F, 0xBA, 0x14, 0x88, 0x97, 0xBB, 0x94, 0x8F, 0x6E, 0xFD, 0xE1, 0x05, 0x22, 0x39, 0x81, - 0x24, 0x37, 0xD8, 0xC2, 0xF5, 0x41, 0xD6, 0x3E, 0x1C, 0xAF, 0x0C, 0xC6, 0x72, 0xCD, 0x75, 0x83, - 0x9C, 0xDB, 0x26, 0xC5, 0x8B, 0x07, 0x42, 0xB1, 0x4C, 0x32, 0xCA, 0xEC, 0x6B, 0x23, 0xA6, 0x90, - 0xCE, 0x96, 0x17, 0x60, 0x40, 0x48, 0x3D, 0x57, 0x28, 0x12, 0xA8, 0xFE, 0xC3, 0x08, 0x69, 0x1C, - 0x82, 0xE1, 0xF8, 0x62, 0xFC, 0x27, 0x3F, 0x26, 0x5D, 0xA1, 0x67, 0x30, 0x53, 0x41, 0xD7, 0x46, - 0xF2, 0x5A, 0xA5, 0x68, 0xBB, 0xCA, 0x61, 0x05, 0xB6, 0xDF, 0x45, 0xC0, 0x0A, 0x4D, 0x8B, 0x0B, - 0x8D, 0x76, 0xFA, 0x56, 0x81, 0xF1, 0x52, 0x8C, 0xCF, 0xBC, 0x15, 0x28, 0x5D, 0xEE, 0x43, 0x06, - 0xBB, 0x59, 0xD9, 0xD3, 0x58, 0xDA, 0x4F, 0x4A, 0x25, 0x1E, 0xB4, 0xE7, 0x30, 0x93, 0x95, 0xAC, - 0x7F, 0x91, 0x5C, 0x0E, 0xED, 0xD3, 0xA4, 0x23, 0x83, 0xBE, 0x62, 0xC7, 0x79, 0x95, 0x3F, 0xDC, - 0x42, 0xDE, 0xD1, 0xDA, 0x65, 0xD4, 0x5B, 0xA2, 0x7C, 0xEA, 0x99, 0x78, 0xFB, 0x6A, 0x18, 0xCA, - 0x58, 0x13, 0xA3, 0x18, 0xDD, 0x1E, 0x87, 0x97, 0x7B, 0x6B, 0x66, 0xF0, 0x3E, 0x3C, 0x01, 0xEC, - 0xC6, 0xFE, 0x9D, 0xD5, 0xB3, 0x33, 0xE6, 0x0C, 0xFA, 0xDD, 0x32, 0x2F, 0x98, 0xB8, 0x5A, 0x20, - 0x87, 0x95, 0x6B, 0xDB, 0x73, 0x15, 0xE7, 0xC6, 0x49, 0x8B, 0xBE, 0x7F, 0xE4, 0x0F, 0x5C, 0x7D, - 0x0C, 0x22, 0x25, 0xE0, 0x9F, 0xC9, 0x69, 0xE1, 0xC1, 0x54, 0x01, 0x15, 0xFA, 0xAA, 0x3E, 0x00, - 0x00, 0xBD, 0x03, 0x30, 0xC3, 0x26, 0xBC, 0xFA, 0xC0, 0x88, 0x82, 0x2A, 0xAC, 0xC9, 0xD0, 0xC7, - 0x64, 0xDF, 0x11, 0x10, 0x85, 0x54, 0x8C, 0xC8, 0x31, 0x34, 0x6D, 0xA8, 0x18, 0xFB, 0x12, 0x47, - 0xB8, 0x51, 0xFD, 0x37, 0x79, 0xE3, 0xF7, 0xFB, 0xF8, 0xE5, 0xB9, 0x34, 0x28, 0xBD, 0x60, 0x75, - 0xD8, 0xC4, 0x43, 0x72, 0x1F, 0x37, 0x11, 0x69, 0xD9, 0xAE, 0x47, 0x7C, 0xA9, 0x3E, 0x0E, 0xD8, - 0xF9, 0x3A, 0x0B, 0x39, 0xAC, 0x94, 0xB3, 0x70, 0xCC, 0x58, 0x1D, 0x0C, 0x92, 0x20, 0x36, 0xB5, - 0x96, 0x38, 0xB7, 0x48, 0xB5, 0x99, 0xAF, 0x7C, 0x2A, 0x2A, 0x23, 0xE5, 0x7A, 0xE9, 0x76, 0x67, - 0xB4, 0xCE, 0xDB, 0xE7, 0xB6, 0x09, 0x56, 0x59, 0x6D, 0x79, 0x34, 0xA4, 0xDD, 0xAD, 0x0B, 0x61, - 0x9B, 0x24, 0xAE, 0x44, 0x9A, 0xF3, 0xD9, 0xB4, 0xCB, 0xD9, 0xE2, 0x84, 0xA2, 0x66, 0x44, 0x87, - 0x46, 0x29, 0x7D, 0xBF, 0x46, 0xE2, 0x74, 0x27, 0x30, 0xE8, 0xEE, 0x97, 0x9E, 0x33, 0xCD, 0x84, - 0x34, 0x19, 0x3B, 0x8D, 0xB1, 0x3C, 0x71, 0x38, 0x2C, 0x77, 0x5F, 0x52, 0xBA, 0x48, 0xB1, 0x5E, - 0x9F, 0xD3, 0x02, 0x21, 0xB0, 0xA3, 0x1F, 0x29, 0x1A, 0xF2, 0x70, 0x71, 0xEF, 0x57, 0x16, 0x22, - 0x23, 0xC8, 0x50, 0x43, 0x1C, 0xA7, 0xE8, 0x4C, 0xAC, 0x1D, 0x88, 0xB2, 0x9A, 0x04, 0x35, 0x51, - 0x14, 0x64, 0x4C, 0x1A, 0x0A, 0x66, 0x54, 0x28, 0xFD, 0x5C, 0xCD, 0xA7, 0xB2, 0x6C, 0xB2, 0xBA, - 0xC5, 0xF6, 0xB9, 0x31, 0x19, 0x9D, 0x58, 0x19, 0x7E, 0xD2, 0x12, 0x63, 0x4C, 0x24, 0x93, 0xF1, - 0xEF, 0x68, 0x5F, 0x2B, 0x38, 0xA4, 0xE0, 0xA8, 0xC2, 0xB0, 0x09, 0x31, 0xAD, 0x09, 0xF6, 0x0D, - 0x90, 0x44, 0x00, 0x15, 0x51, 0xBC, 0xA6, 0x52, 0x80, 0x5A, 0x6A, 0xE3, 0x31, 0x53, 0xB3, 0x66, - 0xB0, 0x39, 0x77, 0x82, 0x12, 0xF4, 0x26, 0x35, 0xDC, 0x17, 0x33, 0xEF, 0x2E, 0x36, 0xF7, 0xD1, - 0x03, 0xB5, 0x27, 0xD4, 0x21, 0xA9, 0xFC, 0xA4, 0xAA, 0x40, 0xF4, 0x05, 0x7E, 0xDE, 0x8E, 0xB2, - 0xE7, 0x00, 0xD5, 0x9E, 0xD2, 0xD2, 0x27, 0xFF, 0x0F, 0x04, 0x2A, 0x01, 0x85, 0x61, 0x71, 0xE6, - 0x5F, 0xEC, 0x2B, 0x99, 0x5D, 0xE0, 0xFF, 0x1F, 0xBF, 0xB6, 0xAE, 0x75, 0xA3, 0xA6, 0x62, 0x4D, - 0xEB, 0x9F, 0xF3, 0x4E, 0x4A, 0xBE, 0x2D, 0x6A, 0xB7, 0x03, 0xC6, 0xFF, 0x2C, 0x8A, 0x98, 0xA0, - 0xE1, 0x7C, 0x62, 0xC3, 0xC1, 0x29, 0x2B, 0xCE, 0x3A, 0x65, 0x0D, 0x06, 0x2F, 0xF6, 0xD1, 0x1B, - 0xFE, 0xC5, 0x83, 0xB8, 0xA1, 0x57, 0x84, 0x2C, 0x4D, 0xEE, 0x49, 0xD3, 0x04, 0xE2, 0x1F, 0x4B, - 0xC8, 0xEA, 0xA0, 0x3D, 0xEA, 0xE6, 0x83, 0x42, 0xAF, 0xF9, 0x80, 0x96, 0x4A, 0xAF, 0x04, 0x55, - 0xD6, 0xD0, 0x7E, 0x9A, 0x0D, 0x53, 0x73, 0x49, 0xC3, 0x6C, 0x8A, 0x0E, 0x8E, 0x39, 0x3B, 0xB9, - 0xE5, 0x8B, 0xCE, 0xA6, 0xDF, 0x11, 0x10, 0xA3, 0x92, 0x2D, 0xCF, 0x1B, 0xF0, 0x32, 0x52, 0x95, - 0x13, 0x9B, 0xC4, 0x9B, 0x18, 0x02, 0x36, 0x08, 0xC4, 0xED, 0x75, 0x86, 0x03, 0xA9, 0xAE, 0x25, - 0x22, 0x4B, 0x6F, 0x9F, 0x8E, 0x3D, 0xF2, 0xE4, 0x77, 0xBB, 0xF9, 0xD6, 0xD4, 0x49, 0x2E, 0x4F, - 0x7D, 0x1A, 0x47, 0x36, 0xBF, 0x6F, 0xBF, 0x41, 0x9E, 0xFD, 0x50, 0x3D, 0x86, 0x1D, 0x38, 0x5D, - 0x06, 0xC1, 0xB4, 0x6D, 0x1E, 0xA8, 0x7F, 0x78, 0x50, 0xAD, 0x7B, 0x29, 0xC0, 0x74, 0x20, 0xA7, - 0x72, 0x8D, 0x45, 0x02, 0x44, 0xED, 0xE3, 0x13, 0x08, 0x85, 0xD5, 0x89, 0xB0, 0xD0, 0xDD, 0xCB, - 0x2B, 0xA0, 0xDA, 0xF6, 0xF2, 0x74, 0xF1, 0x5F, 0xD5, 0x7E, 0xD8, 0x5A, 0x5E, 0x92, 0x0A, 0xBD, - 0x84, 0x9D, 0x4F, 0x3F, 0x90, 0x05, 0xC9, 0x89, 0x17, 0xFE, 0x6C, 0x68, 0x3C, 0x80, 0x6E, 0x9D, - 0x6C, 0xB7, 0x9B, 0xA5, 0x8D, 0xAD, 0x0B, 0xC1, 0xBA, 0x0F, 0xDA, 0xE6, 0x02, 0x69, 0x88, 0xEF, - 0x0D, 0xA1, 0x1A, 0x3C, 0x42, 0x47, 0xAA, 0x63, 0x68, 0xC0, 0x40, 0x37, 0x35, 0x64, 0x4B, 0xB3, - 0x1D, 0x8F, 0xF9, 0x73, 0x2E, 0x65, 0x5C, 0xCC, 0xE4, 0x7A, 0x08, 0xF1, 0xC7, 0x3F, 0x91, 0xC9, - 0xA0, 0x17, 0x94, 0xCD, 0x9E, 0x56, 0x07, 0xF0, 0x73, 0xDE, 0x0E, 0x7A, 0x89, 0x72, 0x8A, 0xD7, - 0x7A, 0xE5, 0xCF, 0xB7, 0xCC, 0xEA, 0x1C, 0x92, 0xEE, 0xF7, 0xEB, 0x60, 0x43, 0x4B, 0x21, 0x7B, - 0x19, 0x78, 0x55, 0x16, 0xE8, 0xE9, 0x14, 0x76, 0x6B, 0x24, 0x48, 0x13, 0xF8, 0x16, 0x51, 0x71, - 0xFC, 0x4E, 0x98, 0x80, 0xD7, 0xE8, 0x97, 0xAA, 0xA5, 0x74, 0x63, 0x07, 0x9C, 0x8F, 0xA2, 0xF5, - 0xB5, 0x4D, 0xE4, 0x3B, 0x3A, 0xAB, 0x77, 0x9C, 0x5B, 0xFC, 0x1B, 0x87, 0xE9, 0xDC, 0x81, 0x86, - 0x59, 0x90, 0x9C, 0xC4, 0x76, 0x2F, 0x57, 0x93, 0x63, 0x91, 0x20, 0x99, 0x06, 0x5E, 0x70, 0x3A, - 0x45, 0x21, 0x59, 0x5B, 0x10, 0xFB, 0xB1, 0x01, 0x4E, 0x0A, 0x41, 0xF7, 0xB6, 0x5B, 0x4A, 0x6F, - 0x86, 0x16, 0x54, 0x07, 0xD4, 0x78, 0x6E, 0x8F, 0xB9, 0xEB, 0xD2, 0xC2, 0xF3, 0x4E, 0x1B, 0x2E, - 0x6A, 0xCB, 0x2C, 0xF8, 0xBE, 0xF0, 0xD1, 0x50, 0xEC, 0xCF, 0x60, 0x7B, 0xCC, 0x67, 0xDB, 0x96, - 0x85, 0x1E, 0x70, 0xE3, 0x14, 0x5E, 0x6F, 0x45, 0xF5, 0xE9, 0xA5, 0x2D, 0x55, 0xCA, 0x40, 0xE2, - 0xDE, 0xB8, 0xF4, 0x2F, 0xA2, 0xC7, 0x7D, 0x09, 0x4F, 0xD6, 0xC2, 0xC8, 0x81, 0x56, 0x89, 0x33, - 0x8C, 0xF5, 0xC5, 0x8A, 0xAB, 0xA1, 0x94, 0x11, 0x9A, 0x98, 0xA7, 0x91, 0x25, 0x6E, 0xBD, 0x8E, - 0x79, 0xED, 0xEB, 0x53, 0x6D, 0x2D, 0xDC, 0xAB, 0x32, 0xD0, 0x65, 0x8C, 0x93, 0xE0, 0x10, 0x7F, - 0xD4, 0xDF, 0x4C, 0x1A, 0x47, 0x24, 0x38, 0xAF, 0x6F, 0x6A, 0x82, 0x46, 0xE6, 0xE0, 0x1E, 0xB1, - 0xB3, 0x3A, 0x73, 0xA0, 0x96, 0xF0, 0xA4, 0x66, 0xC9, 0x31, 0x06, 0x8A, 0x50, 0xAC, 0x0C, 0x28, - 0xD6, 0x63, 0x3D, 0x75, 0x2B, 0x54, 0x9C, 0x52, 0x84, 0x63, 0x37, 0x2F, 0x59, 0xB4, 0xE5, 0x4E, - 0x14, 0x7E, 0x75, 0xDD, 0xDA, 0xE2, 0x12, 0xFF, 0x9C, 0x96, 0x19, 0xF6, 0x9F, 0x0E, 0xAD, 0xC2, - 0x51, 0x6B, 0x34, 0x8C, 0x9F, 0x77, 0xAC, 0x9F, 0xE1, 0xB6, 0x6E, 0x61, 0x84, 0x36, 0x26, 0xC0, - 0x30, 0x05, 0xAF, 0xA1, 0xCA, 0xC7, 0xA9, 0xA5, 0x50, 0xAA, 0xAB, 0xFE, 0xE2, 0xA4, 0xC0, 0x14, - 0xA3, 0x30, 0x4E, 0x56, 0x8B, 0x82, 0xBC, 0xF4, 0x67, 0x69, 0xA6, 0xA2, 0x26, 0x2A, 0x1F, 0x97, - 0x11, 0x89, 0x6A, 0x03, 0x33, 0xBD, 0x95, 0x34, 0xBA, 0x85, 0xDE, 0x5D, 0x4C, 0xF5, 0xA0, 0x1F, - 0x9A, 0x92, 0x52, 0x01, 0xDE, 0x32, 0xB9, 0xCE, 0x94, 0x95, 0x3D, 0x12, 0x3E, 0x37, 0x6D, 0x05, - 0x39, 0xE1, 0x81, 0x84, 0xD4, 0x89, 0xE4, 0xBE, 0x09, 0xF6, 0xA7, 0xB3, 0x1A, 0xD3, 0x65, 0x06, - 0x12, 0xF5, 0xD1, 0x4A, 0x50, 0xED, 0x7D, 0x4D, 0x3F, 0x13, 0x6A, 0x25, 0x25, 0x0F, 0xE6, 0x07, - 0x6A, 0x75, 0x59, 0xB4, 0x23, 0x98, 0x2E, 0x6E, 0x3C, 0x5A, 0x16, 0x9E, 0xC8, 0x39, 0x06, 0x44, - 0xAB, 0x14, 0xAA, 0x55, 0x4A, 0x73, 0x9B, 0x67, 0xC6, 0x83, 0x69, 0x00, 0x7F, 0x64, 0x7A, 0x42, - 0x31, 0xC5, 0x65, 0x87, 0x16, 0x44, 0x96, 0xA4, 0xD0, 0xE2, 0xE8, 0x99, 0xB0, 0xC6, 0xDB, 0xA8, - 0x79, 0x03, 0xDF, 0x0B, 0x6C, 0xB6, 0xCD, 0x7E, 0xFE, 0xF2, 0x0B, 0xD6, 0xDC, 0x69, 0x2D, 0x8A, - 0x7F, 0x88, 0x7B, 0x9C, 0x72, 0xF8, 0x80, 0x65, 0x66, 0x4F, 0x66, 0x68, 0x6C, 0x55, 0x76, 0xB9, - 0x0A, 0xDB, 0x08, 0xBF, 0x02, 0xB1, 0x86, 0xCF, 0xB0, 0xE9, 0x46, 0xC8, 0xEC, 0xDD, 0x0E, 0x47, - 0xA4, 0x7B, 0x20, 0xE7, 0x6E, 0xC1, 0x22, 0x32, 0xFC, 0x9D, 0xB7, 0xA7, 0xB6, 0xB6, 0x92, 0x02, - 0xA9, 0xA8, 0xDB, 0x3A, 0x18, 0x2F, 0x60, 0xE5, 0xD1, 0xC4, 0x28, 0x53, 0x00, 0xFA, 0x80, 0x9B, - 0x1D, 0x9A, 0x5B, 0xF8, 0x38, 0x4D, 0x72, 0x81, 0xEC, 0x6B, 0xBD, 0x9A, 0x62, 0x2C, 0xB8, 0xEA, - 0xBE, 0xE9, 0x88, 0x7D, 0x30, 0x81, 0xC0, 0xBD, 0xFA, 0x0A, 0x3C, 0x03, 0x2D, 0x06, 0x61, 0xFE, - 0x04, 0x74, 0x48, 0x2B, 0x80, 0x72, 0x5B, 0x41, 0xEA, 0xFC, 0x36, 0x3E, 0xEA, 0xAD, 0x47, 0xED, - 0x88, 0x24, 0x1E, 0x98, 0xEA, 0xA5, 0xBB, 0xC1, 0x3A, 0xCD, 0x9D, 0x3A, 0x7C, 0x41, 0x83, 0xD2, - 0x21, 0xCF, 0x58, 0x71, 0xF8, 0xF7, 0xEF, 0xD7, 0x6B, 0x92, 0xB5, 0x93, 0x4D, 0xE4, 0xCE, 0x80, - 0x7C, 0xF4, 0xC0, 0xD5, 0xBE, 0x5E, 0x04, 0x3E, 0x0D, 0x0E, 0x90, 0x66, 0x33, 0x6B, 0x5A, 0xC6, - 0x38, 0x21, 0x4B, 0xA2, 0xEE, 0x75, 0x10, 0xF0, 0xB4, 0x11, 0x71, 0x1D, 0x53, 0x89, 0xF5, 0xB8, - 0xF1, 0x64, 0x5C, 0x40, 0xF0, 0x3B, 0x5D, 0xEB, 0x9B, 0x27, 0x52, 0x98, 0x18, 0xE7, 0xF2, 0x09, - 0xFB, 0xFC, 0xC9, 0x2C, 0x1C, 0xFF, 0xCB, 0xD4, 0xA1, 0x39, 0x8C, 0x3F, 0xFF, 0xEC, 0x02, 0xBC, - 0x85, 0xF7, 0xE5, 0x45, 0x17, 0x0F, 0x2C, 0x61, 0xC4, 0xEC, 0xD5, 0x71, 0xD3, 0x01, 0x8D, 0x46, - 0x5B, 0xF3, 0xA1, 0xE0, 0x43, 0xF4, 0x93, 0x9E, 0x71, 0x08, 0x27, 0x3B, 0x20, 0x5A, 0x56, 0x3D, - 0xDF, 0x87, 0x13, 0x50, 0xE8, 0xD2, 0x54, 0x8D, 0x9D, 0xB0, 0xD9, 0x3C, 0xAF, 0xBA, 0x8E, 0x0F, - 0xB7, 0x0D, 0xA6, 0x58, 0x05, 0x5D, 0x78, 0x77, 0xEE, 0x04, 0x01, 0xEB, 0xB8, 0xCF, 0x5C, 0x51, - 0x63, 0x91, 0x77, 0x91, 0x54, 0x3D, 0xD6, 0x7C, 0x87, 0x2A, 0x4B, 0x94, 0xEB, 0xBC, 0x29, 0x72, - 0x78, 0xC3, 0x15, 0x2D, 0xA8, 0xDC, 0xFB, 0x19, 0x19, 0x00, 0xAD, 0x8E, 0xCA, 0x0D, 0x91, 0x4B, - 0x1B, 0x11, 0xFF, 0x6F, 0xC3, 0x40, 0xA1, 0x5C, 0x35, 0x7F, 0xF2, 0xB0, 0xA3, 0xF7, 0xD7, 0x53, - 0x42, 0x1D, 0xB2, 0x33, 0x74, 0x5F, 0xC4, 0x18, 0x48, 0x5F, 0x85, 0x27, 0xE0, 0x90, 0x57, 0x1B, - 0x2E, 0xA0, 0xD2, 0xC3, 0xFB, 0xCB, 0xBA, 0x5E, 0x68, 0xDB, 0xC9, 0x28, 0x43, 0x9D, 0x00, 0xD3, - 0x01, 0x83, 0x57, 0xF5, 0x87, 0x9E, 0xA5, 0xF9, 0xA2, 0x70, 0xF0, 0x84, 0x42, 0x8C, 0x6E, 0x4C, - 0xF9, 0x40, 0xB8, 0x43, 0xF4, 0xEB, 0xF6, 0xDA, 0xB9, 0xCC, 0xA2, 0xE6, 0xEE, 0xE9, 0x99, 0x48, - 0xBC, 0x55, 0xF9, 0x12, 0x1F, 0xC3, 0x9E, 0x5D, 0x15, 0xFB, 0xBE, 0xBF, 0xF8, 0x8D, 0x25, 0x89, - 0x52, 0x17, 0x8F, 0xC5, 0xC2, 0x0B, 0x1B, 0x99, 0x49, 0x79, 0x45, 0xED, 0x47, 0xD9, 0xDE, 0x76, - 0x45, 0x56, 0xDC, 0x82, 0xC4, 0xAC, 0x5F, 0xE4, 0xBF, 0x5B, 0x29, 0x42, 0x44, 0xFC, 0x27, 0xE6, - 0x93, 0x76, 0x7C, 0x24, 0x22, 0xD3, 0x94, 0xAB, 0x55, 0x74, 0x5C, 0xE1, 0x68, 0x11, 0xA8, 0x1C, - 0x9F, 0x65, 0x4D, 0xDF, 0x21, 0xEF, 0xC1, 0x22, 0x58, 0xA9, 0x8F, 0x1A, 0xB4, 0x82, 0x05, 0x0D, - 0x1C, 0x5A, 0x91, 0xDE, 0xE2, 0x69, 0x09, 0xFD, 0xAE, 0x8B, 0xE3, 0xB5, 0x77, 0x6D, 0xFD, 0xBB, - 0xC8, 0xC6, 0x40, 0x17, 0xD0, 0x59, 0x4F, 0x8F, 0x20, 0x57, 0x0F, 0x92, 0x8B, 0x5E, 0x86, 0x0C, - 0x36, 0x8E, 0x0B, 0x36, 0x7D, 0xD8, 0xCC, 0xE1, 0xB5, 0x37, 0xB1, 0xD7, 0xED, 0xCC, 0x60, 0xD8, - 0x6C, 0xFE, 0xFD, 0x23, 0x10, 0xE3, 0xD2, 0xD9, 0x4B, 0x16, 0xF9, 0x9C, 0x5E, 0xD5, 0xC2, 0x7B, - 0x43, 0xDD, 0x78, 0x15, 0x85, 0xE9, 0x4A, 0xB5, 0x8F, 0x29, 0x6F, 0x70, 0x41, 0xA9, 0x97, 0xDC, - 0xCF, 0x8D, 0x2E, 0xA6, 0xD8, 0x95, 0xFD, 0xB3, 0xE4, 0x68, 0x99, 0x7E, 0x81, 0x63, 0x96, 0xFA, - 0x70, 0xE7, 0xF1, 0x2E, 0xA5, 0x8B, 0x58, 0xD1, 0x53, 0xE3, 0xD7, 0x45, 0x6D, 0x44, 0x18, 0x26, - 0xF3, 0xD8, 0x2D, 0x2F, 0x62, 0xDD, 0x3B, 0x3F, 0xCC, 0xEF, 0xF1, 0x95, 0x31, 0x5F, 0xCD, 0xC9, - 0xC5, 0x15, 0xBB, 0xCA, 0x09, 0x41, 0x61, 0x7A, 0x28, 0x54, 0x2B, 0x76, 0xAA, 0xEF, 0x3E, 0x35, - 0x13, 0x35, 0x1B, 0x6C, 0x79, 0x08, 0x67, 0xD0, 0xE0, 0x90, 0xAE, 0xAB, 0x1F, 0x86, 0xD5, 0x3C, - 0xE8, 0x8A, 0x4F, 0x93, 0x6F, 0x8A, 0x98, 0xF7, 0xAF, 0xAD, 0x23, 0x7F, 0x97, 0x07, 0x2A, 0x3B, - 0x17, 0x02, 0xCE, 0x94, 0x49, 0x4F, 0xCE, 0xEE, 0x62, 0xB7, 0x51, 0xBD, 0x2F, 0x32, 0xF6, 0xF1, - 0xD9, 0x0C, 0xB7, 0xC7, 0xB9, 0xB2, 0xFA, 0x86, 0xE7, 0x21, 0xE5, 0xC5, 0xB2, 0xF2, 0x4C, 0xA7, - 0x16, 0xC2, 0x04, 0xB2, 0xE3, 0x22, 0xB3, 0x38, 0x90, 0x6D, 0x0A, 0xC7, 0x0E, 0x83, 0x4E, 0xC8, - 0x34, 0x32, 0x7A, 0x59, 0xAE, 0x7B, 0xBF, 0x64, 0x2B, 0x1D, 0x57, 0xCD, 0x49, 0xA0, 0x10, 0x25, - 0x64, 0xDA, 0x19, 0x20, 0xA3, 0x2C, 0x1C, 0xAC, 0x07, 0x62, 0x08, 0xF3, 0x73, 0x29, 0x23, 0x1E, - 0xA6, 0xC7, 0x51, 0x88, 0x56, 0x4A, 0x39, 0x30, 0xDA, 0x8E, 0x70, 0x0C, 0x4E, 0xC1, 0x37, 0x10, - 0x8C, 0x13, 0xCB, 0x60, 0x24, 0x74, 0xD0, 0xD6, 0x7E, 0xBA, 0x48, 0xB1, 0x7A, 0x31, 0xCA, 0x78, - 0x7D, 0x34, 0x0A, 0xF3, 0x26, 0x03, 0x3F, 0x9A, 0x46, 0xCB, 0x2A, 0x67, 0x07, 0x9B, 0xA7, 0xAE, - 0xBB, 0x1E, 0x97, 0xA3, 0x35, 0x1A, 0xD1, 0x49, 0xAA, 0x73, 0xD4, 0x60, 0x79, 0x14, 0x33, 0xE8, - 0xFA, 0x6E, 0x47, 0x83, 0xE3, 0xC1, 0xF6, 0xDE, 0x8F, 0x69, 0xCD, 0x68, 0xA1, 0x95, 0x2B, 0x19, - 0x26, 0xFD, 0x56, 0x2E, 0x3E, 0x12, 0x0D, 0xD3, 0xDA, 0x55, 0xCE, 0xE1, 0x90, 0x6E, 0x38, 0x15, - 0x0A, 0x10, 0xAC, 0xA1, 0x11, 0x67, 0xAE, 0x39, 0x11, 0x2A, 0x28, 0xAE, 0x30, 0xC8, 0x18, 0xC3, - 0x09, 0x35, 0x3C, 0x58, 0x33, 0x0B, 0x01, 0xCF, 0x55, 0x8D, 0x2E, 0xD3, 0x63, 0x8F, 0x59, 0xD4, - 0x10, 0x39, 0x31, 0x44, 0x5C, 0xB7, 0x70, 0xCD, 0x9C, 0x65, 0xFC, 0x93, 0x11, 0x69, 0xB0, 0xEA, - 0xA3, 0x20, 0x92, 0xE6, 0x7D, 0xFF, 0x3B, 0x33, 0x82, 0x5E, 0x91, 0xAB, 0xE7, 0x7C, 0xC0, 0xB0, - 0xC5, 0xB2, 0x46, 0x00, 0x1D, 0x41, 0x7E, 0xA6, 0x01, 0xDF, 0x3C, 0xC5, 0xAC, 0x5D, 0x88, 0x4E, - 0x39, 0x81, 0xF1, 0x7B, 0xC1, 0xAD, 0x59, 0x28, 0x47, 0xEF, 0x0E, 0xB7, 0x7D, 0x94, 0x14, 0x9A, - 0xAE, 0x7C, 0x51, 0xD1, 0x15, 0xCB, 0xCB, 0xCE, 0x8A, 0xD9, 0x98, 0x52, 0x5E, 0x79, 0x53, 0xC4, - 0xED, 0x1B, 0x19, 0x51, 0x35, 0xBC, 0x5C, 0xB3, 0xEF, 0xC6, 0x2F, 0x16, 0x13, 0x25, 0x5F, 0x9D, - 0x84, 0xE1, 0x01, 0x17, 0x4A, 0xE3, 0x62, 0x9F, 0xB5, 0x5A, 0x44, 0x53, 0xF9, 0x67, 0x8D, 0xFE, - 0xA5, 0x50, 0x38, 0xAF, 0x60, 0x05, 0x78, 0x01, 0x98, 0xBB, 0xB8, 0x36, 0x9B, 0xDB, 0xDF, 0xE5, - 0xB6, 0x61, 0xC3, 0xA3, 0xB1, 0xF0, 0x53, 0x93, 0xD0, 0x45, 0xF3, 0x17, 0x15, 0x58, 0x1B, 0x3A, - 0xA0, 0x05, 0x02, 0x1F, 0x86, 0xEC, 0x0A, 0x3F, 0xB8, 0x6D, 0x18, 0x90, 0x54, 0x09, 0x0E, 0x7F, - 0x0C, 0x60, 0x06, 0xE8, 0x3A, 0xBE, 0x68, 0x24, 0xEB, 0x18, 0x6B, 0xB3, 0xBB, 0xBF, 0xCD, 0x87, - 0x0D, 0x71, 0x99, 0x86, 0x91, 0x87, 0xC4, 0xEE, 0xF4, 0x4D, 0x17, 0x14, 0x3E, 0x89, 0xEE, 0xA8, - 0x3D, 0xC5, 0x54, 0xA5, 0x28, 0x46, 0x1F, 0x81, 0x52, 0xAA, 0x4F, 0xE6, 0xF5, 0x6A, 0x94, 0xE2, - 0x07, 0x4C, 0x6F, 0x96, 0x57, 0x19, 0x21, 0xAD, 0xF1, 0xFD, 0x42, 0x2E, 0x96, 0x13, 0x7C, 0xB2, - 0x40, 0x6F, 0x82, 0xC8, 0x27, 0x44, 0x2B, 0x16, 0xFD, 0xA4, 0x0F, 0x72, 0xE8, 0xF8, 0x8C, 0x90, - 0xFC, 0x1E, 0xED, 0xCA, 0x6B, 0xAB, 0x29, 0x61, 0xB4, 0x34, 0x55, 0xCC, 0x5B, 0x8D, 0x42, 0x5F, - 0x37, 0xF8, 0xA2, 0xB5, 0x39, 0x9A, 0x8C, 0x2C, 0x9F, 0x9C, 0xD9, 0x03, 0x7B, 0xE9, 0x50, 0x3D, - 0x49, 0x77, 0xE4, 0x21, 0x81, 0x64, 0x8B, 0xC0, 0x71, 0x85, 0xCA, 0xD0, 0xE6, 0xB9, 0x7A, 0xFB, - 0x34, 0xDD, 0x32, 0x4C, 0xF0, 0x06, 0x5D, 0xF8, 0x9E, 0xF2, 0xC8, 0x9C, 0x27, 0x2A, 0x5D, 0x0A, - 0x00, 0x2D, 0x5A, 0xB1, 0xC4, 0x3E, 0xE0, 0x5C, 0x77, 0xCC, 0xBA, 0x7A, 0xBD, 0xC2, 0x89, 0x20, - 0x7F, 0xB3, 0x83, 0x4B, 0xA5, 0xBF, 0x79, 0x4A, 0x75, 0x5B, 0x8E, 0x75, 0xC1, 0x65, 0x96, 0x75, - 0x23, 0xA8, 0x6C, 0x9E, 0xA9, 0x99, 0xA9, 0xD5, 0x16, 0x0D, 0x49, 0x9B, 0x1D, 0x64, 0xA9, 0xF6, - 0xCF, 0x8F, 0xB0, 0x10, 0x22, 0xD7, 0x92, 0x62, 0xB3, 0x13, 0x34, 0xF9, 0xC2, 0xEC, 0xC3, 0x49, - 0x0F, 0x45, 0x96, 0x11, 0x63, 0x21, 0x9C, 0x09, 0x04, 0x6F, 0x69, 0xFF, 0x94, 0x5F, 0x93, 0xC5, - 0x61, 0xDE, 0xBB, 0x70, 0xFD, 0x1F, 0x51, 0xE4, 0x80, 0xC9, 0xA5, 0xA4, 0x22, 0xDE, 0x4C, 0x91, - 0xD9, 0xEB, 0x71, 0xAC, 0xE7, 0x6D, 0x93, 0x29, 0xD6, 0x0C, 0x83, 0xBD, 0xA3, 0xD9, 0xC4, 0x6E, - 0x51, 0x6A, 0x76, 0x53, 0xDA, 0xE0, 0x47, 0x66, 0x29, 0x8E, 0x95, 0x9A, 0xF7, 0x26, 0x7B, 0x95, - 0xE4, 0x03, 0x7F, 0xB8, 0x1E, 0x65, 0x9A, 0xAE, 0x2F, 0xC7, 0xE5, 0x30, 0x57, 0x80, 0x5B, 0x43, - 0x86, 0xD5, 0x0E, 0x80, 0x10, 0x58, 0x72, 0xBA, 0x60, 0x1E, 0xCF, 0x24, 0xB5, 0xFE, 0x3B, 0xEC, - 0x6B, 0xE3, 0x4D, 0x60, 0x59, 0x24, 0xC9, 0xB9, 0x33, 0x6B, 0xBC, 0x07, 0x3D, 0x00, 0xBB, 0x94, - 0x54, 0x3F, 0x4C, 0xE3, 0xBC, 0xE9, 0x5F, 0x8F, 0xAA, 0x0F, 0x38, 0xF4, 0x6D, 0xCE, 0xAF, 0xBF, - 0x70, 0xDB, 0x4F, 0xEB, 0xDF, 0x73, 0xFE, 0x12, 0xF7, 0xB4, 0x32, 0x84, 0xBE, 0x4B, 0xDC, 0x1C, - 0x22, 0xB9, 0xF3, 0xF0, 0x05, 0x28, 0x84, 0xE0, 0xCE, 0x7E, 0x9E, 0x2F, 0x97, 0xD6, 0xC6, 0xF9, - 0x92, 0x85, 0xC0, 0xAB, 0xB8, 0x45, 0x3A, 0x78, 0x83, 0x30, 0x80, 0x34, 0x33, 0x41, 0x4D, 0xFF, - 0xFE, 0x2A, 0xE2, 0x5D, 0xA8, 0xA6, 0x75, 0x56, 0xD8, 0xC2, 0xFA, 0xEE, 0x89, 0xCD, 0x8B, 0xB7, - 0x31, 0x88, 0x08, 0xFC, 0xC9, 0x27, 0xEC, 0x40, 0xD5, 0xF5, 0xA6, 0x2D, 0x46, 0x1F, 0x5A, 0x2D, - 0xD1, 0xE2, 0x88, 0x2B, 0xDC, 0x57, 0x1A, 0x1A, 0x5C, 0x64, 0x36, 0xB5, 0x99, 0x97, 0x30, 0x92, - 0x17, 0x58, 0x04, 0x63, 0x29, 0x79, 0xC3, 0x02, 0xD2, 0xD2, 0xC7, 0x18, 0xD1, 0x3F, 0x2D, 0x50, - 0x1E, 0x40, 0x62, 0x8A, 0x7B, 0x48, 0x66, 0x4F, 0xEA, 0x76, 0x7A, 0x2C, 0x9F, 0xEA, 0x74, 0x35, - 0xA8, 0x0C, 0xFB, 0x98, 0x20, 0xCC, 0xAA, 0xE9, 0x76, 0xA2, 0xAB, 0xE5, 0xA0, 0x50, 0x91, 0x52, - 0x02, 0x19, 0x55, 0x26, 0xCF, 0x90, 0xB1, 0x3C, 0xDB, 0x3B, 0xDF, 0x7E, 0x86, 0x49, 0xC7, 0x97, - 0x68, 0xC6, 0xDD, 0x99, 0x23, 0xE8, 0x4E, 0xE1, 0xF2, 0x04, 0x67, 0xBE, 0xA2, 0x1C, 0x7E, 0x25, - 0xAC, 0x48, 0x5E, 0x46, 0xE0, 0xE5, 0x12, 0xD6, 0xE7, 0x41, 0x26, 0xEF, 0x43, 0xEB, 0x4B, 0xB6, - 0xCA, 0xDA, 0x8A, 0xA0, 0xFC, 0x20, 0x8D, 0x67, 0xE2, 0xF1, 0x73, 0xD5, 0xD8, 0xC6, 0x25, 0xD7, - 0xB1, 0x00, 0xF6, 0x84, 0x73, 0xC2, 0xD3, 0x27, 0x85, 0x79, 0xF0, 0x9E, 0x25, 0x66, 0xB2, 0x7D, - 0x56, 0x0B, 0x43, 0x74, 0x6D, 0x1C, 0x74, 0x1D, 0x13, 0xBD, 0x1C, 0xA1, 0xB0, 0x0A, 0x2A, 0x77, - 0x1D, 0x65, 0xF2, 0x73, 0x5B, 0x3F, 0xF1, 0x32, 0x5E, 0xF3, 0x02, 0xBA, 0xA7, 0xE8, 0x6F, 0xBE, - 0x7D, 0x87, 0x8C, 0xDC, 0x44, 0xDE, 0x8A, 0x8B, 0x4A, 0xD8, 0x52, 0x74, 0x2C, 0x9F, 0xBA, 0xFA, - 0xF6, 0x23, 0x1B, 0xDA, 0x4E, 0x4F, 0x07, 0x68, 0x36, 0xDB, 0xE9, 0x3D, 0x4A, 0x12, 0x43, 0x31, - 0xE1, 0x56, 0x45, 0x08, 0xFA, 0x97, 0xD0, 0x1B, 0x1A, 0x54, 0x04, 0xC7, 0xFF, 0x1A, 0xC9, 0x59, - 0x6E, 0xB6, 0x77, 0xD0, 0x42, 0x69, 0xD7, 0xF7, 0xDD, 0x72, 0xAF, 0xD4, 0x4D, 0xAA, 0xBD, 0xDD, - 0x9D, 0xED, 0x0C, 0x0B, 0xA6, 0x9B, 0x9D, 0x42, 0x62, 0x89, 0xFB, 0x2B, 0x09, 0x0F, 0xB9, 0x03, - 0x2C, 0xC0, 0xA0, 0x3E, 0x21, 0xF3, 0x76, 0x6A, 0x3C, 0xCB, 0xD4, 0xCB, 0xB7, 0xB2, 0xD4, 0x9B, - 0x4E, 0x16, 0xD1, 0x06, 0x8E, 0x66, 0xBF, 0x57, 0x2E, 0xA9, 0xF4, 0xAF, 0x37, 0x70, 0xE6, 0x2F, - 0xF8, 0x5A, 0x48, 0x14, 0xD7, 0xF9, 0x4B, 0x7A, 0x6C, 0x47, 0x82, 0x78, 0xCC, 0xAD, 0x35, 0x22, - 0xA2, 0x31, 0x0D, 0x88, 0xA3, 0x08, 0x24, 0x36, 0xC8, 0x37, 0xEE, 0x85, 0xE4, 0xF5, 0x95, 0x8C, - 0x03, 0x08, 0xCA, 0x48, 0xD8, 0xFB, 0x7F, 0xED, 0xA1, 0x71, 0x14, 0x9D, 0xB4, 0x3B, 0x81, 0xA7, - 0x32, 0xAD, 0x98, 0x05, 0x87, 0xD3, 0xD6, 0xBC, 0xF5, 0x23, 0x06, 0x8B, 0xF2, 0xD2, 0x6A, 0x0E, - 0xA4, 0x41, 0xA7, 0xC1, 0xB6, 0x78, 0xD2, 0x6C, 0x15, 0xF4, 0x6C, 0x0B, 0xA4, 0x61, 0x3A, 0x82, - 0x63, 0xEA, 0xB4, 0xE7, 0x40, 0x72, 0xEF, 0x7C, 0x8E, 0x07, 0xDC, 0xF7, 0x64, 0x37, 0xA7, 0x38, - 0xBE, 0x19, 0xA7, 0x51, 0xD2, 0xCD, 0x3A, 0x02, 0x31, 0x2F, 0x5F, 0x33, 0x6F, 0x60, 0xE9, 0xBB, - 0x8C, 0x6B, 0x97, 0x17, 0x06, 0x1C, 0xF3, 0x9E, 0x02, 0xD3, 0xE8, 0x48, 0xB3, 0xEE, 0xCE, 0x57, - 0x21, 0x05, 0x16, 0x94, 0xF8, 0x57, 0xD2, 0xD6, 0x90, 0xB5, 0x3C, 0xAE, 0xD3, 0x7B, 0x8B, 0xE9, - 0x4C, 0x3D, 0x2D, 0x8A, 0xA2, 0xA1, 0xC7, 0xA6, 0x89, 0x06, 0x9F, 0x0C, 0xF2, 0x85, 0xC0, 0xA1, - 0x9E, 0x7D, 0xC5, 0x43, 0x9C, 0xD3, 0x21, 0x4F, 0x85, 0x1F, 0x92, 0x10, 0x9D, 0x87, 0xB1, 0x1D, - 0x98, 0x00, 0x62, 0x07, 0x8B, 0x80, 0x66, 0x0E, 0xA0, 0x1C, 0x02, 0xE9, 0xBF, 0x71, 0x1E, 0x71, - 0x7E, 0x4F, 0x1D, 0xCC, 0x5D, 0x20, 0xC0, 0x2E, 0x4D, 0x30, 0xF8, 0x66, 0x90, 0x9B, 0xBD, 0x04, - 0x7D, 0xC6, 0x21, 0x99, 0x51, 0x11, 0x3B, 0x3D, 0xDE, 0xEC, 0xE9, 0xCB, 0x4D, 0x96, 0x46, 0xD7, - 0xA7, 0xBA, 0x05, 0xE2, 0xE0, 0x8E, 0x27, 0xF8, 0xC1, 0x1B, 0x37, 0xCE, 0x3F, 0xA6, 0x74, 0x91, - 0xDB, 0x1D, 0x50, 0xFD, 0xCF, 0x0B, 0x11, 0xDB, 0xD0, 0x1A, 0xA8, 0xA0, 0x94, 0x6C, 0xD8, 0xA8, - 0xA8, 0x3E, 0x25, 0xAE, 0x37, 0xE4, 0xA7, 0x18, 0xB5, 0xB6, 0xAC, 0x57, 0x28, 0x77, 0xBA, 0xFA, - 0x43, 0xB9, 0x0D, 0xC6, 0x72, 0xA5, 0xF6, 0x0D, 0xD1, 0xA0, 0x6D, 0xEB, 0x1F, 0xDB, 0xE3, 0xE6, - 0x08, 0x98, 0xF3, 0x8E, 0xAD, 0x2B, 0x75, 0xC9, 0xE0, 0xB3, 0x96, 0xE7, 0xCE, 0x49, 0xC8, 0x13, - 0xF4, 0xFD, 0x12, 0xA3, 0xB6, 0x49, 0xC9, 0x9B, 0x51, 0x92, 0xAF, 0x5F, 0xE4, 0xD7, 0xD2, 0xF5, - 0x9F, 0xB8, 0x8E, 0xF9, 0xD5, 0xA3, 0x8B, 0x49, 0xAB, 0xFB, 0xB7, 0x19, 0x9B, 0xFB, 0xEC, 0xAA, - 0x28, 0xFC, 0x91, 0x9C, 0x8C, 0xEE, 0xD7, 0x45, 0xCC, 0xB8, 0xFF, 0x99, 0xBB, 0x86, 0x7B, 0xDD, - 0x0A, 0xD4, 0x84, 0x61, 0x68, 0x0D, 0x6C, 0x9F, 0x9D, 0x16, 0xF4, 0xF9, 0x6A, 0x14, 0x50, 0x28, - 0x78, 0x32, 0xBA, 0x88, 0x42, 0x97, 0x84, 0x4B, 0x6D, 0x22, 0x9C, 0x04, 0x5E, 0xB0, 0xED, 0x10, - 0x7A, 0x7E, 0xCD, 0x67, 0xB3, 0x56, 0x17, 0x6C, 0xC7, 0x5F, 0x4A, 0x69, 0x2F, 0x88, 0x3B, 0x72, - 0x69, 0xAD, 0xD4, 0x89, 0x75, 0xCB, 0x47, 0x46, 0x48, 0x21, 0x0C, 0xFD, 0x97, 0x64, 0x3C, 0x8C, - 0xE5, 0x62, 0x7C, 0xA2, 0x17, 0xEB, 0x23, 0x54, 0xAE, 0xEA, 0x43, 0x82, 0xC5, 0x29, 0x99, 0xBD, - 0xBF, 0xDC, 0xEC, 0xEB, 0xD8, 0x58, 0x56, 0x9A, 0xDF, 0x56, 0x2C, 0x80, 0x89, 0x5E, 0x9B, 0x52, - 0xF2, 0x80, 0xB5, 0xE7, 0xFA, 0x26, 0xBD, 0x6A, 0xFC, 0x11, 0xC1, 0xDE, 0xF9, 0xE5, 0x91, 0x0F, - 0xFF, 0x48, 0xE2, 0x44, 0xAA, 0x45, 0xC4, 0x82, 0x75, 0x2B, 0xFA, 0xED, 0x86, 0xC9, 0xAF, 0x50, - 0x55, 0x9E, 0x8F, 0x39, 0x0B, 0xE7, 0x2E, 0x4D, 0xB3, 0xF2, 0xD1, 0xF0, 0xB0, 0xE6, 0x2A, 0x73, - 0x25, 0x34, 0xC6, 0x3F, 0xDD, 0x47, 0x88, 0x6D, 0xDA, 0x47, 0xD8, 0x1B, 0x74, 0x2E, 0xF7, 0xF6, - 0x33, 0x13, 0x44, 0xC0, 0x26, 0x13, 0x77, 0xD2, 0x5B, 0xCF, 0xDF, 0xE4, 0x49, 0x61, 0x23, 0x7B, - 0x15, 0x0A, 0x81, 0x96, 0xD9, 0x92, 0x70, 0x5A, 0x6E, 0x77, 0x15, 0x38, 0x53, 0xAC, 0xE1, 0x09, - 0xD9, 0x51, 0x27, 0x12, 0x8D, 0x24, 0xF1, 0x85, 0xF5, 0x19, 0x38, 0x59, 0xCD, 0x41, 0x2C, 0x37, - 0x84, 0x57, 0x5B, 0xA5, 0x01, 0x72, 0x42, 0xD5, 0x3F, 0xD9, 0x1E, 0x58, 0x8C, 0x2A, 0x22, 0xC1, - 0xF9, 0x35, 0x45, 0x00, 0xBE, 0xAD, 0xCA, 0xBF, 0x18, 0x35, 0xC2, 0xD6, 0x07, 0x9D, 0x19, 0x8F, - 0x3E, 0xDB, 0x13, 0x63, 0x3D, 0x71, 0xCB, 0x80, 0x03, 0x69, 0x2D, 0x03, 0x0B, 0x02, 0xC9, 0xA9, - 0x16, 0x83, 0xBD, 0xC3, 0x65, 0xF6, 0xB1, 0x4C, 0x38, 0x27, 0xA6, 0xB4, 0x67, 0x08, 0x5C, 0x31, - 0x4A, 0x40, 0x8A, 0xCE, 0xFF, 0x39, 0x63, 0x9D, 0x9A, 0xE8, 0x4C, 0x15, 0x06, 0x1E, 0xC5, 0xB0, - 0x30, 0x9A, 0x78, 0x95, 0xB7, 0x83, 0xEF, 0x5B, 0x35, 0x84, 0x6E, 0xE3, 0x16, 0x30, 0x8A, 0x53, - 0x2E, 0x81, 0x36, 0xD8, 0xB1, 0x27, 0x78, 0xD0, 0x09, 0x34, 0x5D, 0xB8, 0xAB, 0xA8, 0x34, 0x3E, - 0x82, 0x2A, 0xFC, 0xE1, 0x54, 0x0E, 0xE5, 0xCA, 0x6B, 0x66, 0xE1, 0xA3, 0x71, 0x5A, 0x4E, 0x65, - 0x88, 0x5A, 0x47, 0xBC, 0xF7, 0xDD, 0x60, 0xB9, 0x8F, 0x42, 0xE2, 0xAB, 0x12, 0xC7, 0xEF, 0xFF, - 0x0C, 0xA9, 0x23, 0x25, 0xDC, 0x8D, 0xAE, 0xAD, 0x53, 0x7D, 0xE3, 0x28, 0xF7, 0xF1, 0x79, 0x32, - 0x7F, 0x8A, 0x56, 0x76, 0xA4, 0x05, 0x50, 0x2D, 0x65, 0x90, 0xA0, 0xC8, 0xBE, 0xF2, 0xC2, 0x4E, - 0xC3, 0x7B, 0xB9, 0xF4, 0x9F, 0x68, 0x68, 0x33, 0x6A, 0xDC, 0x24, 0xE8, 0x52, 0x2F, 0x3D, 0x36, - 0x96, 0x41, 0x09, 0xF1, 0xFE, 0xF3, 0x45, 0x5D, 0xF8, 0xBA, 0xF0, 0x0E, 0x4E, 0x9E, 0xA2, 0xF3, - 0xD7, 0x10, 0x4C, 0xE4, 0x6D, 0x12, 0xB2, 0x68, 0x76, 0x7E, 0x73, 0xD1, 0x8D, 0xA9, 0xFE, 0xFE, - 0x6F, 0xD0, 0x73, 0xCD, 0xDF, 0x36, 0xE7, 0xD1, 0xA9, 0x14, 0xFB, 0x6E, 0x61, 0x74, 0x01, 0x86, - 0x1B, 0x4B, 0xEA, 0x60, 0x1A, 0x10, 0xFE, 0x87, 0xBC, 0xBE, 0x55, 0xD0, 0x8E, 0xA1, 0x1A, 0xDA, - 0xCA, 0x82, 0x3E, 0xFC, 0x7D, 0x2F, 0x44, 0x62, 0xF0, 0x08, 0xCC, 0xC2, 0xD5, 0x07, 0xD6, 0x5E, - 0x77, 0xB6, 0x9A, 0xC4, 0x18, 0x61, 0x91, 0x3B, 0xE8, 0x01, 0xAA, 0x2B, 0x87, 0x4A, 0x73, 0x6F, - 0x86, 0x1B, 0x2C, 0x4A, 0xDA, 0x29, 0x39, 0x26, 0x52, 0xC7, 0x26, 0x63, 0x72, 0x52, 0xAA, 0x41, - 0x4B, 0x85, 0xC1, 0x74, 0x4B, 0xB9, 0xA1, 0xAF, 0x5D, 0x8B, 0xA2, 0x43, 0x08, 0x0A, 0x2D, 0x8D, - 0x1F, 0x7A, 0x3A, 0xCB, 0x95, 0xFD, 0x04, 0xAB, 0x06, 0x78, 0xD9, 0x98, 0xEC, 0xBF, 0x67, 0x7F, - 0xB4, 0x69, 0x1C, 0x0C, 0x11, 0x4F, 0xB4, 0xDF, 0xE6, 0xF7, 0xEB, 0x40, 0x54, 0x53, 0x60, 0x81, - 0x59, 0x93, 0x93, 0x20, 0x79, 0xFA, 0xBC, 0x55, 0x93, 0xE0, 0xB5, 0x92, 0xE0, 0x20, 0xB7, 0x59, - 0xE2, 0xDA, 0x90, 0x5C, 0xB2, 0x9C, 0x31, 0xAC, 0x37, 0x6B, 0x22, 0x94, 0xEA, 0xC3, 0x3A, 0xC8, - 0xB2, 0x14, 0xBB, 0x48, 0xF6, 0x17, 0x46, 0x79, 0xD5, 0x0B, 0x5C, 0x3B, 0xF5, 0x7A, 0x41, 0x29, - 0xAC, 0x0F, 0xF5, 0x05, 0x3F, 0x00, 0xA4, 0x3C, 0xBB, 0x40, 0xED, 0x3C, 0xC3, 0x55, 0xC4, 0x0A, - 0x40, 0x30, 0x31, 0x93, 0x35, 0x95, 0xC8, 0xA4, 0xB0, 0xA7, 0x58, 0xCC, 0xDD, 0x6F, 0x63, 0xD4, - 0x6C, 0x59, 0x4F, 0x98, 0x70, 0xD4, 0x99, 0xB1, 0x5A, 0x75, 0x1A, 0xAF, 0xEE, 0x34, 0x5F, 0x64, - 0xDC, 0xA5, 0xBC, 0x03, 0xCA, 0x14, 0xCF, 0x2C, 0xF1, 0xB2, 0x09, 0x89, 0x18, 0x24, 0x62, 0x6E, - 0xB6, 0x25, 0x6B, 0xE3, 0x46, 0x42, 0x7C, 0x7C, 0x1D, 0x24, 0x36, 0x4D, 0x29, 0xF4, 0x66, 0xC5, - 0xA4, 0x33, 0x39, 0xB7, 0xEF, 0x04, 0x95, 0x97, 0xB8, 0x15, 0x64, 0x00, 0x76, 0xA5, 0xCF, 0xED, - 0x5E, 0x2B, 0x7F, 0xDE, 0xC4, 0x54, 0x5B, 0x83, 0x81, 0xB4, 0xA3, 0xC0, 0x0D, 0x7E, 0x94, 0x1E, - 0x32, 0xD6, 0x0F, 0x7A, 0x6A, 0x7C, 0x03, 0x23, 0xEA, 0xEE, 0xE6, 0x5C, 0x79, 0x32, 0xFB, 0xEF, - 0x44, 0x01, 0xE1, 0x38, 0x67, 0x87, 0xDE, 0xF0, 0xA6, 0x58, 0x7F, 0x4E, 0x20, 0x1F, 0x0F, 0x70, - 0x64, 0x65, 0x83, 0x2A, 0xD3, 0x07, 0x1C, 0xC2, 0x70, 0x3A, 0x0E, 0x76, 0x8F, 0x22, 0xC6, 0xE5, - 0xD3, 0xCC, 0x6A, 0xAF, 0xD4, 0x4B, 0xA1, 0x12, 0x58, 0xAD, 0xD7, 0x52, 0xDE, 0x4A, 0xB1, 0xCB, - 0x2A, 0xCF, 0x4F, 0x3F, 0x7B, 0xBD, 0xCD, 0x30, 0xFF, 0xD0, 0x93, 0x54, 0x9F, 0x19, 0xA6, 0x8C, - 0xF1, 0x3C, 0x14, 0x44, 0x8C, 0xAC, 0x07, 0xE0, 0x1B, 0x6B, 0x49, 0xB7, 0xED, 0xDB, 0x6B, 0x96, - 0x5C, 0xE0, 0x87, 0x55, 0x77, 0xA1, 0xD4, 0x3D, 0x27, 0xE2, 0x1C, 0xB4, 0xFE, 0xEA, 0x67, 0x6D, - 0x72, 0x03, 0xC8, 0x45, 0x04, 0xD4, 0x87, 0x1E, 0xAD, 0xC6, 0xC7, 0x46, 0x4E, 0xD6, 0x3C, 0x5E, - 0x09, 0xFF, 0xFB, 0xF2, 0x23, 0x5A, 0x6B, 0xC2, 0x9D, 0xB4, 0x81, 0x74, 0xD2, 0x07, 0xE8, 0x97, - 0x36, 0xD6, 0x43, 0x32, 0x0A, 0xBF, 0x71, 0x5F, 0x17, 0x90, 0x5A, 0x86, 0x76, 0x6B, 0x98, 0x6A, - 0x94, 0x65, 0x5A, 0x91, 0x41, 0x41, 0x39, 0x7E, 0x2C, 0xA8, 0x44, 0xEB, 0x06, 0x9D, 0xC2, 0x7F, - 0x65, 0x42, 0x9B, 0x02, 0x18, 0xED, 0x25, 0x49, 0x28, 0x50, 0x73, 0x3E, 0x4B, 0x83, 0x8C, 0x64, - 0xDD, 0x63, 0x2A, 0x3B, 0x02, 0x73, 0xC3, 0x63, 0xC9, 0x35, 0x5E, 0xC2, 0x19, 0xE1, 0x97, 0xD8, - 0xA3, 0x68, 0x06, 0x52, 0xB1, 0xBC, 0x0D, 0x16, 0xAB, 0x51, 0x4C, 0xE2, 0x95, 0x24, 0xB6, 0x7A, - 0x23, 0x2B, 0x61, 0x1A, 0x26, 0xC1, 0x7A, 0x36, 0xB4, 0x15, 0x29, 0x55, 0x99, 0x69, 0xEF, 0x26, - 0x9A, 0xCA, 0x1A, 0x05, 0x12, 0x56, 0x78, 0x39, 0x6A, 0xB0, 0x2D, 0x11, 0x0B, 0xC1, 0xF5, 0xBC, - 0xF4, 0xCB, 0x0B, 0x9A, 0xBE, 0x9C, 0x41, 0x92, 0x3F, 0x17, 0x32, 0x6D, 0x28, 0x44, 0xDA, 0x8A, - 0xD1, 0x70, 0x1B, 0xC0, 0x29, 0xE1, 0x36, 0xB2, 0x37, 0x14, 0x16, 0x89, 0xDD, 0x6F, 0x48, 0x5B, - 0x6D, 0x66, 0x7F, 0x01, 0x70, 0x4D, 0x2A, 0x85, 0x1F, 0x93, 0x7E, 0x62, 0xC8, 0x2E, 0x0D, 0x0A, - 0xBA, 0x86, 0x15, 0x81, 0x51, 0x64, 0x82, 0x24, 0xD6, 0x71, 0x3B, 0x75, 0x4A, 0x92, 0xE2, 0xFB, - 0xB8, 0x3A, 0x64, 0xEE, 0x53, 0x13, 0x6D, 0x68, 0x46, 0xCF, 0x72, 0x2F, 0x84, 0x21, 0x2D, 0x8E, - 0xD7, 0xFB, 0xBF, 0x57, 0x65, 0xF3, 0x80, 0x2B, 0xD8, 0xE5, 0x94, 0x35, 0x52, 0x8F, 0x90, 0x69, - 0xE4, 0xC1, 0x36, 0x6C, 0x5B, 0xDF, 0xDF, 0x54, 0x8F, 0x2D, 0x37, 0x38, 0xBA, 0xEC, 0xC0, 0x10, - 0x3E, 0xF2, 0xA7, 0x31, 0x27, 0x8A, 0xC0, 0xF3, 0x80, 0x9F, 0x58, 0xB2, 0x9B, 0x5D, 0x78, 0x29, - 0xC3, 0xC6, 0x57, 0x59, 0x9A, 0x2E, 0xF8, 0xC7, 0xBE, 0x79, 0xB1, 0xC0, 0x4F, 0xC7, 0x52, 0xC1, - 0xC7, 0xF1, 0x82, 0xA1, 0xF6, 0x5E, 0x5C, 0x3A, 0xEE, 0x00, 0x59, 0xA3, 0x96, 0x01, 0x4F, 0xEA, - 0x53, 0x8F, 0x0D, 0xE7, 0xF1, 0xB2, 0xA2, 0x82, 0xF7, 0xD3, 0xB7, 0xB0, 0xBC, 0x9C, 0x89, 0xBA, - 0x62, 0x09, 0xF5, 0xB3, 0xE8, 0x10, 0x11, 0x21, 0x61, 0xFA, 0x75, 0x4E, 0x05, 0xB8, 0x3B, 0xEF, - 0x63, 0xC9, 0x3F, 0x95, 0xE6, 0x7B, 0xE7, 0x60, 0x1D, 0xFC, 0xC2, 0x13, 0x55, 0xEE, 0xB7, 0x5C, - 0x39, 0xB9, 0xC9, 0x80, 0x03, 0x38, 0x79, 0xA6, 0x29, 0x76, 0xB3, 0xF4, 0x50, 0xBB, 0x07, 0x66, - 0xEC, 0xE5, 0xD2, 0x6F, 0xD3, 0xA7, 0x5F, 0xAA, 0x7F, 0x98, 0xD0, 0x33, 0x6F, 0x67, 0x84, 0x67, - 0x21, 0x97, 0x10, 0x75, 0x3D, 0x14, 0x26, 0xD9, 0xFC, 0x99, 0xEF, 0xEF, 0xBD, 0x8D, 0xE7, 0x25, - 0xCA, 0x22, 0x79, 0x7C, 0xE0, 0xDC, 0xA3, 0x1D, 0xB5, 0x33, 0xE9, 0x9F, 0x9D, 0x2D, 0x31, 0x83, - 0x02, 0xA7, 0xA4, 0xB8, 0x2B, 0x96, 0xD9, 0xFE, 0xBB, 0xA7, 0x46, 0xDF, 0x8A, 0x58, 0xE3, 0xDD, - 0xDE, 0x1F, 0x91, 0x72, 0xE9, 0x5B, 0xAB, 0xE4, 0x7E, 0xBE, 0x10, 0xF9, 0x02, 0xD9, 0x1C, 0xDA, - 0x91, 0x92, 0x45, 0x4F, 0x25, 0xFD, 0x2F, 0xBF, 0x7D, 0xF7, 0x6C, 0x42, 0x69, 0x17, 0xCD, 0xCD, - 0x99, 0xB6, 0xA1, 0x4C, 0x84, 0x60, 0xB5, 0xDC, 0xC6, 0x87, 0x31, 0x48, 0x1A, 0xC4, 0x6E, 0x48, - 0xF2, 0x40, 0xAF, 0x0D, 0x08, 0xC8, 0x9E, 0x13, 0x6C, 0x27, 0xA6, 0xB5, 0xFD, 0xCF, 0x9E, 0xFD, - 0x12, 0xAD, 0x99, 0x4E, 0xB3, 0xCB, 0xE2, 0x5A, 0x19, 0x04, 0xF5, 0xC6, 0x7D, 0x47, 0xE6, 0x03, - 0x2F, 0x38, 0x50, 0xE1, 0x0F, 0x24, 0x60, 0xAB, 0xB0, 0xED, 0x1E, 0x80, 0x4D, 0xF3, 0xC5, 0xCE, - 0x8E, 0xF7, 0xF2, 0x0B, 0x96, 0x32, 0xE1, 0xCA, 0x87, 0x2E, 0x13, 0xDC, 0x9C, 0x3C, 0x5F, 0x1C, - 0x82, 0xE4, 0xC3, 0xF0, 0xFE, 0x92, 0xEE, 0x06, 0x0C, 0x2C, 0x08, 0xE4, 0x00, 0xED, 0x8B, 0xD5, - 0xD9, 0x54, 0xFF, 0xC3, 0x40, 0x0A, 0x83, 0xBB, 0x42, 0x37, 0x45, 0xFA, 0x8B, 0x49, 0x8D, 0x42, - 0xF8, 0xD8, 0x3A, 0x61, 0x1C, 0x3D, 0x8E, 0x78, 0x04, 0x2F, 0x2C, 0x00, 0xB2, 0xE5, 0x47, 0xE9, - 0xEA, 0x6E, 0x76, 0xF8, 0xD0, 0x9B, 0x0A, 0x23, 0xD0, 0xE6, 0xB0, 0xD1, 0x57, 0xDA, 0x20, 0x53, - 0x59, 0x17, 0x98, 0x8B, 0x60, 0x68, 0x91, 0xDF, 0x16, 0xB6, 0x9A, 0x4C, 0xF6, 0xE3, 0xE0, 0x94, - 0x11, 0xD1, 0x22, 0x07, 0xB9, 0x70, 0xBF, 0x2A, 0xA0, 0x1B, 0x14, 0xBD, 0xEB, 0xAB, 0x22, 0x3C, - 0x34, 0x6A, 0x32, 0x5D, 0x68, 0xA4, 0x23, 0xE3, 0x33, 0xEC, 0x21, 0x5C, 0x8D, 0x39, 0xC4, 0xE8, - 0xD2, 0x0C, 0xA0, 0x89, 0xF7, 0x15, 0xE6, 0xFF, 0x83, 0xD6, 0x24, 0x09, 0xE3, 0xA2, 0xA5, 0xC5, - 0x54, 0xC4, 0x63, 0x56, 0xCB, 0x4E, 0x56, 0xCC, 0x49, 0x7D, 0x1D, 0xA5, 0x01, 0xFC, 0xE5, 0x4A, - 0xEB, 0xAE, 0xBC, 0xDE, 0x34, 0x93, 0x2E, 0x20, 0x76, 0xBD, 0x34, 0x1D, 0xB8, 0xD8, 0x57, 0x1F, - 0x01, 0xDB, 0x1F, 0xF1, 0x8B, 0x40, 0xF9, 0x58, 0x81, 0xB9, 0x98, 0x78, 0xA9, 0xDD, 0xCC, 0xEB, - 0xAE, 0xBB, 0xFD, 0x8F, 0xF0, 0xF9, 0x18, 0x47, 0xAA, 0x77, 0x8C, 0x28, 0x7C, 0x56, 0x88, 0x9C, - 0xF6, 0x77, 0x7A, 0xF5, 0xA9, 0x55, 0x04, 0x70, 0x0B, 0x9D, 0x43, 0x8A, 0x74, 0x5F, 0x0F, 0x65, - 0x06, 0x90, 0x71, 0x40, 0x0E, 0x6F, 0xDA, 0x6E, 0xCF, 0xA2, 0xD5, 0x66, 0xEC, 0xCA, 0x05, 0x09, - 0xA2, 0xA8, 0xCC, 0x74, 0xAD, 0x85, 0xAF, 0x41, 0x00, 0xD7, 0x1B, 0xD5, 0x7B, 0x37, 0xAF, 0xA9, - 0x79, 0x5B, 0x97, 0x0F, 0xE7, 0x30, 0x5D, 0xA5, 0xFB, 0x28, 0xA4, 0x81, 0x7F, 0x73, 0x71, 0x0C, - 0xA8, 0x30, 0x59, 0x18, 0x7D, 0x1A, 0x89, 0x4D, 0xA9, 0x3E, 0xF0, 0x93, 0x85, 0x30, 0x43, 0x11, - 0x7A, 0x27, 0x2C, 0x46, 0xAA, 0x69, 0x51, 0xF9, 0x26, 0xC4, 0xDC, 0x7E, 0x0F, 0x85, 0x2B, 0x19, - 0x66, 0x3E, 0x20, 0x4B, 0x31, 0x08, 0x3F, 0xD4, 0x35, 0x7B, 0xAA, 0xF8, 0xF3, 0xB6, 0x50, 0xAE, - 0xFA, 0x64, 0x4B, 0x0E, 0x5E, 0x44, 0xCE, 0xA0, 0x45, 0x86, 0x0E, 0x94, 0x53, 0x9E, 0xFE, 0xF6, - 0x4C, 0xEA, 0xBA, 0xA3, 0x0C, 0x18, 0x35, 0x22, 0xB9, 0xC8, 0xFA, 0xAE, 0x12, 0xCD, 0xE9, 0xB1, - 0x74, 0x88, 0x6C, 0xD2, 0xC5, 0x25, 0xA0, 0x8D, 0xDB, 0xAC, 0xE8, 0x8E, 0x20, 0x4D, 0x5D, 0x73, - 0xB3, 0x62, 0x3B, 0xA4, 0xA8, 0x1E, 0xBE, 0xB5, 0x86, 0x08, 0xD3, 0x16, 0xFC, 0xDE, 0xF0, 0x62, - 0x95, 0xA5, 0x90, 0xB7, 0x95, 0x0E, 0xB4, 0x43, 0x75, 0xF4, 0x48, 0xA6, 0x61, 0x1E, 0x4A, 0x34, - 0x3A, 0xC5, 0x72, 0xC9, 0x05, 0x9F, 0x3D, 0xDB, 0x03, 0x9E, 0x67, 0x6E, 0x47, 0xCE, 0xD5, 0x38, - 0x77, 0xF4, 0xD7, 0x9B, 0xAC, 0xCE, 0x15, 0x84, 0x51, 0x88, 0x33, 0x7C, 0xAC, 0x88, 0x7C, 0xD1, - 0x4C, 0x96, 0x08, 0x76, 0x22, 0x95, 0xD9, 0x62, 0x47, 0x3C, 0xCE, 0x57, 0x46, 0xD6, 0xB8, 0x3B, - 0xAC, 0x7B, 0x3E, 0x35, 0x99, 0x96, 0xA5, 0x2B, 0x32, 0x1F, 0x9D, 0x24, 0xC6, 0x5E, 0xC0, 0xC5, - 0xC7, 0x8D, 0x30, 0x74, 0x15, 0x3E, 0x8E, 0xE4, 0x98, 0xBF, 0x0A, 0xD9, 0x21, 0x55, 0x30, 0x70, - 0xCF, 0xA9, 0xD4, 0x77, 0xB4, 0xA3, 0x14, 0x87, 0x23, 0xCF, 0x57, 0xD3, 0x52, 0x86, 0x93, 0xF5, - 0x87, 0x6F, 0x6E, 0xFB, 0xD1, 0x54, 0xB8, 0x83, 0x1C, 0x0F, 0x7E, 0x6B, 0xB0, 0xD8, 0xD3, 0x7A, - 0xDC, 0xDF, 0x52, 0xC8, 0x6F, 0xCC, 0xD5, 0x3E, 0x52, 0x14, 0x33, 0x75, 0x3B, 0x7C, 0xD5, 0xED, - 0xD0, 0xCC, 0x63, 0x33, 0x07, 0x6C, 0xDA, 0xF2, 0xD9, 0x16, 0x28, 0x4D, 0xA7, 0xAD, 0x01, 0x24, - 0x71, 0x03, 0xC1, 0xD9, 0x9E, 0x7A, 0x5B, 0x93, 0xEE, 0xD5, 0x25, 0x11, 0x76, 0x62, 0x9B, 0xF6, - 0x4F, 0xEA, 0xB3, 0x3F, 0x28, 0x2E, 0x84, 0x12, 0xFE, 0x23, 0x2F, 0x2C, 0xD0, 0x3A, 0x7C, 0x04, - 0x07, 0x2C, 0x09, 0xB3, 0xF1, 0x36, 0xAA, 0xE7, 0x48, 0x8E, 0xA1, 0xDD, 0xCD, 0x72, 0xBE, 0xAC, - 0xB4, 0x55, 0xE7, 0xC0, 0x41, 0xC5, 0x31, 0x1B, 0x8E, 0xDE, 0x8B, 0x40, 0x6C, 0x4B, 0x7E, 0x6B, - 0xA6, 0xE3, 0xAB, 0x59, 0x8D, 0x63, 0xB5, 0x40, 0x5A, 0x17, 0x17, 0x91, 0x89, 0x74, 0x19, 0xD1, - 0xB5, 0x95, 0x2D, 0xE6, 0xA5, 0xCD, 0x15, 0x18, 0x28, 0x85, 0x0F, 0x8C, 0x83, 0x49, 0x09, 0x27, - 0x0A, 0xFF, 0xF2, 0x6E, 0x5A, 0x10, 0x6D, 0xF4, 0x17, 0x45, 0x26, 0x34, 0x3A, 0x6D, 0xBB, 0x72, - 0x8C, 0x37, 0x31, 0xB1, 0x66, 0x4B, 0xDD, 0xC7, 0xDD, 0xEE, 0x1F, 0x98, 0xD8, 0x33, 0xFB, 0xFD, - 0x6A, 0x51, 0xA3, 0x65, 0xF9, 0xFA, 0x18, 0xDB, 0x6D, 0xD4, 0x1A, 0xCD, 0xB6, 0xA8, 0x9A, 0xD0, - 0x58, 0xAB, 0xE0, 0x78, 0x9F, 0x31, 0xE1, 0x56, 0x91, 0x9A, 0xEE, 0xF7, 0xD7, 0x5B, 0x5B, 0x31, - 0xA8, 0x4C, 0xEB, 0xCD, 0x38, 0x0B, 0x3F, 0x48, 0x55, 0xA5, 0x78, 0x1B, 0x4F, 0xCE, 0x51, 0x5D, - 0xF0, 0x80, 0x6C, 0xB7, 0x61, 0xA7, 0x23, 0x7F, 0xF4, 0x4F, 0xB7, 0xB9, 0x47, 0xC7, 0xD6, 0xA4, - 0x5F, 0xE0, 0x8E, 0xC9, 0x1A, 0x1E, 0xC2, 0x60, 0xDF, 0x81, 0xA3, 0xE9, 0x92, 0x4C, 0x92, 0xD3, - 0x24, 0x1C, 0xBD, 0x7E, 0x3B, 0x37, 0x6A, 0xC1, 0x78, 0xFC, 0xE7, 0xEF, 0x34, 0x14, 0x75, 0x21, - 0xF6, 0x0B, 0xC8, 0x20, 0xEC, 0x44, 0xB2, 0x75, 0xF7, 0x06, 0xCB, 0x02, 0xBE, 0xA1, 0x1D, 0x29, - 0x27, 0x60, 0x06, 0x37, 0x76, 0x6E, 0x66, 0x9D, 0xA5, 0x10, 0x9F, 0x10, 0x44, 0xE2, 0x2F, 0x34, - 0xFC, 0x93, 0x5D, 0x4C, 0x3C, 0xDB, 0x94, 0x79, 0x5E, 0xEF, 0x20, 0x44, 0x40, 0xA6, 0xF1, 0x91, - 0x2A, 0xB3, 0xFD, 0xEA, 0x54, 0x7B, 0x9B, 0xB5, 0x85, 0x94, 0xD3, 0x1F, 0x1B, 0xDC, 0x03, 0x4B, - 0x12, 0xD1, 0x2B, 0x9B, 0x9D, 0x46, 0x0E, 0x1A, 0xE7, 0xF0, 0xC1, 0x3F, 0x29, 0x5C, 0xB7, 0x89, - 0xA4, 0x5F, 0xDA, 0x36, 0xCF, 0x1A, 0xF5, 0x98, 0x1B, 0xBE, 0x35, 0x05, 0x68, 0x0F, 0xA0, 0xCE, - 0x38, 0x05, 0xB1, 0x73, 0xA0, 0x56, 0x04, 0xEC, 0x6B, 0x43, 0x91, 0x69, 0xC8, 0x27, 0x0E, 0x96, - 0x29, 0xCF, 0x46, 0xA3, 0x3D, 0x90, 0x2E, 0xBC, 0x0F, 0xB0, 0x08, 0xED, 0x97, 0x19, 0x22, 0xE9, - 0x64, 0xFE, 0xE3, 0xF1, 0x94, 0xC1, 0x06, 0xE3, 0x5D, 0xA6, 0x5C, 0xFF, 0x7C, 0x5F, 0x8B, 0x00, - 0xCB, 0x9E, 0x01, 0x8F, 0x04, 0x50, 0x8F, 0x7B, 0x2B, 0xCC, 0x73, 0x37, 0x5A, 0x8F, 0x14, 0x0C, - 0xED, 0x59, 0xAA, 0x9C, 0x39, 0x40, 0x85, 0x8D, 0xD8, 0x30, 0xE8, 0x87, 0xC7, 0x4F, 0xAE, 0x5A, - 0x02, 0xDB, 0x16, 0x6D, 0xE6, 0xFF, 0xEF, 0x05, 0x79, 0xDA, 0x27, 0x25, 0xC5, 0x7B, 0x39, 0x55, - 0xAF, 0x07, 0x85, 0x7C, 0x1D, 0xF2, 0x3C, 0xD8, 0x45, 0x53, 0x72, 0x26, 0xD6, 0x4A, 0x35, 0xAE, - 0x74, 0xF4, 0xDE, 0x07, 0xEA, 0xE3, 0xF6, 0x08, 0xA1, 0xE8, 0xA8, 0xC5, 0xA4, 0x88, 0xF8, 0xB4, - 0x8D, 0xF7, 0xFB, 0x97, 0x45, 0x15, 0x9A, 0x2A, 0x06, 0x95, 0xEC, 0xC3, 0xE5, 0xDB, 0xEF, 0xF3, - 0xCA, 0x5E, 0xCB, 0xA9, 0xD0, 0x1F, 0x02, 0x46, 0x72, 0x90, 0x7F, 0x7A, 0x3D, 0x0C, 0x9C, 0x47, - 0x68, 0xED, 0xD2, 0x0A, 0x9B, 0xE1, 0x4A, 0x67, 0x49, 0xA8, 0x61, 0x17, 0x4D, 0xFA, 0xC6, 0x52, - 0x57, 0xC4, 0x6A, 0xCA, 0xB2, 0x04, 0x50, 0xFA, 0xC3, 0x8C, 0xBA, 0xE5, 0xE9, 0x96, 0xB6, 0xAF, - 0x2C, 0x38, 0x59, 0x7D, 0x95, 0x8A, 0xBC, 0x26, 0xF3, 0xFE, 0xFC, 0xD7, 0x75, 0x47, 0x62, 0x66, - 0x7D, 0x10, 0xF0, 0x22, 0xB7, 0x9F, 0x41, 0x0E, 0xEA, 0x2D, 0x12, 0xC4, 0xA2, 0xF8, 0xB1, 0x1E, - 0xFD, 0x53, 0x97, 0x6A, 0x20, 0xE2, 0x36, 0x2E, 0xF5, 0x69, 0x77, 0x73, 0xAE, 0xB5, 0xE8, 0x42, - 0x83, 0x58, 0xBB, 0x03, 0x93, 0x2D, 0xF8, 0x5B, 0x97, 0x0D, 0x65, 0x53, 0x22, 0x70, 0xC9, 0xE0, - 0x3B, 0x79, 0x0A, 0x3A, 0x89, 0xB3, 0x1E, 0x71, 0x76, 0x68, 0x48, 0xAF, 0x70, 0x12, 0xD2, 0x5C, - 0x33, 0x5D, 0xEE, 0x39, 0xE1, 0x13, 0x11, 0xBD, 0x41, 0xAB, 0x45, 0xF3, 0xF3, 0xBF, 0x53, 0x32, - 0x8F, 0x4B, 0x8A, 0xF8, 0xB8, 0xBF, 0x0D, 0x8A, 0x69, 0x2C, 0x2D, 0x18, 0xE6, 0xFE, 0x16, 0x63, - 0xAA, 0xF0, 0x9A, 0xA2, 0x2F, 0xC2, 0x7A, 0xAA, 0x61, 0x2F, 0x09, 0xFC, 0x13, 0xD5, 0x84, 0xB2, - 0xC4, 0xF1, 0x8B, 0x3D, 0x83, 0x08, 0x43, 0x01, 0x34, 0x88, 0x16, 0x80, 0x30, 0x50, 0xAB, 0x84, - 0xBA, 0xFA, 0xA7, 0x54, 0xCA, 0x81, 0xE4, 0x6C, 0xD1, 0x15, 0x0C, 0xA9, 0x81, 0x7D, 0x9E, 0x28, - 0x89, 0xC0, 0x2E, 0x6F, 0xF4, 0xAD, 0xBB, 0x13, 0x86, 0xDD, 0xAF, 0xA4, 0x69, 0x1E, 0xCE, 0x51, - 0xE6, 0x01, 0xF5, 0xD6, 0xC2, 0x4D, 0x56, 0x50, 0x18, 0xF7, 0x49, 0xBE, 0xBF, 0xB0, 0x73, 0xB6, - 0xE4, 0xBD, 0x84, 0xB9, 0xC0, 0x3A, 0xB9, 0x1C, 0x88, 0x49, 0x00, 0xE4, 0x71, 0x03, 0xBC, 0xC3, - 0x0D, 0xB4, 0x9C, 0xDF, 0x60, 0xEC, 0x99, 0xBA, 0xA9, 0xEB, 0x8C, 0x21, 0x87, 0x0D, 0xD7, 0x82, - 0x99, 0xCA, 0x13, 0x99, 0x67, 0x00, 0x67, 0x02, 0xB0, 0x38, 0x62, 0x32, 0xAD, 0x90, 0x11, 0xD2, - 0x9D, 0xFD, 0xC6, 0x61, 0x0B, 0x70, 0xC3, 0xFF, 0xE0, 0x41, 0x8A, 0x51, 0x74, 0x56, 0x0C, 0xF9, - 0x60, 0xC9, 0x36, 0x09, 0xB6, 0xD4, 0xFB, 0xCB, 0xDE, 0xA7, 0x63, 0x23, 0xA0, 0xCC, 0x26, 0x11, - 0xB2, 0xDE, 0x43, 0x57, 0x42, 0xF9, 0x64, 0x92, 0x21, 0xA0, 0xEB, 0xA2, 0x54, 0xF6, 0xDA, 0x5F, - 0x67, 0x82, 0x58, 0xB8, 0x92, 0x66, 0x42, 0x9E, 0x77, 0x4E, 0x88, 0x65, 0x6B, 0x2A, 0x59, 0x5E, - 0x3D, 0xF2, 0xAE, 0xAD, 0x77, 0x25, 0xDC, 0x58, 0x43, 0xC4, 0xF9, 0x82, 0x6E, 0x7F, 0xE9, 0x64, - 0x3C, 0x32, 0x64, 0x8B, 0x79, 0x4E, 0x2A, 0x19, 0x3F, 0xC2, 0x4E, 0xDF, 0x3E, 0x29, 0x65, 0xD7, - 0x80, 0x24, 0x00, 0x4A, 0x78, 0x05, 0x90, 0xDC, 0x20, 0x86, 0x2B, 0x68, 0x39, 0x48, 0x42, 0xE2, - 0x5C, 0x9C, 0x35, 0x80, 0xBA, 0xC8, 0xE2, 0xC6, 0xE5, 0x9F, 0x7D, 0x4E, 0xB1, 0xC9, 0xBD, 0xE5, - 0x94, 0x19, 0xE8, 0x44, 0x71, 0x82, 0x98, 0x25, 0xEB, 0x0B, 0xD2, 0x0E, 0xA6, 0xBC, 0x6F, 0xBB, - 0x7F, 0xAC, 0x81, 0x4D, 0xAC, 0x4A, 0x1D, 0xE1, 0xA2, 0xA1, 0xD4, 0x7E, 0x86, 0x1C, 0xB9, 0x1D, - 0x5A, 0xB4, 0x2B, 0x23, 0xB3, 0xD3, 0x24, 0xB2, 0x93, 0xCB, 0x66, 0x6B, 0xAA, 0x30, 0x17, 0x6D, - 0xC6, 0x65, 0xE2, 0xF7, 0xC1, 0x95, 0x16, 0x82, 0x7F, 0x45, 0x41, 0xB7, 0x99, 0x87, 0xEB, 0x16, - 0x62, 0x09, 0x1F, 0x87, 0xE5, 0x4E, 0xE4, 0x08, 0x65, 0xA0, 0x68, 0x2A, 0x21, 0x47, 0xC2, 0x29, - 0x12, 0xFF, 0x0A, 0xDD, 0xDD, 0x50, 0x89, 0x33, 0x2D, 0x5E, 0x23, 0x0B, 0x38, 0xE4, 0x71, 0x8B, - 0xCA, 0x28, 0xBE, 0xAE, 0xD8, 0xC3, 0x30, 0x47, 0xB5, 0x54, 0xB6, 0x67, 0x08, 0xDA, 0xD8, 0xCC, - 0x8B, 0x7B, 0xF9, 0xB9, 0xA5, 0x87, 0x36, 0xE0, 0xD9, 0xA2, 0x19, 0x45, 0x2D, 0x4A, 0xDB, 0x35, - 0xF9, 0xB9, 0xE3, 0x74, 0x1E, 0x5D, 0xD5, 0x04, 0x13, 0xB3, 0xEE, 0x95, 0x76, 0x31, 0x28, 0xEE, - 0xEA, 0x88, 0x18, 0x78, 0x97, 0x08, 0xD6, 0x38, 0xC0, 0xBE, 0x15, 0x48, 0xE5, 0x20, 0xF4, 0x43, - 0x1F, 0xA3, 0xC9, 0xEA, 0xC5, 0x39, 0x73, 0x75, 0x6C, 0x49, 0x70, 0x4C, 0x78, 0x70, 0xDE, 0x85, - 0x3C, 0x26, 0xFF, 0xC5, 0x62, 0x26, 0x0F, 0x20, 0x55, 0x83, 0xDC, 0xE7, 0x69, 0xEF, 0xDF, 0xEB, - 0xC9, 0x0D, 0x2E, 0x57, 0x61, 0x02, 0xEB, 0x28, 0x22, 0xFE, 0x4B, 0xC7, 0x79, 0xB5, 0x64, 0xCE, - 0xDC, 0x4C, 0x7F, 0x12, 0xE6, 0x6A, 0x00, 0x00, 0x3E, 0x52, 0x12, 0xF0, 0x1D, 0x74, 0x72, 0x72, - 0x5F, 0xE1, 0x11, 0x93, 0x25, 0x67, 0x5C, 0x37, 0x31, 0xF2, 0x7A, 0x3C, 0xF9, 0x77, 0x56, 0x7A, - 0x0D, 0x83, 0xAD, 0x88, 0x40, 0x4A, 0xA0, 0xD6, 0xD7, 0x6C, 0x60, 0x16, 0x48, 0x4E, 0x77, 0xC2, - 0x81, 0x46, 0x0F, 0xA9, 0x24, 0x58, 0x80, 0xB4, 0x19, 0xA3, 0xD3, 0x63, 0x64, 0x27, 0x7C, 0xBC, - 0x8D, 0x0B, 0x53, 0xF0, 0x60, 0x3D, 0x37, 0xAB, 0x6E, 0xDE, 0x44, 0x43, 0x03, 0x6F, 0x3F, 0x3C, - 0x8F, 0x3F, 0x5C, 0x67, 0xEA, 0x4C, 0xD0, 0x9F, 0xD4, 0x95, 0x45, 0x86, 0xC5, 0x44, 0xE6, 0x21, - 0x5B, 0xA5, 0xB4, 0x4D, 0x0C, 0xA5, 0xA2, 0xA1, 0xEC, 0x31, 0xF8, 0xB2, 0x35, 0x2C, 0xD2, 0xDC, - 0x82, 0x63, 0x9F, 0x50, 0x75, 0x4D, 0xC1, 0xF1, 0x48, 0x41, 0x94, 0x4F, 0xE0, 0xD4, 0xE5, 0xD8, - 0xA8, 0xFE, 0xCF, 0x96, 0xA6, 0xA3, 0xD2, 0xE8, 0xB6, 0xAD, 0x93, 0xF7, 0x6F, 0x92, 0x9B, 0x4C, - 0x5E, 0xF0, 0x8E, 0xFD, 0x04, 0x2F, 0x17, 0xC9, 0x96, 0x7B, 0x33, 0x51, 0x77, 0xF4, 0x92, 0xA5, - 0x90, 0x43, 0xFB, 0x32, 0xBA, 0x66, 0x4D, 0x59, 0x79, 0x0C, 0x31, 0x1D, 0x06, 0x9B, 0x2E, 0xA7, - 0x46, 0xED, 0x1C, 0x8F, 0x90, 0x80, 0x57, 0xC7, 0x94, 0xEC, 0x07, 0x5E, 0xDD, 0x22, 0xEF, 0xC8, - 0xAE, 0x8E, 0x65, 0xDF, 0x58, 0x23, 0x5A, 0x90, 0xCB, 0xC0, 0x39, 0x21, 0x54, 0x19, 0xD5, 0xFB, - 0xA9, 0xEF, 0x50, 0xF8, 0xEC, 0xFB, 0x8D, 0xE3, 0x32, 0x0B, 0x5F, 0xAC, 0x72, 0x00, 0x83, 0x3E, - 0x89, 0x4F, 0xF6, 0x2E, 0x46, 0xFD, 0xFD, 0xAA, 0xB7, 0xC3, 0x82, 0x68, 0x1B, 0x09, 0x36, 0xD5, - 0x9E, 0x3A, 0xA8, 0xFC, 0xD2, 0x52, 0xBD, 0xA4, 0xCD, 0x89, 0x49, 0x8B, 0xC6, 0xCD, 0xB3, 0x1D, - 0x16, 0xBB, 0xAF, 0x03, 0xCB, 0x04, 0x9B, 0x61, 0xBF, 0x44, 0x8B, 0x91, 0xF3, 0x07, 0x0B, 0xC1, - 0x11, 0xDA, 0x9A, 0x24, 0x8F, 0x61, 0x2C, 0x7E, 0x05, 0x0F, 0x8A, 0x54, 0x97, 0xC6, 0x1D, 0x7D, - 0x41, 0x8C, 0x29, 0xA8, 0x89, 0xD6, 0x71, 0x02, 0xF3, 0x64, 0x84, 0x15, 0x5D, 0xE0, 0xDD, 0x7C, - 0x44, 0xD9, 0x13, 0x18, 0x03, 0xA7, 0x96, 0x36, 0x6D, 0x27, 0x61, 0xD3, 0xAB, 0xF5, 0xAD, 0x26, - 0x7B, 0x05, 0x12, 0x9B, 0xED, 0xC4, 0x51, 0x60, 0x4B, 0xB8, 0xB1, 0xDF, 0xB0, 0x1A, 0xF1, 0xF3, - 0x59, 0x91, 0xBB, 0xDA, 0x98, 0x0A, 0xE2, 0xAF, 0x74, 0x3B, 0x6D, 0xDE, 0x32, 0x94, 0x2C, 0x30, - 0x88, 0x5E, 0x69, 0x40, 0x5B, 0x07, 0xBE, 0x98, 0xF5, 0x2D, 0xF4, 0xBF, 0x90, 0x7E, 0xE3, 0x91, - 0x14, 0x8F, 0xA0, 0x94, 0x59, 0x1C, 0x86, 0x13, 0xFA, 0x8D, 0x9C, 0x73, 0xA1, 0x85, 0xF0, 0x9D, - 0x9F, 0x2B, 0x37, 0x92, 0x42, 0x51, 0x98, 0x5D, 0x97, 0x15, 0x22, 0xCE, 0x9D, 0xB6, 0x40, 0xC6, - 0x7D, 0x75, 0xB8, 0xD2, 0x82, 0x78, 0x20, 0x62, 0x3B, 0xE2, 0x47, 0xCA, 0x27, 0x3A, 0x86, 0x8E, - 0x0E, 0xA6, 0x3D, 0x71, 0xF2, 0x25, 0x2A, 0xD9, 0xA1, 0x7F, 0xE6, 0xA9, 0xC3, 0x39, 0xA2, 0x86, - 0xE9, 0xAD, 0x88, 0x81, 0x52, 0xB2, 0xD7, 0x73, 0x8A, 0xD7, 0x6A, 0x66, 0xCD, 0x78, 0x54, 0xED, - 0x69, 0x25, 0x76, 0xF9, 0x71, 0xE1, 0xA4, 0x06, 0xF6, 0xD4, 0xD1, 0x2F, 0xFB, 0x3B, 0xB9, 0x0D, - 0x99, 0x5B, 0x9D, 0xDB, 0x99, 0x35, 0x3E, 0x2C, 0x37, 0xBB, 0x0A, 0x96, 0x50, 0x28, 0x7E, 0x2B, - 0xF7, 0xC0, 0xB0, 0xBA, 0xA3, 0x30, 0x6B, 0x9C, 0xF2, 0x0A, 0x95, 0x8A, 0xC2, 0xFC, 0x18, 0xCD, - 0x15, 0x9E, 0x3F, 0xFA, 0x08, 0x09, 0xC7, 0x56, 0x42, 0x51, 0xA9, 0xB9, 0x01, 0x23, 0xD0, 0x4B, - 0xAC, 0xBA, 0x6A, 0x48, 0xC8, 0x20, 0x7F, 0x69, 0x3A, 0x8C, 0x56, 0x55, 0xDE, 0xAB, 0xBA, 0xF4, - 0xA6, 0x87, 0x9C, 0x58, 0x5A, 0x38, 0x62, 0x1B, 0x9A, 0x22, 0x7E, 0x0D, 0x58, 0x14, 0xCC, 0xE7, - 0x43, 0xB8, 0x26, 0x3F, 0x93, 0xA4, 0xB3, 0xCF, 0x1E, 0x84, 0xB2, 0x56, 0x14, 0x8D, 0x7A, 0xF5, - 0xE2, 0x81, 0xE1, 0xFF, 0xC3, 0x8E, 0x2E, 0x09, 0x85, 0x77, 0x02, 0xAA, 0xFA, 0xFE, 0x03, 0x46, - 0xFF, 0xC9, 0x49, 0x3D, 0x6E, 0x00, 0xDF, 0xBF, 0xAB, 0x6F, 0xDB, 0x5F, 0x40, 0x72, 0xC5, 0x0E, - 0x6F, 0x55, 0xDC, 0xB0, 0xA2, 0x0F, 0xB7, 0x1F, 0xBB, 0x9A, 0xCF, 0x34, 0xAE, 0x01, 0xBC, 0xBD, - 0x6B, 0x11, 0x79, 0x6E, 0x5D, 0xB0, 0xE3, 0xE4, 0x49, 0x2F, 0x85, 0xD0, 0xF5, 0x7A, 0x4F, 0x66, - 0x91, 0x52, 0x64, 0x5C, 0x4B, 0xE4, 0xF1, 0xB6, 0x9D, 0x05, 0x1F, 0x38, 0x3B, 0x6D, 0x24, 0xB7, - 0x1B, 0xE7, 0x6C, 0x34, 0xB1, 0xC8, 0x1C, 0x39, 0x45, 0x76, 0xC8, 0x8C, 0x4E, 0x33, 0x33, 0x65, - 0xBD, 0xBF, 0x9E, 0xD3, 0xCC, 0x8C, 0x1A, 0x9E, 0xED, 0x5F, 0xE9, 0x2D, 0x7D, 0x84, 0xCF, 0x1E, - 0x68, 0x34, 0xE9, 0x97, 0x02, 0x98, 0x4A, 0xB5, 0x0C, 0xE6, 0x92, 0x32, 0x9F, 0xFA, 0xAF, 0xB1, - 0x60, 0x3D, 0x10, 0x10, 0xE8, 0x57, 0xE8, 0x14, 0x10, 0x4A, 0xCB, 0x05, 0x18, 0x80, 0x63, 0xE9, - 0xF8, 0xA8, 0x7C, 0x1A, 0xD7, 0xC1, 0x04, 0xD0, 0xCE, 0x70, 0x6C, 0x1B, 0x13, 0x35, 0x84, 0x19, - 0xE8, 0xBC, 0x17, 0xEF, 0x7D, 0xC7, 0x74, 0x99, 0xAA, 0x01, 0xCA, 0xC0, 0x59, 0xD1, 0x76, 0xAC, - 0x75, 0x7C, 0x41, 0x55, 0x81, 0x5C, 0xC4, 0x6A, 0xA0, 0x11, 0xF7, 0x36, 0xF2, 0xC2, 0xB1, 0x8A, - 0x53, 0xAC, 0x4D, 0xCA, 0xEB, 0x73, 0x0C, 0x1C, 0x29, 0x80, 0x67, 0xAE, 0x10, 0xBC, 0xD1, 0x25, - 0xB8, 0xEA, 0xA4, 0x63, 0xFD, 0x27, 0x1E, 0x4E, 0x01, 0xD1, 0xCE, 0xF1, 0xB5, 0xEE, 0xE0, 0x68, - 0xE7, 0xD4, 0xDB, 0x4F, 0x0E, 0xBE, 0x9A, 0x2A, 0x2B, 0x17, 0x53, 0xA1, 0x42, 0x3E, 0x2A, 0x79, - 0x47, 0xFC, 0x83, 0xE1, 0xF3, 0x1A, 0xF6, 0x5A, 0xDA, 0x5B, 0x3C, 0xD5, 0x29, 0x7B, 0x70, 0xE5, - 0x06, 0xAF, 0xC4, 0xF6, 0xBD, 0xEE, 0xCC, 0xA6, 0x21, 0x07, 0x6E, 0x57, 0xD8, 0xD6, 0xFE, 0x53, - 0x34, 0x2F, 0x06, 0x42, 0xD9, 0xFC, 0xEC, 0xC4, 0xB4, 0x3A, 0xA7, 0xF8, 0x0E, 0xA7, 0x9C, 0x6B, - 0x9E, 0xD3, 0x54, 0xCA, 0xA9, 0x6E, 0xBB, 0xFE, 0x03, 0xE0, 0x83, 0x92, 0x0C, 0xD2, 0x5D, 0x02, - 0x65, 0x0E, 0x59, 0x19, 0x04, 0xFD, 0xAA, 0x22, 0x32, 0xF3, 0x78, 0x9E, 0x85, 0xEE, 0x5E, 0x57, - 0x92, 0xDE, 0x48, 0xD3, 0xDF, 0xA6, 0xD1, 0xD1, 0xF0, 0x81, 0x62, 0x53, 0x3E, 0x0A, 0xBD, 0x8D, - 0x3D, 0xFC, 0xBE, 0xBF, 0x26, 0x83, 0x41, 0xD2, 0xA3, 0xC0, 0x25, 0x44, 0x43, 0xAD, 0xBB, 0xC9, - 0xA8, 0x90, 0xB4, 0x27, 0x61, 0xB3, 0x7F, 0x7B, 0x74, 0x18, 0x91, 0x37, 0x46, 0xD9, 0x02, 0x5A, - 0xE3, 0xB1, 0x4A, 0x6F, 0xC3, 0xAA, 0xDC, 0xC8, 0x82, 0x68, 0x84, 0x6D, 0x7E, 0xE2, 0x6F, 0x44, - 0xCA, 0x2C, 0xAF, 0x75, 0xFC, 0x12, 0x1C, 0xE1, 0xEE, 0xCC, 0x79, 0x1D, 0x5A, 0x68, 0x9D, 0x9F, - 0xED, 0xF0, 0x21, 0x99, 0x87, 0x21, 0xAB, 0x1D, 0x3F, 0x50, 0xB0, 0xC9, 0x28, 0x58, 0xAF, 0xD9, - 0xCF, 0xD8, 0x34, 0x64, 0xD6, 0x88, 0xF4, 0x35, 0x80, 0x87, 0xC8, 0x1A, 0xFB, 0x41, 0xBC, 0x37, - 0x58, 0xF8, 0x49, 0x13, 0x56, 0xEF, 0xBC, 0x76, 0xCD, 0x8B, 0x94, 0x43, 0xBF, 0x5E, 0x0B, 0x52, - 0xEB, 0x8D, 0x86, 0xDD, 0x28, 0xC3, 0xD5, 0x7D, 0x08, 0x07, 0x36, 0x62, 0xDB, 0x3C, 0x2B, 0x40, - 0xF1, 0xA7, 0x18, 0x3B, 0x90, 0x72, 0xEC, 0x5C, 0x6A, 0x55, 0x8A, 0x79, 0xBE, 0xDD, 0xD7, 0x6D, - 0x99, 0x6B, 0xB8, 0x34, 0x98, 0x96, 0xEF, 0x78, 0xC7, 0xD6, 0xE4, 0xF8, 0x7D, 0xEA, 0x8B, 0x60, - 0xC0, 0x5C, 0x14, 0x28, 0x24, 0xF2, 0x2E, 0x6E, 0x86, 0xC3, 0xB5, 0xBD, 0xFA, 0xC2, 0x60, 0x08, - 0x57, 0x7C, 0x69, 0x5F, 0x01, 0xE2, 0x74, 0xD5, 0xAD, 0x36, 0x64, 0x2F, 0xF9, 0xCA, 0x84, 0x2C, - 0xFB, 0xD7, 0xA3, 0x66, 0x6F, 0xF3, 0xEB, 0xD4, 0x28, 0x15, 0x52, 0x00, 0x5E, 0x9F, 0xF8, 0x33, - 0xB2, 0xBA, 0x2A, 0xC1, 0x11, 0xDF, 0x82, 0xDF, 0x05, 0xA4, 0xFE, 0x35, 0xC3, 0x7A, 0xD1, 0x29, - 0x8C, 0xC5, 0x06, 0x9E, 0x22, 0x56, 0xB9, 0xE5, 0x66, 0x4C, 0x87, 0x65, 0x0B, 0x2D, 0xDC, 0x8A, - 0xBA, 0x86, 0xE6, 0x73, 0x4D, 0x8D, 0x00, 0x24, 0xC8, 0x9A, 0x60, 0xD8, 0x21, 0xB3, 0xC6, 0x6C, - 0xB8, 0xCA, 0x91, 0x9C, 0x4F, 0xFC, 0x6F, 0x98, 0x7B, 0x54, 0x15, 0x17, 0x9F, 0x23, 0x9C, 0x25, - 0x18, 0x6C, 0x47, 0xBC, 0xA6, 0xE4, 0x09, 0x91, 0x75, 0xA2, 0x54, 0x7C, 0x3D, 0x02, 0x59, 0xA9, - 0x1F, 0xD4, 0xAB, 0x42, 0x32, 0x6B, 0x4F, 0xEF, 0xE8, 0x88, 0x04, 0xBA, 0xEE, 0x1B, 0x4A, 0x47, - 0x73, 0x29, 0xDB, 0xE6, 0x36, 0xBE, 0xB7, 0xD8, 0x2E, 0x51, 0x2F, 0xA7, 0x97, 0x4B, 0x29, 0xAF, - 0xCE, 0x1D, 0x7F, 0xDE, 0xCB, 0x4E, 0xDF, 0xEC, 0xB4, 0x85, 0xC7, 0x8D, 0x71, 0x75, 0x5B, 0x46, - 0x3A, 0x44, 0x52, 0x41, 0x19, 0x3B, 0x81, 0xFB, 0x8E, 0x71, 0x89, 0x71, 0x76, 0x8A, 0xDA, 0xCE, - 0xEA, 0x48, 0xCD, 0x67, 0xCC, 0x20, 0x6E, 0xA7, 0x52, 0x4E, 0x88, 0xF2, 0x98, 0xDC, 0x1D, 0xAD, - 0x0F, 0x8E, 0x8E, 0xF9, 0x96, 0xD6, 0x7B, 0xD7, 0x07, 0x4B, 0xB2, 0x42, 0x12, 0xE8, 0xFA, 0xDC, - 0x01, 0xCF, 0xE5, 0x0F, 0x97, 0x1C, 0x5D, 0x17, 0x51, 0x1B, 0x01, 0xCE, 0x14, 0x94, 0xA7, 0x6B, - 0x00, 0x0A, 0xAE, 0xB5, 0x2B, 0x78, 0x9C, 0x01, 0x30, 0x1C, 0x34, 0xE9, 0x50, 0x8B, 0x10, 0x0E, - 0xC2, 0x10, 0x63, 0xC7, 0xF7, 0x4D, 0x56, 0xB9, 0xB1, 0x94, 0x33, 0x16, 0x49, 0x4E, 0x36, 0x58, - 0x09, 0xF3, 0x29, 0xBD, 0x3F, 0x90, 0x92, 0x3C, 0xC4, 0x83, 0x6D, 0xC4, 0xDD, 0x40, 0x76, 0xF7, - 0xD4, 0x37, 0xE1, 0x38, 0xD4, 0xF9, 0x9B, 0x89, 0x64, 0xA3, 0xCB, 0x12, 0x77, 0x09, 0x06, 0xF1, - 0x5A, 0xB4, 0x3E, 0xFC, 0xE7, 0x70, 0xA0, 0xB3, 0xAE, 0x63, 0xED, 0x13, 0xEA, 0xEC, 0x2F, 0xEB, - 0xE1, 0xFD, 0x3D, 0x80, 0x07, 0x46, 0xE3, 0x5E, 0x26, 0xE3, 0x13, 0x6B, 0xC9, 0x99, 0x5C, 0xB8, - 0x6D, 0x32, 0x95, 0xAB, 0x6C, 0x48, 0xA2, 0xA8, 0x2D, 0x04, 0xA6, 0x9B, 0x69, 0x33, 0xA1, 0x2F, - 0xCC, 0x51, 0x08, 0x31, 0x64, 0xAC, 0xA1, 0x8C, 0xFE, 0x77, 0x23, 0x38, 0x19, 0x88, 0xAB, 0x72, - 0xA9, 0x55, 0xFF, 0x9D, 0x2C, 0x16, 0x2D, 0x4A, 0xA0, 0x95, 0xAC, 0x78, 0xD9, 0xB7, 0x13, 0x5B, - 0x17, 0xE8, 0x67, 0xF0, 0x77, 0x2A, 0x1E, 0xFA, 0x04, 0x1E, 0x3B, 0x7E, 0xC2, 0xF9, 0x0D, 0x16, - 0x7F, 0x24, 0xC7, 0xFF, 0x7B, 0x1B, 0xE5, 0xE9, 0xD5, 0x82, 0xF2, 0xAA, 0xC0, 0x72, 0x35, 0x0D, - 0xE6, 0x45, 0xD1, 0x7E, 0xDA, 0xB9, 0x0F, 0x26, 0x1A, 0x53, 0x20, 0x30, 0x03, 0x45, 0x69, 0x00, - 0x50, 0xC4, 0x85, 0xA1, 0xE4, 0xCB, 0xE9, 0xCF, 0x42, 0xF5, 0xD2, 0xD7, 0xF5, 0x55, 0x54, 0x0A, - 0x89, 0x31, 0x9D, 0x8F, 0xAC, 0x71, 0x65, 0x09, 0x0A, 0xE8, 0x7A, 0x15, 0x58, 0xE3, 0xA5, 0x84, - 0x39, 0xCD, 0x6E, 0x14, 0x1F, 0x9F, 0x16, 0x70, 0x33, 0x49, 0xBD, 0xD5, 0x08, 0x25, 0x38, 0xAE, - 0xF5, 0x96, 0xC8, 0x90, 0x0D, 0xD3, 0x8F, 0xC6, 0x0C, 0xAC, 0x07, 0xB2, 0xC1, 0xF1, 0xE9, 0x32, - 0xDD, 0xCE, 0x66, 0x30, 0x1E, 0x55, 0x30, 0xB0, 0x31, 0xA6, 0xF1, 0xA2, 0x53, 0x83, 0xF4, 0x2A, - 0x22, 0x22, 0xBB, 0x48, 0xA1, 0x8A, 0xB8, 0xDA, 0x15, 0x1F, 0xA4, 0x10, 0x93, 0xBC, 0x4C, 0x03, - 0x1E, 0x11, 0xE0, 0xF8, 0x27, 0x49, 0x67, 0x12, 0x4B, 0xFD, 0x2B, 0x50, 0x38, 0x76, 0xE0, 0x3A, - 0x81, 0x0D, 0x51, 0x3D, 0xC1, 0xDB, 0xB3, 0x74, 0xD0, 0x93, 0x06, 0x31, 0x02, 0xC6, 0xB5, 0x3F, - 0xE7, 0x80, 0x9A, 0xC4, 0xF3, 0x98, 0xAE, 0x8E, 0x23, 0xF2, 0xE7, 0xF0, 0x4C, 0x3A, 0x8F, 0xCB, - 0x40, 0x9E, 0xA0, 0x1A, 0x03, 0x93, 0x1B, 0x69, 0xB6, 0x6A, 0x8B, 0xFA, 0x73, 0xFE, 0x63, 0x5D, - 0x19, 0xA9, 0x0C, 0x06, 0x5B, 0x14, 0x61, 0xA5, 0xBF, 0x62, 0x72, 0x7D, 0x99, 0x5F, 0xC1, 0x92, - 0x62, 0xB6, 0xB5, 0xE7, 0xF4, 0xF6, 0x1F, 0xC5, 0x34, 0xB7, 0x05, 0x39, 0x57, 0x74, 0x91, 0x86, - 0x43, 0x17, 0x9C, 0x4F, 0x8F, 0xC5, 0xA8, 0x39, 0x6C, 0x11, 0xF7, 0xDE, 0x2A, 0xD3, 0x97, 0xC2, - 0x94, 0xA3, 0xEF, 0x97, 0x5D, 0xB0, 0xF6, 0x2E, 0xD9, 0x9B, 0xFF, 0xB6, 0xD0, 0x5C, 0x7A, 0xEE, - 0x0E, 0x4B, 0xC5, 0x43, 0x8C, 0x7E, 0xE1, 0x45, 0x9A, 0x61, 0xE2, 0x84, 0xC6, 0x0E, 0x68, 0xBA, - 0x44, 0xAF, 0x70, 0xB1, 0x57, 0x25, 0x9A, 0xB6, 0xDE, 0x65, 0x47, 0x5A, 0x39, 0xF5, 0x3C, 0x05, - 0x2C, 0x63, 0xD0, 0xBE, 0x81, 0x85, 0x3C, 0x96, 0xA4, 0x3E, 0x9D, 0xA8, 0x42, 0x2E, 0x67, 0xF6, - 0xE5, 0xCC, 0xED, 0x2B, 0xB9, 0x53, 0x4D, 0xF4, 0x24, 0x0C, 0x5F, 0x1C, 0x26, 0x4C, 0x47, 0xE4, - 0xB7, 0x4E, 0xB1, 0xD0, 0x0F, 0xA2, 0xE0, 0x7A, 0x77, 0x4D, 0x18, 0x0B, 0x68, 0xB0, 0x7D, 0x10, - 0xD8, 0x3A, 0xFD, 0x21, 0x93, 0xC9, 0xA5, 0x20, 0x5F, 0xED, 0x40, 0xA5, 0x95, 0xC0, 0x11, 0xB4, - 0x45, 0x6A, 0x3B, 0x0B, 0x82, 0x3E, 0x75, 0xEA, 0x61, 0xB2, 0x3F, 0x89, 0x66, 0xA4, 0x95, 0x2D, - 0xEC, 0x35, 0x6A, 0x23, 0xCF, 0x9B, 0x27, 0xDB, 0x27, 0x59, 0xD6, 0x20, 0x70, 0xF6, 0x87, 0x79, - 0x7C, 0xAD, 0xFB, 0xAA, 0x60, 0x79, 0x59, 0xBB, 0xF7, 0x7F, 0xDA, 0xBF, 0x1A, 0x80, 0x4F, 0x56, - 0x41, 0x5B, 0xEB, 0xA0, 0x46, 0xD2, 0x4A, 0x7C, 0x37, 0xE2, 0x8C, 0x05, 0xE6, 0x73, 0xFF, 0xCD, - 0xAE, 0x30, 0xC6, 0xE2, 0x36, 0x13, 0x50, 0x8E, 0xE8, 0xD2, 0x02, 0xB4, 0x57, 0x8E, 0xED, 0x62, - 0x34, 0x91, 0xA5, 0x7F, 0x35, 0x37, 0xB4, 0x86, 0x9B, 0x71, 0xD1, 0x31, 0x5D, 0xFE, 0xB0, 0xD9, - 0x1F, 0x1D, 0x6A, 0xD7, 0x74, 0xC1, 0xBA, 0xED, 0x7C, 0x81, 0xDA, 0x84, 0xA0, 0x5E, 0x27, 0x73, - 0x63, 0xA6, 0x23, 0xD4, 0x37, 0x2C, 0x8C, 0x0D, 0xFC, 0xF9, 0x52, 0x7A, 0xD3, 0x7D, 0x74, 0x06, - 0xE1, 0x1A, 0xD2, 0x3B, 0x98, 0xB9, 0x45, 0x30, 0xCC, 0xDA, 0xE6, 0xB7, 0x95, 0x94, 0x9F, 0xAF, - 0x60, 0x83, 0xB3, 0x2D, 0x72, 0x76, 0xE7, 0x91, 0x1D, 0x40, 0x29, 0x65, 0xC9, 0x57, 0x92, 0x98, - 0x6F, 0xEB, 0x7F, 0x8D, 0x89, 0x65, 0xD6, 0x9D, 0x81, 0x94, 0xF8, 0xAC, 0xF1, 0x55, 0x89, 0x13, - 0x02, 0x55, 0xC2, 0x15, 0xBA, 0xD5, 0xEA, 0xC6, 0x0A, 0x92, 0x5C, 0x3B, 0xEF, 0x4E, 0xC4, 0x5D, - 0x0F, 0x09, 0x01, 0x22, 0x18, 0x59, 0x2F, 0xE7, 0x33, 0x58, 0xF0, 0x90, 0x15, 0x56, 0xAD, 0x1B, - 0x8B, 0xC5, 0x5A, 0x84, 0x81, 0xEF, 0x63, 0xF5, 0xD6, 0x3F, 0xCF, 0x2A, 0xC4, 0x9F, 0x31, 0xCF, - 0x10, 0x75, 0xA6, 0x77, 0xF2, 0x96, 0x8D, 0x46, 0x77, 0xFF, 0xF6, 0xED, 0x59, 0xCF, 0x1B, 0x09, - 0x3E, 0xAC, 0x53, 0x6F, 0x7E, 0x50, 0x37, 0x0E, 0x6A, 0x3D, 0xBE, 0x45, 0xA8, 0x62, 0x95, 0xBF, - 0xA2, 0x7D, 0x9A, 0xBB, 0x24, 0xEB, 0x27, 0x2B, 0x0C, 0xDB, 0x2C, 0x91, 0x49, 0x95, 0xA0, 0x2C, - 0x67, 0xE2, 0x86, 0x0A, 0xF0, 0x8D, 0xB5, 0xCD, 0x62, 0xBA, 0xB7, 0xBC, 0x1C, 0xAF, 0xA5, 0x9C, - 0xD7, 0xDE, 0xB5, 0x51, 0x2F, 0x45, 0x76, 0x4B, 0x80, 0xFA, 0xE9, 0x33, 0xB0, 0x04, 0x9C, 0x56, - 0xAF, 0x21, 0x59, 0x8C, 0xA7, 0x2F, 0xA9, 0xF4, 0x39, 0x48, 0xCD, 0x66, 0x08, 0xC4, 0xB5, 0x69, - 0x78, 0x9E, 0x21, 0x5F, 0x88, 0x5A, 0x0A, 0x1E, 0x28, 0xD3, 0xC8, 0x92, 0x6D, 0xC0, 0x19, 0x9E, - 0x99, 0xE5, 0x3E, 0xE6, 0xF6, 0x3A, 0xE8, 0xB1, 0xFD, 0x97, 0x43, 0xE5, 0x3D, 0x0E, 0x0D, 0xB5, - 0x85, 0xBC, 0x09, 0x4A, 0x8C, 0xF6, 0x6F, 0xE9, 0xF5, 0x10, 0x4A, 0x1C, 0x9F, 0xE4, 0xC2, 0x14, - 0x5B, 0x1B, 0x17, 0x70, 0x39, 0x11, 0x64, 0x19, 0x6D, 0x1A, 0xDF, 0x70, 0x73, 0xDB, 0x54, 0xD0, - 0x2E, 0xB8, 0x38, 0x9A, 0x0D, 0x29, 0xD9, 0xBD, 0xFA, 0xB0, 0x22, 0xD0, 0xC0, 0xAE, 0x9A, 0x1F, - 0xDC, 0xF2, 0xDC, 0x2F, 0x76, 0xDA, 0x82, 0x66, 0xFE, 0x6E, 0x66, 0x75, 0x94, 0x51, 0x25, 0xE4, - 0x08, 0x68, 0x34, 0x05, 0x61, 0xB1, 0x4C, 0xB7, 0x04, 0x5C, 0x25, 0x68, 0x86, 0x47, 0x71, 0xB6, - 0xD0, 0xBF, 0x80, 0x76, 0x3F, 0xA6, 0x39, 0x65, 0x8E, 0x34, 0x90, 0x60, 0x6B, 0xBD, 0x5D, 0x39, - 0xBE, 0x24, 0xAD, 0x17, 0x32, 0xBF, 0x35, 0x79, 0x72, 0x4F, 0xA3, 0xD7, 0xED, 0x02, 0x2B, 0x2A, - 0x4F, 0x4B, 0xD9, 0x5B, 0x77, 0xE5, 0x5E, 0xE5, 0xD2, 0xE1, 0x8B, 0x8F, 0x81, 0xFF, 0x8F, 0x5A, - 0xB4, 0x19, 0x5B, 0x07, 0xDA, 0x6B, 0xAF, 0x53, 0x93, 0xF6, 0xD8, 0xC8, 0xBB, 0xB1, 0x7B, 0xA6, - 0x21, 0xD0, 0xF4, 0x3A, 0xAB, 0x09, 0x79, 0x6B, 0xA1, 0x42, 0x58, 0x0A, 0x9B, 0xD5, 0x69, 0xC4, - 0x3F, 0xBD, 0xCC, 0x01, 0xDD, 0xE3, 0x2E, 0xAC, 0x7D, 0xEF, 0xCB, 0x1B, 0x03, 0x71, 0x52, 0x99, - 0x35, 0x80, 0x3A, 0x11, 0xCE, 0x24, 0x85, 0x8A, 0xE0, 0x55, 0x0B, 0x4D, 0xB3, 0x8D, 0xC9, 0x6A, - 0xBC, 0x10, 0xA2, 0x80, 0xB0, 0x44, 0x67, 0x25, 0xC6, 0xCA, 0xDB, 0x41, 0x7B, 0xE7, 0xE6, 0x1C, - 0x94, 0xB9, 0xFD, 0xD1, 0xE2, 0x75, 0xC2, 0x68, 0x2D, 0x63, 0x9D, 0xA8, 0x69, 0xF1, 0xB2, 0x4E, - 0x20, 0xC1, 0x6B, 0x54, 0xD6, 0x4D, 0x7F, 0xCC, 0x5F, 0xAE, 0x5F, 0xB2, 0x47, 0xD4, 0x56, 0x47, - 0x4C, 0x6E, 0x49, 0xA2, 0x46, 0x4E, 0x5A, 0x35, 0x1E, 0xB9, 0x0C, 0xF5, 0x41, 0xA9, 0x12, 0xE0, - 0x86, 0x99, 0x99, 0xB3, 0x3D, 0xBD, 0x01, 0xEE, 0x6C, 0x74, 0xCE, 0xEF, 0xA2, 0x12, 0xC8, 0x04, - 0x55, 0x62, 0x44, 0xBE, 0x2C, 0x61, 0x92, 0x43, 0x7F, 0x78, 0xFF, 0x14, 0xA1, 0x9B, 0x9D, 0x38, - 0x06, 0x11, 0x67, 0xCB, 0x3C, 0x82, 0xDD, 0x6D, 0xCF, 0x23, 0xC3, 0x27, 0x53, 0xBF, 0x46, 0xB2, - 0xEA, 0x36, 0xBB, 0x45, 0x8B, 0x7E, 0xEE, 0x16, 0x53, 0xF7, 0x12, 0xEE, 0x61, 0xCD, 0x00, 0x82, - 0xF0, 0x1F, 0x26, 0xA0, 0x4B, 0x57, 0x56, 0x29, 0xF7, 0x87, 0x7E, 0x13, 0x93, 0xE9, 0xDB, 0x08, - 0xB8, 0x54, 0x07, 0x5E, 0xE8, 0xE4, 0x4F, 0x8B, 0x87, 0xDD, 0x88, 0x06, 0xFE, 0xD1, 0xC5, 0x33, - 0xA4, 0x0D, 0x30, 0xF2, 0x7B, 0xC3, 0x8E, 0x7A, 0xCA, 0x93, 0x96, 0x1D, 0x2B, 0x29, 0xF2, 0x37, - 0x42, 0x17, 0x1A, 0x6C, 0x42, 0xE2, 0x3F, 0xC2, 0x98, 0x88, 0xF4, 0xA1, 0xD7, 0x4C, 0xDF, 0xD6, - 0x8C, 0xA4, 0x6F, 0xA3, 0x2B, 0xE9, 0x13, 0xBC, 0x14, 0xA9, 0x31, 0x03, 0xF7, 0x28, 0xCD, 0xB4, - 0xFB, 0x33, 0x4F, 0xDE, 0x63, 0xAA, 0x74, 0x3C, 0x18, 0xF0, 0x7C, 0x5F, 0x40, 0x6C, 0xA8, 0xAB, - 0xF9, 0x07, 0x40, 0x49, 0x7C, 0x4B, 0x0F, 0x85, 0x8A, 0xEA, 0xD4, 0xC5, 0x04, 0xC9, 0xAC, 0x75, - 0xC0, 0xAB, 0xEB, 0x83, 0xE3, 0x4A, 0x1E, 0xEB, 0xA9, 0xC5, 0x51, 0xF3, 0x78, 0x6E, 0xB3, 0x20, - 0xB7, 0x3C, 0xCB, 0xFE, 0xB9, 0xF1, 0x0E, 0xCE, 0x5C, 0x57, 0x7A, 0x22, 0x9C, 0x6D, 0x97, 0x28, - 0xAB, 0x65, 0xFC, 0x52, 0x78, 0xE7, 0x6A, 0x72, 0x49, 0x12, 0x3B, 0x73, 0x77, 0xEA, 0xFF, 0x00, - 0x03, 0x44, 0x5D, 0x7B, 0xF8, 0x07, 0x00, 0xA5, 0xCB, 0xFD, 0x87, 0x82, 0x60, 0x08, 0xBA, 0xC9, - 0xEC, 0x46, 0x11, 0x0C, 0x97, 0xBB, 0x71, 0xA7, 0x05, 0x32, 0x34, 0xF7, 0x3A, 0xB6, 0xF3, 0x59, - 0x01, 0x70, 0x52, 0xEC, 0x2E, 0x7A, 0xAA, 0xC8, 0xD3, 0x8F, 0x9A, 0x10, 0x20, 0x9C, 0x15, 0xC7, - 0x5E, 0x4E, 0x2D, 0xC0, 0x15, 0x40, 0x23, 0xFB, 0x3B, 0xDF, 0xF9, 0x69, 0x2D, 0x54, 0xB6, 0x90, - 0x41, 0x32, 0x8A, 0x95, 0x48, 0x73, 0xB2, 0x21, 0x1A, 0x67, 0x48, 0x50, 0xA7, 0xE6, 0xD9, 0x9F, - 0x79, 0x8F, 0xBE, 0x31, 0x20, 0x47, 0x42, 0xDC, 0xCE, 0x4D, 0xD2, 0xB8, 0xD5, 0x00, 0x30, 0xA1, - 0xDD, 0xE3, 0x43, 0x41, 0xD8, 0x70, 0x97, 0xD8, 0x17, 0x50, 0x14, 0x93, 0xB6, 0x79, 0xD8, 0xF1, - 0x23, 0xE4, 0xFB, 0xAD, 0x9E, 0x0E, 0x18, 0x4C, 0x3D, 0x96, 0x89, 0xC3, 0xA5, 0xAA, 0x36, 0xE8, - 0x90, 0xFD, 0x58, 0x0F, 0xCA, 0x88, 0xE0, 0x7D, 0x84, 0x24, 0xAD, 0x96, 0x5B, 0x83, 0xF4, 0x7E, - 0x66, 0xF3, 0x19, 0x64, 0xEC, 0x48, 0x2A, 0x7C, 0xD4, 0xA8, 0xFB, 0x25, 0x06, 0x85, 0x43, 0x02, - 0xF8, 0x16, 0xDF, 0x27, 0xF9, 0x38, 0xDC, 0x26, 0xD1, 0x18, 0xAE, 0x1F, 0xE1, 0x0F, 0x32, 0x36, - 0xDE, 0xC6, 0xD3, 0xB8, 0x16, 0x64, 0xC7, 0xF3, 0xEE, 0x9B, 0x72, 0x1E, 0x26, 0xE1, 0x51, 0x60, - 0xA7, 0x28, 0xA0, 0x0B, 0x0C, 0x16, 0x05, 0x3E, 0x3C, 0xF8, 0x98, 0x5C, 0xFA, 0xE0, 0x6E, 0xE3, - 0x22, 0xF5, 0x64, 0xC3, 0x05, 0xA3, 0x6C, 0xD5, 0x1C, 0x2E, 0x38, 0xFA, 0x8A, 0x4A, 0x68, 0xAA, - 0x58, 0x3E, 0x87, 0x89, 0xC1, 0x26, 0xB1, 0x1D, 0x0B, 0xFC, 0x4D, 0xA4, 0xCA, 0xDE, 0xC7, 0xA4, - 0x2A, 0xFC, 0x9D, 0x44, 0x0B, 0x9E, 0x84, 0xC1, 0x83, 0x03, 0xCC, 0xA3, 0xEC, 0xC7, 0x91, 0x61, - 0x47, 0xBE, 0xD4, 0xE1, 0xCE, 0x8E, 0x66, 0x7F, 0x61, 0x18, 0xC9, 0xFA, 0x09, 0x05, 0xAE, 0xB0, - 0x29, 0x6B, 0xD5, 0x53, 0xB3, 0xF0, 0x97, 0xE6, 0xCC, 0xD0, 0xBB, 0xC2, 0x45, 0x8F, 0x55, 0x6F, - 0x0C, 0xC3, 0x6B, 0xC1, 0xFE, 0xD6, 0xD0, 0x36, 0x91, 0xAE, 0xD5, 0x91, 0xE4, 0xDD, 0xE2, 0x19, - 0x74, 0x0A, 0xEB, 0x8B, 0xA1, 0x83, 0xC1, 0xE1, 0x0B, 0x4F, 0xDF, 0xD1, 0x59, 0x50, 0x86, 0x06, - 0x69, 0xE1, 0x7D, 0x26, 0x52, 0x48, 0x42, 0xE8, 0x3F, 0x35, 0x4D, 0x3B, 0xAE, 0x5B, 0x03, 0x64, - 0x83, 0x0F, 0x0E, 0xBE, 0x09, 0xF9, 0x99, 0x8A, 0xE2, 0x36, 0x13, 0x24, 0x6E, 0x88, 0x66, 0x27, - 0x9A, 0x68, 0xCC, 0x4E, 0xDE, 0x5D, 0x55, 0x06, 0x0A, 0xF3, 0xD9, 0xD1, 0xDF, 0xB4, 0x06, 0x0A, - 0x87, 0x75, 0x48, 0x70, 0x8D, 0xEF, 0x62, 0x2E, 0x7D, 0x9C, 0xDA, 0xF1, 0xE9, 0xDC, 0x33, 0x4C, - 0x18, 0x97, 0x2B, 0x8E, 0x55, 0xFA, 0x95, 0xF1, 0x0C, 0xF9, 0xEE, 0x0F, 0x6A, 0xD2, 0x22, 0x7F, - 0x77, 0xC0, 0xCE, 0x2A, 0x52, 0x1F, 0xA0, 0xB0, 0x68, 0x6B, 0xEC, 0xA3, 0xBD, 0x76, 0x23, 0x96, - 0x2A, 0x9A, 0xBB, 0x70, 0xAF, 0xF1, 0x09, 0x9B, 0xFF, 0xA4, 0x6F, 0x5C, 0xB8, 0xF9, 0xFC, 0x6C, - 0xE4, 0x6A, 0x49, 0x41, 0xD6, 0x6D, 0xDB, 0x7A, 0x37, 0xBA, 0x92, 0x05, 0x10, 0xA1, 0x96, 0x6E, - 0x33, 0xC8, 0xDA, 0xE6, 0x6B, 0xEF, 0x43, 0xEA, 0x9A, 0x46, 0x80, 0x81, 0xAA, 0x30, 0xE3, 0xBF, - 0xCF, 0x46, 0x78, 0x2F, 0xE5, 0x76, 0xA5, 0xAB, 0xF1, 0xC0, 0x86, 0xED, 0x85, 0x40, 0x98, 0xD9, - 0x46, 0xA6, 0x3A, 0x09, 0x38, 0x0B, 0xD3, 0xF2, 0x00, 0xD0, 0xBE, 0x45, 0x26, 0xA2, 0x04, 0xA1, - 0x64, 0x90, 0xAE, 0x38, 0x96, 0xFF, 0xCB, 0x95, 0x73, 0x2E, 0xE3, 0x04, 0x97, 0xBC, 0x9F, 0x77, - 0x59, 0xC0, 0x40, 0xF2, 0x44, 0xA4, 0x22, 0x45, 0xFF, 0x57, 0xB7, 0x6B, 0xFE, 0x32, 0xAD, 0x51, - 0xAD, 0x13, 0x67, 0xB9, 0x47, 0x5D, 0xB3, 0xD0, 0x80, 0x26, 0x27, 0xE1, 0xBA, 0xAF, 0xA4, 0x23, - 0x53, 0x8A, 0x79, 0xE3, 0x39, 0xB6, 0x15, 0x02, 0xD0, 0x89, 0x63, 0xC2, 0xAA, 0xE0, 0x12, 0xEF, - 0x4F, 0x7C, 0xBF, 0xB8, 0x7C, 0x82, 0x0F, 0x3A, 0x77, 0x24, 0x07, 0x2D, 0xBA, 0xF3, 0x76, 0x28, - 0x82, 0xE9, 0xF1, 0x2B, 0xF6, 0x5A, 0x78, 0x81, 0x43, 0xAD, 0xBA, 0x55, 0xD9, 0x52, 0xF8, 0x8C, - 0x0B, 0x7A, 0xA6, 0x54, 0xB1, 0x00, 0x81, 0xDE, 0x40, 0xBD, 0x7B, 0x8E, 0x8F, 0xCA, 0xBA, 0xA0, - 0x67, 0x47, 0x71, 0xB4, 0x5D, 0x91, 0xDE, 0x1D, 0xB4, 0xD9, 0x6C, 0x1A, 0xA9, 0xCC, 0x42, 0xA4, - 0x28, 0x3C, 0x42, 0x97, 0xA5, 0xE1, 0x1E, 0x64, 0xBB, 0xBF, 0x3B, 0xA0, 0x66, 0x70, 0x58, 0x39, - 0x57, 0x3F, 0x17, 0x3A, 0x93, 0x86, 0xC6, 0xE5, 0xCD, 0xC7, 0xD8, 0xA9, 0x00, 0x6A, 0xCC, 0xDA, - 0xC0, 0x4C, 0x0C, 0x72, 0x69, 0x4F, 0xBF, 0xDE, 0xC8, 0xCD, 0x02, 0x4E, 0x6D, 0x8E, 0x51, 0xD1, - 0x71, 0xE7, 0x17, 0x93, 0xFF, 0xA5, 0x65, 0x7A, 0x9F, 0xA4, 0xF5, 0xFC, 0xDD, 0xA8, 0x9E, 0x13, - 0x7F, 0xBF, 0xB8, 0x55, 0xA2, 0xAE, 0xC8, 0x9C, 0xAD, 0xD1, 0x3F, 0xD3, 0x8A, 0xF4, 0xCB, 0xCC, - 0xF8, 0x17, 0x69, 0xA8, 0x92, 0x37, 0x4C, 0x71, 0x37, 0x7A, 0x5F, 0x5D, 0x0E, 0x16, 0xBE, 0x6F, - 0x6E, 0x3D, 0x9F, 0xB1, 0x13, 0x08, 0xF2, 0xED, 0xFB, 0xA9, 0xCD, 0xE4, 0x01, 0x3A, 0x6C, 0xCF, - 0x5C, 0xEA, 0x09, 0xD1, 0xC8, 0x13, 0x8A, 0x1E, 0xC2, 0x49, 0x8C, 0xD6, 0x27, 0xFE, 0x2C, 0x19, - 0x17, 0x21, 0x66, 0x8F, 0xE3, 0x3B, 0x3E, 0x7E, 0xFB, 0x29, 0x34, 0x66, 0x8C, 0xB6, 0xEB, 0xD6, - 0x7A, 0x83, 0x1B, 0xAE, 0x95, 0xC5, 0x20, 0x37, 0x2D, 0x36, 0xE7, 0x21, 0xD8, 0x58, 0x0C, 0x8E, - 0xB5, 0x68, 0x37, 0xC7, 0x50, 0x02, 0xE6, 0x5C, 0xAA, 0x6D, 0x0A, 0x01, 0xB9, 0x5D, 0x13, 0x9A, - 0xFC, 0xD7, 0x7E, 0x1F, 0x2A, 0x34, 0xFB, 0xF7, 0x8F, 0xE7, 0xE2, 0xA3, 0x3C, 0x6D, 0x24, 0x48, - 0x4B, 0xDC, 0xD0, 0xFF, 0xD9, 0xC3, 0x7E, 0x4E, 0x81, 0xE4, 0xED, 0xCA, 0x3D, 0xB9, 0x75, 0xE2, - 0x08, 0x81, 0xBB, 0x01, 0xD6, 0x70, 0x36, 0x6C, 0xF7, 0x10, 0x24, 0x3F, 0x5E, 0x14, 0x5C, 0xAB, - 0x7C, 0x11, 0xDC, 0xC3, 0x78, 0xC6, 0x9C, 0x6F, 0xCE, 0x2F, 0x41, 0xDC, 0x86, 0x9B, 0xDA, 0x7C, - 0x1C, 0x04, 0xE2, 0xB6, 0xD2, 0x58, 0x0E, 0x8F, 0x5F, 0xC3, 0x91, 0x7C, 0x85, 0xFA, 0xFE, 0x80, - 0x4A, 0x39, 0xE4, 0xB1, 0xE3, 0xD5, 0x7D, 0x46, 0xAD, 0xA9, 0xD4, 0x5D, 0x1D, 0x96, 0xD4, 0x6D, - 0x03, 0xBA, 0xC5, 0x3F, 0xCF, 0xEF, 0xEA, 0x6D, 0xBF, 0x1F, 0x35, 0x82, 0x7F, 0x5A, 0xAD, 0x45, - 0xCE, 0x33, 0x5A, 0x3B, 0x7A, 0x07, 0xAB, 0xA3, 0xC5, 0x89, 0x9E, 0x67, 0x10, 0xFD, 0x46, 0x22, - 0x1A, 0xCD, 0xE1, 0x73, 0x4D, 0xCD, 0xA6, 0xE0, 0xA3, 0xA5, 0x56, 0x7B, 0x17, 0xFF, 0x2B, 0x44, - 0xC5, 0x73, 0x18, 0x11, 0x58, 0x43, 0xE1, 0x23, 0xEB, 0x90, 0xAE, 0x42, 0x93, 0x94, 0xAA, 0x6A, - 0x39, 0x77, 0x9A, 0x96, 0xD1, 0x85, 0x00, 0x22, 0xE9, 0x99, 0xAC, 0xC1, 0x51, 0xB1, 0x59, 0x5F, - 0x10, 0x6E, 0xA0, 0xC1, 0x0F, 0xC9, 0xE8, 0xFC, 0x0B, 0xAA, 0x11, 0x19, 0x2B, 0x37, 0x61, 0xFF, - 0x61, 0x11, 0x92, 0x05, 0xCF, 0x35, 0x85, 0xF0, 0xAC, 0xD9, 0xC4, 0xEC, 0x83, 0x2B, 0xD9, 0x2F, - 0xBD, 0x39, 0x65, 0xC5, 0x67, 0x2B, 0x1F, 0xDA, 0x91, 0xEC, 0xD1, 0xA5, 0x19, 0x21, 0x55, 0x28, - 0xEF, 0xA9, 0x20, 0x1A, 0x08, 0x26, 0x44, 0xE1, 0xFD, 0xB2, 0xE9, 0x44, 0x7E, 0xF0, 0x3E, 0x40, - 0x8D, 0xC3, 0x68, 0x5B, 0xAE, 0xD1, 0xA3, 0x65, 0xC5, 0x6F, 0xD6, 0xB4, 0x1D, 0x3C, 0x5E, 0x77, - 0x79, 0x32, 0x0C, 0x4F, 0x88, 0x0F, 0xF7, 0x9A, 0x1F, 0x49, 0x1D, 0x29, 0x13, 0x06, 0x6A, 0xBC, - 0x8B, 0x81, 0xBA, 0xDC, 0x36, 0xE3, 0xD7, 0x89, 0x83, 0xFF, 0xA4, 0x2C, 0xFB, 0xF1, 0x14, 0x07, - 0x5E, 0x5E, 0xF5, 0x51, 0xB4, 0x0E, 0x1B, 0x29, 0xC8, 0x3A, 0x2C, 0x37, 0x67, 0x01, 0x01, 0x2C, - 0x60, 0xE3, 0x65, 0x6C, 0x4C, 0x73, 0xEB, 0x18, 0x73, 0x6C, 0x9F, 0x39, 0x05, 0x51, 0xDB, 0xF8, - 0x9D, 0x46, 0x55, 0xBB, 0xD3, 0xE8, 0xB2, 0x5D, 0x17, 0x48, 0x25, 0xE6, 0xAB, 0x54, 0x6D, 0x9D, - 0x31, 0x06, 0x66, 0x0D, 0xFE, 0x4D, 0xA9, 0x33, 0x80, 0xBD, 0x93, 0x13, 0x86, 0x84, 0xF9, 0xD8, - 0x90, 0x43, 0xE5, 0x12, 0xA5, 0x83, 0x38, 0x11, 0x2D, 0x57, 0xB8, 0x5A, 0x43, 0x72, 0x17, 0xDE, - 0xE5, 0x6F, 0x14, 0xBC, 0x38, 0x96, 0x49, 0xFC, 0x48, 0x02, 0x4E, 0x71, 0x6A, 0x73, 0x3C, 0xF2, - 0xC2, 0x69, 0x59, 0x6F, 0x5D, 0x38, 0x19, 0x62, 0x10, 0x58, 0xF6, 0xFB, 0xC9, 0x0D, 0x6E, 0xB4, - 0x98, 0xF6, 0x79, 0xE1, 0x82, 0xA1, 0x23, 0x34, 0xB3, 0x59, 0x2E, 0xE2, 0x26, 0x89, 0x5A, 0x38, - 0x2F, 0xD6, 0x0C, 0xEF, 0x4F, 0x95, 0xC3, 0x1A, 0x50, 0x2D, 0x6B, 0x87, 0x8F, 0xAA, 0xEF, 0x14, - 0x48, 0x48, 0x14, 0xE1, 0xC5, 0x7E, 0x3D, 0x1F, 0x98, 0x34, 0x2D, 0x50, 0x41, 0x26, 0x2D, 0xE4, - 0x75, 0xF3, 0x4B, 0xB8, 0xFD, 0xD4, 0xA7, 0x1F, 0x77, 0x9D, 0xC7, 0xAA, 0xDC, 0x12, 0x3F, 0xD7, - 0xB0, 0x4D, 0x01, 0xDE, 0x12, 0x69, 0x45, 0x06, 0xEB, 0xC3, 0x68, 0x5A, 0x37, 0x04, 0xEC, 0xF2, - 0x3F, 0xBF, 0xEA, 0x07, 0xA1, 0xC1, 0x83, 0x10, 0xB7, 0x3E, 0x66, 0xA0, 0x08, 0xCF, 0x58, 0x9E, - 0x78, 0x59, 0x43, 0x31, 0x07, 0xF7, 0x5C, 0x78, 0x3D, 0x6D, 0x0D, 0x96, 0xC8, 0x37, 0xF5, 0x5B, - 0x73, 0xC6, 0x9C, 0xDE, 0x2D, 0x4B, 0x9A, 0xFF, 0xDA, 0x83, 0xC3, 0x5E, 0x16, 0xAC, 0xF3, 0xF5, - 0x32, 0xCB, 0xC5, 0xF0, 0xA0, 0x9E, 0x57, 0x3A, 0x3F, 0xAA, 0x64, 0x5D, 0xDF, 0x07, 0x1D, 0xF2, - 0x1C, 0x66, 0x3E, 0xBD, 0xA0, 0x4F, 0xF8, 0xFB, 0x96, 0x5B, 0xB2, 0xE0, 0xFE, 0x5D, 0xBB, 0xE1, - 0x86, 0x36, 0x7B, 0xF1, 0x2C, 0x89, 0x24, 0x81, 0x48, 0xD7, 0xB8, 0x1B, 0x36, 0x48, 0x38, 0xA7, - 0x99, 0x90, 0x48, 0xFD, 0x27, 0x47, 0xA0, 0x71, 0xF3, 0xE8, 0x28, 0xBD, 0x02, 0x35, 0x44, 0x96, - 0x71, 0x0F, 0xC0, 0x4A, 0xFB, 0x32, 0x89, 0x0C, 0x46, 0x1B, 0xAE, 0xBE, 0x54, 0x88, 0x1C, 0xEB, - 0x62, 0xA3, 0xAD, 0x90, 0x95, 0x38, 0x65, 0x5E, 0x2E, 0xDB, 0xF4, 0x51, 0x35, 0x7B, 0x68, 0x29, - 0xE7, 0xFA, 0xE8, 0x24, 0x52, 0x72, 0xD2, 0x5E, 0xE5, 0x04, 0x20, 0x53, 0x4C, 0x74, 0x9F, 0x7E, - 0xB9, 0xAA, 0x58, 0x69, 0x4A, 0x72, 0xE3, 0x3F, 0x14, 0x35, 0xC1, 0xC5, 0xB6, 0x7E, 0xAA, 0x04, - 0x7F, 0x77, 0xCF, 0xC1, 0x80, 0xD4, 0x2C, 0xEE, 0x77, 0x12, 0xC4, 0x6C, 0xA2, 0x93, 0x09, 0x55, - 0x97, 0xDA, 0x86, 0xDA, 0xA5, 0x81, 0x85, 0x59, 0x3D, 0xA8, 0x63, 0x41, 0x46, 0x08, 0xB7, 0x78, - 0xE4, 0x39, 0x11, 0xFF, 0x34, 0xD2, 0xD3, 0x3E, 0xE3, 0xDD, 0x0F, 0x40, 0xD8, 0x4D, 0xC6, 0xD5, - 0xAF, 0x5B, 0xA1, 0x13, 0x6D, 0x81, 0x91, 0xB9, 0x36, 0x01, 0x8D, 0x4C, 0x96, 0xBD, 0x5F, 0x6A, - 0x05, 0xF5, 0x52, 0xAE, 0x30, 0x0E, 0xE5, 0x0F, 0xC8, 0x2A, 0x02, 0x2D, 0x8E, 0xD8, 0xE4, 0x92, - 0x80, 0xD4, 0x85, 0x9E, 0x2A, 0xAE, 0x5B, 0x10, 0x7C, 0xB0, 0x94, 0x5E, 0x27, 0x6F, 0x97, 0xC6, - 0xBA, 0x1D, 0x56, 0x02, 0xBF, 0x05, 0x01, 0x40, 0xF0, 0x03, 0x10, 0x78, 0x00, 0xB7, 0xB9, 0x63, - 0xA1, 0x2A, 0xA1, 0xEE, 0x42, 0x8A, 0x09, 0x6C, 0x47, 0x3A, 0xEB, 0xC4, 0x0F, 0x21, 0x4C, 0xFB, - 0xD0, 0x61, 0x61, 0x6F, 0xE7, 0x45, 0x7C, 0x59, 0x33, 0xE8, 0xEA, 0xE3, 0x8B, 0xD7, 0xEB, 0x90, - 0x3E, 0x04, 0x73, 0xC3, 0x69, 0x3B, 0xEC, 0xC8, 0xE2, 0x50, 0x8B, 0xE0, 0xF5, 0x5E, 0x0A, 0x5A, - 0xDC, 0x1F, 0x05, 0xCC, 0xE9, 0x13, 0x29, 0x0E, 0xA8, 0x48, 0x9D, 0x40, 0x9C, 0xF1, 0x7B, 0x9F, - 0x5A, 0x8D, 0x76, 0xCB, 0x94, 0xDD, 0xB6, 0x23, 0xEE, 0xF3, 0x33, 0xD4, 0xA0, 0xF2, 0xC3, 0x29, - 0xA4, 0x5C, 0xF4, 0x9E, 0x71, 0xAF, 0xD1, 0x62, 0x0D, 0x51, 0xBF, 0x91, 0x9E, 0xB4, 0x99, 0x7E, - 0x6E, 0x7F, 0xE8, 0x61, 0x05, 0xBC, 0xE0, 0x2C, 0x35, 0x7D, 0x9F, 0xD8, 0x16, 0x84, 0xF3, 0xAB, - 0x4E, 0xC3, 0xC7, 0x76, 0xAD, 0x63, 0x12, 0x0A, 0x65, 0x46, 0x68, 0x60, 0xDF, 0x3D, 0xE2, 0xAE, - 0xDD, 0xB2, 0xCB, 0x19, 0x95, 0xA6, 0x76, 0x60, 0x02, 0xB0, 0x69, 0x3A, 0x2E, 0x70, 0x14, 0x7B, - 0x3A, 0x10, 0x25, 0xC8, 0xD9, 0xDD, 0x14, 0x77, 0x94, 0x31, 0xA5, 0x04, 0x87, 0x4F, 0xBC, 0xD0, - 0x2B, 0xDE, 0xF7, 0x3B, 0x11, 0xC3, 0x04, 0xB4, 0x42, 0xF9, 0xCD, 0xA4, 0x97, 0xBC, 0x8C, 0x19, - 0x30, 0xCE, 0x4A, 0x65, 0x98, 0x06, 0xA8, 0x59, 0x0E, 0x50, 0x1D, 0x92, 0xBA, 0x0A, 0x29, 0xE9, - 0x82, 0xDC, 0x19, 0xE4, 0x0A, 0x0A, 0xC7, 0x20, 0x68, 0x3F, 0x98, 0x4C, 0x8B, 0xB5, 0x69, 0x7A, - 0x72, 0x2D, 0x64, 0xD3, 0xFA, 0xF4, 0xF9, 0xB9, 0xF9, 0xD7, 0xC8, 0x53, 0x70, 0x06, 0x27, 0x37, - 0x90, 0x09, 0xE7, 0x42, 0x9E, 0xFD, 0xB3, 0xB6, 0xE9, 0x3A, 0x60, 0x96, 0xBD, 0xF6, 0x05, 0xD9, - 0x42, 0x7C, 0xFB, 0x33, 0x7A, 0xAF, 0x7D, 0xFB, 0x22, 0x08, 0x38, 0xC4, 0xC2, 0x0B, 0x21, 0x05, - 0x0C, 0x60, 0x65, 0xAA, 0x8F, 0xAF, 0x81, 0xAE, 0x3D, 0x9A, 0x4B, 0x3F, 0x55, 0x77, 0x83, 0x83, - 0x39, 0xC3, 0xFF, 0xF2, 0xAD, 0x83, 0xEE, 0xB5, 0xBC, 0x3E, 0xEF, 0x43, 0x49, 0x75, 0x7A, 0x4C, - 0x4A, 0xCC, 0x72, 0x46, 0x9A, 0xBC, 0xDF, 0xAD, 0xF4, 0x53, 0x3B, 0xF1, 0xD4, 0x27, 0xA2, 0xC7, - 0x52, 0x9E, 0xDF, 0xC5, 0xB1, 0x3C, 0xFD, 0xB4, 0x7A, 0x0E, 0x25, 0x00, 0x13, 0x7A, 0x5A, 0xBA, - 0xDA, 0xF2, 0x54, 0x13, 0x92, 0x88, 0xAA, 0x28, 0xEF, 0xD6, 0xA9, 0x75, 0xCE, 0x19, 0xCB, 0xAA, - 0x3C, 0x39, 0xF2, 0x59, 0x67, 0xFF, 0x56, 0x72, 0xBC, 0x66, 0xD9, 0x59, 0x4D, 0x1F, 0x6B, 0xCA, - 0x49, 0x4C, 0xFD, 0xAF, 0x45, 0x33, 0x95, 0xC9, 0x47, 0xE0, 0x44, 0x93, 0x30, 0x4C, 0x41, 0x4D, - 0x58, 0x93, 0xCB, 0xC3, 0x50, 0x00, 0xED, 0x5E, 0x48, 0x20, 0xC9, 0x06, 0x24, 0x46, 0x30, 0x89, - 0xFF, 0x62, 0x34, 0xDA, 0x1E, 0x54, 0xDE, 0x73, 0x1E, 0x14, 0x9C, 0xB2, 0xFB, 0x50, 0x26, 0x3B, - 0x0E, 0xA6, 0xF4, 0x1F, 0xD9, 0x50, 0xB0, 0xA6, 0x31, 0xE6, 0x16, 0x97, 0xAB, 0x22, 0x8B, 0xD0, - 0xCC, 0x4E, 0x3C, 0x38, 0x82, 0x5E, 0x03, 0xBF, 0x31, 0x19, 0x2D, 0x8F, 0x13, 0x40, 0xBB, 0xB6, - 0xFB, 0xC7, 0xCF, 0x5F, 0x73, 0x0B, 0x1E, 0xDE, 0x43, 0x05, 0x45, 0x9A, 0x45, 0x43, 0x3D, 0xB9, - 0xDB, 0x8B, 0xF0, 0xBE, 0x7A, 0xF1, 0xF0, 0xE4, 0x88, 0x28, 0xC2, 0x01, 0x18, 0xD4, 0xC2, 0x96, - 0x00, 0x05, 0x9F, 0x0A, 0x16, 0x21, 0x1A, 0xA2, 0x2C, 0x25, 0x11, 0xFC, 0xD5, 0x8A, 0x48, 0x02, - 0xFC, 0x53, 0xAB, 0x03, 0xB4, 0x46, 0xE8, 0x6A, 0xF0, 0x39, 0x31, 0xD5, 0x9E, 0x6C, 0x47, 0x63, - 0x51, 0x03, 0x3D, 0x02, 0x8C, 0x2F, 0xE6, 0xB3, 0x4C, 0x9A, 0x6D, 0x08, 0xF9, 0xA6, 0xB2, 0x85, - 0x5F, 0x67, 0x7A, 0x97, 0x58, 0xF9, 0xCE, 0xC2, 0x0C, 0x28, 0xF3, 0xC9, 0x6E, 0x41, 0xC2, 0x76, - 0x26, 0x9C, 0x41, 0xF2, 0x06, 0x5C, 0x59, 0x86, 0x55, 0x11, 0x17, 0x9F, 0x62, 0x9B, 0xC7, 0x3D, - 0x13, 0x4E, 0xFD, 0x67, 0x2E, 0x44, 0xC5, 0x6E, 0x1D, 0x4B, 0x67, 0xA0, 0xB9, 0x15, 0x71, 0xE9, - 0xA7, 0xFE, 0xEA, 0x83, 0x2B, 0x7C, 0x8E, 0x65, 0x30, 0x85, 0x2F, 0xE9, 0xE8, 0xAD, 0x1A, 0x05, - 0xD5, 0x61, 0xE0, 0x4F, 0x0F, 0x89, 0x61, 0x61, 0x07, 0xD0, 0x8F, 0x7E, 0xD9, 0xC6, 0x4C, 0x11, - 0x6B, 0x9C, 0x3F, 0xB2, 0x70, 0x11, 0xF7, 0x50, 0x29, 0xDD, 0xA3, 0x02, 0x94, 0x54, 0xB8, 0x2B, - 0x8C, 0x19, 0xFC, 0x77, 0xDE, 0xCF, 0xCA, 0x16, 0x0C, 0x3A, 0x79, 0x27, 0x4E, 0xFA, 0x5B, 0x5D, - 0x96, 0x1C, 0xB4, 0x1F, 0xE1, 0x60, 0xD6, 0x06, 0xFB, 0xC9, 0x6A, 0x41, 0x72, 0x9E, 0x0B, 0x9C, - 0xBB, 0xCA, 0x53, 0x34, 0xB9, 0x4F, 0xC0, 0x06, 0xE9, 0x93, 0xAB, 0xD7, 0x0F, 0x2E, 0x02, 0xCA, - 0x2A, 0x7E, 0xCC, 0xB3, 0x1F, 0x86, 0x34, 0xED, 0xB1, 0x07, 0x36, 0xD1, 0xB9, 0xBE, 0x89, 0x0A, - 0x47, 0x73, 0x20, 0x00, 0xD4, 0x77, 0xFE, 0x5B, 0x11, 0x1A, 0x55, 0xAC, 0x4D, 0xF5, 0x1C, 0xAC, - 0x87, 0x50, 0xE5, 0x33, 0xF0, 0x72, 0xB1, 0xA9, 0x01, 0x69, 0xE9, 0xFC, 0xD0, 0xA2, 0x69, 0x0C, - 0xE1, 0xBB, 0xE2, 0x48, 0x45, 0x21, 0x1B, 0x1F, 0xD3, 0x01, 0xCB, 0xFE, 0x76, 0x23, 0xDB, 0x26, - 0x18, 0xCF, 0x25, 0xBF, 0xD0, 0x19, 0x92, 0x5F, 0x3F, 0xFF, 0x53, 0x45, 0xF1, 0xE2, 0xA7, 0x61, - 0x4F, 0xAD, 0xD3, 0xD0, 0x69, 0xC8, 0x70, 0x8F, 0xB0, 0xB7, 0x39, 0x8A, 0xD6, 0x0A, 0xC3, 0x7B, - 0x81, 0x5E, 0x78, 0x76, 0x2F, 0x89, 0xA2, 0x16, 0x64, 0xC1, 0xC4, 0xB6, 0x77, 0x52, 0x7B, 0xD7, - 0xDC, 0x36, 0x12, 0x22, 0x22, 0x73, 0x0B, 0x19, 0xCC, 0x54, 0x47, 0x5B, 0x7D, 0xDD, 0x92, 0x49, - 0xB3, 0x39, 0xAF, 0xF9, 0x1D, 0x39, 0x3E, 0xBC, 0xC7, 0xDE, 0x45, 0x58, 0x90, 0x79, 0x9E, 0x6E, - 0xCF, 0x57, 0x3C, 0xFF, 0x65, 0x00, 0x60, 0xFB, 0x4F, 0x14, 0x48, 0x08, 0xB4, 0x17, 0xED, 0x46, - 0xED, 0x97, 0xF0, 0xA1, 0xFB, 0xA0, 0x78, 0x13, 0xA9, 0xED, 0x15, 0x0C, 0xC7, 0x09, 0x97, 0xAD, - 0x64, 0x53, 0xA4, 0xCA, 0xEA, 0x6A, 0x0E, 0x1C, 0xF6, 0x88, 0x2D, 0x08, 0xA1, 0xEB, 0xBA, 0x02, - 0x98, 0x2A, 0xBA, 0xCE, 0xEF, 0xA2, 0xE8, 0x91, 0x58, 0xA1, 0x2B, 0x9B, 0x37, 0x9B, 0x86, 0x81, - 0xDF, 0x17, 0x4C, 0xC7, 0x93, 0x46, 0x6A, 0xCB, 0x8D, 0x32, 0x74, 0x09, 0xE9, 0xFB, 0x21, 0x64, - 0xA7, 0x25, 0x73, 0xF7, 0x50, 0xAA, 0x7B, 0x0A, 0x12, 0x56, 0x7E, 0x62, 0x81, 0x76, 0x93, 0x79, - 0x82, 0xA0, 0x84, 0x1C, 0x75, 0xA1, 0x3C, 0x48, 0x6C, 0xE3, 0x10, 0x90, 0x03, 0x24, 0x96, 0xB7, - 0xEC, 0x0C, 0x0F, 0x58, 0xD4, 0x15, 0xCD, 0x7E, 0x05, 0x44, 0x62, 0x56, 0xD9, 0xAE, 0xF9, 0x4F, - 0x2C, 0x90, 0x7B, 0xCA, 0xE0, 0x79, 0xC9, 0x86, 0x9C, 0x7F, 0x71, 0x77, 0x22, 0x77, 0x77, 0x7B, - 0x31, 0x00, 0x1B, 0x7D, 0x19, 0xCE, 0xFE, 0x1D, 0x8A, 0x31, 0x72, 0x5F, 0x30, 0x1F, 0xD3, 0x99, - 0x28, 0xE3, 0xF3, 0x8F, 0xA6, 0xEA, 0x32, 0x92, 0xDE, 0xBF, 0xB8, 0xA6, 0x5B, 0x23, 0x63, 0x74, - 0xC2, 0x76, 0xE2, 0x00, 0x3B, 0x64, 0xE9, 0xE2, 0x21, 0xEE, 0xE6, 0x38, 0x37, 0xF0, 0xFC, 0xE6, - 0xD4, 0x9C, 0xD5, 0xBA, 0xCC, 0xF0, 0x63, 0xBC, 0xD8, 0xD3, 0x94, 0xFE, 0x5A, 0x5F, 0xB3, 0xF6, - 0xDA, 0x00, 0x1B, 0x8C, 0xC9, 0xB7, 0xCE, 0x5E, 0xE7, 0x88, 0x5E, 0x09, 0x61, 0x03, 0x0A, 0x1A, - 0x6B, 0xB7, 0xE3, 0xB9, 0x75, 0x33, 0x14, 0xE7, 0x21, 0x88, 0xA9, 0xEB, 0x5F, 0x25, 0x0F, 0x77, - 0xFC, 0xB2, 0xFF, 0xB1, 0x6A, 0x04, 0x6D, 0x4E, 0xCE, 0xE0, 0x73, 0x83, 0x31, 0xC1, 0x6B, 0xD9, - 0xBC, 0x90, 0xA1, 0x14, 0x91, 0xA9, 0x95, 0x71, 0x0F, 0x57, 0x9F, 0x8C, 0xE2, 0x1D, 0x7A, 0x78, - 0xF7, 0x10, 0x43, 0xAF, 0x94, 0xBA, 0x21, 0xCC, 0xD9, 0xE4, 0x27, 0x9F, 0xA1, 0x55, 0x62, 0xF4, - 0xC5, 0xAD, 0xE6, 0x5C, 0x9D, 0x80, 0x59, 0x2C, 0x69, 0x36, 0x66, 0x97, 0x7A, 0x91, 0x6A, 0xA2, - 0x53, 0x8A, 0x5B, 0xC8, 0xE4, 0x34, 0xE7, 0x88, 0xB4, 0x70, 0xF4, 0x8F, 0xB8, 0xBD, 0x3F, 0x77, - 0xE4, 0xDD, 0x7E, 0xBB, 0x6D, 0x15, 0xA4, 0x96, 0x07, 0xCD, 0xAC, 0x16, 0x3E, 0x58, 0x2D, 0x89, - 0xF8, 0xDC, 0x72, 0x5F, 0x1D, 0xCB, 0xBE, 0x06, 0x71, 0x19, 0xC8, 0xB0, 0xD6, 0x4B, 0x71, 0x32, - 0x06, 0xD6, 0x53, 0x23, 0x8D, 0x64, 0x18, 0x99, 0x52, 0x2C, 0x8C, 0xFF, 0x74, 0x04, 0xF5, 0xA5, - 0xF2, 0x97, 0xAA, 0x68, 0xC2, 0x52, 0x89, 0x4B, 0x46, 0x77, 0x1C, 0x62, 0xC4, 0x99, 0x7A, 0xE8, - 0x83, 0x3F, 0xAC, 0x0B, 0x3F, 0x87, 0xB5, 0x5C, 0x26, 0x6F, 0x90, 0x2E, 0xB9, 0xDB, 0x5A, 0x24, - 0xCC, 0x35, 0xAD, 0xE5, 0xE8, 0xA4, 0x75, 0x35, 0x96, 0x79, 0xC7, 0xEF, 0x94, 0x67, 0x8E, 0x4D, - 0xA0, 0xD3, 0x10, 0xF3, 0x1A, 0x04, 0x2A, 0x27, 0x99, 0xF0, 0xD0, 0xED, 0x9B, 0x61, 0x6E, 0xE1, - 0x29, 0xD1, 0xF1, 0x9A, 0x14, 0x6F, 0xD3, 0xFD, 0xF6, 0x84, 0x11, 0x50, 0x60, 0xF9, 0x4B, 0x3E, - 0x6E, 0x3B, 0x2B, 0x42, 0x01, 0x87, 0x4A, 0xAC, 0x15, 0xA2, 0x05, 0xE6, 0xFE, 0x3F, 0x17, 0xE5, - 0xB1, 0x94, 0xDB, 0x3F, 0x8D, 0x94, 0x0D, 0xA1, 0x4B, 0x5C, 0xFD, 0xDB, 0xB4, 0x54, 0xDE, 0xC0, - 0x65, 0x93, 0xB7, 0xA6, 0x9F, 0xDA, 0x00, 0xBF, 0xE3, 0xD9, 0x35, 0x23, 0xAF, 0x56, 0x49, 0x86, - 0xA8, 0xC5, 0x15, 0x41, 0x96, 0xF2, 0x41, 0xBE, 0xC7, 0xF1, 0x9E, 0xB6, 0xBD, 0xF1, 0xB2, 0x86, - 0x16, 0xA0, 0x6B, 0xDF, 0x9A, 0x91, 0xB4, 0x43, 0x80, 0x1B, 0x7A, 0xA0, 0x9E, 0x8A, 0x9B, 0x7A, - 0xCA, 0xB2, 0x9F, 0x5C, 0x0B, 0x45, 0x2E, 0x6D, 0x7E, 0x43, 0x6F, 0x08, 0x88, 0x80, 0x10, 0x1F, - 0xBB, 0x17, 0x2B, 0xB7, 0x0F, 0x4E, 0x43, 0xEA, 0x45, 0x06, 0xBA, 0xC8, 0x01, 0x9C, 0x87, 0xE5, - 0x92, 0x87, 0xB7, 0x43, 0x66, 0xE1, 0xAB, 0x9E, 0xF1, 0x8B, 0x07, 0xCC, 0x93, 0x1A, 0xAC, 0x3F, - 0xE0, 0x04, 0xF7, 0x1D, 0xDD, 0xC3, 0xD5, 0xAD, 0xD9, 0x26, 0x46, 0xB1, 0x57, 0x12, 0xA1, 0xB7, - 0x57, 0xD1, 0x01, 0x5D, 0x39, 0x8B, 0x50, 0x12, 0x78, 0x71, 0x49, 0x0B, 0x9D, 0xC6, 0x5B, 0xC2, - 0x1E, 0x1B, 0x3B, 0x44, 0x64, 0x86, 0x4D, 0x72, 0x29, 0x31, 0xA1, 0x64, 0x3B, 0xF6, 0x3A, 0x9C, - 0xD1, 0xCE, 0x5F, 0xFD, 0x97, 0x64, 0x8B, 0xBD, 0x43, 0x97, 0x4C, 0xF8, 0xA4, 0xF3, 0x32, 0x88, - 0xE1, 0xE8, 0x2C, 0x7E, 0xF8, 0x78, 0xD6, 0x84, 0x63, 0xFF, 0x7F, 0x4C, 0x03, 0x3D, 0x42, 0x08, - 0xB7, 0x41, 0x25, 0xC4, 0xE4, 0xFA, 0xA5, 0xE4, 0x8D, 0x78, 0x3A, 0xD0, 0x7F, 0x51, 0xA0, 0xDC, - 0xD7, 0x76, 0xBD, 0x11, 0x6E, 0xFD, 0x37, 0xD4, 0x83, 0x75, 0xEA, 0x62, 0x71, 0x30, 0x0C, 0x6F, - 0xA3, 0xB9, 0xFA, 0xC2, 0x2C, 0xE9, 0x9D, 0x1C, 0xA8, 0x88, 0x8F, 0x9E, 0xE2, 0xBF, 0x37, 0x34, - 0x33, 0xE6, 0x1E, 0xBE, 0xB8, 0x94, 0x88, 0xF5, 0x87, 0xF3, 0x85, 0xC4, 0x4C, 0x22, 0xF2, 0x6B, - 0x69, 0x02, 0xF5, 0x3B, 0xC9, 0x3C, 0xB2, 0xC0, 0xCD, 0x45, 0x5D, 0xF8, 0x25, 0xA6, 0xA2, 0xA3, - 0x4E, 0x40, 0x5F, 0x82, 0x6E, 0x2D, 0xE2, 0x9C, 0xA1, 0x8D, 0xE5, 0xBF, 0xB9, 0xD8, 0x94, 0x49, - 0x3B, 0x88, 0x53, 0x62, 0x3D, 0xF7, 0x93, 0xEA, 0xFC, 0xB0, 0x13, 0x1F, 0x54, 0xD9, 0x66, 0x6E, - 0x1B, 0x45, 0xEF, 0x78, 0x58, 0x5D, 0xEE, 0x16, 0x26, 0x0A, 0xC3, 0xBB, 0xC1, 0xAF, 0x8F, 0xFD, - 0xDE, 0xAA, 0xBA, 0x34, 0xA8, 0x1E, 0x0C, 0x32, 0x8D, 0x67, 0x6C, 0xC7, 0x58, 0xB9, 0xC0, 0xE1, - 0xE3, 0x6D, 0x93, 0x1F, 0x9B, 0x58, 0x96, 0xE9, 0xDD, 0x4A, 0x86, 0x30, 0x4E, 0x8D, 0x22, 0x00, - 0x84, 0x05, 0xB9, 0x2B, 0x37, 0x11, 0x68, 0x04, 0x7B, 0xC3, 0xC0, 0xFF, 0x99, 0x01, 0x9D, 0x2B, - 0x20, 0x42, 0xB6, 0x70, 0xA8, 0x32, 0x7C, 0x5F, 0x19, 0x22, 0x0F, 0xB4, 0xF2, 0x5A, 0x24, 0x12, - 0xD2, 0x50, 0x52, 0xB6, 0x84, 0x23, 0x5C, 0xF1, 0x92, 0xC3, 0xB6, 0xEF, 0x34, 0xAD, 0x39, 0x87, - 0x26, 0x39, 0x7E, 0x5C, 0x94, 0x98, 0x08, 0x9F, 0xF4, 0x26, 0x7D, 0x6C, 0x51, 0x97, 0xF2, 0x4B, - 0x44, 0x9F, 0xC4, 0x82, 0xBB, 0xD7, 0xEF, 0x30, 0x6E, 0xF4, 0x42, 0x0E, 0x41, 0x5B, 0x66, 0x09, - 0x9A, 0x3F, 0x97, 0x8F, 0x04, 0xE6, 0x02, 0x02, 0xCF, 0x46, 0x38, 0xA5, 0x8A, 0x2F, 0x98, 0xAE, - 0x36, 0x71, 0xDC, 0x83, 0x13, 0x0B, 0x19, 0x93, 0xB4, 0xDA, 0x8E, 0xD8, 0x15, 0xFF, 0x8C, 0xF6, - 0xCB, 0x9D, 0x1B, 0x97, 0xD7, 0x46, 0x40, 0xA5, 0x5F, 0xE9, 0x34, 0x8E, 0x21, 0xFA, 0x0F, 0x04, - 0xF5, 0xAE, 0xC5, 0xD6, 0x3D, 0x0F, 0xB0, 0x31, 0xE7, 0x73, 0x87, 0x40, 0xCC, 0xAA, 0x0A, 0x6F, - 0x92, 0xDC, 0x9D, 0xE9, 0xA0, 0xE6, 0xE7, 0xD9, 0x2A, 0x1F, 0x89, 0xFF, 0x2C, 0x82, 0xA5, 0x9A, - 0x6C, 0xD3, 0x3C, 0x7B, 0x84, 0xF2, 0x80, 0x41, 0x27, 0xFC, 0x05, 0x10, 0x5A, 0xC4, 0x75, 0x5D, - 0xEA, 0xD4, 0xC7, 0xED, 0x64, 0x21, 0x1F, 0xB4, 0x8E, 0xFA, 0xAB, 0xFA, 0x3B, 0xC7, 0x3E, 0x46, - 0x08, 0x26, 0xA6, 0x98, 0xC5, 0x39, 0xDA, 0x20, 0x5B, 0x7F, 0xBD, 0x43, 0x63, 0x68, 0xCA, 0xF9, - 0xE6, 0xEB, 0x9A, 0x67, 0x39, 0x4C, 0x4A, 0x3B, 0x05, 0x3E, 0xDC, 0x4A, 0x8E, 0xE1, 0xC3, 0x0E, - 0x97, 0x94, 0x7A, 0x8F, 0x9F, 0xD8, 0x3F, 0x4D, 0x6A, 0x53, 0xDD, 0xEB, 0x71, 0x17, 0xBF, 0xC6, - 0x8C, 0xE6, 0xFD, 0x33, 0xD9, 0xD5, 0x37, 0xFD, 0x84, 0xC0, 0x26, 0xC4, 0x73, 0x81, 0xAA, 0x79, - 0xB6, 0x2E, 0x87, 0xA5, 0xF7, 0x02, 0x6D, 0x55, 0x79, 0x3D, 0xA2, 0x5C, 0x60, 0x59, 0x30, 0x6F, - 0x44, 0x84, 0x44, 0x26, 0x78, 0x22, 0xCF, 0xDB, 0xA5, 0x10, 0xFE, 0xA4, 0x5D, 0x30, 0xA9, 0x79, - 0xB4, 0xF8, 0x84, 0xE2, 0x73, 0xF0, 0xF1, 0x9B, 0x93, 0xA7, 0xAE, 0x81, 0xA2, 0x83, 0xD3, 0x94, - 0x06, 0x7B, 0x67, 0x2C, 0x65, 0x0C, 0x9E, 0xA9, 0xCC, 0xFF, 0x2B, 0x55, 0xDF, 0x3C, 0xE8, 0xAA, - 0x1D, 0x56, 0x54, 0xDD, 0x4A, 0xF3, 0x32, 0x48, 0x56, 0xFA, 0xFB, 0x07, 0xEA, 0x8A, 0x6A, 0x70, - 0x0C, 0xA2, 0x47, 0xB7, 0xA2, 0xC3, 0x22, 0xCD, 0x30, 0x5F, 0x93, 0x1F, 0x5A, 0x79, 0x34, 0x7A, - 0xEB, 0x9B, 0x33, 0x91, 0xCB, 0x24, 0x40, 0xFE, 0x49, 0xEE, 0x5F, 0x44, 0x57, 0x46, 0x81, 0x88, - 0x78, 0xF5, 0xBB, 0x7E, 0x83, 0x53, 0x24, 0x79, 0x4A, 0xAD, 0x5E, 0xC7, 0x8A, 0x0B, 0x39, 0x20, - 0x58, 0x18, 0x3E, 0xFD, 0x50, 0xE2, 0xD6, 0x4C, 0x40, 0xDF, 0xA9, 0xFF, 0xDE, 0xB2, 0x2C, 0xAA, - 0x47, 0x8F, 0x4C, 0xE3, 0xCA, 0x9E, 0xBF, 0xB8, 0x2E, 0x92, 0x98, 0x3E, 0x77, 0xBE, 0xA1, 0x1E, - 0xAF, 0x09, 0xCE, 0x37, 0x88, 0xDD, 0x96, 0xAF, 0xDD, 0x52, 0x1E, 0x29, 0xC2, 0x03, 0xED, 0xC0, - 0xB0, 0x2E, 0xF9, 0x58, 0x33, 0x83, 0x12, 0xF9, 0x13, 0x68, 0x8E, 0x59, 0x37, 0x7E, 0xCB, 0x60, - 0x2A, 0x06, 0x5A, 0x7A, 0xF1, 0x96, 0xCE, 0x5D, 0xA9, 0xB3, 0x84, 0xF9, 0x95, 0x6B, 0x43, 0x29, - 0x04, 0x9E, 0x0A, 0x6D, 0x49, 0xF9, 0x61, 0x05, 0xE7, 0xC1, 0x52, 0xC9, 0x87, 0x31, 0x4E, 0xF2, - 0x45, 0x05, 0x4A, 0x13, 0xEF, 0xD5, 0xAC, 0xBF, 0xC3, 0x32, 0xF5, 0x67, 0x7C, 0x9A, 0x54, 0x47, - 0x4E, 0x4F, 0x7F, 0xFA, 0xA5, 0x84, 0x6A, 0xA5, 0xED, 0x11, 0x3B, 0xD1, 0xEB, 0x01, 0xDB, 0x2E, - 0x09, 0xDB, 0x9A, 0x19, 0x97, 0xCB, 0xB5, 0x08, 0x92, 0x17, 0x50, 0x7C, 0xA6, 0xF9, 0xF6, 0xC3, - 0x33, 0x5F, 0xF3, 0x3B, 0xE9, 0xD0, 0xD3, 0x68, 0x4C, 0x92, 0x34, 0x8B, 0xC9, 0xEE, 0xD1, 0x37, - 0x99, 0x93, 0x43, 0xFF, 0x7A, 0x1F, 0xA7, 0xCE, 0x76, 0x89, 0xBB, 0xA5, 0xC5, 0x8B, 0xAA, 0xFE, - 0xD2, 0xDB, 0x68, 0x18, 0xCA, 0xC3, 0xE5, 0x81, 0x32, 0x13, 0x39, 0xA3, 0xBA, 0x7B, 0x67, 0x14, - 0xA1, 0x99, 0x22, 0x26, 0xE7, 0x12, 0xB3, 0xD0, 0x2E, 0xF1, 0x55, 0xAE, 0xB6, 0x3E, 0xA8, 0x5E, - 0x49, 0x1C, 0x52, 0xFA, 0xB5, 0x25, 0x1A, 0x06, 0x2C, 0x1E, 0xF2, 0xE1, 0x0C, 0xA5, 0x23, 0x65, - 0x8F, 0x18, 0x13, 0x7F, 0x21, 0x2D, 0xD5, 0xDE, 0xCD, 0xAE, 0xF7, 0xCD, 0x3D, 0x48, 0x16, 0x06, - 0xD1, 0x42, 0xE6, 0x27, 0xE0, 0x56, 0xE4, 0xB6, 0x4B, 0x11, 0x16, 0x9D, 0xB9, 0x42, 0xD6, 0x33, - 0x54, 0x10, 0x8E, 0x22, 0xA5, 0x74, 0x53, 0x33, 0x21, 0x11, 0xC2, 0x52, 0x1D, 0x4D, 0x99, 0xF0, - 0x5D, 0x88, 0x0B, 0xFE, 0x8F, 0x04, 0xC1, 0xD9, 0x5E, 0xC6, 0x95, 0xEF, 0x63, 0x62, 0xCC, 0xFF, - 0xE3, 0x38, 0x45, 0xB8, 0xC9, 0x6B, 0x57, 0x7F, 0xEE, 0xA2, 0xB9, 0x97, 0xB7, 0xF0, 0x7B, 0x90, - 0x91, 0xD0, 0x02, 0x93, 0xB8, 0x67, 0xB8, 0xBD, 0xF3, 0xBB, 0x19, 0xD5, 0xFB, 0x9B, 0x48, 0xFE, - 0x25, 0x60, 0x32, 0xD3, 0xA5, 0xE1, 0xF3, 0x55, 0xB9, 0x1C, 0x51, 0x84, 0x2F, 0x23, 0x01, 0xDC, - 0x10, 0x73, 0x00, 0x8A, 0xE5, 0x5C, 0x6F, 0x07, 0x25, 0xA0, 0x21, 0x15, 0xA6, 0xAD, 0xE4, 0xDE, - 0x69, 0xFE, 0xF0, 0x5D, 0xB6, 0x0D, 0xF8, 0xFB, 0x3E, 0x54, 0xC5, 0xEB, 0x70, 0x77, 0x7B, 0x23, - 0x67, 0x6A, 0x3B, 0xE3, 0xF5, 0xB8, 0xD0, 0xCE, 0x41, 0x18, 0x5B, 0x36, 0x81, 0x90, 0x6A, 0x76, - 0xCA, 0x5A, 0xCC, 0xAE, 0xF5, 0x50, 0xDE, 0x36, 0x91, 0x52, 0x07, 0x10, 0x7B, 0x5A, 0x19, 0x98, - 0x2E, 0x8F, 0x05, 0x1F, 0x19, 0xFF, 0xA4, 0x9F, 0xC0, 0xBF, 0x65, 0xE0, 0xDA, 0xD4, 0xFC, 0xC7, - 0xD7, 0xD3, 0xB9, 0xBB, 0x43, 0x41, 0x2D, 0x55, 0xD8, 0xCD, 0xFD, 0x8D, 0xDD, 0x15, 0x3E, 0x28, - 0xB1, 0x96, 0xB5, 0x77, 0x2C, 0xD1, 0x87, 0x36, 0xD8, 0x88, 0xDF, 0x3C, 0xA6, 0x94, 0xDE, 0x0A, - 0x71, 0xC7, 0xCB, 0x75, 0x74, 0x31, 0xC8, 0xBA, 0xF3, 0xD8, 0x63, 0x8C, 0x54, 0xC3, 0xC6, 0x74, - 0x1C, 0x39, 0x2F, 0xAF, 0x31, 0x41, 0x02, 0x4D, 0xE6, 0x3A, 0x00, 0x27, 0x69, 0x88, 0x71, 0xA2, - 0x8D, 0x2B, 0x04, 0xEB, 0x9C, 0xDF, 0xF6, 0x18, 0x4C, 0xDF, 0x9D, 0xB8, 0xE6, 0x18, 0x92, 0xB6, - 0xA0, 0x47, 0x3B, 0xC2, 0x42, 0x65, 0xE0, 0xBF, 0x5E, 0x3E, 0x5C, 0x37, 0x4F, 0xA8, 0xD6, 0x36, - 0xBA, 0x2A, 0x9D, 0x52, 0xC8, 0x76, 0xFC, 0x59, 0x46, 0xA5, 0x4F, 0xE8, 0x47, 0xCC, 0x2A, 0x64, - 0x0A, 0x20, 0x14, 0x13, 0x76, 0xC8, 0x60, 0x5C, 0x55, 0x35, 0xEF, 0x9F, 0x1F, 0x29, 0xBB, 0x55, - 0xEC, 0xE1, 0x37, 0x61, 0x57, 0x7A, 0x9C, 0xCC, 0xCB, 0x62, 0x9F, 0x03, 0xCC, 0x2F, 0xAF, 0xDC, - 0x64, 0x7E, 0x75, 0xCC, 0x6B, 0x84, 0xCB, 0x99, 0x8A, 0x70, 0x13, 0x47, 0xC8, 0x4C, 0xAB, 0x75, - 0x7C, 0x33, 0xBD, 0x26, 0x12, 0x1F, 0xE9, 0x35, 0x5D, 0x57, 0x0D, 0xFF, 0x7F, 0x11, 0xEA, 0xD1, - 0x0F, 0xBA, 0xF7, 0x9C, 0xF0, 0x54, 0xD8, 0xB5, 0x95, 0x96, 0xD9, 0x33, 0x3D, 0x43, 0xDE, 0xDA, - 0x3A, 0x96, 0x71, 0xB3, 0xF2, 0x70, 0xB7, 0x80, 0x9E, 0xA9, 0x7D, 0x1A, 0x9A, 0x41, 0x7D, 0x67, - 0x74, 0xF6, 0x4B, 0x09, 0x03, 0x82, 0x4B, 0xED, 0x77, 0xC8, 0x0E, 0x25, 0x15, 0x3D, 0x8E, 0x6F, - 0xA6, 0xCD, 0x26, 0x18, 0x58, 0x5E, 0x85, 0x60, 0xFF, 0xDD, 0x56, 0xF7, 0x6F, 0xC0, 0x9F, 0x2A, - 0x36, 0x0A, 0xAA, 0x1B, 0xE4, 0x75, 0x2C, 0x9C, 0xD4, 0x6A, 0x27, 0xC5, 0x34, 0xBC, 0xA3, 0x83, - 0xED, 0xDD, 0xB3, 0xD2, 0xB0, 0x8F, 0xC6, 0x73, 0x9E, 0x86, 0xF4, 0xD0, 0x6A, 0xE2, 0x9D, 0xE7, - 0xCD, 0x05, 0x92, 0xFC, 0x0F, 0xFE, 0x28, 0x71, 0xCB, 0x0F, 0x73, 0x2A, 0xCE, 0x75, 0xBF, 0xFD, - 0xFA, 0xF8, 0x4B, 0x3B, 0x2F, 0x2E, 0x35, 0xF0, 0xDD, 0x41, 0x1B, 0xC5, 0xFA, 0x76, 0x3F, 0x92, - 0x38, 0x82, 0xDD, 0x49, 0x5A, 0x2B, 0x86, 0xB6, 0x6C, 0x19, 0x20, 0x93, 0xB5, 0x14, 0xDD, 0x52, - 0xC9, 0x4C, 0xF0, 0x38, 0x3B, 0xCB, 0xE8, 0x97, 0x13, 0x01, 0xAA, 0x40, 0x26, 0x66, 0xDF, 0xE2, - 0x6E, 0xF4, 0x10, 0x16, 0xFC, 0xBE, 0xDB, 0xBF, 0x27, 0xAD, 0xFF, 0xFA, 0x97, 0x70, 0x71, 0x39, - 0x7F, 0x64, 0x91, 0xF9, 0x3C, 0xCA, 0xA3, 0x43, 0xB9, 0x74, 0x72, 0x4E, 0x70, 0x7A, 0xA2, 0xD4, - 0x20, 0x9C, 0x73, 0xCF, 0x33, 0xD8, 0xF2, 0x2A, 0x40, 0x05, 0x92, 0x66, 0xEB, 0x47, 0x0F, 0x48, - 0xE5, 0x81, 0x6A, 0x19, 0x97, 0xB9, 0x10, 0x92, 0x58, 0x59, 0x3D, 0xA4, 0x9D, 0x51, 0xD5, 0x09, - 0x7A, 0x98, 0xB8, 0xCA, 0x53, 0x56, 0x96, 0x3D, 0x97, 0x8F, 0x3E, 0x88, 0x2D, 0xFF, 0x0F, 0xE3, - 0x1D, 0xA7, 0x3F, 0xBD, 0x84, 0x14, 0x68, 0x38, 0x4F, 0x9B, 0x78, 0x8F, 0xA8, 0x73, 0x21, 0xA4, - 0x97, 0x31, 0x1B, 0xBE, 0x47, 0x13, 0x4C, 0x0E, 0x1C, 0x24, 0xA3, 0xAE, 0x9E, 0x58, 0x3B, 0x4C, - 0xCD, 0x7B, 0xA7, 0x83, 0x81, 0x28, 0x76, 0x05, 0x90, 0xB4, 0x7B, 0xA2, 0xF8, 0xDC, 0x51, 0x06, - 0xC5, 0xCF, 0x39, 0xA2, 0xE2, 0x7F, 0x6D, 0x28, 0x2D, 0x74, 0xED, 0x6F, 0x56, 0x27, 0xA9, 0xC5, - 0xB0, 0x88, 0xBF, 0x40, 0x24, 0x05, 0x1C, 0xF3, 0x02, 0x7C, 0x1B, 0xE9, 0x8A, 0x26, 0xD9, 0xCE, - 0xC8, 0x51, 0x86, 0xE8, 0x77, 0x20, 0xE7, 0x08, 0x87, 0xB2, 0x70, 0xA7, 0xE8, 0x01, 0xAF, 0xE3, - 0x64, 0xF2, 0x5F, 0x9C, 0x33, 0x04, 0xFC, 0x08, 0xD1, 0x00, 0xC6, 0xF1, 0xF1, 0xD1, 0x0F, 0x3D, - 0x0B, 0x4B, 0xC4, 0xE5, 0xC0, 0x4D, 0x4E, 0x0D, 0xA1, 0x50, 0x79, 0x7F, 0x9D, 0x54, 0x55, 0x02, - 0x35, 0x23, 0x99, 0x1E, 0xB5, 0x1A, 0xBE, 0x7D, 0x56, 0x12, 0xCA, 0x2E, 0x3B, 0x04, 0x9D, 0x18, - 0x2C, 0x74, 0xB3, 0x6B, 0x9C, 0x16, 0xA2, 0xFC, 0x93, 0x81, 0x48, 0x9F, 0xB6, 0x53, 0xC8, 0xF3, - 0xDE, 0x4D, 0x8C, 0x20, 0xD9, 0x41, 0x82, 0x51, 0xFB, 0xCA, 0xF1, 0x57, 0x6B, 0xA4, 0x6F, 0x44, - 0xBA, 0x69, 0xE2, 0x48, 0x78, 0x89, 0x11, 0x00, 0x3F, 0x9E, 0xBC, 0x8F, 0xB9, 0xA5, 0x54, 0xA8, - 0xD8, 0x3E, 0xA2, 0x34, 0xA9, 0xB1, 0xF6, 0x86, 0x55, 0x9B, 0x83, 0xE8, 0x94, 0x69, 0x31, 0x85, - 0x34, 0x63, 0x51, 0x4F, 0x71, 0x67, 0xD0, 0x44, 0x6B, 0xAB, 0x91, 0xF1, 0x61, 0x7E, 0x4C, 0x53, - 0xE8, 0xD3, 0x7D, 0x40, 0xBF, 0x45, 0x4A, 0xDF, 0x0E, 0xEF, 0x84, 0x7F, 0xC8, 0x74, 0xC3, 0xC1, - 0x6C, 0x8D, 0xE1, 0x23, 0xFD, 0x18, 0x55, 0x23, 0x4B, 0xD9, 0xF9, 0x1B, 0x5C, 0xE4, 0xC4, 0x2C, - 0x45, 0xAB, 0xBC, 0xF1, 0x1C, 0x19, 0xBD, 0x3C, 0x24, 0x37, 0x44, 0x6E, 0x26, 0x62, 0x78, 0x51, - 0x4F, 0x79, 0x4C, 0xC5, 0x7D, 0x99, 0xF3, 0x0C, 0x46, 0x24, 0x03, 0x14, 0x63, 0xAA, 0x20, 0x80, - 0x90, 0x6A, 0x69, 0x4B, 0xE7, 0xA8, 0xB4, 0xAF, 0xEA, 0x7D, 0xFB, 0xD9, 0x49, 0xC1, 0xD5, 0x05, - 0x56, 0x55, 0x43, 0xD1, 0x9B, 0x8F, 0xBF, 0x6B, 0xE7, 0xEB, 0x60, 0x4B, 0xA2, 0x0F, 0x1D, 0x73, - 0x9B, 0xBB, 0x0C, 0xE1, 0x23, 0x58, 0xFE, 0xC7, 0xA4, 0x69, 0xCB, 0x2D, 0x9E, 0xA8, 0xF7, 0xC8, - 0x49, 0x5F, 0x84, 0x22, 0x1C, 0xC5, 0x5B, 0x6F, 0x74, 0x08, 0xC4, 0x7B, 0x9F, 0xAF, 0xB8, 0xC8, - 0x1F, 0xC9, 0xBD, 0xC4, 0x7E, 0xF3, 0x28, 0xBA, 0xD2, 0xC2, 0x81, 0x78, 0xF7, 0xC3, 0xFC, 0x9B, - 0x5D, 0x66, 0xDC, 0x5F, 0x1F, 0x83, 0x63, 0x27, 0x55, 0xDF, 0x71, 0xA1, 0xCB, 0x41, 0x9D, 0x3C, - 0x29, 0xAA, 0x50, 0x5A, 0xDE, 0x01, 0xC9, 0x6B, 0xD6, 0x11, 0x14, 0x9F, 0x73, 0xCE, 0x59, 0x22, - 0xA9, 0xA2, 0xA0, 0x4E, 0xF4, 0x72, 0xAE, 0x09, 0xF7, 0x5D, 0xB7, 0xE8, 0x55, 0x38, 0xB2, 0xCF, - 0x1E, 0x69, 0x7E, 0xF4, 0x66, 0xEC, 0x2B, 0x0A, 0xA1, 0x14, 0xB8, 0x3B, 0xB6, 0xEC, 0x93, 0xE0, - 0x2F, 0xF4, 0xB7, 0xFA, 0xE2, 0x0D, 0x75, 0x78, 0xB1, 0xC7, 0xB2, 0xD3, 0xDD, 0x0D, 0xD3, 0x54, - 0xE0, 0xDC, 0x4C, 0x25, 0x7C, 0xED, 0xB3, 0x2E, 0xE0, 0x7F, 0x5F, 0xFF, 0xC1, 0x08, 0x95, 0x12, - 0x09, 0xCF, 0x97, 0x52, 0x59, 0xFC, 0xDF, 0x18, 0xDA, 0x8A, 0xD9, 0x23, 0x08, 0xAB, 0x84, 0x0B, - 0x42, 0x0C, 0xCA, 0xE4, 0xB3, 0xD9, 0x6B, 0xDE, 0x25, 0xFC, 0x61, 0x1A, 0x7F, 0xE3, 0x49, 0xBB, - 0xAD, 0x1A, 0xA9, 0xDE, 0xDD, 0xA2, 0x19, 0x34, 0x62, 0x2E, 0x0A, 0x30, 0xD4, 0x43, 0x67, 0xF8, - 0x3B, 0x07, 0x22, 0x86, 0x3A, 0x61, 0xA7, 0x7B, 0xB3, 0x36, 0x98, 0xBD, 0xFA, 0x6F, 0xC6, 0x06, - 0x24, 0x7F, 0x77, 0x8F, 0x69, 0x69, 0x30, 0x08, 0xE2, 0xA4, 0xA0, 0x88, 0xDC, 0xFD, 0xEA, 0xB9, - 0x2A, 0x4A, 0xB3, 0x1E, 0xAF, 0x43, 0x9D, 0x00, 0xAA, 0xF3, 0x6A, 0xCF, 0xBE, 0xA1, 0xBB, 0x21, - 0x02, 0x18, 0x6D, 0x00, 0x75, 0xA8, 0x93, 0x27, 0x91, 0xEB, 0x8D, 0xF0, 0x8A, 0x3F, 0xF7, 0x61, - 0x95, 0x19, 0x9A, 0x17, 0x38, 0x39, 0xEA, 0x22, 0x60, 0xD0, 0x57, 0xCC, 0x6B, 0xDB, 0x70, 0xB6, - 0x32, 0xE2, 0xFD, 0x4F, 0x4F, 0x03, 0x8B, 0xBB, 0x08, 0x3F, 0x39, 0xB1, 0x4B, 0x99, 0x50, 0x8F, - 0x7D, 0xF3, 0xE9, 0x03, 0xD9, 0xFA, 0x4B, 0xD1, 0x1C, 0x24, 0x6E, 0xEB, 0xB2, 0x25, 0xE8, 0x4F, - 0xD7, 0xEC, 0xC8, 0x9E, 0xBC, 0x18, 0x2D, 0x89, 0x13, 0xB7, 0xEF, 0x34, 0x4A, 0x07, 0x99, 0xC0, - 0x5E, 0xBA, 0x66, 0x44, 0xB5, 0xFD, 0xD4, 0xFC, 0xF9, 0xEE, 0x2E, 0xA1, 0x2C, 0x9F, 0x67, 0x9A, - 0x06, 0xD0, 0x92, 0x10, 0xA1, 0xDA, 0x40, 0xAA, 0xEF, 0x7A, 0x36, 0xB6, 0xEB, 0xB5, 0x93, 0xB9, - 0x1A, 0x44, 0xF3, 0x49, 0xC1, 0xE2, 0x5A, 0xB9, 0x44, 0xFA, 0x52, 0xF8, 0xBF, 0xA6, 0x2E, 0x30, - 0x0C, 0x81, 0x59, 0x3B, 0xAD, 0xE1, 0x77, 0x73, 0xF9, 0x4D, 0xE2, 0x0C, 0xA4, 0x67, 0x7E, 0x5C, - 0xF8, 0xB6, 0x97, 0x57, 0x38, 0x2C, 0xE6, 0xE1, 0xA1, 0x9F, 0x72, 0xFF, 0xC4, 0xFA, 0xDD, 0xFD, - 0x13, 0x8A, 0x5F, 0xBD, 0xE3, 0xA8, 0x86, 0xA5, 0x07, 0x7C, 0xEB, 0xF0, 0xFF, 0xF7, 0x84, 0x38, - 0x31, 0xE1, 0xCB, 0xC8, 0xF5, 0x98, 0x9E, 0xDA, 0x12, 0x4D, 0xB6, 0x17, 0x69, 0xE9, 0xC3, 0xAB, - 0x66, 0x73, 0xA3, 0xD5, 0xFA, 0x2F, 0x16, 0x81, 0x37, 0x0F, 0xD5, 0xA8, 0xE3, 0x65, 0xC2, 0xEF, - 0x9A, 0x0E, 0x04, 0xFB, 0xA3, 0x58, 0xF0, 0xF2, 0xEE, 0x29, 0xD3, 0x32, 0xA6, 0x15, 0x5C, 0xC6, - 0x7F, 0x6B, 0xBE, 0x71, 0x29, 0x4B, 0x5C, 0xBA, 0xAA, 0x67, 0x3A, 0x5C, 0x4F, 0xAC, 0x0F, 0x57, - 0xB1, 0x71, 0xB6, 0x89, 0x91, 0x39, 0x8E, 0x8E, 0x1B, 0x81, 0xC7, 0x8A, 0x3D, 0xF4, 0x7C, 0x33, - 0x4D, 0xD2, 0x95, 0x5D, 0xFF, 0xE4, 0xC0, 0xB1, 0x27, 0x10, 0xBB, 0x7D, 0x03, 0x87, 0x2E, 0xA3, - 0x22, 0x23, 0xBE, 0x7D, 0x8A, 0xE2, 0xF5, 0x3C, 0x67, 0xBD, 0xB9, 0xA6, 0x3D, 0x23, 0x1E, 0x3E, - 0xCF, 0xA0, 0x81, 0x41, 0xDC, 0x80, 0x00, 0x61, 0x73, 0x0D, 0x8C, 0x52, 0x00, 0xE1, 0xA8, 0xC2, - 0xD2, 0x4A, 0x13, 0xF5, 0x1A, 0x19, 0x37, 0x3D, 0x10, 0x0D, 0x8F, 0x61, 0x32, 0x89, 0x2D, 0x52, - 0x3C, 0x26, 0x4C, 0x81, 0x2B, 0xD5, 0x17, 0xD6, 0x64, 0x0A, 0x18, 0xC6, 0xD4, 0x0E, 0x13, 0xD3, - 0xD6, 0x40, 0x5F, 0xCC, 0x8B, 0xD3, 0xCC, 0x69, 0x9A, 0xAF, 0x46, 0x74, 0x4D, 0xDD, 0x2E, 0x23, - 0x59, 0xDF, 0xB1, 0x1A, 0x9F, 0xCE, 0x85, 0xB7, 0xED, 0xC6, 0x80, 0x78, 0x33, 0x88, 0xC9, 0xAA, - 0x21, 0x13, 0x81, 0x4A, 0x26, 0x7F, 0x94, 0xE1, 0x3C, 0xF6, 0x8A, 0xAC, 0x75, 0x05, 0xDB, 0xCB, - 0x12, 0x7C, 0x67, 0x67, 0x04, 0xCC, 0x33, 0x7F, 0x43, 0xD1, 0x9C, 0x0E, 0xF0, 0x50, 0xCD, 0x48, - 0x7C, 0xA6, 0x75, 0x9A, 0xBA, 0x3A, 0xC2, 0x5C, 0xCE, 0x70, 0xEE, 0xF9, 0xEA, 0xDA, 0x1D, 0x03, - 0x72, 0x69, 0x10, 0xAC, 0x34, 0x5B, 0xDA, 0xE6, 0x6D, 0x92, 0x5A, 0x62, 0x9A, 0x90, 0x86, 0xA9, - 0x07, 0x8A, 0xA2, 0x02, 0xF8, 0x1C, 0xAB, 0x6E, 0x7D, 0xD4, 0xAC, 0x7B, 0x27, 0x91, 0x7B, 0x0D, - 0x20, 0xE0, 0xAC, 0x34, 0xCB, 0x74, 0xFB, 0x26, 0xD7, 0x15, 0x14, 0x49, 0x10, 0xEF, 0xEB, 0xDE, - 0x7A, 0x73, 0x57, 0x5B, 0xE4, 0x5A, 0xC1, 0x6A, 0x4F, 0x77, 0xCC, 0xD3, 0x2E, 0x6B, 0xD4, 0xA9, - 0xCD, 0xF7, 0x78, 0x31, 0x50, 0x97, 0x21, 0x47, 0x08, 0xF1, 0x89, 0xED, 0x94, 0x48, 0x5D, 0x16, - 0xAA, 0x6E, 0x21, 0x2B, 0xEB, 0xFE, 0xDF, 0x08, 0x05, 0xE9, 0xCF, 0x06, 0xDB, 0xC4, 0x6C, 0x6C, - 0x97, 0x20, 0x7D, 0x71, 0xF2, 0xAE, 0x45, 0x5E, 0x3D, 0x8B, 0x25, 0x44, 0x8F, 0xF0, 0x01, 0x78, - 0x52, 0x4F, 0xA9, 0x6E, 0x1E, 0xCE, 0xA7, 0x1C, 0x63, 0x63, 0x8A, 0x8B, 0x78, 0xE6, 0xD2, 0x86, - 0x0D, 0x8C, 0x01, 0x7B, 0xD6, 0x91, 0xA6, 0xFA, 0x82, 0xA5, 0x0B, 0x39, 0xE5, 0x12, 0x3C, 0x2A, - 0x6F, 0x89, 0x95, 0xDB, 0x11, 0x75, 0x41, 0xBA, 0xE3, 0x81, 0x34, 0xFF, 0xE9, 0xDE, 0x6B, 0xC6, - 0x9B, 0x02, 0x97, 0x06, 0x96, 0x5A, 0x15, 0x2C, 0xB0, 0x3D, 0xFF, 0xD6, 0xCE, 0xE4, 0x47, 0xE3, - 0x69, 0x7D, 0xAF, 0x13, 0x93, 0x6E, 0x35, 0x84, 0x44, 0xF4, 0x46, 0xA9, 0x2F, 0x13, 0x07, 0xA3, - 0xBC, 0xE8, 0x2E, 0xD3, 0x43, 0xC7, 0xF9, 0xAB, 0x8D, 0xF4, 0xCE, 0xB5, 0x3A, 0xE3, 0x40, 0xE3, - 0x82, 0x0F, 0x45, 0x5F, 0x01, 0x64, 0x09, 0x6B, 0x9E, 0x45, 0x7D, 0x31, 0xFC, 0xB3, 0x80, 0x70, - 0x7F, 0x69, 0x45, 0x0E, 0x27, 0xE6, 0x50, 0xAC, 0x5D, 0x5B, 0xC7, 0x3A, 0x81, 0xB6, 0x01, 0x82, - 0xD3, 0xD3, 0xCA, 0xF8, 0x61, 0xC8, 0x4B, 0xC5, 0xE3, 0xC7, 0x71, 0x00, 0x30, 0x66, 0x20, 0x02, - 0xE1, 0xE3, 0xF8, 0x73, 0x25, 0x77, 0x08, 0xB9, 0xAE, 0x7B, 0xD7, 0x0A, 0x20, 0xB8, 0xF2, 0xFA, - 0x2C, 0x81, 0x45, 0x99, 0xBA, 0x87, 0x49, 0x7D, 0x03, 0x19, 0x7C, 0x43, 0x7D, 0x1F, 0x48, 0x56, - 0xF8, 0xBC, 0xB3, 0x39, 0xFD, 0xF7, 0x44, 0x2A, 0x16, 0x26, 0xB4, 0x9D, 0xC3, 0x1D, 0x74, 0xF0, - 0x27, 0x11, 0xF8, 0x24, 0xAA, 0x33, 0x03, 0x54, 0x29, 0x07, 0x4C, 0x04, 0x0B, 0x76, 0x6F, 0x2C, - 0xDB, 0xAE, 0x57, 0x48, 0x9E, 0x27, 0xE2, 0x87, 0x15, 0x45, 0x4E, 0x09, 0xF7, 0x53, 0xCA, 0x61, - 0xF2, 0xF0, 0xC8, 0x9D, 0x00, 0x0A, 0x0A, 0x6D, 0x2D, 0x62, 0xF3, 0x34, 0x14, 0xD5, 0x99, 0xBD, - 0x83, 0xCA, 0x8A, 0x95, 0x18, 0x7C, 0x67, 0xC8, 0xCE, 0x5A, 0x26, 0xFA, 0x6D, 0xC9, 0x21, 0x41, - 0x5F, 0x89, 0xEF, 0x5C, 0xDF, 0x22, 0xFD, 0x4F, 0x86, 0xC4, 0x33, 0xAA, 0x28, 0xC3, 0x7C, 0x96, - 0x98, 0x1D, 0x59, 0x8D, 0x7E, 0x93, 0xC2, 0xAA, 0x56, 0x4E, 0x05, 0xBA, 0x7C, 0xBA, 0x04, 0x65, - 0x57, 0xD5, 0xD4, 0x03, 0x46, 0x13, 0x04, 0xBE, 0x85, 0x02, 0xE8, 0x02, 0xE9, 0xBF, 0xC7, 0xC6, - 0x1E, 0xD3, 0xDC, 0xBB, 0xCD, 0x20, 0x19, 0xF4, 0xBE, 0xA3, 0x00, 0x49, 0x50, 0x8F, 0xF2, 0xF6, - 0xA9, 0x6E, 0xDA, 0x72, 0x39, 0xF8, 0x9C, 0xE8, 0x98, 0xF6, 0x0F, 0xFB, 0x95, 0x5B, 0x96, 0x92, - 0xEA, 0x56, 0x1A, 0x56, 0x04, 0xFD, 0xD4, 0x8A, 0xA4, 0x35, 0xC6, 0x43, 0x46, 0xF6, 0x42, 0xE5, - 0x9E, 0x8D, 0x6B, 0x6B, 0x8D, 0x6B, 0x7E, 0x6E, 0xE2, 0x50, 0xA3, 0x9C, 0xFF, 0x79, 0xDD, 0x6E, - 0xFE, 0xE7, 0x6C, 0x44, 0x4D, 0xF8, 0xEC, 0xDB, 0x76, 0xEC, 0x73, 0xE8, 0x06, 0x18, 0xBD, 0x58, - 0xA8, 0x48, 0xBD, 0xC6, 0x47, 0xD5, 0x9F, 0x5C, 0xC0, 0x30, 0x36, 0x82, 0xC9, 0x74, 0xA1, 0xB5, - 0xB5, 0xD3, 0x23, 0x8A, 0x88, 0xF6, 0x24, 0x6F, 0x6E, 0x4A, 0x3A, 0xEA, 0x5E, 0x88, 0x06, 0xE0, - 0x22, 0xDB, 0x01, 0x78, 0x52, 0x43, 0x5D, 0xA5, 0x40, 0x7A, 0xE0, 0x0C, 0x40, 0x6C, 0x4A, 0x01, - 0x93, 0x19, 0x0D, 0x24, 0x04, 0xB7, 0x87, 0x38, 0x8A, 0x67, 0x17, 0x3D, 0xDD, 0x4A, 0xCE, 0xE7, - 0x9D, 0x1B, 0xB9, 0x50, 0x59, 0x2E, 0x2A, 0x18, 0x2A, 0x95, 0xDD, 0x9D, 0x37, 0x16, 0x54, 0xCE, - 0x1A, 0x9C, 0xE3, 0xFD, 0xC1, 0x83, 0xAE, 0x7C, 0x55, 0x44, 0xBD, 0x32, 0x99, 0xF4, 0xB7, 0x96, - 0x8C, 0x25, 0x4C, 0x12, 0x78, 0x3F, 0x10, 0x8E, 0x36, 0xCB, 0x2F, 0xEF, 0xF8, 0xD8, 0xD1, 0x6A, - 0xBE, 0x41, 0x40, 0x4B, 0x54, 0xEF, 0x68, 0x18, 0xA7, 0x55, 0x6E, 0xB0, 0x0A, 0x1C, 0x7A, 0xA7, - 0xF5, 0x48, 0x23, 0x10, 0x11, 0xA9, 0xDC, 0x56, 0x58, 0xD9, 0xD6, 0xA9, 0x31, 0x54, 0xE4, 0xD0, - 0xBB, 0x54, 0x67, 0x3D, 0xDC, 0xEA, 0xC0, 0x47, 0x6A, 0x65, 0x55, 0x0E, 0xEF, 0xD0, 0xE8, 0x49, - 0x4F, 0x51, 0x1F, 0xED, 0xF6, 0x72, 0x51, 0x6E, 0x25, 0xA8, 0xC5, 0x14, 0xE1, 0x4D, 0x9F, 0x1B, - 0xB1, 0x59, 0x0A, 0x9A, 0x41, 0x1B, 0xF7, 0xC3, 0x09, 0x57, 0x81, 0xD6, 0xA2, 0x02, 0x17, 0x94, - 0xAD, 0x5B, 0xFB, 0x64, 0x52, 0xD9, 0xED, 0x6F, 0x5E, 0x53, 0xE5, 0xB7, 0xD6, 0x11, 0xAC, 0xE8, - 0x60, 0x9B, 0x1B, 0x74, 0x96, 0x23, 0x9A, 0x94, 0x70, 0xC0, 0x58, 0x36, 0x36, 0xB0, 0xB6, 0xBC, - 0xE9, 0xED, 0xCA, 0xD2, 0x48, 0x2C, 0x63, 0x5D, 0xFE, 0x18, 0x99, 0x8E, 0xA7, 0x28, 0x3A, 0x3F, - 0x85, 0x58, 0x4A, 0x7C, 0x2B, 0x55, 0x3C, 0xDB, 0x1E, 0x5D, 0x8E, 0xA2, 0xB3, 0x2E, 0x57, 0xC9, - 0xCA, 0xB2, 0x5E, 0xE6, 0xCE, 0xEA, 0xFC, 0x2B, 0xC6, 0xEE, 0xD9, 0x52, 0x37, 0x92, 0x46, 0xDD, - 0xFA, 0xA9, 0x9D, 0x04, 0x6E, 0x96, 0x77, 0x7D, 0x99, 0x87, 0x0C, 0x1C, 0x4D, 0x30, 0x7D, 0x5A, - 0x95, 0x3F, 0xBB, 0x14, 0x56, 0xC9, 0x42, 0xAB, 0x66, 0x03, 0x0E, 0xBF, 0xBC, 0x94, 0x6B, 0x0B, - 0xC8, 0xC1, 0x8C, 0x8D, 0x51, 0x6D, 0xEB, 0x6B, 0xD1, 0x17, 0x8D, 0xBD, 0x59, 0x1B, 0x45, 0xAE, - 0x06, 0xA3, 0xE7, 0xA1, 0x18, 0xE1, 0x39, 0xBC, 0xD2, 0x04, 0x70, 0x2C, 0xA9, 0x43, 0xF6, 0xEC, - 0xD1, 0x60, 0x81, 0xB7, 0x41, 0xD7, 0xA1, 0x39, 0xE8, 0x64, 0x62, 0x04, 0x92, 0xD2, 0xAC, 0x52, - 0x2D, 0xC6, 0x5C, 0x6E, 0x31, 0xAA, 0x47, 0x1F, 0xDD, 0x92, 0x64, 0x68, 0xC7, 0xA2, 0x03, 0x57, - 0xA4, 0x86, 0x13, 0x65, 0xF2, 0x50, 0x31, 0x91, 0xFD, 0xDA, 0x5C, 0x5F, 0xFD, 0x40, 0xA5, 0x0B, - 0x86, 0x40, 0x68, 0x0B, 0x4D, 0x3B, 0x29, 0x17, 0x49, 0xC3, 0x01, 0x26, 0x06, 0x5E, 0xE6, 0xF7, - 0xA5, 0xFD, 0xEC, 0xCE, 0x15, 0x2D, 0x84, 0x00, 0xA3, 0x8E, 0x2B, 0xA4, 0x6C, 0xE7, 0x47, 0xDA, - 0xCB, 0x05, 0x50, 0x27, 0x49, 0x28, 0x75, 0x74, 0x23, 0xD8, 0x59, 0xCE, 0xC4, 0x6D, 0x1B, 0x48, - 0xEE, 0xB2, 0x63, 0x80, 0x30, 0xD1, 0x32, 0x85, 0x9D, 0x88, 0x37, 0x02, 0x68, 0x3F, 0x3B, 0x88, - 0x96, 0x33, 0x90, 0x58, 0xCE, 0x39, 0x23, 0x99, 0x3C, 0xA0, 0x3D, 0x33, 0x8E, 0xB2, 0x0E, 0xDF, - 0x8B, 0x52, 0xE1, 0xE6, 0xA5, 0x58, 0xA0, 0x3C, 0x09, 0x78, 0xAF, 0x86, 0xD4, 0xB9, 0x4C, 0xDB, - 0x61, 0x06, 0xB5, 0x55, 0xD4, 0x0E, 0x7B, 0x18, 0xFC, 0x5C, 0xF1, 0x90, 0x7C, 0x6A, 0xE8, 0xC4, - 0x78, 0xAE, 0x53, 0xF4, 0xE6, 0x36, 0xB7, 0x65, 0xF7, 0x51, 0x3B, 0x56, 0x48, 0x56, 0x29, 0xE7, - 0x65, 0x61, 0xAD, 0x4E, 0x8C, 0xB0, 0x80, 0xDC, 0xAD, 0xCC, 0x38, 0x7E, 0x31, 0x3E, 0x6B, 0x92, - 0x7D, 0xC4, 0x95, 0x62, 0x6E, 0xAD, 0xB6, 0xB5, 0xF2, 0x09, 0x3D, 0x1B, 0x6F, 0x8A, 0x51, 0x05, - 0xB7, 0x08, 0x62, 0xD0, 0x33, 0x1A, 0xEA, 0xBD, 0x0A, 0x1C, 0x33, 0x9A, 0x0C, 0x27, 0x93, 0xE3, - 0x40, 0x4A, 0xB9, 0xBD, 0xCB, 0x16, 0xCC, 0x09, 0x1B, 0xF7, 0x82, 0xC5, 0xE3, 0xFD, 0xB9, 0xE5, - 0x9A, 0x10, 0x2E, 0xCC, 0x76, 0xB7, 0x28, 0x9C, 0xAB, 0x7A, 0x15, 0x85, 0x22, 0x84, 0xBF, 0x7A, - 0x76, 0xEA, 0x54, 0x1F, 0xEF, 0x11, 0xF4, 0x9F, 0x91, 0x66, 0x55, 0x9B, 0xFC, 0x7C, 0x6D, 0x40, - 0xCE, 0x08, 0xDB, 0xA6, 0x30, 0xA7, 0xBC, 0x54, 0x5B, 0x44, 0x1E, 0xCE, 0x18, 0xC8, 0x7D, 0x25, - 0x8F, 0x42, 0x00, 0xD3, 0x79, 0x98, 0x78, 0x6A, 0xA5, 0x0B, 0x2C, 0x55, 0x16, 0xB0, 0xB3, 0xEE, - 0x1D, 0x28, 0x9A, 0x2B, 0xDA, 0xF7, 0x54, 0xEB, 0xA8, 0x19, 0xBA, 0x85, 0xE5, 0x0E, 0x55, 0xDA, - 0x45, 0x23, 0xA2, 0x7D, 0x2B, 0x1F, 0xB1, 0x16, 0x03, 0xC8, 0x0D, 0xFE, 0xB5, 0x4D, 0x13, 0x32, - 0x21, 0x83, 0xB1, 0x35, 0xA8, 0xEE, 0xA2, 0x95, 0xAD, 0xB6, 0x11, 0x69, 0x0A, 0x57, 0xCF, 0x88, - 0x65, 0xA8, 0xBF, 0xDB, 0xB2, 0x37, 0xED, 0x5B, 0xF0, 0xCA, 0xEF, 0x5F, 0x9D, 0xF1, 0x21, 0x96, - 0xF5, 0x97, 0xE2, 0x0F, 0x81, 0x47, 0x70, 0x42, 0xDD, 0xE4, 0x1B, 0xA6, 0x5F, 0x60, 0x3E, 0x60, - 0x79, 0x97, 0xA6, 0x8E, 0x7E, 0xFE, 0x32, 0xCF, 0x92, 0x95, 0x6A, 0xEF, 0x1E, 0x5C, 0xDB, 0x3A, - 0x2E, 0xA5, 0xDA, 0xE5, 0x22, 0x0A, 0x8E, 0xC2, 0xB0, 0x0D, 0x25, 0xC5, 0xF5, 0x9C, 0x5D, 0x95, - 0x39, 0x47, 0x63, 0x3C, 0x49, 0x8C, 0x88, 0x84, 0x41, 0x07, 0x49, 0xD7, 0x84, 0xC3, 0x40, 0x24, - 0xF8, 0xA8, 0x96, 0xC1, 0xF9, 0xEC, 0x10, 0xA0, 0xE4, 0xEA, 0xC0, 0xC7, 0x58, 0x3A, 0x70, 0xC2, - 0xD0, 0xE0, 0xA8, 0x06, 0xFD, 0x3F, 0xE3, 0xE9, 0x33, 0x32, 0xA6, 0x83, 0x09, 0x99, 0x40, 0x39, - 0x2D, 0xCE, 0xC5, 0xBC, 0xE9, 0xE7, 0xBB, 0x66, 0xCE, 0xE3, 0x68, 0x6A, 0x73, 0x4B, 0xEC, 0x11, - 0xAE, 0x70, 0xD3, 0xA6, 0x84, 0xB6, 0x34, 0x75, 0x82, 0x8F, 0x35, 0x61, 0xD2, 0xE2, 0x4D, 0x23, - 0xAC, 0xA4, 0xF6, 0x72, 0x98, 0x19, 0x90, 0xA7, 0x6B, 0x54, 0x5A, 0xC6, 0xB8, 0xD7, 0xEE, 0xAA, - 0xA1, 0xCD, 0x38, 0x75, 0x36, 0x20, 0xFE, 0x22, 0x48, 0x6C, 0x26, 0x79, 0x9D, 0x89, 0xDF, 0x61, - 0xFC, 0x42, 0x7C, 0xAE, 0xF3, 0x7F, 0xE0, 0x14, 0xCA, 0x91, 0x04, 0xE5, 0xEC, 0x91, 0x98, 0x2D, - 0xC4, 0xC0, 0xFA, 0x3D, 0x7E, 0x8D, 0x02, 0x1E, 0x07, 0xD4, 0x8D, 0x55, 0x5A, 0xE7, 0x60, 0xD4, - 0xC2, 0x42, 0x41, 0x38, 0xB1, 0x3E, 0x72, 0x01, 0xBA, 0x16, 0x71, 0x96, 0xD8, 0x01, 0xF6, 0x69, - 0x9D, 0xF5, 0xC5, 0x8B, 0x12, 0x37, 0x12, 0x46, 0x77, 0xD0, 0x36, 0x5E, 0x01, 0x83, 0x7E, 0x71, - 0x97, 0x3E, 0x4F, 0xD2, 0x71, 0x8F, 0x9F, 0x52, 0x2C, 0xD8, 0x4E, 0x95, 0xBC, 0x92, 0xD8, 0x8D, - 0xF9, 0x63, 0xB7, 0x94, 0x10, 0xBB, 0xCD, 0xAB, 0xC7, 0xD8, 0x6B, 0x39, 0xFB, 0xD5, 0xF7, 0xF5, - 0x8B, 0x1D, 0xD4, 0x6C, 0x23, 0xFB, 0x47, 0xE8, 0xB6, 0x4F, 0x05, 0x29, 0x1F, 0x24, 0x81, 0x1C, - 0x98, 0xD0, 0x36, 0x70, 0xD7, 0x53, 0x9E, 0x11, 0xF3, 0xA8, 0xC5, 0x5F, 0x08, 0x20, 0x03, 0x32, - 0x9B, 0x7C, 0x9A, 0xA9, 0xFB, 0x7D, 0xF6, 0x41, 0xDB, 0x0A, 0xD8, 0x39, 0x33, 0x17, 0xC9, 0x6A, - 0x51, 0x39, 0x17, 0xD8, 0xEF, 0x65, 0xCA, 0x1D, 0xCB, 0xB2, 0xC1, 0xEF, 0x0F, 0xDB, 0xA9, 0x38, - 0x0F, 0x9D, 0x8B, 0xCF, 0x95, 0x8D, 0x19, 0x3A, 0x50, 0x0E, 0x2B, 0x5B, 0xD4, 0x00, 0x07, 0x14, - 0x6C, 0xCC, 0x37, 0x66, 0xD0, 0x67, 0xCB, 0xE4, 0xF1, 0x16, 0xDA, 0xA9, 0xB0, 0x61, 0x56, 0x12, - 0xB4, 0x18, 0x6F, 0x0B, 0xBB, 0x7E, 0x4F, 0x3A, 0xEC, 0xB9, 0x80, 0xD0, 0xC4, 0x5B, 0x88, 0x4D, - 0x0C, 0x22, 0xA8, 0xD3, 0x12, 0x77, 0x31, 0xC1, 0xCC, 0x9E, 0xA7, 0xBF, 0x2F, 0x0B, 0x22, 0xC3, - 0xFA, 0x76, 0x3D, 0x86, 0x19, 0xC9, 0x30, 0x90, 0xA4, 0x8F, 0xD2, 0xF5, 0xC9, 0x7A, 0x65, 0x15, - 0x2A, 0x6D, 0x8C, 0x52, 0xAE, 0x5C, 0x46, 0xBA, 0x1C, 0x50, 0xF2, 0x26, 0xBF, 0x07, 0x8D, 0xD7, - 0x85, 0xBD, 0xF4, 0x92, 0x2B, 0x67, 0x50, 0x60, 0xEA, 0x5C, 0x37, 0x9C, 0x13, 0xE5, 0x48, 0xD9, - 0x6F, 0x41, 0x91, 0x12, 0x28, 0x36, 0x64, 0x09, 0x4D, 0x6B, 0x0A, 0x07, 0x50, 0x7F, 0xF2, 0x33, - 0x29, 0x1F, 0x01, 0xD3, 0x3B, 0x50, 0xE8, 0xAA, 0xFA, 0xC6, 0x6D, 0x89, 0x7B, 0x81, 0xCD, 0xDA, - 0xE6, 0x89, 0x97, 0x65, 0x40, 0x97, 0xB3, 0x09, 0xE9, 0xDE, 0xC9, 0xD9, 0x3E, 0x95, 0x45, 0x27, - 0x5F, 0x09, 0xE8, 0x0D, 0xBB, 0x2A, 0x44, 0x8E, 0x0D, 0xD3, 0x3B, 0x24, 0xA0, 0xB5, 0x29, 0x53, - 0x94, 0x9E, 0xC0, 0x95, 0x6C, 0x17, 0x7E, 0x98, 0x47, 0x3A, 0xCF, 0x64, 0xEF, 0xE1, 0x76, 0x1D, - 0xAB, 0x33, 0xDC, 0x26, 0x6E, 0xEF, 0xB2, 0x72, 0x14, 0x39, 0xAD, 0x5B, 0xA5, 0x06, 0x09, 0x1B, - 0xD1, 0x28, 0x61, 0x95, 0x20, 0xB7, 0xC6, 0x9E, 0xB3, 0xF7, 0x73, 0xB6, 0xD8, 0xEB, 0x18, 0x29, - 0x67, 0x80, 0x4E, 0x5E, 0xD7, 0x50, 0x16, 0x3B, 0x6D, 0x15, 0xDF, 0x07, 0x7E, 0xF0, 0x7D, 0x1A, - 0xDD, 0x14, 0x37, 0x10, 0x9B, 0x59, 0x13, 0x98, 0x40, 0x9F, 0x22, 0x85, 0x74, 0xA9, 0x5C, 0x81, - 0x6E, 0x85, 0x18, 0xB5, 0xD4, 0x8C, 0x43, 0x8C, 0x25, 0x47, 0x1C, 0xFF, 0x3D, 0x59, 0xFC, 0x53, - 0xEC, 0x94, 0xAB, 0xCD, 0x24, 0xCC, 0xD6, 0x63, 0x6D, 0x24, 0x87, 0xAA, 0x04, 0xA3, 0x61, 0x00, - 0x14, 0x99, 0xB8, 0x0D, 0x83, 0xB6, 0xBD, 0xEA, 0x9F, 0x52, 0x58, 0x9C, 0xA1, 0xE4, 0x46, 0xCC, - 0xDC, 0x63, 0x09, 0x31, 0xB6, 0x9A, 0xBF, 0x6C, 0x8C, 0x67, 0x8C, 0x97, 0x36, 0xE9, 0xB4, 0x47, - 0x77, 0x44, 0x64, 0xC5, 0x04, 0x56, 0x18, 0x65, 0x82, 0xD6, 0x41, 0xA4, 0x45, 0xA8, 0xAC, 0x70, - 0x93, 0xAC, 0xFF, 0x5A, 0xF7, 0x7F, 0x63, 0xC9, 0xA9, 0xB1, 0xFF, 0xCA, 0x46, 0x5D, 0x97, 0xF8, - 0x86, 0x66, 0xCD, 0x95, 0x62, 0xEE, 0x69, 0x5D, 0x28, 0x86, 0x23, 0x0F, 0xCD, 0xC7, 0x78, 0x0D, - 0x53, 0xAA, 0x21, 0x83, 0x77, 0x0E, 0x75, 0xDD, 0xC5, 0x7A, 0x52, 0x10, 0xF8, 0xAA, 0xBA, 0x45, - 0xEE, 0x47, 0x79, 0xFD, 0x5D, 0x25, 0xF3, 0x5F, 0x2A, 0xDB, 0x7B, 0x08, 0xE3, 0x42, 0xD6, 0x10, - 0xAF, 0xC4, 0xB7, 0x03, 0x87, 0x3F, 0xFB, 0x52, 0x12, 0xF6, 0x09, 0x5F, 0xBF, 0x3C, 0x57, 0x4C, - 0xA0, 0x7C, 0x4A, 0xCC, 0x72, 0x31, 0x2F, 0x5F, 0x38, 0x34, 0xBE, 0x17, 0x84, 0xB9, 0x61, 0x15, - 0x48, 0x30, 0x9C, 0x8F, 0x51, 0xDA, 0x1F, 0xF2, 0xF3, 0xA3, 0xF7, 0x07, 0xE2, 0xA4, 0xD6, 0xED, - 0xA5, 0xF0, 0x08, 0x28, 0xB6, 0xCA, 0x1A, 0xEF, 0xC8, 0x7E, 0x38, 0x17, 0x05, 0x62, 0x30, 0x6F, - 0x96, 0xFA, 0x9C, 0x75, 0x97, 0x5C, 0xD4, 0xB9, 0xE6, 0x11, 0x08, 0xF8, 0xA4, 0x3F, 0xE3, 0xCE, - 0xD3, 0x42, 0xA3, 0xA8, 0x80, 0xEE, 0xB8, 0x82, 0xA3, 0xDD, 0x5E, 0x24, 0xDF, 0x4C, 0x49, 0x06, - 0x03, 0x2D, 0x9C, 0xFE, 0xA7, 0x50, 0xD9, 0x9D, 0xDB, 0x3D, 0x3E, 0xB2, 0x5F, 0xDE, 0xEB, 0x6D, - 0x66, 0x04, 0x39, 0x6D, 0x17, 0x37, 0x56, 0x51, 0xEB, 0x6F, 0x4A, 0x4D, 0x6A, 0x74, 0x47, 0x37, - 0x3B, 0x63, 0x09, 0x36, 0x67, 0xE9, 0x12, 0xB2, 0xE7, 0xDD, 0x18, 0xEE, 0x10, 0x9A, 0x1C, 0x4A, - 0x70, 0xCC, 0x25, 0x34, 0x2B, 0xAB, 0xA6, 0xBA, 0xC8, 0x02, 0xA0, 0x11, 0xA7, 0xD2, 0x73, 0x2A, - 0x42, 0xE3, 0xF7, 0xA3, 0x0F, 0xCC, 0xDE, 0x98, 0x2A, 0x6D, 0xE1, 0x4A, 0x1F, 0x16, 0xB6, 0x4C, - 0xD4, 0x2E, 0x1B, 0x22, 0x19, 0x22, 0x60, 0x0B, 0xE3, 0xE3, 0x73, 0x8E, 0xB7, 0x3A, 0xB1, 0xC3, - 0x53, 0x7F, 0x72, 0x10, 0xF3, 0xA3, 0xE4, 0x99, 0x84, 0x3B, 0x13, 0x73, 0xFC, 0xD8, 0x1D, 0x66, - 0x5D, 0x5B, 0xA1, 0x5E, 0x8B, 0x27, 0x49, 0x85, 0x2F, 0x23, 0xD9, 0x01, 0x29, 0x84, 0xFA, 0x44, - 0xEC, 0x91, 0xA8, 0x96, 0x86, 0x64, 0x93, 0xB5, 0x72, 0x42, 0x2E, 0x9E, 0x70, 0xA2, 0x55, 0xF5, - 0x7B, 0x95, 0x4A, 0x96, 0x9F, 0x10, 0xEA, 0x4F, 0xB6, 0x3A, 0xF4, 0x0B, 0xB0, 0x46, 0xA4, 0xBB, - 0x04, 0xAA, 0x3E, 0x99, 0x4C, 0x43, 0x32, 0x5B, 0x60, 0x24, 0x17, 0x99, 0xBF, 0x5C, 0xA6, 0xFF, - 0x4B, 0xAF, 0x1C, 0x61, 0x49, 0xE7, 0xF2, 0x5A, 0x52, 0xA4, 0x40, 0x28, 0x8D, 0xE0, 0xF7, 0xD7, - 0x27, 0x29, 0x26, 0x09, 0x1D, 0xD5, 0xAD, 0x32, 0x66, 0xC8, 0x57, 0xAB, 0x41, 0xE6, 0xE7, 0x85, - 0xAE, 0x1D, 0x77, 0x2D, 0xCB, 0x19, 0x54, 0x79, 0xFC, 0x54, 0x96, 0xF7, 0xDC, 0x7E, 0x78, 0xB1, - 0x63, 0x14, 0xED, 0xC6, 0xAA, 0x78, 0x23, 0x11, 0xEC, 0xF2, 0x2B, 0x8E, 0x86, 0xDF, 0x53, 0xE7, - 0x7F, 0x60, 0x48, 0x66, 0x25, 0xF1, 0x39, 0xBC, 0x6C, 0xF3, 0x4F, 0x40, 0xEE, 0xCC, 0x22, 0xBD, - 0x81, 0x7E, 0x34, 0x47, 0x7E, 0x40, 0x9F, 0x17, 0x76, 0xC5, 0x0B, 0xE8, 0x46, 0x83, 0xAA, 0xB3, - 0x75, 0x7D, 0xEE, 0xF4, 0x66, 0x6E, 0x0E, 0xCC, 0xDA, 0x13, 0x9B, 0x94, 0x0C, 0x1E, 0x06, 0xAC, - 0x48, 0x57, 0xBE, 0xCE, 0xD0, 0xCC, 0xE7, 0x72, 0xDB, 0x9F, 0xCF, 0xBC, 0x55, 0x90, 0x8A, 0x70, - 0x6A, 0x59, 0x88, 0x4B, 0x99, 0x37, 0xFF, 0xA5, 0x8D, 0x48, 0x92, 0x5E, 0x87, 0x8E, 0xE1, 0xB0, - 0xE3, 0xD2, 0x23, 0xB1, 0x11, 0xAD, 0x89, 0xC1, 0x33, 0x4F, 0xAA, 0x7C, 0xA9, 0x6C, 0xF9, 0x2C, - 0x1F, 0x79, 0x53, 0x23, 0x62, 0x34, 0x6F, 0x89, 0x94, 0xEB, 0xAC, 0x7C, 0xB6, 0x1C, 0x25, 0xFA, - 0xC8, 0x37, 0xD4, 0x66, 0xEF, 0x00, 0xF7, 0xB4, 0xAA, 0x46, 0xBE, 0x83, 0x04, 0x8D, 0xDA, 0xE4, - 0x06, 0x98, 0x5E, 0xDE, 0x22, 0xFA, 0x25, 0xD5, 0x9B, 0x9B, 0x43, 0xA2, 0x72, 0xD5, 0x36, 0x51, - 0x5B, 0xD4, 0x90, 0x31, 0xB2, 0x96, 0x8C, 0x32, 0x33, 0xC0, 0xC0, 0x01, 0x0B, 0x5A, 0x7D, 0xE9, - 0x34, 0xA2, 0x7D, 0x4A, 0xBA, 0x43, 0xB9, 0x23, 0xB5, 0x12, 0xC2, 0xD4, 0x08, 0xFE, 0x95, 0xFE, - 0xAB, 0x15, 0xC4, 0x5C, 0xCD, 0x6C, 0x4E, 0xD8, 0x46, 0x85, 0xF6, 0x20, 0x75, 0xF0, 0x50, 0xEF, - 0xB6, 0xF1, 0x7B, 0xE9, 0x8A, 0x07, 0x79, 0x1A, 0x93, 0x06, 0xF5, 0x91, 0x78, 0x98, 0xD4, 0xF4, - 0xAF, 0x6C, 0xEF, 0xA7, 0x85, 0x5A, 0xB5, 0xFF, 0xA0, 0xDF, 0x3F, 0xDC, 0xFA, 0xA4, 0x2B, 0x45, - 0x45, 0x1B, 0x9A, 0xA5, 0x56, 0x3D, 0x6E, 0x52, 0x87, 0xAF, 0x61, 0xE7, 0xC4, 0x77, 0xC0, 0x35, - 0x58, 0xE3, 0xBB, 0x69, 0x79, 0xDA, 0xED, 0xAB, 0x7D, 0xCA, 0xF3, 0xF0, 0x97, 0x7C, 0x86, 0xFD, - 0x20, 0xF9, 0xE4, 0x60, 0x92, 0x20, 0xFC, 0x89, 0x54, 0xDD, 0xF9, 0xFE, 0x61, 0xF1, 0x6E, 0x55, - 0x05, 0xF5, 0x96, 0xD3, 0x0B, 0x16, 0xBB, 0x39, 0x1F, 0xE6, 0x97, 0x23, 0xE8, 0xA3, 0x4D, 0x95, - 0x6B, 0x24, 0x2F, 0x68, 0x05, 0xBA, 0x4A, 0xE4, 0xF3, 0xD2, 0xE5, 0xA1, 0xAD, 0x29, 0xAE, 0x72, - 0x9C, 0x5F, 0x3F, 0x5E, 0x5D, 0x96, 0x69, 0x05, 0x1A, 0x2E, 0x44, 0xE0, 0x86, 0x28, 0x86, 0x9A, - 0x59, 0x90, 0x86, 0x53, 0x07, 0xC3, 0x8B, 0x1B, 0x9E, 0xA3, 0xEB, 0x6B, 0x52, 0x3E, 0x8C, 0x99, - 0x64, 0xAE, 0x7A, 0xDD, 0xE9, 0x21, 0x11, 0x74, 0x0E, 0x58, 0x01, 0xA8, 0x9E, 0x0A, 0x83, 0x6E, - 0x03, 0x48, 0x7F, 0xC0, 0x0F, 0xE8, 0xEF, 0xE3, 0xD0, 0xFB, 0x47, 0x22, 0x52, 0x86, 0x7B, 0x62, - 0xB4, 0x76, 0xBF, 0xE6, 0xC6, 0x62, 0x0F, 0x58, 0xC2, 0xE8, 0x02, 0xE1, 0x73, 0xA5, 0x21, 0xC0, - 0xEE, 0x44, 0x8E, 0xAF, 0x59, 0x1A, 0x35, 0xF6, 0x32, 0xBF, 0xDA, 0x73, 0x98, 0x21, 0x69, 0x7C, - 0xC9, 0x04, 0x4E, 0x79, 0x4A, 0x76, 0x65, 0xF9, 0xCE, 0x65, 0x62, 0x34, 0x5D, 0x5F, 0x78, 0xFE, - 0xBC, 0xBF, 0x85, 0xA2, 0xD4, 0x9D, 0x14, 0x72, 0x7C, 0x6A, 0x94, 0xB2, 0xBA, 0x5E, 0xC0, 0x3F, - 0x1D, 0x04, 0xC7, 0xA5, 0xF5, 0xAF, 0x85, 0x72, 0x79, 0x7D, 0xBF, 0xD7, 0x7B, 0xA8, 0x3D, 0x38, - 0xB1, 0xE9, 0xA8, 0x1D, 0xAF, 0xD6, 0x9E, 0x38, 0xA6, 0xC5, 0x09, 0x07, 0x17, 0x78, 0x75, 0xA6, - 0x4C, 0x12, 0xBB, 0xE7, 0x6B, 0xA9, 0xC7, 0x93, 0xF1, 0x7C, 0xB3, 0x15, 0xC6, 0x7D, 0xA0, 0x50, - 0x72, 0x6C, 0xC5, 0x28, 0x0D, 0x76, 0x37, 0x8E, 0x28, 0xAD, 0x00, 0xD0, 0x15, 0x2D, 0x67, 0x70, - 0xA7, 0x19, 0xBC, 0x71, 0x5F, 0xA5, 0xFB, 0x84, 0xC2, 0x17, 0x88, 0x39, 0xF4, 0xDD, 0x74, 0x9A, - 0x55, 0x6F, 0x8F, 0x43, 0xAE, 0x6B, 0xDB, 0x99, 0x9E, 0x80, 0x31, 0x27, 0xEB, 0x2A, 0xE5, 0xC5, - 0xA1, 0xBF, 0x1C, 0xBE, 0xE4, 0x81, 0x8F, 0xCF, 0x29, 0x21, 0xFA, 0x7A, 0xEA, 0x10, 0xAA, 0xD4, - 0xC3, 0x8E, 0x44, 0x4C, 0x15, 0x41, 0x68, 0x1B, 0x8F, 0xF3, 0xC5, 0x70, 0x64, 0xDC, 0x37, 0xC1, - 0x91, 0xDF, 0x35, 0x19, 0x6B, 0x2D, 0x33, 0x71, 0x28, 0x35, 0xFD, 0xA8, 0x65, 0x0D, 0x6F, 0xDA, - 0x4D, 0xB8, 0xB0, 0xE0, 0x68, 0x9A, 0xA9, 0x6E, 0x31, 0x1C, 0xE8, 0x13, 0x89, 0x07, 0xBF, 0xCF, - 0x3C, 0x98, 0xCE, 0xC0, 0xB7, 0x65, 0xC4, 0x3C, 0x51, 0xCA, 0x3D, 0x76, 0x21, 0x1B, 0x24, 0xF3, - 0x15, 0xAD, 0xF5, 0xBA, 0x02, 0x04, 0x2C, 0x8B, 0x7F, 0xD2, 0x80, 0xDD, 0x17, 0x9D, 0x66, 0x25, - 0xE9, 0x6A, 0x90, 0x4F, 0xA5, 0xB2, 0xCD, 0x60, 0x9F, 0xAF, 0x82, 0x17, 0x41, 0xB8, 0xD6, 0x9F, - 0x36, 0xD0, 0x63, 0x89, 0x45, 0x7C, 0x8A, 0xE1, 0x4D, 0x75, 0x7A, 0xCF, 0xA7, 0xD3, 0x19, 0x14, - 0xE2, 0x12, 0xAB, 0x7A, 0x9F, 0x6C, 0x87, 0xF5, 0x85, 0x8A, 0xB2, 0xFF, 0x3D, 0xD1, 0x1B, 0x7E, - 0x2F, 0xBA, 0x68, 0xD3, 0x1A, 0x3E, 0xC6, 0x46, 0x7A, 0xBB, 0x19, 0x4A, 0x68, 0x76, 0x7A, 0x89, - 0x66, 0xB7, 0x29, 0x57, 0xB7, 0x48, 0x51, 0x67, 0xF6, 0x50, 0xF8, 0xE4, 0x47, 0xBA, 0xED, 0x6E, - 0x30, 0xC3, 0xA9, 0x26, 0xBF, 0x3D, 0x22, 0x6B, 0x72, 0xC6, 0xBD, 0x97, 0x14, 0xD6, 0xE2, 0xE0, - 0x50, 0x0E, 0x49, 0x26, 0x3A, 0x4D, 0xB0, 0xCA, 0xE0, 0x4F, 0x6D, 0x6F, 0xF5, 0xB7, 0xCF, 0xE1, - 0x24, 0x81, 0x02, 0xA5, 0x1D, 0xA0, 0x1A, 0x9C, 0x6D, 0x42, 0x08, 0x59, 0x7F, 0x38, 0xF2, 0xEC, - 0x67, 0x61, 0x14, 0x72, 0x2D, 0x37, 0x52, 0x57, 0x04, 0x57, 0xC1, 0xCE, 0xC7, 0x95, 0xAA, 0xBD, - 0xD0, 0xD4, 0xA1, 0x24, 0xCB, 0xA4, 0xD7, 0x8E, 0x70, 0x93, 0xCE, 0xEC, 0x61, 0x41, 0xF2, 0xD5, - 0x99, 0x3D, 0x0F, 0xFD, 0xB6, 0x56, 0xCA, 0xBD, 0xC3, 0x95, 0x26, 0x2A, 0xCC, 0x71, 0xD4, 0xEE, - 0x56, 0x9F, 0x91, 0xCA, 0x3C, 0x77, 0x0C, 0xBF, 0xE2, 0x17, 0xCB, 0x97, 0x97, 0x74, 0xF2, 0x79, - 0x05, 0x42, 0xBE, 0x4A, 0xA0, 0x65, 0x47, 0xEF, 0x1B, 0xF0, 0xEE, 0x01, 0xF2, 0xD9, 0x28, 0xCF, - 0x69, 0xD0, 0x29, 0xD8, 0x63, 0x7C, 0x02, 0xF7, 0xC6, 0x28, 0x9D, 0xC8, 0x82, 0x8F, 0x93, 0xB1, - 0x08, 0xBC, 0x75, 0xC9, 0x92, 0xC2, 0xD2, 0x67, 0x78, 0x23, 0x0F, 0x0F, 0x9A, 0xEF, 0xF4, 0xF3, - 0x87, 0x8C, 0x48, 0xB8, 0xFB, 0xCD, 0xB7, 0xBA, 0x5B, 0x8B, 0xA5, 0xD7, 0x8C, 0x9B, 0xE3, 0x4C, - 0x2A, 0x54, 0xD1, 0x40, 0x36, 0x76, 0x7E, 0xD2, 0xB7, 0x4F, 0xED, 0x8A, 0x3C, 0xD8, 0x0D, 0xCB, - 0xFE, 0xED, 0xA6, 0x57, 0x26, 0xE6, 0x71, 0xF7, 0x43, 0x42, 0x68, 0x75, 0x7A, 0x6F, 0xB6, 0xA4, - 0xCE, 0x21, 0x91, 0x98, 0xD4, 0x70, 0x99, 0x41, 0x7F, 0xB8, 0x75, 0x27, 0x0A, 0x26, 0x37, 0x3D, - 0xCB, 0x41, 0x39, 0x41, 0xA3, 0x69, 0x74, 0xF2, 0x04, 0x9B, 0xB3, 0xD0, 0xBB, 0xE9, 0x32, 0xDD, - 0xB2, 0x70, 0x1B, 0xF5, 0xAD, 0xA7, 0x42, 0xE0, 0xFC, 0xBF, 0x8C, 0x73, 0x08, 0x2E, 0x7A, 0x0C, - 0xB8, 0x1B, 0xC8, 0xCD, 0x29, 0x20, 0x57, 0x5F, 0x38, 0xD2, 0x16, 0x27, 0x50, 0xF2, 0x5F, 0x66, - 0xA4, 0xE9, 0xCC, 0x77, 0xC8, 0xB3, 0x82, 0x49, 0x1D, 0x06, 0x7B, 0x38, 0x24, 0x83, 0xEC, 0xB4, - 0x22, 0xE2, 0x4D, 0x8B, 0x56, 0x2C, 0x3F, 0xF0, 0x5C, 0x04, 0x93, 0x88, 0x99, 0xAA, 0xF2, 0x42, - 0x07, 0xD1, 0x73, 0x3F, 0x15, 0x32, 0x3D, 0x92, 0x87, 0x8E, 0x72, 0x6D, 0x2E, 0x56, 0x0C, 0xD4, - 0x6C, 0x5A, 0xF6, 0x27, 0x68, 0x19, 0xC5, 0xF6, 0x68, 0x1A, 0x35, 0xFC, 0x27, 0x89, 0x26, 0x24, - 0x6E, 0xF5, 0x44, 0x91, 0xF4, 0x34, 0x0D, 0xEA, 0xEB, 0xC3, 0x38, 0x39, 0x48, 0x5D, 0x54, 0x82, - 0xC9, 0x91, 0x86, 0x66, 0x13, 0x2F, 0xA6, 0x37, 0x10, 0x7B, 0x79, 0xA2, 0xFF, 0x90, 0xDD, 0xD6, - 0x17, 0x0F, 0x14, 0xD7, 0xE4, 0x98, 0x00, 0x3C, 0xC3, 0x4D, 0x3A, 0x35, 0xE2, 0xA2, 0x15, 0xE6, - 0xC7, 0x24, 0x8B, 0x19, 0x8A, 0xC7, 0xB6, 0x25, 0x8C, 0xEE, 0x21, 0x92, 0xDB, 0x0E, 0x16, 0x8E, - 0xC2, 0x74, 0xB3, 0xFB, 0xDE, 0xE3, 0x0C, 0x4C, 0x25, 0x4E, 0x78, 0xD8, 0xBF, 0xF3, 0xE6, 0x74, - 0x92, 0x8E, 0xF1, 0x13, 0x6C, 0x8E, 0xBF, 0xAB, 0xFC, 0xC3, 0x88, 0x71, 0xF4, 0xCD, 0x9B, 0x8B, - 0x62, 0xE1, 0xB1, 0x97, 0xE9, 0x1F, 0x37, 0x86, 0x4C, 0x60, 0x44, 0xCD, 0xAB, 0x18, 0x15, 0xA7, - 0x95, 0x2E, 0x80, 0x4D, 0x91, 0xB4, 0x8E, 0xD5, 0xAC, 0xE5, 0x64, 0x9E, 0x38, 0xEA, 0x13, 0xB4, - 0xAF, 0x28, 0x67, 0x64, 0x26, 0xE0, 0x45, 0x86, 0xA0, 0xEC, 0x30, 0xEC, 0xFC, 0x1E, 0xDA, 0x3E, - 0x63, 0x41, 0xF9, 0x9B, 0x03, 0x87, 0x7A, 0x86, 0xF1, 0x4E, 0xD7, 0x53, 0x78, 0x7C, 0x75, 0xD4, - 0x97, 0x75, 0x02, 0x6D, 0xC8, 0xE1, 0xFB, 0xAA, 0x56, 0x7B, 0xD6, 0x21, 0x2A, 0x23, 0x63, 0xAE, - 0x81, 0xE4, 0xE6, 0x40, 0xE2, 0xBF, 0x54, 0x22, 0x3A, 0x73, 0x34, 0xCD, 0x74, 0xE6, 0x11, 0x9B, - 0xB5, 0xB6, 0x68, 0xF9, 0x3A, 0x39, 0xBE, 0x92, 0xBA, 0x27, 0xAE, 0xC0, 0x39, 0xDB, 0xA0, 0xD6, - 0x39, 0x58, 0x9F, 0x1E, 0xC8, 0xBF, 0xF8, 0xFC, 0x98, 0x4F, 0x50, 0xE4, 0xAA, 0xBC, 0x3F, 0x8E, - 0x1A, 0x35, 0x7F, 0xA2, 0x5B, 0xA1, 0xBD, 0x85, 0x47, 0x2C, 0xB0, 0xC2, 0x67, 0x0B, 0x49, 0x08, - 0x9E, 0xB7, 0x6E, 0x57, 0x69, 0x02, 0x65, 0x12, 0x0D, 0xEF, 0x8A, 0x02, 0xD0, 0x51, 0x53, 0x81, - 0xE0, 0xF1, 0x54, 0x0F, 0x67, 0x07, 0xDD, 0x95, 0xB4, 0x5A, 0xDA, 0x96, 0x01, 0x76, 0x32, 0x32, - 0xE1, 0xEC, 0x13, 0x42, 0xB6, 0x26, 0x2B, 0xCE, 0xD7, 0xD6, 0xAB, 0x27, 0xC5, 0x03, 0x95, 0x0F, - 0x4F, 0x31, 0x87, 0x96, 0x2A, 0x06, 0x49, 0x66, 0x82, 0x86, 0xF1, 0x57, 0x9B, 0x14, 0xF6, 0x63, - 0x27, 0x48, 0xDE, 0xDC, 0x94, 0x48, 0x4A, 0x3C, 0x8F, 0xCD, 0xC6, 0x46, 0x21, 0x09, 0xD0, 0x24, - 0x1B, 0x7B, 0x8C, 0x27, 0x00, 0x0B, 0x80, 0x67, 0x91, 0x52, 0x0A, 0xD0, 0x4D, 0x10, 0x25, 0x59, - 0xC8, 0x5A, 0x00, 0x3B, 0x46, 0x47, 0xDE, 0x76, 0x3C, 0xA7, 0xD1, 0x8E, 0x1A, 0xFA, 0xD1, 0xEF, - 0xC3, 0xBF, 0x31, 0xBB, 0x1D, 0xA8, 0x4C, 0x35, 0xA9, 0xC0, 0x52, 0xDC, 0x67, 0xE7, 0xF5, 0xEA, - 0x4E, 0x0A, 0x67, 0x0C, 0xC8, 0x0E, 0x46, 0xCB, 0xBA, 0x62, 0x43, 0x8B, 0x5D, 0x9F, 0xC9, 0x60, - 0x1C, 0x07, 0x4A, 0x1F, 0xAB, 0xF6, 0x28, 0x28, 0x8F, 0xA0, 0x04, 0xA1, 0xAB, 0xBA, 0x3F, 0x09, - 0x96, 0xA0, 0x49, 0xB0, 0xAC, 0x2B, 0x5A, 0x7A, 0x3E, 0x4F, 0xF5, 0x1C, 0x39, 0xD4, 0xF2, 0xE5, - 0x2F, 0xBE, 0x37, 0x25, 0xEA, 0x07, 0x70, 0x1B, 0x4A, 0x5D, 0x58, 0x16, 0xF8, 0xF7, 0x74, 0x89, - 0x31, 0x09, 0xA7, 0x6D, 0xE4, 0xC3, 0x2D, 0x21, 0x80, 0xF7, 0x40, 0x2A, 0xCD, 0xD5, 0x01, 0x3A, - 0xD3, 0xC7, 0xF5, 0x79, 0xAA, 0x7A, 0x15, 0xCE, 0xDC, 0xFE, 0x36, 0x06, 0xDE, 0x5C, 0x0A, 0xC3, - 0xA3, 0xE6, 0xEF, 0x6A, 0xEB, 0x3D, 0x13, 0xE9, 0x7C, 0x61, 0xD0, 0x85, 0xC6, 0xA0, 0x05, 0x05, - 0x32, 0x4B, 0x56, 0x8E, 0xDF, 0xD4, 0x01, 0xA9, 0x11, 0x78, 0x48, 0xFC, 0x50, 0x77, 0x10, 0x4B, - 0x6A, 0x9D, 0x11, 0x68, 0xC5, 0xC7, 0xFC, 0x37, 0x0E, 0x2A, 0x9A, 0x86, 0x98, 0xB9, 0x8E, 0xB1, - 0xE5, 0xAA, 0x40, 0xAD, 0x6E, 0xE9, 0x7F, 0x47, 0x52, 0xE3, 0x33, 0xAF, 0xA0, 0xE4, 0x38, 0x67, - 0x41, 0xD6, 0xB0, 0x23, 0x96, 0x37, 0x7D, 0xEB, 0x39, 0xE0, 0x06, 0x22, 0xCC, 0x8B, 0xB1, 0x6E, - 0xE3, 0x6B, 0xFF, 0xA6, 0xF2, 0xCE, 0xA8, 0xBF, 0x24, 0x87, 0x8D, 0xE5, 0x05, 0xBB, 0xBE, 0xF5, - 0x5F, 0x17, 0xE7, 0xF2, 0x8C, 0xBF, 0xFF, 0x31, 0x04, 0x26, 0x4D, 0xCB, 0xB0, 0xF4, 0x77, 0x11, - 0x59, 0x0E, 0xD2, 0x8E, 0xF9, 0x70, 0xE8, 0x4B, 0x57, 0x6E, 0x12, 0x96, 0x4B, 0x98, 0xD4, 0xE0, - 0xC1, 0x56, 0xC6, 0xEF, 0x41, 0xF2, 0x29, 0xF1, 0xBC, 0x0E, 0xEB, 0x57, 0x28, 0x11, 0x61, 0x19, - 0x60, 0x69, 0x61, 0x84, 0x92, 0x26, 0x94, 0x36, 0xD5, 0xED, 0x9C, 0xA5, 0x7C, 0xDC, 0x55, 0x86, - 0x73, 0x7A, 0x39, 0xBC, 0x67, 0x4B, 0xF0, 0xA5, 0xB2, 0xA3, 0x86, 0xD0, 0xC1, 0xC0, 0xFB, 0x5B, - 0x3C, 0xBA, 0x76, 0xB1, 0x07, 0x09, 0xB4, 0x4D, 0x85, 0xDA, 0x20, 0x2F, 0xC2, 0x3E, 0xBC, 0xF7, - 0xA1, 0x6E, 0x98, 0xE8, 0x17, 0x96, 0x24, 0x6C, 0x09, 0xDB, 0xB1, 0xCD, 0x2C, 0xCA, 0x5D, 0x42, - 0x25, 0xEB, 0xDB, 0xEC, 0x26, 0x90, 0xA7, 0xBD, 0x1A, 0xE9, 0xAD, 0xA9, 0x10, 0x84, 0xC4, 0xD1, - 0x6D, 0x4A, 0x49, 0xC1, 0x4B, 0x8A, 0x1F, 0xB6, 0xED, 0x97, 0x19, 0x56, 0xE4, 0xCF, 0xA3, 0xEA, - 0xA9, 0x2C, 0x35, 0xFC, 0x63, 0xFF, 0x5E, 0xE2, 0x0E, 0x3A, 0x61, 0x16, 0x47, 0xFD, 0x07, 0x16, - 0x85, 0x52, 0x3B, 0x62, 0xC3, 0xB6, 0xCC, 0x8A, 0x52, 0x46, 0xDF, 0xDA, 0x39, 0x6B, 0xF5, 0xA8, - 0x67, 0x07, 0xCD, 0xAF, 0x03, 0x53, 0xAC, 0x35, 0x62, 0xDD, 0x5B, 0xE4, 0x2A, 0xEC, 0xB1, 0xEC, - 0x3B, 0xA5, 0xDF, 0xDF, 0x56, 0x9B, 0x66, 0xDA, 0x7D, 0x89, 0xF6, 0xF4, 0x23, 0xE2, 0xDB, 0xE5, - 0x1D, 0x8E, 0xC2, 0x3C, 0x06, 0x9B, 0x91, 0x1D, 0xEB, 0x2D, 0x2C, 0xE2, 0x79, 0x53, 0xFD, 0xAF, - 0xF9, 0x7B, 0x29, 0x67, 0xA1, 0xF8, 0x4B, 0x6D, 0x19, 0x00, 0x55, 0x21, 0x03, 0xC4, 0xDE, 0xFA, - 0xA8, 0xAC, 0xA7, 0x84, 0xC2, 0x63, 0x24, 0x6C, 0x05, 0x6B, 0x6A, 0x3C, 0xD7, 0x15, 0x6E, 0xA0, - 0x72, 0x82, 0x9C, 0xBA, 0x87, 0x7A, 0xC0, 0xF3, 0x81, 0x87, 0xFD, 0x0D, 0x72, 0x6C, 0x3B, 0xFE, - 0x95, 0x2F, 0xB0, 0xE8, 0xC5, 0x89, 0x5E, 0x88, 0x3B, 0xAA, 0xD5, 0xC0, 0x19, 0x62, 0x70, 0x90, - 0x5F, 0xB7, 0xFD, 0x2F, 0x1F, 0x04, 0x02, 0x0B, 0x5F, 0x27, 0xDB, 0x41, 0x85, 0xCF, 0x70, 0x97, - 0x67, 0x4C, 0xBB, 0xD0, 0xC9, 0xF2, 0x90, 0xD4, 0xA2, 0xC8, 0xC4, 0xBF, 0x14, 0x58, 0x7D, 0x4B, - 0xF5, 0x4A, 0x16, 0x3A, 0xB6, 0x7F, 0xBC, 0x24, 0xDD, 0xAC, 0x52, 0x1F, 0x39, 0xE6, 0xF3, 0xAC, - 0x9E, 0x02, 0xAC, 0x6C, 0x57, 0x96, 0x1C, 0x47, 0x23, 0x9F, 0xBD, 0x32, 0x5B, 0x94, 0x3C, 0xEA, - 0x26, 0xF7, 0xCA, 0x18, 0x14, 0x1B, 0x54, 0xD5, 0xC7, 0xA2, 0xF6, 0x00, 0x62, 0x20, 0xB5, 0x42, - 0x8D, 0xFE, 0x48, 0xC3, 0x14, 0xC9, 0x05, 0xF0, 0x4A, 0x6E, 0x07, 0x83, 0x52, 0x19, 0x94, 0x11, - 0x1D, 0xB1, 0x3F, 0x03, 0x51, 0x03, 0x98, 0xB0, 0x18, 0x25, 0xF3, 0x01, 0x64, 0x88, 0x9B, 0xA8, - 0xAD, 0x80, 0x4A, 0x2A, 0x40, 0x9E, 0x59, 0xFE, 0x43, 0xC1, 0xE5, 0xBD, 0x07, 0xA5, 0x3C, 0x86, - 0xC9, 0xF2, 0x05, 0x56, 0x7E, 0x48, 0x4A, 0x96, 0x85, 0x94, 0xF9, 0x87, 0xB6, 0xBF, 0x13, 0x80, - 0xD1, 0x6D, 0x21, 0xE2, 0x6C, 0x53, 0x60, 0xA8, 0x57, 0xBB, 0xA1, 0xF6, 0xEA, 0x2B, 0xCF, 0x08, - 0x10, 0x1A, 0xE9, 0xDD, 0x7C, 0x15, 0xF8, 0xF7, 0xA6, 0xF8, 0x28, 0xBA, 0x89, 0xD2, 0x78, 0xA1, - 0x91, 0x7A, 0x24, 0x79, 0x3B, 0xFE, 0xDA, 0x05, 0x73, 0x5E, 0x82, 0x97, 0x7D, 0xB4, 0xAD, 0xE3, - 0xC6, 0xAB, 0x9A, 0x12, 0x07, 0x45, 0x66, 0xEE, 0x77, 0xF6, 0xCD, 0xE5, 0x4A, 0x74, 0x73, 0xAF, - 0x46, 0x73, 0x4B, 0x62, 0xFF, 0xDD, 0xDC, 0x26, 0xDF, 0x21, 0xDD, 0x17, 0x07, 0x0A, 0xDD, 0x0D, - 0x44, 0xEB, 0x3E, 0xFB, 0xD9, 0x67, 0x78, 0x7D, 0x06, 0xCE, 0xB2, 0xDC, 0xD5, 0x3F, 0xDF, 0x98, - 0x38, 0x79, 0x93, 0xA3, 0x62, 0x89, 0x0B, 0x13, 0x33, 0x27, 0x4E, 0xE7, 0x95, 0x71, 0x9B, 0x60, - 0xC5, 0xE7, 0xBD, 0x42, 0x95, 0x7E, 0x53, 0x10, 0x57, 0x58, 0x80, 0x19, 0x8F, 0xA3, 0x81, 0x0A, - 0x2C, 0x5A, 0x9E, 0xE5, 0xAB, 0xE8, 0xEA, 0xE3, 0xD1, 0x11, 0x65, 0x76, 0xA9, 0x0F, 0x55, 0xDB, - 0x2A, 0xC5, 0x85, 0xBE, 0x23, 0x95, 0x9A, 0x6D, 0x0B, 0xCE, 0x99, 0x3C, 0x87, 0xE9, 0xDF, 0xF7, - 0x49, 0x22, 0xDD, 0x2F, 0x30, 0xEA, 0x16, 0x20, 0xF5, 0x02, 0xCE, 0x23, 0x8B, 0x61, 0x67, 0x97, - 0x14, 0x4A, 0xF7, 0xB9, 0x4D, 0x99, 0x08, 0x8A, 0x10, 0x4C, 0xEC, 0xAD, 0x48, 0x79, 0xBE, 0xEC, - 0x11, 0x5D, 0xDC, 0x6C, 0x88, 0xA9, 0x25, 0x07, 0x37, 0x63, 0x83, 0xB7, 0x13, 0x3D, 0xDF, 0xE8, - 0x63, 0xEF, 0xFD, 0x55, 0x95, 0xA3, 0xAF, 0xAE, 0x38, 0x27, 0xED, 0x8B, 0xF2, 0xCC, 0x4E, 0x79, - 0x75, 0x40, 0xEB, 0x15, 0x62, 0x63, 0xFA, 0xCD, 0x8B, 0x14, 0xDE, 0x83, 0xD3, 0x6B, 0x09, 0xD5, - 0x7F, 0xF4, 0xCF, 0x81, 0x55, 0xF4, 0x77, 0x95, 0x77, 0xB7, 0xA6, 0x00, 0xC9, 0x7A, 0x99, 0xE1, - 0xB9, 0xB2, 0x90, 0xE4, 0x40, 0x6F, 0x22, 0xD6, 0x10, 0x71, 0x29, 0xA0, 0xA8, 0x33, 0xBC, 0xCF, - 0xE7, 0x12, 0x57, 0x7C, 0xDF, 0xA6, 0xF1, 0x5D, 0x6F, 0x2C, 0xC3, 0x94, 0x22, 0xE8, 0x13, 0x18, - 0x70, 0xEF, 0xEE, 0xCE, 0x95, 0x15, 0x76, 0x23, 0x4D, 0x04, 0x2D, 0x01, 0xD4, 0xC8, 0xF3, 0x1E, - 0x73, 0xB8, 0xF5, 0x14, 0xE5, 0xFC, 0x1E, 0x87, 0xFA, 0x28, 0x30, 0x76, 0x98, 0xFF, 0xD2, 0x7B, - 0xE4, 0x2D, 0x93, 0x1A, 0xEE, 0x17, 0xD9, 0xAD, 0x9D, 0x9A, 0x4F, 0xFD, 0x33, 0xE3, 0x26, 0x4E, - 0x12, 0x6C, 0x53, 0x67, 0x39, 0x39, 0xD8, 0x62, 0x5D, 0x26, 0x3A, 0x56, 0xA3, 0x92, 0xC2, 0xEB, - 0x84, 0x80, 0xE9, 0x90, 0xD6, 0xE4, 0x23, 0x52, 0x85, 0x73, 0x32, 0xEB, 0x7E, 0x89, 0x8B, 0x11, - 0x5C, 0xF7, 0xB6, 0x5B, 0xEC, 0x70, 0xA7, 0xF1, 0x52, 0x3D, 0x68, 0xC3, 0xA5, 0xB3, 0xA8, 0xB3, - 0x87, 0x09, 0xFE, 0x54, 0x12, 0xF7, 0x8C, 0xC1, 0x87, 0x94, 0xE2, 0x3C, 0xB1, 0x97, 0x0F, 0x44, - 0xC1, 0x98, 0x99, 0x59, 0x9A, 0x59, 0x00, 0xE3, 0x26, 0x86, 0x85, 0xC0, 0x6D, 0x69, 0x10, 0xA3, - 0xC2, 0x3A, 0x47, 0xFE, 0x91, 0xEE, 0xAE, 0xB9, 0x26, 0xE0, 0x1A, 0xD5, 0x6E, 0xEF, 0xED, 0x90, - 0x6D, 0x87, 0x9B, 0xF2, 0x5F, 0x8F, 0xB8, 0x46, 0xD3, 0x10, 0xDF, 0xD6, 0x32, 0x0D, 0x7F, 0x85, - 0x7C, 0xDE, 0x87, 0x3D, 0xF2, 0x3B, 0x96, 0xF5, 0xC9, 0xA5, 0x27, 0x90, 0xF4, 0x09, 0x79, 0xA8, - 0x43, 0x11, 0x20, 0x4D, 0x8D, 0x98, 0x5A, 0x9B, 0x72, 0x44, 0x45, 0xCE, 0x73, 0xEE, 0x87, 0xF5, - 0x0E, 0xF0, 0x95, 0x76, 0xC3, 0x78, 0x5B, 0x4D, 0x34, 0x53, 0x21, 0xF5, 0x73, 0x7D, 0x43, 0xAF, - 0xB7, 0x68, 0xA9, 0xDF, 0x95, 0x4B, 0xAC, 0xB8, 0xB6, 0xEB, 0xD3, 0x4D, 0x75, 0x5D, 0x70, 0xBE, - 0x35, 0x39, 0xE6, 0x3B, 0x97, 0xC6, 0xFB, 0x49, 0xD2, 0xFF, 0xCA, 0xAF, 0x7E, 0x41, 0x7E, 0x59, - 0x86, 0x90, 0xC6, 0x89, 0x1A, 0x75, 0xAB, 0x22, 0x1E, 0xC3, 0xF4, 0xCF, 0x4D, 0xB1, 0xE9, 0x67, - 0x39, 0x81, 0x01, 0x9F, 0x17, 0x85, 0x2E, 0xEC, 0xCC, 0xD8, 0x9B, 0x37, 0x47, 0x03, 0x3B, 0xA2, - 0x8F, 0x22, 0x86, 0x39, 0xCD, 0xFF, 0xFE, 0x8C, 0x72, 0x15, 0x37, 0xEF, 0x69, 0x18, 0x51, 0x82, - 0x34, 0x92, 0x08, 0xEB, 0x60, 0x55, 0x57, 0xE2, 0xA2, 0xE4, 0x64, 0xA1, 0x0C, 0x01, 0xE0, 0x25, - 0x9F, 0x81, 0x4C, 0xEE, 0x0E, 0x80, 0xF0, 0x24, 0xC0, 0xEF, 0xA9, 0x50, 0x6D, 0x40, 0xFA, 0x85, - 0x04, 0xD6, 0x83, 0xF0, 0xCF, 0x57, 0x3E, 0x4C, 0xC6, 0xD0, 0x6F, 0x7F, 0x03, 0x4B, 0xE4, 0xD5, - 0xFC, 0x51, 0x44, 0x37, 0x9B, 0x05, 0x55, 0xF0, 0x58, 0x8C, 0xB0, 0x38, 0x86, 0x0C, 0x01, 0x02, - 0xBB, 0x63, 0xE0, 0x4D, 0x66, 0xF1, 0x9D, 0x8D, 0x7C, 0xE8, 0xBA, 0xE9, 0x1C, 0x42, 0xAE, 0x84, - 0x06, 0x73, 0xB0, 0x07, 0xEB, 0x0D, 0x1B, 0x97, 0x12, 0x36, 0x93, 0x67, 0x92, 0xAA, 0x41, 0xC8, - 0x7B, 0x36, 0x7E, 0xF6, 0x23, 0x15, 0x8B, 0xE1, 0xFD, 0x3A, 0x17, 0xFF, 0xF3, 0xB5, 0x63, 0x19, - 0x6E, 0xD9, 0x08, 0xE0, 0x54, 0x89, 0x81, 0xCA, 0x2A, 0x83, 0xCB, 0x21, 0x7D, 0x2F, 0x20, 0x84, - 0xA0, 0x96, 0x88, 0xA5, 0x37, 0x9B, 0xF7, 0x54, 0x5C, 0x5B, 0x1F, 0x19, 0xDB, 0x4C, 0x9A, 0x15, - 0x4D, 0xF7, 0x12, 0xF1, 0x31, 0x8F, 0xF2, 0xDD, 0x2D, 0x35, 0xD0, 0x4F, 0x24, 0x8A, 0x9A, 0x32, - 0x47, 0x77, 0x8A, 0xD3, 0xDD, 0x6B, 0x13, 0x56, 0x42, 0xB1, 0xE1, 0xB3, 0xC3, 0xD4, 0xCA, 0x1F, - 0x48, 0x90, 0x1D, 0xDE, 0x81, 0x0D, 0xC7, 0xBD, 0x72, 0x98, 0x56, 0x30, 0x1A, 0x51, 0x09, 0x65, - 0xEB, 0x05, 0x70, 0x6C, 0xFA, 0x22, 0x31, 0x80, 0x4D, 0x6C, 0xD6, 0x5B, 0x0D, 0x36, 0x3F, 0x7D, - 0x8E, 0x63, 0x3A, 0xDE, 0xBE, 0x21, 0xBE, 0x80, 0xE1, 0x70, 0xA2, 0x80, 0xF8, 0x9C, 0x16, 0xA6, - 0x7E, 0x0D, 0xEE, 0x76, 0x47, 0xAB, 0x3C, 0xA5, 0xA7, 0x21, 0xE0, 0xE6, 0xEE, 0xD7, 0xD7, 0x65, - 0x3B, 0xAA, 0x7D, 0x13, 0xC2, 0xAF, 0x50, 0x80, 0x3E, 0xFB, 0xB6, 0x6A, 0x59, 0xA4, 0x95, 0x90, - 0x29, 0xEB, 0x17, 0x93, 0x5C, 0xC4, 0xBF, 0x17, 0xE4, 0x49, 0x6C, 0x29, 0x3D, 0x4F, 0xCB, 0xFC, - 0xD4, 0xF5, 0x5D, 0x6D, 0xC0, 0xFA, 0xE7, 0x7F, 0xC6, 0xAF, 0xA2, 0x0B, 0xE8, 0x9D, 0xA5, 0xC0, - 0xA8, 0xE0, 0x26, 0xA0, 0xC6, 0xBC, 0x94, 0xBC, 0x55, 0x75, 0x5E, 0xFD, 0x19, 0xD3, 0xFD, 0xBA, - 0xAA, 0x75, 0x5C, 0x03, 0x57, 0x2F, 0x30, 0x97, 0x36, 0x73, 0x31, 0x88, 0xED, 0xE6, 0x03, 0x5D, - 0xF8, 0x76, 0x6A, 0x9F, 0x7B, 0x55, 0xE4, 0xF8, 0xBF, 0x68, 0x00, 0x75, 0x4E, 0x95, 0xDB, 0xE1, - 0xA5, 0x7D, 0x9D, 0x2C, 0x0C, 0x58, 0xFA, 0x26, 0x15, 0x03, 0x22, 0xC5, 0xB9, 0x8D, 0xBE, 0x96, - 0xC6, 0xCE, 0x11, 0x54, 0x20, 0xFB, 0x76, 0x63, 0xAA, 0x1B, 0x75, 0xA8, 0x60, 0x05, 0x3B, 0x3C, - 0xC0, 0xA5, 0x9F, 0x9B, 0x19, 0xCF, 0x06, 0x47, 0xC1, 0x0D, 0x89, 0x5F, 0x05, 0xE3, 0x17, 0x20, - 0x93, 0x87, 0x52, 0xF4, 0xC8, 0xF4, 0x9B, 0x3D, 0x94, 0x7E, 0x4A, 0x31, 0xA1, 0x96, 0x33, 0x20, - 0x99, 0xCE, 0xFA, 0xB8, 0x03, 0xAD, 0x16, 0xBD, 0x26, 0x5E, 0x32, 0xA0, 0x24, 0x87, 0x27, 0xFC, - 0x8F, 0x7C, 0x5A, 0x03, 0x5B, 0x9B, 0x43, 0xD4, 0xC7, 0xBE, 0x01, 0xBC, 0xF1, 0x20, 0x0B, 0x61, - 0xFD, 0x59, 0x5F, 0x2C, 0x2F, 0x9D, 0xC9, 0xA4, 0x26, 0xF2, 0x6F, 0x6F, 0x68, 0xD1, 0xC7, 0xD9, - 0x9F, 0xA1, 0x2A, 0x93, 0xF8, 0x40, 0xF2, 0x2D, 0x9E, 0x4D, 0xDC, 0x2F, 0xCE, 0x13, 0x30, 0x10, - 0x9C, 0xB8, 0x2A, 0x91, 0x0C, 0xD8, 0x9A, 0x3B, 0x68, 0x21, 0xC1, 0xC2, 0x14, 0x24, 0x24, 0xDC, - 0x0B, 0x50, 0xE3, 0x43, 0xDE, 0xED, 0x1D, 0x83, 0x24, 0xCC, 0x2F, 0x90, 0x2B, 0x04, 0xAE, 0xA8, - 0x55, 0xC3, 0x2A, 0x56, 0x46, 0xE2, 0xCE, 0xA2, 0xFB, 0x34, 0xC5, 0xA6, 0xF7, 0xDF, 0xB8, 0xDF, - 0xB3, 0x0B, 0x17, 0x88, 0xF4, 0x24, 0xEE, 0x3D, 0x42, 0x09, 0x37, 0x9A, 0xDD, 0x23, 0x06, 0x79, - 0x79, 0x8E, 0xF0, 0x3F, 0x20, 0xC5, 0xB2, 0x8F, 0xFD, 0x44, 0x39, 0xE2, 0x0B, 0x8E, 0x27, 0x4F, - 0x9E, 0x1F, 0xE1, 0x9D, 0x3A, 0x3F, 0x2C, 0xDF, 0x2C, 0x88, 0x11, 0xA6, 0x62, 0x80, 0xE1, 0x25, - 0x44, 0xB0, 0xC9, 0x12, 0x96, 0x63, 0xC8, 0x8E, 0x7D, 0xBF, 0x86, 0x93, 0x54, 0xF9, 0x1E, 0x92, - 0xCA, 0x13, 0x99, 0x26, 0xE6, 0xA9, 0xB8, 0x0E, 0xD8, 0xEE, 0x1A, 0x8E, 0xFA, 0xCC, 0x8B, 0xF3, - 0x72, 0xF0, 0xFB, 0xEB, 0xC6, 0x52, 0xF0, 0xDF, 0xEB, 0x77, 0x51, 0x05, 0xFF, 0x78, 0xE2, 0x18, - 0x19, 0x99, 0x8A, 0x34, 0x7F, 0xC9, 0x50, 0xEF, 0x43, 0xC7, 0xBE, 0x67, 0x83, 0x0A, 0xAA, 0x78, - 0x8B, 0x4B, 0xF8, 0x62, 0xDB, 0x8D, 0x7C, 0x59, 0xCF, 0x55, 0x28, 0xDB, 0xFF, 0xB4, 0x06, 0x4E, - 0x25, 0xAE, 0x32, 0x63, 0x87, 0x2A, 0xA6, 0x71, 0x74, 0xAD, 0x15, 0xAC, 0x43, 0x53, 0xFA, 0x36, - 0x41, 0xAC, 0x99, 0x4B, 0x46, 0x9B, 0xB5, 0xF2, 0x69, 0xE0, 0x09, 0xE3, 0xE2, 0x49, 0x68, 0xF2, - 0xF1, 0xA0, 0xC4, 0xE1, 0x44, 0x52, 0x74, 0xEB, 0x5F, 0xD6, 0x1F, 0xB4, 0xF9, 0x64, 0x41, 0x7C, - 0x61, 0xD7, 0xC5, 0x03, 0xC0, 0x73, 0xE9, 0x45, 0xD7, 0x60, 0xEB, 0xCD, 0x48, 0xF5, 0x08, 0x2A, - 0x2A, 0xE5, 0xD5, 0xB7, 0x46, 0x29, 0x8A, 0x13, 0xB1, 0x6F, 0x21, 0xEA, 0x14, 0x98, 0xA5, 0x8A, - 0x7D, 0x17, 0x78, 0x1B, 0xAC, 0xBE, 0x36, 0xC2, 0x4A, 0xD7, 0x6E, 0x6F, 0x14, 0x58, 0xA9, 0xBB, - 0xFC, 0xE0, 0xE5, 0x65, 0xAD, 0xEE, 0x14, 0x04, 0x35, 0xEB, 0xC4, 0x77, 0xE6, 0x3E, 0xE8, 0xA1, - 0x3D, 0x93, 0xA0, 0x2F, 0x9D, 0x4A, 0x8C, 0x48, 0xB3, 0x33, 0x4D, 0xB5, 0xC9, 0xC7, 0xAC, 0x5F, - 0x10, 0x11, 0xCF, 0x3A, 0x16, 0xDC, 0xB9, 0x29, 0xB2, 0x12, 0x5C, 0x4A, 0x8D, 0xE0, 0xA4, 0x04, - 0xE8, 0x33, 0x11, 0x1C, 0x2F, 0xCE, 0xD2, 0xAF, 0x87, 0x57, 0x83, 0xA5, 0xBE, 0xA7, 0x3D, 0x76, - 0x73, 0x56, 0xAB, 0xD8, 0xE4, 0xFC, 0x1C, 0xD7, 0x55, 0x57, 0x45, 0x09, 0xF3, 0xAC, 0xB9, 0x13, - 0xD8, 0x89, 0x93, 0xB0, 0x60, 0x30, 0xBB, 0xBE, 0x8F, 0x12, 0x88, 0xDA, 0x33, 0xED, 0xCC, 0xC3, - 0x82, 0x38, 0xD9, 0x14, 0xB1, 0x1F, 0x6D, 0x95, 0x39, 0xAD, 0x27, 0x33, 0x40, 0xC3, 0x6E, 0x13, - 0x97, 0x81, 0x7D, 0x2B, 0x0D, 0xA6, 0x67, 0x86, 0xA2, 0xC6, 0xFB, 0x97, 0xF3, 0x59, 0xCB, 0x35, - 0xEA, 0x8C, 0x59, 0x56, 0xC6, 0x99, 0xF7, 0x06, 0xC2, 0x55, 0x7F, 0x0D, 0x48, 0x46, 0x6D, 0x9C, - 0x57, 0x6A, 0x4E, 0xD5, 0x01, 0x37, 0x71, 0xDA, 0x92, 0xE4, 0x56, 0xE5, 0x5B, 0xAE, 0x52, 0x8B, - 0xA4, 0x0C, 0x5D, 0x7F, 0x34, 0xCA, 0x2B, 0x14, 0x48, 0x4F, 0xBA, 0x9F, 0x39, 0xBD, 0x38, 0x10, - 0xAB, 0x83, 0xD8, 0x03, 0xFD, 0x57, 0xFF, 0x6A, 0x65, 0x86, 0x0D, 0xBE, 0xD8, 0x38, 0x24, 0x12, - 0xA1, 0x10, 0xF2, 0xE0, 0xEB, 0x5A, 0x1E, 0x74, 0x6D, 0x69, 0x3C, 0xD5, 0xD1, 0x66, 0xB3, 0x63, - 0x4C, 0xA4, 0x80, 0x36, 0x84, 0x34, 0x1B, 0x07, 0xBC, 0xD2, 0xF3, 0x06, 0x4D, 0xA0, 0xB5, 0x5F, - 0xD7, 0x71, 0x1C, 0xDD, 0x10, 0x78, 0xBC, 0x7F, 0xAE, 0x0A, 0x5A, 0x29, 0xB7, 0x48, 0xDF, 0x9A, - 0x92, 0xE2, 0x65, 0x1D, 0xC8, 0xAD, 0xD0, 0x07, 0x24, 0xD4, 0x0C, 0x08, 0xDC, 0x3B, 0x86, 0x4C, - 0x62, 0xDC, 0x6E, 0xDA, 0x27, 0xB9, 0x52, 0x9A, 0x92, 0x3F, 0x4E, 0xF1, 0xCA, 0x70, 0xBD, 0x20, - 0x07, 0x6E, 0xF3, 0xDE, 0xA9, 0x91, 0xDD, 0x61, 0xBB, 0xBB, 0x3A, 0x61, 0x9B, 0xDA, 0x07, 0xDA, - 0xB0, 0x06, 0x99, 0x79, 0xDA, 0x38, 0x4B, 0x23, 0xF2, 0x7E, 0x84, 0x5D, 0x90, 0x5F, 0x02, 0x03, - 0x68, 0x31, 0x73, 0x0B, 0x8A, 0xAC, 0xCF, 0xCE, 0xD4, 0x07, 0xDE, 0xFF, 0x80, 0x65, 0xAC, 0x9E, - 0xFE, 0xD9, 0x17, 0xD3, 0xAB, 0x2A, 0x34, 0xC1, 0x2D, 0x62, 0xD6, 0xF7, 0xFD, 0x7E, 0xA3, 0x8B, - 0x08, 0xA7, 0x45, 0x60, 0x52, 0x36, 0x35, 0x87, 0x1B, 0x15, 0xA3, 0xDC, 0xA8, 0x0F, 0x87, 0x6B, - 0x81, 0x59, 0xFF, 0xD6, 0x87, 0xAE, 0x54, 0xC0, 0xD0, 0x55, 0x33, 0x1A, 0x7A, 0xE1, 0xBE, 0xEE, - 0x2E, 0x0B, 0xFC, 0xED, 0x24, 0xF8, 0x42, 0x83, 0x70, 0x60, 0xF6, 0xBA, 0x47, 0x03, 0x8D, 0x2B, - 0x2D, 0x6A, 0xD0, 0xC4, 0xD6, 0x71, 0xEC, 0x39, 0x17, 0x10, 0x69, 0xDD, 0x78, 0x85, 0xFF, 0xCC, - 0x6B, 0xC7, 0x5E, 0xC2, 0xF7, 0x2B, 0x60, 0x93, 0xE6, 0x8D, 0x0E, 0x58, 0xF1, 0x7B, 0x31, 0xA7, - 0x5B, 0xC4, 0xA3, 0x05, 0xBB, 0xB9, 0x40, 0xE7, 0x86, 0x56, 0x3F, 0x47, 0xB8, 0xB1, 0xAF, 0xD4, - 0xE2, 0xC1, 0x22, 0xBF, 0x17, 0x55, 0xB7, 0xB9, 0x7B, 0x8F, 0xCD, 0x50, 0xF2, 0x91, 0x1D, 0x0C, - 0xAF, 0x34, 0xA8, 0x87, 0xC4, 0x77, 0xB6, 0x1D, 0x82, 0xA5, 0xA9, 0x9E, 0x17, 0x02, 0x7B, 0xB7, - 0x90, 0x01, 0x08, 0xB9, 0xA2, 0xD9, 0x7A, 0x87, 0x6F, 0x62, 0xCB, 0x26, 0xF6, 0xE5, 0x61, 0x90, - 0x63, 0x76, 0xDA, 0x87, 0xE5, 0xD9, 0x12, 0xC6, 0x3B, 0xFC, 0xDB, 0xBE, 0x86, 0xF4, 0x00, 0x89, - 0xD5, 0xD4, 0x2F, 0x36, 0x21, 0x66, 0xC2, 0x5E, 0x39, 0x9C, 0x77, 0xE4, 0x27, 0xEF, 0xF4, 0x8A, - 0x6A, 0xBC, 0x8A, 0xD6, 0xC4, 0x01, 0x47, 0x0F, 0x5B, 0x19, 0x18, 0xF6, 0x8D, 0x5D, 0x25, 0xB9, - 0xD9, 0x72, 0x7D, 0x67, 0x8F, 0xAA, 0x17, 0x3A, 0xF5, 0x08, 0x26, 0xB3, 0x46, 0xAD, 0x38, 0x35, - 0x54, 0x8F, 0x50, 0xBD, 0xC5, 0xC3, 0xF6, 0x32, 0xDD, 0x74, 0x6A, 0xD7, 0xD8, 0x9A, 0x92, 0x9B, - 0xCE, 0x17, 0x02, 0x9F, 0xAB, 0xCF, 0x2A, 0x99, 0x7E, 0x1A, 0x60, 0xFB, 0x1A, 0x8F, 0x25, 0x58, - 0xA3, 0x9A, 0x1D, 0x8B, 0xAB, 0x90, 0x5B, 0x57, 0xF3, 0x68, 0x7C, 0xBC, 0x19, 0x5A, 0x94, 0xE2, - 0x4B, 0x5C, 0xEE, 0xE5, 0xEF, 0x88, 0x72, 0x22, 0x44, 0x16, 0xFA, 0x78, 0x35, 0xE7, 0x44, 0xED, - 0xAA, 0xBC, 0x4F, 0xE5, 0x3F, 0x26, 0x8E, 0x9E, 0xBD, 0x91, 0xDF, 0x14, 0x1E, 0xE5, 0x03, 0x6E, - 0xED, 0x2D, 0x39, 0xB5, 0x9E, 0xEA, 0x51, 0x08, 0x7E, 0x87, 0xB4, 0xA1, 0xCD, 0x1D, 0x9A, 0x37, - 0xE0, 0x89, 0x13, 0x3B, 0xC0, 0x01, 0x85, 0x6B, 0xAD, 0xED, 0xB6, 0x38, 0xF5, 0xD5, 0x13, 0x33, - 0xA1, 0x79, 0x88, 0xB5, 0xB8, 0x46, 0x48, 0x7A, 0xDF, 0xAB, 0x11, 0x1B, 0x8E, 0x7E, 0x95, 0x9A, - 0x36, 0x80, 0x7F, 0x22, 0x24, 0x47, 0x01, 0x5C, 0x20, 0xCD, 0xDD, 0x24, 0xD0, 0x9F, 0x3E, 0xE3, - 0x45, 0x04, 0x53, 0xAE, 0xA2, 0x96, 0x57, 0x9B, 0x32, 0xAD, 0xB1, 0x94, 0xAA, 0xDA, 0xAB, 0x77, - 0xD7, 0x89, 0x45, 0xF2, 0x34, 0xC3, 0x37, 0x74, 0xF9, 0xD6, 0xD0, 0xBF, 0x85, 0x0A, 0xE7, 0xAD, - 0x7D, 0x54, 0xA4, 0xD2, 0x7B, 0x0A, 0x43, 0xF2, 0x87, 0x7A, 0x5F, 0x64, 0x04, 0x6F, 0x0C, 0x4D, - 0x35, 0xBB, 0x83, 0x5E, 0x30, 0xE4, 0x00, 0x58, 0xAF, 0x1A, 0xF2, 0x91, 0xB2, 0xA6, 0x1B, 0x42, - 0xB0, 0xFB, 0xFA, 0x5F, 0xD2, 0xFE, 0xB7, 0x61, 0xA5, 0x0A, 0x26, 0x22, 0xFC, 0xA9, 0x84, 0xE1, - 0xAD, 0xDF, 0x59, 0xAE, 0xF3, 0xC7, 0xFE, 0x0F, 0x3B, 0x42, 0x16, 0xE4, 0xD5, 0x41, 0x4A, 0x42, - 0x6B, 0x2B, 0x46, 0xB5, 0x19, 0xED, 0x31, 0x19, 0xED, 0x35, 0x13, 0xE7, 0x54, 0xAC, 0xB9, 0xBD, - 0x0E, 0x38, 0x9A, 0x59, 0xE1, 0x07, 0xFB, 0xEC, 0x48, 0x9A, 0x4F, 0x62, 0xA1, 0x23, 0x92, 0xCA, - 0xEC, 0x78, 0x14, 0x5B, 0x06, 0xFD, 0x3E, 0xC0, 0xB1, 0x70, 0x59, 0x1E, 0x96, 0x8C, 0xDF, 0x34, - 0x76, 0x19, 0x99, 0x08, 0x1C, 0xAF, 0x03, 0xE6, 0x0F, 0x7A, 0x6D, 0xD7, 0xC3, 0x66, 0x96, 0x97, - 0x88, 0x97, 0xD2, 0x37, 0x22, 0x58, 0x64, 0x88, 0x3E, 0x3C, 0xE1, 0xA8, 0xAC, 0x20, 0x6F, 0x87, - 0x68, 0x6F, 0xC4, 0x6A, 0xAC, 0x6B, 0xD3, 0x1F, 0xD1, 0x83, 0xC2, 0x7B, 0x62, 0x65, 0x2D, 0xB9, - 0x52, 0x14, 0x34, 0x55, 0xF2, 0x75, 0x89, 0x4E, 0x5F, 0x63, 0x46, 0x02, 0xF9, 0xBD, 0x4D, 0x2D, - 0x02, 0x22, 0x4B, 0xF1, 0x9A, 0x78, 0xAE, 0x39, 0x78, 0x9D, 0x38, 0x9E, 0xE8, 0x05, 0x55, 0x3F, - 0x73, 0xCD, 0x76, 0xB5, 0x0C, 0xCD, 0xDB, 0x71, 0xB0, 0x73, 0x39, 0x92, 0x25, 0xF3, 0xE9, 0x53, - 0xE2, 0x0F, 0x89, 0x99, 0x48, 0x41, 0x7A, 0x83, 0xED, 0xC2, 0xCF, 0x17, 0x7B, 0xD8, 0x2A, 0x0C, - 0xF9, 0x89, 0x51, 0x8B, 0xC1, 0xC7, 0xD6, 0x46, 0x51, 0x50, 0x1F, 0x83, 0xA1, 0x6E, 0x84, 0x1A, - 0xA0, 0xCD, 0x4F, 0xB0, 0xFA, 0xF6, 0x2B, 0x56, 0xB5, 0x4C, 0x1A, 0x88, 0xCF, 0xD4, 0x9A, 0x72, - 0x50, 0xB2, 0x62, 0x4C, 0xE0, 0x5C, 0x15, 0x62, 0xCC, 0x21, 0x4A, 0x45, 0xD4, 0x67, 0xBD, 0x64, - 0x9C, 0xF5, 0x54, 0xDF, 0x60, 0x9F, 0xC0, 0x07, 0x9D, 0x08, 0xBA, 0xFB, 0x6F, 0xEF, 0x6B, 0x54, - 0xBC, 0xAF, 0xC5, 0x29, 0xEC, 0x55, 0x32, 0xD5, 0x72, 0x87, 0x4D, 0x50, 0xC2, 0x56, 0xF7, 0x94, - 0xE8, 0x1D, 0xFA, 0x06, 0x1D, 0x52, 0xC6, 0x32, 0x5E, 0xC5, 0x77, 0xD2, 0x3E, 0x9D, 0xB7, 0x6C, - 0x0F, 0x89, 0x32, 0x26, 0xE2, 0xFE, 0xA4, 0x04, 0x48, 0x15, 0xBB, 0x50, 0xA4, 0xA2, 0x73, 0x28, - 0x80, 0x60, 0x03, 0x66, 0xF8, 0x05, 0x2F, 0xC6, 0x75, 0x4E, 0xF7, 0x9A, 0x72, 0xA8, 0x8D, 0x35, - 0x98, 0x60, 0x0F, 0x2F, 0xF4, 0x2D, 0x0D, 0x2B, 0x69, 0xB3, 0xE9, 0x16, 0x9B, 0xF5, 0xBF, 0x7F, - 0xEE, 0xBA, 0x9C, 0xC5, 0x43, 0xFA, 0x84, 0xF4, 0xBC, 0x5D, 0x0B, 0x6A, 0x3D, 0xCD, 0x72, 0xCD, - 0x08, 0x7A, 0x7E, 0x75, 0xD2, 0x14, 0x78, 0xAB, 0xC6, 0xA8, 0x7B, 0x4D, 0x25, 0xCB, 0x0F, 0xC5, - 0x90, 0xE8, 0x78, 0x1C, 0xAE, 0xD9, 0xAF, 0x7E, 0xC0, 0xA7, 0xEA, 0x34, 0x1B, 0xD9, 0x78, 0xF2, - 0x42, 0xFA, 0x33, 0x57, 0x3A, 0x82, 0x61, 0x8A, 0xF6, 0xFC, 0xB2, 0xB4, 0x71, 0x24, 0x6A, 0x08, - 0xEB, 0xB0, 0x16, 0x00, 0xA1, 0x88, 0x3C, 0x50, 0x4E, 0xF9, 0x3D, 0xFF, 0xE7, 0xA7, 0x28, 0xE4, - 0xDE, 0x08, 0x50, 0x92, 0x3A, 0xF8, 0x53, 0x2E, 0x9A, 0x34, 0x99, 0xE4, 0x4D, 0xA5, 0x92, 0x38, - 0x29, 0xAF, 0x85, 0xAF, 0x0A, 0x48, 0xCC, 0xB4, 0x9E, 0xB0, 0x97, 0x34, 0xB2, 0x91, 0x65, 0x65, - 0x1E, 0xC3, 0x8B, 0xDB, 0x76, 0xCA, 0xD1, 0xA9, 0x9B, 0xC7, 0xFF, 0x34, 0x09, 0x92, 0xAA, 0xFF, - 0xD2, 0xC8, 0xD7, 0xD1, 0x3E, 0xAC, 0xC8, 0x95, 0x69, 0x93, 0xC3, 0x7A, 0xAF, 0x58, 0xB1, 0x41, - 0x09, 0xA9, 0x1F, 0xBE, 0xAA, 0x2C, 0x22, 0xB8, 0x48, 0x4C, 0x10, 0x7D, 0x92, 0x06, 0xFC, 0x45, - 0x8A, 0xF5, 0x2F, 0x69, 0x82, 0x07, 0x3F, 0xEC, 0x4A, 0xA9, 0x1B, 0xED, 0xA6, 0x94, 0xAD, 0x1D, - 0x9B, 0xF0, 0x4E, 0x8D, 0x28, 0x1D, 0x47, 0x4F, 0x4B, 0x6F, 0x96, 0xAA, 0x2E, 0x9E, 0xA8, 0x83, - 0xDC, 0xD5, 0x9E, 0x07, 0x76, 0x7C, 0x62, 0x68, 0x33, 0x87, 0xC4, 0xA7, 0x7D, 0xF0, 0x3B, 0x0C, - 0x2D, 0xA1, 0x29, 0xDE, 0x16, 0xE6, 0x0C, 0xFA, 0x97, 0x6F, 0x4E, 0xE4, 0x62, 0x82, 0xCA, 0xEB, - 0x75, 0x4D, 0x06, 0xFD, 0x31, 0xB6, 0x5C, 0x03, 0x32, 0x51, 0xFD, 0x76, 0x0E, 0x7F, 0x60, 0x16, - 0xC1, 0x94, 0xE1, 0xB9, 0x3A, 0xDD, 0x17, 0x11, 0x23, 0x55, 0xB5, 0x6C, 0x25, 0xC7, 0x15, 0x24, - 0xB9, 0xEC, 0xB8, 0xF0, 0xF7, 0x34, 0x25, 0xFA, 0x49, 0x96, 0x71, 0x79, 0x18, 0x86, 0x29, 0xC0, - 0x07, 0x07, 0x98, 0x17, 0xA7, 0x25, 0xB3, 0x93, 0x76, 0xB3, 0x5D, 0x22, 0x19, 0x14, 0x8A, 0x02, - 0x83, 0x8F, 0xD5, 0x8C, 0x77, 0xCB, 0x34, 0xC3, 0xC2, 0xEC, 0xBF, 0x19, 0x5C, 0x74, 0xF2, 0x35, - 0x2E, 0x69, 0x3F, 0xA9, 0xD9, 0xD5, 0x3A, 0xC3, 0x3E, 0x2E, 0xE3, 0xA9, 0x1B, 0xBE, 0x6A, 0xA1, - 0xF4, 0xCD, 0x3B, 0xF3, 0x1C, 0x7A, 0x8B, 0x75, 0x47, 0xE8, 0xC5, 0x26, 0x56, 0x49, 0x3C, 0x14, - 0x8D, 0x82, 0xE7, 0x67, 0xB1, 0x25, 0x1C, 0x7C, 0x21, 0x8D, 0x21, 0x01, 0xF2, 0x93, 0x86, 0x0F, - 0x55, 0x3F, 0xE3, 0xED, 0xE6, 0x6A, 0x63, 0x2B, 0x3A, 0xAD, 0x3B, 0x05, 0xAA, 0x70, 0xB0, 0x6C, - 0x95, 0x18, 0x24, 0x91, 0x5B, 0x7A, 0x2C, 0x20, 0xFD, 0x21, 0x87, 0x22, 0xCB, 0x27, 0xEB, 0xD7, - 0xCA, 0x7C, 0x1D, 0x08, 0xE4, 0xB6, 0x40, 0xBB, 0x13, 0x5D, 0x81, 0xC4, 0xA6, 0x30, 0xA6, 0x70, - 0x33, 0x55, 0xEF, 0x94, 0x8B, 0xBB, 0xC9, 0xB6, 0xFE, 0x45, 0x19, 0xD0, 0x9C, 0xF1, 0xC8, 0x6B, - 0x44, 0x5F, 0x03, 0x21, 0x29, 0xAA, 0x04, 0xAC, 0x22, 0x97, 0xB8, 0xE1, 0x5C, 0x4C, 0x58, 0xD5, - 0x5E, 0xA7, 0x86, 0x96, 0xEA, 0xB7, 0x18, 0x42, 0xBB, 0x2E, 0xAB, 0xB8, 0xAF, 0x28, 0xB4, 0xC5, - 0xF8, 0xD3, 0x48, 0xE9, 0x5D, 0xBF, 0xE6, 0x2F, 0x7F, 0xF5, 0xE4, 0x62, 0x5F, 0x6C, 0x86, 0x06, - 0x69, 0xA1, 0x19, 0xB1, 0x5E, 0x18, 0x12, 0xC8, 0xE3, 0xCB, 0x79, 0x40, 0xFB, 0xFC, 0x71, 0x60, - 0xFE, 0x8E, 0x0E, 0x4B, 0x4A, 0x2C, 0x85, 0x7D, 0xDC, 0x02, 0x10, 0xE3, 0xDA, 0x95, 0x93, 0xD3, - 0x0A, 0x4D, 0xB7, 0x05, 0xAF, 0xB8, 0x14, 0xE5, 0x2B, 0x43, 0x80, 0x7D, 0x92, 0x08, 0x45, 0x92, - 0xF4, 0x8F, 0x8A, 0x34, 0x20, 0x30, 0xB2, 0xFE, 0x18, 0xE9, 0xC4, 0x53, 0x82, 0x47, 0x61, 0x4C, - 0xE8, 0x19, 0x62, 0xB6, 0xF2, 0x39, 0xA8, 0x19, 0xA7, 0x03, 0xA0, 0xD6, 0xA4, 0x54, 0x7F, 0x2B, - 0x25, 0x2C, 0x0D, 0x1E, 0x54, 0x11, 0xDF, 0x65, 0xB9, 0x1F, 0x1D, 0x27, 0x2E, 0xF5, 0xDB, 0xF6, - 0xAC, 0xB8, 0xF1, 0x1A, 0x36, 0x39, 0x26, 0x23, 0x4C, 0xA5, 0xDC, 0xBE, 0x77, 0x6D, 0x25, 0xB6, - 0xC0, 0x10, 0xA0, 0x2F, 0xE5, 0x43, 0x79, 0x2C, 0xF0, 0x0E, 0xCB, 0x76, 0x8C, 0x6B, 0x57, 0x8E, - 0x8F, 0xAC, 0x20, 0x25, 0x6F, 0x7C, 0xB9, 0xE0, 0x84, 0x2C, 0x9C, 0xB4, 0x4F, 0xD7, 0xDA, 0xBD, - 0xF0, 0x5A, 0xF9, 0x1C, 0x66, 0x8C, 0x61, 0x13, 0xBB, 0x27, 0x7F, 0x5C, 0x6E, 0xCD, 0x6B, 0xE6, - 0x67, 0x56, 0x04, 0xC0, 0xA3, 0x9B, 0x18, 0x93, 0xBB, 0xE2, 0xA5, 0x82, 0xFE, 0x29, 0x37, 0xBE, - 0xD6, 0x5A, 0x6E, 0x07, 0x65, 0x40, 0xC2, 0x86, 0xBA, 0x22, 0x52, 0x82, 0x8A, 0x0F, 0xDF, 0xE3, - 0xD8, 0x2D, 0x14, 0x50, 0x7B, 0xD7, 0x6F, 0x95, 0xC7, 0x72, 0x98, 0x2D, 0x4F, 0x53, 0xB3, 0x97, - 0x5F, 0x87, 0x7D, 0x82, 0x81, 0x2C, 0xEB, 0x0A, 0xC8, 0xF4, 0xF8, 0x50, 0xDE, 0xB1, 0x9F, 0x16, - 0xC9, 0x23, 0x2E, 0xF0, 0xE6, 0xE9, 0x55, 0xA8, 0xCF, 0xB4, 0x6A, 0x2B, 0x02, 0x9D, 0xFB, 0xED, - 0xFB, 0xC2, 0x22, 0x8E, 0x53, 0x65, 0x2D, 0xBC, 0x9B, 0xAF, 0x2B, 0xCD, 0x87, 0x59, 0x39, 0xE9, - 0xB0, 0xFA, 0x5A, 0x51, 0x4D, 0xBF, 0x99, 0xAB, 0xEE, 0x42, 0x93, 0x6B, 0x71, 0x11, 0xEB, 0x6C, - 0xE0, 0xFB, 0xCB, 0x56, 0x2E, 0xEA, 0xC1, 0x8A, 0xD3, 0x8E, 0x6E, 0x88, 0x24, 0xA2, 0xD2, 0x6C, - 0x8E, 0x58, 0x49, 0x81, 0x9F, 0x05, 0x30, 0x6F, 0x5F, 0xD9, 0x1C, 0x5B, 0xC4, 0x28, 0x9E, 0x72, - 0xAB, 0x3B, 0x21, 0xE8, 0x00, 0x31, 0x77, 0xA8, 0xA9, 0x69, 0x72, 0xD0, 0x95, 0x7A, 0xE8, 0x74, - 0xD3, 0xE6, 0xEE, 0x10, 0xE1, 0x0F, 0x66, 0x2A, 0x0B, 0xEF, 0x78, 0x88, 0x39, 0xF7, 0x11, 0x50, - 0xCE, 0x1E, 0x3F, 0xA4, 0x53, 0xCA, 0xE5, 0x4A, 0xF4, 0x9A, 0xEA, 0xDA, 0x0C, 0xFC, 0xF5, 0x4D, - 0x24, 0x25, 0x17, 0xEC, 0x48, 0x3D, 0x3E, 0xBF, 0x29, 0xC2, 0xB4, 0xED, 0xD3, 0x2F, 0x08, 0x32, - 0x3D, 0x51, 0x3D, 0xAE, 0xF7, 0x96, 0xF2, 0x27, 0xCA, 0x4F, 0x7E, 0x70, 0x01, 0x13, 0xD0, 0xAE, - 0x20, 0x6C, 0x60, 0x9F, 0xAA, 0x64, 0xC5, 0x75, 0xB9, 0xBD, 0x7D, 0xBF, 0x7E, 0x7B, 0x28, 0x83, - 0xBF, 0x4F, 0x16, 0x22, 0xF0, 0xA1, 0x32, 0xAE, 0xB5, 0xA2, 0x49, 0x89, 0x3A, 0x75, 0xB6, 0x99, - 0xD0, 0x26, 0x22, 0x7D, 0xF6, 0x8B, 0x07, 0xC2, 0x7C, 0xE4, 0x4B, 0x4C, 0x4B, 0xD1, 0xCF, 0x84, - 0x8D, 0x6C, 0x33, 0x1C, 0x3A, 0xF4, 0xAE, 0xA4, 0x8C, 0x28, 0xC8, 0xCD, 0xDC, 0x5E, 0x38, 0x3B, - 0x43, 0xBD, 0x1A, 0xF1, 0x3B, 0xCF, 0x7C, 0xD1, 0x15, 0x01, 0x35, 0xB1, 0xDD, 0x06, 0xEA, 0x59, - 0x94, 0xA0, 0xAB, 0x24, 0xE3, 0xFA, 0xE4, 0x3F, 0x7C, 0x8B, 0x27, 0x26, 0xD6, 0x97, 0xFF, 0x54, - 0x68, 0xFC, 0xC4, 0x0C, 0x5F, 0x59, 0x02, 0x91, 0x38, 0x92, 0x21, 0x47, 0x98, 0xE7, 0xBE, 0x45, - 0xE1, 0x48, 0xC8, 0xCF, 0x56, 0x6C, 0x74, 0x2C, 0x6C, 0xE3, 0x19, 0x70, 0x14, 0x05, 0xFE, 0x47, - 0xC3, 0x64, 0x38, 0x5C, 0x9B, 0xD1, 0x6C, 0x54, 0x4C, 0x0B, 0x44, 0x89, 0xF8, 0x1B, 0xBE, 0x04, - 0x48, 0xCC, 0x9F, 0xAA, 0xDC, 0x5D, 0xE3, 0x47, 0x42, 0x42, 0x4E, 0x3C, 0xC3, 0x57, 0xA4, 0x52, - 0x2A, 0x24, 0xC2, 0xEB, 0x76, 0x24, 0x04, 0x4D, 0x03, 0xE2, 0x71, 0xCF, 0x81, 0x9B, 0x95, 0x40, - 0xDE, 0x1D, 0xE7, 0x24, 0x16, 0x88, 0x50, 0xD1, 0xB0, 0x44, 0xBA, 0x97, 0xF4, 0xA1, 0x55, 0x1E, - 0x2C, 0xC5, 0xF0, 0x9C, 0x54, 0xD2, 0x70, 0x78, 0x17, 0x9A, 0x03, 0xE0, 0x02, 0x56, 0x00, 0x89, - 0xF9, 0x05, 0x54, 0x4B, 0x62, 0xF3, 0xBC, 0xBA, 0xCB, 0xDC, 0x8B, 0x1C, 0xB8, 0xA6, 0xA6, 0xA0, - 0xC7, 0x54, 0x29, 0x52, 0x90, 0x1F, 0x4C, 0xBA, 0xF2, 0x60, 0x38, 0x48, 0xC9, 0xF6, 0xEA, 0x4D, - 0x3A, 0xE5, 0xC0, 0xE9, 0x63, 0xF8, 0x15, 0x87, 0xA0, 0xC1, 0x82, 0x13, 0x0C, 0xF3, 0xC1, 0x65, - 0x96, 0x09, 0x26, 0x98, 0xAF, 0x7C, 0x0E, 0xAA, 0x6E, 0xFB, 0x34, 0xF2, 0xBC, 0x23, 0xCD, 0x20, - 0x37, 0xF7, 0xDD, 0x5F, 0xAA, 0x7B, 0x9F, 0xA2, 0x07, 0x6F, 0x1F, 0x02, 0x9E, 0xD5, 0xA9, 0x4E, - 0x42, 0xA3, 0x3A, 0x43, 0xF4, 0xDD, 0xEE, 0x77, 0x12, 0x02, 0xE9, 0x59, 0xCB, 0xD4, 0xEC, 0xCC, - 0x65, 0x07, 0xDE, 0x9C, 0xCD, 0x16, 0xBE, 0xDE, 0xF9, 0x45, 0x51, 0xD3, 0x03, 0xAA, 0xC0, 0x5D, - 0x3F, 0x10, 0x8D, 0x92, 0x27, 0x07, 0x84, 0x31, 0x75, 0x4A, 0x89, 0x7C, 0x4B, 0x2E, 0x59, 0x15, - 0x88, 0x6F, 0x47, 0x84, 0x71, 0x7C, 0x64, 0x15, 0x70, 0x29, 0xCC, 0x82, 0x5F, 0x0D, 0x87, 0x18, - 0xEF, 0xE5, 0xC1, 0xB4, 0xFA, 0x56, 0x9A, 0xAB, 0xA4, 0x5F, 0x8A, 0x29, 0xE2, 0x81, 0x15, 0x54, - 0xD2, 0x66, 0x84, 0xDD, 0x74, 0x49, 0x00, 0x8B, 0xA0, 0x9A, 0x60, 0x67, 0xBE, 0xB5, 0x80, 0xD9, - 0x17, 0x3E, 0x7B, 0x10, 0x07, 0x06, 0xE2, 0xA2, 0xC6, 0xC2, 0xCF, 0xDE, 0x2D, 0xA3, 0xF2, 0x5F, - 0xDD, 0x4F, 0x65, 0x40, 0x2B, 0x57, 0x87, 0x68, 0x5B, 0xBB, 0x40, 0xC2, 0xAE, 0xFF, 0x46, 0xAE, - 0x12, 0xD2, 0x64, 0xC5, 0xA1, 0xC3, 0x41, 0x27, 0x8F, 0xD3, 0xAD, 0x6F, 0x91, 0xFA, 0x1A, 0xF8, - 0x5B, 0x4D, 0x6F, 0x16, 0x89, 0x74, 0x5C, 0x82, 0x82, 0xFB, 0x45, 0x98, 0x08, 0xCA, 0x22, 0x92, - 0xEC, 0xB5, 0x03, 0xD7, 0x35, 0xBA, 0xD9, 0x9C, 0x02, 0x7D, 0x4A, 0xC9, 0xE4, 0x1E, 0x72, 0x61, - 0xAF, 0xBD, 0xBE, 0x4C, 0x0B, 0x28, 0x91, 0xF4, 0xC3, 0xB9, 0x83, 0xDE, 0x64, 0xB3, 0xA0, 0x00, - 0xDB, 0x18, 0xB0, 0x66, 0x3E, 0xBB, 0x3B, 0xDA, 0x06, 0xE3, 0xE6, 0x99, 0x73, 0x3C, 0xAB, 0x7C, - 0xBB, 0x7A, 0x9B, 0x36, 0x67, 0x96, 0xA9, 0x69, 0x77, 0x50, 0x36, 0x5D, 0xCE, 0x5D, 0x9D, 0xBA, - 0xED, 0xC0, 0x5E, 0x78, 0x5D, 0xDA, 0xDA, 0x26, 0x28, 0x2D, 0x73, 0x34, 0xC9, 0x31, 0x4B, 0x15, - 0xA4, 0xBC, 0x9F, 0xBC, 0x3D, 0x87, 0x4D, 0x1C, 0x9F, 0x04, 0x92, 0x9D, 0x87, 0xFD, 0xE2, 0xEF, - 0x69, 0x13, 0x43, 0x6A, 0x5E, 0x1C, 0x0C, 0x02, 0xE6, 0xCB, 0x39, 0xB1, 0xB2, 0x5A, 0x7C, 0xD7, - 0xBD, 0x58, 0x30, 0xBA, 0xD2, 0x72, 0x01, 0xCE, 0x87, 0xAE, 0xF1, 0x2F, 0xD2, 0x58, 0xEB, 0x2E, - 0x62, 0xBF, 0xF5, 0x20, 0xB5, 0x0D, 0x46, 0x8B, 0x06, 0x3B, 0x09, 0x02, 0xE3, 0x33, 0x3B, 0xF7, - 0x9E, 0x89, 0xC8, 0xED, 0x99, 0x02, 0xA7, 0xE9, 0xDF, 0xD0, 0x0B, 0x72, 0x20, 0x16, 0xD2, 0x0B, - 0xB7, 0x91, 0x13, 0x9F, 0x6B, 0xD9, 0x4F, 0xA5, 0x7F, 0x8F, 0xB6, 0xB4, 0x02, 0x90, 0x02, 0x4B, - 0xC6, 0x7B, 0x84, 0x38, 0x85, 0xD6, 0x22, 0x2F, 0x6B, 0xC9, 0x63, 0x66, 0x93, 0x8C, 0xB4, 0x17, - 0x1A, 0x1A, 0xAD, 0x0D, 0x25, 0x09, 0xB8, 0xBD, 0xE6, 0x17, 0x76, 0x7F, 0xCE, 0x86, 0x42, 0x12, - 0xE6, 0x2D, 0x98, 0x45, 0x17, 0x9A, 0xE0, 0x0C, 0x26, 0xFC, 0x58, 0x5D, 0x7B, 0xBD, 0x09, 0x05, - 0x8E, 0xFF, 0xE8, 0x47, 0xFB, 0x51, 0xE3, 0x73, 0x5A, 0xC6, 0x6F, 0xC9, 0xB0, 0xA0, 0xC5, 0xC6, - 0xB2, 0x2B, 0xF9, 0x37, 0x91, 0x5B, 0x29, 0x55, 0x6F, 0x34, 0xA3, 0xA5, 0xEF, 0xB9, 0x70, 0x8F, - 0x61, 0xF8, 0x29, 0x72, 0x93, 0xBE, 0x77, 0xE1, 0x13, 0xC7, 0x78, 0x6A, 0xBE, 0x53, 0x08, 0x60, - 0x6A, 0x46, 0xEC, 0xA6, 0xA6, 0xAA, 0xE5, 0x71, 0x02, 0x1A, 0xFB, 0xA2, 0x7E, 0x4E, 0x43, 0x99, - 0xE7, 0x31, 0x24, 0x06, 0xB4, 0x49, 0xEF, 0x4C, 0x86, 0x25, 0xEA, 0xE8, 0x50, 0x36, 0x73, 0x56, - 0xB5, 0x87, 0xC5, 0xA0, 0x3B, 0xF9, 0x81, 0xE2, 0xA7, 0x39, 0xAD, 0xAA, 0x09, 0x13, 0x38, 0x21, - 0x3F, 0xB2, 0x47, 0x6A, 0xA2, 0xD8, 0xF3, 0x22, 0x5B, 0xCC, 0x5C, 0x06, 0x84, 0x7D, 0x11, 0x3E, - 0x86, 0xED, 0x17, 0x3A, 0xC6, 0xEE, 0xD9, 0xC6, 0x39, 0x64, 0xF1, 0x39, 0x43, 0x5E, 0x45, 0x5C, - 0x98, 0xBC, 0x89, 0xE6, 0x43, 0xE7, 0x84, 0x06, 0xDE, 0x69, 0xE9, 0xF2, 0x10, 0x7C, 0xDB, 0xF5, - 0x7A, 0xEB, 0x71, 0x2E, 0x6A, 0x5F, 0xBC, 0x02, 0x46, 0xB1, 0x9F, 0x38, 0x2B, 0xF5, 0x52, 0x6B, - 0x0A, 0xC0, 0x2F, 0xEF, 0x70, 0x10, 0xBA, 0x41, 0x26, 0x3A, 0x79, 0xE6, 0x5D, 0x09, 0x60, 0xCF, - 0x9B, 0x15, 0x70, 0xAF, 0xE7, 0x39, 0xA8, 0xBB, 0xC5, 0xB3, 0xE1, 0xB0, 0xE2, 0xDE, 0xEC, 0x7C, - 0xC3, 0xD0, 0x35, 0x40, 0x38, 0x2D, 0x55, 0x34, 0x7D, 0xB7, 0x33, 0xF9, 0x4E, 0x10, 0xED, 0x11, - 0x4C, 0xAE, 0x5A, 0xA3, 0xBE, 0x8F, 0xD6, 0x16, 0x05, 0x9F, 0x9A, 0xE6, 0xB8, 0x4D, 0xFF, 0x41, - 0xE8, 0x34, 0x56, 0xFA, 0x53, 0x50, 0xD4, 0x51, 0x3A, 0x67, 0xAF, 0x62, 0x1A, 0x22, 0xC6, 0x70, - 0x4A, 0x87, 0x26, 0xCB, 0xE7, 0x81, 0x01, 0xDF, 0xF7, 0x55, 0x24, 0xB4, 0x9A, 0x12, 0x07, 0x17, - 0xF6, 0xEE, 0xFB, 0x58, 0xC7, 0xFD, 0x56, 0x1F, 0x8F, 0x1C, 0xE4, 0xE5, 0x1E, 0x5D, 0xA8, 0x51, - 0xF0, 0x3C, 0x99, 0xFD, 0x96, 0xFC, 0x41, 0x5E, 0xD2, 0xD9, 0xBB, 0xED, 0xD0, 0x31, 0xCE, 0x88, - 0x68, 0xA1, 0xED, 0x79, 0x17, 0xEC, 0x80, 0x2B, 0xF0, 0x4B, 0x42, 0xF3, 0x08, 0xB8, 0xBC, 0x09, - 0xC9, 0xA4, 0x5E, 0x2C, 0x80, 0x8A, 0x3D, 0x23, 0xF5, 0x17, 0x35, 0x6F, 0x90, 0x75, 0x03, 0x9F, - 0xDA, 0x1F, 0x58, 0x93, 0xB0, 0xCA, 0x59, 0xAF, 0x62, 0x58, 0x2F, 0x5B, 0x66, 0x69, 0x67, 0x53, - 0x95, 0xAB, 0xD8, 0xB7, 0x61, 0xEB, 0x1D, 0x41, 0x30, 0x55, 0x89, 0xD6, 0xAA, 0x97, 0x6F, 0x49, - 0x08, 0xEC, 0x4E, 0xB8, 0x7E, 0x36, 0x8D, 0x96, 0x06, 0x4B, 0x18, 0xEE, 0xE6, 0x63, 0x07, 0x5E, - 0x8C, 0xAF, 0xE5, 0x1A, 0x1E, 0x0B, 0x0E, 0x86, 0xEC, 0x0D, 0x04, 0x7A, 0xC4, 0x2D, 0xAF, 0xE9, - 0xC4, 0x50, 0x08, 0x99, 0x52, 0x17, 0xB6, 0xB6, 0x7F, 0x8B, 0xB0, 0x5A, 0x79, 0x66, 0x5D, 0xC8, - 0x00, 0x41, 0x1F, 0xB5, 0x44, 0x94, 0xF7, 0xDE, 0xC8, 0x3B, 0xC8, 0xAF, 0x2C, 0x54, 0xE2, 0xF3, - 0x2C, 0x0C, 0x4D, 0x9D, 0xA4, 0x40, 0x65, 0x16, 0xCD, 0xC1, 0x76, 0xA0, 0x80, 0xC2, 0x1A, 0x75, - 0xCE, 0x79, 0xBE, 0xB1, 0x04, 0x0E, 0x05, 0x1C, 0x12, 0x2C, 0xF2, 0xFF, 0xED, 0x45, 0x51, 0xCA, - 0x92, 0x0B, 0xB9, 0x78, 0x7A, 0xFA, 0xCF, 0x45, 0xC4, 0x0B, 0x5F, 0xB9, 0x7F, 0x4B, 0x21, 0x4A, - 0xB4, 0xF6, 0x57, 0xDC, 0xB4, 0x14, 0x38, 0x4A, 0x66, 0x0D, 0x85, 0x19, 0x50, 0xFA, 0xE1, 0x06, - 0x50, 0xF8, 0xDA, 0x39, 0x24, 0xB7, 0xE2, 0x39, 0xEE, 0x7D, 0xFC, 0xBC, 0xB5, 0x6D, 0xA2, 0xC3, - 0xAC, 0xE5, 0x73, 0x36, 0x72, 0xC4, 0xEE, 0xE8, 0x26, 0x5E, 0x47, 0xE8, 0x7D, 0x70, 0xCC, 0x27, - 0xC0, 0xB0, 0x9E, 0x9F, 0xEC, 0x17, 0xAB, 0xCD, 0x2C, 0x67, 0x34, 0x2C, 0x18, 0x26, 0xA7, 0xF5, - 0xA1, 0x33, 0xA0, 0xB9, 0x51, 0xAD, 0x7B, 0x3A, 0xA1, 0xB1, 0xA6, 0x1C, 0x7C, 0x46, 0x16, 0x03, - 0x2E, 0x7E, 0x61, 0xC9, 0x1F, 0xB2, 0x1E, 0x32, 0x7D, 0x60, 0x0C, 0x87, 0x96, 0x32, 0x1B, 0x3F, - 0x83, 0x5A, 0x3D, 0x25, 0x3E, 0x46, 0xD7, 0x99, 0x6E, 0xB8, 0x44, 0x8A, 0xE2, 0x71, 0x80, 0xA5, - 0x57, 0x67, 0xC6, 0x70, 0xF7, 0x49, 0xD8, 0x95, 0xE6, 0xA2, 0xC1, 0x43, 0xDB, 0xC6, 0x8B, 0x2F, - 0x67, 0x97, 0xEF, 0xAD, 0x44, 0x68, 0x30, 0x0F, 0xB0, 0xCE, 0xDC, 0x39, 0x63, 0x8F, 0x14, 0x5B, - 0x62, 0xA9, 0xB8, 0x0F, 0xCC, 0xF3, 0xDD, 0x9E, 0xFF, 0x5D, 0x1A, 0x17, 0x2C, 0x40, 0x57, 0xE3, - 0x1B, 0x04, 0x45, 0x0F, 0xD4, 0xD7, 0xEB, 0x66, 0x1F, 0xCF, 0x25, 0x11, 0x8C, 0x87, 0x35, 0x66, - 0x11, 0xE3, 0x69, 0xDB, 0xBE, 0x84, 0xFE, 0xDC, 0x2F, 0x8B, 0xBF, 0xDA, 0x56, 0x5B, 0x22, 0x85, - 0x0D, 0x11, 0x2B, 0x55, 0x9C, 0x2F, 0x2B, 0x6B, 0x1E, 0xF6, 0xD2, 0xBB, 0xBE, 0x2A, 0xE5, 0x87, - 0x8B, 0x7D, 0x52, 0xA3, 0x46, 0x9A, 0x96, 0xCF, 0xCF, 0x14, 0x3A, 0x47, 0xD4, 0x03, 0x98, 0xCF, - 0xAE, 0x38, 0x44, 0x02, 0x61, 0x43, 0x94, 0x97, 0xC8, 0xCA, 0xDB, 0xD4, 0x3D, 0xFF, 0x45, 0xE0, - 0xC5, 0x2C, 0x32, 0x36, 0x36, 0xB4, 0x6C, 0xEA, 0x0C, 0x25, 0x9C, 0xC9, 0x68, 0x20, 0x59, 0xBA, - 0xC7, 0x8C, 0xC7, 0x44, 0x69, 0x2D, 0xA4, 0xB7, 0x65, 0x6C, 0x91, 0x71, 0xC9, 0xF4, 0xB7, 0x93, - 0x60, 0x12, 0xE1, 0xEC, 0xF7, 0xB1, 0x0F, 0xF9, 0xCC, 0xA8, 0xD0, 0xA6, 0x10, 0x39, 0x1F, 0xA6, - 0xBE, 0x44, 0x7A, 0x76, 0x1F, 0xD7, 0xA9, 0xFE, 0x09, 0x54, 0x93, 0x51, 0x2F, 0x0B, 0x5D, 0xAB, - 0x6E, 0x32, 0x30, 0x3E, 0x63, 0x05, 0x1F, 0xF8, 0xA8, 0xC8, 0x88, 0x3B, 0x55, 0xA7, 0xE7, 0x09, - 0x6B, 0xB8, 0xA1, 0xED, 0x5A, 0x29, 0xA5, 0x79, 0x34, 0x3D, 0xD1, 0x18, 0x4D, 0x5A, 0xEA, 0xF9, - 0x3B, 0x3A, 0x1B, 0xE1, 0x04, 0xE1, 0x16, 0xBF, 0xD0, 0x8B, 0x21, 0x76, 0x1D, 0x64, 0xDF, 0x4C, - 0xCB, 0x6C, 0x56, 0x57, 0x32, 0x91, 0x9E, 0xCF, 0x0F, 0xC8, 0xED, 0x95, 0xB2, 0xB1, 0x50, 0x63, - 0x3C, 0x9C, 0xCB, 0x70, 0xFF, 0x52, 0x27, 0xAC, 0xE8, 0xEA, 0xCD, 0x09, 0x30, 0x43, 0x8C, 0x90, - 0x06, 0xFE, 0xB0, 0xC2, 0xCB, 0x95, 0xEC, 0x85, 0x27, 0xE8, 0x99, 0xE5, 0x40, 0xB7, 0xDD, 0x66, - 0xCA, 0xC9, 0x26, 0xF2, 0x8B, 0xB6, 0xD3, 0x29, 0x20, 0x2D, 0x7E, 0x65, 0x5B, 0xD5, 0xAC, 0xE1, - 0x3E, 0x86, 0x28, 0x76, 0xA4, 0xDC, 0x52, 0x37, 0x61, 0x40, 0x7F, 0xEF, 0x1B, 0x8A, 0xBD, 0x91, - 0x28, 0x06, 0x43, 0x27, 0x54, 0xF2, 0xFD, 0x17, 0xD3, 0x24, 0x9D, 0x01, 0x4A, 0x4F, 0xCC, 0x4C, - 0x1C, 0x97, 0xD6, 0x16, 0x16, 0xFB, 0x17, 0x4A, 0x4E, 0x94, 0x07, 0x73, 0x2B, 0x72, 0x77, 0x39, - 0x90, 0xD7, 0x42, 0x6E, 0xB8, 0xC8, 0x51, 0xF2, 0xA8, 0xAD, 0xF9, 0x33, 0xF0, 0x15, 0x2D, 0x45, - 0xB3, 0x8C, 0x55, 0xFC, 0xB4, 0xC0, 0x14, 0xC8, 0xBE, 0x03, 0x19, 0x6D, 0x02, 0xA2, 0xC6, 0x93, - 0x37, 0x2A, 0xE2, 0x6C, 0xE0, 0x84, 0xCC, 0x3B, 0xB5, 0x7B, 0x23, 0x28, 0x14, 0xF8, 0xE6, 0x43, - 0x49, 0x53, 0x8E, 0xC7, 0xDC, 0x29, 0x74, 0x4F, 0xAF, 0x85, 0x73, 0x32, 0x9A, 0xDF, 0x38, 0xE8, - 0x48, 0x38, 0x29, 0x4B, 0x07, 0xF9, 0x82, 0x84, 0x32, 0xFC, 0x02, 0xB4, 0xB4, 0xAA, 0xA7, 0xC3, - 0x21, 0xEB, 0xBB, 0x78, 0x5B, 0x3F, 0x67, 0x89, 0x99, 0x5E, 0x11, 0x2F, 0x19, 0x92, 0x5A, 0x04, - 0x3D, 0xE6, 0xFF, 0x3E, 0x1F, 0xAB, 0x7D, 0x11, 0xDF, 0x8D, 0x75, 0xA4, 0xAC, 0x81, 0x3B, 0x66, - 0x2B, 0x67, 0x8E, 0xEE, 0xA8, 0xDF, 0x50, 0x37, 0xE9, 0x40, 0xC5, 0x65, 0xF4, 0x40, 0x8D, 0x17, - 0xDF, 0x75, 0x8A, 0xA5, 0x62, 0x0F, 0xC1, 0x9A, 0x37, 0xAF, 0x55, 0x6A, 0xB9, 0xDD, 0x82, 0x00, - 0x15, 0x81, 0x7A, 0xE0, 0x6D, 0x24, 0xAC, 0xEE, 0x35, 0xBD, 0x1E, 0xB6, 0xB4, 0xBE, 0x4D, 0x90, - 0x5A, 0x3C, 0x7C, 0x13, 0xB1, 0x9E, 0x6C, 0x76, 0x51, 0xAA, 0x49, 0x73, 0xEA, 0x02, 0x90, 0xEC, - 0xF0, 0xF1, 0xF5, 0x4F, 0x05, 0x02, 0x0A, 0xB3, 0x90, 0xF5, 0xC8, 0x9B, 0x55, 0x20, 0xFE, 0x11, - 0x79, 0x03, 0x19, 0xA3, 0x79, 0xD5, 0xF3, 0x59, 0x75, 0xE2, 0x09, 0xA6, 0xCD, 0xB8, 0x23, 0x44, - 0x03, 0x25, 0x85, 0xFF, 0xD5, 0x8D, 0x17, 0x55, 0x46, 0xE9, 0x87, 0x3E, 0xFC, 0xDA, 0x48, 0xFE, - 0x0D, 0x7D, 0x4A, 0x4F, 0x91, 0x9C, 0xBA, 0x95, 0x5D, 0x33, 0x4D, 0xE0, 0x86, 0x86, 0xE3, 0x17, - 0x25, 0xA1, 0x51, 0x78, 0x4B, 0xDC, 0xB4, 0xF5, 0x59, 0xDF, 0xAA, 0x2A, 0x4A, 0x18, 0x22, 0x94, - 0xB2, 0x17, 0x3A, 0x94, 0x68, 0xBB, 0xCD, 0xED, 0x44, 0x24, 0x70, 0xF8, 0xD2, 0xFC, 0x6D, 0xF1, - 0x2E, 0x8B, 0x08, 0x3B, 0x37, 0x6D, 0xF8, 0x09, 0x52, 0x38, 0xFE, 0xB6, 0xF2, 0x8C, 0x68, 0xD6, - 0x65, 0x75, 0xF7, 0x7E, 0x1E, 0x9D, 0x4C, 0x11, 0x02, 0xFF, 0x46, 0x56, 0x22, 0xC4, 0x5C, 0xE8, - 0x8A, 0x51, 0x94, 0xA4, 0x11, 0x52, 0x3E, 0xB9, 0x48, 0x3C, 0x2D, 0xC8, 0xDF, 0x64, 0x37, 0x93, - 0x1C, 0x1F, 0x92, 0x65, 0x14, 0x66, 0x80, 0x39, 0x0D, 0x3F, 0xBF, 0xD3, 0x9D, 0x48, 0x29, 0xB9, - 0x7E, 0x8B, 0x01, 0x4B, 0x72, 0x0A, 0xA2, 0xCF, 0x27, 0xAE, 0xA7, 0x71, 0xF3, 0xAF, 0x48, 0x63, - 0x06, 0x16, 0xA2, 0xAA, 0x29, 0x57, 0xB3, 0xDD, 0x64, 0x53, 0xAD, 0xF0, 0x89, 0x22, 0xF3, 0x57, - 0x35, 0x7B, 0x83, 0xCE, 0x8F, 0x20, 0x14, 0x7E, 0x84, 0x07, 0xBB, 0x22, 0x0C, 0x77, 0x67, 0x88, - 0x5B, 0x5C, 0xBA, 0x13, 0xFF, 0x39, 0xE5, 0x12, 0x20, 0x0F, 0xC9, 0xEE, 0x2D, 0xFD, 0xD8, 0x7B, - 0xE8, 0x64, 0xDB, 0xF7, 0x04, 0x67, 0x27, 0x95, 0xD3, 0x0B, 0xAB, 0xA0, 0xB0, 0xC6, 0x6F, 0x7E, - 0xF5, 0xBB, 0x07, 0x0D, 0xF1, 0xAF, 0x10, 0x4D, 0x7C, 0xF8, 0xA8, 0x18, 0xAD, 0xAE, 0x9C, 0x3A, - 0x1B, 0xD6, 0x14, 0x42, 0x04, 0x93, 0x30, 0x54, 0xC1, 0x0E, 0x3F, 0xEE, 0xDC, 0x29, 0xA4, 0xCC, - 0xF1, 0x4A, 0xD3, 0xEA, 0xF6, 0x3D, 0xEB, 0xCC, 0xAB, 0x68, 0x61, 0x0C, 0x18, 0xFA, 0x7D, 0xA1, - 0x58, 0x1D, 0x7B, 0x5C, 0xE3, 0x7E, 0x7B, 0xB9, 0xA6, 0x38, 0x1D, 0x98, 0x27, 0x8B, 0xD1, 0x86, - 0x96, 0x42, 0xC9, 0x8C, 0x4E, 0xBB, 0xA9, 0x96, 0x3F, 0x75, 0xE0, 0xA7, 0x4E, 0xD3, 0x6A, 0xFF, - 0x6A, 0xE9, 0xC4, 0x48, 0x78, 0xA1, 0xE7, 0x40, 0x05, 0x3B, 0x9C, 0x46, 0x71, 0xA0, 0x5D, 0x46, - 0x05, 0x91, 0x34, 0xDA, 0x27, 0xD6, 0xD2, 0x1F, 0xE8, 0x37, 0x9E, 0xDE, 0x0F, 0x04, 0xF7, 0x19, - 0x34, 0x64, 0xB5, 0xFD, 0x82, 0x96, 0xA1, 0x90, 0x3A, 0xB3, 0xCC, 0x51, 0xD7, 0xD0, 0x5F, 0xBA, - 0x16, 0x30, 0x41, 0x54, 0x16, 0xE9, 0xB9, 0xC5, 0x89, 0x1E, 0x91, 0x78, 0xF1, 0xCE, 0xD8, 0x23, - 0x41, 0x4B, 0x0D, 0xE9, 0x51, 0x67, 0x31, 0x5F, 0x42, 0x58, 0xF2, 0x54, 0x4D, 0x42, 0xB8, 0x9B, - 0xBD, 0xE0, 0x39, 0xCD, 0xF6, 0xC8, 0xD7, 0x51, 0x3D, 0x0C, 0xF4, 0xDC, 0x11, 0x32, 0x99, 0xF8, - 0x0B, 0x60, 0x3B, 0x32, 0x1B, 0xE6, 0x85, 0xEE, 0x66, 0xD2, 0x6F, 0x54, 0xA9, 0x74, 0x76, 0xF7, - 0xF9, 0x84, 0x0A, 0xD0, 0x25, 0x1E, 0xA5, 0x64, 0xAE, 0x30, 0xD6, 0x11, 0xD2, 0x83, 0xE6, 0x56, - 0x9D, 0xAD, 0x5B, 0xBA, 0x4D, 0x2E, 0x36, 0x25, 0x68, 0x4D, 0x9B, 0xF4, 0x8E, 0x82, 0x0C, 0xDC, - 0xFF, 0x69, 0x97, 0xB6, 0x82, 0x2F, 0xD1, 0x64, 0x1E, 0xC9, 0xA4, 0x10, 0xCE, 0x4E, 0xDE, 0x20, - 0xEF, 0xB2, 0xD0, 0x08, 0xC9, 0x9D, 0xC0, 0x7E, 0xCE, 0x4C, 0x57, 0x17, 0x05, 0x26, 0xC3, 0x4D, - 0x43, 0xBF, 0xD3, 0x95, 0x69, 0xAC, 0xDB, 0x98, 0x0E, 0x08, 0xE1, 0xB7, 0x93, 0xF6, 0x51, 0x66, - 0x2C, 0x9E, 0xA4, 0x84, 0x52, 0xCE, 0x69, 0xC9, 0x47, 0xFA, 0x5E, 0x22, 0x1C, 0x73, 0x94, 0x7C, - 0x12, 0xC7, 0xBF, 0xE1, 0x98, 0x7C, 0x99, 0x2E, 0xF5, 0xD4, 0xED, 0x1F, 0x12, 0x23, 0x91, 0x0A, - 0xB0, 0xF9, 0x57, 0x9D, 0x47, 0xF3, 0x6B, 0x7E, 0xF9, 0x65, 0x84, 0xAF, 0xD2, 0x7F, 0x91, 0xD8, - 0xEA, 0x91, 0x7F, 0x7D, 0x21, 0xE5, 0x51, 0x64, 0xAB, 0x56, 0x5C, 0xD1, 0x8A, 0xFB, 0xF3, 0x68, - 0xE2, 0x05, 0x30, 0xE8, 0x62, 0xA9, 0x4A, 0x68, 0x7E, 0xB5, 0xCA, 0xC6, 0xEA, 0x00, 0x8D, 0x02, - 0x97, 0x41, 0x32, 0x01, 0xD4, 0x72, 0x3B, 0xF3, 0x6A, 0x7F, 0x3C, 0xE2, 0x86, 0x01, 0xEE, 0x33, - 0x07, 0xCA, 0xE1, 0x37, 0x77, 0x55, 0xD5, 0x4F, 0x81, 0x40, 0xB5, 0x53, 0x3A, 0x60, 0xFA, 0xEB, - 0xC2, 0x1E, 0xA8, 0x8D, 0x91, 0x31, 0x37, 0xA0, 0xEE, 0x4D, 0x1A, 0x0F, 0x5A, 0x76, 0x71, 0x33, - 0x5D, 0xCC, 0x86, 0x6E, 0x01, 0x4D, 0xB1, 0x43, 0x55, 0x7A, 0x19, 0x4D, 0x5D, 0xD8, 0xA9, 0x16, - 0x3A, 0xCA, 0x52, 0xEF, 0xAE, 0x54, 0x4F, 0x3B, 0x7C, 0xE2, 0x5F, 0x81, 0x30, 0x54, 0xAC, 0x0F, - 0x8E, 0x7D, 0x32, 0x57, 0x47, 0x55, 0x89, 0x10, 0xFE, 0x16, 0x90, 0xBE, 0x0D, 0x1F, 0x0E, 0x20, - 0x39, 0x40, 0xE4, 0xE1, 0x92, 0x05, 0x0C, 0xC7, 0xF3, 0xD9, 0x9F, 0xE7, 0xF5, 0xCB, 0x93, 0xA8, - 0x08, 0xAB, 0xE8, 0x9F, 0x70, 0xC2, 0x52, 0x3B, 0x2C, 0x54, 0x95, 0x7E, 0x8E, 0x2A, 0x74, 0xA2, - 0xC7, 0x5A, 0x76, 0x4C, 0x3A, 0x53, 0x94, 0x36, 0xF5, 0xA8, 0x78, 0x92, 0xF7, 0x2F, 0xDC, 0xD7, - 0x6E, 0xC1, 0x10, 0x62, 0xB3, 0xC4, 0x7C, 0x43, 0x12, 0x06, 0xE3, 0x56, 0xB7, 0x88, 0x0D, 0x4B, - 0x38, 0x7D, 0xE6, 0x1A, 0x6E, 0x3B, 0x0F, 0x3B, 0xD8, 0x44, 0xA6, 0x48, 0x0C, 0xE4, 0x02, 0xEF, - 0x7A, 0x3E, 0xA9, 0x0D, 0xEB, 0x12, 0x44, 0x19, 0x5D, 0x6A, 0x56, 0x0F, 0xD8, 0x66, 0xE4, 0x72, - 0x0E, 0xEC, 0x98, 0xD6, 0xB0, 0x42, 0xEE, 0xD1, 0x19, 0x83, 0x33, 0x84, 0xA2, 0xE9, 0xE3, 0x1E, - 0x68, 0x29, 0x9A, 0x1A, 0x06, 0x44, 0xD4, 0x8A, 0xE0, 0xD5, 0x24, 0xBF, 0x03, 0x8D, 0x51, 0x57, - 0xB7, 0xDE, 0x11, 0x6C, 0x1D, 0x3C, 0x93, 0x08, 0x08, 0xE6, 0xDC, 0xEF, 0x54, 0xE6, 0x3A, 0x1D, - 0x71, 0xF5, 0xD7, 0x89, 0x67, 0x7E, 0x98, 0x4E, 0xCF, 0x7D, 0x47, 0x3A, 0x76, 0x28, 0xE3, 0x34, - 0xBC, 0xC1, 0xB6, 0x7B, 0x88, 0x83, 0xD9, 0x8B, 0xB7, 0x7C, 0xEC, 0x92, 0x34, 0x8F, 0xEB, 0x02, - 0x13, 0x0C, 0x89, 0x89, 0x30, 0x9D, 0xF7, 0x3E, 0x0B, 0xD2, 0xB6, 0x51, 0xD1, 0x59, 0x26, 0x8C, - 0xCF, 0x94, 0xD8, 0x79, 0xA9, 0x78, 0x6D, 0xAC, 0x4F, 0x46, 0xA3, 0x68, 0x1A, 0x53, 0xDF, 0x95, - 0x4B, 0xBE, 0x00, 0x95, 0xF6, 0x50, 0x72, 0xE5, 0x2F, 0x99, 0xDE, 0x7E, 0xFB, 0xC3, 0xE0, 0x06, - 0x62, 0xE5, 0x75, 0x91, 0x87, 0x90, 0x9A, 0x0E, 0xD6, 0xC4, 0x63, 0xD4, 0x25, 0x45, 0x60, 0xF1, - 0x7F, 0x66, 0x61, 0xCE, 0xB4, 0xB2, 0xDF, 0xF8, 0x3E, 0x75, 0x6D, 0x88, 0x0D, 0xD4, 0xC5, 0x00, - 0xC3, 0x84, 0xDF, 0xAC, 0x7B, 0xC9, 0x88, 0x00, 0x8D, 0x76, 0xAD, 0x63, 0xB2, 0x9B, 0xF3, 0xDC, - 0xE1, 0xF2, 0xBB, 0x17, 0xC8, 0xA1, 0x09, 0xBA, 0x4D, 0xC1, 0xCB, 0x81, 0xE8, 0x31, 0xFB, 0xBE, - 0x79, 0x32, 0x81, 0xB5, 0x14, 0x8C, 0xC8, 0x6C, 0xB4, 0x52, 0x32, 0xBC, 0xCD, 0xB8, 0x0D, 0x71, - 0x53, 0x94, 0x75, 0x6F, 0x2C, 0xBF, 0xD0, 0xE6, 0xDE, 0xD2, 0xA6, 0x04, 0x3C, 0xE0, 0xFC, 0x5B, - 0x40, 0xF6, 0x55, 0x2D, 0x16, 0x68, 0xB4, 0x62, 0xC7, 0xA6, 0xBC, 0xDA, 0x47, 0xFC, 0x41, 0x45, - 0x81, 0x33, 0x97, 0x51, 0xAB, 0x0C, 0x04, 0x5E, 0x18, 0x15, 0x91, 0x4C, 0xFC, 0xEA, 0x51, 0x27, - 0x1C, 0xFC, 0x2A, 0x00, 0x55, 0x1D, 0x94, 0xC7, 0xD9, 0x39, 0x00, 0x40, 0x59, 0x1E, 0x47, 0x38, - 0x4D, 0xDC, 0x46, 0xA1, 0x4A, 0x3C, 0x3F, 0x11, 0xE7, 0xAC, 0x39, 0xA3, 0xEC, 0xEF, 0xBF, 0xA5, - 0x05, 0x97, 0x86, 0x49, 0x48, 0x35, 0x87, 0x10, 0x47, 0x07, 0x8D, 0xEA, 0xC8, 0xA4, 0xE7, 0x79, - 0xA5, 0x67, 0x99, 0xED, 0x87, 0xDA, 0xEC, 0xC4, 0xB9, 0x0C, 0xFF, 0x52, 0x3A, 0x4B, 0x9B, 0xE7, - 0x89, 0x51, 0x8D, 0x31, 0x77, 0xB4, 0x7E, 0x4B, 0xFD, 0xB4, 0x41, 0x95, 0x23, 0xDD, 0x44, 0x4F, - 0x1B, 0x5A, 0x9F, 0x95, 0x93, 0xC4, 0x46, 0xCE, 0x77, 0x79, 0xD6, 0x90, 0xF6, 0xC2, 0xA3, 0xCC, - 0x47, 0x2B, 0xAC, 0xA4, 0x5F, 0x62, 0x8C, 0x09, 0x34, 0x66, 0x7B, 0x89, 0x3C, 0xCC, 0xD9, 0xAD, - 0xD9, 0x4F, 0xD3, 0x72, 0x53, 0x18, 0x6B, 0x30, 0x4C, 0x88, 0x75, 0x05, 0x02, 0xE4, 0x16, 0xD4, - 0x3D, 0x14, 0x7E, 0xCE, 0xCC, 0xAB, 0xB1, 0xB4, 0x2E, 0x01, 0x0C, 0x39, 0xE5, 0x73, 0x19, 0x19, - 0x07, 0xA8, 0xD2, 0x7D, 0x6A, 0xF2, 0x6A, 0x9F, 0xCC, 0x04, 0xE6, 0x89, 0xFC, 0x29, 0x36, 0x43, - 0x6F, 0x83, 0x41, 0x6D, 0x78, 0xD7, 0x69, 0x66, 0x4F, 0xBD, 0xD1, 0xB7, 0x9F, 0x34, 0x38, 0xB2, - 0xE8, 0x4E, 0xC3, 0xDC, 0x37, 0xFF, 0xFE, 0x69, 0x10, 0x10, 0xF1, 0x86, 0x3C, 0xDA, 0xE1, 0x5B, - 0x3B, 0x0F, 0xD9, 0x01, 0x0D, 0x3F, 0xA0, 0x05, 0x82, 0xFC, 0x2A, 0x50, 0xFA, 0x30, 0xF8, 0x99, - 0x6E, 0xA2, 0xDB, 0xC4, 0xBC, 0x81, 0x66, 0xD0, 0x26, 0xD2, 0x63, 0xAF, 0x76, 0xBF, 0x24, 0x1E, - 0xE3, 0x2D, 0xDA, 0xBF, 0x04, 0x45, 0x6C, 0x94, 0x39, 0xC6, 0x72, 0x69, 0xA6, 0xC7, 0x3B, 0x4A, - 0xB6, 0xEB, 0xA3, 0x8A, 0x8B, 0xC4, 0x7A, 0x4A, 0x1B, 0x28, 0xD5, 0xE9, 0xE9, 0xF4, 0x84, 0xFF, - 0x3C, 0x23, 0x45, 0x67, 0xE8, 0x7A, 0x08, 0x1F, 0xFF, 0x5A, 0x24, 0x98, 0xE7, 0x9A, 0x97, 0x14, - 0x11, 0x15, 0x07, 0xFB, 0x97, 0x42, 0x0D, 0xF5, 0xE7, 0x5A, 0x60, 0xDD, 0xCC, 0xF5, 0xEB, 0x32, - 0x0F, 0xCB, 0x64, 0xFB, 0x99, 0x57, 0x50, 0xCA, 0x06, 0xEA, 0x78, 0xDA, 0x40, 0xD7, 0x1B, 0x67, - 0x83, 0x99, 0xBF, 0xC1, 0xDB, 0x5C, 0x33, 0x97, 0x2D, 0x10, 0xF0, 0xD6, 0x3D, 0x80, 0x03, 0xE4, - 0xF3, 0x60, 0x4F, 0x73, 0x31, 0xF9, 0x35, 0xBE, 0x26, 0x2F, 0x16, 0xAC, 0xB9, 0x7C, 0x83, 0x44, - 0x4A, 0xFE, 0xF1, 0xB6, 0x76, 0x0C, 0xDC, 0xB7, 0xA9, 0xC6, 0xBA, 0x0D, 0xB9, 0x99, 0xC0, 0xA7, - 0x12, 0x3E, 0x90, 0x31, 0xA5, 0x1B, 0x21, 0x39, 0xA1, 0x78, 0x68, 0xB5, 0x45, 0x57, 0x63, 0xBF, - 0x61, 0xBC, 0xD8, 0x1D, 0x14, 0xF3, 0x5D, 0x41, 0xB7, 0xBE, 0x26, 0xFB, 0x76, 0xAB, 0x44, 0x1B, - 0xC5, 0x55, 0x27, 0x76, 0x64, 0xA1, 0x5F, 0xCF, 0xED, 0x8A, 0x13, 0x55, 0x3C, 0xC4, 0xA0, 0xF7, - 0xE7, 0x79, 0x6F, 0xAE, 0x83, 0x77, 0x96, 0x03, 0x09, 0x3E, 0x01, 0xB3, 0x1B, 0x2E, 0x67, 0xC9, - 0x37, 0xE0, 0x98, 0x03, 0xAF, 0x79, 0x20, 0x99, 0x7A, 0x0F, 0x1A, 0x75, 0x75, 0x82, 0xC4, 0x42, - 0xB2, 0xD5, 0x16, 0x09, 0x7B, 0x0E, 0x9F, 0x4E, 0xC9, 0x24, 0xA8, 0x16, 0xFF, 0xED, 0x00, 0x59, - 0xE2, 0xE4, 0x3C, 0x8C, 0x63, 0xEA, 0x2C, 0x7C, 0xB9, 0x63, 0x58, 0x08, 0x80, 0xD3, 0x8F, 0x08, - 0xB5, 0xA3, 0x9A, 0xFD, 0xD7, 0x96, 0xAE, 0x5D, 0xB5, 0xF7, 0x44, 0xAB, 0x4C, 0xCA, 0x39, 0x2D, - 0x42, 0x77, 0x9A, 0xB5, 0x3C, 0xF3, 0x17, 0x0A, 0xE2, 0x3A, 0x64, 0x04, 0xCE, 0x38, 0x68, 0x75, - 0x43, 0xBE, 0x14, 0xEC, 0x46, 0x36, 0x5A, 0x5A, 0x0C, 0xB1, 0xF7, 0x19, 0x82, 0x5C, 0xAC, 0xA7, - 0x8F, 0xBE, 0xBE, 0x44, 0xE2, 0x42, 0x65, 0x23, 0xB8, 0x61, 0x10, 0x9F, 0x7C, 0x3E, 0x1B, 0xB4, - 0xA1, 0x4E, 0xA7, 0x65, 0xCB, 0xC0, 0x74, 0xE0, 0x98, 0x7E, 0x14, 0x1A, 0x40, 0xC6, 0x8D, 0x56, - 0xB7, 0x69, 0x69, 0x3C, 0x07, 0xBD, 0xDB, 0x25, 0xB3, 0x20, 0xF6, 0x81, 0x69, 0x03, 0x1D, 0x40, - 0x19, 0x69, 0x06, 0x83, 0xAD, 0xC5, 0xD8, 0xDD, 0xDC, 0x38, 0x70, 0xF4, 0x58, 0x9C, 0x8D, 0x2A, - 0x95, 0x39, 0x33, 0x64, 0x10, 0xA8, 0x9E, 0x97, 0x41, 0x05, 0x8E, 0x26, 0x74, 0xFB, 0xEB, 0x06, - 0xBE, 0x77, 0x47, 0xF8, 0x20, 0x09, 0x45, 0xF9, 0xE4, 0x17, 0xAA, 0x73, 0xFD, 0x71, 0xFC, 0xF7, - 0x3A, 0xD2, 0x4C, 0xBA, 0x40, 0x74, 0x9D, 0x1D, 0x7D, 0xEB, 0x90, 0x28, 0x51, 0x2B, 0x54, 0xAE, - 0xC1, 0xA9, 0x93, 0xA1, 0x91, 0x70, 0x0B, 0xA0, 0x97, 0x5C, 0x8B, 0xD0, 0x3E, 0x23, 0x4D, 0x6D, - 0xC0, 0xBD, 0x2D, 0x5E, 0xD4, 0x17, 0xFD, 0x3C, 0xFB, 0xDA, 0xFA, 0xCD, 0x56, 0x56, 0x02, 0x25, - 0x49, 0x88, 0x61, 0xC0, 0x1D, 0xAB, 0x22, 0x96, 0xF1, 0x52, 0xBD, 0xED, 0xE3, 0xAF, 0x92, 0x65, - 0x25, 0xBA, 0x01, 0x7A, 0xDF, 0x12, 0x67, 0xA6, 0x4C, 0xC8, 0xCE, 0x64, 0xF9, 0xF9, 0x0D, 0x09, - 0xA7, 0x6D, 0x85, 0xE2, 0xF5, 0x0F, 0x97, 0xDC, 0x06, 0x43, 0x85, 0xF8, 0x8C, 0xBB, 0x83, 0xDA, - 0x28, 0x1B, 0x12, 0x10, 0x45, 0xE8, 0xF2, 0x7F, 0xC5, 0x1B, 0x2F, 0xAA, 0xB3, 0xCF, 0x31, 0xFB, - 0xDE, 0x2E, 0xAF, 0xA5, 0x89, 0x8C, 0x51, 0x73, 0xF3, 0xF3, 0x48, 0xBC, 0x8B, 0x4F, 0x98, 0x91, - 0x0A, 0x3D, 0x78, 0xE2, 0xBF, 0x9F, 0x5E, 0x18, 0x42, 0xD8, 0xCD, 0x8F, 0x33, 0xF8, 0x17, 0x45, - 0xEB, 0x81, 0xD6, 0xCC, 0x90, 0xF1, 0x54, 0x05, 0x45, 0xAA, 0x93, 0x60, 0xF3, 0xC9, 0x9A, 0x4C, - 0xEE, 0x13, 0xC9, 0x68, 0xE0, 0x4D, 0xB9, 0xB9, 0x1B, 0x3A, 0x55, 0x06, 0x9F, 0x06, 0x73, 0xD6, - 0x98, 0x10, 0x85, 0xEE, 0x98, 0x76, 0x77, 0x7C, 0x6F, 0xDD, 0x36, 0x19, 0x76, 0xD2, 0x01, 0x69, - 0x92, 0x74, 0x2A, 0xB1, 0x66, 0x65, 0x62, 0x93, 0x3D, 0xE2, 0xAC, 0xD8, 0x35, 0x0E, 0x21, 0x8A, - 0x02, 0x92, 0x30, 0x39, 0xA8, 0xA7, 0x1F, 0x5B, 0x45, 0x38, 0xB3, 0xE0, 0x0F, 0x8A, 0x1E, 0x39, - 0x84, 0x9F, 0x4F, 0xEB, 0x90, 0x34, 0xA2, 0x81, 0x63, 0xFA, 0x5B, 0x16, 0xCC, 0xA3, 0xAD, 0x32, - 0x4C, 0xD4, 0x63, 0xB8, 0x41, 0xC1, 0xE5, 0x5B, 0x08, 0x0B, 0x15, 0x62, 0xC1, 0xA9, 0x5C, 0x1F, - 0x27, 0xF1, 0xE5, 0x6D, 0x76, 0x77, 0x1D, 0xB5, 0x15, 0x67, 0x52, 0x9C, 0x9C, 0x76, 0xE0, 0x77, - 0xE9, 0x5D, 0x6A, 0x3F, 0xD7, 0x8B, 0x86, 0xBD, 0x33, 0x25, 0x59, 0x7A, 0x32, 0xB0, 0x42, 0x2C, - 0x4E, 0xA8, 0x21, 0x4F, 0x32, 0x36, 0x2D, 0x22, 0x34, 0x07, 0x18, 0x43, 0x7E, 0x7D, 0xDC, 0x36, - 0xB5, 0xB6, 0x4A, 0x87, 0x10, 0xBF, 0xAC, 0x1E, 0x22, 0x03, 0x5D, 0x99, 0x01, 0x38, 0x6B, 0xD4, - 0x79, 0x8B, 0x72, 0xE7, 0x9E, 0x09, 0x48, 0x87, 0x53, 0xD9, 0x49, 0x17, 0x11, 0x03, 0xA9, 0xB2, - 0x5D, 0xF6, 0xB5, 0xDE, 0x60, 0x76, 0x19, 0xDB, 0xD2, 0x58, 0x87, 0xA0, 0x41, 0x53, 0x97, 0x4C, - 0xFF, 0xDB, 0x21, 0x5A, 0xD2, 0x34, 0x3A, 0x8F, 0xA9, 0xEC, 0x84, 0xF3, 0x95, 0xA8, 0x8D, 0x0E, - 0x27, 0xF3, 0xD2, 0x0C, 0x60, 0x44, 0x56, 0x3F, 0xAF, 0x10, 0x8E, 0x2A, 0x31, 0x28, 0xB9, 0xEE, - 0xF8, 0x3B, 0x59, 0x44, 0x52, 0x83, 0x05, 0x2B, 0xD6, 0xBD, 0x25, 0x91, 0x27, 0xCA, 0xCC, 0x3D, - 0x75, 0x43, 0x32, 0x6D, 0x8B, 0xAE, 0xD4, 0xA8, 0x3C, 0xA6, 0xEF, 0x81, 0x77, 0x39, 0x4A, 0x40, - 0xA7, 0xEB, 0xA3, 0x1F, 0x5F, 0x31, 0x33, 0x86, 0xD4, 0x69, 0x01, 0xC3, 0x21, 0x5B, 0x6F, 0x68, - 0x0E, 0x06, 0x00, 0x0C, 0x00, 0x08, 0x03, 0x0C, 0x01, 0x0F, 0x0E, 0x0A, 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, - 0x01, 0x06, 0x02, 0x04, 0x00, 0x03, 0x07, 0x05, 0x04, 0x07, 0x00, 0x03, 0x05, 0x01, 0x06, 0x02, - 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD - }; - - SimpleTransform((unsigned char*)ReverseKeyTransformArray, KEY_TRANSFORM_NR, in, out); - - return; -} diff --git a/SPC/Src/SPCApi.cpp b/SPC/Src/SPCApi.cpp deleted file mode 100755 index 60380e9..0000000 --- a/SPC/Src/SPCApi.cpp +++ /dev/null @@ -1,329 +0,0 @@ -#include "SPCApi.h" - - -#ifndef PRINT_LOG -#define PRINT_BUFFER(A, B, C) -#else -#define PRINT_BUFFER PrintBYTE -#endif - - -#define _SPC_DEBUG_VER -//#define _SPC_FILE_LOG - -#ifdef _SPC_DEBUG_VER -FILE* SPClogfile = NULL; -FILE* SPCmsgfile = NULL; -DRMLOG_CTX SPCLogCTX; -#endif - - - -SPC_INTERNAL SPCApi::SPCApi() -{ - -} - - -SPC_INTERNAL int SPCApi::InitSPCContext(SPCHandle_CTX* pSPCctx,ModeType eMode,unsigned char* pUserID,unsigned int nUserIDLen) -{ - #ifdef _SPC_DEBUG_VER - #ifdef _SPC_FILE_LOG - // Output log infomation to file - #ifdef _LINUX - SPClogfile = fopen ("/sdcard/logClient.txt", "wt"); - SPCmsgfile = fopen ("/sdcard/msgClient.txt", "wt"); - #else - SPClogfile = fopen ("./log.txt", "a+"); - SPCmsgfile = fopen ("./msg.txt", "a+"); - #endif - // Print logs into the specifed file - DRMLOG_SetOutput (&SPCLogCTX, SPClogfile); - #else - // output to stdout - printf(" InitSPCContext stdout \n"); - DRMLOG_SetOutput (&SPCLogCTX, stdout); - #endif - // Log level - #ifdef _SPC_LOG_LEVEL_DEBUG - DRMLOG_SetLevel (&SPCLogCTX, LOG_DEBUG); - #elif _SPC_LOG_LEVEL_INFO - DRMLOG_SetLevel (&SPCLogCTX, LOG_INFO); - #elif _SPC_LOG_LEVEL_WARN - DRMLOG_SetLevel (&SPCLogCTX, LOG_WARN); - #elif _SPC_LOG_LEVEL_ERROR - DRMLOG_SetLevel (&SPCLogCTX, LOG_ERROR); - #elif _SPC_LOG_LEVEL_FATAL - DRMLOG_SetLevel (&SPCLogCTX, LOG_FATAL); - #else - DRMLOG_SetLevel (&SPCLogCTX, LOG_INFO); - #endif - // Print: Level + Filename - DRMLOG_SetFormat (&SPCLogCTX, LOG_FORMAT_LEVEL | LOG_FORMAT_FILE); - #endif - - if(pSPCctx==NULL) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - - DRMLOG_Message(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__,"InitSPCContext UserID: %s UserIDLen:%d\n",pUserID,nUserIDLen); - - pSPCctx->pUserID = (unsigned char*)malloc( nUserIDLen+1); - if(pSPCctx->pUserID == NULL) - return SAKEP_MEMROY_ALLOCATE_ERROR; - pSPCctx->nUserIDLen = nUserIDLen; - pSPCctx->LoginTryCount = SPC_LOGIN_LIMITED_COUNT; -// pSPCctx->LoginTryCount = nLoginCount; - memset(pSPCctx->pUserID,0x00,nUserIDLen+1); - memcpy(pSPCctx->pUserID,pUserID,nUserIDLen); - //added by sangsu 0308 - memset(pSPCctx->ctx.pPreHashMsg,0x00,SAKEP_SHA1_HASH_SIZE); - memset(pSPCctx->ctx.pSharedkey,0x00,SAKEP_SHARED_KEY_SIZE); - memset(pSPCctx->ctx.pSKPrime,0x00,SAKEP_SK_PRIME_KEY_SIZE); - pSPCctx->ctx.eErrorType = (ErrorType) 0x00; - if(eMode == SERVER_MODE) - { - pSPCctx->ctx.eState = STATE_WAIT_INITALSETUP; - } - if(eMode == CLIENT_MODE) - { - - pSPCctx->ctx.eState = STATE_IDLE; - } - - return SPC_SUCCESS; - -} - -SPCApi::~SPCApi() -{ - #ifdef _SPC_DEBUG_VER - #ifdef _SPC_FILE_LOG - if (SPClogfile != NULL) - { - fclose (SPClogfile); - SPClogfile = NULL; - } - - if (SPCmsgfile != NULL) - { - fclose (SPCmsgfile); - SPCmsgfile = NULL; - } - #endif - #endif -} - -SPC_INTERNAL void SPCApi::DestroySPCContext(SPCHandle_CTX* pSPCctx) -{ - if(pSPCctx->pUserID !=NULL) - { - free(pSPCctx->pUserID); - } - pSPCctx->ctx.eErrorType = (ErrorType)SUCCESS; - pSPCctx->ctx.eState = (AkeState)STATE_IDLE; - memset(pSPCctx->ctx.pPreHashMsg,0x00,SAKEP_SHA1_HASH_SIZE); - memset(pSPCctx->ctx.pSharedkey,0x00,SAKEP_SHARED_KEY_SIZE); - memset(pSPCctx->ctx.pSKPrime,0x00,SAKEP_SK_PRIME_KEY_SIZE); -} - -SPC_INTERNAL void SPCApi::ClearSPCSessionContext(SPCHandle_CTX* pSPCctx) -{ - pSPCctx->ctx.eErrorType = (ErrorType)SUCCESS; - pSPCctx->ctx.eState = (AkeState)STATE_IDLE; - memset(pSPCctx->ctx.pPreHashMsg,0x00,SAKEP_SHA1_HASH_SIZE); - //memset(pSPCctx->ctx.pSharedkey,0x00,SAKEP_SHARED_KEY_SIZE); - //memset(pSPCctx->ctx.pSKPrime,0x00,SAKEP_SK_PRIME_KEY_SIZE); -} - - -/** - * @fn int ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen) - * @brief Parse Client Hello Message - * - * @param [in/out] pSPCctx Context Container - * @param [in] pPin common Pin Data - * @param [in] nPinLen common Pin Data Length - * @param [in] pMessage input Message - * @param [in] nInLen input Message Length - * @return result of ParseClientHello - */ -SPC_INTERNAL int SPCApi::ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen) -{ - int reVal = SPC_SUCCESS; - - if((NULL==pSPCctx) || (pMessage == NULL) || (nInLen == 0)) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - reVal = m_SAkep.ParseClientHello(&(pSPCctx->ctx),pPwd,nPwdLen,pMessage,nInLen); - if(reVal != SPC_SUCCESS) - { - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello login count [ : %d ]\n",pSPCctx->LoginTryCount); - - return reVal; - } - - return reVal; -} - -/** - * @fn int GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pID,unsigned char* pOutMsg,unsigned int* nOutLen) - * @brief Generate Server Hello Message - * - * @param [in] pSPCctx Context Container - * @param [in] pPwd common password Data - * @param [in] pPwdLen password Data length - * @param [in] pID Client's ID Value - * @param [out] pOutMsg ClientHelloMessage result - * @param [out] nOutLen ClientHelloMessage Length - * @return result of GeneratorServerHello - */ -SPC_INTERNAL int SPCApi::GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pID,unsigned char* pOutMsg,unsigned int* nOutLen) -{ - int reVal = SPC_SUCCESS; - - - if((NULL==pSPCctx) || (pPwd == NULL) || (nPwdLen == 0) || (pID == NULL) || (pOutMsg==NULL)) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - reVal = m_SAkep.GeneratorServerHello(&(pSPCctx->ctx),pPwd,nPwdLen,pSPCctx->pUserID,pSPCctx->nUserIDLen,pOutMsg,nOutLen); - if(reVal != SPC_SUCCESS) - { - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello login count [ : %d ]\n",pSPCctx->LoginTryCount); - return reVal; - } - - return reVal; -} - -/** - * @fn int GeneratorAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen) - * @brief Generate ACK Message - * - * @param [in] pSPCctx Context Container - * @param [out] pOutMsg ClientHelloMessage result - * @param [out] nOutLen ClientHelloMessage Length - * @return result of GeneratorAck - */ -SPC_INTERNAL int SPCApi::GeneratorServerAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen) -{ - int reVal = SPC_SUCCESS; - - if((NULL==pSPCctx)||(pOutMsg==NULL) ) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - reVal = m_SAkep.GeneratorServerAck(&(pSPCctx->ctx),pOutMsg,nOutLen); - if(reVal != SPC_SUCCESS) - { - - DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck login count [ : %d ]\n",pSPCctx->LoginTryCount); - return reVal; - } - - - - return reVal; -} - - - -/** - * @fn int ParseAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen) - * @brief Parse Ack Message - * - * @param [in] pSPCctx Context Container - * @param [in] pMessage input Message - * @param [in] nInLen input Message len - * @return result of ParseAck - */ -SPC_INTERNAL int SPCApi::ParseClientAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen) -{ - int reVal = SPC_SUCCESS; - - if((NULL == pSPCctx) || (pMessage == NULL)|| (nInLen == 0)) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - reVal = m_SAkep.ParserClientAck(&(pSPCctx->ctx),pMessage,nInLen); - if(reVal !=SPC_SUCCESS) - { - return reVal; - } - - - return reVal; -} - - -/** - * @fn int GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen) - * @brief Content Encrytion - * - * @param [in] ctx Context Container - * @param [in] pPlainData Plain Data(original data) - * @param [in] uPlainDataLen Plain Data Length - * @param [out] pEncryptedData Encrypted Message(including Header) - * @param [out] uEncryptedDataLen Encrypted Message length( Encrypted Data Length + Header length) - * @return result of EncryptContents - */ - -SPC_INTERNAL int SPCApi::GeneratorRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen) -{ - int reVal = SPC_SUCCESS; - - if((NULL==pSPCctx) || (pPlainData == NULL) || (uPlainDataLen == 0)) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - - reVal = m_SAkep.GeneratorRecordMsg ( &(pSPCctx->ctx),pPlainData , uPlainDataLen , pEncryptedData , uEncryptedDataLen); - if(reVal != SPC_SUCCESS) - { - return reVal; - } - - return reVal; -} - -/** - * @fn int ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen) - * @brief Content Encrytion - * - * @param [in] pSPCctx Context Container - * @param [in] pEncryptedData Encrypted Message(including Header) - * @param [in] uEncryptedDataLen Encrypted Message length( Encrypted Data Length + Header length) - * @param [out] pPlainData Decrypted Message(only payload Message) - (delete Header) - * @param [out] uPlainDataLen Decrypted Message length(only payload Message length)-- (delete Header) - * @return result of ParseRecordMsg - */ -SPC_INTERNAL int SPCApi::ParseRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen) -{ - int reVal = SPC_SUCCESS; - - if((NULL==pSPCctx) || (pEncryptedData == NULL) || (uEncryptedDataLen == 0)) - { - return SAKEP_INPUT_INVALID_ERROR; - } - - - reVal = m_SAkep.ParseRecordMsg ( &(pSPCctx->ctx),pEncryptedData , uEncryptedDataLen ,pPlainData ,uPlainDataLen); - if(reVal != SPC_SUCCESS) - { - pSPCctx->LoginTryCount = 0; - return reVal; - } - - return reVal; -} - diff --git a/SPC/Src/Util.cpp b/SPC/Src/Util.cpp deleted file mode 100755 index 18b31f1..0000000 --- a/SPC/Src/Util.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include - -/** -4byte unsinged char * ¸¦ unsigned int ·Î º¯È¯. -@param pData (Input) - º¯È¯ÇÒ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ -@param uData (Output) - º¯È¯µÈ unsigned int Data -*/ -void ConvertUint8ToUint32 (unsigned char* pData, unsigned int* uData) -{ - *uData = pData[0] << 24 | pData [1] << 16 | - pData [2] << 8 | pData [3]; -} - -/** -unsigned int ¸¦ 4byte unsigned char *·Î º¯È¯ -@param uData (Input) - unsigned int Data to convert -@param pData (Output) - º¯È¯µÈ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ -*/ -void ConvertUint32ToUint8 (unsigned int uData, unsigned char* pData) -{ - pData [0] = (unsigned char) (uData >> 24); - pData [1] = (unsigned char) (uData >> 16); - pData [2] = (unsigned char) (uData >> 8); - pData [3] = (unsigned char) (uData); -} - -/** - * @fn GetFileLength(FILE *pFp,int *nFileLen) - * @brief Get File length - * - * @param [in] pOutMsg Input File pointer - * @param [out] nOutLen file total length - * @return result of GetFileLength -*/ -int GetFileLength(FILE *pFp,int *nFileLen) -{ - int reVal = 0; - - fseek(pFp,0,SEEK_END); - - *nFileLen = ftell(pFp); - - fseek(pFp,0,SEEK_SET); - - return reVal; -} \ No newline at end of file diff --git a/SPC/Src/WhiteBox/SDWAP.c b/SPC/Src/WhiteBox/SDWAP.c deleted file mode 100755 index 6a3a2a3..0000000 --- a/SPC/Src/WhiteBox/SDWAP.c +++ /dev/null @@ -1,571 +0,0 @@ -/** - * @file SDWAP.c - * @brief Dynamic white box AES module for SSA(Samsung Security Architecture) - * @author Samsung Dynamic WhiteBox AES - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * @see SDWAP - * @date 2013-01-10 - * @version 1.0 - * @par Copyright: - * Copyright 2013 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of dynamic whitebox table generation is confidential. - */ - - - -//////////////////////////////////////////////////////////////////////////// -// including header files -//////////////////////////////////////////////////////////////////////////// -#include -#include -#include "SDWAP_defines.h" -#include "SDWAP.h" - - -//////////////////////////////////////////////////////////////////////////// -// function implementations -//////////////////////////////////////////////////////////////////////////// -/* - * @fn static void SDWAP_Encryption(SDWAP_TBOX *pTBox, SDWAP_PBOX *pPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) - * @brief SDWAP Encryption function. - * - * @param [in] pTBox T-Box - * @param [in] pPBox P-Box - * @param [in] pWPBox word(4byte) permutation box - * @param [in] pBPBox bit permutation box - * @param [in] Nr number of rounds - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @param [in] isLittleEndian flag for little endian - * @return void - */ -static void SDWAP_Encryption(SDWAP_TBOX *pTBox, SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_PBOX *pPBox, SDWAP_WORD_PBOX* pWPBox, SDWAP_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) -{ - unsigned int i; - unsigned int idx = 0; - unsigned int idx16; - unsigned char idx_wps[16]; - unsigned char state[16]; //state - unsigned char rk_xor[16] = {0x00,}; - SDWAP_WORD* itmdt[16]; //intermediate value - - //3. Process initial permutation - idx_wps[(pPBox[0][0][0]) & 0x0f] = state[(pPBox[0][0][0]) & 0x0f] = in[ 0] ^ (*pKeyLookup)[0][0] ^ (*pKeyLookup)[0][4] ^ (*pKeyLookup)[0][8]; - idx_wps[(pPBox[0][0][1]) & 0x0f] = state[(pPBox[0][0][1]) & 0x0f] = in[ 1] ^ (*pKeyLookup)[1][0] ^ (*pKeyLookup)[1][4] ^ (*pKeyLookup)[1][8]; - idx_wps[(pPBox[0][0][2]) & 0x0f] = state[(pPBox[0][0][2]) & 0x0f] = in[ 2] ^ (*pKeyLookup)[2][0] ^ (*pKeyLookup)[2][4] ^ (*pKeyLookup)[2][8]; - idx_wps[(pPBox[0][0][3]) & 0x0f] = state[(pPBox[0][0][3]) & 0x0f] = in[ 3] ^ (*pKeyLookup)[3][0] ^ (*pKeyLookup)[3][4] ^ (*pKeyLookup)[3][8]; - idx_wps[(pPBox[0][0][4]) & 0x0f] = state[(pPBox[0][0][4]) & 0x0f] = in[ 4] ^ (*pKeyLookup)[0][1] ^ (*pKeyLookup)[0][5] ^ (*pKeyLookup)[0][9]; - idx_wps[(pPBox[0][0][5]) & 0x0f] = state[(pPBox[0][0][5]) & 0x0f] = in[ 5] ^ (*pKeyLookup)[1][1] ^ (*pKeyLookup)[1][5] ^ (*pKeyLookup)[1][9]; - idx_wps[(pPBox[0][0][6]) & 0x0f] = state[(pPBox[0][0][6]) & 0x0f] = in[ 6] ^ (*pKeyLookup)[2][1] ^ (*pKeyLookup)[2][5] ^ (*pKeyLookup)[2][9]; - idx_wps[(pPBox[0][0][7]) & 0x0f] = state[(pPBox[0][0][7]) & 0x0f] = in[ 7] ^ (*pKeyLookup)[3][1] ^ (*pKeyLookup)[3][5] ^ (*pKeyLookup)[3][9]; - idx_wps[(pPBox[0][1][0]) & 0x0f] = state[(pPBox[0][1][0]) & 0x0f] = in[ 8] ^ (*pKeyLookup)[0][2] ^ (*pKeyLookup)[0][6] ^ (*pKeyLookup)[0][10]; - idx_wps[(pPBox[0][1][1]) & 0x0f] = state[(pPBox[0][1][1]) & 0x0f] = in[ 9] ^ (*pKeyLookup)[1][2] ^ (*pKeyLookup)[1][6] ^ (*pKeyLookup)[1][10]; - idx_wps[(pPBox[0][1][2]) & 0x0f] = state[(pPBox[0][1][2]) & 0x0f] = in[10] ^ (*pKeyLookup)[2][2] ^ (*pKeyLookup)[2][6] ^ (*pKeyLookup)[2][10]; - idx_wps[(pPBox[0][1][3]) & 0x0f] = state[(pPBox[0][1][3]) & 0x0f] = in[11] ^ (*pKeyLookup)[3][2] ^ (*pKeyLookup)[3][6] ^ (*pKeyLookup)[3][10]; - idx_wps[(pPBox[0][1][4]) & 0x0f] = state[(pPBox[0][1][4]) & 0x0f] = in[12] ^ (*pKeyLookup)[0][3] ^ (*pKeyLookup)[0][7] ^ (*pKeyLookup)[0][11]; - idx_wps[(pPBox[0][1][5]) & 0x0f] = state[(pPBox[0][1][5]) & 0x0f] = in[13] ^ (*pKeyLookup)[1][3] ^ (*pKeyLookup)[1][7] ^ (*pKeyLookup)[1][11]; - idx_wps[(pPBox[0][1][6]) & 0x0f] = state[(pPBox[0][1][6]) & 0x0f] = in[14] ^ (*pKeyLookup)[2][3] ^ (*pKeyLookup)[2][7] ^ (*pKeyLookup)[2][11]; - idx_wps[(pPBox[0][1][7]) & 0x0f] = state[(pPBox[0][1][7]) & 0x0f] = in[15] ^ (*pKeyLookup)[3][3] ^ (*pKeyLookup)[3][7] ^ (*pKeyLookup)[3][11]; - - //4. Process each rounds - do - { - idx16 = (idx << 4); - - itmdt[ 0] = (SDWAP_WORD*)pTBox[idx16 + 0][state[ 0] >> 4][state[ 0] & 0xf]; - itmdt[ 1] = (SDWAP_WORD*)pTBox[idx16 + 1][state[ 1] >> 4][state[ 1] & 0xf]; - itmdt[ 2] = (SDWAP_WORD*)pTBox[idx16 + 2][state[ 2] >> 4][state[ 2] & 0xf]; - itmdt[ 3] = (SDWAP_WORD*)pTBox[idx16 + 3][state[ 3] >> 4][state[ 3] & 0xf]; - itmdt[ 4] = (SDWAP_WORD*)pTBox[idx16 + 4][state[ 4] >> 4][state[ 4] & 0xf]; - itmdt[ 5] = (SDWAP_WORD*)pTBox[idx16 + 5][state[ 5] >> 4][state[ 5] & 0xf]; - itmdt[ 6] = (SDWAP_WORD*)pTBox[idx16 + 6][state[ 6] >> 4][state[ 6] & 0xf]; - itmdt[ 7] = (SDWAP_WORD*)pTBox[idx16 + 7][state[ 7] >> 4][state[ 7] & 0xf]; - itmdt[ 8] = (SDWAP_WORD*)pTBox[idx16 + 8][state[ 8] >> 4][state[ 8] & 0xf]; - itmdt[ 9] = (SDWAP_WORD*)pTBox[idx16 + 9][state[ 9] >> 4][state[ 9] & 0xf]; - itmdt[10] = (SDWAP_WORD*)pTBox[idx16 + 10][state[10] >> 4][state[10] & 0xf]; - itmdt[11] = (SDWAP_WORD*)pTBox[idx16 + 11][state[11] >> 4][state[11] & 0xf]; - itmdt[12] = (SDWAP_WORD*)pTBox[idx16 + 12][state[12] >> 4][state[12] & 0xf]; - itmdt[13] = (SDWAP_WORD*)pTBox[idx16 + 13][state[13] >> 4][state[13] & 0xf]; - itmdt[14] = (SDWAP_WORD*)pTBox[idx16 + 14][state[14] >> 4][state[14] & 0xf]; - itmdt[15] = (SDWAP_WORD*)pTBox[idx16 + 15][state[15] >> 4][state[15] & 0xf]; - - idx++; - - //Key-Lookup XOR - state[ pPBox[idx][0][0] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][0][1] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][0][2] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][0][3] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][1][0] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][1][1] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][1][2] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][1][3] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][2][0] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][2][1] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][2][2] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][2][3] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][3][0] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][3][1] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][3][2] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][3][3] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - rk_xor[ 0] = ((*(pKeyLookup + idx))[0][0] ^ (*(pKeyLookup + idx))[0][4] ^ (*(pKeyLookup + idx))[0][ 8] ^ (*(pKeyLookup + idx))[0][12]) ^ (*(pKeyLookup + (idx - 1)))[0][15]; - rk_xor[ 1] = ((*(pKeyLookup + idx))[1][0] ^ (*(pKeyLookup + idx))[1][4] ^ (*(pKeyLookup + idx))[1][ 8] ^ (*(pKeyLookup + idx))[1][12]) ^ (*(pKeyLookup + (idx - 1)))[1][15]; - rk_xor[ 2] = ((*(pKeyLookup + idx))[2][0] ^ (*(pKeyLookup + idx))[2][4] ^ (*(pKeyLookup + idx))[2][ 8] ^ (*(pKeyLookup + idx))[2][12]) ^ (*(pKeyLookup + (idx - 1)))[2][15]; - rk_xor[ 3] = ((*(pKeyLookup + idx))[3][0] ^ (*(pKeyLookup + idx))[3][4] ^ (*(pKeyLookup + idx))[3][ 8] ^ (*(pKeyLookup + idx))[3][12]) ^ (*(pKeyLookup + (idx - 1)))[3][15]; - - rk_xor[ 4] = ((*(pKeyLookup + idx))[0][1] ^ (*(pKeyLookup + idx))[0][5] ^ (*(pKeyLookup + idx))[0][ 9] ^ (*(pKeyLookup + idx))[0][13]) ^ (*(pKeyLookup + (idx - 1)))[0][15]; - rk_xor[ 5] = ((*(pKeyLookup + idx))[1][1] ^ (*(pKeyLookup + idx))[1][5] ^ (*(pKeyLookup + idx))[1][ 9] ^ (*(pKeyLookup + idx))[1][13]) ^ (*(pKeyLookup + (idx - 1)))[1][15]; - rk_xor[ 6] = ((*(pKeyLookup + idx))[2][1] ^ (*(pKeyLookup + idx))[2][5] ^ (*(pKeyLookup + idx))[2][ 9] ^ (*(pKeyLookup + idx))[2][13]) ^ (*(pKeyLookup + (idx - 1)))[2][15]; - rk_xor[ 7] = ((*(pKeyLookup + idx))[3][1] ^ (*(pKeyLookup + idx))[3][5] ^ (*(pKeyLookup + idx))[3][ 9] ^ (*(pKeyLookup + idx))[3][13]) ^ (*(pKeyLookup + (idx - 1)))[3][15]; - - rk_xor[ 8] = ((*(pKeyLookup + idx))[0][2] ^ (*(pKeyLookup + idx))[0][6] ^ (*(pKeyLookup + idx))[0][10] ^ (*(pKeyLookup + idx))[0][14]) ^ (*(pKeyLookup + (idx - 1)))[0][15]; - rk_xor[ 9] = ((*(pKeyLookup + idx))[1][2] ^ (*(pKeyLookup + idx))[1][6] ^ (*(pKeyLookup + idx))[1][10] ^ (*(pKeyLookup + idx))[1][14]) ^ (*(pKeyLookup + (idx - 1)))[1][15]; - rk_xor[10] = ((*(pKeyLookup + idx))[2][2] ^ (*(pKeyLookup + idx))[2][6] ^ (*(pKeyLookup + idx))[2][10] ^ (*(pKeyLookup + idx))[2][14]) ^ (*(pKeyLookup + (idx - 1)))[2][15]; - rk_xor[11] = ((*(pKeyLookup + idx))[3][2] ^ (*(pKeyLookup + idx))[3][6] ^ (*(pKeyLookup + idx))[3][10] ^ (*(pKeyLookup + idx))[3][14]) ^ (*(pKeyLookup + (idx - 1)))[3][15]; - - rk_xor[12] = ((*(pKeyLookup + idx))[0][3] ^ (*(pKeyLookup + idx))[0][7] ^ (*(pKeyLookup + idx))[0][11] ^ (*(pKeyLookup + idx))[0][16] ^ (*(pKeyLookup + (idx - 1)))[0][15]); - rk_xor[13] = ((*(pKeyLookup + idx))[1][3] ^ (*(pKeyLookup + idx))[1][7] ^ (*(pKeyLookup + idx))[1][11] ^ (*(pKeyLookup + idx))[1][16] ^ (*(pKeyLookup + (idx - 1)))[1][15]); - rk_xor[14] = ((*(pKeyLookup + idx))[2][3] ^ (*(pKeyLookup + idx))[2][7] ^ (*(pKeyLookup + idx))[2][11] ^ (*(pKeyLookup + idx))[2][16] ^ (*(pKeyLookup + (idx - 1)))[2][15]); - rk_xor[15] = ((*(pKeyLookup + idx))[3][3] ^ (*(pKeyLookup + idx))[3][7] ^ (*(pKeyLookup + idx))[3][11] ^ (*(pKeyLookup + idx))[3][16] ^ (*(pKeyLookup + (idx - 1)))[3][15]); - - for(i = 0; i < 4; i++) - { - state[ pPBox[idx][i][0] & 0x0f ] ^= rk_xor[ pPBox[idx][i][0] & 0x0f ]; - state[ pPBox[idx][i][1] & 0x0f ] ^= rk_xor[ pPBox[idx][i][1] & 0x0f ]; - state[ pPBox[idx][i][2] & 0x0f ] ^= rk_xor[ pPBox[idx][i][2] & 0x0f ]; - state[ pPBox[idx][i][3] & 0x0f ] ^= rk_xor[ pPBox[idx][i][3] & 0x0f ]; - } - - for(i = 0; i < 16; i++) - { - idx_wps[i] = state[i]; - } - } while(idx < (Nr - 1)); - - idx16 = (idx << 4); - - - //5. Process final round - rk_xor[ 0] = ((*(pKeyLookup + Nr))[0][0] ^ (*(pKeyLookup + Nr))[0][4] ^ (*(pKeyLookup + Nr))[0][ 8] ^ (*(pKeyLookup + Nr))[0][12]) ^ (*(pKeyLookup + (Nr - 1)))[0][15]; - rk_xor[ 1] = ((*(pKeyLookup + Nr))[1][0] ^ (*(pKeyLookup + Nr))[1][4] ^ (*(pKeyLookup + Nr))[1][ 8] ^ (*(pKeyLookup + Nr))[1][12]) ^ (*(pKeyLookup + (Nr - 1)))[1][15]; - rk_xor[ 2] = ((*(pKeyLookup + Nr))[2][0] ^ (*(pKeyLookup + Nr))[2][4] ^ (*(pKeyLookup + Nr))[2][ 8] ^ (*(pKeyLookup + Nr))[2][12]) ^ (*(pKeyLookup + (Nr - 1)))[2][15]; - rk_xor[ 3] = ((*(pKeyLookup + Nr))[3][0] ^ (*(pKeyLookup + Nr))[3][4] ^ (*(pKeyLookup + Nr))[3][ 8] ^ (*(pKeyLookup + Nr))[3][12]) ^ (*(pKeyLookup + (Nr - 1)))[3][15]; - - rk_xor[ 4] = ((*(pKeyLookup + Nr))[0][1] ^ (*(pKeyLookup + Nr))[0][5] ^ (*(pKeyLookup + Nr))[0][ 9] ^ (*(pKeyLookup + Nr))[0][13]) ^ (*(pKeyLookup + (Nr - 1)))[0][15]; - rk_xor[ 5] = ((*(pKeyLookup + Nr))[1][1] ^ (*(pKeyLookup + Nr))[1][5] ^ (*(pKeyLookup + Nr))[1][ 9] ^ (*(pKeyLookup + Nr))[1][13]) ^ (*(pKeyLookup + (Nr - 1)))[1][15]; - rk_xor[ 6] = ((*(pKeyLookup + Nr))[2][1] ^ (*(pKeyLookup + Nr))[2][5] ^ (*(pKeyLookup + Nr))[2][ 9] ^ (*(pKeyLookup + Nr))[2][13]) ^ (*(pKeyLookup + (Nr - 1)))[2][15]; - rk_xor[ 7] = ((*(pKeyLookup + Nr))[3][1] ^ (*(pKeyLookup + Nr))[3][5] ^ (*(pKeyLookup + Nr))[3][ 9] ^ (*(pKeyLookup + Nr))[3][13]) ^ (*(pKeyLookup + (Nr - 1)))[3][15]; - - rk_xor[ 8] = ((*(pKeyLookup + Nr))[0][2] ^ (*(pKeyLookup + Nr))[0][6] ^ (*(pKeyLookup + Nr))[0][10] ^ (*(pKeyLookup + Nr))[0][14]) ^ (*(pKeyLookup + (Nr - 1)))[0][15]; - rk_xor[ 9] = ((*(pKeyLookup + Nr))[1][2] ^ (*(pKeyLookup + Nr))[1][6] ^ (*(pKeyLookup + Nr))[1][10] ^ (*(pKeyLookup + Nr))[1][14]) ^ (*(pKeyLookup + (Nr - 1)))[1][15]; - rk_xor[10] = ((*(pKeyLookup + Nr))[2][2] ^ (*(pKeyLookup + Nr))[2][6] ^ (*(pKeyLookup + Nr))[2][10] ^ (*(pKeyLookup + Nr))[2][14]) ^ (*(pKeyLookup + (Nr - 1)))[2][15]; - rk_xor[11] = ((*(pKeyLookup + Nr))[3][2] ^ (*(pKeyLookup + Nr))[3][6] ^ (*(pKeyLookup + Nr))[3][10] ^ (*(pKeyLookup + Nr))[3][14]) ^ (*(pKeyLookup + (Nr - 1)))[3][15]; - - rk_xor[12] = ((*(pKeyLookup + Nr))[0][3] ^ (*(pKeyLookup + Nr))[0][7] ^ (*(pKeyLookup + Nr))[0][11] ^ (*(pKeyLookup + Nr))[0][16] ^ (*(pKeyLookup + (Nr - 1)))[0][15]); - rk_xor[13] = ((*(pKeyLookup + Nr))[1][3] ^ (*(pKeyLookup + Nr))[1][7] ^ (*(pKeyLookup + Nr))[1][11] ^ (*(pKeyLookup + Nr))[1][16] ^ (*(pKeyLookup + (Nr - 1)))[1][15]); - rk_xor[14] = ((*(pKeyLookup + Nr))[2][3] ^ (*(pKeyLookup + Nr))[2][7] ^ (*(pKeyLookup + Nr))[2][11] ^ (*(pKeyLookup + Nr))[2][16] ^ (*(pKeyLookup + (Nr - 1)))[2][15]); - rk_xor[15] = ((*(pKeyLookup + Nr))[3][3] ^ (*(pKeyLookup + Nr))[3][7] ^ (*(pKeyLookup + Nr))[3][11] ^ (*(pKeyLookup + Nr))[3][16] ^ (*(pKeyLookup + (Nr - 1)))[3][15]); - - //make output - out[pPBox[Nr][0][0] & 0x0f] = pTBox[ idx16 + 0 ][ state[ 0] >> 4 ][ state[ 0] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 0] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][0] & 0x0f ]; - out[pPBox[Nr][0][1] & 0x0f] = pTBox[ idx16 + 1 ][ state[ 1] >> 4 ][ state[ 1] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 1] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][1] & 0x0f ]; - out[pPBox[Nr][0][2] & 0x0f] = pTBox[ idx16 + 2 ][ state[ 2] >> 4 ][ state[ 2] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 2] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][2] & 0x0f ]; - out[pPBox[Nr][0][3] & 0x0f] = pTBox[ idx16 + 3 ][ state[ 3] >> 4 ][ state[ 3] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 3] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][3] & 0x0f ]; - out[pPBox[Nr][0][4] & 0x0f] = pTBox[ idx16 + 4 ][ state[ 4] >> 4 ][ state[ 4] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 4] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][4] & 0x0f ]; - out[pPBox[Nr][0][5] & 0x0f] = pTBox[ idx16 + 5 ][ state[ 5] >> 4 ][ state[ 5] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 5] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][5] & 0x0f ]; - out[pPBox[Nr][0][6] & 0x0f] = pTBox[ idx16 + 6 ][ state[ 6] >> 4 ][ state[ 6] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 6] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][6] & 0x0f ]; - out[pPBox[Nr][0][7] & 0x0f] = pTBox[ idx16 + 7 ][ state[ 7] >> 4 ][ state[ 7] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 7] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][7] & 0x0f ]; - out[pPBox[Nr][1][0] & 0x0f] = pTBox[ idx16 + 8 ][ state[ 8] >> 4 ][ state[ 8] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 8] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][0] & 0x0f ]; - out[pPBox[Nr][1][1] & 0x0f] = pTBox[ idx16 + 9 ][ state[ 9] >> 4 ][ state[ 9] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 9] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][1] & 0x0f ]; - out[pPBox[Nr][1][2] & 0x0f] = pTBox[ idx16 + 10 ][ state[10] >> 4 ][ state[10] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[10] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][2] & 0x0f ]; - out[pPBox[Nr][1][3] & 0x0f] = pTBox[ idx16 + 11 ][ state[11] >> 4 ][ state[11] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[11] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][3] & 0x0f ]; - out[pPBox[Nr][1][4] & 0x0f] = pTBox[ idx16 + 12 ][ state[12] >> 4 ][ state[12] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[12] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][4] & 0x0f ]; - out[pPBox[Nr][1][5] & 0x0f] = pTBox[ idx16 + 13 ][ state[13] >> 4 ][ state[13] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[13] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][5] & 0x0f ]; - out[pPBox[Nr][1][6] & 0x0f] = pTBox[ idx16 + 14 ][ state[14] >> 4 ][ state[14] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[14] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][6] & 0x0f ]; - out[pPBox[Nr][1][7] & 0x0f] = pTBox[ idx16 + 15 ][ state[15] >> 4 ][ state[15] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[15] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][7] & 0x0f ]; -} - - -/** - * @var static const SDWAP_SBOX inv_s_box - * @brief inverse of S-box defined int FIPS-197 - */ -SPC_INTERNAL SDWAP_SBOX sdwap_inv_s_box_ = -{ - {0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb}, - {0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb}, - {0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e}, - {0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25}, - {0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92}, - {0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84}, - {0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06}, - {0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b}, - {0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73}, - {0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e}, - {0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b}, - {0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4}, - {0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f}, - {0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef}, - {0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61}, - {0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d} -}; - -static const unsigned char sdwap_inv_sr_matrix_[16] = - {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11}; - - -/* - * @fn static void SDWAP_Decryption(SDWAP_TBOX *pTBox, SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_PBOX *pPBox, SDWAP_WORD_PBOX* pWPBox, SDWAP_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) - * @brief SDWAP Decryption function. - * - * @param [in] pTBox T-Box - * @param [in] pkeyLookup Round-key lookup table - * @param [in] pPBox P-Box - * @param [in] pWPBox word(4byte) permutation box - * @param [in] pBPBox bit permutation box - * @param [in] Nr number of rounds - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @param [in] isLittleEndian flag for little endian - * @return void - */ -static void SDWAP_Decryption(SDWAP_TBOX *pTBox, SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_PBOX *pPBox, SDWAP_WORD_PBOX* pWPBox, SDWAP_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) -{ - unsigned int i; - unsigned int idx = 0; - unsigned int idx16; - unsigned char temp; - unsigned char idx_wps[16]; - unsigned char state[16]; //state - unsigned char rk_xor[16]; - SDWAP_WORD* itmdt[16]; //intermediate value - - - //3. Process initial permutation - idx_wps[(pPBox[0][0][0]) & 0x0f] = state[(pPBox[0][0][0]) & 0x0f] = in[ 0] ^ ((*(pKeyLookup + Nr))[0][0] ^ (*(pKeyLookup + Nr))[0][4] ^ (*(pKeyLookup + Nr))[0][ 8] ^ (*(pKeyLookup + Nr))[0][12]) ^ (*(pKeyLookup + (Nr - 1)))[0][15]; - idx_wps[(pPBox[0][0][1]) & 0x0f] = state[(pPBox[0][0][1]) & 0x0f] = in[ 1] ^ ((*(pKeyLookup + Nr))[1][0] ^ (*(pKeyLookup + Nr))[1][4] ^ (*(pKeyLookup + Nr))[1][ 8] ^ (*(pKeyLookup + Nr))[1][12]) ^ (*(pKeyLookup + (Nr - 1)))[1][15]; - idx_wps[(pPBox[0][0][2]) & 0x0f] = state[(pPBox[0][0][2]) & 0x0f] = in[ 2] ^ ((*(pKeyLookup + Nr))[2][0] ^ (*(pKeyLookup + Nr))[2][4] ^ (*(pKeyLookup + Nr))[2][ 8] ^ (*(pKeyLookup + Nr))[2][12]) ^ (*(pKeyLookup + (Nr - 1)))[2][15]; - idx_wps[(pPBox[0][0][3]) & 0x0f] = state[(pPBox[0][0][3]) & 0x0f] = in[ 3] ^ ((*(pKeyLookup + Nr))[3][0] ^ (*(pKeyLookup + Nr))[3][4] ^ (*(pKeyLookup + Nr))[3][ 8] ^ (*(pKeyLookup + Nr))[3][12]) ^ (*(pKeyLookup + (Nr - 1)))[3][15]; - idx_wps[(pPBox[0][0][4]) & 0x0f] = state[(pPBox[0][0][4]) & 0x0f] = in[ 4] ^ ((*(pKeyLookup + Nr))[0][1] ^ (*(pKeyLookup + Nr))[0][5] ^ (*(pKeyLookup + Nr))[0][ 9] ^ (*(pKeyLookup + Nr))[0][13]) ^ (*(pKeyLookup + (Nr - 1)))[0][15]; - idx_wps[(pPBox[0][0][5]) & 0x0f] = state[(pPBox[0][0][5]) & 0x0f] = in[ 5] ^ ((*(pKeyLookup + Nr))[1][1] ^ (*(pKeyLookup + Nr))[1][5] ^ (*(pKeyLookup + Nr))[1][ 9] ^ (*(pKeyLookup + Nr))[1][13]) ^ (*(pKeyLookup + (Nr - 1)))[1][15]; - idx_wps[(pPBox[0][0][6]) & 0x0f] = state[(pPBox[0][0][6]) & 0x0f] = in[ 6] ^ ((*(pKeyLookup + Nr))[2][1] ^ (*(pKeyLookup + Nr))[2][5] ^ (*(pKeyLookup + Nr))[2][ 9] ^ (*(pKeyLookup + Nr))[2][13]) ^ (*(pKeyLookup + (Nr - 1)))[2][15]; - idx_wps[(pPBox[0][0][7]) & 0x0f] = state[(pPBox[0][0][7]) & 0x0f] = in[ 7] ^ ((*(pKeyLookup + Nr))[3][1] ^ (*(pKeyLookup + Nr))[3][5] ^ (*(pKeyLookup + Nr))[3][ 9] ^ (*(pKeyLookup + Nr))[3][13]) ^ (*(pKeyLookup + (Nr - 1)))[3][15]; - idx_wps[(pPBox[0][1][0]) & 0x0f] = state[(pPBox[0][1][0]) & 0x0f] = in[ 8] ^ ((*(pKeyLookup + Nr))[0][2] ^ (*(pKeyLookup + Nr))[0][6] ^ (*(pKeyLookup + Nr))[0][10] ^ (*(pKeyLookup + Nr))[0][14]) ^ (*(pKeyLookup + (Nr - 1)))[0][15]; - idx_wps[(pPBox[0][1][1]) & 0x0f] = state[(pPBox[0][1][1]) & 0x0f] = in[ 9] ^ ((*(pKeyLookup + Nr))[1][2] ^ (*(pKeyLookup + Nr))[1][6] ^ (*(pKeyLookup + Nr))[1][10] ^ (*(pKeyLookup + Nr))[1][14]) ^ (*(pKeyLookup + (Nr - 1)))[1][15]; - idx_wps[(pPBox[0][1][2]) & 0x0f] = state[(pPBox[0][1][2]) & 0x0f] = in[10] ^ ((*(pKeyLookup + Nr))[2][2] ^ (*(pKeyLookup + Nr))[2][6] ^ (*(pKeyLookup + Nr))[2][10] ^ (*(pKeyLookup + Nr))[2][14]) ^ (*(pKeyLookup + (Nr - 1)))[2][15]; - idx_wps[(pPBox[0][1][3]) & 0x0f] = state[(pPBox[0][1][3]) & 0x0f] = in[11] ^ ((*(pKeyLookup + Nr))[3][2] ^ (*(pKeyLookup + Nr))[3][6] ^ (*(pKeyLookup + Nr))[3][10] ^ (*(pKeyLookup + Nr))[3][14]) ^ (*(pKeyLookup + (Nr - 1)))[3][15]; - idx_wps[(pPBox[0][1][4]) & 0x0f] = state[(pPBox[0][1][4]) & 0x0f] = in[12] ^ ((*(pKeyLookup + Nr))[0][3] ^ (*(pKeyLookup + Nr))[0][7] ^ (*(pKeyLookup + Nr))[0][11] ^ (*(pKeyLookup + Nr))[0][16] ^ (*(pKeyLookup + (Nr - 1)))[0][15]); - idx_wps[(pPBox[0][1][5]) & 0x0f] = state[(pPBox[0][1][5]) & 0x0f] = in[13] ^ ((*(pKeyLookup + Nr))[1][3] ^ (*(pKeyLookup + Nr))[1][7] ^ (*(pKeyLookup + Nr))[1][11] ^ (*(pKeyLookup + Nr))[1][16] ^ (*(pKeyLookup + (Nr - 1)))[1][15]); - idx_wps[(pPBox[0][1][6]) & 0x0f] = state[(pPBox[0][1][6]) & 0x0f] = in[14] ^ ((*(pKeyLookup + Nr))[2][3] ^ (*(pKeyLookup + Nr))[2][7] ^ (*(pKeyLookup + Nr))[2][11] ^ (*(pKeyLookup + Nr))[2][16] ^ (*(pKeyLookup + (Nr - 1)))[2][15]); - idx_wps[(pPBox[0][1][7]) & 0x0f] = state[(pPBox[0][1][7]) & 0x0f] = in[15] ^ ((*(pKeyLookup + Nr))[3][3] ^ (*(pKeyLookup + Nr))[3][7] ^ (*(pKeyLookup + Nr))[3][11] ^ (*(pKeyLookup + Nr))[3][16] ^ (*(pKeyLookup + (Nr - 1)))[3][15]); - - //4. Process each rounds - do - { - idx16 = (idx << 4); - - idx++; - - //calc round key - rk_xor[ 0] = ((*(pKeyLookup + (Nr - idx)))[0][0] ^ (*(pKeyLookup + (Nr - idx)))[0][4] ^ (*(pKeyLookup + (Nr - idx)))[0][ 8] ^ (*(pKeyLookup + (Nr - idx)))[0][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15]; - rk_xor[ 1] = ((*(pKeyLookup + (Nr - idx)))[1][0] ^ (*(pKeyLookup + (Nr - idx)))[1][4] ^ (*(pKeyLookup + (Nr - idx)))[1][ 8] ^ (*(pKeyLookup + (Nr - idx)))[1][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15]; - rk_xor[ 2] = ((*(pKeyLookup + (Nr - idx)))[2][0] ^ (*(pKeyLookup + (Nr - idx)))[2][4] ^ (*(pKeyLookup + (Nr - idx)))[2][ 8] ^ (*(pKeyLookup + (Nr - idx)))[2][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15]; - rk_xor[ 3] = ((*(pKeyLookup + (Nr - idx)))[3][0] ^ (*(pKeyLookup + (Nr - idx)))[3][4] ^ (*(pKeyLookup + (Nr - idx)))[3][ 8] ^ (*(pKeyLookup + (Nr - idx)))[3][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15]; - rk_xor[ 4] = ((*(pKeyLookup + (Nr - idx)))[0][1] ^ (*(pKeyLookup + (Nr - idx)))[0][5] ^ (*(pKeyLookup + (Nr - idx)))[0][ 9] ^ (*(pKeyLookup + (Nr - idx)))[0][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15]; - rk_xor[ 5] = ((*(pKeyLookup + (Nr - idx)))[1][1] ^ (*(pKeyLookup + (Nr - idx)))[1][5] ^ (*(pKeyLookup + (Nr - idx)))[1][ 9] ^ (*(pKeyLookup + (Nr - idx)))[1][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15]; - rk_xor[ 6] = ((*(pKeyLookup + (Nr - idx)))[2][1] ^ (*(pKeyLookup + (Nr - idx)))[2][5] ^ (*(pKeyLookup + (Nr - idx)))[2][ 9] ^ (*(pKeyLookup + (Nr - idx)))[2][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15]; - rk_xor[ 7] = ((*(pKeyLookup + (Nr - idx)))[3][1] ^ (*(pKeyLookup + (Nr - idx)))[3][5] ^ (*(pKeyLookup + (Nr - idx)))[3][ 9] ^ (*(pKeyLookup + (Nr - idx)))[3][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15]; - rk_xor[ 8] = ((*(pKeyLookup + (Nr - idx)))[0][2] ^ (*(pKeyLookup + (Nr - idx)))[0][6] ^ (*(pKeyLookup + (Nr - idx)))[0][10] ^ (*(pKeyLookup + (Nr - idx)))[0][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15]; - rk_xor[ 9] = ((*(pKeyLookup + (Nr - idx)))[1][2] ^ (*(pKeyLookup + (Nr - idx)))[1][6] ^ (*(pKeyLookup + (Nr - idx)))[1][10] ^ (*(pKeyLookup + (Nr - idx)))[1][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15]; - rk_xor[10] = ((*(pKeyLookup + (Nr - idx)))[2][2] ^ (*(pKeyLookup + (Nr - idx)))[2][6] ^ (*(pKeyLookup + (Nr - idx)))[2][10] ^ (*(pKeyLookup + (Nr - idx)))[2][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15]; - rk_xor[11] = ((*(pKeyLookup + (Nr - idx)))[3][2] ^ (*(pKeyLookup + (Nr - idx)))[3][6] ^ (*(pKeyLookup + (Nr - idx)))[3][10] ^ (*(pKeyLookup + (Nr - idx)))[3][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15]; - rk_xor[12] = ((*(pKeyLookup + (Nr - idx)))[0][3] ^ (*(pKeyLookup + (Nr - idx)))[0][7] ^ (*(pKeyLookup + (Nr - idx)))[0][11] ^ (*(pKeyLookup + (Nr - idx)))[0][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15]); - rk_xor[13] = ((*(pKeyLookup + (Nr - idx)))[1][3] ^ (*(pKeyLookup + (Nr - idx)))[1][7] ^ (*(pKeyLookup + (Nr - idx)))[1][11] ^ (*(pKeyLookup + (Nr - idx)))[1][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15]); - rk_xor[14] = ((*(pKeyLookup + (Nr - idx)))[2][3] ^ (*(pKeyLookup + (Nr - idx)))[2][7] ^ (*(pKeyLookup + (Nr - idx)))[2][11] ^ (*(pKeyLookup + (Nr - idx)))[2][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15]); - rk_xor[15] = ((*(pKeyLookup + (Nr - idx)))[3][3] ^ (*(pKeyLookup + (Nr - idx)))[3][7] ^ (*(pKeyLookup + (Nr - idx)))[3][11] ^ (*(pKeyLookup + (Nr - idx)))[3][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15]); - - if(idx <= 1) - { - for (i = 0; i < 16; i++) - { - temp = sdwap_inv_s_box_[state[i] >> 4][state[i] & 0xf] ^ rk_xor[sdwap_inv_sr_matrix_[i]]; - itmdt[i] = (SDWAP_WORD*)pTBox[idx16 + i][temp >> 4][temp & 0xf]; - } - } - else - { - for (i = 0; i < 16; i++) - { - temp = sdwap_inv_s_box_[state[i] >> 4][state[i] & 0xf] ^ rk_xor[i]; - itmdt[i] = (SDWAP_WORD*)pTBox[idx16 + i][temp >> 4][temp & 0xf]; - } - } - - state[ pPBox[idx][0][0] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][0][1] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][0][2] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][0][3] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][1][0] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][1][1] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][1][2] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][1][3] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][2][0] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][2][1] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][2][2] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][2][3] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][3][0] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][3][1] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][3][2] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][3][3] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - for(i = 0; i < 16; i++) - { - idx_wps[i] = state[i]; - } - - } while(idx < (Nr - 1)); - - idx16 = (idx << 4); - - //5. Process final round - rk_xor[ 0] = (*pKeyLookup)[0][0] ^ (*pKeyLookup)[0][4] ^ (*pKeyLookup)[0][ 8]; - rk_xor[ 1] = (*pKeyLookup)[1][0] ^ (*pKeyLookup)[1][4] ^ (*pKeyLookup)[1][ 8]; - rk_xor[ 2] = (*pKeyLookup)[2][0] ^ (*pKeyLookup)[2][4] ^ (*pKeyLookup)[2][ 8]; - rk_xor[ 3] = (*pKeyLookup)[3][0] ^ (*pKeyLookup)[3][4] ^ (*pKeyLookup)[3][ 8]; - rk_xor[ 4] = (*pKeyLookup)[0][1] ^ (*pKeyLookup)[0][5] ^ (*pKeyLookup)[0][ 9]; - rk_xor[ 5] = (*pKeyLookup)[1][1] ^ (*pKeyLookup)[1][5] ^ (*pKeyLookup)[1][ 9]; - rk_xor[ 6] = (*pKeyLookup)[2][1] ^ (*pKeyLookup)[2][5] ^ (*pKeyLookup)[2][ 9]; - rk_xor[ 7] = (*pKeyLookup)[3][1] ^ (*pKeyLookup)[3][5] ^ (*pKeyLookup)[3][ 9]; - rk_xor[ 8] = (*pKeyLookup)[0][2] ^ (*pKeyLookup)[0][6] ^ (*pKeyLookup)[0][10]; - rk_xor[ 9] = (*pKeyLookup)[1][2] ^ (*pKeyLookup)[1][6] ^ (*pKeyLookup)[1][10]; - rk_xor[10] = (*pKeyLookup)[2][2] ^ (*pKeyLookup)[2][6] ^ (*pKeyLookup)[2][10]; - rk_xor[11] = (*pKeyLookup)[3][2] ^ (*pKeyLookup)[3][6] ^ (*pKeyLookup)[3][10]; - rk_xor[12] = (*pKeyLookup)[0][3] ^ (*pKeyLookup)[0][7] ^ (*pKeyLookup)[0][11]; - rk_xor[13] = (*pKeyLookup)[1][3] ^ (*pKeyLookup)[1][7] ^ (*pKeyLookup)[1][11]; - rk_xor[14] = (*pKeyLookup)[2][3] ^ (*pKeyLookup)[2][7] ^ (*pKeyLookup)[2][11]; - rk_xor[15] = (*pKeyLookup)[3][3] ^ (*pKeyLookup)[3][7] ^ (*pKeyLookup)[3][11]; - - - //make output - out[pPBox[Nr][0][0] & 0x0f] = pTBox[ idx16 + 0 ][ state[ 0] >> 4 ][ state[ 0] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 0] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][0] & 0x0f ]; - out[pPBox[Nr][0][1] & 0x0f] = pTBox[ idx16 + 1 ][ state[ 1] >> 4 ][ state[ 1] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 1] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][1] & 0x0f ]; - out[pPBox[Nr][0][2] & 0x0f] = pTBox[ idx16 + 2 ][ state[ 2] >> 4 ][ state[ 2] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 2] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][2] & 0x0f ]; - out[pPBox[Nr][0][3] & 0x0f] = pTBox[ idx16 + 3 ][ state[ 3] >> 4 ][ state[ 3] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 3] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][3] & 0x0f ]; - out[pPBox[Nr][0][4] & 0x0f] = pTBox[ idx16 + 4 ][ state[ 4] >> 4 ][ state[ 4] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 4] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][4] & 0x0f ]; - out[pPBox[Nr][0][5] & 0x0f] = pTBox[ idx16 + 5 ][ state[ 5] >> 4 ][ state[ 5] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 5] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][5] & 0x0f ]; - out[pPBox[Nr][0][6] & 0x0f] = pTBox[ idx16 + 6 ][ state[ 6] >> 4 ][ state[ 6] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 6] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][6] & 0x0f ]; - out[pPBox[Nr][0][7] & 0x0f] = pTBox[ idx16 + 7 ][ state[ 7] >> 4 ][ state[ 7] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 7] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][7] & 0x0f ]; - out[pPBox[Nr][1][0] & 0x0f] = pTBox[ idx16 + 8 ][ state[ 8] >> 4 ][ state[ 8] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 8] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][0] & 0x0f ]; - out[pPBox[Nr][1][1] & 0x0f] = pTBox[ idx16 + 9 ][ state[ 9] >> 4 ][ state[ 9] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 9] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][1] & 0x0f ]; - out[pPBox[Nr][1][2] & 0x0f] = pTBox[ idx16 + 10 ][ state[10] >> 4 ][ state[10] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[10] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][2] & 0x0f ]; - out[pPBox[Nr][1][3] & 0x0f] = pTBox[ idx16 + 11 ][ state[11] >> 4 ][ state[11] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[11] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][3] & 0x0f ]; - out[pPBox[Nr][1][4] & 0x0f] = pTBox[ idx16 + 12 ][ state[12] >> 4 ][ state[12] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[12] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][4] & 0x0f ]; - out[pPBox[Nr][1][5] & 0x0f] = pTBox[ idx16 + 13 ][ state[13] >> 4 ][ state[13] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[13] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][5] & 0x0f ]; - out[pPBox[Nr][1][6] & 0x0f] = pTBox[ idx16 + 14 ][ state[14] >> 4 ][ state[14] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[14] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][6] & 0x0f ]; - out[pPBox[Nr][1][7] & 0x0f] = pTBox[ idx16 + 15 ][ state[15] >> 4 ][ state[15] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[15] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][7] & 0x0f ]; - - return; -} - - - -/** - * @fn SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev) - * @brief processing encryption or decryption according to the table - * - * @param [in] Table look-up table for SDWAP - * @param [in] TableLen byte-length of look-up table - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @return SDWAP_RETURN_VAL - */ -SPC_INTERNAL SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int isEncryption) -{ - unsigned int Nr; - unsigned int Nk; - unsigned int TBoxSize; - unsigned int PBoxSize; - unsigned int WPBoxSize; - unsigned int BPBoxSize; - - SDWAP_TBOX *pTBox = NULL; - SDWAP_PBOX *pPBox = NULL; - SDWAP_WORD_PBOX *pWPBox = NULL; - SDWAP_BIT_PBOX *pBPBox = NULL; - SDWAP_KEY_LOOKUP *pKeyLookup = NULL; - - unsigned char isLittleEndian; - - { - //get little endian flag - unsigned int EndianTestVector = 1; - isLittleEndian = *(unsigned char*)(&EndianTestVector); - } - - //1. Parameter checking - if ((Table == NULL) || (in == NULL) || (out == NULL)) - { - return SDWAP_RETURN_INVALID_PARAMETER; //invalid parameter - } - - //2. Get Nr(Number of Rounds) - switch(TableLen) - { - case (SDWAP_T_TABLE_ROUND_SIZE * SDWAP_128_ROUNDS) + (SDWAP_P_TABLE_ROUND_SIZE * (SDWAP_128_ROUNDS + 1)): - //AES128 - Nr = SDWAP_128_ROUNDS; - Nk = 16 / SDWAP_WORD_SIZE; - break; - case (SDWAP_T_TABLE_ROUND_SIZE * SDWAP_192_ROUNDS) + (SDWAP_P_TABLE_ROUND_SIZE * (SDWAP_192_ROUNDS + 1)): - //AES192 - Nr = SDWAP_192_ROUNDS; - Nk = 24 / SDWAP_WORD_SIZE; - break; - case (SDWAP_T_TABLE_ROUND_SIZE * SDWAP_256_ROUNDS) + (SDWAP_P_TABLE_ROUND_SIZE * (SDWAP_256_ROUNDS + 1)): - //AES256 - Nr = SDWAP_256_ROUNDS; - Nk = 32 / SDWAP_WORD_SIZE; - break; - default : - return SDWAP_RETURN_INVALID_TBLSIZE; //invalid parameter - } - - //Get pointer of P-Box - pTBox = (SDWAP_TBOX*)Table; - TBoxSize = SDWAP_T_TABLE_ROUND_SIZE * Nr; - - pPBox = (SDWAP_PBOX*)((unsigned char*)pTBox + TBoxSize); - PBoxSize = SDWAP_P_TABLE_ROUND_SIZE * (Nr + 1); - WPBoxSize = SDWAP_WP_TABLE_ROUND_SIZE * (Nr); - BPBoxSize = SDWAP_BP_TABLE_ROUND_SIZE * Nr; - - pWPBox = (SDWAP_WORD_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize); - pBPBox = (SDWAP_BIT_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize + WPBoxSize); - pKeyLookup = (SDWAP_KEY_LOOKUP*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize + BPBoxSize); - - if(isEncryption) - { - SDWAP_Encryption(pTBox, pKeyLookup, pPBox, pWPBox, pBPBox, Nr, in, out, isLittleEndian); - } - else - { - SDWAP_Decryption(pTBox, pKeyLookup, pPBox, pWPBox, pBPBox, Nr, in, out, isLittleEndian); - } - - return SDWAP_RETURN_SUCCESS; -} - -////////////////////////// End of File ////////////////////////// diff --git a/SPC/Src/WhiteBox/SDWAP_TblGen.c b/SPC/Src/WhiteBox/SDWAP_TblGen.c deleted file mode 100755 index 89affe1..0000000 --- a/SPC/Src/WhiteBox/SDWAP_TblGen.c +++ /dev/null @@ -1,1724 +0,0 @@ -/** - * @file SDWAP_TblGen.c - * @brief Dynamic white box AES table generation module for SSA(Samsung Security Architecture) - * @author Samsung Dynamic WhiteBox AES - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab - * - * @see SDWAP - * @date 2013-01-10 - * @version 1.0 - * @par Copyright: - * Copyright 2013 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of whitebox table generation is confidential. - */ - -//////////////////////////////////////////////////////////////////////////// -// including header files -//////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include "SDWAP_defines.h" -#include "SDWAP_TblGen.h" - -//////////////////////////////////////////////////////////////////////////// -// static type definitions -//////////////////////////////////////////////////////////////////////////// -/*! Table generation types */ -typedef enum _SDWAP_TABLE_TYPE -{ - SDWAP_TABLE_TYPE_ENCRYPTION = 0, /*!< Table for encryption */ - SDWAP_TABLE_TYPE_DECRYPTION = 1 /*!< Table for decryption */ -} SDWAP_TABLE_TYPE; - -//////////////////////////////////////////////////////////////////////////// -// static global variables -//////////////////////////////////////////////////////////////////////////// -/** - * @var static const SDWAP_SBOX sdwap_s_box - * @brief S-box value defined int FIPS-197 - */ -SPC_INTERNAL SDWAP_SBOX sdwap_s_box = -{ - {0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76}, - {0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0}, - {0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15}, - {0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75}, - {0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84}, - {0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf}, - {0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8}, - {0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2}, - {0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73}, - {0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb}, - {0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79}, - {0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08}, - {0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a}, - {0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e}, - {0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf}, - {0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16} -}; - -/** - * @var static const SDWAP_SBOX sdwap_inv_s_box - * @brief inverse of S-box defined int FIPS-197 - */ -SPC_INTERNAL SDWAP_SBOX sdwap_inv_s_box = -{ - {0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb}, - {0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb}, - {0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e}, - {0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25}, - {0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92}, - {0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84}, - {0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06}, - {0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b}, - {0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73}, - {0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e}, - {0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b}, - {0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4}, - {0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f}, - {0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef}, - {0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61}, - {0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d} -}; - -SPC_INTERNAL SDWAP_SBOX* pSDWAP_SBox; -SPC_INTERNAL SDWAP_SBOX* pSDWAP_InvSBox; - -/** - * @var static const unsigned char sdwap_sr_matrix[16] - * @brief look-up matrix for ShiftRows - */ -static const unsigned char sdwap_sr_matrix[16] = - {0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3}; - -/** - * @var static const unsigned char sdwap_inv_sr_matrix[16] - * @brief look-up matrix for InvShiftRows, inverse of sdwap_sr_matrix - */ -static const unsigned char sdwap_inv_sr_matrix[16] = - {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11}; - - - -//////////////////////////////////////////////////////////////////////////// -// function implementations -//////////////////////////////////////////////////////////////////////////// -/** - * @fn static unsigned char SDWAP_XTIMEs(unsigned char x, unsigned char b) - * @brief calc byte to byte multiplication defined in FIPS-197 - * - * @param [in] x polynomial x - * @param [in] b byte - * @return result of multiplication - */ -static unsigned char SDWAP_XTIMEs(unsigned char x, unsigned char b) -{ - int i; - unsigned char mul = 0; - - for (i = 0; i < 8; i++) - { - if (x & 1) - { - //when x is odd - mul ^= b; - } - - //calculate next xtime func - if (b & 0x80) - { - //shift left - b <<= 1; - - //xor 0x1b - b ^= 0x1b; - } - else - { - //shift left - b <<= 1; - } - - //shift right - x >>= 1; - } - - //return result - return mul; -} - -/** - * @fn static void SDWAP_SubWord(SDWAP_WORD buf) - * @brief SDWAP_SubWord function for Round Key calculation - * - * @param [in,out] buf 4-byte word for SDWAP_SubWord - * @return void - */ -static void SDWAP_SubWord(SDWAP_WORD buf) -{ - int i; - for (i = 0; i < SDWAP_WORD_SIZE; i++) - { - //calc SDWAP_SubWord - buf[i] = sdwap_s_box[buf[i] >> 4][buf[i] & 0x0F]; - } - - return; -} - -/** - * @fn static void SDWAP_RotWord(SDWAP_WORD buf) - * @brief SDWAP_RotWord function for Round Key calculation - * - * @param [in,out] buf 4-byte word for SDWAP_RotWord - * @return void - */ -static void SDWAP_RotWord(SDWAP_WORD buf) -{ - unsigned char temp = buf[0]; - - //calc SDWAP_RotWord - buf[0] = buf[1]; - buf[1] = buf[2]; - buf[2] = buf[3]; - buf[3] = temp; - - return; -} - -/** - * @fn void SDWAP_BitPermutation(unsigned char* pVal, unsigned char* bTable) - * @brief Calculate permutation bits in byte - * - * @param [out] pVal byte value - * @param [in] bTable bit permutation indx - * @return void - */ -SPC_INTERNAL void SDWAP_BitPermutation(unsigned char* pVal, unsigned char* pTable) -{ - int i = 0; - unsigned char oriVal = NULL; - unsigned char tmp[8]; - - if(pVal == NULL || pTable == NULL) - { - return; - } - - oriVal = *pVal; - - for(i = 0; i < 8; i++) - { - tmp[i] = GETBIT_U8(oriVal, i); - } - - for(i = 0; i < 8; i++) - { - *pVal = SETBIT_U8(*pVal, pTable[i], tmp[i]); - } -} - -SPC_INTERNAL unsigned char SDWAP_BitPermutation_LK(unsigned char val, SDWAP_KEY_BIT_PBOX* pBitPTbl) -{ - SDWAP_BitPermutation( &val, pBitPTbl[0]); - return val; -} - -/** - * @fn static void MakeEachKeyLookup(SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_WORD *roundKey, unsigned char *subWord) - * @brief generate key lookup table from given word of round key - * - * @param [out] pKeyLookup round key lookup table - * @param [in] pRandMask random mask for current round. - * @param [in] RoundKey before round key - * @param [in] nRounds number of round - * @param [in] nCurRound current round - * @return void - */ -static void MakeEachKeyLookup(SDWAP_KEY_LOOKUP *pKeyLookup, unsigned char* nD1, unsigned char* nD2, SDWAP_RK_BOX *RoundKey, SDWAP_WORD *pSDWAP_SubWords, SDWAP_KEY_RANDOM_MASK* pRandMask, SDWAP_KEY_BIT_PBOX* pBitPTbl, unsigned char nIsFirstSet) -{ - unsigned int i; - unsigned char* pLookupCol = NULL; - unsigned char* pBeforeLKCol = NULL; - - //generate foreach column - for(i = 0; i < SDWAP_COLUMNS; i++) - { - pLookupCol = ((unsigned char*)(*pKeyLookup)) + (i * 17); - - if(nIsFirstSet) - { - pLookupCol[ 0] = SDWAP_BitPermutation_LK( (*pRandMask)[0][0] ^ (*pRandMask)[1][0] ^ (*RoundKey)[0][i], pBitPTbl ) ^ nD1[0] ; //bit permutation #0 - pLookupCol[ 1] = SDWAP_BitPermutation_LK( (*pRandMask)[0][1] ^ (*pRandMask)[1][1] ^ (*pRandMask)[2][1], pBitPTbl ); //bit permutation #1 - pLookupCol[ 2] = SDWAP_BitPermutation_LK( (*pRandMask)[0][2] ^ (*pRandMask)[2][2] ^ (*pRandMask)[3][2], pBitPTbl ); //bit permutation #2 - pLookupCol[ 3] = SDWAP_BitPermutation_LK( (*pRandMask)[0][3] ^ (*pRandMask)[3][3] ^ (*pRandMask)[4][3], pBitPTbl ); //bit permutation #3 - - pLookupCol[ 4] = SDWAP_BitPermutation_LK( (*pRandMask)[0][0], pBitPTbl ) ^ nD1[1]; //bit permutation #0 - pLookupCol[ 5] = SDWAP_BitPermutation_LK( (*pRandMask)[1][1] ^ (*pRandMask)[2][1] ^ (*RoundKey)[1][i], pBitPTbl ) ^ nD2[0]; //bit permutation #1 - pLookupCol[ 6] = SDWAP_BitPermutation_LK( (*pRandMask)[1][2] ^ (*pRandMask)[2][2] ^ (*pRandMask)[0][2], pBitPTbl ); //bit permutation #2 - pLookupCol[ 7] = SDWAP_BitPermutation_LK( (*pRandMask)[2][3] ^ (*pRandMask)[3][3] ^ (*pRandMask)[1][3] ^ (*pRandMask)[0][3], pBitPTbl ); //bit permutation #3 - - pLookupCol[ 8] = SDWAP_BitPermutation_LK( (*pRandMask)[1][0], pBitPTbl ) ^ nD1[2]; //bit permutation #0 - pLookupCol[ 9] = SDWAP_BitPermutation_LK( (*pRandMask)[0][1], pBitPTbl ) ^ nD2[1]; //bit permutation #1 - pLookupCol[10] = SDWAP_BitPermutation_LK( (*pRandMask)[1][2] ^ (*pRandMask)[3][2] ^ (*RoundKey)[2][i], pBitPTbl ); //bit permutation #2 - pLookupCol[11] = SDWAP_BitPermutation_LK( (*pRandMask)[1][3] ^ (*pRandMask)[2][3] ^ (*RoundKey)[3][i] ^ (*pRandMask)[4][3], pBitPTbl ); //bit permutation #3 - - pLookupCol[12] = SDWAP_BitPermutation_LK( (*pRandMask)[1][0] ^ (*pRandMask)[0][0], pBitPTbl ); //bit permutation #0 - pLookupCol[13] = SDWAP_BitPermutation_LK( (*pRandMask)[2][1] ^ (*pRandMask)[0][1], pBitPTbl ); //bit permutation #1 - pLookupCol[14] = SDWAP_BitPermutation_LK( (*pRandMask)[3][2] ^ (*pRandMask)[0][2], pBitPTbl ); //bit permutation #2 - pLookupCol[15] = SDWAP_BitPermutation_LK( (*pSDWAP_SubWords)[i] ^ (*pRandMask)[i][i], pBitPTbl ); - - //generate final value - pLookupCol[16] = ( (*RoundKey)[3][i] ); //bit permutation #3 - } - else - { - pLookupCol[ 0] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[1][0] ) ^ nD1[0]; //bit permutation #0 - pLookupCol[ 1] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[0][1] ^ (*pRandMask)[1][1] ^ (*pRandMask)[2][1] ); //bit permutation #1 - pLookupCol[ 2] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[0][2] ^ (*pRandMask)[2][2] ^ (*pRandMask)[3][2] ); //bit permutation #2 - pLookupCol[ 3] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[0][3] ^ (*pRandMask)[1][3] ^ (*pRandMask)[3][3] ^ (*pRandMask)[4][3] ); //bit permutation #3 - - pLookupCol[ 4] = nD1[1]; //none - pLookupCol[ 5] = ( (*RoundKey)[1][i] ^ (*pRandMask)[0][1] ^ (*pRandMask)[1][1] ) ^ nD2[0]; //bit permutation #1 - pLookupCol[ 6] = (*RoundKey)[1][i] ^ (*pRandMask)[1][2] ^ (*pRandMask)[2][2]; //bit permutation #2 - pLookupCol[ 7] = (*RoundKey)[1][i] ^ (*pRandMask)[0][3] ^ (*pRandMask)[2][3] ^ (*pRandMask)[3][3]; //bit permutation #3 - - pLookupCol[ 8] = nD1[2]; //none - pLookupCol[ 9] = nD2[1]; //none - pLookupCol[10] = (*RoundKey)[2][i] ^ (*pRandMask)[1][2] ^ (*pRandMask)[0][2]; //bit permutation #2 - pLookupCol[11] = (*RoundKey)[2][i] ^ (*pRandMask)[2][3] ^ (*pRandMask)[1][3]; //bit permutation #3 - - pLookupCol[12] = (*pRandMask)[1][0]; //bit permutation #0 - pLookupCol[13] = (*pRandMask)[2][1]; //bit permutation #1 - pLookupCol[14] = (*pRandMask)[3][2]; //bit permutation #2 - pLookupCol[15] = (*pSDWAP_SubWords)[i] ^ (*pRandMask)[i][i]; - - //generate final value - pLookupCol[16] = (*RoundKey)[3][i] ^ (*pRandMask)[4][3]; //bit permutation #3 - } - } -} - - -/** - * @fn static void GenerateKeyLookupTable(SDWAP_WORD key[], unsigned int lines, SDWAP_WORD rk[], unsigned int rounds) - * @brief calculate round keys from given key bytes - * - * @param [in] key user key (cipher key) - * @param [in] lines number of 32-bit words comprising the cipher key - * @param [out] rk round key - * @param [out] pKeyLookup round key lookup table - * @param [in] KeyLookupSize size of key-lookup table - * @param [in] rounds number of rounds - * @return void - */ -static void GenerateKeyLookupTable(SDWAP_WORD key[], unsigned int lines, SDWAP_KEY_LOOKUP *pKeyLookup, unsigned int KeyLookupSize, SDWAP_KEY_BIT_PBOX* pBitPTbl, unsigned int rounds, int isEncryption) -{ - unsigned char Rcon = 1; - unsigned char temp[SDWAP_WORD_SIZE]; - unsigned int i, j, k, l, idx, swap; - unsigned int SubIdx = 0; - unsigned int nRoundKeySize = 0; - unsigned char* RoundKey = NULL; - unsigned int nRandCnt[16]; - unsigned char nD1[16][3]; - unsigned char nD2[16][2]; - SDWAP_WORD *rk; - SDWAP_WORD *pSDWAP_SubWords; - SDWAP_KEY_RANDOM_MASK pRandMask; - - //calculate size of round key - nRoundKeySize = SDWAP_COLUMNS * SDWAP_WORD_SIZE * (rounds + 1); //Nb * word size * (number of rounds + 1) - - //allocate memory for round key - RoundKey = (unsigned char*)malloc(nRoundKeySize); - if (RoundKey == NULL) - { - return; - } - - rk = (SDWAP_WORD*)RoundKey; - - //generate random mask for round-key - for(i = 0; i < 5; i++) - { - for(j = 0; j < 4; j++) - { - pRandMask[i][j] = rand() & 0xff; - } - } - - nRoundKeySize = SDWAP_COLUMNS * SDWAP_WORD_SIZE * (rounds + 1); - - pSDWAP_SubWords = (SDWAP_WORD*)malloc(SDWAP_WORD_SIZE * rounds + 1); - - for (i = 0; i < lines; i++) - { - //set first 1 set - for (j = 0; j < SDWAP_WORD_SIZE; j++) - { - rk[i][j] = key[i][j]; - } - } - - //calc round key - for (i = lines; i < (SDWAP_COLUMNS * (rounds + 1)); i++) - { - for (j = 0; j < SDWAP_WORD_SIZE; j++) - { - temp[j] = rk[i - 1][j]; - } - - if ((i % lines) == 0) - { - //calc first row of next set - SDWAP_RotWord(temp); - SDWAP_SubWord(temp); - temp[0] ^= Rcon; - - Rcon = SDWAP_XTIMEs(2, Rcon); - - memcpy(pSDWAP_SubWords + SubIdx, temp, SDWAP_WORD_SIZE); - SubIdx++; - } - else if ((lines > 6) && ((i % lines) == 4)) - { - SDWAP_SubWord(temp); - - memcpy(pSDWAP_SubWords + SubIdx, temp, SDWAP_WORD_SIZE); - SubIdx++; - } - - //clac next row - for (j = 0; j < SDWAP_WORD_SIZE; j++) - { - rk[i][j] = rk[i - lines][j] ^ temp[j]; - } - } - - //Generate random mask for column of round-key - for(i = 0; i < 16; i++) - { - nRandCnt[i] = ((unsigned int)rand() % 64770) + 1; - } - - for(i = 0; i < 16; i++) - { - for(j = i; j < 16; j++) - { - if(nRandCnt[i] > nRandCnt[j]) - { - swap = nRandCnt[i]; - nRandCnt[i] = nRandCnt[j]; - nRandCnt[j] = swap; - } - } - } - - idx = 0; - swap = 0; - - for(j = 0; j <=0xFF; j++) - { - for(k = 0; k <= 0xFF; k++) - { - for(l = 0; l <= 0xFF; l++) - { - if(((j ^ k ^ l) == 0x00) && ( j != k ) && ( k != l ) && ( j != l )) - { - if(idx == 16) - { - break; - } - - if(nRandCnt[idx] == swap++) - { - nD1[idx][0] = (unsigned char)j; - nD1[idx][1] = (unsigned char)k; - nD1[idx][2] = (unsigned char)l; - idx++; - } - } - } - } - } - - for(i = 0; i < 16; i++) - { - nD2[i][0] = nD2[i][1] = (unsigned char)rand() & 0xff; - } - - - //set first 1 set - MakeEachKeyLookup(pKeyLookup, (unsigned char*)nD1, (unsigned char*)nD2, (SDWAP_RK_BOX*)rk, pSDWAP_SubWords, &pRandMask, pBitPTbl, 1); - - //calc next row for lookup table - for(i = 0; i < rounds; i++) - { - MakeEachKeyLookup(pKeyLookup + (i + 1), (unsigned char*)(nD1 + (i + 1)), (unsigned char*)(nD2 + (i + 1)), (SDWAP_RK_BOX*)rk + i, pSDWAP_SubWords + (i + 1), &pRandMask, pBitPTbl, 0); - } - - //clear memory - memset(temp, 0x00, SDWAP_WORD_SIZE); - - if(RoundKey) - { - memset(RoundKey, 0x00, nRoundKeySize); - free(RoundKey); - } - - return; -} - - -/** - * @fn void SDWAP_ProcessBitPBox(SDWAP_BIT_PBOX* bpTable, unsigned int Nr) - * @brief Generate table for bit-permutation - * - * @param [out] bpTable bit-permutation table - * @param [in] Nr number of rounds - * @return void - */ -SPC_INTERNAL void SDWAP_GenerateBitPBox(SDWAP_BIT_PBOX* bpTable, unsigned int Nr) -{ - unsigned char i, j; - unsigned int idxtmp; - - if(bpTable == NULL) - { - return; - } - - //[Nr][8] - //make random bit-permutaion order for each round - for(i = 0; i < (Nr - 1); i++) - { - for(j = 0; j < 8; j++) - { - //bpTable[i][j] = rand() % 8; - bpTable[i][j] = j; - - for(idxtmp = 0; idxtmp < j; idxtmp++) - { - if(bpTable[i][idxtmp] == bpTable[i][j]) - { - j--; - break; - } - } - } - } -} - - -/** - * @fn void SDWAP_ProcessBitPBox(SDWAP_TBOX* pTBox, SDWAP_BIT_PBOX* bpTable, unsigned int Nr) - * @brief Apply bit permutation. - * - * @param [in] pTBox T-Box - * @param [in] bpTable bit-permutation table - * @param [in] Nr number of rounds - * @return void - */ -SPC_INTERNAL void SDWAP_ProcessBitPBox(SDWAP_TBOX* pTBox, SDWAP_BIT_PBOX* bpTable, unsigned int Nr) -{ - unsigned char i, j, k, l; - unsigned char idx, row, col; - unsigned int idxtmp; - SDWAP_TBOX* pCurTBox = NULL; - SDWAP_TBOX* pNxtTBox = NULL; - SDWAP_TBOX* pTmpTBox; - - if(pTBox == NULL || bpTable == NULL) - { - return; - } - - //[Nr][8] - //make random bit-permutaion order for each round - for(i = 0; i < (Nr - 1); i++) - { - pCurTBox = (SDWAP_TBOX*)((unsigned char*)pTBox + (i * SDWAP_T_TABLE_ROUND_SIZE)); - - for(idxtmp = 0; idxtmp < SDWAP_T_TABLE_ROUND_SIZE; idxtmp += SDWAP_WORD_SIZE) - { - SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp ]), bpTable[0]); - SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 1]), bpTable[0]); - SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 2]), bpTable[0]); - SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 3]), bpTable[0]); - } - } - - pTmpTBox = (SDWAP_TBOX*)malloc(SDWAP_T_TABLE_ROUND_SIZE); - - //replace T-Box order for each round - for(i = 0; i < (Nr - 1); i++) - { - pNxtTBox = (SDWAP_TBOX*)((unsigned char*)pTBox + ((i + 1) * SDWAP_T_TABLE_ROUND_SIZE)); - - for(j = 0; j < 16; j++) - { - for(k = 0; k < 16; k++) - { - for(l = 0; l < 16; l++) - { - idx = (k * 16) + l; - SDWAP_BitPermutation(&idx, bpTable[0]); - - row = idx >> 4; - col = idx & 0x0f; - - memcpy(pTmpTBox[j][row][col], pNxtTBox[j][k][l], SDWAP_WORD_SIZE); - } - } - } - - memcpy(pNxtTBox, pTmpTBox, SDWAP_T_TABLE_ROUND_SIZE); - } - - free(pTmpTBox); -} - - -/** - * @fn static void SDWAP_GenerateBytePBox(SDWAP_WORD_PBOX *pwTable, unsigned int Nr) - * @brief Generate table for 4-byte permutation - * - * @param [out] pwTable Table for permutation word of T-box table - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_GenerateBytePBox(SDWAP_WORD_PBOX *pwTable, unsigned int Nr) -{ - unsigned int i, j; - - //make random permutaion order for each round - for(i = 0; i < Nr; i++) - { - for(j = 0; j < 4; j++) - { - //(*pwTable)[i][j] = (rand() & 0x0f) % 24; - (*pwTable)[i][j] = 0; - - //for(k = 0; k < j; k++) - //{ - // if((*pwTable)[i][j] == (*pwTable)[i][k]) - // { - // j--; - // break; - // } - //} - } - } -} - - -/** - * @fn static void SDWAP_ProcessBytePBox(SDWAP_WORD_PBOX *pwTable, SDWAP_TBOX *pTBox, unsigned int Nr) - * @brief Apply byte permutation. - * - * @param [in] pwTable Table for permutation word of T-box table - * @param [in] pTBox transform table for each round - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_ProcessBytePBox(SDWAP_TBOX *pTBox, SDWAP_WORD_PBOX *pwTable, unsigned int Nr) -{ - unsigned int i, j; - SDWAP_WORD tmp; - SDWAP_WORD* pwbox; - SDWAP_TBOX* tbox; - - //make random permutaion order for each round - for(i = 0; i < Nr; i++) - { - tbox = (SDWAP_TBOX*)((unsigned char*)pTBox + (i * SDWAP_T_TABLE_ROUND_SIZE)); - pwbox = &(*pwTable)[i]; - - for(j = 0; j < SDWAP_T_TABLE_ROUND_SIZE; j += (SDWAP_WORD_SIZE * 4)) //word * 4 - { - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][0] ] = ((unsigned char*)tbox)[j + 0]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][1] ] = ((unsigned char*)tbox)[j + 1]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][2] ] = ((unsigned char*)tbox)[j + 2]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][3] ] = ((unsigned char*)tbox)[j + 3]; - memcpy(((unsigned char*)tbox) + (j + 0), tmp, SDWAP_WORD_SIZE); - - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][0] ] = ((unsigned char*)tbox)[j + 4]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][1] ] = ((unsigned char*)tbox)[j + 5]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][2] ] = ((unsigned char*)tbox)[j + 6]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][3] ] = ((unsigned char*)tbox)[j + 7]; - memcpy(((unsigned char*)tbox) + (j + 4), tmp, SDWAP_WORD_SIZE); - - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][0] ] = ((unsigned char*)tbox)[j + 8]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][1] ] = ((unsigned char*)tbox)[j + 9]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][2] ] = ((unsigned char*)tbox)[j + 10]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][3] ] = ((unsigned char*)tbox)[j + 11]; - memcpy(((unsigned char*)tbox) + (j + 8), tmp, SDWAP_WORD_SIZE); - - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][0] ] = ((unsigned char*)tbox)[j + 12]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][1] ] = ((unsigned char*)tbox)[j + 13]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][2] ] = ((unsigned char*)tbox)[j + 14]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][3] ] = ((unsigned char*)tbox)[j + 15]; - memcpy(((unsigned char*)tbox) + (j + 12), tmp, SDWAP_WORD_SIZE); - } - } -} - - -/** - * @fn static void SDWAP_InitalizeMicBox(SDWAP_MIX_COLUMN_BOX MicBox[4], SDWAP_TABLE_TYPE mode) - * @brief Calculate MixColumns Matrix MC0, MC1, MC2, MC3 - * - * @param [out] MicBox Matrix for MixColumns - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SDWAP_InitalizeMicBox(SDWAP_MIX_COLUMN_BOX MicBox[4], SDWAP_TABLE_TYPE mode) -{ - //MicMatrix - static const unsigned char MicMatrix[4][4] = - { - {0x02, 0x01, 0x01, 0x03}, - {0x03, 0x02, 0x01, 0x01}, - {0x01, 0x03, 0x02, 0x01}, - {0x01, 0x01, 0x03, 0x02} - }; - - //Inverse MicMatrix - static const unsigned char InvMicMatrix[4][4] = - { - {0x0e, 0x09, 0x0d, 0x0b}, - {0x0b, 0x0e, 0x09, 0x0d}, - {0x0d, 0x0b, 0x0e, 0x09}, - {0x09, 0x0d, 0x0b, 0x0e} - }; - - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int l; - - //for each bytre of the word - for (i = 0; i < SDWAP_WORD_SIZE; i++) - { - //sbox row - for (j = 0; j < 16; j++) - { - //sbox col - for (k = 0; k < 16; k++) - { - //xor MicMatrix - for (l = 0; l < 4; l++) - { - if (mode == SDWAP_TABLE_TYPE_ENCRYPTION) - { - //for encryption - MicBox[i][j][k][l] = SDWAP_XTIMEs((j * 16 + k), MicMatrix[i][l]); - } - else - { - //for decryption - MicBox[i][j][k][l] = SDWAP_XTIMEs((j * 16 + k), InvMicMatrix[i][l]); - } - } - } - } - } - - return; -} - -/** - * @fn static void SDWAP_AddMicBox(unsigned char val, SDWAP_WORD* word, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode) - * @brief Applying MC box to the each element of T-box - * - * @param [in] val polynomial, each value of S-box - * @param [out] word MixColumn-applied word - * @param [in] idx index - * @param [in] rnd random number for MixColumn randomizing - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SDWAP_AddMicBox(unsigned char val, SDWAP_WORD* word, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode) -{ - static SDWAP_MIX_COLUMN_BOX MicBox[4]; //MicBox - static SDWAP_MIX_COLUMN_BOX InvMicBox[4]; //Inverse MicBox - static unsigned char MicBoxInitialFlag = 0; //MicBox Initialize flag - - unsigned int i; - - //if flag is not set - if (MicBoxInitialFlag == 0) - { - //calc MicBox - SDWAP_InitalizeMicBox(MicBox, SDWAP_TABLE_TYPE_ENCRYPTION); - - //calc Inverse MicBox - SDWAP_InitalizeMicBox(InvMicBox, SDWAP_TABLE_TYPE_DECRYPTION); - - //set flag - MicBoxInitialFlag = 1; - } - - for (i = 0; i < SDWAP_WORD_SIZE; i++) - { - //add MicBox for encryption - if (mode == SDWAP_TABLE_TYPE_ENCRYPTION) - { - (*word)[i] = MicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i]; - } - else - { - //add MicBox for decryption - (*word)[i] = InvMicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i]; - } - } - - return; -} - -/** - * @fn static void SDWAP_MakeEachTBox(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode) - * @brief Claculating masked and expanded s-box - * - * @param [in] mul value to be multiplicated - * @param [in] xor value to be added - * @param [out] tbox T-box for each round key byte - * @param [in] idx column index - * @param [in] rnd random number for MixColumn randomizing - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SDWAP_MakeEachTBox(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - unsigned char mul_row = (mul >> 4); - unsigned char mul_col = (mul & 0x0f); - - //S-Box row - for (i = 0; i < 16; i++) - { - //S-Box col - for (j = 0; j < 16; j++) - { - if (mode == SDWAP_TABLE_TYPE_ENCRYPTION) - { - //add MicBox for encryption - SDWAP_AddMicBox(sdwap_s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode); - } - else - { - //add MicBox for decryption - SDWAP_AddMicBox(sdwap_inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode); - } - } - } - - return; -} - -/** - * @fn static void SDWAP_MakeEachTBox_WithoutSubBytes(unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode) - * @brief Claculating masked and expanded s-box with sub-bytes phase - * - * @param [in] xor value to be added - * @param [out] tbox T-box for each round key byte - * @param [in] idx column index - * @param [in] rnd random number for MixColumn randomizing - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SDWAP_MakeEachTBox_WithoutSubBytes(unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - - //S-Box row - for (i = 0; i < 16; i++) - { - //S-Box col - for (j = 0; j < 16; j++) - { - if (mode == SDWAP_TABLE_TYPE_ENCRYPTION) - { - //add MicBox for encryption - SDWAP_AddMicBox(i * 16 + j, &(*tbox)[i][j], idx, rnd, mode); - } - else - { - //add MicBox for decryption - SDWAP_AddMicBox(i * 16 + j, &(*tbox)[i][j], idx, rnd, mode); - } - } - } - - return; -} - -/** - * @fn static void SDWAP_SBOX_Xor(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, SDWAP_TABLE_TYPE mode) - * @brief Claculating masked s-box - * - * @param [in] mul value to be multiplicated - * @param [in] xor value to be added - * @param [in] tbox T-box for each round key byte - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SDWAP_SBOX_Xor(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, SDWAP_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - unsigned char mul_row = mul >> 4; - unsigned char mul_col = mul & 0x0f; - - //S-Box row - for (i = 0; i < 16; i++) - { - //S-Box col - for (j = 0; j < 16; j++) - { - if (mode == SDWAP_TABLE_TYPE_ENCRYPTION) - { - //clac T-box for encryption - (*tbox)[i][j][0] = sdwap_s_box[i ^ mul_row][j ^ mul_col] ^ xor; - } - else - { - //calc T-box for decryption - (*tbox)[i][j][0] = sdwap_inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor; - } - - //fill empty bytes with random numbers - (*tbox)[i][j][1] = rand() & 0xff; - (*tbox)[i][j][2] = rand() & 0xff; - (*tbox)[i][j][3] = rand() & 0xff; - } - } - - return; -} - -/** - * @fn static void SDWAP_CalcTBox(SDWAP_RK_BOX* RK, SDWAP_TBOX* pTable, unsigned int Nr) - * @brief Calculate T-box table for encryption - * - * @param [out] pTable T-box, transform table - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_CalcTBox(SDWAP_TBOX* pTable, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned char mask[16] = {0}; - - SDWAP_WORD rnd[16]; - - //1. make T-box for each rounds - for (i = 0; i < (Nr - 1); i++) - { - //make random masking - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - rnd[j][k] = rand() & 0xff; - } - } - - //for each col - for (j = 0; j < SDWAP_COLUMNS; j++) - { - for (k = 0; k < SDWAP_WORD_SIZE; k++) - { - //make each TBox - SDWAP_MakeEachTBox(mask[j * 4 + k], 0x00, &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SDWAP_TABLE_TYPE_ENCRYPTION); - } - } - - for (j = 0; j < 4; j++) - { - for (k = 0; k < 4; k++) - { - //apply random masking - mask[j * 4 + k] = rnd[sdwap_inv_sr_matrix[j * 4 ]][k] ^ - rnd[sdwap_inv_sr_matrix[j * 4 + 1]][k] ^ - rnd[sdwap_inv_sr_matrix[j * 4 + 2]][k] ^ - rnd[sdwap_inv_sr_matrix[j * 4 + 3]][k]; - - } - } - } - - //2. make T-box for last round - for (j = 0; j < SDWAP_COLUMNS; j++) - { - for (k = 0; k < SDWAP_WORD_SIZE; k++) - { - SDWAP_SBOX_Xor(mask[j * 4 + k], 0x00, &pTable[i * 16 + j * 4 + k], SDWAP_TABLE_TYPE_ENCRYPTION); - } - } - - return; -} - - -/** - * @fn static void SDWAP_CalcInvTBox(SDWAP_RK_BOX* RK, SDWAP_TBOX* pTable, unsigned int Nr) - * @brief Calculate T-box table for decryption - * - * @param [in] pTable T-box, transform table - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_CalcInvTBox(SDWAP_TBOX* pTable, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned char mask[16] = {0}; - - SDWAP_WORD rnd[16]; - - //1. make T-box for each rounds - for (i = 0; i < (Nr - 1); i++) - { - //make random masking - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - rnd[j][k] = 0x00;//rand() & 0xff; - } - } - - //for each col - for (j = 0; j < SDWAP_COLUMNS; j++) - { - for (k = 0; k < SDWAP_WORD_SIZE; k++) - { - SDWAP_MakeEachTBox_WithoutSubBytes(0x00, &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SDWAP_TABLE_TYPE_DECRYPTION); - } - } - - for (j = 0; j < 4; j++) - { - for (k = 0; k < 4; k++) - { - if (i == 0) - { - //apply random mask for 1st T-Box - const unsigned char conv_matrix[16] = - {0, 7, 10, 13, 1, 4, 11, 14, 2, 5, 8, 15, 3, 6, 9, 12}; - mask[sdwap_inv_sr_matrix[j * 4 + k]] = rnd[conv_matrix[j * 4 ]][k] ^ - rnd[conv_matrix[j * 4 + 1]][k] ^ - rnd[conv_matrix[j * 4 + 2]][k] ^ - rnd[conv_matrix[j * 4 + 3]][k]; - } - else - { - //apply random mask - mask[sdwap_inv_sr_matrix[j * 4 + k]] = rnd[j * 4 ][k] ^ - rnd[j * 4 + 1][k] ^ - rnd[j * 4 + 2][k] ^ - rnd[j * 4 + 3][k]; - } - } - } - } - - //2. make T-box for last round - for (j = 0; j < SDWAP_COLUMNS; j++) - { - for (k = 0; k < SDWAP_WORD_SIZE; k++) - { - SDWAP_SBOX_Xor(mask[j * 4 + k], 0x00, &pTable[i * 16 + j * 4 + k], SDWAP_TABLE_TYPE_DECRYPTION); - } - } - - return; -} - - -/** - * @fn static void SDWAP_ProcessInitalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector) - * @brief process initial permutation - * - * @param [in,out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @return void - */ -static void SDWAP_ProcessInitalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector) -{ - unsigned int j; - unsigned int k; - - for (j = 0; j < 2; j++) - { - for (k = 0; k < 8; k++) - { - //make initial permutation table - Table[0][j][k] = PVector[0][j * 8 + k]; - } - } - - for (; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - //fill empty bytes with random numbers - Table[0][j][k] = rand() & 0xff; - } - } - - return; -} - -/** - * @fn static void SDWAP_ProcessFinalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr, SDWAP_TABLE_TYPE mode) - * @brief process final permutation - * - * @param [in,out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SDWAP_ProcessFinalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr, SDWAP_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - unsigned int k; - - for (j = 0; j < 2; j++) - { - for (k = 0; k < 8; k++) - { - if (mode == SDWAP_TABLE_TYPE_ENCRYPTION) - { - Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = sdwap_sr_matrix[j * 8 + k]; - } - else - { - Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = j * 8 + k; - } - } - } - - //fill empty bytes with random numbers - for (; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - Table[Nr][j][k] = rand() & 0xff; - } - } - - //add random to permutation table (ex. 0x0d 0x0c ==> 0x4d 0x7c) - for (i = 0; i <= Nr; i++) - { - for (j = 0; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - unsigned char rnd = rand() % 16; - Table[i][j][k] ^= (rnd << 4); - } - } - } - - return; -} - -/** - * @fn static void SDWAP_MakePTable(SDWAP_PBOX *Table, unsigned int round, unsigned char itmdt[16][4]) - * @brief Calculate P-box for each round - * - * @param [in,out] Table P-box, permutation table - * @param [in] round current round - * @param [in] itmdt intermediate value - * @return void - */ -static void SDWAP_MakePTable(SDWAP_PBOX *Table, unsigned int round, unsigned char itmdt[16][4]) -{ - unsigned int j; - unsigned int k; - unsigned int idx[4] = {0}; - - //fill P-Table with 0xff - memset(&Table[round], 0xff, sizeof(SDWAP_PBOX)); - - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - if (Table[round][k][0] == 0xff) - { - //if the key value is not added yet, add key value and 1st index - memcpy(&Table[round][k], &itmdt[j], sizeof(SDWAP_WORD)); - idx[k] = 0; - Table[round][k][4 + idx[k]] = j; - - break; - } - else if (memcmp(&itmdt[j], &Table[round][k], SDWAP_WORD_SIZE) == 0) - { - //if the index already exists, just add index - idx[k]++; - Table[round][k][4 + idx[k]] = j; - - break; - } - } - } - - return; -} - -/** - * @fn static void SDWAP_CalcPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr) - * @brief Calculate P-box table for encryption - * - * @param [out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_CalcPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int temp; - - unsigned char InvMix[16]; - unsigned char itmdt[16][4]; - - //1. make initial permutation - SDWAP_ProcessInitalPermutation(Table, PVector); - - //2. make permutation table - for (i = 1; i < Nr; i++) - { - //calc Intermideate table - for (j = 0; j < 16; j++) - { - InvMix[PVector[i - 1][j]] = j; - } - - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - temp = (sdwap_sr_matrix[InvMix[j]] / 4) * 4 + k; - itmdt[j][k] = PVector[i][temp]; - } - } - - SDWAP_MakePTable(Table, i, itmdt); - } - - //3. make final permutation - SDWAP_ProcessFinalPermutation(Table, PVector, Nr, SDWAP_TABLE_TYPE_ENCRYPTION); - - return; -} - - -/** - * @fn static void SDWAP_CalcInvPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr) - * @brief Calculate P-box table for decryption - * - * @param [out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_CalcInvPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int temp; - - unsigned char InvMix[16]; - unsigned char itmdt[16][4]; - - //1. make initial permutation - SDWAP_ProcessInitalPermutation(Table, PVector); - - //2. make permutation table - for (i = 1; i < Nr; i++) - { - for (j = 0; j < 16; j++) - { - InvMix[PVector[i - 1][j]] = j; - } - - //calc Intermideate table - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - if (i == 1) - { - temp = sdwap_inv_sr_matrix[(sdwap_inv_sr_matrix[InvMix[j]] / 4) * 4 + k]; - itmdt[j][k] = PVector[i][temp]; - } - else - { - temp = sdwap_inv_sr_matrix[(InvMix[j] / 4) * 4 + k]; - itmdt[j][k] = PVector[i][temp]; - } - } - } - - SDWAP_MakePTable(Table, i, itmdt); - } - - //3. make final permutation - SDWAP_ProcessFinalPermutation(Table, PVector, Nr, SDWAP_TABLE_TYPE_DECRYPTION); - - return; -} - - -/** - * @fn static void SDWAP_GeneratePVector(unsigned int Nr, SDWAP_PVECTOR* PVector) - * @brief generate permutation vector - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void SDWAP_GeneratePVector(unsigned int Nr, SDWAP_PVECTOR* PVector) -{ - unsigned int rnd; - unsigned char flag[16]; - unsigned char sequence[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; - unsigned int i; - unsigned int j; - - for (i = 0; i < Nr; i++) - { - //make 16 byte random sequence for each round - memcpy(flag, sequence, sizeof(flag)); - for (j = 0; j < 16; j++) - { - rnd = rand() % (16 - j); - PVector[i][j] = j; - flag[j] = flag[16 - j - 1]; - } - } - - return; -} - -/** - * @fn static void SDWAP_ShuffleTBox(SDWAP_TBOX* pTBox, SDWAP_PVECTOR* PVector, unsigned int Nr) - * @brief shuffle T-box according to the permutation vector - * - * @param [in,out] pTBox T-box, transform table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @return void - */ -static void SDWAP_ShuffleTBox(SDWAP_TBOX* pTBox, SDWAP_PVECTOR* PVector, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - SDWAP_TBOX* pCurrentTBox = pTBox; - SDWAP_TBOX temp[16]; - - for (i = 0; i < Nr; i++) - { - //temp = current TBox - memcpy(&temp, pCurrentTBox, sizeof(SDWAP_TBOX) * 16); - - for (j = 0; j < 16; j++) - { - //Shuffle each item of T-Box - memcpy(&pCurrentTBox[PVector[i][j]], temp[j], sizeof(SDWAP_TBOX)); - } - - //current TBox = temp - pCurrentTBox = &pCurrentTBox[16]; - } - - return ; -} - -/** - * @fn static void SDWAP_GeneratePVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector) - * @brief generate permutation vector for fast implementation - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void SDWAP_GeneratePVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector) -{ - unsigned int rnd; - unsigned int sfl; - unsigned char flag[4]; - unsigned char sequence[4] = {0, 1, 2, 3}; - unsigned int i; - unsigned int j; - unsigned int k; - - //shuffle table - unsigned char sflTable[4][4] = - { - {0x00, 0x01, 0x02, 0x03}, - {0x01, 0x02, 0x03, 0x00}, - {0x02, 0x03, 0x00, 0x01}, - {0x03, 0x00, 0x01, 0x02} - }; - - //calculate PVector - for (i = 0; i < Nr; i++) - { - memcpy(flag, sequence, sizeof(flag)); - for (j = 0; j < 4; j++) - { - rnd = rand() % (4 - j); - sfl = rand() % 4; - for (k = 0; k < 4; k++) - { - PVector[i][j * 4 + k] = flag[rnd] * 4 + sflTable[sfl][k]; - } - flag[rnd] = flag[4 - j - 1]; - } - } - - return; -} - -/** - * @fn static void SDWAP_GenerateInvPVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector) - * @brief generate permutation vector for fast decryption - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void SDWAP_GenerateInvPVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector) -{ - unsigned int rnd; - unsigned int sfl; - unsigned char flag[4]; - unsigned char sequence[4] = {0, 1, 2, 3}; - unsigned int i; - unsigned int j; - unsigned int k; - - //shuffle table - unsigned char sflTable[4][4] = - { - {0x00, 0x01, 0x02, 0x03}, - {0x01, 0x02, 0x03, 0x00}, - {0x02, 0x03, 0x00, 0x01}, - {0x03, 0x00, 0x01, 0x02} - }; - - //calculate inverse PVector - for (i = 0; i < Nr; i++) - { - memcpy(flag, sequence, sizeof(flag)); - for (j = 0; j < 4; j++) - { - rnd = rand() % (4 - j); - sfl = rand() % 4; - for (k = 0; k < 4; k++) - { - PVector[i][sdwap_inv_sr_matrix[j * 4 + k]] = flag[rnd] * 4 + sflTable[sfl][k]; - } - flag[rnd] = flag[4 - j - 1]; - } - } - - return; -} - -/** - * @fn static void SDWAP_GenerateInvPVector_fstest(unsigned int Nr, SDWAP_PVECTOR* PVector) - * @brief generate permutation vector for fastest decryption - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void SDWAP_GenerateInvPVector_fstest(unsigned int Nr, SDWAP_PVECTOR* PVector) -{ - unsigned int i; - unsigned int j; - - //Actually, no permutation is applied - for (i = 0; i < 16; i++) - { - PVector[0][i] = i; - } - - for (i = 1; i < Nr; i++) - { - for (j = 0; j < 16; j++) - { - PVector[i][sdwap_inv_sr_matrix[j]] = j; - } - } - - return; -} - -/** - * @fn static void SDWAP_ConvertPBox(SDWAP_PBOX *Table, unsigned int Nr) - * @brief convert PBox for simple permutation - * - * @param [in,out] Table PBox - * @param [out] Nr number of rounds - * @return void - */ -static void SDWAP_ConvertPBox(SDWAP_PBOX *Table, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned char t; - - for (i = 1; i < Nr; i++) - { - for (j = 0; j < 4; j++) - { - //calculate each table and fill empty bits with random mask - t = Table[i][j][0] & 0x0f; - Table[i][j][0] = (t / 4) + (0x00 & 0xfc); //(t / 4) + (rand() & 0xfc); - Table[i][j][1] = ((t % 4) * 8) + (0x00 & 0xe0); //((t % 4) * 8) + (rand() & 0xe0) - Table[i][j][2] = rand() & 0xff; - Table[i][j][3] = rand() & 0xff; - } - } -} - -/** - * @fn static void SDWAP_RandomizePBox(SDWAP_PBOX *Table, unsigned int Nr) - * @brief fill the PBox with random numbers - * - * @param [in,out] Table PBox - * @param [out] Nr number of rounds - * @return void - */ -static void SDWAP_RandomizePBox(SDWAP_PBOX *Table, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - - for (i = 0; i <= Nr; i++) - { - for (j = 0; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - //fill the table with random numbers - Table[i][j][k] = rand() & 0xff; - } - } - } -} - -/** - * @fn unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev) - * @brief derivate look-up table from given key - * - * @param [in] Key user key (cipher key) - * @param [in] KeyLen byte-length of cipher key - * @param [in] seed random seed - * @param [out] Table look-up table for SDWAP - * @param [out] TableLen byte-length of look-up table - * @param [in] isEncryption flag ordering encryption or decryption - * @param [in] OptimizLev Performance Optimization Level [0~2] - * @return SDWAP_TBLGEN_RETURN_VAL - */ -SPC_INTERNAL unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, int TableType) -{ - SDWAP_TBLGEN_RETURN_VAL retVal = SDWAP_TBLGEN_RETURN_SUCCESS; - unsigned int Nr = 0; - unsigned int Nk = 0; - - SDWAP_TBOX *pTBox = NULL; - SDWAP_PBOX *pPBox = NULL; - SDWAP_WORD_PBOX *pBytePBox = NULL; - SDWAP_BIT_PBOX *pBitPBox = NULL; - SDWAP_KEY_LOOKUP *pKeyLookup = NULL; - SDWAP_KEY_BYTE_PBOX *pKeyBytePBox = NULL; - SDWAP_KEY_BIT_PBOX *pKeyBitPBox = NULL; - unsigned int TBoxSize = 0; - unsigned int PBoxSize = 0; - unsigned int WPBoxSize = 0; - unsigned int BPBoxSize = 0; - unsigned int KeyLookupSize = 0; - - SDWAP_PVECTOR PVector[SDWAP_256_ROUNDS + 1]; - - - //1. Argument Check - if ((Key == NULL) || (Table == NULL)) - { - retVal = SDWAP_TBLGEN_RETURN_INVALID_PARAMETER; //invalid input - goto ERROR_PROC; - } - - //2. Set Number of rounds - switch(KeyLen) //find Nr - { - case 16: - //AES128 - Nr = SDWAP_128_ROUNDS; - break; - case 24: - //AES192 - Nr = SDWAP_192_ROUNDS; - break; - case 32: - //AES256 - Nr = SDWAP_256_ROUNDS; - break; - default: - retVal = SDWAP_TBLGEN_RETURN_INVALID_KEYLEN; //invalid key length - goto ERROR_PROC; - } - - //calculate Nk - Nk = KeyLen / SDWAP_WORD_SIZE; //Nk is the word size of given key - - //calculate TBox and PBox size - TBoxSize = SDWAP_T_TABLE_ROUND_SIZE * Nr; //each byte of round key has its own s-box table - PBoxSize = SDWAP_P_TABLE_ROUND_SIZE * (Nr + 1); //Permutation table for each round, and initial permutation - WPBoxSize = SDWAP_WP_TABLE_ROUND_SIZE * Nr; //Permutation word of transform table for each round - BPBoxSize = SDWAP_BP_TABLE_ROUND_SIZE * Nr; //Permutation bit of transform table for each round - KeyLookupSize = 17 * 4 * (Nr + 1); //each column of round-key has its own lookup table - - //allocate memory for TBox and PBox - if(TableType == SDWAP_TBL_TBOX) - { - pTBox = (SDWAP_TBOX*)malloc(TBoxSize + PBoxSize + WPBoxSize + BPBoxSize + KeyLookupSize); - - if (pTBox == NULL) - { - retVal = SDWAP_TBLGEN_RETURN_MEM_ALLOC_FAILED; //memory allocation failed - goto ERROR_PROC; - } - - pPBox = (SDWAP_PBOX*)((unsigned char*)pTBox + TBoxSize); - pBytePBox = (SDWAP_WORD_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize); - pBitPBox = (SDWAP_BIT_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize); - } - if(TableType == SDWAP_TBL_KEYLOOKUP) - { - pTBox = (SDWAP_TBOX*)(*Table); - pBitPBox = (SDWAP_BIT_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize); - pKeyLookup = (SDWAP_KEY_LOOKUP*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize + BPBoxSize); - } - - if(TableType == SDWAP_TBL_TBOX) - { - //seed random seed - srand(seed); - - //3. Generate byte & bit permutation table - SDWAP_GenerateBitPBox(pBitPBox, Nr); - SDWAP_GenerateBytePBox(pBytePBox, Nr); - } - - //4. Calc Round Key & Generate Key Lookup Table - if(TableType == SDWAP_TBL_KEYLOOKUP) - { - GenerateKeyLookupTable((SDWAP_WORD*)Key, Nk, pKeyLookup, KeyLookupSize, pBitPBox, Nr, isEncryption); - } - - if(TableType == SDWAP_TBL_TBOX) - { - if (isEncryption) - { - //5. Generate permutation vector and PBox - SDWAP_GeneratePVector(Nr, PVector); - SDWAP_CalcPBox(pPBox, PVector, Nr); - - //6. Generate table for calc AddRoundKey, SubBytes and MixColumn - SDWAP_CalcTBox(pTBox, Nr); - } - else - { - //5. Generate permutation vector and PBox - SDWAP_GeneratePVector(Nr, PVector); - SDWAP_CalcInvPBox(pPBox, PVector, Nr); - - //6. Generate table for calc AddRoundKey, SubBytes and MixColumn - SDWAP_CalcInvTBox(pTBox, Nr); - } - - //7. Apply bit & byte permutation - SDWAP_ProcessBitPBox(pTBox, pBitPBox, Nr); - SDWAP_ProcessBytePBox(pTBox, pBytePBox, Nr); - - //8. Shuffle TBox according to the permutation vector - SDWAP_ShuffleTBox(pTBox, PVector, Nr); - - //9. Set output - *Table = (unsigned char*)pTBox; - - //set pTbox to preventing free - pTBox = NULL; - - //set table length - if (TableLen != NULL) - { - *TableLen = TBoxSize + PBoxSize; - } - } - - -ERROR_PROC: - - if(TableType == SDWAP_TBL_TBOX) - { - //clear memory - memset(PVector, 0x00, sizeof(PVector)); - - //free TBox if not null - if (pTBox != NULL) - { - //clear before free - memset(pTBox, 0x00, TBoxSize + PBoxSize + WPBoxSize + BPBoxSize + KeyLookupSize); - free(pTBox); - } - - if(pSDWAP_SBox != NULL) - { - memset(pSDWAP_SBox, 0x00, sizeof(SDWAP_SBOX) * Nr); - free(pSDWAP_SBox); - } - - if(pSDWAP_InvSBox != NULL) - { - memset(pSDWAP_InvSBox, 0x00, sizeof(SDWAP_SBOX) * Nr); - free(pSDWAP_InvSBox); - } - } - - return retVal; -} - -////////////////////////// End of File ////////////////////////// diff --git a/SPC/Src/WhiteBox/SWAPv2.c b/SPC/Src/WhiteBox/SWAPv2.c deleted file mode 100755 index 6239f34..0000000 --- a/SPC/Src/WhiteBox/SWAPv2.c +++ /dev/null @@ -1,308 +0,0 @@ -/** - * @file SWAPv2.c - * @brief white box AES module for SSA(Samsung Security Architecture) - * @author Samsung WhiteBox AES Version 2 (SWAPv1 based) - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * Samsung WhiteBox AES Version 1 - * - Jisoon Park(js00n.park@samsung.com) - * - Dept: DMC R&D Center/Convergence Software Lab. - * - * @see SWAPv2 - * @date 2012-10-05 - * @version 2.0 - * @par Copyright: - * Copyright 2012 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - */ - -//////////////////////////////////////////////////////////////////////////// -// including header files -//////////////////////////////////////////////////////////////////////////// -#include -#include -#include "SWAPv2_defines.h" -#include "SWAPv2.h" - -//////////////////////////////////////////////////////////////////////////// -// function implementations -//////////////////////////////////////////////////////////////////////////// -/* - * @fn static void SWAPv2_ProcNormal(SWAPv2_TBOX *pTBox, SWAPv2_PBOX *pPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) - * @brief normal mode processing - * - * @param [in] pTBox T-Box - * @param [in] pPBox P-Box - * @param [in] pWPBox word(4byte) permutation box - * @param [in] pBPBox bit permutation box - * @param [in] Nr number of rounds - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @param [in] isLittleEndian flag for little endian - * @return void - */ -static void SWAPv2_ProcNormal(SWAPv2_TBOX *pTBox, SWAPv2_PBOX *pPBox, SWAPv2_WORD_PBOX* pWPBox, SWAPv2_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian) -{ -#ifdef _USE_ITERATION - unsigned int i, j; -#endif - unsigned int idx = 0; - unsigned int idx16; - unsigned char idx_wps[16]; - unsigned char state[16]; //state - SWAPv2_WORD* itmdt[16]; //intermediate value - - - //3. Process initial permutation -#ifdef _USE_ITERATION - -#else - - idx_wps[(pPBox[0][0][0]) & 0x0f] = state[(pPBox[0][0][0]) & 0x0f] = in[ 0]; - idx_wps[(pPBox[0][0][1]) & 0x0f] = state[(pPBox[0][0][1]) & 0x0f] = in[ 1]; - idx_wps[(pPBox[0][0][2]) & 0x0f] = state[(pPBox[0][0][2]) & 0x0f] = in[ 2]; - idx_wps[(pPBox[0][0][3]) & 0x0f] = state[(pPBox[0][0][3]) & 0x0f] = in[ 3]; - idx_wps[(pPBox[0][0][4]) & 0x0f] = state[(pPBox[0][0][4]) & 0x0f] = in[ 4]; - idx_wps[(pPBox[0][0][5]) & 0x0f] = state[(pPBox[0][0][5]) & 0x0f] = in[ 5]; - idx_wps[(pPBox[0][0][6]) & 0x0f] = state[(pPBox[0][0][6]) & 0x0f] = in[ 6]; - idx_wps[(pPBox[0][0][7]) & 0x0f] = state[(pPBox[0][0][7]) & 0x0f] = in[ 7]; - idx_wps[(pPBox[0][1][0]) & 0x0f] = state[(pPBox[0][1][0]) & 0x0f] = in[ 8]; - idx_wps[(pPBox[0][1][1]) & 0x0f] = state[(pPBox[0][1][1]) & 0x0f] = in[ 9]; - idx_wps[(pPBox[0][1][2]) & 0x0f] = state[(pPBox[0][1][2]) & 0x0f] = in[10]; - idx_wps[(pPBox[0][1][3]) & 0x0f] = state[(pPBox[0][1][3]) & 0x0f] = in[11]; - idx_wps[(pPBox[0][1][4]) & 0x0f] = state[(pPBox[0][1][4]) & 0x0f] = in[12]; - idx_wps[(pPBox[0][1][5]) & 0x0f] = state[(pPBox[0][1][5]) & 0x0f] = in[13]; - idx_wps[(pPBox[0][1][6]) & 0x0f] = state[(pPBox[0][1][6]) & 0x0f] = in[14]; - idx_wps[(pPBox[0][1][7]) & 0x0f] = state[(pPBox[0][1][7]) & 0x0f] = in[15]; - -#endif - - //4. Process each rounds - do - { - idx16 = (idx << 4); - -#ifdef _USE_ITERATION - -#else - itmdt[ 0] = (SWAPv2_WORD*)pTBox[idx16 + 0][state[ 0] >> 4][state[ 0] & 0xf]; - itmdt[ 1] = (SWAPv2_WORD*)pTBox[idx16 + 1][state[ 1] >> 4][state[ 1] & 0xf]; - itmdt[ 2] = (SWAPv2_WORD*)pTBox[idx16 + 2][state[ 2] >> 4][state[ 2] & 0xf]; - itmdt[ 3] = (SWAPv2_WORD*)pTBox[idx16 + 3][state[ 3] >> 4][state[ 3] & 0xf]; - itmdt[ 4] = (SWAPv2_WORD*)pTBox[idx16 + 4][state[ 4] >> 4][state[ 4] & 0xf]; - itmdt[ 5] = (SWAPv2_WORD*)pTBox[idx16 + 5][state[ 5] >> 4][state[ 5] & 0xf]; - itmdt[ 6] = (SWAPv2_WORD*)pTBox[idx16 + 6][state[ 6] >> 4][state[ 6] & 0xf]; - itmdt[ 7] = (SWAPv2_WORD*)pTBox[idx16 + 7][state[ 7] >> 4][state[ 7] & 0xf]; - itmdt[ 8] = (SWAPv2_WORD*)pTBox[idx16 + 8][state[ 8] >> 4][state[ 8] & 0xf]; - itmdt[ 9] = (SWAPv2_WORD*)pTBox[idx16 + 9][state[ 9] >> 4][state[ 9] & 0xf]; - itmdt[10] = (SWAPv2_WORD*)pTBox[idx16 + 10][state[10] >> 4][state[10] & 0xf]; - itmdt[11] = (SWAPv2_WORD*)pTBox[idx16 + 11][state[11] >> 4][state[11] & 0xf]; - itmdt[12] = (SWAPv2_WORD*)pTBox[idx16 + 12][state[12] >> 4][state[12] & 0xf]; - itmdt[13] = (SWAPv2_WORD*)pTBox[idx16 + 13][state[13] >> 4][state[13] & 0xf]; - itmdt[14] = (SWAPv2_WORD*)pTBox[idx16 + 14][state[14] >> 4][state[14] & 0xf]; - itmdt[15] = (SWAPv2_WORD*)pTBox[idx16 + 15][state[15] >> 4][state[15] & 0xf]; -#endif - idx++; - - -#ifdef _USE_ITERATION - -#else - state[ pPBox[idx][0][0] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][0][1] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][0][2] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][0][3] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][1][0] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][1][1] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][1][2] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][1][3] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][2][0] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][2][1] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][2][2] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][2][3] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - state[ pPBox[idx][3][0] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][0] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][0] ]; - state[ pPBox[idx][3][1] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][1] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][1] ]; - state[ pPBox[idx][3][2] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][2] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][2] ]; - state[ pPBox[idx][3][3] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] & 0xf) % 4 ]][3] ] - ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] & 0xf) % 4 ]][3] ]; - - idx_wps[ 0] = state[ 0]; - idx_wps[ 1] = state[ 1]; - idx_wps[ 2] = state[ 2]; - idx_wps[ 3] = state[ 3]; - idx_wps[ 4] = state[ 4]; - idx_wps[ 5] = state[ 5]; - idx_wps[ 6] = state[ 6]; - idx_wps[ 7] = state[ 7]; - idx_wps[ 8] = state[ 8]; - idx_wps[ 9] = state[ 9]; - idx_wps[10] = state[10]; - idx_wps[11] = state[11]; - idx_wps[12] = state[12]; - idx_wps[13] = state[13]; - idx_wps[14] = state[14]; - idx_wps[15] = state[15]; - -#endif - } while(idx < (Nr - 1)); - - idx16 = (idx << 4); - - - //5. Process final round -#ifdef _USE_ITERATION - -#else - - //make output - out[pPBox[Nr][0][0] & 0x0f] = pTBox[ idx16 + 0 ][ state[ 0] >> 4 ][ state[ 0] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 0] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][1] & 0x0f] = pTBox[ idx16 + 1 ][ state[ 1] >> 4 ][ state[ 1] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 1] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][2] & 0x0f] = pTBox[ idx16 + 2 ][ state[ 2] >> 4 ][ state[ 2] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 2] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][3] & 0x0f] = pTBox[ idx16 + 3 ][ state[ 3] >> 4 ][ state[ 3] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 3] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][4] & 0x0f] = pTBox[ idx16 + 4 ][ state[ 4] >> 4 ][ state[ 4] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 4] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][5] & 0x0f] = pTBox[ idx16 + 5 ][ state[ 5] >> 4 ][ state[ 5] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 5] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][6] & 0x0f] = pTBox[ idx16 + 6 ][ state[ 6] >> 4 ][ state[ 6] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 6] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][0][7] & 0x0f] = pTBox[ idx16 + 7 ][ state[ 7] >> 4 ][ state[ 7] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 7] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][0] & 0x0f] = pTBox[ idx16 + 8 ][ state[ 8] >> 4 ][ state[ 8] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 8] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][1] & 0x0f] = pTBox[ idx16 + 9 ][ state[ 9] >> 4 ][ state[ 9] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 9] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][2] & 0x0f] = pTBox[ idx16 + 10 ][ state[10] >> 4 ][ state[10] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[10] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][3] & 0x0f] = pTBox[ idx16 + 11 ][ state[11] >> 4 ][ state[11] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[11] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][4] & 0x0f] = pTBox[ idx16 + 12 ][ state[12] >> 4 ][ state[12] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[12] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][5] & 0x0f] = pTBox[ idx16 + 13 ][ state[13] >> 4 ][ state[13] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[13] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][6] & 0x0f] = pTBox[ idx16 + 14 ][ state[14] >> 4 ][ state[14] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[14] & 0x0f) % 4]][0] ]; - out[pPBox[Nr][1][7] & 0x0f] = pTBox[ idx16 + 15 ][ state[15] >> 4 ][ state[15] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[15] & 0x0f) % 4]][0] ]; - -#endif - - return; -} - -/** - * @fn SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev) - * @brief processing encryption or decryption according to the table - * - * @param [in] Table look-up table for SWAPv2 - * @param [in] TableLen byte-length of look-up table - * @param [in] in input bytes(16-byte length) - * @param [out] out output bytes(16-byte length) - * @param [in] OptimizLev Performance Optimization Level [0~2] - * @return SWAPv2_RETURN_VAL - */ -SPC_INTERNAL SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out) -{ - unsigned int Nr; - unsigned int TBoxSize; - unsigned int PBoxSize; - unsigned int WPBoxSize; - - SWAPv2_TBOX *pTBox = NULL; - SWAPv2_PBOX *pPBox = NULL; - SWAPv2_WORD_PBOX* pWPBox = NULL; - SWAPv2_BIT_PBOX* pBPBox = NULL; - - unsigned char isLittleEndian; - - { - //get little endian flag - unsigned int EndianTestVector = 1; - isLittleEndian = *(unsigned char*)(&EndianTestVector); - } - - //1. Parameter checking - if ((Table == NULL) || (in == NULL) || (out == NULL)) - { - return SWAPv2_RETURN_INVALID_PARAMETER; //invalid parameter - } - - //2. Get Nr(Number of Rounds) - switch(TableLen) - { - case (SWAPv2_T_TABLE_ROUND_SIZE * SWAPv2_128_ROUNDS) + (SWAPv2_P_TABLE_ROUND_SIZE * (SWAPv2_128_ROUNDS + 1)) + (SWAPv2_WP_TABLE_ROUND_SIZE * SWAPv2_128_ROUNDS) + (SWAPv2_BP_TABLE_ROUND_SIZE * SWAPv2_128_ROUNDS): - //AES128 - Nr = SWAPv2_128_ROUNDS; - break; - case (SWAPv2_T_TABLE_ROUND_SIZE * SWAPv2_192_ROUNDS) + (SWAPv2_P_TABLE_ROUND_SIZE * (SWAPv2_192_ROUNDS + 1)) + (SWAPv2_WP_TABLE_ROUND_SIZE * SWAPv2_192_ROUNDS) + (SWAPv2_BP_TABLE_ROUND_SIZE * SWAPv2_192_ROUNDS): - //AES192 - Nr = SWAPv2_192_ROUNDS; - break; - case (SWAPv2_T_TABLE_ROUND_SIZE * SWAPv2_256_ROUNDS) + (SWAPv2_P_TABLE_ROUND_SIZE * (SWAPv2_256_ROUNDS + 1)) + (SWAPv2_WP_TABLE_ROUND_SIZE * SWAPv2_256_ROUNDS) + (SWAPv2_BP_TABLE_ROUND_SIZE * SWAPv2_256_ROUNDS): - //AES256 - Nr = SWAPv2_256_ROUNDS; - break; - default : - return SWAPv2_RETURN_INVALID_TBLSIZE; //invalid parameter - } - - //Get pointer of P-Box - pTBox = (SWAPv2_TBOX*)Table; - TBoxSize = SWAPv2_T_TABLE_ROUND_SIZE * Nr; - - pPBox = (SWAPv2_PBOX*)((unsigned char*)pTBox + TBoxSize); - PBoxSize = SWAPv2_P_TABLE_ROUND_SIZE * (Nr + 1); - WPBoxSize = SWAPv2_WP_TABLE_ROUND_SIZE * (Nr); - - - pWPBox = (SWAPv2_WORD_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize); - pBPBox = (SWAPv2_BIT_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize + WPBoxSize); - - SWAPv2_ProcNormal(pTBox, pPBox, pWPBox, pBPBox, Nr, in, out, isLittleEndian); - - return SWAPv2_RETURN_SUCCESS; -} - -////////////////////////// End of File ////////////////////////// diff --git a/SPC/Src/WhiteBox/SWAPv2_TblGen.c b/SPC/Src/WhiteBox/SWAPv2_TblGen.c deleted file mode 100755 index 9fa26fb..0000000 --- a/SPC/Src/WhiteBox/SWAPv2_TblGen.c +++ /dev/null @@ -1,1457 +0,0 @@ -/** - * @file SWAPv2_TblGen.c - * @brief white box AES table generation module for SSA(Samsung Security Architecture) - * @author Samsung WhiteBox AES Version 2 (SWAPv1 based) - * - Chul Lee(chuls.lee@samsung.com) - * - Dept : Software R&D Center / Cloud Computing Lab. - * - * Samsung WhiteBox AES Version 1 - * - Jisoon Park(js00n.park@samsung.com) - * - Dept: DMC R&D Center/Convergence Software Lab. - * - * - * @see SWAPv2 - * @date 2012-10-05 - * @version 2.0 - * @par Copyright: - * Copyright 2012 by Samsung Electronics, Inc., - * This software is the confiedential and properietary information - * of Samsung Elctronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the term of the lice agreement - * you entered into with Samsung. - * @par Warning: - * This code sould not be exported out of Samsung Electronics. - * This code cannot be inserted in any customer device. - * The logic of whitebox table generation is confidential. - */ - -//////////////////////////////////////////////////////////////////////////// -// including header files -//////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include "SWAPv2_defines.h" -#include "SWAPv2_TblGen.h" - -//////////////////////////////////////////////////////////////////////////// -// static type definitions -//////////////////////////////////////////////////////////////////////////// -/*! Table generation types */ -typedef enum _SWAPv2_TABLE_TYPE -{ - SWAPv2_TABLE_TYPE_ENCRYPTION = 0, /*!< Table for encryption */ - SWAPv2_TABLE_TYPE_DECRYPTION = 1 /*!< Table for decryption */ -} SWAPv2_TABLE_TYPE; - -//////////////////////////////////////////////////////////////////////////// -// static global variables -//////////////////////////////////////////////////////////////////////////// -/** - * @var static const SWAPv2_SBOX s_box - * @brief S-box value defined int FIPS-197 - */ -SWAPv2_SBOX s_box = -{ - {0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76}, - {0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0}, - {0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15}, - {0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75}, - {0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84}, - {0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf}, - {0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8}, - {0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2}, - {0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73}, - {0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb}, - {0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79}, - {0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08}, - {0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a}, - {0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e}, - {0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf}, - {0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16} -}; - -/** - * @var static const SWAPv2_SBOX inv_s_box - * @brief inverse of S-box defined int FIPS-197 - */ -SWAPv2_SBOX inv_s_box = -{ - {0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb}, - {0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb}, - {0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e}, - {0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25}, - {0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92}, - {0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84}, - {0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06}, - {0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b}, - {0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73}, - {0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e}, - {0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b}, - {0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4}, - {0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f}, - {0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef}, - {0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61}, - {0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d} -}; - -SWAPv2_SBOX* pSBox; -SWAPv2_SBOX* pInvSBox; - -/** - * @var static const unsigned char sr_matrix[16] - * @brief look-up matrix for ShiftRows - */ -static const unsigned char sr_matrix[16] = - {0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3}; - -/** - * @var static const unsigned char inv_sr_matrix[16] - * @brief look-up matrix for InvShiftRows, inverse of sr_matrix - */ -static const unsigned char inv_sr_matrix[16] = - {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11}; - - - -//////////////////////////////////////////////////////////////////////////// -// function implementations -//////////////////////////////////////////////////////////////////////////// -/** - * @fn static unsigned char XTIMEs(unsigned char x, unsigned char b) - * @brief calc byte to byte multiplication defined in FIPS-197 - * - * @param [in] x polynomial x - * @param [in] b byte - * @return result of multiplication - */ -static unsigned char XTIMEs(unsigned char x, unsigned char b) -{ - int i; - unsigned char mul = 0; - - for (i = 0; i < 8; i++) - { - if (x & 1) - { - //when x is odd - mul ^= b; - } - - //calculate next xtime func - if (b & 0x80) - { - //shift left - b <<= 1; - - //xor 0x1b - b ^= 0x1b; - } - else - { - //shift left - b <<= 1; - } - - //shift right - x >>= 1; - } - - //return result - return mul; -} - -/** - * @fn static void SubWord(SWAPv2_WORD buf) - * @brief SubWord function for Round Key calculation - * - * @param [in,out] buf 4-byte word for SubWord - * @return void - */ -static void SubWord(SWAPv2_WORD buf) -{ - int i; - for (i = 0; i < SWAPv2_WORD_SIZE; i++) - { - //calc SubWord - buf[i] = s_box[buf[i] >> 4][buf[i] & 0x0F]; - } - - return; -} - -/** - * @fn static void RotWord(SWAPv2_WORD buf) - * @brief RotWord function for Round Key calculation - * - * @param [in,out] buf 4-byte word for RotWord - * @return void - */ -static void RotWord(SWAPv2_WORD buf) -{ - unsigned char temp = buf[0]; - - //calc RotWord - buf[0] = buf[1]; - buf[1] = buf[2]; - buf[2] = buf[3]; - buf[3] = temp; - - return; -} - -/** - * @fn static void KeySched(SWAPv2_WORD key[], unsigned int lines, SWAPv2_WORD rk[], unsigned int rounds) - * @brief calculate round keys from given key bytes - * - * @param [in] key user key (cipher key) - * @param [in] lines number of 32-bit words comprising the cipher key - * @param [out] rk round key - * @param [in] rounds number of rounds - * @return void - */ -static void KeySched(SWAPv2_WORD key[], unsigned int lines, SWAPv2_WORD rk[], unsigned int rounds) -{ - unsigned char Rcon = 1; - unsigned char temp[SWAPv2_WORD_SIZE]; - unsigned int i; - unsigned int j; - - for (i = 0; i < lines; i++) - { - //set first 1 set - for (j = 0; j < SWAPv2_WORD_SIZE; j++) - { - rk[i][j] = key[i][j]; - } - } - - for (i = lines; i < (SWAPv2_COLUMNS * (rounds + 1)); i++) - { - for (j = 0; j < SWAPv2_WORD_SIZE; j++) - { - temp[j] = rk[i - 1][j]; - } - - if ((i % lines) == 0) - { - //calc first row of next set - RotWord(temp); - SubWord(temp); - temp[0] ^= Rcon; - - Rcon = XTIMEs(2, Rcon); - } - else if ((lines > 6) && ((i % lines) == 4)) - { - SubWord(temp); - } - - //clac next row - for (j = 0; j < SWAPv2_WORD_SIZE; j++) - { - rk[i][j] = rk[i - lines][j] ^ temp[j]; - } - } - - //clear temporary memory - memset(temp, 0, sizeof(temp)); - - return; -} - -/** - * @fn void BitPermutation(unsigned char* pVal, unsigned char* bTable) - * @brief Calculate permutation bits in byte - * - * @param [out] pVal byte value - * @param [in] bTable bit permutation indx - * @return void - */ -SPC_INTERNAL void BitPermutation(unsigned char* pVal, unsigned char* pTable) -{ - int i = 0; - unsigned char oriVal = NULL; - unsigned char tmp[8]; - - if(pVal == NULL || pTable == NULL) - { - return; - } - - oriVal = *pVal; - - for(i = 0; i < 8; i++) - { - tmp[i] = GETBIT_U8(oriVal, i); - } - - for(i = 0; i < 8; i++) - { - *pVal = SETBIT_U8(*pVal, pTable[i], tmp[i]); - } -} - - -/** - * @fn static void ProcessBitPBox(SWAPv2_BIT_PBOX* bpTable, unsigned int Nr) - * @brief Generate table for bit-permutation & apply bit permutation. - * - * @param [out] bpTable bit-permutation table - * @param [in] Nr number of rounds - * @return void - */ -SPC_INTERNAL void ProcessBitPBox(SWAPv2_TBOX* pTBox, SWAPv2_BIT_PBOX* bpTable, unsigned int Nr) -{ - unsigned char i, j, k, l; - unsigned char idx, row, col; - unsigned int idxtmp; - SWAPv2_TBOX* pCurTBox = NULL; - SWAPv2_TBOX* pNxtTBox = NULL; - SWAPv2_TBOX* pTmpTBox; - - if(pTBox == NULL || bpTable == NULL) - { - return; - } - - //[Nr][8] - //make random bit-permutaion order for each round - for(i = 0; i < (Nr - 1); i++) - { - for(j = 0; j < 8; j++) - { - bpTable[i][j] = rand() % 8; - - for(idxtmp = 0; idxtmp < j; idxtmp++) - { - if(bpTable[i][idxtmp] == bpTable[i][j]) - { - j--; - break; - } - } - } - - pCurTBox = (SWAPv2_TBOX*)((unsigned char*)pTBox + (i * SWAPv2_T_TABLE_ROUND_SIZE)); - - for(idxtmp = 0; idxtmp < SWAPv2_T_TABLE_ROUND_SIZE; idxtmp += SWAPv2_WORD_SIZE) - { - BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp ]), bpTable[0]); - BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 1]), bpTable[0]); - BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 2]), bpTable[0]); - BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 3]), bpTable[0]); - } - } - - pTmpTBox = (SWAPv2_TBOX*)malloc(SWAPv2_T_TABLE_ROUND_SIZE); - - //replace T-Box order for each round - for(i = 0; i < (Nr - 1); i++) - { - pNxtTBox = (SWAPv2_TBOX*)((unsigned char*)pTBox + ((i + 1) * SWAPv2_T_TABLE_ROUND_SIZE)); - - for(j = 0; j < 16; j++) - { - for(k = 0; k < 16; k++) - { - for(l = 0; l < 16; l++) - { - idx = (k * 16) + l; - BitPermutation(&idx, bpTable[0]); - - row = idx >> 4; - col = idx & 0x0f; - - memcpy(pTmpTBox[j][row][col], pNxtTBox[j][k][l], SWAPv2_WORD_SIZE); - } - } - } - - memcpy(pNxtTBox, pTmpTBox, SWAPv2_T_TABLE_ROUND_SIZE); - } - - free(pTmpTBox); -} - - -/** - * @fn static void BytePermutation(SWAPv2_TBOX* tbox, SWAPv2_WORD* pwbox) - * @brief Calculate permutation word - * - * @param [out] tbox - * @param [in] pwbox order of permutation - * @return void - */ -static void BytePermutation(SWAPv2_TBOX* tbox, SWAPv2_WORD* pwbox) -{ - unsigned int i; - SWAPv2_WORD tmp; - - for(i = 0; i < SWAPv2_T_TABLE_ROUND_SIZE; i += (SWAPv2_WORD_SIZE * 4)) //word * 4 - { - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][0] ] = ((unsigned char*)tbox)[i + 0]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][1] ] = ((unsigned char*)tbox)[i + 1]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][2] ] = ((unsigned char*)tbox)[i + 2]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][3] ] = ((unsigned char*)tbox)[i + 3]; - memcpy(((unsigned char*)tbox) + i, tmp, SWAPv2_WORD_SIZE); - - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][0] ] = ((unsigned char*)tbox)[i + 4]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][1] ] = ((unsigned char*)tbox)[i + 5]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][2] ] = ((unsigned char*)tbox)[i + 6]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][3] ] = ((unsigned char*)tbox)[i + 7]; - memcpy(((unsigned char*)tbox) + (i + 4), tmp, SWAPv2_WORD_SIZE); - - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][0] ] = ((unsigned char*)tbox)[i + 8]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][1] ] = ((unsigned char*)tbox)[i + 9]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][2] ] = ((unsigned char*)tbox)[i + 10]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][3] ] = ((unsigned char*)tbox)[i + 11]; - memcpy(((unsigned char*)tbox) + (i + 8), tmp, SWAPv2_WORD_SIZE); - - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][0] ] = ((unsigned char*)tbox)[i + 12]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][1] ] = ((unsigned char*)tbox)[i + 13]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][2] ] = ((unsigned char*)tbox)[i + 14]; - tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][3] ] = ((unsigned char*)tbox)[i + 15]; - memcpy(((unsigned char*)tbox) + (i + 12), tmp, SWAPv2_WORD_SIZE); - } -} - -/** - * @fn static void ProcessBytePBox(SWAPv2_WORD_PBOX *pwTable, SWAPv2_TBOX *pTBox, unsigned int Nr) - * @brief Generate table for 4-byte permutation & apply byte permutation. - * - * @param [out] pwTable Table for permutation word of T-box table - * @param [in] pTBox transform table for each round - * @param [in] Nr number of rounds - * @return void - */ -static void ProcessBytePBox(SWAPv2_TBOX *pTBox, SWAPv2_WORD_PBOX *pwTable, unsigned int Nr) -{ - int i, j, k; - - //make random permutaion order for each round - for(i = 0; i < Nr; i++) - { - for(j = 0; j < 4; j++) - { - (*pwTable)[i][j] = (rand() & 0x0f) % 24; - - for(k = 0; k < j; k++) - { - if((*pwTable)[i][j] == (*pwTable)[i][k]) - { - j--; - break; - } - } - } - - BytePermutation((SWAPv2_TBOX*)((unsigned char*)pTBox + (i * SWAPv2_T_TABLE_ROUND_SIZE)), &(*pwTable)[i]); - } -} - -/** - * @fn static void InitalizeMicBox(SWAPv2_MIX_COLUMN_BOX MicBox[4], SWAPv2_TABLE_TYPE mode) - * @brief Calculate MixColumns Matrix MC0, MC1, MC2, MC3 - * - * @param [out] MicBox Matrix for MixColumns - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void InitalizeMicBox(SWAPv2_MIX_COLUMN_BOX MicBox[4], SWAPv2_TABLE_TYPE mode) -{ - //MicMatrix - static const unsigned char MicMatrix[4][4] = - { - {0x02, 0x01, 0x01, 0x03}, - {0x03, 0x02, 0x01, 0x01}, - {0x01, 0x03, 0x02, 0x01}, - {0x01, 0x01, 0x03, 0x02} - }; - - //Inverse MicMatrix - static const unsigned char InvMicMatrix[4][4] = - { - {0x0e, 0x09, 0x0d, 0x0b}, - {0x0b, 0x0e, 0x09, 0x0d}, - {0x0d, 0x0b, 0x0e, 0x09}, - {0x09, 0x0d, 0x0b, 0x0e} - }; - - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int l; - - //for each bytre of the word - for (i = 0; i < SWAPv2_WORD_SIZE; i++) - { - //sbox row - for (j = 0; j < 16; j++) - { - //sbox col - for (k = 0; k < 16; k++) - { - //xor MicMatrix - for (l = 0; l < 4; l++) - { - if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION) - { - //for encryption - MicBox[i][j][k][l] = XTIMEs((j * 16 + k), MicMatrix[i][l]); - } - else - { - //for decryption - MicBox[i][j][k][l] = XTIMEs((j * 16 + k), InvMicMatrix[i][l]); - } - } - } - } - } - - return; -} - -/** - * @fn static void AddMicBox(unsigned char val, SWAPv2_WORD* word, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode) - * @brief Applying MC box to the each element of T-box - * - * @param [in] val polynomial, each value of S-box - * @param [out] word MixColumn-applied word - * @param [in] idx index - * @param [in] rnd random number for MixColumn randomizing - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void AddMicBox(unsigned char val, SWAPv2_WORD* word, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode) -{ - static SWAPv2_MIX_COLUMN_BOX MicBox[4]; //MicBox - static SWAPv2_MIX_COLUMN_BOX InvMicBox[4]; //Inverse MicBox - static unsigned char MicBoxInitialFlag = 0; //MicBox Initialize flag - - unsigned int i; - - //if flag is not set - if (MicBoxInitialFlag == 0) - { - //calc MicBox - InitalizeMicBox(MicBox, SWAPv2_TABLE_TYPE_ENCRYPTION); - - //calc Inverse MicBox - InitalizeMicBox(InvMicBox, SWAPv2_TABLE_TYPE_DECRYPTION); - - //set flag - MicBoxInitialFlag = 1; - } - - for (i = 0; i < SWAPv2_WORD_SIZE; i++) - { - //add MicBox for encryption - if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION) - { - (*word)[i] = MicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i]; - } - else - { - //add MicBox for decryption - (*word)[i] = InvMicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i]; - } - } - - return; -} - -/** - * @fn static void MakeEachTBox(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode) - * @brief Claculating masked and expanded s-box - * - * @param [in] mul value to be multiplicated - * @param [in] xor value to be added - * @param [out] tbox T-box for each round key byte - * @param [in] idx column index - * @param [in] rnd random number for MixColumn randomizing - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void MakeEachTBox(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - unsigned char mul_row = (mul >> 4); - unsigned char mul_col = (mul & 0x0f); - - //S-Box row - for (i = 0; i < 16; i++) - { - //S-Box col - for (j = 0; j < 16; j++) - { - if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION) - { - //add MicBox for encryption - AddMicBox(s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode); - } - else - { - //add MicBox for decryption - AddMicBox(inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode); - } - } - } - - return; -} - -/** - * @fn static void SBOX_Xor(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, SWAPv2_TABLE_TYPE mode) - * @brief Claculating masked s-box - * - * @param [in] mul value to be multiplicated - * @param [in] xor value to be added - * @param [in] tbox T-box for each round key byte - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void SBOX_Xor(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, SWAPv2_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - unsigned char mul_row = mul >> 4; - unsigned char mul_col = mul & 0x0f; - - //S-Box row - for (i = 0; i < 16; i++) - { - //S-Box col - for (j = 0; j < 16; j++) - { - if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION) - { - //clac T-box for encryption - (*tbox)[i][j][0] = s_box[i ^ mul_row][j ^ mul_col] ^ xor; - } - else - { - //calc T-box for decryption - (*tbox)[i][j][0] = inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor; - } - - //fill empty bytes with random numbers - (*tbox)[i][j][1] = rand() & 0xff; - (*tbox)[i][j][2] = rand() & 0xff; - (*tbox)[i][j][3] = rand() & 0xff; - } - } - - return; -} - -/** - * @fn static void CalcTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr) - * @brief Calculate T-box table for encryption - * - * @param [in] RK round key - * @param [out] pTable T-box, transform table - * @param [in] Nr number of rounds - * @return void - */ -static void CalcTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned char mask[16] = {0}; - - SWAPv2_WORD rnd[16]; - - //1. make T-box for each rounds - for (i = 0; i < (Nr - 1); i++) - { - //make random masking - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - rnd[j][k] = rand() & 0xff; - } - } - - //for each col - for (j = 0; j < SWAPv2_COLUMNS; j++) - { - for (k = 0; k < SWAPv2_WORD_SIZE; k++) - { - //make each TBox - MakeEachTBox(RK[i][j][k] ^ mask[j * 4 + k], 0, &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SWAPv2_TABLE_TYPE_ENCRYPTION); - } - } - - for (j = 0; j < 4; j++) - { - for (k = 0; k < 4; k++) - { - //apply random masking - mask[j * 4 + k] = rnd[inv_sr_matrix[j * 4 ]][k] ^ - rnd[inv_sr_matrix[j * 4 + 1]][k] ^ - rnd[inv_sr_matrix[j * 4 + 2]][k] ^ - rnd[inv_sr_matrix[j * 4 + 3]][k]; - - } - } - } - - //2. make T-box for last round - for (j = 0; j < SWAPv2_COLUMNS; j++) - { - for (k = 0; k < SWAPv2_WORD_SIZE; k++) - { - unsigned char temp = sr_matrix[j * SWAPv2_WORD_SIZE + k]; - SBOX_Xor(RK[i][j][k] ^ mask[j * 4 + k], RK[i + 1][temp >> 4][temp & 0x0f], &pTable[i * 16 + j * 4 + k], SWAPv2_TABLE_TYPE_ENCRYPTION); - } - } - - return; -} - -/** - * @fn static void CalcInvTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr) - * @brief Calculate T-box table for decryption - * - * @param [in] RK round key - * @param [in] pTable T-box, transform table - * @param [in] Nr number of rounds - * @return void - */ -static void CalcInvTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned char mask[16] = {0}; - - SWAPv2_WORD rnd[16]; - - //1. make T-box for each rounds - for (i = 0; i < (Nr - 1); i++) - { - //make random masking - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - rnd[j][k] = rand() & 0xff; - } - } - - //for each col - for (j = 0; j < SWAPv2_COLUMNS; j++) - { - for (k = 0; k < SWAPv2_WORD_SIZE; k++) - { - if (i == 0) - { - //make first T-Box - unsigned char temp = inv_sr_matrix[j * SWAPv2_WORD_SIZE + k]; - MakeEachTBox(RK[Nr][j][k], RK[Nr - 1][temp >> 4][temp & 0x0f], &pTable[j * 4 + k], k, rnd[j * 4 + k], SWAPv2_TABLE_TYPE_DECRYPTION); - } - else - { - //make each T-Box - MakeEachTBox(mask[j * 4 + k], RK[Nr - i - 1][j][k], &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SWAPv2_TABLE_TYPE_DECRYPTION); - } - } - } - - for (j = 0; j < 4; j++) - { - for (k = 0; k < 4; k++) - { - if (i == 0) - { - //apply random mask for 1st T-Box - const unsigned char conv_matrix[16] = - {0, 7, 10, 13, 1, 4, 11, 14, 2, 5, 8, 15, 3, 6, 9, 12}; - mask[inv_sr_matrix[j * 4 + k]] = rnd[conv_matrix[j * 4 ]][k] ^ - rnd[conv_matrix[j * 4 + 1]][k] ^ - rnd[conv_matrix[j * 4 + 2]][k] ^ - rnd[conv_matrix[j * 4 + 3]][k]; - } - else - { - //apply random mask - mask[inv_sr_matrix[j * 4 + k]] = rnd[j * 4 ][k] ^ - rnd[j * 4 + 1][k] ^ - rnd[j * 4 + 2][k] ^ - rnd[j * 4 + 3][k]; - } - } - } - } - - //2. make T-box for last round - for (j = 0; j < SWAPv2_COLUMNS; j++) - { - for (k = 0; k < SWAPv2_WORD_SIZE; k++) - { - SBOX_Xor(mask[j * 4 + k], RK[0][j][k], &pTable[i * 16 + j * 4 + k], SWAPv2_TABLE_TYPE_DECRYPTION); - } - } - - return; -} - -/** - * @fn static void ProcessInitalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector) - * @brief process initial permutation - * - * @param [in,out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @return void - */ -static void ProcessInitalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector) -{ - unsigned int j; - unsigned int k; - - for (j = 0; j < 2; j++) - { - for (k = 0; k < 8; k++) - { - //make initial permutation table - Table[0][j][k] = PVector[0][j * 8 + k]; - } - } - - for (; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - //fill empty bytes with random numbers - Table[0][j][k] = rand() & 0xff; - } - } - - return; -} - -/** - * @fn static void ProcessFinalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr, SWAPv2_TABLE_TYPE mode) - * @brief process final permutation - * - * @param [in,out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @param [in] mode flag which means encryption or decryption - * @return void - */ -static void ProcessFinalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr, SWAPv2_TABLE_TYPE mode) -{ - unsigned int i; - unsigned int j; - unsigned int k; - - for (j = 0; j < 2; j++) - { - for (k = 0; k < 8; k++) - { - if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION) - { - Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = sr_matrix[j * 8 + k]; - } - else - { - Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = j * 8 + k; - } - } - } - - //fill empty bytes with random numbers - for (; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - Table[Nr][j][k] = rand() & 0xff; - } - } - - //add random to permutation table (ex. 0x0d 0x0c ==> 0x4d 0x7c) - for (i = 0; i <= Nr; i++) - { - for (j = 0; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - unsigned char rnd = rand() % 16; - Table[i][j][k] ^= (rnd << 4); - } - } - } - - return; -} - -/** - * @fn static void MakePTable(SWAPv2_PBOX *Table, unsigned int round, unsigned char itmdt[16][4]) - * @brief Calculate P-box for each round - * - * @param [in,out] Table P-box, permutation table - * @param [in] round current round - * @param [in] itmdt intermediate value - * @return void - */ -static void MakePTable(SWAPv2_PBOX *Table, unsigned int round, unsigned char itmdt[16][4]) -{ - unsigned int j; - unsigned int k; - unsigned int idx[4] = {0}; - - //fill P-Table with 0xff - memset(&Table[round], 0xff, sizeof(SWAPv2_PBOX)); - - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - if (Table[round][k][0] == 0xff) - { - //if the key value is not added yet, add key value and 1st index - memcpy(&Table[round][k], &itmdt[j], sizeof(SWAPv2_WORD)); - idx[k] = 0; - Table[round][k][4 + idx[k]] = j; - - break; - } - else if (memcmp(&itmdt[j], &Table[round][k], SWAPv2_WORD_SIZE) == 0) - { - //if the index already exists, just add index - idx[k]++; - Table[round][k][4 + idx[k]] = j; - - break; - } - } - } - - return; -} - -/** - * @fn static void CalcPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr) - * @brief Calculate P-box table for encryption - * - * @param [out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @return void - */ -static void CalcPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int temp; - - unsigned char InvMix[16]; - unsigned char itmdt[16][4]; - - //1. make initial permutation - ProcessInitalPermutation(Table, PVector); - - //2. make permutation table - for (i = 1; i < Nr; i++) - { - //calc Intermideate table - for (j = 0; j < 16; j++) - { - InvMix[PVector[i - 1][j]] = j; - } - - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - temp = (sr_matrix[InvMix[j]] / 4) * 4 + k; - itmdt[j][k] = PVector[i][temp]; - } - } - - MakePTable(Table, i, itmdt); - } - - //3. make final permutation - ProcessFinalPermutation(Table, PVector, Nr, SWAPv2_TABLE_TYPE_ENCRYPTION); - - return; -} - -/** - * @fn static void CalcInvPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr) - * @brief Calculate P-box table for decryption - * - * @param [out] Table P-box, permutation table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @return void - */ -static void CalcInvPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int temp; - - unsigned char InvMix[16]; - unsigned char itmdt[16][4]; - - //1. make initial permutation - ProcessInitalPermutation(Table, PVector); - - //2. make permutation table - for (i = 1; i < Nr; i++) - { - for (j = 0; j < 16; j++) - { - InvMix[PVector[i - 1][j]] = j; - } - - //calc Intermideate table - for (j = 0; j < 16; j++) - { - for (k = 0; k < 4; k++) - { - if (i == 1) - { - temp = inv_sr_matrix[(inv_sr_matrix[InvMix[j]] / 4) * 4 + k]; - itmdt[j][k] = PVector[i][temp]; - } - else - { - temp = inv_sr_matrix[(InvMix[j] / 4) * 4 + k]; - itmdt[j][k] = PVector[i][temp]; - } - } - } - - MakePTable(Table, i, itmdt); - } - - //3. make final permutation - ProcessFinalPermutation(Table, PVector, Nr, SWAPv2_TABLE_TYPE_DECRYPTION); - - return; -} - -/** - * @fn static void GeneratePVector(unsigned int Nr, SWAPv2_PVECTOR* PVector) - * @brief generate permutation vector - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void GeneratePVector(unsigned int Nr, SWAPv2_PVECTOR* PVector) -{ - unsigned int rnd; - unsigned char flag[16]; - unsigned char sequence[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; - unsigned int i; - unsigned int j; - - for (i = 0; i < Nr; i++) - { - //make 16 byte random sequence for each round - memcpy(flag, sequence, sizeof(flag)); - for (j = 0; j < 16; j++) - { - rnd = rand() % (16 - j); - PVector[i][j] = flag[rnd]; - flag[rnd] = flag[16 - j - 1]; - } - } - - return; -} - -/** - * @fn static void ShuffleTBox(SWAPv2_TBOX* pTBox, SWAPv2_PVECTOR* PVector, unsigned int Nr) - * @brief shuffle T-box according to the permutation vector - * - * @param [in,out] pTBox T-box, transform table - * @param [in] PVector permutation vector - * @param [in] Nr number of rounds - * @return void - */ -static void ShuffleTBox(SWAPv2_TBOX* pTBox, SWAPv2_PVECTOR* PVector, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - SWAPv2_TBOX* pCurrentTBox = pTBox; - SWAPv2_TBOX temp[16]; - - for (i = 0; i < Nr; i++) - { - //temp = current TBox - memcpy(&temp, pCurrentTBox, sizeof(SWAPv2_TBOX) * 16); - - for (j = 0; j < 16; j++) - { - //Shuffle each item of T-Box - memcpy(&pCurrentTBox[PVector[i][j]], temp[j], sizeof(SWAPv2_TBOX)); - } - - //current TBox = temp - pCurrentTBox = &pCurrentTBox[16]; - } - - return ; -} - -/** - * @fn static void GeneratePVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector) - * @brief generate permutation vector for fast implementation - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void GeneratePVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector) -{ - unsigned int rnd; - unsigned int sfl; - unsigned char flag[4]; - unsigned char sequence[4] = {0, 1, 2, 3}; - unsigned int i; - unsigned int j; - unsigned int k; - - //shuffle table - unsigned char sflTable[4][4] = - { - {0x00, 0x01, 0x02, 0x03}, - {0x01, 0x02, 0x03, 0x00}, - {0x02, 0x03, 0x00, 0x01}, - {0x03, 0x00, 0x01, 0x02} - }; - - //calculate PVector - for (i = 0; i < Nr; i++) - { - memcpy(flag, sequence, sizeof(flag)); - for (j = 0; j < 4; j++) - { - rnd = rand() % (4 - j); - sfl = rand() % 4; - for (k = 0; k < 4; k++) - { - PVector[i][j * 4 + k] = flag[rnd] * 4 + sflTable[sfl][k]; - } - flag[rnd] = flag[4 - j - 1]; - } - } - - return; -} - -/** - * @fn static void GenerateInvPVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector) - * @brief generate permutation vector for fast decryption - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void GenerateInvPVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector) -{ - unsigned int rnd; - unsigned int sfl; - unsigned char flag[4]; - unsigned char sequence[4] = {0, 1, 2, 3}; - unsigned int i; - unsigned int j; - unsigned int k; - - //shuffle table - unsigned char sflTable[4][4] = - { - {0x00, 0x01, 0x02, 0x03}, - {0x01, 0x02, 0x03, 0x00}, - {0x02, 0x03, 0x00, 0x01}, - {0x03, 0x00, 0x01, 0x02} - }; - - //calculate inverse PVector - for (i = 0; i < Nr; i++) - { - memcpy(flag, sequence, sizeof(flag)); - for (j = 0; j < 4; j++) - { - rnd = rand() % (4 - j); - sfl = rand() % 4; - for (k = 0; k < 4; k++) - { - PVector[i][inv_sr_matrix[j * 4 + k]] = flag[rnd] * 4 + sflTable[sfl][k]; - } - flag[rnd] = flag[4 - j - 1]; - } - } - - return; -} - -/** - * @fn static void GenerateInvPVector_fstest(unsigned int Nr, SWAPv2_PVECTOR* PVector) - * @brief generate permutation vector for fastest decryption - * - * @param [in] Nr number of rounds - * @param [out] PVector permutation vector - * @return void - */ -static void GenerateInvPVector_fstest(unsigned int Nr, SWAPv2_PVECTOR* PVector) -{ - unsigned int i; - unsigned int j; - - //Actually, no permutation is applied - for (i = 0; i < 16; i++) - { - PVector[0][i] = i; - } - - for (i = 1; i < Nr; i++) - { - for (j = 0; j < 16; j++) - { - PVector[i][inv_sr_matrix[j]] = j; - } - } - - return; -} - -/** - * @fn static void ConvertPBox(SWAPv2_PBOX *Table, unsigned int Nr) - * @brief convert PBox for simple permutation - * - * @param [in,out] Table PBox - * @param [out] Nr number of rounds - * @return void - */ -static void ConvertPBox(SWAPv2_PBOX *Table, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned char t; - - for (i = 1; i < Nr; i++) - { - for (j = 0; j < 4; j++) - { - //calculate each table and fill empty bits with random mask - t = Table[i][j][0] & 0x0f; - Table[i][j][0] = (t / 4) + (0x00 & 0xfc); //(t / 4) + (rand() & 0xfc); - Table[i][j][1] = ((t % 4) * 8) + (0x00 & 0xe0); //((t % 4) * 8) + (rand() & 0xe0) - Table[i][j][2] = rand() & 0xff; - Table[i][j][3] = rand() & 0xff; - } - } -} - -/** - * @fn static void RandomizePBox(SWAPv2_PBOX *Table, unsigned int Nr) - * @brief fill the PBox with random numbers - * - * @param [in,out] Table PBox - * @param [out] Nr number of rounds - * @return void - */ -static void RandomizePBox(SWAPv2_PBOX *Table, unsigned int Nr) -{ - unsigned int i; - unsigned int j; - unsigned int k; - - for (i = 0; i <= Nr; i++) - { - for (j = 0; j < 4; j++) - { - for (k = 0; k < 8; k++) - { - //fill the table with random numbers - Table[i][j][k] = rand() & 0xff; - } - } - } -} - -/** - * @fn unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev) - * @brief derivate look-up table from given key - * - * @param [in] Key user key (cipher key) - * @param [in] KeyLen byte-length of cipher key - * @param [in] seed random seed - * @param [out] Table look-up table for SWAPv2 - * @param [out] TableLen byte-length of look-up table - * @param [in] isEncryption flag ordering encryption or decryption - * @return SWAPv2_TBLGEN_RETURN_VAL - */ -SPC_INTERNAL unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption) -{ - SWAPv2_TBLGEN_RETURN_VAL retVal = SWAPv2_TBLGEN_RETURN_SUCCESS; - unsigned int Nr = 0; - unsigned int Nk = 0; - unsigned char *RoundKey = NULL; - unsigned int RoundKeySize = 0; - unsigned int TBoxSize = 0; - unsigned int PBoxSize = 0; - unsigned int WPBoxSize = 0; - unsigned int BPBoxSize = 0; - SWAPv2_TBOX *pTBox = NULL; - SWAPv2_PBOX *pPBox = NULL; - SWAPv2_WORD_PBOX *pBytePBox = NULL; - SWAPv2_BIT_PBOX *pBitPBox = NULL; - SWAPv2_PVECTOR PVector[SWAPv2_256_ROUNDS + 1]; - - //1. Argument Check - if ((Key == NULL) || (Table == NULL)) - { - retVal = SWAPv2_TBLGEN_RETURN_INVALID_PARAMETER; //invalid input - goto ERROR_PROC; - } - - //2. Set Number of rounds - switch(KeyLen) //find Nr - { - case 16: - //AES128 - Nr = 10; - break; - case 24: - //AES192 - Nr = 12; - break; - case 32: - //AES256 - Nr = 14; - break; - default: - retVal = SWAPv2_TBLGEN_RETURN_INVALID_KEYLEN; //invalid key length - goto ERROR_PROC; - } - - //calculate round key size - RoundKeySize = SWAPv2_COLUMNS * SWAPv2_WORD_SIZE * (Nr + 1); //Nb * word size * (number of rounds + 1) - - //allocate memory for round key - RoundKey = (unsigned char*)malloc(RoundKeySize); - if (RoundKey == NULL) - { - retVal = SWAPv2_TBLGEN_RETURN_MEM_ALLOC_FAILED; //memory allocation failed - goto ERROR_PROC; - } - - //calculate TBox and PBox size - TBoxSize = SWAPv2_T_TABLE_ROUND_SIZE * Nr; //each byte of round key has its own s-box table - PBoxSize = SWAPv2_P_TABLE_ROUND_SIZE * (Nr + 1); //Permutation table for each round, and initial permutation - WPBoxSize = SWAPv2_WP_TABLE_ROUND_SIZE * Nr; //Permutation word of transform table for each round - BPBoxSize = SWAPv2_BP_TABLE_ROUND_SIZE * Nr; //Permutation bit of transform table for each round - - //allocate memory for TBox and PBox - pTBox = (SWAPv2_TBOX*)malloc(TBoxSize + PBoxSize + WPBoxSize + BPBoxSize); - - if (pTBox == NULL) - { - retVal = SWAPv2_TBLGEN_RETURN_MEM_ALLOC_FAILED; //memory allocation failed - goto ERROR_PROC; - } - - pPBox = (SWAPv2_PBOX*)((unsigned char*)pTBox + TBoxSize); - pBytePBox = (SWAPv2_WORD_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize); - pBitPBox = (SWAPv2_BIT_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize); - - //calculate Nk - Nk = KeyLen / SWAPv2_WORD_SIZE; //Nk is the word size of given key - - //seed random seed - srand(seed); - - //3. Calc Round Key - KeySched((SWAPv2_WORD*)Key, Nk, (SWAPv2_WORD*)RoundKey, Nr); - - if (isEncryption) - { - //4. Generate permutation vector and PBox - GeneratePVector(Nr, PVector); - CalcPBox(pPBox, PVector, Nr); - - //5. Generate table for calc AddRoundKey, SubBytes and MixColumn - CalcTBox((SWAPv2_RK_BOX*)RoundKey, pTBox, Nr); - } - else - { - //4. Generate permutation vector and PBox - - GeneratePVector(Nr, PVector); - CalcInvPBox(pPBox, PVector, Nr); - - //5. Generate table for calc AddRoundKey, SubBytes and MixColumn - CalcInvTBox((SWAPv2_RK_BOX*)RoundKey, pTBox, Nr); - } - - //6. Create bit-permutation table & apply bit-permutation - ProcessBitPBox(pTBox, pBitPBox, Nr); - - //7. Generate byte-permutation table & apply byte-permutation - ProcessBytePBox(pTBox, pBytePBox, Nr); - - //8. Shuffle TBox according to the permutation vector - ShuffleTBox(pTBox, PVector, Nr); - - //9. Set output - *Table = (unsigned char*)pTBox; - //set pTbox to preventing free - pTBox = NULL; - - //set table length - if (TableLen != NULL) - { - *TableLen = TBoxSize + PBoxSize + WPBoxSize + BPBoxSize; - } - -ERROR_PROC: - //clear memory - memset(PVector, 0x00, sizeof(PVector)); - - //free roundkey - if (RoundKey != NULL) - { - //clear before free - memset(RoundKey, 0x00, RoundKeySize); - free(RoundKey); - } - - //free TBox if not null - if (pTBox != NULL) - { - //clear before free - memset(pTBox, 0x00, TBoxSize + PBoxSize + WPBoxSize + BPBoxSize); - free(pTBox); - } - - if(pSBox != NULL) - { - memset(pSBox, 0x00, sizeof(SWAPv2_SBOX) * Nr); - free(pSBox); - } - - if(pInvSBox != NULL) - { - memset(pInvSBox, 0x00, sizeof(SWAPv2_SBOX) * Nr); - free(pInvSBox); - } - - return retVal; -} -////////////////////////// End of File ////////////////////////// diff --git a/SPC/Src/base/ANSI_x931.c b/SPC/Src/base/ANSI_x931.c deleted file mode 100755 index 21564f1..0000000 --- a/SPC/Src/base/ANSI_x931.c +++ /dev/null @@ -1,110 +0,0 @@ -/** - * \file ANSI_x931.c - * @brief Pseudorandom number generator based on a design described in ANSI X9.31 - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Junbum Shin - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/23 - * Edited : Use date data, and update seed, by Jisoon Park, 06/11/08 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include -#include "aes.h" -#include "ANSI_x931.h" - -//////////////////////////////////////////////////////////////////////////// -// Constants -//////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_RNG_X931 - * @brief generate random number with seed - * - * @param Seed [in]seed for RNG System - * @param bitLength [in]bit length of data to generate - * @param data [out]generated data - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_RNG_X931(cc_u8 *Si_ANSI_X9_31, cc_u32 bitLength, cc_u8 *data) -{ - static cc_u8 K_ANSI_X9_31[SDRM_X931_SEED_SIZ] = {0xfd, 0x74, 0x3d, 0xe1, 0xdc, 0x08, 0xdc, 0x3d, 0x0f, 0xea, 0xf5, 0xa3, 0x6e, 0xb1, 0xc0, 0x7f}; - int res = CRYPTO_SUCCESS; - int i, offset; - int byteLength, residue; - int numBlock, residueBlock; - cc_u8 *DT; - cc_u8 I[SDRM_X931_SEED_SIZ] = {0}; - cc_u8 Ri_ANSI_X9_31[SDRM_X931_SEED_SIZ]; - cc_u32 Date[SDRM_X931_SEED_SIZ / 4]; - cc_u32 RoundKey[4*(10 + 1)]; //AES Round Key - - time_t nowTime; - - time(&nowTime); - Date[0] = (cc_u32)nowTime; - Date[1] = clock(); - Date[2] = rand(); - Date[3] = rand(); - - DT = (cc_u8*)Date; //DT : Time | Clock | RND | RND - - SDRM_rijndaelKeySetupDec(RoundKey, K_ANSI_X9_31, 128); - - byteLength = bitLength / 8 ; - residue = bitLength - byteLength * 8; - - if (residue == 0) - { - memset(data, 0x0, byteLength); - } - else - { - byteLength += 1; - memset(data, 0x0, byteLength); - } - - numBlock = byteLength / SDRM_X931_SEED_SIZ; - residueBlock = byteLength - numBlock * SDRM_X931_SEED_SIZ; - offset = 0; - - for(i = 0; i < numBlock; i++) - { - SDRM_rijndaelDecrypt(RoundKey, 10, DT, I); - BlockXor(I, I, Si_ANSI_X9_31); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri_ANSI_X9_31); - BlockXor(I, I, Ri_ANSI_X9_31); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Si_ANSI_X9_31); - memcpy(data + offset, Ri_ANSI_X9_31, SDRM_X931_SEED_SIZ); - offset += SDRM_X931_SEED_SIZ; - } - - if (residueBlock != 0) - { - SDRM_rijndaelDecrypt(RoundKey, 10, DT, I); - BlockXor(I, I, Si_ANSI_X9_31); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri_ANSI_X9_31); - BlockXor(I, I, Ri_ANSI_X9_31); - - SDRM_rijndaelDecrypt(RoundKey, 10, I, Si_ANSI_X9_31); - memcpy(data + offset, Ri_ANSI_X9_31, residueBlock); - } - - BlockXor(Si_ANSI_X9_31, I, Si_ANSI_X9_31); - - return res; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/aes.c b/SPC/Src/base/aes.c deleted file mode 100755 index 22101ad..0000000 --- a/SPC/Src/base/aes.c +++ /dev/null @@ -1,1389 +0,0 @@ -/** - * rijndael-alg-fst.c - * - * @version 3.0 (December 2000) - * - * Optimised ANSI C code for the Rijndael cipher (now AES) - * - * @author Vincent Rijmen - * @author Antoon Bosselaers - * @author Paulo Barreto - * - * This code is hereby placed in the public domain. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''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 AUTHORS 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 Header Files -//////////////////////////////////////////////////////////////////////////// -#include "aes.h" - -#define FULL_UNROLL - -//////////////////////////////////////////////////////////////////////////// -// AES conversion matrix -//////////////////////////////////////////////////////////////////////////// -static const cc_u32 SDRM_Te0[256] = { - 0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU, - 0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U, - 0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU, - 0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU, - 0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U, - 0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU, - 0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU, - 0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU, - 0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU, - 0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU, - 0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U, - 0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU, - 0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU, - 0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U, - 0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU, - 0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU, - 0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU, - 0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU, - 0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU, - 0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U, - 0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU, - 0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU, - 0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU, - 0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU, - 0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U, - 0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U, - 0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U, - 0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U, - 0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU, - 0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U, - 0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U, - 0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU, - 0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU, - 0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U, - 0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U, - 0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U, - 0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU, - 0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U, - 0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU, - 0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U, - 0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU, - 0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U, - 0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U, - 0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU, - 0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U, - 0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U, - 0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U, - 0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U, - 0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U, - 0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U, - 0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U, - 0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U, - 0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU, - 0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U, - 0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U, - 0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U, - 0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U, - 0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U, - 0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U, - 0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU, - 0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U, - 0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U, - 0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U, - 0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU, -}; -static const cc_u32 SDRM_Te1[256] = { - 0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU, - 0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U, - 0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU, - 0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U, - 0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU, - 0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U, - 0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU, - 0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U, - 0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U, - 0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU, - 0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U, - 0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U, - 0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U, - 0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU, - 0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U, - 0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U, - 0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU, - 0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U, - 0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U, - 0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U, - 0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU, - 0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU, - 0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U, - 0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU, - 0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU, - 0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U, - 0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU, - 0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U, - 0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU, - 0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U, - 0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U, - 0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U, - 0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU, - 0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U, - 0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU, - 0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U, - 0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU, - 0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U, - 0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U, - 0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU, - 0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU, - 0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU, - 0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U, - 0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U, - 0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU, - 0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U, - 0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU, - 0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U, - 0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU, - 0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U, - 0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU, - 0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU, - 0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U, - 0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU, - 0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U, - 0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU, - 0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U, - 0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U, - 0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U, - 0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU, - 0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU, - 0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U, - 0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU, - 0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U, -}; -static const cc_u32 SDRM_Te2[256] = { - 0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU, - 0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U, - 0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU, - 0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U, - 0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU, - 0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U, - 0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU, - 0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U, - 0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U, - 0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU, - 0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U, - 0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U, - 0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U, - 0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU, - 0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U, - 0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U, - 0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU, - 0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U, - 0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U, - 0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U, - 0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU, - 0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU, - 0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U, - 0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU, - 0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU, - 0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U, - 0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU, - 0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U, - 0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU, - 0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U, - 0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U, - 0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U, - 0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU, - 0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U, - 0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU, - 0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U, - 0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU, - 0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U, - 0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U, - 0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU, - 0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU, - 0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU, - 0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U, - 0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U, - 0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU, - 0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U, - 0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU, - 0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U, - 0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU, - 0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U, - 0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU, - 0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU, - 0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U, - 0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU, - 0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U, - 0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU, - 0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U, - 0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U, - 0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U, - 0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU, - 0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU, - 0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U, - 0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU, - 0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U, -}; -static const cc_u32 SDRM_Te3[256] = { - 0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U, - 0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U, - 0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U, - 0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU, - 0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU, - 0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU, - 0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U, - 0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU, - 0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU, - 0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U, - 0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U, - 0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU, - 0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU, - 0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU, - 0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU, - 0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU, - 0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U, - 0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU, - 0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU, - 0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U, - 0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U, - 0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U, - 0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U, - 0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U, - 0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU, - 0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U, - 0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU, - 0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU, - 0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U, - 0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U, - 0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U, - 0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU, - 0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U, - 0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU, - 0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU, - 0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U, - 0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U, - 0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU, - 0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U, - 0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU, - 0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U, - 0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U, - 0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U, - 0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U, - 0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU, - 0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U, - 0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU, - 0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U, - 0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU, - 0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U, - 0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU, - 0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU, - 0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU, - 0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU, - 0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U, - 0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U, - 0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U, - 0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U, - 0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U, - 0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U, - 0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU, - 0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U, - 0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU, - 0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU, -}; -static const cc_u32 SDRM_Te4[256] = { - 0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU, - 0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U, - 0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU, - 0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U, - 0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU, - 0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U, - 0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU, - 0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U, - 0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U, - 0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU, - 0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U, - 0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U, - 0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U, - 0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU, - 0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U, - 0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U, - 0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU, - 0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U, - 0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U, - 0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U, - 0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU, - 0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU, - 0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U, - 0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU, - 0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU, - 0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U, - 0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU, - 0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U, - 0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU, - 0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U, - 0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U, - 0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U, - 0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU, - 0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U, - 0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU, - 0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U, - 0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU, - 0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U, - 0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U, - 0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU, - 0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU, - 0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU, - 0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U, - 0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U, - 0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU, - 0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U, - 0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU, - 0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U, - 0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU, - 0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U, - 0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU, - 0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU, - 0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U, - 0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU, - 0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U, - 0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU, - 0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U, - 0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U, - 0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U, - 0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU, - 0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU, - 0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U, - 0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU, - 0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U, -}; -static const cc_u32 SDRM_Td0[256] = { - 0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U, - 0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U, - 0x2030fa55U, 0xad766df6U, 0x88cc7691U, 0xf5024c25U, - 0x4fe5d7fcU, 0xc52acbd7U, 0x26354480U, 0xb562a38fU, - 0xdeb15a49U, 0x25ba1b67U, 0x45ea0e98U, 0x5dfec0e1U, - 0xc32f7502U, 0x814cf012U, 0x8d4697a3U, 0x6bd3f9c6U, - 0x038f5fe7U, 0x15929c95U, 0xbf6d7aebU, 0x955259daU, - 0xd4be832dU, 0x587421d3U, 0x49e06929U, 0x8ec9c844U, - 0x75c2896aU, 0xf48e7978U, 0x99583e6bU, 0x27b971ddU, - 0xbee14fb6U, 0xf088ad17U, 0xc920ac66U, 0x7dce3ab4U, - 0x63df4a18U, 0xe51a3182U, 0x97513360U, 0x62537f45U, - 0xb16477e0U, 0xbb6bae84U, 0xfe81a01cU, 0xf9082b94U, - 0x70486858U, 0x8f45fd19U, 0x94de6c87U, 0x527bf8b7U, - 0xab73d323U, 0x724b02e2U, 0xe31f8f57U, 0x6655ab2aU, - 0xb2eb2807U, 0x2fb5c203U, 0x86c57b9aU, 0xd33708a5U, - 0x302887f2U, 0x23bfa5b2U, 0x02036abaU, 0xed16825cU, - 0x8acf1c2bU, 0xa779b492U, 0xf307f2f0U, 0x4e69e2a1U, - 0x65daf4cdU, 0x0605bed5U, 0xd134621fU, 0xc4a6fe8aU, - 0x342e539dU, 0xa2f355a0U, 0x058ae132U, 0xa4f6eb75U, - 0x0b83ec39U, 0x4060efaaU, 0x5e719f06U, 0xbd6e1051U, - 0x3e218af9U, 0x96dd063dU, 0xdd3e05aeU, 0x4de6bd46U, - 0x91548db5U, 0x71c45d05U, 0x0406d46fU, 0x605015ffU, - 0x1998fb24U, 0xd6bde997U, 0x894043ccU, 0x67d99e77U, - 0xb0e842bdU, 0x07898b88U, 0xe7195b38U, 0x79c8eedbU, - 0xa17c0a47U, 0x7c420fe9U, 0xf8841ec9U, 0x00000000U, - 0x09808683U, 0x322bed48U, 0x1e1170acU, 0x6c5a724eU, - 0xfd0efffbU, 0x0f853856U, 0x3daed51eU, 0x362d3927U, - 0x0a0fd964U, 0x685ca621U, 0x9b5b54d1U, 0x24362e3aU, - 0x0c0a67b1U, 0x9357e70fU, 0xb4ee96d2U, 0x1b9b919eU, - 0x80c0c54fU, 0x61dc20a2U, 0x5a774b69U, 0x1c121a16U, - 0xe293ba0aU, 0xc0a02ae5U, 0x3c22e043U, 0x121b171dU, - 0x0e090d0bU, 0xf28bc7adU, 0x2db6a8b9U, 0x141ea9c8U, - 0x57f11985U, 0xaf75074cU, 0xee99ddbbU, 0xa37f60fdU, - 0xf701269fU, 0x5c72f5bcU, 0x44663bc5U, 0x5bfb7e34U, - 0x8b432976U, 0xcb23c6dcU, 0xb6edfc68U, 0xb8e4f163U, - 0xd731dccaU, 0x42638510U, 0x13972240U, 0x84c61120U, - 0x854a247dU, 0xd2bb3df8U, 0xaef93211U, 0xc729a16dU, - 0x1d9e2f4bU, 0xdcb230f3U, 0x0d8652ecU, 0x77c1e3d0U, - 0x2bb3166cU, 0xa970b999U, 0x119448faU, 0x47e96422U, - 0xa8fc8cc4U, 0xa0f03f1aU, 0x567d2cd8U, 0x223390efU, - 0x87494ec7U, 0xd938d1c1U, 0x8ccaa2feU, 0x98d40b36U, - 0xa6f581cfU, 0xa57ade28U, 0xdab78e26U, 0x3fadbfa4U, - 0x2c3a9de4U, 0x5078920dU, 0x6a5fcc9bU, 0x547e4662U, - 0xf68d13c2U, 0x90d8b8e8U, 0x2e39f75eU, 0x82c3aff5U, - 0x9f5d80beU, 0x69d0937cU, 0x6fd52da9U, 0xcf2512b3U, - 0xc8ac993bU, 0x10187da7U, 0xe89c636eU, 0xdb3bbb7bU, - 0xcd267809U, 0x6e5918f4U, 0xec9ab701U, 0x834f9aa8U, - 0xe6956e65U, 0xaaffe67eU, 0x21bccf08U, 0xef15e8e6U, - 0xbae79bd9U, 0x4a6f36ceU, 0xea9f09d4U, 0x29b07cd6U, - 0x31a4b2afU, 0x2a3f2331U, 0xc6a59430U, 0x35a266c0U, - 0x744ebc37U, 0xfc82caa6U, 0xe090d0b0U, 0x33a7d815U, - 0xf104984aU, 0x41ecdaf7U, 0x7fcd500eU, 0x1791f62fU, - 0x764dd68dU, 0x43efb04dU, 0xccaa4d54U, 0xe49604dfU, - 0x9ed1b5e3U, 0x4c6a881bU, 0xc12c1fb8U, 0x4665517fU, - 0x9d5eea04U, 0x018c355dU, 0xfa877473U, 0xfb0b412eU, - 0xb3671d5aU, 0x92dbd252U, 0xe9105633U, 0x6dd64713U, - 0x9ad7618cU, 0x37a10c7aU, 0x59f8148eU, 0xeb133c89U, - 0xcea927eeU, 0xb761c935U, 0xe11ce5edU, 0x7a47b13cU, - 0x9cd2df59U, 0x55f2733fU, 0x1814ce79U, 0x73c737bfU, - 0x53f7cdeaU, 0x5ffdaa5bU, 0xdf3d6f14U, 0x7844db86U, - 0xcaaff381U, 0xb968c43eU, 0x3824342cU, 0xc2a3405fU, - 0x161dc372U, 0xbce2250cU, 0x283c498bU, 0xff0d9541U, - 0x39a80171U, 0x080cb3deU, 0xd8b4e49cU, 0x6456c190U, - 0x7bcb8461U, 0xd532b670U, 0x486c5c74U, 0xd0b85742U, -}; -static const cc_u32 SDRM_Td1[256] = { - 0x5051f4a7U, 0x537e4165U, 0xc31a17a4U, 0x963a275eU, - 0xcb3bab6bU, 0xf11f9d45U, 0xabacfa58U, 0x934be303U, - 0x552030faU, 0xf6ad766dU, 0x9188cc76U, 0x25f5024cU, - 0xfc4fe5d7U, 0xd7c52acbU, 0x80263544U, 0x8fb562a3U, - 0x49deb15aU, 0x6725ba1bU, 0x9845ea0eU, 0xe15dfec0U, - 0x02c32f75U, 0x12814cf0U, 0xa38d4697U, 0xc66bd3f9U, - 0xe7038f5fU, 0x9515929cU, 0xebbf6d7aU, 0xda955259U, - 0x2dd4be83U, 0xd3587421U, 0x2949e069U, 0x448ec9c8U, - 0x6a75c289U, 0x78f48e79U, 0x6b99583eU, 0xdd27b971U, - 0xb6bee14fU, 0x17f088adU, 0x66c920acU, 0xb47dce3aU, - 0x1863df4aU, 0x82e51a31U, 0x60975133U, 0x4562537fU, - 0xe0b16477U, 0x84bb6baeU, 0x1cfe81a0U, 0x94f9082bU, - 0x58704868U, 0x198f45fdU, 0x8794de6cU, 0xb7527bf8U, - 0x23ab73d3U, 0xe2724b02U, 0x57e31f8fU, 0x2a6655abU, - 0x07b2eb28U, 0x032fb5c2U, 0x9a86c57bU, 0xa5d33708U, - 0xf2302887U, 0xb223bfa5U, 0xba02036aU, 0x5ced1682U, - 0x2b8acf1cU, 0x92a779b4U, 0xf0f307f2U, 0xa14e69e2U, - 0xcd65daf4U, 0xd50605beU, 0x1fd13462U, 0x8ac4a6feU, - 0x9d342e53U, 0xa0a2f355U, 0x32058ae1U, 0x75a4f6ebU, - 0x390b83ecU, 0xaa4060efU, 0x065e719fU, 0x51bd6e10U, - 0xf93e218aU, 0x3d96dd06U, 0xaedd3e05U, 0x464de6bdU, - 0xb591548dU, 0x0571c45dU, 0x6f0406d4U, 0xff605015U, - 0x241998fbU, 0x97d6bde9U, 0xcc894043U, 0x7767d99eU, - 0xbdb0e842U, 0x8807898bU, 0x38e7195bU, 0xdb79c8eeU, - 0x47a17c0aU, 0xe97c420fU, 0xc9f8841eU, 0x00000000U, - 0x83098086U, 0x48322bedU, 0xac1e1170U, 0x4e6c5a72U, - 0xfbfd0effU, 0x560f8538U, 0x1e3daed5U, 0x27362d39U, - 0x640a0fd9U, 0x21685ca6U, 0xd19b5b54U, 0x3a24362eU, - 0xb10c0a67U, 0x0f9357e7U, 0xd2b4ee96U, 0x9e1b9b91U, - 0x4f80c0c5U, 0xa261dc20U, 0x695a774bU, 0x161c121aU, - 0x0ae293baU, 0xe5c0a02aU, 0x433c22e0U, 0x1d121b17U, - 0x0b0e090dU, 0xadf28bc7U, 0xb92db6a8U, 0xc8141ea9U, - 0x8557f119U, 0x4caf7507U, 0xbbee99ddU, 0xfda37f60U, - 0x9ff70126U, 0xbc5c72f5U, 0xc544663bU, 0x345bfb7eU, - 0x768b4329U, 0xdccb23c6U, 0x68b6edfcU, 0x63b8e4f1U, - 0xcad731dcU, 0x10426385U, 0x40139722U, 0x2084c611U, - 0x7d854a24U, 0xf8d2bb3dU, 0x11aef932U, 0x6dc729a1U, - 0x4b1d9e2fU, 0xf3dcb230U, 0xec0d8652U, 0xd077c1e3U, - 0x6c2bb316U, 0x99a970b9U, 0xfa119448U, 0x2247e964U, - 0xc4a8fc8cU, 0x1aa0f03fU, 0xd8567d2cU, 0xef223390U, - 0xc787494eU, 0xc1d938d1U, 0xfe8ccaa2U, 0x3698d40bU, - 0xcfa6f581U, 0x28a57adeU, 0x26dab78eU, 0xa43fadbfU, - 0xe42c3a9dU, 0x0d507892U, 0x9b6a5fccU, 0x62547e46U, - 0xc2f68d13U, 0xe890d8b8U, 0x5e2e39f7U, 0xf582c3afU, - 0xbe9f5d80U, 0x7c69d093U, 0xa96fd52dU, 0xb3cf2512U, - 0x3bc8ac99U, 0xa710187dU, 0x6ee89c63U, 0x7bdb3bbbU, - 0x09cd2678U, 0xf46e5918U, 0x01ec9ab7U, 0xa8834f9aU, - 0x65e6956eU, 0x7eaaffe6U, 0x0821bccfU, 0xe6ef15e8U, - 0xd9bae79bU, 0xce4a6f36U, 0xd4ea9f09U, 0xd629b07cU, - 0xaf31a4b2U, 0x312a3f23U, 0x30c6a594U, 0xc035a266U, - 0x37744ebcU, 0xa6fc82caU, 0xb0e090d0U, 0x1533a7d8U, - 0x4af10498U, 0xf741ecdaU, 0x0e7fcd50U, 0x2f1791f6U, - 0x8d764dd6U, 0x4d43efb0U, 0x54ccaa4dU, 0xdfe49604U, - 0xe39ed1b5U, 0x1b4c6a88U, 0xb8c12c1fU, 0x7f466551U, - 0x049d5eeaU, 0x5d018c35U, 0x73fa8774U, 0x2efb0b41U, - 0x5ab3671dU, 0x5292dbd2U, 0x33e91056U, 0x136dd647U, - 0x8c9ad761U, 0x7a37a10cU, 0x8e59f814U, 0x89eb133cU, - 0xeecea927U, 0x35b761c9U, 0xede11ce5U, 0x3c7a47b1U, - 0x599cd2dfU, 0x3f55f273U, 0x791814ceU, 0xbf73c737U, - 0xea53f7cdU, 0x5b5ffdaaU, 0x14df3d6fU, 0x867844dbU, - 0x81caaff3U, 0x3eb968c4U, 0x2c382434U, 0x5fc2a340U, - 0x72161dc3U, 0x0cbce225U, 0x8b283c49U, 0x41ff0d95U, - 0x7139a801U, 0xde080cb3U, 0x9cd8b4e4U, 0x906456c1U, - 0x617bcb84U, 0x70d532b6U, 0x74486c5cU, 0x42d0b857U, -}; -static const cc_u32 SDRM_Td2[256] = { - 0xa75051f4U, 0x65537e41U, 0xa4c31a17U, 0x5e963a27U, - 0x6bcb3babU, 0x45f11f9dU, 0x58abacfaU, 0x03934be3U, - 0xfa552030U, 0x6df6ad76U, 0x769188ccU, 0x4c25f502U, - 0xd7fc4fe5U, 0xcbd7c52aU, 0x44802635U, 0xa38fb562U, - 0x5a49deb1U, 0x1b6725baU, 0x0e9845eaU, 0xc0e15dfeU, - 0x7502c32fU, 0xf012814cU, 0x97a38d46U, 0xf9c66bd3U, - 0x5fe7038fU, 0x9c951592U, 0x7aebbf6dU, 0x59da9552U, - 0x832dd4beU, 0x21d35874U, 0x692949e0U, 0xc8448ec9U, - 0x896a75c2U, 0x7978f48eU, 0x3e6b9958U, 0x71dd27b9U, - 0x4fb6bee1U, 0xad17f088U, 0xac66c920U, 0x3ab47dceU, - 0x4a1863dfU, 0x3182e51aU, 0x33609751U, 0x7f456253U, - 0x77e0b164U, 0xae84bb6bU, 0xa01cfe81U, 0x2b94f908U, - 0x68587048U, 0xfd198f45U, 0x6c8794deU, 0xf8b7527bU, - 0xd323ab73U, 0x02e2724bU, 0x8f57e31fU, 0xab2a6655U, - 0x2807b2ebU, 0xc2032fb5U, 0x7b9a86c5U, 0x08a5d337U, - 0x87f23028U, 0xa5b223bfU, 0x6aba0203U, 0x825ced16U, - 0x1c2b8acfU, 0xb492a779U, 0xf2f0f307U, 0xe2a14e69U, - 0xf4cd65daU, 0xbed50605U, 0x621fd134U, 0xfe8ac4a6U, - 0x539d342eU, 0x55a0a2f3U, 0xe132058aU, 0xeb75a4f6U, - 0xec390b83U, 0xefaa4060U, 0x9f065e71U, 0x1051bd6eU, - 0x8af93e21U, 0x063d96ddU, 0x05aedd3eU, 0xbd464de6U, - 0x8db59154U, 0x5d0571c4U, 0xd46f0406U, 0x15ff6050U, - 0xfb241998U, 0xe997d6bdU, 0x43cc8940U, 0x9e7767d9U, - 0x42bdb0e8U, 0x8b880789U, 0x5b38e719U, 0xeedb79c8U, - 0x0a47a17cU, 0x0fe97c42U, 0x1ec9f884U, 0x00000000U, - 0x86830980U, 0xed48322bU, 0x70ac1e11U, 0x724e6c5aU, - 0xfffbfd0eU, 0x38560f85U, 0xd51e3daeU, 0x3927362dU, - 0xd9640a0fU, 0xa621685cU, 0x54d19b5bU, 0x2e3a2436U, - 0x67b10c0aU, 0xe70f9357U, 0x96d2b4eeU, 0x919e1b9bU, - 0xc54f80c0U, 0x20a261dcU, 0x4b695a77U, 0x1a161c12U, - 0xba0ae293U, 0x2ae5c0a0U, 0xe0433c22U, 0x171d121bU, - 0x0d0b0e09U, 0xc7adf28bU, 0xa8b92db6U, 0xa9c8141eU, - 0x198557f1U, 0x074caf75U, 0xddbbee99U, 0x60fda37fU, - 0x269ff701U, 0xf5bc5c72U, 0x3bc54466U, 0x7e345bfbU, - 0x29768b43U, 0xc6dccb23U, 0xfc68b6edU, 0xf163b8e4U, - 0xdccad731U, 0x85104263U, 0x22401397U, 0x112084c6U, - 0x247d854aU, 0x3df8d2bbU, 0x3211aef9U, 0xa16dc729U, - 0x2f4b1d9eU, 0x30f3dcb2U, 0x52ec0d86U, 0xe3d077c1U, - 0x166c2bb3U, 0xb999a970U, 0x48fa1194U, 0x642247e9U, - 0x8cc4a8fcU, 0x3f1aa0f0U, 0x2cd8567dU, 0x90ef2233U, - 0x4ec78749U, 0xd1c1d938U, 0xa2fe8ccaU, 0x0b3698d4U, - 0x81cfa6f5U, 0xde28a57aU, 0x8e26dab7U, 0xbfa43fadU, - 0x9de42c3aU, 0x920d5078U, 0xcc9b6a5fU, 0x4662547eU, - 0x13c2f68dU, 0xb8e890d8U, 0xf75e2e39U, 0xaff582c3U, - 0x80be9f5dU, 0x937c69d0U, 0x2da96fd5U, 0x12b3cf25U, - 0x993bc8acU, 0x7da71018U, 0x636ee89cU, 0xbb7bdb3bU, - 0x7809cd26U, 0x18f46e59U, 0xb701ec9aU, 0x9aa8834fU, - 0x6e65e695U, 0xe67eaaffU, 0xcf0821bcU, 0xe8e6ef15U, - 0x9bd9bae7U, 0x36ce4a6fU, 0x09d4ea9fU, 0x7cd629b0U, - 0xb2af31a4U, 0x23312a3fU, 0x9430c6a5U, 0x66c035a2U, - 0xbc37744eU, 0xcaa6fc82U, 0xd0b0e090U, 0xd81533a7U, - 0x984af104U, 0xdaf741ecU, 0x500e7fcdU, 0xf62f1791U, - 0xd68d764dU, 0xb04d43efU, 0x4d54ccaaU, 0x04dfe496U, - 0xb5e39ed1U, 0x881b4c6aU, 0x1fb8c12cU, 0x517f4665U, - 0xea049d5eU, 0x355d018cU, 0x7473fa87U, 0x412efb0bU, - 0x1d5ab367U, 0xd25292dbU, 0x5633e910U, 0x47136dd6U, - 0x618c9ad7U, 0x0c7a37a1U, 0x148e59f8U, 0x3c89eb13U, - 0x27eecea9U, 0xc935b761U, 0xe5ede11cU, 0xb13c7a47U, - 0xdf599cd2U, 0x733f55f2U, 0xce791814U, 0x37bf73c7U, - 0xcdea53f7U, 0xaa5b5ffdU, 0x6f14df3dU, 0xdb867844U, - 0xf381caafU, 0xc43eb968U, 0x342c3824U, 0x405fc2a3U, - 0xc372161dU, 0x250cbce2U, 0x498b283cU, 0x9541ff0dU, - 0x017139a8U, 0xb3de080cU, 0xe49cd8b4U, 0xc1906456U, - 0x84617bcbU, 0xb670d532U, 0x5c74486cU, 0x5742d0b8U, -}; -static const cc_u32 SDRM_Td3[256] = { - 0xf4a75051U, 0x4165537eU, 0x17a4c31aU, 0x275e963aU, - 0xab6bcb3bU, 0x9d45f11fU, 0xfa58abacU, 0xe303934bU, - 0x30fa5520U, 0x766df6adU, 0xcc769188U, 0x024c25f5U, - 0xe5d7fc4fU, 0x2acbd7c5U, 0x35448026U, 0x62a38fb5U, - 0xb15a49deU, 0xba1b6725U, 0xea0e9845U, 0xfec0e15dU, - 0x2f7502c3U, 0x4cf01281U, 0x4697a38dU, 0xd3f9c66bU, - 0x8f5fe703U, 0x929c9515U, 0x6d7aebbfU, 0x5259da95U, - 0xbe832dd4U, 0x7421d358U, 0xe0692949U, 0xc9c8448eU, - 0xc2896a75U, 0x8e7978f4U, 0x583e6b99U, 0xb971dd27U, - 0xe14fb6beU, 0x88ad17f0U, 0x20ac66c9U, 0xce3ab47dU, - 0xdf4a1863U, 0x1a3182e5U, 0x51336097U, 0x537f4562U, - 0x6477e0b1U, 0x6bae84bbU, 0x81a01cfeU, 0x082b94f9U, - 0x48685870U, 0x45fd198fU, 0xde6c8794U, 0x7bf8b752U, - 0x73d323abU, 0x4b02e272U, 0x1f8f57e3U, 0x55ab2a66U, - 0xeb2807b2U, 0xb5c2032fU, 0xc57b9a86U, 0x3708a5d3U, - 0x2887f230U, 0xbfa5b223U, 0x036aba02U, 0x16825cedU, - 0xcf1c2b8aU, 0x79b492a7U, 0x07f2f0f3U, 0x69e2a14eU, - 0xdaf4cd65U, 0x05bed506U, 0x34621fd1U, 0xa6fe8ac4U, - 0x2e539d34U, 0xf355a0a2U, 0x8ae13205U, 0xf6eb75a4U, - 0x83ec390bU, 0x60efaa40U, 0x719f065eU, 0x6e1051bdU, - 0x218af93eU, 0xdd063d96U, 0x3e05aeddU, 0xe6bd464dU, - 0x548db591U, 0xc45d0571U, 0x06d46f04U, 0x5015ff60U, - 0x98fb2419U, 0xbde997d6U, 0x4043cc89U, 0xd99e7767U, - 0xe842bdb0U, 0x898b8807U, 0x195b38e7U, 0xc8eedb79U, - 0x7c0a47a1U, 0x420fe97cU, 0x841ec9f8U, 0x00000000U, - 0x80868309U, 0x2bed4832U, 0x1170ac1eU, 0x5a724e6cU, - 0x0efffbfdU, 0x8538560fU, 0xaed51e3dU, 0x2d392736U, - 0x0fd9640aU, 0x5ca62168U, 0x5b54d19bU, 0x362e3a24U, - 0x0a67b10cU, 0x57e70f93U, 0xee96d2b4U, 0x9b919e1bU, - 0xc0c54f80U, 0xdc20a261U, 0x774b695aU, 0x121a161cU, - 0x93ba0ae2U, 0xa02ae5c0U, 0x22e0433cU, 0x1b171d12U, - 0x090d0b0eU, 0x8bc7adf2U, 0xb6a8b92dU, 0x1ea9c814U, - 0xf1198557U, 0x75074cafU, 0x99ddbbeeU, 0x7f60fda3U, - 0x01269ff7U, 0x72f5bc5cU, 0x663bc544U, 0xfb7e345bU, - 0x4329768bU, 0x23c6dccbU, 0xedfc68b6U, 0xe4f163b8U, - 0x31dccad7U, 0x63851042U, 0x97224013U, 0xc6112084U, - 0x4a247d85U, 0xbb3df8d2U, 0xf93211aeU, 0x29a16dc7U, - 0x9e2f4b1dU, 0xb230f3dcU, 0x8652ec0dU, 0xc1e3d077U, - 0xb3166c2bU, 0x70b999a9U, 0x9448fa11U, 0xe9642247U, - 0xfc8cc4a8U, 0xf03f1aa0U, 0x7d2cd856U, 0x3390ef22U, - 0x494ec787U, 0x38d1c1d9U, 0xcaa2fe8cU, 0xd40b3698U, - 0xf581cfa6U, 0x7ade28a5U, 0xb78e26daU, 0xadbfa43fU, - 0x3a9de42cU, 0x78920d50U, 0x5fcc9b6aU, 0x7e466254U, - 0x8d13c2f6U, 0xd8b8e890U, 0x39f75e2eU, 0xc3aff582U, - 0x5d80be9fU, 0xd0937c69U, 0xd52da96fU, 0x2512b3cfU, - 0xac993bc8U, 0x187da710U, 0x9c636ee8U, 0x3bbb7bdbU, - 0x267809cdU, 0x5918f46eU, 0x9ab701ecU, 0x4f9aa883U, - 0x956e65e6U, 0xffe67eaaU, 0xbccf0821U, 0x15e8e6efU, - 0xe79bd9baU, 0x6f36ce4aU, 0x9f09d4eaU, 0xb07cd629U, - 0xa4b2af31U, 0x3f23312aU, 0xa59430c6U, 0xa266c035U, - 0x4ebc3774U, 0x82caa6fcU, 0x90d0b0e0U, 0xa7d81533U, - 0x04984af1U, 0xecdaf741U, 0xcd500e7fU, 0x91f62f17U, - 0x4dd68d76U, 0xefb04d43U, 0xaa4d54ccU, 0x9604dfe4U, - 0xd1b5e39eU, 0x6a881b4cU, 0x2c1fb8c1U, 0x65517f46U, - 0x5eea049dU, 0x8c355d01U, 0x877473faU, 0x0b412efbU, - 0x671d5ab3U, 0xdbd25292U, 0x105633e9U, 0xd647136dU, - 0xd7618c9aU, 0xa10c7a37U, 0xf8148e59U, 0x133c89ebU, - 0xa927eeceU, 0x61c935b7U, 0x1ce5ede1U, 0x47b13c7aU, - 0xd2df599cU, 0xf2733f55U, 0x14ce7918U, 0xc737bf73U, - 0xf7cdea53U, 0xfdaa5b5fU, 0x3d6f14dfU, 0x44db8678U, - 0xaff381caU, 0x68c43eb9U, 0x24342c38U, 0xa3405fc2U, - 0x1dc37216U, 0xe2250cbcU, 0x3c498b28U, 0x0d9541ffU, - 0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U, - 0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U, -}; -static const cc_u32 SDRM_Td4[256] = { - 0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U, - 0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U, - 0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU, - 0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU, - 0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U, - 0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U, - 0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U, - 0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU, - 0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U, - 0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU, - 0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU, - 0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU, - 0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U, - 0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U, - 0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U, - 0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U, - 0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U, - 0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U, - 0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU, - 0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U, - 0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U, - 0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU, - 0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U, - 0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U, - 0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U, - 0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU, - 0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U, - 0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U, - 0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU, - 0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U, - 0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U, - 0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU, - 0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U, - 0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU, - 0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU, - 0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U, - 0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U, - 0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U, - 0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U, - 0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU, - 0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U, - 0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U, - 0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU, - 0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU, - 0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU, - 0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U, - 0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU, - 0x78787878U, 0xcdcdcdcdU, 0x5a5a5a5aU, 0xf4f4f4f4U, - 0x1f1f1f1fU, 0xddddddddU, 0xa8a8a8a8U, 0x33333333U, - 0x88888888U, 0x07070707U, 0xc7c7c7c7U, 0x31313131U, - 0xb1b1b1b1U, 0x12121212U, 0x10101010U, 0x59595959U, - 0x27272727U, 0x80808080U, 0xececececU, 0x5f5f5f5fU, - 0x60606060U, 0x51515151U, 0x7f7f7f7fU, 0xa9a9a9a9U, - 0x19191919U, 0xb5b5b5b5U, 0x4a4a4a4aU, 0x0d0d0d0dU, - 0x2d2d2d2dU, 0xe5e5e5e5U, 0x7a7a7a7aU, 0x9f9f9f9fU, - 0x93939393U, 0xc9c9c9c9U, 0x9c9c9c9cU, 0xefefefefU, - 0xa0a0a0a0U, 0xe0e0e0e0U, 0x3b3b3b3bU, 0x4d4d4d4dU, - 0xaeaeaeaeU, 0x2a2a2a2aU, 0xf5f5f5f5U, 0xb0b0b0b0U, - 0xc8c8c8c8U, 0xebebebebU, 0xbbbbbbbbU, 0x3c3c3c3cU, - 0x83838383U, 0x53535353U, 0x99999999U, 0x61616161U, - 0x17171717U, 0x2b2b2b2bU, 0x04040404U, 0x7e7e7e7eU, - 0xbabababaU, 0x77777777U, 0xd6d6d6d6U, 0x26262626U, - 0xe1e1e1e1U, 0x69696969U, 0x14141414U, 0x63636363U, - 0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU, -}; -static const cc_u32 SDRM_rcon[] = { - 0x01000000, 0x02000000, 0x04000000, 0x08000000, - 0x10000000, 0x20000000, 0x40000000, 0x80000000, - 0x1B000000, 0x36000000, - /* for 128-bit blocks, Rijndael never uses more than 10 _rcon values */ -}; - -//////////////////////////////////////////////////////////////////////////// -// Macros for AES -//////////////////////////////////////////////////////////////////////////// -#define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00) - -#ifdef _MSC_VER - #define GETUINT32(p) SWAP(*((cc_u32 *)(p))) - #define PUTUINT32(ct, st) { *((cc_u32 *)(ct)) = SWAP((st)); } -#else - #define GETUINT32(pt) (((cc_u32)(pt)[0] << 24) ^ ((cc_u32)(pt)[1] << 16) ^ ((cc_u32)(pt)[2] << 8) ^ ((cc_u32)(pt)[3])) - #define PUTUINT32(ct, st) { (ct)[0] = (cc_u8)((st) >> 24); (ct)[1] = (cc_u8)((st) >> 16); (ct)[2] = (cc_u8)((st) >> 8); (ct)[3] = (cc_u8)(st); } -#endif - -/* - * @fn SDRM_rijndaelKeySetupEnc - * @brief Expand the cipher key into the encryption key schedule - * - * @param rk [out]expanded round key - * @param cipherKey [in]user key - * @param keyBits [in]bit-length of cipherKey - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupEnc(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits) -{ - int i = 0; - cc_u32 temp; - - rk[0] = GETUINT32(cipherKey ); - rk[1] = GETUINT32(cipherKey + 4); - rk[2] = GETUINT32(cipherKey + 8); - rk[3] = GETUINT32(cipherKey + 12); - if (keyBits == 128) - { - for (;;) - { - temp = rk[3]; - rk[4] = rk[0] ^ - (SDRM_Te4[(temp >> 16) & 0xff] & 0xff000000) ^ - (SDRM_Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(temp ) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(temp >> 24) ] & 0x000000ff) ^ - SDRM_rcon[i]; - rk[5] = rk[1] ^ rk[4]; - rk[6] = rk[2] ^ rk[5]; - rk[7] = rk[3] ^ rk[6]; - if (++i == 10) - { - return 10; - } - rk += 4; - } - } - - rk[4] = GETUINT32(cipherKey + 16); - rk[5] = GETUINT32(cipherKey + 20); - if (keyBits == 192) - { - for (;;) { - temp = rk[ 5]; - rk[ 6] = rk[ 0] ^ - (SDRM_Te4[(temp >> 16) & 0xff] & 0xff000000) ^ - (SDRM_Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(temp ) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(temp >> 24) ] & 0x000000ff) ^ - SDRM_rcon[i]; - rk[ 7] = rk[ 1] ^ rk[ 6]; - rk[ 8] = rk[ 2] ^ rk[ 7]; - rk[ 9] = rk[ 3] ^ rk[ 8]; - if (++i == 8) - { - return 12; - } - rk[10] = rk[ 4] ^ rk[ 9]; - rk[11] = rk[ 5] ^ rk[10]; - rk += 6; - } - } - rk[6] = GETUINT32(cipherKey + 24); - rk[7] = GETUINT32(cipherKey + 28); - if (keyBits == 256) - { - for (;;) - { - temp = rk[ 7]; - rk[ 8] = rk[ 0] ^ - (SDRM_Te4[(temp >> 16) & 0xff] & 0xff000000) ^ - (SDRM_Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(temp ) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(temp >> 24) ] & 0x000000ff) ^ - SDRM_rcon[i]; - rk[ 9] = rk[ 1] ^ rk[ 8]; - rk[10] = rk[ 2] ^ rk[ 9]; - rk[11] = rk[ 3] ^ rk[10]; - if (++i == 7) { - return 14; - } - temp = rk[11]; - rk[12] = rk[ 4] ^ - (SDRM_Te4[(temp >> 24) ] & 0xff000000) ^ - (SDRM_Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(temp ) & 0xff] & 0x000000ff); - rk[13] = rk[ 5] ^ rk[12]; - rk[14] = rk[ 6] ^ rk[13]; - rk[15] = rk[ 7] ^ rk[14]; - - rk += 8; - } - } - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_rijndaelKeySetupDec - * @brief Expand the cipher key into the decryption key schedule - * - * @param rk [out]expanded round key - * @param cipherKey [in]user key - * @param keyBits [in]bit-length of cipherKey - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupDec(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits) -{ - int Nr, i, j; - cc_u32 temp; - - /* expand the cipher key: */ - Nr = SDRM_rijndaelKeySetupEnc(rk, cipherKey, keyBits); - /* invert the order of the round keys: */ - for (i = 0, j = 4*Nr; i < j; i += 4, j -= 4) - { - temp = rk[i ]; rk[i ] = rk[j ]; rk[j ] = temp; - temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp; - temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp; - temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp; - } - - /* apply the inverse MixColumn transform to all round keys but the first and the last: */ - for (i = 1; i < Nr; i++) - { - rk += 4; - rk[0] = - SDRM_Td0[SDRM_Te4[(rk[0] >> 24) ] & 0xff] ^ - SDRM_Td1[SDRM_Te4[(rk[0] >> 16) & 0xff] & 0xff] ^ - SDRM_Td2[SDRM_Te4[(rk[0] >> 8) & 0xff] & 0xff] ^ - SDRM_Td3[SDRM_Te4[(rk[0] ) & 0xff] & 0xff]; - rk[1] = - SDRM_Td0[SDRM_Te4[(rk[1] >> 24) ] & 0xff] ^ - SDRM_Td1[SDRM_Te4[(rk[1] >> 16) & 0xff] & 0xff] ^ - SDRM_Td2[SDRM_Te4[(rk[1] >> 8) & 0xff] & 0xff] ^ - SDRM_Td3[SDRM_Te4[(rk[1] ) & 0xff] & 0xff]; - rk[2] = - SDRM_Td0[SDRM_Te4[(rk[2] >> 24) ] & 0xff] ^ - SDRM_Td1[SDRM_Te4[(rk[2] >> 16) & 0xff] & 0xff] ^ - SDRM_Td2[SDRM_Te4[(rk[2] >> 8) & 0xff] & 0xff] ^ - SDRM_Td3[SDRM_Te4[(rk[2] ) & 0xff] & 0xff]; - rk[3] = - SDRM_Td0[SDRM_Te4[(rk[3] >> 24) ] & 0xff] ^ - SDRM_Td1[SDRM_Te4[(rk[3] >> 16) & 0xff] & 0xff] ^ - SDRM_Td2[SDRM_Te4[(rk[3] >> 8) & 0xff] & 0xff] ^ - SDRM_Td3[SDRM_Te4[(rk[3] ) & 0xff] & 0xff]; - } - return Nr; -} - -/* - * @fn SDRM_rijndaelEncrypt - * @brief 16 byte AES Encryption with round key - * - * @param rk [in]expanded round key - * @param Nr [in]numer of rounds - * @param pt [in]plain text - * @param ct [out]cipher text - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_rijndaelEncrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 pt[16], cc_u8 ct[16]) -{ - cc_u32 s0, s1, s2, s3, t0, t1, t2, t3; -#ifndef FULL_UNROLL - int r; -#endif /* ?FULL_UNROLL */ - - /* - * map byte array block to cipher state - * and add initial round key: - */ - s0 = GETUINT32(pt ) ^ rk[0]; - s1 = GETUINT32(pt + 4) ^ rk[1]; - s2 = GETUINT32(pt + 8) ^ rk[2]; - s3 = GETUINT32(pt + 12) ^ rk[3]; -#ifdef FULL_UNROLL - /* round 1: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[ 4]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[ 5]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[ 6]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[ 7]; - /* round 2: */ - s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >> 8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[ 8]; - s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >> 8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[ 9]; - s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >> 8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[10]; - s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >> 8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[11]; - /* round 3: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[12]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[13]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[14]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[15]; - /* round 4: */ - s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >> 8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[16]; - s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >> 8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[17]; - s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >> 8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[18]; - s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >> 8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[19]; - /* round 5: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[20]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[21]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[22]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[23]; - /* round 6: */ - s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >> 8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[24]; - s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >> 8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[25]; - s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >> 8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[26]; - s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >> 8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[27]; - /* round 7: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[28]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[29]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[30]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[31]; - /* round 8: */ - s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >> 8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[32]; - s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >> 8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[33]; - s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >> 8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[34]; - s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >> 8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[35]; - /* round 9: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[36]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[37]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[38]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[39]; - if (Nr > 10) - { - /* round 10: */ - s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >> 8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[40]; - s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >> 8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[41]; - s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >> 8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[42]; - s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >> 8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[43]; - /* round 11: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[44]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[45]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[46]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[47]; - if (Nr > 12) { - /* round 12: */ - s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >> 8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[48]; - s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >> 8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[49]; - s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >> 8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[50]; - s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >> 8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[51]; - /* round 13: */ - t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >> 8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[52]; - t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >> 8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[53]; - t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >> 8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[54]; - t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >> 8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[55]; - } - } - rk += Nr << 2; -#else /* !FULL_UNROLL */ - /* - * Nr - 1 full rounds: - */ - r = Nr >> 1; - for (;;) - { - t0 = - SDRM_Te0[(s0 >> 24) ] ^ - SDRM_Te1[(s1 >> 16) & 0xff] ^ - SDRM_Te2[(s2 >> 8) & 0xff] ^ - SDRM_Te3[(s3 ) & 0xff] ^ - rk[4]; - t1 = - SDRM_Te0[(s1 >> 24) ] ^ - SDRM_Te1[(s2 >> 16) & 0xff] ^ - SDRM_Te2[(s3 >> 8) & 0xff] ^ - SDRM_Te3[(s0 ) & 0xff] ^ - rk[5]; - t2 = - SDRM_Te0[(s2 >> 24) ] ^ - SDRM_Te1[(s3 >> 16) & 0xff] ^ - SDRM_Te2[(s0 >> 8) & 0xff] ^ - SDRM_Te3[(s1 ) & 0xff] ^ - rk[6]; - t3 = - SDRM_Te0[(s3 >> 24) ] ^ - SDRM_Te1[(s0 >> 16) & 0xff] ^ - SDRM_Te2[(s1 >> 8) & 0xff] ^ - SDRM_Te3[(s2 ) & 0xff] ^ - rk[7]; - - rk += 8; - if (--r == 0) - { - break; - } - - s0 = - SDRM_Te0[(t0 >> 24) ] ^ - SDRM_Te1[(t1 >> 16) & 0xff] ^ - SDRM_Te2[(t2 >> 8) & 0xff] ^ - SDRM_Te3[(t3 ) & 0xff] ^ - rk[0]; - s1 = - SDRM_Te0[(t1 >> 24) ] ^ - SDRM_Te1[(t2 >> 16) & 0xff] ^ - SDRM_Te2[(t3 >> 8) & 0xff] ^ - SDRM_Te3[(t0 ) & 0xff] ^ - rk[1]; - s2 = - SDRM_Te0[(t2 >> 24) ] ^ - SDRM_Te1[(t3 >> 16) & 0xff] ^ - SDRM_Te2[(t0 >> 8) & 0xff] ^ - SDRM_Te3[(t1 ) & 0xff] ^ - rk[2]; - s3 = - SDRM_Te0[(t3 >> 24) ] ^ - SDRM_Te1[(t0 >> 16) & 0xff] ^ - SDRM_Te2[(t1 >> 8) & 0xff] ^ - SDRM_Te3[(t2 ) & 0xff] ^ - rk[3]; - } -#endif /* ?FULL_UNROLL */ - /* - * apply last round and - * map cipher state to byte array block: - */ - s0 = - (SDRM_Te4[(t0 >> 24) ] & 0xff000000) ^ - (SDRM_Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(t3 ) & 0xff] & 0x000000ff) ^ - rk[0]; - PUTUINT32(ct , s0); - s1 = - (SDRM_Te4[(t1 >> 24) ] & 0xff000000) ^ - (SDRM_Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(t0 ) & 0xff] & 0x000000ff) ^ - rk[1]; - PUTUINT32(ct + 4, s1); - s2 = - (SDRM_Te4[(t2 >> 24) ] & 0xff000000) ^ - (SDRM_Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(t1 ) & 0xff] & 0x000000ff) ^ - rk[2]; - PUTUINT32(ct + 8, s2); - s3 = - (SDRM_Te4[(t3 >> 24) ] & 0xff000000) ^ - (SDRM_Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Te4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Te4[(t2 ) & 0xff] & 0x000000ff) ^ - rk[3]; - PUTUINT32(ct + 12, s3); -} - -/* - * @fn SDRM_rijndaelDecrypt - * @brief 16 byte AES Decryption with round key - * - * @param rk [in]expanded round key - * @param Nr [in]numer of rounds - * @param ct [in]cipher text - * @param pt [out]plain text - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_rijndaelDecrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 ct[16], cc_u8 pt[16]) -{ - cc_u32 s0, s1, s2, s3, t0, t1, t2, t3; -#ifndef FULL_UNROLL - int r; -#endif /* ?FULL_UNROLL */ - - /* - * map byte array block to cipher state - * and add initial round key: - */ - s0 = GETUINT32(ct ) ^ rk[0]; - s1 = GETUINT32(ct + 4) ^ rk[1]; - s2 = GETUINT32(ct + 8) ^ rk[2]; - s3 = GETUINT32(ct + 12) ^ rk[3]; -#ifdef FULL_UNROLL - /* round 1: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[ 4]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[ 5]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[ 6]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[ 7]; - /* round 2: */ - s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >> 8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[ 8]; - s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >> 8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[ 9]; - s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >> 8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[10]; - s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >> 8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[11]; - /* round 3: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[12]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[13]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[14]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[15]; - /* round 4: */ - s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >> 8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[16]; - s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >> 8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[17]; - s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >> 8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[18]; - s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >> 8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[19]; - /* round 5: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[20]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[21]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[22]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[23]; - /* round 6: */ - s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >> 8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[24]; - s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >> 8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[25]; - s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >> 8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[26]; - s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >> 8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[27]; - /* round 7: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[28]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[29]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[30]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[31]; - /* round 8: */ - s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >> 8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[32]; - s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >> 8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[33]; - s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >> 8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[34]; - s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >> 8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[35]; - /* round 9: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[36]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[37]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[38]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[39]; - if (Nr > 10) - { - /* round 10: */ - s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >> 8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[40]; - s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >> 8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[41]; - s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >> 8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[42]; - s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >> 8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[43]; - /* round 11: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[44]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[45]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[46]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[47]; - if (Nr > 12) { - /* round 12: */ - s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >> 8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[48]; - s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >> 8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[49]; - s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >> 8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[50]; - s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >> 8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[51]; - /* round 13: */ - t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >> 8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[52]; - t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >> 8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[53]; - t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >> 8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[54]; - t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >> 8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[55]; - } - } - rk += Nr << 2; -#else /* !FULL_UNROLL */ - /* - * Nr - 1 full rounds: - */ - r = Nr >> 1; - for (;;) - { - t0 = - SDRM_Td0[(s0 >> 24) ] ^ - SDRM_Td1[(s3 >> 16) & 0xff] ^ - SDRM_Td2[(s2 >> 8) & 0xff] ^ - SDRM_Td3[(s1 ) & 0xff] ^ - rk[4]; - t1 = - SDRM_Td0[(s1 >> 24) ] ^ - SDRM_Td1[(s0 >> 16) & 0xff] ^ - SDRM_Td2[(s3 >> 8) & 0xff] ^ - SDRM_Td3[(s2 ) & 0xff] ^ - rk[5]; - t2 = - SDRM_Td0[(s2 >> 24) ] ^ - SDRM_Td1[(s1 >> 16) & 0xff] ^ - SDRM_Td2[(s0 >> 8) & 0xff] ^ - SDRM_Td3[(s3 ) & 0xff] ^ - rk[6]; - t3 = - SDRM_Td0[(s3 >> 24) ] ^ - SDRM_Td1[(s2 >> 16) & 0xff] ^ - SDRM_Td2[(s1 >> 8) & 0xff] ^ - SDRM_Td3[(s0 ) & 0xff] ^ - rk[7]; - - rk += 8; - if (--r == 0) - { - break; - } - - s0 = - SDRM_Td0[(t0 >> 24) ] ^ - SDRM_Td1[(t3 >> 16) & 0xff] ^ - SDRM_Td2[(t2 >> 8) & 0xff] ^ - SDRM_Td3[(t1 ) & 0xff] ^ - rk[0]; - s1 = - SDRM_Td0[(t1 >> 24) ] ^ - SDRM_Td1[(t0 >> 16) & 0xff] ^ - SDRM_Td2[(t3 >> 8) & 0xff] ^ - SDRM_Td3[(t2 ) & 0xff] ^ - rk[1]; - s2 = - SDRM_Td0[(t2 >> 24) ] ^ - SDRM_Td1[(t1 >> 16) & 0xff] ^ - SDRM_Td2[(t0 >> 8) & 0xff] ^ - SDRM_Td3[(t3 ) & 0xff] ^ - rk[2]; - s3 = - SDRM_Td0[(t3 >> 24) ] ^ - SDRM_Td1[(t2 >> 16) & 0xff] ^ - SDRM_Td2[(t1 >> 8) & 0xff] ^ - SDRM_Td3[(t0 ) & 0xff] ^ - rk[3]; - } -#endif /* ?FULL_UNROLL */ - /* - * apply last round and - * map cipher state to byte array block: - */ - s0 = - (SDRM_Td4[(t0 >> 24) ] & 0xff000000) ^ - (SDRM_Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Td4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Td4[(t1 ) & 0xff] & 0x000000ff) ^ - rk[0]; - PUTUINT32(pt , s0); - s1 = - (SDRM_Td4[(t1 >> 24) ] & 0xff000000) ^ - (SDRM_Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Td4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Td4[(t2 ) & 0xff] & 0x000000ff) ^ - rk[1]; - PUTUINT32(pt + 4, s1); - s2 = - (SDRM_Td4[(t2 >> 24) ] & 0xff000000) ^ - (SDRM_Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Td4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Td4[(t3 ) & 0xff] & 0x000000ff) ^ - rk[2]; - PUTUINT32(pt + 8, s2); - s3 = - (SDRM_Td4[(t3 >> 24) ] & 0xff000000) ^ - (SDRM_Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ - (SDRM_Td4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ - (SDRM_Td4[(t0 ) & 0xff] & 0x000000ff) ^ - rk[3]; - PUTUINT32(pt + 12, s3); -} - -/* - * @fn SDRM_AES128_Encryption - * @brief AES-128 Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES128_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[4*(10 + 1)]; - - SDRM_rijndaelKeySetupEnc(RoundKey, UserKey, 128); - - SDRM_rijndaelEncrypt(RoundKey, 10, plainText, cipherText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_AES128_Decryption - * @brief AES-128 Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES128_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[4*(10 + 1)]; - - SDRM_rijndaelKeySetupDec(RoundKey, UserKey, 128); - - SDRM_rijndaelDecrypt(RoundKey, 10, cipherText, plainText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_AES192_Encryption - * @brief AES-192 Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES192_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[4*(12 + 1)]; - - SDRM_rijndaelKeySetupEnc(RoundKey, UserKey, 192); - - SDRM_rijndaelEncrypt(RoundKey, 12, plainText, cipherText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_AES192_Decryption - * @brief AES-192 Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES192_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[4*(12 + 1)]; - - SDRM_rijndaelKeySetupDec(RoundKey, UserKey, 192); - - SDRM_rijndaelDecrypt(RoundKey, 12, cipherText, plainText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_AES256_Encryption - * @brief AES-256 Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES256_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[4*(14 + 1)]; - - SDRM_rijndaelKeySetupEnc(RoundKey, UserKey, 256); - - SDRM_rijndaelEncrypt(RoundKey, 14, plainText, cipherText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_AES256_Decryption - * @brief AES-256 Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_AES256_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[4*(14 + 1)]; - - SDRM_rijndaelKeySetupDec(RoundKey, UserKey, 256); - - SDRM_rijndaelDecrypt(RoundKey, 14, cipherText, plainText); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/bignum.c b/SPC/Src/base/bignum.c deleted file mode 100755 index 09e959b..0000000 --- a/SPC/Src/base/bignum.c +++ /dev/null @@ -1,2750 +0,0 @@ -/** - * \file bignum.c - * @brief big number library - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/03 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "bignum.h" -#include "fast_math.h" -#include "DRMLog.h" - - -#define _SPC_FILE_LOG -//FILE* SPClogfile = NULL; -extern DRMLOG_CTX SPCLogCTX; - - -//////////////////////////////////////////////////////////////////////////// -// Global Variables -//////////////////////////////////////////////////////////////////////////// -CRYPTOCORE_INTERNAL cc_u32 DWD_Zero[2] = {0, 0}; -CRYPTOCORE_INTERNAL cc_u32 DWD_One[2] = {1, 0}; - -CRYPTOCORE_INTERNAL SDRM_BIG_NUM _BN_Zero = {0, 1, 2, DWD_Zero}; -CRYPTOCORE_INTERNAL SDRM_BIG_NUM _BN_One = {0, 1, 2, DWD_One}; - -CRYPTOCORE_INTERNAL SDRM_BIG_NUM *BN_Zero = &_BN_Zero; -CRYPTOCORE_INTERNAL SDRM_BIG_NUM *BN_One = &_BN_One; - -//////////////////////////////////////////////////////////////////////////// -// Local Functon Protypes -//////////////////////////////////////////////////////////////////////////// -CRYPTOCORE_INTERNAL int SDRM_DWD_Classical_REDC(cc_u32 *pdDest, cc_u32 DstLen, cc_u32 *pdModulus, cc_u32 ModLen); - -#ifdef _OP64_NOTSUPPORTED - -#define SDRM_HL(A) (cc_u32)(((A) >> 16) & 0xffffu) -#define SDRM_LL(A) (cc_u32)((A) & 0xffffu) -#define SDRM_LH(A) (cc_u32)(((A) & 0xffffu) << 16) -#define NOT(A) (~(A)) - -/* - * @fn SDRM_DIGIT_Mul - * @brief Double-width UINT32 Multiplication - * - * \n Dest [out]destination, 2-cc_u32-size array - * \n Src1 [in]first element - * \n Src2 [in]second element - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_DIGIT_Mul(cc_u32 *Dest, cc_u32 Src1, cc_u32 Src2) -{ - cc_u32 Da, Db, R1, R0; - - R1 = SDRM_HL(Src1) * SDRM_HL(Src2); - R0 = SDRM_LL(Src1) * SDRM_LL(Src2); - - Da = SDRM_HL(Src1) * SDRM_LL(Src2); - Db = SDRM_LL(Src1) * SDRM_HL(Src2); - - if ((Db += Da) < Da) - R1 += ((cc_u32)1) << 16; - if ((R0 += SDRM_LH(Db)) < SDRM_LH(Db)) - R1++; - - Dest[0] = R0; - Dest[1] = R1 + SDRM_HL(Db); - - return; -} - -/* - * @fn SDRM_DIGIT_Div - * @brief Doublue-width DWROD Division - * - * \n Src1 [in]upper-digit of dividend - * \n Src2 [in]lower-digit of dividend - * \n Div [in]divisor - */ -CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Div(cc_u32 Src1, cc_u32 Src2, cc_u32 Div) -{ - cc_u32 Dq, Dr, Dx, Dy, Dt; - - // Estimate high half of quotient - Dq = Src1 / (SDRM_HL(Div) + 1); - - // Subtract the product of estimate and divisor from the dividend - Dr = Src1 - (SDRM_HL(Div) * Dq); - Dx = SDRM_HL(Dr); - Dy = SDRM_LH(Dr) + SDRM_HL(Src2); - if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy) - { - Dx--; - } - - // Correct estimate - while ((Dx > 0) || ((Dx == 0) && (Dr >= Div))) - { - if((Dr -= Div) > NOT(Div)) - { - Dx--; - } - Dq++; - } - Dt = SDRM_LH(Dq); - - // Estimate low half of quotient - Dq = Dr / (SDRM_HL(Div) + 1); - - // Subtract the product of estimate and divisor from the dividend - Dr -= SDRM_HL(Div) * Dq; - Dx = SDRM_HL(Dr); - Dy = SDRM_LH(Dr) + SDRM_LL(Src2); - if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy) - Dx--; - - // Correct estimate - while ((Dx > 0) || ((Dx == 0) && (Dr >= Div))) - { - if ((Dr -= Div) > NOT(Div)) - { - Dx--; - } - Dq++; - } - - return (Dt + Dq); -} - -/* - * @fn SDRM_DIGIT_Mod - * @brief Doublue-width DWROD Modular - * - * \n Src1 [in]upper-digit of dividend - * \n Src2 [in]lower-digit of dividend - * \n Div [in]divisor - */ -CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Mod(cc_u32 Src1, cc_u32 Src2, cc_u32 Div) -{ - cc_u32 Dq, Dr, Dx, Dy; - - // Estimate high half of quotient - Dq = Src1 / (SDRM_HL(Div) + 1); - - // Subtract the from dividend the product of estimate and divisor - Dr = Src1 - (SDRM_HL(Div) * Dq); - Dx = SDRM_HL(Dr); - Dy = SDRM_LH(Dr) + SDRM_HL(Src2); - if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy) - { - Dx--; - } - - // Correct estimate - while ((Dx > 0) || ((Dx == 0) && (Dr >= Div))) - { - if ((Dr -= Div) > NOT(Div)) - { - Dx--; - } - } - - // Estimate low half of quotient - Dq = Dr / (SDRM_HL(Div) + 1); - - // Subtract the from dividend the product of estimate and divisor - Dr -= SDRM_HL(Div) * Dq; - Dx = SDRM_HL(Dr); - Dy = SDRM_LH(Dr) + SDRM_LL(Src2); - if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy) - { - Dx--; - } - - // Correct estimate - while ((Dx > 0) || ((Dx == 0) && (Dr >= Div))) - { - if ((Dr -= Div) > NOT(Div) ) - { - Dx--; - } - } - - return Dr; -} - -#endif //_OP64_NOTSUPPORTED - -/* - * @fn SDRM_DWD_Cmp - * @brief cc_u32 Array Comparison - * - * @param pdSrc1 [in]first element - * @param dSrcLen1 [in]legnth of pdSrc1 - * @param pdSrc2 [in]second element - * @param dSrcLen2 [in]legnth of pdSrc2 - * - * @return 1 if pdSrc1 is larger than pdSrc2 - * \n 0 if same - * \n -1 if pdSrc2 is larger than pdSrc1 - */ -static int SDRM_DWD_Cmp(cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2) -{ - cc_u32 i; - - //When the length is different - if (dSrcLen1 >= dSrcLen2) - { - for (i = dSrcLen1 - 1; i != dSrcLen2 - 1; i--) - { - if (pdSrc1[i]) - { - return +1; - } - } - } - else - { - for (i = dSrcLen2 - 1; i != dSrcLen1 - 1; i--) - { - if (pdSrc2[i]) - { - return -1; - } - } - } - - //Compare common digits - for (; i != (cc_u32)-1; i--) - { - if (pdSrc1[i] == pdSrc2[i]) - { - continue; - } - else - { - if (pdSrc1[i] > pdSrc2[i]) - { - return +1; - } - else - { - return -1; - } - } - } - - return 0; -} - -/* - * @fn SDRM_DWD_SHL - * @brief Shift left the digit array - * - * @param pdDest [out]destination - * @param pdSrc [in]source - * @param dSrcLen [in]legnth of pdSrc - * @param dNumOfShift [in]shift amount - * - * @return carry - */ -static cc_u32 SDRM_DWD_SHL(cc_u32 *pdDest, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dNumOfShift) -{ - cc_u32 i = dSrcLen - 1; - cc_u32 dRet; - - if (dSrcLen == 0) - { - *pdDest = 0; - return 0; - } - - dRet = pdSrc[i] >> (SDRM_BitsInDWORD - dNumOfShift); - - for (; i != 0; i--) - { - pdDest[i] = (pdSrc[i] << dNumOfShift) ^ (pdSrc[i - 1] >> (SDRM_BitsInDWORD - dNumOfShift)); - } - - pdDest[i] = pdSrc[i] << dNumOfShift; - - return dRet; -} - -/* - * @fn SDRM_DWD_SHR - * @brief Shift right the digit array - * - * @param pdDest [out]destination - * @param pdSrc [in]source - * @param dSrcLen [in]legnth of pdSrc - * @param dNumOfShift [in]shift amount - * - * @return carry - */ -static cc_u32 SDRM_DWD_SHR(cc_u32 *pdDest, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dNumOfShift) -{ - cc_u32 i = 0; - cc_u32 dRet; - - dRet = pdSrc[i] << (SDRM_BitsInDWORD - dNumOfShift); - - for (; i < dSrcLen - 1; i++) - { - pdDest[i] = (pdSrc[i] >> dNumOfShift) ^ (pdSrc[i + 1] << (SDRM_BitsInDWORD - dNumOfShift)); - } - - pdDest[i] = pdSrc[i] >> dNumOfShift; - - return dRet; -} - -/* - * @fn SDRM_DWD_Add - * @brief Add two digit array - * - * @param pdDest [out]destination - * @param pdSrc1 [in]first element - * @param dSrcLen1 [in]legnth of pdSrc1 - * @param pdSrc2 [in]second element - * @param dSrcLen2 [in]legnth of pdSrc2 - * - * @return carry - */ -static cc_u32 SDRM_DWD_Add(cc_u32 *pdDest, cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2) -{ - cc_u32 i; - cc_u32 dCarry = 0, dTemp; - - //add low digits - for (i = 0; i < dSrcLen2; i++) - { - if ((pdSrc2[i] == ((cc_u32)-1)) && (dCarry)) - { - pdDest[i] = pdSrc1[i]; - } - else - { - dTemp = pdSrc2[i] + dCarry; - pdDest[i] = pdSrc1[i] + dTemp; - dCarry = (pdDest[i] < dTemp ) ? 1 : 0; - } - } - - //copy high digits - if (dSrcLen1 > i) - { - memcpy(pdDest + i, pdSrc1 + i, (dSrcLen1 - i) * SDRM_SIZE_OF_DWORD); - } - - //process carry - if (!dCarry) - { - return 0; - } - else - { - for (i = dSrcLen2; i < dSrcLen1; i++) - { - if (++pdDest[i]) - { - return 0; - } - } - } - - return 1; -} - -/* - * @fn SDRM_DWD_Sub - * @brief subtract digit array - * - * @param pdDest [out]destination - * @param pdSrc1 [in]first element - * @param dSrcLen1 [in]legnth of pdSrc1 - * @param pdSrc2 [in]second element - * @param dSrcLen2 [in]legnth of pdSrc2 - * - * @return carry - */ -static cc_u32 SDRM_DWD_Sub(cc_u32 *pdDest, cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2) -{ - cc_u32 i; - cc_u32 dCarry = 0, dTemp; - - //subtract low digits - for (i = 0; i < dSrcLen2; i++) - { - if (pdSrc2[i] + dCarry == 0) - { - pdDest[i] = pdSrc1[i]; - } else - { - dTemp = pdSrc2[i] + dCarry; - pdDest[i] = pdSrc1[i] - dTemp; - dCarry = ((pdDest[i]) > ~(dTemp)) ? 1 : 0; - } - } - - //copy high digits - if (dSrcLen1 > i) - { - memcpy(pdDest + i, pdSrc1 + i, (dSrcLen1 - i) * SDRM_SIZE_OF_DWORD); - } - - //process carry - if (!dCarry) - { - return 0; - } - else - { - for (i = dSrcLen2 ; i < dSrcLen1; i++) - { - if (pdDest[i]--) - { - return 0; - } - } - } - - return (~0); -} - -/* - * @fn SDRM_DWD_MulAdd - * @brief Add multiple - * - * @param pdDest [out]destination - * @param dDstLen [in]legnth of pbDest - * @param pdSrc [in]source - * @param dSrcLen [in]legnth of pdSrc - * @param dMultiplier [in]multiplier - * - * @return carry - */ -static cc_u32 SDRM_DWD_MulAdd(cc_u32 *pdDest, cc_u32 dDstLen, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dMultiplier) -{ - cc_u32 i; - cc_u32 pdDigit[2], dTemp = 0; - - //Multiplication part - for (i = 0; i < dSrcLen; i++) - { - SDRM_DIGIT_Mul(pdDigit, dMultiplier, pdSrc[i]); - if ((dTemp += pdDigit[0]) < pdDigit[0]) - { - pdDigit[1]++; - } - - if ((pdDest[i] += dTemp) < dTemp) - { - pdDigit[1]++; - } - - dTemp = pdDigit[1]; - } - - if (i == dDstLen) - { - return dTemp; - } - - //process top digit - if ((pdDest[i] += dTemp) >= dTemp) - { - return 0; - } - - for (i++; i < dDstLen; i++) - { - if ((++pdDest[i]) != 0) - { - return 0; - } - } - - return 1; -} - -/* - * @fn SDRM_DWD_MulSub - * @brief Multiply and Subtract Digit Array - * - * @param pdDest [out]destination - * @param dDstLen [in]legnth of pbDest - * @param pdSrc [in]source - * @param dSrcLen [in]legnth of pdSrc - * @param dMultiplier [in]multiplier - * - * @return carry - */ -static cc_u32 SDRM_DWD_MulSub(cc_u32 *pdDest, cc_u32 dDstLen, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dMultiplier) -{ - cc_u32 i; - cc_u32 pdDigit[2], dTemp = 0; - - //Multiplication part - for (i = 0; i < dSrcLen; i++) - { - SDRM_DIGIT_Mul(pdDigit, dMultiplier, pdSrc[i]); - dTemp += pdDigit[0]; - - if (dTemp < pdDigit[0]) - { - pdDigit[1]++; - } - - if (pdDest[i] < dTemp) - { - pdDigit[1]++; - } - - pdDest[i] -= dTemp; - dTemp = pdDigit[1]; - } - - if (i == dDstLen) - { - return dTemp; - } - - //process top digit - if (pdDest[i] >= dTemp) - { - pdDest[i] -= dTemp; - - return 0; - } - else - { - pdDest[i] -= dTemp; - } - - for (i++; i < dDstLen; i++) - { - if ((pdDest[i]--) != 0) - { - return 0; - } - } - - return 1; -} - -/* - * @fn SDRM_DWD_Mul - * @brief Multiply tow Digit array - * - * @param pdDest [out]destination - * @param pdSrc1 [in]first element - * @param dSrcLen1 [in]legnth of pdSrc1 - * @param pdSrc2 [in]second element - * @param dSrcLen2 [in]legnth of pdSrc2 - * - * @return void - */ -static void SDRM_DWD_Mul(cc_u32 *pdDest, cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2) -{ - cc_u32 i, j; - cc_u32 pdDigit[2], dTemp; - - memset(pdDest, 0, (dSrcLen1 + dSrcLen2) * SDRM_SIZE_OF_DWORD); - - for (j = 0; j < dSrcLen2; j++) - { - dTemp = 0; - for (i = 0; i < dSrcLen1; i++) - { - SDRM_DIGIT_Mul(pdDigit, pdSrc1[i], pdSrc2[j]); - if ((dTemp += pdDigit[0]) < pdDigit[0]) - { - pdDigit[1]++; - } - - if ((pdDest[i + j] += dTemp) < dTemp) - { - pdDigit[1]++; - } - - dTemp = pdDigit[1]; - } - pdDest[i + j] = dTemp; - } -} - -/* - * @fn SDRM_DWD_Div - * @brief Multiply tow Digit array - * - * @param pdDest [out]quotient - * @param pdRem [out]remainder - * @param pdSrc1 [in]divisor - * @param dSrcLen1 [in]legnth of pdSrc1 - * @param pdSrc2 [in]dividend - * @param dSrcLen2 [in]legnth of pdSrc2 - * - * @return 0 if reaminder is zero - * \n 1 otherwise - */ -static cc_u32 SDRM_DWD_Div(cc_u32 *pdDest, cc_u32 *pdRem, - cc_u32 *pdSrc1, cc_u32 dSrcLen1, - cc_u32 *pdSrc2, cc_u32 dSrcLen2) -{ - cc_u32 i, q, c, dNum_of_Shift = 0; - cc_u32 *C = (cc_u32*)malloc(SDRM_SIZE_OF_DWORD * 2 * (MAX2(dSrcLen1, dSrcLen2) + 2)); - - if (!C) - { - return (cc_u32)CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_DWD_Copy(C, pdSrc1, dSrcLen1); - C[dSrcLen1] = 0; - c = dSrcLen1 + 1; - - //Remove lowest '0's - for (i = dSrcLen2 * SDRM_BitsInDWORD-1; !SDRM_CheckBitUINT32(pdSrc2, i); i--, dNum_of_Shift++); - - if (dNum_of_Shift) - { - SDRM_DWD_SHL(C, C, c, dNum_of_Shift); - SDRM_DWD_SHL(pdSrc2, pdSrc2, dSrcLen2, dNum_of_Shift); - } - - for (i = c-dSrcLen2 - 1; i != (cc_u32)-1; i--) - { - if (C[dSrcLen2 + i]==pdSrc2[dSrcLen2 - 1] ) - { - q = (cc_u32)-1; - } - else - { - q = SDRM_DIGIT_Div(C[dSrcLen2 + i], C[dSrcLen2 + i - 1], pdSrc2[dSrcLen2 - 1]); - } - - if (SDRM_DWD_MulSub(C + i, dSrcLen2 + 1, pdSrc2, dSrcLen2, q) ) - { - q--; - if (!SDRM_DWD_Add(C + i, C + i, dSrcLen2 + 1, pdSrc2, dSrcLen2)) - { - q--; - SDRM_DWD_Add(C + i, C + i, dSrcLen2 + 1, pdSrc2, dSrcLen2); - } - } - pdDest[i] = q; - } - - //Recover lowest '0's - if (dNum_of_Shift) - { - SDRM_DWD_SHR(pdSrc2, pdSrc2, dSrcLen2, dNum_of_Shift); - SDRM_DWD_SHR(C, C, dSrcLen2, dNum_of_Shift); - } - - if (pdRem) - { - SDRM_DWD_Copy(pdRem, C, dSrcLen2); - } - - for (i = 0; i < c; i++) - { - if (C[i]) - { - free(C); - - return 1; - } - } - free(C); - - return 0; -} - -/* - * @fn SDRM_DWD_Classical_REDC - * @brief Classical Modular Reduction Algorithm - * - * @param pdDest [out]destination - * @param DstLen [in]length of pdDest - * @param pdModulus [in]modulus - * @param ModLen [in]legnth of pdModulus - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_DWD_Classical_REDC(cc_u32 *pdDest, cc_u32 DstLen, cc_u32 *pdModulus, cc_u32 ModLen) -{ - cc_u32 i; - cc_u32 MSB=0, TTTT=0, FLAG=0, D_Quotient, MSD_Modulus; - - if (DstLen < ModLen) - { - return CRYPTO_SUCCESS; - } - - if (pdDest[DstLen - 1] >= pdModulus[ModLen - 1]) - { - FLAG++; - TTTT = pdDest[DstLen]; - pdDest[DstLen++] = 0; - } - - for (i = SDRM_BitsInDWORD - 1; i != (cc_u32)-1; i--) - { - if (pdModulus[ModLen - 1] & ((cc_u32)1 << i)) - { - break; - } - - MSB++; - } - - if (MSB) - { - SDRM_DWD_SHL(pdModulus, pdModulus, ModLen, MSB); - SDRM_DWD_SHL(pdDest, pdDest, DstLen, MSB); - } - - // Step 2 : main part - MSD_Modulus = pdModulus[ModLen - 1]; - for (i = DstLen - ModLen - 1; i != (cc_u32)-1; i--) - { - // Step 2-1 : Estimate D_Quotient - if (pdDest[ModLen + i] == MSD_Modulus) - { - D_Quotient = (cc_u32)-1; - } - else - { - D_Quotient = SDRM_DIGIT_Div(pdDest[ModLen + i], pdDest[ModLen + i - 1], MSD_Modulus); - } - - // Step 2-2 : Make pdDest <- pdDest-D_Quotient*pdModulus - if (SDRM_DWD_MulSub(pdDest + i, ModLen + 1, pdModulus, ModLen, D_Quotient) ) - { - if (SDRM_DWD_Add(pdDest + i, pdDest + i, ModLen + 1, pdModulus, ModLen) == 0) - { - SDRM_DWD_Add(pdDest + i, pdDest + i, ModLen + 1, pdModulus, ModLen); - } - } - } - - // Step 4 : inverse part of Step 2 - if (MSB) - { - SDRM_DWD_SHR(pdModulus, pdModulus, ModLen, MSB); - SDRM_DWD_SHR(pdDest, pdDest, ModLen, MSB); - } - - // Step 4.5 : inverse part of Step 1.5 - if (FLAG) - { - DstLen--; - pdDest[DstLen] = TTTT; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DIGIT_Gcd - * @brief get gcd of two digits - * - * @param s1 [in]first element - * @param s2 [in]second element - * - * @return gcd - */ -CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Gcd(cc_u32 s1, cc_u32 s2) - { - cc_u32 dTemp; - - if (s1 < s2) - { - dTemp = s1; - s1 = s2; - s2 = dTemp; - } - - while(s2) - { - dTemp = s1 % s2; - s1 = s2; - s2 = dTemp; - } - - return s1; -} - -/* - * @fn SDRM_PrintBN - * @brief Show out a Big Number - * - * @param level [in]log level - * @param s [in]title - * @param bn [in]big number to show out - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_PrintBN(const char* s, SDRM_BIG_NUM* bn) -{ - cc_u32 i; - -#ifdef _SPC_FILE_LOG - fprintf(SPCLogCTX.file,"\n"); - fprintf(SPCLogCTX.file,"%15s %d :", s, (int)(bn->Length)); -#else - printf("%15s %d :", s, (int)(bn->Length)); -#endif - for (i = 0; i < bn->Length ; i++) - { -#ifdef _SPC_FILE_LOG - fprintf(SPCLogCTX.file,"%08x ", (int)(bn->pData[bn->Length - i -1])); -#else - printf("%08x ", (int)(bn->pData[bn->Length - i -1])); -#endif - } - -#ifdef _SPC_FILE_LOG - fprintf(SPCLogCTX.file, "\n"); - fflush(SPCLogCTX.file); - -#else - printf("\n"); -#endif - - return; -} - -/* - * @fn SDRM_BN2OS - * @brief Convert Big Number to Octet String - * - * @param BN_Src [in]source integer - * @param dDstLen [in]Byte-length of pbDst - * @param pbDst [out]output octet string - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if arrary is too small - */ -CRYPTOCORE_INTERNAL int SDRM_BN2OS(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst) -{ - cc_u32 i; - - if ((BN_Src == NULL) || (pbDst == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_BN_OPTIMIZE_LENGTH(BN_Src); - - if (BN_Src->sign) - { - pbDst[0] = '-'; - dDstLen += 1; - } - - if ((SDRM_SIZE_OF_DWORD * BN_Src->Length) <= dDstLen) - { - memset(pbDst, 0, dDstLen); - - for (i = 0; (dDstLen != 0) && (i < BN_Src->Length); i++) - { - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i] ) & 0xff); - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>> 8) & 0xff); - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>16) & 0xff); - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>24) & 0xff); - } - } - else - { - i = (SDRM_SIZE_OF_DWORD * BN_Src->Length) - dDstLen; - if (i >= SDRM_SIZE_OF_DWORD) - { - return CRYPTO_BUFFER_TOO_SMALL; - } - else if ( BN_Src->pData[BN_Src->Length - 1] >> (8 * (SDRM_SIZE_OF_DWORD - i))) - { - return CRYPTO_BUFFER_TOO_SMALL; - } - - for (i = 0;; i++) - { - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i] ) & 0xff); - if (dDstLen == 0) - { - break; - } - - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>> 8) & 0xFF); - if (dDstLen == 0) - { - break; - } - - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>16) & 0xFF); - if (dDstLen == 0) - { - break; - } - - pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>24) & 0xFF); - if (dDstLen == 0) - { - break; - } - } - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_OS2BN - * @brief Convert Octet String to Big Number - * - * @param pbSrc [in]source octet string - * @param dSrcLen [in]Byte-length of pbSrc - * @param BN_Dst [out]output big number - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if arrary is too small - */ -CRYPTOCORE_INTERNAL int SDRM_OS2BN(cc_u8 *pbSrc, cc_u32 dSrcLen, SDRM_BIG_NUM *BN_Dst) -{ - cc_u32 i; - int ret; - - if ((pbSrc == NULL) || (BN_Dst == NULL)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - SDRM_BN_Clr(BN_Dst); - - for (i = 0; i < dSrcLen; i++) - { - ret = SDRM_BN_SHL(BN_Dst, BN_Dst, 8); - - if (ret != CRYPTO_SUCCESS) - { - return ret; - } - - BN_Dst->pData[0] ^= pbSrc[i]; - if (BN_Dst->Length == 0) - BN_Dst->Length = 1; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_I2OSP - * @brief Converts a nonnonegative integer to an octet string of a specified length - * - * @param BN_Src [in]nonnegative integer to be converted - * @param dDstLen [in]intended length of the resulting octet string - * @param pbDst [out]corresponding octet string of length dDstLen - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_I2OSP(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst) -{ - int count; - - SDRM_BN_OPTIMIZE_LENGTH(BN_Src); - - count = 0; - for (dDstLen--; (int)dDstLen >= 0; dDstLen--) - { - pbDst[count++] = SDRM_CheckByteUINT32(BN_Src->pData, dDstLen); - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Clr - * @brief Clear the SDRM_BIG_NUM structure - * - * @param BN_Src [in]source - * - * @return CRYPTO_SUCCESS - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Clr(SDRM_BIG_NUM* BN_Src) -{ - BN_Src->sign = 0; - BN_Src->Length = 0; - - memset(BN_Src->pData, 0, BN_Src->Size * SDRM_SIZE_OF_DWORD); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Copy - * @brief copy SDRM_BIG_NUM - * - * @param BN_Dest [out]destination - * @param BN_Src [in]source - * - * @return CRYPTO_SUCCESS - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Copy(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src) -{ - if (BN_Src->Length > BN_Dest->Size) - { - return CRYPTO_BUFFER_TOO_SMALL; - } - - BN_Dest->sign = BN_Src->sign; - BN_Dest->Length = BN_Src->Length; - - memcpy(BN_Dest->pData, BN_Src->pData, BN_Src->Length * SDRM_SIZE_OF_DWORD); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Alloc - * @brief allocate big number from buffer - * - * @param pbSrc [in]start pointer of buffer - * @param dSize [in]buffer size of big number - * - * @return pointer of SDRM_BIG_NUM structure - */ -CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Alloc(cc_u8* pbSrc, cc_u32 dSize) -{ - SDRM_BIG_NUM *BN_Dest = (SDRM_BIG_NUM*)(void*)pbSrc; - - if (pbSrc == NULL) - { - return NULL; - } - - memset(BN_Dest, 0, sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD); - BN_Dest->pData = (cc_u32*)(void*)(pbSrc + sizeof(SDRM_BIG_NUM)); - BN_Dest->Size = dSize; - - return BN_Dest; -} - -/* - * @fn SDRM_BN_Init - * @brief Allocate a new big number object - * - * @param dSize [in]buffer size of big number - * - * @return pointer of SDRM_BIG_NUM structure - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Init(cc_u32 dSize) -{ - cc_u32 AllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - cc_u8 *pbBuf = (cc_u8*)malloc(AllocSize); - SDRM_BIG_NUM *BN_Src = (SDRM_BIG_NUM*)(void*)pbBuf; - if (BN_Src == NULL) - { - return NULL; - } - - memset(BN_Src, 0, AllocSize); - BN_Src->pData = (cc_u32*)(void*)(pbBuf + sizeof(SDRM_BIG_NUM)); - BN_Src->Size = dSize; - - return BN_Src; -} - -/* - * @fn SDRM_BN_Cmp - * @brief Compare two Big Number - * - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return 1 if BN_Src1 is larger than pdSrc2 - * \n 0 if same - * \n -1 if BN_Src2 is larger than pdSrc1 - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Cmp(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) -{ - if (BN_Src1->Length >= BN_Src2->Length) - { - return SDRM_DWD_Cmp(BN_Src1->pData, BN_Src1->Length, BN_Src2->pData, BN_Src2->Length); - } - else - { - return -SDRM_DWD_Cmp(BN_Src2->pData, BN_Src2->Length, BN_Src1->pData, BN_Src1->Length); - } -} - -/* - * @fn SDRM_BN_Cmp_sign - * @brief Compare two Big Number considering sign - * - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return 1 if BN_Src1 is larger than pdSrc2 - * \n 0 if same - * \n -1 if BN_Src2 is larger than pdSrc1 - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Cmp_sign(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) -{ - if (BN_Src1->sign > BN_Src2->sign) - { - return -1; - } - else if (BN_Src1->sign < BN_Src2->sign) - { - return 1; - } - - if ( BN_Src1->Length >= BN_Src2->Length ) - { - return SDRM_DWD_Cmp(BN_Src1->pData, BN_Src1->Length, BN_Src2->pData, BN_Src2->Length); - } - else - { - return -SDRM_DWD_Cmp(BN_Src2->pData, BN_Src2->Length, BN_Src1->pData, BN_Src1->Length); - } -} - -/* - * @fn SDRM_BN_Rand - * @brief Generate simple random number - * - * @param BN_Dst [out]destination - * @param BitLen [in]bit-length of generated random number - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Rand(SDRM_BIG_NUM *BN_Dst, cc_u32 BitLen) -{ - cc_u32 i, j; - - SDRM_BN_Clr(BN_Dst); - - for (i = 0; i < (BitLen / SDRM_BitsInDWORD); i++) - { - BN_Dst->pData[i] = rand() ^ (rand() << 11); - } - - j = BitLen % SDRM_BitsInDWORD; - if (j) - { - BN_Dst->pData[i] = rand() ^ (rand() << 11); - BN_Dst->pData[i] &= (((cc_u32)1) << j) - 1; - i++; - } - - BN_Dst->Length = ((BitLen - 1) / SDRM_BitsInDWORD) + 1; - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_SHL - * @brief Big Number Shift Left - * - * @param BN_Dst [out]destination - * @param BN_Src [in]source - * @param NumOfShift [in]shift amount - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_BN_SHL(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift) -{ - cc_u32 t; - - if (!BN_Src->Length) - { - SDRM_BN_Copy(BN_Dst, BN_Zero); - return CRYPTO_SUCCESS; - } - - BN_Dst->sign = BN_Src->sign; - - t = NumOfShift % SDRM_BitsInDWORD; - if (t) - { - BN_Dst->Length = BN_Src->Length; - t = SDRM_DWD_SHL(BN_Dst->pData, BN_Src->pData, BN_Src->Length, t); - if (t) - { - BN_Dst->pData[BN_Dst->Length++] = t; - } - } - - t = NumOfShift / SDRM_BitsInDWORD; - if (t) - { - BN_Dst->Length = BN_Src->Length + t; - - memcpy((BN_Dst->pData) + t, (BN_Src->pData), (BN_Dst->Length - t) * SDRM_SIZE_OF_DWORD); - - memset(BN_Dst->pData, 0, t * SDRM_SIZE_OF_DWORD); - } - - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_SHR - * @brief Big Number Shift Right - * - * @param BN_Dst [out]destination - * @param BN_Src [in]source - * @param NumOfShift [in]shift amount - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_BN_SHR(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift) -{ - cc_u32 t; - - if (!BN_Src->Length) - { - SDRM_BN_Copy(BN_Dst, BN_Src); - return CRYPTO_SUCCESS; - } - - t = NumOfShift / SDRM_BitsInDWORD; - if (t) - { - if (t >= BN_Src->Length) - { - SDRM_BN_Copy(BN_Dst, BN_Zero); - return CRYPTO_SUCCESS; - } - - memcpy(BN_Dst->pData, (BN_Src->pData) + t, (BN_Src->Length - t) * SDRM_SIZE_OF_DWORD); - - BN_Dst->Length = BN_Src->Length - t; - BN_Dst->sign = BN_Src->sign; - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - } - else - { - SDRM_BN_Copy(BN_Dst, BN_Src); - } - - t = NumOfShift % SDRM_BitsInDWORD; - if (t) - { - SDRM_DWD_SHR(BN_Dst->pData, BN_Dst->pData, BN_Dst->Length, t); - } - - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Add - * @brief Big Number Addition - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Add(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) -{ - cc_u32 carry, dSize, dAllocSize; - SDRM_BIG_NUM *temp, *temp_Src1, *temp_Src2; - cc_u8 *pbBuf; - - dSize = MAX2(BN_Src1->Size, BN_Src2->Size); - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - pbBuf = (cc_u8*)malloc(dAllocSize * 2); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - temp_Src1 = SDRM_BN_Alloc(pbBuf, dSize); - temp_Src2 = SDRM_BN_Alloc(pbBuf + dAllocSize, dSize); - - if (!BN_Src1->Length) - { - SDRM_BN_Copy(BN_Dst, BN_Src2); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - if (!BN_Src2->Length) { - SDRM_BN_Copy(BN_Dst, BN_Src1); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - SDRM_BN_Copy(temp_Src1, BN_Src1); - SDRM_BN_Copy(temp_Src2, BN_Src2); - - if (temp_Src1->sign ^ temp_Src2->sign) - { - if (temp_Src1->sign) - { - temp = temp_Src1; - temp_Src1 = temp_Src2; - temp_Src2 = temp; - } - - if (SDRM_BN_Cmp(temp_Src1, temp_Src2) < 0) - { - SDRM_DWD_Sub(BN_Dst->pData, temp_Src2->pData, temp_Src2->Length, temp_Src1->pData, temp_Src1->Length); - BN_Dst->sign = 1; - BN_Dst->Length = temp_Src2->Length; - } - else - { - SDRM_DWD_Sub(BN_Dst->pData, temp_Src1->pData, temp_Src1->Length, temp_Src2->pData, temp_Src2->Length); - BN_Dst->sign = 0; - BN_Dst->Length = temp_Src1->Length; - } - - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - if (temp_Src1->sign) - { - BN_Dst->sign = 1; - } - else - { - BN_Dst->sign = 0; - } - - if (temp_Src1->Length > temp_Src2->Length) - { - BN_Dst->Length = temp_Src1->Length; - carry = SDRM_DWD_Add(BN_Dst->pData, temp_Src1->pData, temp_Src1->Length, temp_Src2->pData, temp_Src2->Length); - if (carry) - { - BN_Dst->pData[BN_Dst->Length++] = carry; - } - } - else - { - BN_Dst->Length = temp_Src2->Length; - carry = SDRM_DWD_Add(BN_Dst->pData, temp_Src2->pData, temp_Src2->Length, temp_Src1->pData, temp_Src1->Length); - if ( carry ) - { - BN_Dst->pData[BN_Dst->Length++] = carry; - } - } - - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Sub - * @brief Big Number Subtraction - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Sub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) -{ - int i, add = 0, neg = 0, dSize, dAllocSize; - SDRM_BIG_NUM *temp, *temp_Src1, *temp_Src2; - cc_u8 *pbBuf; - - dSize = MAX2(BN_Src1->Size, BN_Src2->Size); - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - pbBuf = (cc_u8*)malloc(dAllocSize * 2); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - temp_Src1 = SDRM_BN_Alloc(pbBuf, dSize); - temp_Src2 = SDRM_BN_Alloc(pbBuf + dAllocSize, dSize); - - SDRM_BN_Copy(temp_Src1, BN_Src1); - SDRM_BN_Copy(temp_Src2, BN_Src2); - - if (BN_Src1 == BN_Src2) - { - SDRM_BN_Clr(BN_Dst); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - //to process sign - if (temp_Src1->sign) - { - if (temp_Src2->sign) - { - temp = temp_Src1; - temp_Src1 = temp_Src2; - temp_Src2 = temp; - } - else - { - add = 1; - neg = 1; - } - } - else - { - if (temp_Src2->sign) - { - add = 1; - neg = 0; - } - } - - if (add) - { - i = (temp_Src1->Length | temp_Src2->Length) +1; - if (i) - { - SDRM_BN_Add(BN_Dst, temp_Src1, temp_Src2); - } - else - { - SDRM_BN_Add(BN_Dst, temp_Src2, temp_Src1); - } - - BN_Dst->sign = neg; - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - if (SDRM_BN_Cmp(temp_Src1, temp_Src2) < 0) - { - SDRM_DWD_Sub(BN_Dst->pData, temp_Src2->pData, temp_Src2->Length, temp_Src1->pData, temp_Src1->Length); - BN_Dst->sign = 1; - BN_Dst->Length = temp_Src2->Length; - } - else - { - SDRM_DWD_Sub(BN_Dst->pData, temp_Src1->pData, temp_Src1->Length, temp_Src2->pData, temp_Src2->Length); - BN_Dst->sign = 0; - BN_Dst->Length = temp_Src1->Length; - } - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Mul - * @brief Big Number Multiplication - * - * @param BN_Dst [out]destination - * @param BN_Multiplicand [in]first element - * @param BN_Multiplier [in]second element - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Multiplicand, SDRM_BIG_NUM *BN_Multiplier) -{ - SDRM_BIG_NUM *Dst; - - if ((BN_Multiplicand->Length == 0) || (BN_Multiplier->Length == 0)) - { - SDRM_BN_Clr(BN_Dst); - return CRYPTO_SUCCESS; - } - - Dst = SDRM_BN_Init(BN_Dst->Size * 2); - if (Dst == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - Dst->Length = BN_Multiplicand->Length + BN_Multiplier->Length; - - if (BN_Multiplicand->sign != BN_Multiplier->sign) - { - Dst->sign = 1; - } - else - { - Dst->sign = 0; - } - - if (BN_Multiplicand->Length > BN_Multiplier->Length) - { - SDRM_DWD_Mul(Dst->pData, BN_Multiplicand->pData, BN_Multiplicand->Length, BN_Multiplier->pData, BN_Multiplier->Length); - } - else - { - SDRM_DWD_Mul(Dst->pData, BN_Multiplier->pData, BN_Multiplier->Length, BN_Multiplicand->pData, BN_Multiplicand->Length); - } - - SDRM_BN_OPTIMIZE_LENGTH(Dst); - - SDRM_BN_Copy(BN_Dst, Dst); - SDRM_BN_FREE(Dst); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_Div - * @brief Big Number Division - * - * @param BN_Quotient [out]quotient - * @param BN_Remainder [out]remainder - * @param BN_Dividend [in]dividend - * @param BN_Divisor [in]divisor - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_Div(SDRM_BIG_NUM *BN_Quotient, SDRM_BIG_NUM *BN_Remainder, SDRM_BIG_NUM *BN_Dividend, SDRM_BIG_NUM *BN_Divisor) -{ - cc_u32 tmp, dSize, dAllocSize; - SDRM_BIG_NUM *temp_Dividend, *temp_Divisor; - cc_u32 *bnTmp; - cc_u8 *pbBuf; - - if (BN_Quotient != NULL) - { - dSize = MAX2(BN_Quotient->Size, BN_Dividend->Size); - } - else - { - dSize = BN_Dividend->Size; - } - - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - pbBuf = (cc_u8*)malloc(dAllocSize * 3 + 2 * SDRM_SIZE_OF_DWORD); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - temp_Dividend = SDRM_BN_Alloc(pbBuf, dSize); - temp_Divisor = SDRM_BN_Alloc(pbBuf + dAllocSize, dSize); - bnTmp = (cc_u32*)(void*)(pbBuf + dSize + dAllocSize); - - SDRM_BN_Copy(temp_Dividend, BN_Dividend); - SDRM_BN_Copy(temp_Divisor, BN_Divisor); - - if (SDRM_BN_Cmp(temp_Dividend, temp_Divisor) < 0) - { - if (BN_Remainder != NULL) - { - SDRM_BN_Copy(BN_Remainder, temp_Dividend); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - if (BN_Quotient != NULL) - { - SDRM_BN_Clr(BN_Quotient); - } - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - if (BN_Quotient == NULL) - { - BN_Remainder->Length = temp_Divisor->Length; - - tmp = SDRM_DWD_Div(bnTmp, BN_Remainder->pData, temp_Dividend->pData, temp_Dividend->Length, temp_Divisor->pData, temp_Divisor->Length); - SDRM_BN_OPTIMIZE_LENGTH(BN_Remainder); - BN_Remainder->sign = BN_Dividend->sign; - } - else if (BN_Remainder == NULL) - { - BN_Quotient->Length = temp_Dividend->Length - temp_Divisor->Length + 1; - - tmp = SDRM_DWD_Div(BN_Quotient->pData, bnTmp, temp_Dividend->pData, temp_Dividend->Length, temp_Divisor->pData, temp_Divisor->Length); - SDRM_BN_OPTIMIZE_LENGTH(BN_Quotient); - BN_Quotient->sign= (BN_Dividend->sign^BN_Divisor->sign); - } - else - { - BN_Quotient->Length = temp_Dividend->Length - temp_Divisor->Length + 1; - BN_Remainder->Length = temp_Divisor->Length; - BN_Quotient->sign= (BN_Dividend->sign^BN_Divisor->sign); - BN_Remainder->sign = BN_Dividend->sign; - - tmp = SDRM_DWD_Div(BN_Quotient->pData, BN_Remainder->pData, BN_Dividend->pData, BN_Dividend->Length, BN_Divisor->pData, BN_Divisor->Length); - - SDRM_BN_OPTIMIZE_LENGTH(BN_Quotient); - SDRM_BN_OPTIMIZE_LENGTH(BN_Remainder); - } - - free(pbBuf); - - if (tmp != 0) - { - return CRYPTO_ERROR; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_ModAdd - * @brief Big Number Modular Addition - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element of addition - * @param BN_Src2 [in]second element of addition - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModAdd(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus) -{ - SDRM_BIG_NUM *BN_Src1_temp, *BN_Src2_temp; - cc_u8 *pbBuf; - cc_u32 tmp = 0, dSize, AllocSize; - - dSize = MAX3(BN_Src1->Size, BN_Src2->Size, BN_Modulus->Size); - AllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - pbBuf = (cc_u8*)malloc(AllocSize * 2); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_Src1_temp = SDRM_BN_Alloc(pbBuf, dSize); - BN_Src2_temp = SDRM_BN_Alloc(pbBuf + AllocSize, dSize); - - SDRM_BN_Copy(BN_Src1_temp, BN_Src1); - SDRM_BN_Copy(BN_Src2_temp, BN_Src2); - - if ((SDRM_BN_Cmp(BN_Src1, BN_Modulus)>=0)) - { - SDRM_BN_ModRed(BN_Src1_temp, BN_Src1, BN_Modulus); - } - - if ((SDRM_BN_Cmp(BN_Src2, BN_Modulus)>=0)) - { - SDRM_BN_ModRed(BN_Src2_temp, BN_Src2, BN_Modulus); - } - - if ( BN_Src1_temp->Length>=BN_Src2_temp->Length ) - { - BN_Dst->Length = BN_Src1_temp->Length; - BN_Dst->sign = BN_Src1_temp->sign; - tmp = SDRM_DWD_Add(BN_Dst->pData, BN_Src1_temp->pData, BN_Src1_temp->Length, BN_Src2_temp->pData, BN_Src2_temp->Length); - } - else - { - BN_Dst->Length = BN_Src2_temp->Length; - BN_Dst->sign = BN_Src2_temp->sign; - tmp = SDRM_DWD_Add(BN_Dst->pData, BN_Src2_temp->pData, BN_Src2_temp->Length, - BN_Src1_temp->pData, BN_Src1_temp->Length); - } - - if (tmp) - { - BN_Dst->pData[BN_Dst->Length++] = tmp; - } - - SDRM_BN_ModRed(BN_Dst, BN_Dst, BN_Modulus); - - if (SDRM_DWD_Cmp(BN_Dst->pData, BN_Dst->Length, BN_Modulus->pData, BN_Modulus->Length) >= 0) - { - SDRM_DWD_Sub(BN_Dst->pData, BN_Dst->pData, BN_Dst->Length, BN_Modulus->pData, BN_Modulus->Length); - } - - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_ModSub - * @brief Big Number Modular Subtraction - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element of subtraction - * @param BN_Src2 [in]second element of subtraction - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModSub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus) -{ - cc_u32 tmp = 0, dSize, AllocSize; - SDRM_BIG_NUM *BN_Src1_temp, *BN_Src2_temp; - cc_u8 *pbBuf; - - dSize = MAX3(BN_Src1->Size, BN_Src2->Size, BN_Modulus->Size); - AllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - pbBuf = (cc_u8*)malloc(AllocSize * 2); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_Src1_temp = SDRM_BN_Alloc(pbBuf, dSize); - BN_Src2_temp = SDRM_BN_Alloc(pbBuf + AllocSize, dSize); - - SDRM_BN_Copy(BN_Src1_temp, BN_Src1); - SDRM_BN_Copy(BN_Src2_temp, BN_Src2); - - if ((SDRM_BN_Cmp(BN_Src1, BN_Modulus) >= 0)) - { - SDRM_BN_ModRed(BN_Src1_temp, BN_Src1, BN_Modulus); - } - - if ((SDRM_BN_Cmp(BN_Src2, BN_Modulus) >= 0)) - { - SDRM_BN_ModRed(BN_Src2_temp, BN_Src2, BN_Modulus); - } - - if (SDRM_DWD_Cmp(BN_Src1_temp->pData, BN_Src1_temp->Length, BN_Src2_temp->pData, BN_Src2_temp->Length) >= 0) - { - BN_Dst->Length = BN_Src1_temp->Length; - BN_Dst->sign = BN_Src1_temp->sign; - - tmp = SDRM_DWD_Sub(BN_Dst->pData, BN_Src1_temp->pData, BN_Src1_temp->Length, BN_Src2_temp->pData, BN_Src2_temp->Length); - } - else - { - BN_Dst->Length = BN_Modulus->Length; - BN_Dst->sign = BN_Modulus->sign; - SDRM_DWD_Add(BN_Dst->pData, BN_Modulus->pData, BN_Modulus->Length, BN_Src1_temp->pData, BN_Src1_temp->Length); - SDRM_DWD_Sub(BN_Dst->pData, BN_Dst->pData, BN_Dst->Length, BN_Src2_temp->pData, BN_Src2_temp->Length); - } - - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - free(pbBuf); - - if (tmp != 0) - { - return CRYPTO_ERROR; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_ModRed - * @brief Big Number Modular Reduction - * - * @param BN_Dst [out]destination - * @param BN_Src [in]source - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModRed(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus) -{ - int ret; - cc_u32 *Value = (cc_u32*)malloc(SDRM_SIZE_OF_DWORD * 2 * (sizeof(SDRM_BIG_NUM) + MAX2(BN_Src->Size, BN_Modulus->Size) + 2)); - - if (!Value) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if (SDRM_BN_Cmp(BN_Src, BN_Modulus) < 0) - { - SDRM_BN_Copy(BN_Dst, BN_Src); - free(Value); - return CRYPTO_SUCCESS; - } - - memcpy(Value, BN_Src->pData, BN_Src->Length * SDRM_SIZE_OF_DWORD); - - ret = SDRM_DWD_Classical_REDC(Value, BN_Src->Length, BN_Modulus->pData, BN_Modulus->Length); - - if (ret != CRYPTO_SUCCESS) - { - free(Value); - return ret; - } - - memcpy(BN_Dst->pData, Value, BN_Modulus->Length * SDRM_SIZE_OF_DWORD); - - BN_Dst->Length = BN_Modulus->Length; - BN_Dst->sign = BN_Modulus->sign; - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - - free(Value); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_ModMul - * @brief Big Number Modular Multiplication - * - * @param BN_Dst [out]destination - * @param BN_Src1 [in]first element of multiplication - * @param BN_Src2 [in]second element of multipliation - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModMul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus) -{ - int ret; - cc_u32 *Value = (cc_u32*)malloc(SDRM_SIZE_OF_DWORD * (MAX3(BN_Src1->Size, BN_Src2->Size, BN_Modulus->Size) + 2)); - - if (!Value) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_Dst->sign = (BN_Src1->sign == BN_Src2->sign)? 0 : 1; - - SDRM_DWD_Mul(Value, BN_Src1->pData, BN_Src1->Length, BN_Src2->pData, BN_Src2->Length); - - ret = SDRM_DWD_Classical_REDC(Value, BN_Src1->Length+BN_Src2->Length, BN_Modulus->pData, BN_Modulus->Length); - if (ret != CRYPTO_SUCCESS) - { - free(Value); - - return ret; - } - - BN_Dst->Length = BN_Modulus->Length; - - if (BN_Src1->Length + BN_Src2->Length <= BN_Dst->Length) - { - memset(BN_Dst->pData + BN_Src1->Length + BN_Src2->Length, 0, (BN_Dst->Length - BN_Src1->Length - BN_Src2->Length) * SDRM_SIZE_OF_DWORD); - } - - memcpy(BN_Dst->pData, Value, (BN_Src1->Length + BN_Src2->Length) * SDRM_SIZE_OF_DWORD); - - SDRM_BN_OPTIMIZE_LENGTH(BN_Dst); - - free(Value); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_ModInv - * @brief Big Number Modular Inverse - * - * @param BN_Dest [out]destination - * @param BN_Src [in]soure - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_NEGATIVE_INPUT if source is negative value - * \n CRYPTO_INVERSE_NOT_EXIST if inverse is not exists - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModInv(SDRM_BIG_NUM *BN_Dest, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus) -{ - SDRM_BIG_NUM *BN_G0, *BN_G1, *BN_V0, *BN_V1, *BN_Y, *BN_Temp1, *BN_Temp2; - cc_u8 *pbBuf = NULL; - cc_u32 dSize, dAllocSize; - - dSize = MAX2(BN_Src->Size, BN_Modulus->Size); - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - pbBuf = (cc_u8*)malloc(dAllocSize * 7); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_G0 = SDRM_BN_Alloc(pbBuf, dSize); - BN_G1 = SDRM_BN_Alloc((cc_u8*)BN_G0 + dAllocSize, dSize); - BN_V0 = SDRM_BN_Alloc((cc_u8*)BN_G1 + dAllocSize, dSize); - BN_V1 = SDRM_BN_Alloc((cc_u8*)BN_V0 + dAllocSize, dSize); - BN_Y = SDRM_BN_Alloc((cc_u8*)BN_V1 + dAllocSize, dSize); - BN_Temp1 = SDRM_BN_Alloc((cc_u8*)BN_Y + dAllocSize, dSize); - BN_Temp2 = SDRM_BN_Alloc((cc_u8*)BN_Temp1 + dAllocSize, dSize); - - if (BN_Src->sign) - { - free(pbBuf); - return CRYPTO_NEGATIVE_INPUT; - } - - //Extended Euclid Algorithm - SDRM_BN_Copy(BN_G0, BN_Modulus); - SDRM_BN_ModRed(BN_G1, BN_Src, BN_Modulus); - - SDRM_BN_Copy(BN_V0, BN_Zero); - SDRM_BN_Copy(BN_V1, BN_One); - - SDRM_BN_Clr(BN_Y); - SDRM_BN_Clr(BN_Dest); - - while(SDRM_BN_Cmp(BN_G1, BN_Zero)) - { - if (!SDRM_BN_Cmp(BN_G1, BN_One)) - { - SDRM_BN_Copy(BN_Dest, BN_V1); - SDRM_BN_OPTIMIZE_LENGTH(BN_Dest); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - SDRM_BN_Clr(BN_Y); - SDRM_BN_Clr(BN_Temp1); - SDRM_DWD_Div(BN_Y->pData, BN_Temp1->pData, BN_G0->pData, BN_G0->Length, BN_G1->pData, BN_G1->Length); - - BN_Y->Length = BN_G0->Length; - SDRM_BN_OPTIMIZE_LENGTH(BN_Y); - - BN_Temp1->Length = BN_G1->Length; - SDRM_BN_Copy(BN_G0, BN_Temp1); - SDRM_BN_OPTIMIZE_LENGTH(BN_G0); - - SDRM_BN_Clr(BN_Temp1); - SDRM_DWD_Mul(BN_Temp1->pData, BN_Y->pData, BN_Y->Length, BN_V1->pData, BN_V1->Length); - BN_Temp1->Length = BN_Y->Length + BN_V1->Length; - SDRM_BN_OPTIMIZE_LENGTH(BN_Temp1); - - SDRM_BN_Clr(BN_Temp2); - if (SDRM_BN_Cmp(BN_V0, BN_Temp1) >= 0) - { - SDRM_BN_Add(BN_Temp2, BN_V0, BN_Temp1); - } - else - { - SDRM_BN_Add(BN_Temp2, BN_Temp1, BN_V0); - } - - SDRM_BN_Copy(BN_V0, BN_Temp2); - - if (!SDRM_BN_Cmp(BN_G0, BN_Zero)) - { - break; - } - - if (!SDRM_BN_Cmp(BN_G0, BN_One)) - { - SDRM_BN_Sub(BN_Dest, BN_Modulus, BN_V0); - SDRM_BN_OPTIMIZE_LENGTH(BN_Dest); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - SDRM_BN_Clr(BN_Y); - SDRM_BN_Clr(BN_Temp1); - SDRM_DWD_Div(BN_Y->pData, BN_Temp1->pData, BN_G1->pData, BN_G1->Length, BN_G0->pData, BN_G0->Length); - - BN_Y->Length = BN_G1->Length; - SDRM_BN_OPTIMIZE_LENGTH(BN_Y); - - BN_Temp1->Length = BN_G0->Length; - SDRM_BN_Copy(BN_G1, BN_Temp1); - SDRM_BN_OPTIMIZE_LENGTH(BN_G1); - - SDRM_BN_Clr(BN_Temp1); - SDRM_DWD_Mul(BN_Temp1->pData, BN_Y->pData, BN_Y->Length, BN_V0->pData, BN_V0->Length); - BN_Temp1->Length = BN_Y->Length + BN_V0->Length; - SDRM_BN_OPTIMIZE_LENGTH(BN_Temp1); - - SDRM_BN_Clr(BN_Temp2); - if (SDRM_BN_Cmp(BN_V1, BN_Temp1) >= 0) - { - SDRM_BN_Add(BN_Temp2, BN_V1, BN_Temp1); - } - else - { - SDRM_BN_Add(BN_Temp2, BN_Temp1, BN_V1); - } - - SDRM_BN_Copy(BN_V1, BN_Temp2); - } - - SDRM_BN_Copy(BN_Dest, BN_Zero); - free(pbBuf); - - return CRYPTO_INVERSE_NOT_EXIST; -} - -/* - * @fn SDRM_MONT_Rzn2zn - * @brief Convert Montgomery number to noraml number - * - * @param BN_Dst [out]destination, normal number - * @param BN_Src1 [in]source, montgomery number - * @param Mont [in]montgomery parameters - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_MONT_Rzn2zn(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_MONT *Mont) -{ - cc_u32 Src1_Len, Mod_Len, ri, i; - cc_u32 carry; - SDRM_BIG_NUM *Src1 = NULL; - - if (!BN_Src1->Length) - { - BN_Dst->Length = 0; - - return CRYPTO_SUCCESS; - } - - Src1_Len = ri = Mont->ri / SDRM_BitsInDWORD; - Mod_Len = Mont->Mod->Length + 1; - - Src1 = SDRM_BN_Init(BN_Src1->Size + Mod_Len); - if(Src1 == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_BN_Copy(Src1, BN_Src1); - - if (!Src1_Len || !Mod_Len) - { - BN_Dst->Length = 0; - BN_Dst->pData[0] = 0; - SDRM_BN_FREE(Src1); - - return CRYPTO_SUCCESS; - } - - Src1->sign = BN_Src1->sign ^ Mont->Mod->sign; - - memset(Src1->pData + Src1->Length, 0, (Mod_Len + BN_Src1->Length - Src1->Length) * SDRM_SIZE_OF_DWORD); - - Src1->Length = Mod_Len + BN_Src1->Length; - - for (i = 0; i < Mod_Len; i++) - { - if ((carry = SDRM_DWD_MulAdd(Src1->pData + i, Src1->Length - i, Mont->Mod->pData, Mod_Len, (cc_u32)Src1->pData[i] * Mont->N0))) - { - Src1->pData[Src1->Length++] = carry; //Added by Park Ji soon, 05-03-2006 - } // (cc_u32)A.pData[i]*modulus_p <== u=a[i]*m' mod b - // A=A+ (A.pData[i]*modulus_p* modulus[i])*b^i; - } - SDRM_BN_OPTIMIZE_LENGTH(Src1); - - SDRM_BN_SHR(BN_Dst, Src1, (Mod_Len) * 32); - //BN_Dst->Length = Src1->Length - ri; - BN_Dst->Length = Src1->Length - ri- 1;//Added by yhhwang - - //if (SDRM_BN_Cmp(BN_Dst, Mont->Mod) >= 0) - while (SDRM_BN_Cmp(BN_Dst, Mont->Mod) >= 0) - { - SDRM_BN_Sub(BN_Dst, BN_Dst, Mont->Mod); - } - - SDRM_BN_FREE(Src1); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_MONT_Mul - * @brief Montgomery Multiplication - * - * @param BN_Dst [out]destination, montgomery number - * @param BN_Src1 [in]first element, montgomery number - * @param BN_Src2 [in]second element, montgomery number - * @param Mont [in]montgomery parameters - * - * @return CRYPTO_SUCCESS if no error occured - */ -CRYPTOCORE_INTERNAL int SDRM_MONT_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_MONT *Mont) -{ - int ret; - - /* Begin - Add to test input range by Yong Ho Hwang (20120809) */ - /* - if (SDRM_BN_Cmp(BN_Src1, Mont->Mod) >= 0) - { - ret = SDRM_BN_ModRed(BN_Src1, BN_Src1, Mont->Mod); - if (ret != CRYPTO_SUCCESS) - { - return ret; - } - } else if ( BN_Src1->sign == 1) - { - printf("Minus Value\n"); - ret = SDRM_BN_Add(BN_Src1, BN_Src1, Mont->Mod); - if (BN_Src1->sign == 1) - { - printf("Value Fail.\n"); - return CRYPTO_ERROR; - } - } - - if (SDRM_BN_Cmp(BN_Src2, Mont->Mod) >= 0) - { - ret = SDRM_BN_ModRed(BN_Src2, BN_Src2, Mont->Mod); - if (ret != CRYPTO_SUCCESS) - { - return ret; - } - } else if ( BN_Src2->sign == 1) - { - printf("Minus Value\n"); - ret = SDRM_BN_Add(BN_Src2, BN_Src2, Mont->Mod); - if (BN_Src2->sign == 1) - { - printf("Value Fail.\n"); - return CRYPTO_ERROR; - } - } - */ - /* End - Add to test input range by Yong Ho Hwang (20120809) */ - - ret = SDRM_BN_Mul(BN_Dst, BN_Src1, BN_Src2); - if (ret != CRYPTO_SUCCESS) - { - return ret; - } - - ret = SDRM_MONT_Rzn2zn(BN_Dst, BN_Dst, Mont); - - /* Begin - Add to test input range by Yong Ho Hwang (20120809) */ - /* - if (SDRM_BN_Cmp(BN_Dst, Mont->Mod) >= 0) - { - printf("Output is bigger than Mod\n"); - } else if ( BN_Dst->sign == 1) - { - printf("Minus Value\n"); - } - */ - /* End - Add to test input range by Yong Ho Hwang (20120809) */ - - return ret; -} - -/* - * @fn SDRM_MONT_Set - * @brief Set Montgomery parameters - * - * @param Mont [out]montgomery parameter - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n BN_NOT_ENOUGHT_BUFFER if malloc is failed - * \n CRYPTO_INVERSE_NOT_EXIST if inverse is not exists - */ -CRYPTOCORE_INTERNAL int SDRM_MONT_Set(SDRM_BIG_MONT *Mont, SDRM_BIG_NUM *BN_Modulus) -{ - SDRM_BIG_NUM *Ri, *R; - SDRM_BIG_NUM *temp, *Rsquare; - cc_u8 *pbBuf; - cc_u32 buf[2], dSize, dAllocSize, r2Size; - - if ((Mont == NULL) || (BN_Modulus == NULL)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (Mont->R == NULL) - { - Mont->R = SDRM_BN_Init(BN_Modulus->Size); - if(Mont->R == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - } - - if (Mont->Mod == NULL) - { - Mont->Mod = SDRM_BN_Init(BN_Modulus->Size); - if(Mont->Mod == NULL) - { - free(Mont->R); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - } - - if (SDRM_BN_Cmp(Mont->Mod, BN_Modulus) == 0) - { - return CRYPTO_SUCCESS; - } - - dSize = BN_Modulus->Size + 1; - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - if (!(pbBuf = (cc_u8*)malloc(dAllocSize * 3))) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - Ri = SDRM_BN_Alloc( pbBuf, dSize); - R = SDRM_BN_Alloc((cc_u8*)Ri + dAllocSize, dSize); - temp = SDRM_BN_Alloc((cc_u8*)R + dAllocSize, dSize); - -//++ 2012.08.20 - modified by yhhwang to apply R=2^(160+32) -/* == DELETED == - SDRM_BN_Copy(Mont->Mod, BN_Modulus); - - Mont->ri = (SDRM_BN_num_bits(BN_Modulus) + (SDRM_BitsInDWORD - 1)) / SDRM_BitsInDWORD * SDRM_BitsInDWORD; - - SDRM_BN_SHL(R, BN_One, SDRM_BitsInDWORD); - - buf[0] = BN_Modulus->pData[0]; - buf[1] = 0; - temp->pData[0] = buf[0]; - temp->Length = 1; - temp->sign = BN_Modulus->sign; - - SDRM_BN_ModInv(Ri, R, temp); - if (Ri == NULL) - { - free(pbBuf); - - return CRYPTO_INVERSE_NOT_EXIST; - } - - SDRM_BN_SHL(Ri, Ri, SDRM_BitsInDWORD); - SDRM_BN_Sub(Ri, Ri, BN_One); - SDRM_BN_Div(Ri, NULL, Ri, temp); - SDRM_BN_Copy(Mont->Inv_Mod, Ri); - Mont->N0 = Ri->pData[0]; - - SDRM_BN_SHL(Mont->R, BN_One, 2 * (32 + Mont->ri)); - SDRM_BN_ModRed(Mont->R, Mont->R, Mont->Mod); -*/ - -// == NEW CODE == - SDRM_BN_Copy(Mont->Mod, BN_Modulus); - Mont->Mod->pData[Mont->Mod->Length] = 0; - - Mont->ri = (SDRM_BN_num_bits(BN_Modulus) + (SDRM_BitsInDWORD - 1)) / SDRM_BitsInDWORD * SDRM_BitsInDWORD; - - SDRM_BN_SHL(R, BN_One, SDRM_BitsInDWORD); - - // Compute -m^-1 mod b - buf[0] = BN_Modulus->pData[0]; - buf[1] = 0; - temp->pData[0] = buf[0]; - temp->Length = 1; - temp->sign = BN_Modulus->sign; - - SDRM_BN_ModInv(Ri, temp, R); - Ri->sign = 1; - SDRM_BN_Add(Ri, Ri, R); - Mont->N0 = Ri->pData[0]; - - r2Size = 2 * (SDRM_BitsInDWORD + Mont->ri); - Rsquare = SDRM_BN_Init(r2Size / SDRM_BitsInDWORD + 1); - if (Rsquare == NULL) - { - free(pbBuf); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - // Compute R and R^2 mod M - SDRM_BN_SHL(Rsquare, BN_One, r2Size); - SDRM_BN_ModRed(Mont->R, Rsquare, BN_Modulus); -//-- 2012.08.20 - modified by yhhwang - - free(pbBuf); - free(Rsquare); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_MONT_Init - * @brief Allocate new momory for Montgomery parameter - * - * @param dSize [in]size of buffer of big number - * - * @return Pointer to created structure - * \n NULL if malloc failed - */ -CRYPTOCORE_INTERNAL SDRM_BIG_MONT *SDRM_MONT_Init(cc_u32 dSize) -{ - SDRM_BIG_MONT *Mont; - cc_u32 AllocSiz = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - Mont = (SDRM_BIG_MONT *)malloc(sizeof(SDRM_BIG_MONT) + AllocSiz * 3); - if (Mont == NULL) - { - return NULL; - } - - Mont->ri = 0; - Mont->R = SDRM_BN_Alloc((cc_u8*)Mont + sizeof(SDRM_BIG_MONT), dSize); - Mont->Mod = SDRM_BN_Alloc((cc_u8*)Mont->R + AllocSiz, dSize); - Mont->Inv_Mod = SDRM_BN_Alloc((cc_u8*)Mont->Mod + AllocSiz, dSize); - - return Mont; -} - -/* - * @fn SDRM_MONT_Free - * @brief Free allocated memory for montgomery paramter - * - * @param Mont [in]montgomery parameters - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_MONT_Free(SDRM_BIG_MONT *Mont) -{ - if (Mont != NULL) { - free(Mont); - } -} - -/* - * @fn SDRM_BN_num_bits - * @brief Calc bit-length of Big Number - * - * @param BN_Src [in]source - * - * @return bit-length - */ -CRYPTOCORE_INTERNAL int SDRM_BN_num_bits(SDRM_BIG_NUM *BN_Src) -{ - cc_u32 l; - int i, j; - - if (BN_Src->Length == 0) - { - return 0; - } - - l = BN_Src->pData[BN_Src->Length - 1]; - i = (BN_Src->Length-1) * SDRM_BitsInDWORD; - - j = SDRM_UINT32_num_bits(&l); - - return(i + j); -} - -/* - * @fn SDRM_UINT32_num_bits - * @brief Calc bit-length of cc_u32 - * - * @param pdSrc [in]source - * - * @return bit-length - */ -CRYPTOCORE_INTERNAL int SDRM_UINT32_num_bits(cc_u32 *pdSrc) -{ - int i = 0; - cc_u32 temp; - - temp = *pdSrc; - - if (!temp) - { - return 0; - } - - while(temp) - { - temp >>= 1; - i++; - } - - return i; -} - -/* - * @fn SDRM_INT_num_bits - * @brief Calc bit-length of integer - * - * @param Src [in]source - * - * @return bit-length - */ -CRYPTOCORE_INTERNAL int SDRM_INT_num_bits(int Src) -{ - int i = 0; - - if (!Src) - { - return 0; - } - - while(Src) - { - Src >>= 1; - i++; - } - - return i; -} - -/* - * @fn SDRM_BN_ModExp - * @brief Big Number Modular Exponentiation - * - * @param BN_Dst [out]destination - * @param BN_Base [in]base - * @param BN_Exponent [in]exponent - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModExp(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus) -{ - SDRM_BIG_NUM *c_, *a_, *BN_Temp; - SDRM_BIG_MONT *Mont; - int i, m; - cc_u8 *pbBuf; - cc_u32 dSize, dAllocSize; - - dSize = MAX3(BN_Base->Size, BN_Exponent->Size, BN_Modulus->Size); - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - pbBuf = (cc_u8*)malloc(dAllocSize * 3); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - c_ = SDRM_BN_Alloc(pbBuf, dSize); - a_ = SDRM_BN_Alloc((cc_u8*)c_ + dAllocSize, dSize); - BN_Temp = SDRM_BN_Alloc((cc_u8*)a_ + dAllocSize, dSize); - - if (SDRM_BN_Cmp(BN_Base, BN_Modulus) >= 0) - { - SDRM_BN_ModRed(BN_Temp, BN_Base, BN_Modulus); - } - else - { - BN_Temp = BN_Base; - } - - if (SDRM_BN_Cmp(BN_Temp, BN_Zero) == 0) - { - SDRM_BN_Copy(BN_Dst, BN_Zero); - - free(pbBuf); - return CRYPTO_SUCCESS; - } - - Mont = SDRM_MONT_Init(dSize); - SDRM_MONT_Set(Mont, BN_Modulus); - - SDRM_MONT_Zn2rzn(a_, BN_Temp, Mont); - SDRM_MONT_Zn2rzn(c_, BN_One, Mont); - - m = SDRM_BN_num_bits(BN_Exponent); - - for (i = m - 1; i >= 0; i--) - { - SDRM_MONT_Mul(c_, c_, c_, Mont); - - if (SDRM_CheckBitUINT32(BN_Exponent->pData, i) == 1) - { - SDRM_MONT_Mul(c_, c_, a_, Mont); - } - } - - SDRM_MONT_Rzn2zn(BN_Dst, c_, Mont); - - SDRM_MONT_Free(Mont); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_ModExp2 - * @brief Big Number Modular Exponentiation2 - Karen's method - * - * @param BN_Dst [out]destination - * @param BN_Base [in]base - * @param BN_Exponent [in]exponent - * @param BN_Modulus [in]modular m - * - * @return CRYPTO_SUCCESS if no error occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_BN_ModExp2(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus) -{ - int retVal; - SDRM_BIG_NUM *BN_Temp; - - if ((BN_Dst != BN_Base) && (BN_Dst != BN_Exponent) && (BN_Dst != BN_Modulus)) - { - SDRM_BN_Clr(BN_Dst); - } - - if (SDRM_BN_Cmp(BN_Base, BN_Modulus) >= 0) - { - BN_Temp = SDRM_BN_Init(MAX3(BN_Base->Size, BN_Exponent->Size, BN_Modulus->Size)); - if (BN_Temp == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if (BN_Temp == BN_Base) - { - free(BN_Temp); - return CRYPTO_ERROR; - } - - SDRM_BN_ModRed(BN_Temp, BN_Base, BN_Modulus); - } - else - { - BN_Temp = BN_Base; - } - - if (SDRM_BN_Cmp(BN_Temp, BN_Zero) == 0) - { - SDRM_BN_Clr(BN_Dst); - - if (BN_Temp != BN_Base) - { - free(BN_Temp); - } - - return CRYPTO_SUCCESS; - } - - retVal = SDRM_ll_ExpMod(BN_Temp->pData, BN_Temp->Length * 4, BN_Exponent->pData, BN_Exponent->Length * 4, BN_Modulus->pData, BN_Modulus->Length * 4, BN_Dst->pData); - if (retVal != CRYPTO_SUCCESS) - { - if (BN_Temp != BN_Base) - { - free(BN_Temp); - } - - return retVal; - } - - BN_Dst->Length = BN_Dst->Size; - - while(BN_Dst->pData[BN_Dst->Length - 1] == 0) - { - BN_Dst->Length--; - } - - if (BN_Temp != BN_Base) - { - free(BN_Temp); - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_BN_CheckRelativelyPrime - * @brief get gcd of two big number - * - * @param BN_Src1 [in]first element - * @param BN_Src2 [in]second element - * - * @return CRYPTO_ISPRIME if two elements are relatively prime - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR otherwise - */ -CRYPTOCORE_INTERNAL int SDRM_BN_CheckRelativelyPrime(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2) -{ - SDRM_BIG_NUM *Temp, *S1, *S2; - cc_u8 *pbBuf; - cc_u32 dSize, dAllocSize; - - dSize = MAX2(BN_Src1->Size, BN_Src2->Size); - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - if (!(pbBuf = (cc_u8*)malloc(dAllocSize * 3))) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - S1 = SDRM_BN_Alloc(pbBuf, dSize); - S2 = SDRM_BN_Alloc((cc_u8*)S1 + dAllocSize, dSize); - Temp = SDRM_BN_Alloc((cc_u8*)S2 + dAllocSize, dSize); - - if (SDRM_BN_Cmp(BN_Src1, BN_Src2) >= 0) - { - SDRM_BN_Copy(S1, BN_Src1); - SDRM_BN_Copy(S2, BN_Src2); - } - else - { - SDRM_BN_Copy(S1, BN_Src2); - SDRM_BN_Copy(S2, BN_Src1); - } - - while(S2->Length) - { - SDRM_BN_ModRed(Temp, S1, S2); - SDRM_BN_Copy(S1, S2); - SDRM_BN_Copy(S2, Temp); - } - - if (SDRM_BN_Cmp(S1, BN_One) == 0) - { - free(pbBuf); - - return CRYPTO_ISPRIME; - } - - free(pbBuf); - - return CRYPTO_ERROR; -} - -//small primes for pre-testing -static cc_u32 miniPrimes[] = { - 0xC8E15F2A, 0x16FA4227, 0x87B81DA9, 0xDA38C071, 0xFDB17C23, 0xFE5E796B, - 0xC7E4CBF5, 0x7EB0F0B1, 0xB72EFC93, 0xF46CEE57, 0x80B2C2BB, 0x34A77199, - 0x447D1BD5, 0xEA4C7C31, 0xF046D45B, 0xFF55A7BF, 0x9B287041, 0x85663BEF, - 0x7856625B, 0 -}; - -/* - * @fn SDRM_BN_MILLER_RABIN - * @brief MILLER_RABIN Test - * - * @param n [in]value to test - * @param t [in]security parameter - * - * @return CRYPTO_ISPRIME if n is (probably) prime - * \n CRYPTO_INVALID_ARGUMENT if n is composite - */ -CRYPTOCORE_INTERNAL int SDRM_BN_MILLER_RABIN(SDRM_BIG_NUM* n, cc_u32 t) -{ - SDRM_BIG_NUM *r, *a, *y, *n1; - cc_u32 i, j, tmp, srcLen, s = 1; - cc_u8 *pbBuf; - cc_u32 dSize, dAllocSize; - - dSize = n->Size; - dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD; - - if (n->Length == 0) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if ((n->pData[0] & 0x01) == 0) - { - return CRYPTO_INVALID_ARGUMENT; - } - - for (i = 0; miniPrimes[i] != 0; i++) - { - tmp = 0; - for (j = n->Length - 1; j != (cc_u32)-1; j--) - { - tmp = SDRM_DIGIT_Mod(tmp, n->pData[j], miniPrimes[i]); - } - - if(SDRM_DIGIT_Gcd(miniPrimes[i], tmp) != 1) - { - return CRYPTO_INVALID_ARGUMENT; - } - } - - while(SDRM_CheckBitUINT32(n->pData, s) == 0) s++; - - pbBuf = (cc_u8*)malloc(dAllocSize * 4); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - r = SDRM_BN_Alloc( pbBuf, dSize); - a = SDRM_BN_Alloc((cc_u8*)r + dAllocSize, dSize); - y = SDRM_BN_Alloc((cc_u8*)a + dAllocSize, dSize); - n1 = SDRM_BN_Alloc((cc_u8*)y + dAllocSize, dSize); - - SDRM_BN_Sub(n1, n, BN_One); - SDRM_BN_SHR(r, n1, s); - - srcLen = SDRM_BN_num_bits(n); - - for (i = 1; i <= t; i++) - { - SDRM_BN_Rand(a, srcLen); - a->pData[n->Length - 1] %= n->pData[n->Length - 1]; - - SDRM_BN_ModExp(y, a, r, n); - if ((SDRM_BN_Cmp(y, BN_One) == 0) || (SDRM_BN_Cmp(y, n1) == 0)) - { - continue; - } - - for (j = 1; (j < s) && SDRM_BN_Cmp(y, n1) != 0; j++) - { - SDRM_BN_ModMul(y, y, y, n); - - if (SDRM_BN_Cmp(y, BN_One) == 0) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - } - - if (SDRM_BN_Cmp(y, n1) != 0) - { - free(pbBuf); - - return CRYPTO_INVALID_ARGUMENT; - } - - } - free(pbBuf); - - return CRYPTO_ISPRIME; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/des.c b/SPC/Src/base/des.c deleted file mode 100755 index ea9b741..0000000 --- a/SPC/Src/base/des.c +++ /dev/null @@ -1,168 +0,0 @@ -/** - * \file des.c - * @brief high-speed implementation of DES - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/06 - */ - -////////////////////////////////////////////////////////////////////////// -// Include Header Files -////////////////////////////////////////////////////////////////////////// -#include "des.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_DES_KeySched - * @brief Expand the cipher key into the encryption key schedule - * - * @param RoundKey [out]generated round key - * @param UserKey [in]user key, 8 byte - * @param RKPos [in]index of round key starts - * @param RKStep [in]step for index - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_DES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 RKPos, cc_u32 RKStep) -{ - cc_u32 round, i, s, t, t2; - cc_u32 roundkey[16][2]; - cc_u32 c = 0, d = 0; - - //process Permuted Choice 1 - for (i = 0; i < 28; i++) - { - t = SDRM_DES_KS_PC1[i]; - c |= (UserKey[t >> 3] & SDRM_DES_BitMask[t & 0x07]) ? (1 << i) : 0; - } - - for (i = 28; i < 56; i++) - { - t = SDRM_DES_KS_PC1[i]; - d |= (UserKey[t >> 3] & SDRM_DES_BitMask[t & 0x07]) ? (1 << (i - 28)) : 0; - } - - //get round key - for (round = 0; round < SDRM_DES_NUM_OF_ROUNDS; round++) - { - //shift left operation - c = (c >> SDRM_DES_KS_SHIFT[round]) | (c << (28 - SDRM_DES_KS_SHIFT[round])); - d = (d >> SDRM_DES_KS_SHIFT[round]) | (d << (28 - SDRM_DES_KS_SHIFT[round])); - - s = SDRM_des_skb[0][((c) ) & 0x3f] | - SDRM_des_skb[1][((c >> 6L) & 0x03) | ((c >> 7L) & 0x3c)] | - SDRM_des_skb[2][((c >> 13L) & 0x0f) | ((c >> 14L) & 0x30)] | - SDRM_des_skb[3][((c >> 20L) & 0x01) | ((c >> 21L) & 0x06) | ((c>>22L)&0x38)]; - t = SDRM_des_skb[4][((d) ) & 0x3f] | - SDRM_des_skb[5][((d >> 7L) & 0x03) | ((d >> 8L) & 0x3c)] | - SDRM_des_skb[6][ (d >> 15L) & 0x3f] | - SDRM_des_skb[7][((d >> 21L) & 0x0f) | ((d >> 22L) & 0x30)]; - - t2 = (t << 16L) | (s & 0x0000ffffL); - roundkey[RKPos][0] = SDRM_rotr32(t2, 30); - - t2 = ((s >> 16L) | (t & 0xffff0000L)); - roundkey[RKPos][1] = SDRM_rotr32(t2, 26); - - RKPos += RKStep; - } - - memcpy(RoundKey, roundkey, 128); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DES_Encryption - * @brief DES processing for one block - * - * @param RoundKey [in]expanded round key - * @param msg [in]8 byte plaintext - * @param out [out]8 byte ciphertext - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_DES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out) -{ - cc_u32 l, r, i, t, u; - - r = *(cc_u32*)(void*)(msg); - l = *(cc_u32*)(void*)(msg + 4); - - SDRM_IP(r,l); - - r = SDRM_rotr32(r, 29); - l = SDRM_rotr32(l, 29); - - for (i = 0; i < SDRM_DES_NUM_OF_ROUNDS; i++) - { - if (i & 0x01) - { - SDRM_D_ENCRYPT(r, l); - } - else - { - SDRM_D_ENCRYPT(l, r); - } - } - - r = SDRM_rotr32(r, 3); - l = SDRM_rotr32(l, 3); - - SDRM_INV_IP(r, l); - - memcpy(out , &l, 4); - memcpy(out + 4, &r, 4); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DES64_Encryption - * @brief one block DES Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_DES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[16][2]; - - SDRM_DES_KeySched((cc_u8*)RoundKey, UserKey, 0, 1); - - SDRM_DES_Encryption(RoundKey, plainText, cipherText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DES64_Decryption - * @brief one block DES Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_DES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[16][2]; - - SDRM_DES_KeySched((cc_u8*)RoundKey, UserKey, 15, (cc_u32)-1); - - SDRM_DES_Encryption(RoundKey, cipherText, plainText); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/ecc.c b/SPC/Src/base/ecc.c deleted file mode 100755 index b60b638..0000000 --- a/SPC/Src/base/ecc.c +++ /dev/null @@ -1,1276 +0,0 @@ -/** - * \file ecc.c - * @brief ecc library based on big number - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jiyoung Moon - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/05/03 - * Note : optimized by Jiyoung Moon & Jisoon Park, August,2006. - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "ecc.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_ECC_Init - * @brief return SDRM_EC_POINT structure - * - * @return address of allocate structure - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_EC_POINT *SDRM_ECC_Init() -{ - SDRM_EC_POINT *temp; - - temp = (SDRM_EC_POINT *)malloc(sizeof(SDRM_EC_POINT) + SDRM_ECC_ALLOC_SIZE * 5); - if (!temp) - { - return NULL; - } - - temp->IsInfinity = 0; - temp->x = SDRM_BN_Alloc((cc_u8*)temp + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE); - temp->y = SDRM_BN_Alloc((cc_u8*)temp->x + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - temp->z = SDRM_BN_Alloc((cc_u8*)temp->y + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - temp->z2 = SDRM_BN_Alloc((cc_u8*)temp->z + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - temp->z3 = SDRM_BN_Alloc((cc_u8*)temp->z2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - return temp; -} - -/* - * @fn SDRM_CURVE_Init - * @brief return SDRM_ECC_CTX structure - * - * @return address of allocate structure - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_ECC_CTX *SDRM_CURVE_Init() -{ - SDRM_ECC_CTX *temp; - SDRM_EC_POINT *ptr; - cc_u8 *pbBlk; - - temp = (SDRM_ECC_CTX *)malloc(sizeof(SDRM_ECC_CTX) + SDRM_ECC_ALLOC_SIZE * 15 + 2 * sizeof(SDRM_EC_POINT)); - if (!temp) return NULL; - - pbBlk = (cc_u8*)temp + sizeof(SDRM_ECC_CTX); - - temp->ECC_a = SDRM_BN_Alloc(pbBlk, SDRM_ECC_BN_BUFSIZE); - temp->ECC_b = SDRM_BN_Alloc((cc_u8*)temp->ECC_a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - temp->ECC_p = SDRM_BN_Alloc((cc_u8*)temp->ECC_b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - temp->ECC_n = SDRM_BN_Alloc((cc_u8*)temp->ECC_p + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - temp->PRIV_KEY = SDRM_BN_Alloc((cc_u8*)temp->ECC_n + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - temp->uDimension = 0; - - ptr = (SDRM_EC_POINT*)(void*)((cc_u8*)temp + sizeof(SDRM_ECC_CTX) + SDRM_ECC_ALLOC_SIZE * 5); - ptr->IsInfinity = 0; - ptr->x = SDRM_BN_Alloc((cc_u8*)ptr + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE); - ptr->y = SDRM_BN_Alloc((cc_u8*)ptr->x + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - ptr->z = SDRM_BN_Alloc((cc_u8*)ptr->y + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - ptr->z2 = SDRM_BN_Alloc((cc_u8*)ptr->z + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - ptr->z3 = SDRM_BN_Alloc((cc_u8*)ptr->z2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - temp->ECC_G = ptr; - - ptr = (SDRM_EC_POINT*)(void*)((cc_u8*)ptr + sizeof(SDRM_EC_POINT) + SDRM_ECC_ALLOC_SIZE * 5); - ptr->IsInfinity = 0; - ptr->x = SDRM_BN_Alloc((cc_u8*)ptr + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE); - ptr->y = SDRM_BN_Alloc((cc_u8*)ptr->x + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - ptr->z = SDRM_BN_Alloc((cc_u8*)ptr->y + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - ptr->z2 = SDRM_BN_Alloc((cc_u8*)ptr->z + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - ptr->z3 = SDRM_BN_Alloc((cc_u8*)ptr->z2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - temp->PUBLIC_KEY = ptr; - - return temp; -} - -//////////////////////////////////////////////////////////////////////////// -// ECC º¸Á¶ ¿¬»ê ÇÔ¼ö -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_CHECK_EC_POINT_ZERO - * @brief check if the point points zero - * - * @param r [in]point - * - * @return 1 if the point is pointing zero - * \n 0 otherwise - */ -CRYPTOCORE_INTERNAL int SDRM_CHECK_EC_POINT_ZERO(SDRM_EC_POINT* r) -{ - if ((r->x->Length == 0) | (r->y->Length == 0)) - { - // return = 1 if input is zero - return 1; - } - else - { - return 0; - } -} - -/* - * @fn SDRM_Mont_Jm2Jc - * @brief ÁÂÇ¥º¯È¯ 1 : Modified Jacobian => Chundnovsky Jacobian - * (A->y) <= (A->y)/2 - * (A->z2) <= (A->z)^2 - * (A->z3) <= (A->z)^3 - * - * @param EC_Dst [out]destination - * @param new_a [in]first element - * @param new_b [in]second element - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_Mont_Jm2Jc(SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont) -{ - if (SDRM_BN_IS_ODD(EC_Dst->y)) - { - if (SDRM_BN_Add(EC_Dst->y, EC_Dst->y, Mont->Mod) != CRYPTO_SUCCESS) - { - return CRYPTO_ERROR; - } - } - - if (SDRM_BN_SHR(EC_Dst->y, EC_Dst->y, 1) != CRYPTO_SUCCESS) - { - return CRYPTO_ERROR; - } - - SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont); - SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z, EC_Dst->z2, Mont); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_Mont_Jc2Jm - * @brief ÁÂÇ¥º¯È¯ 2 : Chundnovsky Jacobian => Modified Jacobian - * (A->y) <= 2*(A->y) - * (A->z2) <= new_a*(A->z)^4 - * - * @param A [out]destination - * @param new_a [in]first element - * @param new_b [in]second element - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_Mont_Jc2Jm(SDRM_EC_POINT *A, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont) -{ - if (SDRM_BN_SHL(A->y, A->y, 1) != CRYPTO_SUCCESS) - { - return CRYPTO_ERROR; - } - - if (SDRM_BN_Cmp(A->y, Mont->Mod)>=0) - { - SDRM_BN_Sub(A->y, A->y, Mont->Mod); - } - - SDRM_MONT_Mul(A->z2, A->z, A->z, Mont); - SDRM_MONT_Mul(A->z2, A->z2, A->z2, Mont); - SDRM_MONT_Mul(A->z2, new_a, A->z2, Mont); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_CTX_EC_Add - * @brief Affine Coordinate (A = B + C) - * - * @param ctx [in]ECC context - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param EC_Src2 [in]second element(C) - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Add(SDRM_ECC_CTX *ctx, SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_EC_POINT *EC_Src2) -{ - SDRM_BIG_NUM *t1, *t2, *t3, *lambda, *lambda_sqr; - SDRM_BIG_NUM *x3, *y3; - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 7); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if (SDRM_CHECK_EC_POINT_ZERO(EC_Src1)) - { - SDRM_EC_COPY(EC_Dst, EC_Src2); - free(pbBuf); - return CRYPTO_SUCCESS; - } - else if (SDRM_CHECK_EC_POINT_ZERO(EC_Src2)) - { - SDRM_EC_COPY(EC_Dst, EC_Src1); - free(pbBuf); - return CRYPTO_SUCCESS; - } - - t1 = SDRM_BN_Alloc(pbBuf, SDRM_ECC_BN_BUFSIZE); - t2 = SDRM_BN_Alloc((cc_u8*)t1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - t3 = SDRM_BN_Alloc((cc_u8*)t2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - lambda = SDRM_BN_Alloc((cc_u8*)t3 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - lambda_sqr = SDRM_BN_Alloc((cc_u8*)lambda + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - x3 = SDRM_BN_Alloc((cc_u8*)lambda_sqr + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - y3 = SDRM_BN_Alloc((cc_u8*)x3 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - if (SDRM_BN_Cmp(EC_Src1->x, EC_Src2->x) == 0) /* xÁÂÇ¥°¡ °°´Ù¸é */ - { - if (SDRM_BN_Cmp(EC_Src1->y, EC_Src2->y) != 0) /* y ÁÂÇ¥¸¸ ´Ù¸£´Ù¸é */ - { // (B = -C) - SDRM_EC_SET_ZERO(EC_Dst); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - else /* y ÁÂÇ¥µµ °°´Ù¸é */ - { // (B = C) - SDRM_BN_ModAdd(t1, EC_Src1->y, EC_Src1->y, ctx->ECC_p); /* t1 = 2 * y1 */ - SDRM_BN_ModInv(t1, t1, ctx->ECC_p); /* t1 = 1/(2 * y1) */ - - SDRM_BN_ModMul(t2, EC_Src1->x, EC_Src1->x, ctx->ECC_p); /* t2 = x1^2 */ - SDRM_BN_ModAdd(t3, t2, t2, ctx->ECC_p); /* t3 = t2 + t2 */ - SDRM_BN_ModAdd(t3, t3, t2, ctx->ECC_p); /* t2 = t3 + t2 = 3 * x1^2*/ - SDRM_BN_ModAdd(t3, t3, ctx->ECC_a, ctx->ECC_p); /* t3 = 3 * x1^2 + a */ - - SDRM_BN_ModMul(lambda, t3, t1, ctx->ECC_p); /* lambda = (3 * x1^2 + a) / (2 * y1) */ - } - } - else /* x ÁÂÇ¥°¡ ´Ù¸£´Ù¸é */ - { - SDRM_BN_ModSub(t1, EC_Src2->x, EC_Src1->x, ctx->ECC_p); /* t1 = x2 - x1 */ - SDRM_BN_ModSub(t2, EC_Src2->y, EC_Src1->y, ctx->ECC_p); /* t2 = y2 - y1 */ - - SDRM_BN_ModInv(t1, t1, ctx->ECC_p); /* t1 = t1^(-1) = 1/(x2-x1) */ - SDRM_BN_ModMul(lambda, t1, t2, ctx->ECC_p); /* lambda = (y2-y1)/(x2-x1) */ - } - - SDRM_BN_ModMul(lambda_sqr, lambda, lambda, ctx->ECC_p); /* lambda^2 */ - SDRM_BN_ModSub(t1, lambda_sqr, EC_Src1->x, ctx->ECC_p); /* x3 = lambda^2 - x1 */ - SDRM_BN_ModSub(x3, t1, EC_Src2->x, ctx->ECC_p); /* x3 = lambda^2 - x1 - x2 */ - - SDRM_BN_ModSub(t1, EC_Src1->x, x3, ctx->ECC_p); /* t1 = x1 - x3 */ - SDRM_BN_ModMul(t2, t1, lambda, ctx->ECC_p); /* t2 = (x1 - x3) * lambda */ - SDRM_BN_ModSub(y3, t2, EC_Src1->y, ctx->ECC_p); /* y3 = (x1 - x3) * lambda - y1 */ - - SDRM_BN_Copy(EC_Dst->x, x3); - SDRM_BN_Copy(EC_Dst->y, y3); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_EC_Add_Jc - * @brief Chundnovsky Jacobian coordinate - * using montgomery (A = B + C) - * - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param EC_Src2 [in]second element(C) - * @param new_a [in]ECC_A's montgomery value - * @param new_b [in]ECC_B's montgomery value - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Add_Jc(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_EC_POINT *EC_Src2, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont) -{ - SDRM_BIG_NUM *u1, *u2, *s1, *s2, *h, *r, *tmp1, *tmp2; - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 8); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if (EC_Src1->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src1)) - { - SDRM_EC_COPY(EC_Dst, EC_Src2); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - else if (EC_Src2->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src2)) - { - SDRM_EC_COPY(EC_Dst, EC_Src1); - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - u1 = SDRM_BN_Alloc(pbBuf , SDRM_ECC_BN_BUFSIZE); - u2 = SDRM_BN_Alloc((cc_u8*)u1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - s1 = SDRM_BN_Alloc((cc_u8*)u2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - s2 = SDRM_BN_Alloc((cc_u8*)s1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - h = SDRM_BN_Alloc((cc_u8*)s2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - r = SDRM_BN_Alloc((cc_u8*)h + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - tmp1 = SDRM_BN_Alloc((cc_u8*)r + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - tmp2 = SDRM_BN_Alloc((cc_u8*)tmp1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - // u1 - SDRM_MONT_Mul(u1, EC_Src1->x, EC_Src2->z2, Mont); - // u2 - SDRM_MONT_Mul(u2, EC_Src2->x, EC_Src1->z2, Mont); - // s1 - SDRM_MONT_Mul(s1, EC_Src1->y, EC_Src2->z3, Mont); - // s2 - SDRM_MONT_Mul(s2, EC_Src2->y, EC_Src1->z3, Mont); - - SDRM_BN_Sub(h, u2, u1); - if (h->sign) - { - SDRM_BN_Add(h, h, Mont->Mod); - } - - // r - SDRM_BN_Sub(r, s2, s1); - if (r->sign) - { - SDRM_BN_Add(r, r, Mont->Mod); - } - - // exception cases check - if (h->Length == 0) - { - if (r->Length == 0) - { - // If (h == 0) & (r == 0), CTX_EC_Double_Jc·Î °è»ê - // because B, C are same point. - free(pbBuf); - - return SDRM_CTX_EC_Double_Jc(EC_Dst, EC_Src1, new_a, new_b, Mont); - } - else - { - // If (h == 0) & (r != 0), A = Infinity point - EC_Dst->IsInfinity = 1; - free(pbBuf); - - return CRYPTO_INFINITY_INPUT; - } - } - - // EC_Dst->x - SDRM_MONT_Mul(EC_Dst->x, r, r, Mont); - SDRM_MONT_Mul(EC_Dst->y, h, h, Mont); // A->y : h^2, temp - SDRM_MONT_Mul(tmp1, EC_Dst->y, h, Mont); // tmp1 : h^3, temp - SDRM_MONT_Mul(EC_Dst->y, u1, EC_Dst->y, Mont); // A->y : u1*h^2 - - SDRM_BN_SHL(tmp2, EC_Dst->y, 1); - if (SDRM_BN_Cmp(tmp2, Mont->Mod) >= 0) - { - SDRM_BN_Sub(tmp2, tmp2, Mont->Mod); - } - - SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, tmp2, Mont->Mod); - SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, tmp1, Mont->Mod); - - // EC_Dst->y - SDRM_BN_ModSub(EC_Dst->y, EC_Dst->y, EC_Dst->x, Mont->Mod); - SDRM_MONT_Mul(EC_Dst->y, r, EC_Dst->y, Mont); - SDRM_MONT_Mul(tmp1, s1, tmp1, Mont); - SDRM_BN_ModSub(EC_Dst->y, EC_Dst->y, tmp1, Mont->Mod); - - // EC_Dst->z - SDRM_MONT_Mul(EC_Dst->z, EC_Src1->z, EC_Src2->z, Mont); - SDRM_MONT_Mul(EC_Dst->z, EC_Dst->z, h, Mont); - - // È¿À²¼ºÀ» °í·ÁÇØ ¾Æ·¡´Â »ý·«-> ÇÊ¿äÇÑ °æ¿ì ¿ÜºÎ¿¡¼­ °è»ê -#if 0 - // EC_Dst->z2 - SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont); - // EC_Dst->z3 - SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z, EC_Dst->z2, Mont); -#endif - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_EC_Double_Jc - * @brief Chundnovsky Jacobian coordinate - * montgomery (A = 2B) - * - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param new_a [in]ECC_A's montgomery value - * @param new_b [in]ECC_B's montgomery value - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jc(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont) -{ - SDRM_BIG_NUM *s, *k, *tmp1, *tmp2; - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - // If B = infinite point || (B->y) = 0, A = infinite point. - if (EC_Src1->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src1)) - { - EC_Dst->IsInfinity = 1; - free(pbBuf); - return CRYPTO_SUCCESS; - } - - s = SDRM_BN_Alloc(pbBuf , SDRM_ECC_BN_BUFSIZE); - k = SDRM_BN_Alloc((cc_u8*)s + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - tmp1 = SDRM_BN_Alloc((cc_u8*)k + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - tmp2 = SDRM_BN_Alloc((cc_u8*)tmp1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - // s - SDRM_MONT_Mul(s, EC_Src1->y, EC_Src1->y, Mont); // s = (B->y)^2 - SDRM_MONT_Mul(tmp1, s, s, Mont); // tmp1 = (B->y)^4 - SDRM_MONT_Mul(s, EC_Src1->x, s, Mont); - SDRM_BN_SHL(s, s, 2); - SDRM_BN_ModRed(s, s, Mont->Mod); - - // k - SDRM_MONT_Mul(k, EC_Src1->x, EC_Src1->x, Mont); - SDRM_BN_SHL(tmp2, k, 1); - SDRM_BN_ModAdd(tmp2, tmp2, k, Mont->Mod); - SDRM_MONT_Mul(k, EC_Src1->z, EC_Src1->z3, Mont); - SDRM_MONT_Mul(k, new_a, k, Mont); - SDRM_BN_ModAdd(k, tmp2, k, Mont->Mod); - - // t & EC_Dst->x - SDRM_BN_SHL(tmp2, s, 1); - - if (SDRM_BN_Cmp(tmp2, Mont->Mod)>=0) - { - SDRM_BN_Sub(tmp2, tmp2, Mont->Mod); - } - - SDRM_MONT_Mul(EC_Dst->x, k, k, Mont); - SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, tmp2, Mont->Mod); - - // EC_Dst->z - SDRM_MONT_Mul(EC_Dst->z, EC_Src1->y, EC_Src1->z, Mont); - SDRM_BN_SHL(EC_Dst->z, EC_Dst->z, 1); - - if (SDRM_BN_Cmp(EC_Dst->z, Mont->Mod)>=0) - { - SDRM_BN_Sub(EC_Dst->z, EC_Dst->z, Mont->Mod); - } - - // EC_Dst->y - SDRM_BN_SHL(EC_Dst->y, tmp1, 3); - while(SDRM_BN_Cmp(EC_Dst->y, Mont->Mod) >= 0) - { - SDRM_BN_Sub(EC_Dst->y, EC_Dst->y, Mont->Mod); - } - - SDRM_BN_ModSub(tmp1, s, EC_Dst->x, Mont->Mod); // tmp1 = s-t (s°ª ¹Ù²ñ) - SDRM_MONT_Mul(tmp1, k, tmp1, Mont); // k(s-t) - SDRM_BN_ModSub(EC_Dst->y, tmp1, EC_Dst->y, Mont->Mod); - if (EC_Dst->y->sign) - { - SDRM_BN_Add(EC_Dst->y, EC_Dst->y, Mont->Mod); - } - - // EC_Dst->z2 - SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont); - - // EC_Dst->z3 - SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z, EC_Dst->z2, Mont); - - // Memory Free - free(pbBuf); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_CTX_EC_Double_Jm - * @brief Modified Jacobian coordinate - * montgomery (A = 2B) - * - * @param EC_Dst [out]destination(A) - * @param EC_Src1 [in]first element(B) - * @param new_a [in]ECC_A's montgomery value - * @param new_b [in]ECC_B's montgomery value - * @param Mont [in]montgomery context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_ERROR if evaluation is failed - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jm(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont) -{ - SDRM_BIG_NUM *a, *b, *c, *tmp1; - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - // If B is the infinite point or (B->y) is zero, A is the infinite point. - if (EC_Src1->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src1)) - { - EC_Dst->IsInfinity = 1; - free(pbBuf); - - return CRYPTO_SUCCESS; - } - - a = SDRM_BN_Alloc(pbBuf, SDRM_ECC_BN_BUFSIZE); - b = SDRM_BN_Alloc((cc_u8*)a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - c = SDRM_BN_Alloc((cc_u8*)b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - tmp1 = SDRM_BN_Alloc((cc_u8*)c + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - // a - SDRM_MONT_Mul(a, EC_Src1->x, EC_Src1->x, Mont); - SDRM_BN_SHL(tmp1, a, 1); - SDRM_BN_Add(a, tmp1, a); - SDRM_BN_Add(a, a, EC_Src1->z2); - while(SDRM_BN_Cmp(a, Mont->Mod) >= 0) - { - SDRM_BN_Sub(a, a, Mont->Mod); - } - - // b & c - SDRM_MONT_Mul(b, EC_Src1->y, EC_Src1->y, Mont); // b = (y1)^2 - SDRM_MONT_Mul(c, b, b, Mont); // c = (y1)^4 - SDRM_MONT_Mul(b, EC_Src1->x, b, Mont); - SDRM_BN_SHL(b, b, 1); - if (SDRM_BN_Cmp(b, Mont->Mod)>=0) - { - SDRM_BN_Sub(b, b, Mont->Mod); - } - - // EC_Dst->x - SDRM_MONT_Mul(EC_Dst->x, a, a, Mont); - SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, b, Mont->Mod); - - // EC_Dst->z - SDRM_MONT_Mul(EC_Dst->z, EC_Src1->y, EC_Src1->z, Mont); - - // EC_Dst->y - SDRM_BN_SHL(EC_Dst->y, EC_Dst->x, 1); - - if (SDRM_BN_Cmp(EC_Dst->y, Mont->Mod)>=0) - { - SDRM_BN_Sub(EC_Dst->y, EC_Dst->y, Mont->Mod); - } - - SDRM_BN_Sub(EC_Dst->y, b, EC_Dst->y); - - if (EC_Dst->y->sign) - { - SDRM_BN_Add(EC_Dst->y, EC_Dst->y, Mont->Mod); - } - - SDRM_MONT_Mul(EC_Dst->y, a, EC_Dst->y, Mont); - SDRM_BN_ModSub(EC_Dst->y, EC_Dst->y, c, Mont->Mod); - - // EC_Dst->z2 - SDRM_MONT_Mul(EC_Dst->z2, c, EC_Dst->z2, Mont); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_EC_Chain - * @brief Chain ÇÔ¼ö - * signed wondow method : size of window = 4 - * chain for addition/subtraction of k Using sliding window method - * - * @param chain [out]destination - * @param L_Src [in]byte-length of chain - * @param Len_Src [in]number of doubling in chain - * @param k [in]source - * @param window_size [in]size of window - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if given value is incorrect - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Chain(signed char *chain, cc_u32 *L_Src, cc_u32 *Len_Src, SDRM_BIG_NUM *k, int window_size) -{ - int i, j = 0, AddorSub, last = 0, doublings = 0; - int bits_k = 0, subtract=0, pos = 0, temp_1 = 0; - cc_u32 temp = 0; - cc_u32 numDoubling = 0; // number of doubling(= lshift) - - // kÀÇ À¯È¿¼º check - if (k->sign) - { - return CRYPTO_INVALID_ARGUMENT; - } - - bits_k=(SDRM_BN_num_bits(k)-1); - - // sliding window method ('06) - while(bits_k>=0) - { - if ((bits_k + 1) < window_size) - window_size = bits_k + 1; - - if ((subtract == 0) || (subtract == 10)) - { - AddorSub = 0; - } - else - { - AddorSub = 1; - } - - for(i = bits_k; i >= bits_k - window_size + 1; i--) - { - temp <<= 1; - temp += AddorSub ^ SDRM_CheckBitUINT32(k->pData, i); - } - - bits_k -= window_size; - - if ((SDRM_CheckBitUINT32(k->pData, bits_k) == (cc_u32)1 - AddorSub) && (bits_k >= 0)) - { - temp++; - AddorSub = 1 - AddorSub; - } - - if ((bits_k == -1) && (AddorSub == 1)) - temp++; - - if (bits_k>=0) - { - if (SDRM_CheckBitUINT32(k->pData, bits_k)==1) - { - if ((subtract == 0) || (subtract == 10)) - { - subtract = 1; - } - else - { - subtract = 11; - } - - for(temp_1 = 0 ; SDRM_CheckBitUINT32(k->pData, bits_k)==1; bits_k--) - { - if (bits_k >=0) - { - temp_1++; - } - } - } - else - { - if ((subtract == 0) || (subtract == 10)) - { - subtract = 0; - } - else - { - subtract = 10; - } - - for(temp_1 = 0 ; SDRM_CheckBitUINT32(k->pData, bits_k)==0; bits_k--) - { - if (bits_k >=0) - { - temp_1++; - } - } - } - - if (bits_k < 0) - { - last = 1; - } - } - else - { - if ((subtract == 0) || (subtract == 10)) - { - subtract = 0; - } - else - { - subtract = 10; - } - } - - j = temp >> window_size; - - if (temp != 0) - { - for(doublings = 0; !(temp&0x1); doublings++) - { - temp >>= 1; - } - doublings += temp_1; - } - else - { - doublings = temp_1; - } - - if (pos > 0) - { - for(i = temp ; i > j ; i>>=1) - { - chain[++pos] = 0; - numDoubling++; - } - } - - if ((subtract==10) || (subtract == 11)) - { - chain[++pos] = (char)((~temp + 1) & 0xff); - } - else - { - chain[++pos] = (char)((temp) & 0xff); - } - - for( ; doublings > 0; doublings--) - { - chain[++pos] = 0; - numDoubling++; - } - - if (last == 1) - { - if (AddorSub == 1) - { - chain[++pos] = -1; - } - } - - temp = 0; - temp_1 = 0; - } - - *L_Src = pos; - *Len_Src = numDoubling; - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_EC_kP - * @brief get EC_Dst = kP by Montgomery Method - * - * @param ctx [in]ecc context - * @param EC_Dst [out]destination - * @param EC_Src [in]first element(P) - * @param k [in]second element(k) - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if the arguemnt represents a minus value - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_INFINITY_INPUT if the argument is a infinity value - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src, SDRM_BIG_NUM *k) -{ - int res, i; - int window_size = 4; // window size - int w_p = (1 << (window_size-1)) + 1; // pre-computation number -// int add = 0, subtract = 0; // add : num_(addition + subtract) - // subtract : 0 - before = 0 & after = 0 - // 10 - before = 1 & after = 0 - // 1 - before = 0 & after = 1 - // 11 - before = 1 & after = 1 - // => 0 : no subtract / 1 : subtract - SDRM_EC_POINT *Pw[9] = {0}; // number of precomputation data : 9 = w_p = 2^(window_size-1) + 1 - SDRM_BIG_MONT *Mont; - SDRM_BIG_NUM *new_a, *new_b; - SDRM_BIG_NUM *t1, *t2; - signed char chain[2 * SDRM_MAX_DIMENSION_ECC]; // DIMENSION_ECC : ecdsa.h¿¡¼­ define - cc_u32 length; // addition & subtrction chain length of k1 & k2 - cc_u32 lenD; // number of doubling of addition & subtrction chain of k1 & k2 - - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - // k¿Í PÀÇ À¯È¿¼º check - if (k->sign) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - if (EC_Src->x->sign|EC_Src->y->sign) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - Mont = SDRM_MONT_Init(ctx->ECC_p->Size); - if (Mont == NULL) - { - free(pbBuf); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_MONT_Set(Mont, ctx->ECC_p); - - new_a = SDRM_BN_Alloc(pbBuf, SDRM_ECC_BN_BUFSIZE); - new_b = SDRM_BN_Alloc((cc_u8*)new_a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - t1 = SDRM_BN_Alloc((cc_u8*)new_b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - t2 = SDRM_BN_Alloc((cc_u8*)t1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - if (SDRM_MONT_Zn2rzn(new_a, ctx->ECC_a, Mont) != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - return CRYPTO_ERROR; - } - - if (SDRM_MONT_Zn2rzn(new_b, ctx->ECC_b, Mont) != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - return CRYPTO_ERROR; - } - - - //chain °è»ê - res = SDRM_CTX_EC_Chain(chain, &length, &lenD, k, window_size); - if (res != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - - return CRYPTO_ERROR; - } - - // pre-computation Data °è»ê : Chunvosky algorithm - // Pw[1] = EC_Src - // Pw[2] = 3 * EC_Src - // Pw[3] = 5 * EC_Src - // Pw[4] = 7 * EC_Src - // .................. - for(i = 0; i < 9; i++) - { - Pw[i] = SDRM_ECC_Init(); - if (Pw[i] == NULL) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - while (i > 0) - { - free(Pw[--i]); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - } - - SDRM_EC_COPY(Pw[1], EC_Src); - - SDRM_MONT_Zn2rzn(Pw[1]->x, Pw[1]->x, Mont); - SDRM_MONT_Zn2rzn(Pw[1]->y, Pw[1]->y, Mont); - SDRM_MONT_Zn2rzn(Pw[1]->z, BN_One, Mont); - - SDRM_BN_Copy(Pw[1]->z2, Pw[1]->z); - SDRM_BN_Copy(Pw[1]->z3, Pw[1]->z); - - SDRM_EC_SET_ZERO(Pw[0]); - SDRM_CTX_EC_Double_Jc(Pw[0], Pw[1], new_a, new_b, Mont); - - for (i = 2; i < w_p; i++) - { - SDRM_EC_SET_ZERO(Pw[i]); - SDRM_CTX_EC_Add_Jc(Pw[i], Pw[i-1], Pw[0], new_a, new_b, Mont); - - SDRM_MONT_Mul(Pw[i]->z2, Pw[i]->z, Pw[i]->z, Mont); - SDRM_MONT_Mul(Pw[i]->z3, Pw[i]->z2, Pw[i]->z, Mont); - } - - EC_Dst->IsInfinity = 1; - - for(i = 0; i != (int)length; i++) - { - if (chain[i + 1]==0) - { - // EC_Dst = 2 * EC_Dst - SDRM_CTX_EC_Double_Jm(EC_Dst, EC_Dst, new_a, new_b, Mont); - lenD--; - } - else - { - SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont); - if (chain[i + 1]>0) - { - // EC_Dst = EC_Dst + Pw[(chain[i + 1]+1)/2] - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[(chain[i + 1]+1)/2], new_a, new_b, Mont); - } - else - { - // EC_Dst = EC_Dst - Pw[(chain[i + 1]]+1)/2] - SDRM_EC_COPY(Pw[0], Pw[(-chain[i + 1]+1)/2]); - SDRM_BN_Sub(Pw[0]->y, ctx->ECC_p, Pw[0]->y); - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[0], new_a, new_b, Mont); - } - SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont); - } - } - - // montgomery reduction of EC_Dst - SDRM_MONT_Rzn2zn(EC_Dst->x, EC_Dst->x, Mont); - SDRM_MONT_Rzn2zn(EC_Dst->y, EC_Dst->y, Mont); - SDRM_MONT_Rzn2zn(EC_Dst->z, EC_Dst->z, Mont); - - if (EC_Dst->z->Length == 0) - { - for(i = 0; i < 9; i++) - { - free(Pw[i]); - } - free(pbBuf); - SDRM_MONT_Free(Mont); - - EC_Dst->IsInfinity = 1; - - return CRYPTO_INFINITY_INPUT; - } - // Convert coordinate : "Modified Jacobian" => "Affine" - // (EC_Dst->x) <= (EC_Dst->x) * { ((EC_Dst->z)^2)^-1 } - // (EC_Dst->y) <= (EC_Dst->y) * { (2*((EC_Dst->z)^3))^-1 } - - SDRM_BN_ModMul(t1, EC_Dst->z, EC_Dst->z, ctx->ECC_p); - SDRM_BN_ModInv(t2, t1, ctx->ECC_p); - SDRM_BN_ModMul(EC_Dst->x, EC_Dst->x, t2, ctx->ECC_p); - - SDRM_BN_ModMul(t1, t1, EC_Dst->z, ctx->ECC_p); - SDRM_BN_SHL(t1, t1, 1); - SDRM_BN_ModInv(t2, t1, ctx->ECC_p); - SDRM_BN_ModMul(EC_Dst->y, EC_Dst->y, t2, ctx->ECC_p); - - // Memory Free - for(i = 0; i < 9; i++) - { - free(Pw[i]); - } - - free(pbBuf); - SDRM_MONT_Free(Mont); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_EC_2kP - * @brief get EC_Dst = k1*C1 + k2*C2 - * - * @param ctx [in]ecc context - * @param EC_Dst [out]destination - * @param k1 [in]first element(k1) - * @param EC_Src1 [in]second element(C1) - * @param k2 [in]third element(k2) - * @param EC_Src2 [in]fourth element(C2) - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if the arguemnt represents a minus value - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_INFINITY_INPUT if the argument is a infinity value - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_EC_2kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *k1, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *k2, SDRM_EC_POINT *EC_Src2) -{ - signed char chain[2][2 * SDRM_MAX_DIMENSION_ECC]; // addition/subtrction chain of k1 k2 - cc_u32 length[2]; // addition/subtrction chain length of k1 k2 - cc_u32 lenD[2]; // # of doubling of addition/subtrction chain of k1 k2 - cc_u32 idx[2]; - int window_size = 4; // window size - int w2 = (1 << (window_size - 1)) + 1; // 2^(window_size-1)+1 : the precomputation point number - int i, j, res; - SDRM_EC_POINT *Pw[2][9]; // precomputation data - SDRM_BIG_MONT *Mont=NULL; - SDRM_BIG_NUM *new_a, *new_b; - SDRM_BIG_NUM *t1, *t2; // Used in coordinate change from "Modified Jacobian" to "Affine" - - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - // k1 & k2 & C1 & C2 À¯È¿¼º check - if (k1->sign | k2->sign) - { - free(pbBuf); - - return CRYPTO_ERROR; - } - - if (EC_Src1->x->sign | EC_Src1->y->sign | EC_Src2->x->sign | EC_Src2->y->sign) - { - free(pbBuf); - - return CRYPTO_ERROR; - } - - Mont = SDRM_MONT_Init(ctx->ECC_p->Size); - SDRM_MONT_Set(Mont, ctx->ECC_p); - - new_a = SDRM_BN_Alloc(pbBuf, SDRM_ECC_BN_BUFSIZE); - new_b = SDRM_BN_Alloc((cc_u8*)new_a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - t1 = SDRM_BN_Alloc((cc_u8*)new_b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - t2 = SDRM_BN_Alloc((cc_u8*)t1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - if (SDRM_MONT_Zn2rzn(new_a, ctx->ECC_a, Mont) != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - return CRYPTO_ERROR; - } - - if (SDRM_MONT_Zn2rzn(new_b, ctx->ECC_b, Mont) != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - return CRYPTO_ERROR; - } - - // chain °è»ê - res = SDRM_CTX_EC_Chain(chain[0], &length[0], &lenD[0], k1, window_size); - if (res != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - return res; - } - - res = SDRM_CTX_EC_Chain(chain[1], &length[1], &lenD[1], k2, window_size); - if (res != CRYPTO_SUCCESS) - { - free(pbBuf); - SDRM_MONT_Free(Mont); - return res; - } - - // Precomputation data - for(i = 0; i < 2; i++) - { -// Pw[i] = (SDRM_EC_POINT **)malloc(sizeof(SDRM_EC_POINT *) * w2); -// if (!Pw[i]) return CRYPTO_MEMORY_ALLOC_FAIL; - for(j = 0; j < 9; j++) - { - Pw[i][j] = SDRM_ECC_Init(); - } - } - - SDRM_EC_COPY(Pw[0][1], EC_Src1); - SDRM_EC_COPY(Pw[1][1], EC_Src2); - - for (i=0;i<2;i++) - { - SDRM_MONT_Zn2rzn(Pw[i][1]->x, Pw[i][1]->x, Mont); - SDRM_MONT_Zn2rzn(Pw[i][1]->y, Pw[i][1]->y, Mont); - SDRM_MONT_Zn2rzn(Pw[i][1]->z, BN_One, Mont); - SDRM_BN_Copy(Pw[i][1]->z2, Pw[i][1]->z); - SDRM_BN_Copy(Pw[i][1]->z3, Pw[i][1]->z); - SDRM_CTX_EC_Double_Jc(Pw[i][0], Pw[i][1], new_a, new_b, Mont); - - for (j=2;jz2, Pw[i][j]->z, Pw[i][j]->z, Mont); - SDRM_MONT_Mul(Pw[i][j]->z3, Pw[i][j]->z2, Pw[i][j]->z, Mont); - } - } - - EC_Dst->IsInfinity = 1; - idx[0] = idx[1] = 1; - - // ¿ì¼± doubling °³¼ö°¡ °°¾ÆÁú¶§±îÁö Å« ÂÊ °è»ê - if (lenD[0] != lenD[1]) - { - i = ((lenD[0] > lenD[1]) ? 0 : 1); - for (;lenD[0] != lenD[1]; idx[i]++) - { - if (chain[i][idx[i]] == 0) - { - // EC_Dst = 2EC_Dst - SDRM_CTX_EC_Double_Jm(EC_Dst, EC_Dst, new_a, new_b, Mont); - lenD[i]--; - } - else - { - SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont); - - if (chain[i][idx[i]]>0) - { - // EC_Dst = EC_Dst + Pw[i][(chain[i][idx[i]]+1)/2] - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][(chain[i][idx[i]]+1)/2], new_a, new_b, Mont); - } - else - { - // EC_Dst = EC_Dst - Pw[i][(chain[i][idx[i]]+1)/2] - SDRM_EC_COPY(Pw[i][0], Pw[i][(-chain[i][idx[i]]+1)/2]); - SDRM_BN_Sub(Pw[i][0]->y, ctx->ECC_p, Pw[i][0]->y); - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][0], new_a, new_b, Mont); - } - SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont); - } - } - } - - while ((idx[0] <= length[0]) && (idx[1] <= length[1])) - { - if ((chain[0][idx[0]] == 0) && (chain[1][idx[1]] == 0)) - { - // EC_Dst = 2EC_Dst - SDRM_CTX_EC_Double_Jm(EC_Dst, EC_Dst, new_a, new_b, Mont); - idx[0]++; - idx[1]++; - continue; - } - - SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont); - - if (chain[0][idx[0]]!=0) - { - if (chain[0][idx[0]]>0) - { - // EC_Dst = EC_Dst + Pw[0][(chain[0][idx[0]]+1)/2] - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[0][(chain[0][idx[0]] + 1) / 2], new_a, new_b, Mont); - } - else - { - // EC_Dst = EC_Dst - Pw[0][(chain[0][idx[0]]+1)/2] - SDRM_EC_COPY(Pw[0][0], Pw[0][(-chain[0][idx[0]] + 1) / 2]); - SDRM_BN_Sub(Pw[0][0]->y, ctx->ECC_p, Pw[0][0]->y); - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[0][0], new_a, new_b, Mont); - } - - idx[0]++; - - if (chain[1][idx[1]] != 0) - { - // make z^2, z^3 for next computation - SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont); - SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z2, EC_Dst->z, Mont); - } - } - - if (chain[1][idx[1]]!=0) - { - if (chain[1][idx[1]]>0) - { - // EC_Dst = EC_Dst + Pw[1][(chain[1][idx[1]]+1)/2] - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[1][(chain[1][idx[1]]+1)/2], new_a, new_b, Mont); - } - else - { - // EC_Dst = EC_Dst - Pw[1][(chain[1][idx[1]]+1)/2] - SDRM_EC_COPY(Pw[1][0], Pw[1][(-chain[1][idx[1]]+1)/2]); - SDRM_BN_Sub(Pw[1][0]->y, ctx->ECC_p, Pw[1][0]->y); - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[1][0], new_a, new_b, Mont); - } - idx[1]++; - } - SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont); - } - - if ((idx[0]==length[0]) || (idx[1]==length[1])) - { - i = ((idx[0]==length[0]) ? 0 : 1); - - SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont); - - if (chain[i][idx[i]]>0) - { - // EC_Dst = EC_Dst + Pw[i][(chain[i][idx[i]]+1)/2] - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][(chain[i][idx[i]] + 1) / 2], new_a, new_b, Mont); - } - else - { - // EC_Dst = EC_Dst - Pw[i][(chain[i][idx[i]]+1)/2] - SDRM_EC_COPY(Pw[i][0], Pw[i][(-chain[i][idx[i]] + 1) / 2]); - SDRM_BN_Sub(Pw[i][0]->y, ctx->ECC_p, Pw[i][0]->y); - SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][0], new_a, new_b, Mont); - } - SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont); - } - - - // montgomery reduction of EC_Dst - SDRM_MONT_Rzn2zn(EC_Dst->x, EC_Dst->x, Mont); - SDRM_MONT_Rzn2zn(EC_Dst->y, EC_Dst->y, Mont); - SDRM_MONT_Rzn2zn(EC_Dst->z, EC_Dst->z, Mont); - - if (EC_Dst->z->Length == 0) - { - for(i = 0; i < 2; i++) - { - for(j = 0; j < 9; j++) - { - free(Pw[i][j]); - } - } - - free(pbBuf); - SDRM_MONT_Free(Mont); - - EC_Dst->IsInfinity = 1; - - return CRYPTO_INFINITY_INPUT; - } - - // ÁÂÇ¥º¯È¯ : Modified Jacobian => Affine - // (EC_Dst->x) <= (EC_Dst->x) * { ((EC_Dst->z)^2)^-1 } - // (EC_Dst->y) <= (EC_Dst->y) * { (2*((EC_Dst->z)^3))^-1 } - SDRM_BN_ModMul(t1, EC_Dst->z, EC_Dst->z, ctx->ECC_p); - SDRM_BN_ModInv(t2, t1, ctx->ECC_p); - SDRM_BN_ModMul(EC_Dst->x, EC_Dst->x, t2, ctx->ECC_p); - - SDRM_BN_ModMul(t2, t1, EC_Dst->z, ctx->ECC_p); - SDRM_BN_SHL(t2, t2, 1); - SDRM_BN_ModInv(t1, t2, ctx->ECC_p); - SDRM_BN_ModMul(EC_Dst->y, EC_Dst->y, t1, ctx->ECC_p); - - for(i = 0; i < 2; i++) - { - for(j = 0; j < 9; j++) - { - free(Pw[i][j]); - } - } - - free(pbBuf); - SDRM_MONT_Free(Mont); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/fast_math.c b/SPC/Src/base/fast_math.c deleted file mode 100755 index 1905b70..0000000 --- a/SPC/Src/base/fast_math.c +++ /dev/null @@ -1,906 +0,0 @@ -/** - * @file fast_mathf.c - * @brief This file contains optimized implementations for severall basic arithmetical functions. - * - * [Optional] Detail description (major features, interface description, flow of control, and so on) - * @see [Optional] Related information - - * Copyright 2008 by Samsung Electronics, Inc., - * - * This software is the confidential and proprietary information - * of Samsung Electronics, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Samsung. - * - * \internal - * Author : Karen Ispiryan - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2008/08/28 -*/ - -#include -#include - -#include "CryptoCore.h" -#include "CC_Constants.h" -#include "bignum.h" - -#include "fast_math.h" - -/** - * @fn SDRM_ll_Cmp - * @brief Compare two large unsigned integers - * - * @param pFirstOperand [in] the first operand - * @param pSecondOperand [in] the second operand - * - * @return 0 if they are equal - * 1 if first bigger then second - * -1 if the seond one is bigger then first - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Cmp(const BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength) -{ - pFirstOperand += uOperandLength; - pSecondOperand += uOperandLength; - - while (uOperandLength--) { - if (*--pFirstOperand != *--pSecondOperand) - { - if (*pFirstOperand < *pSecondOperand) - { - return -1; - } - else - { - return 1; - } - } - } - return 0; -} - -/** - * @fn SDRM_ll_Copy - * @brief Just copy two large unsigned integers from one into another - */ -CRYPTOCORE_INTERNAL void SDRM_ll_Copy(BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength) -{ - while (uOperandLength--) - { - *pFirstOperand++ = *pSecondOperand++; - } -} - -/** - * @fn SDRM_ll_bit_RShift - * @brief Shift large unsigned integer to the right by uBits - * - * @param pOperand [inout] pointer to the operand to be shifted - * - * @return Nothing - * @warning We have to be careful when using this function because it modifies uOperandLength+1 words - * that is by 1 word bigger then operand original size. - * WWW....Operand...WWW|W <- it modifies the word immediately after the last one of passed operand. - */ -CRYPTOCORE_INTERNAL void SDRM_ll_bit_RShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits) -{ - BasicWord uLastIndex = (BasicWord)(uOperandLength - 1); - register BasicWord t; - - while (uLastIndex--) - { - t = *pOperand >> uBits; - *pOperand = t | (*(pOperand + 1) << (BASICWORD_BITS_COUNT - uBits)); - pOperand++; - } - *pOperand >>= uBits; -} - -/** - * @fn SDRM_ll_bit_LShift - * @brief Shift large unsigned integer to the left by uBits - * - * @param pOperand [inout] pointer to the operand to be shifted - * - * @return Nothing - * @warning We have to be careful when using this function because it modifies uOperandLength+1 words - * that is by 1 word bigger then operand original size. - * It modifies the word immediately prior to the first one of passed operand -> W|WWW....Operand...WWW - */ -CRYPTOCORE_INTERNAL void SDRM_ll_bit_LShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits) -{ - BasicWord uLastIndex = (BasicWord)(uOperandLength - 1); - BasicWord t; - - pOperand += uOperandLength-1; - while (uLastIndex--) - { - t = *pOperand << uBits; - *pOperand = t | (*(pOperand - 1) >> (BASICWORD_BITS_COUNT - uBits)); - pOperand--; - } - *pOperand <<= uBits; -} - -/** - * @fn SDRM_ll_getMSW - * @brief Return index of most significant word. - * - * @param pOperand [in] pointer to the large integer. - * - * @return The index of most significant word. - * -1 if passed integer actually is equal to 0. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_getMSW(IN const BasicWord *pOperand, IN BasicWord uOperandLength) -{ - int nEl; - for(nEl = uOperandLength - 1; nEl >= 0; nEl--) - { - if (0 != pOperand[nEl]) - { - break; - } - } - return nEl; -} - -/** - * @fn SDRM_ll_getMSB - * @brief Find the leftmost non-zero bit in passed unsigned integer. - * - * @param oneWord [in] value of unsigned integer - * - * @return Position of leftmost non-zero bit. - * @warning Actually this function returns the position of leftmost non-zero bit started from the end of the integer. - * For example if we considering the unsigned integer with value 0x80000000 then SDRM_ll_getMSB will return 0 as a result. - * Or in the case if integer has value equal t 1, then SDRM_ll_getMSB will return BASICWORD_BITS_COUNT as a result. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_getMSB(IN BasicWord oneWord) -{ - register BasicWord mask = (1 << (BASICWORD_BITS_COUNT-1)); - int nPos = 0; - - if ( !oneWord ) - return BASICWORD_BITS_COUNT; - - while (!(oneWord & mask)) - { - nPos++; - mask >>= 1; - } - - return nPos; -} - -/** - * @fn SDRM_ll_bit_getBitValue - * @brief Return one bit value in the large integer number. - * - * @param pOperand [in] pointer to large integer - * @param nBit [in] bit position in the large integer. - * - * @return 0 or 1 depends on actual bit value. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_bit_getBitValue(IN BasicWord *pOperand, IN BasicWord nBit) -{ - BasicWord uOrdNum = nBit / BASICWORD_BITS_COUNT; - BasicWord uBitNum = nBit % BASICWORD_BITS_COUNT; - - return (pOperand[uOrdNum] >> uBitNum) & 0x1; -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_bit_getBitsValue(IN const BasicWord *pOperand, IN BasicWord uStartBit, IN BasicWord uBitsCount) -{ - int nValueLen, i; - BasicWord uValue = 0; - BasicWord uStartOrdNum = uStartBit / BASICWORD_BITS_COUNT; /* number of ords */ - BasicWord uStartBitNum = uStartBit % BASICWORD_BITS_COUNT; /* number of bits in remainder BasicWord */ - - if((nValueLen = (int)(uStartBitNum + 1 - uBitsCount)) >= 0) - { - for(i = uStartBitNum; i >= nValueLen; i--) - { - uValue = (BasicWord)(((pOperand[uStartOrdNum] >> i) & 1) | (uValue << 1)); - } - } - else - { - nValueLen = uBitsCount - uStartBitNum - 1; - for(i = uStartBitNum; i >= 0; i--) - { - uValue = (BasicWord)(((pOperand[uStartOrdNum] >> i) & 1) | (uValue << 1)); - } - - uStartOrdNum--; - nValueLen = BASICWORD_BITS_COUNT - nValueLen; - for(i = BASICWORD_BITS_COUNT - 1; i >= nValueLen; i--) - { - uValue = (BasicWord)(((pOperand[uStartOrdNum] >> i) & 1) | (uValue << 1)); - } - } - - do - { - if(0 != (uValue & 1)) - { - break; - } - uValue >>= 1; - } while(1); - - uValue = uValue >> 1; /* get rid of least significant bit */ - - return uValue; -} - -/** - * @fn SDRM_ll_Add - * @brief Add two large unsigned integers that have the same size. - * - * @param pFirstOperand [in] pointer to first large integer - * @param pSecondOperand [in] pointer to second large integer - * @param uOperandsLength [in] length of the operands in words - * @param pResult [out] pointer to result of subtraction - * - * @return carry if so. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Add(IN const BasicWord *pFirstOperand, - IN const BasicWord *pSecondOperand, - IN BasicWord uOperandsLength, - OUT BasicWord *pResult) -{ - unsigned i = 1; - register BasicWord rh; - register BasicWord fo, so, rl; - - fo = *pFirstOperand++; - so = *pSecondOperand++; - _add_add_(fo,so,0,rl,rh) - *pResult++ = rl; - for (; i < uOperandsLength; i++) - { - fo = *pFirstOperand++; - so = *pSecondOperand++; - _add_add_(fo,so,rh,rl,rh) - *pResult++ = rl; - } - - return rh; -} - -/** - * @fn SDRM_ll_AddCarry - * @brief Add carry to large unsigned integer - * - * @param oneWord [in] value of carry - * @param pOperand [inout] pointer to large integer - * @param uOperandLength [in] length of the second operand in words - * - * @return carry if so. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_AddCarry(IN BasicWord oneWord, IN BasicWord *pOperand, IN BasicWord uOperandLength) -{ - BasicWord i = 1; - register BasicWord ow = oneWord; - - if ((pOperand[0] += ow) >= ow) - { - return 0; - } - - while(i < uOperandLength) - { - if(++pOperand[i++] != 0) - { - return 0; - } - } - - return 1; -} - -/** - * @fn SDRM_ll_Sub - * @brief Subtract two large unsigned integers that have the same size. - * - * @param pFirstOperand [in] pointer to first large integer - * @param pSecondOperand [in] pointer to second large integer - * @param uOperandsLength [in] length of the operands in words - * @param pResult [out] pointer to result of subtraction - * - * @return borrow if so. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Sub(IN const BasicWord *pFirstOperand, - IN const BasicWord *pSecondOperand, - IN BasicWord uOperandsLength, - OUT BasicWord *pResult) -{ - register BasicWord temp, borrow = 0; - - while (uOperandsLength--) - { - temp = *pFirstOperand - *pSecondOperand - borrow; - borrow = (borrow && (*pFirstOperand == *pSecondOperand)) || (*pFirstOperand < *pSecondOperand); - *pResult++ = temp; - pFirstOperand++; - pSecondOperand++; - } - return (borrow); -} - -/** - * @fn SDRM_ll_Mul1 - * @brief Multiply large integer by one word. - * Result = oneWord*SecondOperand. - * - * @param oneWord [in] value of first multiplayer. - * @param pSecondOperand [in] pointer to large integer - * @param uSecondOperandsLength [in] length of the second operand in words - * @param pResult [out] pointer to result of multiplication - * - * @warning Routine doesn't store the last word of multiplication result, - * so we have to be carefull and take care about it after calling this function. - */ -CRYPTOCORE_INTERNAL BasicWord SDRM_ll_Mul1(IN BasicWord oneWord, - IN BasicWord *pSecondOperand, BasicWord uSecondOperandsLength, - IN OUT BasicWord *pResult) -{ - register BasicWord ow = oneWord; - register BasicWord rh, op2, r; - - op2 = *pSecondOperand++; - r = *pResult; - _mul_add_add(op2, ow, 0, 0, r, rh) - *pResult++ = r; - while ( --uSecondOperandsLength ) - { - op2 = *pSecondOperand++; - r = *pResult; - _mul_add_add(op2, ow, 0, rh, r, rh) - *pResult++ = r; - } - - return rh; -} - -/** - * @fn SDRM_ll_Mul1 - * @brief Multiply large integer by one word and add result to the another large integer. - * Result += oneWord*SecondOperand. - * - * @param oneWord [in] value of first multiplayer. - * @param pSecondOperand [in] pointer to large integer - * @param uSecondOperandsLength [in] length of the second operand in words - * @param pResult [inout] pointer to result of multiplication - * - * @warning Routine doesn't store the last word of multiplication result, - * so we have to be carefull and take care about it after calling this function. - */ -CRYPTOCORE_INTERNAL BasicWord SDRM_ll_MulAdd1(IN BasicWord oneWord, - IN BasicWord *pSecondOperand, BasicWord uSecondOperandsLength, - IN OUT BasicWord *pResult) -{ - register BasicWord ow = oneWord; - register BasicWord rh, op2, r; - - op2 = *pSecondOperand++; - r = *pResult; - _mul_add_add(op2, ow, r, 0, r, rh) - *pResult++ = r; - while (--uSecondOperandsLength) - { - op2 = *pSecondOperand++; - r = *pResult; - _mul_add_add(op2, ow, r, rh, r, rh) - *pResult++ = r; - } - - return rh; -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_MulAdd(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, - IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, - OUT BasicWord *pResult) -{ - while (uFirstOperandsLength--) - { - *(pResult+uSecondOperandsLength) = SDRM_ll_MulAdd1(*pFirstOperand++, pSecondOperand, uSecondOperandsLength, pResult); - pResult++; - } -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_Mul(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, - IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, - OUT BasicWord *pResult) -{ - *(pResult+uSecondOperandsLength) = SDRM_ll_Mul1(*pFirstOperand++, pSecondOperand, uSecondOperandsLength, pResult); - while (--uFirstOperandsLength) - { - *(pResult+uSecondOperandsLength) = SDRM_ll_MulAdd1(*pFirstOperand++, pSecondOperand, uSecondOperandsLength, pResult); - pResult++; - } -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_Square(IN BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord *pResult) -{ - BasicWord i; - BasicWord j; - BasicWord t; - BasicWord len; - - /* Compute the product of diagonal elements */ - for(i = 0; i < uOperandLength; i++) - { - BasicWord rl, rh, op; - op = pOperand[i]; - _mul_add_add(op,op,0,0,rl,rh) - pResult[i * 2] = rl; - pResult[i * 2 + 1] = rh; - } - - /* Divide the result by 2 */ - SDRM_ll_bit_RShift(pResult, (BasicWord)(uOperandLength << 1), 1); - - /* Add the half of the rest part of squaring to the half of diagonal */ - i = 0; - j = 0; - len = uOperandLength; - while (--len) - { - t = SDRM_ll_MulAdd1(pOperand[i], pOperand+i+1, (BasicWord)len, pResult + j + 1); - SDRM_ll_AddCarry(t, pResult+len+j+1, len+1); - j+=2; - i++; - } - - /* Multiply the result by 2 */ - SDRM_ll_bit_LShift(pResult, (BasicWord)(uOperandLength << 1), 1); - - /* Restore the least significant bit */ - if((pOperand[0] & 0x1L) != 0) - { - pResult[0] |= 0x1L; - } -} - -/** - * @fn SDRM_ll_Rem - * @brief Compute reminder of division. - * - * @warning This is a temporary solution. It has been created mostly for testing purposes. - */ -CRYPTOCORE_INTERNAL int SDRM_ll_Rem(IN BasicWord *pOperand, IN BasicWord uOperandLengthInBytes, - IN BasicWord *pModule, IN BasicWord uModuleLengthInBytes, - OUT BasicWord *pResult) -{ - BasicWord nWordX = DIV_BY_ORD_BYTES_COUNT(uOperandLengthInBytes); - BasicWord nWordP; - BasicWord *pTempResult; - - nWordX = SDRM_ll_getMSW(pOperand, nWordX) + 1; - nWordP = SDRM_ll_getMSW(pModule, nWordX) + 1; - - pTempResult = calloc(nWordX+1,BASICWORD_BYTES_COUNT); - if (!pTempResult) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_ll_Copy(pTempResult, pOperand, nWordX); - - SDRM_DWD_Classical_REDC(pTempResult, nWordX, pModule, nWordP); - - SDRM_ll_Copy(pResult, pTempResult, nWordP); - - free(pTempResult); - - return 0; -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_mont_Inverse(OUT BasicWord *out, IN BasicWord oneWord) -{ - /* - t = m^(-1) mod b - m^(-1) = t*(2-m*t) mod (b^2) - - So we are just using some simple iteration t <- t*(2-m*t) and check the condition that t*m == 1 mod b. - */ - BasicWord t = oneWord; - BasicWord r = t*t; - - while (r != 1) - { - t = t*(2 - r); - r = oneWord*t; - - if (!(r) && !(t)) - { - return -1; - } - } - - *out = (BasicWord)(-t); - - return 0; -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL void SDRM_ll_mont_Rem(IN OUT BasicWord *pFirstOperand, - IN BasicWord *pModule, - IN BasicWord uModuleLength, - IN BasicWord inv) -{ - BasicWord lp; /* leftmost non-zero element */ - BasicWord temp, temp_longs; - BasicWord carry = 0; - - temp_longs = uModuleLength; - lp = SDRM_ll_getMSW(pModule, uModuleLength) + 1; - do - { - temp = inv * pFirstOperand[0]; - temp = SDRM_ll_MulAdd1(temp, pModule, lp, pFirstOperand); - carry += SDRM_ll_AddCarry(temp, pFirstOperand+uModuleLength, temp_longs); - pFirstOperand++; - } while(--temp_longs); - - while(carry) - { - if(SDRM_ll_Sub(pFirstOperand, pModule, uModuleLength, pFirstOperand)) - carry--; - } - - while(SDRM_ll_Cmp(pFirstOperand, pModule, uModuleLength) >= 0) - { - SDRM_ll_Sub(pFirstOperand, pModule, uModuleLength, pFirstOperand); - } -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_mont_Square(IN BasicWord *pFirstOperand, - IN BasicWord *pModule, - IN BasicWord uModuleLength, - IN BasicWord Inv, - OUT BasicWord *pResult) -{ - pResult[uModuleLength * 2] = 0; - - /* Compute square */ - SDRM_ll_Square(pFirstOperand, uModuleLength, pResult); - /* Compute the modulo by the Montgomery */ - SDRM_ll_mont_Rem(pResult, pModule, uModuleLength, Inv); - - /* Note: The next step for making toolkit faster is to redesign Montgomery functions and remove all memory allocation - and copying from there. That means that exponentiation routine should be redesigne as well. */ - memcpy(pFirstOperand, pResult + uModuleLength, MUL_BY_ORD_BYTES_COUNT(uModuleLength)); - return CRYPTO_SUCCESS; -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ -CRYPTOCORE_INTERNAL int SDRM_ll_mont_Mul(IN BasicWord *pFirstOperand, - IN BasicWord *pSecondOperand, - IN BasicWord *pModule, - IN BasicWord uModuleLengthInBytes, - IN BasicWord Inv, - OUT BasicWord *pResult) -{ - BasicWord P_longs; /* number of longs in P, X and Y */ - BasicWord lx, ly; /* leftmost non-zero elements */ - BasicWord *XY; /* pointer to product result */ - - P_longs = DIV_BY_ORD_BYTES_COUNT(uModuleLengthInBytes); - XY = (BasicWord*)calloc(2 * P_longs + 1, BASICWORD_BYTES_COUNT); - if(!XY) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - /* Find leftmost non-zero elements */ - lx = SDRM_ll_getMSW(pFirstOperand, P_longs) + 1; - ly = SDRM_ll_getMSW(pSecondOperand, P_longs) + 1; - /* Compute the product of FirstOperand and SecondOperand */ - SDRM_ll_MulAdd(pFirstOperand, lx, pSecondOperand, ly, XY); - /* Compute the modulo by the Montgomery */ - SDRM_ll_mont_Rem(XY, pModule, P_longs, Inv); - - /* Note: The next step for making toolkit faster is to redesign Montgomery functions and remove all memory allocation - and copying from there. That means that exponentiation routine should be redesigne as well. */ - memcpy(pResult, XY + P_longs, uModuleLengthInBytes); - free(XY); - return CRYPTO_SUCCESS; -} - -/** - * @fn [Mandatory] Function name - * @brief [Mandatory] Description of major features and algorithms - * - * @param [Optional] description of parameters ([one among in, out, inout]) - * - * @return [Optional] description of return value - * @warning [Optional] constraints or notices - * @see [Optional] related information - */ - -#define _win_pval(i) (BasicWord*)(temp_1 + (i) * uOrdsP) -CRYPTOCORE_INTERNAL int SDRM_ll_ExpMod( IN BasicWord *pBase, IN BasicWord uBaseLengthInBytes, - IN BasicWord *pExponent, IN BasicWord uExponentLengthInBytes, - IN BasicWord *pModule, IN BasicWord uModuleLengthInBytes, - OUT BasicWord *pResult) -{ - int nStatus = CRYPTO_SUCCESS; - BasicWord *temp_1, inv; - BasicWord *m_temp, *m_sq; - int n_mem, win_len; - BasicWord uOrdsY, uOrdsP; - int i, j, k, eb = 0; - BasicWord nIndex; - int ly; - /* The values of num_squar array given below represents the lengths of particular window values in bits */ - /* We have to take into account that we store only odd values. */ - /* window values -> 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, etc... */ - /* num_squar -> 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, etc... */ - int num_squar[32] = {1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,}; - - uOrdsY = DIV_BY_ORD_BYTES_COUNT(uExponentLengthInBytes); - uOrdsP = DIV_BY_ORD_BYTES_COUNT(uModuleLengthInBytes); - /* Find the leftmost non-zero element of modulo */ - if(-1 == SDRM_ll_getMSW(pModule, uOrdsP)) - return CRYPTO_INVALID_ARGUMENT; - /* Find the leftmost non-zero element of exponent */ - ly = SDRM_ll_getMSW(pExponent, uOrdsY); - - /* if exponent equal to 0 result is 1 */ - if(-1 == ly) - { - memset(pResult, 0, uModuleLengthInBytes); - pResult[0] = 1; - return CRYPTO_SUCCESS; - } - - /* Find the leftmost non-zero bit in this element */ - eb = SDRM_ll_getMSB(pExponent[ly]); - - /* Choose window length */ - k = BASICWORD_BITS_COUNT * (ly + 1) - eb - 1; - if(k < 512) - { - win_len = 4; - } - else if((k >= 512) && (k < 1024)) - { - win_len = 5; - } - else - { /* for any k >= 1024 */ - win_len = 6; - } - - /* Obtain number of precomputed elements */ - n_mem = (1 << (win_len - 1)) + 1; - /* Allocate storage for precomputetd values */ - temp_1 = (BasicWord*)calloc((n_mem + 1) * uOrdsP, BASICWORD_BYTES_COUNT); - if (!temp_1) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - /* Allocate temporary storages */ - m_temp = (BasicWord*)calloc(2 * uOrdsP + 1, BASICWORD_BYTES_COUNT); - if (!m_temp) - { - free(temp_1); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - m_sq = (BasicWord*)malloc(2 * uModuleLengthInBytes + BASICWORD_BYTES_COUNT); - if (!m_sq) - { - free(temp_1); - free(m_temp); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - do - { - /* Convert Base to Montgomery form */ - inv = *pModule; - if (SDRM_ll_mont_Inverse(&inv, inv) != 0) - { - nStatus = CRYPTO_INVERSE_NOT_EXIST; - break; - } - /* Move n up "mlen" words into a */ - /* Actually we obtain X*R where R is Montgomery reduction coefficient */ - memcpy(m_temp + uOrdsP, pBase, uBaseLengthInBytes); - - /* Do the division - dump the quotient in the high-order words */ - if((nStatus = SDRM_ll_Rem(m_temp, (BasicWord)(uBaseLengthInBytes + uModuleLengthInBytes), pModule, uModuleLengthInBytes, temp_1)) != CRYPTO_SUCCESS) - { - break; - } - - /* After this operation we will obtain X*R mod P */ - memcpy(m_temp, temp_1, uModuleLengthInBytes); - - /* Initialization */ - /* Compute X^2*R mod P */ - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - memcpy(_win_pval(n_mem), m_temp, uModuleLengthInBytes); - - /* We have to calculate X^3, X^5 and so on ... */ - /* For making that we just use previously calculated value of X^2 and use it as multiplayer consecutively. */ - /* element (0) <- X*R mod P */ - /* element (1) <- X^3*R = element (0) * X^2*R mod P */ - /* element (2) <- X^5*R = element (1) * X^2*R mod P */ - /* element (3) <- X^7*R = element (2) * X^2*R mod P */ - /* element (4) <- ... */ - for(i = 1; i < n_mem; i++) - { - SDRM_ll_mont_Mul(_win_pval(i - 1), _win_pval(n_mem), pModule, uModuleLengthInBytes, inv, _win_pval(i)); - } - - /* OK, now let compute R mod P */ - memset(m_temp, 0, 2 * uModuleLengthInBytes + 1); - m_temp[uOrdsP] = 1; - if((nStatus = SDRM_ll_Rem(m_temp, (BasicWord)(uModuleLengthInBytes + BASICWORD_BYTES_COUNT), pModule, uModuleLengthInBytes, m_temp)) != CRYPTO_SUCCESS) - break; - - /* Compute the exponent */ - for(i = k; i >= win_len-1; ) - { - /* Note: I don't like this solution, but it was easy and from that point of view was suitable for short development cycle. - During further refactoring exponent bits processing should be changed in a way that makes possible to perform - all computations inside of the one cycle. See some additional related comments right after the body of this cycle.*/ - - /* Find next suitable bits for computations */ - nIndex = (BasicWord)SDRM_ll_bit_getBitsValue(pExponent, (BasicWord)i, (BasicWord)win_len); - - /* Square the intermediate result */ - for(j = 0; j < num_squar[nIndex]; j++) - { - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - } - - /* Multiply with the precomputed data */ - SDRM_ll_mont_Mul(m_temp, _win_pval(nIndex), pModule, uModuleLengthInBytes, inv, m_temp); - - /* Square (win_len - num_squar) times */ - for(j = 0 ; j < win_len - num_squar[nIndex]; j++) - { - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - } - - i -= win_len; - - /* perform squering till first nonzero bit */ - while((i >= win_len - 1) && !SDRM_ll_bit_getBitValue(pExponent, (BasicWord)i)) - { - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - i--; - } - } - - /* Note: Actually it would be batter to perform remeined last bits processing inside of the exponent computation main cycle. - So the next refactoring step is to modify this routine and make things in that way. */ - - /* if we still have some bit(s) ... */ - /* perform squering till first nonzero bit */ - while((i >= 0) && !SDRM_ll_bit_getBitValue(pExponent, (BasicWord)i)) - { - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - i--; - } - - /* if we still have some nonzero bit(s) ... */ - if(i >= 0) - { - nIndex = (BasicWord)SDRM_ll_bit_getBitsValue(pExponent, (BasicWord)i, (BasicWord)(i + 1)); - for(j = 0; j < num_squar[nIndex]; j++) - { - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - } - - /* Multiply with precomputed data*/ - SDRM_ll_mont_Mul(m_temp, _win_pval(nIndex), pModule, uModuleLengthInBytes, inv, m_temp); - - /* Square (win_len - num_squar) times */ - for(j = 0 ; j <= i - num_squar[nIndex]; j++) - { - SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq); - } - } - - /* Convert the result out of Montgomery form */ - SDRM_ll_mont_Rem(m_temp, pModule, uOrdsP, inv); - memcpy(pResult, m_temp + uOrdsP, uModuleLengthInBytes); - /* This is the tricky place :) Actually we have (X*R+R) mod P. */ - /* So we just need to remove that additional R */ - pResult[0]--; - - break; /* always break this loop */ - } while(0); - - free(temp_1); - free(m_temp); - free(m_sq); - - return nStatus; -} diff --git a/SPC/Src/base/hash.c b/SPC/Src/base/hash.c deleted file mode 100755 index 3081353..0000000 --- a/SPC/Src/base/hash.c +++ /dev/null @@ -1,578 +0,0 @@ -/** - * \file hash.c - * @brief hash API function - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/08 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "hash.h" -#include "sha1.h" -#include "sha2.h" -#include "md5.h" - -//////////////////////////////////////////////////////////////////////////// -// functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_SHA1_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_init(CryptoCoreContainer *crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA1_Init(crt->ctx->sha1ctx); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA1_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]cc_u8-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA1_Update(crt->ctx->sha1ctx, msg, msglen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA1_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_final(CryptoCoreContainer *crt, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA1_Final(crt->ctx->sha1ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA1_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA1_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA1_Init(crt->ctx->sha1ctx); - SDRM_SHA1_Update(crt->ctx->sha1ctx, msg, msglen); - SDRM_SHA1_Final(crt->ctx->sha1ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA224_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_init(CryptoCoreContainer *crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA224_Init(crt->ctx->sha224ctx); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA224_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA224_Update(crt->ctx->sha224ctx, msg, msglen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA224_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_final(CryptoCoreContainer *crt, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA224_Final(crt->ctx->sha224ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA224_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA224_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA224_Init(crt->ctx->sha224ctx); - SDRM_SHA224_Update(crt->ctx->sha224ctx, msg, msglen); - SDRM_SHA224_Final(crt->ctx->sha224ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA256_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_init(CryptoCoreContainer *crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA256_Init(crt->ctx->sha256ctx); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA256_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA256_Update(crt->ctx->sha256ctx, msg, msglen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA256_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_final(CryptoCoreContainer *crt, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA256_Final(crt->ctx->sha256ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA256_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA256_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA256_Init(crt->ctx->sha256ctx); - SDRM_SHA256_Update(crt->ctx->sha256ctx, msg, msglen); - SDRM_SHA256_Final(crt->ctx->sha256ctx, output); - - return CRYPTO_SUCCESS; -} - -#ifndef _OP64_NOTSUPPORTED - -/* - * @fn SDRM_SHA384_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_init(CryptoCoreContainer *crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA384_Init(crt->ctx->sha384ctx); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA384_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA384_Update(crt->ctx->sha384ctx, msg, msglen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA384_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_final(CryptoCoreContainer *crt, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA384_Final(crt->ctx->sha384ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA384_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA384_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA384_Init(crt->ctx->sha384ctx); - SDRM_SHA384_Update(crt->ctx->sha384ctx, msg, msglen); - SDRM_SHA384_Final(crt->ctx->sha384ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA512_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_init(CryptoCoreContainer *crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA512_Init(crt->ctx->sha512ctx); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA512_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA512_Update(crt->ctx->sha512ctx, msg, msglen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA512_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_final(CryptoCoreContainer *crt, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA512_Final(crt->ctx->sha512ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SHA512_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_SHA512_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_SHA512_Init(crt->ctx->sha512ctx); - SDRM_SHA512_Update(crt->ctx->sha512ctx, msg, msglen); - SDRM_SHA512_Final(crt->ctx->sha512ctx, output); - - return CRYPTO_SUCCESS; -} - -#endif //_OP64_NOTSUPPORTED - -/* - * @fn SDRM_MD5_init - * @brief initialize CryptoCoreContainer context - * - * @param crt [out]CryptoCoreContainer context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_init(CryptoCoreContainer *crt) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_MD5_Init(crt->ctx->md5ctx); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_MD5_update - * @brief process a message block - * - * @param crt [out]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_MD5_Update(crt->ctx->md5ctx, msg, msglen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_MD5_final - * @brief get hashed message - * - * @param crt [in]CryptoCoreContainer context - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_final(CryptoCoreContainer *crt, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_MD5_Final(crt->ctx->md5ctx, output); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_MD5_hash - * @brief get hashed message from message - * - * @param crt [in]CryptoCoreContainer context - * @param msg [in]message - * @param msglen [in]byte-length of msg - * @param output [out]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_MD5_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output) -{ - if ((crt == NULL) || (crt->ctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_MD5_Init(crt->ctx->md5ctx); - SDRM_MD5_Update(crt->ctx->md5ctx, msg, msglen); - SDRM_MD5_Final(crt->ctx->md5ctx, output); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/md5.c b/SPC/Src/base/md5.c deleted file mode 100755 index 3574d7a..0000000 --- a/SPC/Src/base/md5.c +++ /dev/null @@ -1,289 +0,0 @@ -/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All -rights reserved. - -License to copy and use this software is granted provided that it -is identified as the "RSA Data Security, Inc. MD5 Message-Digest -Algorithm" in all material mentioning or referencing this software -or this function. - -License is also granted to make and use derivative works provided -that such works are identified as "derived from the RSA Data -Security, Inc. MD5 Message-Digest Algorithm" in all material -mentioning or referencing the derived work. - -RSA Data Security, Inc. makes no representations concerning either -the merchantability of this software or the suitability of this -software for any particular purpose. It is provided "as is" -without express or implied warranty of any kind. - -These notices must be retained in any copies of any part of this -documentation and/or software. - */ - -/* - * MD5 implementation - */ - -#include "md5.h" - -//Constants for MD5Transform routine. -static cc_u8 S[4][4] = { - {7, 12, 17, 22}, - {5, 9, 14, 20}, - {4, 11, 16, 23}, - {6, 10, 15, 21} -}; - -static void SDRM_MD5Transform(cc_u32 [4], const unsigned char*); -static void SDRM_Encode (unsigned char *, cc_u32 *, cc_u32); -static void SDRM_Decode (cc_u32 *, const unsigned char *, cc_u32); - -static unsigned char PADDING[64] = {0x80, 0,}; - -/* F, G, H and I are basic MD5 functions. - */ -//#define F(x, y, z) (((x) & (y)) | ((~x) & (z))) -//#define G(x, y, z) (((x) & (z)) | ((y) & (~z))) -//#define H(x, y, z) ((x) ^ (y) ^ (z)) -//#define I(x, y, z) ((y) ^ ((x) | (~z))) - -#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) -#define G(x, y, z) F(z, x, y) -#define H(x, y, z) ((x) ^ (y) ^ (z)) -#define I(x, y, z) ((y) ^ ((x) | ~(z))) - - -/* ROTATE_LEFT rotates x left n bits. - */ -#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) - -/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4. -Rotation is separate from addition to prevent recomputation. - */ -#define FF(a, b, c, d, x, s, ac) { \ - (a) += F ((b), (c), (d)) + (x) + (cc_u32)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ -} -#define GG(a, b, c, d, x, s, ac) { \ - (a) += G ((b), (c), (d)) + (x) + (cc_u32)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ -} -#define HH(a, b, c, d, x, s, ac) { \ - (a) += H ((b), (c), (d)) + (x) + (cc_u32)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ -} -#define II(a, b, c, d, x, s, ac) { \ - (a) += I ((b), (c), (d)) + (x) + (cc_u32)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ -} - -/* MD5 initialization. Begins an MD5 operation, writing a new context. - */ -CRYPTOCORE_INTERNAL void SDRM_MD5_Init(SDRM_MD5Context *ctx) -{ - ctx->count[0] = 0; - ctx->count[1] = 0; - - // Load magic initialization constants. - ctx->state[0] = 0x67452301; - ctx->state[1] = 0xefcdab89; - ctx->state[2] = 0x98badcfe; - ctx->state[3] = 0x10325476; -} - -/* MD5 block update operation. Continues an MD5 message-digest - operation, processing another message block, and updating the - context. - */ -CRYPTOCORE_INTERNAL void SDRM_MD5_Update(SDRM_MD5Context *ctx, cc_u8* input, cc_u32 inputLen) -{ - cc_u32 i, idx, partLen; - - /* Compute number of bytes mod 64 */ - idx = (cc_u32)((ctx->count[0] >> 3) & 0x3F); - - /* Update number of bits */ - if ((ctx->count[0] += ((cc_u32)inputLen << 3)) < ((cc_u32)inputLen << 3)) - { - ctx->count[1]++; - } - - ctx->count[1] += ((cc_u32)inputLen >> 29); - - partLen = 64 - idx; - - // Transform as many times as possible. - if (inputLen >= partLen) - { - memcpy(&ctx->buffer[idx], input, partLen); - SDRM_MD5Transform(ctx->state, ctx->buffer); - - for (i = partLen; i + 63 < inputLen; i += 64) - { - SDRM_MD5Transform(ctx->state, &input[i]); - } - - idx = 0; - } - else - { - i = 0; - } - - /* Buffer remaining input */ - memcpy(&ctx->buffer[idx], &input[i], inputLen-i); -} - -/* MD5 finalization. Ends an MD5 message-digest operation, writing the - the message digest and zeroizing the context. - */ -CRYPTOCORE_INTERNAL void SDRM_MD5_Final(SDRM_MD5Context *ctx, cc_u8* digest) -{ - unsigned char bits[8]; - cc_u32 idx, padLen; - - /* Save number of bits */ - SDRM_Encode(bits, ctx->count, 8); - - // Pad out to 56 mod 64. - idx = (cc_u32)((ctx->count[0] >> 3) & 0x3f); - padLen = (idx < 56) ? (56 - idx) : (120 - idx); - SDRM_MD5_Update (ctx, PADDING, padLen); - - /* Append length (before padding) */ - SDRM_MD5_Update (ctx, bits, 8); - - /* Store state in digest */ - SDRM_Encode (digest, ctx->state, 16); - - // Zeroize sensitive information. - memset(ctx, 0, sizeof(*ctx)); -} - -/* MD5 basic transformation. Transforms state based on block. - */ -static void SDRM_MD5Transform (cc_u32 state[4], const unsigned char* block) -{ - cc_u32 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; - - SDRM_Decode (x, block, 64); - - /* Round 1 */ - FF (a, b, c, d, x[ 0], S[0][0], 0xd76aa478); /* 1 */ - FF (d, a, b, c, x[ 1], S[0][1], 0xe8c7b756); /* 2 */ - FF (c, d, a, b, x[ 2], S[0][2], 0x242070db); /* 3 */ - FF (b, c, d, a, x[ 3], S[0][3], 0xc1bdceee); /* 4 */ - FF (a, b, c, d, x[ 4], S[0][0], 0xf57c0faf); /* 5 */ - FF (d, a, b, c, x[ 5], S[0][1], 0x4787c62a); /* 6 */ - FF (c, d, a, b, x[ 6], S[0][2], 0xa8304613); /* 7 */ - FF (b, c, d, a, x[ 7], S[0][3], 0xfd469501); /* 8 */ - FF (a, b, c, d, x[ 8], S[0][0], 0x698098d8); /* 9 */ - FF (d, a, b, c, x[ 9], S[0][1], 0x8b44f7af); /* 10 */ - FF (c, d, a, b, x[10], S[0][2], 0xffff5bb1); /* 11 */ - FF (b, c, d, a, x[11], S[0][3], 0x895cd7be); /* 12 */ - FF (a, b, c, d, x[12], S[0][0], 0x6b901122); /* 13 */ - FF (d, a, b, c, x[13], S[0][1], 0xfd987193); /* 14 */ - FF (c, d, a, b, x[14], S[0][2], 0xa679438e); /* 15 */ - FF (b, c, d, a, x[15], S[0][3], 0x49b40821); /* 16 */ - - /* Round 2 */ - GG (a, b, c, d, x[ 1], S[1][0], 0xf61e2562); /* 17 */ - GG (d, a, b, c, x[ 6], S[1][1], 0xc040b340); /* 18 */ - GG (c, d, a, b, x[11], S[1][2], 0x265e5a51); /* 19 */ - GG (b, c, d, a, x[ 0], S[1][3], 0xe9b6c7aa); /* 20 */ - GG (a, b, c, d, x[ 5], S[1][0], 0xd62f105d); /* 21 */ - GG (d, a, b, c, x[10], S[1][1], 0x02441453); /* 22 */ - GG (c, d, a, b, x[15], S[1][2], 0xd8a1e681); /* 23 */ - GG (b, c, d, a, x[ 4], S[1][3], 0xe7d3fbc8); /* 24 */ - GG (a, b, c, d, x[ 9], S[1][0], 0x21e1cde6); /* 25 */ - GG (d, a, b, c, x[14], S[1][1], 0xc33707d6); /* 26 */ - GG (c, d, a, b, x[ 3], S[1][2], 0xf4d50d87); /* 27 */ - GG (b, c, d, a, x[ 8], S[1][3], 0x455a14ed); /* 28 */ - GG (a, b, c, d, x[13], S[1][0], 0xa9e3e905); /* 29 */ - GG (d, a, b, c, x[ 2], S[1][1], 0xfcefa3f8); /* 30 */ - GG (c, d, a, b, x[ 7], S[1][2], 0x676f02d9); /* 31 */ - GG (b, c, d, a, x[12], S[1][3], 0x8d2a4c8a); /* 32 */ - - /* Round 3 */ - HH (a, b, c, d, x[ 5], S[2][0], 0xfffa3942); /* 33 */ - HH (d, a, b, c, x[ 8], S[2][1], 0x8771f681); /* 34 */ - HH (c, d, a, b, x[11], S[2][2], 0x6d9d6122); /* 35 */ - HH (b, c, d, a, x[14], S[2][3], 0xfde5380c); /* 36 */ - HH (a, b, c, d, x[ 1], S[2][0], 0xa4beea44); /* 37 */ - HH (d, a, b, c, x[ 4], S[2][1], 0x4bdecfa9); /* 38 */ - HH (c, d, a, b, x[ 7], S[2][2], 0xf6bb4b60); /* 39 */ - HH (b, c, d, a, x[10], S[2][3], 0xbebfbc70); /* 40 */ - HH (a, b, c, d, x[13], S[2][0], 0x289b7ec6); /* 41 */ - HH (d, a, b, c, x[ 0], S[2][1], 0xeaa127fa); /* 42 */ - HH (c, d, a, b, x[ 3], S[2][2], 0xd4ef3085); /* 43 */ - HH (b, c, d, a, x[ 6], S[2][3], 0x04881d05); /* 44 */ - HH (a, b, c, d, x[ 9], S[2][0], 0xd9d4d039); /* 45 */ - HH (d, a, b, c, x[12], S[2][1], 0xe6db99e5); /* 46 */ - HH (c, d, a, b, x[15], S[2][2], 0x1fa27cf8); /* 47 */ - HH (b, c, d, a, x[ 2], S[2][3], 0xc4ac5665); /* 48 */ - - /* Round 4 */ - II (a, b, c, d, x[ 0], S[3][0], 0xf4292244); /* 49 */ - II (d, a, b, c, x[ 7], S[3][1], 0x432aff97); /* 50 */ - II (c, d, a, b, x[14], S[3][2], 0xab9423a7); /* 51 */ - II (b, c, d, a, x[ 5], S[3][3], 0xfc93a039); /* 52 */ - II (a, b, c, d, x[12], S[3][0], 0x655b59c3); /* 53 */ - II (d, a, b, c, x[ 3], S[3][1], 0x8f0ccc92); /* 54 */ - II (c, d, a, b, x[10], S[3][2], 0xffeff47d); /* 55 */ - II (b, c, d, a, x[ 1], S[3][3], 0x85845dd1); /* 56 */ - II (a, b, c, d, x[ 8], S[3][0], 0x6fa87e4f); /* 57 */ - II (d, a, b, c, x[15], S[3][1], 0xfe2ce6e0); /* 58 */ - II (c, d, a, b, x[ 6], S[3][2], 0xa3014314); /* 59 */ - II (b, c, d, a, x[13], S[3][3], 0x4e0811a1); /* 60 */ - II (a, b, c, d, x[ 4], S[3][0], 0xf7537e82); /* 61 */ - II (d, a, b, c, x[11], S[3][1], 0xbd3af235); /* 62 */ - II (c, d, a, b, x[ 2], S[3][2], 0x2ad7d2bb); /* 63 */ - II (b, c, d, a, x[ 9], S[3][3], 0xeb86d391); /* 64 */ - - state[0] += a; - state[1] += b; - state[2] += c; - state[3] += d; - - //Zeroize sensitive information. - memset (x, 0, sizeof (x)); -} - -/* Encodes input (cc_u4) into output (unsigned char). Assumes len is - a multiple of 4. - */ -static void SDRM_Encode (unsigned char *output, cc_u32 *input, cc_u32 len) -{ - cc_u32 i, j; - - for (i = 0, j = 0; j < len; i++, j += 4) - { - output[j ] = (unsigned char)((input[i] ) & 0xff); - output[j+1] = (unsigned char)((input[i] >> 8) & 0xff); - output[j+2] = (unsigned char)((input[i] >> 16) & 0xff); - output[j+3] = (unsigned char)((input[i] >> 24) & 0xff); - } -} - -/* Decodes input (unsigned char) into output (UINT4). Assumes len is - a multiple of 4. - */ -static void SDRM_Decode (cc_u32 *output, const unsigned char *input, cc_u32 len) -{ - cc_u32 i, j; - - for (i = 0, j = 0; j < len; i++, j += 4) - { - output[i] = ( - (((cc_u32)input[j] ) ) | - (((cc_u32)input[j + 1]) << 8) | - (((cc_u32)input[j + 2]) << 16) | - (((cc_u32)input[j + 3]) << 24)); - } -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/moo.c b/SPC/Src/base/moo.c deleted file mode 100755 index 8197be1..0000000 --- a/SPC/Src/base/moo.c +++ /dev/null @@ -1,487 +0,0 @@ -/** - * \file moo.c - * @brief implementation of mode of operations - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/08/04 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "moo.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_ECB_Enc - * @brief Encrypt a block with ECB mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_ECB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key) -{ - switch(Algorithm) - { - case ID_AES128 : - SDRM_rijndaelEncrypt((cc_u32*)(void*)key, 10, in, out); - return CRYPTO_SUCCESS; - case ID_AES192 : - SDRM_rijndaelEncrypt((cc_u32*)(void*)key, 12, in, out); - return CRYPTO_SUCCESS; - case ID_AES256 : - SDRM_rijndaelEncrypt((cc_u32*)(void*)key, 14, in, out); - return CRYPTO_SUCCESS; - case ID_DES : - return SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, in, out); - case ID_TDES : - return SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, in, out); - default : - break; - } - - return CRYPTO_INVALID_ARGUMENT; -} - -/* - * @fn SDRM_ECB_Dec - * @brief Decrypt a block with ECB mode - * - * @param Algorithm [in]algorithm - * @param out [out]plain text block - * @param in [in]cipher text block - * @param key [in]user key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_ECB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key) -{ - switch(Algorithm) - { - case ID_AES128 : - SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 10, in, out); - return CRYPTO_SUCCESS; - case ID_AES192 : - SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 12, in, out); - return CRYPTO_SUCCESS; - case ID_AES256 : - SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 14, in, out); - return CRYPTO_SUCCESS; - case ID_DES : - return SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, in, out); - case ID_TDES : - return SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, in, out); - default : - break; - } - - return CRYPTO_INVALID_ARGUMENT; -} - -/* - * @fn SDRM_CBC_Enc - * @brief Encrypt a block with CBC mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CBC_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) -{ - int i; - - switch(Algorithm) - { - case ID_AES128 : - for (i = 0; i < 16; i++) - { - IV[i] ^= in[i]; - } - - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out); - - memcpy(IV, out, 16); - - break; - case ID_AES192 : - for (i = 0; i < 16; i++) - { - IV[i] ^= in[i]; - } - - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out); - - memcpy(IV, out, 16); - - break; - case ID_AES256 : - for (i = 0; i < 16; i++) - { - IV[i] ^= in[i]; - } - - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out); - - memcpy(IV, out, 16); - - break; - case ID_DES : - for (i = 0; i < 8; i++) - { - IV[i] ^= in[i]; - } - - SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - - memcpy(IV, out, 8); - - break; - case ID_TDES : - for (i = 0; i < 8; i++) - { - IV[i] ^= in[i]; - } - - SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - - memcpy(IV, out, 8); - - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CBC_Dec - * @brief Decrypt a block with CBC mode - * - * @param Algorithm [in]algorithm - * @param out [out]plain text block - * @param in [in]cipher text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CBC_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV){ - int i, BlockLen; - cc_u8 buf[16]; - - switch(Algorithm) - { - case ID_AES128 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 10, in, out); - break; - case ID_AES192 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 12, in, out); - break; - case ID_AES256 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 14, in, out); - break; - case ID_DES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, in, out); - break; - case ID_TDES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, in, out); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - for (i = 0; i < BlockLen; i++) - { - out[i] ^= IV[i]; - } - - memcpy(IV, buf, BlockLen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CFB_Enc - * @brief Encrypt a block with CFB mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) -{ - int i, BlockLen; - cc_u8 buf[16]; - - switch(Algorithm) - { - case ID_AES128 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out); - break; - case ID_AES192 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out); - break; - case ID_AES256 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out); - break; - case ID_DES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - case ID_TDES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - for (i = 0; i < BlockLen; i++) - { - out[i] ^= buf[i]; - } - - memcpy(IV, out, BlockLen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CFB_Dec - * @brief Decrypt a block with CFB mode - * - * @param Algorithm [in]algorithm - * @param out [out]plain text block - * @param in [in]cipher text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CFB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) -{ - int i, BlockLen; - cc_u8 buf[16]; - - switch(Algorithm) - { - case ID_AES128 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out); - break; - case ID_AES192 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out); - break; - case ID_AES256 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out); - break; - case ID_DES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - case ID_TDES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - for (i = 0; i < BlockLen; i++) - { - out[i] ^= buf[i]; - } - - memcpy(IV, buf, BlockLen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_OFB_Enc - * @brief Encrypt a block with OFB mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_OFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV) -{ - int i, BlockLen; - cc_u8 buf[16]; - - switch(Algorithm) - { - case ID_AES128 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out); - break; - case ID_AES192 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out); - break; - case ID_AES256 : - BlockLen = 16; - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out); - break; - case ID_DES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - case ID_TDES : - BlockLen = 8; - memcpy(buf, in, BlockLen); - SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - memcpy(IV, out, BlockLen); - - for (i = 0; i < BlockLen; i++) - { - out[i] ^= buf[i]; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTR_Enc - * @brief Encrypt a block with CTR mode - * - * @param Algorithm [in]algorithm - * @param out [out]cipher text block - * @param in [in]plain text block - * @param key [in]user key - * @param IV [in]initial vector - * @param counter [in] - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_INVALID_ARGUMENT if parameter is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_CTR_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV, cc_u32 counter) -{ - int i, BlockLen; - cc_u8 buf[16]; - - switch(Algorithm) - { - case ID_AES128 : - BlockLen = 16; - IV[12] = (cc_u8)(0xff & (counter >> 24)); - IV[13] = (cc_u8)(0xff & (counter >> 16)); - IV[14] = (cc_u8)(0xff & (counter >> 8 )); - IV[15] = (cc_u8)(0xff & (counter )); - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out); - break; - case ID_AES192 : - BlockLen = 16; - IV[12] = (cc_u8)(0xff & (counter >> 24)); - IV[13] = (cc_u8)(0xff & (counter >> 16)); - IV[14] = (cc_u8)(0xff & (counter >> 8 )); - IV[15] = (cc_u8)(0xff & (counter )); - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out); - break; - case ID_AES256 : - BlockLen = 16; - IV[12] = (cc_u8)(0xff & (counter >> 24)); - IV[13] = (cc_u8)(0xff & (counter >> 16)); - IV[14] = (cc_u8)(0xff & (counter >> 8 )); - IV[15] = (cc_u8)(0xff & (counter )); - memcpy(buf, in, BlockLen); - SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out); - break; - case ID_DES : - BlockLen = 8; - IV[4] = (cc_u8)(0xff & (counter >> 24)); - IV[5] = (cc_u8)(0xff & (counter >> 16)); - IV[6] = (cc_u8)(0xff & (counter >> 8 )); - IV[7] = (cc_u8)(0xff & (counter )); - memcpy(buf, in, BlockLen); - SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - case ID_TDES : - BlockLen = 8; - IV[4] = (cc_u8)(0xff & (counter >> 24)); - IV[5] = (cc_u8)(0xff & (counter >> 16)); - IV[6] = (cc_u8)(0xff & (counter >> 8 )); - IV[7] = (cc_u8)(0xff & (counter )); - memcpy(buf, in, BlockLen); - SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - for (i = 0; i < BlockLen; i++) - { - out[i] ^= buf[i]; - } - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/pkcs1_v21.c b/SPC/Src/base/pkcs1_v21.c deleted file mode 100755 index c4d759f..0000000 --- a/SPC/Src/base/pkcs1_v21.c +++ /dev/null @@ -1,940 +0,0 @@ -/** - * \file pkcs1_v21.c - * @brief PKCS#1 V1.5, V2.0(RSAES-OAEP), V2.1(RSASSA-PSS) Implemetation - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/20 - * Note : Edited for Big-Endian Machine support, 2008/12/16 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "pkcs1_v21.h" -#include "md5.h" -#include "sha1.h" -#include "sha2.h" -#include "ANSI_x931.h" - -////////////////////////////////////////////////////////////////////////// -// Functions -////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_Padding_Rsaes_pkcs15 - * @brief RSAES PKCS#1 v1.5 - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param MODE [in]ENPADDING or DEPADDING - * @param k [in]byte-size of n - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, cc_u32 k) -{ - cc_u8 ECRYPTO_API Si_ANSI_X9_31[SDRM_X931_SEED_SIZ]; - cc_u32 mLen; - cc_u32 i; - cc_u32 RSA_KeyByteLen = k; - cc_u8 *EM = (cc_u8*)malloc(RSA_KeyByteLen); - - if (EM == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - srand((unsigned int)time(NULL)); - - SDRM_BN_Clr(BN_Dest); - - if (MODE == SDRM_ENPADDING) - { - //Get message length - mLen = BN_Src->Length << 2; - - while(SDRM_CheckByteUINT32(BN_Src->pData, mLen - 1) == 0) - { - --mLen; - } - - //Check message length - if (mLen >= k - 11) - { - free(EM); - return CRYPTO_MSG_TOO_LONG; - } - - EM[0] = 0x00; - EM[1] = 0x02; - - for (i = 0; i < 16; i++) - { - Si_ANSI_X9_31[i] = ((rand() << 16) + rand()) & 0xff; - } - - SDRM_RNG_X931(Si_ANSI_X9_31, (k - mLen - 3) * 8, &EM[2]); - EM[k - mLen - 1] = 0x00; - EM[k - mLen - 2] = 0x00; - - for (i = 0; i < k - mLen - 3; i++) - { - if (EM[2 + i] == 0) - { - EM[2 + i] = (cc_u8)((i + 2) * (i + 1)) & 0xff; - } - } - - EM[k - mLen - 1] = 0x00; - - SDRM_I2OSP(BN_Src, mLen, &EM[k - mLen]); - - SDRM_OS2BN(EM, RSA_KeyByteLen, BN_Dest); - } - else if (MODE == SDRM_DEPADDING) - { - mLen = BN_Src->Length * SDRM_SIZE_OF_DWORD - 1; - while(((int)mLen >= 0) && (SDRM_CheckByteUINT32(BN_Src->pData, mLen) == 0)) - { - --mLen; - } - - //if there's no message - if ((int)mLen < 0) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Check EM[0] - if (((cc_u32)mLen != BN_Src->Length * SDRM_SIZE_OF_DWORD - 1) && (SDRM_CheckByteUINT32(BN_Src->pData, mLen + 1) != 0x00)) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - mLen++; - - SDRM_I2OSP(BN_Src, mLen, EM); - - //Check EM[1] - if (EM[0] != 0x02) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Check PS - for (i = 1; i < (RSA_KeyByteLen - 1); i++) - { - if (EM[i] == 0) - { - break; - } - } - - if (i == (RSA_KeyByteLen - 1)) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Copy Message - SDRM_OS2BN(&EM[i + 1], RSA_KeyByteLen - i - 2, BN_Dest); - } - - free(EM); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_Padding_Rsaes_oaep - * @brief RSAES OAEP - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param MODE [in]ENPADDING or DEPADDING - * @param k [in]byte-size of n - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_oaep(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, int HASH_Algorithm, cc_u32 k) -{ - cc_u8 *DB, *EM, *Seed, *dbMask, *maskedDB, *seedMask, *maskedSeed, *Msg; - cc_u8 hash[SDRM_SHA512_DATA_SIZE]; - cc_u32 i, mLen, dbLen; - SDRM_BIG_NUM *BN_Rnd; - cc_u32 RSA_KeyByteLen = k; - cc_u32 DigestLen = 0; - SDRM_MD5Context md5_ctx; //Hash env var - SDRM_SHA1Context sha1_ctx; //Hash env var - SDRM_SHA256Context sha256_ctx; //Hash env var -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context sha384_ctx; //Hash env var - SDRM_SHA512Context sha512_ctx; //Hash env var -#endif //_OP64_NOTSUPPORTED - - switch(HASH_Algorithm) - { - case ID_MD5 : - DigestLen = SDRM_MD5_BLOCK_SIZ; - break; - case 0 : - case ID_SHA1 : - DigestLen = SDRM_SHA1_BLOCK_SIZ; - break; - case ID_SHA256 : - DigestLen = SDRM_SHA256_BLOCK_SIZ; - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - DigestLen = SDRM_SHA384_BLOCK_SIZ; - break; - case ID_SHA512 : - DigestLen = SDRM_SHA512_BLOCK_SIZ; - break; -#endif //_OP64_NOTSUPPORTED - default : - return CRYPTO_INVALID_ARGUMENT; - } - - dbLen = k - DigestLen - 1; - - //Memory allocation - EM = (cc_u8*)malloc(k * 4); - if (EM == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - DB = EM + k; - dbMask = DB + dbLen; - maskedDB = dbMask + dbLen; - Seed = maskedDB + dbLen; - seedMask = Seed + DigestLen; - maskedSeed = seedMask + DigestLen; - - SDRM_BN_Clr(BN_Dest); - - if (MODE == SDRM_ENPADDING) - { - //Get message length - mLen = BN_Src->Length << 2; - while(SDRM_CheckByteUINT32(BN_Src->pData, mLen - 1) == 0) - { - --mLen; - } - - //Check message length - if (mLen >= k - 2 * DigestLen - 2) - { - free(EM); - return CRYPTO_MSG_TOO_LONG; - } - - Msg = (cc_u8*)malloc(mLen); - if (Msg == NULL) - { - free(EM); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - //Change Big Number to Byte array - SDRM_I2OSP(BN_Src, mLen, Msg); - - //Generate random number and change to Byte array - BN_Rnd = SDRM_BN_Init(SDRM_RSA_BN_BUFSIZE); - if(BN_Rnd == NULL) - { - free(EM); - free(Msg); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_BN_Rand(BN_Rnd, DigestLen << 3); - - SDRM_I2OSP(BN_Rnd, DigestLen, Seed); - - SDRM_BN_FREE(BN_Rnd); - - //Get hash of 'L' - switch(HASH_Algorithm) - { - case ID_MD5 : - SDRM_MD5_Init(&md5_ctx); //Init hash function - SDRM_MD5_Final(&md5_ctx, DB); //'L' is an empty string, so get output immediately - break; - case 0 : - case ID_SHA1 : - SDRM_SHA1_Init(&sha1_ctx); //Init hash function - SDRM_SHA1_Final(&sha1_ctx, DB); //'L' is an empty string, so get output immediately - break; - case ID_SHA256 : - SDRM_SHA256_Init(&sha256_ctx); //Init hash function - SDRM_SHA256_Final(&sha256_ctx, DB); //'L' is an empty string, so get output immediately - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - SDRM_SHA384_Init(&sha384_ctx); //Init hash function - SDRM_SHA384_Final(&sha384_ctx, DB); //'L' is an empty string, so get output immediately - break; - case ID_SHA512 : - SDRM_SHA512_Init(&sha512_ctx); //Init hash function - SDRM_SHA512_Final(&sha512_ctx, DB); //'L' is an empty string, so get output immediately - break; -#endif //_OP64_NOTSUPPORTED - default : - return CRYPTO_INVALID_ARGUMENT; - } - - //DB = lHash||PS||M - memset(DB + DigestLen, 0, k - mLen - 2 * DigestLen - 2); - DB[k - mLen - DigestLen - 2] = 0x01; - memcpy(DB + k - mLen - DigestLen - 1, Msg, mLen); - - //dbMask = MGF(Seed, dbLen), maskedDB = DB ^ dbMask - SDRM_MGF1(HASH_Algorithm, dbMask, Seed, DigestLen, dbLen); - - for (i = 0; i < dbLen; i++) - { - maskedDB[i] = DB[i] ^ dbMask[i]; - } - - //seedMask = MGF(maskedDB, SDRM_SHA1_BLOCK_SIZ), maskedSeed = Seed ^ seedMask - SDRM_MGF1(HASH_Algorithm, seedMask, maskedDB, dbLen, DigestLen); - for (i = 0; i < DigestLen; i++) - { - maskedSeed[i] = Seed[i] ^ seedMask[i]; - } - - //EM = 0x00||maskedSeed||maskedDB - EM[0] = 0x00; - memcpy(EM + 1, maskedSeed, DigestLen); - memcpy(EM + 1 + DigestLen, maskedDB, dbLen); - - //Change Byte array to Big Number - SDRM_OS2BN(EM, k, BN_Dest); - free(Msg); - } - else if (MODE == SDRM_DEPADDING) - { - SDRM_I2OSP(BN_Src, k, EM); - - //Seperate EM : 0x00||maskedSeed||maskedDB - if (EM[0] != 0x00) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - memcpy(maskedSeed, EM + 1, DigestLen); - memcpy(maskedDB, EM + 1 + DigestLen, dbLen); - - //seedMask = MGF(maskedDB, SDRM_SHA1_BLOCK_SIZ), Seed = maskedSeed ^ seedMask - SDRM_MGF1(HASH_Algorithm, seedMask, maskedDB, dbLen, DigestLen); - for (i = 0; i < DigestLen; i++) - { - Seed[i] = maskedSeed[i] ^ seedMask[i]; - } - - //dbMask = MGF(Seed, dbLen), DB = maskedDB ^ dbMask - SDRM_MGF1(HASH_Algorithm, dbMask, Seed, DigestLen, dbLen); - for (i = 0; i < dbLen; i++) - { - DB[i] = maskedDB[i] ^ dbMask[i]; - } - - //Get hash of 'L' - switch(HASH_Algorithm) - { - case ID_MD5 : - SDRM_MD5_Init(&md5_ctx); //Init hash function - SDRM_MD5_Final(&md5_ctx, hash); //'L' is an empty string, so get output immediately - break; - case 0 : - case ID_SHA1 : - SDRM_SHA1_Init(&sha1_ctx); //Init hash function - SDRM_SHA1_Final(&sha1_ctx, hash); //'L' is an empty string, so get output immediately - break; - case ID_SHA256 : - SDRM_SHA256_Init(&sha256_ctx); //Init hash function - SDRM_SHA256_Final(&sha256_ctx, hash); //'L' is an empty string, so get output immediately - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - SDRM_SHA384_Init(&sha384_ctx); //Init hash function - SDRM_SHA384_Final(&sha384_ctx, hash); //'L' is an empty string, so get output immediately - break; - case ID_SHA512 : - SDRM_SHA512_Init(&sha512_ctx); //Init hash function - SDRM_SHA512_Final(&sha512_ctx, hash); //'L' is an empty string, so get output immediately - break; -#endif //_OP64_NOTSUPPORTED - default : - return CRYPTO_INVALID_ARGUMENT; - } - - //Compare hash value - for (i = 0; i < DigestLen; i++) - { - if (hash[i] != DB[i]) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - } - - //ignore 0x00s after hash(PS) - while(DB[i] == 0x00) - { - i++; - } - - //0x01 must be right after PS - if (DB[i] != 0x01) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Abstract message and change to Big Number - SDRM_OS2BN(DB + i + 1, dbLen - i - 1, BN_Dest); - } - - free(EM); - - return CRYPTO_SUCCESS; -} - -CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_MD5[SDRM_DIGESTINFO_MD5_LEN] = SDRM_DIGESTINFO_MD5_VALUE; -CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA1[SDRM_DIGESTINFO_SHA1_LEN] = SDRM_DIGESTINFO_SHA1_VALUE; -CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA256[SDRM_DIGESTINFO_SHA256_LEN] = SDRM_DIGESTINFO_SHA256_VALUE; -CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA384[SDRM_DIGESTINFO_SHA384_LEN] = SDRM_DIGESTINFO_SHA384_VALUE; -CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA512[SDRM_DIGESTINFO_SHA512_LEN] = SDRM_DIGESTINFO_SHA512_VALUE; -/* - * @fn int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k) - * @brief RSASSA PKCS#1 v1.5 - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param pszHash [in]hash of BN_Src - * @param MODE [in]ENPADDING or DEPADDING - * @param k [in]byte-size of n - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_INVALID_ARGUMENT if source is not in the right form - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k) { - cc_u32 tLen; - cc_u32 i; - cc_u32 RSA_KeyByteLen = k; - cc_u32 mLen = 0; - cc_u8 *EM = (cc_u8*)malloc(RSA_KeyByteLen); - cc_u32 DigestInfoLen = 0; - cc_u8 DER[32]; - - if (EM == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - switch(HASH_Algorithm) - { - case ID_MD5 : - DigestInfoLen = SDRM_DIGESTINFO_MD5_LEN; - memcpy(DER, SDRM_DER_MD5, SDRM_DIGESTINFO_MD5_LEN); - tLen = DigestInfoLen + SDRM_MD5_BLOCK_SIZ; - break; - case 0 : - case ID_SHA1 : - DigestInfoLen = SDRM_DIGESTINFO_SHA1_LEN; - memcpy(DER, SDRM_DER_SHA1, SDRM_DIGESTINFO_SHA1_LEN); - tLen = DigestInfoLen + SDRM_SHA1_BLOCK_SIZ; - break; - case ID_SHA256 : - DigestInfoLen = SDRM_DIGESTINFO_SHA256_LEN; - memcpy(DER, SDRM_DER_SHA256, SDRM_DIGESTINFO_SHA256_LEN); - tLen = DigestInfoLen + SDRM_SHA256_BLOCK_SIZ; - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - DigestInfoLen = SDRM_DIGESTINFO_SHA384_LEN; - memcpy(DER, SDRM_DER_SHA384, SDRM_DIGESTINFO_SHA384_LEN); - tLen = DigestInfoLen + SDRM_SHA384_BLOCK_SIZ; - break; - case ID_SHA512 : - DigestInfoLen = SDRM_DIGESTINFO_SHA512_LEN; - memcpy(DER, SDRM_DER_SHA512, SDRM_DIGESTINFO_SHA512_LEN); - tLen = DigestInfoLen + SDRM_SHA512_BLOCK_SIZ; - break; -#endif //_OP64_NOTSUPPORTED - default : - //++ 2010.02.04 added by jspark - prevent resource leak - free(EM); - //-- 2010.02.04 added by jspark - prevent resource leak - return CRYPTO_INVALID_ARGUMENT; - } - - if (MODE == SDRM_ENPADDING) - { - SDRM_BN_Clr(BN_Dest); - EM[0] = 0x00; - EM[1] = 0x01; - memset(EM + 2, 0xff, k - tLen - 3); - EM[k - tLen - 1] = 0x00; - memcpy(EM + k - tLen, DER, DigestInfoLen); - memcpy(EM + k - tLen + DigestInfoLen, pszHash, tLen - DigestInfoLen); - - SDRM_OS2BN(EM, k, BN_Dest); - - free(EM); - - return CRYPTO_SUCCESS; - } - else if (MODE == SDRM_DEPADDING) - { - //Get message length - mLen = BN_Src->Length * SDRM_SIZE_OF_DWORD - 1; - while(SDRM_CheckByteUINT32(BN_Src->pData, mLen) == 0) - { - --mLen; - } - - //Check EM[0] = 0x00 - if (((cc_u32)mLen != BN_Src->Length * SDRM_SIZE_OF_DWORD - 1) && (SDRM_CheckByteUINT32(BN_Src->pData,mLen + 1) != 0x00)) - { - free(EM); - return CRYPTO_INVALID_SIGN; - } - - mLen++; - SDRM_I2OSP(BN_Src, mLen, EM); - - //Check EM[1] - if (EM[0] != 0x01) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Pass PS - for (i = 1; i < (RSA_KeyByteLen - 1); i++) - { - if (EM[i] != 0xff) - { - break; - } - } - - if ((i == (RSA_KeyByteLen - 1)) || (EM[i] != 0x00)) - { - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Check DER encoding - if (memcmp(&EM[i + 1], DER, DigestInfoLen) != 0x00) - { - free(EM); - return CRYPTO_INVALID_SIGN; - } - - if (memcmp(&EM[i + DigestInfoLen + 1], pszHash, tLen - DigestInfoLen) != 0) - { - free(EM); - return CRYPTO_INVALID_SIGN; - } - } - - free(EM); - - return CRYPTO_VALID_SIGN; -} - -/* - * @fn int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte) - * @brief RSASSA PSS - * - * @param BN_Dest [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING - * @param BN_Src [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING - * @param pszHash [in]hash of BN_Src - * @param emBits [in]bit-length of EM - * @param MODE [in]ENPADDING or DEPADDING - * @param MaxByte [in]max byte-length for MGF function - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_VALID_SIGN if sign is valid - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - * \n CRYPTO_MSG_TOO_LONG if message is longer then key - * \n CRYPTO_INVALID_ARGUMENT if source is not in the right form - */ -CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte) -{ - cc_u8 hash[SDRM_SHA512_DATA_SIZE]; - cc_u8 *M_Prime, *DB, *EM, *dbMask; - cc_u8 *H_Prime; - cc_u32 sLen, i, dbLen, emLen; - SDRM_BIG_NUM *BN_Rnd; - cc_u32 RSA_KeyByteLen = emBits / 8; - cc_u32 DigestLen = 0; - SDRM_MD5Context md5_ctx; //Hash env var - SDRM_SHA1Context sha1_ctx; //Hash env var - SDRM_SHA256Context sha256_ctx; //Hash env var -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context sha384_ctx; //Hash env var - SDRM_SHA512Context sha512_ctx; //Hash env var -#endif //_OP64_NOTSUPPORTED - - switch(HASH_Algorithm) - { - case ID_MD5 : - DigestLen = SDRM_MD5_BLOCK_SIZ; - break; - case 0 : - case ID_SHA1 : - DigestLen = SDRM_SHA1_BLOCK_SIZ; - break; - case ID_SHA256 : - DigestLen = SDRM_SHA256_BLOCK_SIZ; - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - DigestLen = SDRM_SHA384_BLOCK_SIZ; - break; - case ID_SHA512 : - DigestLen = SDRM_SHA512_BLOCK_SIZ; - break; -#endif //_OP64_NOTSUPPORTED - default : - return CRYPTO_INVALID_ARGUMENT; - } - - emLen = (emBits - 1) / 8; - dbLen = emLen - DigestLen - 1; - - if (MODE == SDRM_ENPADDING) - { - //sLen = (emLen - SDRM_SHA1_BLOCK_SIZ - 2) / 2; - sLen = 20; - - M_Prime = (cc_u8*)malloc(emLen * 3 + sLen - SDRM_SHA1_BLOCK_SIZ + 6); - if (M_Prime == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - DB = M_Prime + 8 + DigestLen + sLen; - EM = DB + dbLen; - dbMask = EM + emLen; - - //Generate random number(salt) - BN_Rnd = SDRM_BN_Init(SDRM_RSA_BN_BUFSIZE); - if(BN_Rnd ==NULL) - { - free(M_Prime); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - SDRM_BN_Rand(BN_Rnd, sLen << 3); - - //M' = padding1||mHash||salt - memset(M_Prime, 0, 8); - memcpy(M_Prime + 8, pszHash, DigestLen); - memcpy(M_Prime + 8 + DigestLen, BN_Rnd->pData, sLen); - - //Get Hash of M' - switch(HASH_Algorithm) - { - case ID_MD5 : - SDRM_MD5_Init(&md5_ctx); //Init hash function - SDRM_MD5_Update(&md5_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_MD5_Final(&md5_ctx, hash); //Get Output - break; - case 0 : - case ID_SHA1 : - SDRM_SHA1_Init(&sha1_ctx); //Init hash function - SDRM_SHA1_Update(&sha1_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA1_Final(&sha1_ctx, hash); //Get Output - break; - case ID_SHA256 : - SDRM_SHA256_Init(&sha256_ctx); //Init hash function - SDRM_SHA256_Update(&sha256_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA256_Final(&sha256_ctx, hash); //Get Output - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - SDRM_SHA384_Init(&sha384_ctx); //Init hash function - SDRM_SHA384_Update(&sha384_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA384_Final(&sha384_ctx, hash); //Get Output - break; - case ID_SHA512 : - SDRM_SHA512_Init(&sha512_ctx); //Init hash function - SDRM_SHA512_Update(&sha512_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA512_Final(&sha512_ctx, hash); //Get Output - break; -#endif //_OP64_NOTSUPPORTED - default : - return CRYPTO_INVALID_ARGUMENT; - } - - //DB = padding2||salt - memset(DB, 0, emLen - sLen - DigestLen - 2); - DB[emLen - sLen - DigestLen - 2] = 0x01; - memcpy(DB + emLen - sLen - DigestLen - 1, BN_Rnd->pData, sLen); - - //dbMask = MGF(H, dbLen) - SDRM_MGF1(HASH_Algorithm, dbMask, hash, DigestLen, dbLen); - dbMask[0] &= 0x7f; - - //maskedDB = dbMask ^ DB - for (i = 1; i < dbLen; i++) - { - dbMask[i] ^= DB[i]; - } - - //clear 8emLen - emBits bits of the leftmost octet in maskedDB - EM[0] &= 0xFF >> (8 * emLen - emBits + 1); - - //EM = maskedDB||H||0xbc - memcpy(EM, dbMask, dbLen); - memcpy(EM + dbLen, hash, DigestLen); - EM[emLen - 1] = 0xbc; - - SDRM_BN_Clr(BN_Dest); - - SDRM_OS2BN(EM, emLen, BN_Dest); - - free(M_Prime); - free(BN_Rnd); - - return CRYPTO_SUCCESS; - } - else if (MODE == SDRM_DEPADDING) - { - EM = (cc_u8*)malloc(emLen * 4 - DigestLen + 4); - if (EM == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - DB = EM + emLen; - H_Prime = DB + dbLen; - dbMask = H_Prime + DigestLen; - M_Prime = dbMask + dbLen; - - SDRM_I2OSP(BN_Src, emLen, EM); - - //Check EM[last] = 0xbc - if (EM[emLen - 1] != 0xbc) - { - free(EM); - return CRYPTO_INVALID_SIGN; - } - - //Seperate EM to maskedDB and H' - memcpy(DB, EM, dbLen); - memcpy(H_Prime, EM + dbLen, DigestLen); - - //dbMask = MGF(H', dbLen) - SDRM_MGF1(HASH_Algorithm, dbMask, H_Prime, DigestLen, dbLen); - dbMask[0] &= 0x7f; - - //DB = maskedDB ^ dbMask - for (i = 1; i < dbLen; i++) - { - DB[i] ^= dbMask[i]; - } - - DB[0] = 0x00; - //Check padding2 - for (i = 0 ; DB[i] == 0x00; i++); - if (DB[i] != 0x01) - { - free(EM); - return CRYPTO_INVALID_SIGN; - } - - sLen = dbLen - i - 1; - - //Abstract salt and make M' - memset(M_Prime, 0, 8); - memcpy(M_Prime + 8, pszHash, DigestLen); - memcpy(M_Prime + 8 + DigestLen, DB + i + 1, sLen); - - //Get hash of M' - switch(HASH_Algorithm) - { - case ID_MD5 : - SDRM_MD5_Init(&md5_ctx); //Init hash function - SDRM_MD5_Update(&md5_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_MD5_Final(&md5_ctx, hash); //Get Output - break; - case 0 : - case ID_SHA1 : - SDRM_SHA1_Init(&sha1_ctx); //Init hash function - SDRM_SHA1_Update(&sha1_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA1_Final(&sha1_ctx, hash); //Get Output - break; - case ID_SHA256 : - SDRM_SHA256_Init(&sha256_ctx); //Init hash function - SDRM_SHA256_Update(&sha256_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA256_Final(&sha256_ctx, hash); //Get Output - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - SDRM_SHA384_Init(&sha384_ctx); //Init hash function - SDRM_SHA384_Update(&sha384_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA384_Final(&sha384_ctx, hash); //Get Output - break; - case ID_SHA512 : - SDRM_SHA512_Init(&sha512_ctx); //Init hash function - SDRM_SHA512_Update(&sha512_ctx, M_Prime, 8 + DigestLen + sLen); //Input data - SDRM_SHA512_Final(&sha512_ctx, hash); //Get Output - break; -#endif //_OP64_NOTSUPPORTED - default : - free(EM); - return CRYPTO_INVALID_ARGUMENT; - } - - //Compare H' and H - for (i = 0; i < DigestLen; i++) - { - if (H_Prime[i] != hash[i]) - { - free(EM); - return CRYPTO_INVALID_SIGN; - } - } - - free(EM); - } - - return CRYPTO_VALID_SIGN; -} - -/* - * @fn int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen) - * @brief SDRM_MGF1 Function (Mask Generation Function based on a hash function) - * - * @param mask [out]byte-length of generated mask - * @param pbSeed [in]seed for MGF - * @param SeedLen [in]byte-length of pbSeed - * @param dMaskLen [in]byte-length of mask - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if malloc is failed - */ -CRYPTOCORE_INTERNAL int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen) { - cc_u8 *T, *Seed, *pbBuf; - cc_u32 counter; - cc_u8 hash[64]; //SHA-1 output size is 160 bit - cc_u8 hashlen; - SDRM_MD5Context md5_ctx; //Hash env var - SDRM_SHA1Context sha1_ctx; //Hash env var - SDRM_SHA256Context sha256_ctx; //Hash env var -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context sha384_ctx; //Hash env var - SDRM_SHA512Context sha512_ctx; //Hash env var -#endif //_OP64_NOTSUPPORTED - - switch(HASH_Algorithm) - { - case ID_MD5 : - hashlen = SDRM_MD5_BLOCK_SIZ; - break; - case 0 : - case ID_SHA1 : - hashlen = SDRM_SHA1_BLOCK_SIZ; - break; - case ID_SHA256 : - hashlen = SDRM_SHA256_BLOCK_SIZ; - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - hashlen = SDRM_SHA384_BLOCK_SIZ; - break; - case ID_SHA512 : - hashlen = SDRM_SHA512_BLOCK_SIZ; - break; -#endif //_OP64_NOTSUPPORTED - default : - return CRYPTO_INVALID_ARGUMENT; - } - - pbBuf = (cc_u8*)malloc(dMaskLen + hashlen + SeedLen + 4); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - T = pbBuf; - Seed = T + dMaskLen + hashlen; - - memset(mask, 0, dMaskLen); - memcpy(Seed, pbSeed, SeedLen); - - for (counter = 0; counter < (dMaskLen - 1) / hashlen + 1; counter++) - { - Seed[SeedLen ] = (cc_u8)(counter >> 24); - Seed[SeedLen + 1] = (cc_u8)(counter >> 16); - Seed[SeedLen + 2] = (cc_u8)(counter >> 8 ); - Seed[SeedLen + 3] = (cc_u8)(counter ); - - //Hash(Seed||counter) - switch(HASH_Algorithm) - { - case ID_MD5 : - SDRM_MD5_Init(&md5_ctx); //Init hash function - SDRM_MD5_Update(&md5_ctx, Seed, SeedLen + 4); //Input data - SDRM_MD5_Final(&md5_ctx, hash); //Get Output - break; - case 0 : - case ID_SHA1 : - SDRM_SHA1_Init(&sha1_ctx); //Init hash function - SDRM_SHA1_Update(&sha1_ctx, Seed, SeedLen + 4); //Input data - SDRM_SHA1_Final(&sha1_ctx, hash); //Get Output - break; - case ID_SHA256 : - SDRM_SHA256_Init(&sha256_ctx); //Init hash function - SDRM_SHA256_Update(&sha256_ctx, Seed, SeedLen + 4); //Input data - SDRM_SHA256_Final(&sha256_ctx, hash); //Get Output - break; -#ifndef _OP64_NOTSUPPORTED - case ID_SHA384 : - SDRM_SHA384_Init(&sha384_ctx); //Init hash function - SDRM_SHA384_Update(&sha384_ctx, Seed, SeedLen + 4); //Input data - SDRM_SHA384_Final(&sha384_ctx, hash); //Get Output - break; - case ID_SHA512 : - SDRM_SHA512_Init(&sha512_ctx); //Init hash function - SDRM_SHA512_Update(&sha512_ctx, Seed, SeedLen + 4); //Input data - SDRM_SHA512_Final(&sha512_ctx, hash); //Get Output - break; -#endif //_OP64_NOTSUPPORTED - default : - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - memcpy(T + counter * hashlen, hash, hashlen); - } - - memcpy(mask, T, dMaskLen); - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/rc4.c b/SPC/Src/base/rc4.c deleted file mode 100755 index 0590f1b..0000000 --- a/SPC/Src/base/rc4.c +++ /dev/null @@ -1,160 +0,0 @@ -/** - * \file rc4.c - * @brief implementation of RC4 encryption scheme - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/01 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "rc4.h" - -//////////////////////////////////////////////////////////////////////////// -// initial vector of s -//////////////////////////////////////////////////////////////////////////// -static cc_u32 RC4_S_VALUE_LITTLE[] = { - 0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c, - 0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c, - 0x23222120, 0x27262524, 0x2b2a2928, 0x2f2e2d2c, - 0x33323130, 0x37363534, 0x3b3a3938, 0x3f3e3d3c, - 0x43424140, 0x47464544, 0x4b4a4948, 0x4f4e4d4c, - 0x53525150, 0x57565554, 0x5b5a5958, 0x5f5e5d5c, - 0x63626160, 0x67666564, 0x6b6a6968, 0x6f6e6d6c, - 0x73727170, 0x77767574, 0x7b7a7978, 0x7f7e7d7c, - 0x83828180, 0x87868584, 0x8b8a8988, 0x8f8e8d8c, - 0x93929190, 0x97969594, 0x9b9a9998, 0x9f9e9d9c, - 0xa3a2a1a0, 0xa7a6a5a4, 0xabaaa9a8, 0xafaeadac, - 0xb3b2b1b0, 0xb7b6b5b4, 0xbbbab9b8, 0xbfbebdbc, - 0xc3c2c1c0, 0xc7c6c5c4, 0xcbcac9c8, 0xcfcecdcc, - 0xd3d2d1d0, 0xd7d6d5d4, 0xdbdad9d8, 0xdfdedddc, - 0xe3e2e1e0, 0xe7e6e5e4, 0xebeae9e8, 0xefeeedec, - 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc, -}; - -static cc_u32 RC4_S_VALUE_BIG[] = { - 0x00010203, 0x04050607, 0x08090a0b, 0x0c0d0e0f, - 0x10111213, 0x14151617, 0x18191a1b, 0x1c1d1e1f, - 0x20212223, 0x24252627, 0x28292a2b, 0x2c2d2e2f, - 0x30313233, 0x34353637, 0x38393a3b, 0x3c3d3e3f, - 0x40414243, 0x44454647, 0x48494a4b, 0x4c4d4e4f, - 0x50515253, 0x54555657, 0x58595a5b, 0x5c5d5e5f, - 0x60616263, 0x64656667, 0x68696a6b, 0x6c6d6e6f, - 0x70717273, 0x74757677, 0x78797a7b, 0x7c7d7e7f, - 0x80818283, 0x84858687, 0x88898a8b, 0x8c8d8e8f, - 0x90919293, 0x94959697, 0x98999a9b, 0x9c9d9e9f, - 0xa0a1a2a3, 0xa4a5a6a7, 0xa8a9aaab, 0xacadaeaf, - 0xb0b1b2b3, 0xb4b5b6b7, 0xb8b9babb, 0xbcbdbebf, - 0xc0c1c2c3, 0xc4c5c6c7, 0xc8c9cacb, 0xcccdcecf, - 0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf, - 0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef, - 0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff -}; - -/* - * @fn SDRM_RC4_Setup - * @brief intialize s - * - * @param ctx [in]crypto context - * @param UserKey [in]user key - * @param keyLen [out]byte-length of UserKey - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_Setup(SDRM_RC4Context *ctx, cc_u8 *UserKey, cc_u32 keyLen) -{ - cc_u32 i, j, loc = keyLen; - cc_u8 temp; - - //initialization - i = 0xff; - if (((cc_u8*)&i)[0] == 0xff) - { -// LOG4DRM_INFO(&CryptoLogCTX), "is Little Endian machine\n"); - memcpy(ctx->s, RC4_S_VALUE_LITTLE, 256); - } - else - { -// LOG4DRM_INFO(&CryptoLogCTX), "is Big Endian machine\n"); - memcpy(ctx->s, RC4_S_VALUE_BIG, 256); - } - - memcpy(ctx->key, UserKey, keyLen); - - ctx->keyLen = keyLen; - ctx->i = 0; - ctx->j = 0; - - //scrambling - if ((keyLen == 16) || (keyLen == 32)) - { - loc--; - for (i = 0, j = 0; i < 256; ++i) - { - j= (j + ctx->key[i & loc] + ctx->s[i]) & 0xff; - temp = ctx->s[i]; - ctx->s[i] = ctx->s[j]; - ctx->s[j] = temp; - } - } - else - { - for (i = 0, j = 0; i < 256; ++i) - { - j = (j + ctx->key[i % ctx->keyLen] + ctx->s[i]) & 0xff; - temp = ctx->s[i]; - ctx->s[i] = ctx->s[j]; - ctx->s[j] = temp; - } - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_RC4_PRNG - * @brief process stream data - * - * @param ctx [in]crypto context - * @param in [in]plaintext - * @param inLen [in]byte-length of in - * @param out [out]cipher text - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_PRNG(SDRM_RC4Context *ctx, cc_u8 *in, cc_u32 inLen, cc_u8 *out) -{ - cc_u32 i, j, k; - cc_u8 temp; - - i = ctx->i; - j = ctx->j; - - for (k = 0; k < inLen; k++) - { - i++; - i &= 0xff; - j += ctx->s[i]; - j &= 0xff; - - temp = ctx->s[i]; - ctx->s[i] = ctx->s[j]; - ctx->s[j] = temp; - - temp = ctx->s[i] + ctx->s[j]; - - out[k] = in[k]^(ctx->s[temp]); - } - - ctx->i = i; - ctx->j = j; - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/base/sha1.c b/SPC/Src/base/sha1.c deleted file mode 100755 index 990b362..0000000 --- a/SPC/Src/base/sha1.c +++ /dev/null @@ -1,472 +0,0 @@ -/* For torrentcheck.c, main() commented out */ -/* sha1.c : Implementation of the Secure Hash Algorithm */ - -/* SHA: NIST's Secure Hash Algorithm */ - -/* This version written November 2000 by David Ireland of - DI Management Services Pty Limited - - Adapted from code in the Python Cryptography Toolkit, - version 1.0.0 by A.M. Kuchling 1995. -*/ - -/* AM Kuchling's posting:- - Based on SHA code originally posted to sci.crypt by Peter Gutmann - in message <30ajo5$oe8@ccu2.auckland.ac.nz>. - Modified to test for endianness on creation of SHA objects by AMK. - Also, the original specification of SHA was found to have a weakness - by NSA/NIST. This code implements the fixed version of SHA. -*/ - -/* Here's the first paragraph of Peter Gutmann's posting: - -The following is my SHA (FIPS 180) code updated to allow use of the "fixed" -SHA, thanks to Jim Gillogly and an anonymous contributor for the information on -what's changed in the new version. The fix is a simple change which involves -adding a single rotate in the initial expansion function. It is unknown -whether this is an optimal solution to the problem which was discovered in the -SHA or whether it's simply a bandaid which fixes the problem with a minimum of -effort (for example the reengineering of a great many Capstone chips). -*/ - -/* JS Park's posting: - Modification for naming confilct. - - Attach prefix 'SDRM_SHA1_' for all function and constants. - - Change name of data context to 'SDRM_SHA1Context' - endianTest code is modified to avoid gcc warning. - Primitive data types are used, instead of user-defined data types. - Prototypes are moved to header file. - Not using functions are commented out. - */ - - -void SDRM_endianTest(int *endianness); - -/* sha.c */ - -#include "sha1.h" - -static void SDRM_SHAtoByte(unsigned char *output, unsigned int *input, unsigned int len); - -/* The SHS block size and message digest sizes, in bytes */ - -#define SDRM_SHA1_DATASIZE 64 -#define SDRM_SHA1_DIGESTSIZE 20 - - -/* The SHS f()-functions. The f1 and f3 functions can be optimized to - save one boolean operation each - thanks to Rich Schroeppel, - rcs@cs.arizona.edu for discovering this */ - -/*#define SDRM_SHA1_f1(x,y,z) ((x & y) | (~x & z)) // Rounds 0-19 */ -#define SDRM_SHA1_f1(x,y,z) (z ^ (x & (y ^ z))) /* Rounds 0-19 */ -#define SDRM_SHA1_f2(x,y,z) (x ^ y ^ z) /* Rounds 20-39 */ -/*#define SDRM_SHA1_f3(x,y,z) ((x & y) | (x & z) | (y & z)) // Rounds 40-59 */ -#define SDRM_SHA1_f3(x,y,z) ((x & y) | (z & (x | y))) /* Rounds 40-59 */ -#define SDRM_SHA1_f4(x,y,z) (x ^ y ^ z) /* Rounds 60-79 */ - -/* The SHS Mysterious Constants */ - -#define SDRM_SHA1_K1 0x5A827999L /* Rounds 0-19 */ -#define SDRM_SHA1_K2 0x6ED9EBA1L /* Rounds 20-39 */ -#define SDRM_SHA1_K3 0x8F1BBCDCL /* Rounds 40-59 */ -#define SDRM_SHA1_K4 0xCA62C1D6L /* Rounds 60-79 */ - -/* SHS initial values */ - -#define SDRM_SHA1_h0init 0x67452301L -#define SDRM_SHA1_h1init 0xEFCDAB89L -#define SDRM_SHA1_h2init 0x98BADCFEL -#define SDRM_SHA1_h3init 0x10325476L -#define SDRM_SHA1_h4init 0xC3D2E1F0L - -/* Note that it may be necessary to add parentheses to these macros if they - are to be called with expressions as arguments */ -/* 32-bit rotate left - kludged with shifts */ - -#define SDRM_SHA1_ROTL(n, X) (((X) << n) | ((X) >> (32 - n))) - -/* The initial expanding function. The hash function is defined over an - 80-UINT2 expanded input array W, where the first 16 are copies of the input - data, and the remaining 64 are defined by - - W[ i ] = W[ i - 16 ] ^ W[ i - 14 ] ^ W[ i - 8 ] ^ W[ i - 3 ] - - This implementation generates these values on the fly in a circular - buffer - thanks to Colin Plumb, colin@nyx10.cs.du.edu for this - optimization. - - The updated SHS changes the expanding function by adding a rotate of 1 - bit. Thanks to Jim Gillogly, jim@rand.org, and an anonymous contributor - for this information */ - -#define SDRM_SHA1_expand(W, i) (W[i & 15] = SDRM_SHA1_ROTL(1, (W[i & 15] ^ W[(i - 14) & 15] ^ \ - W[(i - 8) & 15] ^ W[(i - 3) & 15]))) - - -/* The prototype SHS sub-round. The fundamental sub-round is: - - a' = e + ROTL( 5, a ) + f( b, c, d ) + k + data; - b' = a; - c' = ROTL( 30, b ); - d' = c; - e' = d; - - but this is implemented by unrolling the loop 5 times and renaming the - variables ( e, a, b, c, d ) = ( a', b', c', d', e' ) each iteration. - This code is then replicated 20 times for each of the 4 functions, using - the next 20 values from the W[] array each time */ - -#define SDRM_SHA1_subRound(a, b, c, d, e, f, k, data) \ - (e += SDRM_SHA1_ROTL(5, a) + f(b, c, d) + k + data, b = SDRM_SHA1_ROTL(30, b)) - -/* Initialize the SHS values */ - -CRYPTOCORE_INTERNAL void SDRM_SHA1_Init(SDRM_SHA1Context *shsInfo) -{ - SDRM_endianTest(&shsInfo->Endianness); - /* Set the h-vars to their initial values */ - shsInfo->digest[ 0 ] = SDRM_SHA1_h0init; - shsInfo->digest[ 1 ] = SDRM_SHA1_h1init; - shsInfo->digest[ 2 ] = SDRM_SHA1_h2init; - shsInfo->digest[ 3 ] = SDRM_SHA1_h3init; - shsInfo->digest[ 4 ] = SDRM_SHA1_h4init; - - /* Initialise bit count */ - shsInfo->countLo = shsInfo->countHi = 0; -} - - -/* Perform the SHS transformation. Note that this code, like MD5, seems to - break some optimizing compilers due to the complexity of the expressions - and the size of the basic block. It may be necessary to split it into - sections, e.g. based on the four subrounds - - Note that this corrupts the shsInfo->data area */ - -static void SDRM_SHSTransform(unsigned int *digest, unsigned int *data ) - { - unsigned int A, B, C, D, E; /* Local vars */ - unsigned int eData[ 16 ]; /* Expanded data */ - - /* Set up first buffer and local data buffer */ - A = digest[ 0 ]; - B = digest[ 1 ]; - C = digest[ 2 ]; - D = digest[ 3 ]; - E = digest[ 4 ]; - memcpy( (unsigned char*)eData, (unsigned char*)data, SDRM_SHA1_DATASIZE ); - - /* Heavy mangling, in 4 sub-rounds of 20 interations each. */ - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 0 ] ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 1 ] ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 2 ] ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 3 ] ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 4 ] ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 5 ] ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 6 ] ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 7 ] ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 8 ] ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 9 ] ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 10 ] ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 11 ] ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 12 ] ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 13 ] ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 14 ] ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 15 ] ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 16 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 17 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 18 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 19 ) ); - - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 20 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 21 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 22 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 23 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 24 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 25 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 26 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 27 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 28 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 29 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 30 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 31 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 32 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 33 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 34 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 35 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 36 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 37 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 38 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 39 ) ); - - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 40 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 41 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 42 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 43 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 44 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 45 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 46 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 47 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 48 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 49 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 50 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 51 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 52 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 53 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 54 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 55 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 56 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 57 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 58 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 59 ) ); - - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 60 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 61 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 62 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 63 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 64 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 65 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 66 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 67 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 68 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 69 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 70 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 71 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 72 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 73 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 74 ) ); - SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 75 ) ); - SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 76 ) ); - SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 77 ) ); - SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 78 ) ); - SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 79 ) ); - - /* Build message digest */ - digest[ 0 ] += A; - digest[ 1 ] += B; - digest[ 2 ] += C; - digest[ 3 ] += D; - digest[ 4 ] += E; - } - -/* When run on a little-endian CPU we need to perform byte reversal on an - array of long words. */ - -static void SDRM_longReverse(unsigned int *buffer, int byteCount, int Endianness) -{ - unsigned int value; - - if (Endianness == !(0)) return; - byteCount /= sizeof( unsigned int ); - while(byteCount--) - { - value = *buffer; - value = ((value & 0xFF00FF00L) >> 8) | \ - ((value & 0x00FF00FFL ) << 8); - *buffer++ = (value << 16) | (value >> 16); - } -} - -/* Update SHS for a block of data */ - -CRYPTOCORE_INTERNAL void SDRM_SHA1_Update(SDRM_SHA1Context *shsInfo, const unsigned char *buffer, int count) -{ - unsigned int tmp; - int dataCount; - - /* Update bitcount */ - tmp = shsInfo->countLo; - if ((shsInfo->countLo = tmp + ((unsigned int)count << 3)) < tmp) - shsInfo->countHi++; /* Carry from low to high */ - - shsInfo->countHi += count >> 29; - - /* Get count of bytes already in data */ - dataCount = (int)(tmp >> 3) & 0x3F; - - /* Handle any leading odd-sized chunks */ - if (dataCount) - { - unsigned char *p = (unsigned char*) shsInfo->data + dataCount; - - dataCount = SDRM_SHA1_DATASIZE - dataCount; - if(count < dataCount) - { - memcpy(p, buffer, count); - return; - } - memcpy(p, buffer, dataCount); - SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE, shsInfo->Endianness); - SDRM_SHSTransform(shsInfo->digest, shsInfo->data); - buffer += dataCount; - count -= dataCount; - } - - /* Process data in SHS_DATASIZE chunks */ - while(count >= SDRM_SHA1_DATASIZE) - { - memcpy((unsigned char*)shsInfo->data, buffer, SDRM_SHA1_DATASIZE); - SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE, shsInfo->Endianness); - SDRM_SHSTransform(shsInfo->digest, shsInfo->data); - buffer += SDRM_SHA1_DATASIZE; - count -= SDRM_SHA1_DATASIZE; - } - - /* Handle any remaining bytes of data. */ - memcpy( (unsigned char*)shsInfo->data, buffer, count); - } - -/* Final wrapup - pad to SHS_DATASIZE-byte boundary with the bit pattern - 1 0* (64-bit count of bits processed, MSB-first) */ - -CRYPTOCORE_INTERNAL void SDRM_SHA1_Final(SDRM_SHA1Context *shsInfo, unsigned char *output) -{ - int count; - unsigned char *dataPtr; - - /* Compute number of bytes mod 64 */ - count = (int) shsInfo->countLo; - count = (count >> 3) & 0x3F; - - /* Set the first char of padding to 0x80. This is safe since there is - always at least one byte free */ - dataPtr = (unsigned char*) shsInfo->data + count; - *dataPtr++ = 0x80; - - /* Bytes of padding needed to make 64 bytes */ - count = SDRM_SHA1_DATASIZE - 1 - count; - - /* Pad out to 56 mod 64 */ - if( count < 8 ) - { - /* Two lots of padding: Pad the first block to 64 bytes */ - memset(dataPtr, 0, count); - SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE, shsInfo->Endianness); - SDRM_SHSTransform(shsInfo->digest, shsInfo->data); - - /* Now fill the next block with 56 bytes */ - memset((unsigned char*)shsInfo->data, 0, SDRM_SHA1_DATASIZE - 8); - } - else - /* Pad block to 56 bytes */ - memset(dataPtr, 0, count - 8); - - /* Append length in bits and transform */ - shsInfo->data[14] = shsInfo->countHi; - shsInfo->data[15] = shsInfo->countLo; - - SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE - 8, shsInfo->Endianness); - SDRM_SHSTransform(shsInfo->digest, shsInfo->data); - - /* Output to an array of bytes */ - SDRM_SHAtoByte(output, shsInfo->digest, SDRM_SHA1_DIGESTSIZE); - - /* Zeroise sensitive stuff */ - memset((unsigned char*)shsInfo, 0, sizeof(SDRM_SHA1Context)); -} - -static void SDRM_SHAtoByte(unsigned char *output, unsigned int *input, unsigned int len) -{ /* Output SHA digest in byte array */ - unsigned int i, j; - - for(i = 0, j = 0; j < len; i++, j += 4) - { - output[j+3] = (unsigned char)( input[i] & 0xff); - output[j+2] = (unsigned char)((input[i] >> 8 ) & 0xff); - output[j+1] = (unsigned char)((input[i] >> 16) & 0xff); - output[j ] = (unsigned char)((input[i] >> 24) & 0xff); - } -} - - -//unsigned char digest[20]; -//unsigned char message[3] = {'a', 'b', 'c' }; -//unsigned char *mess56 = -// "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"; - -/* Correct solutions from FIPS PUB 180-1 */ -//char *dig1 = "A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D"; -//char *dig2 = "84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1"; -//char *dig3 = "34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F"; - -/* Output should look like:- - a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d - A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D <= correct - 84983e44 1c3bd26e baae4aa1 f95129e5 e54670f1 - 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 <= correct - 34aa973c d4c4daa4 f61eeb2b dbad2731 6534016f - 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F <= correct -*/ - -//main() -//{ -// SHA_CTX sha; -// int i; -// BYTE big[1000]; -// -// SHAInit(&sha); -// SHAUpdate(&sha, message, 3); -// SHAFinal(digest, &sha); -// -// for (i = 0; i < 20; i++) -// { -// if ((i % 4) == 0) printf(" "); -// printf("%02x", digest[i]); -// } -// printf("\n"); -// printf(" %s <= correct\n", dig1); -// -// SHAInit(&sha); -// SHAUpdate(&sha, mess56, 56); -// SHAFinal(digest, &sha); -// -// for (i = 0; i < 20; i++) -// { -// if ((i % 4) == 0) printf(" "); -// printf("%02x", digest[i]); -// } -// printf("\n"); -// printf(" %s <= correct\n", dig2); -// -// /* Fill up big array */ -// for (i = 0; i < 1000; i++) -// big[i] = 'a'; -// -// SHAInit(&sha); -// /* Digest 1 million x 'a' */ -// for (i = 0; i < 1000; i++) -// SHAUpdate(&sha, big, 1000); -// SHAFinal(digest, &sha); -// -// for (i = 0; i < 20; i++) -// { -// if ((i % 4) == 0) printf(" "); -// printf("%02x", digest[i]); -// } -// printf("\n"); -// printf(" %s <= correct\n", dig3); -// -// return 0; -//} - -/* endian.c */ - -CRYPTOCORE_INTERNAL void SDRM_endianTest(int *endian_ness) -{ - static short test = 1; - - if ( *((char *) &test) != 1) - { - /* printf("Big endian = no change\n"); */ - *endian_ness = !(0); - } - else - { - /* printf("Little endian = swap\n"); */ - *endian_ness = 0; - } -} - -/***************************** End of File *****************************/ - diff --git a/SPC/Src/base/sha2.c b/SPC/Src/base/sha2.c deleted file mode 100755 index 65dcdaf..0000000 --- a/SPC/Src/base/sha2.c +++ /dev/null @@ -1,660 +0,0 @@ -/* - * FIPS 180-2 SHA-224/256/384/512 implementation - * Last update: 02/02/2007 - * Issue date: 04/30/2005 - * - * Copyright (C) 2005, 2007 Olivier Gay - * 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. - * 3. Neither the name of the project nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE PROJECT 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 PROJECT 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. - */ - -/* JS Park's posting: - Modification for naming confilct. - Attach prefix 'SDRM_' for all function and constants. - Change name of data context to 'SDRM_SHAxxxContext' (xxx is bit length of digest) -*/ - -#include - -#include "sha2.h" - -#define SDRM_SHA2_SHFR(x, n) (x >> n) -#define SDRM_SHA2_ROTR(x, n) ((x >> n) | (x << ((sizeof(x) << 3) - n))) -#define SDRM_SHA2_ROTL(x, n) ((x << n) | (x >> ((sizeof(x) << 3) - n))) -#define SDRM_SHA2_CH(x, y, z) ((x & y) ^ (~x & z)) -#define SDRM_SHA2_MAJ(x, y, z) ((x & y) ^ (x & z) ^ (y & z)) - -#define SDRM_SHA2_SHA256_F1(x) (SDRM_SHA2_ROTR(x, 2) ^ SDRM_SHA2_ROTR(x, 13) ^ SDRM_SHA2_ROTR(x, 22)) -#define SDRM_SHA2_SHA256_F2(x) (SDRM_SHA2_ROTR(x, 6) ^ SDRM_SHA2_ROTR(x, 11) ^ SDRM_SHA2_ROTR(x, 25)) -#define SDRM_SHA2_SHA256_F3(x) (SDRM_SHA2_ROTR(x, 7) ^ SDRM_SHA2_ROTR(x, 18) ^ SDRM_SHA2_SHFR(x, 3)) -#define SDRM_SHA2_SHA256_F4(x) (SDRM_SHA2_ROTR(x, 17) ^ SDRM_SHA2_ROTR(x, 19) ^ SDRM_SHA2_SHFR(x, 10)) - -#define SDRM_SHA2_SHA512_F1(x) (SDRM_SHA2_ROTR(x, 28) ^ SDRM_SHA2_ROTR(x, 34) ^ SDRM_SHA2_ROTR(x, 39)) -#define SDRM_SHA2_SHA512_F2(x) (SDRM_SHA2_ROTR(x, 14) ^ SDRM_SHA2_ROTR(x, 18) ^ SDRM_SHA2_ROTR(x, 41)) -#define SDRM_SHA2_SHA512_F3(x) (SDRM_SHA2_ROTR(x, 1) ^ SDRM_SHA2_ROTR(x, 8) ^ SDRM_SHA2_SHFR(x, 7)) -#define SDRM_SHA2_SHA512_F4(x) (SDRM_SHA2_ROTR(x, 19) ^ SDRM_SHA2_ROTR(x, 61) ^ SDRM_SHA2_SHFR(x, 6)) - -#define SDRM_SHA2_UNPACK32(x, str) \ -do { \ - *((str) + 3) = (cc_u8) ((x) ); \ - *((str) + 2) = (cc_u8) ((x) >> 8); \ - *((str) + 1) = (cc_u8) ((x) >> 16); \ - *((str) + 0) = (cc_u8) ((x) >> 24); \ -} while(0) - -#define SDRM_SHA2_PACK32(str, x) \ -do { \ - *(x) = ((cc_u32) *((str) + 3) ) \ - | ((cc_u32) *((str) + 2) << 8) \ - | ((cc_u32) *((str) + 1) << 16) \ - | ((cc_u32) *((str) + 0) << 24); \ -} while(0) - -#define SDRM_SHA2_UNPACK64(x, str) \ -do { \ - *((str) + 7) = (cc_u8) ((x) ); \ - *((str) + 6) = (cc_u8) ((x) >> 8); \ - *((str) + 5) = (cc_u8) ((x) >> 16); \ - *((str) + 4) = (cc_u8) ((x) >> 24); \ - *((str) + 3) = (cc_u8) ((x) >> 32); \ - *((str) + 2) = (cc_u8) ((x) >> 40); \ - *((str) + 1) = (cc_u8) ((x) >> 48); \ - *((str) + 0) = (cc_u8) ((x) >> 56); \ -} while(0) - -#define SDRM_SHA2_PACK64(str, x) \ -do { \ - *(x) = ((cc_u64) *((str) + 7) ) \ - | ((cc_u64) *((str) + 6) << 8) \ - | ((cc_u64) *((str) + 5) << 16) \ - | ((cc_u64) *((str) + 4) << 24) \ - | ((cc_u64) *((str) + 3) << 32) \ - | ((cc_u64) *((str) + 2) << 40) \ - | ((cc_u64) *((str) + 1) << 48) \ - | ((cc_u64) *((str) + 0) << 56); \ -} while(0) - -/* Macros used for loops unrolling */ - -#define SDRM_SHA2_SHA256_SCR(i) \ -{ \ - w[i] = SDRM_SHA2_SHA256_F4(w[i - 2]) + w[i - 7] \ - + SDRM_SHA2_SHA256_F3(w[i - 15]) + w[i - 16]; \ -} - -#define SDRM_SHA2_SHA512_SCR(i) \ -{ \ - w[i] = SDRM_SHA2_SHA512_F4(w[i - 2]) + w[i - 7] \ - + SDRM_SHA2_SHA512_F3(w[i - 15]) + w[i - 16]; \ -} - -#define SDRM_SHA2_SHA256_EXP(a, b, c, d, e, f, g, h, j) \ -{ \ - t1 = wv[h] + SDRM_SHA2_SHA256_F2(wv[e]) + SDRM_SHA2_CH(wv[e], wv[f], wv[g]) \ - + sha256_k[j] + w[j]; \ - t2 = SDRM_SHA2_SHA256_F1(wv[a]) + SDRM_SHA2_MAJ(wv[a], wv[b], wv[c]); \ - wv[d] += t1; \ - wv[h] = t1 + t2; \ -} - -#define SDRM_SHA2_SHA512_EXP(a, b, c, d, e, f, g ,h, j) \ -{ \ - t1 = wv[h] + SDRM_SHA2_SHA512_F2(wv[e]) + SDRM_SHA2_CH(wv[e], wv[f], wv[g]) \ - + sha512_k[j] + w[j]; \ - t2 = SDRM_SHA2_SHA512_F1(wv[a]) + SDRM_SHA2_MAJ(wv[a], wv[b], wv[c]); \ - wv[d] += t1; \ - wv[h] = t1 + t2; \ -} - -CRYPTOCORE_INTERNAL cc_u32 sha224_h0[8] = - {0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, - 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4}; - -CRYPTOCORE_INTERNAL cc_u32 sha256_h0[8] = - {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19}; - -CRYPTOCORE_INTERNAL cc_u32 sha256_k[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}; - -#ifndef _OP64_NOTSUPPORTED - -#ifdef _WIN32 -CRYPTOCORE_INTERNAL cc_u64 sha384_h0[8] = - {0xcbbb9d5dc1059ed8, 0x629a292a367cd507, - 0x9159015a3070dd17, 0x152fecd8f70e5939, - 0x67332667ffc00b31, 0x8eb44a8768581511, - 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4}; - -CRYPTOCORE_INTERNAL cc_u64 sha512_h0[8] = - {0x6a09e667f3bcc908, 0xbb67ae8584caa73b, - 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, - 0x510e527fade682d1, 0x9b05688c2b3e6c1f, - 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179}; - -CRYPTOCORE_INTERNAL cc_u64 sha512_k[80] = - {0x428a2f98d728ae22, 0x7137449123ef65cd, - 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, - 0x3956c25bf348b538, 0x59f111f1b605d019, - 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, - 0xd807aa98a3030242, 0x12835b0145706fbe, - 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2, - 0x72be5d74f27b896f, 0x80deb1fe3b1696b1, - 0x9bdc06a725c71235, 0xc19bf174cf692694, - 0xe49b69c19ef14ad2, 0xefbe4786384f25e3, - 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65, - 0x2de92c6f592b0275, 0x4a7484aa6ea6e483, - 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5, - 0x983e5152ee66dfab, 0xa831c66d2db43210, - 0xb00327c898fb213f, 0xbf597fc7beef0ee4, - 0xc6e00bf33da88fc2, 0xd5a79147930aa725, - 0x06ca6351e003826f, 0x142929670a0e6e70, - 0x27b70a8546d22ffc, 0x2e1b21385c26c926, - 0x4d2c6dfc5ac42aed, 0x53380d139d95b3df, - 0x650a73548baf63de, 0x766a0abb3c77b2a8, - 0x81c2c92e47edaee6, 0x92722c851482353b, - 0xa2bfe8a14cf10364, 0xa81a664bbc423001, - 0xc24b8b70d0f89791, 0xc76c51a30654be30, - 0xd192e819d6ef5218, 0xd69906245565a910, - 0xf40e35855771202a, 0x106aa07032bbd1b8, - 0x19a4c116b8d2d0c8, 0x1e376c085141ab53, - 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8, - 0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb, - 0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3, - 0x748f82ee5defb2fc, 0x78a5636f43172f60, - 0x84c87814a1f0ab72, 0x8cc702081a6439ec, - 0x90befffa23631e28, 0xa4506cebde82bde9, - 0xbef9a3f7b2c67915, 0xc67178f2e372532b, - 0xca273eceea26619c, 0xd186b8c721c0c207, - 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178, - 0x06f067aa72176fba, 0x0a637dc5a2c898a6, - 0x113f9804bef90dae, 0x1b710b35131c471b, - 0x28db77f523047d84, 0x32caab7b40c72493, - 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c, - 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, - 0x5fcb6fab3ad6faec, 0x6c44198c4a475817}; -#else -CRYPTOCORE_INTERNAL cc_u64 sha384_h0[8] = - {0xcbbb9d5dc1059ed8ULL, 0x629a292a367cd507ULL, - 0x9159015a3070dd17ULL, 0x152fecd8f70e5939ULL, - 0x67332667ffc00b31ULL, 0x8eb44a8768581511ULL, - 0xdb0c2e0d64f98fa7ULL, 0x47b5481dbefa4fa4ULL}; - -CRYPTOCORE_INTERNAL cc_u64 sha512_h0[8] = - {0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, - 0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL, - 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL}; - -CRYPTOCORE_INTERNAL cc_u64 sha512_k[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}; -#endif //_WIN32 -#endif //_OP64_NOTSUPPORTED - -/* SHA-256 functions */ - -CRYPTOCORE_INTERNAL void SDRM_SHA256_Transf(SDRM_SHA256Context* ctx, const cc_u8 *message, cc_u32 block_nb) -{ - cc_u32 w[64]; - cc_u32 wv[8]; - cc_u32 t1, t2; - const cc_u8 *sub_block; - int i; - - int j; - - for (i = 0; i < (int) block_nb; i++) - { - sub_block = message + (i << 6); - - for (j = 0; j < 16; j++) - { - SDRM_SHA2_PACK32(&sub_block[j << 2], &w[j]); - } - - for (j = 16; j < 64; j++) - { - SDRM_SHA2_SHA256_SCR(j); - } - - for (j = 0; j < 8; j++) - { - wv[j] = ctx->h[j]; - } - - for (j = 0; j < 64; j++) - { - t1 = wv[7] + SDRM_SHA2_SHA256_F2(wv[4]) + SDRM_SHA2_CH(wv[4], wv[5], wv[6]) + sha256_k[j] + w[j]; - t2 = SDRM_SHA2_SHA256_F1(wv[0]) + SDRM_SHA2_MAJ(wv[0], wv[1], wv[2]); - wv[7] = wv[6]; - wv[6] = wv[5]; - wv[5] = wv[4]; - wv[4] = wv[3] + t1; - wv[3] = wv[2]; - wv[2] = wv[1]; - wv[1] = wv[0]; - wv[0] = t1 + t2; - } - - for (j = 0; j < 8; j++) - { - ctx->h[j] += wv[j]; - } - } -} - -CRYPTOCORE_INTERNAL void SDRM_SHA256_Init(SDRM_SHA256Context* ctx) -{ - int i; - for (i = 0; i < 8; i++) - { - ctx->h[i] = sha256_h0[i]; - } - - ctx->len = 0; - ctx->tot_len = 0; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA256_Update(SDRM_SHA256Context* ctx, const cc_u8 *message, cc_u32 len) -{ - cc_u32 block_nb; - cc_u32 new_len, rem_len, tmp_len; - const cc_u8 *shifted_message; - - tmp_len = SDRM_SHA256_DATA_SIZE - ctx->len; - rem_len = len < tmp_len ? len : tmp_len; - - memcpy(&ctx->block[ctx->len], message, rem_len); - - if (ctx->len + len < SDRM_SHA256_DATA_SIZE) - { - ctx->len += len; - return; - } - - new_len = len - rem_len; - block_nb = new_len / SDRM_SHA256_DATA_SIZE; - - shifted_message = message + rem_len; - - SDRM_SHA256_Transf(ctx, ctx->block, 1); - SDRM_SHA256_Transf(ctx, shifted_message, block_nb); - - rem_len = new_len % SDRM_SHA256_DATA_SIZE; - - memcpy(ctx->block, &shifted_message[block_nb << 6], rem_len); - - ctx->len = rem_len; - ctx->tot_len += (block_nb + 1) << 6; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA256_Final(SDRM_SHA256Context* ctx, cc_u8 *digest) -{ - cc_u32 block_nb; - cc_u32 pm_len; - cc_u32 len_b; - - int i; - - block_nb = (1 + ((SDRM_SHA256_DATA_SIZE - 9) < (ctx->len % SDRM_SHA256_DATA_SIZE))); - - len_b = (ctx->tot_len + ctx->len) << 3; - pm_len = block_nb << 6; - - memset(ctx->block + ctx->len, 0, pm_len - ctx->len); - ctx->block[ctx->len] = 0x80; - SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4); - - SDRM_SHA256_Transf(ctx, ctx->block, block_nb); - - for (i = 0 ; i < 8; i++) - { - SDRM_SHA2_UNPACK32(ctx->h[i], &digest[i << 2]); - } -} - -#ifndef _OP64_NOTSUPPORTED - -/* SHA-512 functions */ - -CRYPTOCORE_INTERNAL void SDRM_SHA512_Transf(SDRM_SHA512Context* ctx, const cc_u8 *message, cc_u32 block_nb) -{ - cc_u64 w[80]; - cc_u64 wv[8]; - cc_u64 t1, t2; - const cc_u8 *sub_block; - int i, j; - - for (i = 0; i < (int) block_nb; i++) - { - sub_block = message + (i << 7); - - for (j = 0; j < 16; j++) - { - SDRM_SHA2_PACK64(&sub_block[j << 3], &w[j]); - } - - for (j = 16; j < 80; j++) - { - SDRM_SHA2_SHA512_SCR(j); - } - - for (j = 0; j < 8; j++) - { - wv[j] = ctx->h[j]; - } - - for (j = 0; j < 80; j++) - { - t1 = wv[7] + SDRM_SHA2_SHA512_F2(wv[4]) + SDRM_SHA2_CH(wv[4], wv[5], wv[6]) - + sha512_k[j] + w[j]; - t2 = SDRM_SHA2_SHA512_F1(wv[0]) + SDRM_SHA2_MAJ(wv[0], wv[1], wv[2]); - wv[7] = wv[6]; - wv[6] = wv[5]; - wv[5] = wv[4]; - wv[4] = wv[3] + t1; - wv[3] = wv[2]; - wv[2] = wv[1]; - wv[1] = wv[0]; - wv[0] = t1 + t2; - } - - for (j = 0; j < 8; j++) - { - ctx->h[j] += wv[j]; - } - } -} - -CRYPTOCORE_INTERNAL void SDRM_SHA512_Init(SDRM_SHA512Context* ctx) -{ - int i; - for (i = 0; i < 8; i++) - { - ctx->h[i] = sha512_h0[i]; - } - - ctx->len = 0; - ctx->tot_len = 0; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA512_Update(SDRM_SHA512Context* ctx, const cc_u8 *message, cc_u32 len) -{ - cc_u32 block_nb; - cc_u32 new_len, rem_len, tmp_len; - const cc_u8 *shifted_message; - - tmp_len = SDRM_SHA512_DATA_SIZE - ctx->len; - rem_len = len < tmp_len ? len : tmp_len; - - memcpy(&ctx->block[ctx->len], message, rem_len); - - if (ctx->len + len < SDRM_SHA512_DATA_SIZE) - { - ctx->len += len; - return; - } - - new_len = len - rem_len; - block_nb = new_len / SDRM_SHA512_DATA_SIZE; - - shifted_message = message + rem_len; - - SDRM_SHA512_Transf(ctx, ctx->block, 1); - SDRM_SHA512_Transf(ctx, shifted_message, block_nb); - - rem_len = new_len % SDRM_SHA512_DATA_SIZE; - - memcpy(ctx->block, &shifted_message[block_nb << 7], rem_len); - - ctx->len = rem_len; - ctx->tot_len += (block_nb + 1) << 7; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA512_Final(SDRM_SHA512Context* ctx, cc_u8 *digest) -{ - cc_u32 block_nb; - cc_u32 pm_len; - cc_u32 len_b; - - int i; - - block_nb = 1 + ((SDRM_SHA512_DATA_SIZE - 17) < (ctx->len % SDRM_SHA512_DATA_SIZE)); - - len_b = (ctx->tot_len + ctx->len) << 3; - pm_len = block_nb << 7; - - memset(ctx->block + ctx->len, 0, pm_len - ctx->len); - ctx->block[ctx->len] = 0x80; - SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4); - - SDRM_SHA512_Transf(ctx, ctx->block, block_nb); - - for (i = 0 ; i < 8; i++) - { - SDRM_SHA2_UNPACK64(ctx->h[i], &digest[i << 3]); - } -} - -/* SHA-384 functions */ - -CRYPTOCORE_INTERNAL void SDRM_SHA384_Init(SDRM_SHA384Context* ctx) -{ - int i; - for (i = 0; i < 8; i++) - { - ctx->h[i] = sha384_h0[i]; - } - - ctx->len = 0; - ctx->tot_len = 0; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA384_Update(SDRM_SHA384Context* ctx, const cc_u8 *message, cc_u32 len) -{ - cc_u32 block_nb; - cc_u32 new_len, rem_len, tmp_len; - const cc_u8 *shifted_message; - - tmp_len = SDRM_SHA384_DATA_SIZE - ctx->len; - rem_len = len < tmp_len ? len : tmp_len; - - memcpy(&ctx->block[ctx->len], message, rem_len); - - if (ctx->len + len < SDRM_SHA384_DATA_SIZE) - { - ctx->len += len; - return; - } - - new_len = len - rem_len; - block_nb = new_len / SDRM_SHA384_DATA_SIZE; - - shifted_message = message + rem_len; - - SDRM_SHA512_Transf(ctx, ctx->block, 1); - SDRM_SHA512_Transf(ctx, shifted_message, block_nb); - - rem_len = new_len % SDRM_SHA384_DATA_SIZE; - - memcpy(ctx->block, &shifted_message[block_nb << 7], rem_len); - - ctx->len = rem_len; - ctx->tot_len += (block_nb + 1) << 7; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA384_Final(SDRM_SHA384Context* ctx, cc_u8 *digest) -{ - cc_u32 block_nb; - cc_u32 pm_len; - cc_u32 len_b; - - int i; - - block_nb = (1 + ((SDRM_SHA384_DATA_SIZE - 17) < (ctx->len % SDRM_SHA384_DATA_SIZE))); - - len_b = (ctx->tot_len + ctx->len) << 3; - pm_len = block_nb << 7; - - memset(ctx->block + ctx->len, 0, pm_len - ctx->len); - ctx->block[ctx->len] = 0x80; - SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4); - - SDRM_SHA512_Transf(ctx, ctx->block, block_nb); - - for (i = 0 ; i < 6; i++) - { - SDRM_SHA2_UNPACK64(ctx->h[i], &digest[i << 3]); - } -} - -#endif //_OP64_NOTSUPPORTED - -/* SHA-224 functions */ - -CRYPTOCORE_INTERNAL void SDRM_SHA224_Init(SDRM_SHA224Context *ctx) -{ - int i; - for (i = 0; i < 8; i++) { - ctx->h[i] = sha224_h0[i]; - } - - ctx->len = 0; - ctx->tot_len = 0; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA224_Update(SDRM_SHA224Context *ctx, const unsigned char *message, - unsigned int len) -{ - unsigned int block_nb; - unsigned int new_len, rem_len, tmp_len; - const unsigned char *shifted_message; - - tmp_len = SDRM_SHA224_DATA_SIZE - ctx->len; - rem_len = len < tmp_len ? len : tmp_len; - - memcpy(&ctx->block[ctx->len], message, rem_len); - - if (ctx->len + len < SDRM_SHA224_DATA_SIZE) { - ctx->len += len; - return; - } - - new_len = len - rem_len; - block_nb = new_len / SDRM_SHA224_DATA_SIZE; - - shifted_message = message + rem_len; - - SDRM_SHA256_Transf(ctx, ctx->block, 1); - SDRM_SHA256_Transf(ctx, shifted_message, block_nb); - - rem_len = new_len % SDRM_SHA224_DATA_SIZE; - - memcpy(ctx->block, &shifted_message[block_nb << 6], - rem_len); - - ctx->len = rem_len; - ctx->tot_len += (block_nb + 1) << 6; -} - -CRYPTOCORE_INTERNAL void SDRM_SHA224_Final(SDRM_SHA224Context *ctx, unsigned char *digest) -{ - unsigned int block_nb; - unsigned int pm_len; - unsigned int len_b; - - int i; - - block_nb = (1 + ((SDRM_SHA224_DATA_SIZE - 9) - < (ctx->len % SDRM_SHA224_DATA_SIZE))); - - len_b = (ctx->tot_len + ctx->len) << 3; - pm_len = block_nb << 6; - - memset(ctx->block + ctx->len, 0, pm_len - ctx->len); - ctx->block[ctx->len] = 0x80; - SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4); - - SDRM_SHA256_Transf(ctx, ctx->block, block_nb); - - for (i = 0 ; i < 7; i++) { - SDRM_SHA2_UNPACK32(ctx->h[i], &digest[i << 2]); - } -} diff --git a/SPC/Src/base/snow2.c b/SPC/Src/base/snow2.c deleted file mode 100755 index e115097..0000000 --- a/SPC/Src/base/snow2.c +++ /dev/null @@ -1,404 +0,0 @@ -/** - * \file snow2.c - * @brief implementation of SNOW 2.0 encryption scheme - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/02 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "snow2.h" - -//////////////////////////////////////////////////////////////////////////// -// pre-computated values -//////////////////////////////////////////////////////////////////////////// -static cc_u32 SNOW2_MUL_a[256]= { - 0x00000000, 0xE19FCF13, 0x6B973726, 0x8A08F835, 0xD6876E4C, 0x3718A15F, 0xBD10596A, 0x5C8F9679, - 0x05A7DC98, 0xE438138B, 0x6E30EBBE, 0x8FAF24AD, 0xD320B2D4, 0x32BF7DC7, 0xB8B785F2, 0x59284AE1, - 0x0AE71199, 0xEB78DE8A, 0x617026BF, 0x80EFE9AC, 0xDC607FD5, 0x3DFFB0C6, 0xB7F748F3, 0x566887E0, - 0x0F40CD01, 0xEEDF0212, 0x64D7FA27, 0x85483534, 0xD9C7A34D, 0x38586C5E, 0xB250946B, 0x53CF5B78, - 0x1467229B, 0xF5F8ED88, 0x7FF015BD, 0x9E6FDAAE, 0xC2E04CD7, 0x237F83C4, 0xA9777BF1, 0x48E8B4E2, - 0x11C0FE03, 0xF05F3110, 0x7A57C925, 0x9BC80636, 0xC747904F, 0x26D85F5C, 0xACD0A769, 0x4D4F687A, - 0x1E803302, 0xFF1FFC11, 0x75170424, 0x9488CB37, 0xC8075D4E, 0x2998925D, 0xA3906A68, 0x420FA57B, - 0x1B27EF9A, 0xFAB82089, 0x70B0D8BC, 0x912F17AF, 0xCDA081D6, 0x2C3F4EC5, 0xA637B6F0, 0x47A879E3, - 0x28CE449F, 0xC9518B8C, 0x435973B9, 0xA2C6BCAA, 0xFE492AD3, 0x1FD6E5C0, 0x95DE1DF5, 0x7441D2E6, - 0x2D699807, 0xCCF65714, 0x46FEAF21, 0xA7616032, 0xFBEEF64B, 0x1A713958, 0x9079C16D, 0x71E60E7E, - 0x22295506, 0xC3B69A15, 0x49BE6220, 0xA821AD33, 0xF4AE3B4A, 0x1531F459, 0x9F390C6C, 0x7EA6C37F, - 0x278E899E, 0xC611468D, 0x4C19BEB8, 0xAD8671AB, 0xF109E7D2, 0x109628C1, 0x9A9ED0F4, 0x7B011FE7, - 0x3CA96604, 0xDD36A917, 0x573E5122, 0xB6A19E31, 0xEA2E0848, 0x0BB1C75B, 0x81B93F6E, 0x6026F07D, - 0x390EBA9C, 0xD891758F, 0x52998DBA, 0xB30642A9, 0xEF89D4D0, 0x0E161BC3, 0x841EE3F6, 0x65812CE5, - 0x364E779D, 0xD7D1B88E, 0x5DD940BB, 0xBC468FA8, 0xE0C919D1, 0x0156D6C2, 0x8B5E2EF7, 0x6AC1E1E4, - 0x33E9AB05, 0xD2766416, 0x587E9C23, 0xB9E15330, 0xE56EC549, 0x04F10A5A, 0x8EF9F26F, 0x6F663D7C, - 0x50358897, 0xB1AA4784, 0x3BA2BFB1, 0xDA3D70A2, 0x86B2E6DB, 0x672D29C8, 0xED25D1FD, 0x0CBA1EEE, - 0x5592540F, 0xB40D9B1C, 0x3E056329, 0xDF9AAC3A, 0x83153A43, 0x628AF550, 0xE8820D65, 0x091DC276, - 0x5AD2990E, 0xBB4D561D, 0x3145AE28, 0xD0DA613B, 0x8C55F742, 0x6DCA3851, 0xE7C2C064, 0x065D0F77, - 0x5F754596, 0xBEEA8A85, 0x34E272B0, 0xD57DBDA3, 0x89F22BDA, 0x686DE4C9, 0xE2651CFC, 0x03FAD3EF, - 0x4452AA0C, 0xA5CD651F, 0x2FC59D2A, 0xCE5A5239, 0x92D5C440, 0x734A0B53, 0xF942F366, 0x18DD3C75, - 0x41F57694, 0xA06AB987, 0x2A6241B2, 0xCBFD8EA1, 0x977218D8, 0x76EDD7CB, 0xFCE52FFE, 0x1D7AE0ED, - 0x4EB5BB95, 0xAF2A7486, 0x25228CB3, 0xC4BD43A0, 0x9832D5D9, 0x79AD1ACA, 0xF3A5E2FF, 0x123A2DEC, - 0x4B12670D, 0xAA8DA81E, 0x2085502B, 0xC11A9F38, 0x9D950941, 0x7C0AC652, 0xF6023E67, 0x179DF174, - 0x78FBCC08, 0x9964031B, 0x136CFB2E, 0xF2F3343D, 0xAE7CA244, 0x4FE36D57, 0xC5EB9562, 0x24745A71, - 0x7D5C1090, 0x9CC3DF83, 0x16CB27B6, 0xF754E8A5, 0xABDB7EDC, 0x4A44B1CF, 0xC04C49FA, 0x21D386E9, - 0x721CDD91, 0x93831282, 0x198BEAB7, 0xF81425A4, 0xA49BB3DD, 0x45047CCE, 0xCF0C84FB, 0x2E934BE8, - 0x77BB0109, 0x9624CE1A, 0x1C2C362F, 0xFDB3F93C, 0xA13C6F45, 0x40A3A056, 0xCAAB5863, 0x2B349770, - 0x6C9CEE93, 0x8D032180, 0x070BD9B5, 0xE69416A6, 0xBA1B80DF, 0x5B844FCC, 0xD18CB7F9, 0x301378EA, - 0x693B320B, 0x88A4FD18, 0x02AC052D, 0xE333CA3E, 0xBFBC5C47, 0x5E239354, 0xD42B6B61, 0x35B4A472, - 0x667BFF0A, 0x87E43019, 0x0DECC82C, 0xEC73073F, 0xB0FC9146, 0x51635E55, 0xDB6BA660, 0x3AF46973, - 0x63DC2392, 0x8243EC81, 0x084B14B4, 0xE9D4DBA7, 0xB55B4DDE, 0x54C482CD, 0xDECC7AF8, 0x3F53B5EB -}; - -static cc_u32 SNOW2_MUL_ainverse[256]= { - 0x00000000, 0x180F40CD, 0x301E8033, 0x2811C0FE, 0x603CA966, 0x7833E9AB, 0x50222955, 0x482D6998, - 0xC078FBCC, 0xD877BB01, 0xF0667BFF, 0xE8693B32, 0xA04452AA, 0xB84B1267, 0x905AD299, 0x88559254, - 0x29F05F31, 0x31FF1FFC, 0x19EEDF02, 0x01E19FCF, 0x49CCF657, 0x51C3B69A, 0x79D27664, 0x61DD36A9, - 0xE988A4FD, 0xF187E430, 0xD99624CE, 0xC1996403, 0x89B40D9B, 0x91BB4D56, 0xB9AA8DA8, 0xA1A5CD65, - 0x5249BE62, 0x4A46FEAF, 0x62573E51, 0x7A587E9C, 0x32751704, 0x2A7A57C9, 0x026B9737, 0x1A64D7FA, - 0x923145AE, 0x8A3E0563, 0xA22FC59D, 0xBA208550, 0xF20DECC8, 0xEA02AC05, 0xC2136CFB, 0xDA1C2C36, - 0x7BB9E153, 0x63B6A19E, 0x4BA76160, 0x53A821AD, 0x1B854835, 0x038A08F8, 0x2B9BC806, 0x339488CB, - 0xBBC11A9F, 0xA3CE5A52, 0x8BDF9AAC, 0x93D0DA61, 0xDBFDB3F9, 0xC3F2F334, 0xEBE333CA, 0xF3EC7307, - 0xA492D5C4, 0xBC9D9509, 0x948C55F7, 0x8C83153A, 0xC4AE7CA2, 0xDCA13C6F, 0xF4B0FC91, 0xECBFBC5C, - 0x64EA2E08, 0x7CE56EC5, 0x54F4AE3B, 0x4CFBEEF6, 0x04D6876E, 0x1CD9C7A3, 0x34C8075D, 0x2CC74790, - 0x8D628AF5, 0x956DCA38, 0xBD7C0AC6, 0xA5734A0B, 0xED5E2393, 0xF551635E, 0xDD40A3A0, 0xC54FE36D, - 0x4D1A7139, 0x551531F4, 0x7D04F10A, 0x650BB1C7, 0x2D26D85F, 0x35299892, 0x1D38586C, 0x053718A1, - 0xF6DB6BA6, 0xEED42B6B, 0xC6C5EB95, 0xDECAAB58, 0x96E7C2C0, 0x8EE8820D, 0xA6F942F3, 0xBEF6023E, - 0x36A3906A, 0x2EACD0A7, 0x06BD1059, 0x1EB25094, 0x569F390C, 0x4E9079C1, 0x6681B93F, 0x7E8EF9F2, - 0xDF2B3497, 0xC724745A, 0xEF35B4A4, 0xF73AF469, 0xBF179DF1, 0xA718DD3C, 0x8F091DC2, 0x97065D0F, - 0x1F53CF5B, 0x075C8F96, 0x2F4D4F68, 0x37420FA5, 0x7F6F663D, 0x676026F0, 0x4F71E60E, 0x577EA6C3, - 0xE18D0321, 0xF98243EC, 0xD1938312, 0xC99CC3DF, 0x81B1AA47, 0x99BEEA8A, 0xB1AF2A74, 0xA9A06AB9, - 0x21F5F8ED, 0x39FAB820, 0x11EB78DE, 0x09E43813, 0x41C9518B, 0x59C61146, 0x71D7D1B8, 0x69D89175, - 0xC87D5C10, 0xD0721CDD, 0xF863DC23, 0xE06C9CEE, 0xA841F576, 0xB04EB5BB, 0x985F7545, 0x80503588, - 0x0805A7DC, 0x100AE711, 0x381B27EF, 0x20146722, 0x68390EBA, 0x70364E77, 0x58278E89, 0x4028CE44, - 0xB3C4BD43, 0xABCBFD8E, 0x83DA3D70, 0x9BD57DBD, 0xD3F81425, 0xCBF754E8, 0xE3E69416, 0xFBE9D4DB, - 0x73BC468F, 0x6BB30642, 0x43A2C6BC, 0x5BAD8671, 0x1380EFE9, 0x0B8FAF24, 0x239E6FDA, 0x3B912F17, - 0x9A34E272, 0x823BA2BF, 0xAA2A6241, 0xB225228C, 0xFA084B14, 0xE2070BD9, 0xCA16CB27, 0xD2198BEA, - 0x5A4C19BE, 0x42435973, 0x6A52998D, 0x725DD940, 0x3A70B0D8, 0x227FF015, 0x0A6E30EB, 0x12617026, - 0x451FD6E5, 0x5D109628, 0x750156D6, 0x6D0E161B, 0x25237F83, 0x3D2C3F4E, 0x153DFFB0, 0x0D32BF7D, - 0x85672D29, 0x9D686DE4, 0xB579AD1A, 0xAD76EDD7, 0xE55B844F, 0xFD54C482, 0xD545047C, 0xCD4A44B1, - 0x6CEF89D4, 0x74E0C919, 0x5CF109E7, 0x44FE492A, 0x0CD320B2, 0x14DC607F, 0x3CCDA081, 0x24C2E04C, - 0xAC977218, 0xB49832D5, 0x9C89F22B, 0x8486B2E6, 0xCCABDB7E, 0xD4A49BB3, 0xFCB55B4D, 0xE4BA1B80, - 0x17566887, 0x0F59284A, 0x2748E8B4, 0x3F47A879, 0x776AC1E1, 0x6F65812C, 0x477441D2, 0x5F7B011F, - 0xD72E934B, 0xCF21D386, 0xE7301378, 0xFF3F53B5, 0xB7123A2D, 0xAF1D7AE0, 0x870CBA1E, 0x9F03FAD3, - 0x3EA637B6, 0x26A9777B, 0x0EB8B785, 0x16B7F748, 0x5E9A9ED0, 0x4695DE1D, 0x6E841EE3, 0x768B5E2E, - 0xFEDECC7A, 0xE6D18CB7, 0xCEC04C49, 0xD6CF0C84, 0x9EE2651C, 0x86ED25D1, 0xAEFCE52F, 0xB6F3A5E2 -}; - -static cc_u32 SNOW2_T0[256]= { - 0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, 0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, - 0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56, 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec, - 0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, 0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, - 0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, 0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b, - 0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c, 0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, - 0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, 0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a, - 0x0c040408, 0x52c7c795, 0x65232346, 0x5ec3c39d, 0x28181830, 0xa1969637, 0x0f05050a, 0xb59a9a2f, - 0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, - 0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34, 0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b, - 0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d, 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, - 0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, 0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, - 0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972, 0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85, - 0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, - 0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe, 0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b, - 0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05, 0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, - 0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, 0x30101020, 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, - 0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3, 0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e, - 0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, - 0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3, 0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b, - 0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428, 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, - 0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, 0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8, - 0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4, 0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2, - 0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, - 0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, 0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810, - 0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c, 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, - 0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, 0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, - 0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc, 0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c, - 0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, - 0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122, 0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433, - 0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9, 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, - 0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, 0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0, - 0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e, 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c -}; - -static cc_u32 SNOW2_T1[256]= { - 0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d, 0xf2f2ff0d, 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154, - 0x30306050, 0x01010203, 0x6767cea9, 0x2b2b567d, 0xfefee719, 0xd7d7b562, 0xabab4de6, 0x7676ec9a, - 0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87, 0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b, - 0xadad41ec, 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea, 0x9c9c23bf, 0xa4a453f7, 0x7272e496, 0xc0c09b5b, - 0xb7b775c2, 0xfdfde11c, 0x93933dae, 0x26264c6a, 0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f, - 0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908, 0x7171e293, 0xd8d8ab73, 0x31316253, 0x15152a3f, - 0x0404080c, 0xc7c79552, 0x23234665, 0xc3c39d5e, 0x18183028, 0x969637a1, 0x05050a0f, 0x9a9a2fb5, - 0x07070e09, 0x12122436, 0x80801b9b, 0xe2e2df3d, 0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f, - 0x0909121b, 0x83831d9e, 0x2c2c5874, 0x1a1a342e, 0x1b1b362d, 0x6e6edcb2, 0x5a5ab4ee, 0xa0a05bfb, - 0x5252a4f6, 0x3b3b764d, 0xd6d6b761, 0xb3b37dce, 0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397, - 0x5353a6f5, 0xd1d1b968, 0x00000000, 0xededc12c, 0x20204060, 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed, - 0x6a6ad4be, 0xcbcb8d46, 0xbebe67d9, 0x3939724b, 0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, 0xcfcf854a, - 0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16, 0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194, - 0x45458acf, 0xf9f9e910, 0x02020406, 0x7f7ffe81, 0x5050a0f0, 0x3c3c7844, 0x9f9f25ba, 0xa8a84be3, - 0x5151a2f3, 0xa3a35dfe, 0x404080c0, 0x8f8f058a, 0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104, - 0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263, 0x10102030, 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d, - 0xcdcd814c, 0x0c0c1814, 0x13132635, 0xececc32f, 0x5f5fbee1, 0x979735a2, 0x444488cc, 0x17172e39, - 0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47, 0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695, - 0x6060c0a0, 0x81811998, 0x4f4f9ed1, 0xdcdca37f, 0x22224466, 0x2a2a547e, 0x90903bab, 0x88880b83, - 0x46468cca, 0xeeeec729, 0xb8b86bd3, 0x1414283c, 0xdedea779, 0x5e5ebce2, 0x0b0b161d, 0xdbdbad76, - 0xe0e0db3b, 0x32326456, 0x3a3a744e, 0x0a0a141e, 0x494992db, 0x06060c0a, 0x2424486c, 0x5c5cb8e4, - 0xc2c29f5d, 0xd3d3bd6e, 0xacac43ef, 0x6262c4a6, 0x919139a8, 0x959531a4, 0xe4e4d337, 0x7979f28b, - 0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7, 0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0, - 0x6c6cd8b4, 0x5656acfa, 0xf4f4f307, 0xeaeacf25, 0x6565caaf, 0x7a7af48e, 0xaeae47e9, 0x08081018, - 0xbaba6fd5, 0x7878f088, 0x25254a6f, 0x2e2e5c72, 0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751, - 0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21, 0x4b4b96dd, 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85, - 0x7070e090, 0x3e3e7c42, 0xb5b571c4, 0x6666ccaa, 0x484890d8, 0x03030605, 0xf6f6f701, 0x0e0e1c12, - 0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0, 0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9, - 0xe1e1d938, 0xf8f8eb13, 0x98982bb3, 0x11112233, 0x6969d2bb, 0xd9d9a970, 0x8e8e0789, 0x949433a7, - 0x9b9b2db6, 0x1e1e3c22, 0x87871592, 0xe9e9c920, 0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a, - 0x8c8c038f, 0xa1a159f8, 0x89890980, 0x0d0d1a17, 0xbfbf65da, 0xe6e6d731, 0x424284c6, 0x6868d0b8, - 0x414182c3, 0x999929b0, 0x2d2d5a77, 0x0f0f1e11, 0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, 0x16162c3a -}; - -static cc_u32 SNOW2_T2[256]= { - 0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b, 0xf2ff0df2, 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5, - 0x30605030, 0x01020301, 0x67cea967, 0x2b567d2b, 0xfee719fe, 0xd7b562d7, 0xab4de6ab, 0x76ec9a76, - 0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d, 0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0, - 0xad41ecad, 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf, 0x9c23bf9c, 0xa453f7a4, 0x72e49672, 0xc09b5bc0, - 0xb775c2b7, 0xfde11cfd, 0x933dae93, 0x264c6a26, 0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc, - 0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1, 0x71e29371, 0xd8ab73d8, 0x31625331, 0x152a3f15, - 0x04080c04, 0xc79552c7, 0x23466523, 0xc39d5ec3, 0x18302818, 0x9637a196, 0x050a0f05, 0x9a2fb59a, - 0x070e0907, 0x12243612, 0x801b9b80, 0xe2df3de2, 0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75, - 0x09121b09, 0x831d9e83, 0x2c58742c, 0x1a342e1a, 0x1b362d1b, 0x6edcb26e, 0x5ab4ee5a, 0xa05bfba0, - 0x52a4f652, 0x3b764d3b, 0xd6b761d6, 0xb37dceb3, 0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784, - 0x53a6f553, 0xd1b968d1, 0x00000000, 0xedc12ced, 0x20406020, 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b, - 0x6ad4be6a, 0xcb8d46cb, 0xbe67d9be, 0x39724b39, 0x4a94de4a, 0x4c98d44c, 0x58b0e858, 0xcf854acf, - 0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb, 0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485, - 0x458acf45, 0xf9e910f9, 0x02040602, 0x7ffe817f, 0x50a0f050, 0x3c78443c, 0x9f25ba9f, 0xa84be3a8, - 0x51a2f351, 0xa35dfea3, 0x4080c040, 0x8f058a8f, 0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5, - 0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321, 0x10203010, 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2, - 0xcd814ccd, 0x0c18140c, 0x13263513, 0xecc32fec, 0x5fbee15f, 0x9735a297, 0x4488cc44, 0x172e3917, - 0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d, 0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573, - 0x60c0a060, 0x81199881, 0x4f9ed14f, 0xdca37fdc, 0x22446622, 0x2a547e2a, 0x903bab90, 0x880b8388, - 0x468cca46, 0xeec729ee, 0xb86bd3b8, 0x14283c14, 0xdea779de, 0x5ebce25e, 0x0b161d0b, 0xdbad76db, - 0xe0db3be0, 0x32645632, 0x3a744e3a, 0x0a141e0a, 0x4992db49, 0x060c0a06, 0x24486c24, 0x5cb8e45c, - 0xc29f5dc2, 0xd3bd6ed3, 0xac43efac, 0x62c4a662, 0x9139a891, 0x9531a495, 0xe4d337e4, 0x79f28b79, - 0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d, 0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9, - 0x6cd8b46c, 0x56acfa56, 0xf4f307f4, 0xeacf25ea, 0x65caaf65, 0x7af48e7a, 0xae47e9ae, 0x08101808, - 0xba6fd5ba, 0x78f08878, 0x254a6f25, 0x2e5c722e, 0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6, - 0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f, 0x4b96dd4b, 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a, - 0x70e09070, 0x3e7c423e, 0xb571c4b5, 0x66ccaa66, 0x4890d848, 0x03060503, 0xf6f701f6, 0x0e1c120e, - 0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9, 0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e, - 0xe1d938e1, 0xf8eb13f8, 0x982bb398, 0x11223311, 0x69d2bb69, 0xd9a970d9, 0x8e07898e, 0x9433a794, - 0x9b2db69b, 0x1e3c221e, 0x87159287, 0xe9c920e9, 0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf, - 0x8c038f8c, 0xa159f8a1, 0x89098089, 0x0d1a170d, 0xbf65dabf, 0xe6d731e6, 0x4284c642, 0x68d0b868, - 0x4182c341, 0x9929b099, 0x2d5a772d, 0x0f1e110f, 0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, 0x162c3a16 -}; - -static cc_u32 SNOW2_T3[256]= { - 0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b, 0xff0df2f2, 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5, - 0x60503030, 0x02030101, 0xcea96767, 0x567d2b2b, 0xe719fefe, 0xb562d7d7, 0x4de6abab, 0xec9a7676, - 0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d, 0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0, - 0x41ecadad, 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf, 0x23bf9c9c, 0x53f7a4a4, 0xe4967272, 0x9b5bc0c0, - 0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, 0x4c6a2626, 0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc, - 0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1, 0xe2937171, 0xab73d8d8, 0x62533131, 0x2a3f1515, - 0x080c0404, 0x9552c7c7, 0x46652323, 0x9d5ec3c3, 0x30281818, 0x37a19696, 0xa0f0505, 0x2fb59a9a, - 0x0e090707, 0x24361212, 0x1b9b8080, 0xdf3de2e2, 0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575, - 0x121b0909, 0x1d9e8383, 0x58742c2c, 0x342e1a1a, 0x362d1b1b, 0xdcb26e6e, 0xb4ee5a5a, 0x5bfba0a0, - 0xa4f65252, 0x764d3b3b, 0xb761d6d6, 0x7dceb3b3, 0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484, - 0xa6f55353, 0xb968d1d1, 0x00000000, 0xc12ceded, 0x40602020, 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b, - 0xd4be6a6a, 0x8d46cbcb, 0x67d9bebe, 0x724b3939, 0x94de4a4a, 0x98d44c4c, 0xb0e85858, 0x854acfcf, - 0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb, 0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585, - 0x8acf4545, 0xe910f9f9, 0x04060202, 0xfe817f7f, 0xa0f05050, 0x78443c3c, 0x25ba9f9f, 0x4be3a8a8, - 0xa2f35151, 0x5dfea3a3, 0x80c04040, 0x058a8f8f, 0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5, - 0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121, 0x20301010, 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2, - 0x814ccdcd, 0x18140c0c, 0x26351313, 0xc32fecec, 0xbee15f5f, 0x35a29797, 0x88cc4444, 0x2e391717, - 0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d, 0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373, - 0xc0a06060, 0x19988181, 0x9ed14f4f, 0xa37fdcdc, 0x44662222, 0x547e2a2a, 0x3bab9090, 0x0b838888, - 0x8cca4646, 0xc729eeee, 0x6bd3b8b8, 0x283c1414, 0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb, - 0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a, 0x92db4949, 0x0c0a0606, 0x486c2424, 0xb8e45c5c, - 0x9f5dc2c2, 0xbd6ed3d3, 0x43efacac, 0xc4a66262, 0x39a89191, 0x31a49595, 0xd337e4e4, 0xf28b7979, - 0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d, 0x018c8d8d, 0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9, - 0xd8b46c6c, 0xacfa5656, 0xf307f4f4, 0xcf25eaea, 0xcaaf6565, 0xf48e7a7a, 0x47e9aeae, 0x10180808, - 0x6fd5baba, 0xf0887878, 0x4a6f2525, 0x5c722e2e, 0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6, - 0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f, 0x96dd4b4b, 0x61dcbdbd, 0x0d868b8b, 0x0f858a8a, - 0xe0907070, 0x7c423e3e, 0x71c4b5b5, 0xccaa6666, 0x90d84848, 0x06050303, 0xf701f6f6, 0x1c120e0e, - 0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9, 0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e, - 0xd938e1e1, 0xeb13f8f8, 0x2bb39898, 0x22331111, 0xd2bb6969, 0xa970d9d9, 0x07898e8e, 0x33a79494, - 0x2db69b9b, 0x3c221e1e, 0x15928787, 0xc920e9e9, 0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf, - 0x038f8c8c, 0x59f8a1a1, 0x09808989, 0x1a170d0d, 0x65dabfbf, 0xd731e6e6, 0x84c64242, 0xd0b86868, - 0x82c34141, 0x29b09999, 0x5a772d2d, 0x1e110f0f, 0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, 0x2c3a1616 -}; - -//////////////////////////////////////////////////////////////////////////// -// Macros -//////////////////////////////////////////////////////////////////////////// -#define a_MUL(w) (((w) << 8) ^ SNOW2_MUL_a[(w) >> 24]) -#define ainv_MUL(w) (((w) >> 8) ^ SNOW2_MUL_ainverse[w & 0xff]) - -#define BYTE0(w) ( (w) & 0xff) -#define BYTE1(w) (((w) >> 8) & 0xff) -#define BYTE2(w) (((w) >> 16) & 0xff) -#define BYTE3(w) (((w) >> 24) & 0xff) - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_SNOW2_Setup - * @brief Setup FSM and s values - * - * @param ctx [out]crypto context - * @param UserKey [in]User Key, 128 or 256 bit - * @param keyLen [in]byte-size of User Key, 16 or 32 - * @param IV [in]16 byte initial vector - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_Setup(SDRM_SNOW2Context *ctx, cc_u8 *UserKey, cc_u32 keyLen, cc_u8 *IV) -{ - cc_u32 IV0, IV1, IV2, IV3; - cc_u32 *s = ctx->s; - cc_u32 r1, r2, i; - cc_u32 Ft, R1_next; - - //test endian - i = 0xff; - ctx->endian = (*((cc_u8*)&i) == 0xff) ? CRYPTO_LITTLE_ENDIAN : CRYPTO_BIG_ENDIAN; - - //Initialize IV - GET_UINT32(IV3, IV, 0) - GET_UINT32(IV2, IV, 4) - GET_UINT32(IV1, IV, 8) - GET_UINT32(IV0, IV, 12) - - //Load Key - if (keyLen == 16) { - GET_UINT32(s[15], UserKey, 0) - GET_UINT32(s[14], UserKey, 4) - GET_UINT32(s[13], UserKey, 8) - GET_UINT32(s[12], UserKey, 12) - s[11] = ~s[15]; - s[10] = ~s[14]; - s[ 9] = ~s[13]; - s[ 8] = ~s[12]; - s[ 7] = s[15]; - s[ 6] = s[14]; - s[ 5] = s[13]; - s[ 4] = s[12]; - s[ 3] = ~s[15]; - s[ 2] = ~s[14]; - s[ 1] = ~s[13]; - s[ 0] = ~s[12]; - } - else { - GET_UINT32(s[15], UserKey, 0) - GET_UINT32(s[14], UserKey, 4) - GET_UINT32(s[13], UserKey, 8) - GET_UINT32(s[12], UserKey, 12) - GET_UINT32(s[11], UserKey, 16) - GET_UINT32(s[10], UserKey, 20) - GET_UINT32(s[ 9], UserKey, 24) - GET_UINT32(s[ 8], UserKey, 28) - s[ 7] = ~s[15]; - s[ 6] = ~s[14]; - s[ 5] = ~s[13]; - s[ 4] = ~s[12]; - s[ 3] = ~s[11]; - s[ 2] = ~s[10]; - s[ 1] = ~s[ 9]; - s[ 0] = ~s[ 8]; - } - - s[15] ^= IV0; - s[12] ^= IV1; - s[10] ^= IV2; - s[ 9] ^= IV3; - - r1 = 0; - r2 = 0; - - // clock 32 times without producing any output - for (i = 0; i < 16; i++) - { - Ft = (r1 + s[(i - 1) & 0x0f]) ^ r2; - s[i] = a_MUL(s[i]) ^ s[(i + 2) & 0x0f] ^ ainv_MUL(s[(i + 11) & 0x0f]) ^ Ft; - R1_next = r2 + s[(i + 5) & 0x0f]; - r2 = SNOW2_T0[BYTE0(r1)] ^ SNOW2_T1[BYTE1(r1)] ^ SNOW2_T2[BYTE2(r1)] ^ SNOW2_T3[BYTE3(r1)]; - r1 = R1_next; - } - - for (i = 0; i < 16; i++) - { - Ft = (r1 + s[(i - 1) & 0x0f]) ^ r2; - s[i] = a_MUL(s[i]) ^ s[(i + 2) & 0x0f] ^ ainv_MUL(s[(i + 11) & 0x0f]) ^ Ft; - R1_next = r2 + s[(i + 5) & 0x0f]; - r2 = SNOW2_T0[BYTE0(r1)] ^ SNOW2_T1[BYTE1(r1)] ^ SNOW2_T2[BYTE2(r1)] ^ SNOW2_T3[BYTE3(r1)]; - r1 = R1_next; - } - - ctx->r1 = r1; - ctx->r2 = r2; - - ctx->t = 0; - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SNOW2_getKeyStream64 - * @brief get 64 byte key stream - * - * @param ctx [out]crypto context - * @param keyStream64 [in]generated key stream - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream64(SDRM_SNOW2Context *ctx, cc_u32 *keyStream64) -{ - cc_u32 R1_next, i; - cc_u32 *s = ctx->s; - cc_u32 t = ctx->t; - - for (i = t; i < t + 16; i++) - { - s[i & 0x0f] = a_MUL(s[i & 0x0f]) ^ s[(i + 2) & 0x0f] ^ ainv_MUL(s[(i + 11) & 0x0f]); - R1_next = ctx->r2 + s[(i + 5) & 0x0f]; - ctx->r2 = SNOW2_T0[BYTE0(ctx->r1)] ^ SNOW2_T1[BYTE1(ctx->r1)] ^ SNOW2_T2[BYTE2(ctx->r1)] ^ SNOW2_T3[BYTE3(ctx->r1)]; - ctx->r1 = R1_next; - - keyStream64[i] = (ctx->r1 + s[i & 0x0f]) ^ ctx->r2 ^ s[(i + 1) & 0x0f]; - } - - ctx->t = t & 0x0f; - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_SNOW2_getKeyStream - * @brief get 4 byte key stream - * - * @param ctx [out]crypto context - * @param keyStream [in]generated key stream - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream(SDRM_SNOW2Context *ctx, cc_u32 *keyStream) -{ - cc_u32 R1_next; - cc_u32 *s = ctx->s; - cc_u32 t = ctx->t; - - s[t & 0x0f] = a_MUL(s[t & 0x0f]) ^ s[(t + 2) & 0x0f] ^ ainv_MUL(s[(t + 11) & 0x0f]); - R1_next = ctx->r2 + s[(t + 5) & 0x0f]; - ctx->r2 = SNOW2_T0[BYTE0(ctx->r1)] ^ SNOW2_T1[BYTE1(ctx->r1)] ^ SNOW2_T2[BYTE2(ctx->r1)] ^ SNOW2_T3[BYTE3(ctx->r1)]; - ctx->r1 = R1_next; - - *keyStream = (ctx->r1 + s[t & 0x0f]) ^ ctx->r2 ^ s[(t + 1) & 0x0f]; - - ctx->t = (t + 1) & 0x0f; - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/cmac.c b/SPC/Src/middle/cmac.c deleted file mode 100755 index 9f941c2..0000000 --- a/SPC/Src/middle/cmac.c +++ /dev/null @@ -1,260 +0,0 @@ -/** - * \file cmac.c - * @brief funciton for c-mac code generation by AES-128 - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/20 - */ - - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "cmac.h" - - -//////////////////////////////////////////////////////////////////////////// -// Constants -//////////////////////////////////////////////////////////////////////////// -/*! @brief max block columns */ -#define CMAC_MAXBC (256/32) - -/*! @brief max key columns */ -#define CMAC_MAXKC (256/32) - -/*! @brief max rounds */ -#define CMAC_MAXROUNDS 14 - -/*! @brief constant - defined in OMAC1a(One-Key CBC MAC1, submitted by Iwata and Kurosawa) */ -static cc_u8 R_b[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87}; - - -/* - * @fn int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen) - * - * @brief Parameter setting for mac code generation - * @param crt [out]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen) -{ - cc_u8 *K1, *K2, temp[16] = {0}; - cc_u8 ZERO[16] = {0}; - int i; - cc_u32 *RoundKey; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (Key == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (KeyLen != 16) - { - return CRYPTO_INVALID_ARGUMENT; - } - - memset(crt->ctx->cmacctx->IV, 0, SDRM_AES_BLOCK_SIZ); - - crt->ctx->cmacctx->BlockLen = 0; - - RoundKey = (cc_u32*)(void*)(crt->ctx->cmacctx->RoundKey); - K1 = crt->ctx->cmacctx->K1; - K2 = crt->ctx->cmacctx->K2; - - SDRM_rijndaelKeySetupEnc(RoundKey, Key, 128); - - SDRM_rijndaelEncrypt(RoundKey, 10, ZERO, temp); - - if((temp[0] >> 7) == 0x00) // L << 1 - { - for (i = 0; i < 15; i++) - { - K1[i] = (temp[i] << 1) | (temp[i+1] >> 7); - } - K1[15] = temp[i] << 1; - } - else if ((temp[0] >> 7) == 0x01) - { - for (i = 0; i < 15; i++) - { - K1[i] = (temp[i] << 1) | (temp[i+1] >> 7); - } - K1[15] = temp[i] << 1; - BlockXor(K1, K1, R_b); - } - - if((K1[0] >> 7) == 0x00) // K1 << 1 - { - for (i = 0; i < 15; i++) - { - K2[i] = (K1[i] << 1) | (K1[i+1] >> 7); - } - K2[15] = K1[i] << 1; - } - else if ((K1[0] >> 7) == 0x01) - { - for (i = 0; i < 15; i++) - { - K2[i] = (K1[i] << 1) | (K1[i+1] >> 7); - } - K2[15] = K1[i] << 1; - BlockXor(K2, K2, R_b); - } - -// LOG4DRM_BUFFER(&CryptoLogCTX), LOG_DEBUG, "K1", K1, 16); -// LOG4DRM_BUFFER(&CryptoLogCTX), LOG_DEBUG, "K2", K2, 16); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen) - * @brief process data blocks - * - * @param crt [out]crypto parameter - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen) -{ - int Loop; - cc_u8 *ptr; - - if (msgLen == 0) - { - return CRYPTO_SUCCESS; - } - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (msg == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (msgLen + crt->ctx->cmacctx->BlockLen <= SDRM_AES_BLOCK_SIZ) - { - memcpy(crt->ctx->cmacctx->Block + crt->ctx->cmacctx->BlockLen, msg, msgLen); - crt->ctx->cmacctx->BlockLen += msgLen; - return CRYPTO_SUCCESS; - } - - memcpy(crt->ctx->cmacctx->Block + crt->ctx->cmacctx->BlockLen, msg, SDRM_AES_BLOCK_SIZ - crt->ctx->cmacctx->BlockLen); - SDRM_CBC_Enc(ID_AES128, crt->ctx->cmacctx->IV, crt->ctx->cmacctx->Block, crt->ctx->cmacctx->RoundKey, crt->ctx->cmacctx->IV); - - Loop = (msgLen + crt->ctx->cmacctx->BlockLen - 1) / SDRM_AES_BLOCK_SIZ - 1; - ptr = msg + SDRM_AES_BLOCK_SIZ - crt->ctx->cmacctx->BlockLen; - crt->ctx->cmacctx->BlockLen = (cc_u32)(msg + msgLen - ptr) - Loop * SDRM_AES_BLOCK_SIZ; - - while (Loop > 0) - { - SDRM_CBC_Enc(ID_AES128, crt->ctx->cmacctx->IV, ptr, crt->ctx->cmacctx->RoundKey, crt->ctx->cmacctx->IV); - Loop--; - ptr += SDRM_AES_BLOCK_SIZ; - } - -// LOG4DRM_BUFFER(&CryptoLogCTX), LOG_DEBUG, "Block", crt->ctx->cmacctx->IV, 16); - - memcpy(crt->ctx->cmacctx->Block, ptr, crt->ctx->cmacctx->BlockLen); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen) - * @brief process last data block - * - * @param crt [in]crypto parameter - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen) -{ - cc_u8 *K1, *K2; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - K1 = crt->ctx->cmacctx->K1; - K2 = crt->ctx->cmacctx->K2; - - if (crt->ctx->cmacctx->BlockLen == SDRM_AES_BLOCK_SIZ) - { - BlockXor(crt->ctx->cmacctx->Block, crt->ctx->cmacctx->Block, K1); - } - else - { - crt->ctx->cmacctx->IV[crt->ctx->cmacctx->BlockLen] ^= 0x80; - BlockXor(crt->ctx->cmacctx->IV, crt->ctx->cmacctx->IV, K2); // input = input XOR K2 - memset(crt->ctx->cmacctx->Block + crt->ctx->cmacctx->BlockLen, 0, SDRM_AES_BLOCK_SIZ - crt->ctx->cmacctx->BlockLen); - } - - SDRM_CBC_Enc(ID_AES128, output, crt->ctx->cmacctx->Block, crt->ctx->cmacctx->RoundKey, crt->ctx->cmacctx->IV); - - if (outputLen != NULL) - { - *outputLen = 16; - } - - return CRYPTO_SUCCESS; -} - - -/* - * @fn int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen) - * @brief generate c-mac code - * - * @param crt [in]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen) -{ - int result; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (Key == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - result = SDRM_CMAC_init(crt, Key, KeyLen); - if (result != CRYPTO_SUCCESS) - { - return result; - } - - result = SDRM_CMAC_update(crt, msg, msgLen); - if (result != CRYPTO_SUCCESS) - { - return result; - } - - return SDRM_CMAC_final(crt, output, outputLen); -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/dh.c b/SPC/Src/middle/dh.c deleted file mode 100755 index 4317fbe..0000000 --- a/SPC/Src/middle/dh.c +++ /dev/null @@ -1,332 +0,0 @@ -/** - * \file ecdh.c - * @brief implementation of EC Diffie-Hellman Key Exchange Protocol - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/27 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "ANSI_x931.h" -#include "bignum.h" -#include "fast_math.h" -#include "dh.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/** - * @fn SDRM_GenerateDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int* pGenerator) - * @brief generate parameters for Diffie-Hellman protocol - * - * @param [out] crt context - * @param [out] pPrime prime number - * @param [in] nPrimeLen size of pPrime buffer - * @param [out] pGenerator generator value - * - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_GenerateDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator) -{ - SDRM_DHContext* ctx; - cc_u32 Seed[4]; - int i, sp, t1; - SDRM_BIG_NUM *p = NULL; - SDRM_BIG_NUM *g = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPrime == NULL) || (pGenerator == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->dhctx; - - p = SDRM_BN_Init(nPrimeLen / 2 + 1); - if (p == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - g = SDRM_BN_Init(nPrimeLen / 2 + 1); - if (g == NULL) - { - free(p); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - for (i = 0; i < 4; i++) - { - Seed[i] = (rand() << 16) ^ rand(); - } - - t1 = (nPrimeLen * 8 - 1) % 32; - - //set security parameter for miller-rabin probabilistic primality test - if (nPrimeLen >= 128) - { - sp = 3; - } - else if (nPrimeLen >= 64) - { - sp = 5; - } - else if (nPrimeLen >= 15) - { - sp = 15; - } - else - { - sp = 30; - } - - //generate p - p->Length = (nPrimeLen + 3) / 4; - do { - SDRM_RNG_X931((cc_u8 *)Seed, nPrimeLen * 8, (cc_u8*)p->pData); - p->pData[0] |= 1L; - p->pData[p->Length - 1] &= ~((-1L) << t1); - p->pData[p->Length - 1] |= (1L << t1); - } while(SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME); - - SDRM_I2OSP(p, nPrimeLen, pPrime); - - memset(pGenerator, 0x00, nPrimeLen - 1); - pGenerator[nPrimeLen - 1] = DH_DEFAULT_GENERATOR; - - SDRM_OS2BN(pGenerator, nPrimeLen, g); - - if (ctx->p != NULL) - { - free(ctx->p); - } - ctx->p = p; - - if (ctx->g != NULL) - { - free(ctx->g); - } - ctx->g = g; - - ctx->PrimeLen = nPrimeLen; - - return CRYPTO_SUCCESS; -} - -/** - * @fn SDRM_SetDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int pGenerator) - * @brief set parameters for Diffie-Hellman protocol - * - * @param [out] crt context - * @param [in] pPrime prime number - * @param [in] nPrimeLen size of pPrime buffer - * @param [in] pGenerator generator value - * - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_SetDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator, unsigned int nGeneratorLen) -{ - SDRM_DHContext* ctx; - SDRM_BIG_NUM* p = NULL; - SDRM_BIG_NUM* g = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPrime == NULL) || (pGenerator == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->dhctx; - - p = SDRM_BN_Init(nPrimeLen / 2 + 1); - if (p == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - g = SDRM_BN_Init(nPrimeLen / 2 + 1); - if (g == NULL) - { - free(p); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_OS2BN(pPrime, nPrimeLen, p); - SDRM_OS2BN(pGenerator, nGeneratorLen, g); - - ctx->PrimeLen = nPrimeLen; - ctx->p = p; - ctx->g = g; - - return CRYPTO_SUCCESS; -} - -/** - * @fn SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPub) - * @brief generate private value and calculate public value - * - * @param [in] crt context - * @param [out] pPriv private value - * @param [out] pPub public value - * - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub) -{ - SDRM_DHContext* ctx; - cc_u32 Seed[4] = {0,}; - int retVal; - SDRM_BIG_NUM* priv = NULL; - SDRM_BIG_NUM* pub = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPriv == NULL) || (pPub == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->dhctx; - - priv = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (priv == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - pub = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (pub == NULL) - { - free(priv); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - //generate priv - priv->Length = (ctx->PrimeLen + 3) / 4; - SDRM_RNG_X931((cc_u8 *)Seed, ctx->PrimeLen * 8, (cc_u8*)priv->pData); - SDRM_BN_ModRed(priv, priv, ctx->p); - -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(pub, ctx->g, priv, ctx->p); -#else - retVal = SDRM_BN_ModExp(pub, ctx->g, priv, ctx->p); -#endif //_OP64_NOTSUPPORTED - - if (retVal != CRYPTO_SUCCESS) - { - free(priv); - free(pub); - - return retVal; - } - - SDRM_I2OSP(priv, ctx->PrimeLen, pPriv); - SDRM_I2OSP(pub, ctx->PrimeLen, pPub); - - free(priv); - free(pub); - - return CRYPTO_SUCCESS; -} - -/** - * @fn SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub, unsigned char* pSharedSecret) - * @brief calculate shared secret - * - * @param [in] crt context - * @param [in] Priv private value - * @param [in] pPub guest's public value - * @param [out] pSharedSecret public value - * - * @return int - */ -CRYPTOCORE_INTERNAL int SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub, unsigned char* pSharedSecret) -{ - SDRM_DHContext* ctx; - SDRM_BIG_NUM* priv = NULL; - SDRM_BIG_NUM* pub = NULL; - SDRM_BIG_NUM* SharedSecret = NULL; - int retVal; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPriv == NULL) || (pPub == NULL) || (pSharedSecret == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->dhctx; - - priv = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (priv == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - pub = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (pub == NULL) - { - free(priv); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SharedSecret = SDRM_BN_Init(ctx->PrimeLen / 2 + 1); - if (SharedSecret == NULL) - { - free(priv); - free(pub); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_OS2BN(pPriv, ctx->PrimeLen, priv); - SDRM_OS2BN(pPub, ctx->PrimeLen, pub); - -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(SharedSecret, pub, priv, ctx->p); -#else - retVal = SDRM_BN_ModExp(SharedSecret, pub, priv, ctx->p); -#endif //_OP64_NOTSUPPORTED - - if (retVal != CRYPTO_SUCCESS) - { - free(priv); - free(pub); - free(SharedSecret); - - return retVal; - } - - SDRM_I2OSP(SharedSecret, ctx->PrimeLen, pSharedSecret); - - free(priv); - free(pub); - free(SharedSecret); - - return CRYPTO_SUCCESS; -} - -/** - * @fn SDRM_FreeDHContext(CryptoCoreContainer* crt) - * @brief free context buffer - * - * @param [in] crt context - */ -CRYPTOCORE_INTERNAL void SDRM_FreeDHContext(SDRM_DHContext* ctx) -{ - if (ctx != NULL) - { - if (ctx->p != NULL) - { - free(ctx->p); - } - - if (ctx->g != NULL) - { - free(ctx->g); - } - - memset(ctx, 0x00, sizeof(SDRM_DHContext)); - } -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/dsa.c b/SPC/Src/middle/dsa.c deleted file mode 100755 index d489c3f..0000000 --- a/SPC/Src/middle/dsa.c +++ /dev/null @@ -1,602 +0,0 @@ -/** - * \file dsa.c - * @brief implementation of dsa signature/verifycation - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/23 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "dsa.h" -#include "bignum.h" -#include "sha1.h" -#include "ANSI_x931.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_Add_DW2BA - * @brief Add a UINT32 value to a Byte Array - * function works correctly only when dLen >= 4 - * - * @param BA [i/o]byte array - * @param dLen [in]byte-length of BA - * @param val [in]value to add - * - * @return void - */ -CRYPTOCORE_INTERNAL void SDRM_Add_DW2BA(cc_u8* BA, cc_u32 dLen, cc_u32 val) -{ - cc_u32 i, DIGIT = 0; - - if (dLen >= 4) - { - DIGIT = BA[dLen - 4] ^ (BA[dLen - 3] << 8) ^ (BA[dLen - 2] << 16) ^ (BA[dLen - 1] << 24); - DIGIT += val; - BA[dLen - 4] = (cc_u8)(DIGIT ) & 0xff; - BA[dLen - 3] = (cc_u8)(DIGIT >> 8 ) & 0xff; - BA[dLen - 2] = (cc_u8)(DIGIT >> 16) & 0xff; - BA[dLen - 1] = (cc_u8)(DIGIT >> 24) & 0xff; - - if (DIGIT < val) - { - for (i = dLen - 5; i != (cc_u32)-1; i--) - { - if (++BA[i] != 0) - { - return; - } - } - } - } - - return; -} - -/* - * @fn SDRM_DSA_InitCrt - * @brief generate DSA Context - * - * @return pointer to the generated context - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_DSAContext *SDRM_DSA_InitCrt() -{ - SDRM_DSAContext *ctx; - cc_u8 *pbBuf = (cc_u8*)malloc(sizeof(SDRM_DSAContext) + SDRM_DSA_ALLOC_SIZE * 5); - - if (pbBuf == NULL) - { - return NULL; - } - - ctx = (SDRM_DSAContext*)(void*)pbBuf; - ctx->p = SDRM_BN_Alloc((cc_u8*)ctx + sizeof(SDRM_DSAContext), SDRM_DSA_BN_BUFSIZE); - ctx->q = SDRM_BN_Alloc((cc_u8*)ctx->p + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - ctx->al = SDRM_BN_Alloc((cc_u8*)ctx->q + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - ctx->y = SDRM_BN_Alloc((cc_u8*)ctx->al + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - ctx->a = SDRM_BN_Alloc((cc_u8*)ctx->y + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - - return ctx; -} - -/* - * @fn int SDRM_DSA_SetParam(CryptoCoreContainer *crt, - cc_u8 *DSA_P_Data, cc_u32 DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 DSA_G_Len) - * @brief set DSA parameters - * - * @param crt [out]dsa context - * @param DSA_P_Data [in]octet string of p value - * @param DSA_P_Len [in]legnth of p_val - * @param DSA_Q_Data [in]octet string of q value - * @param DSA_Q_Len [in]legnth of q_val - * @param DSA_G_Data [in]octet string of al value - * @param DSA_G_Len [in]legnth of al_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_SetParam(CryptoCoreContainer *crt, - cc_u8 *DSA_P_Data, cc_u32 DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 DSA_G_Len) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL) || (DSA_P_Data == NULL) || (DSA_Q_Data == NULL) || (DSA_G_Data == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_OS2BN(DSA_P_Data, DSA_P_Len, crt->ctx->dsactx->p); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->p); - - SDRM_OS2BN(DSA_Q_Data, DSA_Q_Len, crt->ctx->dsactx->q); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->q); - - SDRM_OS2BN(DSA_G_Data, DSA_G_Len, crt->ctx->dsactx->al); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->al); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn int SDRM_DSA_SetKeyPair(CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len) - * @brief set DSA parameters - * - * @param crt [out]dsa context - * @param DSA_Y_Data [in]octet string of y value - * @param DSA_Y_Len [in]legnth of y_val - * @param DSA_X_Data [in]octet string of a value - * @param DSA_X_Len [in]legnth of a_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_SetKeyPair(CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (DSA_Y_Data != NULL) - { - SDRM_OS2BN(DSA_Y_Data, DSA_Y_Len, crt->ctx->dsactx->y); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->y); - } - - if (DSA_X_Data != NULL) - { - SDRM_OS2BN(DSA_X_Data, DSA_X_Len, crt->ctx->dsactx->a); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->a); - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_DSA_GenParam(CryptoCoreContainer *crt, cc_u32 T_Siz, - cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len) - * @brief generate and set DSA parameters - * - * @param crt [out]dsa context - * @param T_Siz [in]fix the length of p to 512 + 64t bit (0 <= T_Siz <= 8) - * @param DSA_P_Data [out]octet string of p value - * @param DSA_P_Len [out]legnth of p_val - * @param DSA_Q_Data [out]octet string of q value - * @param DSA_Q_Len [out]legnth of q_val - * @param DSA_G_Data [out]octet string of al value - * @param DSA_G_Len [out]legnth of al_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_GenParam(CryptoCoreContainer *crt, cc_u32 T_Siz, - cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, - cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, - cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len) -{ - cc_u32 i, k, L, n/*, g*/; - cc_u8 pbTemp[260], pbSeed[64]; - SDRM_SHA1Context ctx; - SDRM_BIG_NUM /**BN_A, */*BN_G, *BN_P, *BN_Q, *BN_AL, *BN_Temp; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (T_Siz > 8) - { - return CRYPTO_INVALID_ARGUMENT; - } - - L = 512 + 64 * T_Siz; - n = (L - 1) / 160; -// g = (L - 1) % 160; - - - pbBuf = (cc_u8*)malloc(SDRM_DSA_ALLOC_SIZE * 2); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_G = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_DSA_BN_BUFSIZE); - BN_Temp = SDRM_BN_Alloc((cc_u8*)BN_G + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - - BN_P = crt->ctx->dsactx->p; - BN_Q = crt->ctx->dsactx->q; - BN_AL = crt->ctx->dsactx->al; -// BN_A = crt->ctx->dsactx->a; - - //generate p and q - while(1) - { - do - { - //choose a random seed s of bitlength g >= 160 - for (i = 0; i < SDRM_SHA1_BLOCK_SIZ; i++) - { - pbSeed[i] = (rand() << 16) ^ rand(); - } - pbSeed[0] |= 0x80; - pbSeed[SDRM_SHA1_BLOCK_SIZ - 1] |= 0x01; - - //U = H(s) xor H((s + 1) mod g) - SDRM_SHA1_Init(&ctx); - SDRM_SHA1_Update(&ctx, pbSeed, SDRM_SHA1_BLOCK_SIZ); - SDRM_SHA1_Final(&ctx, pbTemp); - - SDRM_INC_BA(pbSeed, SDRM_SHA1_BLOCK_SIZ); - - SDRM_SHA1_Init(&ctx); - SDRM_SHA1_Update(&ctx, pbSeed, SDRM_SHA1_BLOCK_SIZ); - SDRM_SHA1_Final(&ctx, pbTemp + SDRM_SHA1_BLOCK_SIZ); - - for (i = 0; i < SDRM_SHA1_BLOCK_SIZ / sizeof(cc_u32); i++) - { - ((cc_u32*)(void*)pbTemp)[i] ^= ((cc_u32*)(void*)pbTemp)[i + SDRM_SHA1_BLOCK_SIZ / sizeof(cc_u32)]; - } - - pbTemp[0] |= 0x80; - pbTemp[SDRM_SHA1_BLOCK_SIZ - 1] |= 0x01; - - SDRM_OS2BN(pbTemp, SDRM_SHA1_BLOCK_SIZ, BN_Q); - } while(SDRM_BN_MILLER_RABIN(BN_Q, 18) != CRYPTO_SUCCESS); - - SDRM_INC_BA(pbSeed, SDRM_SHA1_BLOCK_SIZ); - - for (i = 0; i < 4096; i++) - { - for (k = 0; k <= n; k++) - { - SDRM_SHA1_Init(&ctx); - SDRM_SHA1_Update(&ctx, pbSeed, SDRM_SHA1_BLOCK_SIZ); - SDRM_SHA1_Final(&ctx, pbTemp + (n - k) * SDRM_SHA1_BLOCK_SIZ); - SDRM_Add_DW2BA(pbSeed, SDRM_SHA1_BLOCK_SIZ, n + 2); - } - - pbTemp[(n + 1) * SDRM_SHA1_BLOCK_SIZ - L / 8] |= 0x80; - SDRM_OS2BN(pbTemp + (n + 1) * SDRM_SHA1_BLOCK_SIZ - L / 8, L / 8, BN_P); - - SDRM_BN_SHL(BN_Q, BN_Q, 1); - SDRM_BN_ModRed(BN_Temp, BN_P, BN_Q); - SDRM_BN_SHR(BN_Q, BN_Q, 1); - SDRM_BN_Sub(BN_P, BN_P, BN_Temp); - SDRM_BN_Add(BN_P, BN_P, BN_One); - - if (SDRM_CheckBitUINT32(BN_P->pData, L - 1)) - { - if (SDRM_BN_MILLER_RABIN(BN_P, 5) == CRYPTO_ISPRIME) - { - goto SUCCESS; - } - else - { - break; - } - } - } - } - -SUCCESS : - //select a generator al(alpha) of the unique cyclic group of order q in Zp - SDRM_BN_Clr(BN_Temp); - //temp = (p-1)/q - SDRM_BN_Sub(BN_Temp, BN_P, BN_One); - SDRM_BN_Div(BN_Temp, NULL, BN_Temp, BN_Q); - - do { - //select an element g excluded in Zp* - do { - SDRM_RNG_X931(pbSeed, L, (cc_u8*)BN_G->pData); - BN_G->Length = L / 32 + 1; - SDRM_BN_OPTIMIZE_LENGTH(BN_G); - } while(SDRM_BN_Cmp(BN_G, BN_P) >= 0); - - //al(alpha) = g^temp mod p - SDRM_BN_ModExp(BN_AL, BN_G, BN_Temp, BN_P); - } while (SDRM_BN_Cmp(BN_AL, BN_One) == 0); - - //write output - if (DSA_P_Data != NULL) - { - SDRM_I2OSP(BN_P, L / 8, DSA_P_Data); - } - - if (DSA_P_Len != NULL) - { - *DSA_P_Len = L / 8; - } - - if (DSA_Q_Data != NULL) - { - SDRM_I2OSP(BN_Q, 20, DSA_Q_Data); - } - - if (DSA_Q_Len != NULL) - { - *DSA_Q_Len = 20; - } - - if (DSA_G_Data != NULL) - { - SDRM_I2OSP(BN_AL, BN_AL->Length * 4, DSA_G_Data); - } - - if (DSA_G_Len != NULL) - { - *DSA_G_Len = BN_AL->Length * 4; - } - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_DSA_GenKeypair(CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len) - * @brief generate and set DSA parameters - * - * @param crt [out]dsa context - * @param DSA_Y_Data [out]octet string of y value - * @param DSA_Y_Len [out]legnth of y_val - * @param DSA_X_Data [out]octet string of a value - * @param DSA_X_Len [out]legnth of a_val - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if input parameter pointer is null - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_ERROR if conversion is failed - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_GenKeypair(CryptoCoreContainer *crt, - cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, - cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len) -{ - SDRM_BIG_NUM *BN_A; - cc_u32 Seed[4], i; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - BN_A = crt->ctx->dsactx->a; - - for (i = 0; i < 4; i++) - { - Seed[i] = (rand() << 16) ^ rand(); - } - - //Select a random integer a such that 1 <= a <= q-1 - do { - SDRM_RNG_X931((cc_u8*)Seed, 160, (cc_u8*)BN_A->pData); - BN_A->Length = 6; //6 = 160 / 32 + 1 - SDRM_BN_OPTIMIZE_LENGTH(BN_A); - } while(SDRM_BN_Cmp(BN_A, crt->ctx->dsactx->q) >= 0); - - //y = al ^ a mod p - SDRM_BN_ModExp(crt->ctx->dsactx->y, crt->ctx->dsactx->al, BN_A, crt->ctx->dsactx->p); - - - //write output - if (DSA_Y_Data != NULL) - { - SDRM_I2OSP(crt->ctx->dsactx->y, crt->ctx->dsactx->y->Length * 4, DSA_Y_Data); - } - - if (DSA_Y_Len != NULL) - { - *DSA_Y_Len = crt->ctx->dsactx->y->Length * 4; - } - - if (DSA_X_Data != NULL) - { - SDRM_I2OSP(BN_A, BN_A->Length * 4, DSA_X_Data); - } - - if (DSA_X_Len != NULL) - { - *DSA_X_Len = BN_A->Length * 4; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_DSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [out]generated signature - * @param signLen [out]byte-length of signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) -{ - cc_u8 pbSeed[16] = {0}; - SDRM_BIG_NUM *BN_P, *BN_Q, *BN_AL, *BN_A; - SDRM_BIG_NUM *BN_r, *BN_s, *BN_k, *BN_hash, *BN_ar, *temp1, *temp2; - - cc_u8* pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL) || (crt->ctx->dsactx->a == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - pbBuf = (cc_u8*)malloc(SDRM_DSA_ALLOC_SIZE * 7); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_r = SDRM_BN_Alloc( pbBuf, SDRM_DSA_BN_BUFSIZE); - BN_s = SDRM_BN_Alloc((cc_u8*)BN_r + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - BN_k = SDRM_BN_Alloc((cc_u8*)BN_s + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - BN_hash = SDRM_BN_Alloc((cc_u8*)BN_k + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - BN_ar = SDRM_BN_Alloc((cc_u8*)BN_hash + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - temp1 = SDRM_BN_Alloc((cc_u8*)BN_ar + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - - BN_P = crt->ctx->dsactx->p; - BN_Q = crt->ctx->dsactx->q; - BN_AL = crt->ctx->dsactx->al; - BN_A = crt->ctx->dsactx->a; - - //select a random secret integer k, 0 < k < q - do { - SDRM_RNG_X931(pbSeed, 160, (cc_u8*)BN_k->pData); - BN_k->Length = 6; //6 = 160 / 32 + 1 - SDRM_BN_OPTIMIZE_LENGTH(BN_k); - } while(SDRM_BN_Cmp(BN_k, BN_Q) > 0); - - SDRM_BN_ModExp(temp1, BN_AL, BN_k, BN_P); - //r = (al ^ k mod p) mod q - SDRM_BN_ModRed(BN_r, temp1, BN_Q); - - SDRM_BN_ModInv(temp1, BN_k, BN_Q); - - SDRM_OS2BN((cc_u8*)hash, hashLen, BN_hash); - - SDRM_BN_Mul(BN_ar, BN_A, BN_r); - SDRM_BN_Add(temp2, BN_hash, BN_ar); - - SDRM_BN_ModRed(temp2, temp2, BN_Q); - - SDRM_BN_ModMul(BN_s, temp1, temp2, BN_Q); - - SDRM_I2OSP(BN_r, 20, signature); - SDRM_I2OSP(BN_s, 20, signature + 20); - - if (signLen != NULL) - { - *signLen = 40; - } - - free(pbBuf); - - return CRYPTO_SUCCESS; - } - -/* - * @fn int SDRM_DSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [in]signature - * @param signLen [in]byte-length of signature - * @param result [in]result of veryfing signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if the length of signature is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result) -{ - SDRM_BIG_NUM *w, *u1, *u2, *v, *BNH_m, *BN_r, *BN_s; - SDRM_BIG_NUM *temp1, *temp2, *temp3; - - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL) || (crt->ctx->dsactx->y == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - pbBuf = (cc_u8*)malloc(SDRM_DSA_ALLOC_SIZE * 10); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - w = SDRM_BN_Alloc( pbBuf, SDRM_DSA_BN_BUFSIZE); - u1 = SDRM_BN_Alloc((cc_u8*)w + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - u2 = SDRM_BN_Alloc((cc_u8*)u1 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - v = SDRM_BN_Alloc((cc_u8*)u2 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - BNH_m = SDRM_BN_Alloc((cc_u8*)v + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - BN_r = SDRM_BN_Alloc((cc_u8*)BNH_m + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - BN_s = SDRM_BN_Alloc((cc_u8*)BN_r + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - temp1 = SDRM_BN_Alloc((cc_u8*)BN_s + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - temp3 = SDRM_BN_Alloc((cc_u8*)temp2 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE); - - - if ((SDRM_BN_Cmp(BN_r, crt->ctx->dsactx->q) >= 0) || (SDRM_BN_Cmp(BN_s, crt->ctx->dsactx->q) >= 0)) //r < q and s < q - { - free(pbBuf); - return CRYPTO_ERROR; - } - - if (signLen != 40) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - - SDRM_OS2BN((cc_u8*)signature, 20, BN_r); - SDRM_OS2BN((cc_u8*)signature + 20, 20, BN_s); - - - SDRM_BN_ModInv(w, BN_s, crt->ctx->dsactx->q); //w = s^-1 mod q - SDRM_OS2BN((cc_u8*)hash, 20, BNH_m); - - SDRM_BN_ModMul(u1, w, BNH_m, crt->ctx->dsactx->q); //u1 = w x h(m) mod q - SDRM_BN_ModMul(u2, BN_r, w, crt->ctx->dsactx->q); //u2 = rw mod q - - SDRM_BN_ModExp(temp1, crt->ctx->dsactx->al, u1, crt->ctx->dsactx->p); //temp1 = alpha^u1 mod p - SDRM_BN_ModExp(temp2, crt->ctx->dsactx->y, u2, crt->ctx->dsactx->p); //temp2 = y^u2 mod p - - SDRM_BN_ModMul(temp3, temp1, temp2, crt->ctx->dsactx->p); //temp3 = (alpha^u1 x y^u2 mod p) mod p - - SDRM_BN_ModRed(v, temp3, crt->ctx->dsactx->q); //v = (alpha^u1 x y^u2 mod p) mod q - -// SDRM_PrintBN("v : ", v); -// SDRM_PrintBN("Hash : ", BNH_m); - - if (SDRM_BN_Cmp(v, BN_r) == 0) - { - *result = CRYPTO_VALID_SIGN; - } else - { - *result = CRYPTO_INVALID_SIGN; - } - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/ecdh.c b/SPC/Src/middle/ecdh.c deleted file mode 100755 index 0d9f410..0000000 --- a/SPC/Src/middle/ecdh.c +++ /dev/null @@ -1,204 +0,0 @@ -/** - * \file ecdh.c - * @brief implementation of EC Diffie-Hellman Key Exchange Protocol - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/27 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "ecdh.h" -#include "ANSI_x931.h" -#include "ecc.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_generateDH1stPhaseKey - * @brief generate Xk and its Xv - * - * @param crt [in]crypto context - * @param pchXk [out]Generated Random Number - * @param pchXv [out]DH 1st phase value - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_generateDH1stPhaseKey(CryptoCoreContainer *crt, cc_u8 *pchXk, cc_u8 *pchXv) -{ - cc_u8 Si_ANSI_X9_31[SDRM_X931_SEED_SIZ]; - - SDRM_BIG_NUM *BN_Xk, *BN_Temp; - SDRM_EC_POINT *kP; - SDRM_ECC_CTX *ctx; - - int i; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdhctx == NULL) || (pchXk == NULL) || (pchXv == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->ecdhctx; - - for (i = 0; i < SDRM_X931_SEED_SIZ; i++) - { - Si_ANSI_X9_31[i] = ((rand() << 16) + rand()) & 0xff; - } - - - BN_Temp = SDRM_BN_Init(crt->ctx->ecdsactx->uDimension >> 3); - if (BN_Temp == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_Xk = SDRM_BN_Init(crt->ctx->ecdsactx->uDimension >> 3); - if (BN_Xk == NULL) - { - free(BN_Temp); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_BN_Sub(BN_Temp, ctx->ECC_n, BN_One); - do { - SDRM_RNG_X931(Si_ANSI_X9_31, crt->ctx->ecdsactx->uDimension, pchXk); - SDRM_OS2BN(pchXk, crt->ctx->ecdsactx->uDimension >> 3, BN_Xk); - } while ((SDRM_BN_Cmp(BN_Xk, BN_One) < 0) || (SDRM_BN_Cmp(BN_Xk, BN_Temp) > 0)); - - kP = SDRM_ECC_Init(); - if (kP == NULL) - { - free(BN_Temp); - free(BN_Xk); - - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if (SDRM_CTX_EC_kP(ctx, kP, ctx->ECC_G, BN_Xk) == CRYPTO_MEMORY_ALLOC_FAIL) - { - free(BN_Temp); - free(BN_Xk); - free(kP); - - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_BN2OS(kP->x, crt->ctx->ecdsactx->uDimension >> 3, pchXv); - SDRM_BN2OS(kP->y, crt->ctx->ecdsactx->uDimension >> 3, pchXv + (crt->ctx->ecdsactx->uDimension >> 3)); - - free(BN_Temp); - free(BN_Xk); - free(kP); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_generateDHKey - * @brief genenrate auth key with Xk and Yv - * - * @param crt [in]crypto context - * @param pchXk [in]Generated Random Number - * @param pchYv [in]DH 1st phase value - * @param pchKauth [out]authentication key - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_generateDHKey(CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth) -{ - SDRM_BIG_NUM *BN_Xk; - SDRM_EC_POINT *kP, *EC_Yv; - SDRM_ECC_CTX *ctx; - int retVal; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdhctx == NULL) || (pchXk == NULL) || (pchYv == NULL) || (pchKauth == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->ecdhctx; - - BN_Xk = SDRM_BN_Init(crt->ctx->ecdsactx->uDimension >> 3); - if (BN_Xk == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - retVal = SDRM_OS2BN(pchXk, crt->ctx->ecdsactx->uDimension >> 3, BN_Xk); - if (retVal != CRYPTO_SUCCESS) - { - free(BN_Xk); - return retVal; - } - - kP = SDRM_ECC_Init(); - if (kP == NULL) - { - free(BN_Xk); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - EC_Yv = SDRM_ECC_Init(); - if (EC_Yv == NULL) - { - free(BN_Xk); - free(kP); - - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_EC_CLR(EC_Yv); - retVal = SDRM_OS2BN(pchYv, crt->ctx->ecdsactx->uDimension >> 3, EC_Yv->x); - if (retVal != CRYPTO_SUCCESS) - { - free(BN_Xk); - free(kP); - free(EC_Yv); - - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - retVal = SDRM_OS2BN(pchYv + (crt->ctx->ecdsactx->uDimension >> 3), crt->ctx->ecdsactx->uDimension >> 3, EC_Yv->y); - if (retVal != CRYPTO_SUCCESS) - { - free(BN_Xk); - free(kP); - free(EC_Yv); - - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if (SDRM_CTX_EC_kP(ctx, kP, EC_Yv, BN_Xk) == CRYPTO_MEMORY_ALLOC_FAIL) - { - free(BN_Xk); - free(kP); - free(EC_Yv); - - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - retVal = SDRM_BN2OS(kP->x, crt->ctx->ecdsactx->uDimension >> 3, pchKauth); - if (retVal != CRYPTO_SUCCESS) - { - free(BN_Xk); - free(kP); - free(EC_Yv); - - return retVal; - } - - free(BN_Xk); - free(kP); - free(EC_Yv); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/ecdsa.c b/SPC/Src/middle/ecdsa.c deleted file mode 100755 index 9c58f35..0000000 --- a/SPC/Src/middle/ecdsa.c +++ /dev/null @@ -1,664 +0,0 @@ -/** - * \file ecdsa.c - * @brief implementation of public key signature algorithm - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/13 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#ifdef _WIN32_WCE -#include -#endif -#include -#include "ecdsa.h" -#include "ANSI_x931.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_CTX_ECDSA_KEY_GEN - * @brief generate signature - * - * @param ctx [out]ecc context - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_NULL_POINTER if any argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_ECDSA_KEY_GEN(SDRM_ECC_CTX *ctx) -{ - int i, retVal; - cc_u32 Seed[4]; - SDRM_BIG_NUM *BN_d, *BN_temp; - SDRM_EC_POINT *kP; - - cc_u8 *pbBuf = NULL; - - if (ctx == NULL) - { - return CRYPTO_NULL_POINTER; - } - - pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 2); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_d = SDRM_BN_Alloc( pbBuf , SDRM_ECC_BN_BUFSIZE); - BN_temp = SDRM_BN_Alloc((cc_u8*)BN_d + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - kP = SDRM_ECC_Init(); - if (kP == NULL) - { - free(pbBuf); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - for (i = 0; i < 4; i++) - { - Seed[i] = (rand() << 16) ^ rand(); - } - - SDRM_BN_Sub(BN_temp, ctx->ECC_n, BN_One); - do { - SDRM_RNG_X931((cc_u8 *)Seed, ctx->uDimension, (cc_u8*)BN_d->pData); - BN_d->Length = ctx->uDimension / 32; - } while ((SDRM_BN_Cmp(BN_d, BN_One) < 0) || (SDRM_BN_Cmp(BN_d, BN_temp) > 0)); - - SDRM_BN_OPTIMIZE_LENGTH(BN_d); - - SDRM_EC_SET_ZERO(kP); - retVal = SDRM_CTX_EC_kP(ctx, kP, ctx->ECC_G, BN_d); - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - free(kP); - - return retVal; - } - - SDRM_BN_Copy(ctx->PRIV_KEY, BN_d); - SDRM_EC_COPY(ctx->PUBLIC_KEY, kP); - - free(pbBuf); - free(kP); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_ECDSA_SIG_GEN - * @brief generate signature - * - * @param ctx [in]ecc context - * @param sig [out]generated signature - * @param hash [in]hashed message - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_NULL_POINTER if any argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_ECDSA_SIG_GEN(SDRM_ECC_CTX *ctx, cc_u8 *sig, cc_u8 *hash, unsigned int hashLen) -{ - int i, res = -1; - cc_u32 Seed[20]; - SDRM_BIG_NUM *BN_Tmp1, *BN_Tmp2, *BN_Tmp3; - SDRM_BIG_NUM *BN_k, *BN_r, *BN_s, *BN_hash; - SDRM_EC_POINT *kP; - - cc_u8 *pbBuf = NULL; - - if ((ctx== NULL) || (sig == NULL) || (hash == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 7); - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_Tmp1 = SDRM_BN_Alloc( pbBuf, SDRM_ECC_BN_BUFSIZE); - BN_Tmp2 = SDRM_BN_Alloc((cc_u8*)BN_Tmp1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_Tmp3 = SDRM_BN_Alloc((cc_u8*)BN_Tmp2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_k = SDRM_BN_Alloc((cc_u8*)BN_Tmp3 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_r = SDRM_BN_Alloc((cc_u8*)BN_k + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_s = SDRM_BN_Alloc((cc_u8*)BN_r + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_hash = SDRM_BN_Alloc((cc_u8*)BN_s + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - kP = SDRM_ECC_Init(); - if (kP == NULL) - { - free(pbBuf); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - for (i = 0; i < 4; i++) - { - Seed[i] = (rand() << 16) ^ rand(); - } - - while(1) - { - while(1) - { - // 1. [1, r-1] »çÀÌÀÇ ³­¼ö k ¼±Åà - SDRM_BN_Sub(BN_Tmp1, ctx->ECC_n, BN_One); - do { - SDRM_RNG_X931((cc_u8 *)Seed, ctx->uDimension, (cc_u8*)BN_k->pData); - BN_k->Length = ctx->uDimension / 32; - } while((SDRM_BN_Cmp(BN_k, BN_One) < 0) || (SDRM_BN_Cmp(BN_k, BN_Tmp1) > 0)); - - // 2. kP = (x1, y1), r = x1 mod n(&ctx.ECC_n) °è»ê. r = 0 À̸é k ´Ù½Ã ¼±Åà - SDRM_EC_SET_ZERO(kP); - res = SDRM_CTX_EC_kP(ctx, kP, ctx->ECC_G, BN_k); - if (res != CRYPTO_SUCCESS) - { - free(pbBuf); - free(kP); - - return res; - } - - //SDRM_PrintBN("kP->x", kP->x); - SDRM_BN_ModRed(BN_r, kP->x, ctx->ECC_n); - if (BN_r->Length > 0) // r = 0 À̸é k ´Ù½Ã ¼±Åà - { - break; - } - } - - // 3. k^{-1} mod n °è»ê. - SDRM_BN_ModInv(BN_Tmp1, BN_k, ctx->ECC_n); - - //SDRM_PrintBN("BN_k", BN_k); - //SDRM_PrintBN("ctx->ECC_n", ctx->ECC_n); - //SDRM_PrintBN("BN_Tmp1 = k^{-1} mod n", BN_Tmp1); - - // 4. s = k^{-1}(hash + dr) mod n °è»ê (d = private key). s = 0 À̸é 1¹øÀ¸·Î. - // BN_Tmp2 = dr - SDRM_OS2BN(hash, hashLen, BN_hash); - - SDRM_BN_ModMul(BN_Tmp2, ctx->PRIV_KEY, BN_r, ctx->ECC_n); - SDRM_BN_ModAdd(BN_Tmp3, BN_hash, BN_Tmp2, ctx->ECC_n); - SDRM_BN_ModMul(BN_s, BN_Tmp1, BN_Tmp3, ctx->ECC_n); - if (BN_s->Length > 0) - { - break; - } - } - -// (r, s) ¼­¸íÀ¸·Î Ãâ·Â. - //SDRM_PrintBN("BN_r", BN_r); - //SDRM_PrintBN("BN_s", BN_s); - - SDRM_BN2OS(BN_r, ctx->uDimension / 8, sig); - SDRM_BN2OS(BN_s, ctx->uDimension / 8, sig + ctx->uDimension / 8); - - free(kP); - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_CTX_ECDSA_SIG_VERIFY - * @brief verify ecdsa signature - * - * @param ctx [in]ecc context - * @param sig [out]generated signature - * @param signLen [out]byte-length of signature - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * - * @return CRYPTO_VALID_SIGN if given signature is valid - * \n CRYPTO_INVALID_SIGN if given signature is invalid - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - * \n CRYPTO_INVALID_ARGUMENT if any argument is out of range - * \n CRYPTO_INFINITY_INPUT if given argument represents an infinity value - */ -CRYPTOCORE_INTERNAL int SDRM_CTX_ECDSA_SIG_VERIFY(SDRM_ECC_CTX *ctx, cc_u8 *sig, int signLen, cc_u8 *hash, int hashLen) -{ - int res; - SDRM_BIG_NUM *BN_tmp, *BN_u1, *BN_u2, *BN_w, *BN_hash, *pBN_r, *pBN_s; - SDRM_EC_POINT *EC_temp1, *EC_temp2; - - cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 7); - - if (!pbBuf) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_tmp = SDRM_BN_Alloc( pbBuf, SDRM_ECC_BN_BUFSIZE); - BN_u1 = SDRM_BN_Alloc((cc_u8*)BN_tmp + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_u2 = SDRM_BN_Alloc((cc_u8*)BN_u1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_w = SDRM_BN_Alloc((cc_u8*)BN_u2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - BN_hash = SDRM_BN_Alloc((cc_u8*)BN_w + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - pBN_r = SDRM_BN_Alloc((cc_u8*)BN_hash+ SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - pBN_s = SDRM_BN_Alloc((cc_u8*)pBN_r + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE); - - EC_temp1 = SDRM_ECC_Init(); - if (EC_temp1 == NULL) - { - free(pbBuf); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - EC_temp2 = SDRM_ECC_Init(); - if (EC_temp2 == NULL) - { - free(pbBuf); - free(EC_temp1); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - if ((cc_u32)signLen != (ctx->uDimension / 4)) - { - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - return CRYPTO_INVALID_ARGUMENT; - } - - SDRM_OS2BN(sig, ctx->uDimension / 8, pBN_r); - SDRM_OS2BN(sig + ctx->uDimension / 8, ctx->uDimension / 8, pBN_s); - //SDRM_PrintBN("BN_r", pBN_r); - //SDRM_PrintBN("BN_s", pBN_s); - - // 1. r°ú sÀÇ ¹üÀ§ Á¶»ç - SDRM_BN_Sub(BN_tmp, ctx->ECC_n, BN_One); - if ((SDRM_BN_Cmp(pBN_r, BN_One) < 0) || (SDRM_BN_Cmp(pBN_r, BN_tmp) > 0)) - { - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return CRYPTO_INVALID_ARGUMENT; - } - - if ((SDRM_BN_Cmp(pBN_s, BN_One) < 0) || (SDRM_BN_Cmp(pBN_s, BN_tmp) > 0)) - { - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return CRYPTO_INVALID_ARGUMENT; - } - - // 2. w = s^(-1) mod n, BN_hash °è»ê - SDRM_OS2BN(hash, hashLen, BN_hash); - res = SDRM_BN_ModInv(BN_w, pBN_s, ctx->ECC_n); -//SDRM_PrintBN("BN_w", BN_w); - - if (res != CRYPTO_SUCCESS) - { - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return res; - } - - // 3. u1 = BN_hash *w mod n, u2 = rw mod n - SDRM_BN_ModMul(BN_u1, BN_hash, BN_w, ctx->ECC_n); - SDRM_BN_ModMul(BN_u2, pBN_r, BN_w, ctx->ECC_n); -//SDRM_PrintBN("BN_u1", BN_u1); -//SDRM_PrintBN("BN_u2", BN_u2); - - // 4. (x0, y0) = u1P + u2Q, V = x0 mod n - res = SDRM_CTX_EC_2kP(ctx, EC_temp1, BN_u1, ctx->ECC_G, BN_u2, ctx->PUBLIC_KEY); - if (res != CRYPTO_SUCCESS) - { - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return res; - } - else if(EC_temp1->IsInfinity == 1) - { - res = CRYPTO_INFINITY_INPUT; - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return res; - } - -// SDRM_PrintBN("EC_temp1->x", EC_temp1->x); -// SDRM_PrintBN("ctx->ECC_n", ctx->ECC_n); - SDRM_BN_ModRed(BN_tmp, EC_temp1->x, ctx->ECC_n); - -// SDRM_PrintBN("BN_tmp", BN_tmp); -// SDRM_PrintBN("pBN_r", pBN_r); - // 5. V = rÀÎ °æ¿ì ¼­¸í ok - res = SDRM_BN_Cmp_sign(BN_tmp, pBN_r); - if (res != 0) - { - res = CRYPTO_INVALID_SIGN; - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return res; - } - - //Success - free(pbBuf); - free(EC_temp1); - free(EC_temp2); - - return CRYPTO_VALID_SIGN; -} - -/* - * @fn SDRM_ECDSA_sign - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [out]generated signature - * @param signLen [out]byte-length of signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_ECDSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL) || (hash == NULL) || (signature == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (signLen) - { - *signLen = crt->ctx->ecdsactx->uDimension / 4; - } - - return SDRM_CTX_ECDSA_SIG_GEN(crt->ctx->ecdsactx, signature, hash, hashLen); -} - -/* - * @fn SDRM_ECDSA_verify - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [in]signature - * @param signLen [in]byte-length of signature - * @param result [in]result of veryfing signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if the length of signature is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_ECDSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result) -{ - int retVal; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL) || (hash == NULL) || (signature == NULL) || (result == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (signLen != (crt->ctx->ecdsactx->uDimension / 4)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - retVal = SDRM_CTX_ECDSA_SIG_VERIFY(crt->ctx->ecdsactx, signature, signLen, hash, hashLen); - - if (retVal == CRYPTO_VALID_SIGN) - { - *result = CRYPTO_VALID_SIGN; - } - else - { - *result = CRYPTO_INVALID_SIGN; - } - - return retVal; -} - -/* - * @fn SDRM_ECC_Set_CTX - * @brief Set parameters for ECC - * - * @param crt [out]crypto env structure - * @param Dimension [in]dimension - * @param ECC_P_Data [in]represents p - * @param ECC_P_Len [in]byte-length of p - * @param ECC_A_Data [in]represents a - * @param ECC_A_Len [in]byte-length of a - * @param ECC_B_Data [in]represents b - * @param ECC_B_Len [in]byte-length of b - * @param ECC_G_X_Data [in]represents x coordinate of g - * @param ECC_G_X_Len [in]byte-length of x coordinate of g - * @param ECC_G_Y_Data [in]represents y coordinate of g - * @param ECC_G_Y_Len [in]byte-length of y coordinate of g - * @param ECC_R_Data [in]represents r - * @param ECC_R_Len [in]byte-length of r - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_ECC_Set_CTX(CryptoCoreContainer *crt, cc_u16 Dimension, - cc_u8* ECC_P_Data, cc_u32 ECC_P_Len, - cc_u8* ECC_A_Data, cc_u32 ECC_A_Len, - cc_u8* ECC_B_Data, cc_u32 ECC_B_Len, - cc_u8* ECC_G_X_Data, cc_u32 ECC_G_X_Len, - cc_u8* ECC_G_Y_Data, cc_u32 ECC_G_Y_Len, - cc_u8* ECC_R_Data, cc_u32 ECC_R_Len) -{ - int retVal; - cc_u8 zero[] = {0x00}; - SDRM_ECC_CTX *ECC_ctx; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if ((ECC_P_Data == NULL) || (ECC_A_Data == NULL) || (ECC_B_Data == NULL) || (ECC_G_X_Data == NULL) || (ECC_G_Y_Data == NULL) || (ECC_R_Data == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ECC_ctx = crt->ctx->ecdhctx; - - ECC_ctx->uDimension = Dimension; - - retVal = SDRM_OS2BN(ECC_P_Data, ECC_P_Len, ECC_ctx->ECC_p); - if (retVal != CRYPTO_SUCCESS) - { - free(ECC_ctx); - return retVal; - } - - retVal = SDRM_OS2BN(ECC_A_Data, ECC_A_Len, ECC_ctx->ECC_a); - if (retVal != CRYPTO_SUCCESS) - { - free(ECC_ctx); - return retVal; - } - - retVal = SDRM_OS2BN(ECC_B_Data, ECC_B_Len, ECC_ctx->ECC_b); - if (retVal != CRYPTO_SUCCESS) - { - free(ECC_ctx); - return retVal; - } - - retVal = SDRM_OS2BN(ECC_R_Data, ECC_R_Len, ECC_ctx->ECC_n); - if (retVal != CRYPTO_SUCCESS) - { - free(ECC_ctx); - return retVal; - } - - ECC_ctx->ECC_G->IsInfinity = 0; - retVal = SDRM_OS2BN(ECC_G_X_Data, ECC_G_X_Len, ECC_ctx->ECC_G->x); - if (retVal != CRYPTO_SUCCESS) - { - free(ECC_ctx); - return retVal; - } - retVal = SDRM_OS2BN(ECC_G_Y_Data, ECC_G_Y_Len, ECC_ctx->ECC_G->y); - if (retVal != CRYPTO_SUCCESS) - { - free(ECC_ctx); - return retVal; - } - - SDRM_OS2BN(zero, 0, ECC_ctx->ECC_G->z); - SDRM_OS2BN(zero, 0, ECC_ctx->ECC_G->z2); - SDRM_OS2BN(zero, 0, ECC_ctx->ECC_G->z3); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_ECC_genKeypair - * @brief Generate Private Key and Generate Key Pair for ECC Signature - * - * @param crt [out]crypto env structure - * @param PrivateKey [in]represents x coordinate of public key - * @param PrivateKeyLen [in]byte-length of x coordinate of public key - * @param PublicKey_X [in]represents x coordinate of public key - * @param PublicKey_XLen [in]byte-length of x coordinate of public key - * @param PublicKey_Y [in]represents y coordinate of public key - * @param PublicKey_YLen [in]byte-length of y coordinate of public key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_ECC_genKeypair (CryptoCoreContainer *crt, - cc_u8 *PrivateKey, cc_u32 *PrivateKeyLen, - cc_u8 *PublicKey_X, cc_u32 *PublicKey_XLen, - cc_u8 *PublicKey_Y, cc_u32 *PublicKey_YLen) -{ - int retVal; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - retVal = SDRM_CTX_ECDSA_KEY_GEN(crt->ctx->ecdsactx); - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - if (PrivateKey != NULL) - { - SDRM_I2OSP(crt->ctx->ecdsactx->PRIV_KEY, crt->ctx->ecdsactx->uDimension / 8, PrivateKey); - } - - if (PrivateKeyLen != NULL) - { - *PrivateKeyLen = crt->ctx->ecdsactx->uDimension / 8; - } - - if (PublicKey_X != NULL) - { - SDRM_I2OSP(crt->ctx->ecdsactx->PUBLIC_KEY->x, crt->ctx->ecdsactx->uDimension / 8, PublicKey_X); - } - - if (PublicKey_XLen != NULL) - { - *PublicKey_XLen = crt->ctx->ecdsactx->uDimension / 8; - } - - if (PublicKey_Y != NULL) - { - SDRM_I2OSP(crt->ctx->ecdsactx->PUBLIC_KEY->y, crt->ctx->ecdsactx->uDimension / 8, PublicKey_Y); - } - - if (PublicKey_YLen != NULL) - { - *PublicKey_YLen = crt->ctx->ecdsactx->uDimension / 8; - } - - return CRYPTO_SUCCESS; - -} - -/* - * @fn SDRM_ECC_setKeypair - * @brief Set key data for ECC - * - * @param crt [out]crypto env structure - * @param PRIV_Data [in]represents private key - * @param PRIV_Len [in]byte-length of private key - * @param PUB_X_Data [in]represents x coordinate of public key - * @param PUB_X_Len [in]byte-length of x coordinate of public key - * @param PUB_Y_Data [in]represents y coordinate of public key - * @param PUB_Y_Len [in]byte-length of y coordinate of public key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if argument is null - */ -CRYPTOCORE_INTERNAL int SDRM_ECC_setKeypair(CryptoCoreContainer *crt, - cc_u8* PRIV_Data, cc_u32 PRIV_Len, - cc_u8* PUB_X_Data, cc_u32 PUB_X_Len, - cc_u8* PUB_Y_Data, cc_u32 PUB_Y_Len) -{ - int retVal; - cc_u8 zero[] = {0x00}; - SDRM_ECC_CTX *ECC_ctx; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ECC_ctx = crt->ctx->ecdsactx; - - ECC_ctx->PUBLIC_KEY->IsInfinity = 0; - - if (PRIV_Data != NULL) - { - retVal = SDRM_OS2BN(PRIV_Data, PRIV_Len, ECC_ctx->PRIV_KEY); - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - if (PUB_X_Data != NULL && PUB_Y_Data != NULL) - { - retVal = SDRM_OS2BN(PUB_X_Data, PUB_X_Len, ECC_ctx->PUBLIC_KEY->x); - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - retVal = SDRM_OS2BN(PUB_Y_Data, PUB_Y_Len, ECC_ctx->PUBLIC_KEY->y); - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - SDRM_OS2BN(zero, 0, ECC_ctx->PUBLIC_KEY->z); - SDRM_OS2BN(zero, 0, ECC_ctx->PUBLIC_KEY->z2); - SDRM_OS2BN(zero, 0, ECC_ctx->PUBLIC_KEY->z3); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/hmac.c b/SPC/Src/middle/hmac.c deleted file mode 100755 index 86d23d4..0000000 --- a/SPC/Src/middle/hmac.c +++ /dev/null @@ -1,572 +0,0 @@ -/** - * \file hmac.c - * @brief funciton for c-mac code generation by SHA1 and MD5 - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/19 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "hmac.h" -#include "sha1.h" -#include "sha2.h" -#include "md5.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -CRYPTOCORE_INTERNAL int SDRM_getK0(cc_u8* k0, cc_u8* Key, cc_u32 KeyLen, cc_u32 Algorithm, cc_u32 B); - -/* - * @fn SDRM_HMAC_init - * @brief Parameter setting for mac code generation - * - * @param crt [out]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen) -{ - SDRM_HMACContext *ctx; - cc_u8 *ipad; - cc_u32 i; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (Key == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->hmacctx; - ctx->algorithm = crt->alg; - - switch(ctx->algorithm) - { - case ID_HMD5 : - ctx->B = SDRM_MD5_DATA_SIZE; - break; - - case ID_HSHA1 : - ctx->B = SDRM_SHA1_DATA_SIZE; - break; - - case ID_HSHA224 : - ctx->B = SDRM_SHA224_DATA_SIZE; - break; - - case ID_HSHA256 : - ctx->B = SDRM_SHA256_DATA_SIZE; - break; - -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384 : - ctx->B = SDRM_SHA384_DATA_SIZE; - break; - - case ID_HSHA512 : - ctx->B = SDRM_SHA512_DATA_SIZE; - break; -#endif //_OP64_NOTSUPPORTED - - default : - return CRYPTO_INVALID_ARGUMENT; - } - - ipad = (cc_u8*)malloc(ctx->B); - if (ipad == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - ctx->k0 = (cc_u8*)malloc(ctx->B); - if (ctx->k0 == NULL) - { - free(ipad); - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - //make k0 - SDRM_getK0(ctx->k0, Key, KeyLen, ctx->algorithm, ctx->B); - - //ipad = k0 xor ipad - for (i = 0; i < ctx->B; i++) - { - ipad[i] = ctx->k0[i] ^ 0x36; - } - - if (i != ctx->B) - { - for (; i < ctx->B; i++) - { - ipad[i] = ctx->k0[i] ^ 0x36; - } - } - - ctx->md5_ctx = NULL; - ctx->sha1_ctx = NULL; - ctx->sha224_ctx = NULL; - ctx->sha256_ctx = NULL; -#ifndef _OP64_NOTSUPPORTED - ctx->sha384_ctx = NULL; - ctx->sha512_ctx = NULL; -#endif //_OP64_NOTSUPPORTED - - switch(ctx->algorithm) - { - case ID_HMD5 : - ctx->md5_ctx = (SDRM_MD5Context*)malloc(sizeof(SDRM_MD5Context)); - - if (ctx->md5_ctx == NULL) - { - if (ipad != NULL) - { - free(ipad); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_MD5_Init(ctx->md5_ctx); - SDRM_MD5_Update(ctx->md5_ctx, ipad, ctx->B); - break; - - case ID_HSHA1 : - ctx->sha1_ctx = (SDRM_SHA1Context*)malloc(sizeof(SDRM_SHA1Context)); - - if (ctx->sha1_ctx == NULL) - { - if (ipad != NULL) - { - free(ipad); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_SHA1_Init(ctx->sha1_ctx); - SDRM_SHA1_Update(ctx->sha1_ctx, ipad, ctx->B); - break; - - case ID_HSHA224 : - ctx->sha224_ctx = (SDRM_SHA224Context*)malloc(sizeof(SDRM_SHA224Context)); - - if (ctx->sha224_ctx == NULL) - { - if (ipad != NULL) - { - free(ipad); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_SHA224_Init(ctx->sha224_ctx); - SDRM_SHA224_Update(ctx->sha224_ctx, ipad, ctx->B); - break; - - case ID_HSHA256 : - ctx->sha256_ctx = (SDRM_SHA256Context*)malloc(sizeof(SDRM_SHA256Context)); - - if (ctx->sha256_ctx == NULL) - { - if (ipad != NULL) - { - free(ipad); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_SHA256_Init(ctx->sha256_ctx); - SDRM_SHA256_Update(ctx->sha256_ctx, ipad, ctx->B); - break; - -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384 : - ctx->sha384_ctx = (SDRM_SHA384Context*)malloc(sizeof(SDRM_SHA384Context)); - - if (ctx->sha384_ctx == NULL) - { - if (ipad != NULL) - { - free(ipad); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_SHA384_Init(ctx->sha384_ctx); - SDRM_SHA384_Update(ctx->sha384_ctx, ipad, ctx->B); - break; - - case ID_HSHA512 : - ctx->sha512_ctx = (SDRM_SHA512Context*)malloc(sizeof(SDRM_SHA512Context)); - - if (ctx->sha512_ctx == NULL) - { - if (ipad != NULL) - { - free(ipad); - } - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - SDRM_SHA512_Init(ctx->sha512_ctx); - SDRM_SHA512_Update(ctx->sha512_ctx, ipad, ctx->B); - break; -#endif //_OP64_NOTSUPPORTED - - default : - free(ipad); - return CRYPTO_INVALID_ARGUMENT; - } - - free(ipad); - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_HMAC_update - * @brief process data blocks - * - * @param crt [out]crypto parameter - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen) -{ - if (msgLen == 0) - { - return CRYPTO_SUCCESS; - } - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (msg == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - switch(crt->ctx->hmacctx->algorithm) - { - case ID_HMD5 : - SDRM_MD5_Update(crt->ctx->hmacctx->md5_ctx, msg, msgLen); - break; - case ID_HSHA1 : - SDRM_SHA1_Update(crt->ctx->hmacctx->sha1_ctx, msg, msgLen); - break; - case ID_HSHA224 : - SDRM_SHA224_Update(crt->ctx->hmacctx->sha224_ctx, msg, msgLen); - break; - case ID_HSHA256 : - SDRM_SHA256_Update(crt->ctx->hmacctx->sha256_ctx, msg, msgLen); - break; - -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384 : - SDRM_SHA384_Update(crt->ctx->hmacctx->sha384_ctx, msg, msgLen); - break; - case ID_HSHA512 : - SDRM_SHA512_Update(crt->ctx->hmacctx->sha512_ctx, msg, msgLen); - break; -#endif //OP64_NOTSUPPORTED - - default : - return CRYPTO_INVALID_ARGUMENT; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_HMAC_final - * @brief process last data block - * - * @param crt [in]crypto parameter - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if Parameter is NULL - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen) -{ - SDRM_HMACContext *ctx; - SDRM_MD5Context MD5ctx; - SDRM_SHA1Context SHA1ctx; - SDRM_SHA224Context SHA224ctx; - SDRM_SHA256Context SHA256ctx; -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context SHA384ctx; - SDRM_SHA512Context SHA512ctx; -#endif //_OP64_NOTSUPPORTED - cc_u8 Step6_Result[64]; - cc_u32 HashLen, i; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - ctx = crt->ctx->hmacctx; - - //k0 = k0 xor opad - for (i = 0; i < ctx->B; i++) - { - ctx->k0[i] ^= 0x5c; - } - - if (i != ctx->B) - { - for (; i < ctx->B; i++) - { - ctx->k0[i] ^= 0x5c; - } - } - - //Step6 : get H((k0 xor ipad) | text) & Step 9 : make hash - switch(ctx->algorithm) - { - case ID_HMD5 : - SDRM_MD5_Final(ctx->md5_ctx, Step6_Result); - free(ctx->md5_ctx); - - HashLen = SDRM_MD5_BLOCK_SIZ; - - SDRM_MD5_Init(&MD5ctx); - SDRM_MD5_Update(&MD5ctx, ctx->k0, ctx->B); - SDRM_MD5_Update(&MD5ctx, Step6_Result, HashLen); - SDRM_MD5_Final(&MD5ctx, output); - - break; - - case ID_HSHA1 : - SDRM_SHA1_Final(ctx->sha1_ctx, Step6_Result); - free(ctx->sha1_ctx); - - HashLen = SDRM_SHA1_BLOCK_SIZ; - - SDRM_SHA1_Init(&SHA1ctx); - SDRM_SHA1_Update(&SHA1ctx, ctx->k0, ctx->B); - SDRM_SHA1_Update(&SHA1ctx, Step6_Result, HashLen); - SDRM_SHA1_Final(&SHA1ctx, output); - - break; - - case ID_HSHA224 : - SDRM_SHA224_Final(ctx->sha224_ctx, Step6_Result); - free(ctx->sha224_ctx); - - HashLen = SDRM_SHA224_BLOCK_SIZ; - - SDRM_SHA224_Init(&SHA224ctx); - SDRM_SHA224_Update(&SHA224ctx, ctx->k0, ctx->B); - SDRM_SHA224_Update(&SHA224ctx, Step6_Result, HashLen); - SDRM_SHA224_Final(&SHA224ctx, output); - - break; - - case ID_HSHA256 : - SDRM_SHA256_Final(ctx->sha256_ctx, Step6_Result); - free(ctx->sha256_ctx); - - HashLen = SDRM_SHA256_BLOCK_SIZ; - - SDRM_SHA256_Init(&SHA256ctx); - SDRM_SHA256_Update(&SHA256ctx, ctx->k0, ctx->B); - SDRM_SHA256_Update(&SHA256ctx, Step6_Result, HashLen); - SDRM_SHA256_Final(&SHA256ctx, output); - - break; - -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384 : - SDRM_SHA384_Final(ctx->sha384_ctx, Step6_Result); - free(ctx->sha384_ctx); - - HashLen = SDRM_SHA384_BLOCK_SIZ; - - SDRM_SHA384_Init(&SHA384ctx); - SDRM_SHA384_Update(&SHA384ctx, ctx->k0, ctx->B); - SDRM_SHA384_Update(&SHA384ctx, Step6_Result, HashLen); - SDRM_SHA384_Final(&SHA384ctx, output); - - break; - - case ID_HSHA512 : - SDRM_SHA512_Final(ctx->sha512_ctx, Step6_Result); - free(ctx->sha512_ctx); - - HashLen = SDRM_SHA512_BLOCK_SIZ; - - SDRM_SHA512_Init(&SHA512ctx); - SDRM_SHA512_Update(&SHA512ctx, ctx->k0, ctx->B); - SDRM_SHA512_Update(&SHA512ctx, Step6_Result, HashLen); - SDRM_SHA512_Final(&SHA512ctx, output); - - break; -#endif - - default : - if (ctx->k0) free(ctx->k0); - return CRYPTO_INVALID_ARGUMENT; - } - - if (outputLen != NULL) - { - *outputLen = HashLen; - } - - if (ctx->k0) - { - free(ctx->k0); - } - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_HMAC_getMAC - * @brief generate h-mac code - * - * @param crt [in]crypto parameter - * @param Key [in]user key - * @param KeyLen [in]byte-length of Key - * @param msg [in]data block - * @param msgLen [in]byte-length of Text - * @param output [out]generated MAC - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_HMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen) -{ - int result; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (Key == NULL) || (output == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - result = SDRM_HMAC_init(crt, Key, KeyLen); - if (result != CRYPTO_SUCCESS) - { - return result; - } - - result = SDRM_HMAC_update(crt, msg, msgLen); - if (result != CRYPTO_SUCCESS) - { - return result; - } - - return SDRM_HMAC_final(crt, output, outputLen); -} - -CRYPTOCORE_INTERNAL int SDRM_getK0(cc_u8* k0, cc_u8* Key, cc_u32 KeyLen, cc_u32 Algorithm, cc_u32 B) -{ - SDRM_MD5Context MD5ctx; - SDRM_SHA1Context SHA1ctx; - SDRM_SHA224Context SHA224ctx; - SDRM_SHA256Context SHA256ctx; -#ifndef _OP64_NOTSUPPORTED - SDRM_SHA384Context SHA384ctx; - SDRM_SHA512Context SHA512ctx; -#endif //_OP64_NOTSUPPORTED - - int L; - - if (KeyLen == B) - { - //if the length of K = B : set K0 = K - memcpy(k0, Key, B); - } - else if (KeyLen > B) - { - //if the length of K > B : get hask(K) and append (B - L) zeros - - //get hash(K) - - switch(Algorithm) - { - case ID_HMD5 : - SDRM_MD5_Init(&MD5ctx); - SDRM_MD5_Update(&MD5ctx, Key, KeyLen); - SDRM_MD5_Final(&MD5ctx, k0); - - L = SDRM_MD5_BLOCK_SIZ; - - break; - - case ID_HSHA1 : - SDRM_SHA1_Init(&SHA1ctx); - SDRM_SHA1_Update(&SHA1ctx, Key, KeyLen); - SDRM_SHA1_Final(&SHA1ctx, k0); - - L = SDRM_SHA1_BLOCK_SIZ; - - break; - - case ID_HSHA224 : - SDRM_SHA224_Init(&SHA224ctx); - SDRM_SHA224_Update(&SHA224ctx, Key, KeyLen); - SDRM_SHA224_Final(&SHA224ctx, k0); - - L = SDRM_SHA224_BLOCK_SIZ; - - break; - - case ID_HSHA256 : - SDRM_SHA256_Init(&SHA256ctx); - SDRM_SHA256_Update(&SHA256ctx, Key, KeyLen); - SDRM_SHA256_Final(&SHA256ctx, k0); - - L = SDRM_SHA256_BLOCK_SIZ; - - break; - -#ifndef _OP64_NOTSUPPORTED - case ID_HSHA384 : - SDRM_SHA384_Init(&SHA384ctx); - SDRM_SHA384_Update(&SHA384ctx, Key, KeyLen); - SDRM_SHA384_Final(&SHA384ctx, k0); - - L = SDRM_SHA384_BLOCK_SIZ; - - break; - - case ID_HSHA512 : - SDRM_SHA512_Init(&SHA512ctx); - SDRM_SHA512_Update(&SHA512ctx, Key, KeyLen); - SDRM_SHA512_Final(&SHA512ctx, k0); - - L = SDRM_SHA512_BLOCK_SIZ; - - break; -#endif - - default : - return CRYPTO_INVALID_ARGUMENT; - } - - //append zeros - memset(k0 + L, 0x00, B - L); - } - else { - //if the length of K < B : append zerots to the end of K - memcpy(k0, Key, KeyLen); - memset(k0 + KeyLen, 0x00, B - KeyLen); - } - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/rng.c b/SPC/Src/middle/rng.c deleted file mode 100755 index 7bd2388..0000000 --- a/SPC/Src/middle/rng.c +++ /dev/null @@ -1,69 +0,0 @@ -/** - * \file rng.c - * @brief Random Number Generator Interface - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon, Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/07 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "ANSI_x931.h" -#include "rng.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_X931_seed - * @brief Seed RNG System - * - * @param crt [in]crypto env structure - * @param seed [in]seed for RNG System - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_X931_seed(CryptoCoreContainer *crt, cc_u8 *seed) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->x931ctx == NULL) || (seed == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - memcpy(crt->ctx->x931ctx->Seed, seed, SDRM_X931_SEED_SIZ); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_X931_get - * @brief generate random number - * - * @param crt [in]crypto env structure - * @param bitLength [in]bit length for generated number - * @param data [out]generated data - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_X931_get(CryptoCoreContainer *crt, cc_u32 bitLength, cc_u8 *data) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->x931ctx == NULL) || (data == NULL)) - { - return CRYPTO_NULL_POINTER; - } - -#ifdef _WIN32_WCE - srand(GetTickCount()); -#else - srand((unsigned int)time(NULL)); -#endif - - return SDRM_RNG_X931(crt->ctx->x931ctx->Seed, bitLength, data); -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/rsa.c b/SPC/Src/middle/rsa.c deleted file mode 100755 index 83a89b0..0000000 --- a/SPC/Src/middle/rsa.c +++ /dev/null @@ -1,1209 +0,0 @@ -/** - * \file rsa.c - * @brief implementation of rsa encryption/decryption and signature/verifycation - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/20 - * Note : Modified for support RSA-2048(Jisoon Park, 2007/03/14) - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "rsa.h" -#include "pkcs1_v21.h" -#include "ANSI_x931.h" -#include "bignum.h" - -////////////////////////////////////////////////////////////////////////// -// Functions -////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_RSAContext *SDRM_RSA_InitCrt(cc_u32 KeyByteLen) - * - * @brief generate RSA Context - * - * @return pointer to the generated context - * \n NULL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL SDRM_RSAContext *SDRM_RSA_InitCrt(cc_u32 KeyByteLen) -{ - SDRM_RSAContext *ctx; - cc_u32 RSA_KeyByteLen = KeyByteLen; - cc_u8 *pbBuf = (cc_u8*)malloc(sizeof(SDRM_RSAContext) + SDRM_RSA_ALLOC_SIZE * 8); - - if (pbBuf == NULL) - { - return NULL; - } - - ctx = (SDRM_RSAContext*)(void*)pbBuf; - ctx->n = SDRM_BN_Alloc((cc_u8*)ctx + sizeof(SDRM_RSAContext), SDRM_RSA_BN_BUFSIZE); - ctx->e = SDRM_BN_Alloc((cc_u8*)ctx->n + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - ctx->d = SDRM_BN_Alloc((cc_u8*)ctx->e + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - ctx->p = SDRM_BN_Alloc((cc_u8*)ctx->d + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - ctx->q = SDRM_BN_Alloc((cc_u8*)ctx->p + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - ctx->dmodp1 = SDRM_BN_Alloc((cc_u8*)ctx->q + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - ctx->dmodq1 = SDRM_BN_Alloc((cc_u8*)ctx->dmodp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - ctx->iqmodp = SDRM_BN_Alloc((cc_u8*)ctx->dmodq1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - ctx->crt_operation = (unsigned int)-1; - ctx->k = RSA_KeyByteLen; - - return ctx; -} - -/* - * @fn int SDRM_RSA_setNED(CryptoCoreContainer *crt, cc_u32 PaddingMethod, cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, cc_u8* RSA_D_Data, cc_u32 RSA_D_Len) - * @brief set RSA parameters - * - * @param crt [out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_N_Data [in]n value - * @param RSA_N_Len [in]byte-length of n - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_D_Data [in]d value - * @param RSA_D_Len [in]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_setNED(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 RSA_D_Len) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (RSA_N_Data == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - SDRM_OS2BN(RSA_N_Data, RSA_N_Len, crt->ctx->rsactx->n); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->n); - - if (RSA_E_Data != NULL) - { - SDRM_OS2BN(RSA_E_Data, RSA_E_Len, crt->ctx->rsactx->e); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->e); - } - - if (RSA_D_Data != NULL) - { - SDRM_OS2BN(RSA_D_Data, RSA_D_Len, crt->ctx->rsactx->d); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->d); - } - - crt->ctx->rsactx->pm = PaddingMethod; - crt->ctx->rsactx->crt_operation = 0; - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_setNEDPQ(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - * cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - * cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - * cc_u8* RSA_D_Data, cc_u32 RSA_D_Len, - * cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - * cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - * cc_u8* RSA_DmodP1_Data, cc_u32 RSA_DmodP1_Len, - * cc_u8* RSA_DmodQ1_Data, cc_u32 RSA_DmodQ1_Len, - * cc_u8* RSA_iQmodP_Data, cc_u32 RSA_iQmodP_Len) - * - * @brief set RSA parameters - * - * @param crt [out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_N_Data [in]n value - * @param RSA_N_Len [in]byte-length of n - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_D_Data [in]d value - * @param RSA_D_Len [in]byte-length of d - * @param RSA_P_Data [in]p value - * @param RSA_P_Len [in]byte-length of p - * @param RSA_Q_Data [in]q value - * @param RSA_Q_Len [in]byte-length of q - * @param RSA_DmodP1_Data [in]d mod (p-1) value - * @param RSA_DmodP1_Len [in]byte-length of d mod (p-1) - * @param RSA_DmodQ1_Data [in]d mod (q-1) value - * @param RSA_DmodQ1_Len [in]byte-length of d mod (q-1) - * @param RSA_iQmodP_Data [in]q^(-1) mod p value - * @param RSA_iQmodP_Len [in]byte-length of q^(-1) mod p - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_setNEDPQ(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 RSA_D_Len, - cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - cc_u8* RSA_DmodP1_Data, cc_u32 RSA_DmodP1_Len, - cc_u8* RSA_DmodQ1_Data, cc_u32 RSA_DmodQ1_Len, - cc_u8* RSA_iQmodP_Data, cc_u32 RSA_iQmodP_Len) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - crt->ctx->rsactx->crt_operation = 0; - if ((RSA_P_Data != NULL) && (RSA_Q_Data != NULL) && (RSA_DmodP1_Data != NULL) && (RSA_DmodQ1_Data != NULL) && (RSA_iQmodP_Data != NULL)) - { - crt->ctx->rsactx->crt_operation = 1; - } - else if (RSA_N_Data == NULL) - { - return CRYPTO_NULL_POINTER; - } - - if (RSA_N_Data != NULL) - { - SDRM_OS2BN(RSA_N_Data, RSA_N_Len, crt->ctx->rsactx->n); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->n); - } - - if (RSA_E_Data != NULL) - { - SDRM_OS2BN(RSA_E_Data, RSA_E_Len, crt->ctx->rsactx->e); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->e); - } - - if (RSA_D_Data != NULL) - { - SDRM_OS2BN(RSA_D_Data, RSA_D_Len, crt->ctx->rsactx->d); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->d); - } - - if (RSA_P_Data != NULL) - { - SDRM_OS2BN(RSA_P_Data, RSA_P_Len, crt->ctx->rsactx->p); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->p); - } - - if (RSA_Q_Data != NULL) - { - SDRM_OS2BN(RSA_Q_Data, RSA_Q_Len, crt->ctx->rsactx->q); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->q); - } - - if (RSA_DmodP1_Data != NULL) - { - SDRM_OS2BN(RSA_DmodP1_Data, RSA_DmodP1_Len, crt->ctx->rsactx->dmodp1); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->dmodp1); - } - - if (RSA_DmodQ1_Data != NULL) - { - SDRM_OS2BN(RSA_DmodQ1_Data, RSA_DmodQ1_Len, crt->ctx->rsactx->dmodq1); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->dmodq1); - } - - if (RSA_iQmodP_Data != NULL) - { - SDRM_OS2BN(RSA_iQmodP_Data, RSA_iQmodP_Len, crt->ctx->rsactx->iqmodp); - SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->iqmodp); - } - - crt->ctx->rsactx->pm = PaddingMethod; - - return CRYPTO_SUCCESS; -} - - -/* - * @fn int SDRM_RSA_GenerateKey(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - * cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - * cc_u8* RSA_E_Data, cc_u32 *RSA_E_Len, - * cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len) - * @brief generate and set RSA parameters - * - * @param crt [in/out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_N_Data [out]n value - * @param RSA_N_Len [out]byte-length of n - * @param RSA_E_Data [out]e value - * @param RSA_E_Len [out]byte-length of e - * @param RSA_D_Data [out]d value - * @param RSA_D_Len [out]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateKey(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_E_Data, cc_u32 *RSA_E_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len) -{ - cc_u32 Seed[4]; - SDRM_BIG_NUM *p, *q, *pi, *e, *temp1, *temp2; - cc_u32 RSA_KeyByteLen = 0; - int i, sp, t1; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - t1 = (RSA_KeyByteLen * 4 - 1) % 32; - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 5); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - p = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - q = SDRM_BN_Alloc((cc_u8*)p + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - pi = SDRM_BN_Alloc((cc_u8*)q + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp1 = SDRM_BN_Alloc((cc_u8*)pi + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - e = crt->ctx->rsactx->e; - - for (i = 0; i < 4; i++) - { - Seed[i] = (rand() << 16) ^ rand(); - } - - //set security parameter for miller-rabin probabilistic primality test - if (RSA_KeyByteLen >= 256) - { - sp = 3; - } - else if (RSA_KeyByteLen >= 128) - { - sp = 5; - } - else if (RSA_KeyByteLen >= 30) - { - sp = 15; - } - else - { - sp = 30; - } - -GEN_RND: - //Generate p - p->Length = (RSA_KeyByteLen + 7) / 8; - do { - SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)p->pData); - p->pData[0] |= 1L; - p->pData[p->Length - 1] &= ~((-1L) << t1); - p->pData[p->Length - 1] |= (1L << t1); - } while(SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME); - - //Generate q - q->Length = (RSA_KeyByteLen + 7) / 8; - do { - SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)q->pData); - q->pData[0] |= 1L; - q->pData[q->Length - 1] &= ~((-1L) << t1); - q->pData[q->Length - 1] |= (1L << t1); - } while(SDRM_BN_MILLER_RABIN(q, sp) != CRYPTO_ISPRIME); - - //temp1 = (p - 1), temp2 = (q - 1) - SDRM_BN_Sub(temp1, p, BN_One); - SDRM_BN_Sub(temp2, q, BN_One); - - //evaluate n and pi - //n = p * q, pi = (p - 1) * (q - 1) - SDRM_BN_Mul(crt->ctx->rsactx->n, p, q); - SDRM_BN_Mul(pi, temp1, temp2); - - //generate e - e->Length = (RSA_KeyByteLen + 3) / 4; - do { - do { - SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 8 - 8, (cc_u8*)e->pData); - e->pData[0] |= 0x01; - } while(SDRM_BN_CheckRelativelyPrime(e, pi) != CRYPTO_ISPRIME); - } while (SDRM_BN_Cmp(e, pi) >= 0); - - if (SDRM_BN_ModInv(crt->ctx->rsactx->d, e, pi) != CRYPTO_SUCCESS) - { - goto GEN_RND; - } - - crt->ctx->rsactx->pm = PaddingMethod; - - if (RSA_N_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->n, RSA_KeyByteLen, RSA_N_Data); - } - - if (RSA_N_Len != NULL) - { - *RSA_N_Len = RSA_KeyByteLen; - } - - if (RSA_E_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->e, RSA_KeyByteLen, RSA_E_Data); - } - - if (RSA_E_Len != NULL) - { - *RSA_E_Len = RSA_KeyByteLen; - } - - if (RSA_D_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->d, RSA_KeyByteLen, RSA_D_Data); - } - - if (RSA_D_Len != NULL) - { - *RSA_D_Len = RSA_KeyByteLen; - } - - free(pbBuf); - - crt->ctx->rsactx->crt_operation = 0; - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_GenerateND(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - * cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - * cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - * cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len) - * @brief generate and set RSA parameters with specfied e - * - * @param crt [in/out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_N_Data [out]n value - * @param RSA_N_Len [out]byte-length of n - * @param RSA_D_Data [out]d value - * @param RSA_D_Len [out]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateND(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len) -{ - cc_u32 Seed[4]; - SDRM_BIG_NUM *p, *q, *pi, *e, *temp1, *temp2; - cc_u32 RSA_KeyByteLen = 0; - int i, sp, t1; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL)) { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - t1 = (RSA_KeyByteLen * 4 - 1) % 32; - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 5); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - p = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - q = SDRM_BN_Alloc((cc_u8*)p + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - pi = SDRM_BN_Alloc((cc_u8*)q + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp1 = SDRM_BN_Alloc((cc_u8*)pi + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - e = crt->ctx->rsactx->e; - - for (i = 0; i < 4; i++) - { - Seed[i] = (rand() << 16) ^ rand(); - } - - //set security parameter for miller-rabin probabilistic primality test - if (RSA_KeyByteLen >= 256) - { - sp = 3; - } - else if (RSA_KeyByteLen >= 128) - { - sp = 5; - } - else if (RSA_KeyByteLen >= 30) - { - sp = 15; - } - else - { - sp = 30; - } - -GEN_RND: - //Generate p - p->Length = (RSA_KeyByteLen + 7) / 8; - do { - SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)p->pData); - p->pData[0] |= 1L; - p->pData[p->Length - 1] &= ~((-1L) << t1); - p->pData[p->Length - 1] |= (1L << t1); - } while(SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME); - - //Generate q - q->Length = (RSA_KeyByteLen + 7) / 8; - do { - SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)q->pData); - q->pData[0] |= 1L; - q->pData[q->Length - 1] &= ~((-1L) << t1); - q->pData[q->Length - 1] |= (1L << t1); - } while(SDRM_BN_MILLER_RABIN(q, sp) != CRYPTO_ISPRIME); - - //temp1 = (p - 1), temp2 = (q - 1) - SDRM_BN_Sub(temp1, p, BN_One); - SDRM_BN_Sub(temp2, q, BN_One); - - //evaluate n and pi - //n = p * q, pi = (p - 1) * (q - 1) - SDRM_BN_Mul(crt->ctx->rsactx->n, p, q); - SDRM_BN_Mul(pi, temp1, temp2); - - //check N for e - SDRM_OS2BN(RSA_E_Data, RSA_E_Len, e); - if ((SDRM_BN_CheckRelativelyPrime(e, pi) != CRYPTO_ISPRIME) || (SDRM_BN_Cmp(e, pi) >= 0)) - { - goto GEN_RND; - } - - if (SDRM_BN_ModInv(crt->ctx->rsactx->d, e, pi) != CRYPTO_SUCCESS) - { - goto GEN_RND; - } - - crt->ctx->rsactx->pm = PaddingMethod; - - if (RSA_N_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->n, RSA_KeyByteLen, RSA_N_Data); - } - - if (RSA_N_Len != NULL) - { - *RSA_N_Len = RSA_KeyByteLen; - } - - if (RSA_D_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->d, RSA_KeyByteLen, RSA_D_Data); - } - - if (RSA_D_Len != NULL) - { - *RSA_D_Len = RSA_KeyByteLen; - } - - free(pbBuf); - - crt->ctx->rsactx->crt_operation = 0; - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_GenerateDwithPQE(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - * cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - * cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - * cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - * cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - * cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len) - * @brief generate D with specfied p, q, d mod (p-1), d mod (q-1) and e - * - * @param crt [in/out]rsa context - * @param PaddingMethod [in]padding method - * @param RSA_E_Data [in]e value - * @param RSA_E_Len [in]byte-length of e - * @param RSA_P_Data [in]n value - * @param RSA_P_Len [in]byte-length of n - * @param RSA_Q_Data [in]d value - * @param RSA_Q_Len [in]byte-length of d - * @param RSA_D_P_Data [in]d mod (p-1) value - * @param RSA_D_P_Len [in]byte-length of d mod (p-1) - * @param RSA_D_Q_Data [in]d mod (q-1) value - * @param RSA_D_Q_Len [in]byte-length of d mod (q-1) - * @param RSA_D_Data [out]d value - * @param RSA_D_Len [out]byte-length of d - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateDwithPQE(CryptoCoreContainer *crt, cc_u32 PaddingMethod, - cc_u8* RSA_E_Data, cc_u32 RSA_E_Len, - cc_u8* RSA_P_Data, cc_u32 RSA_P_Len, - cc_u8* RSA_Q_Data, cc_u32 RSA_Q_Len, - cc_u8* RSA_N_Data, cc_u32 *RSA_N_Len, - cc_u8* RSA_D_Data, cc_u32 *RSA_D_Len) -{ - SDRM_BIG_NUM *p, *q, *pi, *e, *temp1, *temp2; - cc_u32 RSA_KeyByteLen = 0; - int sp; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 5); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - p = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - q = SDRM_BN_Alloc((cc_u8*)p + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - pi = SDRM_BN_Alloc((cc_u8*)q + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp1 = SDRM_BN_Alloc((cc_u8*)pi + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - e = crt->ctx->rsactx->e; - - //set security parameter for miller-rabin probabilistic primality test - if (RSA_KeyByteLen >= 256) - { - sp = 3; - } - else if (RSA_KeyByteLen >= 128) - { - sp = 5; - } - else if (RSA_KeyByteLen >= 30) - { - sp = 15; - } - else - { - sp = 30; - } - - SDRM_OS2BN((cc_u8*)RSA_P_Data, RSA_P_Len, p); - if (SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - SDRM_OS2BN((cc_u8*)RSA_Q_Data, RSA_Q_Len, q); - if (SDRM_BN_MILLER_RABIN(q, sp) != CRYPTO_ISPRIME) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - //temp1 = (p - 1), temp2 = (q - 1) - SDRM_BN_Sub(temp1, p, BN_One); - SDRM_BN_Sub(temp2, q, BN_One); - - //evaluate n and pi - //n = p * q, pi = (p - 1) * (q - 1) - SDRM_BN_Mul(crt->ctx->rsactx->n, p, q); - SDRM_BN_Mul(pi, temp1, temp2); - - //check N for e - SDRM_OS2BN(RSA_E_Data, RSA_E_Len, e); - if ((SDRM_BN_CheckRelativelyPrime(e, pi) != CRYPTO_ISPRIME) || (SDRM_BN_Cmp(e, pi) >= 0)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - if (SDRM_BN_ModInv(crt->ctx->rsactx->d, e, pi) != CRYPTO_SUCCESS) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - crt->ctx->rsactx->pm = PaddingMethod; - - if (RSA_N_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->n, RSA_KeyByteLen, RSA_N_Data); - } - - if (RSA_N_Len != NULL) - { - *RSA_N_Len = RSA_KeyByteLen; - } - - if (RSA_D_Data != NULL) - { - SDRM_I2OSP(crt->ctx->rsactx->d, RSA_KeyByteLen, RSA_D_Data); - } - - if (RSA_D_Len != NULL) - { - *RSA_D_Len = RSA_KeyByteLen; - } - - free(pbBuf); - - crt->ctx->rsactx->crt_operation = 0; - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_encrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) - * @brief RSA Encryption - * - * @param crt [in]rsa context - * @param in [in]message to encrypt - * @param inLen [in]byte-length of in - * @param out [out]encrypted message - * @param outLen [out]byte-length of out - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_encrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) -{ - SDRM_BIG_NUM *BN_pMsg, *BN_Src, *BN_Cipher; - int retVal, cipherLen; - cc_u32 RSA_KeyByteLen = 0; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (in == NULL) || (out == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - if (inLen > RSA_KeyByteLen) - { - return CRYPTO_MSG_TOO_LONG; - } - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_pMsg = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - BN_Src = SDRM_BN_Alloc((cc_u8*)BN_pMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - BN_Cipher = SDRM_BN_Alloc((cc_u8*)BN_Src + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - SDRM_OS2BN(in, inLen, BN_Src); - - //Padding the message - switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm)) - { - case ID_RSAES_PKCS15 : - retVal = SDRM_Padding_Rsaes_pkcs15(BN_pMsg, BN_Src, SDRM_ENPADDING, RSA_KeyByteLen); - break; - case ID_RSAES_OAEP : - retVal = SDRM_Padding_Rsaes_oaep(BN_pMsg, BN_Src, SDRM_ENPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen); - break; - case ID_NO_PADDING : - SDRM_BN_Copy(BN_pMsg, BN_Src); - retVal = CRYPTO_SUCCESS; - break; - default : - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - -// SDRM_PrintBN("ENPADDED Text : ", BN_pMsg); - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - //RSA Encryption by modular exponent -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(BN_Cipher, BN_pMsg, crt->ctx->rsactx->e, crt->ctx->rsactx->n); -#else - retVal = SDRM_BN_ModExp(BN_Cipher, BN_pMsg, crt->ctx->rsactx->e, crt->ctx->rsactx->n); -#endif //_OP64_NOTSUPPORTED - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - SDRM_BN_GETBYTELEN(BN_Cipher, cipherLen); - - SDRM_I2OSP(BN_Cipher, cipherLen, out); - - if (outLen != NULL) - { - *outLen = cipherLen; - } - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_decrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) - * @brief RSA Decryption - * - * @param crt [in]rsa context - * @param in [in]message to decrypt - * @param inLen [in]byte-length of in - * @param out [out]decrypted message - * @param outLen [out]byte-length of out - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_decrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) -{ - SDRM_BIG_NUM *BN_dMsg, *BN_Plain, *BN_Src; - int retVal, plainLen; - cc_u32 RSA_KeyByteLen = 0; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (in == NULL) || (out == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - if (inLen > RSA_KeyByteLen) - { - return CRYPTO_MSG_TOO_LONG; - } - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_dMsg = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - BN_Src = SDRM_BN_Alloc((cc_u8*)BN_dMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - BN_Plain = SDRM_BN_Alloc((cc_u8*)BN_Src + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - SDRM_OS2BN(in, inLen, BN_Src); - - //RSA Decryption by modular exponent -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(BN_dMsg, BN_Src, crt->ctx->rsactx->d, crt->ctx->rsactx->n); -#else - retVal = SDRM_BN_ModExp(BN_dMsg, BN_Src, crt->ctx->rsactx->d, crt->ctx->rsactx->n); -#endif //_OP64_NOTSUPPORTED - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - //Remove Padding from message - switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm)) - { - case ID_RSAES_PKCS15 : - retVal = SDRM_Padding_Rsaes_pkcs15(BN_Plain, BN_dMsg, SDRM_DEPADDING, RSA_KeyByteLen); - break; - case ID_RSAES_OAEP : - retVal = SDRM_Padding_Rsaes_oaep(BN_Plain, BN_dMsg, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen); - break; - case ID_NO_PADDING : - SDRM_BN_Copy(BN_Plain, BN_dMsg); - retVal = CRYPTO_SUCCESS; - break; - default : - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - SDRM_BN_GETBYTELEN(BN_Plain, plainLen); - - SDRM_I2OSP(BN_Plain, plainLen, out); - - if (outLen != NULL) - { - *outLen = plainLen; - } - -// SDRM_PrintBN("DEPADDED Text : ", BN_Plain); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_decryptByCRT(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) - * @brief RSA Decryption using CRT - * - * @param crt [in]rsa context - * @param in [in]message to decrypt - * @param inLen [in]byte-length of in - * @param out [out]decrypted message - * @param outLen [out]byte-length of out - * - * @return CRYPTO_SUCCESS if no error is occured - * \n CRYPTO_NULL_POINTER if an argument is a null pointer - * \n CRYPTO_MEMORY_ALLOC_FAIL if memory allocation is failed - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_decryptByCRT(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) -{ - SDRM_BIG_NUM *BN_dMsg, *BN_Plain, *BN_Src; - int retVal, plainLen; - cc_u32 RSA_KeyByteLen = 0; - SDRM_BIG_NUM *pi, *temp1, *temp2, *m1, *m2, *h; - cc_u8 *pbBuf = NULL; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (in == NULL) || (out == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (crt->ctx->rsactx->crt_operation != 1) - { - return CRYPTO_INVALID_ARGUMENT; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - if (inLen > RSA_KeyByteLen) - { - return CRYPTO_MSG_TOO_LONG; - } - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 9); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_dMsg = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - BN_Src = SDRM_BN_Alloc((cc_u8*)BN_dMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - BN_Plain = SDRM_BN_Alloc((cc_u8*)BN_Src + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - pi = SDRM_BN_Alloc((cc_u8*)BN_Plain + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp1 = SDRM_BN_Alloc((cc_u8*)pi + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - m1 = SDRM_BN_Alloc((cc_u8*)temp2 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - m2 = SDRM_BN_Alloc((cc_u8*)m1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - h = SDRM_BN_Alloc((cc_u8*)m2 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - SDRM_OS2BN(in, inLen, BN_Src); - - //RSA Decryption by CRT - /* - dp = d mod (p - 1) - dq = d mod (q - 1) - qInv = (1/q) mod p where p > q - => - m1 = c^dp mod p - m2 = c^dq mod q - h = qInv(m1 - m2) mod p if (m1 >= m2) or h = qInv(m1 + p - m2) mod p if (m1 < m2) - m = m2 + hq - */ - - // Prepare variables - // 1. dP = d mod (p - 1) - // dP is already set when SDRM_RSA_setNEDPQ - - // 2. dQ = d mod (q - 1) - // dQ is already set when SDRM_RSA_setNEDPQ - - // 3. qInv = (1/q) mod p where p > q - // qInv is already set when SDRM_RSA_setNEDPQ - - // Computation - // 4. m1 = c^dP mod p - if(SDRM_BN_ModExp2(m1, BN_Src, crt->ctx->rsactx->dmodp1, crt->ctx->rsactx->p)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - // 5. m2 = c^dQ mod q - if(SDRM_BN_ModExp2(m2, BN_Src, crt->ctx->rsactx->dmodq1, crt->ctx->rsactx->q)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - // 6. h = qInv(m1 - m2) mod p if (m1 >= m2) or h = qInv(m1 + p - m2) mod p if (m1 < m2) - if(SDRM_BN_Cmp(m1, m2) < 0) - { - if(SDRM_BN_Add(m1, m1, crt->ctx->rsactx->p)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - } - - if(SDRM_BN_Sub(m1, m1, m2)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - if(SDRM_BN_ModMul(h, crt->ctx->rsactx->iqmodp, m1, crt->ctx->rsactx->p)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - // 7. m = m2 + hq - if(SDRM_BN_Mul(h, h, crt->ctx->rsactx->q)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - if(SDRM_BN_Add(BN_dMsg, m2, h)) - { - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - -// SDRM_PrintBN("OAEP Text : ", BN_dMsg); - - //Remove Padding from message - switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm)) - { - case ID_RSAES_PKCS15 : - retVal = SDRM_Padding_Rsaes_pkcs15(BN_Plain, BN_dMsg, SDRM_DEPADDING, RSA_KeyByteLen); - break; - case ID_RSAES_OAEP : - retVal = SDRM_Padding_Rsaes_oaep(BN_Plain, BN_dMsg, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen); - break; - case ID_NO_PADDING : - SDRM_BN_Copy(BN_Plain, BN_dMsg); - retVal = CRYPTO_SUCCESS; - break; - default : - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - SDRM_BN_GETBYTELEN(BN_Plain, plainLen); - - SDRM_I2OSP(BN_Plain, plainLen, out); - - if (outLen != NULL) - { - *outLen = plainLen; - } - -// SDRM_PrintBN("DEPADDED Text : ", BN_Plain); - - free(pbBuf); - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_RSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [out]generated signature - * @param signLen [out]byte-length of signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen) -{ - SDRM_BIG_NUM *BN_pMsg, *BN_Sign; - cc_u32 SignatureLength; - int retVal; - cc_u32 RSA_KeyByteLen = 0; - cc_u8 *pbBuf = NULL; - cc_u32 emBits; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (hash == NULL) || (signature == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - if (hashLen > RSA_KeyByteLen) - { - return CRYPTO_MSG_TOO_LONG; - } - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_pMsg = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - BN_Sign = SDRM_BN_Alloc((cc_u8*)BN_pMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - //Msg Padding - switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm)) - { - case ID_RSASSA_PKCS15 : - SDRM_Padding_Rsassa_pkcs15(BN_pMsg, NULL, hash, SDRM_ENPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen); - break; - case ID_RSASSA_PSS : - SDRM_BN_GETBITLEN(crt->ctx->rsactx->n, emBits); - SDRM_Padding_Rsassa_pss(BN_pMsg, NULL, hash, emBits, SDRM_ENPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), SDRM_CheckByteUINT32(crt->ctx->rsactx->n->pData, RSA_KeyByteLen - 1)); - break; - case ID_NO_PADDING : - SDRM_OS2BN(hash, hashLen, BN_pMsg); - break; - default : - free(pbBuf); - return CRYPTO_INVALID_ARGUMENT; - } - -// SDRM_PrintBN("ENPADDED Msg : ", BN_pMsg); - - //RSA Signature by modular exponent -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(BN_Sign, BN_pMsg, crt->ctx->rsactx->d, crt->ctx->rsactx->n); -#else - retVal = SDRM_BN_ModExp(BN_Sign, BN_pMsg, crt->ctx->rsactx->d, crt->ctx->rsactx->n); -#endif //_OP64_NOTSUPPORTED - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - SDRM_BN_GETBYTELEN(BN_Sign, SignatureLength); - SDRM_I2OSP(BN_Sign, SignatureLength, signature); - - if (signLen != NULL) - { - *signLen = SignatureLength; - } - - free(pbBuf); - - return retVal; -} - -/* - * @fn int SDRM_RSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result) - * @brief generate signature for given value - * - * @param crt [in]crypto env structure - * @param hash [in]hash value - * @param hashLen [in]byte-length of hash - * @param signature [in]signature - * @param signLen [in]byte-length of signature - * @param result [in]result of verifying signature - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if the length of signature is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_RSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result) -{ - SDRM_BIG_NUM *BN_dMsg, *BN_Sign; - int retVal; - cc_u32 RSA_KeyByteLen = 0; - cc_u8 *pbBuf = NULL; - cc_u32 emBits; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (hash == NULL) || (signature == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - RSA_KeyByteLen = crt->ctx->rsactx->k; - if (hashLen > RSA_KeyByteLen) - { - return CRYPTO_MSG_TOO_LONG; - } - - pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3); - if (pbBuf == NULL) - { - return CRYPTO_MEMORY_ALLOC_FAIL; - } - - BN_dMsg = SDRM_BN_Alloc((cc_u8*)pbBuf, SDRM_RSA_BN_BUFSIZE); - BN_Sign = SDRM_BN_Alloc((cc_u8*)BN_dMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE); - - SDRM_OS2BN(signature, signLen, BN_Sign); -// SDRM_PrintBN("Generated Sign : ", BN_Sign); - - //RSA Verification by modular exponent -#ifndef _OP64_NOTSUPPORTED - retVal = SDRM_BN_ModExp2(BN_dMsg, BN_Sign, crt->ctx->rsactx->e, crt->ctx->rsactx->n); -#else - retVal = SDRM_BN_ModExp(BN_dMsg, BN_Sign, crt->ctx->rsactx->e, crt->ctx->rsactx->n); -#endif //_OP64_NOTSUPPORTED - - if (retVal != CRYPTO_SUCCESS) - { - free(pbBuf); - return retVal; - } - - //Msg Depadding - switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm)) - { - case ID_RSASSA_PKCS15 : - *result = SDRM_Padding_Rsassa_pkcs15(NULL, BN_dMsg, hash, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen); - break; - case ID_RSASSA_PSS : - SDRM_BN_GETBITLEN(crt->ctx->rsactx->n, emBits); - *result = SDRM_Padding_Rsassa_pss(NULL, BN_dMsg, hash, emBits, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), SDRM_CheckByteUINT32(crt->ctx->rsactx->n->pData, RSA_KeyByteLen - 1)); - break; - case ID_NO_PADDING : - SDRM_OS2BN(hash, hashLen, BN_Sign); - if (SDRM_BN_Cmp(BN_Sign, BN_dMsg) == 0) - { - *result = CRYPTO_VALID_SIGN; - } - else - { - *result = CRYPTO_INVALID_SIGN; - } - - default : - break; - } - - SDRM_BN_FREE(pbBuf); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ - diff --git a/SPC/Src/middle/symmetric.c b/SPC/Src/middle/symmetric.c deleted file mode 100755 index e00eb28..0000000 --- a/SPC/Src/middle/symmetric.c +++ /dev/null @@ -1,1681 +0,0 @@ -/** - * \file symmetric.c - * @brief API for symmetric encryption - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon, Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/11/07 - */ - -//////////////////////////////////////////////////////////////////////////// -// Include Header Files -//////////////////////////////////////////////////////////////////////////// -#include "symmetric.h" -#include "moo.h" -#include "rc4.h" -#include "snow2.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_getEncRoundKey - * @brief get scheduled key for encryption - * - * @param Algorithm [in]cipher algorithm - * @param UserKey [in]user key - * @param RoundKey [out]round key - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_getEncRoundKey(int Algorithm, cc_u8* UserKey, cc_u8* RoundKey) -{ - if ((UserKey == NULL) || (RoundKey == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - switch (Algorithm) - { - case ID_AES128 : - SDRM_rijndaelKeySetupEnc((cc_u32*)(void*)RoundKey, UserKey, 128); - return CRYPTO_SUCCESS; - case ID_AES192 : - SDRM_rijndaelKeySetupEnc((cc_u32*)(void*)RoundKey, UserKey, 192); - return CRYPTO_SUCCESS; - case ID_AES256 : - SDRM_rijndaelKeySetupEnc((cc_u32*)(void*)RoundKey, UserKey, 256); - return CRYPTO_SUCCESS; - case ID_DES : - SDRM_DES_KeySched(RoundKey, UserKey, 0, 1); - return CRYPTO_SUCCESS; - case ID_TDES_EDE2 : - SDRM_TDES_KeySched(RoundKey, UserKey, 16, 1); - return CRYPTO_SUCCESS; - case ID_TDES_EDE3 : - SDRM_TDES_KeySched(RoundKey, UserKey, 24, 1); - return CRYPTO_SUCCESS; - default : - break; - } - - return CRYPTO_INVALID_ARGUMENT; -} - -/* - * @fn SDRM_getDecRoundKey - * @brief get scheduled key for decryption - * - * @param Algorithm [in]cipher algorithm - * @param UserKey [in]user key - * @param RoundKey [out]round key - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_getDecRoundKey(int Algorithm, cc_u8* UserKey, cc_u8* RoundKey) -{ - if ((UserKey == NULL) || (RoundKey == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - switch (Algorithm) - { - case ID_AES128 : - SDRM_rijndaelKeySetupDec((cc_u32*)(void*)RoundKey, UserKey, 128); - return CRYPTO_SUCCESS; - case ID_AES192 : - SDRM_rijndaelKeySetupDec((cc_u32*)(void*)RoundKey, UserKey, 192); - return CRYPTO_SUCCESS; - case ID_AES256 : - SDRM_rijndaelKeySetupDec((cc_u32*)(void*)RoundKey, UserKey, 256); - return CRYPTO_SUCCESS; - case ID_DES : - SDRM_DES_KeySched(RoundKey, UserKey, 15, (cc_u32)-1); - return CRYPTO_SUCCESS; - case ID_TDES_EDE2 : - SDRM_TDES_KeySched(RoundKey, UserKey, 16, (cc_u32)-1); - return CRYPTO_SUCCESS; - case ID_TDES_EDE3 : - SDRM_TDES_KeySched(RoundKey, UserKey, 24, (cc_u32)-1); - return CRYPTO_SUCCESS; - default : - break; - } - - return CRYPTO_INVALID_ARGUMENT; -} - -/* - * @fn SDRM_AES_init - * @brief intialize crypt context for aes - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_AES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->aesctx == NULL) || (key == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (!(((mode >= 1111) && (mode <= 1115)) || ((mode >= 1121) && (mode <= 1125)))) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (!((crt->alg == ID_AES128) && (keysize == 16)) && - !((crt->alg == ID_AES192) && (keysize == 24)) && - !((crt->alg == ID_AES256) && (keysize == 32))) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if ((crt->alg != ID_AES128) && (crt->alg != ID_AES192) && (crt->alg != ID_AES256)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if ((PADDING != 0) && (PADDING != ID_PKCS5) && (PADDING != ID_SSL_PADDING) && (PADDING != ID_ZERO_PADDING) && (PADDING != ID_NO_PADDING)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - crt->ctx->aesctx->moo = mode; - - crt->ctx->aesctx->padding = PADDING; - - if (mode != ID_DEC_ECB && mode != ID_DEC_CBC) - { - SDRM_getEncRoundKey(crt->alg, key, crt->ctx->aesctx->RoundKey); - } - else - { - SDRM_getDecRoundKey(crt->alg, key, crt->ctx->aesctx->RoundKey); - } - - if (IV) - { - memcpy(crt->ctx->aesctx->IV, IV, SDRM_AES_BLOCK_SIZ); - } - else - { - memset(crt->ctx->aesctx->IV, 0x00, SDRM_AES_BLOCK_SIZ); - } - - crt->ctx->aesctx->BlockLen = 0; - - GET_UINT32(crt->ctx->aesctx->CTR_Count, crt->ctx->aesctx->IV + 12, 0); - - return CRYPTO_SUCCESS; - -} - -/* - * @fn SDRM_AES_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param Text [in]message block - * @param TextLen [in]byte-length of Text - * @param output [out]proecessed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_AES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen) -{ - int i, Temp; - int retVal, BlockLen; - cc_u8 *Block; - cc_u32 tempLen = 0; - - if (outputLen != NULL) - { - *outputLen = 0; - } - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->aesctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - Block = crt->ctx->aesctx->Block; - BlockLen = crt->ctx->aesctx->BlockLen; - - if ((TextLen + BlockLen) < SDRM_AES_BLOCK_SIZ) - { - memcpy(Block + BlockLen, Text, TextLen); - crt->ctx->aesctx->BlockLen += TextLen; - return CRYPTO_SUCCESS; - } - - if (BlockLen) - { - memcpy(Block + BlockLen, Text, SDRM_AES_BLOCK_SIZ - BlockLen); - - switch(crt->ctx->aesctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - Temp = TextLen - SDRM_AES_BLOCK_SIZ + 1; - for (i = (SDRM_AES_BLOCK_SIZ - BlockLen) & 0x0f; i < Temp; i += SDRM_AES_BLOCK_SIZ) - { - switch(crt->ctx->aesctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++); - tempLen += SDRM_AES_BLOCK_SIZ; - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - crt->ctx->aesctx->BlockLen = (SDRM_AES_BLOCK_SIZ + TextLen - i) & 0x0f; - memcpy(Block, Text + TextLen - crt->ctx->aesctx->BlockLen, crt->ctx->aesctx->BlockLen); - - if (outputLen != 0) - { - *outputLen = tempLen; - } - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_AES_final - * @brief process final block and padding - * - * @param crt [in]crypto env structure - * @param input [in]message block - * @param inputLen [in]byte-length of Text - * @param output [out]processed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_AES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen) -{ - int retVal = CRYPTO_SUCCESS; - cc_u8 *Block, PADDING[16]; - cc_u32 BlockLen; - cc_u8 t; - - if (outputLen != NULL) - { - *outputLen = 0; - } - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->aesctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - Block = crt->ctx->aesctx->Block; - BlockLen = crt->ctx->aesctx->BlockLen; - - - if (crt->ctx->aesctx->moo >= ID_DEC_ECB) - { - goto DECRYPTION; - } - -//ENCRYPTION: - if (inputLen != 0) - { - unsigned int temp; - retVal = SDRM_AES_process(crt, input, inputLen, output, &temp); - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - retVal = SDRM_AES_final(crt, NULL, 0, output + temp, outputLen); - - if (outputLen) - { - *outputLen += temp; - } - - return retVal; - } - - if (outputLen != NULL) - { - *outputLen = SDRM_AES_BLOCK_SIZ; - } - - //padding - switch(crt->ctx->aesctx->padding) - { - case 0 : - case ID_PKCS5 : - memset(Block + BlockLen, SDRM_AES_BLOCK_SIZ - BlockLen, SDRM_AES_BLOCK_SIZ - BlockLen); - break; - case ID_SSL_PADDING : - memset(Block + BlockLen, SDRM_AES_BLOCK_SIZ - BlockLen - 1, SDRM_AES_BLOCK_SIZ - BlockLen); - break; - case ID_ZERO_PADDING : - memset(Block + BlockLen, 0x00, SDRM_AES_BLOCK_SIZ - BlockLen); - break; - case ID_NO_PADDING : - if (BlockLen == 0) - { - if (outputLen) - { - *outputLen = 0; - } - return CRYPTO_SUCCESS; - } - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - //encryption - switch(crt->ctx->aesctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey); - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++); - memcpy(output, Block, BlockLen); - if(outputLen != NULL) - { - *outputLen = BlockLen; - } - break; - default : - retVal = CRYPTO_INVALID_ARGUMENT; - break; - } - - return retVal; - -DECRYPTION: - if (outputLen != NULL) - { - *outputLen = 0; - } - - if ((inputLen == 0) && (crt->ctx->aesctx->padding == ID_NO_PADDING) && (crt->ctx->aesctx->moo != ID_DEC_CTR)) - { - return CRYPTO_SUCCESS; - } - - if (((BlockLen + inputLen) != SDRM_AES_BLOCK_SIZ) && (crt->ctx->aesctx->moo != ID_DEC_CTR)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (inputLen != 0) - { - memcpy(Block + BlockLen, input, inputLen); - } - - switch(crt->ctx->aesctx->moo) - { - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey); - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV); - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - //de-padding - - t = Block[SDRM_AES_BLOCK_SIZ - 1]; - - switch(crt->ctx->aesctx->padding) - { - case 0 : - case ID_PKCS5 : - if ((t > SDRM_AES_BLOCK_SIZ) || (t < 1)) - { - return CRYPTO_INVALID_ARGUMENT; - } - memset(PADDING, t, t); - break; - case ID_SSL_PADDING : - ++t; - if ((t > SDRM_AES_BLOCK_SIZ) || (t < 1)) - { - return CRYPTO_INVALID_ARGUMENT; - } - memset(PADDING, t - 1, t); - break; - case ID_ZERO_PADDING : - { - cc_u32 tmpLen; - tmpLen = SDRM_AES_BLOCK_SIZ; - while((tmpLen != 0x00) && (Block[tmpLen - 1] == 0x00)) - { - tmpLen--; - } - - memcpy(output, Block, tmpLen); - - if (outputLen != NULL) - { - *outputLen = tmpLen; - } - } - return CRYPTO_SUCCESS; - case ID_NO_PADDING : - { - cc_u32 tmpLen; - tmpLen = SDRM_AES_BLOCK_SIZ; - - if (crt->ctx->aesctx->moo == ID_DEC_CTR) - { - tmpLen = BlockLen + inputLen; - } - else - { - tmpLen = SDRM_AES_BLOCK_SIZ; - } - - memcpy(output, Block, tmpLen); - - if (outputLen != NULL) - { - *outputLen = tmpLen; - } - } - return CRYPTO_SUCCESS; - default : - if (outputLen != NULL) - { - *outputLen = 0; - } - return CRYPTO_INVALID_ARGUMENT; - } - - if (memcmp(PADDING, Block + SDRM_AES_BLOCK_SIZ - t, t) != 0) - { - return CRYPTO_INVALID_ARGUMENT; - } - - memcpy(output, Block, SDRM_AES_BLOCK_SIZ -t); - - if (outputLen != NULL) - { - *outputLen = SDRM_AES_BLOCK_SIZ - t; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_RC4_init - * @brief intialize crypt context for RC4 - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method, not needed - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector, not needed - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rc4ctx == NULL) || (key == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (keysize > 32) - { - return CRYPTO_INVALID_ARGUMENT; - } - - SDRM_RC4_Setup(crt->ctx->rc4ctx, key, keysize); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_RC4_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param in [in]message block - * @param inLen [in]byte-length of Text - * @param out [out]processed message - * @param outLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_RC4_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rc4ctx == NULL) || (in == NULL) || (out == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - - SDRM_RC4_PRNG(crt->ctx->rc4ctx, in, inLen, out); - - if (outLen != NULL) - { - *outLen = inLen; - } - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_SNOW2_init - * @brief intialize crypt context for SNOW2 - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method, not needed - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->snow2ctx == NULL) || (key == NULL) || (IV == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if ((keysize != 16) && (keysize != 32)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - SDRM_SNOW2_Setup(crt->ctx->snow2ctx, key, keysize, IV); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_SNOW2_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param in [in]message block - * @param inLen [in]byte-length of Text - * @param out [out]processed message - * @param outLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_SNOW2_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen) -{ - cc_u32 i, j, BlockLen, rpt, loc; - cc_u32 keyStream64[16], keyStream; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->snow2ctx == NULL) || (in == NULL) || (out == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if ((inLen & 0x03) != 0) - { - return CRYPTO_INVALID_ARGUMENT; - } - - BlockLen = inLen / 64; - - if (crt->ctx->snow2ctx->endian == CRYPTO_LITTLE_ENDIAN) - { //little endian machine - for (i = 0; i < BlockLen; i++) - { - SDRM_SNOW2_getKeyStream64(crt->ctx->snow2ctx, keyStream64); - - for (j = 0; j < 16; j++) - { - loc = i * 64 + j * 4; - out[loc ] = (cc_u8)(in[loc ] ^ ((keyStream64[j] >> 24) & 0xff)); - out[loc + 1] = (cc_u8)(in[loc + 1] ^ ((keyStream64[j] >> 16) & 0xff)); - out[loc + 2] = (cc_u8)(in[loc + 2] ^ ((keyStream64[j] >> 8) & 0xff)); - out[loc + 3] = (cc_u8)(in[loc + 3] ^ ((keyStream64[j] ) & 0xff)); - } - } - } - else - { //big endian machine - for (i = 0; i < BlockLen; i++) - { - SDRM_SNOW2_getKeyStream64(crt->ctx->snow2ctx, keyStream64); - - for (j = 0; j < 16; j++) - { - ((cc_u32*)(void*)out)[j] = ((cc_u32*)(void*)in)[j] ^ keyStream64[j]; - } - } - } - - in += BlockLen * 64; - out += BlockLen * 64; - - rpt = (inLen - (BlockLen * 64)) / 4; - - if (crt->ctx->snow2ctx->endian == CRYPTO_LITTLE_ENDIAN) - { //little endian machine - for (i = 0; i < rpt; i++) - { - SDRM_SNOW2_getKeyStream(crt->ctx->snow2ctx, &keyStream); - loc = i * 4; - out[loc ] = (cc_u8)(in[loc ] ^ ((keyStream >> 24) & 0xff)); - out[loc + 1] = (cc_u8)(in[loc + 1] ^ ((keyStream >> 16) & 0xff)); - out[loc + 2] = (cc_u8)(in[loc + 2] ^ ((keyStream >> 8) & 0xff)); - out[loc + 3] = (cc_u8)(in[loc + 3] ^ ((keyStream ) & 0xff)); - } - } - else - { //big endian machine - for (i = 0; i < rpt; i++) - { - SDRM_SNOW2_getKeyStream(crt->ctx->snow2ctx, &keyStream); - ((cc_u32*)(void*)out)[i] = ((cc_u32*)(void*)in)[i] ^ keyStream; - } - } - - if (outLen != NULL) - { - *outLen = inLen; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DES_init - * @brief intialize crypt context for des - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->desctx == NULL) || (key == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if ((keysize != 8) || !(((mode >= 1111) && (mode <= 1115)) || ((mode >= 1121) && (mode <= 1125)))) - { - return CRYPTO_INVALID_ARGUMENT; - } - - crt->ctx->desctx->moo = mode; - - if ((PADDING != 0) && (PADDING != ID_PKCS5) && (PADDING != ID_SSL_PADDING) && (PADDING != ID_ZERO_PADDING) && (PADDING != ID_NO_PADDING)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - crt->ctx->desctx->padding = PADDING; - - - if (mode != ID_DEC_ECB && mode != ID_DEC_CBC) - { - SDRM_getEncRoundKey(ID_DES, key, (cc_u8*)(crt->ctx->desctx->RoundKey)); - } - else - { - SDRM_getDecRoundKey(ID_DES, key, (cc_u8*)(crt->ctx->desctx->RoundKey)); - } - - crt->ctx->desctx->BlockLen = 0; - crt->ctx->desctx->CTR_Count = 0; - - memcpy(crt->ctx->desctx->UserKey, key, SDRM_DES_BLOCK_SIZ); - - if (IV) - { - memcpy(crt->ctx->desctx->IV, IV, SDRM_DES_BLOCK_SIZ); - } - else - { - memset(crt->ctx->desctx->IV, 0x00, SDRM_DES_BLOCK_SIZ); - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DES_process - * @brief process message block - * - * @param crt [in]crypto env structure - * @param Text [in]message block - * @param TextLen [in]byte-length of Text - * @param output [out]proecessed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen) -{ - int i, Temp; - int retVal, BlockLen; - cc_u8 *Block; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->desctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - Block = crt->ctx->desctx->Block; - BlockLen = crt->ctx->desctx->BlockLen; - - *outputLen = 0; - - if ((TextLen + BlockLen) < SDRM_DES_BLOCK_SIZ) - { - memcpy(Block + BlockLen, Text, TextLen); - crt->ctx->desctx->BlockLen += TextLen; - return CRYPTO_SUCCESS; - } - - if (BlockLen) - { - memcpy(Block + BlockLen, Text, SDRM_DES_BLOCK_SIZ - BlockLen); - - switch(crt->ctx->desctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - Temp = TextLen + BlockLen - SDRM_DES_BLOCK_SIZ + 1; - for (i = (SDRM_DES_BLOCK_SIZ - BlockLen) & 0x07; i < Temp; i += SDRM_DES_BLOCK_SIZ) - { - switch(crt->ctx->desctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - crt->ctx->desctx->BlockLen = (SDRM_DES_BLOCK_SIZ + TextLen - i) & 0x07; - memcpy(Block, Text + TextLen - crt->ctx->desctx->BlockLen, crt->ctx->desctx->BlockLen); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_DES_final - * @brief process final block and padding - * - * @param crt [in]crypto env structure - * @param input [in]message block - * @param inputLen [in]byte-length of Text - * @param output [out]processed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_DES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen) -{ - int retVal = CRYPTO_SUCCESS; - cc_u8 *Block, PADDING[16]; - cc_u32 BlockLen, t; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->desctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - Block = crt->ctx->desctx->Block; - BlockLen = crt->ctx->desctx->BlockLen; - - if (crt->ctx->desctx->moo >= ID_DEC_ECB) - { - goto DECRYPTION; - } - -//ENCRYPTION: - if (inputLen != 0) - { - retVal = SDRM_DES_process(crt, input, inputLen, output, outputLen); - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - retVal = SDRM_DES_final(crt, NULL, 0, output + *outputLen, &t); - *outputLen += t; - - return retVal; - } - - if (outputLen != NULL) - { - *outputLen = SDRM_DES_BLOCK_SIZ; - } - - //padding - switch(crt->ctx->desctx->padding) - { - case 0 : - case ID_PKCS5 : - memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen); - break; - case ID_SSL_PADDING : - memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen - 1, SDRM_DES_BLOCK_SIZ - BlockLen); - break; - case ID_ZERO_PADDING : - memset(Block + BlockLen, 0x00, SDRM_DES_BLOCK_SIZ - BlockLen); - break; - case ID_NO_PADDING : - if (BlockLen == 0) - { - if (outputLen) - { - *outputLen = 0; - } - return CRYPTO_SUCCESS; - } - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - - //encryption - switch(crt->ctx->desctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey); - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++); - break; - default : - retVal = CRYPTO_INVALID_ARGUMENT; - break; - } - - return retVal; - -DECRYPTION: - if (outputLen != NULL) - { - *outputLen = 0; - } - - if ((inputLen == 0) && (crt->ctx->desctx->padding == ID_NO_PADDING)) - { - return CRYPTO_SUCCESS; - } - - if ((BlockLen + inputLen) != SDRM_DES_BLOCK_SIZ) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (inputLen != 0) - { - memcpy(Block + BlockLen, input, inputLen); - } - - switch(crt->ctx->desctx->moo) - { - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey); - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV); - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - //de-padding - t = output[SDRM_DES_BLOCK_SIZ - 1]; - - switch(crt->ctx->desctx->padding) - { - case 0 : - case ID_PKCS5 : - if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1)) - { - return CRYPTO_INVALID_ARGUMENT; - } - memset(PADDING, t, t); - break; - case ID_SSL_PADDING : - ++t; - if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1)) - { - return CRYPTO_INVALID_ARGUMENT; - } - memset(PADDING, t - 1, t); - break; - case ID_ZERO_PADDING : - { - cc_u32 tmpLen; - tmpLen = SDRM_DES_BLOCK_SIZ; - while((tmpLen != 0x00) && (output[tmpLen - 1] == 0x00)) - { - tmpLen--; - } - - if (outputLen != NULL) - { - *outputLen = tmpLen; - } - } - return CRYPTO_SUCCESS; - case ID_NO_PADDING : - if (outputLen != NULL) - { - *outputLen = SDRM_DES_BLOCK_SIZ; - } - return CRYPTO_SUCCESS; - default : - if (outputLen != NULL) - { - *outputLen = 0; - } - return CRYPTO_INVALID_ARGUMENT; - } - - if (memcmp(PADDING, output + SDRM_DES_BLOCK_SIZ - t, t) != 0) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (outputLen != NULL) - { - *outputLen = SDRM_DES_BLOCK_SIZ - t; - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_TDES_init - * @brief intialize crypt context for triple des - * - * @param crt [out]crypto env structure - * @param mode [in]encryption|decryption and mode of operation - * @param PADDING [in]padding method - * @param key [in]user key - * @param keysize [in]byte-length of key - * @param IV [in]initial vector - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV) -{ - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->tdesctx == NULL) || (key == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - if (((keysize != 16) && (keysize != 24)) || !(((mode >= 1111) && (mode <= 1115)) || ((mode >= 1121) && (mode <= 1125)))) - { - return CRYPTO_INVALID_ARGUMENT; - } - - crt->ctx->tdesctx->moo = mode; - - if ((PADDING != 0) && (PADDING != ID_PKCS5) && (PADDING != ID_SSL_PADDING) && (PADDING != ID_ZERO_PADDING) && (PADDING != ID_NO_PADDING)) - { - return CRYPTO_INVALID_ARGUMENT; - } - - crt->ctx->tdesctx->padding = PADDING; - - if ((mode != ID_DEC_ECB) && (mode != ID_DEC_CBC)) - { - if (keysize == 16) - { - SDRM_getEncRoundKey(ID_TDES_EDE2, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey)); - } - else - { - SDRM_getEncRoundKey(ID_TDES_EDE3, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey)); - } - } else - { - if (keysize == 16) - { - SDRM_getDecRoundKey(ID_TDES_EDE2, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey)); - } - else - { - SDRM_getDecRoundKey(ID_TDES_EDE3, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey)); - } - } - - crt->ctx->tdesctx->BlockLen = 0; - crt->ctx->tdesctx->CTR_Count = 0; - - memcpy(crt->ctx->tdesctx->UserKey, key, SDRM_DES_BLOCK_SIZ); - - if (IV) - { - memcpy(crt->ctx->tdesctx->IV, IV, SDRM_DES_BLOCK_SIZ); - } - else - { - memset(crt->ctx->tdesctx->IV, 0x00, SDRM_DES_BLOCK_SIZ); - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn int SDRM_TDES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen) - * @brief process message block - * - * @param crt [in]crypto env structure - * @param Text [in]message block - * @param TextLen [in]byte-length of Text - * @param output [out]proecessed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen) -{ - int i, Temp; - int retVal, BlockLen; - cc_u8 *Block; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->tdesctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - Block = crt->ctx->tdesctx->Block; - BlockLen = crt->ctx->tdesctx->BlockLen; - - *outputLen = 0; - - if ((TextLen + BlockLen) < SDRM_DES_BLOCK_SIZ) - { - memcpy(Block + BlockLen, Text, TextLen); - crt->ctx->tdesctx->BlockLen += TextLen; - return CRYPTO_SUCCESS; - } - - if (BlockLen) - { - memcpy(Block + BlockLen, Text, SDRM_DES_BLOCK_SIZ - BlockLen); - - switch(crt->ctx->tdesctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - Temp = TextLen + BlockLen - SDRM_DES_BLOCK_SIZ + 1; - for (i = (SDRM_DES_BLOCK_SIZ - BlockLen) & 0x07; i < Temp; i += SDRM_DES_BLOCK_SIZ) - { - switch(crt->ctx->tdesctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++); - *outputLen += SDRM_DES_BLOCK_SIZ; - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - } - - crt->ctx->tdesctx->BlockLen = (SDRM_DES_BLOCK_SIZ + TextLen - i) & 0x07; - memcpy(Block, Text + TextLen - crt->ctx->tdesctx->BlockLen, crt->ctx->tdesctx->BlockLen); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn int SDRM_TDES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen) - * @brief process final block and padding - * - * @param crt [in]crypto env structure - * @param input [in]message block - * @param inputLen [in]byte-length of Text - * @param output [out]processed message - * @param outputLen [out]byte-length of output - * - * @return CRYPTO_SUCCESS if success - * \n CRYPTO_NULL_POINTER if given argument is a null pointer - * \n CRYPTO_INVALID_ARGUMENT if given argument is invalid - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen) -{ - int retVal = CRYPTO_SUCCESS; - cc_u8 *Block, PADDING[16]; - cc_u32 BlockLen, t; - - if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->tdesctx == NULL)) - { - return CRYPTO_NULL_POINTER; - } - - Block = crt->ctx->tdesctx->Block; - BlockLen = crt->ctx->tdesctx->BlockLen; - - - if (crt->ctx->tdesctx->moo >= ID_DEC_ECB) - { - goto DECRYPTION; - } - -//ENCRYPTION: - if (inputLen != 0) - { - retVal = SDRM_TDES_process(crt, input, inputLen, output, outputLen); - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - retVal = SDRM_TDES_final(crt, NULL, 0, output + *outputLen, &t); - *outputLen += t; - - return retVal; - } - - if (outputLen != NULL) - { - *outputLen = SDRM_DES_BLOCK_SIZ; - } - - //padding - switch(crt->ctx->tdesctx->padding) - { - case 0 : - case ID_PKCS5 : - memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen); - break; - case ID_SSL_PADDING : - memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen - 1, SDRM_DES_BLOCK_SIZ - BlockLen); - break; - case ID_ZERO_PADDING : - memset(Block + BlockLen, 0x00, SDRM_DES_BLOCK_SIZ - BlockLen); - break; - case ID_NO_PADDING : - if (BlockLen == 0) - { - if (outputLen) - { - *outputLen = 0; - } - return CRYPTO_SUCCESS; - } - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - //encryption - switch(crt->ctx->tdesctx->moo) - { - case ID_ENC_ECB : - retVal = SDRM_ECB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey); - break; - case ID_ENC_CBC : - retVal = SDRM_CBC_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - break; - case ID_ENC_CFB : - retVal = SDRM_CFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - break; - case ID_ENC_OFB : - retVal = SDRM_OFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - break; - case ID_ENC_CTR : - retVal = SDRM_CTR_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++); - break; - default : - retVal = CRYPTO_INVALID_ARGUMENT; - break; - } - - return retVal; - -DECRYPTION: - if (outputLen != NULL) - { - *outputLen = 0; - } - - if ((inputLen == 0) && (crt->ctx->tdesctx->padding == ID_NO_PADDING)) - { - return CRYPTO_SUCCESS; - } - - if ((BlockLen + inputLen) != SDRM_DES_BLOCK_SIZ) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (inputLen != 0) - { - memcpy(Block + BlockLen, input, inputLen); - } - - switch(crt->ctx->tdesctx->moo) - { - case ID_DEC_ECB : - retVal = SDRM_ECB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey); - break; - case ID_DEC_CBC : - retVal = SDRM_CBC_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - break; - case ID_DEC_CFB : - retVal = SDRM_CFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - break; - case ID_DEC_OFB : - retVal = SDRM_OFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV); - break; - case ID_DEC_CTR : - retVal = SDRM_CTR_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++); - break; - default : - return CRYPTO_INVALID_ARGUMENT; - } - - if (retVal != CRYPTO_SUCCESS) - { - return retVal; - } - - //de-padding - t = output[SDRM_DES_BLOCK_SIZ - 1]; - - switch(crt->ctx->tdesctx->padding) - { - case 0 : - case ID_PKCS5 : - if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1)) - { - return CRYPTO_INVALID_ARGUMENT; - } - memset(PADDING, t, t); - break; - case ID_SSL_PADDING : - ++t; - if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1)) - { - return CRYPTO_INVALID_ARGUMENT; - } - memset(PADDING, t - 1, t); - break; - case ID_ZERO_PADDING : - { - cc_u32 tmpLen; - tmpLen = SDRM_TDES_BLOCK_SIZ; - while((tmpLen != 0x00) && (output[tmpLen - 1] == 0x00)) - { - tmpLen--; - } - - if (outputLen != NULL) - { - *outputLen = tmpLen; - } - } - return CRYPTO_SUCCESS; - case ID_NO_PADDING : - if (outputLen != NULL) - { - *outputLen = SDRM_TDES_BLOCK_SIZ; - } - return CRYPTO_SUCCESS; - default : - if (outputLen != NULL) - { - *outputLen = 0; - } - return CRYPTO_INVALID_ARGUMENT; - } - - if (memcmp(PADDING, output + SDRM_TDES_BLOCK_SIZ - t, t) != 0) - { - return CRYPTO_INVALID_ARGUMENT; - } - - if (outputLen != NULL) - { - *outputLen = SDRM_DES_BLOCK_SIZ - t; - } - - return CRYPTO_SUCCESS; - -} - -/***************************** End of File *****************************/ diff --git a/SPC/Src/middle/tdes.c b/SPC/Src/middle/tdes.c deleted file mode 100755 index c727335..0000000 --- a/SPC/Src/middle/tdes.c +++ /dev/null @@ -1,131 +0,0 @@ -/** - * \file tdes.c - * @brief high-speed implementation of Triple DES-EDE - * - * - Copyright : Samsung Electronics CO.LTD., - * - * \internal - * Author : Jisoon Park - * Dept : DRM Lab, Digital Media Laboratory - * Creation date : 2006/12/06 - */ - -////////////////////////////////////////////////////////////////////////// -// Include Header Files -////////////////////////////////////////////////////////////////////////// -#include "tdes.h" -#include "des.h" - -//////////////////////////////////////////////////////////////////////////// -// Functions -//////////////////////////////////////////////////////////////////////////// -/* - * @fn SDRM_TDES_KeySched - * @brief Expand the cipher key into the encryption key schedule - * - * @param RoundKey [out]generated round key - * @param UserKey [in]user key, 16 or 24 byte - * @param KeyLen [in]byte-length of UserKey - * @param RKStep [in]operation mode - * - * @return the number of rounds for the given cipher key size - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 KeyLen, cc_u32 RKStep) -{ - - if (RKStep == 1) - { - SDRM_DES_KeySched(RoundKey, UserKey, 0, 1); - SDRM_DES_KeySched(RoundKey + 128, UserKey + 8, 15, (cc_u32)-1); - - if (KeyLen == 16) - { //2-key des - memcpy(RoundKey + 256, RoundKey, 128); - } - else - { //3-key des - SDRM_DES_KeySched(RoundKey + 256, UserKey + 16, 0, 1); - } - } - else { - SDRM_DES_KeySched(RoundKey + 256, UserKey, 15, (cc_u32)-1); - SDRM_DES_KeySched(RoundKey + 128, UserKey + 8, 0, 1); - - if (KeyLen == 16) - { //2-key des - memcpy(RoundKey, RoundKey + 256, 128); - } - else - { //3-key des - SDRM_DES_KeySched(RoundKey, UserKey + 16, 15, (cc_u32)-1); - } - } - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_TDES_Encryption - * @brief Triple DES processing for one block - * - * @param RoundKey [in]expanded round key - * @param msg [in]8 byte plaintext - * @param out [out]8 byte ciphertext - * - * @return CRYPTO_SUCCESS if no error is occured - */ -CRYPTOCORE_INTERNAL int SDRM_TDES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out) -{ - cc_u8 buf[8]; - - SDRM_DES_Encryption(RoundKey , msg, buf); - SDRM_DES_Encryption(RoundKey + 16, buf, buf); - SDRM_DES_Encryption(RoundKey + 32, buf, out); - - return CRYPTO_SUCCESS; -} - - -/* - * @fn SDRM_TDES64_Encryption - * @brief one block Triple DES Encryption - * - * @param cipherText [out]encrypted text - * @param plainText [in]plain text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_TDES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[48][2]; - - SDRM_TDES_KeySched((cc_u8*)RoundKey, UserKey, 16, 1); - - SDRM_TDES_Encryption(RoundKey, plainText, cipherText); - - return CRYPTO_SUCCESS; -} - -/* - * @fn SDRM_TDES64_Decryption - * @brief one block Triple DES Decryption - * - * @param plainText [out]decrypted text - * @param cipherText [in]cipher text - * @param UserKey [in]user key - * - * @return CRYPTO_SUCCESS if success - */ -CRYPTOCORE_INTERNAL int SDRM_TDES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey) -{ - cc_u32 RoundKey[48][2]; - - SDRM_TDES_KeySched((cc_u8*)RoundKey, UserKey, 16, (cc_u32)-1); - - SDRM_TDES_Encryption(RoundKey, cipherText, plainText); - - return CRYPTO_SUCCESS; -} - -/***************************** End of File *****************************/ diff --git a/SPC/gcc/Makefile b/SPC/gcc/Makefile deleted file mode 100755 index 39d4eee..0000000 --- a/SPC/gcc/Makefile +++ /dev/null @@ -1,102 +0,0 @@ -#################################################### -# Include Configure File # -#################################################### -include Makefile.conf - -#################################################### -# Target # -#################################################### -TARGET=libPAKEClient.a -TARGET_S=libPAKEClient.so - -#################################################### -# Definitions # -#################################################### -CC=$(CROSS_COMPILE)gcc -LD=$(CROSS_COMPILE)gcc -AR=$(CROSS_COMPILE)ar -CC=$(CROSS_COMPILE)gcc -CPP= $(CROSS_COMPILE)g++ -RANLIB=$(CROSS_COMPILE)ranlib - -LDFLAGS=-lm - -STATIC_SUFFIX=.a -SHARED_SUFFIX=.so - - -#################################################### -# PATH Define # -#################################################### -# base directories -BUILD_DIR = $(CRYPTOCORE_HOME)/gcc/build -INCLUDE_DIR = $(CRYPTOCORE_HOME)/Inc -SRC_DIR = $(CRYPTOCORE_HOME)/Src - -# build path -BUILD_PATH = $(BUILD_DIR)/$(PLATFORM) - -#################################################### -# Source Codes # -#################################################### -BUILD_FILES = base/aes.c base/ANSI_x931.c base/bignum.c base/des.c base/ecc.c base/fast_math.c base/hash.c base/md5.c base/moo.c base/pkcs1_v21.c base/rc4.c base/sha1.c base/sha2.c base/snow2.c -BUILD_FILES += middle/cmac.c middle/dh.c middle/dsa.c middle/ecdh.c middle/ecdsa.c middle/hmac.c middle/rng.c middle/rsa.c middle/symmetric.c middle/tdes.c -#BUILD_FILES += CC_API.c DRMLog.c WhiteBox/SDWAP.c WhiteBox/SDWAP_TblGen.c WhiteBox/SWAPv2.c WhiteBox/SWAPv2_TblGen.c SAKEP.cpp SPCApi.cpp Util.cpp DtcpCTcpSocket.cpp -BUILD_FILES += CC_API.c DRMLog.c WhiteBox/SDWAP.c WhiteBox/SDWAP_TblGen.c WhiteBox/SWAPv2.c WhiteBox/SWAPv2_TblGen.c SAKEP.cpp SPCApi.cpp Util.cpp -#################################################### -# Includes # -#################################################### -BUILD_INCS = -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/middle -I$(INCLUDE_DIR)/base -I$(INCLUDE_DIR)/WhiteBox - -#################################################### -# Make Options # -#################################################### -# Disable implicit suffix rules. -.SUFFIXES: - -# Configure class-based search paths. -vpath -vpath %.c $(SRC_DIR) -vpath %.c $(SRC_DIR)/middle -vpath %.c $(SRC_DIR)/base -vpath %.c $(SRC_DIR)/WhiteBox -vpath %.cpp $(SRC_DIR) -vpath %.o $(BUILD_PATH) - -# Filter out C object files we know how to build. -BUILD_C_OBJS := $(addsuffix .o, $(basename $(filter %.c, $(BUILD_FILES)))) -BUILD_CPP_OBJS := $(addsuffix .o, $(basename $(filter %.cpp, $(BUILD_FILES)))) - -# Append build directory path to object files. -OBJS := $(BUILD_C_OBJS:%.o=$(BUILD_PATH)/%.o) -OBJCPP := $(BUILD_CPP_OBJS:%.o=$(BUILD_PATH)/%.o) - -LDFLAGS += $(STATIC_LDFLAGS) - -all: $(BUILD_PATH)/$(TARGET) - -# Build library -$(BUILD_PATH)/$(TARGET): $(OBJS) $(OBJCPP) - @echo -- Archiving static and dynamic library SAKEP Client -- - @echo $(BUILD_PATH)/$(TARGET_S) $(BUILD_PATH)/$(TARGET) - @mkdir -p $(dir $@) - @$(AR) cr $@ $(OBJS) $(OBJCPP) - @$(CC) -shared -o $(BUILD_PATH)/$(TARGET_S) -Wl,--whole-archive $(BUILD_PATH)/$(TARGET) -Wl,--no-whole-archive -# @rm -rf $(OBJS) $(OBJCPP) $(BUILD_PATH)/base $(BUILD_PATH)/middle $(BUILD_PATH)/WhiteBox -# @rm -rf $(OBJCPP) $(BUILD_PATH)/base $(BUILD_PATH)/middle $(BUILD_PATH)/WhiteBox $(BUILD_PATH) - -# Compile C source -$(BUILD_PATH)/%.o: %.c - @echo $(notdir $<) - @mkdir -p $(dir $@) - $(CC) $(CFLAGS) $(BUILD_INCS) -c $< -o $@ - -# Compile CPP source -$(BUILD_PATH)/%.o: %.cpp - @echo $(notdir $<) - @mkdir -p $(dir $@) - $(CPP) $(CFLAGS) $(BUILD_INCS) -c $< -o $@ - -clean: - @echo -- Clean $(SRC_NAME) -- - @rm -rf $(BUILD_PATH) diff --git a/SPC/gcc/Makefile.conf b/SPC/gcc/Makefile.conf deleted file mode 100755 index 61e2967..0000000 --- a/SPC/gcc/Makefile.conf +++ /dev/null @@ -1,68 +0,0 @@ -#################################################### -# User Definitions # -#################################################### - - - -PLATFORM=linux -#PLATFORM=A1 -#PLATFORM=Chelsea -#PLATFORM=DRMe -#PLATFORM=Canmore -#PLATFORM=Valencia - -#CFLAGS= -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -#CFLAGS= -O2 -D_WIN32_ -D_WIN -D_WIN32_WCE -DMTHREAD -D_REENTRANT -DPRINT_LOG -#CFLAGS= -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -D_WIN32_ -#CFLAGS= -O2 -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -D_WIN - -CFLAGS= -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -g -D_DRMLOG_DISABLE -lstdc++ - - - -HOST_OS := $(shell uname -s | tr A-Z a-z | cut -d'_' -f1) -ifeq ($(HOST_OS),mingw32) - CFLAGS+= -D_WIN -endif -#################################################### -# Options # -#################################################### -ifeq ($(PLATFORM), linux) - CROSS_COMPILE= - - CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char - CFLAGS+= -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive - - -else ifeq ($(PLATFORM), A1) - CROSS_COMPILE=arm_v6_vfp_le- - - CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fstrict-overflow -fsigned-char - CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes - -else ifeq ($(PLATFORM), Chelsea) - CROSS_COMPILE=arm_v6_vfp_le- - - CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fstrict-overflow -fsigned-char - CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes - -else ifeq ($(PLATFORM), Valencia) - CROSS_COMPILE=arm_v7_vfp_le- - - CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fstrict-overflow -fsigned-char - CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes - -else ifeq ($(PLATFORM), DRMe) - CROSS_COMPILE=arm-linux- - - CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char - CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes - -else ifeq ($(PLATFORM), Canmore) - CROSS_COMPILE=i686-cm-linux- - - CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char - CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes -endif - -CRYPTOCORE_HOME=.. diff --git a/SPC/gcc/SPC_Client b/SPC/gcc/SPC_Client deleted file mode 100755 index 7109a6f..0000000 Binary files a/SPC/gcc/SPC_Client and /dev/null differ diff --git a/SPC/gcc/TestCompile b/SPC/gcc/TestCompile deleted file mode 100755 index 650240e..0000000 --- a/SPC/gcc/TestCompile +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -rm -rf test -echo g++ -o SPC_Client ../../SPC_Client/Src/SPC_Client_SampleCode.cpp -L./build/linux/ -I../Inc/ -I../Inc/base -I../Inc/middle -I../Inc/WhileBox -lPAKEClient -g++ -o SPC_Client ../../SPC_Client/Src/SPC_Client_SampleCode.cpp -L./build/linux/ -I../Inc/ -I../Inc/base -I../Inc/middle -I../Inc/WhileBox -lPAKEClient diff --git a/SPC/gcc/result.txt b/SPC/gcc/result.txt deleted file mode 100755 index 28def8a..0000000 --- a/SPC/gcc/result.txt +++ /dev/null @@ -1,789 +0,0 @@ -aes.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/aes.c -o ../gcc/build/linux/base/aes.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/aes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupEnc': -../Src/base/aes.c:815:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupDec': -../Src/base/aes.c:869:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelEncrypt': -../Src/base/aes.c:1065:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelDecrypt': -../Src/base/aes.c:1261:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES128_Encryption': -../Src/base/aes.c:1282:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES128_Decryption': -../Src/base/aes.c:1303:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES192_Encryption': -../Src/base/aes.c:1324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES192_Decryption': -../Src/base/aes.c:1345:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES256_Encryption': -../Src/base/aes.c:1366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES256_Decryption': -../Src/base/aes.c:1387:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ANSI_x931.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/ANSI_x931.c -o ../gcc/build/linux/base/ANSI_x931.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/ANSI_x931.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/ANSI_x931.c: In function 'SDRM_RNG_X931': -../Src/base/ANSI_x931.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -bignum.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/bignum.c -o ../gcc/build/linux/base/bignum.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/bignum.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/bignum.c: In function 'SDRM_DWD_Classical_REDC': -../Src/base/bignum.c:768:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_DIGIT_Gcd': -../Src/base/bignum.c:798:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_PrintBN': -../Src/base/bignum.c:838:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN2OS': -../Src/base/bignum.c:921:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_I2OSP': -../Src/base/bignum.c:986:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Clr': -../Src/base/bignum.c:1004:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Copy': -../Src/base/bignum.c:1028:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Alloc': -../Src/base/bignum.c:1053:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Init': -../Src/base/bignum.c:1079:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Cmp': -../Src/base/bignum.c:1102:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Cmp_sign': -../Src/base/bignum.c:1134:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Rand': -../Src/base/bignum.c:1167:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_SHL': -../Src/base/bignum.c:1215:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_OS2BN': -../Src/base/bignum.c:961:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_SHR': -../Src/base/bignum.c:1266:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Add': -../Src/base/bignum.c:1376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Sub': -../Src/base/bignum.c:1477:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Mul': -../Src/base/bignum.c:1532:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Div': -../Src/base/bignum.c:1633:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModRed': -../Src/base/bignum.c:1828:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModSub': -../Src/base/bignum.c:1779:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModAdd': -../Src/base/bignum.c:1709:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModMul': -../Src/base/bignum.c:1878:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModInv': -../Src/base/bignum.c:2019:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Rzn2zn': -../Src/base/bignum.c:2093:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Mul': -../Src/base/bignum.c:2171:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Init': -../Src/base/bignum.c:2328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Free': -../Src/base/bignum.c:2343:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_num_bits': -../Src/base/bignum.c:2369:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Set': -../Src/base/bignum.c:2300:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_UINT32_num_bits': -../Src/base/bignum.c:2398:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_INT_num_bits': -../Src/base/bignum.c:2424:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModExp': -../Src/base/bignum.c:2502:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModExp2': -../Src/base/bignum.c:2584:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_CheckRelativelyPrime': -../Src/base/bignum.c:2643:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_MILLER_RABIN': -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: At top level: -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -des.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/des.c -o ../gcc/build/linux/base/des.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/des.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/des.c: In function 'SDRM_DES_KeySched': -../Src/base/des.c:79:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES_Encryption': -../Src/base/des.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES64_Encryption': -../Src/base/des.c:145:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES64_Decryption': -../Src/base/des.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecc.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/ecc.c -o ../gcc/build/linux/base/ecc.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/ecc.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/ecc.c: In function 'SDRM_ECC_Init': -../Src/base/ecc.c:47:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CURVE_Init': -../Src/base/ecc.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CHECK_EC_POINT_ZERO': -../Src/base/ecc.c:121:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_Mont_Jm2Jc': -../Src/base/ecc.c:157:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_Mont_Jc2Jm': -../Src/base/ecc.c:190:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add': -../Src/base/ecc.c:283:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jc': -../Src/base/ecc.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add_Jc': -../Src/base/ecc.c:414:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jm': -../Src/base/ecc.c:607:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Chain': -../Src/base/ecc.c:784:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_kP': -../Src/base/ecc.c:989:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_2kP': -../Src/base/ecc.c:1274:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -fast_math.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/fast_math.c -o ../gcc/build/linux/base/fast_math.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/fast_math.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/fast_math.c: In function 'SDRM_ll_Cmp': -../Src/base/fast_math.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Copy': -../Src/base/fast_math.c:73:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_RShift': -../Src/base/fast_math.c:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_LShift': -../Src/base/fast_math.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_getMSW': -../Src/base/fast_math.c:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_getMSB': -../Src/base/fast_math.c:174:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitValue': -../Src/base/fast_math.c:191:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitsValue': -../Src/base/fast_math.c:245:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Add': -../Src/base/fast_math.c:280:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_AddCarry': -../Src/base/fast_math.c:311:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Sub': -../Src/base/fast_math.c:340:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Mul1': -../Src/base/fast_math.c:375:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd1': -../Src/base/fast_math.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd': -../Src/base/fast_math.c:431:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Mul': -../Src/base/fast_math.c:453:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Square': -../Src/base/fast_math.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Rem': -../Src/base/fast_math.c:539:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Inverse': -../Src/base/fast_math.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Rem': -../Src/base/fast_math.c:617:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Square': -../Src/base/fast_math.c:646:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Mul': -../Src/base/fast_math.c:689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_ExpMod': -../Src/base/fast_math.c:906:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -hash.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/hash.c -o ../gcc/build/linux/base/hash.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/hash.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/hash.c: In function 'SDRM_SHA1_init': -../Src/base/hash.c:43:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_update': -../Src/base/hash.c:66:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_final': -../Src/base/hash.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_hash': -../Src/base/hash.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_init': -../Src/base/hash.c:135:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_update': -../Src/base/hash.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_final': -../Src/base/hash.c:179:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_hash': -../Src/base/hash.c:205:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_init': -../Src/base/hash.c:226:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_update': -../Src/base/hash.c:249:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_final': -../Src/base/hash.c:270:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_hash': -../Src/base/hash.c:296:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_init': -../Src/base/hash.c:319:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_update': -../Src/base/hash.c:342:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_final': -../Src/base/hash.c:364:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_hash': -../Src/base/hash.c:390:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_init': -../Src/base/hash.c:411:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_update': -../Src/base/hash.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_final': -../Src/base/hash.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_hash': -../Src/base/hash.c:482:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_init': -../Src/base/hash.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_update': -../Src/base/hash.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_final': -../Src/base/hash.c:550:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_hash': -../Src/base/hash.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -md5.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/md5.c -o ../gcc/build/linux/base/md5.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/md5.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/md5.c: In function 'SDRM_MD5_Init': -../Src/base/md5.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/md5.c: In function 'SDRM_MD5_Update': -../Src/base/md5.c:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/md5.c: In function 'SDRM_MD5_Final': -../Src/base/md5.c:165:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -moo.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/moo.c -o ../gcc/build/linux/base/moo.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/moo.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/moo.c: In function 'SDRM_ECB_Enc': -../Src/base/moo.c:55:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_ECB_Dec': -../Src/base/moo.c:91:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CBC_Enc': -../Src/base/moo.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CBC_Dec': -../Src/base/moo.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CFB_Enc': -../Src/base/moo.c:289:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CFB_Dec': -../Src/base/moo.c:348:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_OFB_Enc': -../Src/base/moo.c:407:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CTR_Enc': -../Src/base/moo.c:485:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -pkcs1_v21.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/pkcs1_v21.c -o ../gcc/build/linux/base/pkcs1_v21.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/pkcs1_v21.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_pkcs15': -../Src/base/pkcs1_v21.c:155:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pkcs15': -../Src/base/pkcs1_v21.c:564:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_MGF1': -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pss': -../Src/base/pkcs1_v21.c:825:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_oaep': -../Src/base/pkcs1_v21.c:417:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: At top level: -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rc4.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/rc4.c -o ../gcc/build/linux/base/rc4.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/rc4.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/rc4.c: In function 'SDRM_RC4_Setup': -../Src/base/rc4.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/rc4.c: In function 'SDRM_RC4_PRNG': -../Src/base/rc4.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -sha1.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/sha1.c -o ../gcc/build/linux/base/sha1.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/sha1.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/sha1.c: In function 'SDRM_SHA1_Init': -../Src/base/sha1.c:137:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_SHA1_Update': -../Src/base/sha1.c:318:5: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_SHA1_Final': -../Src/base/sha1.c:367:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_endianTest': -../Src/base/sha1.c:469:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -sha2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/sha2.c -o ../gcc/build/linux/base/sha2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/sha2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/sha2.c: In function 'SDRM_SHA256_Transf': -../Src/base/sha2.c:321:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Init': -../Src/base/sha2.c:333:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Update': -../Src/base/sha2.c:366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Final': -../Src/base/sha2.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Transf': -../Src/base/sha2.c:444:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Init': -../Src/base/sha2.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Update': -../Src/base/sha2.c:489:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Final': -../Src/base/sha2.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Init': -../Src/base/sha2.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Update': -../Src/base/sha2.c:561:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Final': -../Src/base/sha2.c:586:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Init': -../Src/base/sha2.c:601:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Update': -../Src/base/sha2.c:635:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Final': -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: At top level: -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -snow2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/base/snow2.c -o ../gcc/build/linux/base/snow2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/snow2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/snow2.c: In function 'SDRM_SNOW2_Setup': -../Src/base/snow2.c:344:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream64': -../Src/base/snow2.c:374:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream': -../Src/base/snow2.c:402:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -cmac.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/cmac.c -o ../gcc/build/linux/middle/cmac.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/cmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/cmac.c: In function 'SDRM_CMAC_init': -../Src/middle/cmac.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_update': -../Src/middle/cmac.c:173:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_final': -../Src/middle/cmac.c:219:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_getMAC': -../Src/middle/cmac.c:258:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -dh.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/dh.c -o ../gcc/build/linux/middle/dh.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/dh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/dh.c: In function 'SDRM_GenerateDHParam': -../Src/middle/dh.c:119:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_SetDHParam': -../Src/middle/dh.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_GenerateDHPrivate': -../Src/middle/dh.c:232:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_GetDHSharedSecret': -../Src/middle/dh.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_FreeDHContext': -../Src/middle/dh.c:330:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -dsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/dsa.c -o ../gcc/build/linux/middle/dsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/dsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/dsa.c: In function 'SDRM_Add_DW2BA': -../Src/middle/dsa.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_InitCrt': -../Src/middle/dsa.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_SetParam': -../Src/middle/dsa.c:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_SetKeyPair': -../Src/middle/dsa.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_GenParam': -../Src/middle/dsa.c:358:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_GenKeypair': -../Src/middle/dsa.c:429:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_sign': -../Src/middle/dsa.c:509:2: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_verify': -../Src/middle/dsa.c:600:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecdh.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdh.c -o ../gcc/build/linux/middle/ecdh.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/ecdh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/ecdh.c: In function 'SDRM_generateDH1stPhaseKey': -../Src/middle/ecdh.c:101:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdh.c: In function 'SDRM_generateDHKey': -../Src/middle/ecdh.c:202:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecdsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdsa.c -o ../gcc/build/linux/middle/ecdsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/ecdsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_KEY_GEN': -../Src/middle/ecdsa.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_GEN': -../Src/middle/ecdsa.c:212:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_VERIFY': -../Src/middle/ecdsa.c:363:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_sign': -../Src/middle/ecdsa.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_verify': -../Src/middle/ecdsa.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_Set_CTX': -../Src/middle/ecdsa.c:531:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_genKeypair': -../Src/middle/ecdsa.c:598:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_setKeypair': -../Src/middle/ecdsa.c:662:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -hmac.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/hmac.c -o ../gcc/build/linux/middle/hmac.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/hmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/hmac.c: In function 'SDRM_HMAC_update': -../Src/middle/hmac.c:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_final': -../Src/middle/hmac.c:433:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_getK0': -../Src/middle/hmac.c:570:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_init': -../Src/middle/hmac.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_getMAC': -../Src/middle/hmac.c:472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rng.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/rng.c -o ../gcc/build/linux/middle/rng.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/rng.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/rng.c: In function 'SDRM_X931_seed': -../Src/middle/rng.c:41:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rng.c: In function 'SDRM_X931_get': -../Src/middle/rng.c:67:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/rsa.c -o ../gcc/build/linux/middle/rsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/rsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/rsa.c: In function 'SDRM_RSA_InitCrt': -../Src/middle/rsa.c:58:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_setNED': -../Src/middle/rsa.c:105:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_setNEDPQ': -../Src/middle/rsa.c:218:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateKey': -../Src/middle/rsa.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateND': -../Src/middle/rsa.c:520:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateDwithPQE': -../Src/middle/rsa.c:665:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_encrypt': -../Src/middle/rsa.c:762:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_decrypt': -../Src/middle/rsa.c:859:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_decryptByCRT': -../Src/middle/rsa.c:1029:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_sign': -../Src/middle/rsa.c:1117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_verify': -../Src/middle/rsa.c:1206:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -symmetric.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/symmetric.c -o ../gcc/build/linux/middle/symmetric.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/symmetric.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/symmetric.c: In function 'SDRM_getEncRoundKey': -../Src/middle/symmetric.c:68:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_getDecRoundKey': -../Src/middle/symmetric.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_init': -../Src/middle/symmetric.c:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_process': -../Src/middle/symmetric.c:351:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_final': -../Src/middle/symmetric.c:606:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_RC4_init': -../Src/middle/symmetric.c:638:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_RC4_process': -../Src/middle/symmetric.c:670:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_SNOW2_init': -../Src/middle/symmetric.c:703:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_SNOW2_process': -../Src/middle/symmetric.c:797:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_init': -../Src/middle/symmetric.c:860:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_process': -../Src/middle/symmetric.c:1014:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_final': -../Src/middle/symmetric.c:1231:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_init': -../Src/middle/symmetric.c:1306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_process': -../Src/middle/symmetric.c:1460:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_final': -../Src/middle/symmetric.c:1679:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -tdes.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/middle/tdes.c -o ../gcc/build/linux/middle/tdes.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/tdes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/tdes.c: In function 'SDRM_TDES_KeySched': -../Src/middle/tdes.c:65:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES_Encryption': -../Src/middle/tdes.c:86:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES64_Encryption': -../Src/middle/tdes.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES64_Decryption': -../Src/middle/tdes.c:129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -CC_API.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/CC_API.c -o ../gcc/build/linux/CC_API.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/CC_API.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/CC_API.c: In function 'CCMalloc': -../Src/CC_API.c:46:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'CCFree': -../Src/CC_API.c:54:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'create_CryptoCoreContainer': -../Src/CC_API.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'destroy_CryptoCoreContainer': -../Src/CC_API.c:438:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -DRMLog.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/DRMLog.c -o ../gcc/build/linux/DRMLog.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/DRMLog.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -SDWAP.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP.c -o ../gcc/build/linux/WhiteBox/SDWAP.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SDWAP.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SDWAP.c: In function 'SDWAP_Process': -../Src/WhiteBox/SDWAP.c:498:15: warning: variable 'Nk' set but not used [-Wunused-but-set-variable] -../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP.c: At top level: -../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SDWAP_TblGen.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP_TblGen.c -o ../gcc/build/linux/WhiteBox/SDWAP_TblGen.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation': -../Src/WhiteBox/SDWAP_TblGen.c:210:25: warning: initialization makes integer from pointer without a cast [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'MakeEachKeyLookup': -../Src/WhiteBox/SDWAP_TblGen.c:252:17: warning: unused variable 'pBeforeLKCol' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GeneratePVector': -../Src/WhiteBox/SDWAP_TblGen.c:1309:15: warning: variable 'rnd' set but not used [-Wunused-but-set-variable] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable': -../Src/WhiteBox/SDWAP_TblGen.c:1566:22: warning: unused variable 'pKeyBitPBox' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c:1565:23: warning: unused variable 'pKeyBytePBox' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c: At top level: -../Src/WhiteBox/SDWAP_TblGen.c:1372:13: warning: 'SDWAP_GeneratePVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1418:13: warning: 'SDWAP_GenerateInvPVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1464:13: warning: 'SDWAP_GenerateInvPVector_fstest' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1494:13: warning: 'SDWAP_ConvertPBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1522:13: warning: 'SDWAP_RandomizePBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation': -../Src/WhiteBox/SDWAP_TblGen.c:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation_LK': -../Src/WhiteBox/SDWAP_TblGen.c:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateBitPBox': -../Src/WhiteBox/SDWAP_TblGen.c:521:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_ProcessBitPBox': -../Src/WhiteBox/SDWAP_TblGen.c:590:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable': -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: At top level: -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SWAPv2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2.c -o ../gcc/build/linux/WhiteBox/SWAPv2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SWAPv2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SWAPv2.c: In function 'SWAPv2_Process': -../Src/WhiteBox/SWAPv2.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SWAPv2_TblGen.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2_TblGen.c -o ../gcc/build/linux/WhiteBox/SWAPv2_TblGen.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation': -../Src/WhiteBox/SWAPv2_TblGen.c:275:25: warning: initialization makes integer from pointer without a cast [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBytePBox': -../Src/WhiteBox/SWAPv2_TblGen.c:434:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] -../Src/WhiteBox/SWAPv2_TblGen.c: At top level: -../Src/WhiteBox/SWAPv2_TblGen.c:1119:13: warning: 'GeneratePVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1165:13: warning: 'GenerateInvPVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1211:13: warning: 'GenerateInvPVector_fstest' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1241:13: warning: 'ConvertPBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1269:13: warning: 'RandomizePBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation': -../Src/WhiteBox/SWAPv2_TblGen.c:294:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBitPBox': -../Src/WhiteBox/SWAPv2_TblGen.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'SWAPv2_GenerateTable': -../Src/WhiteBox/SWAPv2_TblGen.c:1456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SAKEP.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/SAKEP.cpp -o ../gcc/build/linux/SAKEP.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/SAKEP.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)': -../Src/SAKEP.cpp:277:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp:278:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:419:16: warning: unused variable 'pDecryptedGx' [-Wunused-variable] -../Src/SAKEP.cpp:420:15: warning: unused variable 'nDecryptedGxLen' [-Wunused-variable] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:574:16: warning: unused variable 'pWc' [-Wunused-variable] -../Src/SAKEP.cpp:575:15: warning: unused variable 'nWcLen' [-Wunused-variable] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:5114:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:8210:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi()': -../Src/SAKEP.cpp:64:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi(Handle_CTX*, ModeType)': -../Src/SAKEP.cpp:76:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void* SAkepApi::SAKEPMalloc(int)': -../Src/SAKEP.cpp:100:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::SAKEPFree(void*)': -../Src/SAKEP.cpp:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'SAKEPContainer* SAkepApi::create_SAKEPContainer()': -../Src/SAKEP.cpp:131:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::destroy_SAKEPContainer(SAKEPContainer*)': -../Src/SAKEP.cpp:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptGy(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptGx(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)': -../Src/SAKEP.cpp:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer*, unsigned char*, unsigned int, unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:396:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetGy(unsigned char*, unsigned int, unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:560:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerAck(Handle_CTX*, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1201:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParserClientAck(Handle_CTX*, unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1323:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPrivatekeyY(unsigned char*)': -../Src/SAKEP.cpp:1689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPrivatekeyY(unsigned char*)': -../Src/SAKEP.cpp:1696:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetMac(unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1714:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMac(unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMyMacLen(unsigned int*)': -../Src/SAKEP.cpp:1728:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPublicKeyY(unsigned char*)': -../Src/SAKEP.cpp:1735:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPublicKeyY(unsigned char*)': -../Src/SAKEP.cpp:1744:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptParameterDataWithWB(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:1756:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptParameterDataWithWB(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:1769:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:5117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ApplyPasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1966:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseClientHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ReversePasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:2021:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1681:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:1771:13: warning: 'void X931_Prng(unsigned char*, unsigned char*, unsigned int, unsigned char*)' defined but not used [-Wunused-function] -SPCApi.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/SPCApi.cpp -o ../gcc/build/linux/SPCApi.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/SPCApi.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/SPCApi.cpp: In constructor 'SPCApi::SPCApi()': -../Src/SPCApi.cpp:25:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: At global scope: -../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::InitSPCContext(SPCHandle_CTX*, ModeType, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'void SPCApi::DestroySPCContext(SPCHandle_CTX*)': -../Src/SPCApi.cpp:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'void SPCApi::ClearSPCSessionContext(SPCHandle_CTX*)': -../Src/SPCApi.cpp:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:204:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerAck(SPCHandle_CTX*, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientAck(SPCHandle_CTX*, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:265:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:297:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -Util.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/Util.cpp -o ../gcc/build/linux/Util.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/Util.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -DtcpCTcpSocket.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.. -/Inc/base -I../Inc/WhiteBox -c ../Src/DtcpCTcpSocket.cpp -o ../gcc/build/linux/DtcpCTcpSocket.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/DtcpCTcpSocket.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -In file included from ../Src/DtcpCTcpSocket.cpp:5:0: -../Inc/DtcpCTcpSocket.h:35:32: fatal error: sys/socket.h: No such file or directory -compilation terminated. -make: *** [../gcc/build/linux/DtcpCTcpSocket.o] Error 1 - -jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc -$ \ No newline at end of file diff --git a/SPC/gcc/result2.txt b/SPC/gcc/result2.txt deleted file mode 100755 index e0c0b60..0000000 --- a/SPC/gcc/result2.txt +++ /dev/null @@ -1,1576 +0,0 @@ - -aes.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/aes.c -o ../gcc/build/linux/base/aes.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/aes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupEnc': -../Src/base/aes.c:815:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupDec': -../Src/base/aes.c:869:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelEncrypt': -../Src/base/aes.c:1065:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelDecrypt': -../Src/base/aes.c:1261:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES128_Encryption': -../Src/base/aes.c:1282:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES128_Decryption': -../Src/base/aes.c:1303:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES192_Encryption': -../Src/base/aes.c:1324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES192_Decryption': -../Src/base/aes.c:1345:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES256_Encryption': -../Src/base/aes.c:1366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES256_Decryption': -../Src/base/aes.c:1387:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ANSI_x931.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/ANSI_x931.c -o ../gcc/build/linux/base/ANSI_x931.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/ANSI_x931.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/ANSI_x931.c: In function 'SDRM_RNG_X931': -../Src/base/ANSI_x931.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -bignum.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/bignum.c -o ../gcc/build/linux/base/bignum.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/bignum.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/bignum.c: In function 'SDRM_DWD_Classical_REDC': -../Src/base/bignum.c:768:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_DIGIT_Gcd': -../Src/base/bignum.c:798:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_PrintBN': -../Src/base/bignum.c:838:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN2OS': -../Src/base/bignum.c:921:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_I2OSP': -../Src/base/bignum.c:986:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Clr': -../Src/base/bignum.c:1004:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Copy': -../Src/base/bignum.c:1028:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Alloc': -../Src/base/bignum.c:1053:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Init': -../Src/base/bignum.c:1079:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Cmp': -../Src/base/bignum.c:1102:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Cmp_sign': -../Src/base/bignum.c:1134:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Rand': -../Src/base/bignum.c:1167:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_SHL': -../Src/base/bignum.c:1215:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_OS2BN': -../Src/base/bignum.c:961:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_SHR': -../Src/base/bignum.c:1266:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Add': -../Src/base/bignum.c:1376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Sub': -../Src/base/bignum.c:1477:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Mul': -../Src/base/bignum.c:1532:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Div': -../Src/base/bignum.c:1633:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModRed': -../Src/base/bignum.c:1828:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModSub': -../Src/base/bignum.c:1779:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModAdd': -../Src/base/bignum.c:1709:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModMul': -../Src/base/bignum.c:1878:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModInv': -../Src/base/bignum.c:2019:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Rzn2zn': -../Src/base/bignum.c:2093:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Mul': -../Src/base/bignum.c:2171:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Init': -../Src/base/bignum.c:2328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Free': -../Src/base/bignum.c:2343:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_num_bits': -../Src/base/bignum.c:2369:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Set': -../Src/base/bignum.c:2300:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_UINT32_num_bits': -../Src/base/bignum.c:2398:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_INT_num_bits': -../Src/base/bignum.c:2424:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModExp': -../Src/base/bignum.c:2502:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModExp2': -../Src/base/bignum.c:2584:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_CheckRelativelyPrime': -../Src/base/bignum.c:2643:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_MILLER_RABIN': -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: At top level: -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -des.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/des.c -o ../gcc/build/linux/base/des.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/des.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/des.c: In function 'SDRM_DES_KeySched': -../Src/base/des.c:79:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES_Encryption': -../Src/base/des.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES64_Encryption': -../Src/base/des.c:145:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES64_Decryption': -../Src/base/des.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecc.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/ecc.c -o ../gcc/build/linux/base/ecc.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/ecc.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/ecc.c: In function 'SDRM_ECC_Init': -../Src/base/ecc.c:47:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CURVE_Init': -../Src/base/ecc.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CHECK_EC_POINT_ZERO': -../Src/base/ecc.c:121:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_Mont_Jm2Jc': -../Src/base/ecc.c:157:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_Mont_Jc2Jm': -../Src/base/ecc.c:190:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add': -../Src/base/ecc.c:283:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jc': -../Src/base/ecc.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add_Jc': -../Src/base/ecc.c:414:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jm': -../Src/base/ecc.c:607:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Chain': -../Src/base/ecc.c:784:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_kP': -../Src/base/ecc.c:989:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_2kP': -../Src/base/ecc.c:1274:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -fast_math.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/fast_math.c -o ../gcc/build/linux/base/fast_math.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/fast_math.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/fast_math.c: In function 'SDRM_ll_Cmp': -../Src/base/fast_math.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Copy': -../Src/base/fast_math.c:73:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_RShift': -../Src/base/fast_math.c:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_LShift': -../Src/base/fast_math.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_getMSW': -../Src/base/fast_math.c:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_getMSB': -../Src/base/fast_math.c:174:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitValue': -../Src/base/fast_math.c:191:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitsValue': -../Src/base/fast_math.c:245:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Add': -../Src/base/fast_math.c:280:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_AddCarry': -../Src/base/fast_math.c:311:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Sub': -../Src/base/fast_math.c:340:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Mul1': -../Src/base/fast_math.c:375:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd1': -../Src/base/fast_math.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd': -../Src/base/fast_math.c:431:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Mul': -../Src/base/fast_math.c:453:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Square': -../Src/base/fast_math.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Rem': -../Src/base/fast_math.c:539:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Inverse': -../Src/base/fast_math.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Rem': -../Src/base/fast_math.c:617:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Square': -../Src/base/fast_math.c:646:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Mul': -../Src/base/fast_math.c:689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_ExpMod': -../Src/base/fast_math.c:906:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -hash.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/hash.c -o ../gcc/build/linux/base/hash.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/hash.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/hash.c: In function 'SDRM_SHA1_init': -../Src/base/hash.c:43:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_update': -../Src/base/hash.c:66:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_final': -../Src/base/hash.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_hash': -../Src/base/hash.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_init': -../Src/base/hash.c:135:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_update': -../Src/base/hash.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_final': -../Src/base/hash.c:179:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_hash': -../Src/base/hash.c:205:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_init': -../Src/base/hash.c:226:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_update': -../Src/base/hash.c:249:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_final': -../Src/base/hash.c:270:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_hash': -../Src/base/hash.c:296:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_init': -../Src/base/hash.c:319:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_update': -../Src/base/hash.c:342:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_final': -../Src/base/hash.c:364:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_hash': -../Src/base/hash.c:390:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_init': -../Src/base/hash.c:411:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_update': -../Src/base/hash.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_final': -../Src/base/hash.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_hash': -../Src/base/hash.c:482:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_init': -../Src/base/hash.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_update': -../Src/base/hash.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_final': -../Src/base/hash.c:550:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_hash': -../Src/base/hash.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -md5.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/md5.c -o ../gcc/build/linux/base/md5.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/md5.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/md5.c: In function 'SDRM_MD5_Init': -../Src/base/md5.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/md5.c: In function 'SDRM_MD5_Update': -../Src/base/md5.c:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/md5.c: In function 'SDRM_MD5_Final': -../Src/base/md5.c:165:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -moo.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/moo.c -o ../gcc/build/linux/base/moo.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/moo.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/moo.c: In function 'SDRM_ECB_Enc': -../Src/base/moo.c:55:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_ECB_Dec': -../Src/base/moo.c:91:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CBC_Enc': -../Src/base/moo.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CBC_Dec': -../Src/base/moo.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CFB_Enc': -../Src/base/moo.c:289:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CFB_Dec': -../Src/base/moo.c:348:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_OFB_Enc': -../Src/base/moo.c:407:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CTR_Enc': -../Src/base/moo.c:485:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -pkcs1_v21.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/pkcs1_v21.c -o ../gcc/build/linux/base/pkcs1_v21.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/pkcs1_v21.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_pkcs15': -../Src/base/pkcs1_v21.c:155:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pkcs15': -../Src/base/pkcs1_v21.c:564:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_MGF1': -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pss': -../Src/base/pkcs1_v21.c:825:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_oaep': -../Src/base/pkcs1_v21.c:417:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: At top level: -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rc4.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/rc4.c -o ../gcc/build/linux/base/rc4.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/rc4.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/rc4.c: In function 'SDRM_RC4_Setup': -../Src/base/rc4.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/rc4.c: In function 'SDRM_RC4_PRNG': -../Src/base/rc4.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -sha1.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha1.c -o ../gcc/build/linux/base/sha1.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/sha1.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/sha1.c: In function 'SDRM_SHA1_Init': -../Src/base/sha1.c:137:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_SHA1_Update': -../Src/base/sha1.c:318:5: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_SHA1_Final': -../Src/base/sha1.c:367:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_endianTest': -../Src/base/sha1.c:469:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -sha2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha2.c -o ../gcc/build/linux/base/sha2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/sha2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/sha2.c: In function 'SDRM_SHA256_Transf': -../Src/base/sha2.c:321:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Init': -../Src/base/sha2.c:333:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Update': -../Src/base/sha2.c:366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Final': -../Src/base/sha2.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Transf': -../Src/base/sha2.c:444:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Init': -../Src/base/sha2.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Update': -../Src/base/sha2.c:489:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Final': -../Src/base/sha2.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Init': -../Src/base/sha2.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Update': -../Src/base/sha2.c:561:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Final': -../Src/base/sha2.c:586:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Init': -../Src/base/sha2.c:601:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Update': -../Src/base/sha2.c:635:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Final': -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: At top level: -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -snow2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/snow2.c -o ../gcc/build/linux/base/snow2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/snow2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/snow2.c: In function 'SDRM_SNOW2_Setup': -../Src/base/snow2.c:344:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream64': -../Src/base/snow2.c:374:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream': -../Src/base/snow2.c:402:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -cmac.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/cmac.c -o ../gcc/build/linux/middle/cmac.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/cmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/cmac.c: In function 'SDRM_CMAC_init': -../Src/middle/cmac.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_update': -../Src/middle/cmac.c:173:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_final': -../Src/middle/cmac.c:219:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_getMAC': -../Src/middle/cmac.c:258:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -dh.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dh.c -o ../gcc/build/linux/middle/dh.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/dh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/dh.c: In function 'SDRM_GenerateDHParam': -../Src/middle/dh.c:119:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_SetDHParam': -../Src/middle/dh.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_GenerateDHPrivate': -../Src/middle/dh.c:232:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_GetDHSharedSecret': -../Src/middle/dh.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_FreeDHContext': -../Src/middle/dh.c:330:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -dsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dsa.c -o ../gcc/build/linux/middle/dsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/dsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/dsa.c: In function 'SDRM_Add_DW2BA': -../Src/middle/dsa.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_InitCrt': -../Src/middle/dsa.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_SetParam': -../Src/middle/dsa.c:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_SetKeyPair': -../Src/middle/dsa.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_GenParam': -../Src/middle/dsa.c:358:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_GenKeypair': -../Src/middle/dsa.c:429:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_sign': -../Src/middle/dsa.c:509:2: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_verify': -../Src/middle/dsa.c:600:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecdh.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdh.c -o ../gcc/build/linux/middle/ecdh.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/ecdh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/ecdh.c: In function 'SDRM_generateDH1stPhaseKey': -../Src/middle/ecdh.c:101:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdh.c: In function 'SDRM_generateDHKey': -../Src/middle/ecdh.c:202:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecdsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdsa.c -o ../gcc/build/linux/middle/ecdsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/ecdsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_KEY_GEN': -../Src/middle/ecdsa.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_GEN': -../Src/middle/ecdsa.c:212:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_VERIFY': -../Src/middle/ecdsa.c:363:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_sign': -../Src/middle/ecdsa.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_verify': -../Src/middle/ecdsa.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_Set_CTX': -../Src/middle/ecdsa.c:531:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_genKeypair': -../Src/middle/ecdsa.c:598:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_setKeypair': -../Src/middle/ecdsa.c:662:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -hmac.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/hmac.c -o ../gcc/build/linux/middle/hmac.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/hmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/hmac.c: In function 'SDRM_HMAC_update': -../Src/middle/hmac.c:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_final': -../Src/middle/hmac.c:433:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_getK0': -../Src/middle/hmac.c:570:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_init': -../Src/middle/hmac.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_getMAC': -../Src/middle/hmac.c:472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rng.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rng.c -o ../gcc/build/linux/middle/rng.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/rng.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/rng.c: In function 'SDRM_X931_seed': -../Src/middle/rng.c:41:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rng.c: In function 'SDRM_X931_get': -../Src/middle/rng.c:67:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rsa.c -o ../gcc/build/linux/middle/rsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/rsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/rsa.c: In function 'SDRM_RSA_InitCrt': -../Src/middle/rsa.c:58:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_setNED': -../Src/middle/rsa.c:105:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_setNEDPQ': -../Src/middle/rsa.c:218:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateKey': -../Src/middle/rsa.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateND': -../Src/middle/rsa.c:520:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateDwithPQE': -../Src/middle/rsa.c:665:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_encrypt': -../Src/middle/rsa.c:762:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_decrypt': -../Src/middle/rsa.c:859:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_decryptByCRT': -../Src/middle/rsa.c:1029:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_sign': -../Src/middle/rsa.c:1117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_verify': -../Src/middle/rsa.c:1206:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -symmetric.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/symmetric.c -o ../gcc/build/linux/middle/symmetric.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/symmetric.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/symmetric.c: In function 'SDRM_getEncRoundKey': -../Src/middle/symmetric.c:68:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_getDecRoundKey': -../Src/middle/symmetric.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_init': -../Src/middle/symmetric.c:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_process': -../Src/middle/symmetric.c:351:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_final': -../Src/middle/symmetric.c:606:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_RC4_init': -../Src/middle/symmetric.c:638:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_RC4_process': -../Src/middle/symmetric.c:670:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_SNOW2_init': -../Src/middle/symmetric.c:703:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_SNOW2_process': -../Src/middle/symmetric.c:797:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_init': -../Src/middle/symmetric.c:860:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_process': -../Src/middle/symmetric.c:1014:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_final': -../Src/middle/symmetric.c:1231:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_init': -../Src/middle/symmetric.c:1306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_process': -../Src/middle/symmetric.c:1460:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_final': -../Src/middle/symmetric.c:1679:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -tdes.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/tdes.c -o ../gcc/build/linux/middle/tdes.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/tdes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/tdes.c: In function 'SDRM_TDES_KeySched': -../Src/middle/tdes.c:65:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES_Encryption': -../Src/middle/tdes.c:86:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES64_Encryption': -../Src/middle/tdes.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES64_Decryption': -../Src/middle/tdes.c:129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -CC_API.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/CC_API.c -o ../gcc/build/linux/CC_API.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/CC_API.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/CC_API.c: In function 'CCMalloc': -../Src/CC_API.c:46:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'CCFree': -../Src/CC_API.c:54:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'create_CryptoCoreContainer': -../Src/CC_API.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'destroy_CryptoCoreContainer': -../Src/CC_API.c:438:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -DRMLog.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/DRMLog.c -o ../gcc/build/linux/DRMLog.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/DRMLog.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -SDWAP.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP.c -o ../gcc/build/linux/WhiteBox/SDWAP.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SDWAP.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SDWAP.c: In function 'SDWAP_Process': -../Src/WhiteBox/SDWAP.c:498:15: warning: variable 'Nk' set but not used [-Wunused-but-set-variable] -../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP.c: At top level: -../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SDWAP_TblGen.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP_TblGen.c -o ../gcc/build/linux/WhiteBox/SDWAP_TblGen.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation': -../Src/WhiteBox/SDWAP_TblGen.c:210:25: warning: initialization makes integer from pointer without a cast [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'MakeEachKeyLookup': -../Src/WhiteBox/SDWAP_TblGen.c:252:17: warning: unused variable 'pBeforeLKCol' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GeneratePVector': -../Src/WhiteBox/SDWAP_TblGen.c:1309:15: warning: variable 'rnd' set but not used [-Wunused-but-set-variable] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable': -../Src/WhiteBox/SDWAP_TblGen.c:1566:22: warning: unused variable 'pKeyBitPBox' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c:1565:23: warning: unused variable 'pKeyBytePBox' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c: At top level: -../Src/WhiteBox/SDWAP_TblGen.c:1372:13: warning: 'SDWAP_GeneratePVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1418:13: warning: 'SDWAP_GenerateInvPVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1464:13: warning: 'SDWAP_GenerateInvPVector_fstest' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1494:13: warning: 'SDWAP_ConvertPBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1522:13: warning: 'SDWAP_RandomizePBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation': -../Src/WhiteBox/SDWAP_TblGen.c:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation_LK': -../Src/WhiteBox/SDWAP_TblGen.c:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateBitPBox': -../Src/WhiteBox/SDWAP_TblGen.c:521:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_ProcessBitPBox': -../Src/WhiteBox/SDWAP_TblGen.c:590:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable': -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: At top level: -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SWAPv2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2.c -o ../gcc/build/linux/WhiteBox/SWAPv2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SWAPv2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SWAPv2.c: In function 'SWAPv2_Process': -../Src/WhiteBox/SWAPv2.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SWAPv2_TblGen.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2_TblGen.c -o ../gcc/build/linux/WhiteBox/SWAPv2_TblGen.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation': -../Src/WhiteBox/SWAPv2_TblGen.c:275:25: warning: initialization makes integer from pointer without a cast [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBytePBox': -../Src/WhiteBox/SWAPv2_TblGen.c:434:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] -../Src/WhiteBox/SWAPv2_TblGen.c: At top level: -../Src/WhiteBox/SWAPv2_TblGen.c:1119:13: warning: 'GeneratePVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1165:13: warning: 'GenerateInvPVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1211:13: warning: 'GenerateInvPVector_fstest' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1241:13: warning: 'ConvertPBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1269:13: warning: 'RandomizePBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation': -../Src/WhiteBox/SWAPv2_TblGen.c:294:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBitPBox': -../Src/WhiteBox/SWAPv2_TblGen.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'SWAPv2_GenerateTable': -../Src/WhiteBox/SWAPv2_TblGen.c:1456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SAKEP.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/SAKEP.cpp -o ../gcc/build/linux/SAKEP.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/SAKEP.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)': -../Src/SAKEP.cpp:277:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp:278:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:419:16: warning: unused variable 'pDecryptedGx' [-Wunused-variable] -../Src/SAKEP.cpp:420:15: warning: unused variable 'nDecryptedGxLen' [-Wunused-variable] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:574:16: warning: unused variable 'pWc' [-Wunused-variable] -../Src/SAKEP.cpp:575:15: warning: unused variable 'nWcLen' [-Wunused-variable] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:5114:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:8210:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi()': -../Src/SAKEP.cpp:64:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi(Handle_CTX*, ModeType)': -../Src/SAKEP.cpp:76:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void* SAkepApi::SAKEPMalloc(int)': -../Src/SAKEP.cpp:100:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::SAKEPFree(void*)': -../Src/SAKEP.cpp:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'SAKEPContainer* SAkepApi::create_SAKEPContainer()': -../Src/SAKEP.cpp:131:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::destroy_SAKEPContainer(SAKEPContainer*)': -../Src/SAKEP.cpp:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptGy(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptGx(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)': -../Src/SAKEP.cpp:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer*, unsigned char*, unsigned int, unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:396:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetGy(unsigned char*, unsigned int, unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:560:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerAck(Handle_CTX*, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1201:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParserClientAck(Handle_CTX*, unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1323:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPrivatekeyY(unsigned char*)': -../Src/SAKEP.cpp:1689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPrivatekeyY(unsigned char*)': -../Src/SAKEP.cpp:1696:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetMac(unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1714:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMac(unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMyMacLen(unsigned int*)': -../Src/SAKEP.cpp:1728:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPublicKeyY(unsigned char*)': -../Src/SAKEP.cpp:1735:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPublicKeyY(unsigned char*)': -../Src/SAKEP.cpp:1744:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptParameterDataWithWB(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:1756:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptParameterDataWithWB(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:1769:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:5117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ApplyPasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1966:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseClientHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ReversePasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:2021:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1681:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:1771:13: warning: 'void X931_Prng(unsigned char*, unsigned char*, unsigned int, unsigned char*)' defined but not used [-Wunused-function] -SPCApi.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/SPCApi.cpp -o ../gcc/build/linux/SPCApi.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/SPCApi.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/SPCApi.cpp: In constructor 'SPCApi::SPCApi()': -../Src/SPCApi.cpp:25:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: At global scope: -../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::InitSPCContext(SPCHandle_CTX*, ModeType, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'void SPCApi::DestroySPCContext(SPCHandle_CTX*)': -../Src/SPCApi.cpp:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'void SPCApi::ClearSPCSessionContext(SPCHandle_CTX*)': -../Src/SPCApi.cpp:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:204:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerAck(SPCHandle_CTX*, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientAck(SPCHandle_CTX*, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:265:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:297:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -Util.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/Util.cpp -o ../gcc/build/linux/Util.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/Util.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] --- Archiving static and dynamic library SAKEP Client -- -../gcc/build/linux/libPAKEClient.so ../gcc/build/linux/libPAKEClient.a - -jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc -$ make clean --- Clean -- - -jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc -$ make -aes.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/aes.c -o ../gcc/build/linux/base/aes.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/aes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupEnc': -../Src/base/aes.c:815:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupDec': -../Src/base/aes.c:869:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelEncrypt': -../Src/base/aes.c:1065:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_rijndaelDecrypt': -../Src/base/aes.c:1261:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES128_Encryption': -../Src/base/aes.c:1282:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES128_Decryption': -../Src/base/aes.c:1303:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES192_Encryption': -../Src/base/aes.c:1324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES192_Decryption': -../Src/base/aes.c:1345:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES256_Encryption': -../Src/base/aes.c:1366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/aes.c: In function 'SDRM_AES256_Decryption': -../Src/base/aes.c:1387:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ANSI_x931.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/ANSI_x931.c -o ../gcc/build/linux/base/ANSI_x931.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/ANSI_x931.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/ANSI_x931.c: In function 'SDRM_RNG_X931': -../Src/base/ANSI_x931.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -bignum.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/bignum.c -o ../gcc/build/linux/base/bignum.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/bignum.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/bignum.c: In function 'SDRM_DWD_Classical_REDC': -../Src/base/bignum.c:768:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_DIGIT_Gcd': -../Src/base/bignum.c:798:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_PrintBN': -../Src/base/bignum.c:838:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN2OS': -../Src/base/bignum.c:921:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_I2OSP': -../Src/base/bignum.c:986:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Clr': -../Src/base/bignum.c:1004:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Copy': -../Src/base/bignum.c:1028:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Alloc': -../Src/base/bignum.c:1053:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Init': -../Src/base/bignum.c:1079:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Cmp': -../Src/base/bignum.c:1102:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Cmp_sign': -../Src/base/bignum.c:1134:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Rand': -../Src/base/bignum.c:1167:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_SHL': -../Src/base/bignum.c:1215:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_OS2BN': -../Src/base/bignum.c:961:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_SHR': -../Src/base/bignum.c:1266:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Add': -../Src/base/bignum.c:1376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Sub': -../Src/base/bignum.c:1477:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Mul': -../Src/base/bignum.c:1532:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_Div': -../Src/base/bignum.c:1633:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModRed': -../Src/base/bignum.c:1828:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModSub': -../Src/base/bignum.c:1779:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModAdd': -../Src/base/bignum.c:1709:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModMul': -../Src/base/bignum.c:1878:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModInv': -../Src/base/bignum.c:2019:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Rzn2zn': -../Src/base/bignum.c:2093:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Mul': -../Src/base/bignum.c:2171:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Init': -../Src/base/bignum.c:2328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Free': -../Src/base/bignum.c:2343:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_num_bits': -../Src/base/bignum.c:2369:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_MONT_Set': -../Src/base/bignum.c:2300:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_UINT32_num_bits': -../Src/base/bignum.c:2398:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_INT_num_bits': -../Src/base/bignum.c:2424:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModExp': -../Src/base/bignum.c:2502:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_ModExp2': -../Src/base/bignum.c:2584:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_CheckRelativelyPrime': -../Src/base/bignum.c:2643:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: In function 'SDRM_BN_MILLER_RABIN': -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c: At top level: -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -des.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/des.c -o ../gcc/build/linux/base/des.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/des.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/des.c: In function 'SDRM_DES_KeySched': -../Src/base/des.c:79:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES_Encryption': -../Src/base/des.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES64_Encryption': -../Src/base/des.c:145:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/des.c: In function 'SDRM_DES64_Decryption': -../Src/base/des.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecc.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/ecc.c -o ../gcc/build/linux/base/ecc.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/ecc.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/ecc.c: In function 'SDRM_ECC_Init': -../Src/base/ecc.c:47:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CURVE_Init': -../Src/base/ecc.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CHECK_EC_POINT_ZERO': -../Src/base/ecc.c:121:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_Mont_Jm2Jc': -../Src/base/ecc.c:157:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_Mont_Jc2Jm': -../Src/base/ecc.c:190:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add': -../Src/base/ecc.c:283:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jc': -../Src/base/ecc.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add_Jc': -../Src/base/ecc.c:414:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jm': -../Src/base/ecc.c:607:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_Chain': -../Src/base/ecc.c:784:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_kP': -../Src/base/ecc.c:989:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/ecc.c: In function 'SDRM_CTX_EC_2kP': -../Src/base/ecc.c:1274:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -fast_math.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/fast_math.c -o ../gcc/build/linux/base/fast_math.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/fast_math.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/fast_math.c: In function 'SDRM_ll_Cmp': -../Src/base/fast_math.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Copy': -../Src/base/fast_math.c:73:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_RShift': -../Src/base/fast_math.c:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_LShift': -../Src/base/fast_math.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_getMSW': -../Src/base/fast_math.c:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_getMSB': -../Src/base/fast_math.c:174:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitValue': -../Src/base/fast_math.c:191:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitsValue': -../Src/base/fast_math.c:245:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Add': -../Src/base/fast_math.c:280:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_AddCarry': -../Src/base/fast_math.c:311:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Sub': -../Src/base/fast_math.c:340:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Mul1': -../Src/base/fast_math.c:375:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd1': -../Src/base/fast_math.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd': -../Src/base/fast_math.c:431:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Mul': -../Src/base/fast_math.c:453:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Square': -../Src/base/fast_math.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_Rem': -../Src/base/fast_math.c:539:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Inverse': -../Src/base/fast_math.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Rem': -../Src/base/fast_math.c:617:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Square': -../Src/base/fast_math.c:646:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_mont_Mul': -../Src/base/fast_math.c:689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/fast_math.c: In function 'SDRM_ll_ExpMod': -../Src/base/fast_math.c:906:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -hash.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/hash.c -o ../gcc/build/linux/base/hash.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/hash.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/hash.c: In function 'SDRM_SHA1_init': -../Src/base/hash.c:43:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_update': -../Src/base/hash.c:66:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_final': -../Src/base/hash.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA1_hash': -../Src/base/hash.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_init': -../Src/base/hash.c:135:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_update': -../Src/base/hash.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_final': -../Src/base/hash.c:179:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA224_hash': -../Src/base/hash.c:205:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_init': -../Src/base/hash.c:226:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_update': -../Src/base/hash.c:249:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_final': -../Src/base/hash.c:270:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA256_hash': -../Src/base/hash.c:296:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_init': -../Src/base/hash.c:319:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_update': -../Src/base/hash.c:342:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_final': -../Src/base/hash.c:364:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA384_hash': -../Src/base/hash.c:390:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_init': -../Src/base/hash.c:411:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_update': -../Src/base/hash.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_final': -../Src/base/hash.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_SHA512_hash': -../Src/base/hash.c:482:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_init': -../Src/base/hash.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_update': -../Src/base/hash.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_final': -../Src/base/hash.c:550:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/hash.c: In function 'SDRM_MD5_hash': -../Src/base/hash.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -md5.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/md5.c -o ../gcc/build/linux/base/md5.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/md5.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/md5.c: In function 'SDRM_MD5_Init': -../Src/base/md5.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/md5.c: In function 'SDRM_MD5_Update': -../Src/base/md5.c:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/md5.c: In function 'SDRM_MD5_Final': -../Src/base/md5.c:165:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -moo.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/moo.c -o ../gcc/build/linux/base/moo.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/moo.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/moo.c: In function 'SDRM_ECB_Enc': -../Src/base/moo.c:55:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_ECB_Dec': -../Src/base/moo.c:91:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CBC_Enc': -../Src/base/moo.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CBC_Dec': -../Src/base/moo.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CFB_Enc': -../Src/base/moo.c:289:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CFB_Dec': -../Src/base/moo.c:348:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_OFB_Enc': -../Src/base/moo.c:407:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/moo.c: In function 'SDRM_CTR_Enc': -../Src/base/moo.c:485:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -pkcs1_v21.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/pkcs1_v21.c -o ../gcc/build/linux/base/pkcs1_v21.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/pkcs1_v21.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_pkcs15': -../Src/base/pkcs1_v21.c:155:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pkcs15': -../Src/base/pkcs1_v21.c:564:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_MGF1': -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pss': -../Src/base/pkcs1_v21.c:825:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_oaep': -../Src/base/pkcs1_v21.c:417:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c: At top level: -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rc4.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/rc4.c -o ../gcc/build/linux/base/rc4.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/rc4.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/rc4.c: In function 'SDRM_RC4_Setup': -../Src/base/rc4.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/rc4.c: In function 'SDRM_RC4_PRNG': -../Src/base/rc4.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -sha1.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha1.c -o ../gcc/build/linux/base/sha1.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/sha1.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/sha1.c: In function 'SDRM_SHA1_Init': -../Src/base/sha1.c:137:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_SHA1_Update': -../Src/base/sha1.c:318:5: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_SHA1_Final': -../Src/base/sha1.c:367:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha1.c: In function 'SDRM_endianTest': -../Src/base/sha1.c:469:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -sha2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha2.c -o ../gcc/build/linux/base/sha2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/sha2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/sha2.c: In function 'SDRM_SHA256_Transf': -../Src/base/sha2.c:321:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Init': -../Src/base/sha2.c:333:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Update': -../Src/base/sha2.c:366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA256_Final': -../Src/base/sha2.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Transf': -../Src/base/sha2.c:444:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Init': -../Src/base/sha2.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Update': -../Src/base/sha2.c:489:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA512_Final': -../Src/base/sha2.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Init': -../Src/base/sha2.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Update': -../Src/base/sha2.c:561:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA384_Final': -../Src/base/sha2.c:586:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Init': -../Src/base/sha2.c:601:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Update': -../Src/base/sha2.c:635:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: In function 'SDRM_SHA224_Final': -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c: At top level: -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -snow2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/base/snow2.c -o ../gcc/build/linux/base/snow2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/base/snow2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/base/snow2.c: In function 'SDRM_SNOW2_Setup': -../Src/base/snow2.c:344:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream64': -../Src/base/snow2.c:374:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream': -../Src/base/snow2.c:402:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -cmac.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/cmac.c -o ../gcc/build/linux/middle/cmac.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/cmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/cmac.c: In function 'SDRM_CMAC_init': -../Src/middle/cmac.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_update': -../Src/middle/cmac.c:173:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_final': -../Src/middle/cmac.c:219:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/cmac.c: In function 'SDRM_CMAC_getMAC': -../Src/middle/cmac.c:258:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -dh.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dh.c -o ../gcc/build/linux/middle/dh.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/dh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/dh.c: In function 'SDRM_GenerateDHParam': -../Src/middle/dh.c:119:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_SetDHParam': -../Src/middle/dh.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_GenerateDHPrivate': -../Src/middle/dh.c:232:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_GetDHSharedSecret': -../Src/middle/dh.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dh.c: In function 'SDRM_FreeDHContext': -../Src/middle/dh.c:330:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -dsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dsa.c -o ../gcc/build/linux/middle/dsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/dsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/dsa.c: In function 'SDRM_Add_DW2BA': -../Src/middle/dsa.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_InitCrt': -../Src/middle/dsa.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_SetParam': -../Src/middle/dsa.c:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_SetKeyPair': -../Src/middle/dsa.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_GenParam': -../Src/middle/dsa.c:358:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_GenKeypair': -../Src/middle/dsa.c:429:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_sign': -../Src/middle/dsa.c:509:2: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/dsa.c: In function 'SDRM_DSA_verify': -../Src/middle/dsa.c:600:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecdh.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdh.c -o ../gcc/build/linux/middle/ecdh.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/ecdh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/ecdh.c: In function 'SDRM_generateDH1stPhaseKey': -../Src/middle/ecdh.c:101:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdh.c: In function 'SDRM_generateDHKey': -../Src/middle/ecdh.c:202:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -ecdsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdsa.c -o ../gcc/build/linux/middle/ecdsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/ecdsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_KEY_GEN': -../Src/middle/ecdsa.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_GEN': -../Src/middle/ecdsa.c:212:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_VERIFY': -../Src/middle/ecdsa.c:363:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_sign': -../Src/middle/ecdsa.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_verify': -../Src/middle/ecdsa.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_Set_CTX': -../Src/middle/ecdsa.c:531:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_genKeypair': -../Src/middle/ecdsa.c:598:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/ecdsa.c: In function 'SDRM_ECC_setKeypair': -../Src/middle/ecdsa.c:662:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -hmac.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/hmac.c -o ../gcc/build/linux/middle/hmac.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/hmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/hmac.c: In function 'SDRM_HMAC_update': -../Src/middle/hmac.c:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_final': -../Src/middle/hmac.c:433:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_getK0': -../Src/middle/hmac.c:570:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_init': -../Src/middle/hmac.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/hmac.c: In function 'SDRM_HMAC_getMAC': -../Src/middle/hmac.c:472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rng.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rng.c -o ../gcc/build/linux/middle/rng.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/rng.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/rng.c: In function 'SDRM_X931_seed': -../Src/middle/rng.c:41:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rng.c: In function 'SDRM_X931_get': -../Src/middle/rng.c:67:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -rsa.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rsa.c -o ../gcc/build/linux/middle/rsa.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/rsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/rsa.c: In function 'SDRM_RSA_InitCrt': -../Src/middle/rsa.c:58:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_setNED': -../Src/middle/rsa.c:105:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_setNEDPQ': -../Src/middle/rsa.c:218:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateKey': -../Src/middle/rsa.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateND': -../Src/middle/rsa.c:520:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateDwithPQE': -../Src/middle/rsa.c:665:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_encrypt': -../Src/middle/rsa.c:762:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_decrypt': -../Src/middle/rsa.c:859:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_decryptByCRT': -../Src/middle/rsa.c:1029:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_sign': -../Src/middle/rsa.c:1117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/rsa.c: In function 'SDRM_RSA_verify': -../Src/middle/rsa.c:1206:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -symmetric.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/symmetric.c -o ../gcc/build/linux/middle/symmetric.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/symmetric.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/symmetric.c: In function 'SDRM_getEncRoundKey': -../Src/middle/symmetric.c:68:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_getDecRoundKey': -../Src/middle/symmetric.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_init': -../Src/middle/symmetric.c:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_process': -../Src/middle/symmetric.c:351:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_AES_final': -../Src/middle/symmetric.c:606:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_RC4_init': -../Src/middle/symmetric.c:638:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_RC4_process': -../Src/middle/symmetric.c:670:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_SNOW2_init': -../Src/middle/symmetric.c:703:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_SNOW2_process': -../Src/middle/symmetric.c:797:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_init': -../Src/middle/symmetric.c:860:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_process': -../Src/middle/symmetric.c:1014:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_DES_final': -../Src/middle/symmetric.c:1231:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_init': -../Src/middle/symmetric.c:1306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_process': -../Src/middle/symmetric.c:1460:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/symmetric.c: In function 'SDRM_TDES_final': -../Src/middle/symmetric.c:1679:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -tdes.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/middle/tdes.c -o ../gcc/build/linux/middle/tdes.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/middle/tdes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/middle/tdes.c: In function 'SDRM_TDES_KeySched': -../Src/middle/tdes.c:65:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES_Encryption': -../Src/middle/tdes.c:86:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES64_Encryption': -../Src/middle/tdes.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/middle/tdes.c: In function 'SDRM_TDES64_Decryption': -../Src/middle/tdes.c:129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -CC_API.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/CC_API.c -o ../gcc/build/linux/CC_API.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/CC_API.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/CC_API.c: In function 'CCMalloc': -../Src/CC_API.c:46:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'CCFree': -../Src/CC_API.c:54:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'create_CryptoCoreContainer': -../Src/CC_API.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/CC_API.c: In function 'destroy_CryptoCoreContainer': -../Src/CC_API.c:438:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -DRMLog.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/DRMLog.c -o ../gcc/build/linux/DRMLog.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/DRMLog.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -SDWAP.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP.c -o ../gcc/build/linux/WhiteBox/SDWAP.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SDWAP.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SDWAP.c: In function 'SDWAP_Process': -../Src/WhiteBox/SDWAP.c:498:15: warning: variable 'Nk' set but not used [-Wunused-but-set-variable] -../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP.c: At top level: -../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SDWAP_TblGen.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP_TblGen.c -o ../gcc/build/linux/WhiteBox/SDWAP_TblGen.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation': -../Src/WhiteBox/SDWAP_TblGen.c:210:25: warning: initialization makes integer from pointer without a cast [enabled by default] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'MakeEachKeyLookup': -../Src/WhiteBox/SDWAP_TblGen.c:252:17: warning: unused variable 'pBeforeLKCol' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GeneratePVector': -../Src/WhiteBox/SDWAP_TblGen.c:1309:15: warning: variable 'rnd' set but not used [-Wunused-but-set-variable] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable': -../Src/WhiteBox/SDWAP_TblGen.c:1566:22: warning: unused variable 'pKeyBitPBox' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c:1565:23: warning: unused variable 'pKeyBytePBox' [-Wunused-variable] -../Src/WhiteBox/SDWAP_TblGen.c: At top level: -../Src/WhiteBox/SDWAP_TblGen.c:1372:13: warning: 'SDWAP_GeneratePVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1418:13: warning: 'SDWAP_GenerateInvPVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1464:13: warning: 'SDWAP_GenerateInvPVector_fstest' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1494:13: warning: 'SDWAP_ConvertPBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c:1522:13: warning: 'SDWAP_RandomizePBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation': -../Src/WhiteBox/SDWAP_TblGen.c:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation_LK': -../Src/WhiteBox/SDWAP_TblGen.c:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateBitPBox': -../Src/WhiteBox/SDWAP_TblGen.c:521:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_ProcessBitPBox': -../Src/WhiteBox/SDWAP_TblGen.c:590:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable': -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c: At top level: -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SWAPv2.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2.c -o ../gcc/build/linux/WhiteBox/SWAPv2.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SWAPv2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SWAPv2.c: In function 'SWAPv2_Process': -../Src/WhiteBox/SWAPv2.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SWAPv2_TblGen.c -gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2_TblGen.c -o ../gcc/build/linux/WhiteBox/SWAPv2_TblGen.o -cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation': -../Src/WhiteBox/SWAPv2_TblGen.c:275:25: warning: initialization makes integer from pointer without a cast [enabled by default] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBytePBox': -../Src/WhiteBox/SWAPv2_TblGen.c:434:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] -../Src/WhiteBox/SWAPv2_TblGen.c: At top level: -../Src/WhiteBox/SWAPv2_TblGen.c:1119:13: warning: 'GeneratePVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1165:13: warning: 'GenerateInvPVector_fst' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1211:13: warning: 'GenerateInvPVector_fstest' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1241:13: warning: 'ConvertPBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c:1269:13: warning: 'RandomizePBox' defined but not used [-Wunused-function] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation': -../Src/WhiteBox/SWAPv2_TblGen.c:294:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBitPBox': -../Src/WhiteBox/SWAPv2_TblGen.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/WhiteBox/SWAPv2_TblGen.c: In function 'SWAPv2_GenerateTable': -../Src/WhiteBox/SWAPv2_TblGen.c:1456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -SAKEP.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/SAKEP.cpp -o ../gcc/build/linux/SAKEP.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/SAKEP.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)': -../Src/SAKEP.cpp:277:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp:278:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:419:16: warning: unused variable 'pDecryptedGx' [-Wunused-variable] -../Src/SAKEP.cpp:420:15: warning: unused variable 'nDecryptedGxLen' [-Wunused-variable] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:574:16: warning: unused variable 'pWc' [-Wunused-variable] -../Src/SAKEP.cpp:575:15: warning: unused variable 'nWcLen' [-Wunused-variable] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:5114:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:8210:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual] -../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi()': -../Src/SAKEP.cpp:64:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi(Handle_CTX*, ModeType)': -../Src/SAKEP.cpp:76:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void* SAkepApi::SAKEPMalloc(int)': -../Src/SAKEP.cpp:100:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::SAKEPFree(void*)': -../Src/SAKEP.cpp:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'SAKEPContainer* SAkepApi::create_SAKEPContainer()': -../Src/SAKEP.cpp:131:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::destroy_SAKEPContainer(SAKEPContainer*)': -../Src/SAKEP.cpp:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptGy(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptGx(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)': -../Src/SAKEP.cpp:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer*, unsigned char*, unsigned int, unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:396:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetGy(unsigned char*, unsigned int, unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:560:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerAck(Handle_CTX*, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1201:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParserClientAck(Handle_CTX*, unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1323:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPrivatekeyY(unsigned char*)': -../Src/SAKEP.cpp:1689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPrivatekeyY(unsigned char*)': -../Src/SAKEP.cpp:1696:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetMac(unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1714:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMac(unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMyMacLen(unsigned int*)': -../Src/SAKEP.cpp:1728:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPublicKeyY(unsigned char*)': -../Src/SAKEP.cpp:1735:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPublicKeyY(unsigned char*)': -../Src/SAKEP.cpp:1744:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptParameterDataWithWB(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:1756:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptParameterDataWithWB(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:1769:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:5117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ApplyPasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1966:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseClientHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)': -../Src/SAKEP.cpp:1129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)': -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ReversePasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:2021:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1681:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SAKEP.cpp:1472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp: At global scope: -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SAKEP.cpp:1771:13: warning: 'void X931_Prng(unsigned char*, unsigned char*, unsigned int, unsigned char*)' defined but not used [-Wunused-function] -SPCApi.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/SPCApi.cpp -o ../gcc/build/linux/SPCApi.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/SPCApi.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/SPCApi.cpp: In constructor 'SPCApi::SPCApi()': -../Src/SPCApi.cpp:25:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: At global scope: -../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::InitSPCContext(SPCHandle_CTX*, ModeType, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'void SPCApi::DestroySPCContext(SPCHandle_CTX*)': -../Src/SPCApi.cpp:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'void SPCApi::ClearSPCSessionContext(SPCHandle_CTX*)': -../Src/SPCApi.cpp:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:204:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerAck(SPCHandle_CTX*, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientAck(SPCHandle_CTX*, unsigned char*, unsigned int)': -../Src/SPCApi.cpp:265:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:297:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -../Src/SPCApi.cpp: In member function 'int SPCApi::ParseRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)': -../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes] -Util.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/Util.cpp -o ../gcc/build/linux/Util.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/Util.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -DtcpCTcpSocket.cpp -g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I. -./Inc/base -I../Inc/WhiteBox -c ../Src/DtcpCTcpSocket.cpp -o ../gcc/build/linux/DtcpCTcpSocket.o -cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default] -../Src/DtcpCTcpSocket.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] -../Src/DtcpCTcpSocket.cpp: In member function 'long int DtcpCTcpSocket::connectSocket(sockaddr_in*)': -../Src/DtcpCTcpSocket.cpp:330:26: error: 'GetLocalIP' was not declared in this scope -../Src/DtcpCTcpSocket.cpp:344:10: warning: unused variable 'i' [-Wunused-variable] -make: *** [../gcc/build/linux/DtcpCTcpSocket.o] Error 1 - -jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc -$ \ No newline at end of file diff --git a/src/SPCManager.cpp b/src/SPCManager.cpp deleted file mode 100755 index ee3531a..0000000 --- a/src/SPCManager.cpp +++ /dev/null @@ -1,184 +0,0 @@ -#include -#include -#include -#include -#ifdef OS_LINUX -#include -#endif - -#ifdef OS_WINDOWS -#include -#include -#endif - -#include -#include "SPCManager.h" -#include - -#define MESSAGE_LENGTH 4096 -#define PWD_LENGTH 8 -#define PWD_MAX_LENGTH 8 -#define DATA_LENGTH_PACKET_LENGTH 10 - -#define D(format, arg...) void() //LOGI - - -int SPC_Init(void* SPC_context, void* SPC_Server, unsigned char *pUserID) -{ - if(!SPC_context || !SPC_Server || !pUserID){ - D("Invalid argument : SPC_context=[0x%p] SPC_Server=[0x%p] pUserID=[0x%p]", SPC_context, SPC_Server, pUserID ); - return -2; - } - - int reVal = SPC_SUCCESS; - - SPCHandle_CTX* m_Ctx = (SPCHandle_CTX*)SPC_context; - m_Ctx->LoginTryCount = SPC_LOGIN_LIMITED_COUNT; - - SPCApi* SPCServer = (SPCApi*)SPC_Server; - reVal = SPCServer->InitSPCContext(m_Ctx, CLIENT_MODE, pUserID, strlen((char*)pUserID)); - if(reVal != SPC_SUCCESS) - { - D("SPC Init Error type : %d\n", SPC_context->ctx.eErrorType); - return -1; - } - m_Ctx->ctx.eState = STATE_WAIT_SERVERHELLO; - m_Ctx->LoginTryCount = 5; - - return SPC_SUCCESS; // SPC_SUCCESS -} - -int SPC_GenServerHello(SPCApi* SPCServer, SPCHandle_CTX * SPC_context, unsigned char* pServerOutMsg, unsigned int* LenpServerOutMsg) -{ - if(!SPCServer || !SPC_context || !pServerOutMsg || !LenpServerOutMsg){ - D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pServerOutMsg=[0x%p] LenpServerOutMsg=[0x%p]", SPCServer, SPC_context, pServerOutMsg,LenpServerOutMsg ); - return -2; - } - - int reVal = SPC_SUCCESS; - - unsigned char pPwd[PWD_MAX_LENGTH]; - memcpy(pPwd, "PASSWORD", PWD_LENGTH); - - reVal = SPCServer->GeneratorServerHello(SPC_context, pPwd, PWD_LENGTH, SPC_context->pUserID, pServerOutMsg, LenpServerOutMsg); - if(reVal != SPC_SUCCESS) - { - D("SPC GenServerHello Error type : %d\n", SPC_context->ctx.eErrorType); - return -1; - } - - return SPC_SUCCESS; -} - -int SPC_ParseClientHello(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg) -{ - if(!SPCServer || !SPC_context || !ReadMsg || !LenReadMsg){ - D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] ReadMsg=[0x%p] LenReadMsg=[0x%p]", SPCServer, SPC_context, ReadMsg, LenReadMsg ); - return -2; - } - - int reVal = SPC_SUCCESS; - - unsigned char pPwd[PWD_MAX_LENGTH]; - memcpy(pPwd, "PASSWORD", PWD_LENGTH); - reVal = SPCServer->ParseClientHello(SPC_context, pPwd, PWD_LENGTH, ReadMsg, *LenReadMsg); - if(reVal != SPC_SUCCESS) - { - D("SPC ParseClientHello Error type : %d\n", SPC_context->ctx.eErrorType); - return -1; - } - return SPC_SUCCESS; -} - -int SPC_GenServerAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pServerAckOutMsg, unsigned int* LenpServerAckOutMsg) -{ - if(!SPCServer || !SPC_context || !pServerAckOutMsg || !LenpServerAckOutMsg){ - D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pServerAckOutMsg=[0x%p] LenpServerAckOutMsg=[0x%p]", SPCServer, SPC_context, pServerAckOutMsg, LenpServerAckOutMsg); - return -2; - } - - int reVal = SPC_SUCCESS; - - reVal = SPCServer->GeneratorServerAck(SPC_context, pServerAckOutMsg, LenpServerAckOutMsg); - if( reVal != SPC_SUCCESS ) - { - D("SPC Generator Server Ack Error type : %d \n", SPC_context->ctx.eErrorType); - return -1; - } - return SPC_SUCCESS; -} - -int SPC_ParseClientAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg) -{ - if(!SPCServer || !SPC_context || !ReadMsg || !LenReadMsg){ - D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] ReadMsg=[0x%p] LenReadMsg=[0x%p]", SPCServer, SPC_context, ReadMsg, LenReadMsg ); - return -2; - } - - int reVal = SPC_SUCCESS; - - reVal = SPCServer->ParseClientAck(SPC_context, ReadMsg, *LenReadMsg); - if(reVal != SPC_SUCCESS) - { - D("SPC ParseClientrAck Error type : %d\n", SPC_context->ctx.eErrorType); - return -1; - } - return SPC_SUCCESS; - -} - -int SPC_ParseRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen,unsigned char* pPlainData , unsigned int* uPlainDataLen) -{ - if(!SPCServer || !SPC_context || !pEncryptedData || !pPlainData || !uPlainDataLen || uEncryptedDataLen <= 0){ - D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pEncryptedData=[0x%p] uEncryptedDataLen=[0x%p] pPlainData=[0x%p] uPlainDataLen=[0x%p]", - SPCServer, SPC_context, pEncryptedData, uEncryptedDataLen, pPlainData, uPlainDataLen ); - return -2; - } - - int reVal=SPC_SUCCESS; - - reVal = SPCServer->ParseRecordMsg(SPC_context, pEncryptedData , uEncryptedDataLen , pPlainData , uPlainDataLen); - if(reVal != SPC_SUCCESS) - { - D("SPC Parse Record Msg Error type : %d \n", SPC_context->ctx.eErrorType); - return -1; - } - - return SPC_SUCCESS; -} - -int SPC_GenRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pPlainData , unsigned int uPlainDataLen, unsigned char* pEncryptedData , unsigned int *uEncryptedDataLen) -{ - if(!SPCServer || !SPC_context || !pPlainData || !pEncryptedData || !uEncryptedDataLen || uPlainDataLen <= 0){ - D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pPlainData=[0x%p] uPlainDataLen=[0x%p] pEncryptedData=[0x%p] uEncryptedDataLen=[0x%p]", - SPCServer, SPC_context, pPlainData, uPlainDataLen, pEncryptedData, uEncryptedDataLen ); - return -2; - } - - int reVal = SPC_SUCCESS; - - reVal = SPCServer->GeneratorRecordMsg(SPC_context, pPlainData , uPlainDataLen ,pEncryptedData , uEncryptedDataLen); - if(reVal != SPC_SUCCESS) - { - D("SPC Gen Record Msg Error type : %d \n", SPC_context->ctx.eErrorType); - return -1; - } - - return SPC_SUCCESS; -} - -unsigned char* constChar_to_unsignedChar(const char * InputChar) -{ - unsigned char* OutputChar = (unsigned char *)InputChar; - return OutputChar; -} - -char *int_to_char(int num, char *str, int size) -{ - if(str == NULL) - { - return NULL; - } - snprintf(str, size, "%d", num); - return str; -} diff --git a/src/SPCManager.h b/src/SPCManager.h deleted file mode 100755 index 2b2b8a6..0000000 --- a/src/SPCManager.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef __SPCMANAGER_H__ -#define __SPCMANAGER_H__ - -#include "SPCApi.h" - -typedef int (*READX_PTR)(int fd, void* buffer, size_t r_length); -typedef int (*WRITEX_PTR)(int fd, const void* buffer, size_t w_length); - -int SPC_Init(void* SPC_context, void* SPC_Server, unsigned char *pUserID); -int SPC_GenServerHello(SPCApi* SPCServer, SPCHandle_CTX * SPC_context, unsigned char* pServerOutMsg, unsigned int* LenpServerOutMsg); -int SPC_ParseClientHello(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg); -int SPC_GenServerAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pServerAckOutMsg, unsigned int* LenpServerAckOutMsg); -int SPC_ParseClientAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg); -int SPC_ParseRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen,unsigned char* pPlainData , unsigned int* uPlainDataLen); -int SPC_GenRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pPlainData , unsigned int uPlainDataLen, unsigned char* pEncryptedData , unsigned int *uEncryptedDataLen); - -unsigned char* constChar_to_unsignedChar(const char * InputChar); -char *int_to_char(int num, char *str, int size); - -#endif diff --git a/src/auto_complete.c b/src/auto_complete.c index e2c8990..986a26a 100644 --- a/src/auto_complete.c +++ b/src/auto_complete.c @@ -63,7 +63,7 @@ static int COMPLETE_FLAG = 0; static FILE* AC_STDOUT = NULL; static FILE* AC_STDERR = NULL; static const char IFS = '\n'; -static const char PATH_SEPARATOR = '/'; +static const char PATH_SEPARATOR = '\/'; static struct ac_element emulator_short = { .keyword = "-e", diff --git a/src/command_function.c b/src/command_function.c index c1dd357..bf8670e 100644 --- a/src/command_function.c +++ b/src/command_function.c @@ -894,7 +894,7 @@ static int get_pkg_tmp_dir(char* pkg_tmp_dir){ } if (read_line(fd, buf, sizeof(buf)) > 0) { D("package dir = %s\n", buf); - append_file(pkg_tmp_dir, buf, "/tmp/", PATH_MAX); + append_file(pkg_tmp_dir, buf, "\/tmp\/", PATH_MAX); D("package tmp dir = %s\n", pkg_tmp_dir); sdb_close(fd); return 0; @@ -1007,79 +1007,3 @@ int get_boot(int argc, char ** argv) { } return 1; } - -#ifdef SUPPORT_ENCRYPT -/* -desc. : capability를 통한 encryption support check -parameter : -ret. : 1 : if current device support encryption -*/ -int check_encryption_support() { - char full_cmd[16] = {0,}; - char cap_buffer[CAPBUF_SIZE] = {0,}; - uint16_t len = 0; - int supported = 0; - int fd = -1; - char* failmsg = NULL; - int ret; - - snprintf(full_cmd, sizeof(full_cmd), "capability:"); - fd = sdb_connect_getfailmsg(full_cmd, &failmsg); - if (fd >= 0) { - readx(fd, &len, sizeof(uint16_t)); - if (len > CAPBUF_SIZE-1) { - len = CAPBUF_SIZE-1; - } - readx(fd, cap_buffer, len); - sdb_close(fd); - - ret = match_capability_key_value(cap_buffer, "encryption_support", "enabled"); - if (ret == 1) { - supported = 1; - } - } else { - D("This platform does not support the capability service.\n"); - if (failmsg != NULL) { - D("sdb_connect() fail message : %s\n", failmsg); - SAFE_FREE(failmsg); - } - } - - return supported; -} - -/* -encryption command function -return 0 if command succeed -return 1 otherwise -*/ -int encryption(int argc, char ** argv) -{ - char *tmp; - char full_cmd[PATH_MAX] = {0, }; - char prefix[NAME_MAX] = {0, }; - - // check whether sdbd support encryption feature or not - if(check_encryption_support() == 0) { - printf("This feature is not supported by current devices\n"); - } else { - // prefix = host-any: - get_host_prefix(prefix, NAME_MAX, target_ttype, target_serial, host); - - // ex) host-any:encryption:on - snprintf(full_cmd, sizeof(full_cmd), "%sencryption:%s", prefix, argv[1]); - - D(COMMANDLINE_MSG_FULL_CMD, argv[0], full_cmd); - - // use sdb_query because encryption command is not remote command - tmp = sdb_query(full_cmd); - - if(tmp) { - printf("%s", tmp); - return 0; - } - } - - return 1; -} -#endif diff --git a/src/command_function.h b/src/command_function.h index ac01845..60ea086 100644 --- a/src/command_function.h +++ b/src/command_function.h @@ -64,8 +64,4 @@ int shell(int argc, char ** argv); int get_capability(int argc, char ** argv); int get_boot(int argc, char ** argv); -#ifdef SUPPORT_ENCRYPT -int encryption(int argc, char ** argv); // encryption command -#endif - #endif /* COMMAND_FUNCTION_H_ */ diff --git a/src/commandline.c b/src/commandline.c index 51eb3ee..d92f127 100755 --- a/src/commandline.c +++ b/src/commandline.c @@ -799,14 +799,7 @@ static void create_cmd_list(LIST_NODE** cmd_list) { create_command(&boot_cmd, COMMANDLINE_BOOT_NAME, NULL, 0, EMPTY_STRING, get_boot, COMMANDLINE_BOOT_MAX_ARG, COMMANDLINE_BOOT_MIN_ARG); prepend(cmd_list, boot_cmd); - -#ifdef SUPPORT_ENCRYPT - // encryption command - COMMAND* encryption_cmd = NULL; - create_command(&encryption_cmd, COMMANDLINE_ENCRYPTION_NAME, COMMANDLINE_ENCRYPTION_DESC, COMMANDLINE_ENCRYPTION_DESC_SIZE, COMMANDLINE_ENCRYPTION_ARG_DESC, - encryption, COMMANDLINE_ENCRYPTION_MAX_ARG, COMMANDLINE_ENCRYPTION_MIN_ARG); - prepend(cmd_list, encryption_cmd); -#endif + } int process_cmdline(int argc, char** argv) { diff --git a/src/common_modules.h b/src/common_modules.h index 33ad364..1a58b41 100644 --- a/src/common_modules.h +++ b/src/common_modules.h @@ -29,6 +29,7 @@ #include "linkedlist.h" #include "fdevent.h" +#include "fdevent.h" #define MAX_PAYLOAD_V1 (4*1024) #define MAX_PAYLOAD_V2 (256*1024) @@ -211,11 +212,6 @@ struct atransport char *device_name; platform_type platform; - -#ifdef SUPPORT_ENCRYPT - unsigned encryption; // flag whether this transport is on encryption, 0 = no-encryption / 1 = encryption - int sessionID; // session id for encryption, key of encryption map -#endif }; diff --git a/src/encryption.cpp b/src/encryption.cpp deleted file mode 100755 index 419a283..0000000 --- a/src/encryption.cpp +++ /dev/null @@ -1,259 +0,0 @@ -#include "SPCManager.h" -#include "log.h" -#include - -typedef struct _SessionInfo { - int nSessionID; - SPCHandle_CTX* pCtx; - SPCApi* pApi; -} SessionInfo; - -typedef std::map SessionInfoList; -SessionInfoList sessionInfoList; - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_USERID 20 - -int security_init(const int nSessionID, const char* pUserID) -{ - D("In"); - - D("sessionInfoList.size() = [%d]", sessionInfoList.size()); - // If already exist, erase - sessionInfoList.erase(nSessionID); - - // Add session info - sessionInfoList[nSessionID].nSessionID = nSessionID; - //sessionInfoList[nSessionID].pValue = NULL; - D("sessionInfoList.size() = [%d]", sessionInfoList.size()); - D("sessionInfoList[nSessionID].nSessionID = [%d]", sessionInfoList[nSessionID].nSessionID); - - SPCHandle_CTX* pCtx = new SPCHandle_CTX(); - SPCApi* pApi = new SPCApi(); - - sessionInfoList[nSessionID].pCtx = pCtx; - sessionInfoList[nSessionID].pApi = pApi; - - unsigned char szTempUserID[MAX_USERID]; - memset(szTempUserID, 0x00, MAX_USERID); - if(pUserID == NULL) - { - memcpy(szTempUserID, "USER", 4); - } else { - if( MAX_USERID < strlen(pUserID) ){ - D("USERID is too long"); - return -1; - } - memcpy(szTempUserID, pUserID, strlen(pUserID)); - } - - int reVal = 0; - reVal = SPC_Init(pCtx, pApi, szTempUserID); - if( reVal != 0 ) - { - D("SPC handshake fail"); - return -1; - } - - D("SPC handshake OK"); - return 1; -} - -int security_gen_server_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen) -{ - if( pSrc == NULL || nSrcLen == NULL ) { - D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen); - return -1; - } - - if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx) - { - D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx); - return -1; - } - - int reVal = 0; - reVal = SPC_GenServerHello(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen); - if( reVal != 0 ) - { - D("SPC Generate Server Hello Message fail"); - return 0; - } - - return 1; -} - -int security_parse_client_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen) -{ - if( pSrc == NULL || nSrcLen == NULL ) { - D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen); - return -1; - } - - if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx) - { - D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx); - return -1; - } - - int reVal = 0; - reVal = SPC_ParseClientHello(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen); - if( reVal != 0 ) - { - D("SPC Parse Client Hello Message fail"); - return 0; - } - - return 1; -} - -int security_gen_server_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen) -{ - if( pSrc == NULL || nSrcLen == NULL ) { - D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen); - return -1; - } - - if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx) - { - D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx); - return -1; - } - - int reVal = 0; - reVal = SPC_GenServerAck(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen); - if( reVal != 0 ) - { - D("SPC Generate Server Ack Message fail"); - return 0; - } - - return 1; -} - -int security_parse_client_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen) -{ - if( pSrc == NULL || nSrcLen == NULL ) { - D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen); - return -1; - } - - if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx) - { - D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx); - return -1; - } - - int reVal = 0; - reVal = SPC_ParseClientAck(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen); - if( reVal != 0 ) - { - D("SPC Parse Client Ack Message fail"); - return 0; - } - - return 1; -} - -int security_deinit(const int nSessionID) -{ - if( sessionInfoList[nSessionID].pCtx ) { - free(sessionInfoList[nSessionID].pCtx); - sessionInfoList[nSessionID].pCtx = NULL; - } - else { - return -1; - } - - if( sessionInfoList[nSessionID].pApi ) { - free(sessionInfoList[nSessionID].pApi); - sessionInfoList[nSessionID].pCtx = NULL; - } - else { - return -1; - } - - return 1; -} - -int security_encrypt(const int nSessionID, unsigned char* pSrc, unsigned int *nSrcLen) -{ - D("security_encrypt is called\n"); - if( pSrc == NULL || nSrcLen == NULL ) { - D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen); - return -1; - } - - unsigned char *szTemp; - szTemp = (unsigned char *)malloc(*nSrcLen + SAKEP_AKE_MSG_RECORD_FIXED_LEN + SAKEP_AES_ECB_ADDED_PADDING_SIZE); - memset(szTemp, 0x00, *nSrcLen + SAKEP_AKE_MSG_RECORD_FIXED_LEN + SAKEP_AES_ECB_ADDED_PADDING_SIZE); - unsigned int nDstLen = 0; - - if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx) - { - D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx); - return -1; - } - - int reVal = 0; - reVal = SPC_GenRecordMsg(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, - pSrc, *nSrcLen, szTemp, &nDstLen); - if( reVal != 0 ) - { - D("SPC Encryption fail"); - free(szTemp); - return 0; - } - - unsigned int i = 0; - for(i = 0 ; i < nDstLen ; ++i) { - pSrc[i] = szTemp[i]; - } - *nSrcLen = nDstLen; - free(szTemp); - - return 1; -} - -int security_decrypt(const int nSessionID, unsigned char* pSrc, unsigned int *nSrcLen) -{ - if( pSrc == NULL || nSrcLen == NULL ) { - D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen); - return -1; - } - - unsigned char *szTemp; - szTemp = (unsigned char *) malloc(*nSrcLen); - memset(szTemp, 0x00, *nSrcLen); - unsigned int nDstLen = 0; - - int reVal = 0; - reVal = SPC_ParseRecordMsg(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, - pSrc, *nSrcLen, szTemp, &nDstLen); - if( reVal != 0 ) - { - D("SPC Decryption fail"); - free(szTemp); - return 0; - } - - unsigned int i = 0; - for(i = 0 ; i < nDstLen ; ++i) { - pSrc[i] = szTemp[i]; - } - *nSrcLen = nDstLen; - free(szTemp); - - return 1; -} - -#ifdef __cplusplus -} -#endif - - - - diff --git a/src/encryption.h b/src/encryption.h deleted file mode 100755 index 63beaea..0000000 --- a/src/encryption.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __SECURITY_H__ -#define __SECURITY_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -int security_init(const int nSessionID, const char* pUserID); -int security_deinit(const int nSessionID); -int security_gen_server_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen); -int security_parse_client_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen); -int security_gen_server_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen); -int security_parse_client_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen); -int security_encrypt(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen); -int security_decrypt(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/log.h b/src/log.h index 5fc8851..3d4f9e5 100644 --- a/src/log.h +++ b/src/log.h @@ -17,10 +17,6 @@ #ifndef __LOG_H #define __LOG_H -#ifdef __cplusplus -extern "C" { -#endif - #define SDB_TRACE 1 #define DEBUG_ENV "SDB_DEBUG" #define TRACE_PACKET "SDB_TRACE_PACKET" @@ -88,8 +84,4 @@ char* F(const char *message, ...); #define DR LOG_DEBUG #define SDB_TRACING ((loglevel_mask & (1 << SDBLOG_DEBUG)) != 0) -#ifdef __cplusplus -} -#endif - #endif diff --git a/src/sdb_constants.c b/src/sdb_constants.c index d8c5c87..e7069b1 100644 --- a/src/sdb_constants.c +++ b/src/sdb_constants.c @@ -319,14 +319,3 @@ const char* STATE_UNKNOWN = "unknown"; const char* STATE_SUSPENDED = "suspended"; const char* STATE_UNAUTHORIZED = "unauthorized"; - -#ifdef SUPPORT_ENCRYPT - const char* COMMANDLINE_ENCRYPTION_NAME = "encryption"; - const char* COMMANDLINE_ENCRYPTION_ARG_DESC = ""; - const char* COMMANDLINE_ENCRYPTION_DESC[] = { - "Set encryption modes for got/sent datas" - }; - const int COMMANDLINE_ENCRYPTION_DESC_SIZE = GET_ARRAY_SIZE(COMMANDLINE_ENCRYPTION_DESC, char*); - const int COMMANDLINE_ENCRYPTION_MAX_ARG = 1; - const int COMMANDLINE_ENCRYPTION_MIN_ARG = 1; -#endif diff --git a/src/sdb_constants.h b/src/sdb_constants.h index 91afc3d..da2f6dd 100644 --- a/src/sdb_constants.h +++ b/src/sdb_constants.h @@ -265,13 +265,4 @@ typedef enum host_type HOST_TYPE; extern const char* STATE_SUSPENDED; extern const char* STATE_UNAUTHORIZED; -#ifdef SUPPORT_ENCRYPT - extern const char* COMMANDLINE_ENCRYPTION_NAME; // encryption command name - extern const char* COMMANDLINE_ENCRYPTION_ARG_DESC; // encryption command option - extern const int COMMANDLINE_ENCRYPTION_MAX_ARG; // minimum number of options - extern const int COMMANDLINE_ENCRYPTION_MIN_ARG; // maximum number of options - extern const char* COMMANDLINE_ENCRYPTION_DESC[]; // encryption command descryption - extern const int COMMANDLINE_ENCRYPTION_DESC_SIZE; // size of descryption -#endif - #endif /* SDB_CONSTANTS_H_*/ diff --git a/src/sdb_map.h b/src/sdb_map.h index 9709434..4af7bb9 100644 --- a/src/sdb_map.h +++ b/src/sdb_map.h @@ -46,17 +46,17 @@ typedef struct map_node MAP_NODE; struct map { int size; - int(*hash)(struct map* map, MAP_KEY key); + int(*hash)(struct map* this, MAP_KEY key); int(*equal)(MAP_KEY key, MAP_KEY node_key); void(*freedata)(void* data); LIST_NODE** map_node_list; }; typedef struct map MAP; -void initialize_map(MAP* map, int size, int(*hash)(struct map* map, MAP_KEY key), +void initialize_map(MAP* map, int size, int(*hash)(struct map* this, MAP_KEY key), int(*equal)(MAP_KEY key, MAP_KEY node_key), void(*freedata)(void* data)); void map_put(MAP* map, MAP_KEY key, void* value); void* map_get(MAP* map, MAP_KEY key); -void map_remove(MAP* amp, MAP_KEY key); +void map_remove(MAP* this, MAP_KEY key); #endif /* SDB_MAP_H_ */ diff --git a/src/sockets.c b/src/sockets.c index ea1ca71..68e14d2 100755 --- a/src/sockets.c +++ b/src/sockets.c @@ -32,7 +32,6 @@ #include "sdb.h" #include "sdb_messages.h" #include "adb_auth.h" -#include "encryption.h" #define TRACE_TAG TRACE_SOCKETS @@ -878,85 +877,6 @@ sendfail: } #endif -#ifdef SUPPORT_ENCRYPT - else if(!strncmp(service, "encryption:", 11)) { //넘어온 커맨드가 encryption 인지 확인 - if(t == NULL){ // atransport가 NULL인경우 실패 - sendfailmsg(socket->fd, err_str); - LOG_ERROR("t = NULL\n"); - return 0; - } - PACKET *p = get_apacket(); - int retVal = 0; - p->msg.command = A_ENCR; // 암호화 handshaking 메시지 - p->msg.arg1 = socket->local_id; // 클라이언트를 구분하기 위한 값 유지 - if(!strncmp(service+11, "on", 2)){ // encryption on - if(t->encryption == ENCR_ON){ // 이미 해당 연결이 암호화 모드인 경우 종료 - sendfailmsg(socket->fd, "Encryption is already ON"); - return 0; - } - p->msg.arg0 = ENCR_SET_ON_REQ; // Hello Msg임을 구분 - static int sessionID = 0; - t->sessionID = sessionID; // 연결당 암호화 키 값을 위한 session ID 유지 - if((retVal = security_init(t->sessionID, NULL)) == 1) // 암호화 handshaking을 위한 init 호출 - { - D("security_init success"); - if(security_gen_server_hello(t->sessionID, p->data, &(p->msg.data_length)) == 1) // Hello msg 생성 - { - send_packet(p, t); - put_apacket(p); - sessionID++; - D("security_gen_server_hello success"); - return -3;// 정상적으로 메시지 보냈을 경우 -3 리턴 - } - else{ - LOG_ERROR("security_gen_server_hello failed\n"); - sendfailmsg(socket->fd, "Encryption ON failed"); - security_deinit(t->sessionID); // Hello msg 생성에 실패한 경우, 해당 session에 대해 deinit - t->encryption = ENCR_OFF; // 암호화 모드 off - return 0; - } - } - else{ - LOG_ERROR("security_init failed\n"); - sendfailmsg(socket->fd, "Encryption ON failed"); - t->encryption = ENCR_OFF; // 암호화 모드 off - if (retVal == -1) - { - security_deinit(t->sessionID); // init에 실패한 경우, 해당 session에 대해 deinit - } - - return 0; - } - - } - else if(!strncmp(service+11, "off", 3)){ // encrytption off - if(t->encryption == ENCR_OFF){ // 해당 연결이 이미 암호화 모드 off인 경우 - sendfailmsg(socket->fd, "Encryption is already OFF"); - return 0; - } - p->msg.arg0 = ENCR_SET_OFF; // 암호화 모드 off 메시지 - p->msg.data_length = 0; - send_packet(p, t); - put_apacket(p); - return -3; - } - else if(!strncmp(service+11, "status", 6)){ // encryption status - p->msg.arg0 = ENCR_GET; // 암호화 모드 status를 얻는 메시지 - p->msg.data_length = 0; - send_packet(p, t); - put_apacket(p); - return -3; - } - else{ - LOG_ERROR("parsing encryption commands failed\n"); - sendfailmsg(socket->fd, "Failed : Invalid encryption command"); - return 0; - } - - } - -#endif - return -1; } @@ -1431,15 +1351,12 @@ static int smart_socket_enqueue(SDB_SOCKET *s, PACKET *p) return 0; } if (service) { - int ret; - if((ret = handle_request_with_t(s, service, t, err_str)) == 0) { + if(handle_request_with_t(s, service, t, err_str) == 0) { D( "LS(%X): handled host service with '%s'\n", s->local_id, service ); goto fail; - } else if (ret == -3) { - D( "LS(%X): handled host service with '%s'\n", s->local_id, service ); - return 0; } + int ret; if((ret = handle_host_request(service, s)) == 0) { /* XXX fail message? */ D( "LS(%X): handled host service '%s'\n", s->local_id, service ); @@ -1617,7 +1534,7 @@ static void connect_emulator(char* host, int port, char* buf, int buf_len) { snprintf(serial, sizeof(serial), "%s:%d", host, port); TRANSPORT* t; - if ((t = acquire_one_transport(kTransportAny, serial, NULL)) != NULL) { + if (t = acquire_one_transport(kTransportAny, serial, NULL)) { if(t->connection_state != CS_OFFLINE) { snprintf(buf, buf_len, "%s is already connected", serial); } diff --git a/src/transport.c b/src/transport.c index e385e15..672786f 100755 --- a/src/transport.c +++ b/src/transport.c @@ -31,8 +31,6 @@ #include "sdb_messages.h" #include "sdb.h" #include "adb_auth.h" -#include "encryption.h" -#include "sdb_client.h" #define TRACE_TAG TRACE_TRANSPORT @@ -217,20 +215,8 @@ static void encoding_packet(PACKET* p) { void send_packet(PACKET *p, TRANSPORT *t) { - D("go send packet\n"); + D("go send packet"); if(t != NULL && t->connection_state != CS_OFFLINE) { - -#ifdef SUPPORT_ENCRYPT - // 현재 연결이 암호화 모드이고 암호화 handshaking관련 메시지가 아니면, 메시지 암호화 - if (t->encryption == ENCR_ON && p->msg.command != A_ENCR) { - security_encrypt(t->sessionID, p->data, &(p->msg.data_length)); - } - else if(t->encryption == ENCR_OFF) { - - } - -#endif - D("before encoding to %s\n", t->serial); encoding_packet(p); D("after encoding to %s\n", t->serial); @@ -240,7 +226,7 @@ void send_packet(PACKET *p, TRANSPORT *t) D("sended packet to %s\n", t->serial); } else { - D("transport is null\n"); + D("transport is null"); if (t == NULL) { D("Transport is null \n"); errno = 0; @@ -255,7 +241,7 @@ void send_packet(PACKET *p, TRANSPORT *t) static __inline__ void wakeup_select(T_PACKET* t_packet) { sdb_mutex_lock(&wakeup_select_lock, "wakeup_select"); - writex(fdevent_wakeup_send, &t_packet, sizeof(t_packet)); + writex(fdevent_wakeup_send, &t_packet, sizeof(&t_packet)); sdb_mutex_unlock(&wakeup_select_lock, "wakeup_select"); } @@ -266,10 +252,8 @@ static void handle_packet(PACKET *p, TRANSPORT *t) t_packet->t = t; t_packet->p = NULL; - // below commands should be done in main thread. - // packet is used in wakeup_select_func. Do not put a packet - if(cmd == A_WRTE || cmd == A_CLSE || cmd == A_CNXN || - cmd == A_OKAY || cmd == A_STAT || cmd == A_AUTH || cmd == A_ENCR) { + //below commands should be done in main thread. packet is used in wakeup_select_func. Do not put a packet + if(cmd == A_WRTE || cmd == A_CLSE || cmd == A_CNXN || cmd == A_OKAY || cmd == A_STAT || cmd == A_AUTH) { ++(t->req); t_packet->p = p; wakeup_select(t_packet); @@ -416,26 +400,6 @@ void send_cmd(unsigned arg0, unsigned arg1, unsigned cmd, char* data, TRANSPORT* put_apacket(p); } -#ifdef SUPPORT_ENCRYPT -/* -desc. : 암호화 모드 변경 실패 시, sdbd에게 실패 메시지 전송 -parameter : [in] SDB_SOCKET* sock : local socket - [in] TRANSPORT* t : 현재 연결 중인 atransport - [in] unsigned failed_value : 실패 값 -*/ -void send_encr_fail(SDB_SOCKET* sock, TRANSPORT* t, unsigned failed_value) -{ - D("calling send_encr_fail"); - apacket *p; - p = get_apacket(); - p->msg.command = A_ENCR; // 암호화 handshaking 메시지 - p->msg.arg0 = failed_value; // 실패 값 - p->msg.arg1 = sock->local_id; // client를 구분하는 값 - send_packet(p, t); - put_apacket(p); -} -#endif - static void *transport_thread(void *_t) { TRANSPORT *t = _t; @@ -466,20 +430,10 @@ read_loop: if(t->read_from_remote(t, p->data, p->msg.data_length)){ break; } -#ifdef SUPPORT_ENCRYPT - //security_decrypt(t->sfd, p); - // 현재 연결이 암호화 모드이고, 암호화 handshaking 관련 메시지가 아닌 경우면, 메시지 복호화 - if (t->encryption == ENCR_ON && p->msg.command != A_ENCR) { - security_decrypt(t->sessionID, p->data, &(p->msg.data_length)); - } - -#endif - } if(check_data(p)) { break; } - dump_packet(t->serial, "remote_read", p); D("%s: received remote packet, sending to transport\n", t->serial); @@ -1010,97 +964,6 @@ void wakeup_select_func(int _fd, unsigned ev, void *data) { adb_auth_confirm_key(p->data, p->msg.data_length, t); } } -#ifdef SUPPORT_ENCRYPT - else if(cmd == A_ENCR){ // 암호화 handshaking메시지인 경우 - PACKET* enc_p = get_apacket(); - if(p->msg.arg0 == ENCR_SET_ON_REQ){ // hello 메시지인 경우 - if(security_parse_client_hello(t->sessionID, p->data, &(p->msg.data_length)) == 1) // hello 메시지 파싱 - { - if(security_gen_server_ack(t->sessionID, enc_p->data, &(enc_p->msg.data_length)) == 1) // ack 메시지 생성 - { - enc_p->msg.command = A_ENCR; // 암호화 handshaking 메시지 - enc_p->msg.arg0 = ENCR_SET_ON_OK; // ack 메시지 - enc_p->msg.arg1 = sock->local_id; // client구분하는 값 - send_packet(enc_p, t); - - D("security_gen_server_ack success"); - } else { // ack 메시지 생성 실패 - LOG_ERROR("security_gen_server_ack failed"); - security_deinit(t->sessionID); - send_encr_fail(sock, t, ENCR_ON_FAIL); // 암호화 모드 on을 실패했다는 메시지를 sdbd로 보냄 - t->encryption = ENCR_OFF; // 암호화 모드는 off - sendfailmsg(sock->fd, "Encryption ON failed"); - local_socket_close(sock); - - } - } else { // hello 메시지 파싱 실패 - LOG_ERROR("security_parse_client_hello failed"); - security_deinit(t->sessionID); - send_encr_fail(sock, t, ENCR_ON_FAIL); // 암호화 모드 on을 실패했다는 메시지를 sdbd로 보냄 - t->encryption = ENCR_OFF; // 암호화 모드는 off - sendfailmsg(sock->fd, "Encryption ON failed"); - local_socket_close(sock); - } - } - else if(p->msg.arg0 == ENCR_SET_ON_OK){ // ack 메시지인 경우 - if(security_parse_client_ack(t->sessionID, p->data, &(p->msg.data_length)) == 1) // ack 메시지 파싱 - { - t->encryption = ENCR_ON; // 모든 handshaking이 끝난 후 현재 연결에 대해서는 암호화 모드 ON - sendokmsg(sock->fd, "Encryption is ON"); - } - else{ // ack 메시지 파싱 실패 - LOG_ERROR("security_parse_client_ack failed"); - security_deinit(t->sessionID); - send_encr_fail(sock, t, ENCR_ON_FAIL); // 암호화 모드 on을 실패했다는 메시지를 sdbd로 보냄 - t->encryption = ENCR_OFF; // 암호화 모드는 off - sendfailmsg(sock->fd, "Encryption ON failed"); - } - local_socket_close(sock); - - } - else if(p->msg.arg0 == ENCR_SET_OFF){ // 암호화 모드 off 메시지 - if(t->encryption == ENCR_ON && security_deinit(t->sessionID) == 1) // 현재 연결에 대해 암호화 모드가 on상태이면 - { - t->encryption = ENCR_OFF; // 현재 연결에 대한 암호화 모드를 off - sendokmsg(sock->fd, "Encryption is OFF"); - } - else{ - send_encr_fail(sock, t, ENCR_OFF_FAIL); - sendfailmsg(sock->fd, "Encryption OFF failed"); - LOG_ERROR("security_deinit failed"); - } - local_socket_close(sock); - } - else if(p->msg.arg0 == ENCR_GET){ // 암호화 모드 get 메시지 - if(t->encryption == ENCR_ON && !strncmp((char*)p->data, "encryption:on", p->msg.data_length)) // 현재 연결이 암호화 모드 on이고, sdbd의 암호화 모드가 on인 경우 - { - sendokmsg(sock->fd, "Encryption is ON"); - } - else if(t->encryption == ENCR_OFF && !strncmp((char*)p->data, "encryption:off", p->msg.data_length)) // 현재 연결이 암호화 모드 off이고, sdbd의 암호화 모드가 off인 경우 - { - sendokmsg(sock->fd, "Encryption is OFF"); - } - else - { - sendfailmsg(sock->fd, "Getting Encryption status failed, try encyrption on/off"); - } - local_socket_close(sock); - } - else if(p->msg.arg0 == ENCR_ON_FAIL){ // sdbd에서 암호화 모드 on에 실패했을 경우 받는 메시지 - t->encryption = ENCR_OFF; // 암호화를 on하다가 실패한 경우, 현재 연결에 대한 암호화 모드를 off - sendfailmsg(sock->fd, "Encryption ON failed"); - local_socket_close(sock); - } - else if(p->msg.arg0 == ENCR_OFF_FAIL){ // sdbd에서 암호화 모드 off에 실패했을 경우 받는 메시지 - //t->encryption = ENCR_ON; - sendfailmsg(sock->fd, "Encryption OFF failed"); - local_socket_close(sock); - } - put_apacket(enc_p); - - } -#endif - put_apacket(p); endup: diff --git a/src/transport.h b/src/transport.h index a1af8f4..fe770f8 100755 --- a/src/transport.h +++ b/src/transport.h @@ -29,19 +29,6 @@ #define A_TCLS 0x534C4354 #define A_STAT 0x54415453 #define A_AUTH 0x48545541 -#define A_ENCR 0x40682018 // encryption message - -#ifdef SUPPORT_ENCRYPT - #define ENCR_SET_ON_REQ 0 // encryption hello 메시지 - #define ENCR_SET_ON_OK 1 // encryption ack 메시지 - #define ENCR_SET_OFF 2 // encryption mode off 메시지 - #define ENCR_GET 3 // encryption status get 메시지 - #define ENCR_ON_FAIL 4 // encryption on 실패 메시지 - #define ENCR_OFF_FAIL 5 // encryption off 실패 메시지 - #define ENCR_ON 1 // encryption on 상태 - #define ENCR_OFF 0 // encryption off 상태 -#endif - #define CS_NONE -10000