diff options
35 files changed, 36 insertions, 6978 deletions
| diff --git a/protocols/msn/msn.h b/protocols/msn/msn.h index 1dcb0071..eb5f7dd8 100644 --- a/protocols/msn/msn.h +++ b/protocols/msn/msn.h @@ -241,7 +241,6 @@ int msn_ns_sendmessage( struct im_connection *ic, struct bee_user *bu, const cha  void msn_ns_oim_send_queue( struct im_connection *ic, GSList **msgq );  /* msn_util.c */ -int msn_logged_in( struct im_connection *ic );  int msn_buddy_list_add( struct im_connection *ic, msn_buddy_flags_t list, const char *who, const char *realname_, const char *group );  int msn_buddy_list_remove( struct im_connection *ic, msn_buddy_flags_t list, const char *who, const char *group );  void msn_buddy_ask( bee_user_t *bu ); diff --git a/protocols/msn/msn_util.c b/protocols/msn/msn_util.c index f2f67eb3..c6afd29a 100644 --- a/protocols/msn/msn_util.c +++ b/protocols/msn/msn_util.c @@ -29,13 +29,6 @@  #include "soap.h"  #include <ctype.h> -int msn_logged_in( struct im_connection *ic ) -{ -	imcb_connected( ic ); -	 -	return( 0 ); -} -  static char *adlrml_entry( const char *handle_, msn_buddy_flags_t list )  {  	char *domain, handle[strlen(handle_)+1]; diff --git a/protocols/nogaim.h b/protocols/nogaim.h index a98b7054..eccf77da 100644 --- a/protocols/nogaim.h +++ b/protocols/nogaim.h @@ -197,7 +197,7 @@ struct prpl {  	void (* add_deny)	(struct im_connection *, char *who);  	void (* rem_permit)	(struct im_connection *, char *who);  	void (* rem_deny)	(struct im_connection *, char *who); -	/* Doesn't actually have UI hooks. */ +	/* Doesn't actually have UI hooks. Not used at all, can be removed. */  	void (* set_permit_deny)(struct im_connection *);  	/* Request profile info. Free-formatted stuff, the IM module gives back diff --git a/protocols/oscar/aim.h b/protocols/oscar/aim.h index 479f8fd0..3f26b392 100644 --- a/protocols/oscar/aim.h +++ b/protocols/oscar/aim.h @@ -409,15 +409,6 @@ typedef struct {  #define AIM_USERINFO_PRESENT_CAPABILITIES 0x00000080  #define AIM_USERINFO_PRESENT_SESSIONLEN   0x00000100 -const char *aim_userinfo_sn(aim_userinfo_t *ui); -guint16 aim_userinfo_flags(aim_userinfo_t *ui); -guint16 aim_userinfo_idle(aim_userinfo_t *ui); -float aim_userinfo_warnlevel(aim_userinfo_t *ui); -time_t aim_userinfo_membersince(aim_userinfo_t *ui); -time_t aim_userinfo_onlinesince(aim_userinfo_t *ui); -guint32 aim_userinfo_sessionlen(aim_userinfo_t *ui); -int aim_userinfo_hascap(aim_userinfo_t *ui, guint32 cap); -  #define AIM_FLAG_UNCONFIRMED 	0x0001 /* "damned transients" */  #define AIM_FLAG_ADMINISTRATOR	0x0002  #define AIM_FLAG_AOL		0x0004 @@ -473,7 +464,6 @@ int aim_writetlvchain(aim_bstream_t *bs, aim_tlvlist_t **list);  int aim_addtlvtochain8(aim_tlvlist_t **list, const guint16 t, const guint8 v);  int aim_addtlvtochain16(aim_tlvlist_t **list, const guint16 t, const guint16 v);  int aim_addtlvtochain32(aim_tlvlist_t **list, const guint16 type, const guint32 v); -int aim_addtlvtochain_availmsg(aim_tlvlist_t **list, const guint16 type, const char *msg);  int aim_addtlvtochain_raw(aim_tlvlist_t **list, const guint16 t, const guint16 l, const guint8 *v);  int aim_addtlvtochain_caps(aim_tlvlist_t **list, const guint16 t, const guint32 caps);  int aim_addtlvtochain_noval(aim_tlvlist_t **list, const guint16 type); @@ -600,13 +590,7 @@ struct aim_chat_invitation {  #define AIM_WARN_ANON                     0x01 -int aim_sendpauseack(aim_session_t *sess, aim_conn_t *conn); -int aim_send_warning(aim_session_t *sess, aim_conn_t *conn, const char *destsn, guint32 flags); -int aim_nop(aim_session_t *, aim_conn_t *);  int aim_flap_nop(aim_session_t *sess, aim_conn_t *conn); -int aim_bos_setidle(aim_session_t *, aim_conn_t *, guint32); -int aim_bos_changevisibility(aim_session_t *, aim_conn_t *, int, const char *); -int aim_bos_setbuddylist(aim_session_t *, aim_conn_t *, const char *);  int aim_bos_setprofile(aim_session_t *sess, aim_conn_t *conn, const char *profile, const char *awaymsg, guint32 caps);  int aim_bos_setgroupperm(aim_session_t *, aim_conn_t *, guint32 mask);  int aim_bos_setprivacyflags(aim_session_t *, aim_conn_t *, guint32); @@ -615,8 +599,6 @@ int aim_reqservice(aim_session_t *, aim_conn_t *, guint16);  int aim_bos_reqrights(aim_session_t *, aim_conn_t *);  int aim_bos_reqbuddyrights(aim_session_t *, aim_conn_t *);  int aim_bos_reqlocaterights(aim_session_t *, aim_conn_t *); -int aim_setdirectoryinfo(aim_session_t *sess, aim_conn_t *conn, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, guint16 privacy); -int aim_setuserinterests(aim_session_t *sess, aim_conn_t *conn, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, guint16 privacy);  int aim_setextstatus(aim_session_t *sess, aim_conn_t *conn, guint32 status);  struct aim_fileheader_t *aim_getlisting(aim_session_t *sess, FILE *); @@ -626,7 +608,6 @@ struct aim_fileheader_t *aim_getlisting(aim_session_t *sess, FILE *);  #define AIM_CLIENTTYPE_WINAIM   0x0002  #define AIM_CLIENTTYPE_WINAIM41 0x0003  #define AIM_CLIENTTYPE_AOL_TOC  0x0004 -unsigned short aim_fingerprintclient(unsigned char *msghdr, int len);  #define AIM_RATE_CODE_CHANGE     0x0001  #define AIM_RATE_CODE_WARNING    0x0002 @@ -646,8 +627,6 @@ int aim_oft_getfile_end(aim_session_t *sess, aim_conn_t *conn);  #define AIM_SENDMEMBLOCK_FLAG_ISREQUEST  0  #define AIM_SENDMEMBLOCK_FLAG_ISHASH     1 -int aim_sendmemblock(aim_session_t *sess, aim_conn_t *conn, guint32 offset, guint32 len, const guint8 *buf, guint8 flag); -  #define AIM_GETINFO_GENERALINFO 0x00001  #define AIM_GETINFO_AWAYMESSAGE 0x00003  #define AIM_GETINFO_CAPABILITIES 0x0004 @@ -673,12 +652,9 @@ int aim_handlerendconnect(aim_session_t *sess, aim_conn_t *cur);  #define AIM_TRANSFER_DENY_NOTSUPPORTED 0x0000  #define AIM_TRANSFER_DENY_DECLINE 0x0001  #define AIM_TRANSFER_DENY_NOTACCEPTING 0x0002 -int aim_denytransfer(aim_session_t *sess, const char *sender, const guint8 *cookie, unsigned short code);  aim_conn_t *aim_accepttransfer(aim_session_t *sess, aim_conn_t *conn, const char *sn, const guint8 *cookie, const guint8 *ip, guint16 listingfiles, guint16 listingtotsize, guint16 listingsize, guint32 listingchecksum, guint16 rendid);  int aim_getinfo(aim_session_t *, aim_conn_t *, const char *, unsigned short); -int aim_sendbuddyoncoming(aim_session_t *sess, aim_conn_t *conn, aim_userinfo_t *info); -int aim_sendbuddyoffgoing(aim_session_t *sess, aim_conn_t *conn, const char *sn);  #define AIM_IMPARAM_FLAG_CHANMSGS_ALLOWED	0x00000001  #define AIM_IMPARAM_FLAG_MISSEDCALLS_ENABLED	0x00000002 @@ -746,16 +722,12 @@ struct aim_chat_exchangeinfo {  int aim_chat_send_im(aim_session_t *sess, aim_conn_t *conn, guint16 flags, const char *msg, int msglen);  int aim_chat_join(aim_session_t *sess, aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance); -int aim_chat_attachname(aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance); -char *aim_chat_getname(aim_conn_t *conn); -aim_conn_t *aim_chat_getconn(aim_session_t *, const char *name);  int aim_chatnav_reqrights(aim_session_t *sess, aim_conn_t *conn);  int aim_chat_invite(aim_session_t *sess, aim_conn_t *conn, const char *sn, const char *msg, guint16 exchange, const char *roomname, guint16 instance);  int aim_chatnav_createroom(aim_session_t *sess, aim_conn_t *conn, const char *name, guint16 exchange); -int aim_chat_leaveroom(aim_session_t *sess, const char *name);  /* aim_util.c */  /* @@ -811,10 +783,6 @@ int aim_chat_leaveroom(aim_session_t *sess, const char *name);  		(((*((buf)+3)) << 24) & 0xff000000)) -int aimutil_putstr(u_char *, const char *, int); -int aimutil_tokslen(char *toSearch, int index, char dl); -int aimutil_itemcnt(char *toSearch, char dl); -char *aimutil_itemidx(char *toSearch, int index, char dl);  int aim_sncmp(const char *a, const char *b);  #include <aim_internal.h> diff --git a/protocols/oscar/aim_internal.h b/protocols/oscar/aim_internal.h index 80a9c758..e4cdd0a2 100644 --- a/protocols/oscar/aim_internal.h +++ b/protocols/oscar/aim_internal.h @@ -111,9 +111,6 @@ aim_snac_t *aim_remsnac(aim_session_t *, aim_snacid_t id);  void aim_cleansnacs(aim_session_t *, int maxage);  int aim_putsnac(aim_bstream_t *, guint16 family, guint16 type, guint16 flags, aim_snacid_t id); -aim_conn_t *aim_cloneconn(aim_session_t *sess, aim_conn_t *src); -void aim_clonehandlers(aim_session_t *sess, aim_conn_t *dest, aim_conn_t *src); -  int aim_oft_buildheader(unsigned char *,struct aim_fileheader_t *);  int aim_parse_unknown(aim_session_t *, aim_frame_t *, ...); @@ -194,12 +191,9 @@ int aim_freecookie(aim_session_t *sess, aim_msgcookie_t *cookie);  int aim_cookie_free(aim_session_t *sess, aim_msgcookie_t *cookie);  int aim_extractuserinfo(aim_session_t *sess, aim_bstream_t *bs, aim_userinfo_t *); -int aim_putuserinfo(aim_bstream_t *bs, aim_userinfo_t *info);  int aim_chat_readroominfo(aim_bstream_t *bs, struct aim_chat_roominfo *outinfo); -int aim_request_directim(aim_session_t *sess, const char *destsn, guint8 *ip, guint16 port, guint8 *ckret); -int aim_request_sendfile(aim_session_t *sess, const char *sn, const char *filename, guint16 numfiles, guint32 totsize, guint8 *ip, guint16 port, guint8 *ckret);  void aim_conn_close_rend(aim_session_t *sess, aim_conn_t *conn);  void aim_conn_kill_rend(aim_session_t *sess, aim_conn_t *conn); @@ -209,6 +203,5 @@ void aim_conn_kill_chat(aim_session_t *sess, aim_conn_t *conn);  int aim_setversions(aim_session_t *sess, aim_conn_t *conn);  int aim_reqrates(aim_session_t *, aim_conn_t *);  int aim_rates_addparam(aim_session_t *, aim_conn_t *); -int aim_rates_delparam(aim_session_t *, aim_conn_t *);  #endif /* __AIM_INTERNAL_H__ */ diff --git a/protocols/oscar/bos.c b/protocols/oscar/bos.c index e7f12f79..4a1c5036 100644 --- a/protocols/oscar/bos.c +++ b/protocols/oscar/bos.c @@ -55,86 +55,6 @@ int aim_bos_setgroupperm(aim_session_t *sess, aim_conn_t *conn, guint32 mask)  	return aim_genericreq_l(sess, conn, 0x0009, 0x0004, &mask);  } -/* - * Modify permit/deny lists (group 9, types 5, 6, 7, and 8) - * - * Changes your visibility depending on changetype: - * - *  AIM_VISIBILITYCHANGE_PERMITADD: Lets provided list of names see you - *  AIM_VISIBILITYCHANGE_PERMIDREMOVE: Removes listed names from permit list - *  AIM_VISIBILITYCHANGE_DENYADD: Hides you from provided list of names - *  AIM_VISIBILITYCHANGE_DENYREMOVE: Lets list see you again - * - * list should be a list of  - * screen names in the form "Screen Name One&ScreenNameTwo&" etc. - * - * Equivelents to options in WinAIM: - *   - Allow all users to contact me: Send an AIM_VISIBILITYCHANGE_DENYADD - *      with only your name on it. - *   - Allow only users on my Buddy List: Send an  - *      AIM_VISIBILITYCHANGE_PERMITADD with the list the same as your - *      buddy list - *   - Allow only the uesrs below: Send an AIM_VISIBILITYCHANGE_PERMITADD  - *      with everyone listed that you want to see you. - *   - Block all users: Send an AIM_VISIBILITYCHANGE_PERMITADD with only  - *      yourself in the list - *   - Block the users below: Send an AIM_VISIBILITYCHANGE_DENYADD with - *      the list of users to be blocked - * - * XXX ye gods. - */ -int aim_bos_changevisibility(aim_session_t *sess, aim_conn_t *conn, int changetype, const char *denylist) -{ -	aim_frame_t *fr; -	int packlen = 0; -	guint16 subtype; -	char *localcpy = NULL, *tmpptr = NULL; -	int i; -	int listcount; -	aim_snacid_t snacid; - -	if (!denylist) -		return -EINVAL; - -	if (changetype == AIM_VISIBILITYCHANGE_PERMITADD) -		subtype = 0x05; -	else if (changetype == AIM_VISIBILITYCHANGE_PERMITREMOVE) -		subtype = 0x06; -	else if (changetype == AIM_VISIBILITYCHANGE_DENYADD) -		subtype = 0x07; -	else if (changetype == AIM_VISIBILITYCHANGE_DENYREMOVE) -		subtype = 0x08; -	else -		return -EINVAL; - -	localcpy = g_strdup(denylist); - -	listcount = aimutil_itemcnt(localcpy, '&'); -	packlen = aimutil_tokslen(localcpy, 99, '&') + listcount + 9; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, packlen))) { -		g_free(localcpy); -		return -ENOMEM; -	} - -	snacid = aim_cachesnac(sess, 0x0009, subtype, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0009, subtype, 0x00, snacid); - -	for (i = 0; (i < (listcount - 1)) && (i < 99); i++) { -		tmpptr = aimutil_itemidx(localcpy, i, '&'); - -		aimbs_put8(&fr->data, strlen(tmpptr)); -		aimbs_putraw(&fr->data, (guint8 *)tmpptr, strlen(tmpptr)); - -		g_free(tmpptr); -	} -	g_free(localcpy); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)  { diff --git a/protocols/oscar/buddylist.c b/protocols/oscar/buddylist.c index a7b461f2..3335c5ab 100644 --- a/protocols/oscar/buddylist.c +++ b/protocols/oscar/buddylist.c @@ -90,61 +90,3 @@ int buddylist_modfirst(aim_session_t *sess, aim_module_t *mod)  	return 0;  } - -/* - * aim_add_buddy() - * - * Adds a single buddy to your buddy list after login. - * - * XXX this should just be an extension of setbuddylist() - * - */ -int aim_add_buddy(aim_session_t *sess, aim_conn_t *conn, const char *sn) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sn || !strlen(sn)) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+1+strlen(sn)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0003, 0x0004, 0x0000, sn, strlen(sn)+1); -	aim_putsnac(&fr->data, 0x0003, 0x0004, 0x0000, snacid); - -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/* - * XXX generalise to support removing multiple buddies (basically, its - * the same as setbuddylist() but with a different snac subtype). - * - */ -int aim_remove_buddy(aim_session_t *sess, aim_conn_t *conn, const char *sn) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sn || !strlen(sn)) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+1+strlen(sn)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0003, 0x0005, 0x0000, sn, strlen(sn)+1); -	aim_putsnac(&fr->data, 0x0003, 0x0005, 0x0000, snacid); - -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - diff --git a/protocols/oscar/buddylist.h b/protocols/oscar/buddylist.h index 9a325279..55189581 100644 --- a/protocols/oscar/buddylist.h +++ b/protocols/oscar/buddylist.h @@ -16,8 +16,4 @@  #define AIM_CB_BUD_OFFGOING 0x000c  #define AIM_CB_BUD_DEFAULT 0xffff -/* aim_buddylist.c */ -int aim_add_buddy(aim_session_t *, aim_conn_t *, const char *); -int aim_remove_buddy(aim_session_t *, aim_conn_t *, const char *); -  #endif /* __OSCAR_BUDDYLIST_H__ */ diff --git a/protocols/oscar/chat.c b/protocols/oscar/chat.c index a5db8fba..d8399563 100644 --- a/protocols/oscar/chat.c +++ b/protocols/oscar/chat.c @@ -27,65 +27,6 @@ void aim_conn_kill_chat(aim_session_t *sess, aim_conn_t *conn)  	return;  } -char *aim_chat_getname(aim_conn_t *conn) -{ -	struct chatconnpriv *ccp; - -	if (!conn) -		return NULL; - -	if (conn->type != AIM_CONN_TYPE_CHAT) -		return NULL; - -	ccp = (struct chatconnpriv *)conn->priv; - -	return ccp->name; -} - -/* XXX get this into conn.c -- evil!! */ -aim_conn_t *aim_chat_getconn(aim_session_t *sess, const char *name) -{ -	aim_conn_t *cur; - -	for (cur = sess->connlist; cur; cur = cur->next) { -		struct chatconnpriv *ccp = (struct chatconnpriv *)cur->priv; - -		if (cur->type != AIM_CONN_TYPE_CHAT) -			continue; -		if (!cur->priv) { -			imcb_error(sess->aux_data, "chat connection with no name!"); -			continue; -		} - -		if (strcmp(ccp->name, name) == 0) -			break; -	} - -	return cur; -} - -int aim_chat_attachname(aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance) -{ -	struct chatconnpriv *ccp; - -	if (!conn || !roomname) -		return -EINVAL; - -	if (conn->priv) -		g_free(conn->priv); - -	if (!(ccp = g_malloc(sizeof(struct chatconnpriv)))) -		return -ENOMEM; - -	ccp->exchange = exchange; -	ccp->name = g_strdup(roomname); -	ccp->instance = instance; - -	conn->priv = (void *)ccp; - -	return 0; -} -  /*   * Send a Chat Message.   * @@ -253,18 +194,6 @@ int aim_chat_readroominfo(aim_bstream_t *bs, struct aim_chat_roominfo *outinfo)  	return 0;  } -int aim_chat_leaveroom(aim_session_t *sess, const char *name) -{ -	aim_conn_t *conn; - -	if (!(conn = aim_chat_getconn(sess, name))) -		return -ENOENT; - -	aim_conn_close(conn); - -	return 0; -} -  /*   * conn must be a BOS connection!   */ diff --git a/protocols/oscar/conn.c b/protocols/oscar/conn.c index 77ffd50f..a178761e 100644 --- a/protocols/oscar/conn.c +++ b/protocols/oscar/conn.c @@ -353,50 +353,6 @@ aim_conn_t *aim_getconn_type_all(aim_session_t *sess, int type)  }  /** - * aim_cloneconn - clone an aim_conn_t - * @sess: session containing parent - * @src: connection to clone - * - * A new connection is allocated, and the values are filled in - * appropriately. Note that this function sets the new connnection's - * ->priv pointer to be equal to that of its parent: only the pointer - * is copied, not the data it points to. - * - * This function returns a pointer to the new aim_conn_t, or %NULL on - * error - */ -aim_conn_t *aim_cloneconn(aim_session_t *sess, aim_conn_t *src) -{ -	aim_conn_t *conn; - -	if (!(conn = aim_conn_getnext(sess))) -		return NULL; - -	conn->fd = src->fd; -	conn->type = src->type; -	conn->subtype = src->subtype; -	conn->seqnum = src->seqnum; -	conn->priv = src->priv; -	conn->internal = src->internal; -	conn->lastactivity = src->lastactivity; -	conn->forcedlatency = src->forcedlatency; -	conn->sessv = src->sessv; -	aim_clonehandlers(sess, conn, src); - -	if (src->inside) { -		/* -		 * XXX should clone this section as well, but since currently -		 * this function only gets called for some of that rendezvous -		 * crap, and not on SNAC connections, its probably okay for -		 * now.  -		 * -		 */ -	} - -	return conn; -} - -/**   * aim_newconn - Open a new connection   * @sess: Session to create connection in   * @type: Type of connection to create diff --git a/protocols/oscar/icq.c b/protocols/oscar/icq.c index c2f8dda6..bd1ba1d1 100644 --- a/protocols/oscar/icq.c +++ b/protocols/oscar/icq.c @@ -70,44 +70,6 @@ int aim_icq_ackofflinemsgs(aim_session_t *sess)  	return 0;  } -int aim_icq_sendxmlreq(aim_session_t *sess, const char *xml) -{ -	aim_conn_t *conn; -	aim_frame_t *fr; -	aim_snacid_t snacid; -	int bslen; - -	if (!xml || !strlen(xml)) -		return -EINVAL; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015))) -		return -EINVAL; - -	bslen = 2 + 10 + 2 + strlen(xml) + 1; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + bslen))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0015, 0x0002, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0015, 0x0002, 0x0000, snacid); - -	/* For simplicity, don't bother using a tlvlist */ -	aimbs_put16(&fr->data, 0x0001); -	aimbs_put16(&fr->data, bslen); - -	aimbs_putle16(&fr->data, bslen - 2); -	aimbs_putle32(&fr->data, atoi(sess->sn)); -	aimbs_putle16(&fr->data, 0x07d0); /* I command thee. */ -	aimbs_putle16(&fr->data, snacid); /* eh. */ -	aimbs_putle16(&fr->data, 0x0998); /* shrug. */ -	aimbs_putle16(&fr->data, strlen(xml) + 1); -	aimbs_putraw(&fr->data, (guint8 *)xml, strlen(xml) + 1); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  int aim_icq_getallinfo(aim_session_t *sess, const char *uin)  {          aim_conn_t *conn; @@ -153,43 +115,6 @@ int aim_icq_getallinfo(aim_session_t *sess, const char *uin)          return 0;  } -int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin) -{ -	aim_conn_t *conn; -	aim_frame_t *fr; -	aim_snacid_t snacid; -	int bslen; - -	if (!uin || uin[0] < '0' || uin[0] > '9') -		return -EINVAL; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015))) -		return -EINVAL; - -	bslen = 2 + 4 + 2 + 2 + 2 + 4; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + bslen))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0015, 0x0002, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0015, 0x0002, 0x0000, snacid); - -	/* For simplicity, don't bother using a tlvlist */ -	aimbs_put16(&fr->data, 0x0001); -	aimbs_put16(&fr->data, bslen); - -	aimbs_putle16(&fr->data, bslen - 2); -	aimbs_putle32(&fr->data, atoi(sess->sn)); -	aimbs_putle16(&fr->data, 0x07d0); /* I command thee. */ -	aimbs_putle16(&fr->data, snacid); /* eh. */ -	aimbs_putle16(&fr->data, 0x051f); /* shrug. */ -	aimbs_putle32(&fr->data, atoi(uin)); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  static void aim_icq_freeinfo(struct aim_icq_info *info) {          int i; diff --git a/protocols/oscar/icq.h b/protocols/oscar/icq.h index c496f39c..41b3efb9 100644 --- a/protocols/oscar/icq.h +++ b/protocols/oscar/icq.h @@ -93,6 +93,5 @@ struct aim_icq_info {  int aim_icq_reqofflinemsgs(aim_session_t *sess);  int aim_icq_ackofflinemsgs(aim_session_t *sess);  int aim_icq_getallinfo(aim_session_t *sess, const char *uin); -int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin);  #endif /* __OSCAR_ICQ_H__ */ diff --git a/protocols/oscar/im.c b/protocols/oscar/im.c index 231dd959..05e06e91 100644 --- a/protocols/oscar/im.c +++ b/protocols/oscar/im.c @@ -24,83 +24,6 @@  #include "info.h"  /* - * Takes a msghdr (and a length) and returns a client type - * code.  Note that this is *only a guess* and has a low likelihood - * of actually being accurate. - * - * Its based on experimental data, with the help of Eric Warmenhoven - * who seems to have collected a wide variety of different AIM clients. - * - * - * Heres the current collection: - *  0501 0003 0101 0101 01       AOL Mobile Communicator, WinAIM 1.0.414 - *  0501 0003 0101 0201 01       WinAIM 2.0.847, 2.1.1187, 3.0.1464,  - *                                      4.3.2229, 4.4.2286 - *  0501 0004 0101 0102 0101     WinAIM 4.1.2010, libfaim (right here) - *  0501 0001 0101 01            AOL v6.0, CompuServe 2000 v6.0, any - *                                      TOC client - * - * Note that in this function, only the feature bytes are tested, since - * the rest will always be the same. - * - */ -guint16 aim_fingerprintclient(guint8 *msghdr, int len) -{ -	static const struct { -		guint16 clientid; -		int len; -		guint8 data[10]; -	} fingerprints[] = { -		/* AOL Mobile Communicator, WinAIM 1.0.414 */ -		{ AIM_CLIENTTYPE_MC,  -		  3, {0x01, 0x01, 0x01}}, - -		/* WinAIM 2.0.847, 2.1.1187, 3.0.1464, 4.3.2229, 4.4.2286 */ -		{ AIM_CLIENTTYPE_WINAIM,  -		  3, {0x01, 0x01, 0x02}}, - -		/* WinAIM 4.1.2010, libfaim */ -		{ AIM_CLIENTTYPE_WINAIM41, -		  4, {0x01, 0x01, 0x01, 0x02}}, - -		/* AOL v6.0, CompuServe 2000 v6.0, any TOC client */ -		{ AIM_CLIENTTYPE_AOL_TOC, -		  1, {0x01}}, - -		{ 0, 0} -	}; -	int i; - -	if (!msghdr || (len <= 0)) -		return AIM_CLIENTTYPE_UNKNOWN; - -	for (i = 0; fingerprints[i].len; i++) { -		if (fingerprints[i].len != len) -			continue; -		if (memcmp(fingerprints[i].data, msghdr, fingerprints[i].len) == 0) -			return fingerprints[i].clientid; -	} - -	return AIM_CLIENTTYPE_UNKNOWN; -} - -/* This should be endian-safe now... but who knows... */ -guint16 aim_iconsum(const guint8 *buf, int buflen) -{ -	guint32 sum; -	int i; - -	for (i = 0, sum = 0; i + 1 < buflen; i += 2) -		sum += (buf[i+1] << 8) + buf[i]; -	if (i < buflen) -		sum += buf[i]; - -	sum = ((sum & 0xffff0000) >> 16) + (sum & 0x0000ffff); - -	return (guint16)sum; -} - -/*   * Send an ICBM (instant message).     *   * @@ -366,483 +289,6 @@ int aim_send_im(aim_session_t *sess, const char *destsn, guint16 flags, const ch  	return aim_send_im_ext(sess, &args);  } -/* - * This is also performance sensitive. (If you can believe it...) - * - */ -int aim_send_icon(aim_session_t *sess, const char *sn, const guint8 *icon, int iconlen, time_t stamp, guint16 iconsum) -{ -	aim_conn_t *conn; -	int i; -	guint8 ck[8]; -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004))) -		return -EINVAL; - -	if (!sn || !icon || (iconlen <= 0) || (iconlen >= MAXICONLEN)) -		return -EINVAL; - -	for (i = 0; i < 8; i++) -		aimutil_put8(ck+i, (guint8) rand()); - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+8+2+1+strlen(sn)+2+2+2+8+16+2+2+2+2+2+2+2+4+4+4+iconlen+strlen(AIM_ICONIDENT)+2+2))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x0006, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0004, 0x0006, 0x0000, snacid); - -	/* -	 * Cookie -	 */ -	aimbs_putraw(&fr->data, ck, 8); - -	/* -	 * Channel (2) -	 */ -	aimbs_put16(&fr->data, 0x0002); - -	/* -	 * Dest sn -	 */ -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	/* -	 * TLV t(0005) -	 * -	 * Encompasses everything below. -	 */ -	aimbs_put16(&fr->data, 0x0005); -	aimbs_put16(&fr->data, 2+8+16+6+4+4+iconlen+4+4+4+strlen(AIM_ICONIDENT)); - -	aimbs_put16(&fr->data, 0x0000); -	aimbs_putraw(&fr->data, ck, 8); -	aim_putcap(&fr->data, AIM_CAPS_BUDDYICON); - -	/* TLV t(000a) */ -	aimbs_put16(&fr->data, 0x000a); -	aimbs_put16(&fr->data, 0x0002); -	aimbs_put16(&fr->data, 0x0001); - -	/* TLV t(000f) */ -	aimbs_put16(&fr->data, 0x000f); -	aimbs_put16(&fr->data, 0x0000); - -	/* TLV t(2711) */ -	aimbs_put16(&fr->data, 0x2711); -	aimbs_put16(&fr->data, 4+4+4+iconlen+strlen(AIM_ICONIDENT)); -	aimbs_put16(&fr->data, 0x0000); -	aimbs_put16(&fr->data, iconsum); -	aimbs_put32(&fr->data, iconlen); -	aimbs_put32(&fr->data, stamp); -	aimbs_putraw(&fr->data, icon, iconlen); -	aimbs_putraw(&fr->data, (guint8 *)AIM_ICONIDENT, strlen(AIM_ICONIDENT)); - -	/* TLV t(0003) */ -	aimbs_put16(&fr->data, 0x0003); -	aimbs_put16(&fr->data, 0x0000); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/* - * This only works for ICQ 2001b (thats 2001 not 2000).  Better, only - * send it to clients advertising the RTF capability.  In fact, if you send - * it to a client that doesn't support that capability, the server will gladly - * bounce it back to you. - * - * You'd think this would be in icq.c, but, well, I'm trying to stick with - * the one-group-per-file scheme as much as possible.  This could easily - * be an exception, since Rendezvous IMs are external of the Oscar core,  - * and therefore are undefined.  Really I just need to think of a good way to - * make an interface similar to what AOL actually uses.  But I'm not using COM. - * - */ -int aim_send_rtfmsg(aim_session_t *sess, struct aim_sendrtfmsg_args *args) -{ -	const char rtfcap[] = {"{97B12751-243C-4334-AD22-D6ABF73F1492}"}; /* AIM_CAPS_ICQRTF capability in string form */ -	aim_conn_t *conn; -	int i; -	guint8 ck[8]; -	aim_frame_t *fr; -	aim_snacid_t snacid; -	int servdatalen; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004))) -		return -EINVAL; - -	if (!args || !args->destsn || !args->rtfmsg) -		return -EINVAL; - -	servdatalen = 2+2+16+2+4+1+2  +  2+2+4+4+4  +  2+4+2+strlen(args->rtfmsg)+1  +  4+4+4+strlen(rtfcap)+1; - -	for (i = 0; i < 8; i++) -		aimutil_put8(ck+i, (guint8) rand()); - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+128+servdatalen))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x0006, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0004, 0x0006, 0x0000, snacid); - -	/* -	 * Cookie -	 */ -	aimbs_putraw(&fr->data, ck, 8); - -	/* -	 * Channel (2) -	 */ -	aimbs_put16(&fr->data, 0x0002); - -	/* -	 * Dest sn -	 */ -	aimbs_put8(&fr->data, strlen(args->destsn)); -	aimbs_putraw(&fr->data, (guint8 *)args->destsn, strlen(args->destsn)); - -	/* -	 * TLV t(0005) -	 * -	 * Encompasses everything below. -	 */ -	aimbs_put16(&fr->data, 0x0005); -	aimbs_put16(&fr->data, 2+8+16  +  2+2+2  +  2+2  +  2+2+servdatalen); - -	aimbs_put16(&fr->data, 0x0000); -	aimbs_putraw(&fr->data, ck, 8); -	aim_putcap(&fr->data, AIM_CAPS_ICQSERVERRELAY); - -	/* -	 * t(000a) l(0002) v(0001) -	 */ -	aimbs_put16(&fr->data, 0x000a); -	aimbs_put16(&fr->data, 0x0002); -	aimbs_put16(&fr->data, 0x0001); - -	/* -	 * t(000f) l(0000) v() -	 */ -	aimbs_put16(&fr->data, 0x000f); -	aimbs_put16(&fr->data, 0x0000); - -	/* -	 * Service Data TLV -	 */ -	aimbs_put16(&fr->data, 0x2711); -	aimbs_put16(&fr->data, servdatalen); - -	aimbs_putle16(&fr->data, 11 + 16 /* 11 + (sizeof CLSID) */); -	aimbs_putle16(&fr->data, 9); -	aim_putcap(&fr->data, AIM_CAPS_EMPTY); -	aimbs_putle16(&fr->data, 0); -	aimbs_putle32(&fr->data, 0); -	aimbs_putle8(&fr->data, 0); -	aimbs_putle16(&fr->data, 0x03ea); /* trid1 */ - -	aimbs_putle16(&fr->data, 14); -	aimbs_putle16(&fr->data, 0x03eb); /* trid2 */ -	aimbs_putle32(&fr->data, 0); -	aimbs_putle32(&fr->data, 0); -	aimbs_putle32(&fr->data, 0); - -	aimbs_putle16(&fr->data, 0x0001); -	aimbs_putle32(&fr->data, 0); -	aimbs_putle16(&fr->data, strlen(args->rtfmsg)+1); -	aimbs_putraw(&fr->data, (guint8 *)args->rtfmsg, strlen(args->rtfmsg)+1); - -	aimbs_putle32(&fr->data, args->fgcolor); -	aimbs_putle32(&fr->data, args->bgcolor); -	aimbs_putle32(&fr->data, strlen(rtfcap)+1); -	aimbs_putraw(&fr->data, (guint8 *)rtfcap, strlen(rtfcap)+1); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -int aim_request_directim(aim_session_t *sess, const char *destsn, guint8 *ip, guint16 port, guint8 *ckret) -{ -	aim_conn_t *conn; -	guint8 ck[8]; -	aim_frame_t *fr; -	aim_snacid_t snacid; -	aim_tlvlist_t *tl = NULL, *itl = NULL; -	int hdrlen, i; -	guint8 *hdr; -	aim_bstream_t hdrbs; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004))) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 256+strlen(destsn)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x0006, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0004, 0x0006, 0x0000, snacid); - -	/*  -	 * Generate a random message cookie  -	 * -	 * This cookie needs to be alphanumeric and NULL-terminated to be  -	 * TOC-compatible. -	 * -	 * XXX have I mentioned these should be generated in msgcookie.c? -	 * -	 */ -	for (i = 0; i < 7; i++) -	       	ck[i] = 0x30 + ((guint8) rand() % 10); -	ck[7] = '\0'; - -	if (ckret) -		memcpy(ckret, ck, 8); - -	/* Cookie */ -	aimbs_putraw(&fr->data, ck, 8); - -	/* Channel */ -	aimbs_put16(&fr->data, 0x0002); - -	/* Destination SN */ -	aimbs_put8(&fr->data, strlen(destsn)); -	aimbs_putraw(&fr->data, (guint8 *)destsn, strlen(destsn)); - -	aim_addtlvtochain_noval(&tl, 0x0003); - -	hdrlen = 2+8+16+6+8+6+4; -	hdr = g_malloc(hdrlen); -	aim_bstream_init(&hdrbs, hdr, hdrlen); - -	aimbs_put16(&hdrbs, 0x0000); -	aimbs_putraw(&hdrbs, ck, 8); -	aim_putcap(&hdrbs, AIM_CAPS_IMIMAGE); - -	aim_addtlvtochain16(&itl, 0x000a, 0x0001); -	aim_addtlvtochain_raw(&itl, 0x0003, 4, ip); -	aim_addtlvtochain16(&itl, 0x0005, port); -	aim_addtlvtochain_noval(&itl, 0x000f); -	 -	aim_writetlvchain(&hdrbs, &itl); - -	aim_addtlvtochain_raw(&tl, 0x0005, aim_bstream_curpos(&hdrbs), hdr); - -	aim_writetlvchain(&fr->data, &tl); - -	g_free(hdr); -	aim_freetlvchain(&itl); -	aim_freetlvchain(&tl); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -int aim_request_sendfile(aim_session_t *sess, const char *sn, const char *filename, guint16 numfiles, guint32 totsize, guint8 *ip, guint16 port, guint8 *ckret) -{ -	aim_conn_t *conn; -	int i; -	guint8 ck[8]; -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004))) -		return -EINVAL; - -	if (!sn || !filename) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+8+2+1+strlen(sn)+2+2+2+8+16+6+8+6+4+2+2+2+2+4+strlen(filename)+4))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x0006, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0004, 0x0006, 0x0000, snacid); - -	for (i = 0; i < 7; i++) -		aimutil_put8(ck+i, 0x30 + ((guint8) rand() % 10)); -	ck[7] = '\0'; - -	if (ckret) -		memcpy(ckret, ck, 8); - -	/* -	 * Cookie -	 */ -	aimbs_putraw(&fr->data, ck, 8); - -	/* -	 * Channel (2) -	 */ -	aimbs_put16(&fr->data, 0x0002); - -	/* -	 * Dest sn -	 */ -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	/* -	 * TLV t(0005) -	 * -	 * Encompasses everything below. Gee. -	 */ -	aimbs_put16(&fr->data, 0x0005); -	aimbs_put16(&fr->data, 2+8+16+6+8+6+4+2+2+2+2+4+strlen(filename)+4); - -	aimbs_put16(&fr->data, 0x0000); -	aimbs_putraw(&fr->data, ck, 8); -	aim_putcap(&fr->data, AIM_CAPS_SENDFILE); - -	/* TLV t(000a) */ -	aimbs_put16(&fr->data, 0x000a); -	aimbs_put16(&fr->data, 0x0002); -	aimbs_put16(&fr->data, 0x0001); - -	/* TLV t(0003) (IP) */ -	aimbs_put16(&fr->data, 0x0003); -	aimbs_put16(&fr->data, 0x0004); -	aimbs_putraw(&fr->data, ip, 4); - -	/* TLV t(0005) (port) */ -	aimbs_put16(&fr->data, 0x0005); -	aimbs_put16(&fr->data, 0x0002); -	aimbs_put16(&fr->data, port); - -	/* TLV t(000f) */ -	aimbs_put16(&fr->data, 0x000f); -	aimbs_put16(&fr->data, 0x0000); - -	/* TLV t(2711) */ -	aimbs_put16(&fr->data, 0x2711); -	aimbs_put16(&fr->data, 2+2+4+strlen(filename)+4); - -	/* ? */ -	aimbs_put16(&fr->data, 0x0001); -	aimbs_put16(&fr->data, numfiles); -	aimbs_put32(&fr->data, totsize); -	aimbs_putraw(&fr->data, (guint8 *)filename, strlen(filename)); - -	/* ? */ -	aimbs_put32(&fr->data, 0x00000000); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/** - * Request the status message of the given ICQ user. - * - * @param sess The oscar session. - * @param sn The UIN of the user of whom you wish to request info. - * @param type The type of info you wish to request.  This should be the current  - *        state of the user, as one of the AIM_ICQ_STATE_* defines. - * @return Return 0 if no errors, otherwise return the error number. - */ -int aim_send_im_ch2_geticqmessage(aim_session_t *sess, const char *sn, int type) -{ -	aim_conn_t *conn; -	int i; -	guint8 ck[8]; -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004)) || !sn) -		return -EINVAL; - -	for (i = 0; i < 8; i++) -		aimutil_put8(ck+i, (guint8) rand()); - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+8+2+1+strlen(sn) + 4+0x5e + 4))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x0006, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0004, 0x0006, 0x0000, snacid); - -	/* Cookie */ -	aimbs_putraw(&fr->data, ck, 8); - -	/* Channel (2) */ -	aimbs_put16(&fr->data, 0x0002); - -	/* Dest sn */ -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	/* TLV t(0005) - Encompasses almost everything below. */ -	aimbs_put16(&fr->data, 0x0005); /* T */ -	aimbs_put16(&fr->data, 0x005e); /* L */ -	{ /* V */ -		aimbs_put16(&fr->data, 0x0000); - -		/* Cookie */ -		aimbs_putraw(&fr->data, ck, 8); - -		/* Put the 16 byte server relay capability */ -		aim_putcap(&fr->data, AIM_CAPS_ICQSERVERRELAY); - -		/* TLV t(000a) */ -		aimbs_put16(&fr->data, 0x000a); -		aimbs_put16(&fr->data, 0x0002); -		aimbs_put16(&fr->data, 0x0001); - -		/* TLV t(000f) */ -		aimbs_put16(&fr->data, 0x000f); -		aimbs_put16(&fr->data, 0x0000); - -		/* TLV t(2711) */ -		aimbs_put16(&fr->data, 0x2711); -		aimbs_put16(&fr->data, 0x0036); -		{ /* V */ -			aimbs_putle16(&fr->data, 0x001b); /* L */ -			aimbs_putle16(&fr->data, 0x0008); /* AAA - Protocol version */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ -			aimbs_putle16(&fr->data, 0x0000); /* Unknown */ -			aimbs_putle16(&fr->data, 0x0003); /* Client features? */ -			aimbs_putle16(&fr->data, 0x0000); /* Unknown */ -			aimbs_putle8(&fr->data, 0x00); /* Unkizown */ -			aimbs_putle16(&fr->data, 0xffff); /* Sequence number?  XXX - This should decrement by 1 with each request */ - -			aimbs_putle16(&fr->data, 0x000e); /* L */ -			aimbs_putle16(&fr->data, 0xffff); /* Sequence number?  XXX - This should decrement by 1 with each request */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ -			aimbs_putle32(&fr->data, 0x00000000); /* Unknown */ - -			/* The type of status message being requested */ -			if (type & AIM_ICQ_STATE_CHAT) -				aimbs_putle16(&fr->data, 0x03ec); -			else if(type & AIM_ICQ_STATE_DND) -				aimbs_putle16(&fr->data, 0x03eb); -			else if(type & AIM_ICQ_STATE_OUT) -				aimbs_putle16(&fr->data, 0x03ea); -			else if(type & AIM_ICQ_STATE_BUSY) -				aimbs_putle16(&fr->data, 0x03e9); -			else if(type & AIM_ICQ_STATE_AWAY) -				aimbs_putle16(&fr->data, 0x03e8); - -			aimbs_putle16(&fr->data, 0x0000); /* Status? */ -			aimbs_putle16(&fr->data, 0x0001); /* Priority of this message? */ -			aimbs_putle16(&fr->data, 0x0001); /* L? */ -			aimbs_putle8(&fr->data, 0x00); /* Null termination? */ -		} /* End TLV t(2711) */ -	} /* End TLV t(0005) */ - -	/* TLV t(0003) */ -	aimbs_put16(&fr->data, 0x0003); -	aimbs_put16(&fr->data, 0x0000); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  /**   * answers status message requests   * @param sess the oscar session @@ -1052,61 +498,6 @@ static int mpmsg_addsection(aim_session_t *sess, aim_mpmsg_t *mpm, guint16 chars  	return 0;  } -int aim_mpmsg_addraw(aim_session_t *sess, aim_mpmsg_t *mpm, guint16 charset, guint16 charsubset, const guint8 *data, guint16 datalen) -{ -	guint8 *dup; - -	if (!(dup = g_malloc(datalen))) -		return -1; -	memcpy(dup, data, datalen); - -	if (mpmsg_addsection(sess, mpm, charset, charsubset, dup, datalen) == -1) { -		g_free(dup); -		return -1; -	} - -	return 0; -} - -/* XXX should provide a way of saying ISO-8859-1 specifically */ -int aim_mpmsg_addascii(aim_session_t *sess, aim_mpmsg_t *mpm, const char *ascii) -{ -	char *dup; - -	if (!(dup = g_strdup(ascii)))  -		return -1; - -	if (mpmsg_addsection(sess, mpm, 0x0000, 0x0000, (guint8 *)dup, (guint16) strlen(ascii)) == -1) { -		g_free(dup); -		return -1; -	} - -	return 0; -} - -int aim_mpmsg_addunicode(aim_session_t *sess, aim_mpmsg_t *mpm, const guint16 *unicode, guint16 unicodelen) -{ -	guint8 *buf; -	aim_bstream_t bs; -	int i; - -	if (!(buf = g_malloc(unicodelen * 2))) -		return -1; - -	aim_bstream_init(&bs, buf, unicodelen * 2); - -	/* We assume unicode is in /host/ byte order -- convert to network */ -	for (i = 0; i < unicodelen; i++) -		aimbs_put16(&bs, unicode[i]); - -	if (mpmsg_addsection(sess, mpm, 0x0002, 0x0000, buf, aim_bstream_curpos(&bs)) == -1) { -		g_free(buf); -		return -1; -	} -	 -	return 0; -} -  void aim_mpmsg_free(aim_session_t *sess, aim_mpmsg_t *mpm)  {  	aim_mpmsg_section_t *cur; @@ -1790,44 +1181,6 @@ static int incomingim(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, a  }  /* - * Possible codes: - *    AIM_TRANSFER_DENY_NOTSUPPORTED -- "client does not support" - *    AIM_TRANSFER_DENY_DECLINE -- "client has declined transfer" - *    AIM_TRANSFER_DENY_NOTACCEPTING -- "client is not accepting transfers" - *  - */ -int aim_denytransfer(aim_session_t *sess, const char *sender, const guint8 *cookie, guint16 code) -{ -	aim_conn_t *conn; -	aim_frame_t *fr; -	aim_snacid_t snacid; -	aim_tlvlist_t *tl = NULL; -	 -	if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004))) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+8+2+1+strlen(sender)+6))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x000b, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0004, 0x000b, 0x0000, snacid); -	 -	aimbs_putraw(&fr->data, cookie, 8); - -	aimbs_put16(&fr->data, 0x0002); /* channel */ -	aimbs_put8(&fr->data, strlen(sender)); -	aimbs_putraw(&fr->data, (guint8 *)sender, strlen(sender)); - -	aim_addtlvtochain16(&tl, 0x0003, code); -	aim_writetlvchain(&fr->data, &tl); -	aim_freetlvchain(&tl); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/*   * aim_reqicbmparaminfo()   *   * Request ICBM parameter information. diff --git a/protocols/oscar/im.h b/protocols/oscar/im.h index 42a8a6b1..34d5e238 100644 --- a/protocols/oscar/im.h +++ b/protocols/oscar/im.h @@ -46,9 +46,6 @@ typedef struct aim_mpmsg_s {  } aim_mpmsg_t;  int aim_mpmsg_init(aim_session_t *sess, aim_mpmsg_t *mpm); -int aim_mpmsg_addraw(aim_session_t *sess, aim_mpmsg_t *mpm, guint16 charset, guint16 charsubset, const guint8 *data, guint16 datalen); -int aim_mpmsg_addascii(aim_session_t *sess, aim_mpmsg_t *mpm, const char *ascii); -int aim_mpmsg_addunicode(aim_session_t *sess, aim_mpmsg_t *mpm, const guint16 *unicode, guint16 unicodelen);  void aim_mpmsg_free(aim_session_t *sess, aim_mpmsg_t *mpm);  /* @@ -85,16 +82,6 @@ struct aim_sendimext_args {  };  /* - * Arguments to aim_send_rtfmsg(). - */ -struct aim_sendrtfmsg_args { -	const char *destsn; -	guint32 fgcolor; -	guint32 bgcolor; -	const char *rtfmsg; /* must be in RTF */ -}; - -/*   * This information is provided in the Incoming ICBM callback for   * Channel 1 ICBM's.     * @@ -182,18 +169,14 @@ struct aim_incomingim_ch4_args {  	char *msg; /* Reason for auth request, deny, or accept */  }; -int aim_send_rtfmsg(aim_session_t *sess, struct aim_sendrtfmsg_args *args);  int aim_send_im_ext(aim_session_t *sess, struct aim_sendimext_args *args);  int aim_send_im(aim_session_t *, const char *destsn, unsigned short flags, const char *msg); -int aim_send_icon(aim_session_t *sess, const char *sn, const guint8 *icon, int iconlen, time_t stamp, guint16 iconsum); -guint16 aim_iconsum(const guint8 *buf, int buflen);  int aim_send_typing(aim_session_t *sess, aim_conn_t *conn, int typing);  int aim_send_im_direct(aim_session_t *, aim_conn_t *, const char *msg, int len);  const char *aim_directim_getsn(aim_conn_t *conn);  aim_conn_t *aim_directim_initiate(aim_session_t *, const char *destsn);  aim_conn_t *aim_directim_connect(aim_session_t *, const char *sn, const char *addr, const guint8 *cookie); -int aim_send_im_ch2_geticqmessage(aim_session_t *sess, const char *sn, int type);  int aim_im_sendmtn(aim_session_t *sess, guint16 type1, const char *sn, guint16 type2);  int aim_send_im_ch2_statusmessage(aim_session_t *sess, const char *sender, const guint8 *cookie, const char *message, const guint8 state, const guint16 dc); diff --git a/protocols/oscar/info.c b/protocols/oscar/info.c index 7cc1dbbc..a5a65147 100644 --- a/protocols/oscar/info.c +++ b/protocols/oscar/info.c @@ -40,79 +40,6 @@ int aim_getinfo(aim_session_t *sess, aim_conn_t *conn, const char *sn, guint16 i  	return 0;  } -const char *aim_userinfo_sn(aim_userinfo_t *ui) -{ - -	if (!ui) -		return NULL; - -	return ui->sn; -} - -guint16 aim_userinfo_flags(aim_userinfo_t *ui) -{ - -	if (!ui) -		return 0; - -	return ui->flags; -} - -guint16 aim_userinfo_idle(aim_userinfo_t *ui) -{ - -	if (!ui) -		return 0; - -	return ui->idletime; -} - -float aim_userinfo_warnlevel(aim_userinfo_t *ui) -{ - -	if (!ui) -		return 0.00; - -	return (ui->warnlevel / 10); -} - -time_t aim_userinfo_membersince(aim_userinfo_t *ui) -{ - -	if (!ui) -		return 0; - -	return (time_t)ui->membersince; -} - -time_t aim_userinfo_onlinesince(aim_userinfo_t *ui) -{ - -	if (!ui) -		return 0; - -	return (time_t)ui->onlinesince; -} - -guint32 aim_userinfo_sessionlen(aim_userinfo_t *ui) -{ - -	if (!ui) -		return 0; - -	return ui->sessionlen; -} - -int aim_userinfo_hascap(aim_userinfo_t *ui, guint32 cap) -{ - -	if (!ui || !(ui->present & AIM_USERINFO_PRESENT_CAPABILITIES)) -		return -1; - -	return !!(ui->capabilities & cap); -} - -  /*   * Capability blocks.    * @@ -486,113 +413,6 @@ int aim_extractuserinfo(aim_session_t *sess, aim_bstream_t *bs, aim_userinfo_t *  }  /* - * Inverse of aim_extractuserinfo() - */ -int aim_putuserinfo(aim_bstream_t *bs, aim_userinfo_t *info) -{ -	aim_tlvlist_t *tlvlist = NULL; - -	if (!bs || !info) -		return -EINVAL; - -	aimbs_put8(bs, strlen(info->sn)); -	aimbs_putraw(bs, (guint8 *)info->sn, strlen(info->sn)); - -	aimbs_put16(bs, info->warnlevel); - - -	aim_addtlvtochain16(&tlvlist, 0x0001, info->flags); -	aim_addtlvtochain32(&tlvlist, 0x0002, info->membersince); -	aim_addtlvtochain32(&tlvlist, 0x0003, info->onlinesince); -	aim_addtlvtochain16(&tlvlist, 0x0004, info->idletime); - -#if ICQ_OSCAR_SUPPORT -	if (atoi(info->sn) != 0) { -		aim_addtlvtochain16(&tlvlist, 0x0006, info->icqinfo.status); -		aim_addtlvtochain32(&tlvlist, 0x000a, info->icqinfo.ipaddr); -	} -#endif - -	aim_addtlvtochain_caps(&tlvlist, 0x000d, info->capabilities); - -	aim_addtlvtochain32(&tlvlist, (guint16)((info->flags & AIM_FLAG_AOL) ? 0x0010 : 0x000f), info->sessionlen); - -	aimbs_put16(bs, aim_counttlvchain(&tlvlist)); -	aim_writetlvchain(bs, &tlvlist); -	aim_freetlvchain(&tlvlist); - -	return 0; -} - -int aim_sendbuddyoncoming(aim_session_t *sess, aim_conn_t *conn, aim_userinfo_t *info) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !conn || !info) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 1152))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0003, 0x000b, 0x0000, NULL, 0); -	 -	aim_putsnac(&fr->data, 0x0003, 0x000b, 0x0000, snacid); -	aim_putuserinfo(&fr->data, info); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -int aim_sendbuddyoffgoing(aim_session_t *sess, aim_conn_t *conn, const char *sn) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !conn || !sn) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+1+strlen(sn)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0003, 0x000c, 0x0000, NULL, 0); -	 -	aim_putsnac(&fr->data, 0x0003, 0x000c, 0x0000, snacid); -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/* - * Huh? What is this? - */ -int aim_0002_000b(aim_session_t *sess, aim_conn_t *conn, const char *sn) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !conn || !sn) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+1+strlen(sn)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0002, 0x000b, 0x0000, NULL, 0); -	 -	aim_putsnac(&fr->data, 0x0002, 0x000b, 0x0000, snacid); -	aimbs_put8(&fr->data, strlen(sn)); -	aimbs_putraw(&fr->data, (guint8 *)sn, strlen(sn)); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/*   * Normally contains:   *   t(0001)  - short containing max profile length (value = 1024)   *   t(0002)  - short - unknown (value = 16) [max MIME type length?] diff --git a/protocols/oscar/info.h b/protocols/oscar/info.h index b4d99e9f..5651f187 100644 --- a/protocols/oscar/info.h +++ b/protocols/oscar/info.h @@ -39,6 +39,4 @@  #define AIM_CAPS_EXTCHAN2       0x00100000  #define AIM_CAPS_LAST           0x00200000 -int aim_0002_000b(aim_session_t *sess, aim_conn_t *conn, const char *sn); -  #endif /* __OSCAR_INFO_H__ */ diff --git a/protocols/oscar/misc.c b/protocols/oscar/misc.c index 58fb6c31..950cd852 100644 --- a/protocols/oscar/misc.c +++ b/protocols/oscar/misc.c @@ -13,56 +13,6 @@  #include <aim.h>  -/* - * aim_bos_setbuddylist(buddylist) - * - * This just builds the "set buddy list" command then queues it. - * - * buddy_list = "Screen Name One&ScreenNameTwo&"; - * - * TODO: Clean this up.   - * - * XXX: I can't stress the TODO enough. - * - */ -int aim_bos_setbuddylist(aim_session_t *sess, aim_conn_t *conn, const char *buddy_list) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; -	int len = 0; -	char *localcpy = NULL; -	char *tmpptr = NULL; - -	if (!buddy_list || !(localcpy = g_strdup(buddy_list)))  -		return -EINVAL; - -	for (tmpptr = strtok(localcpy, "&"); tmpptr; ) { -		len += 1 + strlen(tmpptr); -		tmpptr = strtok(NULL, "&"); -	} - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+len))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0003, 0x0004, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0003, 0x0004, 0x0000, snacid); - -	strncpy(localcpy, buddy_list, strlen(buddy_list) + 1); - -	for (tmpptr = strtok(localcpy, "&"); tmpptr; ) { - -		aimbs_put8(&fr->data, strlen(tmpptr)); -		aimbs_putraw(&fr->data, (guint8 *)tmpptr, strlen(tmpptr)); -		tmpptr = strtok(NULL, "&"); -	} - -	aim_tx_enqueue(sess, fr); - -	g_free(localcpy); - -	return 0; -} -  /*    * aim_bos_setprofile(profile)   * @@ -126,40 +76,6 @@ int aim_bos_reqbuddyrights(aim_session_t *sess, aim_conn_t *conn)  }  /* - * Send a warning to destsn. - *  - * Flags: - *  AIM_WARN_ANON  Send as an anonymous (doesn't count as much) - * - * returns -1 on error (couldn't alloc packet), 0 on success.  - * - */ -int aim_send_warning(aim_session_t *sess, aim_conn_t *conn, const char *destsn, guint32 flags) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; -	guint16 outflags = 0x0000; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, strlen(destsn)+13))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0004, 0x0008, 0x0000, destsn, strlen(destsn)+1); - -	aim_putsnac(&fr->data, 0x0004, 0x0008, 0x0000, snacid); - -	if (flags & AIM_WARN_ANON) -		outflags |= 0x0001; - -	aimbs_put16(&fr->data, outflags);  -	aimbs_put8(&fr->data, strlen(destsn)); -	aimbs_putraw(&fr->data, (guint8 *)destsn, strlen(destsn)); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/*   * Generic routine for sending commands.   *   * @@ -255,90 +171,6 @@ int aim_bos_reqlocaterights(aim_session_t *sess, aim_conn_t *conn)  	return aim_genericreq_n(sess, conn, 0x0002, 0x0002);  } -/*  - * Set directory profile data (not the same as aim_bos_setprofile!) - * - * privacy: 1 to allow searching, 0 to disallow. - */ -int aim_setdirectoryinfo(aim_session_t *sess, aim_conn_t *conn, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, guint16 privacy)  -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; -	aim_tlvlist_t *tl = NULL; - - -	aim_addtlvtochain16(&tl, 0x000a, privacy); - -	if (first) -		aim_addtlvtochain_raw(&tl, 0x0001, strlen(first), (guint8 *)first); -	if (last) -		aim_addtlvtochain_raw(&tl, 0x0002, strlen(last), (guint8 *)last); -	if (middle) -		aim_addtlvtochain_raw(&tl, 0x0003, strlen(middle), (guint8 *)middle); -	if (maiden) -		aim_addtlvtochain_raw(&tl, 0x0004, strlen(maiden), (guint8 *)maiden); - -	if (state) -		aim_addtlvtochain_raw(&tl, 0x0007, strlen(state), (guint8 *)state); -	if (city) -		aim_addtlvtochain_raw(&tl, 0x0008, strlen(city), (guint8 *)city); - -	if (nickname) -		aim_addtlvtochain_raw(&tl, 0x000c, strlen(nickname), (guint8 *)nickname); -	if (zip) -		aim_addtlvtochain_raw(&tl, 0x000d, strlen(zip), (guint8 *)zip); - -	if (street) -		aim_addtlvtochain_raw(&tl, 0x0021, strlen(street), (guint8 *)street); - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+aim_sizetlvchain(&tl)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0002, 0x0009, 0x0000, NULL, 0); -	 -	aim_putsnac(&fr->data, 0x0002, 0x0009, 0x0000, snacid); -	aim_writetlvchain(&fr->data, &tl); -	aim_freetlvchain(&tl); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} - -/* XXX pass these in better */ -int aim_setuserinterests(aim_session_t *sess, aim_conn_t *conn, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, guint16 privacy) -{ -	aim_frame_t *fr; -	aim_tlvlist_t *tl = NULL; - -	/* ?? privacy ?? */ -	aim_addtlvtochain16(&tl, 0x000a, privacy); - -	if (interest1) -		aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest1), (guint8 *)interest1); -	if (interest2) -		aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest2), (guint8 *)interest2); -	if (interest3) -		aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest3), (guint8 *)interest3); -	if (interest4) -		aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest4), (guint8 *)interest4); -	if (interest5) -		aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest5), (guint8 *)interest5); - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+aim_sizetlvchain(&tl)))) -		return -ENOMEM; - -	aim_cachesnac(sess, 0x0002, 0x000f, 0x0000, NULL, 0); - -	aim_putsnac(&fr->data, 0x0002, 0x000f, 0x0000, 0); -	aim_writetlvchain(&fr->data, &tl); -	aim_freetlvchain(&tl); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  /*   * Should be generic enough to handle the errors for all groups.   * diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c index 1366fe41..a5e177e9 100644 --- a/protocols/oscar/oscar.c +++ b/protocols/oscar/oscar.c @@ -2102,47 +2102,6 @@ static int gaim_ssi_parseack( aim_session_t *sess, aim_frame_t *fr, ... )  	return( 1 );  } -static void oscar_set_permit_deny(struct im_connection *ic) { -	struct oscar_data *od = (struct oscar_data *)ic->proto_data; -	if (od->icq) { -		GSList *list; -		char buf[MAXMSGLEN]; -		int at; - -		switch(ic->permdeny) { -		case 1: -			aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, ic->acc->user); -			break; -		case 2: -			aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, ic->acc->user); -			break; -		case 3: -			list = ic->permit; -			at = 0; -			while (list) { -				at += g_snprintf(buf + at, sizeof(buf) - at, "%s&", (char *)list->data); -				list = list->next; -			} -			aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, buf); -			break; -		case 4: -			list = ic->deny; -			at = 0; -			while (list) { -				at += g_snprintf(buf + at, sizeof(buf) - at, "%s&", (char *)list->data); -				list = list->next; -			} -			aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, buf); -			break; -			default: -			break; -		} -	} else { -		if (od->sess->ssi.received_data) -			aim_ssi_setpermdeny(od->sess, od->conn, ic->permdeny, 0xffffffff); -	} -} -  static void oscar_add_permit(struct im_connection *ic, char *who) {  	struct oscar_data *od = (struct oscar_data *)ic->proto_data;  	if (od->icq) { @@ -2623,7 +2582,6 @@ void oscar_initmodule()  	ret->add_deny = oscar_add_deny;  	ret->rem_permit = oscar_rem_permit;  	ret->rem_deny = oscar_rem_deny; -	ret->set_permit_deny = oscar_set_permit_deny;  	ret->send_typing = oscar_send_typing;  	ret->handle_cmp = aim_sncmp; diff --git a/protocols/oscar/oscar_util.c b/protocols/oscar/oscar_util.c index 0ce06bd9..7d41d383 100644 --- a/protocols/oscar/oscar_util.c +++ b/protocols/oscar/oscar_util.c @@ -1,96 +1,6 @@  #include <aim.h>  #include <ctype.h> -int aimutil_putstr(u_char *dest, const char *src, int len) -{ -	memcpy(dest, src, len); -	return len; -} - -/* - * Tokenizing functions.  Used to portably replace strtok/sep. - *   -- DMP. - * - */ -int aimutil_tokslen(char *toSearch, int index, char dl) -{ -	int curCount = 1; -	char *next; -	char *last; -	int toReturn; - -	last = toSearch; -	next = strchr(toSearch, dl); - -	while(curCount < index && next != NULL) { -		curCount++; -		last = next + 1; -		next = strchr(last, dl); -	} - -	if ((curCount < index) || (next == NULL)) -		toReturn = strlen(toSearch) - (curCount - 1); -	else -		toReturn = next - toSearch - (curCount - 1); - -	return toReturn; -} - -int aimutil_itemcnt(char *toSearch, char dl) -{ -	int curCount; -	char *next; - -	curCount = 1; - -	next = strchr(toSearch, dl); - -	while(next != NULL) { -		curCount++; -		next = strchr(next + 1, dl); -	} - -	return curCount; -} - -char *aimutil_itemidx(char *toSearch, int index, char dl) -{ -	int curCount; -	char *next; -	char *last; -	char *toReturn; - -	curCount = 0; - -	last = toSearch; -	next = strchr(toSearch, dl); - -	while (curCount < index && next != NULL) { -		curCount++; -		last = next + 1; -		next = strchr(last, dl); -	} - -	if (curCount < index) { -		toReturn = g_strdup(""); -	} -	next = strchr(last, dl); - -	if (curCount < index) { -		toReturn = g_strdup(""); -	} else { -		if (next == NULL) { -			toReturn = g_malloc((strlen(last) + 1) * sizeof(char)); -			strcpy(toReturn, last); -		} else { -			toReturn = g_malloc((next - last + 1) * sizeof(char)); -			memcpy(toReturn, last, (next - last)); -			toReturn[next - last] = '\0'; -		} -	} -	return toReturn; -} -  /*  * int snlen(const char *)  *  diff --git a/protocols/oscar/rxhandlers.c b/protocols/oscar/rxhandlers.c index 7014e693..bd071505 100644 --- a/protocols/oscar/rxhandlers.c +++ b/protocols/oscar/rxhandlers.c @@ -285,18 +285,6 @@ aim_rxcallback_t aim_callhandler(aim_session_t *sess, aim_conn_t *conn, guint16  	return aim_callhandler(sess, conn, family, AIM_CB_SPECIAL_DEFAULT);  } -void aim_clonehandlers(aim_session_t *sess, aim_conn_t *dest, aim_conn_t *src) -{ -	struct aim_rxcblist_s *cur; - -	for (cur = (struct aim_rxcblist_s *)src->handlerlist; cur; cur = cur->next) { -		aim_conn_addhandler(sess, dest, cur->family, cur->type,  -						cur->handler, cur->flags); -	} - -	return; -} -  static int aim_callhandler_noparam(aim_session_t *sess, aim_conn_t *conn,guint16 family, guint16 type, aim_frame_t *ptr)  {  	aim_rxcallback_t userfunc; diff --git a/protocols/oscar/search.c b/protocols/oscar/search.c index 3570e4df..4e0d3858 100644 --- a/protocols/oscar/search.c +++ b/protocols/oscar/search.c @@ -8,27 +8,6 @@  #include <aim.h> -int aim_usersearch_address(aim_session_t *sess, aim_conn_t *conn, const char *address) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !conn || !address) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+strlen(address)))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x000a, 0x0002, 0x0000, g_strdup(address), strlen(address)+1); -	aim_putsnac(&fr->data, 0x000a, 0x0002, 0x0000, snacid); -	 -	aimbs_putraw(&fr->data, (guint8 *)address, strlen(address));  - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  /* XXX can this be integrated with the rest of the error handling? */  static int error(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)  { diff --git a/protocols/oscar/search.h b/protocols/oscar/search.h index 77eeb265..d5cf9b4d 100644 --- a/protocols/oscar/search.h +++ b/protocols/oscar/search.h @@ -1,6 +1,4 @@  #ifndef __OSCAR_SEARCH_H__  #define __OSCAR_SEARCH_H__ -int aim_usersearch_address(aim_session_t *, aim_conn_t *, const char *); -  #endif /* __OSCAR_SEARCH_H__ */ diff --git a/protocols/oscar/service.c b/protocols/oscar/service.c index a2678764..a3b37c33 100644 --- a/protocols/oscar/service.c +++ b/protocols/oscar/service.c @@ -360,28 +360,6 @@ int aim_rates_addparam(aim_session_t *sess, aim_conn_t *conn)  	return 0;  } -/* Delete Rate Parameter (group 1, type 9) */ -int aim_rates_delparam(aim_session_t *sess, aim_conn_t *conn) -{ -	aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; -	aim_frame_t *fr;	 -	aim_snacid_t snacid; -	struct rateclass *rc; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 512))) -		return -ENOMEM;  - -	snacid = aim_cachesnac(sess, 0x0001, 0x0009, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0001, 0x0009, 0x0000, snacid); - -	for (rc = ins->rates; rc; rc = rc->next) -		aimbs_put16(&fr->data, rc->classid); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  /* Rate Change (group 1, type 0x0a) */  static int ratechange(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)  { @@ -430,43 +408,6 @@ static int serverpause(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx,  	return 0;  } -/* - * Service Pause Acknowledgement (group 1, type 0x0c) - * - * It is rather important that aim_sendpauseack() gets called for the exact - * same connection that the Server Pause callback was called for, since - * libfaim extracts the data for the SNAC from the connection structure. - * - * Of course, if you don't do that, more bad things happen than just what - * libfaim can cause. - * - */ -int aim_sendpauseack(aim_session_t *sess, aim_conn_t *conn) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; -	aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; -	struct snacgroup *sg; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 1024))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0001, 0x000c, 0x0000, NULL, 0); -	aim_putsnac(&fr->data, 0x0001, 0x000c, 0x0000, snacid); - -	/* -	 * This list should have all the groups that the original  -	 * Host Online / Server Ready said this host supports.  And  -	 * we want them all back after the migration. -	 */ -	for (sg = ins->groups; sg; sg = sg->next) -		aimbs_put16(&fr->data, sg->group); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  /* Service Resume (group 1, type 0x0d) */  static int serverresume(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)  { @@ -519,20 +460,6 @@ static int evilnotify(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, a  }  /* - * Idle Notification (group 1, type 0x11) - * - * Should set your current idle time in seconds.  Note that this should - * never be called consecutively with a non-zero idle time.  That makes - * OSCAR do funny things.  Instead, just set it once you go idle, and then - * call it again with zero when you're back. - * - */ -int aim_bos_setidle(aim_session_t *sess, aim_conn_t *conn, guint32 idletime) -{ -	return aim_genericreq_l(sess, conn, 0x0001, 0x0011, &idletime); -} - -/*   * Service Migrate (group 1, type 0x12)   *   * This is the final SNAC sent on the original connection during a migration. @@ -636,17 +563,6 @@ int aim_bos_setprivacyflags(aim_session_t *sess, aim_conn_t *conn, guint32 flags  	return aim_genericreq_l(sess, conn, 0x0001, 0x0014, &flags);  } -/* - * No-op (group 1, type 0x16) - * - * WinAIM sends these every 4min or so to keep the connection alive.  Its not  - * real necessary. - * - */ -int aim_nop(aim_session_t *sess, aim_conn_t *conn) -{ -	return aim_genericreq_n(sess, conn, 0x0001, 0x0016); -}  /*    * Set client versions (group 1, subtype 0x17)  @@ -810,94 +726,6 @@ static int memrequest(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, a  	return 0;  } -/* Client verification reply (group 1, subtype 0x20) */ -int aim_sendmemblock(aim_session_t *sess, aim_conn_t *conn, guint32 offset, guint32 len, const guint8 *buf, guint8 flag) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !conn) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+2+16))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, 0x0001, 0x0020, 0x0000, NULL, 0); - -	aim_putsnac(&fr->data, 0x0001, 0x0020, 0x0000, snacid); -	aimbs_put16(&fr->data, 0x0010); /* md5 is always 16 bytes */ - -	if ((flag == AIM_SENDMEMBLOCK_FLAG_ISHASH) && buf && (len == 0x10)) { /* we're getting a hash */ - -		aimbs_putraw(&fr->data, buf, 0x10);  - -	} else if (buf && (len > 0)) { /* use input buffer */ -		md5_state_t state; -		md5_byte_t digest[0x10]; - -		md5_init(&state);	 -		md5_append(&state, (const md5_byte_t *)buf, len); -		md5_finish(&state, digest); - -		aimbs_putraw(&fr->data, (guint8 *)digest, 0x10); - -	} else if (len == 0) { /* no length, just hash NULL (buf is optional) */ -		md5_state_t state; -		guint8 nil = '\0'; -		md5_byte_t digest[0x10]; - -		/* -		 * These MD5 routines are stupid in that you have to have -		 * at least one append.  So thats why this doesn't look  -		 * real logical. -		 */ -		md5_init(&state); -		md5_append(&state, (const md5_byte_t *)&nil, 0); -		md5_finish(&state, digest); - -		aimbs_putraw(&fr->data, (guint8 *)digest, 0x10); - -	} else { - -		/*  -		 * This data is correct for AIM 3.5.1670. -		 * -		 * Using these blocks is as close to "legal" as you can get -		 * without using an AIM binary. -		 * -		 */ -		if ((offset == 0x03ffffff) && (len == 0x03ffffff)) { - -#if 1 /* with "AnrbnrAqhfzcd" */ -			aimbs_put32(&fr->data, 0x44a95d26); -			aimbs_put32(&fr->data, 0xd2490423); -			aimbs_put32(&fr->data, 0x93b8821f); -			aimbs_put32(&fr->data, 0x51c54b01); -#else /* no filename */ -			aimbs_put32(&fr->data, 0x1df8cbae); -			aimbs_put32(&fr->data, 0x5523b839); -			aimbs_put32(&fr->data, 0xa0e10db3); -			aimbs_put32(&fr->data, 0xa46d3b39); -#endif - -/* len can't be 0 here anyway... -		} else if ((offset == 0x00001000) && (len == 0x00000000)) { - -			aimbs_put32(&fr->data, 0xd41d8cd9); -			aimbs_put32(&fr->data, 0x8f00b204); -			aimbs_put32(&fr->data, 0xe9800998); -			aimbs_put32(&fr->data, 0xecf8427e); -*/ -		} else -			imcb_error(sess->aux_data, "Warning: unknown hash request"); - -	} - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)  { diff --git a/protocols/oscar/ssi.c b/protocols/oscar/ssi.c index f37d98e5..e8502f68 100644 --- a/protocols/oscar/ssi.c +++ b/protocols/oscar/ssi.c @@ -262,28 +262,6 @@ int aim_ssi_getpermdeny(struct aim_ssi_item *list)  }  /** - * Locally find the presence flag item, and return the setting.  The returned setting is a  - * bitmask of the user flags that you are visible to.  See the AIM_FLAG_* #defines  - * in aim.h - * - * @param list A pointer to the current list of items. - * @return Return the current visibility mask. - */ -guint32 aim_ssi_getpresence(struct aim_ssi_item *list) -{ -	struct aim_ssi_item *cur = aim_ssi_itemlist_finditem(list, NULL, NULL, AIM_SSI_TYPE_PRESENCEPREFS); -	if (cur) { -		aim_tlvlist_t *tlvlist = cur->data; -		if (tlvlist) { -			aim_tlv_t *tlv = aim_gettlv(tlvlist, 0x00c9, 1); -			if (tlv && tlv->length) -				return aimutil_get32(tlv->value); -		} -	} -	return 0xFFFFFFFF; -} - -/**   * Add the given packet to the holding queue.  We totally need to send SSI SNACs one at    * a time, so we have a local queue where packets get put before they are sent, and    * then we send stuff one at a time, nice and orderly-like. @@ -344,143 +322,6 @@ static int aim_ssi_dispatch(aim_session_t *sess, aim_conn_t *conn)  }  /** - * Send SNACs necessary to remove all SSI data from the server list,  - * and then free the local copy as well. - * - * @param sess The oscar session. - * @param conn The bos connection for this session. - * @return Return 0 if no errors, otherwise return the error number. - */ -int aim_ssi_deletelist(aim_session_t *sess, aim_conn_t *conn) -{ -	int num; -	struct aim_ssi_item *cur, **items; - -	for (cur=sess->ssi.items, num=0; cur; cur=cur->next) -		num++; - -	if (!(items = g_new0(struct aim_ssi_item *, num))) -		return -ENOMEM; - -	for (cur=sess->ssi.items, num=0; cur; cur=cur->next) { -		items[num] = cur; -		num++; -	} - -	aim_ssi_addmoddel(sess, conn, items, num, AIM_CB_SSI_DEL); -	g_free(items); -	aim_ssi_dispatch(sess, conn); -	aim_ssi_freelist(sess); - -	return 0; -} - -/** - * This "cleans" the ssi list.  It does a few things, with the intent of making  - * sure there ain't nothin' wrong with your SSI. - *   -Make sure all buddies are in a group, and all groups have the correct  - *     additional data. - *   -Make sure there are no empty groups in the list.  While there is nothing  - *     wrong empty groups in the SSI, it's wiser to not have them. - * - * @param sess The oscar session. - * @param conn The bos connection for this session. - * @return Return 0 if no errors, otherwise return the error number. - */ -int aim_ssi_cleanlist(aim_session_t *sess, aim_conn_t *conn) -{ -	unsigned int i; -	struct aim_ssi_item *cur, *parentgroup; - -	/* Make sure we actually need to clean out the list */ -	for (cur=sess->ssi.items, i=0; cur && !i; cur=cur->next) -		/* Any buddies directly in the master group */ -		if ((cur->type == AIM_SSI_TYPE_BUDDY) && (cur->gid == 0x0000)) -			i++; -	if (!i) -		return 0; - -	/* Remove all the additional data from all groups */ -	for (cur=sess->ssi.items; cur; cur=cur->next) -		if ((cur->data) && (cur->type == AIM_SSI_TYPE_GROUP)) { -			aim_freetlvchain((aim_tlvlist_t **)&cur->data); -			cur->data = NULL; -		} - -	/* If there are buddies directly in the master group, make sure  */ -	/* there is a group to put them in.  Any group, any group at all. */ -	for (cur=sess->ssi.items; ((cur) && ((cur->type != AIM_SSI_TYPE_BUDDY) || (cur->gid != 0x0000))); cur=cur->next); -	if (!cur) { -		for (parentgroup=sess->ssi.items; ((parentgroup) && (parentgroup->type!=AIM_SSI_TYPE_GROUP) && (parentgroup->gid==0x0000)); parentgroup=parentgroup->next); -		if (!parentgroup) { -			char *newgroup; -			newgroup = (char*)g_malloc(strlen("Unknown")+1); -			strcpy(newgroup, "Unknown"); -			aim_ssi_addgroups(sess, conn, &newgroup, 1); -		} -	} - -	/* Set parentgroup equal to any arbitray group */ -	for (parentgroup=sess->ssi.items; parentgroup->gid==0x0000 || parentgroup->type!=AIM_SSI_TYPE_GROUP; parentgroup=parentgroup->next); - -	/* If there are any buddies directly in the master group, put them in a real group */ -	for (cur=sess->ssi.items; cur; cur=cur->next) -		if ((cur->type == AIM_SSI_TYPE_BUDDY) && (cur->gid == 0x0000)) { -			aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_DEL); -			cur->gid = parentgroup->gid; -			aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_ADD); -		} - -	/* Rebuild additional data for all groups */ -	for (parentgroup=sess->ssi.items; parentgroup; parentgroup=parentgroup->next) -		if (parentgroup->type == AIM_SSI_TYPE_GROUP) -			aim_ssi_itemlist_rebuildgroup(&sess->ssi.items, parentgroup); - -	/* Send a mod snac for all groups */ -	i = 0; -	for (cur=sess->ssi.items; cur; cur=cur->next) -		if (cur->type == AIM_SSI_TYPE_GROUP) -			i++; -	if (i > 0) { -		/* Allocate an array of pointers to each of the groups */ -		struct aim_ssi_item **groups; -		if (!(groups = g_new0(struct aim_ssi_item *, i))) -			return -ENOMEM; - -		for (cur=sess->ssi.items, i=0; cur; cur=cur->next) -			if (cur->type == AIM_SSI_TYPE_GROUP) -				groups[i] = cur; - -		aim_ssi_addmoddel(sess, conn, groups, i, AIM_CB_SSI_MOD); -		g_free(groups); -	} - -	/* Send a del snac for any empty groups */ -	i = 0; -	for (cur=sess->ssi.items; cur; cur=cur->next) -		if ((cur->type == AIM_SSI_TYPE_GROUP) && !(cur->data)) -			i++; -	if (i > 0) { -		/* Allocate an array of pointers to each of the groups */ -		struct aim_ssi_item **groups; -		if (!(groups = g_new0(struct aim_ssi_item *, i))) -			return -ENOMEM; - -		for (cur=sess->ssi.items, i=0; cur; cur=cur->next) -			if ((cur->type == AIM_SSI_TYPE_GROUP) && !(cur->data)) -				groups[i] = cur; - -		aim_ssi_addmoddel(sess, conn, groups, i, AIM_CB_SSI_DEL); -		g_free(groups); -	} - -	/* Begin sending SSI SNACs */ -	aim_ssi_dispatch(sess, conn); - -	return 0; -} - -/**   * Add an array of screen names to the given group.   *   * @param sess The oscar session. @@ -998,128 +839,6 @@ int aim_ssi_delpord(aim_session_t *sess, aim_conn_t *conn, char **sn, unsigned i  	return 0;  } -/** - * Stores your permit/deny setting on the server, and starts using it. - * - * @param sess The oscar session. - * @param conn The bos connection for this session. - * @param permdeny Your permit/deny setting.  Can be one of the following: - *        1 - Allow all users - *        2 - Block all users - *        3 - Allow only the users below - *        4 - Block only the users below - *        5 - Allow only users on my buddy list - * @param vismask A bitmask of the class of users to whom you want to be  - *        visible.  See the AIM_FLAG_BLEH #defines in aim.h - * @return Return 0 if no errors, otherwise return the error number. - */ -int aim_ssi_setpermdeny(aim_session_t *sess, aim_conn_t *conn, guint8 permdeny, guint32 vismask) { -	struct aim_ssi_item *cur; //, *tmp; -//	guint16 j; -	aim_tlv_t *tlv; - -	if (!sess || !conn) -		return -EINVAL; - -	/* Look up the permit/deny settings item */ -	cur = aim_ssi_itemlist_finditem(sess->ssi.items, NULL, NULL, AIM_SSI_TYPE_PDINFO); - -	if (cur) { -		/* The permit/deny item exists */ -		if (cur->data && (tlv = aim_gettlv(cur->data, 0x00ca, 1))) { -			/* Just change the value of the x00ca TLV */ -			if (tlv->length != 1) { -				tlv->length = 1; -				g_free(tlv->value); -				tlv->value = (guint8 *)g_malloc(sizeof(guint8)); -			} -			tlv->value[0] = permdeny; -		} else { -			/* Need to add the x00ca TLV to the TLV chain */ -			aim_addtlvtochain8((aim_tlvlist_t**)&cur->data, 0x00ca, permdeny); -		} - -		if (cur->data && (tlv = aim_gettlv(cur->data, 0x00cb, 1))) { -			/* Just change the value of the x00cb TLV */ -			if (tlv->length != 4) { -				tlv->length = 4; -				g_free(tlv->value); -				tlv->value = (guint8 *)g_malloc(4*sizeof(guint8)); -			} -			aimutil_put32(tlv->value, vismask); -		} else { -			/* Need to add the x00cb TLV to the TLV chain */ -			aim_addtlvtochain32((aim_tlvlist_t**)&cur->data, 0x00cb, vismask); -		} - -		/* Send the mod item SNAC */ -		aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_MOD); -	} else { -		/* Need to add the permit/deny item */ -		if (!(cur = aim_ssi_itemlist_add(&sess->ssi.items, NULL, NULL, AIM_SSI_TYPE_PDINFO))) -			return -ENOMEM; -		aim_addtlvtochain8((aim_tlvlist_t**)&cur->data, 0x00ca, permdeny); -		aim_addtlvtochain32((aim_tlvlist_t**)&cur->data, 0x00cb, vismask); -		aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_ADD); -	} - -	/* Begin sending SSI SNACs */ -	aim_ssi_dispatch(sess, conn); - -	return 0; -} - -/** - * Stores your setting for whether you should show up as idle or not. - * - * @param sess The oscar session. - * @param conn The bos connection for this session. - * @param presence I think it's a bitmask, but I only know what one of the bits is: - *        0x00000400 - Allow others to see your idle time - * @return Return 0 if no errors, otherwise return the error number. - */ -int aim_ssi_setpresence(aim_session_t *sess, aim_conn_t *conn, guint32 presence) { -	struct aim_ssi_item *cur; //, *tmp; -//	guint16 j; -	aim_tlv_t *tlv; - -	if (!sess || !conn) -		return -EINVAL; - -	/* Look up the item */ -	cur = aim_ssi_itemlist_finditem(sess->ssi.items, NULL, NULL, AIM_SSI_TYPE_PRESENCEPREFS); - -	if (cur) { -		/* The item exists */ -		if (cur->data && (tlv = aim_gettlv(cur->data, 0x00c9, 1))) { -			/* Just change the value of the x00c9 TLV */ -			if (tlv->length != 4) { -				tlv->length = 4; -				g_free(tlv->value); -				tlv->value = (guint8 *)g_malloc(4*sizeof(guint8)); -			} -			aimutil_put32(tlv->value, presence); -		} else { -			/* Need to add the x00c9 TLV to the TLV chain */ -			aim_addtlvtochain32((aim_tlvlist_t**)&cur->data, 0x00c9, presence); -		} - -		/* Send the mod item SNAC */ -		aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_MOD); -	} else { -		/* Need to add the item */ -		if (!(cur = aim_ssi_itemlist_add(&sess->ssi.items, NULL, NULL, AIM_SSI_TYPE_PRESENCEPREFS))) -			return -ENOMEM; -		aim_addtlvtochain32((aim_tlvlist_t**)&cur->data, 0x00c9, presence); -		aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_ADD); -	} - -	/* Begin sending SSI SNACs */ -	aim_ssi_dispatch(sess, conn); - -	return 0; -} -  /*   * Request SSI Rights.   */ @@ -1142,37 +861,6 @@ static int parserights(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx,  	return ret;  } -/* - * Request SSI Data. - * - * The data will only be sent if it is newer than the posted local - * timestamp and revision. - *  - * Note that the client should never increment the revision, only the server. - *  - */ -int aim_ssi_reqdata(aim_session_t *sess, aim_conn_t *conn, time_t localstamp, guint16 localrev) -{ -	aim_frame_t *fr; -	aim_snacid_t snacid; - -	if (!sess || !conn) -		return -EINVAL; - -	if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+4+2))) -		return -ENOMEM; - -	snacid = aim_cachesnac(sess, AIM_CB_FAM_SSI, AIM_CB_SSI_REQLIST, 0x0000, NULL, 0); - -	aim_putsnac(&fr->data, AIM_CB_FAM_SSI, AIM_CB_SSI_REQLIST, 0x0000, snacid); -	aimbs_put32(&fr->data, localstamp); -	aimbs_put16(&fr->data, localrev); - -	aim_tx_enqueue(sess, fr); - -	return 0; -} -  int aim_ssi_reqalldata(aim_session_t *sess, aim_conn_t *conn)  {  	aim_frame_t *fr; diff --git a/protocols/oscar/ssi.h b/protocols/oscar/ssi.h index 94b18d60..60d9faa5 100644 --- a/protocols/oscar/ssi.h +++ b/protocols/oscar/ssi.h @@ -44,7 +44,6 @@ struct aim_ssi_item {  /* These build the actual SNACs and queue them to be sent */  int aim_ssi_reqrights(aim_session_t *sess, aim_conn_t *conn); -int aim_ssi_reqdata(aim_session_t *sess, aim_conn_t *conn, time_t localstamp, guint16 localrev);  int aim_ssi_reqalldata(aim_session_t *sess, aim_conn_t *conn);  int aim_ssi_enable(aim_session_t *sess, aim_conn_t *conn);  int aim_ssi_addmoddel(aim_session_t *sess, aim_conn_t *conn, struct aim_ssi_item **items, unsigned int num, guint16 subtype); @@ -56,10 +55,8 @@ struct aim_ssi_item *aim_ssi_itemlist_find(struct aim_ssi_item *list, guint16 gi  struct aim_ssi_item *aim_ssi_itemlist_finditem(struct aim_ssi_item *list, char *gn, char *sn, guint16 type);  struct aim_ssi_item *aim_ssi_itemlist_findparent(struct aim_ssi_item *list, char *sn);  int aim_ssi_getpermdeny(struct aim_ssi_item *list); -guint32 aim_ssi_getpresence(struct aim_ssi_item *list);  /* Send packets */ -int aim_ssi_cleanlist(aim_session_t *sess, aim_conn_t *conn);  int aim_ssi_addbuddies(aim_session_t *sess, aim_conn_t *conn, char *gn, char **sn, unsigned int num, unsigned int flags);  int aim_ssi_addmastergroup(aim_session_t *sess, aim_conn_t *conn);  int aim_ssi_addgroups(aim_session_t *sess, aim_conn_t *conn, char **gn, unsigned int num); @@ -68,10 +65,7 @@ int aim_ssi_movebuddy(aim_session_t *sess, aim_conn_t *conn, char *oldgn, char *  int aim_ssi_delbuddies(aim_session_t *sess, aim_conn_t *conn, char *gn, char **sn, unsigned int num);  int aim_ssi_delmastergroup(aim_session_t *sess, aim_conn_t *conn);  int aim_ssi_delgroups(aim_session_t *sess, aim_conn_t *conn, char **gn, unsigned int num); -int aim_ssi_deletelist(aim_session_t *sess, aim_conn_t *conn);  int aim_ssi_delpord(aim_session_t *sess, aim_conn_t *conn, char **sn, unsigned int num, guint16 type); -int aim_ssi_setpermdeny(aim_session_t *sess, aim_conn_t *conn, guint8 permdeny, guint32 vismask); -int aim_ssi_setpresence(aim_session_t *sess, aim_conn_t *conn, guint32 presence);  int aim_ssi_auth_request(aim_session_t *sess, aim_conn_t *conn, char *uin, char *reason);  int aim_ssi_auth_reply(aim_session_t *sess, aim_conn_t *conn, char *uin, int yesno, char *reason); diff --git a/protocols/oscar/tlv.c b/protocols/oscar/tlv.c index 9d827caf..89ef6f26 100644 --- a/protocols/oscar/tlv.c +++ b/protocols/oscar/tlv.c @@ -222,39 +222,6 @@ int aim_addtlvtochain32(aim_tlvlist_t **list, const guint16 t, const guint32 v)  }  /** - * aim_addtlvtochain_availmsg - Add a ICQ availability message to a TLV chain - * @list: Destination chain - * @type: TLV type to add - * @val: Value to add - * - * Adds a available message to a TLV chain - * - */ -int aim_addtlvtochain_availmsg(aim_tlvlist_t **list, const guint16 t, const char *msg) -{ -	int ret; -	guint16 unknown_data = 0x00; -	guint8 add_data_len = 4; -	guint16 msg_len = strlen(msg); -	guint8 total_len = strlen(msg) + add_data_len; -	guint8 *data, *cur; -	guint8 alloc_len = msg_len + (3*sizeof(guint16)) + (2*sizeof(guint8)); -	data = cur = g_malloc(alloc_len); -	 -	cur += aimutil_put16(cur, 2); -	cur += aimutil_put8(cur, add_data_len); -	cur += aimutil_put8(cur, total_len); -	cur += aimutil_put16(cur, msg_len); -	cur += aimutil_putstr(cur, msg, msg_len); -	cur += aimutil_put16(cur, unknown_data); - -	ret = aim_addtlvtochain_raw(list, t, alloc_len, data); -	g_free(data); - -	return ret; -} - -/**   * aim_addtlvtochain_caps - Add a capability block to a TLV chain   * @list: Destination chain   * @type: TLV type to add @@ -279,18 +246,6 @@ int aim_addtlvtochain_caps(aim_tlvlist_t **list, const guint16 t, const guint32  	return aim_addtlvtochain_raw(list, t, aim_bstream_curpos(&bs), buf);  } -int aim_addtlvtochain_userinfo(aim_tlvlist_t **list, guint16 type, aim_userinfo_t *ui) -{ -	guint8 buf[1024]; /* bleh */ -	aim_bstream_t bs; - -	aim_bstream_init(&bs, buf, sizeof(buf)); - -	aim_putuserinfo(&bs, ui); - -	return aim_addtlvtochain_raw(list, type, aim_bstream_curpos(&bs), buf); -} -  /**   * aim_addtlvtochain_noval - Add a blank TLV to a TLV chain   * @list: Destination chain diff --git a/protocols/yahoo/Makefile b/protocols/yahoo/Makefile index b501e030..8ac73e49 100644 --- a/protocols/yahoo/Makefile +++ b/protocols/yahoo/Makefile @@ -12,7 +12,7 @@ _SRCDIR_ := $(_SRCDIR_)protocols/yahoo/  endif  # [SH] Program variables -objects = yahoo.o crypt.o libyahoo2.o yahoo_fn.o yahoo_httplib.o yahoo_util.o +objects = yahoo.o libyahoo2.o yahoo_httplib.o yahoo_util.o  CFLAGS += -DSTDC_HEADERS -DHAVE_STRING_H -DHAVE_STRCHR -DHAVE_MEMCPY -DHAVE_GLIB  LFLAGS += -r diff --git a/protocols/yahoo/crypt.c b/protocols/yahoo/crypt.c deleted file mode 100644 index 5122e3af..00000000 --- a/protocols/yahoo/crypt.c +++ /dev/null @@ -1,203 +0,0 @@ -/* One way encryption based on MD5 sum. -   Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -   This file is part of the GNU C Library. -   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, write to the Free -   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -   02111-1307 USA.  */ - -/* warmenhoven took this file and made it work with the md5.[ch] we - * already had. isn't that lovely. people should just use linux or - * freebsd, crypt works properly on those systems. i hate solaris */ - -#if HAVE_STRING_H -#  include <string.h> -#elif HAVE_STRINGS_H -#  include <strings.h> -#endif - -#include <stdlib.h> -#include "yahoo_util.h" - -#include "md5.h" - -/* Define our magic string to mark salt for MD5 "encryption" -   replacement.  This is meant to be the same as for other MD5 based -   encryption implementations.  */ -static const char md5_salt_prefix[] = "$1$"; - -/* Table with characters for base64 transformation.  */ -static const char b64t[64] = -"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - -char *yahoo_crypt(char *key, char *salt) -{ -	char *buffer = NULL; -	int buflen = 0; -	int needed = 3 + strlen (salt) + 1 + 26 + 1; - -	md5_byte_t alt_result[16]; -	md5_state_t ctx; -	md5_state_t alt_ctx; -	size_t salt_len; -	size_t key_len; -	size_t cnt; -	char *cp; - -	if (buflen < needed) { -		buflen = needed; -		if ((buffer = realloc(buffer, buflen)) == NULL) -			return NULL; -	} - -	/* Find beginning of salt string.  The prefix should normally always -	   be present.  Just in case it is not.  */ -	if (strncmp (md5_salt_prefix, salt, sizeof (md5_salt_prefix) - 1) == 0) -		/* Skip salt prefix.  */ -		salt += sizeof (md5_salt_prefix) - 1; - -	salt_len = MIN (strcspn (salt, "$"), 8); -	key_len = strlen (key); - -	/* Prepare for the real work.  */ -	md5_init(&ctx); - -	/* Add the key string.  */ -	md5_append(&ctx, (md5_byte_t *)key, key_len); - -	/* Because the SALT argument need not always have the salt prefix we -	   add it separately.  */ -	md5_append(&ctx, (md5_byte_t *)md5_salt_prefix, sizeof (md5_salt_prefix) - 1); - -	/* The last part is the salt string.  This must be at most 8 -	   characters and it ends at the first `$' character (for -	   compatibility which existing solutions).  */ -	md5_append(&ctx, (md5_byte_t *)salt, salt_len); - -	/* Compute alternate MD5 sum with input KEY, SALT, and KEY.  The -	   final result will be added to the first context.  */ -	md5_init(&alt_ctx); - -	/* Add key.  */ -	md5_append(&alt_ctx, (md5_byte_t *)key, key_len); - -	/* Add salt.  */ -	md5_append(&alt_ctx, (md5_byte_t *)salt, salt_len); - -	/* Add key again.  */ -	md5_append(&alt_ctx, (md5_byte_t *)key, key_len); - -	/* Now get result of this (16 bytes) and add it to the other -	   context.  */ -	md5_finish(&alt_ctx, alt_result); - -	/* Add for any character in the key one byte of the alternate sum.  */ -	for (cnt = key_len; cnt > 16; cnt -= 16) -		md5_append(&ctx, alt_result, 16); -	md5_append(&ctx, alt_result, cnt); - -	/* For the following code we need a NUL byte.  */ -	alt_result[0] = '\0'; - -	/* The original implementation now does something weird: for every 1 -	   bit in the key the first 0 is added to the buffer, for every 0 -	   bit the first character of the key.  This does not seem to be -	   what was intended but we have to follow this to be compatible.  */ -	for (cnt = key_len; cnt > 0; cnt >>= 1) -		md5_append(&ctx, (cnt & 1) != 0 ? alt_result : (md5_byte_t *)key, 1); - -	/* Create intermediate result.  */ -	md5_finish(&ctx, alt_result); - -	/* Now comes another weirdness.  In fear of password crackers here -	   comes a quite long loop which just processes the output of the -	   previous round again.  We cannot ignore this here.  */ -	for (cnt = 0; cnt < 1000; ++cnt) { -		/* New context.  */ -		md5_init(&ctx); - -		/* Add key or last result.  */ -		if ((cnt & 1) != 0) -			md5_append(&ctx, (md5_byte_t *)key, key_len); -		else -			md5_append(&ctx, alt_result, 16); - -		/* Add salt for numbers not divisible by 3.  */ -		if (cnt % 3 != 0) -			md5_append(&ctx, (md5_byte_t *)salt, salt_len); - -		/* Add key for numbers not divisible by 7.  */ -		if (cnt % 7 != 0) -			md5_append(&ctx, (md5_byte_t *)key, key_len); - -		/* Add key or last result.  */ -		if ((cnt & 1) != 0) -			md5_append(&ctx, alt_result, 16); -		else -			md5_append(&ctx, (md5_byte_t *)key, key_len); - -		/* Create intermediate result.  */ -		md5_finish(&ctx, alt_result); -	} - -	/* Now we can construct the result string.  It consists of three -	   parts.  */ - -	strncpy(buffer, md5_salt_prefix, MAX (0, buflen)); -	cp = buffer + strlen(buffer); -	buflen -= sizeof (md5_salt_prefix); - -	strncpy(cp, salt, MIN ((size_t) buflen, salt_len)); -	cp = cp + strlen(cp); -	buflen -= MIN ((size_t) buflen, salt_len); - -	if (buflen > 0) { -		*cp++ = '$'; -		--buflen; -	} - -#define b64_from_24bit(B2, B1, B0, N) \ -	do { \ -		unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0); \ -		int n = (N); \ -		while (n-- > 0 && buflen > 0) { \ -			*cp++ = b64t[w & 0x3f]; \ -			--buflen; \ -			w >>= 6; \ -		}\ -	} while (0) - -	b64_from_24bit (alt_result[0], alt_result[6], alt_result[12], 4); -	b64_from_24bit (alt_result[1], alt_result[7], alt_result[13], 4); -	b64_from_24bit (alt_result[2], alt_result[8], alt_result[14], 4); -	b64_from_24bit (alt_result[3], alt_result[9], alt_result[15], 4); -	b64_from_24bit (alt_result[4], alt_result[10], alt_result[5], 4); -	b64_from_24bit (0, 0, alt_result[11], 2); -	if (buflen <= 0) { -		FREE(buffer); -	} else -		*cp = '\0';	/* Terminate the string.  */ - -	/* Clear the buffer for the intermediate result so that people -	   attaching to processes or reading core dumps cannot get any -	   information.  We do it in this way to clear correct_words[] -	   inside the MD5 implementation as well.  */ -	md5_init(&ctx); -	md5_finish(&ctx, alt_result); -	memset (&ctx, '\0', sizeof (ctx)); -	memset (&alt_ctx, '\0', sizeof (alt_ctx)); - -	return buffer; -} diff --git a/protocols/yahoo/libyahoo2.c b/protocols/yahoo/libyahoo2.c index ca2a161e..da427279 100644 --- a/protocols/yahoo/libyahoo2.c +++ b/protocols/yahoo/libyahoo2.c @@ -82,7 +82,6 @@ char *strchr (), *strrchr ();  #include "yahoo2.h"  #include "yahoo_httplib.h"  #include "yahoo_util.h" -#include "yahoo_fn.h"  #include "yahoo2_callbacks.h"  #include "yahoo_debug.h" @@ -121,11 +120,6 @@ int yahoo_log_message(char *fmt, ...)  	return YAHOO_CALLBACK(ext_yahoo_log) ("%s", out);  } -int yahoo_connect(char *host, int port) -{ -	return YAHOO_CALLBACK(ext_yahoo_connect) (host, port); -} -  static enum yahoo_log_level log_level = YAHOO_LOG_NONE;  enum yahoo_log_level yahoo_get_log_level() @@ -374,6 +368,7 @@ static struct yahoo_input_data * find_input_by_id(int id)  }  */ +#if 0  static struct yahoo_input_data *find_input_by_id_and_webcam_user(int id,  	const char *who)  { @@ -390,6 +385,7 @@ static struct yahoo_input_data *find_input_by_id_and_webcam_user(int id,  	}  	return NULL;  } +#endif  static struct yahoo_input_data *find_input_by_id_and_type(int id,  	enum yahoo_connection_type type) @@ -430,8 +426,6 @@ static int count_inputs_with_id(int id)  	return c;  } -extern char *yahoo_crypt(char *, char *); -  /* Free a buddy list */  static void yahoo_free_buddies(YList *list)  { @@ -2642,6 +2636,7 @@ static struct yahoo_packet *yahoo_getdata(struct yahoo_input_data *yid)  	return pkt;  } +#if 0  static struct yab *yahoo_yab_read(unsigned char *d, int len)  {  	char *st, *en; @@ -2792,6 +2787,7 @@ static struct yab *yahoo_getyab(struct yahoo_input_data *yid)  	return yab;  } +#endif  static char *yahoo_getwebcam_master(struct yahoo_input_data *yid)  { @@ -3099,6 +3095,7 @@ static void yahoo_process_chatcat_connection(struct yahoo_input_data *yid,  	}  } +#if 0  static void yahoo_process_yab_connection(struct yahoo_input_data *yid, int over)  {  	struct yahoo_data *yd = yid->yd; @@ -3158,6 +3155,7 @@ static void yahoo_process_yab_connection(struct yahoo_input_data *yid, int over)  		YAHOO_CALLBACK(ext_yahoo_got_buddies) (yd->client_id,  			yd->buddies);  } +#endif  static void yahoo_process_search_connection(struct yahoo_input_data *yid,  	int over) @@ -3413,7 +3411,7 @@ static void yahoo_process_webcam_connection(struct yahoo_input_data *yid,  static void (*yahoo_process_connection[]) (struct yahoo_input_data *,  	int over) = {  yahoo_process_pager_connection, yahoo_process_ft_connection, -		yahoo_process_yab_connection, +		NULL, /*yahoo_process_yab_connection, */  		yahoo_process_webcam_master_connection,  		yahoo_process_webcam_connection,  		yahoo_process_chatcat_connection, @@ -3577,10 +3575,12 @@ void *yahoo_get_fd(int id)  		return yid->fd;  } +#if 0  void yahoo_send_buzz(int id, const char *from, const char *who)  {  	yahoo_send_im(id, from, who, "<ding>", 1, 0);  } +#endif  void yahoo_send_im(int id, const char *from, const char *who, const char *what,  	int utf8, int picture) @@ -3722,6 +3722,7 @@ void yahoo_logoff(int id)  } +#if 0  void yahoo_get_list(int id)  {  	struct yahoo_input_data *yid = @@ -3741,6 +3742,7 @@ void yahoo_get_list(int id)  		yahoo_packet_free(pkt);  	}  } +#endif  static void _yahoo_http_connected(int id, void *fd, int error, void *data)  { @@ -3757,6 +3759,7 @@ static void _yahoo_http_connected(int id, void *fd, int error, void *data)  		YAHOO_INPUT_READ, yid);  } +#if 0  /* FIXME Get address book from address.yahoo.com instead */  void yahoo_get_yab(int id)  { @@ -3897,6 +3900,7 @@ void yahoo_refresh(int id)  		yahoo_packet_free(pkt);  	}  } +#endif  void yahoo_keepalive(int id)  { @@ -3914,6 +3918,7 @@ void yahoo_keepalive(int id)  	yahoo_packet_free(pkt);  } +#if 0  void yahoo_chat_keepalive(int id)  {  	struct yahoo_input_data *yid = @@ -3931,6 +3936,7 @@ void yahoo_chat_keepalive(int id)  	yahoo_send_packet(yid, pkt, 0);  	yahoo_packet_free(pkt);  } +#endif  void yahoo_add_buddy(int id, const char *who, const char *group,  	const char *msg) @@ -4023,6 +4029,7 @@ void yahoo_confirm_buddy(int id, const char *who, int reject, const char *msg)  	yahoo_packet_free(pkt);  } +#if 0  void yahoo_ignore_buddy(int id, const char *who, int unignore)  {  	struct yahoo_input_data *yid = @@ -4069,6 +4076,7 @@ void yahoo_stealth_buddy(int id, const char *who, int unstealth)  	yahoo_send_packet(yid, pkt, 0);  	yahoo_packet_free(pkt);  } +#endif  void yahoo_change_buddy_group(int id, const char *who, const char *old_group,  	const char *new_group) @@ -4097,6 +4105,7 @@ void yahoo_change_buddy_group(int id, const char *who, const char *old_group,  	yahoo_packet_free(pkt);  } +#if 0  void yahoo_group_rename(int id, const char *old_group, const char *new_group)  {  	struct yahoo_input_data *yid = @@ -4148,6 +4157,7 @@ void yahoo_conference_addinvite(int id, const char *from, const char *who,  	yahoo_packet_free(pkt);  } +#endif  void yahoo_conference_invite(int id, const char *from, YList *who,  	const char *room, const char *msg) @@ -4289,6 +4299,7 @@ void yahoo_conference_message(int id, const char *from, YList *who,  	yahoo_packet_free(pkt);  } +#if 0  void yahoo_get_chatrooms(int id, int chatroomid)  {  	struct yahoo_data *yd = find_conn_by_id(id); @@ -4731,6 +4742,7 @@ void yahoo_send_picture(int id, const char *name, unsigned long size,  {  	/* Not Implemented */  } +#endif  /* File Transfer */  static YList *active_file_transfers = NULL; @@ -4758,6 +4770,7 @@ struct send_file_data {  	void *data;  }; +#if 0  static char *yahoo_get_random(void)  {  	int i = 0; @@ -4787,6 +4800,7 @@ static char *yahoo_get_random(void)  	return strdup(out);  } +#endif  static int _are_same_id(const void *sfd1, const void *id)  { @@ -5167,6 +5181,7 @@ static void yahoo_process_filetransfer(struct yahoo_input_data *yid,  	}  } +#if 0  void yahoo_send_file(int id, const char *who, const char *msg,  	const char *name, unsigned long size,  	yahoo_get_fd_callback callback, void *data) @@ -5245,6 +5260,7 @@ void yahoo_send_file_transfer_response(int client_id, int response, char *id, vo  	if(response == YAHOO_FILE_TRANSFER_REJECT)  		yahoo_remove_active_transfer(sfd);  } +#endif  static void yahoo_process_ft_connection(struct yahoo_input_data *yid, int over)  { @@ -5358,6 +5374,7 @@ static void yahoo_process_ft_connection(struct yahoo_input_data *yid, int over)  /* End File Transfer */ +#if 0  enum yahoo_status yahoo_current_status(int id)  {  	struct yahoo_data *yd = find_conn_by_id(id); @@ -5407,6 +5424,7 @@ const char *yahoo_get_cookie(int id, const char *which)  		return yd->login_cookie;  	return NULL;  } +#endif  const char *yahoo_get_profile_url(void)  { diff --git a/protocols/yahoo/yahoo.c b/protocols/yahoo/yahoo.c index 8b3b0c05..608e124b 100644 --- a/protocols/yahoo/yahoo.c +++ b/protocols/yahoo/yahoo.c @@ -569,10 +569,6 @@ void ext_yahoo_got_buddies( int id, YList *buds )  	}  } -void ext_yahoo_got_ignore( int id, YList *igns ) -{ -} -  void ext_yahoo_got_identities( int id, YList *ids )  {  } @@ -813,13 +809,6 @@ void ext_yahoo_got_buddy_change_group( int id, const char *me, const char *who,  	imcb_add_buddy( ic, who, new_group );  } -/* Because we don't want asynchronous connects in BitlBee, and because -   libyahoo doesn't seem to use this one anyway, this one is now defunct. */ -int ext_yahoo_connect(const char *host, int port) -{ -	return -1; -} -  static void byahoo_accept_conf( void *data )  {  	struct byahoo_conf_invitation *inv = data; diff --git a/protocols/yahoo/yahoo2.h b/protocols/yahoo/yahoo2.h index 589aaa5a..b9e6665b 100644 --- a/protocols/yahoo/yahoo2.h +++ b/protocols/yahoo/yahoo2.h @@ -120,7 +120,7 @@ extern "C" {  /* utf8 is whether msg is a utf8 string or not. */  	void yahoo_send_im(int id, const char *from, const char *who,  		const char *msg, int utf8, int picture); -	void yahoo_send_buzz(int id, const char *from, const char *who); +//	void yahoo_send_buzz(int id, const char *from, const char *who);  /* if type is true, send typing notice, else send stopped typing notice */  	void yahoo_send_typing(int id, const char *from, const char *who,  		int typ); diff --git a/protocols/yahoo/yahoo2_callbacks.h b/protocols/yahoo/yahoo2_callbacks.h index 0dccf188..0a3aab46 100644 --- a/protocols/yahoo/yahoo2_callbacks.h +++ b/protocols/yahoo/yahoo2_callbacks.h @@ -112,7 +112,7 @@ struct yahoo_callbacks {   * 	id   - the id that identifies the server connection   * 	igns - the ignore list   */ -	void YAHOO_CALLBACK_TYPE(ext_yahoo_got_ignore) (int id, YList *igns); +//	void YAHOO_CALLBACK_TYPE(ext_yahoo_got_ignore) (int id, YList *igns);  /*   * Name: ext_yahoo_got_identities @@ -677,7 +677,7 @@ struct yahoo_callbacks {   * Returns:   * 	a unix file descriptor to the socket   */ -	int YAHOO_CALLBACK_TYPE(ext_yahoo_connect) (const char *host, int port); +//	int YAHOO_CALLBACK_TYPE(ext_yahoo_connect) (const char *host, int port);  /*   * Name: ext_yahoo_connect_async diff --git a/protocols/yahoo/yahoo_fn.c b/protocols/yahoo/yahoo_fn.c deleted file mode 100644 index 9544999d..00000000 --- a/protocols/yahoo/yahoo_fn.c +++ /dev/null @@ -1,4622 +0,0 @@ -/* - * libyahoo2 - originally from gaim patches by Amatus - * - * Copyright (C) 2003-2004 - * - * Some code copyright (C) 1998-1999, Mark Spencer <markster@marko.net> - * libfaim code copyright 1998, 1999 Adam Fritzler <afritz@auk.cx> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA - * - */ - -#include "yahoo_fn.h" - -static const unsigned char table_0[256] = { -   0x5A, 0x41, 0x11, 0x77, 0x29, 0x9C, 0x31, 0xAD, -   0x4A, 0x32, 0x1A, 0x6D, 0x56, 0x9F, 0x39, 0xA6, -   0x0C, 0xE8, 0x49, 0x40, 0xA4, 0x21, 0xE9, 0x01, -   0x91, 0x86, 0x2F, 0xB9, 0xED, 0x80, 0x51, 0xAB, -   0x7F, 0x92, 0xF2, 0x73, 0xCD, 0xD9, 0x75, 0x2A, -   0x70, 0x34, 0x35, 0x8D, 0xA8, 0x72, 0x7D, 0x9B, -   0x2E, 0xC5, 0x2D, 0x76, 0x1E, 0xBB, 0xE7, 0x37, -   0xBA, 0xB7, 0xB2, 0x03, 0x20, 0x17, 0x8A, 0x07, -   0xD6, 0x96, 0x13, 0x95, 0xE5, 0xF1, 0x18, 0x3B, -   0xA5, 0x62, 0x33, 0xC1, 0x44, 0x3D, 0x6C, 0xA7, -   0xBF, 0x1C, 0x60, 0xFF, 0x5B, 0xF5, 0x8E, 0xE6, -   0x5C, 0xCC, 0xF7, 0x69, 0x15, 0x0F, 0x0B, 0xBD, -   0x12, 0x9D, 0xB3, 0x65, 0x53, 0xB1, 0x14, 0xF4, -   0x19, 0x3E, 0xB6, 0x45, 0xCB, 0xA2, 0x7A, 0xD3, -   0xF8, 0xD1, 0x61, 0xEE, 0xBC, 0xC6, 0xB0, 0x5D, -   0x4B, 0x09, 0x26, 0xE1, 0x1D, 0x6E, 0xC3, 0xFB, -   0x68, 0x4C, 0x42, 0x52, 0x5F, 0xDE, 0xFD, 0xEF, -   0x81, 0x04, 0x6F, 0xE0, 0xF0, 0x1F, 0x0D, 0x7C, -   0x58, 0x4F, 0x1B, 0x30, 0xCF, 0x9A, 0x2B, 0x05, -   0xF6, 0x3F, 0x78, 0xAC, 0xD8, 0xEC, 0xE2, 0x25, -   0x93, 0xDA, 0x84, 0x8C, 0x4E, 0xD5, 0x38, 0x0A, -   0x06, 0x7E, 0xD4, 0x59, 0x98, 0xE3, 0x36, 0xC2, -   0xD2, 0xA3, 0x10, 0x79, 0xFA, 0xC9, 0x16, 0x27, -   0x66, 0x89, 0xFE, 0x57, 0xF3, 0x83, 0xB8, 0x28, -   0x3C, 0xC7, 0xCE, 0x71, 0xC8, 0xDB, 0x22, 0xE4, -   0xDD, 0xDF, 0x02, 0x8F, 0x5E, 0xEB, 0x48, 0x2C, -   0x08, 0xC4, 0x43, 0xEA, 0x50, 0x55, 0x90, 0x54, -   0x87, 0xCA, 0x00, 0x24, 0x6B, 0x85, 0x97, 0xD7, -   0xDC, 0x6A, 0x67, 0xD0, 0x88, 0xA1, 0x9E, 0xC0, -   0x46, 0xAE, 0x64, 0x74, 0x4D, 0xA0, 0x99, 0xB5, -   0x0E, 0x8B, 0xAA, 0x3A, 0xB4, 0xFC, 0xA9, 0x94, -   0x7B, 0xBE, 0xF9, 0xAF, 0x82, 0x63, 0x47, 0x23 }; - -static const unsigned char table_1[256] = { -   0x08, 0xCB, 0x54, 0xCF, 0x97, 0x53, 0x59, 0xF1, -   0x66, 0xEC, 0xDB, 0x1B, 0xB1, 0xE2, 0x36, 0xEB, -   0xB3, 0x8F, 0x71, 0xA8, 0x90, 0x7D, 0xDA, 0xDC, -   0x2C, 0x2F, 0xE8, 0x6A, 0x73, 0x37, 0xAE, 0xCC, -   0xA1, 0x16, 0xE6, 0xFC, 0x9C, 0xA9, 0x2A, 0x3F, -   0x58, 0xFD, 0x56, 0x4C, 0xA5, 0xF2, 0x33, 0x99, -   0x1A, 0xB7, 0xFE, 0xA6, 0x1E, 0x32, 0x9E, 0x48, -   0x03, 0x4A, 0x78, 0xEE, 0xCA, 0xC3, 0x88, 0x7A, -   0xAC, 0x23, 0xAA, 0xBD, 0xDE, 0xD3, 0x67, 0x43, -   0xFF, 0x64, 0x8A, 0xF9, 0x04, 0xD0, 0x7B, 0xC2, -   0xBC, 0xF3, 0x89, 0x0E, 0xDD, 0xAB, 0x9D, 0x84, -   0x5A, 0x62, 0x7F, 0x6D, 0x82, 0x68, 0xA3, 0xED, -   0x2E, 0x07, 0x41, 0xEF, 0x2D, 0x70, 0x4F, 0x69, -   0x8E, 0xE7, 0x0F, 0x11, 0x19, 0xAF, 0x31, 0xFB, -   0x8D, 0x4B, 0x5F, 0x96, 0x75, 0x42, 0x6C, 0x46, -   0xE4, 0x55, 0xD6, 0x3B, 0xE1, 0xD1, 0xB0, 0xB5, -   0x45, 0x29, 0xC0, 0x94, 0x9F, 0xD4, 0x15, 0x17, -   0x3C, 0x47, 0xC8, 0xD9, 0xC6, 0x76, 0xB9, 0x02, -   0xE0, 0xC9, 0xB2, 0x01, 0xC1, 0x5D, 0x4E, 0x14, -   0xF4, 0xAD, 0xB6, 0x00, 0x72, 0xF0, 0x49, 0x0D, -   0xD8, 0x5E, 0x6F, 0x2B, 0x8C, 0x51, 0x83, 0xC5, -   0x0A, 0x85, 0xE5, 0x38, 0x7E, 0x26, 0xEA, 0x22, -   0x6B, 0x06, 0xD5, 0x8B, 0xBF, 0xC7, 0x35, 0x1D, -   0xF6, 0x24, 0x28, 0xCE, 0x9B, 0x77, 0x20, 0x60, -   0xF5, 0x87, 0x3D, 0x65, 0x86, 0x0C, 0xDF, 0xBA, -   0x12, 0xA4, 0x3A, 0x34, 0xD7, 0xA0, 0xF8, 0x63, -   0x52, 0x27, 0xB8, 0x18, 0xA7, 0x13, 0x91, 0x09, -   0x93, 0x5C, 0x10, 0x9A, 0xB4, 0xE9, 0x44, 0xC4, -   0x21, 0x57, 0x1C, 0x0B, 0xA2, 0x74, 0x4D, 0xBE, -   0xD2, 0x1F, 0xCD, 0xE3, 0x6E, 0x7C, 0x40, 0x50, -   0x39, 0x80, 0x98, 0xFA, 0x25, 0x92, 0x30, 0x5B, -   0x05, 0x95, 0xBB, 0x79, 0x61, 0x3E, 0x81, 0xF7 }; - -static const unsigned char table_2[32] = { -   0x19, 0x05, 0x09, 0x1C, 0x0B, 0x1A, 0x12, 0x03, -   0x06, 0x04, 0x0D, 0x1D, 0x15, 0x0E, 0x1B, 0x18, -   0x00, 0x07, 0x08, 0x02, 0x13, 0x1F, 0x0C, 0x1E, -   0x16, 0x0A, 0x10, 0x0F, 0x01, 0x14, 0x11, 0x17 }; - -static const unsigned char table_3[256] = { -   0xBC, 0x1B, 0xCC, 0x1E, 0x5B, 0x59, 0x4F, 0xA8, -   0x62, 0xC6, 0xC1, 0xBB, 0x83, 0x2D, 0xA3, 0xA6, -   0x5A, 0xDC, 0xE5, 0x93, 0xFB, 0x5C, 0xD6, 0x2A, -   0x97, 0xC7, 0x1C, 0x73, 0x08, 0x45, 0xD2, 0x89, -   0x4A, 0xD4, 0xCF, 0x0C, 0x1D, 0xD8, 0xCD, 0x26, -   0x8F, 0x11, 0x55, 0x8B, 0xD3, 0x53, 0xCE, 0x00, -   0xB5, 0x3B, 0x2E, 0x39, 0x88, 0x7B, 0x85, 0x46, -   0x54, 0xA5, 0x31, 0x40, 0x3E, 0x0A, 0x4C, 0x68, -   0x70, 0x0F, 0xBA, 0x0E, 0x75, 0x8A, 0xEB, 0x44, -   0x60, 0x6C, 0x05, 0xC9, 0xF0, 0xDD, 0x0D, 0x66, -   0xAB, 0xA1, 0xAD, 0xF2, 0x12, 0x6A, 0xE6, 0x27, -   0xF6, 0x9F, 0xDB, 0xB8, 0xF4, 0x56, 0x5E, 0x2C, -   0xDA, 0xFE, 0x34, 0x86, 0xF5, 0xC2, 0xB0, 0xF1, -   0xCB, 0xF3, 0x78, 0x9B, 0x7F, 0xB4, 0xD7, 0x58, -   0x74, 0x07, 0x72, 0x96, 0x02, 0xCA, 0xAC, 0xE8, -   0x5D, 0xA7, 0x32, 0xBD, 0x81, 0x43, 0x18, 0xF8, -   0x15, 0x0B, 0xE9, 0x76, 0x30, 0xBF, 0x3A, 0x22, -   0x9E, 0xD1, 0x79, 0x37, 0xBE, 0x8C, 0x7A, 0x98, -   0x21, 0x95, 0x10, 0x8D, 0xDF, 0xC0, 0x69, 0xC8, -   0x03, 0x6E, 0x4B, 0x36, 0xFC, 0x6F, 0xA9, 0x48, -   0x63, 0xE1, 0xB9, 0x24, 0x87, 0x13, 0xB2, 0xA4, -   0x84, 0x06, 0x14, 0x61, 0x3D, 0x92, 0xB1, 0x41, -   0xE2, 0x71, 0xAF, 0x16, 0xDE, 0x25, 0x82, 0xD9, -   0x2B, 0x33, 0x51, 0xA2, 0x4E, 0x7D, 0x94, 0xFF, -   0xFD, 0x5F, 0x80, 0xED, 0x64, 0xE7, 0x50, 0x6D, -   0xD0, 0x3C, 0x6B, 0x65, 0x77, 0x17, 0x1A, 0xEC, -   0xD5, 0xAA, 0xF9, 0xC4, 0x9C, 0x35, 0xE3, 0x42, -   0xE4, 0x19, 0x52, 0x67, 0xB7, 0x9D, 0x28, 0xC5, -   0x47, 0x38, 0x91, 0x57, 0xAE, 0x3F, 0x29, 0x9A, -   0x2F, 0xF7, 0x90, 0x04, 0xEE, 0xFA, 0x20, 0xB6, -   0xEA, 0x49, 0x23, 0x4D, 0xB3, 0x8E, 0xC3, 0x1F, -   0x7C, 0xEF, 0xE0, 0x99, 0x09, 0xA0, 0x01, 0x7E }; - -static const unsigned char table_4[32] = { -   0x1F, 0x0B, 0x00, 0x1E, 0x03, 0x0E, 0x15, 0x01, -   0x1A, 0x17, 0x1D, 0x1B, 0x11, 0x0F, 0x0A, 0x12, -   0x13, 0x18, 0x02, 0x04, 0x09, 0x06, 0x0D, 0x07, -   0x08, 0x05, 0x10, 0x19, 0x0C, 0x14, 0x16, 0x1C }; - -static const unsigned char table_5[256] = { -   0x9A, 0xAB, 0x61, 0x28, 0x0A, 0x23, 0xFC, 0xBA, -   0x90, 0x22, 0xB7, 0x62, 0xD9, 0x09, 0x91, 0xF4, -   0x7B, 0x5D, 0x6B, 0x80, 0xAC, 0x9E, 0x21, 0x72, -   0x64, 0x2D, 0xFF, 0x66, 0xEB, 0x5B, 0x05, 0xC8, -   0x1B, 0xD1, 0x55, 0xF5, 0x97, 0x08, 0xAE, 0xC7, -   0x00, 0xDE, 0xE1, 0x78, 0xD8, 0xB6, 0xF0, 0x17, -   0xE4, 0x32, 0xCD, 0x76, 0x07, 0x14, 0x7F, 0x7A, -   0xBF, 0xB4, 0x1D, 0x94, 0x48, 0x75, 0xFA, 0xA7, -   0x99, 0x7E, 0x65, 0x38, 0x29, 0x51, 0xC3, 0x83, -   0x7C, 0x0D, 0xA0, 0xCC, 0xF1, 0xDD, 0xE2, 0x49, -   0xF8, 0xD2, 0x25, 0x54, 0x9B, 0x0E, 0xB9, 0xFE, -   0x67, 0xC4, 0xCE, 0x13, 0xD4, 0xE7, 0xB8, 0x41, -   0x77, 0xDB, 0xA6, 0xB0, 0x11, 0x6A, 0x5E, 0x68, -   0x8D, 0xF9, 0x36, 0xD3, 0xC2, 0x3A, 0xAA, 0x59, -   0x03, 0xE0, 0xE3, 0xF3, 0x42, 0x2C, 0x04, 0x47, -   0xE6, 0x93, 0xCB, 0x6E, 0x20, 0xCA, 0x01, 0xA1, -   0x40, 0x2B, 0x2F, 0x5F, 0x87, 0xD0, 0xEC, 0x88, -   0x27, 0x58, 0xC6, 0x3E, 0xDF, 0x26, 0x5C, 0xE9, -   0x1F, 0x0F, 0x95, 0x1C, 0xFB, 0xA5, 0x12, 0x39, -   0x1E, 0x3C, 0x33, 0x43, 0x56, 0xE8, 0x82, 0xF7, -   0x7D, 0x89, 0xF2, 0xD7, 0x50, 0x92, 0x60, 0x4C, -   0x2A, 0x86, 0x16, 0x6C, 0x37, 0xC0, 0xAD, 0xB3, -   0x24, 0x45, 0xB1, 0xA2, 0x71, 0xA4, 0xA3, 0xED, -   0xC9, 0x5A, 0x4D, 0x84, 0x0C, 0x3F, 0xC5, 0x9D, -   0x63, 0x19, 0x79, 0x57, 0x96, 0x30, 0x74, 0xBB, -   0xDA, 0x1A, 0x9F, 0x44, 0xC1, 0x98, 0xE5, 0x81, -   0xD6, 0x18, 0x8F, 0xFD, 0x8E, 0x06, 0x6F, 0xF6, -   0x2E, 0x3B, 0xB5, 0x85, 0x8A, 0x9C, 0x53, 0x4A, -   0xA9, 0x52, 0x3D, 0x4E, 0xBE, 0xAF, 0xBC, 0xA8, -   0x4F, 0x6D, 0x15, 0x35, 0x8C, 0xBD, 0x34, 0x8B, -   0xDC, 0x0B, 0xCF, 0x31, 0xEA, 0xB2, 0x70, 0x4B, -   0x46, 0x73, 0x69, 0xD5, 0x10, 0xEE, 0x02, 0xEF }; - -static const unsigned char table_6[32] = { -   0x1A, 0x1C, 0x0F, 0x0C, 0x00, 0x02, 0x13, 0x09, -   0x11, 0x05, 0x0D, 0x12, 0x18, 0x0B, 0x04, 0x10, -   0x14, 0x1B, 0x1E, 0x16, 0x07, 0x08, 0x03, 0x17, -   0x19, 0x1F, 0x01, 0x0E, 0x15, 0x06, 0x0A, 0x1D }; - -static const unsigned char table_7[256] = { -   0x52, 0x11, 0x72, 0xD0, 0x76, 0xD7, 0xAE, 0x03, -   0x7F, 0x19, 0xF4, 0xB8, 0xB3, 0x5D, 0xCA, 0x2D, -   0x5C, 0x30, 0x53, 0x1A, 0x57, 0xF6, 0xAD, 0x83, -   0x29, 0x79, 0xD5, 0xF0, 0x0F, 0xC3, 0x8B, 0xD3, -   0x8E, 0x37, 0x01, 0xA6, 0xF1, 0x10, 0x04, 0x71, -   0xCC, 0xC6, 0xE7, 0xC2, 0x85, 0x94, 0xBD, 0x6F, -   0xCB, 0xEA, 0xFC, 0xA1, 0x38, 0x5E, 0x08, 0x2E, -   0x35, 0x42, 0x67, 0xD4, 0x56, 0x6D, 0x7C, 0xE5, -   0x0E, 0x7D, 0x12, 0x65, 0xF5, 0x33, 0x82, 0xC4, -   0x1D, 0xD2, 0x16, 0x58, 0xEC, 0xCD, 0xA8, 0xBF, -   0xAB, 0x07, 0x45, 0x55, 0xB7, 0x6A, 0x70, 0xF2, -   0xBE, 0x05, 0x6B, 0x9D, 0xEB, 0x13, 0x0D, 0x9F, -   0xE8, 0xA7, 0xC8, 0x31, 0x3C, 0xB6, 0x21, 0xC0, -   0x20, 0x60, 0x6C, 0xE2, 0xCE, 0x8C, 0xFD, 0x95, -   0xE3, 0x4A, 0xB5, 0xB2, 0x40, 0xB1, 0xF3, 0x17, -   0xF9, 0x24, 0x06, 0x22, 0x2F, 0x25, 0x93, 0x8A, -   0x2A, 0x7E, 0x28, 0x3D, 0x47, 0xF8, 0x89, 0xA5, -   0x7B, 0x9B, 0xC5, 0x84, 0x59, 0x46, 0x90, 0x74, -   0x69, 0xC7, 0xAA, 0xEE, 0x6E, 0xD6, 0xB0, 0x18, -   0x66, 0xA0, 0x7A, 0x1E, 0xFB, 0xDB, 0x4E, 0x51, -   0x92, 0xE4, 0xE0, 0x3E, 0xB4, 0xD8, 0x23, 0x3B, -   0xC1, 0x5F, 0xFE, 0x98, 0x99, 0x73, 0x09, 0xA9, -   0xA3, 0xDF, 0x14, 0x5A, 0x26, 0x8F, 0x0B, 0xAF, -   0x4C, 0x97, 0x54, 0xE1, 0x63, 0x48, 0xED, 0xBA, -   0xCF, 0xBB, 0x1F, 0xDC, 0xA4, 0xFA, 0x64, 0x75, -   0xDE, 0x81, 0x9A, 0xFF, 0x49, 0x41, 0x27, 0x62, -   0x02, 0x15, 0xD9, 0x86, 0xAC, 0x3F, 0x0C, 0x61, -   0xD1, 0x77, 0x2B, 0x1B, 0x96, 0xDA, 0x68, 0x1C, -   0x44, 0x32, 0xBC, 0xA2, 0x87, 0xF7, 0x91, 0x8D, -   0x80, 0xDD, 0x0A, 0x50, 0x34, 0x4B, 0x00, 0xB9, -   0x36, 0xE6, 0x78, 0x4F, 0xC9, 0xE9, 0x2C, 0x43, -   0x88, 0x9E, 0x9C, 0x5B, 0x4D, 0x3A, 0x39, 0xEF }; - -static const unsigned char table_8[32] = { -   0x13, 0x08, 0x1E, 0x1D, 0x17, 0x16, 0x07, 0x1F, -   0x0E, 0x03, 0x1A, 0x19, 0x01, 0x12, 0x11, 0x10, -   0x09, 0x0C, 0x0F, 0x14, 0x0B, 0x05, 0x00, 0x04, -   0x1C, 0x18, 0x0A, 0x15, 0x02, 0x1B, 0x06, 0x0D }; - -static const unsigned char table_9[256] = { -   0x20, 0x2A, 0xDA, 0xFE, 0x76, 0x0D, 0xED, 0x39, -   0x51, 0x4C, 0x46, 0x9A, 0xF1, 0xB0, 0x10, 0xC7, -   0xD1, 0x6F, 0x18, 0x24, 0xB9, 0x7A, 0x4F, 0x47, -   0xE0, 0x4E, 0x88, 0x09, 0x8A, 0xBA, 0x60, 0xBD, -   0xC2, 0x27, 0x93, 0x7D, 0x94, 0x40, 0xCB, 0x80, -   0xB8, 0x41, 0x84, 0x5D, 0xC1, 0x0F, 0x5E, 0x78, -   0x2B, 0x48, 0x28, 0x29, 0xEE, 0x81, 0x90, 0x86, -   0x50, 0x9C, 0xF3, 0xB2, 0x35, 0x52, 0x0C, 0x9D, -   0xFC, 0x69, 0xD6, 0xA6, 0x06, 0xD7, 0xC6, 0xFF, -   0x1C, 0x14, 0x57, 0x33, 0xE2, 0x1F, 0x83, 0xA8, -   0xF7, 0x99, 0xC5, 0xDC, 0x70, 0x9E, 0xF4, 0x6B, -   0x0A, 0x77, 0x95, 0x4A, 0x2E, 0x53, 0xF2, 0x62, -   0x98, 0xF8, 0x96, 0xDB, 0xE6, 0x32, 0x3C, 0x58, -   0xD5, 0x6D, 0xE7, 0x4B, 0xCE, 0x91, 0x43, 0xD8, -   0xFA, 0xE3, 0x4D, 0xD9, 0x68, 0xDE, 0xEC, 0x01, -   0x08, 0xD3, 0x8F, 0x19, 0xC4, 0xA7, 0x6E, 0x3E, -   0x63, 0x12, 0x72, 0x42, 0x9F, 0xB4, 0x04, 0x1B, -   0x7E, 0x11, 0x17, 0x73, 0xB5, 0x22, 0x56, 0xA1, -   0x89, 0xDD, 0xF5, 0x3F, 0x49, 0x26, 0x8D, 0x15, -   0x85, 0x75, 0x5F, 0x65, 0x82, 0xB6, 0xF6, 0xD2, -   0xA4, 0x55, 0x37, 0xC8, 0xA0, 0xCC, 0x66, 0x5C, -   0xC9, 0x25, 0x36, 0x67, 0x7C, 0xE1, 0xA3, 0xCF, -   0xA9, 0x59, 0x2F, 0xFB, 0xBB, 0x07, 0x87, 0xA2, -   0x44, 0x92, 0x13, 0x00, 0x16, 0x61, 0x38, 0xEB, -   0xAE, 0xD4, 0x1E, 0x64, 0x6A, 0xE4, 0xCA, 0x1D, -   0x6C, 0xDF, 0xAB, 0x5B, 0x03, 0x7B, 0x9B, 0x8C, -   0x5A, 0xFD, 0xC3, 0xB3, 0x0B, 0xAA, 0xAC, 0x8B, -   0xBE, 0xBC, 0x3D, 0x97, 0xCD, 0x05, 0x21, 0x8E, -   0xAD, 0xEA, 0x54, 0x30, 0xAF, 0x02, 0xB1, 0x34, -   0x0E, 0xA5, 0x3B, 0x45, 0x1A, 0x23, 0xE8, 0x7F, -   0xEF, 0xB7, 0x31, 0xD0, 0xBF, 0x3A, 0x79, 0xE5, -   0xF9, 0xF0, 0x2C, 0x74, 0xE9, 0x71, 0xC0, 0x2D }; - -static const unsigned char table_10[32] = { -   0x1D, 0x12, 0x11, 0x0D, 0x1E, 0x19, 0x16, 0x1B, -   0x18, 0x13, 0x07, 0x17, 0x0C, 0x02, 0x00, 0x15, -   0x0E, 0x08, 0x05, 0x01, 0x10, 0x06, 0x04, 0x0F, -   0x1F, 0x1A, 0x0B, 0x09, 0x0A, 0x14, 0x1C, 0x03 }; - -static const unsigned char table_11[256] = { -   0x6B, 0x1D, 0xC6, 0x0A, 0xB7, 0xAC, 0xB2, 0x11, -   0x29, 0xD3, 0xA2, 0x4D, 0xCB, 0x03, 0xEF, 0xA6, -   0xC1, 0x5D, 0x75, 0x48, 0x35, 0x6C, 0xE2, 0x84, -   0xAB, 0xAA, 0xD8, 0x2C, 0x0E, 0x95, 0x25, 0x27, -   0x7D, 0x0B, 0xD0, 0xFB, 0x14, 0xE5, 0xF2, 0x4E, -   0x7F, 0x2A, 0x63, 0x3C, 0xC9, 0xF6, 0xDC, 0x07, -   0x26, 0x55, 0xCF, 0x2B, 0xCD, 0xA7, 0x17, 0xD2, -   0x9A, 0x7B, 0x93, 0x78, 0x9E, 0xE6, 0x2F, 0x49, -   0x1E, 0xFD, 0xF0, 0xFE, 0x7C, 0x33, 0x92, 0xA3, -   0xC8, 0xA0, 0xA9, 0xC4, 0xA1, 0x94, 0x6D, 0x44, -   0x0C, 0x90, 0x3A, 0x8C, 0x8E, 0x85, 0xAF, 0x40, -   0x36, 0xA4, 0xD1, 0xB9, 0x19, 0x6F, 0xF4, 0xBA, -   0x1A, 0x73, 0xD9, 0xB5, 0xB4, 0x7A, 0xF9, 0x83, -   0x58, 0xAD, 0xCE, 0x60, 0x98, 0xDB, 0x1C, 0x1B, -   0x52, 0xB8, 0xF3, 0x96, 0xED, 0xDE, 0xB3, 0xEE, -   0x4F, 0xBD, 0x10, 0xD4, 0x43, 0xEA, 0xE7, 0x37, -   0x12, 0x3D, 0xA8, 0x22, 0x65, 0xEC, 0x5B, 0x08, -   0x9D, 0x0D, 0x5C, 0xB6, 0x8A, 0x79, 0x3F, 0x04, -   0xD6, 0x01, 0xE1, 0xBE, 0xDD, 0x50, 0xFA, 0x41, -   0x13, 0x91, 0xF7, 0xDA, 0x18, 0xB0, 0x45, 0x81, -   0x4C, 0xF5, 0x32, 0x23, 0x56, 0x5A, 0xEB, 0x97, -   0x34, 0x00, 0x77, 0x71, 0x4B, 0x70, 0xD5, 0x31, -   0x72, 0x05, 0xDF, 0xE8, 0x15, 0x3B, 0x54, 0x16, -   0x89, 0xE4, 0xF1, 0xD7, 0x80, 0x82, 0x4A, 0xE3, -   0x39, 0x06, 0x47, 0x28, 0xC2, 0x86, 0x87, 0xB1, -   0x62, 0x74, 0x53, 0x21, 0x67, 0x38, 0x42, 0xCA, -   0x9B, 0xC3, 0x51, 0x99, 0x8B, 0x1F, 0x24, 0x8D, -   0xF8, 0x68, 0x3E, 0x59, 0xBB, 0x61, 0x5F, 0xBC, -   0x09, 0x6E, 0x8F, 0x0F, 0x2D, 0xC0, 0xE0, 0x46, -   0x66, 0x69, 0xA5, 0xE9, 0x30, 0x9C, 0x5E, 0xAE, -   0xBF, 0xC7, 0x20, 0x7E, 0x6A, 0xC5, 0x88, 0xFC, -   0x64, 0x76, 0xFF, 0x9F, 0x2E, 0x02, 0xCC, 0x57 }; - -static const unsigned char table_12[32] = { -   0x14, 0x1B, 0x18, 0x00, 0x1F, 0x15, 0x17, 0x07, -   0x11, 0x1A, 0x0E, 0x13, 0x12, 0x06, 0x01, 0x03, -   0x1C, 0x0C, 0x0B, 0x1D, 0x10, 0x0F, 0x09, 0x19, -   0x0D, 0x1E, 0x04, 0x05, 0x08, 0x16, 0x0A, 0x02 }; - -static const unsigned char table_13[256] = { -   0x37, 0x8A, 0x1B, 0x91, 0xA5, 0x2B, 0x2D, 0x88, -   0x8E, 0xFE, 0x0E, 0xD3, 0xF3, 0xE9, 0x7D, 0xD1, -   0x24, 0xEA, 0xB1, 0x8B, 0x5C, 0xA4, 0x44, 0x7E, -   0x8C, 0x2C, 0x73, 0xD5, 0x50, 0x3E, 0xD7, 0x18, -   0xB9, 0xD6, 0xBA, 0x94, 0x0C, 0xFC, 0xCB, 0xB4, -   0x0D, 0x63, 0x4C, 0xDE, 0x77, 0x16, 0xFD, 0x81, -   0x3C, 0x11, 0x45, 0x36, 0xF6, 0x67, 0x95, 0x6D, -   0x6A, 0x1A, 0xA3, 0xC5, 0x92, 0x10, 0x28, 0x84, -   0x48, 0xA6, 0x23, 0xE3, 0x4B, 0xE1, 0xF5, 0x19, -   0xE0, 0x2E, 0x00, 0x61, 0x74, 0xCC, 0xF7, 0xB0, -   0x68, 0xC8, 0x40, 0x6F, 0x59, 0x52, 0x26, 0x99, -   0xC9, 0xF9, 0xC4, 0x53, 0x9B, 0xEC, 0x03, 0x17, -   0xE2, 0x06, 0x30, 0x7B, 0xBE, 0xCD, 0x1D, 0x3B, -   0xD2, 0x5B, 0x65, 0x21, 0x49, 0xB7, 0x79, 0xCF, -   0x82, 0x86, 0xC7, 0x62, 0xEE, 0x8D, 0xFF, 0xD4, -   0xC3, 0x85, 0xA7, 0xFA, 0xA9, 0x6B, 0xF2, 0x69, -   0x9C, 0x38, 0x78, 0xBD, 0x7F, 0xDD, 0xCE, 0xA1, -   0x33, 0xC2, 0x43, 0xEB, 0xD8, 0xE6, 0x2A, 0xE4, -   0x76, 0x6C, 0xAA, 0x46, 0x05, 0xE7, 0xA0, 0x0A, -   0x71, 0x98, 0x41, 0x5F, 0x0F, 0xEF, 0x51, 0xAD, -   0xF0, 0xED, 0x96, 0x5A, 0x42, 0x3F, 0xBF, 0x6E, -   0xBC, 0x5D, 0xC1, 0x15, 0x70, 0x54, 0x4D, 0x14, -   0xB5, 0xCA, 0x27, 0x80, 0x87, 0x39, 0x60, 0x47, -   0x9D, 0x2F, 0x56, 0x1F, 0xBB, 0x31, 0xF1, 0xE8, -   0xB3, 0x9E, 0x5E, 0x7C, 0xD0, 0xC6, 0xB2, 0x57, -   0x83, 0xAC, 0x09, 0x8F, 0xA2, 0x90, 0x13, 0x25, -   0x01, 0x08, 0x64, 0xB6, 0x02, 0xDB, 0x55, 0x32, -   0xAF, 0x9A, 0xC0, 0x1C, 0x12, 0x29, 0x0B, 0x72, -   0x4F, 0xDA, 0xAB, 0x35, 0xF8, 0x22, 0xD9, 0x4E, -   0x3D, 0x1E, 0xDC, 0x58, 0x20, 0x34, 0xAE, 0x66, -   0x75, 0x93, 0x9F, 0x3A, 0x07, 0xE5, 0x89, 0xDF, -   0x97, 0x4A, 0xB8, 0x7A, 0xF4, 0xFB, 0x04, 0xA8 }; - -static const unsigned char table_14[32] = { -   0x04, 0x14, 0x13, 0x15, 0x1A, 0x1B, 0x0F, 0x16, -   0x02, 0x0D, 0x0C, 0x06, 0x10, 0x17, 0x01, 0x0B, -   0x1E, 0x08, 0x1C, 0x18, 0x19, 0x0A, 0x1F, 0x05, -   0x11, 0x09, 0x1D, 0x07, 0x0E, 0x12, 0x03, 0x00 }; - -static const unsigned char table_15[256] = { -   0x61, 0x48, 0x58, 0x41, 0x7F, 0x88, 0x43, 0x42, -   0xD9, 0x80, 0x81, 0xFE, 0xC6, 0x49, 0xD7, 0x2C, -   0xE6, 0x5B, 0xEE, 0xFF, 0x2A, 0x6F, 0xBF, 0x98, -   0xD6, 0x20, 0xB9, 0xB1, 0x5D, 0x95, 0x72, 0x1E, -   0x82, 0x96, 0xDE, 0xC1, 0x40, 0xD8, 0x70, 0xA3, -   0xD1, 0x1F, 0xF0, 0x9F, 0x2D, 0xDC, 0x3F, 0xF9, -   0x5E, 0x0D, 0x15, 0x2F, 0x67, 0x31, 0x9D, 0x84, -   0x97, 0x0C, 0xF6, 0x79, 0xC2, 0xA7, 0xC0, 0x32, -   0xB3, 0xEB, 0xED, 0x71, 0x30, 0xCC, 0x4B, 0xA0, -   0xF5, 0xC4, 0xCD, 0x27, 0xFA, 0x11, 0x25, 0xDB, -   0x4F, 0xE2, 0x7E, 0xA6, 0xAF, 0x34, 0x69, 0x63, -   0x8F, 0x08, 0x1C, 0x85, 0xF1, 0x57, 0x78, 0xC8, -   0xA2, 0x83, 0xB5, 0x68, 0xF7, 0x64, 0x45, 0x26, -   0x3B, 0x03, 0xAD, 0x3C, 0x50, 0xD5, 0x77, 0xFC, -   0xFB, 0x18, 0xC9, 0xD2, 0x9C, 0xBB, 0xBA, 0x76, -   0x23, 0x55, 0xD3, 0x5A, 0x01, 0xE9, 0x87, 0x07, -   0x19, 0x09, 0x39, 0x8A, 0x91, 0x93, 0x12, 0xDF, -   0x22, 0xA8, 0xCF, 0x4E, 0x4D, 0x65, 0xB0, 0x0F, -   0x13, 0x53, 0x21, 0x8C, 0xE5, 0xB7, 0x0B, 0x0E, -   0x6C, 0x44, 0xCA, 0x7B, 0xC5, 0x6E, 0xCE, 0xE3, -   0x14, 0x29, 0xAC, 0x2E, 0xE7, 0x59, 0xE8, 0x0A, -   0xEA, 0x66, 0x7C, 0x94, 0x6D, 0x05, 0x9E, 0x9A, -   0x2B, 0x38, 0x6A, 0xCB, 0x51, 0xEF, 0x06, 0xDA, -   0xFD, 0x47, 0x92, 0x1D, 0xA5, 0x37, 0x33, 0xEC, -   0xB4, 0x52, 0x56, 0xC3, 0xF4, 0xF8, 0x8B, 0xD0, -   0xA4, 0x5F, 0x28, 0x89, 0x75, 0xC7, 0x04, 0x00, -   0xE4, 0x86, 0x36, 0x3A, 0x99, 0x16, 0x7D, 0xE0, -   0x7A, 0x4C, 0x54, 0x46, 0x73, 0xB2, 0xF3, 0xE1, -   0x62, 0xBE, 0x90, 0x4A, 0x24, 0x6B, 0x3E, 0xAA, -   0x1B, 0xF2, 0x60, 0xD4, 0xA9, 0x9B, 0x1A, 0xB8, -   0xA1, 0x35, 0xAE, 0xB6, 0x10, 0x5C, 0x17, 0xBC, -   0xAB, 0x8D, 0x02, 0x74, 0xBD, 0x3D, 0x8E, 0xDD }; - -static const unsigned char table_16[256] = { -   0x3F, 0x9C, 0x17, 0xC1, 0x59, 0xC6, 0x23, 0x93, -   0x4B, 0xDF, 0xCB, 0x55, 0x2B, 0xDE, 0xCD, 0xAD, -   0xB3, 0xE7, 0x42, 0x2F, 0x02, 0x5A, 0x7B, 0x5C, -   0x8F, 0xD1, 0x11, 0xCE, 0xEC, 0xF6, 0xA4, 0xE6, -   0x58, 0x98, 0x6A, 0x99, 0xFB, 0x9B, 0x53, 0x21, -   0x8A, 0x09, 0x2E, 0x3C, 0x22, 0x38, 0xAC, 0x07, -   0x91, 0x46, 0xA9, 0x95, 0xC3, 0x14, 0x84, 0xDB, -   0x36, 0x68, 0x1D, 0xDD, 0xF9, 0x12, 0xE0, 0x3D, -   0x8D, 0x4D, 0x05, 0x86, 0x69, 0xC0, 0xD3, 0xD5, -   0xA5, 0xC9, 0xE5, 0x67, 0x6D, 0xE2, 0x7F, 0xFE, -   0xB2, 0x0F, 0x62, 0xCF, 0x37, 0x35, 0xF3, 0x28, -   0x16, 0xA6, 0x50, 0x76, 0x80, 0x00, 0x31, 0x97, -   0x39, 0x7C, 0x25, 0x0C, 0x64, 0xF2, 0x52, 0x1A, -   0x92, 0x4F, 0x2A, 0x56, 0x03, 0x4C, 0xBD, 0x10, -   0xB7, 0x2C, 0x8C, 0xAE, 0x73, 0xB9, 0xE9, 0xF7, -   0xA7, 0xE1, 0x75, 0xBC, 0xC5, 0x1C, 0x3A, 0x63, -   0x7A, 0x4A, 0x29, 0xD2, 0x71, 0xE8, 0x08, 0xA1, -   0xD4, 0xFD, 0x13, 0xFA, 0xA0, 0x27, 0x41, 0x72, -   0x82, 0x18, 0x51, 0x60, 0x5E, 0x66, 0x0D, 0xAA, -   0xD8, 0x1F, 0xAF, 0x45, 0xD0, 0xF1, 0x9F, 0x6B, -   0xE4, 0x44, 0x89, 0xEE, 0xC4, 0x0B, 0x6C, 0xCC, -   0x83, 0x77, 0xA2, 0x87, 0x0A, 0xA8, 0xED, 0x90, -   0x74, 0x6E, 0xF5, 0xAB, 0xA3, 0xB6, 0x5F, 0x0E, -   0x04, 0x9A, 0xB4, 0x8E, 0xF0, 0xFF, 0x88, 0xB5, -   0xF8, 0xBF, 0x8B, 0x6F, 0x4E, 0x79, 0x40, 0xCA, -   0x24, 0x26, 0xDC, 0x33, 0xEB, 0x2D, 0x5B, 0x1B, -   0x9D, 0xC7, 0x49, 0x48, 0x54, 0x85, 0xEF, 0xD7, -   0xC2, 0xB8, 0xC8, 0x5D, 0xD9, 0x3B, 0x15, 0xBB, -   0x65, 0xE3, 0xD6, 0x30, 0x3E, 0x1E, 0x32, 0x9E, -   0x57, 0x81, 0x34, 0x06, 0xFC, 0xBA, 0x7D, 0x20, -   0x70, 0xDA, 0x7E, 0x47, 0x94, 0x61, 0xB0, 0x78, -   0xF4, 0xBE, 0xEA, 0x19, 0x43, 0x01, 0xB1, 0x96 }; - -static const unsigned char table_17[256] = { -   0x7E, 0xF1, 0xD3, 0x75, 0x87, 0xA6, 0xED, 0x9E, -   0xA9, 0xD5, 0xC6, 0xBF, 0xE6, 0x6A, 0xEE, 0x4B, -   0x34, 0xDF, 0x4C, 0x7D, 0xDD, 0xFE, 0x3F, 0xAF, -   0x66, 0x2D, 0x74, 0x6F, 0xFC, 0x4F, 0x5F, 0x88, -   0x29, 0x7B, 0xC7, 0x2A, 0x70, 0xE8, 0x1D, 0xDE, -   0xD0, 0x55, 0x71, 0x81, 0xC4, 0x0D, 0x50, 0x4E, -   0x58, 0x00, 0x96, 0x97, 0xBB, 0xD7, 0x53, 0x15, -   0x6C, 0x40, 0x17, 0xC9, 0xFF, 0x8F, 0x94, 0xFB, -   0x19, 0x9A, 0x3E, 0xB5, 0x5A, 0x5E, 0x86, 0x24, -   0xB8, 0x77, 0xBA, 0x85, 0x51, 0x18, 0xBE, 0x59, -   0x79, 0xF3, 0xD4, 0xC3, 0xAB, 0x28, 0xFD, 0x25, -   0x41, 0x91, 0x07, 0x8D, 0xAE, 0x49, 0xF5, 0x80, -   0x35, 0xA1, 0x9C, 0x3C, 0xE2, 0x65, 0xB3, 0xE0, -   0x16, 0xCB, 0x12, 0x6B, 0xF7, 0xB1, 0x93, 0x8A, -   0xCE, 0x54, 0x4D, 0xF8, 0x13, 0xA2, 0x95, 0x46, -   0xEA, 0x61, 0x57, 0x9D, 0x27, 0x8B, 0x3D, 0x60, -   0x36, 0x68, 0x06, 0x56, 0xB6, 0x1B, 0xD2, 0x89, -   0x10, 0xA7, 0xC5, 0x1A, 0x0B, 0x2C, 0xBD, 0x14, -   0x0A, 0xDC, 0x23, 0xA8, 0xE1, 0x04, 0x02, 0xC0, -   0xB2, 0x9B, 0xE3, 0x2E, 0x33, 0x7C, 0x32, 0xAC, -   0x7A, 0x39, 0xB0, 0xF9, 0x98, 0x5B, 0x3A, 0x48, -   0x21, 0x90, 0xB9, 0x20, 0xF0, 0xA0, 0x09, 0x1F, -   0x2F, 0xEF, 0xEB, 0x22, 0x78, 0x82, 0x37, 0xD6, -   0xD1, 0x84, 0x76, 0x01, 0xDB, 0x43, 0xC2, 0xB7, -   0x7F, 0xA4, 0xE5, 0xC1, 0x1C, 0x69, 0x05, 0xEC, -   0xD8, 0x38, 0x67, 0x42, 0x72, 0xBC, 0x73, 0xAD, -   0xA3, 0xE9, 0x4A, 0x8E, 0x47, 0x1E, 0xC8, 0x6E, -   0xDA, 0x5D, 0x2B, 0xF6, 0x30, 0x63, 0xCC, 0xF4, -   0xCD, 0x8C, 0x0F, 0x3B, 0xE7, 0xD9, 0xCF, 0xB4, -   0x03, 0x92, 0x0E, 0x31, 0xE4, 0x08, 0xF2, 0x45, -   0xCA, 0x83, 0x26, 0x5C, 0xA5, 0x44, 0x64, 0x6D, -   0x9F, 0x99, 0x62, 0xAA, 0xFA, 0x11, 0x0C, 0x52 }; - -static const unsigned char table_18[256] = { -   0x0F, 0x42, 0x3D, 0x86, 0x3E, 0x66, 0xFE, 0x5C, -   0x52, 0xE2, 0xA3, 0xB3, 0xCE, 0x16, 0xCC, 0x95, -   0xB0, 0x8B, 0x82, 0x3B, 0x93, 0x7D, 0x62, 0x08, -   0x1C, 0x6E, 0xBB, 0xCB, 0x1D, 0x88, 0x69, 0xD4, -   0xC9, 0x40, 0x1F, 0xBE, 0x27, 0xBC, 0xDB, 0x38, -   0xE5, 0xA1, 0x71, 0xBA, 0x8A, 0x5E, 0xFD, 0x36, -   0x8F, 0x26, 0x6B, 0xE4, 0x20, 0x6D, 0xC5, 0xDE, -   0xE0, 0x83, 0x7C, 0xD5, 0xD9, 0x4D, 0xDC, 0xE3, -   0x0D, 0x32, 0xED, 0x0E, 0x2F, 0x21, 0xA7, 0x79, -   0xA0, 0xD3, 0x8C, 0x14, 0x6F, 0xB7, 0xF8, 0x85, -   0x5D, 0x37, 0x24, 0xD6, 0x25, 0xD2, 0x8E, 0xA5, -   0xB8, 0xCD, 0x5A, 0x9F, 0x05, 0xAD, 0x65, 0x9E, -   0x4F, 0x5B, 0x56, 0xF0, 0xAA, 0xC2, 0x28, 0xA8, -   0x6A, 0x01, 0x99, 0x2E, 0xA6, 0x77, 0x74, 0x64, -   0x76, 0x15, 0x90, 0x75, 0xAF, 0xE8, 0x39, 0x48, -   0x09, 0x11, 0xE1, 0x2D, 0xEC, 0xB5, 0x7A, 0xB1, -   0x94, 0x13, 0x41, 0x4C, 0x02, 0xA9, 0x97, 0xDF, -   0xC3, 0x8D, 0xEA, 0x3A, 0x9C, 0xD1, 0xA2, 0x9A, -   0xD7, 0x59, 0xD8, 0x18, 0xDA, 0x47, 0x89, 0x81, -   0xC7, 0xF5, 0xFC, 0x98, 0xCA, 0x91, 0x06, 0x68, -   0xC8, 0x07, 0x4A, 0x84, 0x0A, 0xE7, 0x33, 0x2C, -   0xEB, 0xDD, 0x5F, 0xAC, 0x23, 0x1A, 0x35, 0x70, -   0x43, 0x80, 0x61, 0xAE, 0xC1, 0xD0, 0x7B, 0x92, -   0x49, 0x51, 0x53, 0xC4, 0x34, 0x30, 0x0C, 0x4B, -   0x00, 0x04, 0x10, 0xFF, 0x63, 0x44, 0xB4, 0x0B, -   0x57, 0x72, 0xF1, 0x9D, 0x19, 0xF6, 0xB2, 0x87, -   0x1B, 0xEE, 0x46, 0x2A, 0xF3, 0xBF, 0x12, 0x96, -   0x58, 0x2B, 0xF9, 0xB6, 0xCF, 0x22, 0x3C, 0xAB, -   0x1E, 0x6C, 0x31, 0xC6, 0xF7, 0x78, 0x45, 0x17, -   0xE9, 0x7E, 0x73, 0xF2, 0x55, 0xFB, 0x3F, 0x9B, -   0xF4, 0xBD, 0xA4, 0x29, 0x60, 0x03, 0xB9, 0x50, -   0xFA, 0x4E, 0xEF, 0x54, 0xE6, 0x7F, 0xC0, 0x67 }; - -static const unsigned char table_19[256] = { -   0xEA, 0xE7, 0x13, 0x14, 0xB9, 0xC0, 0xC4, 0x42, -   0x49, 0x6E, 0x2A, 0xA6, 0x65, 0x3C, 0x6A, 0x40, -   0x07, 0xCD, 0x4F, 0xFE, 0xF2, 0x2D, 0xC8, 0x30, -   0x9D, 0xBE, 0x1B, 0x9B, 0x4A, 0x7E, 0x9F, 0xA7, -   0x78, 0xAB, 0x4D, 0x1D, 0xF1, 0x96, 0x32, 0x84, -   0xFB, 0x80, 0x88, 0xE8, 0x41, 0x97, 0xDC, 0xD0, -   0x4E, 0x33, 0xA4, 0x3B, 0xE0, 0xDD, 0x36, 0xC9, -   0x72, 0x48, 0x8A, 0x2F, 0x35, 0xF0, 0xDF, 0x21, -   0xE1, 0xE5, 0x6C, 0x9A, 0x60, 0x8F, 0xB7, 0x24, -   0xE4, 0x9E, 0x8C, 0x0F, 0x3D, 0x28, 0xBB, 0xD6, -   0x69, 0xA0, 0x66, 0xC7, 0xE3, 0xD8, 0x11, 0x27, -   0xD9, 0x37, 0xF4, 0xF5, 0x8E, 0xD4, 0x76, 0xE2, -   0xDB, 0x15, 0xA2, 0x5C, 0x9C, 0xEE, 0x44, 0xED, -   0x2B, 0xB3, 0x75, 0x74, 0x71, 0x8B, 0x3A, 0x91, -   0x06, 0x19, 0xC1, 0x57, 0x89, 0xCC, 0x82, 0x10, -   0x17, 0xB2, 0x08, 0x70, 0x39, 0xCA, 0xBA, 0xB5, -   0xAA, 0xBF, 0x02, 0xBD, 0x26, 0x58, 0x04, 0x54, -   0x23, 0x4B, 0x90, 0x51, 0x6D, 0x98, 0xD5, 0xB0, -   0xAF, 0x22, 0xDA, 0xB4, 0x87, 0xFC, 0x7D, 0x18, -   0x6F, 0x64, 0x59, 0x09, 0x0C, 0xA5, 0x5D, 0x03, -   0x0A, 0xD3, 0xCE, 0x99, 0x8D, 0xC2, 0xC3, 0x62, -   0xD2, 0x83, 0x1A, 0xAC, 0x7C, 0x93, 0xD7, 0xA9, -   0x16, 0xF7, 0x77, 0xE6, 0x3E, 0x05, 0x73, 0x55, -   0x43, 0x95, 0x7A, 0x6B, 0x38, 0x67, 0x3F, 0xC6, -   0xAD, 0x0E, 0x29, 0x46, 0x45, 0xFA, 0xBC, 0xEC, -   0x5B, 0x7F, 0x0B, 0x1C, 0x01, 0x12, 0x85, 0x50, -   0xF9, 0xEF, 0x25, 0x34, 0x79, 0x2E, 0xEB, 0x00, -   0x5F, 0x86, 0xF8, 0x4C, 0xA8, 0x56, 0xB6, 0x5A, -   0xF3, 0x31, 0x94, 0x92, 0xB1, 0xB8, 0x52, 0xD1, -   0xCF, 0xCB, 0xA1, 0x81, 0x68, 0x47, 0xFF, 0xC5, -   0xFD, 0x1F, 0xDE, 0x53, 0xA3, 0x2C, 0x20, 0xF6, -   0x1E, 0x0D, 0xAE, 0x7B, 0x5E, 0x61, 0xE9, 0x63 }; - -static const unsigned char table_20[32] = { -   0x0D, 0x0B, 0x11, 0x02, 0x05, 0x1B, 0x08, 0x1D, -   0x04, 0x14, 0x01, 0x09, 0x00, 0x19, 0x1E, 0x15, -   0x1F, 0x0A, 0x0F, 0x1C, 0x10, 0x16, 0x0C, 0x07, -   0x13, 0x1A, 0x06, 0x17, 0x0E, 0x12, 0x18, 0x03 }; - -static const unsigned char table_21[256] = { -   0x4C, 0x94, 0xAD, 0x66, 0x9E, 0x69, 0x04, 0xA8, -   0x61, 0xE0, 0xE1, 0x3D, 0xFD, 0x9C, 0xFB, 0x19, -   0x1E, 0x80, 0x8C, 0xA0, 0xFC, 0x27, 0x26, 0x3B, -   0x48, 0x6D, 0x07, 0xE4, 0xEA, 0x17, 0x64, 0x9B, -   0xD0, 0xE2, 0xD1, 0x13, 0x39, 0xF5, 0x73, 0xD3, -   0x0C, 0x3A, 0x6E, 0x77, 0xFA, 0xE3, 0x2F, 0x44, -   0x7E, 0x72, 0x30, 0x43, 0xD4, 0x7F, 0x36, 0xD9, -   0xBD, 0x3E, 0x3F, 0x91, 0xBE, 0x54, 0x79, 0xA6, -   0x7C, 0x0E, 0xC5, 0x7A, 0x70, 0xC4, 0xD7, 0xCE, -   0xDA, 0xAA, 0x68, 0x8F, 0xBC, 0x96, 0x1B, 0x16, -   0xA2, 0xC6, 0x67, 0x09, 0x45, 0x9F, 0xCF, 0x41, -   0xC8, 0x60, 0x74, 0x99, 0x5D, 0x85, 0x5F, 0x50, -   0x33, 0x52, 0x22, 0xA9, 0xB5, 0x2D, 0x98, 0x87, -   0x15, 0x9A, 0xAC, 0x2C, 0xDE, 0xC0, 0xB8, 0x37, -   0x88, 0x1F, 0xC1, 0x4F, 0x65, 0x0F, 0x3C, 0x84, -   0x4B, 0x1A, 0xAB, 0xA4, 0x23, 0xCB, 0xB1, 0xC7, -   0xDB, 0xEF, 0x40, 0x0D, 0x46, 0xE8, 0xF4, 0x71, -   0x38, 0x01, 0x5C, 0x0B, 0x5E, 0xC9, 0xAF, 0xC3, -   0xF6, 0xB6, 0x10, 0x1D, 0xE5, 0x8A, 0x90, 0xA7, -   0xA3, 0x05, 0x4E, 0x14, 0x63, 0x25, 0x34, 0xEC, -   0x6B, 0x95, 0x21, 0x55, 0xF2, 0xF0, 0x47, 0x9D, -   0xF8, 0x8E, 0x02, 0x0A, 0xED, 0x97, 0xAE, 0x00, -   0x2A, 0xEB, 0xB2, 0xA5, 0x32, 0x06, 0x2E, 0xFE, -   0x8D, 0x7B, 0x7D, 0x35, 0x5A, 0xD2, 0xF1, 0xE9, -   0xF9, 0x62, 0xB7, 0xB9, 0x53, 0x75, 0x5B, 0x8B, -   0xCC, 0x6C, 0x18, 0x49, 0x89, 0x31, 0xB0, 0x92, -   0x6F, 0xDF, 0x03, 0x57, 0xF3, 0x58, 0xCA, 0x2B, -   0x93, 0xA1, 0xD6, 0x24, 0x29, 0xCD, 0x59, 0x1C, -   0x83, 0xB3, 0x42, 0xBF, 0x82, 0xB4, 0x11, 0x4A, -   0x08, 0xEE, 0x76, 0x4D, 0x12, 0xDC, 0xE6, 0xC2, -   0x56, 0xBA, 0x86, 0x28, 0x6A, 0x20, 0x51, 0xF7, -   0xFF, 0xD8, 0xE7, 0xDD, 0xBB, 0x78, 0xD5, 0x81 }; - -static const unsigned char table_22[32] = { -   0x0B, 0x15, 0x1C, 0x0C, 0x06, 0x0A, 0x1D, 0x16, -   0x12, 0x0E, 0x04, 0x11, 0x1F, 0x0F, 0x07, 0x02, -   0x17, 0x13, 0x19, 0x18, 0x0D, 0x10, 0x1A, 0x05, -   0x03, 0x00, 0x01, 0x08, 0x09, 0x14, 0x1B, 0x1E }; - -static const unsigned char table_23[256] = { -   0x36, 0x53, 0x2D, 0xD0, 0x7A, 0xF0, 0xD5, 0x1C, -   0x50, 0x61, 0x9A, 0x90, 0x0B, 0x29, 0x20, 0x77, -   0xF1, 0x82, 0xFE, 0xC1, 0xA7, 0xB6, 0x78, 0x87, -   0x02, 0x05, 0xCB, 0x28, 0xAE, 0xD6, 0x17, 0x1A, -   0x91, 0x5D, 0xB9, 0xE2, 0xDE, 0x6A, 0x4E, 0x07, -   0xAC, 0x38, 0x13, 0x3B, 0x46, 0xFD, 0xB7, 0xD1, -   0x79, 0xFB, 0x58, 0x76, 0x08, 0x47, 0x95, 0xA6, -   0x99, 0x9E, 0x12, 0x67, 0xC2, 0xED, 0x9C, 0x1B, -   0x89, 0x71, 0xB5, 0x4A, 0xAA, 0x5F, 0x34, 0x85, -   0x40, 0x2B, 0x9F, 0x37, 0x7C, 0x0F, 0xD4, 0x75, -   0x48, 0x27, 0x2E, 0xC9, 0xEB, 0x06, 0xDF, 0x8C, -   0x14, 0xAF, 0xEE, 0xA2, 0x74, 0x45, 0x8D, 0x70, -   0x6B, 0xD7, 0x56, 0xCF, 0xBC, 0x7B, 0x01, 0xC8, -   0x54, 0xB0, 0x3C, 0x39, 0xFA, 0x81, 0xDC, 0xBB, -   0x0D, 0xB2, 0xAD, 0x93, 0xC7, 0x8A, 0x73, 0x6C, -   0xC3, 0x04, 0x2F, 0xEF, 0x52, 0x33, 0x9D, 0x1E, -   0xC5, 0x65, 0x23, 0xD8, 0xB1, 0xD2, 0xE5, 0x25, -   0x2C, 0xE6, 0x92, 0xB4, 0xF7, 0xF4, 0x8F, 0x6E, -   0xE8, 0x5A, 0x8E, 0x7D, 0x4C, 0xB3, 0xFF, 0x41, -   0x26, 0xE3, 0x30, 0x69, 0xF8, 0x80, 0x57, 0x4F, -   0xA0, 0x7F, 0x66, 0x68, 0xE1, 0x7E, 0x0E, 0x31, -   0xE7, 0xEA, 0x3E, 0x8B, 0x4B, 0x94, 0xE9, 0xCD, -   0x19, 0x35, 0xA3, 0x98, 0xD9, 0x5B, 0x44, 0x2A, -   0xE0, 0x6D, 0xF3, 0xE4, 0x72, 0x18, 0x03, 0x59, -   0x84, 0x09, 0xA1, 0x9B, 0xBD, 0xDA, 0x4D, 0x63, -   0xCC, 0x3A, 0x10, 0xFC, 0x3F, 0x0A, 0x88, 0x24, -   0xF5, 0x21, 0xC4, 0x6F, 0x1F, 0x42, 0x62, 0x64, -   0x51, 0xDD, 0xCA, 0xF9, 0x22, 0xCE, 0xA8, 0x86, -   0xBA, 0xB8, 0x5C, 0xAB, 0x32, 0x00, 0x0C, 0xF2, -   0x83, 0xDB, 0xF6, 0x60, 0x3D, 0x16, 0xEC, 0x11, -   0xA4, 0xBE, 0x96, 0x5E, 0x97, 0xD3, 0xA5, 0x55, -   0x1D, 0x15, 0xC6, 0xBF, 0xA9, 0x43, 0xC0, 0x49 }; - -static const unsigned char table_24[256] = { -   0xDC, 0x5A, 0xE6, 0x59, 0x64, 0xDA, 0x58, 0x40, -   0x95, 0xF8, 0x2A, 0xE0, 0x39, 0x7E, 0x32, 0x89, -   0x09, 0x93, 0xED, 0x55, 0xC3, 0x5B, 0x1A, 0xD1, -   0xA5, 0x8B, 0x0F, 0x13, 0xC9, 0xE1, 0x34, 0xD0, -   0xB6, 0xA2, 0xD9, 0x52, 0x57, 0x83, 0xFD, 0xE9, -   0xAC, 0x73, 0x6E, 0x21, 0xF1, 0x0E, 0x25, 0xCC, -   0x36, 0xFB, 0xF7, 0x92, 0x15, 0x30, 0x54, 0x91, -   0xD6, 0x9E, 0xAA, 0x35, 0x70, 0xB2, 0xC0, 0x27, -   0xFE, 0x04, 0xBC, 0xC7, 0x02, 0xFA, 0x7D, 0xE3, -   0xBE, 0x62, 0x79, 0x2B, 0x31, 0x6A, 0x8F, 0x7F, -   0x56, 0xF0, 0xB4, 0x0C, 0x1F, 0x68, 0xB7, 0xB9, -   0x0B, 0x14, 0x3E, 0xA9, 0x4B, 0x03, 0x10, 0xEE, -   0x2C, 0xAB, 0x8A, 0x77, 0xB1, 0xE7, 0xCA, 0xD4, -   0x98, 0x01, 0xAD, 0x1E, 0x50, 0x26, 0x82, 0x44, -   0xF3, 0xBF, 0xD3, 0x6B, 0x33, 0x0A, 0x3C, 0x5D, -   0xCE, 0x81, 0xC5, 0x78, 0x9F, 0xB8, 0x23, 0xDB, -   0x4E, 0xA1, 0x41, 0x76, 0xAE, 0x51, 0x86, 0x06, -   0x7A, 0x66, 0xA0, 0x5E, 0x29, 0x17, 0x84, 0x4A, -   0xB0, 0x3B, 0x3D, 0x71, 0x07, 0x7B, 0x0D, 0x9A, -   0x6F, 0x9B, 0x5C, 0x88, 0xB3, 0xD7, 0x24, 0xD5, -   0x48, 0xF5, 0xE8, 0xE4, 0xCF, 0x16, 0xA4, 0xC8, -   0xEF, 0x42, 0x22, 0xEC, 0x47, 0x69, 0x90, 0x63, -   0xE2, 0x1B, 0x87, 0x85, 0x3F, 0xDE, 0x8C, 0x60, -   0x99, 0xE5, 0x8E, 0x4F, 0xF4, 0xBA, 0xB5, 0x9C, -   0x37, 0x67, 0xBD, 0xA6, 0x97, 0xDD, 0xCB, 0x43, -   0x45, 0x19, 0x49, 0x1C, 0x75, 0xC1, 0xBB, 0xF2, -   0x46, 0xFC, 0x53, 0x9D, 0xD8, 0xA3, 0xDF, 0x2F, -   0xEB, 0x72, 0x94, 0xA8, 0x6D, 0xC6, 0x28, 0x4C, -   0x00, 0x38, 0xC2, 0x65, 0x05, 0x2E, 0xD2, 0x12, -   0xFF, 0x18, 0x61, 0x6C, 0x7C, 0x11, 0xAF, 0x96, -   0xCD, 0x20, 0x74, 0x08, 0x1D, 0xC4, 0xF9, 0x4D, -   0xEA, 0x8D, 0x2D, 0x5F, 0xF6, 0xA7, 0x80, 0x3A }; - -static const unsigned char table_25[32] = { -   0x0A, 0x11, 0x17, 0x03, 0x05, 0x0B, 0x18, 0x13, -   0x09, 0x02, 0x00, 0x1C, 0x0C, 0x08, 0x1B, 0x14, -   0x06, 0x0E, 0x01, 0x0D, 0x16, 0x1E, 0x1D, 0x19, -   0x0F, 0x1A, 0x10, 0x04, 0x12, 0x15, 0x07, 0x1F }; - -static const unsigned char table_26[32] = { -   0x19, 0x13, 0x1B, 0x01, 0x1C, 0x0D, 0x0C, 0x15, -   0x0B, 0x00, 0x1A, 0x0F, 0x12, 0x16, 0x08, 0x0A, -   0x03, 0x06, 0x14, 0x10, 0x18, 0x04, 0x11, 0x1D, -   0x1F, 0x07, 0x17, 0x05, 0x02, 0x0E, 0x1E, 0x09 }; - -static const unsigned char table_27[256] = { -   0x72, 0xF0, 0x14, 0xCB, 0x61, 0xA5, 0xB2, 0x02, -   0x75, 0x22, 0xC3, 0x9D, 0x5A, 0x63, 0xFA, 0x5F, -   0xD9, 0x55, 0x58, 0x43, 0x24, 0x7D, 0x77, 0x93, -   0xBA, 0x50, 0x1D, 0xF7, 0x49, 0x18, 0xB0, 0x42, -   0xBB, 0xEC, 0x52, 0x38, 0xDC, 0xC8, 0x16, 0x54, -   0x17, 0x19, 0x89, 0x67, 0x33, 0x3C, 0x0A, 0xAD, -   0xC9, 0xDE, 0x81, 0xED, 0xBD, 0x0E, 0x0B, 0x6D, -   0x46, 0x30, 0x35, 0x2B, 0x8C, 0xA0, 0x1C, 0x0D, -   0xFD, 0xA1, 0x70, 0xC6, 0xD8, 0x41, 0xB3, 0xC0, -   0x44, 0xEB, 0x92, 0xBE, 0x6B, 0x98, 0x1A, 0x76, -   0x71, 0xC5, 0x51, 0x56, 0x80, 0xFC, 0x01, 0x53, -   0x4B, 0xD0, 0x8B, 0xD2, 0x7B, 0xE7, 0x15, 0x5D, -   0xE5, 0xA6, 0x8A, 0xD3, 0x9B, 0xF4, 0x69, 0x23, -   0xE8, 0xB6, 0xC7, 0xE2, 0x73, 0x9F, 0x88, 0xDF, -   0xB4, 0x28, 0xEE, 0xC2, 0x94, 0xB8, 0xF9, 0x7F, -   0x4A, 0x57, 0x06, 0xF6, 0xBF, 0xC1, 0xAB, 0xFB, -   0xA4, 0x8E, 0xD1, 0xD7, 0xF5, 0x7C, 0xA3, 0x1E, -   0x3B, 0x32, 0x03, 0xAA, 0x90, 0x5C, 0x48, 0xE0, -   0xE3, 0xCF, 0xD4, 0xEF, 0x59, 0xD5, 0x1B, 0x34, -   0x1F, 0x95, 0xCE, 0x7A, 0x20, 0x26, 0x87, 0xB7, -   0x78, 0x9C, 0x4F, 0xA2, 0x12, 0x97, 0x27, 0x3F, -   0xFF, 0x07, 0x84, 0x96, 0x04, 0xAF, 0xA8, 0xEA, -   0x2C, 0x6C, 0xAE, 0x37, 0x91, 0xA9, 0x10, 0xDB, -   0xCD, 0xDA, 0x08, 0x99, 0xF1, 0x4D, 0xCC, 0x68, -   0x79, 0x2E, 0xB1, 0x39, 0x9E, 0xE9, 0x2F, 0x6A, -   0x3D, 0x0F, 0x85, 0x8D, 0xCA, 0x29, 0x86, 0xD6, -   0xDD, 0x05, 0x25, 0x3A, 0x40, 0x21, 0x45, 0xAC, -   0x11, 0xF3, 0xA7, 0x09, 0x2A, 0x31, 0xE4, 0x0C, -   0xF8, 0x6E, 0x3E, 0xB5, 0x82, 0xFE, 0x74, 0x13, -   0x65, 0xE1, 0x2D, 0x8F, 0xE6, 0xC4, 0x00, 0x5B, -   0x4E, 0xB9, 0x66, 0xF2, 0x62, 0x36, 0x4C, 0x83, -   0x5E, 0x6F, 0x47, 0x64, 0xBC, 0x9A, 0x60, 0x7E }; - -static const unsigned char table_28[32] = { -   0x15, 0x05, 0x08, 0x19, 0x02, 0x18, 0x1E, 0x07, -   0x0D, 0x0C, 0x1A, 0x06, 0x17, 0x03, 0x10, 0x09, -   0x01, 0x11, 0x1C, 0x04, 0x0F, 0x1F, 0x12, 0x0B, -   0x1B, 0x13, 0x0A, 0x16, 0x0E, 0x00, 0x1D, 0x14 }; - -static const unsigned char table_29[256] = { -   0x34, 0x59, 0x05, 0x13, 0x09, 0x1D, 0xDF, 0x77, -   0x11, 0xA5, 0x92, 0x27, 0xCD, 0x7B, 0x5E, 0x80, -   0xF9, 0x50, 0x18, 0x24, 0xD4, 0x70, 0x4A, 0x39, -   0x66, 0xA4, 0xDB, 0xE9, 0xED, 0x48, 0xD9, 0xE7, -   0x32, 0xDA, 0x53, 0x8F, 0x72, 0xE1, 0xF6, 0xFE, -   0xD3, 0xAD, 0xA6, 0x1F, 0xB9, 0xD1, 0x0F, 0x4C, -   0x23, 0x90, 0x68, 0xBC, 0x4B, 0x9B, 0x3D, 0xAB, -   0xF0, 0x94, 0x4F, 0x1C, 0x07, 0x65, 0x7F, 0x01, -   0x5C, 0xD7, 0x21, 0x8C, 0xBF, 0x8E, 0xB8, 0x86, -   0x6C, 0x33, 0x36, 0xC1, 0x06, 0x74, 0x37, 0x84, -   0x41, 0xAE, 0x67, 0x29, 0xB4, 0x85, 0xCE, 0x2A, -   0xCB, 0x1E, 0x61, 0x9E, 0x7A, 0x44, 0x3E, 0x89, -   0x14, 0x20, 0x19, 0xBB, 0xE0, 0xAA, 0xCF, 0x83, -   0xA8, 0x93, 0x43, 0xF2, 0xAC, 0x0E, 0xD2, 0xCC, -   0xDD, 0x47, 0x58, 0xC9, 0xCA, 0x1B, 0x54, 0x6E, -   0x8A, 0x79, 0xF8, 0xC4, 0xFB, 0xD5, 0x91, 0xDE, -   0x12, 0x31, 0x99, 0xFA, 0x6D, 0xC8, 0x57, 0xEC, -   0xB7, 0x28, 0x0C, 0x52, 0xF1, 0x0D, 0xB1, 0x9A, -   0x26, 0x98, 0x16, 0x7D, 0xD0, 0x2E, 0x8B, 0xD8, -   0xE6, 0xE8, 0x30, 0xFD, 0x7C, 0x64, 0x5A, 0xBD, -   0x87, 0xE2, 0xA1, 0x3F, 0xC3, 0x38, 0x96, 0xA3, -   0x2D, 0xF3, 0x3A, 0xEE, 0xC0, 0x10, 0xEA, 0x6F, -   0x8D, 0x03, 0xF4, 0x51, 0x97, 0x7E, 0x56, 0x42, -   0x3C, 0x5D, 0x5F, 0xF5, 0x6A, 0xAF, 0xE4, 0xBE, -   0xBA, 0x78, 0xA0, 0x5B, 0x49, 0xA7, 0xC7, 0x9C, -   0x63, 0x6B, 0x00, 0x17, 0x69, 0x75, 0x3B, 0x40, -   0xEF, 0x45, 0xB5, 0x2B, 0x2F, 0x02, 0xC6, 0x22, -   0x9F, 0xFC, 0x73, 0x08, 0x81, 0xB2, 0x2C, 0x71, -   0x35, 0xA2, 0xE3, 0xB3, 0x9D, 0xC5, 0x0A, 0xC2, -   0x25, 0x82, 0xDC, 0x88, 0xA9, 0xE5, 0xF7, 0xEB, -   0xD6, 0x60, 0x76, 0x55, 0x0B, 0x4E, 0xFF, 0x1A, -   0x46, 0x62, 0xB6, 0xB0, 0x15, 0x04, 0x95, 0x4D }; - -static const unsigned char table_30[32] = { -   0x00, 0x1C, 0x0E, 0x0C, 0x06, 0x16, 0x09, 0x12, -   0x01, 0x13, 0x0B, 0x14, 0x11, 0x08, 0x04, 0x18, -   0x10, 0x1B, 0x15, 0x03, 0x02, 0x19, 0x1A, 0x17, -   0x1E, 0x1F, 0x0F, 0x07, 0x0D, 0x05, 0x1D, 0x0A }; - -static const unsigned char table_31[256] = { -   0xDF, 0xD8, 0x3F, 0xBC, 0x5F, 0xC9, 0x8E, 0x4C, -   0x0B, 0x3C, 0xE5, 0xBF, 0x39, 0xD5, 0x30, 0xDD, -   0x23, 0xC7, 0x72, 0x63, 0x1F, 0xF8, 0x96, 0x31, -   0x70, 0xD6, 0x9E, 0xE8, 0x9D, 0xF5, 0xEF, 0x65, -   0xC2, 0x50, 0x62, 0x77, 0xD3, 0x6C, 0x1A, 0x91, -   0xBB, 0xFF, 0xCD, 0x9B, 0xB6, 0xBA, 0xB8, 0x7A, -   0x14, 0xA7, 0x74, 0x89, 0xD4, 0x6E, 0x19, 0x69, -   0xAB, 0x01, 0x15, 0x0E, 0x87, 0x55, 0x79, 0x1C, -   0x18, 0xBE, 0xA8, 0xDB, 0x52, 0xD2, 0x8F, 0x7E, -   0x81, 0xAF, 0xFD, 0x5C, 0x3E, 0x1B, 0xB9, 0xB2, -   0xB7, 0x51, 0x57, 0x8C, 0xCF, 0x5B, 0xA4, 0x75, -   0xDE, 0x22, 0x8B, 0x10, 0x12, 0xC8, 0x35, 0x2D, -   0x45, 0xB5, 0xF0, 0x47, 0x88, 0x16, 0xEB, 0x67, -   0xD9, 0x0C, 0xF1, 0xC1, 0x34, 0x33, 0xC6, 0x78, -   0xB3, 0x26, 0xE3, 0xBD, 0x5D, 0x4E, 0x66, 0xE4, -   0xD7, 0xC4, 0xE6, 0xA1, 0xB0, 0x95, 0x2B, 0x9A, -   0x4A, 0x3A, 0xCB, 0x40, 0xE1, 0x60, 0x49, 0xCC, -   0x03, 0xAC, 0xF4, 0x97, 0x32, 0x0F, 0x38, 0x17, -   0xF9, 0xE0, 0xD1, 0xFB, 0x04, 0x5E, 0x68, 0x06, -   0xAE, 0xFA, 0xAA, 0xED, 0x24, 0x0D, 0x00, 0x61, -   0x20, 0xA3, 0x7B, 0x6B, 0x76, 0x27, 0xEA, 0xCE, -   0x6A, 0x82, 0x9F, 0x6D, 0x9C, 0x64, 0xA2, 0x11, -   0x37, 0x2A, 0xCA, 0x84, 0x25, 0x7C, 0x2F, 0x8D, -   0x90, 0xE7, 0x09, 0x93, 0xF3, 0x43, 0x71, 0xEC, -   0xA9, 0x7D, 0x94, 0xA6, 0x3D, 0x7F, 0x54, 0x44, -   0x99, 0x80, 0x41, 0xC0, 0xA0, 0x8A, 0x1E, 0xDC, -   0x08, 0xD0, 0x2E, 0x42, 0x05, 0x85, 0x86, 0xFE, -   0x3B, 0x59, 0xC3, 0x58, 0x13, 0xB4, 0x36, 0xA5, -   0x73, 0x28, 0x29, 0xDA, 0x4F, 0x1D, 0xB1, 0x53, -   0x46, 0x2C, 0xF2, 0x4D, 0xAD, 0xFC, 0x83, 0x02, -   0x6F, 0x07, 0xE9, 0xEE, 0x21, 0x98, 0x5A, 0xC5, -   0x92, 0x48, 0xF7, 0x0A, 0xF6, 0xE2, 0x4B, 0x56 }; - -static const unsigned char table_32[256] = { -   0x7B, 0x0F, 0x56, 0x2F, 0x1E, 0x2A, 0x7A, 0xD1, -   0x02, 0x91, 0x4E, 0x37, 0x6C, 0x10, 0xA7, 0xF2, -   0x38, 0xAC, 0x9E, 0x2B, 0x5E, 0x23, 0xE3, 0x19, -   0x9B, 0xF6, 0xB0, 0x59, 0x14, 0xB9, 0xA9, 0x46, -   0x84, 0x1D, 0xC0, 0x98, 0xF3, 0xE1, 0xE8, 0x94, -   0x52, 0x35, 0xBA, 0xD8, 0x07, 0xEF, 0x31, 0xF8, -   0x03, 0x76, 0x9C, 0xD7, 0xE4, 0x8B, 0xAF, 0x60, -   0xDD, 0x51, 0x00, 0xDF, 0x11, 0x7F, 0x1C, 0xED, -   0x49, 0xC9, 0xF4, 0x87, 0x64, 0xFC, 0x5D, 0xAD, -   0x88, 0x85, 0xF7, 0x5A, 0x92, 0xDB, 0x72, 0x1A, -   0x83, 0x15, 0x30, 0x24, 0x9F, 0xFF, 0x5B, 0xF1, -   0xD2, 0xFD, 0xC2, 0xB5, 0x25, 0x22, 0x18, 0x3D, -   0xCD, 0x97, 0x8C, 0xCC, 0x78, 0x90, 0xAA, 0x5F, -   0x0A, 0x57, 0x05, 0x61, 0xD4, 0xA0, 0x3A, 0xDE, -   0x3B, 0xF9, 0x65, 0x68, 0x4F, 0x28, 0xFA, 0xEB, -   0x63, 0x2D, 0x8D, 0xD0, 0xA1, 0xFE, 0x12, 0x96, -   0x3C, 0x42, 0x29, 0xD6, 0xA4, 0x34, 0xBD, 0x70, -   0x89, 0xBE, 0xF5, 0x79, 0xAB, 0x8F, 0x32, 0xB4, -   0xEE, 0xE7, 0x2C, 0x04, 0x4B, 0xD5, 0xB1, 0x54, -   0xF0, 0xDA, 0x16, 0x77, 0xA6, 0x53, 0xB2, 0xE2, -   0x73, 0xBF, 0x17, 0xA8, 0x75, 0x26, 0xE0, 0xBC, -   0x0C, 0x71, 0xFB, 0x6D, 0x7E, 0xC5, 0xEA, 0x21, -   0x9D, 0x95, 0x8E, 0xA5, 0x48, 0xB8, 0x7D, 0xCB, -   0x01, 0x99, 0xE5, 0xBB, 0x82, 0xC4, 0xCA, 0xC1, -   0x58, 0x6E, 0x5C, 0x7C, 0xDC, 0x33, 0xB6, 0xC3, -   0x09, 0xC7, 0x1F, 0x0D, 0x43, 0x6F, 0xE9, 0x86, -   0x27, 0xC8, 0x44, 0xB3, 0xD3, 0xCF, 0x08, 0x66, -   0x1B, 0x20, 0x4D, 0xD9, 0xC6, 0x36, 0x40, 0x74, -   0x62, 0x6A, 0x55, 0xEC, 0x06, 0x2E, 0xE6, 0x80, -   0x13, 0x93, 0x50, 0xCE, 0x69, 0x3E, 0x67, 0x4A, -   0x81, 0x4C, 0x0B, 0x3F, 0xB7, 0x0E, 0x39, 0xAE, -   0x47, 0x6B, 0x8A, 0xA2, 0x9A, 0xA3, 0x45, 0x41 }; - -static const unsigned char table_33[256] = { -   0xDE, 0xD3, 0x79, 0x67, 0x13, 0x5C, 0x04, 0xF2, -   0xD9, 0x9F, 0x65, 0x56, 0xCC, 0x3B, 0xA4, 0x9A, -   0x08, 0xBF, 0x26, 0xB2, 0xA7, 0x5E, 0xAA, 0xCA, -   0xBB, 0x2B, 0x38, 0x3F, 0xD8, 0x87, 0xFA, 0x5D, -   0x73, 0x8E, 0x1E, 0x93, 0x05, 0xAF, 0x3E, 0x4E, -   0x90, 0xDB, 0x0B, 0x33, 0x0D, 0x2F, 0x86, 0x4F, -   0xFD, 0xD0, 0x39, 0xB1, 0x8A, 0x1A, 0x20, 0xE6, -   0xCF, 0xA2, 0x82, 0xDF, 0x42, 0x9C, 0x30, 0x40, -   0xE3, 0xB0, 0x88, 0x5A, 0xEC, 0x25, 0xE2, 0xC4, -   0x12, 0x54, 0x50, 0x97, 0x96, 0x21, 0x23, 0x7B, -   0x1D, 0x61, 0x52, 0x34, 0x7D, 0x69, 0x16, 0xC3, -   0x31, 0xF8, 0x48, 0x19, 0x95, 0x01, 0x29, 0x8C, -   0x15, 0xAC, 0x84, 0x74, 0xAB, 0x70, 0xDA, 0x36, -   0xD6, 0x8F, 0xFE, 0x35, 0xD7, 0x2E, 0x89, 0x07, -   0x62, 0x17, 0xDC, 0x92, 0x45, 0x83, 0xB5, 0xE5, -   0x8B, 0xC0, 0x27, 0x85, 0x7C, 0x9D, 0x55, 0x81, -   0x71, 0xCD, 0xC9, 0x00, 0x02, 0xC1, 0x0A, 0x37, -   0xED, 0xEA, 0xC2, 0x98, 0x49, 0x06, 0x1C, 0x78, -   0x64, 0xCE, 0x9E, 0x4C, 0x7A, 0xB4, 0x43, 0x0F, -   0xE0, 0x7E, 0xBC, 0x5B, 0x51, 0xE7, 0x18, 0xF9, -   0x11, 0xA1, 0xF5, 0xC7, 0xCB, 0x4D, 0x6A, 0x0E, -   0x57, 0xF1, 0xFB, 0xB3, 0x99, 0xF0, 0x32, 0xD5, -   0xA9, 0x4B, 0x6F, 0x6D, 0xA8, 0xC5, 0xDD, 0x7F, -   0xEB, 0xBE, 0xFC, 0x2C, 0x22, 0x58, 0x03, 0x9B, -   0x77, 0xF7, 0xBD, 0xBA, 0xD2, 0x6B, 0xAD, 0x5F, -   0x10, 0x6E, 0x09, 0xD1, 0x1B, 0x24, 0xEF, 0x72, -   0x3D, 0x59, 0x28, 0xE1, 0xB7, 0x44, 0x8D, 0xB8, -   0xAE, 0x2D, 0x60, 0xA6, 0xC8, 0x0C, 0xF4, 0x41, -   0xA3, 0x68, 0x46, 0x6C, 0x76, 0xA0, 0xB6, 0x66, -   0xE4, 0x1F, 0x75, 0x4A, 0xFF, 0x2A, 0x94, 0xD4, -   0xF3, 0xE9, 0x91, 0x63, 0xA5, 0xB9, 0xE8, 0x14, -   0x80, 0x3C, 0xEE, 0x47, 0xC6, 0x3A, 0x53, 0xF6 }; - -static const unsigned char table_34[256] = { -   0xF0, 0xE9, 0x3E, 0xD6, 0x89, 0xC8, 0xC7, 0x23, -   0x75, 0x26, 0x5F, 0x9C, 0x57, 0xB8, 0x2A, 0x29, -   0xE5, 0xB5, 0x68, 0xA4, 0x92, 0x46, 0x40, 0x7F, -   0xF2, 0xBC, 0x6A, 0xE0, 0x8F, 0x0F, 0xE4, 0x3A, -   0xE1, 0x30, 0x84, 0x6E, 0x82, 0x8E, 0x56, 0xC5, -   0x32, 0x85, 0xFB, 0x59, 0x43, 0x41, 0xC2, 0xF6, -   0x67, 0x5A, 0x7C, 0x34, 0xA1, 0xD0, 0x4B, 0xAC, -   0x61, 0x72, 0x6B, 0xAF, 0xC4, 0x20, 0x9A, 0xD4, -   0x74, 0x8D, 0x87, 0x83, 0xE2, 0x62, 0x6D, 0xE6, -   0xE7, 0xF9, 0x76, 0xCB, 0x18, 0x90, 0x4F, 0xFF, -   0xD3, 0x3C, 0x08, 0x79, 0x93, 0x2D, 0x95, 0xA3, -   0xDD, 0x5B, 0xDA, 0x7A, 0x39, 0x4D, 0xC1, 0x2E, -   0xCC, 0x53, 0xE8, 0xA2, 0xCF, 0x15, 0x78, 0x1C, -   0xEB, 0x9B, 0x7B, 0xAD, 0x31, 0x2F, 0xE3, 0xC9, -   0x3B, 0xEC, 0x2C, 0x49, 0x02, 0x52, 0x28, 0xBA, -   0x0C, 0x19, 0x24, 0xF7, 0x97, 0x09, 0xA6, 0xA0, -   0xDF, 0xD1, 0xD2, 0xDC, 0x51, 0xA5, 0x94, 0xFD, -   0x71, 0xF5, 0x50, 0x0A, 0x69, 0x25, 0x88, 0x5C, -   0x91, 0xD5, 0x47, 0x0B, 0x27, 0x13, 0x96, 0xD9, -   0xF1, 0xA9, 0x70, 0xC3, 0xBE, 0x42, 0x4E, 0x4A, -   0xB1, 0x07, 0xA7, 0x54, 0xFE, 0x48, 0x9F, 0x63, -   0x17, 0xAE, 0xB9, 0x58, 0x21, 0x35, 0xED, 0x5D, -   0x9D, 0x3D, 0xB4, 0xFC, 0xEA, 0x8C, 0x80, 0xA8, -   0x1E, 0xB0, 0xDE, 0x0D, 0x11, 0x6F, 0x04, 0x12, -   0xF4, 0x10, 0x64, 0x0E, 0xD7, 0x2B, 0xB3, 0x8B, -   0xB7, 0x01, 0x86, 0xCA, 0xFA, 0x9E, 0xEE, 0x66, -   0x37, 0x65, 0x81, 0x38, 0x1F, 0xAA, 0x73, 0xAB, -   0xBD, 0xDB, 0x14, 0xCD, 0x00, 0xBB, 0x98, 0x44, -   0x45, 0xB6, 0x99, 0x5E, 0xD8, 0x1D, 0x36, 0xF8, -   0x55, 0x6C, 0x16, 0x7E, 0x77, 0x3F, 0x22, 0xEF, -   0xF3, 0x7D, 0xC6, 0xCE, 0x8A, 0xB2, 0x33, 0x4C, -   0x03, 0x05, 0xBF, 0x06, 0x1B, 0xC0, 0x1A, 0x60 }; - -static const unsigned char table_35[256] = { -   0xCC, 0x40, 0xEF, 0x1F, 0xDB, 0xE5, 0x71, 0x51, -   0x3B, 0x0F, 0x7D, 0x9C, 0x83, 0x17, 0x6F, 0x8F, -   0x13, 0xDC, 0x7F, 0xA9, 0xA5, 0xA2, 0x9D, 0xDF, -   0xE7, 0x97, 0x2A, 0x30, 0xF2, 0x73, 0xCF, 0x87, -   0x29, 0xB3, 0x86, 0x43, 0x09, 0xB0, 0x2E, 0x10, -   0x8E, 0xBC, 0x57, 0xBA, 0x68, 0xF5, 0xCB, 0x89, -   0x32, 0xC1, 0x6B, 0x1E, 0xAC, 0xB2, 0x2D, 0x6A, -   0x50, 0xEB, 0x18, 0x06, 0xD8, 0xC7, 0x36, 0x31, -   0xC5, 0xAF, 0x12, 0x15, 0xB7, 0x37, 0x4E, 0x01, -   0x14, 0x21, 0x44, 0x5E, 0xF4, 0xB4, 0xE4, 0x65, -   0xFE, 0x8A, 0xEA, 0x0D, 0xBB, 0x45, 0x8B, 0x25, -   0x80, 0x35, 0x61, 0xA8, 0x4A, 0x47, 0xAB, 0x91, -   0x1B, 0x1C, 0x05, 0x4D, 0x5A, 0xD4, 0xF1, 0x9B, -   0x0E, 0x98, 0xCA, 0x96, 0x42, 0x7E, 0x03, 0x5F, -   0xE2, 0x90, 0xBF, 0x82, 0xC9, 0x3D, 0xE0, 0x5C, -   0xFA, 0x3E, 0x41, 0x11, 0x79, 0x58, 0x24, 0x2C, -   0xC0, 0x28, 0x5D, 0xA3, 0xDE, 0x67, 0xFF, 0xA4, -   0x63, 0xB1, 0x22, 0x04, 0xFD, 0x70, 0x39, 0x46, -   0xAA, 0x0A, 0x34, 0x6C, 0xD7, 0x92, 0xA1, 0x3C, -   0x19, 0xD5, 0xFC, 0xAD, 0x85, 0x07, 0x00, 0x23, -   0xF8, 0x69, 0x56, 0x53, 0x55, 0x7A, 0xB8, 0xC8, -   0xDA, 0xCE, 0xF3, 0x5B, 0x49, 0xE1, 0xBE, 0xEC, -   0x1A, 0x88, 0x02, 0xBD, 0xF7, 0x1D, 0x64, 0xA0, -   0x4F, 0xD9, 0xE3, 0x95, 0xC6, 0x48, 0x2B, 0xED, -   0x9A, 0x9E, 0x26, 0x6E, 0xD1, 0x94, 0xB9, 0x93, -   0xDD, 0xF6, 0xA6, 0xFB, 0xC2, 0xB6, 0x0C, 0xE9, -   0x77, 0xF9, 0xCD, 0x08, 0xEE, 0x3F, 0xE6, 0x75, -   0xD6, 0x84, 0x76, 0x8C, 0xF0, 0xAE, 0xD2, 0x78, -   0x2F, 0x4B, 0x16, 0x4C, 0x27, 0x81, 0x6D, 0x99, -   0x38, 0xD3, 0x54, 0x62, 0x74, 0x20, 0x60, 0xC3, -   0x7C, 0x8D, 0x72, 0x0B, 0x52, 0xE8, 0xA7, 0x3A, -   0x59, 0xC4, 0x9F, 0xD0, 0x66, 0x7B, 0x33, 0xB5 }; - -static const unsigned char table_36[256] = { -   0xDB, 0x6F, 0xFE, 0xB3, 0x5C, 0x1F, 0xB8, 0xBF, -   0xA3, 0x71, 0x11, 0x56, 0x90, 0xE2, 0x63, 0x18, -   0x83, 0x51, 0x21, 0xEB, 0x66, 0x08, 0xA6, 0xA5, -   0x1C, 0xF5, 0x14, 0x24, 0x41, 0x33, 0xA7, 0xB5, -   0xC7, 0x79, 0x57, 0x50, 0x85, 0xE1, 0x6D, 0xF7, -   0x0E, 0xDE, 0x67, 0xAB, 0xA1, 0x0B, 0xD9, 0x4A, -   0xCA, 0x36, 0xEA, 0xDA, 0x16, 0xEF, 0x9F, 0x0A, -   0x09, 0x9A, 0x1D, 0xC5, 0xD7, 0x5F, 0x19, 0xDC, -   0x15, 0x06, 0xE8, 0x94, 0x0C, 0x0D, 0xC9, 0x7C, -   0xD6, 0x62, 0xBB, 0x49, 0xF9, 0x61, 0x07, 0x9B, -   0x28, 0xC3, 0x9E, 0xF4, 0x38, 0x78, 0x20, 0x03, -   0xA2, 0x7F, 0xC2, 0x9D, 0x5E, 0x65, 0x52, 0x17, -   0x2E, 0x1B, 0xB0, 0x42, 0xBC, 0xFD, 0xF1, 0xD2, -   0xF6, 0x60, 0xD3, 0x29, 0x97, 0x3D, 0x0F, 0xB1, -   0x2F, 0x22, 0xDD, 0x80, 0x32, 0xF8, 0xAD, 0x70, -   0xB9, 0x8F, 0x37, 0xCE, 0x46, 0x58, 0xB7, 0x30, -   0xED, 0x7A, 0xE9, 0xC0, 0x7D, 0x13, 0x64, 0x23, -   0x4E, 0xC8, 0xF0, 0xCC, 0x3B, 0x45, 0x68, 0x8D, -   0xBE, 0x8B, 0xD8, 0x43, 0x02, 0x27, 0xE4, 0xAA, -   0x10, 0xF2, 0x59, 0x72, 0x40, 0x26, 0x69, 0xE5, -   0x05, 0x84, 0x4F, 0xE0, 0x6B, 0xC1, 0xAC, 0x4C, -   0xFB, 0x31, 0x77, 0x8E, 0xD4, 0x12, 0xA9, 0xB4, -   0xEC, 0x00, 0x76, 0x1E, 0x25, 0xAE, 0xE7, 0x3C, -   0x35, 0x93, 0x9C, 0xC4, 0xFC, 0x2D, 0x91, 0x04, -   0xAF, 0x53, 0x3F, 0xE6, 0xA4, 0xD0, 0x1A, 0xDF, -   0x3A, 0x55, 0x99, 0x01, 0xCB, 0x6C, 0x82, 0x3E, -   0x5D, 0xA8, 0x88, 0x54, 0x5B, 0x95, 0xCD, 0x8C, -   0x81, 0x34, 0xD1, 0x39, 0xFF, 0xEE, 0xFA, 0x8A, -   0x6E, 0x86, 0x92, 0x89, 0xF3, 0x6A, 0xBA, 0x2C, -   0xD5, 0x44, 0xC6, 0x96, 0xBD, 0xB2, 0x2B, 0x87, -   0x74, 0xA0, 0x73, 0x5A, 0x2A, 0x98, 0x75, 0x47, -   0x4B, 0xB6, 0x7B, 0x4D, 0xCF, 0x7E, 0x48, 0xE3 }; - -static const unsigned char table_37[256] = { -   0x1F, 0xD6, 0xB1, 0xB3, 0x40, 0xAD, 0xDE, 0xB7, -   0x19, 0xB4, 0xE7, 0x0B, 0x9C, 0x2D, 0xE0, 0xF5, -   0xCF, 0x2C, 0x30, 0x65, 0x2F, 0xCD, 0x02, 0x91, -   0xCE, 0x2B, 0xBF, 0x78, 0xE6, 0xFA, 0x51, 0x48, -   0xFB, 0x4D, 0xBE, 0x71, 0x1A, 0x56, 0xFD, 0x81, -   0x33, 0x75, 0x89, 0x96, 0x37, 0x82, 0x9E, 0x93, -   0x41, 0x18, 0x5B, 0x2E, 0x22, 0x0F, 0xAF, 0x4B, -   0xB9, 0xD5, 0xEE, 0x6C, 0xE4, 0x05, 0xCC, 0x99, -   0xE5, 0x3B, 0x62, 0xBD, 0x7B, 0xAA, 0x4A, 0xE2, -   0x34, 0x43, 0xF7, 0x39, 0xFE, 0x14, 0x1D, 0xE3, -   0xF0, 0xA7, 0x77, 0xDF, 0xA0, 0xD3, 0xAC, 0xD9, -   0xEA, 0x76, 0xDD, 0xA4, 0xC5, 0xC9, 0x61, 0xF3, -   0xA8, 0xB0, 0x35, 0xE8, 0x68, 0xD4, 0x15, 0xF9, -   0x97, 0xED, 0x25, 0x0A, 0x88, 0x8F, 0x06, 0xA3, -   0x16, 0x36, 0x32, 0xA2, 0xC6, 0x64, 0xD7, 0x94, -   0xD2, 0x6D, 0x74, 0xFC, 0x44, 0x27, 0x5C, 0xFF, -   0x60, 0x1E, 0x58, 0x8B, 0x5E, 0xC7, 0x90, 0x17, -   0x63, 0xAE, 0xC3, 0x12, 0x13, 0x84, 0xEC, 0x49, -   0xA5, 0x9B, 0x31, 0x8D, 0xE1, 0x79, 0xF1, 0x00, -   0x28, 0x3D, 0xC2, 0x55, 0x20, 0x52, 0x95, 0x7E, -   0x42, 0x1C, 0x66, 0x92, 0x7D, 0xB6, 0xC4, 0xF4, -   0x80, 0xB2, 0x72, 0x6E, 0x11, 0xF6, 0x0D, 0x5A, -   0xEF, 0x9D, 0x69, 0x9A, 0x45, 0x67, 0x3F, 0xDA, -   0x8E, 0x57, 0x09, 0x7C, 0x38, 0xA6, 0x83, 0x87, -   0x7A, 0x08, 0x4C, 0x5F, 0x85, 0x7F, 0xD0, 0x04, -   0x50, 0xCB, 0xB8, 0x07, 0x24, 0x26, 0x29, 0x46, -   0x01, 0x03, 0xC1, 0xD8, 0xDC, 0x0E, 0x3C, 0x4F, -   0x53, 0x4E, 0xB5, 0xF8, 0xC0, 0x8A, 0xF2, 0xBB, -   0xE9, 0x5D, 0x2A, 0xBA, 0x0C, 0x1B, 0x3A, 0xA9, -   0x21, 0x6A, 0x70, 0xBC, 0xEB, 0xA1, 0x54, 0x10, -   0x98, 0x9F, 0x23, 0xD1, 0x6B, 0x59, 0x3E, 0xCA, -   0x73, 0xC8, 0x86, 0x47, 0xDB, 0xAB, 0x6F, 0x8C }; - -static const unsigned char table_38[256] = { -   0xAA, 0x8D, 0x37, 0x94, 0x99, 0xDD, 0x70, 0x77, -   0x78, 0xC9, 0x0F, 0xFA, 0xE2, 0x05, 0xC2, 0x16, -   0x02, 0x4D, 0x44, 0x65, 0xAC, 0xB0, 0x39, 0xF8, -   0x06, 0x60, 0xD8, 0xE1, 0x19, 0xB4, 0x36, 0x20, -   0x59, 0x1D, 0xAD, 0xE4, 0xE8, 0xFF, 0x9D, 0x0D, -   0x51, 0x28, 0xE7, 0x8C, 0x0E, 0x97, 0xE3, 0xAE, -   0x6A, 0x27, 0x98, 0xDB, 0x26, 0xF6, 0xEC, 0xC6, -   0xC0, 0xBD, 0x68, 0x61, 0x83, 0x86, 0xE0, 0x2C, -   0xEE, 0x47, 0xF9, 0x5F, 0x6D, 0xBA, 0xE9, 0x72, -   0x8A, 0xBB, 0x08, 0x29, 0xAF, 0x1C, 0xD3, 0x5D, -   0xF7, 0x87, 0x6F, 0x9A, 0x2F, 0x11, 0xD9, 0x90, -   0x66, 0x8E, 0xEB, 0xB1, 0x2E, 0xEA, 0xA3, 0x55, -   0x2B, 0xCC, 0x4C, 0x4B, 0x48, 0x71, 0x3B, 0xFC, -   0xA4, 0x45, 0x0A, 0x8F, 0x7A, 0x13, 0x01, 0x22, -   0xC1, 0xF1, 0xA2, 0xB8, 0x7C, 0xF4, 0xB3, 0xB7, -   0x5B, 0xE5, 0x07, 0x50, 0x7E, 0x18, 0xEF, 0x91, -   0x5C, 0x15, 0x69, 0xBE, 0x0C, 0x93, 0x56, 0x35, -   0x7B, 0xCF, 0x34, 0x74, 0x3E, 0x5E, 0x31, 0x21, -   0x12, 0x63, 0x7F, 0x2A, 0x9B, 0xD4, 0x6B, 0xBC, -   0x33, 0x62, 0x30, 0x75, 0x17, 0x23, 0xB2, 0xF0, -   0x57, 0x67, 0x95, 0x3D, 0xCD, 0x10, 0xE6, 0xC8, -   0x8B, 0xA9, 0x73, 0xC4, 0x43, 0xBF, 0xA7, 0xCA, -   0xB5, 0xD5, 0xD6, 0x3F, 0x1A, 0x7D, 0x82, 0xA8, -   0x40, 0x64, 0xAB, 0x04, 0xC3, 0x1F, 0xA0, 0x5A, -   0x85, 0xF3, 0xDE, 0xFE, 0xDA, 0x1E, 0x81, 0x92, -   0x9C, 0x2D, 0x9F, 0x32, 0xB9, 0xA1, 0x96, 0xD0, -   0x4F, 0x38, 0x80, 0xCB, 0x6C, 0x14, 0x84, 0x1B, -   0xD7, 0xC5, 0xED, 0xD2, 0x3A, 0x0B, 0x88, 0xFD, -   0xDC, 0x49, 0x9E, 0xF5, 0xF2, 0x52, 0xA6, 0x24, -   0xC7, 0xB6, 0x03, 0x3C, 0xD1, 0x54, 0x41, 0xDF, -   0x89, 0x58, 0x79, 0xFB, 0x6E, 0xA5, 0x42, 0x25, -   0x09, 0x76, 0x00, 0x46, 0x4E, 0x53, 0xCE, 0x4A }; - -static const unsigned char table_39[32] = { -   0x12, 0x18, 0x0E, 0x08, 0x16, 0x05, 0x06, 0x00, -   0x11, 0x17, 0x15, 0x1B, 0x14, 0x01, 0x1F, 0x19, -   0x04, 0x0D, 0x0A, 0x0F, 0x10, 0x07, 0x1D, 0x03, -   0x0B, 0x13, 0x0C, 0x09, 0x1E, 0x02, 0x1A, 0x1C }; - -static const unsigned char table_40[32] = { -   0x16, 0x02, 0x06, 0x0E, 0x0D, 0x1C, 0x08, 0x0A, -   0x0F, 0x13, 0x0B, 0x18, 0x07, 0x04, 0x14, 0x01, -   0x1B, 0x05, 0x17, 0x1E, 0x11, 0x1A, 0x10, 0x1F, -   0x12, 0x19, 0x1D, 0x03, 0x0C, 0x00, 0x09, 0x15 }; - -static const unsigned char table_41[32] = { -   0x13, 0x18, 0x04, 0x1F, 0x1D, 0x11, 0x03, 0x00, -   0x10, 0x12, 0x06, 0x0A, 0x1C, 0x07, 0x15, 0x0E, -   0x08, 0x05, 0x0C, 0x09, 0x01, 0x02, 0x16, 0x0B, -   0x1A, 0x17, 0x14, 0x1E, 0x0D, 0x0F, 0x19, 0x1B }; - -static const unsigned char table_42[32] = { -   0x00, 0x08, 0x15, 0x1D, 0x05, 0x18, 0x06, 0x07, -   0x1F, 0x01, 0x0B, 0x03, 0x19, 0x13, 0x02, 0x1C, -   0x17, 0x11, 0x0E, 0x1E, 0x0C, 0x0F, 0x09, 0x1A, -   0x1B, 0x16, 0x10, 0x0D, 0x0A, 0x14, 0x12, 0x04 }; - -static const unsigned char table_43[256] = { -   0x34, 0xB7, 0x36, 0x85, 0x5F, 0x93, 0x98, 0x70, -   0x1E, 0x59, 0x83, 0x60, 0x6F, 0xBF, 0xF9, 0xD0, -   0xB3, 0x22, 0x12, 0x38, 0xF5, 0x01, 0xC9, 0x5B, -   0xEF, 0x1D, 0x81, 0x64, 0xFA, 0x8F, 0x7F, 0xBC, -   0x05, 0x08, 0xE0, 0x8B, 0xE8, 0x86, 0x95, 0xCB, -   0xCA, 0x5A, 0xEB, 0x10, 0x92, 0xE2, 0x7E, 0x28, -   0xD9, 0xC7, 0x0D, 0x24, 0xA7, 0x02, 0x0B, 0xF1, -   0x7B, 0xD3, 0xFE, 0x2B, 0x89, 0x0E, 0xAE, 0xAD, -   0xC8, 0x82, 0x79, 0x43, 0x96, 0xDE, 0x0C, 0x9A, -   0x57, 0x84, 0xB4, 0x19, 0xF8, 0xF0, 0xAF, 0xBE, -   0x99, 0x9F, 0x46, 0xE4, 0x31, 0xDF, 0x30, 0x51, -   0xD4, 0xE5, 0xFC, 0x32, 0x04, 0x56, 0x7D, 0x33, -   0xF7, 0x18, 0x23, 0x4E, 0xC2, 0x7C, 0x6C, 0xD2, -   0xB1, 0x9B, 0x40, 0xA2, 0x88, 0x00, 0xA1, 0xAB, -   0xC6, 0x5C, 0x87, 0x3B, 0xD7, 0x27, 0x2E, 0x45, -   0xDA, 0x8E, 0x61, 0x5E, 0xFB, 0x09, 0x5D, 0x6B, -   0xA3, 0x29, 0x4F, 0xAC, 0xD1, 0x77, 0x4A, 0xA9, -   0xC4, 0x7A, 0x15, 0xD8, 0xAA, 0x17, 0xB9, 0x2D, -   0xE7, 0xBD, 0x2C, 0x62, 0x2F, 0xB2, 0xED, 0x3F, -   0x48, 0x26, 0x1B, 0x35, 0x20, 0x72, 0x4D, 0xFF, -   0xBB, 0x78, 0x1F, 0xCC, 0xEC, 0xA8, 0x9D, 0x90, -   0x4B, 0x13, 0xE1, 0xBA, 0xF3, 0x3C, 0x42, 0x65, -   0x14, 0xDD, 0x75, 0xE3, 0x4C, 0x74, 0x94, 0xCD, -   0xF2, 0x66, 0x06, 0xE9, 0x49, 0xB8, 0x71, 0x41, -   0xA0, 0x25, 0x55, 0x47, 0x97, 0x9E, 0x11, 0x54, -   0x1A, 0xB0, 0x3E, 0x37, 0x39, 0x1C, 0x8D, 0x03, -   0x6E, 0xF6, 0x80, 0x6D, 0x8C, 0x9C, 0xB6, 0xCF, -   0xC3, 0x91, 0x63, 0xC0, 0x07, 0x67, 0xE6, 0xF4, -   0xCE, 0x3D, 0xDB, 0x16, 0xFD, 0xEA, 0xD6, 0x68, -   0xD5, 0xA6, 0x0F, 0x58, 0x44, 0x52, 0xB5, 0xDC, -   0x0A, 0x69, 0xC5, 0xA5, 0xC1, 0x8A, 0x2A, 0xEE, -   0x73, 0x76, 0x3A, 0x21, 0x53, 0xA4, 0x50, 0x6A }; - -static const unsigned char table_44[32] = { -   0x1A, 0x0E, 0x0A, 0x17, 0x1F, 0x08, 0x10, 0x14, -   0x0C, 0x0F, 0x09, 0x1C, 0x06, 0x18, 0x1E, 0x12, -   0x15, 0x00, 0x11, 0x13, 0x0D, 0x01, 0x0B, 0x03, -   0x16, 0x19, 0x05, 0x1D, 0x02, 0x07, 0x04, 0x1B }; - -static const unsigned char table_45[256] = { -   0x5E, 0xD6, 0xE2, 0x54, 0x35, 0xC2, 0xAC, 0x9D, -   0x92, 0x64, 0x57, 0x65, 0xC8, 0xAE, 0x21, 0xA9, -   0x89, 0x48, 0x12, 0x59, 0xEC, 0xEF, 0x9F, 0xF7, -   0x19, 0x03, 0x83, 0xC0, 0x79, 0x5D, 0x4A, 0x10, -   0x8C, 0xEB, 0xFF, 0xB5, 0x3B, 0x51, 0x2D, 0xD1, -   0x6B, 0xC5, 0x24, 0x5C, 0xE6, 0x11, 0x94, 0x3F, -   0xD0, 0x2F, 0x0E, 0x95, 0x3C, 0xFE, 0x5B, 0x20, -   0x23, 0xE0, 0x91, 0x6F, 0xCA, 0x56, 0x0C, 0x73, -   0xDA, 0x67, 0x37, 0xA3, 0xA5, 0x70, 0x93, 0x1C, -   0x18, 0xD9, 0x42, 0x5F, 0x44, 0xF0, 0xF2, 0x14, -   0x58, 0x8A, 0x1D, 0x40, 0x4E, 0x0B, 0x74, 0x84, -   0x52, 0xCB, 0x60, 0xED, 0xAD, 0x66, 0x43, 0x6C, -   0x81, 0xA1, 0x27, 0xB9, 0xBA, 0x4D, 0xF5, 0x04, -   0xB8, 0x96, 0xA6, 0xA2, 0x7D, 0xD4, 0xEA, 0x45, -   0x4F, 0x55, 0xD3, 0x3E, 0x8E, 0x4C, 0xBF, 0x8B, -   0x9A, 0x06, 0x7A, 0xF4, 0x02, 0x88, 0x80, 0x22, -   0xF3, 0xBD, 0x78, 0xEE, 0xAF, 0xF8, 0x15, 0x09, -   0x0F, 0xB0, 0xDD, 0x99, 0x72, 0xE7, 0x90, 0xE1, -   0x25, 0x62, 0x8D, 0x9C, 0x13, 0x08, 0xC9, 0x28, -   0x2A, 0x47, 0x69, 0xDE, 0x77, 0x87, 0xBB, 0xE9, -   0xAA, 0x33, 0x05, 0x29, 0x34, 0x97, 0xFD, 0xA0, -   0x1E, 0xFC, 0xBE, 0xB1, 0x71, 0x9B, 0x50, 0xDC, -   0xB7, 0x31, 0x63, 0x3A, 0xDF, 0xC3, 0x1B, 0x7C, -   0x0A, 0xD7, 0xF6, 0xDB, 0x49, 0x53, 0x7F, 0xD2, -   0x30, 0xA4, 0xB3, 0x6E, 0xB2, 0x6D, 0xCD, 0x7E, -   0x26, 0xE8, 0x76, 0xCF, 0xE5, 0xCE, 0x16, 0xF1, -   0xC6, 0x68, 0x36, 0x46, 0x1F, 0x38, 0x0D, 0x41, -   0x17, 0xBC, 0x86, 0x9E, 0x6A, 0x7B, 0xB4, 0x01, -   0xCC, 0x2C, 0xE3, 0x5A, 0xB6, 0xFA, 0x00, 0x75, -   0x39, 0xA7, 0xC1, 0xD5, 0x98, 0xAB, 0x1A, 0x85, -   0xD8, 0xE4, 0xC4, 0xA8, 0x4B, 0x61, 0x2E, 0x3D, -   0xF9, 0x2B, 0x32, 0x8F, 0xFB, 0xC7, 0x07, 0x82 }; - -static const unsigned char table_46[256] = { -   0x85, 0x78, 0xFE, 0x6C, 0x61, 0xA0, 0x71, 0xCC, -   0x45, 0x54, 0x7A, 0xE6, 0x82, 0x1D, 0xA6, 0x02, -   0x47, 0xD0, 0x23, 0x55, 0x62, 0xFA, 0x76, 0x3E, -   0xE3, 0x66, 0x74, 0x10, 0x5D, 0x49, 0x69, 0x0B, -   0x75, 0x12, 0x8D, 0x9F, 0xEE, 0x93, 0x50, 0x70, -   0x32, 0xBC, 0x1E, 0xD3, 0xEF, 0x7B, 0xB4, 0x92, -   0xFD, 0x16, 0xC2, 0xD8, 0xDE, 0x68, 0xD1, 0x64, -   0xC3, 0xA3, 0xB3, 0xC9, 0x08, 0xFB, 0x84, 0xC1, -   0x28, 0x53, 0xCF, 0xD2, 0x35, 0xD7, 0x4A, 0x01, -   0x44, 0xA4, 0x07, 0xAC, 0x98, 0xF1, 0xB2, 0x9A, -   0x94, 0x2D, 0xD4, 0x34, 0x27, 0x60, 0x1A, 0xB9, -   0xAF, 0x89, 0xEB, 0x8F, 0x6A, 0x13, 0x05, 0xF0, -   0x77, 0x5F, 0x4F, 0x58, 0x2C, 0xE7, 0xCE, 0xED, -   0xC0, 0x0D, 0x3A, 0xA7, 0xE2, 0x38, 0x5B, 0xE9, -   0x3D, 0xF2, 0xDF, 0x86, 0xE0, 0x72, 0xF7, 0x88, -   0xAD, 0xB7, 0x11, 0xDB, 0x73, 0x87, 0xC5, 0x22, -   0xE1, 0x5C, 0xD6, 0x57, 0x7E, 0x7D, 0xA2, 0xF9, -   0xF5, 0x9C, 0x25, 0x6F, 0x26, 0x51, 0xC8, 0x80, -   0x2B, 0xA8, 0x19, 0xD9, 0x65, 0xCD, 0x97, 0xEA, -   0xFF, 0x5E, 0x24, 0x3B, 0x4D, 0xB1, 0x1C, 0x79, -   0x39, 0x6B, 0xA5, 0x2A, 0x09, 0xCA, 0x04, 0xEC, -   0xBA, 0x18, 0x31, 0x46, 0x20, 0xBE, 0x1F, 0x3C, -   0x6D, 0xAA, 0xF6, 0xDD, 0xF4, 0x96, 0x03, 0x0A, -   0x9E, 0x83, 0xA1, 0x9D, 0xD5, 0xB0, 0x17, 0xBF, -   0x56, 0xAB, 0xAE, 0x1B, 0x52, 0xC6, 0x81, 0x4B, -   0xDC, 0x90, 0x5A, 0x9B, 0xB6, 0x0F, 0xF3, 0x67, -   0x30, 0x63, 0x7C, 0x40, 0x0E, 0x7F, 0x95, 0x36, -   0xC4, 0x4E, 0x43, 0xCB, 0x15, 0xB8, 0x00, 0x91, -   0x8A, 0x4C, 0x8E, 0x14, 0x06, 0x6E, 0xA9, 0x2E, -   0x3F, 0x48, 0x2F, 0x0C, 0xB5, 0x21, 0xBB, 0xDA, -   0x8B, 0x42, 0x29, 0x8C, 0x33, 0x59, 0xE8, 0xF8, -   0xC7, 0xE4, 0x37, 0xE5, 0xFC, 0xBD, 0x99, 0x41 }; - -static const unsigned char table_47[32] = { -   0x18, 0x1D, 0x16, 0x10, 0x11, 0x04, 0x1E, 0x08, -   0x19, 0x0E, 0x0F, 0x02, 0x14, 0x1C, 0x07, 0x17, -   0x0D, 0x09, 0x12, 0x1A, 0x05, 0x01, 0x0B, 0x0A, -   0x13, 0x15, 0x0C, 0x00, 0x06, 0x1F, 0x03, 0x1B }; - -static const unsigned char table_48[32] = { -   0x13, 0x08, 0x15, 0x01, 0x17, 0x10, 0x0F, 0x1F, -   0x1D, 0x0D, 0x12, 0x03, 0x06, 0x0A, 0x1C, 0x19, -   0x1A, 0x04, 0x1B, 0x02, 0x16, 0x1E, 0x11, 0x00, -   0x14, 0x09, 0x0C, 0x18, 0x05, 0x07, 0x0E, 0x0B }; - -static const unsigned char table_49[32] = { -   0x1F, 0x0F, 0x19, 0x07, 0x18, 0x05, 0x1E, 0x1D, -   0x15, 0x08, 0x17, 0x10, 0x0A, 0x0E, 0x0C, 0x1B, -   0x02, 0x13, 0x03, 0x0D, 0x04, 0x1A, 0x06, 0x09, -   0x12, 0x1C, 0x0B, 0x16, 0x14, 0x01, 0x11, 0x00 }; - -static const unsigned char table_50[32] = { -   0x16, 0x18, 0x1C, 0x0E, 0x12, 0x00, 0x04, 0x1B, -   0x1F, 0x13, 0x17, 0x0A, 0x1E, 0x03, 0x0C, 0x01, -   0x0F, 0x10, 0x02, 0x08, 0x14, 0x09, 0x19, 0x15, -   0x06, 0x0D, 0x0B, 0x1D, 0x05, 0x07, 0x11, 0x1A }; - -static const unsigned char table_51[32] = { -   0x1C, 0x0D, 0x1B, 0x07, 0x17, 0x0E, 0x06, 0x01, -   0x12, 0x19, 0x03, 0x0B, 0x10, 0x08, 0x00, 0x1E, -   0x0A, 0x04, 0x1A, 0x1D, 0x0C, 0x18, 0x02, 0x13, -   0x0F, 0x11, 0x05, 0x09, 0x15, 0x16, 0x1F, 0x14 }; - -static const unsigned char table_52[256] = { -   0x34, 0x0B, 0x47, 0xA3, 0x56, 0x30, 0x73, 0xD4, -   0x4B, 0xF6, 0xA6, 0x80, 0x22, 0x95, 0xA5, 0xBB, -   0xFE, 0xCD, 0x27, 0x88, 0x87, 0x18, 0x86, 0x6E, -   0xB9, 0x07, 0x37, 0x52, 0x0A, 0x28, 0x2C, 0xC4, -   0x75, 0xA1, 0x29, 0x54, 0x84, 0x08, 0x72, 0x51, -   0xDD, 0xF1, 0x4E, 0x1A, 0x90, 0x57, 0x20, 0xAD, -   0x68, 0x61, 0xAF, 0x50, 0x6B, 0x1B, 0x71, 0xEB, -   0x63, 0xC9, 0xB0, 0x58, 0x26, 0x40, 0xC7, 0xD9, -   0x70, 0xA2, 0x9A, 0x09, 0x3F, 0x92, 0x0D, 0x8C, -   0xC1, 0x96, 0x9F, 0x77, 0x4D, 0x5A, 0xEA, 0x11, -   0xD7, 0xF3, 0x33, 0x93, 0x10, 0xF2, 0x9D, 0x83, -   0xFF, 0x7E, 0xD2, 0x41, 0x24, 0xB4, 0x8D, 0x5C, -   0xCF, 0xEF, 0xE9, 0x64, 0x76, 0xD1, 0xDE, 0xE4, -   0x91, 0x35, 0x89, 0x19, 0x02, 0x0E, 0xF4, 0x2A, -   0x0F, 0xE1, 0xA8, 0x2D, 0x21, 0x23, 0xAA, 0x7C, -   0x78, 0x45, 0xA9, 0xDC, 0x06, 0xF9, 0xDF, 0xF7, -   0x03, 0xAB, 0xB5, 0x1C, 0x36, 0x7B, 0x97, 0xFA, -   0xE5, 0x3B, 0x2F, 0x1F, 0x9E, 0xED, 0xA7, 0x55, -   0x42, 0x6F, 0x1E, 0xB7, 0xE6, 0xFB, 0x12, 0xD5, -   0x99, 0xC6, 0x66, 0x4A, 0xE8, 0x48, 0x60, 0xB1, -   0x05, 0x53, 0x8A, 0xB6, 0x25, 0x8F, 0xA4, 0xD8, -   0x9C, 0xC0, 0x59, 0x3A, 0xBD, 0xDB, 0x44, 0x5E, -   0xE3, 0xDA, 0x1D, 0x32, 0xF5, 0xBA, 0x43, 0x13, -   0x82, 0x4C, 0xE7, 0x17, 0x15, 0x3E, 0x69, 0x2E, -   0xC3, 0xF0, 0x5F, 0xFD, 0xCE, 0xD3, 0xCA, 0x39, -   0xD6, 0x79, 0x3D, 0xC8, 0x67, 0x8B, 0x31, 0x4F, -   0xB3, 0xBC, 0x65, 0x00, 0x7A, 0x98, 0xC5, 0x6C, -   0x2B, 0x94, 0x6D, 0x74, 0x14, 0xAC, 0xCC, 0xA0, -   0x5B, 0xF8, 0xCB, 0x7F, 0xB2, 0xEC, 0xBF, 0x3C, -   0xE0, 0xAE, 0xFC, 0x62, 0x04, 0x8E, 0x85, 0x49, -   0x9B, 0xC2, 0x38, 0xD0, 0xEE, 0x81, 0x46, 0xE2, -   0x01, 0x0C, 0x5D, 0x7D, 0xB8, 0xBE, 0x6A, 0x16 }; - -static const unsigned char table_53[256] = { -   0xE3, 0xF4, 0x8D, 0x72, 0x45, 0x32, 0x9D, 0xCE, -   0x1F, 0x6B, 0xBC, 0xDC, 0xF1, 0xEC, 0x5A, 0x3B, -   0xA5, 0xA2, 0x2B, 0xDD, 0x8A, 0xA3, 0x76, 0xE4, -   0xAF, 0xE9, 0xE1, 0x21, 0xDB, 0x9F, 0x19, 0xD3, -   0x26, 0x80, 0x15, 0xC2, 0x46, 0xB8, 0x17, 0x56, -   0x99, 0x81, 0x08, 0xD7, 0xEF, 0x8E, 0x04, 0x05, -   0x97, 0x2F, 0x78, 0xAD, 0xA1, 0x52, 0x36, 0x58, -   0x53, 0x68, 0x22, 0x70, 0x0B, 0x79, 0xE6, 0xFA, -   0xC3, 0x91, 0xE2, 0xF7, 0xF6, 0x75, 0x2D, 0x0A, -   0x90, 0xEB, 0xA6, 0x35, 0xA7, 0x10, 0xB5, 0xFB, -   0xE7, 0xAA, 0x1E, 0x43, 0xBB, 0x3C, 0x65, 0x25, -   0x2C, 0x59, 0x62, 0x2A, 0xF9, 0x4B, 0x95, 0x5E, -   0x20, 0x11, 0x42, 0x27, 0x44, 0xE8, 0x14, 0x6F, -   0xD1, 0xD8, 0x00, 0x3A, 0x5B, 0x18, 0x89, 0x02, -   0x61, 0xD6, 0xC5, 0x98, 0xD0, 0x5F, 0x34, 0x29, -   0xFD, 0x31, 0x1A, 0xCD, 0x0F, 0x9E, 0xCA, 0x7B, -   0xEA, 0x93, 0x71, 0x5C, 0x0E, 0x57, 0x33, 0xC4, -   0x37, 0xF5, 0x83, 0xB0, 0xDF, 0x49, 0x74, 0x54, -   0x1D, 0x24, 0xB9, 0x16, 0x1C, 0x28, 0xDE, 0x4A, -   0xF0, 0x01, 0x86, 0x82, 0xCC, 0x12, 0x8C, 0x06, -   0x30, 0xA8, 0x7A, 0x73, 0x66, 0x7C, 0xC6, 0xB6, -   0xF2, 0x13, 0xBF, 0x40, 0x85, 0x77, 0x09, 0x3D, -   0x67, 0x63, 0x3F, 0x7F, 0xF3, 0x87, 0x8F, 0xFF, -   0x92, 0xC7, 0x4C, 0x23, 0xBA, 0xCB, 0xB1, 0xED, -   0x0C, 0x60, 0x47, 0xFE, 0x38, 0x5D, 0xCF, 0x8B, -   0x4D, 0xA9, 0x2E, 0xE5, 0xA4, 0x1B, 0x88, 0x3E, -   0x7D, 0xF8, 0xC0, 0xD5, 0x6D, 0x6C, 0x48, 0xAC, -   0x9B, 0x51, 0x7E, 0x6E, 0x50, 0x0D, 0x9A, 0xB3, -   0xEE, 0x07, 0x4F, 0x69, 0x9C, 0x03, 0xD9, 0xD4, -   0xB4, 0xD2, 0xAE, 0x4E, 0x55, 0xB7, 0xC9, 0x41, -   0x39, 0x6A, 0xC8, 0xA0, 0xB2, 0xC1, 0x84, 0xFC, -   0xAB, 0x64, 0xE0, 0xBE, 0xDA, 0xBD, 0x96, 0x94 }; - -static const unsigned char table_54[32] = { -   0x01, 0x02, 0x1D, 0x10, 0x0E, 0x11, 0x08, 0x14, -   0x12, 0x09, 0x15, 0x17, 0x16, 0x04, 0x06, 0x1B, -   0x07, 0x1A, 0x18, 0x13, 0x0A, 0x1E, 0x1C, 0x1F, -   0x0C, 0x0B, 0x0D, 0x05, 0x0F, 0x00, 0x19, 0x03 }; - -static const unsigned char table_55[32] = { -   0x01, 0x12, 0x13, 0x09, 0x0B, 0x19, 0x03, 0x0E, -   0x02, 0x1F, 0x1D, 0x1B, 0x1E, 0x11, 0x06, 0x05, -   0x00, 0x16, 0x07, 0x0C, 0x15, 0x0D, 0x1A, 0x08, -   0x18, 0x10, 0x0F, 0x17, 0x1C, 0x0A, 0x04, 0x14 }; - -static const unsigned char table_56[256] = { -   0xEF, 0x06, 0x5F, 0x11, 0x4B, 0x60, 0x13, 0xBB, -   0x79, 0xD7, 0xE4, 0x6D, 0x22, 0xB4, 0x15, 0x50, -   0x29, 0x17, 0xD2, 0xE3, 0x37, 0x8C, 0x46, 0x7C, -   0xA2, 0xF5, 0x65, 0x16, 0xCB, 0x04, 0x3E, 0xDF, -   0x8E, 0xDE, 0x53, 0xF1, 0xF4, 0xD1, 0x3B, 0xEE, -   0x9A, 0x09, 0x9B, 0x6C, 0xF6, 0xCC, 0xFB, 0x40, -   0xE0, 0xFD, 0x2B, 0x1D, 0x73, 0x18, 0xCD, 0x31, -   0x3F, 0x9E, 0xAD, 0xC9, 0x43, 0x4E, 0x99, 0x3A, -   0x8F, 0x92, 0x85, 0xFC, 0x12, 0x41, 0x20, 0xE8, -   0x2A, 0xC0, 0x1C, 0x38, 0x74, 0x0B, 0xF3, 0x05, -   0x0D, 0x1F, 0x94, 0x9C, 0xAC, 0x00, 0x59, 0x0C, -   0xB3, 0x8D, 0xA8, 0x75, 0xB7, 0x68, 0x2F, 0x27, -   0x6F, 0x69, 0x76, 0xD8, 0xEC, 0xA5, 0xB2, 0x6A, -   0x19, 0x72, 0x1A, 0xB6, 0xE5, 0x77, 0xC6, 0x44, -   0x9D, 0xCA, 0x82, 0x35, 0x36, 0x5E, 0xA9, 0x25, -   0xFA, 0x5C, 0x24, 0x30, 0x39, 0x0E, 0x2C, 0x7D, -   0xE6, 0x88, 0xA0, 0x63, 0xB8, 0x6B, 0x01, 0xDD, -   0xDA, 0x9F, 0x45, 0x83, 0xE2, 0x7F, 0x1B, 0x56, -   0xAF, 0x14, 0xC3, 0x49, 0xBF, 0x78, 0x70, 0x58, -   0x23, 0xA3, 0xBD, 0x34, 0x47, 0x2D, 0x0A, 0xD4, -   0x33, 0x03, 0x1E, 0xC1, 0x87, 0xAE, 0x3C, 0x95, -   0xB0, 0x42, 0x91, 0xB9, 0x5A, 0x61, 0xAA, 0xCF, -   0xF2, 0x51, 0xA6, 0xF8, 0xDC, 0x71, 0xAB, 0x48, -   0x66, 0x90, 0x97, 0xC4, 0x08, 0xF9, 0xD0, 0x7B, -   0xDB, 0xBA, 0x8B, 0xC2, 0xC5, 0x2E, 0xF7, 0x5B, -   0xFF, 0x21, 0x81, 0x54, 0xD3, 0x62, 0x57, 0x4C, -   0x6E, 0x02, 0x98, 0xFE, 0x7E, 0xE7, 0xBC, 0x07, -   0x28, 0x5D, 0x86, 0xCE, 0xEA, 0x84, 0xF0, 0xE1, -   0x93, 0x80, 0xE9, 0xC7, 0x4A, 0xED, 0xB1, 0x26, -   0x89, 0x3D, 0x4F, 0xA7, 0xA1, 0xD6, 0xB5, 0x4D, -   0x67, 0xA4, 0x55, 0x10, 0x0F, 0xD9, 0x52, 0x32, -   0x96, 0xD5, 0xEB, 0x64, 0x8A, 0xC8, 0x7A, 0xBE }; - -static const unsigned char table_57[256] = { -   0xD1, 0x9B, 0x15, 0x06, 0xB4, 0xF6, 0x97, 0xF0, -   0xC6, 0x5B, 0x88, 0x12, 0x25, 0xFA, 0x7B, 0x79, -   0xD6, 0xAB, 0xDC, 0x47, 0x85, 0x61, 0x67, 0x0B, -   0xF3, 0x20, 0x44, 0x53, 0x2A, 0x3B, 0x2D, 0xE8, -   0x17, 0x71, 0xC3, 0xB7, 0x7F, 0x35, 0xEB, 0x10, -   0x03, 0x0D, 0x60, 0x96, 0x27, 0xBB, 0x39, 0x50, -   0x95, 0x55, 0xCC, 0xD4, 0x2F, 0x51, 0xB3, 0x05, -   0xA5, 0xAD, 0xBC, 0x18, 0xE2, 0xAE, 0x07, 0x87, -   0xC4, 0x8D, 0xBE, 0x77, 0xC2, 0x16, 0xFC, 0x33, -   0x4C, 0x4F, 0xE6, 0xA6, 0x57, 0x9F, 0x37, 0x91, -   0xED, 0x4A, 0xF7, 0xB5, 0x52, 0x7C, 0xBD, 0x30, -   0xA0, 0x2C, 0x8C, 0xB0, 0x0C, 0xDA, 0x6F, 0x9E, -   0xEE, 0x43, 0x40, 0x8F, 0x8B, 0x76, 0xA4, 0x68, -   0xFF, 0x6D, 0x58, 0xC9, 0xF9, 0x6E, 0x3F, 0x56, -   0xCA, 0x49, 0xC8, 0x5D, 0xCD, 0xC7, 0x99, 0xEC, -   0x72, 0x38, 0x0A, 0xA9, 0xC5, 0x04, 0x64, 0xBF, -   0xB6, 0x29, 0x80, 0x2E, 0x19, 0x0E, 0x82, 0x45, -   0xBA, 0xD7, 0x1E, 0x86, 0xA8, 0xD8, 0x24, 0xDB, -   0xCF, 0xE1, 0x54, 0xB2, 0x3E, 0x4D, 0x90, 0x42, -   0x5F, 0x59, 0x0F, 0xCE, 0x8E, 0xA2, 0xA7, 0x1D, -   0x22, 0xFD, 0x81, 0x63, 0xE5, 0x6A, 0xE7, 0x93, -   0x41, 0x46, 0x66, 0x89, 0x13, 0xEA, 0x69, 0x1C, -   0x83, 0xF2, 0x08, 0xB8, 0x01, 0x23, 0x26, 0xFB, -   0x78, 0xAA, 0x31, 0x11, 0x1B, 0x98, 0xDD, 0xAC, -   0xB9, 0xFE, 0x94, 0x74, 0xAF, 0x32, 0xD0, 0x5A, -   0xA1, 0xF4, 0x6B, 0x8A, 0xE3, 0x65, 0xDE, 0xCB, -   0x73, 0x3D, 0xA3, 0x7E, 0xDF, 0xD2, 0x6C, 0x7A, -   0x36, 0xD9, 0x62, 0x4B, 0xEF, 0xC1, 0x1F, 0x00, -   0x34, 0xB1, 0xF8, 0xE4, 0xD5, 0x09, 0x1A, 0x9A, -   0x70, 0x48, 0x9D, 0xF1, 0xE0, 0x9C, 0xD3, 0x5C, -   0x75, 0x02, 0x2B, 0x92, 0x21, 0x7D, 0xF5, 0x5E, -   0x4E, 0x3C, 0x84, 0x14, 0x28, 0x3A, 0xE9, 0xC0 }; - -static const unsigned char table_58[256] = { -   0xE9, 0x81, 0x60, 0xA7, 0x18, 0xA0, 0x0F, 0x55, -   0x2B, 0x52, 0xE0, 0x8B, 0x9D, 0x85, 0xD2, 0xA3, -   0x3F, 0x6E, 0xB1, 0xAF, 0xE3, 0x36, 0xE2, 0x19, -   0x56, 0xB0, 0x09, 0xB5, 0x79, 0x43, 0xE1, 0x06, -   0x45, 0xB6, 0xC0, 0x22, 0xEE, 0x41, 0xEC, 0x01, -   0x66, 0x2D, 0x87, 0x38, 0x16, 0x37, 0xFA, 0x29, -   0x96, 0xA4, 0xC3, 0x23, 0x59, 0x7E, 0x92, 0x78, -   0x10, 0x2A, 0x4C, 0x0E, 0x9B, 0x4A, 0x35, 0xF4, -   0x42, 0x0C, 0xD8, 0xD7, 0x24, 0x2C, 0xDD, 0x8E, -   0x5B, 0xF5, 0x33, 0x48, 0xEF, 0xDE, 0x4B, 0xBC, -   0x51, 0xAB, 0x7C, 0xE4, 0x63, 0x70, 0x9A, 0xAC, -   0x54, 0x1D, 0x25, 0xC5, 0xEA, 0xB3, 0x05, 0xF7, -   0xC1, 0x1F, 0xE8, 0x97, 0xBB, 0x32, 0x6D, 0xC7, -   0x28, 0x61, 0xDB, 0x4D, 0x77, 0x72, 0x65, 0x8C, -   0x80, 0x3A, 0x76, 0x47, 0xA8, 0x03, 0x04, 0x12, -   0xCE, 0xA9, 0x75, 0x3C, 0x49, 0xF8, 0x64, 0xDF, -   0x57, 0xA2, 0x69, 0x44, 0xAD, 0x3E, 0x4F, 0x0B, -   0x74, 0x67, 0xC9, 0x1A, 0x17, 0xAA, 0x02, 0x6F, -   0xDA, 0xF2, 0xC6, 0x27, 0x53, 0xD6, 0xFD, 0xCA, -   0x8D, 0x93, 0x89, 0xD5, 0x6B, 0x4E, 0x90, 0x82, -   0x30, 0xE7, 0xC4, 0xD9, 0x8A, 0x7F, 0xB4, 0xFC, -   0xCF, 0xA1, 0xAE, 0x1C, 0x39, 0x1B, 0x7B, 0x5E, -   0x88, 0x7D, 0xD3, 0x71, 0x2E, 0x98, 0x13, 0x8F, -   0xCC, 0x84, 0x73, 0xCD, 0x21, 0x0D, 0x5C, 0xA5, -   0x3D, 0x9E, 0x99, 0xC2, 0xF3, 0x34, 0x14, 0x62, -   0x46, 0x0A, 0x07, 0x08, 0xFF, 0xFB, 0xB7, 0xBF, -   0x5D, 0x91, 0xB8, 0x83, 0xBE, 0x94, 0xBA, 0xF9, -   0xEB, 0xE5, 0xCB, 0x95, 0x40, 0x31, 0xE6, 0x86, -   0xD4, 0xFE, 0xD0, 0x7A, 0x26, 0xB9, 0xDC, 0x2F, -   0xBD, 0xF0, 0x5F, 0x00, 0x9C, 0x6A, 0x5A, 0x3B, -   0xF1, 0xC8, 0x9F, 0xED, 0x50, 0x20, 0x15, 0x11, -   0x68, 0x1E, 0xF6, 0xA6, 0x6C, 0xB2, 0xD1, 0x58 }; - -static const unsigned char table_59[256] = { -   0x4C, 0x85, 0x2B, 0x14, 0xCC, 0x4D, 0x5F, 0xD7, -   0xCE, 0x28, 0xC5, 0x0B, 0xA1, 0x99, 0x08, 0xDE, -   0x42, 0xD1, 0x82, 0x5C, 0xC9, 0x8F, 0x72, 0x12, -   0xCB, 0x0D, 0x04, 0xFA, 0xCD, 0xE5, 0x9A, 0x6F, -   0xCF, 0x92, 0xB5, 0x88, 0x87, 0xBF, 0x90, 0x7C, -   0xAC, 0xBE, 0x36, 0x21, 0x7D, 0x7F, 0xC7, 0x9F, -   0x75, 0xBB, 0x61, 0x16, 0x17, 0x63, 0xAE, 0xC4, -   0x23, 0x89, 0xE0, 0x37, 0x91, 0x5E, 0xC8, 0xE4, -   0xFD, 0xD5, 0xA2, 0xC6, 0x5A, 0xEF, 0x9B, 0xD6, -   0x27, 0xEE, 0x60, 0x1C, 0xDF, 0xDA, 0xF1, 0xD2, -   0x1E, 0x01, 0x9D, 0x44, 0x03, 0xD8, 0x11, 0x53, -   0x4F, 0x6C, 0x8B, 0xB7, 0x40, 0xF2, 0x79, 0x20, -   0x74, 0x97, 0x3E, 0x3D, 0x05, 0xD4, 0x70, 0x30, -   0x54, 0x59, 0xE7, 0x15, 0xE1, 0xEB, 0x71, 0x83, -   0xFE, 0x66, 0xB1, 0xA6, 0xF7, 0x8E, 0x6A, 0xEA, -   0x65, 0x7E, 0xA3, 0xCA, 0x2D, 0x4B, 0xB8, 0x9C, -   0x35, 0xC3, 0xB6, 0x49, 0x32, 0x25, 0xB3, 0xB0, -   0x76, 0xC0, 0xF5, 0x00, 0x8A, 0xAF, 0x19, 0xDB, -   0xDD, 0x47, 0xDC, 0x07, 0xB2, 0x4A, 0x55, 0xE6, -   0x69, 0xEC, 0xED, 0x06, 0x94, 0xB9, 0xA7, 0x56, -   0x2C, 0xAA, 0xE3, 0x22, 0x3B, 0x98, 0x77, 0x52, -   0x3C, 0x64, 0xF8, 0x13, 0x78, 0xFC, 0xFB, 0xF3, -   0xD3, 0xF9, 0x29, 0x45, 0x51, 0x8C, 0xA0, 0x38, -   0xD9, 0xA5, 0x62, 0x3A, 0x6E, 0xD0, 0xE8, 0x7A, -   0x33, 0x1D, 0xB4, 0x73, 0x02, 0xFF, 0x10, 0x80, -   0x6B, 0xF0, 0xA4, 0xBA, 0xF6, 0xC2, 0x0E, 0xE2, -   0x81, 0x43, 0x84, 0x86, 0x1F, 0x31, 0x2F, 0xA9, -   0x1B, 0x2A, 0x4E, 0xF4, 0x95, 0x5B, 0x3F, 0x34, -   0x39, 0x7B, 0x0A, 0x26, 0x6D, 0x57, 0x50, 0x09, -   0x9E, 0xA8, 0xBC, 0x24, 0x93, 0x67, 0x41, 0x96, -   0x0C, 0x46, 0xBD, 0xE9, 0x68, 0x18, 0xAB, 0x2E, -   0x5D, 0x1A, 0x8D, 0xC1, 0x58, 0x48, 0xAD, 0x0F }; - -static const unsigned char table_60[32] = { -   0x1C, 0x06, 0x1E, 0x10, 0x1D, 0x05, 0x00, 0x0E, -   0x0C, 0x02, 0x11, 0x19, 0x15, 0x18, 0x16, 0x07, -   0x1F, 0x0B, 0x14, 0x01, 0x0F, 0x09, 0x0D, 0x13, -   0x03, 0x08, 0x12, 0x04, 0x1B, 0x0A, 0x17, 0x1A }; - -static const unsigned char table_61[256] = { -   0xC5, 0xA6, 0xF2, 0x6B, 0x4B, 0x58, 0xE0, 0x41, -   0xC6, 0x2F, 0x13, 0xFE, 0xC1, 0x34, 0x3F, 0x24, -   0x10, 0xBF, 0x8B, 0xC9, 0x26, 0x2E, 0x68, 0xBE, -   0x28, 0x54, 0x93, 0x11, 0x21, 0x03, 0xFF, 0x50, -   0x31, 0x71, 0x2C, 0x6C, 0x91, 0x8F, 0x3B, 0x40, -   0x3E, 0xE5, 0xA5, 0x80, 0xEA, 0x7C, 0x9D, 0x18, -   0x84, 0x5A, 0x73, 0x3A, 0x33, 0x43, 0xA1, 0x47, -   0xB1, 0xEE, 0xFB, 0x79, 0x5E, 0xAF, 0xB9, 0x48, -   0x0F, 0x88, 0x65, 0x67, 0x6F, 0xDB, 0x25, 0xE4, -   0xB0, 0x87, 0xD0, 0x46, 0xB5, 0xB7, 0x53, 0xD4, -   0x1E, 0x76, 0xB4, 0x90, 0xDD, 0xA3, 0xF7, 0x57, -   0xD2, 0xCC, 0x5D, 0xE3, 0xB3, 0xD8, 0x5F, 0x2B, -   0x69, 0x4A, 0x9B, 0x39, 0x1A, 0x8D, 0x05, 0x8A, -   0x44, 0x15, 0xAE, 0xF3, 0xA8, 0x92, 0x02, 0xAB, -   0xB8, 0xDA, 0x0A, 0x0C, 0xED, 0xD7, 0x77, 0x98, -   0x3D, 0x19, 0x95, 0x36, 0xE7, 0x7F, 0x66, 0xEF, -   0x86, 0xDC, 0xCB, 0x9C, 0x63, 0xE6, 0x1D, 0x14, -   0x9A, 0x22, 0xBD, 0xD6, 0x89, 0x2D, 0xD1, 0xF9, -   0xA2, 0xDE, 0xF5, 0x5C, 0x8E, 0x2A, 0x29, 0xCA, -   0x7A, 0x8C, 0x38, 0x9F, 0xBB, 0xDF, 0xEC, 0x30, -   0x00, 0xFC, 0xAC, 0x81, 0xB2, 0xE8, 0xC0, 0xA7, -   0x7B, 0x07, 0x52, 0x74, 0x70, 0x0E, 0x51, 0x6A, -   0x62, 0x0D, 0x85, 0x1B, 0x4F, 0x96, 0x55, 0x1C, -   0x32, 0x6E, 0x01, 0xF6, 0x08, 0xFD, 0x17, 0x35, -   0xF0, 0x16, 0xC8, 0x23, 0xE9, 0x59, 0x3C, 0x37, -   0x5B, 0x42, 0xD3, 0x49, 0x7D, 0x83, 0x78, 0xAD, -   0x94, 0x9E, 0x56, 0xB6, 0xF1, 0xC3, 0x75, 0xF8, -   0xFA, 0x09, 0x4C, 0xD9, 0x97, 0xF4, 0x7E, 0x6D, -   0xBC, 0x4D, 0x64, 0xCD, 0x12, 0x99, 0x45, 0xCE, -   0x61, 0x20, 0x0B, 0xA0, 0x82, 0xD5, 0xE1, 0x72, -   0xA9, 0x1F, 0x06, 0x27, 0xC7, 0x04, 0xE2, 0xBA, -   0xCF, 0x60, 0xAA, 0xA4, 0xEB, 0xC4, 0x4E, 0xC2 }; - -static const unsigned char table_62[256] = { -   0x01, 0x59, 0xEC, 0xFC, 0x51, 0xD2, 0xE4, 0x9D, -   0xAA, 0x61, 0xD5, 0xCA, 0x63, 0x5D, 0xCE, 0x36, -   0xB9, 0x49, 0x76, 0xA9, 0x14, 0x4C, 0x90, 0x28, -   0x66, 0x17, 0x4F, 0x1E, 0x1A, 0x47, 0x30, 0xE8, -   0xFD, 0x86, 0x2E, 0x7B, 0x7E, 0xCC, 0x34, 0x13, -   0x94, 0x45, 0x38, 0x74, 0x29, 0xB0, 0x37, 0xC3, -   0x26, 0x6C, 0x39, 0xA3, 0x89, 0xEB, 0xA2, 0x20, -   0x00, 0xE0, 0x73, 0xE7, 0xB5, 0xCB, 0xED, 0x3E, -   0x79, 0x09, 0xFA, 0x32, 0x54, 0xBA, 0x05, 0x96, -   0xDE, 0x23, 0xD0, 0xA1, 0xAB, 0xFE, 0xF2, 0x22, -   0xB2, 0x9B, 0x7D, 0x44, 0x12, 0x3D, 0x40, 0x82, -   0xA0, 0xA8, 0x33, 0xDC, 0xF7, 0xFB, 0xAC, 0x41, -   0x8A, 0x9C, 0x60, 0x11, 0xC8, 0xF0, 0xEA, 0x57, -   0x3A, 0x42, 0xCD, 0x1D, 0x3C, 0xC6, 0x97, 0x62, -   0x55, 0x9F, 0xF3, 0x93, 0x91, 0xDA, 0x6A, 0xE5, -   0x27, 0x8E, 0x4E, 0xFF, 0xA4, 0x80, 0x04, 0xE1, -   0x2B, 0x5E, 0xC0, 0x64, 0xC2, 0xD8, 0x46, 0x8C, -   0xD4, 0x0F, 0xC4, 0x43, 0xD9, 0x9E, 0x4B, 0x5C, -   0x0A, 0x8B, 0xBF, 0xD7, 0x7A, 0x81, 0x3B, 0x4A, -   0x58, 0xB6, 0x21, 0x1F, 0xC1, 0xBD, 0xB1, 0x77, -   0x72, 0x1C, 0x4D, 0xBC, 0xA5, 0x65, 0xC7, 0xF5, -   0xB4, 0x2D, 0x69, 0x71, 0xE6, 0x8F, 0xBB, 0x03, -   0xAF, 0xD6, 0x08, 0x75, 0xB7, 0x31, 0xF4, 0x2A, -   0x48, 0x70, 0x0C, 0x8D, 0xD1, 0x87, 0x2F, 0x16, -   0x5A, 0x5B, 0x98, 0xA6, 0xC5, 0x99, 0x50, 0x07, -   0xDD, 0x92, 0x25, 0x68, 0x0D, 0xBE, 0x78, 0x0B, -   0xAD, 0x84, 0x6B, 0x19, 0x52, 0x7C, 0xF6, 0xB3, -   0x56, 0x83, 0x88, 0xEE, 0x2C, 0x1B, 0x6E, 0x53, -   0x67, 0xE2, 0x6F, 0x15, 0x06, 0x10, 0x18, 0x85, -   0xF1, 0x6D, 0xF9, 0xC9, 0xAE, 0x3F, 0xB8, 0x95, -   0x35, 0xDF, 0xEF, 0xA7, 0x7F, 0x24, 0xF8, 0xE3, -   0xCF, 0xE9, 0xDB, 0xD3, 0x02, 0x9A, 0x0E, 0x5F }; - -static const unsigned char table_63[256] = { -   0x0C, 0x02, 0xEE, 0x94, 0x2D, 0x76, 0x96, 0x75, -   0x21, 0xDC, 0x37, 0x03, 0xC0, 0xF7, 0xDF, 0xEF, -   0xB1, 0x1D, 0xCF, 0x15, 0x5A, 0xB4, 0xCC, 0x81, -   0x89, 0x6B, 0xA5, 0x2E, 0x6D, 0xD4, 0x08, 0x44, -   0x2A, 0x60, 0x50, 0xBF, 0x40, 0x7D, 0x5F, 0x64, -   0x93, 0x70, 0xA4, 0x7F, 0xC9, 0xEB, 0x0A, 0xF8, -   0x9F, 0xA8, 0xBC, 0x25, 0xE5, 0xF3, 0x1B, 0xD7, -   0x29, 0x13, 0x0D, 0x69, 0x20, 0x5C, 0x0F, 0x91, -   0x4F, 0x62, 0x06, 0x26, 0x41, 0xED, 0xDA, 0x53, -   0x65, 0xFF, 0xCD, 0x3F, 0xF6, 0x01, 0xCE, 0xA2, -   0x04, 0xDE, 0x27, 0x87, 0xBA, 0x86, 0x24, 0x78, -   0xAF, 0xE1, 0x3D, 0xD0, 0xC8, 0x1F, 0x4A, 0x2C, -   0x9A, 0xF0, 0xCB, 0xAD, 0x0B, 0x59, 0xC5, 0x58, -   0xEA, 0x8A, 0xA1, 0x45, 0xB7, 0x5D, 0xB5, 0x77, -   0x2B, 0x47, 0x05, 0x00, 0xAC, 0x61, 0xFA, 0x33, -   0x74, 0x31, 0xCA, 0x22, 0x42, 0x8B, 0xFE, 0x09, -   0xB2, 0x6E, 0x1A, 0xBE, 0xAA, 0x7B, 0xEC, 0xF4, -   0x51, 0x66, 0x28, 0x12, 0xFC, 0x5E, 0x67, 0xF5, -   0xB9, 0x82, 0x90, 0x8E, 0x8D, 0x17, 0xE7, 0xE8, -   0xB0, 0xC3, 0x16, 0xA0, 0x4B, 0xB6, 0xFB, 0x7E, -   0xC4, 0x85, 0x4C, 0x1E, 0xC7, 0x39, 0x4E, 0xA9, -   0xE3, 0x4D, 0x32, 0x72, 0x35, 0x80, 0xE0, 0x34, -   0xB8, 0x73, 0x98, 0x49, 0x92, 0x30, 0xD5, 0xD2, -   0xA3, 0x54, 0x7A, 0x84, 0x8F, 0x6C, 0xFD, 0x43, -   0x3A, 0x36, 0x3B, 0xD9, 0x48, 0x6A, 0x14, 0x79, -   0xD1, 0x57, 0x88, 0xDB, 0xE4, 0x9B, 0xF9, 0x99, -   0x10, 0x71, 0xC1, 0x68, 0x9E, 0x11, 0xAB, 0xBD, -   0x7C, 0x3E, 0x3C, 0x18, 0x9D, 0x97, 0xF2, 0xE6, -   0xA6, 0xF1, 0x46, 0xC2, 0x19, 0xBB, 0x52, 0xD8, -   0x95, 0xD3, 0x23, 0xAE, 0x07, 0x2F, 0xE9, 0x63, -   0x1C, 0x55, 0x6F, 0x9C, 0x56, 0x38, 0xC6, 0x5B, -   0x8C, 0xE2, 0x83, 0xA7, 0xD6, 0x0E, 0xB3, 0xDD }; - -static const unsigned char table_64[32] = { -   0x03, 0x05, 0x0D, 0x09, 0x1A, 0x16, 0x08, 0x10, -   0x06, 0x1E, 0x1C, 0x15, 0x02, 0x04, 0x17, 0x0C, -   0x18, 0x0B, 0x19, 0x11, 0x1B, 0x14, 0x13, 0x0A, -   0x0E, 0x00, 0x1D, 0x1F, 0x01, 0x0F, 0x07, 0x12 }; - -static const unsigned char table_65[32] = { -   0x01, 0x0A, 0x1E, 0x14, 0x10, 0x1D, 0x0D, 0x17, -   0x0E, 0x0C, 0x0F, 0x12, 0x04, 0x1A, 0x05, 0x02, -   0x08, 0x1C, 0x09, 0x1F, 0x0B, 0x13, 0x19, 0x1B, -   0x11, 0x00, 0x16, 0x06, 0x03, 0x18, 0x15, 0x07 }; - -static const unsigned char table_66[32] = { -   0x1C, 0x18, 0x0C, 0x09, 0x05, 0x03, 0x15, 0x12, -   0x0D, 0x02, 0x08, 0x0E, 0x19, 0x07, 0x13, 0x17, -   0x1E, 0x1D, 0x1F, 0x11, 0x06, 0x0A, 0x0B, 0x14, -   0x0F, 0x10, 0x01, 0x1B, 0x00, 0x04, 0x1A, 0x16 }; - -static const unsigned char table_67[256] = { -   0x6B, 0x49, 0xC8, 0x86, 0xFF, 0xC0, 0x5D, 0xEF, -   0xF7, 0x06, 0xE0, 0x98, 0xA9, 0x72, 0x71, 0xD5, -   0xBA, 0x7F, 0x10, 0xD1, 0xBE, 0x41, 0x9C, 0x40, -   0x28, 0x8E, 0xE5, 0x74, 0x47, 0x9E, 0x3E, 0x7C, -   0xB5, 0xCD, 0x3F, 0x20, 0xF2, 0xA6, 0xDC, 0x97, -   0x32, 0x6D, 0x52, 0xF5, 0x16, 0x05, 0xFE, 0x04, -   0x3D, 0x53, 0x50, 0x23, 0x39, 0x77, 0x08, 0x60, -   0x75, 0x18, 0x4A, 0xC6, 0xBB, 0xE7, 0xF1, 0xAB, -   0xEB, 0x88, 0xB6, 0x82, 0x6E, 0x91, 0xF3, 0x34, -   0x3A, 0x42, 0x1A, 0xDF, 0xA1, 0xB3, 0x92, 0xBF, -   0xB7, 0x00, 0xD4, 0xDE, 0x31, 0xF0, 0x1C, 0xDA, -   0x4F, 0x61, 0x67, 0x2C, 0x07, 0xF9, 0x15, 0xA4, -   0x7A, 0x26, 0x45, 0x2A, 0x12, 0x9F, 0xF4, 0x14, -   0x8C, 0x90, 0xFC, 0xC5, 0x4B, 0x87, 0xE2, 0xC7, -   0xD0, 0x8A, 0xE8, 0xDD, 0xEE, 0x3C, 0x2F, 0x22, -   0x6A, 0x54, 0x37, 0x9B, 0x84, 0x25, 0x8F, 0xE3, -   0xD7, 0xD8, 0x4E, 0xAD, 0x0F, 0x4C, 0x56, 0xA2, -   0xD3, 0xB0, 0x73, 0x0B, 0xAE, 0xEA, 0x1D, 0x01, -   0x36, 0xB4, 0x2D, 0xC4, 0x19, 0x58, 0x1E, 0x62, -   0xE9, 0xB2, 0x5B, 0x5A, 0xBD, 0xD6, 0x65, 0x94, -   0x9A, 0x55, 0xCC, 0x99, 0x1B, 0x85, 0x2B, 0xBC, -   0x8D, 0x46, 0x81, 0xB8, 0xA3, 0x29, 0x5F, 0x35, -   0x5C, 0xB1, 0x1F, 0x13, 0x17, 0xCB, 0x51, 0x02, -   0x09, 0x7E, 0xA7, 0x69, 0x6F, 0x95, 0x30, 0x7B, -   0xCA, 0x48, 0xAF, 0xAA, 0x0E, 0x44, 0x38, 0xB9, -   0x0D, 0x11, 0xA0, 0xD9, 0x0C, 0xDB, 0xF8, 0x68, -   0x33, 0x79, 0x59, 0x66, 0x4D, 0x03, 0xE1, 0x89, -   0xE4, 0x3B, 0x78, 0xC2, 0x64, 0x6C, 0x27, 0xC9, -   0xCF, 0xAC, 0xED, 0xFA, 0x5E, 0x2E, 0x76, 0x57, -   0x93, 0xEC, 0x80, 0xA8, 0xE6, 0xCE, 0xC1, 0xA5, -   0x9D, 0xD2, 0xC3, 0x0A, 0x7D, 0x70, 0xF6, 0x63, -   0x24, 0x43, 0x21, 0x83, 0xFB, 0xFD, 0x8B, 0x96 }; - -static const unsigned char table_68[256] = { -   0x93, 0xFF, 0x83, 0x70, 0x12, 0x2D, 0x1C, 0xD6, -   0xF9, 0xEE, 0xCF, 0x94, 0x7B, 0xB5, 0xA4, 0x84, -   0x99, 0xF7, 0x67, 0x32, 0xFC, 0x8A, 0xE3, 0xE4, -   0xCE, 0xC6, 0x77, 0x7E, 0xDA, 0x42, 0x85, 0xF0, -   0x7D, 0x48, 0x28, 0x79, 0xDE, 0x5B, 0xE2, 0x0F, -   0x75, 0xC5, 0x2C, 0x4F, 0xF3, 0xEC, 0x14, 0x10, -   0x9C, 0x6E, 0x59, 0x4A, 0x20, 0x34, 0xA3, 0x89, -   0xE0, 0x4E, 0x52, 0x88, 0x81, 0x5F, 0x6F, 0x71, -   0x17, 0x3B, 0x21, 0xB4, 0xCB, 0x9B, 0x18, 0x13, -   0xE8, 0xE1, 0x02, 0x2E, 0xED, 0x00, 0xA7, 0x1B, -   0x06, 0xF4, 0x27, 0xDC, 0x35, 0x2F, 0x08, 0x9D, -   0x7C, 0xC0, 0x36, 0xA6, 0x6B, 0xDF, 0x4C, 0xBC, -   0xFE, 0xDB, 0xA5, 0xA8, 0x8D, 0x73, 0x7F, 0xC7, -   0x8E, 0x60, 0x31, 0x61, 0x4B, 0x29, 0xD7, 0xE9, -   0xBD, 0xAB, 0xCC, 0xFA, 0xD9, 0xEF, 0xC2, 0xD4, -   0x19, 0x11, 0x15, 0xC9, 0xB1, 0xD5, 0x64, 0x97, -   0xE7, 0x8F, 0x05, 0x44, 0xF8, 0xF1, 0x58, 0x47, -   0x2A, 0x03, 0x1F, 0xAF, 0x0D, 0x04, 0x23, 0xB8, -   0x24, 0x51, 0xB2, 0x54, 0x41, 0x53, 0x5C, 0xAE, -   0xB7, 0xB3, 0xB6, 0x3D, 0x37, 0x39, 0x55, 0xBF, -   0x0B, 0x7A, 0x57, 0x3C, 0x0E, 0x40, 0x6A, 0xF5, -   0x72, 0xDD, 0xBB, 0x8B, 0xAA, 0x46, 0xA0, 0x30, -   0x56, 0x78, 0x38, 0xBA, 0x9E, 0x92, 0x87, 0xFB, -   0x66, 0x90, 0x1E, 0xB9, 0x96, 0x65, 0xA2, 0x50, -   0x1D, 0xC3, 0x26, 0x22, 0xD0, 0x0A, 0x43, 0xF2, -   0xB0, 0xEB, 0xAC, 0x62, 0x98, 0x3F, 0xD3, 0x69, -   0xA1, 0x9F, 0x16, 0x95, 0xE6, 0xF6, 0x2B, 0x25, -   0x1A, 0xD2, 0xBE, 0x09, 0x5D, 0x45, 0xC4, 0xFD, -   0x5A, 0x07, 0x0C, 0x82, 0x3E, 0x49, 0x74, 0x6C, -   0x68, 0x5E, 0xCA, 0xEA, 0xCD, 0x9A, 0xAD, 0xD1, -   0x33, 0x86, 0x76, 0x80, 0xE5, 0xC8, 0xD8, 0xA9, -   0x8C, 0x6D, 0x91, 0x63, 0x3A, 0x4D, 0xC1, 0x01 }; - -static const unsigned char table_69[256] = { -   0x21, 0x6B, 0x9B, 0xAE, 0x11, 0x5A, 0x91, 0xC2, -   0x47, 0x8E, 0x87, 0x86, 0x4F, 0xFC, 0x8F, 0x66, -   0x97, 0x2F, 0x61, 0x9C, 0x5B, 0x4C, 0xB3, 0x14, -   0x77, 0x48, 0x62, 0xE1, 0x54, 0x64, 0xDD, 0xCD, -   0x30, 0xB7, 0x2D, 0xD2, 0xC3, 0xC0, 0x0B, 0xD8, -   0x53, 0x98, 0x16, 0x56, 0x7A, 0x35, 0x50, 0xD9, -   0xE8, 0x2C, 0x32, 0x55, 0x17, 0x5D, 0x79, 0xEB, -   0xC8, 0x75, 0x67, 0xE2, 0x4B, 0xBA, 0xFE, 0x57, -   0x10, 0xF4, 0x70, 0x2A, 0xBB, 0xA6, 0x72, 0x36, -   0xAF, 0x8D, 0xAB, 0x90, 0xE3, 0x2B, 0xB2, 0x26, -   0x93, 0x01, 0xBD, 0x71, 0xF9, 0x05, 0xC7, 0x80, -   0x29, 0xCC, 0x3B, 0x22, 0xF2, 0x12, 0x81, 0x34, -   0xF6, 0x1A, 0x8B, 0xDF, 0x28, 0x46, 0x9E, 0x6A, -   0x23, 0x85, 0x74, 0xE7, 0xE6, 0x52, 0xA0, 0x49, -   0xF0, 0x19, 0x25, 0xAC, 0x78, 0x42, 0xD6, 0xA2, -   0x37, 0x65, 0x4D, 0x94, 0x02, 0x6F, 0xB4, 0xC6, -   0x99, 0xD3, 0x9A, 0x33, 0xB8, 0x00, 0xCA, 0xE4, -   0x45, 0xAD, 0x1B, 0x6C, 0x03, 0xA8, 0x07, 0x8A, -   0x60, 0x69, 0xFF, 0xF7, 0xA7, 0x27, 0x95, 0xF5, -   0x82, 0xCB, 0xEC, 0xED, 0x4E, 0xFB, 0xA4, 0x59, -   0xDA, 0xCF, 0x2E, 0x20, 0xFA, 0x31, 0xD1, 0xEA, -   0x4A, 0xE9, 0x5E, 0xA9, 0xA1, 0x08, 0x1C, 0x96, -   0x38, 0xB9, 0xEE, 0x7F, 0xAA, 0xF1, 0x7D, 0x3A, -   0xA5, 0x43, 0xC5, 0xE0, 0x24, 0x39, 0x0D, 0xDE, -   0xB0, 0xF8, 0xBE, 0x58, 0x7E, 0x51, 0xD4, 0x89, -   0x15, 0x40, 0x3E, 0xB1, 0x1F, 0x5F, 0x68, 0x63, -   0x84, 0x3D, 0x88, 0xBC, 0x41, 0xEF, 0xB5, 0xBF, -   0x06, 0x6E, 0x9D, 0x3F, 0x0E, 0x76, 0x5C, 0xDC, -   0x13, 0xF3, 0xE5, 0x8C, 0x7C, 0x04, 0x0A, 0xD5, -   0x18, 0xC4, 0x44, 0x09, 0xC9, 0x1D, 0x9F, 0xFD, -   0xD0, 0x0F, 0x6D, 0xD7, 0x92, 0x7B, 0x0C, 0xA3, -   0x73, 0xDB, 0xB6, 0x83, 0xCE, 0x1E, 0xC1, 0x3C }; - -static const unsigned char table_70[256] = { -   0x54, 0x23, 0xF1, 0x09, 0x9D, 0xEB, 0x26, 0xD9, -   0x6C, 0xC1, 0xBC, 0x3D, 0x6E, 0xB0, 0x5F, 0xE2, -   0x59, 0x4D, 0x95, 0xFA, 0xD8, 0x29, 0xAA, 0x8E, -   0xF5, 0xEF, 0x43, 0x76, 0xFD, 0x0D, 0x4F, 0xAD, -   0xB7, 0xFC, 0xA8, 0x9F, 0x62, 0xC2, 0x7B, 0x10, -   0x0B, 0xF2, 0x73, 0xA9, 0x46, 0x4C, 0x53, 0xD7, -   0x0A, 0x50, 0x89, 0x63, 0x48, 0xD6, 0xA2, 0x44, -   0xE6, 0x8D, 0x69, 0x2C, 0xF9, 0xC0, 0x35, 0x06, -   0x66, 0x21, 0x9E, 0xD2, 0x98, 0xF7, 0x9B, 0xE7, -   0x12, 0xB8, 0xA5, 0xBA, 0xE0, 0x79, 0x71, 0x7E, -   0x8C, 0x24, 0xED, 0x7C, 0x60, 0x81, 0xC3, 0x5C, -   0x2B, 0xE5, 0xEE, 0xB5, 0xA4, 0x05, 0x03, 0x34, -   0x16, 0x2A, 0xA3, 0x2D, 0x3F, 0xDF, 0x07, 0x5B, -   0xAE, 0x47, 0x61, 0x08, 0x18, 0xDB, 0x6D, 0x3C, -   0x96, 0xD5, 0xAB, 0x78, 0x94, 0x45, 0x20, 0x9A, -   0xE4, 0x13, 0x68, 0xDD, 0xDE, 0x31, 0x14, 0x57, -   0x02, 0x52, 0x56, 0x1C, 0x1B, 0xE9, 0xD0, 0xA1, -   0x22, 0x64, 0xB2, 0x7A, 0xCF, 0x5D, 0x00, 0x0F, -   0xF8, 0x5E, 0x36, 0x58, 0x40, 0xAF, 0x19, 0x32, -   0x2E, 0xB3, 0x72, 0xBE, 0xB9, 0xD3, 0xCD, 0x7D, -   0x4A, 0x1D, 0x33, 0x2F, 0xAC, 0x27, 0x41, 0xE8, -   0x55, 0xCB, 0x0E, 0x5A, 0x77, 0xFB, 0x8B, 0x86, -   0x75, 0x8A, 0x51, 0xEC, 0xDA, 0xC6, 0xA6, 0xCC, -   0x91, 0x4B, 0x11, 0xF6, 0xEA, 0xD1, 0xB6, 0x4E, -   0x82, 0x04, 0x92, 0x30, 0xF4, 0x25, 0x88, 0x1E, -   0x9C, 0xA0, 0xC8, 0x6A, 0x93, 0x87, 0x1F, 0xB4, -   0xB1, 0x8F, 0x65, 0xCA, 0xFE, 0xFF, 0x97, 0x15, -   0x99, 0x28, 0x80, 0x42, 0x70, 0x85, 0x0C, 0x3B, -   0xBD, 0xE1, 0xA7, 0x17, 0xC9, 0x3A, 0xBB, 0x6B, -   0x37, 0xF0, 0xC5, 0x39, 0x6F, 0x01, 0x83, 0x67, -   0x74, 0xCE, 0xDC, 0x90, 0x3E, 0xF3, 0x7F, 0xC4, -   0x49, 0x84, 0x38, 0xC7, 0xE3, 0xD4, 0x1A, 0xBF }; - -static const unsigned char table_71[32] = { -   0x17, 0x13, 0x0E, 0x1A, 0x0D, 0x18, 0x19, 0x10, -   0x14, 0x11, 0x16, 0x05, 0x04, 0x00, 0x12, 0x0A, -   0x02, 0x07, 0x03, 0x0B, 0x09, 0x1F, 0x1C, 0x0F, -   0x0C, 0x06, 0x1B, 0x08, 0x1D, 0x01, 0x15, 0x1E }; - -static const unsigned char table_72[256] = { -   0xC9, 0xA7, 0x1B, 0xEC, 0x2B, 0x8B, 0xB0, 0xEB, -   0x7F, 0x39, 0x25, 0xD9, 0x1D, 0xD5, 0x67, 0xA0, -   0xB3, 0xAC, 0x3B, 0xC8, 0x82, 0xC0, 0xE3, 0x9E, -   0x4C, 0x9B, 0xAF, 0xFD, 0x91, 0x86, 0x5F, 0x92, -   0xB4, 0x42, 0x3C, 0x45, 0x12, 0xC4, 0xE2, 0xE1, -   0x6C, 0x1F, 0xC6, 0x40, 0x93, 0x2A, 0xC2, 0x72, -   0x2E, 0x14, 0x51, 0xA5, 0x70, 0xBD, 0xA2, 0xC7, -   0x7D, 0xF1, 0x9F, 0x64, 0xC1, 0xF7, 0x80, 0xFF, -   0x50, 0x49, 0x8C, 0x66, 0x13, 0x48, 0x6A, 0x0A, -   0x26, 0x94, 0x83, 0x1E, 0x84, 0xBB, 0x57, 0x27, -   0x44, 0x5B, 0x62, 0xF6, 0x09, 0x4F, 0x77, 0x76, -   0x2D, 0x7E, 0xCD, 0x0B, 0x24, 0xFE, 0x81, 0xB8, -   0x21, 0x85, 0xCF, 0xA8, 0x75, 0x56, 0x37, 0x17, -   0xAA, 0x23, 0xE5, 0xE8, 0x9A, 0x9D, 0x2F, 0x04, -   0x31, 0x4A, 0x7C, 0xFC, 0xD6, 0xE4, 0x29, 0xC3, -   0xFB, 0x36, 0x1C, 0x0C, 0xCE, 0xEE, 0x0D, 0xF3, -   0x46, 0xF8, 0x41, 0x0E, 0x68, 0xAB, 0x2C, 0x69, -   0x96, 0x90, 0x28, 0xED, 0x02, 0x63, 0x07, 0xAD, -   0xB2, 0xDC, 0x05, 0xE6, 0x78, 0x03, 0xA4, 0x7A, -   0x5C, 0x52, 0x95, 0x5D, 0x88, 0x01, 0xDF, 0x35, -   0x5E, 0xB6, 0x06, 0x4D, 0x15, 0x89, 0x59, 0x3F, -   0xF0, 0xA1, 0xA3, 0x99, 0x19, 0xEA, 0xDB, 0xE0, -   0x6B, 0x71, 0x6E, 0xB7, 0x65, 0x54, 0x9C, 0xBC, -   0x98, 0xDD, 0x4B, 0x60, 0x3D, 0xBF, 0xF5, 0xD1, -   0xD7, 0xF9, 0x55, 0x61, 0xA9, 0xB1, 0x6D, 0xDE, -   0x79, 0xAE, 0x1A, 0x34, 0x3A, 0x4E, 0xCB, 0x38, -   0xBA, 0x97, 0x00, 0x74, 0xEF, 0xD8, 0x18, 0x33, -   0x7B, 0xFA, 0x22, 0x32, 0x20, 0xCA, 0x8A, 0xBE, -   0xA6, 0x43, 0x11, 0x10, 0xD0, 0xD3, 0x87, 0x73, -   0x6F, 0xF4, 0x8D, 0xCC, 0x30, 0x0F, 0x16, 0xDA, -   0xB5, 0xC5, 0xD4, 0x47, 0x8E, 0xE7, 0x58, 0x8F, -   0x08, 0x53, 0xF2, 0xB9, 0x5A, 0x3E, 0xE9, 0xD2 }; - -static const unsigned char table_73[256] = { -   0x36, 0x37, 0xED, 0xD8, 0xBF, 0xD7, 0x12, 0xB7, -   0x40, 0x32, 0x19, 0x4A, 0x44, 0x2A, 0xCE, 0xA5, -   0x29, 0x13, 0x43, 0x51, 0x5C, 0xD0, 0x76, 0x6E, -   0x41, 0xD6, 0xE2, 0x4F, 0xB8, 0x27, 0x2E, 0xCF, -   0xD9, 0xE0, 0x69, 0xC0, 0x59, 0x77, 0x62, 0x6F, -   0x53, 0xE7, 0x93, 0xD4, 0xAD, 0xC8, 0x4C, 0xC2, -   0x2C, 0xBE, 0xAA, 0xA0, 0x22, 0x78, 0x14, 0xB3, -   0xB0, 0xEA, 0xBA, 0x9A, 0x33, 0x1B, 0x31, 0x6C, -   0xFC, 0x0A, 0x0B, 0xA1, 0xE4, 0x75, 0x7C, 0xE3, -   0x65, 0x21, 0xA9, 0xA4, 0x4E, 0x3C, 0x5F, 0x39, -   0x74, 0xA2, 0x9E, 0x03, 0x70, 0xD2, 0xFD, 0x1D, -   0x25, 0x72, 0x73, 0x8E, 0x7B, 0xB2, 0x6A, 0x92, -   0x81, 0xF3, 0xF0, 0x46, 0x08, 0x85, 0xE6, 0x30, -   0x05, 0x7E, 0xEC, 0x0D, 0xDD, 0x42, 0x2F, 0x5B, -   0xB9, 0xCB, 0x84, 0x0C, 0x16, 0xC7, 0x24, 0xFA, -   0xF9, 0x8F, 0x20, 0xAC, 0x10, 0x55, 0xC3, 0x1A, -   0x8B, 0x94, 0x3D, 0xDB, 0xC9, 0x04, 0xB5, 0xCC, -   0xC6, 0x98, 0xB6, 0x8D, 0x0F, 0x3A, 0x06, 0x4B, -   0xEF, 0x35, 0x68, 0x3F, 0xEE, 0xE5, 0x63, 0xC5, -   0x60, 0x88, 0x52, 0x2D, 0x6D, 0xAB, 0xCD, 0xC4, -   0x1F, 0xF4, 0xCA, 0x67, 0x7D, 0x1C, 0xDA, 0x34, -   0xDE, 0x86, 0xAE, 0xF1, 0x61, 0x09, 0xF5, 0xF6, -   0x49, 0xE9, 0xF2, 0x48, 0x1E, 0xD3, 0x56, 0x18, -   0x9B, 0xB1, 0x57, 0x9D, 0xBB, 0x5E, 0xAF, 0x87, -   0x9F, 0x8A, 0xC1, 0x79, 0xA7, 0xA8, 0xFB, 0xDC, -   0x47, 0x3E, 0x97, 0x80, 0x91, 0xA6, 0x7A, 0xA3, -   0x9C, 0x11, 0x02, 0x2B, 0x58, 0xD1, 0xF7, 0x00, -   0x83, 0x01, 0xE8, 0xFE, 0x50, 0x23, 0x66, 0x4D, -   0xD5, 0x82, 0x89, 0x3B, 0xEB, 0xE1, 0xF8, 0x5A, -   0x15, 0x7F, 0x8C, 0x17, 0x96, 0x28, 0x5D, 0x64, -   0x26, 0x38, 0x71, 0x0E, 0x45, 0xDF, 0xB4, 0x99, -   0xFF, 0x90, 0x6B, 0xBC, 0x54, 0x95, 0xBD, 0x07 }; - -static const unsigned char table_74[256] = { -   0xA7, 0xCF, 0x99, 0x1A, 0x13, 0xC7, 0xE9, 0xC4, -   0xB6, 0x0E, 0x15, 0x09, 0xFF, 0xDF, 0xBE, 0x03, -   0xAD, 0xF1, 0xB0, 0x3C, 0x4A, 0x9B, 0xF5, 0x12, -   0xA1, 0x2C, 0xDB, 0x51, 0x5E, 0x6F, 0xE6, 0x49, -   0x27, 0xBB, 0xAE, 0x56, 0xC0, 0x0C, 0x77, 0x60, -   0x5B, 0x69, 0xA2, 0xF0, 0x24, 0x8E, 0xE1, 0xA4, -   0xBC, 0x9F, 0x50, 0xD4, 0x61, 0x19, 0x67, 0x00, -   0x7B, 0xAB, 0xDD, 0x26, 0xCD, 0x6C, 0xE8, 0xA8, -   0x7A, 0x93, 0xEF, 0x20, 0x52, 0x1F, 0x1B, 0x46, -   0x25, 0x3B, 0x1E, 0x65, 0xC2, 0xF9, 0x10, 0xB2, -   0xB3, 0xD9, 0x21, 0xD2, 0x11, 0x94, 0xE2, 0xFC, -   0x38, 0x9E, 0x36, 0x87, 0xAA, 0x53, 0x45, 0x68, -   0x2B, 0xE7, 0x07, 0xFA, 0xD3, 0x8D, 0x3F, 0x17, -   0xC1, 0x06, 0x72, 0x62, 0x8C, 0x55, 0x73, 0x8A, -   0xC9, 0x2E, 0x5A, 0x7D, 0x02, 0x6D, 0xF8, 0x4B, -   0xE4, 0xBF, 0xEC, 0xB7, 0x31, 0xDC, 0xF4, 0xB8, -   0x47, 0x64, 0x0A, 0x33, 0x48, 0xAC, 0xFB, 0x05, -   0x3E, 0x34, 0x1C, 0x97, 0x1D, 0x63, 0x37, 0x2D, -   0xB1, 0x92, 0xED, 0x9D, 0x4C, 0xD5, 0x4E, 0x9A, -   0x0D, 0x79, 0x0F, 0xBD, 0x95, 0xBA, 0x08, 0x2A, -   0xC6, 0x7E, 0x88, 0xCB, 0xA6, 0x29, 0x70, 0x35, -   0x66, 0xCA, 0x89, 0x75, 0x6A, 0x4F, 0xB5, 0x6B, -   0x74, 0xDE, 0x01, 0x04, 0x81, 0x91, 0x90, 0x18, -   0x32, 0x0B, 0x7F, 0x44, 0xB4, 0xAF, 0xF2, 0xEB, -   0x22, 0xFD, 0x14, 0xA0, 0xFE, 0x8B, 0xB9, 0x16, -   0x86, 0xE3, 0xD7, 0xDA, 0xC5, 0x3A, 0x41, 0x83, -   0xD1, 0x28, 0x54, 0x30, 0xE0, 0x40, 0xA5, 0x57, -   0x8F, 0x84, 0xD6, 0x96, 0x39, 0xE5, 0x42, 0x80, -   0xA9, 0x58, 0xCE, 0x5D, 0xEE, 0x5F, 0xA3, 0xD0, -   0xC8, 0x59, 0x43, 0x4D, 0x5C, 0xF7, 0xCC, 0x76, -   0x6E, 0xF3, 0x23, 0x3D, 0x85, 0x82, 0x78, 0xF6, -   0x2F, 0xD8, 0xC3, 0x7C, 0x9C, 0x98, 0xEA, 0x71 }; - -static const unsigned char table_75[256] = { -   0xE7, 0xA5, 0x30, 0xE1, 0x9D, 0x81, 0xBE, 0x83, -   0xB2, 0x1E, 0xE4, 0x69, 0x2F, 0x2B, 0x0D, 0xEB, -   0x7C, 0x59, 0x2D, 0xAA, 0x01, 0x0C, 0xDB, 0xED, -   0xC4, 0xEE, 0x5D, 0x38, 0x72, 0xD8, 0x70, 0xCE, -   0x0B, 0xF6, 0x7F, 0x48, 0x26, 0x9E, 0xA3, 0x44, -   0xD6, 0xCF, 0x0F, 0x6B, 0xFD, 0x23, 0x98, 0xAB, -   0x11, 0xD4, 0x92, 0x91, 0x5E, 0x08, 0x4D, 0xC6, -   0xF0, 0xA8, 0x7E, 0x8A, 0x1D, 0xA1, 0x97, 0x76, -   0x3E, 0x64, 0x07, 0x24, 0xDE, 0x75, 0xA4, 0xCC, -   0x1A, 0x04, 0x4B, 0x6C, 0xFA, 0xB0, 0xC7, 0x35, -   0xE2, 0x56, 0x61, 0xA0, 0xE9, 0x27, 0xDF, 0xC3, -   0xE5, 0xF4, 0x8D, 0xB4, 0xD3, 0x52, 0xD7, 0x49, -   0xCD, 0x31, 0x6E, 0x3F, 0x4E, 0x6A, 0x5B, 0x65, -   0xCA, 0x14, 0x71, 0x53, 0xD9, 0x47, 0x28, 0x7D, -   0x17, 0x06, 0x5C, 0xFE, 0xBA, 0xB8, 0xAC, 0x15, -   0xE8, 0xE0, 0x9A, 0xDD, 0x1F, 0xBC, 0x95, 0x42, -   0xCB, 0x58, 0x00, 0x85, 0xD5, 0x62, 0xC9, 0xB6, -   0x05, 0x80, 0x4C, 0x3C, 0x1C, 0xF5, 0x03, 0xF8, -   0x96, 0x77, 0x02, 0x19, 0xF2, 0xFB, 0x5F, 0xC2, -   0xAE, 0x60, 0x1B, 0xAD, 0x8F, 0xC1, 0x33, 0xA6, -   0x20, 0xBF, 0xA7, 0xC8, 0x74, 0x18, 0x90, 0xE3, -   0x68, 0x09, 0x7A, 0x79, 0xB5, 0xDA, 0xF3, 0x0E, -   0x66, 0x84, 0xB3, 0xBB, 0xE6, 0xF7, 0xB7, 0x7B, -   0x39, 0x4A, 0x12, 0x4F, 0xC5, 0x41, 0x54, 0xD0, -   0xFF, 0x87, 0x63, 0x40, 0x99, 0x21, 0x29, 0xD2, -   0x3D, 0x37, 0x3A, 0x93, 0xFC, 0x25, 0xF1, 0xD1, -   0x2C, 0x6D, 0x8C, 0x5A, 0x8E, 0x9B, 0xBD, 0xAF, -   0x10, 0x55, 0xF9, 0x9F, 0x43, 0x0A, 0x50, 0x16, -   0x57, 0xB1, 0xC0, 0x73, 0x82, 0xEF, 0x88, 0x6F, -   0xEA, 0x2A, 0xEC, 0x2E, 0x86, 0x45, 0x51, 0x22, -   0xA9, 0x34, 0x94, 0x3B, 0xB9, 0x9C, 0xA2, 0x13, -   0x89, 0x46, 0x78, 0xDC, 0x32, 0x8B, 0x67, 0x36 }; - -static const unsigned char table_76[256] = { -   0x3D, 0x66, 0x40, 0xC5, 0x1D, 0xF5, 0xE7, 0xB7, -   0x2C, 0x23, 0x09, 0xC2, 0x68, 0xE6, 0xD3, 0x8D, -   0x35, 0x94, 0x93, 0xF0, 0x43, 0x97, 0x2B, 0x4B, -   0x1A, 0xEB, 0x00, 0x4C, 0x6F, 0xE4, 0x92, 0xEA, -   0xB8, 0xA3, 0xA6, 0xEC, 0x11, 0x5E, 0x61, 0x81, -   0xE1, 0x48, 0xC9, 0xCB, 0xDB, 0x2E, 0x3B, 0xED, -   0x36, 0x52, 0x3A, 0xD2, 0x4F, 0x4E, 0x22, 0x96, -   0x57, 0x2D, 0x62, 0x53, 0xCF, 0xD9, 0x5B, 0x9F, -   0x8E, 0x78, 0xC6, 0x07, 0x7D, 0xA1, 0x02, 0xB4, -   0xF4, 0xB6, 0x34, 0x98, 0xDA, 0xA9, 0xD4, 0x54, -   0x99, 0x82, 0x0A, 0xD8, 0x88, 0x5D, 0x3C, 0xD0, -   0xAB, 0x31, 0xFB, 0x03, 0x17, 0x46, 0xE8, 0xE2, -   0xA4, 0xFF, 0xB0, 0xAA, 0xAD, 0x7C, 0x55, 0x49, -   0x75, 0x6B, 0x10, 0x24, 0xC0, 0x04, 0xB1, 0xBF, -   0x6A, 0xF6, 0x15, 0xEF, 0x5C, 0x60, 0x27, 0x3E, -   0x38, 0x63, 0xC1, 0x76, 0xFD, 0x84, 0xE0, 0xCD, -   0xFE, 0x30, 0xCE, 0xBB, 0xDC, 0x1E, 0x1B, 0xBC, -   0xB5, 0xE9, 0x9E, 0x8F, 0x0D, 0x3F, 0x91, 0x19, -   0x28, 0x37, 0x26, 0x42, 0x08, 0x9A, 0x0C, 0x83, -   0x90, 0x6D, 0x74, 0x65, 0xF2, 0x4A, 0xDE, 0x8B, -   0x67, 0x0E, 0x8C, 0x5F, 0xF9, 0x7F, 0x5A, 0x86, -   0x69, 0x45, 0x44, 0xD5, 0xF7, 0xE5, 0x8A, 0xA8, -   0xC8, 0x7E, 0x05, 0x64, 0xEE, 0x79, 0xBE, 0x7A, -   0x14, 0xD6, 0x50, 0x18, 0x25, 0xBD, 0x85, 0xE3, -   0xA2, 0x70, 0xCC, 0x59, 0x71, 0x77, 0xFA, 0x47, -   0x9B, 0x1F, 0x9D, 0xBA, 0x29, 0x4D, 0xF8, 0xDF, -   0xC4, 0x72, 0x2F, 0xAE, 0x06, 0x51, 0x41, 0xAF, -   0xF3, 0xDD, 0x87, 0xB2, 0x9C, 0xC7, 0x12, 0x16, -   0x20, 0xA7, 0x21, 0x73, 0xF1, 0x58, 0xD7, 0x7B, -   0xB9, 0xB3, 0x32, 0x01, 0x80, 0x1C, 0x39, 0x0B, -   0x13, 0x56, 0x6C, 0x89, 0x33, 0x6E, 0x2A, 0xA5, -   0xD1, 0x95, 0xC3, 0xA0, 0x0F, 0xCA, 0xAC, 0xFC }; - -static const unsigned char table_77[32] = { -   0x1C, 0x0D, 0x1E, 0x01, 0x06, 0x16, 0x18, 0x17, -   0x0B, 0x1F, 0x04, 0x0F, 0x00, 0x19, 0x08, 0x0A, -   0x11, 0x03, 0x05, 0x07, 0x09, 0x0C, 0x15, 0x14, -   0x1A, 0x12, 0x13, 0x0E, 0x1D, 0x10, 0x02, 0x1B }; - -static const unsigned char table_78[32] = { -   0x0E, 0x02, 0x17, 0x12, 0x1E, 0x09, 0x15, 0x03, -   0x01, 0x0B, 0x0F, 0x11, 0x10, 0x0A, 0x16, 0x06, -   0x07, 0x00, 0x1C, 0x1D, 0x1F, 0x0C, 0x18, 0x04, -   0x13, 0x0D, 0x1B, 0x08, 0x19, 0x14, 0x05, 0x1A }; - -static const unsigned char table_79[32] = { -   0x12, 0x0B, 0x11, 0x01, 0x07, 0x0E, 0x1A, 0x0D, -   0x1E, 0x18, 0x14, 0x1F, 0x0A, 0x17, 0x19, 0x1B, -   0x00, 0x10, 0x0C, 0x08, 0x13, 0x02, 0x0F, 0x1D, -   0x09, 0x06, 0x04, 0x16, 0x15, 0x1C, 0x05, 0x03 }; - -static const unsigned char table_80[256] = { -   0x14, 0xE7, 0x31, 0x0F, 0xD1, 0x5F, 0xED, 0x1E, -   0xA6, 0x77, 0x20, 0x57, 0x34, 0x64, 0x33, 0x0B, -   0x5A, 0xB4, 0x83, 0x62, 0xFD, 0x8E, 0xE4, 0xF3, -   0xBD, 0xA5, 0xC8, 0x6D, 0x3E, 0x4F, 0x01, 0x7A, -   0xD3, 0x45, 0x3C, 0xF2, 0x68, 0xFF, 0xE6, 0x84, -   0xC2, 0xC1, 0x53, 0x72, 0x8C, 0xA1, 0xC7, 0x00, -   0x89, 0x97, 0x69, 0xA4, 0xF8, 0xAA, 0xAD, 0x8F, -   0x24, 0xC6, 0x9A, 0xAC, 0xE5, 0xAB, 0x6B, 0x79, -   0x99, 0x60, 0x28, 0x2B, 0x3B, 0xAF, 0x1C, 0x80, -   0xA3, 0x8A, 0x1A, 0xB5, 0xE1, 0x9F, 0xDA, 0x78, -   0xD7, 0xC4, 0x87, 0x5D, 0xE9, 0x27, 0xFB, 0x18, -   0x94, 0x3A, 0xCE, 0x3F, 0xF6, 0x12, 0x75, 0x37, -   0x6E, 0x9E, 0x29, 0x6C, 0xF7, 0x7D, 0x92, 0x08, -   0x42, 0xB2, 0xBF, 0x0C, 0xB6, 0x25, 0xE0, 0x49, -   0x43, 0x91, 0x98, 0xBB, 0xDC, 0x63, 0xEA, 0xA8, -   0x74, 0x38, 0x35, 0xCD, 0x07, 0x70, 0x81, 0x41, -   0xC9, 0x51, 0xBC, 0xA9, 0x59, 0xD4, 0xB8, 0x2C, -   0x7C, 0x2D, 0xB3, 0x6F, 0x11, 0x86, 0x9D, 0x46, -   0xF0, 0x65, 0x76, 0x04, 0x0E, 0xCA, 0xBE, 0x5C, -   0xF9, 0x71, 0x9C, 0x21, 0x4C, 0x02, 0xFE, 0x8D, -   0xD5, 0x26, 0x40, 0xC3, 0x32, 0x9B, 0xB0, 0x5E, -   0x48, 0xC5, 0x85, 0x4B, 0x0A, 0xCC, 0x58, 0x52, -   0x61, 0x13, 0xEF, 0x4A, 0xEE, 0x03, 0xD9, 0xDE, -   0xA7, 0x19, 0x09, 0x7F, 0x5B, 0x96, 0xBA, 0x0D, -   0xCF, 0xD2, 0x06, 0x1F, 0xD8, 0xDB, 0xEC, 0xA0, -   0xDD, 0x66, 0x10, 0xA2, 0xDF, 0x30, 0xF4, 0x88, -   0xCB, 0x36, 0x82, 0xE3, 0x73, 0x17, 0x55, 0x15, -   0xF5, 0xB7, 0x23, 0xB1, 0xD6, 0xE2, 0x47, 0x7E, -   0x67, 0xE8, 0x1D, 0x16, 0x8B, 0xEB, 0xD0, 0x3D, -   0x6A, 0x54, 0x2A, 0x4E, 0x93, 0xFA, 0x44, 0x05, -   0x2F, 0x50, 0x2E, 0x95, 0xAE, 0x1B, 0x56, 0x7B, -   0x39, 0xB9, 0xC0, 0x22, 0xF1, 0x4D, 0x90, 0xFC }; - -static const unsigned char table_81[32] = { -   0x03, 0x02, 0x1D, 0x0E, 0x09, 0x1A, 0x0C, 0x11, -   0x1C, 0x0D, 0x08, 0x12, 0x19, 0x10, 0x04, 0x17, -   0x15, 0x05, 0x0A, 0x00, 0x13, 0x16, 0x1B, 0x18, -   0x1E, 0x0B, 0x0F, 0x01, 0x07, 0x14, 0x1F, 0x06 }; - -static const unsigned char table_82[256] = { -   0x53, 0xD3, 0x64, 0x89, 0x7D, 0xA5, 0x66, 0xA4, -   0x09, 0x46, 0x17, 0x2C, 0xAF, 0x8C, 0x21, 0x5F, -   0x3B, 0x22, 0xE3, 0x05, 0x07, 0x28, 0x2F, 0xAB, -   0xF4, 0x8E, 0x51, 0x31, 0x02, 0xC7, 0x48, 0x13, -   0x24, 0x12, 0xB8, 0xE5, 0xBD, 0xAE, 0x7E, 0xCC, -   0xC9, 0x98, 0x08, 0xEE, 0xDB, 0x1B, 0xE8, 0x3D, -   0x8F, 0xF2, 0xFB, 0x36, 0x4D, 0x94, 0x9C, 0x16, -   0xF7, 0x42, 0x9B, 0x2B, 0xFD, 0x7B, 0x77, 0x3F, -   0xC3, 0xFC, 0x23, 0x93, 0x50, 0x0C, 0x79, 0x18, -   0x47, 0xE1, 0xCB, 0xA7, 0xB6, 0x85, 0xE6, 0x61, -   0x2D, 0xD8, 0x9F, 0x80, 0xE9, 0x14, 0x0B, 0x1C, -   0x40, 0x76, 0x2A, 0x25, 0x0E, 0x99, 0xAC, 0xC4, -   0xEB, 0x29, 0x41, 0x8A, 0x73, 0x06, 0x57, 0xC6, -   0x8D, 0xFA, 0x5A, 0xCD, 0x67, 0xB2, 0xD9, 0x0A, -   0x1E, 0xEF, 0x3E, 0xA0, 0x45, 0x03, 0x27, 0xF1, -   0x38, 0x54, 0xC1, 0x7A, 0xFE, 0x52, 0x75, 0xD4, -   0x74, 0x7C, 0xD2, 0x68, 0xEA, 0x4C, 0x97, 0xF9, -   0xF5, 0x8B, 0x0F, 0x84, 0xA8, 0x6E, 0x9E, 0x11, -   0x6B, 0xBC, 0x4B, 0x6C, 0x9A, 0xF0, 0xA3, 0x1F, -   0x92, 0x19, 0xA2, 0x3A, 0x15, 0x04, 0xC5, 0x62, -   0xD5, 0x96, 0x90, 0x32, 0xAA, 0xD6, 0xCF, 0x35, -   0xB4, 0x81, 0x2E, 0x01, 0x10, 0x49, 0x70, 0xDE, -   0xDD, 0x88, 0xB9, 0x6D, 0x60, 0xBB, 0x44, 0xF8, -   0x3C, 0xEC, 0x34, 0x82, 0x95, 0x72, 0x58, 0x4E, -   0xE4, 0x0D, 0xBE, 0xDA, 0x83, 0x4A, 0x00, 0xBF, -   0xD0, 0xC8, 0x26, 0xB3, 0x65, 0x1A, 0x69, 0xCA, -   0xF3, 0xD7, 0x6F, 0x55, 0xE2, 0xFF, 0x5D, 0xDC, -   0x20, 0xF6, 0x63, 0xED, 0xE0, 0x59, 0x9D, 0xB1, -   0x1D, 0xAD, 0x91, 0xA1, 0xB7, 0xA9, 0xDF, 0xC0, -   0x39, 0xD1, 0x43, 0xCE, 0x4F, 0x5C, 0xE7, 0x37, -   0x5E, 0x33, 0x5B, 0xA6, 0xC2, 0xB0, 0xBA, 0x30, -   0x6A, 0x78, 0xB5, 0x71, 0x56, 0x87, 0x7F, 0x86 }; - -static const unsigned char table_83[32] = { -   0x1B, 0x0A, 0x1F, 0x01, 0x10, 0x08, 0x0E, 0x18, -   0x06, 0x04, 0x00, 0x1C, 0x0C, 0x19, 0x0D, 0x16, -   0x02, 0x03, 0x09, 0x07, 0x13, 0x0F, 0x05, 0x12, -   0x17, 0x1E, 0x1A, 0x1D, 0x0B, 0x11, 0x14, 0x15 }; - -static const unsigned char table_84[32] = { -   0x02, 0x1A, 0x0D, 0x15, 0x01, 0x16, 0x1E, 0x00, -   0x08, 0x1B, 0x04, 0x10, 0x1C, 0x18, 0x19, 0x14, -   0x0C, 0x11, 0x0B, 0x0E, 0x03, 0x0A, 0x07, 0x12, -   0x1D, 0x17, 0x13, 0x06, 0x0F, 0x05, 0x09, 0x1F }; - -static const unsigned char table_85[256] = { -   0xC6, 0x7C, 0xCE, 0xBD, 0x84, 0x3E, 0x0B, 0xD8, -   0xFE, 0xCC, 0x46, 0x50, 0xD1, 0xFB, 0xA0, 0x6D, -   0xEA, 0xE2, 0x40, 0x51, 0x13, 0xB0, 0xD6, 0xB1, -   0xA8, 0xDF, 0x61, 0xA4, 0x80, 0x21, 0xB3, 0x33, -   0x06, 0x6B, 0xE3, 0x8C, 0xA1, 0x18, 0xBA, 0x03, -   0xD7, 0x8D, 0x54, 0x12, 0x4C, 0xEE, 0x9E, 0xCF, -   0x04, 0x2A, 0x08, 0xBB, 0xC2, 0xD4, 0xC3, 0x4A, -   0xD5, 0xFA, 0x36, 0x2F, 0x14, 0x3F, 0xED, 0x05, -   0x17, 0x28, 0x75, 0xFC, 0xA2, 0x1F, 0x4B, 0x6F, -   0x91, 0x7E, 0x4E, 0x96, 0x3B, 0xF3, 0x1D, 0x78, -   0xEB, 0x68, 0xF1, 0xA7, 0x9F, 0xC7, 0x59, 0x6C, -   0x92, 0xE6, 0x66, 0x07, 0x8A, 0x25, 0x26, 0x72, -   0x30, 0x5A, 0x81, 0x2C, 0x58, 0x32, 0xCB, 0xE0, -   0xF9, 0x48, 0x83, 0x9B, 0xA5, 0xE1, 0xA6, 0x64, -   0xFF, 0xC9, 0x8F, 0x53, 0x3D, 0x24, 0xC8, 0xDE, -   0x02, 0x7D, 0x09, 0xB4, 0x0A, 0x95, 0x0F, 0xE4, -   0xDB, 0xB7, 0x71, 0x4D, 0x1C, 0xAC, 0x35, 0xCD, -   0x29, 0xDD, 0xC1, 0xF2, 0xF4, 0xC0, 0x5C, 0x74, -   0xDC, 0x87, 0xFD, 0x4F, 0x11, 0x0E, 0x5D, 0x3C, -   0x01, 0x73, 0xE9, 0xD9, 0x10, 0x9A, 0x5B, 0xC5, -   0x98, 0x34, 0x15, 0xAE, 0xF7, 0xAA, 0x67, 0x23, -   0xBC, 0x8B, 0x7B, 0x65, 0xA9, 0xB6, 0x77, 0x00, -   0x19, 0x0C, 0x5E, 0x99, 0xF0, 0x55, 0x86, 0x97, -   0x69, 0xDA, 0x38, 0x9C, 0x16, 0xE8, 0x27, 0xAF, -   0x2E, 0x47, 0x6A, 0xD0, 0x79, 0x44, 0x45, 0x2B, -   0x5F, 0x85, 0xF5, 0x62, 0x70, 0x22, 0x7F, 0xF6, -   0x88, 0x93, 0x60, 0x42, 0x3A, 0x39, 0x49, 0x6E, -   0x89, 0x52, 0x20, 0xF8, 0xCA, 0xD2, 0x76, 0xB9, -   0xAB, 0x7A, 0x9D, 0xD3, 0xBE, 0x1A, 0xAD, 0x41, -   0x56, 0x31, 0x90, 0xB5, 0xB2, 0xEC, 0xA3, 0xE5, -   0x8E, 0x1B, 0xEF, 0xBF, 0x94, 0xC4, 0x0D, 0xB8, -   0x2D, 0x57, 0xE7, 0x82, 0x1E, 0x37, 0x63, 0x43 }; - -static const unsigned char table_86[32] = { -   0x11, 0x07, 0x0F, 0x0A, 0x19, 0x1D, 0x0B, 0x09, -   0x1C, 0x1E, 0x14, 0x06, 0x0C, 0x16, 0x13, 0x04, -   0x15, 0x18, 0x00, 0x0D, 0x12, 0x05, 0x08, 0x02, -   0x10, 0x1A, 0x1F, 0x01, 0x17, 0x0E, 0x03, 0x1B }; - -static const unsigned char table_87[32] = { -   0x17, 0x0E, 0x1D, 0x13, 0x0B, 0x19, 0x03, 0x06, -   0x09, 0x01, 0x0D, 0x15, 0x1C, 0x16, 0x18, 0x1B, -   0x11, 0x10, 0x00, 0x1E, 0x1F, 0x08, 0x12, 0x0F, -   0x02, 0x04, 0x07, 0x1A, 0x14, 0x0A, 0x0C, 0x05 }; - -static const unsigned char table_88[32] = { -   0x09, 0x08, 0x17, 0x10, 0x0A, 0x07, 0x1C, 0x1F, -   0x04, 0x0E, 0x01, 0x0C, 0x0D, 0x1B, 0x03, 0x15, -   0x02, 0x1E, 0x18, 0x19, 0x0F, 0x06, 0x1A, 0x0B, -   0x05, 0x11, 0x14, 0x00, 0x16, 0x1D, 0x12, 0x13 }; - -static const unsigned char table_89[32] = { -   0x15, 0x1C, 0x1D, 0x14, 0x0F, 0x1A, 0x05, 0x02, -   0x07, 0x09, 0x06, 0x08, 0x1F, 0x00, 0x10, 0x13, -   0x0D, 0x03, 0x0C, 0x18, 0x0E, 0x16, 0x1B, 0x1E, -   0x12, 0x04, 0x11, 0x0A, 0x01, 0x0B, 0x17, 0x19 }; - -static const unsigned char table_90[256] = { -   0x62, 0x36, 0x64, 0x0E, 0x4C, 0x6C, 0xBE, 0xCF, -   0x25, 0x5A, 0x3D, 0x12, 0x54, 0x9F, 0xE7, 0xA5, -   0xDE, 0xD7, 0xB2, 0x60, 0x18, 0x8D, 0x89, 0x70, -   0x48, 0x66, 0x1C, 0xA6, 0x17, 0x9B, 0xDF, 0x9A, -   0x82, 0xB9, 0x2E, 0xFA, 0x83, 0x5B, 0x7A, 0x61, -   0xFC, 0x6B, 0x8B, 0x4E, 0x0F, 0xAD, 0x78, 0xE1, -   0xE8, 0x15, 0x1A, 0xF7, 0xA3, 0x3A, 0x04, 0xE3, -   0x30, 0x8C, 0x06, 0xC4, 0x05, 0x32, 0x1F, 0x6A, -   0xB8, 0x37, 0x58, 0xF5, 0x74, 0x63, 0xD4, 0xAC, -   0xA4, 0xF3, 0xEC, 0xBB, 0x8E, 0x65, 0xA0, 0xEE, -   0x6D, 0x11, 0xDD, 0xEA, 0x68, 0x2B, 0xDA, 0x0B, -   0xEF, 0xC3, 0x8F, 0x03, 0x77, 0x1B, 0xFB, 0x1E, -   0x5C, 0xD9, 0xCB, 0x33, 0x55, 0xF1, 0xA1, 0xF9, -   0x7C, 0x38, 0x95, 0x00, 0x6E, 0x85, 0xC2, 0x7F, -   0xBF, 0x84, 0x2A, 0x13, 0x72, 0x81, 0xE9, 0x59, -   0x41, 0x69, 0x3B, 0x0C, 0x90, 0xB4, 0x51, 0x2F, -   0xA2, 0xFE, 0xF8, 0x49, 0x57, 0xE5, 0x96, 0xFF, -   0xCD, 0xD5, 0xCE, 0xAA, 0x40, 0xB0, 0x4D, 0xBA, -   0xDB, 0xC7, 0x46, 0x86, 0xD1, 0xCA, 0xC0, 0x67, -   0x9C, 0x21, 0xAE, 0xB3, 0x7B, 0x87, 0xE2, 0x71, -   0xE6, 0x39, 0xA8, 0x22, 0x07, 0x2C, 0x44, 0x52, -   0xA7, 0xF0, 0x4A, 0x92, 0x56, 0x28, 0x43, 0x8A, -   0x5E, 0x53, 0x93, 0x47, 0x97, 0x88, 0x76, 0x79, -   0x91, 0x26, 0xC1, 0x3F, 0xB7, 0xF6, 0x3E, 0x80, -   0xA9, 0xC6, 0x01, 0xD2, 0xEB, 0x9E, 0x4B, 0xBC, -   0xC8, 0xB5, 0x02, 0x5F, 0x98, 0x9D, 0x5D, 0x35, -   0xD0, 0x16, 0xB1, 0x23, 0x7D, 0xAF, 0x10, 0x3C, -   0xAB, 0x14, 0x09, 0x2D, 0x0D, 0xC5, 0x1D, 0xD6, -   0x42, 0xF2, 0x34, 0x73, 0xF4, 0xFD, 0xE0, 0x24, -   0x6F, 0xD3, 0x75, 0xD8, 0xCC, 0xB6, 0x99, 0x4F, -   0x29, 0x0A, 0x08, 0xE4, 0x27, 0x19, 0x31, 0xC9, -   0x20, 0x94, 0x45, 0xED, 0xDC, 0xBD, 0x7E, 0x50 }; - -static const unsigned char table_91[32] = { -   0x03, 0x04, 0x0C, 0x18, 0x10, 0x0D, 0x13, 0x1B, -   0x1F, 0x07, 0x11, 0x17, 0x1C, 0x1D, 0x05, 0x06, -   0x0A, 0x12, 0x02, 0x1A, 0x0B, 0x01, 0x0E, 0x08, -   0x14, 0x16, 0x00, 0x15, 0x19, 0x09, 0x0F, 0x1E }; - -static const unsigned char table_92[32] = { -   0x1E, 0x10, 0x01, 0x07, 0x11, 0x16, 0x15, 0x17, -   0x1F, 0x14, 0x0C, 0x1C, 0x06, 0x03, 0x00, 0x18, -   0x08, 0x0E, 0x02, 0x1B, 0x09, 0x0D, 0x19, 0x05, -   0x0F, 0x12, 0x0B, 0x13, 0x0A, 0x04, 0x1D, 0x1A }; - -static const unsigned char table_93[256] = { -   0x76, 0x78, 0xA2, 0x94, 0x0E, 0x7F, 0xDF, 0xC1, -   0xB9, 0xE1, 0x3D, 0x59, 0x6F, 0x1E, 0x53, 0x99, -   0x80, 0xE3, 0x21, 0xF8, 0x65, 0xB8, 0x08, 0xBC, -   0x29, 0x17, 0xFD, 0x33, 0x35, 0xF2, 0x70, 0xC7, -   0x25, 0xD0, 0xCD, 0x7A, 0xB7, 0x9B, 0xA5, 0xC3, -   0x00, 0x90, 0xDC, 0xB1, 0x0C, 0x20, 0x67, 0x8D, -   0x43, 0x49, 0xF3, 0x96, 0x14, 0x1A, 0xC8, 0x19, -   0x72, 0xD7, 0x8A, 0x38, 0x66, 0xDA, 0xDD, 0x2E, -   0xBE, 0xD5, 0x91, 0x7C, 0x3A, 0x92, 0x8E, 0xE7, -   0x51, 0xB5, 0xA8, 0xD9, 0x0B, 0x2A, 0xBA, 0x81, -   0x41, 0x0F, 0xBD, 0x4E, 0x31, 0x23, 0x9C, 0x8B, -   0x2B, 0x1D, 0x04, 0x3E, 0x8C, 0xF0, 0x45, 0xA0, -   0x1C, 0x44, 0x55, 0x5E, 0xF1, 0x98, 0x54, 0x5D, -   0x9D, 0x84, 0xAE, 0x09, 0xA9, 0xC5, 0x83, 0x60, -   0x86, 0x95, 0xB4, 0xFA, 0x6B, 0xA7, 0x9A, 0xCA, -   0x8F, 0x4F, 0x0A, 0x7B, 0xB0, 0x02, 0xEA, 0xA4, -   0x18, 0xDB, 0xD3, 0x64, 0xEB, 0xFC, 0xC4, 0xC9, -   0xF5, 0xD6, 0xCC, 0x75, 0x0D, 0x5C, 0x93, 0x4A, -   0x6D, 0xC0, 0x1F, 0x50, 0xE6, 0x16, 0xEE, 0x07, -   0xFB, 0x74, 0x56, 0x58, 0x52, 0x89, 0x79, 0x68, -   0xB6, 0xFE, 0x01, 0xD4, 0x7E, 0x06, 0xBF, 0xCB, -   0x5B, 0xC2, 0xC6, 0x32, 0xAC, 0x26, 0x22, 0xD2, -   0x82, 0x46, 0x69, 0x15, 0x2C, 0xF7, 0xAD, 0x13, -   0x4D, 0xA3, 0xF6, 0x2D, 0x48, 0x71, 0x57, 0x11, -   0x63, 0x05, 0x5F, 0x9E, 0x4B, 0xAB, 0xA6, 0x61, -   0xBB, 0xA1, 0x3C, 0x97, 0xF9, 0x03, 0x40, 0x12, -   0xCF, 0x37, 0xE4, 0x10, 0x6A, 0xED, 0xFF, 0x62, -   0x42, 0x4C, 0xAF, 0x9F, 0xE5, 0xE8, 0xD8, 0xD1, -   0x28, 0x3F, 0x1B, 0xE9, 0xCE, 0x6C, 0x27, 0x88, -   0xEF, 0x2F, 0xE0, 0x30, 0x87, 0x5A, 0x73, 0xB3, -   0x6E, 0x3B, 0x7D, 0x77, 0x36, 0xAA, 0x39, 0xDE, -   0x24, 0x34, 0xE2, 0xEC, 0x85, 0x47, 0xF4, 0xB2 }; - -static const unsigned char table_94[32] = { -   0x1C, 0x07, 0x05, 0x1A, 0x10, 0x1D, 0x14, 0x12, -   0x08, 0x0F, 0x0C, 0x01, 0x04, 0x1B, 0x16, 0x0A, -   0x11, 0x02, 0x1F, 0x13, 0x0D, 0x1E, 0x17, 0x06, -   0x0E, 0x09, 0x15, 0x19, 0x03, 0x18, 0x00, 0x0B }; - -static const unsigned char table_95[32] = { -   0x12, 0x10, 0x11, 0x15, 0x03, 0x0A, 0x14, 0x05, -   0x1D, 0x07, 0x17, 0x0D, 0x09, 0x08, 0x1B, 0x1F, -   0x0B, 0x06, 0x19, 0x0E, 0x18, 0x04, 0x00, 0x02, -   0x1E, 0x1C, 0x01, 0x0C, 0x1A, 0x0F, 0x13, 0x16 }; - -static const unsigned char table_96[256] = { -   0x1C, 0x6E, 0xCD, 0xB4, 0xB3, 0x93, 0xA8, 0x2E, -   0x4F, 0x09, 0xE3, 0x72, 0x64, 0x13, 0x21, 0xF5, -   0x89, 0xB2, 0xD2, 0x22, 0x5D, 0x63, 0x90, 0xC4, -   0x42, 0x9B, 0x07, 0xCA, 0x16, 0x19, 0x5C, 0x2B, -   0x3D, 0xA0, 0x69, 0x5F, 0x52, 0x41, 0x66, 0xC0, -   0x55, 0xDA, 0x82, 0x40, 0x25, 0x02, 0x3C, 0xDD, -   0xAE, 0xD7, 0xD6, 0xDB, 0x04, 0x78, 0x05, 0x4A, -   0x4C, 0x81, 0x00, 0xBE, 0x45, 0xC5, 0x30, 0xB0, -   0x65, 0x5A, 0xA9, 0x38, 0x75, 0x26, 0x85, 0x4E, -   0xF0, 0xA2, 0x91, 0x8A, 0x54, 0xD0, 0x3E, 0x0D, -   0xFE, 0xF2, 0x0A, 0x23, 0x24, 0x37, 0x32, 0x0B, -   0xCB, 0xB5, 0x28, 0x6A, 0x95, 0x49, 0x53, 0x9A, -   0xEE, 0x2C, 0x9D, 0xD4, 0x1D, 0x46, 0xC9, 0x79, -   0xCC, 0xDF, 0x17, 0xE8, 0x6D, 0x29, 0x0E, 0x80, -   0xE0, 0x62, 0xA1, 0xFA, 0x10, 0xF6, 0x03, 0xC1, -   0x15, 0x14, 0x1F, 0x99, 0x97, 0xD5, 0x9E, 0x3F, -   0x7B, 0x2F, 0xEF, 0x2A, 0x68, 0x83, 0xE2, 0x1B, -   0xC8, 0x87, 0x12, 0x70, 0xC7, 0x36, 0xD3, 0x73, -   0x8B, 0x7D, 0x47, 0x9F, 0xD9, 0xFB, 0x6C, 0x5B, -   0xFC, 0xAA, 0xB9, 0xB1, 0x0C, 0x31, 0x8E, 0xF3, -   0x92, 0xA3, 0x4B, 0xF1, 0xC2, 0x3A, 0x67, 0xEA, -   0x77, 0x11, 0xB6, 0xE4, 0x1A, 0x33, 0xD1, 0xBA, -   0xF9, 0xAC, 0x43, 0xE5, 0xC3, 0xC6, 0xFD, 0xF4, -   0x44, 0x6F, 0xB7, 0x88, 0xA7, 0xF8, 0x34, 0x94, -   0x6B, 0x27, 0xDE, 0x1E, 0xDC, 0x01, 0x61, 0x50, -   0xAD, 0x74, 0x4D, 0x86, 0xF7, 0x8D, 0x9C, 0x0F, -   0x5E, 0xBD, 0x08, 0x84, 0x18, 0xED, 0xA5, 0x39, -   0xAB, 0x98, 0x48, 0xE6, 0x2D, 0x96, 0xCF, 0x7F, -   0xFF, 0xBB, 0x8F, 0xEC, 0xBF, 0xE7, 0x56, 0xA4, -   0x35, 0x76, 0xA6, 0xAF, 0xBC, 0x71, 0xE9, 0xB8, -   0x7E, 0x7C, 0x06, 0x3B, 0xEB, 0x60, 0x7A, 0x8C, -   0x59, 0xCE, 0xE1, 0x57, 0x20, 0x58, 0x51, 0xD8 }; - -static const unsigned char table_97[256] = { -   0x15, 0x2D, 0xAF, 0x36, 0xCF, 0xD3, 0xD0, 0xED, -   0xB2, 0x1B, 0xFE, 0x92, 0xBD, 0xAD, 0x58, 0x0F, -   0x76, 0x3C, 0x47, 0x03, 0x2E, 0x4C, 0x40, 0xF7, -   0x39, 0xA7, 0x72, 0x22, 0x95, 0xF3, 0x8C, 0xE0, -   0x79, 0xB6, 0x75, 0x82, 0x94, 0x8F, 0x44, 0xFC, -   0xB0, 0x05, 0xE9, 0x10, 0x68, 0xE7, 0xF1, 0xA5, -   0xA8, 0xE2, 0x6F, 0xBE, 0xE5, 0x54, 0xA2, 0xC6, -   0xDB, 0x1C, 0x9E, 0x6D, 0x14, 0xA1, 0x26, 0x34, -   0x1E, 0x1A, 0x06, 0x53, 0xEE, 0x67, 0xA9, 0x73, -   0xD5, 0x59, 0x2F, 0x61, 0xE6, 0x74, 0xD6, 0x97, -   0xC0, 0x0C, 0xB1, 0x6E, 0x6C, 0x33, 0xC8, 0x77, -   0x8B, 0x49, 0x43, 0xE3, 0xB5, 0xDE, 0x6A, 0xA0, -   0x78, 0x2A, 0xC9, 0xF9, 0x9A, 0xDC, 0x90, 0x55, -   0xF4, 0x16, 0x5E, 0x3F, 0xC5, 0x7C, 0xFA, 0x09, -   0x8E, 0x87, 0xF2, 0x9D, 0x70, 0x27, 0x9B, 0xC4, -   0xCD, 0x91, 0x4B, 0xB4, 0x18, 0xE1, 0x3D, 0x5D, -   0x7A, 0xEA, 0xF0, 0x65, 0xB9, 0xF6, 0xC3, 0x66, -   0x21, 0x96, 0xD1, 0xB8, 0x56, 0x62, 0x48, 0x28, -   0x3A, 0x86, 0x63, 0xD4, 0xD7, 0x41, 0x8D, 0x20, -   0xC2, 0x98, 0x37, 0xD8, 0x85, 0x42, 0x0D, 0x31, -   0x84, 0x4E, 0x11, 0x46, 0x2B, 0x19, 0xCC, 0xB7, -   0x69, 0x13, 0x6B, 0x29, 0x38, 0x7E, 0x0E, 0xD2, -   0x3B, 0x60, 0x89, 0x7F, 0xEF, 0x07, 0x08, 0xCA, -   0xBF, 0x3E, 0xA3, 0xAA, 0x52, 0x4A, 0x45, 0x00, -   0xC7, 0xF8, 0x57, 0xEB, 0x93, 0x9C, 0x4D, 0x7B, -   0x2C, 0xBB, 0xFB, 0xFF, 0x35, 0x4F, 0x32, 0xA6, -   0x23, 0x8A, 0xDD, 0x12, 0xA4, 0x81, 0x17, 0x1D, -   0x1F, 0xCB, 0x0A, 0x71, 0x02, 0xAC, 0xDF, 0x24, -   0xAB, 0x7D, 0x30, 0x5C, 0x01, 0x5A, 0xBA, 0xEC, -   0x51, 0xF5, 0x0B, 0x64, 0xCE, 0xAE, 0x5B, 0x50, -   0x80, 0x88, 0xE8, 0x5F, 0x04, 0xDA, 0xE4, 0xBC, -   0x83, 0x25, 0x9F, 0xD9, 0x99, 0xC1, 0xFD, 0xB3 }; - -static const unsigned char table_98[256] = { -   0xC8, 0xE6, 0x38, 0x93, 0xE5, 0x03, 0x18, 0x1F, -   0xE9, 0x5A, 0xB6, 0xAF, 0xC3, 0x95, 0x00, 0x51, -   0xC0, 0xFD, 0x32, 0xE8, 0x96, 0x57, 0xF0, 0xAA, -   0xDC, 0x71, 0xF8, 0x01, 0x40, 0x0A, 0x4F, 0xB0, -   0x1B, 0x9D, 0x16, 0x92, 0xF3, 0x5E, 0xA9, 0x3C, -   0xBE, 0x6A, 0xA7, 0xE3, 0x35, 0x0D, 0xAD, 0xDB, -   0x48, 0xE0, 0x7E, 0xC6, 0xB4, 0x6D, 0x17, 0x41, -   0x3E, 0xE2, 0x87, 0x12, 0xE1, 0x53, 0xD9, 0x8A, -   0xAC, 0xA6, 0xD8, 0xFA, 0x36, 0x0B, 0x06, 0xDF, -   0x6C, 0x4E, 0xA4, 0xBC, 0xC9, 0xEE, 0x44, 0x26, -   0xF2, 0xE4, 0x9E, 0x34, 0xEF, 0x05, 0x0F, 0x7F, -   0xD1, 0xCD, 0x67, 0x28, 0xC1, 0x8E, 0x7D, 0x90, -   0x8F, 0x60, 0x1E, 0x19, 0xBD, 0x77, 0xB8, 0xD5, -   0x3D, 0x8C, 0x31, 0x99, 0x08, 0xDD, 0x04, 0x30, -   0x61, 0xFB, 0xEB, 0x98, 0x15, 0xFC, 0x10, 0xDE, -   0x20, 0xBA, 0xA1, 0xB3, 0xD4, 0x91, 0x6F, 0x9F, -   0x94, 0x5B, 0x42, 0xCB, 0x75, 0x1C, 0xBB, 0x5C, -   0x5D, 0xD6, 0x66, 0x50, 0xB9, 0xF1, 0x82, 0x7B, -   0x33, 0x23, 0x4A, 0xA5, 0x55, 0x97, 0xEA, 0x37, -   0xF4, 0x64, 0x6E, 0xBF, 0x8B, 0xB1, 0x07, 0x9A, -   0x43, 0x11, 0x65, 0xC2, 0x02, 0xDA, 0x9B, 0x25, -   0xCA, 0x3B, 0x7A, 0xCE, 0xA8, 0xCF, 0xF7, 0x56, -   0x6B, 0xF9, 0x47, 0x2A, 0x2E, 0x1D, 0x2D, 0xE7, -   0x46, 0xD0, 0x62, 0x4C, 0x80, 0x4B, 0x2B, 0xF5, -   0x69, 0x9C, 0x45, 0xED, 0x83, 0xAB, 0x74, 0x39, -   0xA3, 0x85, 0xD7, 0x5F, 0xB2, 0x86, 0x22, 0x29, -   0x89, 0x49, 0x1A, 0xC4, 0x52, 0xEC, 0x8D, 0x73, -   0xD3, 0x7C, 0x79, 0xD2, 0x14, 0x4D, 0x84, 0xA2, -   0x0E, 0x70, 0x78, 0x72, 0xB7, 0xA0, 0xC5, 0x81, -   0x58, 0x0C, 0x68, 0x27, 0xFF, 0xF6, 0xAE, 0xCC, -   0x88, 0xFE, 0x24, 0x2F, 0x76, 0x3F, 0x59, 0x21, -   0x54, 0x3A, 0x13, 0x09, 0x2C, 0xB5, 0xC7, 0x63 }; - -static const unsigned char table_99[32] = { -   0x19, 0x00, 0x10, 0x18, 0x09, 0x11, 0x13, 0x1D, -   0x08, 0x1A, 0x02, 0x05, 0x03, 0x17, 0x12, 0x01, -   0x1F, 0x14, 0x06, 0x07, 0x15, 0x0D, 0x0F, 0x0B, -   0x0E, 0x16, 0x1E, 0x04, 0x1B, 0x0A, 0x0C, 0x1C }; - -static const unsigned char table_100[256] = { -   0x9B, 0x3A, 0xAE, 0x60, 0x27, 0x67, 0x1E, 0x4E, -   0x91, 0xDA, 0x85, 0x43, 0x5C, 0xCC, 0x89, 0x55, -   0x75, 0x56, 0xF2, 0x86, 0xEB, 0xC4, 0x0D, 0xE6, -   0x63, 0x88, 0x38, 0x59, 0x68, 0xD0, 0x18, 0xF0, -   0xBA, 0x28, 0xF5, 0x80, 0x02, 0x5B, 0xE1, 0xA4, -   0x7A, 0x4B, 0x8E, 0xF7, 0x9E, 0x99, 0x70, 0xEF, -   0x66, 0x50, 0xB1, 0xCD, 0x9A, 0xAF, 0x5F, 0x21, -   0xE5, 0x5D, 0x14, 0xD4, 0x34, 0x22, 0xC3, 0x0F, -   0x44, 0xB6, 0x92, 0xCE, 0xB4, 0x6E, 0xB0, 0x00, -   0xF9, 0xB5, 0x10, 0xEA, 0x45, 0x2F, 0x2B, 0xF4, -   0xF6, 0xFE, 0xCB, 0x0A, 0x42, 0xF8, 0xE7, 0xFD, -   0xC8, 0xC2, 0x6C, 0x9C, 0x57, 0xA1, 0x46, 0x04, -   0xE9, 0x97, 0x40, 0x32, 0x19, 0xFA, 0x51, 0xD1, -   0x6D, 0x4C, 0x2A, 0xD9, 0x95, 0x26, 0x72, 0x1B, -   0x83, 0x93, 0x5A, 0x15, 0x33, 0xC5, 0x77, 0x13, -   0xE0, 0x36, 0x37, 0xDB, 0xA7, 0xC7, 0x81, 0x62, -   0xC1, 0x47, 0x64, 0x74, 0x1D, 0x84, 0x29, 0x39, -   0x41, 0x35, 0x09, 0x90, 0x20, 0x9F, 0x8C, 0x7D, -   0x3E, 0x07, 0xB9, 0x76, 0x06, 0xA3, 0x31, 0x7F, -   0x49, 0x6F, 0x3D, 0xD5, 0x25, 0xAC, 0xDF, 0x0B, -   0x3C, 0x79, 0x01, 0x8F, 0x82, 0x2E, 0xFC, 0x98, -   0xA5, 0x58, 0xA0, 0x4A, 0x7C, 0x24, 0xDD, 0x05, -   0x4D, 0x12, 0xBC, 0xAA, 0xE2, 0xAB, 0xD3, 0xBF, -   0x94, 0x2D, 0x54, 0xBB, 0xAD, 0xB7, 0x6A, 0xE3, -   0xBD, 0x5E, 0x8D, 0x08, 0x3B, 0xB8, 0x73, 0x8A, -   0x16, 0xD2, 0x69, 0xE8, 0xEE, 0x53, 0xD8, 0xDC, -   0x48, 0xCF, 0xC6, 0xA9, 0x1A, 0xCA, 0x17, 0x11, -   0xED, 0xC0, 0xA6, 0x1F, 0x96, 0x8B, 0xFF, 0x78, -   0x03, 0x61, 0x1C, 0xA8, 0x3F, 0x9D, 0x0E, 0xC9, -   0xE4, 0xA2, 0x52, 0xEC, 0x4F, 0xD6, 0xF3, 0x6B, -   0x87, 0xB3, 0x7E, 0xDE, 0xD7, 0x71, 0x65, 0xF1, -   0x30, 0x0C, 0xB2, 0x7B, 0xBE, 0xFB, 0x23, 0x2C }; - -static const unsigned char table_101[32] = { -   0x18, 0x08, 0x14, 0x17, 0x03, 0x10, 0x19, 0x04, -   0x0D, 0x1C, 0x06, 0x1D, 0x1E, 0x12, 0x11, 0x0B, -   0x0F, 0x02, 0x0E, 0x1B, 0x13, 0x05, 0x07, 0x16, -   0x15, 0x0A, 0x0C, 0x1A, 0x00, 0x01, 0x1F, 0x09 }; - -static const unsigned char table_102[32] = { -   0x17, 0x1F, 0x0E, 0x05, 0x13, 0x0C, 0x14, 0x1A, -   0x0F, 0x01, 0x12, 0x1C, 0x00, 0x07, 0x0D, 0x02, -   0x10, 0x16, 0x04, 0x11, 0x1D, 0x03, 0x1E, 0x18, -   0x06, 0x15, 0x0A, 0x19, 0x09, 0x08, 0x1B, 0x0B }; - -static const unsigned char table_103[32] = { -   0x0F, 0x09, 0x1E, 0x11, 0x0D, 0x08, 0x10, 0x00, -   0x01, 0x1F, 0x1D, 0x1C, 0x12, 0x04, 0x07, 0x05, -   0x19, 0x14, 0x1B, 0x02, 0x1A, 0x15, 0x17, 0x16, -   0x18, 0x0B, 0x0A, 0x13, 0x0C, 0x0E, 0x03, 0x06 }; - -static const unsigned char table_104[256] = { -   0xA4, 0x9F, 0x78, 0x39, 0x3D, 0x81, 0x51, 0x24, -   0x46, 0x2A, 0x56, 0xE8, 0xDF, 0x73, 0xA8, 0xA2, -   0x0D, 0xDC, 0xA5, 0x4F, 0xF0, 0x93, 0xC0, 0x76, -   0x38, 0x70, 0xB0, 0x30, 0x98, 0x13, 0x8B, 0x14, -   0x26, 0x45, 0x0F, 0x7D, 0x34, 0x72, 0x6B, 0x89, -   0x43, 0xE2, 0x96, 0x5B, 0xEF, 0x2B, 0xF9, 0xDE, -   0x82, 0xB5, 0x61, 0x4A, 0x17, 0xC2, 0x5A, 0xCB, -   0xB2, 0x8D, 0xE4, 0xEC, 0xD9, 0x80, 0xBC, 0x62, -   0x67, 0x11, 0xA9, 0x3A, 0xE1, 0xC4, 0xEA, 0xD2, -   0x71, 0xD0, 0xDB, 0xE5, 0x7B, 0x08, 0x77, 0xD6, -   0x10, 0x19, 0x48, 0xEB, 0xAA, 0x2C, 0x0C, 0x59, -   0xBE, 0xF6, 0x28, 0x50, 0x90, 0x87, 0xCD, 0x04, -   0x1F, 0x79, 0x99, 0x5C, 0x49, 0x06, 0x8A, 0x3E, -   0x5F, 0x5E, 0x15, 0x23, 0x2D, 0xB6, 0xA6, 0x7A, -   0x03, 0x20, 0xDA, 0xFB, 0x35, 0x75, 0xC7, 0x47, -   0xB9, 0x7C, 0xA1, 0xCE, 0xC5, 0xDD, 0xFD, 0x6C, -   0x05, 0xAC, 0x09, 0xB4, 0x95, 0xD1, 0xB1, 0x63, -   0xFF, 0xAE, 0xD5, 0x25, 0x1E, 0x6E, 0x57, 0x18, -   0x74, 0xE6, 0x2F, 0x9A, 0xE7, 0x42, 0x65, 0xF5, -   0x58, 0x27, 0x33, 0x9C, 0xCF, 0xB7, 0xC3, 0xF1, -   0x12, 0x1D, 0xB8, 0xF4, 0x64, 0x4D, 0xD4, 0xBD, -   0xE3, 0xAB, 0x44, 0x60, 0xAF, 0xCC, 0x0A, 0xFC, -   0xD3, 0x21, 0x0B, 0x1A, 0x6D, 0x83, 0xA7, 0x8E, -   0x3C, 0xC1, 0xED, 0xF3, 0x2E, 0x86, 0xC9, 0x41, -   0x02, 0xF7, 0xC8, 0x40, 0x1B, 0xF8, 0xF2, 0x07, -   0x5D, 0x4E, 0xC6, 0x29, 0xD7, 0x4B, 0x7E, 0x31, -   0x94, 0x32, 0x01, 0x92, 0xE9, 0x36, 0x0E, 0x7F, -   0x85, 0x16, 0xFA, 0x00, 0x88, 0x3F, 0x68, 0x4C, -   0x22, 0x55, 0xBF, 0x9D, 0xE0, 0x6A, 0xAD, 0xBA, -   0x91, 0xCA, 0xA3, 0x1C, 0xEE, 0xD8, 0x3B, 0x66, -   0x69, 0x9B, 0x84, 0xA0, 0xB3, 0x6F, 0xFE, 0x52, -   0x97, 0xBB, 0x37, 0x8C, 0x54, 0x53, 0x9E, 0x8F }; - -static const unsigned char table_105[256] = { -   0x7B, 0x35, 0x11, 0x79, 0x07, 0x2F, 0xF6, 0x82, -   0x8E, 0xB4, 0x6E, 0xD2, 0x6D, 0xC5, 0x8C, 0x1C, -   0xE0, 0xD6, 0x34, 0xF0, 0x4F, 0x25, 0x59, 0xE8, -   0xDF, 0x1D, 0xEB, 0x32, 0x86, 0x51, 0xA4, 0xF2, -   0x5C, 0xD1, 0xC8, 0x41, 0xEC, 0x9D, 0x62, 0xAC, -   0xDD, 0x3E, 0xB8, 0x65, 0x75, 0x89, 0x12, 0x6C, -   0x40, 0x4E, 0xC7, 0x27, 0xE1, 0x37, 0xCF, 0x09, -   0x16, 0x78, 0xAA, 0x58, 0x0D, 0xE6, 0x54, 0xFE, -   0x8F, 0xFD, 0xF9, 0x61, 0x26, 0x3F, 0x2E, 0xCD, -   0x2C, 0x04, 0xB2, 0x80, 0x0F, 0x14, 0x6F, 0xC6, -   0xAB, 0xFB, 0x13, 0xDB, 0x9A, 0x21, 0xB3, 0xC0, -   0xA9, 0x19, 0x70, 0xF3, 0x2B, 0xAE, 0x9B, 0x49, -   0xB7, 0xA8, 0x24, 0x1B, 0x48, 0xEA, 0xED, 0xD9, -   0x47, 0x9E, 0x9C, 0x69, 0x3C, 0x66, 0xBB, 0x06, -   0x46, 0x38, 0x17, 0xB5, 0xCB, 0x05, 0x4A, 0x5E, -   0x15, 0x20, 0xB9, 0xB6, 0x33, 0x4C, 0x7D, 0xA3, -   0xD7, 0xB1, 0x23, 0x72, 0xC3, 0x4B, 0x63, 0xBE, -   0xF7, 0x5B, 0x74, 0x64, 0x77, 0xCC, 0xD3, 0x85, -   0xDE, 0x1A, 0x31, 0x97, 0xA2, 0x8B, 0xFC, 0x10, -   0x5F, 0xDC, 0xD5, 0xB0, 0xBD, 0x55, 0xC1, 0xE7, -   0x0C, 0x50, 0x43, 0x39, 0x71, 0x52, 0xE5, 0xAF, -   0x8A, 0x60, 0x92, 0x2D, 0xD8, 0x03, 0xF5, 0x28, -   0xCA, 0xEF, 0xD0, 0xC2, 0x53, 0x91, 0xA6, 0x73, -   0x56, 0xA5, 0xF1, 0x57, 0x42, 0xF4, 0xD4, 0x36, -   0x8D, 0xBC, 0xE9, 0x7E, 0x02, 0x76, 0x18, 0x0B, -   0x84, 0x5A, 0xE2, 0xBF, 0x68, 0x95, 0x29, 0x98, -   0xAD, 0x88, 0x1F, 0x81, 0x67, 0xA1, 0x3A, 0xA7, -   0x22, 0xF8, 0x01, 0xA0, 0xCE, 0x7A, 0xDA, 0x30, -   0xC4, 0xE4, 0xEE, 0x7C, 0x3B, 0x4D, 0x3D, 0xE3, -   0xFA, 0x6A, 0x7F, 0x99, 0x00, 0x93, 0x0E, 0xFF, -   0x90, 0x0A, 0x2A, 0x5D, 0x96, 0x08, 0x6B, 0x83, -   0xBA, 0x1E, 0x44, 0x87, 0x45, 0x9F, 0xC9, 0x94 }; - -static const unsigned char table_106[32] = { -   0x03, 0x11, 0x07, 0x1B, 0x0F, 0x14, 0x0C, 0x01, -   0x04, 0x02, 0x09, 0x0A, 0x05, 0x12, 0x06, 0x1F, -   0x1C, 0x0E, 0x0D, 0x15, 0x18, 0x08, 0x00, 0x10, -   0x1E, 0x1D, 0x17, 0x19, 0x13, 0x16, 0x0B, 0x1A }; - -static const unsigned char table_107[32] = { -   0x13, 0x1B, 0x06, 0x11, 0x1C, 0x07, 0x08, 0x0E, -   0x10, 0x05, 0x09, 0x18, 0x04, 0x15, 0x1E, 0x0F, -   0x1F, 0x12, 0x02, 0x00, 0x17, 0x19, 0x1A, 0x0D, -   0x03, 0x0C, 0x0A, 0x1D, 0x14, 0x01, 0x16, 0x0B }; - -static const unsigned char table_108[256] = { -   0x99, 0xA3, 0x48, 0xE8, 0x5A, 0x7D, 0x97, 0xCA, -   0x7F, 0x06, 0x9B, 0x04, 0xE0, 0xF3, 0x18, 0xAE, -   0x59, 0xA0, 0x2B, 0x15, 0x85, 0x3E, 0x12, 0x93, -   0x3D, 0x28, 0x32, 0xF5, 0x20, 0x5D, 0x86, 0x00, -   0x1B, 0x2E, 0x36, 0x10, 0x5E, 0x6C, 0xD8, 0x29, -   0xB6, 0x3F, 0x05, 0x1C, 0xCE, 0xC2, 0x34, 0x5F, -   0x5C, 0x79, 0xD1, 0x1F, 0xA2, 0xEE, 0x8A, 0x69, -   0xB5, 0x87, 0x96, 0x6D, 0x4D, 0xC1, 0x61, 0x2C, -   0x11, 0xE7, 0x8E, 0xBF, 0x1E, 0x53, 0xD0, 0x58, -   0x76, 0xA4, 0x60, 0xA9, 0xB0, 0xF9, 0xEA, 0x3C, -   0x52, 0x9A, 0x24, 0xF1, 0x9F, 0xD3, 0x40, 0x0A, -   0x63, 0x78, 0x6A, 0x8B, 0x08, 0x22, 0x16, 0x83, -   0x6B, 0xD2, 0x49, 0x19, 0xBD, 0xFD, 0x62, 0x72, -   0xA8, 0x55, 0xAB, 0x0C, 0xB9, 0x13, 0xD5, 0xF0, -   0xF2, 0x84, 0xAF, 0x2F, 0x7B, 0x2A, 0x21, 0x0F, -   0xDA, 0x30, 0x71, 0xD6, 0x81, 0xE6, 0xEC, 0x41, -   0x90, 0x50, 0x66, 0x0E, 0xA7, 0xB8, 0xF7, 0x3A, -   0xB2, 0xCF, 0x3B, 0xFC, 0x56, 0x6F, 0xC3, 0xA6, -   0xC9, 0xA1, 0x8D, 0xBB, 0x9D, 0x75, 0xF6, 0xAA, -   0x7E, 0xF8, 0x33, 0xEF, 0xBC, 0x7C, 0x23, 0x1A, -   0x92, 0x6E, 0x2D, 0x8F, 0xED, 0xB7, 0xB1, 0x1D, -   0x67, 0x39, 0xAC, 0x0D, 0x74, 0xDB, 0x7A, 0x94, -   0x07, 0x09, 0xC0, 0xD7, 0xAD, 0xFE, 0x54, 0x91, -   0xDE, 0x45, 0xA5, 0x77, 0xCB, 0x37, 0xC6, 0x38, -   0x89, 0x88, 0x17, 0xD9, 0x4F, 0xDF, 0x25, 0xFB, -   0xFA, 0x4C, 0x80, 0x35, 0x82, 0xF4, 0x95, 0xC8, -   0xFF, 0xE9, 0x31, 0x01, 0x14, 0xB3, 0x02, 0x9E, -   0x4E, 0x43, 0x46, 0xC7, 0xEB, 0x51, 0xE5, 0x47, -   0xB4, 0xE3, 0xDC, 0x57, 0xC4, 0x98, 0x03, 0xE1, -   0xBA, 0x68, 0xCD, 0x27, 0xC5, 0x0B, 0xD4, 0x64, -   0x4B, 0x9C, 0x70, 0x65, 0x4A, 0xE4, 0x42, 0xDD, -   0xCC, 0xE2, 0x44, 0x73, 0xBE, 0x26, 0x8C, 0x5B }; - -static const unsigned char table_109[256] = { -   0xE3, 0x95, 0xDB, 0x09, 0x82, 0x0A, 0x8F, 0x9E, -   0xC9, 0xDC, 0x28, 0x35, 0x0F, 0x8B, 0xA8, 0xA5, -   0x7F, 0x3D, 0x8C, 0xD1, 0x93, 0x57, 0x04, 0xAA, -   0x6A, 0x98, 0x81, 0xDD, 0x16, 0x67, 0x2E, 0xDF, -   0xED, 0xF7, 0xB2, 0xBD, 0x14, 0xB6, 0x76, 0xC8, -   0x75, 0x9F, 0x48, 0xAE, 0xBB, 0xB0, 0xF3, 0xE2, -   0xD4, 0x59, 0xD8, 0x9C, 0x64, 0xC1, 0x73, 0x21, -   0x6D, 0x96, 0x7B, 0x62, 0x56, 0x55, 0xCC, 0xFD, -   0xCE, 0x41, 0xA3, 0x43, 0x33, 0xAF, 0x23, 0x9D, -   0x6F, 0x65, 0x19, 0x52, 0xAD, 0xC6, 0xD3, 0x3F, -   0x66, 0xFF, 0xD0, 0x30, 0x6C, 0xC0, 0xEB, 0xCF, -   0x51, 0x88, 0x38, 0x72, 0x69, 0x77, 0x3B, 0xFA, -   0xBA, 0xB7, 0xA1, 0x91, 0xE0, 0x89, 0xAB, 0x44, -   0x1B, 0x05, 0x5B, 0xB9, 0x71, 0x47, 0x7E, 0xFB, -   0x02, 0xC7, 0x99, 0x6E, 0x42, 0x20, 0x90, 0x1F, -   0x4A, 0x85, 0x1A, 0xEA, 0x0C, 0x0D, 0xB3, 0xDA, -   0xE7, 0x13, 0xE6, 0xD7, 0x6B, 0x12, 0x46, 0x53, -   0xB5, 0xF8, 0x1D, 0x83, 0x54, 0x49, 0x8A, 0x26, -   0x4D, 0xDE, 0xF6, 0x03, 0xA2, 0x7D, 0x0E, 0xA0, -   0x68, 0x79, 0xCA, 0x0B, 0x5D, 0x40, 0x4F, 0x80, -   0xC2, 0xD6, 0x87, 0x70, 0xF0, 0xD2, 0x92, 0xEE, -   0xBE, 0x74, 0x5F, 0xBC, 0xA4, 0x4B, 0xFE, 0x37, -   0x60, 0xA9, 0x06, 0xA7, 0xE1, 0xF5, 0x2B, 0x10, -   0xEF, 0x2C, 0x07, 0x86, 0x7A, 0x27, 0xE9, 0xC5, -   0xAC, 0x32, 0x22, 0xF2, 0xE5, 0x8D, 0x31, 0x01, -   0x34, 0xA6, 0xB8, 0xC3, 0x3C, 0xE4, 0x08, 0x94, -   0x15, 0x4E, 0xB4, 0x39, 0x58, 0x00, 0x3E, 0x29, -   0x45, 0x3A, 0x84, 0x36, 0xF1, 0x2A, 0x50, 0x11, -   0xC4, 0x5A, 0xFC, 0xBF, 0xD9, 0xF9, 0x17, 0x9B, -   0x8E, 0x18, 0x63, 0x4C, 0x2F, 0x78, 0x2D, 0x5E, -   0x9A, 0xCD, 0x24, 0xEC, 0x7C, 0x97, 0x61, 0xCB, -   0x1E, 0xF4, 0xD5, 0xB1, 0x5C, 0x25, 0xE8, 0x1C }; - -static const unsigned char table_110[256] = { -   0xC3, 0x06, 0x3C, 0xCB, 0xD2, 0x44, 0x9D, 0x48, -   0x28, 0xAA, 0xA9, 0xD0, 0x64, 0x25, 0x56, 0xCA, -   0xC2, 0xF8, 0x5C, 0xAE, 0x4E, 0x63, 0xB2, 0xE9, -   0x35, 0x11, 0xA8, 0x1A, 0x76, 0x15, 0xE0, 0x26, -   0x97, 0x99, 0xD4, 0x43, 0x80, 0xEE, 0xC1, 0x69, -   0xA6, 0x1E, 0x7A, 0x42, 0x55, 0x38, 0xBF, 0x75, -   0x0E, 0x29, 0xF5, 0xF3, 0x36, 0x7D, 0x51, 0xE8, -   0xE5, 0xEB, 0x68, 0x60, 0x0C, 0x70, 0xFD, 0xCC, -   0xE3, 0x23, 0x09, 0x6D, 0x2D, 0x6C, 0x5E, 0xB6, -   0x98, 0x8B, 0x1F, 0x50, 0x34, 0x8D, 0x10, 0x92, -   0x82, 0x85, 0xD5, 0x79, 0x02, 0xA4, 0x0A, 0xBC, -   0x40, 0xC6, 0xA3, 0x72, 0x8F, 0xC4, 0xA5, 0xE4, -   0x49, 0xD6, 0xCE, 0xA1, 0x12, 0x4F, 0x30, 0x31, -   0xDE, 0x2A, 0xF7, 0x95, 0xB5, 0x96, 0x14, 0x08, -   0xE6, 0x3D, 0x86, 0xF2, 0x47, 0x74, 0xB8, 0x5D, -   0x1D, 0x2B, 0x3A, 0x93, 0x7C, 0x6A, 0x01, 0xA0, -   0x9A, 0x4D, 0xB7, 0x71, 0xA7, 0x41, 0xC5, 0x65, -   0xC8, 0x89, 0xD1, 0x3E, 0x0D, 0xD8, 0xFF, 0x6F, -   0x7F, 0xA2, 0xFE, 0xD9, 0xF0, 0x4A, 0x07, 0x1C, -   0x0F, 0x6E, 0x03, 0x81, 0x1B, 0x05, 0xDF, 0x52, -   0xF1, 0x8A, 0xF9, 0xDD, 0x91, 0x3B, 0xD7, 0xE1, -   0x54, 0xAD, 0x90, 0x5A, 0x7B, 0xC7, 0x32, 0x62, -   0x16, 0x27, 0xB9, 0x66, 0x21, 0x88, 0xBD, 0x18, -   0x77, 0x8E, 0x94, 0x8C, 0x9B, 0x46, 0x9C, 0xB1, -   0xD3, 0x53, 0xB0, 0xBE, 0xAC, 0xAF, 0x73, 0x24, -   0xDA, 0x58, 0xE2, 0xFC, 0x78, 0xEA, 0xCD, 0xFA, -   0x37, 0xED, 0x13, 0x19, 0xC0, 0x59, 0x83, 0xBA, -   0x3F, 0x57, 0x00, 0x7E, 0xC9, 0x2E, 0x17, 0x5B, -   0x84, 0xF6, 0xE7, 0x22, 0xFB, 0x5F, 0x4C, 0x2C, -   0x61, 0x9F, 0x45, 0x39, 0xB3, 0xEC, 0x04, 0x87, -   0x67, 0xDC, 0x0B, 0xF4, 0x20, 0xAB, 0x6B, 0x9E, -   0x4B, 0xCF, 0xB4, 0x2F, 0xBB, 0xEF, 0xDB, 0x33 }; - -static const unsigned char table_111[32] = { -   0x09, 0x0F, 0x00, 0x15, 0x12, 0x17, 0x1A, 0x0D, -   0x1C, 0x0B, 0x01, 0x0A, 0x05, 0x1E, 0x1D, 0x0C, -   0x1B, 0x08, 0x19, 0x18, 0x14, 0x07, 0x0E, 0x03, -   0x10, 0x16, 0x11, 0x1F, 0x04, 0x06, 0x02, 0x13 }; - -static const unsigned char table_112[256] = { -   0xF9, 0x7D, 0xBE, 0xD5, 0x9F, 0xB8, 0x95, 0x43, -   0xDB, 0xAE, 0x7E, 0xEC, 0x5B, 0x58, 0x18, 0x49, -   0x4B, 0x9D, 0x1C, 0x3E, 0x61, 0xD1, 0xF6, 0x2F, -   0x41, 0x82, 0x51, 0x37, 0x72, 0x79, 0x05, 0x2A, -   0xC2, 0xB0, 0xE2, 0xE7, 0xB2, 0xF3, 0x1B, 0x92, -   0x86, 0xBB, 0xDC, 0x90, 0x1A, 0x19, 0xD7, 0xBA, -   0x2C, 0x7B, 0xEF, 0xC7, 0x8A, 0x81, 0xEB, 0xDE, -   0x73, 0x4E, 0xB7, 0x97, 0xCA, 0x29, 0x85, 0xC1, -   0xA5, 0x7F, 0xFE, 0x56, 0xE9, 0x9E, 0x21, 0x76, -   0x3A, 0x88, 0x70, 0xC6, 0xD3, 0x8C, 0x47, 0xC8, -   0x83, 0x48, 0xC3, 0x6A, 0x9C, 0x80, 0x53, 0xBD, -   0xFD, 0x54, 0x09, 0x91, 0x94, 0xAA, 0x7A, 0x59, -   0x71, 0xDD, 0xA8, 0x07, 0xCB, 0x0F, 0xE0, 0x9A, -   0x36, 0x4C, 0x4D, 0x0D, 0xA4, 0x96, 0x6F, 0x14, -   0x22, 0x38, 0xAD, 0x02, 0xF4, 0x0B, 0xEA, 0x93, -   0x20, 0x04, 0xBC, 0xE8, 0x6C, 0xFB, 0x10, 0x6B, -   0x40, 0xB6, 0x24, 0x17, 0x06, 0x31, 0xD9, 0x33, -   0xF5, 0x99, 0x57, 0xCD, 0xAB, 0x67, 0x5C, 0x30, -   0x1E, 0x34, 0xB4, 0x3F, 0x16, 0x42, 0xA2, 0x68, -   0x27, 0xB3, 0x1D, 0xED, 0x5F, 0x52, 0xF7, 0x3C, -   0x65, 0x5D, 0xE5, 0x23, 0x0C, 0x6D, 0x84, 0x6E, -   0xDA, 0x77, 0xF8, 0x15, 0xFA, 0x69, 0xD0, 0xA7, -   0x11, 0xAC, 0xA6, 0xA3, 0x1F, 0x2E, 0xBF, 0x4A, -   0x8F, 0xFC, 0xEE, 0xC9, 0x26, 0x12, 0xC0, 0xB1, -   0x45, 0x0E, 0x3D, 0x7C, 0xCE, 0x13, 0x8E, 0x98, -   0x46, 0x2B, 0xC5, 0x66, 0x28, 0x32, 0xD2, 0x03, -   0xE3, 0xC4, 0x9B, 0x89, 0x5E, 0xF0, 0xCF, 0x3B, -   0x2D, 0x50, 0xB5, 0x00, 0x0A, 0xD6, 0x55, 0xE1, -   0x62, 0x63, 0x64, 0x87, 0xAF, 0x78, 0xB9, 0xF2, -   0x25, 0x44, 0xFF, 0x39, 0xF1, 0x08, 0x4F, 0x74, -   0xA9, 0x8B, 0x75, 0x01, 0xA0, 0xE4, 0x35, 0x8D, -   0xA1, 0xCC, 0xDF, 0x60, 0xD8, 0x5A, 0xE6, 0xD4 }; - -static const unsigned char table_113[256] = { -   0x46, 0x9D, 0x39, 0xB2, 0x8D, 0x3B, 0x59, 0x5A, -   0xD0, 0x9C, 0xE4, 0x04, 0x01, 0xE2, 0xB3, 0xD2, -   0xD7, 0x18, 0x40, 0xD8, 0xF1, 0xEF, 0x3A, 0x1D, -   0x8E, 0xE5, 0xD9, 0xD3, 0xCB, 0x49, 0x4C, 0xCF, -   0xC0, 0xD6, 0xB5, 0x73, 0x77, 0x82, 0x54, 0xA2, -   0xB1, 0xB0, 0x84, 0x5D, 0xC7, 0xDE, 0x31, 0x2F, -   0x50, 0x78, 0xBE, 0x94, 0x64, 0x44, 0x60, 0x7A, -   0x1A, 0x6E, 0x09, 0x6F, 0xBF, 0x76, 0x81, 0x38, -   0x22, 0xC3, 0xEE, 0x8F, 0xFB, 0x32, 0xED, 0x92, -   0xAE, 0xE6, 0x5F, 0xAA, 0xAC, 0x0D, 0xA3, 0x47, -   0x1F, 0x11, 0xC1, 0x29, 0xAF, 0xFD, 0x1C, 0xDB, -   0x00, 0x23, 0xB9, 0xB8, 0x91, 0x41, 0x27, 0x37, -   0x43, 0x02, 0x26, 0xF6, 0x7D, 0x0A, 0x85, 0x93, -   0x97, 0x2E, 0x20, 0x55, 0x13, 0x4B, 0x6C, 0xE7, -   0xFC, 0x25, 0xFA, 0x9E, 0x5B, 0xA1, 0xDF, 0x2C, -   0x3E, 0xBC, 0xEA, 0x42, 0x7C, 0x36, 0x30, 0xEB, -   0xBD, 0x8B, 0x87, 0x16, 0x3D, 0x5C, 0x07, 0xBA, -   0xB4, 0x1B, 0xC2, 0xE3, 0x71, 0x9A, 0x5E, 0x4D, -   0xF2, 0xCC, 0x0E, 0xE1, 0x34, 0x75, 0x58, 0x89, -   0x17, 0xD4, 0x68, 0x80, 0x2B, 0x74, 0x70, 0x8A, -   0x63, 0xE8, 0x56, 0x24, 0xD1, 0x57, 0x35, 0x6D, -   0x3C, 0xA6, 0xC8, 0x7E, 0xA8, 0x4E, 0xC4, 0x33, -   0xA9, 0x62, 0x61, 0x7F, 0x21, 0x98, 0x2A, 0xAD, -   0xB6, 0xA7, 0xF5, 0x3F, 0x15, 0x45, 0xF8, 0xA4, -   0x95, 0x88, 0xDC, 0x96, 0x90, 0x08, 0x9B, 0xF9, -   0x06, 0x14, 0x05, 0xF0, 0xF7, 0xA0, 0xE0, 0x65, -   0xCA, 0xA5, 0x9F, 0x79, 0xCD, 0x4F, 0x72, 0xB7, -   0x4A, 0x0F, 0x66, 0xC5, 0x0C, 0x52, 0xF3, 0x69, -   0x83, 0x03, 0x99, 0x1E, 0x2D, 0xDA, 0x8C, 0x53, -   0x28, 0xDD, 0xE9, 0x0B, 0xC9, 0xF4, 0x48, 0x12, -   0x6A, 0x19, 0xCE, 0xAB, 0x51, 0xD5, 0x6B, 0xBB, -   0xFE, 0x7B, 0x67, 0xFF, 0x10, 0xEC, 0xC6, 0x86 }; - -static const unsigned char table_114[32] = { -   0x11, 0x10, 0x04, 0x1D, 0x08, 0x15, 0x1A, 0x1B, -   0x14, 0x18, 0x0F, 0x17, 0x16, 0x07, 0x1E, 0x0E, -   0x12, 0x0A, 0x13, 0x0B, 0x0C, 0x00, 0x06, 0x02, -   0x1F, 0x19, 0x09, 0x1C, 0x01, 0x0D, 0x03, 0x05 }; - -static const unsigned char table_115[256] = { -   0xB7, 0xBB, 0x63, 0x0D, 0xF0, 0x33, 0x5A, 0x05, -   0xF2, 0x7F, 0x64, 0xDB, 0x51, 0xC9, 0x2C, 0x85, -   0x4F, 0x41, 0xA4, 0x42, 0xCF, 0xA6, 0x52, 0x2F, -   0x26, 0xEF, 0xFB, 0x29, 0x40, 0x16, 0xF7, 0xED, -   0x23, 0x69, 0x8A, 0xDF, 0x77, 0x28, 0x93, 0x14, -   0x82, 0x0C, 0xBE, 0x3D, 0x20, 0xB4, 0x79, 0x94, -   0x54, 0xF8, 0x07, 0xB1, 0xE1, 0x66, 0x73, 0xD3, -   0x19, 0x15, 0xFF, 0x03, 0x6A, 0x9A, 0xDC, 0x1C, -   0xB3, 0x5D, 0x76, 0x68, 0x47, 0x6C, 0xF9, 0xFD, -   0xE9, 0xDD, 0x01, 0x65, 0xBD, 0x80, 0x0E, 0x7A, -   0x8D, 0x99, 0x13, 0x7C, 0xA5, 0xA7, 0x1A, 0xCC, -   0xB8, 0xE6, 0x2B, 0xB2, 0xB6, 0xD0, 0x62, 0x2D, -   0x4D, 0xD2, 0xB9, 0x04, 0x46, 0xAE, 0xAA, 0x44, -   0xDA, 0x92, 0x4B, 0x4E, 0xC4, 0xE2, 0xFE, 0xA2, -   0x75, 0x7B, 0xC3, 0xFA, 0x9F, 0x37, 0x9D, 0x1E, -   0x72, 0xD4, 0x1F, 0x4A, 0x9B, 0xE5, 0x6D, 0xEC, -   0x5C, 0x7D, 0x98, 0xE8, 0xEE, 0x86, 0xD1, 0xC8, -   0xEA, 0x55, 0xBF, 0xAF, 0xDE, 0x32, 0x09, 0x3A, -   0x8F, 0x57, 0x83, 0x43, 0x61, 0xC6, 0x8E, 0x96, -   0x22, 0xA3, 0x97, 0x91, 0x5F, 0x11, 0x3B, 0x5B, -   0x1B, 0x34, 0x49, 0x95, 0xF1, 0x6F, 0x89, 0xA8, -   0xC0, 0x36, 0x0A, 0x3F, 0x60, 0x50, 0xE7, 0x08, -   0xCE, 0x25, 0xC1, 0x71, 0xF6, 0x59, 0x58, 0x56, -   0x4C, 0xAB, 0x27, 0xAC, 0x06, 0xCB, 0x00, 0x30, -   0x84, 0x3E, 0xC2, 0x1D, 0x02, 0xE0, 0xC5, 0xD6, -   0x18, 0x70, 0xA9, 0x88, 0xD9, 0x39, 0x8B, 0x6E, -   0xF4, 0x24, 0xA0, 0x48, 0x45, 0x21, 0x87, 0x78, -   0x38, 0x90, 0xE3, 0xCA, 0xF5, 0xD7, 0x2A, 0x53, -   0x9C, 0xCD, 0x31, 0x35, 0xAD, 0x74, 0xD8, 0x12, -   0xBC, 0x9E, 0x6B, 0x67, 0xB0, 0xBA, 0xE4, 0x10, -   0x5E, 0xFC, 0xC7, 0x0F, 0x2E, 0x81, 0x7E, 0xA1, -   0x8C, 0x17, 0xB5, 0xEB, 0xD5, 0xF3, 0x0B, 0x3C }; - -static const unsigned char table_116[32] = { -   0x00, 0x05, 0x10, 0x1C, 0x0C, 0x1A, 0x04, 0x1B, -   0x0A, 0x0D, 0x14, 0x0B, 0x07, 0x03, 0x12, 0x1E, -   0x06, 0x11, 0x01, 0x08, 0x15, 0x09, 0x1F, 0x0F, -   0x19, 0x18, 0x16, 0x02, 0x13, 0x0E, 0x17, 0x1D }; - -static const unsigned char table_117[256] = { -   0xD0, 0x9A, 0xAB, 0xA8, 0xA7, 0xDF, 0x28, 0xCE, -   0x3E, 0x51, 0xBF, 0x76, 0x03, 0xA0, 0x53, 0x3F, -   0x90, 0x93, 0x87, 0x67, 0x98, 0x3D, 0xEA, 0x8B, -   0x55, 0xCF, 0x10, 0xF3, 0x25, 0xFC, 0x9F, 0x41, -   0x6B, 0x54, 0x6E, 0x0B, 0x83, 0x35, 0x69, 0x7D, -   0xE0, 0x88, 0x4B, 0xE9, 0x1E, 0x96, 0x91, 0x57, -   0xBD, 0x72, 0x21, 0x3C, 0xA6, 0x99, 0x6C, 0xF6, -   0x13, 0xFA, 0x29, 0xED, 0xDB, 0x16, 0x4D, 0x07, -   0x45, 0xA5, 0xE3, 0x0E, 0x31, 0xBC, 0x56, 0x5C, -   0xB2, 0x23, 0xDA, 0x74, 0xFF, 0x02, 0x8F, 0xF4, -   0x2A, 0xC9, 0x89, 0xAA, 0x05, 0xB1, 0xD1, 0x1F, -   0x4F, 0xB0, 0x7A, 0x2C, 0x14, 0xD9, 0xE7, 0x66, -   0x62, 0x1A, 0x4C, 0xC0, 0xC6, 0x63, 0x7F, 0xB4, -   0xF1, 0x43, 0xFE, 0x61, 0xA3, 0xCC, 0xE8, 0x6D, -   0xBA, 0x65, 0x42, 0x2B, 0xCA, 0xD5, 0x52, 0x3A, -   0xCD, 0x1D, 0x24, 0xD7, 0x47, 0xDE, 0x9E, 0x95, -   0x85, 0x48, 0x86, 0xE1, 0xC5, 0xD2, 0x34, 0xAF, -   0x40, 0xFB, 0xE6, 0x4E, 0xC8, 0xF5, 0x7B, 0x5A, -   0xCB, 0xD4, 0x97, 0x6F, 0x0C, 0x79, 0x9C, 0x20, -   0x59, 0x19, 0x68, 0x2E, 0x09, 0x64, 0x73, 0x50, -   0xC2, 0x2F, 0x0D, 0xEF, 0x9D, 0x94, 0x00, 0x81, -   0xE2, 0x46, 0x5F, 0xB8, 0x0A, 0x12, 0x75, 0x1C, -   0x8C, 0xB6, 0x71, 0xAC, 0x04, 0x60, 0xA9, 0x5B, -   0xF8, 0x30, 0x49, 0x44, 0x4A, 0xBE, 0x6A, 0xEB, -   0xD3, 0xD8, 0x36, 0xB3, 0x3B, 0x17, 0x80, 0xA4, -   0xEC, 0x26, 0x82, 0xB5, 0x37, 0x5D, 0x1B, 0x2D, -   0xE5, 0xA2, 0x0F, 0xB7, 0xC4, 0xF2, 0x70, 0x39, -   0xF9, 0xC7, 0xBB, 0x8A, 0x32, 0x78, 0xC3, 0x5E, -   0xD6, 0xE4, 0x22, 0x9B, 0x18, 0x8E, 0xEE, 0x27, -   0x8D, 0x33, 0x11, 0x77, 0x01, 0x06, 0x38, 0xF0, -   0x7E, 0x08, 0x15, 0xB9, 0x7C, 0xAD, 0x84, 0xDD, -   0xC1, 0xFD, 0x92, 0xA1, 0xF7, 0xAE, 0xDC, 0x58 }; - -static const unsigned char table_118[256] = { -   0x38, 0xA0, 0xA6, 0xFC, 0x7C, 0x5A, 0x97, 0x1D, -   0xFD, 0x00, 0x20, 0xA2, 0x72, 0x10, 0x1F, 0x48, -   0x98, 0x7E, 0xDF, 0x2D, 0x80, 0x0A, 0x27, 0xDC, -   0xCF, 0xBF, 0x92, 0x94, 0x53, 0xCC, 0x0E, 0x74, -   0xA7, 0x60, 0x08, 0x15, 0x87, 0x6F, 0xB3, 0xA3, -   0xED, 0x59, 0x09, 0x4F, 0x9E, 0x9A, 0xEE, 0x83, -   0x56, 0x32, 0x34, 0xC7, 0x24, 0xE7, 0x96, 0x4D, -   0xAE, 0xE3, 0xBD, 0xE2, 0x36, 0x4A, 0xB6, 0x8B, -   0xF2, 0xC1, 0xD7, 0x40, 0x31, 0x4B, 0xDA, 0xF1, -   0xB1, 0x70, 0xA8, 0xC3, 0xC6, 0x8A, 0xE6, 0x77, -   0x21, 0x7D, 0xD5, 0x0C, 0x43, 0xC4, 0xF0, 0x1B, -   0x18, 0xA1, 0x85, 0xE1, 0xFF, 0x8D, 0xE5, 0x6E, -   0x9B, 0x51, 0x1C, 0xA4, 0x5C, 0x8E, 0x69, 0x49, -   0x23, 0xCD, 0x52, 0xF8, 0x3E, 0x91, 0x5E, 0x1E, -   0x25, 0xB4, 0x93, 0xCB, 0xE0, 0x47, 0xBC, 0x4E, -   0x33, 0xB7, 0x75, 0x1A, 0x11, 0x9C, 0x3F, 0xEC, -   0xD1, 0x46, 0xDD, 0xAA, 0xB8, 0x99, 0x86, 0x67, -   0x58, 0xF9, 0x16, 0x17, 0x6D, 0x5F, 0x2B, 0xA5, -   0xD3, 0x8F, 0x55, 0x71, 0xD2, 0xBA, 0x5B, 0x3C, -   0x82, 0xB5, 0x41, 0xE4, 0x90, 0x45, 0x6C, 0xF6, -   0xDE, 0xA9, 0x84, 0x62, 0x19, 0x3B, 0xB9, 0xC8, -   0x2C, 0xB0, 0x76, 0x57, 0xD8, 0x26, 0x9D, 0x89, -   0xC9, 0x54, 0xFB, 0x07, 0xCE, 0x22, 0x5D, 0x64, -   0x65, 0xAD, 0x01, 0xDB, 0x14, 0x4C, 0x37, 0x03, -   0x6B, 0xAF, 0xD0, 0x7F, 0x9F, 0xBB, 0xEB, 0xC0, -   0x50, 0x66, 0x68, 0x0B, 0x42, 0x2A, 0xD4, 0xF5, -   0x61, 0x63, 0xF3, 0x39, 0xBE, 0xC5, 0xEF, 0x28, -   0x3A, 0xAB, 0x79, 0x05, 0xE9, 0x12, 0x73, 0x3D, -   0xB2, 0x8C, 0xCA, 0x29, 0x0F, 0xF4, 0x7B, 0x13, -   0x88, 0x44, 0xC2, 0x2E, 0xFA, 0xFE, 0x04, 0x35, -   0xE8, 0x06, 0x7A, 0x78, 0x0D, 0x81, 0xF7, 0xEA, -   0xD9, 0x2F, 0x02, 0xAC, 0x30, 0x6A, 0xD6, 0x95 }; - -static const unsigned char table_119[32] = { -   0x14, 0x0A, 0x1C, 0x00, 0x0C, 0x1F, 0x1E, 0x0B, -   0x12, 0x1D, 0x17, 0x08, 0x07, 0x04, 0x09, 0x10, -   0x03, 0x1B, 0x0E, 0x1A, 0x05, 0x0D, 0x11, 0x15, -   0x18, 0x02, 0x06, 0x01, 0x19, 0x16, 0x13, 0x0F }; - -static const unsigned char table_120[256] = { -   0xCE, 0x89, 0xB2, 0x72, 0x04, 0x77, 0x64, 0xAE, -   0x80, 0x99, 0xB5, 0x00, 0x7B, 0x50, 0x9D, 0xE3, -   0x87, 0x37, 0x6D, 0x3D, 0x32, 0xBA, 0x20, 0xF0, -   0xDC, 0xBD, 0x61, 0x26, 0xD4, 0xA6, 0x70, 0x54, -   0xC1, 0x7D, 0x82, 0xFF, 0x81, 0x83, 0x2F, 0xF5, -   0x3B, 0x42, 0x08, 0x5C, 0x30, 0x59, 0xBB, 0xC2, -   0x33, 0x5D, 0xEE, 0xB7, 0xF7, 0x2B, 0x76, 0xD0, -   0x43, 0x1C, 0x48, 0xFC, 0x01, 0xCD, 0x27, 0x1D, -   0x5A, 0x96, 0x95, 0x03, 0xC6, 0x1F, 0x09, 0xCB, -   0xF6, 0x47, 0xA9, 0x93, 0xA7, 0xD2, 0xDB, 0x51, -   0xB0, 0x7A, 0xE6, 0x62, 0x0F, 0x12, 0x57, 0xF4, -   0x35, 0xFE, 0xA4, 0xDF, 0x5B, 0xF3, 0x67, 0x85, -   0x98, 0xE4, 0xAB, 0x75, 0x4C, 0xE2, 0x25, 0x74, -   0x3A, 0x45, 0xDE, 0xEF, 0x4A, 0x97, 0x86, 0x24, -   0xE9, 0x8F, 0xD8, 0xD7, 0x60, 0xAD, 0x36, 0x8E, -   0x1E, 0xB9, 0x4F, 0x6B, 0x8C, 0x06, 0x23, 0x94, -   0x0E, 0xD3, 0x49, 0x14, 0x90, 0xAF, 0x65, 0xEC, -   0xF9, 0x0D, 0xED, 0x6C, 0xBE, 0x7F, 0xA5, 0xC5, -   0xEA, 0x78, 0x2E, 0xBC, 0xD5, 0xDA, 0x18, 0xE1, -   0x10, 0x2D, 0xB4, 0x16, 0x4B, 0xE8, 0xC4, 0x8D, -   0x19, 0x1B, 0x02, 0x66, 0xB6, 0xE7, 0x9C, 0x7C, -   0xC9, 0xA0, 0x2A, 0x53, 0x13, 0xDD, 0xF8, 0xA8, -   0x0A, 0x6E, 0xCF, 0x6F, 0x7E, 0xE0, 0x3E, 0xE5, -   0x07, 0xCC, 0x38, 0xD1, 0xF2, 0x2C, 0x9A, 0xAC, -   0x88, 0x79, 0xB8, 0xC8, 0xBF, 0x63, 0x71, 0x69, -   0x52, 0x39, 0x9F, 0x22, 0x3F, 0x9E, 0x44, 0xFA, -   0x73, 0x6A, 0x8B, 0xA2, 0xD6, 0x1A, 0x9B, 0xB1, -   0x8A, 0x4D, 0x58, 0xA1, 0x46, 0x5F, 0x55, 0x56, -   0x21, 0x05, 0x15, 0x92, 0xAA, 0xEB, 0x31, 0x68, -   0xFB, 0x41, 0xC3, 0x4E, 0xB3, 0x40, 0x34, 0x17, -   0xD9, 0x29, 0x3C, 0x0C, 0xF1, 0x0B, 0x28, 0x84, -   0x5E, 0xCA, 0xFD, 0x11, 0xA3, 0xC7, 0xC0, 0x91 }; - -static const unsigned char table_121[32] = { -   0x1E, 0x12, 0x06, 0x1D, 0x15, 0x1F, 0x13, 0x0B, -   0x10, 0x0D, 0x1C, 0x01, 0x0A, 0x0E, 0x02, 0x19, -   0x04, 0x1A, 0x03, 0x11, 0x00, 0x16, 0x0C, 0x17, -   0x14, 0x08, 0x18, 0x05, 0x09, 0x0F, 0x1B, 0x07 }; - -static const unsigned char table_122[256] = { -   0x85, 0xDF, 0x7F, 0x7C, 0x56, 0xF0, 0x0C, 0x7D, -   0x76, 0xA8, 0x58, 0x31, 0x25, 0x8A, 0x0D, 0x23, -   0x05, 0x0F, 0x12, 0x64, 0x8E, 0x5D, 0xF4, 0x2C, -   0x18, 0xFA, 0x4B, 0xFE, 0x91, 0xBF, 0x95, 0x0B, -   0xF1, 0x88, 0x10, 0xD8, 0x3E, 0x53, 0x96, 0xB5, -   0x75, 0x24, 0x8F, 0xD6, 0x68, 0x5C, 0x93, 0x1F, -   0x6B, 0xC2, 0xAB, 0xED, 0x1E, 0xC0, 0xBC, 0x47, -   0xE9, 0xD1, 0xDE, 0xCA, 0xF6, 0x62, 0x43, 0xEB, -   0xA2, 0xB4, 0x08, 0xE6, 0x74, 0x0E, 0xA1, 0x72, -   0x66, 0x61, 0x21, 0x2E, 0x32, 0x63, 0x29, 0xD7, -   0x1C, 0x22, 0xAC, 0xE7, 0x54, 0xF3, 0x65, 0x17, -   0x9F, 0x78, 0x79, 0x4C, 0xDD, 0x27, 0x90, 0x36, -   0x19, 0x44, 0x03, 0xD9, 0x4A, 0x5A, 0x34, 0xF9, -   0x97, 0xA6, 0x70, 0x39, 0x28, 0x77, 0x6E, 0xB7, -   0x8C, 0x02, 0x5E, 0x9B, 0x8D, 0x59, 0x6F, 0xA5, -   0x07, 0xE2, 0x41, 0x51, 0xC9, 0x3C, 0xE8, 0xE1, -   0xB3, 0x16, 0x50, 0x04, 0xE3, 0x1D, 0x3B, 0xD2, -   0x4D, 0x35, 0x71, 0xDA, 0x9E, 0xA7, 0xE4, 0xE0, -   0xB6, 0x2B, 0xEA, 0x84, 0x55, 0xF8, 0x57, 0x3D, -   0x73, 0x42, 0xC6, 0x0A, 0x92, 0x6A, 0xAE, 0xF5, -   0xFC, 0xD5, 0x15, 0x52, 0x7E, 0x14, 0x81, 0x13, -   0xE5, 0x49, 0x38, 0x2A, 0x94, 0x5B, 0xA3, 0x11, -   0x8B, 0x80, 0xBB, 0x01, 0x9C, 0xA4, 0xDB, 0xF7, -   0xA9, 0x20, 0xF2, 0x1A, 0xDC, 0x33, 0x3A, 0xEF, -   0xD3, 0xFD, 0x30, 0xB0, 0x1B, 0xC4, 0x06, 0xD4, -   0x6D, 0x87, 0x2F, 0x60, 0x5F, 0xC5, 0x09, 0x37, -   0xAF, 0x00, 0xCB, 0x9D, 0xA0, 0xB9, 0x45, 0x86, -   0x4F, 0x6C, 0x67, 0xFB, 0x40, 0x3F, 0xCC, 0xB8, -   0xC8, 0x82, 0x98, 0x99, 0x7B, 0xB1, 0xCD, 0xD0, -   0xBD, 0x48, 0xAD, 0x26, 0x7A, 0x9A, 0x46, 0xFF, -   0x89, 0xC7, 0xC1, 0xCF, 0xBE, 0xAA, 0xEC, 0xBA, -   0xCE, 0x2D, 0x4E, 0x83, 0xC3, 0x69, 0xEE, 0xB2 }; - -static const unsigned char table_123[256] = { -   0x9D, 0xFB, 0x3C, 0x81, 0xAA, 0x05, 0xB2, 0xBE, -   0xD1, 0x5F, 0x4C, 0xE0, 0xA3, 0xF4, 0xDE, 0x35, -   0xFE, 0x1B, 0x37, 0x99, 0x94, 0x7A, 0x10, 0xAB, -   0xC0, 0xA4, 0xB5, 0xFF, 0x8F, 0x3B, 0xB4, 0x51, -   0x04, 0xE9, 0xB9, 0xC1, 0x98, 0xC5, 0x82, 0x38, -   0x4D, 0x71, 0xFC, 0x33, 0xC4, 0x50, 0x5D, 0x88, -   0xB8, 0x5C, 0x32, 0xE2, 0xBB, 0xCD, 0x60, 0x2C, -   0xD4, 0x7E, 0x27, 0x59, 0x2B, 0x1F, 0x53, 0xF6, -   0x25, 0x86, 0xAE, 0x21, 0xFA, 0x31, 0xD7, 0x0F, -   0x17, 0xDA, 0x7F, 0xC9, 0x46, 0x19, 0x08, 0xA8, -   0xCF, 0x13, 0xCC, 0x03, 0x3F, 0x22, 0x6E, 0xEB, -   0x4A, 0x63, 0x73, 0xBD, 0x36, 0xED, 0x30, 0x57, -   0x65, 0xF8, 0x41, 0x61, 0x1E, 0xA0, 0xC6, 0x45, -   0x3E, 0x75, 0x28, 0x87, 0xCB, 0xD6, 0x16, 0xD8, -   0xDF, 0xEF, 0xEA, 0xA7, 0x58, 0xB0, 0x1D, 0xE6, -   0x47, 0x76, 0xD9, 0x96, 0xE7, 0xDC, 0x00, 0x80, -   0xDD, 0xB7, 0x9A, 0xE1, 0xF5, 0x9C, 0x4B, 0xE3, -   0xBC, 0x8D, 0xF2, 0x2F, 0x9F, 0x6C, 0x93, 0xAF, -   0xA9, 0xC2, 0x5E, 0x24, 0x15, 0xD2, 0x09, 0x0D, -   0xDB, 0x4F, 0x91, 0x0E, 0x64, 0x34, 0x4E, 0xAD, -   0x62, 0x44, 0x23, 0x85, 0xB6, 0xAC, 0xC7, 0xCA, -   0x84, 0xF9, 0x8C, 0xBF, 0x14, 0x7C, 0x8E, 0x92, -   0xF0, 0x0B, 0xCE, 0x90, 0x7D, 0x70, 0x9E, 0x54, -   0x39, 0x5B, 0x6D, 0x52, 0xEE, 0xA2, 0x6F, 0x78, -   0x2D, 0x95, 0x8B, 0x02, 0x3D, 0x7B, 0x69, 0xC3, -   0x49, 0xA5, 0x1A, 0x26, 0xD5, 0x6B, 0xE8, 0xFD, -   0xB3, 0xD3, 0x20, 0x55, 0x18, 0x06, 0xF3, 0xB1, -   0x0C, 0xC8, 0x07, 0x12, 0xF7, 0x01, 0x2E, 0x72, -   0x97, 0xA6, 0x11, 0x89, 0x56, 0x5A, 0x29, 0xBA, -   0x67, 0x42, 0x83, 0x6A, 0x2A, 0xF1, 0xA1, 0x9B, -   0xE5, 0xE4, 0x74, 0x66, 0x1C, 0x68, 0xEC, 0x40, -   0x48, 0x77, 0xD0, 0x0A, 0x8A, 0x3A, 0x43, 0x79 }; - -static const unsigned char table_124[256] = { -   0x6C, 0xC3, 0x28, 0x2F, 0x42, 0x4B, 0x7C, 0x3C, -   0xCE, 0x24, 0xC8, 0x51, 0x25, 0x3F, 0x49, 0x8D, -   0x1E, 0x5C, 0x89, 0x3A, 0x98, 0x47, 0x0B, 0x12, -   0xA9, 0xB1, 0xD7, 0xB6, 0x5D, 0xF9, 0x5A, 0xBC, -   0xFA, 0x06, 0x7D, 0x08, 0xFC, 0x37, 0x54, 0x4F, -   0xD4, 0xCD, 0xA7, 0x5E, 0xE0, 0x92, 0x82, 0x56, -   0xF1, 0x2B, 0xC4, 0xE2, 0x29, 0xEA, 0x35, 0x57, -   0x33, 0x4E, 0x1A, 0x17, 0x8B, 0x85, 0xBF, 0xD5, -   0x18, 0xB3, 0x0D, 0x71, 0x45, 0x81, 0xB4, 0x27, -   0xD1, 0xE1, 0xFF, 0x44, 0x9E, 0xA4, 0x15, 0x9A, -   0x90, 0xC7, 0x79, 0xE3, 0x4C, 0xE9, 0x3D, 0x6B, -   0xF5, 0xF4, 0xEE, 0xAA, 0xDB, 0x07, 0x09, 0xCF, -   0x7B, 0x95, 0xA0, 0x53, 0x8F, 0xA1, 0x9D, 0xBE, -   0x6F, 0xAE, 0x96, 0x46, 0x59, 0x01, 0x84, 0xCC, -   0x3B, 0x8E, 0xF7, 0x4D, 0x6E, 0xDC, 0xE8, 0x36, -   0x7A, 0xE5, 0xBD, 0xE7, 0x9F, 0x2C, 0x52, 0xAB, -   0x55, 0x13, 0x1D, 0xFB, 0x58, 0x9C, 0xDF, 0xC0, -   0x30, 0x73, 0x67, 0x39, 0x74, 0xD3, 0x11, 0xD2, -   0x0E, 0x20, 0xB7, 0x02, 0xB9, 0x1C, 0x86, 0x76, -   0x10, 0x68, 0x9B, 0x63, 0x48, 0x8A, 0xB2, 0xB8, -   0xAF, 0x26, 0x99, 0x04, 0xB0, 0xE4, 0xEF, 0xEB, -   0xEC, 0x6D, 0x61, 0xC1, 0xD0, 0x38, 0xC9, 0x19, -   0x60, 0xA8, 0xA6, 0xF8, 0x80, 0xC5, 0x03, 0x0F, -   0x22, 0x2D, 0x88, 0x32, 0x77, 0x70, 0xFE, 0x0C, -   0x31, 0x40, 0x5F, 0xED, 0xA5, 0x93, 0x43, 0xF0, -   0x8C, 0xE6, 0x34, 0x21, 0xD9, 0xC2, 0xD8, 0xC6, -   0x6A, 0xD6, 0xCB, 0xAC, 0x75, 0xB5, 0x78, 0x0A, -   0xA3, 0x69, 0x16, 0xBA, 0x50, 0x2A, 0x41, 0x83, -   0xF6, 0x64, 0x00, 0x65, 0x7E, 0xDD, 0x5B, 0xDA, -   0x14, 0xFD, 0x3E, 0x7F, 0xCA, 0x66, 0x4A, 0x1F, -   0xA2, 0xAD, 0xF2, 0x23, 0xBB, 0x72, 0xF3, 0x94, -   0x62, 0x1B, 0xDE, 0x91, 0x87, 0x97, 0x05, 0x2E }; - -static const unsigned char table_125[32] = { -   0x1A, 0x18, 0x12, 0x15, 0x00, 0x1C, 0x01, 0x0B, -   0x19, 0x1B, 0x1F, 0x11, 0x07, 0x10, 0x1E, 0x06, -   0x17, 0x04, 0x0A, 0x0E, 0x0D, 0x0C, 0x16, 0x08, -   0x02, 0x03, 0x13, 0x14, 0x09, 0x1D, 0x05, 0x0F }; - -static const unsigned char table_126[32] = { -   0x1C, 0x1D, 0x07, 0x12, 0x18, 0x1A, 0x19, 0x09, -   0x0F, 0x14, 0x1F, 0x0B, 0x13, 0x04, 0x0E, 0x1E, -   0x0C, 0x0D, 0x01, 0x17, 0x1B, 0x16, 0x0A, 0x05, -   0x15, 0x10, 0x11, 0x08, 0x00, 0x03, 0x06, 0x02 }; - -static const unsigned char table_127[256] = { -   0xA0, 0x66, 0xD8, 0x08, 0xEA, 0x39, 0x78, 0xAB, -   0x61, 0x4E, 0xC7, 0xD1, 0xA3, 0x1C, 0x9F, 0xCB, -   0x19, 0x51, 0x15, 0x92, 0x23, 0xFD, 0x7D, 0x1D, -   0x95, 0xAE, 0x0E, 0x8B, 0xE6, 0x7F, 0x86, 0x6D, -   0x06, 0xBD, 0x20, 0x1F, 0x3A, 0xE4, 0x54, 0x91, -   0x69, 0xD3, 0xE3, 0x3D, 0x4D, 0x31, 0x49, 0xA4, -   0x41, 0xF3, 0xE0, 0x11, 0x14, 0x9B, 0x96, 0x5A, -   0xC4, 0x8E, 0x34, 0xDB, 0xBA, 0x83, 0xD9, 0x81, -   0xAF, 0x58, 0x8A, 0x79, 0x13, 0xBC, 0x85, 0x37, -   0x9E, 0x6C, 0x57, 0x71, 0x8D, 0x97, 0x5F, 0x6F, -   0x1E, 0x74, 0x27, 0xFC, 0x5C, 0x7A, 0x64, 0x87, -   0xF5, 0xC6, 0xF2, 0x4F, 0xDE, 0x80, 0xAA, 0x84, -   0x2E, 0xDC, 0xE7, 0x40, 0x75, 0xC5, 0xB3, 0xC8, -   0xCE, 0x21, 0x02, 0x67, 0xB7, 0x10, 0x47, 0x6A, -   0xEE, 0x53, 0x2C, 0x16, 0x05, 0xC0, 0x63, 0x4C, -   0x0D, 0xBB, 0xC3, 0x38, 0x46, 0x68, 0x7E, 0xF9, -   0xB8, 0xB4, 0x3E, 0x36, 0xD5, 0xEC, 0x0B, 0xF6, -   0x33, 0x0A, 0x0F, 0x5B, 0xFB, 0x45, 0xEB, 0xA9, -   0x6E, 0x6B, 0xCF, 0x55, 0x99, 0xAC, 0x22, 0xBE, -   0xB1, 0xA2, 0x3F, 0x25, 0x77, 0x8F, 0x7C, 0xF1, -   0xD4, 0x59, 0xA8, 0xE5, 0xD7, 0xCA, 0xA1, 0x93, -   0xE9, 0xAD, 0xF7, 0x94, 0xEF, 0xED, 0x3C, 0x2A, -   0x88, 0xB5, 0x35, 0x9D, 0x9C, 0x32, 0x5E, 0xB6, -   0x48, 0x9A, 0x7B, 0x26, 0x50, 0x90, 0x04, 0xA7, -   0xDD, 0x09, 0xB9, 0x98, 0xB2, 0xFE, 0xDF, 0x44, -   0x89, 0x29, 0x5D, 0xE2, 0x72, 0xC9, 0x28, 0x03, -   0x43, 0x8C, 0x52, 0x18, 0xC1, 0x56, 0x1B, 0x1A, -   0x01, 0x65, 0xDA, 0xBF, 0x07, 0xFF, 0x76, 0xE8, -   0x30, 0xA5, 0x4A, 0xA6, 0x12, 0x62, 0x24, 0x60, -   0x4B, 0x73, 0x0C, 0xF0, 0xFA, 0x42, 0xF4, 0x00, -   0xD2, 0xD0, 0xD6, 0x3B, 0xC2, 0x2F, 0xE1, 0x2B, -   0x70, 0xF8, 0x17, 0xCD, 0xB0, 0xCC, 0x82, 0x2D }; - -static const unsigned char table_128[32] = { -   0x1A, 0x1C, 0x09, 0x17, 0x1B, 0x0B, 0x16, 0x1E, -   0x14, 0x0C, 0x12, 0x0E, 0x05, 0x03, 0x1F, 0x15, -   0x19, 0x0D, 0x10, 0x13, 0x0A, 0x01, 0x00, 0x11, -   0x02, 0x08, 0x0F, 0x18, 0x07, 0x04, 0x1D, 0x06 }; - -static const unsigned char table_129[256] = { -   0x9D, 0x5F, 0xE8, 0x99, 0x57, 0x07, 0x16, 0xA6, -   0x9F, 0xB6, 0xDE, 0xED, 0x2D, 0xB3, 0xC0, 0x8E, -   0xCC, 0x49, 0xCE, 0xB0, 0x1B, 0xB1, 0x7A, 0xE0, -   0xEB, 0x28, 0xDB, 0x7D, 0x88, 0xC8, 0x06, 0x6C, -   0x02, 0xD0, 0x85, 0x7E, 0xDF, 0xF5, 0x78, 0xE5, -   0xA9, 0x71, 0xD9, 0xDD, 0xDC, 0xEE, 0x8C, 0x54, -   0xA0, 0x86, 0xFE, 0x0E, 0x55, 0xF7, 0x41, 0x47, -   0x1D, 0x15, 0xD6, 0xA4, 0xFF, 0x1F, 0x25, 0xF8, -   0x12, 0xE9, 0x74, 0x7B, 0x04, 0xE6, 0x4C, 0x31, -   0xA2, 0xBE, 0x0C, 0xB9, 0x17, 0xBD, 0x3D, 0xF0, -   0x9E, 0x4D, 0x4E, 0xB2, 0xE7, 0x40, 0xC9, 0x8A, -   0x67, 0x5E, 0x19, 0x0F, 0xB7, 0x22, 0x8D, 0xBA, -   0xFC, 0x93, 0x14, 0xEA, 0xFD, 0x0D, 0xD5, 0x38, -   0xA1, 0x84, 0x1C, 0x35, 0x60, 0x37, 0x43, 0x9C, -   0xCF, 0xEF, 0x3A, 0x72, 0xF2, 0x61, 0x75, 0x6A, -   0x42, 0xAC, 0xD3, 0x48, 0x77, 0xC5, 0x29, 0xF6, -   0x58, 0x79, 0xFA, 0x5D, 0xC7, 0x70, 0x53, 0x9A, -   0x6F, 0xC1, 0x0A, 0x90, 0x8F, 0x3E, 0x3B, 0x8B, -   0xEC, 0xBC, 0x20, 0x27, 0xC3, 0x66, 0x3F, 0x33, -   0xA5, 0x44, 0x2E, 0x32, 0x65, 0x18, 0xFB, 0x59, -   0x52, 0x50, 0xE2, 0x63, 0x2B, 0xCD, 0x64, 0xCB, -   0xD2, 0x68, 0x10, 0xA7, 0xAE, 0x11, 0xA8, 0x96, -   0x69, 0xAF, 0xC2, 0x34, 0x5C, 0x56, 0xE3, 0xF9, -   0xDA, 0x51, 0x81, 0x4A, 0x05, 0x00, 0xB8, 0x7C, -   0x30, 0x2F, 0x46, 0xB4, 0xC6, 0x87, 0x4B, 0x94, -   0x80, 0xF4, 0x7F, 0x3C, 0x26, 0xF1, 0x5B, 0xAB, -   0x91, 0x6E, 0x08, 0x76, 0x98, 0xD1, 0xE1, 0x36, -   0x21, 0xCA, 0xD8, 0x24, 0x9B, 0x39, 0xBB, 0xAD, -   0x13, 0x62, 0x97, 0x1A, 0x6D, 0x2C, 0x5A, 0xC4, -   0xD4, 0xA3, 0x03, 0xBF, 0x1E, 0xE4, 0xF3, 0x95, -   0x23, 0x73, 0x92, 0xB5, 0x01, 0x83, 0x82, 0xAA, -   0x09, 0x45, 0x6B, 0xD7, 0x0B, 0x89, 0x4F, 0x2A }; - -static const unsigned char table_130[32] = { -   0x07, 0x03, 0x15, 0x0B, 0x02, 0x11, 0x17, 0x14, -   0x05, 0x10, 0x0A, 0x0F, 0x01, 0x1C, 0x1D, 0x0E, -   0x12, 0x06, 0x18, 0x16, 0x1A, 0x09, 0x13, 0x19, -   0x1B, 0x00, 0x08, 0x0D, 0x0C, 0x1E, 0x04, 0x1F }; - -static const unsigned char table_131[32] = { -   0x1D, 0x13, 0x1B, 0x10, 0x07, 0x03, 0x0A, 0x02, -   0x00, 0x0C, 0x0E, 0x0B, 0x0D, 0x18, 0x12, 0x1F, -   0x1A, 0x04, 0x15, 0x11, 0x1E, 0x08, 0x1C, 0x14, -   0x19, 0x05, 0x0F, 0x17, 0x06, 0x01, 0x09, 0x16 }; - -static const unsigned char table_132[256] = { -   0x33, 0x8D, 0x45, 0x6F, 0xFF, 0xF5, 0xB6, 0x53, -   0x3B, 0xF3, 0x07, 0xA4, 0x97, 0xEB, 0x6B, 0xA5, -   0xD3, 0xDC, 0x7B, 0x79, 0x93, 0xE7, 0xF7, 0x67, -   0x9C, 0x4F, 0x88, 0xF9, 0x3A, 0x2B, 0x27, 0x48, -   0x47, 0x18, 0xF4, 0xAD, 0xB4, 0x8F, 0x2A, 0x76, -   0x17, 0xE9, 0x1F, 0x40, 0x0C, 0x59, 0xD1, 0x4C, -   0x20, 0x31, 0x73, 0x54, 0xCD, 0x68, 0x08, 0x52, -   0x10, 0x62, 0x3D, 0xD2, 0x77, 0xF2, 0xD7, 0x30, -   0xCA, 0x16, 0x01, 0x50, 0x9F, 0x3F, 0x75, 0xED, -   0x90, 0x6A, 0x34, 0xCE, 0x05, 0x78, 0x5E, 0xD6, -   0x85, 0xCC, 0x29, 0xB8, 0xC1, 0x0D, 0xCB, 0x80, -   0x2E, 0x04, 0x00, 0x44, 0x32, 0x95, 0xBF, 0xFE, -   0x6E, 0x7C, 0xFD, 0xA7, 0x3C, 0x5C, 0xF0, 0xEC, -   0xAC, 0xF8, 0xB9, 0xC0, 0x1B, 0x3E, 0xE8, 0x66, -   0x5D, 0xDE, 0x49, 0x71, 0xAA, 0xAF, 0x21, 0x64, -   0x28, 0x8A, 0x4E, 0x98, 0x58, 0xA2, 0x23, 0xCF, -   0x9E, 0x63, 0x61, 0x91, 0x12, 0xC6, 0x8C, 0x19, -   0xA8, 0xD4, 0xC7, 0xDD, 0xFC, 0xBD, 0x38, 0xDF, -   0xEA, 0x2D, 0x7E, 0x7D, 0xE3, 0xE0, 0xC3, 0xD9, -   0x8B, 0x11, 0xF1, 0x4D, 0xC8, 0xB5, 0x55, 0xAE, -   0xE1, 0x89, 0xE5, 0xB3, 0xBC, 0x69, 0x9D, 0xA6, -   0x09, 0x9A, 0x74, 0x35, 0x1A, 0xFB, 0x24, 0xB7, -   0x13, 0x14, 0x94, 0x0A, 0x86, 0x0F, 0x60, 0x51, -   0xB0, 0x84, 0x22, 0x5B, 0x87, 0x43, 0x57, 0x0B, -   0x2F, 0x5F, 0x02, 0xD0, 0xBB, 0xA3, 0xC9, 0x7A, -   0xBE, 0xC2, 0x26, 0x46, 0xDB, 0x1E, 0x1D, 0x92, -   0xE2, 0xB2, 0x37, 0x6D, 0xD5, 0x4A, 0x0E, 0x4B, -   0x8E, 0xC5, 0x42, 0x99, 0xEE, 0xE4, 0xB1, 0x06, -   0xAB, 0x5A, 0x56, 0x41, 0x65, 0xBA, 0xFA, 0x83, -   0x15, 0xDA, 0x72, 0xA1, 0x81, 0x1C, 0xA9, 0x36, -   0x25, 0x96, 0x6C, 0x39, 0x82, 0xE6, 0x2C, 0x9B, -   0xC4, 0x7F, 0xA0, 0xD8, 0xEF, 0x03, 0x70, 0xF6 }; - -static const unsigned char table_133[256] = { -   0x02, 0xF0, 0xED, 0xC4, 0xE4, 0x67, 0x60, 0x8B, -   0xF3, 0x77, 0x92, 0xE0, 0x85, 0x93, 0x1E, 0x8E, -   0x9A, 0x38, 0x61, 0x20, 0xB7, 0x68, 0xE1, 0x5E, -   0xD5, 0x63, 0xA9, 0xA5, 0xBE, 0x36, 0x12, 0x4D, -   0x86, 0x16, 0xD6, 0xB1, 0x23, 0x64, 0x4F, 0x62, -   0xFC, 0xA3, 0xD3, 0x04, 0x7D, 0x8C, 0xE2, 0xFF, -   0x5D, 0x30, 0xF5, 0x95, 0x1B, 0x5F, 0x73, 0xAA, -   0xE8, 0x07, 0x87, 0xDC, 0x54, 0x7C, 0xEE, 0x00, -   0xB8, 0xDE, 0x55, 0xBA, 0xD0, 0x50, 0xBB, 0x89, -   0x1C, 0xCC, 0x0E, 0xC0, 0x42, 0x11, 0xD8, 0xA2, -   0x2E, 0x33, 0xFE, 0x26, 0xD4, 0x10, 0xDA, 0xC5, -   0xFB, 0xAF, 0x98, 0x78, 0xB5, 0xBD, 0xC8, 0x8D, -   0x46, 0xA0, 0xD1, 0x7B, 0xBC, 0x75, 0xAB, 0x25, -   0xB2, 0x43, 0x57, 0xB6, 0xEC, 0xF4, 0x66, 0x05, -   0x9C, 0x08, 0x53, 0x80, 0xEA, 0x21, 0x2C, 0x6C, -   0x17, 0x71, 0xD2, 0x70, 0x76, 0x9E, 0x6B, 0x7A, -   0x58, 0xA7, 0xBF, 0x29, 0x03, 0x1F, 0x06, 0xC1, -   0xDD, 0x2F, 0x5C, 0x0B, 0x0D, 0x8A, 0x0A, 0xCB, -   0xCA, 0x6F, 0x19, 0x6A, 0xFA, 0xF7, 0xA8, 0xA1, -   0xEB, 0x88, 0x44, 0xAC, 0x01, 0x4E, 0x59, 0x94, -   0x72, 0x2B, 0xE9, 0x0F, 0x22, 0x9B, 0x27, 0x37, -   0x41, 0xF9, 0xF2, 0xE3, 0xEF, 0xB3, 0xD9, 0x2A, -   0x31, 0xC2, 0x0C, 0x15, 0x90, 0x14, 0xF6, 0x83, -   0xFD, 0x96, 0x9D, 0x7F, 0xA4, 0x39, 0xE7, 0x3F, -   0xE6, 0xC7, 0xCD, 0x1A, 0xCF, 0x48, 0x3C, 0x51, -   0x6D, 0x5B, 0x74, 0xC3, 0xC9, 0x09, 0x3D, 0x9F, -   0xDB, 0x32, 0x40, 0x18, 0xD7, 0xCE, 0x69, 0x49, -   0x3A, 0xF1, 0xB9, 0x56, 0x91, 0x99, 0x84, 0x24, -   0x7E, 0x34, 0x4B, 0xA6, 0x47, 0xB4, 0x6E, 0xDF, -   0x65, 0x3B, 0xAD, 0x45, 0x13, 0xC6, 0x81, 0xF8, -   0x4A, 0x2D, 0x8F, 0x4C, 0x97, 0x28, 0x3E, 0xE5, -   0x5A, 0x35, 0xB0, 0xAE, 0x82, 0x79, 0x1D, 0x52 }; - -static const unsigned char table_134[32] = { -   0x09, 0x0F, 0x10, 0x0C, 0x03, 0x15, 0x07, 0x17, -   0x0E, 0x0B, 0x1D, 0x08, 0x19, 0x11, 0x00, 0x0A, -   0x01, 0x06, 0x18, 0x16, 0x0D, 0x13, 0x14, 0x12, -   0x02, 0x1B, 0x1A, 0x04, 0x05, 0x1F, 0x1C, 0x1E }; - -static const unsigned char table_135[256] = { -   0x14, 0x34, 0xEA, 0x02, 0x2B, 0x5A, 0x10, 0x51, -   0xF3, 0x8F, 0x28, 0xB2, 0x50, 0x8B, 0x01, 0xCC, -   0x80, 0x15, 0x29, 0x42, 0xF4, 0x1D, 0xFB, 0xBB, -   0x1F, 0x43, 0x8C, 0x17, 0x1E, 0x81, 0x04, 0x98, -   0x46, 0xD8, 0xD5, 0x65, 0x4C, 0x1C, 0xDB, 0x40, -   0x5F, 0x1A, 0x31, 0x74, 0xF1, 0x64, 0x19, 0x05, -   0xFC, 0xF0, 0x73, 0xB6, 0x23, 0x77, 0x9C, 0xCE, -   0x70, 0xEF, 0xDA, 0xE0, 0xA2, 0x78, 0x84, 0xEB, -   0x9E, 0xC5, 0x95, 0xA3, 0xF6, 0xCA, 0xAD, 0x52, -   0xD0, 0x3F, 0x54, 0xA7, 0x33, 0xA9, 0x09, 0x6A, -   0x89, 0x7E, 0x75, 0xA8, 0xD6, 0x79, 0x9F, 0xAB, -   0x8E, 0x11, 0x0E, 0x3B, 0xAA, 0xE6, 0x85, 0x53, -   0x0A, 0x59, 0xEC, 0x94, 0xD7, 0x41, 0x86, 0x7D, -   0x2F, 0xC7, 0xDE, 0x06, 0xCB, 0x13, 0xBA, 0x58, -   0xC8, 0xC9, 0x07, 0x67, 0x7F, 0xA5, 0xB4, 0x2C, -   0x48, 0x6C, 0xB8, 0xD1, 0x30, 0xD3, 0x35, 0x4F, -   0x88, 0x26, 0x93, 0x32, 0x71, 0x3E, 0x3D, 0xF7, -   0x6D, 0x03, 0xED, 0x8A, 0x36, 0x55, 0x9B, 0x66, -   0x8D, 0x27, 0x7C, 0xF9, 0xA6, 0xC3, 0x20, 0x69, -   0x4A, 0xE3, 0x99, 0x5C, 0xBC, 0x45, 0x16, 0x6B, -   0xB9, 0x49, 0x82, 0xFF, 0xBD, 0xDD, 0xE9, 0x0C, -   0xD4, 0x44, 0xFD, 0x22, 0xE5, 0xAC, 0x61, 0xC4, -   0x90, 0x47, 0x37, 0x72, 0xA4, 0x7A, 0x24, 0x4D, -   0x5B, 0x12, 0x38, 0x92, 0x87, 0x1B, 0xE1, 0xA0, -   0x91, 0x3C, 0xEE, 0x6F, 0xC1, 0x0F, 0x56, 0xC2, -   0x9A, 0xF8, 0x18, 0xE8, 0xD2, 0xDC, 0x4B, 0xCF, -   0x39, 0xF5, 0xFE, 0x2A, 0x2D, 0x9D, 0xA1, 0xFA, -   0xE7, 0xBF, 0x6E, 0xE4, 0x2E, 0xB3, 0xCD, 0xE2, -   0xAF, 0x7B, 0xC0, 0x68, 0x97, 0xB5, 0x5D, 0xB7, -   0x21, 0x57, 0x83, 0x76, 0xB1, 0xAE, 0x5E, 0x0D, -   0x96, 0x4E, 0x08, 0xC6, 0x0B, 0xDF, 0x3A, 0xB0, -   0x00, 0x63, 0xD9, 0xBE, 0xF2, 0x60, 0x25, 0x62 }; - -static const unsigned char table_136[256] = { -   0xD3, 0x1A, 0x00, 0xED, 0x59, 0x24, 0xA3, 0xF2, -   0xBA, 0x58, 0x4C, 0x5C, 0x75, 0x48, 0x98, 0xB0, -   0xCF, 0xC3, 0xF7, 0x88, 0x70, 0xB3, 0x3D, 0x3E, -   0x03, 0xF9, 0xC9, 0xFD, 0x80, 0x44, 0x7F, 0x3B, -   0x95, 0x5F, 0x31, 0x47, 0x15, 0x07, 0xB8, 0x08, -   0xCE, 0xDA, 0x71, 0x9F, 0x83, 0xB1, 0x55, 0x16, -   0xE6, 0xB2, 0xC7, 0xBE, 0x54, 0xE7, 0x2E, 0x8D, -   0x12, 0x21, 0x41, 0x69, 0xFE, 0x28, 0x11, 0x56, -   0x5A, 0xDD, 0xB6, 0x87, 0x78, 0x82, 0x4D, 0x7B, -   0x50, 0x9A, 0x9E, 0x62, 0xF8, 0x0A, 0x64, 0xF1, -   0x4E, 0x33, 0xAD, 0xBB, 0x79, 0x76, 0xD8, 0xCD, -   0x86, 0x34, 0x29, 0xD5, 0x7D, 0x72, 0xC5, 0xC1, -   0xDF, 0x09, 0x4A, 0xB4, 0xD2, 0x7A, 0xF0, 0xCC, -   0x0F, 0xA7, 0xD6, 0x2B, 0x20, 0x26, 0xEF, 0xAB, -   0x74, 0x1E, 0xE3, 0x77, 0xCB, 0x7C, 0x73, 0x5E, -   0x6B, 0x0D, 0x65, 0xA6, 0x30, 0xFB, 0xD0, 0xB7, -   0xAA, 0x94, 0x9D, 0x85, 0x13, 0x18, 0xA8, 0xF3, -   0xE0, 0xBC, 0x45, 0xCA, 0xC8, 0xDC, 0xE2, 0x3C, -   0x23, 0xE5, 0xB9, 0x90, 0x49, 0xA5, 0xE4, 0x36, -   0xFC, 0x53, 0xF6, 0xE8, 0xC6, 0x2C, 0x02, 0x25, -   0xC0, 0x8F, 0x61, 0xA4, 0x39, 0x8C, 0x5D, 0xAE, -   0x22, 0x1C, 0x2F, 0xD4, 0x6C, 0xD1, 0x51, 0xEA, -   0x4F, 0x7E, 0xA0, 0xF5, 0x6A, 0x32, 0xA2, 0x01, -   0xB5, 0x10, 0x2A, 0xAC, 0xA9, 0x06, 0xC4, 0x91, -   0x68, 0xE1, 0xBD, 0x14, 0x38, 0xFA, 0x6E, 0x3F, -   0x37, 0x66, 0xDB, 0x57, 0x43, 0x1B, 0x67, 0xAF, -   0x1F, 0x0B, 0x6D, 0x2D, 0x89, 0x04, 0x4B, 0x52, -   0xC2, 0xBF, 0xA1, 0x92, 0x99, 0x6F, 0x63, 0x81, -   0x27, 0x05, 0x96, 0x3A, 0xEC, 0x0E, 0x97, 0xD9, -   0xDE, 0x46, 0x35, 0x8B, 0x8E, 0x8A, 0xF4, 0xFF, -   0x60, 0xD7, 0xE9, 0x17, 0xEB, 0x9C, 0x84, 0x0C, -   0x93, 0x1D, 0x9B, 0x5B, 0x40, 0xEE, 0x42, 0x19 }; - -static const unsigned char table_137[32] = { -   0x0F, 0x09, 0x02, 0x06, 0x18, 0x0B, 0x1E, 0x05, -   0x11, 0x1D, 0x16, 0x01, 0x13, 0x10, 0x0E, 0x1A, -   0x1B, 0x00, 0x0D, 0x08, 0x15, 0x14, 0x19, 0x17, -   0x03, 0x1F, 0x0A, 0x12, 0x0C, 0x07, 0x04, 0x1C }; - -static const unsigned char table_138[32] = { -   0x0D, 0x1C, 0x1F, 0x15, 0x0F, 0x14, 0x1B, 0x12, -   0x09, 0x0B, 0x19, 0x07, 0x11, 0x16, 0x0C, 0x04, -   0x13, 0x05, 0x1D, 0x03, 0x0E, 0x0A, 0x08, 0x1E, -   0x01, 0x06, 0x18, 0x17, 0x10, 0x1A, 0x02, 0x00 }; - -static const unsigned char table_139[32] = { -   0x05, 0x15, 0x1D, 0x02, 0x0F, 0x03, 0x17, 0x1A, -   0x0A, 0x00, 0x1F, 0x12, 0x0E, 0x11, 0x1B, 0x13, -   0x0B, 0x0D, 0x09, 0x18, 0x1E, 0x08, 0x14, 0x07, -   0x0C, 0x04, 0x16, 0x19, 0x1C, 0x06, 0x10, 0x01 }; - -static const unsigned char table_140[32] = { -   0x06, 0x1E, 0x0C, 0x11, 0x13, 0x08, 0x15, 0x01, -   0x1D, 0x03, 0x0F, 0x19, 0x18, 0x04, 0x00, 0x14, -   0x12, 0x1A, 0x0B, 0x0E, 0x02, 0x1B, 0x07, 0x05, -   0x1F, 0x17, 0x09, 0x0A, 0x0D, 0x16, 0x10, 0x1C }; - -static const unsigned char table_141[256] = { -   0xE1, 0x0A, 0x28, 0xCD, 0x8A, 0x1E, 0x26, 0x10, -   0xC0, 0x6F, 0x06, 0x2C, 0xF8, 0x51, 0x6C, 0x8F, -   0xA8, 0x8C, 0x41, 0xF4, 0xED, 0x36, 0xAC, 0x89, -   0xBD, 0x9D, 0x42, 0x50, 0x95, 0x07, 0x2A, 0x9B, -   0x7E, 0xA3, 0x6B, 0x30, 0x72, 0x4E, 0xBE, 0xD8, -   0x8B, 0x5B, 0x1A, 0x56, 0x05, 0xEF, 0xEE, 0x64, -   0xFF, 0xFD, 0x93, 0xB5, 0xD6, 0x04, 0x57, 0xAE, -   0x4D, 0x6D, 0x2F, 0xBA, 0x40, 0xE0, 0xDB, 0xF2, -   0xCC, 0x08, 0x35, 0x02, 0xC4, 0x65, 0x66, 0x76, -   0xA1, 0x97, 0x9F, 0x6A, 0x90, 0xA7, 0x34, 0x1B, -   0x18, 0xB9, 0xA2, 0xDE, 0x23, 0x1F, 0xCB, 0xE6, -   0xAB, 0xCF, 0xAD, 0x4A, 0xF7, 0x24, 0xD0, 0xE8, -   0x8D, 0x49, 0xEA, 0x0F, 0x94, 0x22, 0xD3, 0x74, -   0x71, 0x0D, 0x21, 0x14, 0x39, 0x4B, 0x16, 0x25, -   0x5A, 0xB7, 0x17, 0x67, 0x59, 0x47, 0x27, 0x4F, -   0x32, 0x3B, 0x63, 0x0C, 0xF0, 0xF3, 0x7B, 0xC7, -   0xCA, 0x3A, 0x9A, 0xE2, 0xD5, 0xFA, 0x91, 0xFC, -   0x86, 0x81, 0x99, 0xB4, 0xBC, 0x7C, 0xC5, 0xBF, -   0xC1, 0xF5, 0x77, 0xA4, 0x79, 0x11, 0x8E, 0x75, -   0x55, 0x3D, 0x78, 0x20, 0x37, 0x3E, 0x85, 0xE4, -   0x2E, 0x82, 0xA9, 0x7A, 0x31, 0xC9, 0xB3, 0xFE, -   0x4C, 0x7D, 0xC3, 0xA0, 0x0E, 0x96, 0x5C, 0xC6, -   0x1C, 0x5F, 0xD7, 0xDD, 0x83, 0xC8, 0x9E, 0xEC, -   0x3F, 0xAF, 0x38, 0x9C, 0xD9, 0xB6, 0xDA, 0xD4, -   0x61, 0x44, 0x43, 0xAA, 0xB1, 0xCE, 0xE7, 0x84, -   0x00, 0x0B, 0xFB, 0x68, 0xC2, 0x3C, 0x58, 0xB2, -   0x69, 0x7F, 0x33, 0x2B, 0x80, 0x03, 0xE9, 0x88, -   0x29, 0x12, 0x01, 0x6E, 0x62, 0xF1, 0xA6, 0xF9, -   0x5D, 0xD2, 0xE3, 0x53, 0x09, 0x2D, 0xBB, 0x15, -   0xEB, 0x13, 0xA5, 0xF6, 0x73, 0x19, 0x60, 0xB0, -   0xD1, 0x48, 0x92, 0x1D, 0x52, 0x5E, 0x45, 0x70, -   0x98, 0x54, 0xB8, 0xDC, 0x46, 0xDF, 0x87, 0xE5 }; - -static const unsigned char table_142[256] = { -   0x90, 0x94, 0xBE, 0x14, 0x99, 0xEB, 0x45, 0x0F, -   0x34, 0x4A, 0xE3, 0x79, 0xD2, 0x64, 0x4D, 0x69, -   0x91, 0xDE, 0xB9, 0x1C, 0x59, 0x20, 0x6C, 0x0B, -   0x16, 0xC7, 0x1D, 0x18, 0x02, 0x7D, 0x13, 0xB2, -   0x7B, 0x81, 0xCF, 0x61, 0xA3, 0x33, 0x00, 0x73, -   0x5A, 0x8A, 0xA1, 0xA8, 0x31, 0xAC, 0xF0, 0x67, -   0xAE, 0xA5, 0x2A, 0x96, 0x58, 0xF4, 0xB7, 0x0E, -   0xE1, 0x54, 0x27, 0x83, 0x09, 0x85, 0xF8, 0x84, -   0xEA, 0xAD, 0x06, 0xED, 0x43, 0xFF, 0xA2, 0x6E, -   0x68, 0x46, 0x74, 0x47, 0x3C, 0xAA, 0xBC, 0x55, -   0xA7, 0xC3, 0x82, 0xDC, 0xBF, 0x38, 0x80, 0x15, -   0xF6, 0xB3, 0x92, 0x7C, 0x93, 0x3F, 0xE9, 0x4C, -   0x35, 0x30, 0x32, 0xF3, 0x88, 0xC0, 0x49, 0x6D, -   0xCE, 0x42, 0xDF, 0xFD, 0x78, 0x6A, 0x24, 0xCA, -   0xB8, 0xFC, 0xA6, 0x5F, 0x29, 0xFE, 0x0C, 0x5C, -   0x0D, 0x23, 0x8B, 0x9D, 0xD4, 0x03, 0x2C, 0x9C, -   0x77, 0xD8, 0x39, 0x8C, 0x57, 0xD5, 0xE0, 0x8F, -   0xC6, 0xB0, 0xCD, 0x48, 0xC9, 0xA0, 0xDA, 0xC8, -   0xD1, 0x5B, 0xAB, 0x37, 0x5D, 0x63, 0xAF, 0xF9, -   0x17, 0x1B, 0xE5, 0xF1, 0x36, 0xC1, 0x04, 0x26, -   0x6F, 0x9E, 0xD9, 0x2F, 0x7F, 0xB5, 0x3A, 0xD6, -   0xE6, 0x40, 0x07, 0xCB, 0x7E, 0x3E, 0xC5, 0x22, -   0xEC, 0xE2, 0xD3, 0x4E, 0x65, 0x2D, 0x70, 0xE7, -   0x10, 0x19, 0xD0, 0xEF, 0xBD, 0xC2, 0x44, 0xB4, -   0xF7, 0xA4, 0x53, 0x9F, 0x86, 0xFA, 0xE8, 0x4B, -   0x28, 0x3D, 0x9B, 0x56, 0x89, 0x6B, 0x25, 0x71, -   0x60, 0x11, 0x9A, 0x5E, 0x1A, 0x52, 0x08, 0x4F, -   0xB1, 0xDD, 0xBB, 0x98, 0xFB, 0x12, 0x3B, 0x0A, -   0x2E, 0xDB, 0x62, 0x8D, 0xC4, 0x75, 0xA9, 0x2B, -   0xE4, 0x97, 0x72, 0xF5, 0xEE, 0xF2, 0xB6, 0x21, -   0xBA, 0x7A, 0x76, 0x41, 0x50, 0x66, 0x05, 0x8E, -   0xCC, 0x1E, 0x87, 0xD7, 0x01, 0x1F, 0x51, 0x95 }; - -static const unsigned char table_143[32] = { -   0x0E, 0x16, 0x18, 0x11, 0x0C, 0x01, 0x12, 0x1F, -   0x08, 0x15, 0x0A, 0x06, 0x1C, 0x1E, 0x02, 0x1A, -   0x17, 0x03, 0x07, 0x13, 0x05, 0x19, 0x10, 0x0F, -   0x0D, 0x14, 0x09, 0x0B, 0x1B, 0x00, 0x1D, 0x04 }; - -static const unsigned char table_144[32] = { -   0x00, 0x1B, 0x17, 0x19, 0x1D, 0x11, 0x0D, 0x1A, -   0x13, 0x03, 0x1E, 0x09, 0x10, 0x0E, 0x15, 0x05, -   0x0B, 0x1C, 0x1F, 0x08, 0x0A, 0x06, 0x01, 0x0F, -   0x16, 0x14, 0x02, 0x04, 0x07, 0x18, 0x12, 0x0C }; - -static const unsigned char table_145[256] = { -   0xF9, 0x2C, 0x38, 0x74, 0xDA, 0x65, 0x85, 0x0E, -   0xBA, 0x64, 0xDB, 0xE3, 0xB6, 0x8B, 0x0B, 0x5E, -   0x01, 0x0F, 0x12, 0x8C, 0xD4, 0xCC, 0xB1, 0x7B, -   0xE7, 0xBC, 0x2E, 0x87, 0x84, 0x3B, 0xF8, 0x4C, -   0x8E, 0x59, 0x2D, 0xAA, 0xCE, 0x28, 0x1B, 0xEE, -   0x7F, 0x5C, 0xFB, 0x62, 0x05, 0xD9, 0xDD, 0x9D, -   0x49, 0x66, 0x82, 0x71, 0xD2, 0xC7, 0xEB, 0xCF, -   0x5B, 0x41, 0x25, 0xC8, 0x6C, 0xFF, 0x78, 0x97, -   0x0C, 0xA2, 0x50, 0x7A, 0xAF, 0x2F, 0xB0, 0x7E, -   0xBB, 0x73, 0xA0, 0x9B, 0x09, 0xDE, 0x35, 0xE9, -   0x5A, 0x70, 0x56, 0xC5, 0x81, 0x19, 0x55, 0xAB, -   0xC1, 0xB4, 0x2A, 0x30, 0x54, 0x6F, 0x3E, 0x46, -   0x5D, 0x37, 0xF5, 0x57, 0x6B, 0x7C, 0x43, 0xE1, -   0x4A, 0x3F, 0xB2, 0x4B, 0x77, 0xB5, 0x44, 0xD6, -   0x91, 0x11, 0x72, 0xE8, 0xBE, 0xA5, 0xA8, 0xD3, -   0x9A, 0x17, 0x86, 0x88, 0x16, 0x3C, 0x36, 0xD8, -   0x6E, 0x07, 0x8D, 0x5F, 0xFA, 0xF1, 0x24, 0x7D, -   0x20, 0x60, 0x0D, 0x89, 0xC9, 0x29, 0xA7, 0x2B, -   0x4E, 0x10, 0x9F, 0xE5, 0x61, 0x32, 0x3A, 0xBF, -   0x93, 0xE6, 0xF3, 0x52, 0x80, 0xC4, 0x02, 0x22, -   0xA4, 0xBD, 0xF0, 0x48, 0x51, 0xF2, 0xD7, 0x33, -   0x00, 0x53, 0x98, 0xEC, 0x47, 0x39, 0xB9, 0x90, -   0x76, 0x4F, 0x68, 0x3D, 0x9C, 0x92, 0xD5, 0xB8, -   0xAE, 0xD0, 0xF4, 0x67, 0x58, 0xC0, 0x06, 0x08, -   0x14, 0x31, 0xDC, 0xA1, 0x15, 0xDF, 0xCA, 0xE2, -   0x23, 0xFE, 0xE4, 0x8F, 0x0A, 0xFC, 0x8A, 0xA3, -   0xC6, 0xCD, 0x6A, 0x75, 0xFD, 0x42, 0xB7, 0x79, -   0x96, 0x1D, 0x63, 0x18, 0xA9, 0x1C, 0x83, 0x6D, -   0xE0, 0x34, 0x04, 0xA6, 0x13, 0xAC, 0xD1, 0xF7, -   0x26, 0xC3, 0x1F, 0x27, 0x45, 0x95, 0xCB, 0x21, -   0xED, 0x1A, 0x9E, 0x99, 0xEA, 0x40, 0x94, 0x4D, -   0x69, 0xF6, 0xEF, 0xC2, 0xAD, 0x03, 0xB3, 0x1E }; - -static const unsigned char table_146[256] = { -   0x1C, 0xF5, 0x16, 0xD2, 0xCC, 0xDC, 0x1E, 0x29, -   0xE3, 0x17, 0x3B, 0x66, 0x6A, 0xF7, 0x03, 0xB2, -   0x92, 0x45, 0x4D, 0xD6, 0x0C, 0x5E, 0xE6, 0x01, -   0xDE, 0xCE, 0x83, 0xFA, 0x35, 0x02, 0x85, 0xC4, -   0x2E, 0x89, 0x8D, 0xE7, 0x30, 0x93, 0xDD, 0x70, -   0x80, 0xD9, 0x6D, 0x81, 0x07, 0x8E, 0xA9, 0xA6, -   0x5F, 0xC9, 0xF3, 0x9D, 0x65, 0xE8, 0x88, 0x0B, -   0x49, 0xAA, 0xB7, 0x6C, 0x11, 0xFC, 0x6F, 0xA3, -   0xF8, 0x52, 0x0E, 0xD4, 0x08, 0x25, 0x27, 0x33, -   0x2F, 0xF0, 0x2B, 0x47, 0xDA, 0x4C, 0x39, 0x54, -   0xB9, 0xC1, 0xEA, 0x7C, 0x44, 0xEB, 0x06, 0xE1, -   0x8C, 0x9B, 0x74, 0x42, 0x4F, 0x0A, 0x69, 0x2A, -   0x2D, 0xA1, 0x19, 0xD5, 0xC3, 0x87, 0x68, 0xFF, -   0xEC, 0xE4, 0x86, 0xCF, 0xF6, 0x79, 0x34, 0xA8, -   0x72, 0xF4, 0x8B, 0xAF, 0xA5, 0x00, 0xBA, 0x5C, -   0x23, 0xB8, 0xC8, 0x59, 0xBF, 0x6E, 0xCB, 0x20, -   0x1F, 0x53, 0x97, 0x4B, 0xD0, 0x55, 0x5B, 0xDF, -   0x8A, 0xED, 0x9A, 0x62, 0xC5, 0xD7, 0x18, 0x82, -   0xC7, 0x12, 0x15, 0x1B, 0xC0, 0x38, 0xCA, 0x26, -   0xDB, 0xAE, 0xF9, 0x90, 0x1A, 0xF2, 0x56, 0x32, -   0x21, 0x3C, 0x43, 0xEE, 0xA4, 0x13, 0x94, 0xA2, -   0x46, 0x77, 0xBC, 0xB6, 0x9C, 0x0D, 0xCD, 0x37, -   0x63, 0x60, 0x6B, 0x3A, 0x3E, 0xA7, 0xD8, 0xFE, -   0xFB, 0xEF, 0x67, 0xFD, 0xAD, 0xF1, 0x09, 0x1D, -   0xE9, 0x51, 0xB4, 0x95, 0x75, 0x0F, 0xB3, 0xD3, -   0xAB, 0x22, 0xBB, 0x61, 0x7F, 0x5A, 0x58, 0x7B, -   0x73, 0xC2, 0x05, 0xE0, 0x14, 0xE2, 0xAC, 0x91, -   0xBE, 0x4E, 0xC6, 0x7A, 0x84, 0x50, 0x28, 0x3F, -   0xB0, 0x04, 0x7E, 0xD1, 0x40, 0xBD, 0xE5, 0x71, -   0xB1, 0x78, 0x41, 0x9E, 0x57, 0x64, 0x8F, 0x24, -   0x4A, 0x9F, 0x3D, 0x31, 0x36, 0x5D, 0xA0, 0x2C, -   0x7D, 0x96, 0x76, 0x99, 0xB5, 0x48, 0x98, 0x10 }; - -static const unsigned char table_147[32] = { -   0x17, 0x07, 0x0D, 0x16, 0x00, 0x1B, 0x1F, 0x09, -   0x10, 0x11, 0x14, 0x0A, 0x02, 0x06, 0x13, 0x0C, -   0x08, 0x1E, 0x0F, 0x12, 0x05, 0x15, 0x19, 0x01, -   0x1C, 0x1A, 0x03, 0x18, 0x04, 0x0B, 0x1D, 0x0E }; - -static const unsigned char table_148[256] = { -   0xFB, 0x23, 0xBC, 0x5A, 0x8C, 0x02, 0x42, 0x3B, -   0x95, 0x0C, 0x21, 0x0E, 0x14, 0xDF, 0x11, 0xC0, -   0xDB, 0x5E, 0xD3, 0xEA, 0xCE, 0xB4, 0x32, 0x12, -   0x70, 0x68, 0xA3, 0x25, 0x5B, 0x4B, 0x47, 0xA5, -   0x84, 0x9B, 0xFA, 0xD1, 0xE1, 0x3C, 0x20, 0x93, -   0x41, 0x26, 0x81, 0x39, 0x17, 0xA4, 0xCF, 0xB9, -   0xC5, 0x5F, 0x1C, 0xB3, 0x88, 0xC2, 0x92, 0x30, -   0x0A, 0xB8, 0xA0, 0xE2, 0x50, 0x2B, 0x48, 0x1E, -   0xD5, 0x13, 0xC7, 0x46, 0x9E, 0x2A, 0xF7, 0x7E, -   0xE8, 0x82, 0x60, 0x7A, 0x36, 0x97, 0x0F, 0x8F, -   0x8B, 0x80, 0xE0, 0xEB, 0xB1, 0xC6, 0x6E, 0xAE, -   0x90, 0x76, 0xA7, 0x31, 0xBE, 0x9C, 0x18, 0x6D, -   0xAB, 0x6C, 0x7B, 0xFE, 0x62, 0x05, 0xE9, 0x66, -   0x2E, 0x38, 0xB5, 0xB2, 0xFD, 0xFC, 0x7F, 0xE3, -   0xA1, 0xF1, 0x99, 0x4D, 0x79, 0x22, 0xD2, 0x37, -   0x29, 0x01, 0x54, 0x00, 0xBD, 0x51, 0x1B, 0x07, -   0x0B, 0x4A, 0xEE, 0x57, 0xDA, 0x1A, 0x06, 0xCA, -   0xCB, 0x9A, 0xC9, 0x7D, 0xE4, 0xDC, 0xE5, 0x8D, -   0x75, 0x4F, 0xF6, 0xA2, 0x65, 0x7C, 0xD9, 0x9D, -   0x03, 0x27, 0x2D, 0x4C, 0x49, 0xD4, 0x5D, 0x3E, -   0xBA, 0x1D, 0xD8, 0x91, 0x74, 0x10, 0xF8, 0xDE, -   0xEF, 0xF0, 0x6A, 0x04, 0x72, 0x08, 0x78, 0x3A, -   0x53, 0xC4, 0x34, 0xF2, 0x64, 0xAF, 0x86, 0xC3, -   0xF3, 0x73, 0x67, 0xCC, 0x58, 0xF4, 0x96, 0xAC, -   0x3D, 0xE7, 0x15, 0x8E, 0x19, 0x61, 0xF9, 0xB6, -   0xCD, 0x87, 0xAA, 0xB0, 0x1F, 0x6F, 0xAD, 0x28, -   0xC8, 0x69, 0x56, 0xC1, 0x71, 0xED, 0xE6, 0x98, -   0x6B, 0x59, 0xB7, 0xF5, 0x2C, 0xEC, 0xA8, 0x94, -   0x89, 0xBB, 0xA9, 0xD7, 0x2F, 0x8A, 0x4E, 0xD6, -   0x33, 0x16, 0x0D, 0x83, 0x5C, 0x52, 0x85, 0xA6, -   0x40, 0x45, 0x9F, 0x44, 0x63, 0x35, 0x77, 0xFF, -   0x09, 0x43, 0xBF, 0xD0, 0x55, 0xDD, 0x3F, 0x24 }; - -static const unsigned char table_149[32] = { -   0x1B, 0x0B, 0x0C, 0x06, 0x1F, 0x17, 0x04, 0x1A, -   0x1E, 0x02, 0x0F, 0x16, 0x0E, 0x09, 0x10, 0x01, -   0x13, 0x19, 0x11, 0x00, 0x0A, 0x05, 0x03, 0x1C, -   0x18, 0x1D, 0x14, 0x0D, 0x07, 0x08, 0x15, 0x12 }; - -static const unsigned char table_150[256] = { -   0x57, 0xBC, 0x9D, 0x46, 0x14, 0xD0, 0x94, 0x95, -   0x1B, 0x12, 0xB8, 0xD4, 0x53, 0x73, 0x83, 0xE6, -   0x75, 0xE1, 0xD1, 0x0D, 0xDF, 0x23, 0x13, 0x40, -   0xF1, 0x0C, 0xA0, 0xC1, 0x22, 0xDA, 0xE8, 0xFB, -   0xE5, 0xC4, 0x16, 0x9C, 0x3F, 0xC3, 0x78, 0x3A, -   0x06, 0xC7, 0xA8, 0x79, 0xA4, 0xB3, 0x55, 0x88, -   0xA9, 0x82, 0xE3, 0x68, 0xFC, 0x3B, 0x26, 0x81, -   0xB4, 0x0A, 0x7D, 0x96, 0xDB, 0x2C, 0xE2, 0xCD, -   0x92, 0x5C, 0xED, 0x0E, 0x42, 0x98, 0xBE, 0xB7, -   0x63, 0x25, 0x7B, 0xD9, 0xEF, 0x11, 0xB9, 0xA3, -   0xFA, 0x00, 0x2A, 0x91, 0x71, 0xBF, 0xB2, 0x3D, -   0x20, 0x4C, 0xB0, 0x8C, 0x3C, 0x27, 0xAF, 0x09, -   0x10, 0x5D, 0x2B, 0x1D, 0xBD, 0x4B, 0x54, 0xD3, -   0xAB, 0x1A, 0xE7, 0xF8, 0x56, 0x65, 0xA5, 0xAD, -   0xEC, 0x17, 0x45, 0x28, 0xCA, 0xEA, 0x01, 0xF5, -   0x34, 0x84, 0x43, 0x8B, 0x03, 0x02, 0x90, 0x6B, -   0x60, 0xCE, 0x19, 0x86, 0x4F, 0x08, 0x35, 0x9A, -   0xAE, 0x07, 0xE0, 0xB6, 0xD6, 0x2D, 0xD2, 0x89, -   0x5F, 0xA6, 0x72, 0x05, 0x36, 0xB5, 0xC0, 0x5A, -   0x4D, 0xD7, 0x30, 0x37, 0x87, 0x50, 0xA2, 0x48, -   0x29, 0xAC, 0xDE, 0x93, 0x24, 0x6E, 0x1E, 0xF7, -   0x52, 0x5E, 0x41, 0xC8, 0xEB, 0x31, 0x7E, 0xE9, -   0x67, 0x7A, 0x47, 0x85, 0x8D, 0x74, 0x9E, 0x64, -   0x38, 0x9B, 0xBA, 0xCC, 0x9F, 0x8E, 0xEE, 0x0F, -   0xB1, 0x7C, 0x6A, 0xBB, 0x2E, 0x58, 0x70, 0x7F, -   0x4E, 0x4A, 0x1C, 0x5B, 0xF0, 0xA1, 0x61, 0xF6, -   0x15, 0x33, 0xE4, 0xF9, 0x2F, 0x62, 0x1F, 0x76, -   0x32, 0xCB, 0x49, 0xFE, 0x8F, 0xD5, 0xDC, 0x66, -   0x0B, 0x3E, 0xC5, 0x21, 0xC6, 0x6C, 0x18, 0xC2, -   0x6D, 0xFF, 0x51, 0x99, 0xCF, 0xFD, 0x59, 0xA7, -   0xAA, 0x8A, 0xF2, 0x69, 0x39, 0x6F, 0x77, 0xDD, -   0x97, 0xC9, 0xF3, 0x04, 0xD8, 0xF4, 0x80, 0x44 }; - -static const unsigned char table_151[256] = { -   0x78, 0x6C, 0xC5, 0x0C, 0x2D, 0xA7, 0x97, 0x9C, -   0x22, 0x76, 0x3E, 0x81, 0x51, 0x47, 0x59, 0x71, -   0xB1, 0xA2, 0x4A, 0x3C, 0xB5, 0x16, 0x06, 0x95, -   0xB9, 0x01, 0xE6, 0x91, 0x96, 0x1C, 0x1B, 0xAD, -   0x61, 0x64, 0xB2, 0xE7, 0x29, 0x19, 0x52, 0x3B, -   0xFA, 0xAF, 0x30, 0xDB, 0xD4, 0x0B, 0xFE, 0x75, -   0x1F, 0xBE, 0xCB, 0xF6, 0xEA, 0x31, 0xF8, 0xD8, -   0xA3, 0x82, 0x73, 0x1D, 0x99, 0xF0, 0xCC, 0xB6, -   0x46, 0x26, 0xAA, 0x8C, 0x87, 0x90, 0x24, 0x8F, -   0x7A, 0x13, 0xEE, 0xD1, 0xA9, 0x05, 0xB3, 0xF7, -   0x02, 0x7C, 0x4C, 0x1E, 0xFF, 0xE5, 0x77, 0xAB, -   0xD6, 0x98, 0x20, 0x4D, 0xC4, 0x23, 0xF4, 0xA4, -   0x85, 0x9A, 0x8E, 0x1A, 0x0E, 0xF5, 0x15, 0x60, -   0x38, 0x72, 0xE9, 0xF1, 0xC3, 0x68, 0xF2, 0x93, -   0xD3, 0x2A, 0x48, 0x74, 0xC2, 0x57, 0xA1, 0x7D, -   0x94, 0x37, 0x92, 0x5C, 0xE1, 0x41, 0x83, 0xD5, -   0x65, 0x14, 0xA6, 0xDC, 0x44, 0x27, 0xEF, 0xD7, -   0x25, 0x10, 0x2C, 0x7F, 0x40, 0xA5, 0x55, 0xBD, -   0x2B, 0x0D, 0xD0, 0xFC, 0xDF, 0xA0, 0x04, 0x00, -   0x62, 0xB4, 0x5A, 0xEB, 0x6B, 0x84, 0x7E, 0x6A, -   0xDE, 0xED, 0x66, 0x03, 0xFB, 0x2E, 0x4F, 0x4E, -   0xBB, 0x36, 0x5B, 0x18, 0xE3, 0x69, 0x3F, 0xEC, -   0xE4, 0xD2, 0x0A, 0x34, 0x63, 0xCF, 0xA8, 0xF9, -   0x9B, 0x7B, 0x6F, 0xE8, 0x49, 0xC1, 0x09, 0x54, -   0xF3, 0x50, 0x67, 0x79, 0xC0, 0x9F, 0x8D, 0x5F, -   0x17, 0x70, 0x11, 0xC8, 0xBC, 0xC6, 0xE0, 0x35, -   0x39, 0xC7, 0x6E, 0x21, 0xBF, 0xDA, 0x6D, 0x28, -   0x0F, 0xDD, 0x33, 0xAC, 0x8A, 0x12, 0xC9, 0xCD, -   0xB8, 0x45, 0xAE, 0x32, 0xCE, 0xE2, 0x56, 0xFD, -   0x42, 0x89, 0x86, 0xCA, 0x4B, 0x3D, 0x5E, 0xBA, -   0x8B, 0x5D, 0xB0, 0xB7, 0xD9, 0x58, 0x2F, 0x08, -   0x43, 0x3A, 0x53, 0x9E, 0x80, 0x88, 0x07, 0x9D }; - -static const unsigned char table_152[32] = { -   0x02, 0x1A, 0x17, 0x1D, 0x01, 0x03, 0x13, 0x1E, -   0x05, 0x18, 0x06, 0x0A, 0x0C, 0x04, 0x1B, 0x00, -   0x1C, 0x09, 0x1F, 0x16, 0x07, 0x0F, 0x0B, 0x0E, -   0x14, 0x12, 0x0D, 0x10, 0x19, 0x11, 0x08, 0x15 }; - -static const unsigned char table_153[32] = { -   0x0E, 0x14, 0x12, 0x1E, 0x1C, 0x02, 0x06, 0x16, -   0x18, 0x0D, 0x17, 0x0C, 0x1D, 0x11, 0x08, 0x19, -   0x07, 0x0F, 0x13, 0x04, 0x03, 0x1B, 0x0B, 0x1F, -   0x1A, 0x0A, 0x05, 0x10, 0x00, 0x01, 0x15, 0x09 }; - -static const unsigned char table_154[256] = { -   0x27, 0x5A, 0x08, 0x5B, 0xF4, 0x39, 0x13, 0x6F, -   0x67, 0xEA, 0x22, 0xCA, 0x5C, 0xCF, 0x18, 0x7C, -   0x05, 0x87, 0x60, 0xCC, 0x40, 0xC6, 0xE8, 0x6D, -   0xF5, 0x2A, 0x2D, 0xA2, 0x8C, 0x82, 0xE9, 0xDC, -   0xD6, 0x65, 0x74, 0x8E, 0x42, 0x4F, 0x3E, 0x55, -   0xFF, 0xC7, 0x9D, 0x0F, 0x81, 0xE2, 0x4C, 0xE6, -   0xEB, 0x4D, 0x70, 0xD1, 0x49, 0x43, 0x3D, 0x69, -   0x0C, 0x45, 0x28, 0x00, 0x99, 0xAE, 0xEC, 0xB8, -   0xC3, 0x17, 0x93, 0x8D, 0x36, 0x3C, 0x46, 0x2B, -   0x29, 0xC5, 0xB4, 0xB1, 0xD0, 0x0D, 0xAD, 0xFE, -   0xE5, 0xA8, 0x3B, 0x1A, 0x2C, 0xDF, 0x07, 0x86, -   0xB0, 0xD3, 0x7A, 0x59, 0x79, 0x8B, 0xC1, 0x9A, -   0x30, 0xDB, 0x24, 0xF3, 0xD8, 0x04, 0x25, 0xC2, -   0xA3, 0x98, 0x96, 0x7B, 0x71, 0x4E, 0x5E, 0x58, -   0xA5, 0x51, 0x88, 0xDA, 0xF8, 0xC0, 0x7D, 0xF6, -   0x31, 0x5F, 0x09, 0x16, 0x21, 0x62, 0x01, 0x64, -   0x9B, 0x3A, 0x2F, 0x61, 0x19, 0xA1, 0xB7, 0xE0, -   0xB9, 0x12, 0xA0, 0xBA, 0x6E, 0x8A, 0xFB, 0xD9, -   0x38, 0x1B, 0xD5, 0xB3, 0x10, 0xED, 0xE4, 0x6A, -   0x32, 0xBD, 0x75, 0xD4, 0x1C, 0xFD, 0x73, 0x77, -   0x54, 0xC8, 0x97, 0x47, 0x35, 0x94, 0xE3, 0xCD, -   0x6B, 0xBB, 0xF9, 0xAC, 0x11, 0x14, 0xAF, 0x78, -   0x3F, 0xCE, 0x26, 0x44, 0xEE, 0xFC, 0x15, 0x66, -   0x4B, 0xA6, 0x20, 0x23, 0xBE, 0x84, 0x1D, 0x7E, -   0x0B, 0x56, 0x92, 0x0A, 0xFA, 0xF7, 0x48, 0x33, -   0x9E, 0x8F, 0xAB, 0x5D, 0x41, 0x50, 0xA4, 0x7F, -   0x80, 0x4A, 0x68, 0x06, 0x2E, 0x6C, 0xC4, 0x02, -   0x0E, 0x63, 0xF0, 0xC9, 0x91, 0xB2, 0xD2, 0x03, -   0x37, 0xEF, 0x9C, 0x90, 0x83, 0x76, 0x1E, 0xA9, -   0x85, 0xB6, 0x57, 0xD7, 0xF2, 0xF1, 0xE7, 0xDE, -   0xCB, 0xAA, 0xBF, 0x89, 0x1F, 0xA7, 0xBC, 0x9F, -   0x53, 0xE1, 0xDD, 0x72, 0x95, 0x52, 0x34, 0xB5 }; - -static const unsigned char table_155[256] = { -   0x75, 0x58, 0xC5, 0xA5, 0x83, 0x16, 0xF3, 0x7F, -   0x94, 0xDE, 0xA0, 0xF6, 0xFD, 0x89, 0xA8, 0x06, -   0x98, 0x01, 0xD9, 0x69, 0xB7, 0x0F, 0xEA, 0x73, -   0x32, 0xF0, 0x49, 0xBF, 0x02, 0xE7, 0x22, 0x3F, -   0xDB, 0x30, 0x5F, 0x20, 0x6A, 0x93, 0x07, 0xBC, -   0x09, 0x0D, 0x37, 0x24, 0x90, 0x15, 0x80, 0xAF, -   0x8F, 0x59, 0x28, 0xFF, 0x6D, 0x1E, 0x52, 0x62, -   0xE2, 0xDD, 0x85, 0x48, 0xB5, 0xAB, 0x68, 0xAC, -   0x7E, 0x26, 0x2C, 0xF9, 0x2A, 0xBE, 0x5B, 0xCE, -   0x87, 0x1D, 0x96, 0xBD, 0xEF, 0x29, 0xA9, 0xC3, -   0x9D, 0x57, 0x79, 0x6B, 0x7A, 0x82, 0x78, 0x0A, -   0x91, 0xF2, 0x7C, 0xC2, 0x25, 0x88, 0xE3, 0x47, -   0x64, 0x46, 0x8D, 0x19, 0xF4, 0xE6, 0xF1, 0x53, -   0x9C, 0x54, 0x23, 0xAD, 0xA3, 0x86, 0x3A, 0x04, -   0x67, 0x1C, 0xF5, 0x43, 0x05, 0x42, 0xD6, 0x4B, -   0xFB, 0xD4, 0x2B, 0x08, 0x45, 0xD8, 0xCD, 0xEB, -   0x31, 0x4A, 0x5A, 0x34, 0x9B, 0xEC, 0x4D, 0xB4, -   0xC6, 0xFE, 0xD5, 0x5E, 0xC1, 0x39, 0x81, 0xCF, -   0x03, 0x6E, 0x95, 0x50, 0xA1, 0x3B, 0xB3, 0xE5, -   0x3D, 0xB1, 0xB2, 0x41, 0x17, 0x2F, 0x2E, 0xE4, -   0x1F, 0xDC, 0xB0, 0xB6, 0x18, 0x6F, 0x44, 0x12, -   0x0B, 0xCC, 0x4E, 0xC0, 0x51, 0x14, 0x76, 0x3C, -   0xB9, 0x9F, 0xA4, 0xD3, 0xA7, 0xE8, 0x13, 0x55, -   0xC8, 0x8C, 0xD2, 0xEE, 0x65, 0xB8, 0xAA, 0x6C, -   0x2D, 0x4F, 0x56, 0xFA, 0x61, 0x4C, 0xE0, 0x5C, -   0xA6, 0x1A, 0xD1, 0x38, 0xD7, 0x72, 0x60, 0x74, -   0xE1, 0xBA, 0x84, 0x3E, 0x40, 0xF8, 0xC7, 0x36, -   0x27, 0x0C, 0x70, 0x97, 0x9A, 0x7D, 0x35, 0x71, -   0xCA, 0x1B, 0x99, 0x8E, 0xAE, 0x66, 0x63, 0xE9, -   0xC9, 0x11, 0x8A, 0x21, 0x92, 0x5D, 0x77, 0x10, -   0xD0, 0xC4, 0xF7, 0x7B, 0x9E, 0xCB, 0xED, 0x0E, -   0x8B, 0x33, 0xFC, 0xBB, 0x00, 0xA2, 0xDF, 0xDA }; - -static const unsigned char table_156[256] = { -   0x31, 0x25, 0xB1, 0xD3, 0xAF, 0xAE, 0x84, 0x2C, -   0x71, 0x5E, 0xD8, 0x80, 0x6F, 0x3E, 0x48, 0x86, -   0xED, 0x54, 0x6A, 0xC3, 0xBC, 0xBF, 0x0E, 0xEA, -   0x10, 0xA2, 0x9D, 0x91, 0x32, 0xE2, 0x7E, 0x1B, -   0x49, 0x27, 0xFF, 0xDD, 0x8A, 0x2F, 0x8D, 0x38, -   0xFA, 0x3C, 0x03, 0x14, 0x0F, 0x89, 0xCC, 0x07, -   0x1A, 0xA0, 0x97, 0x37, 0xA6, 0xD6, 0x63, 0x87, -   0xA1, 0xC2, 0x4B, 0x39, 0xCB, 0xCF, 0x69, 0x4E, -   0xC9, 0x28, 0x1C, 0xBB, 0x42, 0x2B, 0xA9, 0x78, -   0x5B, 0xF6, 0xE0, 0xD0, 0x5F, 0x46, 0x98, 0xCE, -   0x1F, 0x7A, 0x34, 0x8B, 0xFD, 0x9B, 0xEF, 0x74, -   0x05, 0xF2, 0x02, 0xC6, 0xDF, 0x73, 0x5C, 0x8E, -   0xDE, 0x88, 0x57, 0x3B, 0x85, 0xBD, 0xC0, 0x3A, -   0x45, 0x4D, 0x2D, 0x72, 0x0C, 0x60, 0xCA, 0x5D, -   0x06, 0x04, 0x3D, 0x51, 0x15, 0xAD, 0xE8, 0x67, -   0xBA, 0x43, 0x7D, 0xF8, 0xB2, 0xE6, 0xAB, 0xF4, -   0x23, 0x6E, 0xF0, 0x6B, 0x0B, 0x2E, 0xC8, 0xC4, -   0x4F, 0xA8, 0x6D, 0x26, 0xE9, 0x9C, 0x22, 0xB7, -   0x00, 0xB3, 0x0A, 0x7C, 0x44, 0x55, 0x75, 0xD5, -   0xAA, 0x66, 0x56, 0x24, 0x83, 0x90, 0xA4, 0xF5, -   0xCD, 0xEC, 0x18, 0xDC, 0xFE, 0x96, 0xA3, 0xF7, -   0xD2, 0xFB, 0xD1, 0x65, 0xC5, 0x08, 0x7B, 0x70, -   0x16, 0x9A, 0x20, 0x09, 0x29, 0xDA, 0x52, 0x5A, -   0x59, 0xB4, 0x77, 0x62, 0x9E, 0x19, 0x7F, 0x82, -   0x4C, 0xB6, 0x0D, 0x58, 0xEE, 0x1D, 0xB9, 0x93, -   0x50, 0xD9, 0x30, 0xE4, 0x13, 0x01, 0x36, 0x8F, -   0x53, 0x3F, 0x64, 0xA5, 0xB5, 0xD7, 0x81, 0x41, -   0x17, 0xE5, 0x94, 0xE3, 0xF9, 0x61, 0x76, 0xE1, -   0x9F, 0xFC, 0x1E, 0x12, 0xDB, 0x21, 0x79, 0x2A, -   0xAC, 0xF3, 0x6C, 0xC1, 0x95, 0x92, 0xEB, 0xA7, -   0x11, 0xC7, 0xB8, 0x4A, 0x33, 0xB0, 0x99, 0xE7, -   0xF1, 0x68, 0xBE, 0x35, 0x40, 0x8C, 0xD4, 0x47 }; - -static const unsigned char table_157[32] = { -   0x00, 0x0D, 0x03, 0x02, 0x11, 0x04, 0x18, 0x0B, -   0x14, 0x1D, 0x1C, 0x13, 0x1B, 0x17, 0x10, 0x15, -   0x01, 0x19, 0x07, 0x09, 0x1A, 0x16, 0x12, 0x1E, -   0x08, 0x06, 0x0C, 0x0E, 0x1F, 0x0F, 0x0A, 0x05 }; - -static const unsigned char table_158[256] = { -   0x68, 0x26, 0x80, 0x0B, 0xB8, 0xD5, 0x8C, 0xB7, -   0x65, 0xEF, 0xBC, 0x94, 0x28, 0xB9, 0xB2, 0xD2, -   0x92, 0xA4, 0x55, 0x27, 0xE0, 0x40, 0x6C, 0x41, -   0x25, 0xBD, 0xAF, 0xEA, 0xB1, 0x19, 0xA5, 0xC9, -   0x0E, 0xED, 0xB4, 0xF9, 0x8B, 0x6A, 0xAE, 0xD8, -   0x64, 0x83, 0xC1, 0xD3, 0x04, 0xF4, 0xFA, 0xC3, -   0x46, 0x2C, 0xA8, 0xBB, 0x3A, 0x47, 0x33, 0x8F, -   0x52, 0x86, 0x08, 0x9D, 0x1D, 0x59, 0x8E, 0x91, -   0x32, 0xCF, 0x6B, 0x75, 0xB0, 0x7F, 0xC7, 0x24, -   0x05, 0x6F, 0x00, 0x1C, 0x2D, 0xAC, 0xDA, 0x45, -   0x73, 0xB3, 0x3E, 0xD6, 0x54, 0x61, 0x03, 0x77, -   0xF8, 0xD9, 0xE2, 0x4B, 0xFF, 0xF2, 0x0C, 0x4F, -   0x93, 0x71, 0xA7, 0x3D, 0x66, 0x88, 0x98, 0xF1, -   0xB6, 0x7A, 0x2B, 0xCD, 0x44, 0x3C, 0x37, 0x5A, -   0x96, 0x23, 0x9F, 0xBF, 0x7D, 0x5E, 0x2A, 0x35, -   0x72, 0x79, 0xE1, 0xA3, 0x84, 0x99, 0x38, 0x49, -   0xC8, 0xDB, 0x30, 0xDC, 0xAD, 0x3F, 0xF6, 0x09, -   0x69, 0x95, 0xE5, 0x67, 0xA1, 0xFD, 0xF7, 0x1B, -   0xEC, 0x17, 0xD4, 0xEB, 0x29, 0x36, 0x3B, 0x15, -   0xDE, 0x2E, 0xC5, 0x70, 0x6D, 0x53, 0x56, 0xAB, -   0xC0, 0x43, 0xC2, 0xE7, 0x31, 0xE6, 0xA6, 0x78, -   0x5C, 0x7C, 0x48, 0x10, 0x87, 0xCC, 0x9E, 0x7E, -   0x5F, 0xE9, 0x07, 0x5B, 0xF5, 0xEE, 0xB5, 0xCA, -   0x62, 0x18, 0xBE, 0x20, 0x16, 0xDF, 0x13, 0x4E, -   0x7B, 0x02, 0x11, 0x4C, 0x51, 0x85, 0x0D, 0x22, -   0xF3, 0x14, 0x63, 0x76, 0xD0, 0x0F, 0xE4, 0xCB, -   0xCE, 0xA0, 0x82, 0xE3, 0x01, 0xAA, 0x5D, 0x4A, -   0x4D, 0xFB, 0x39, 0x8A, 0x2F, 0xDD, 0xE8, 0x06, -   0x1A, 0x90, 0x81, 0x50, 0x8D, 0x89, 0x97, 0x1E, -   0xFC, 0x60, 0x12, 0x42, 0x9C, 0xF0, 0x34, 0xD7, -   0xD1, 0x1F, 0x0A, 0x21, 0xA9, 0x6E, 0xC4, 0xBA, -   0x9A, 0x57, 0xA2, 0x74, 0xC6, 0xFE, 0x9B, 0x58 }; - -static const unsigned char table_159[256] = { -   0xE5, 0xBF, 0x84, 0x56, 0xD6, 0x43, 0x3E, 0xA5, -   0x64, 0x87, 0x44, 0x63, 0x4A, 0x4C, 0x8D, 0x24, -   0x1C, 0xDA, 0x89, 0x52, 0x80, 0x4F, 0xE4, 0xBC, -   0xC5, 0xF4, 0x27, 0x75, 0x9C, 0xF0, 0xE1, 0x06, -   0x99, 0x48, 0xF2, 0x57, 0x34, 0x9A, 0xA8, 0x62, -   0xC9, 0xD5, 0x16, 0x6D, 0x55, 0xFA, 0x37, 0x5A, -   0x2A, 0xC6, 0x45, 0xDD, 0x1B, 0x76, 0x50, 0xE2, -   0x69, 0x41, 0x6C, 0xC4, 0x3C, 0x47, 0xA9, 0x92, -   0x00, 0x3D, 0x6F, 0xE7, 0x7A, 0x3A, 0x33, 0x53, -   0xF7, 0x03, 0xA7, 0xB1, 0x15, 0x78, 0x0B, 0x67, -   0x2E, 0x21, 0xF1, 0xD4, 0xB3, 0x98, 0x60, 0x58, -   0xBB, 0x82, 0x1E, 0x70, 0x0A, 0xA2, 0x02, 0x17, -   0xFF, 0x9F, 0xD2, 0xAF, 0xC7, 0xDC, 0x68, 0x83, -   0x42, 0xCA, 0x08, 0x39, 0x20, 0xEC, 0x77, 0x96, -   0x5B, 0xAD, 0x09, 0x6B, 0x40, 0xC2, 0x91, 0x51, -   0x10, 0xD9, 0xF9, 0xC1, 0xB5, 0xDF, 0xDB, 0xC0, -   0x7D, 0xAB, 0xAE, 0x54, 0x35, 0xF3, 0xA1, 0xE6, -   0xEA, 0x14, 0xBA, 0xFC, 0xE8, 0xEB, 0xF6, 0xBD, -   0x8C, 0x72, 0x1F, 0xE9, 0xFB, 0x7C, 0xCF, 0x49, -   0xE3, 0xA3, 0x22, 0x9D, 0x46, 0x71, 0x94, 0x31, -   0x2D, 0x65, 0x2B, 0x32, 0x18, 0xB6, 0x90, 0xF8, -   0x11, 0x5F, 0xA0, 0xEF, 0xED, 0x1A, 0x25, 0x2C, -   0x3B, 0xFD, 0x2F, 0x73, 0xB9, 0x7E, 0xDE, 0xB4, -   0x97, 0x0F, 0x7F, 0x86, 0x93, 0x07, 0x19, 0xCE, -   0xE0, 0xB7, 0xEE, 0x26, 0xD1, 0x01, 0x59, 0x5C, -   0xC3, 0x79, 0x8B, 0xD3, 0x4B, 0x04, 0xD0, 0x29, -   0x0D, 0x3F, 0xB2, 0x30, 0xCC, 0x36, 0xFE, 0xB0, -   0xF5, 0x8E, 0xA6, 0x8A, 0xC8, 0xD8, 0x05, 0xB8, -   0x12, 0xBE, 0x81, 0x4D, 0x38, 0xAC, 0x1D, 0x9E, -   0x66, 0x5E, 0x7B, 0x6E, 0x0C, 0xCD, 0x6A, 0x88, -   0xAA, 0x0E, 0x61, 0x5D, 0x95, 0x4E, 0xD7, 0x74, -   0xCB, 0x9B, 0x13, 0x8F, 0xA4, 0x28, 0x23, 0x85 }; - -static const unsigned char table_160[256] = { -   0x35, 0x44, 0x0E, 0x92, 0x75, 0x83, 0x9D, 0x53, -   0xA5, 0x90, 0xF8, 0xF7, 0x54, 0x74, 0xDF, 0x3D, -   0x5A, 0xAA, 0xC6, 0x26, 0x7A, 0xFC, 0x79, 0x6C, -   0x56, 0xB3, 0x32, 0xE3, 0x1C, 0xF9, 0xDC, 0xE6, -   0xA2, 0x93, 0x71, 0xFF, 0x1D, 0xEB, 0xB2, 0x04, -   0x96, 0x46, 0x0C, 0x2B, 0x17, 0xEE, 0x28, 0x25, -   0xD9, 0xAE, 0x11, 0xA7, 0x40, 0x45, 0xFB, 0x80, -   0x18, 0xF1, 0xCB, 0x2E, 0x24, 0xF3, 0xEC, 0x4F, -   0xAB, 0xD7, 0xD4, 0xC4, 0xFD, 0x4B, 0xAD, 0xC9, -   0x4C, 0x08, 0xAC, 0xF4, 0xCD, 0xB7, 0xF2, 0x15, -   0x02, 0x2F, 0x16, 0x34, 0x65, 0x8A, 0x87, 0xCC, -   0x50, 0x0F, 0x9B, 0xC2, 0xC8, 0x7B, 0xEA, 0x8E, -   0xE4, 0xD6, 0x97, 0x30, 0xA8, 0xA0, 0x94, 0xC5, -   0xE8, 0x12, 0x27, 0xCE, 0x84, 0xDD, 0xB1, 0x47, -   0x7E, 0xE7, 0xE1, 0x3A, 0x37, 0x21, 0x2D, 0x3B, -   0x20, 0x60, 0x1E, 0x1B, 0x82, 0xBE, 0xA3, 0x70, -   0x98, 0xBF, 0xA6, 0x4D, 0x76, 0x86, 0x42, 0x9F, -   0xCF, 0xE0, 0x14, 0x4A, 0x0B, 0xB4, 0x36, 0xF5, -   0x85, 0xB8, 0xC0, 0x6A, 0xE9, 0x7D, 0xBD, 0x4E, -   0x8F, 0x51, 0x0D, 0x5B, 0x6B, 0x58, 0x5F, 0x03, -   0x6F, 0xBC, 0x5D, 0x1F, 0x7F, 0xDB, 0x00, 0xC1, -   0x13, 0xF0, 0xD1, 0xFA, 0xDA, 0x05, 0x39, 0xD3, -   0x38, 0xD2, 0x89, 0xE2, 0x88, 0x5E, 0x5C, 0x6D, -   0xCA, 0xB0, 0x01, 0x63, 0x8B, 0x59, 0xA4, 0xD0, -   0x78, 0x19, 0xB5, 0x62, 0x1A, 0x69, 0x8D, 0x9C, -   0x22, 0x3F, 0x9E, 0x33, 0x72, 0x2A, 0x41, 0x29, -   0xFE, 0xF6, 0x64, 0x7C, 0x66, 0xB6, 0xAF, 0x23, -   0x8C, 0x68, 0x6E, 0x49, 0x07, 0x99, 0x77, 0x3E, -   0x9A, 0x73, 0xD8, 0x55, 0x0A, 0x3C, 0xBA, 0xA9, -   0x52, 0xED, 0x91, 0x09, 0x95, 0xC7, 0x43, 0xD5, -   0x57, 0x61, 0x81, 0xEF, 0x06, 0xDE, 0x48, 0x31, -   0xBB, 0x2C, 0xE5, 0xC3, 0x67, 0xA1, 0x10, 0xB9 }; - -static const unsigned char table_161[256] = { -   0x8F, 0x1A, 0x81, 0xA2, 0x2C, 0x56, 0x6D, 0xCD, -   0x4A, 0x33, 0x50, 0xE9, 0xE0, 0x12, 0x5A, 0x43, -   0x2D, 0x4F, 0xEA, 0x95, 0xFD, 0x49, 0xAB, 0xA3, -   0x79, 0x42, 0x0B, 0xB8, 0x89, 0x40, 0x71, 0x14, -   0x80, 0x55, 0xAF, 0xCF, 0x3E, 0x64, 0x8B, 0x74, -   0xBF, 0x9C, 0x24, 0x97, 0xD1, 0xBA, 0x48, 0xD2, -   0x08, 0x1F, 0xDD, 0xA7, 0xDC, 0x92, 0x30, 0x75, -   0x31, 0x37, 0x67, 0x06, 0x68, 0x72, 0x6F, 0x05, -   0x8A, 0x7C, 0x4C, 0x3C, 0x19, 0x28, 0x86, 0x3D, -   0x93, 0xDA, 0xF4, 0xC7, 0x17, 0x85, 0xAC, 0x02, -   0x78, 0x04, 0xAD, 0x03, 0x8D, 0x11, 0xC5, 0x9D, -   0x3A, 0x73, 0x82, 0x59, 0x51, 0x9F, 0x27, 0x47, -   0xE7, 0xED, 0x1E, 0xFF, 0x34, 0x01, 0x5B, 0x4B, -   0xCA, 0x6C, 0x69, 0xBB, 0x3B, 0xC4, 0x5F, 0xDF, -   0x09, 0x6B, 0x7D, 0xC9, 0x88, 0x45, 0x57, 0xD3, -   0x2A, 0x4E, 0xF1, 0xC2, 0xA9, 0xB6, 0x18, 0xD4, -   0xA0, 0x1C, 0x4D, 0x0E, 0xE5, 0xE1, 0xD7, 0xB2, -   0x0C, 0x3F, 0x00, 0x61, 0x16, 0x0D, 0x32, 0x62, -   0x58, 0x63, 0xEE, 0xEF, 0x2F, 0x5D, 0xB0, 0x20, -   0x7A, 0x10, 0xE6, 0xA1, 0xF9, 0xD8, 0x6E, 0xCB, -   0xF0, 0x9B, 0x84, 0x8E, 0xF2, 0xFE, 0xC8, 0x7F, -   0xBD, 0xF8, 0x07, 0xC6, 0x39, 0xBC, 0xCC, 0x22, -   0x54, 0x15, 0x9A, 0xA4, 0xC1, 0x2B, 0x1B, 0x25, -   0xDE, 0x6A, 0xDB, 0x90, 0xEB, 0xB7, 0xD0, 0x44, -   0xA6, 0xB9, 0xB1, 0x23, 0x9E, 0x65, 0x83, 0xFA, -   0x96, 0xB5, 0x0F, 0xF6, 0xD6, 0xE8, 0x53, 0x13, -   0x76, 0xD5, 0x35, 0x87, 0xE3, 0x38, 0xF5, 0xAE, -   0xB3, 0xCE, 0xE2, 0x70, 0xD9, 0x66, 0x5C, 0x26, -   0xC3, 0xFC, 0xF7, 0x94, 0xF3, 0xEC, 0xFB, 0x99, -   0x91, 0x77, 0xB4, 0x46, 0xA5, 0x98, 0x7B, 0x1D, -   0x52, 0x2E, 0xA8, 0x60, 0x5E, 0x29, 0x21, 0x7E, -   0xBE, 0x0A, 0x36, 0x41, 0xC0, 0x8C, 0xE4, 0xAA }; - -static const unsigned char table_162[256] = { -   0xF7, 0x1B, 0xC0, 0x31, 0x5A, 0x23, 0xEA, 0xE9, -   0xFB, 0x14, 0x6A, 0xE8, 0x04, 0x65, 0x5B, 0x2C, -   0x41, 0xD9, 0xEB, 0xE4, 0x8D, 0x1D, 0xCA, 0x8F, -   0x5E, 0x43, 0xAF, 0x46, 0x0A, 0x01, 0x0C, 0xB4, -   0x95, 0x52, 0x92, 0xE0, 0x10, 0x57, 0x0F, 0x71, -   0xB1, 0x26, 0xD8, 0x05, 0x69, 0x3C, 0x54, 0xDF, -   0xFF, 0x9D, 0x51, 0xA0, 0xA1, 0x0B, 0xC1, 0x20, -   0x6D, 0xFA, 0x47, 0x15, 0x09, 0xD3, 0xE1, 0xA9, -   0x66, 0x12, 0x5C, 0x49, 0x1E, 0x3B, 0xD0, 0x8B, -   0x62, 0xBD, 0x06, 0xE5, 0x00, 0x98, 0x4E, 0x32, -   0xB0, 0x2D, 0x2A, 0x7F, 0x03, 0xD5, 0x99, 0x7E, -   0xAB, 0x22, 0xC6, 0xC3, 0x2F, 0x4C, 0x33, 0x45, -   0xE3, 0x3F, 0xF9, 0xB2, 0xFE, 0x36, 0xE7, 0xF8, -   0x55, 0x0D, 0x56, 0x1F, 0x4B, 0xE6, 0x50, 0x81, -   0xCE, 0x80, 0xCD, 0x67, 0x6B, 0xCF, 0x2E, 0x9B, -   0xBC, 0xBE, 0x11, 0x75, 0x4D, 0xAC, 0x59, 0x40, -   0x85, 0x0E, 0xC9, 0x17, 0xA3, 0x60, 0xED, 0x16, -   0xA4, 0xDD, 0xEE, 0x96, 0x77, 0x83, 0x34, 0xD2, -   0xCB, 0xFC, 0x6C, 0x08, 0xEC, 0x35, 0xF2, 0x6F, -   0x3A, 0x7B, 0x21, 0x4A, 0x70, 0xEF, 0xAD, 0xDE, -   0x90, 0x9E, 0x7D, 0x64, 0x2B, 0x79, 0xF5, 0xF3, -   0x13, 0x1C, 0x7A, 0x07, 0x4F, 0x78, 0x89, 0xB6, -   0x97, 0xF1, 0xD7, 0x7C, 0x48, 0xAE, 0x39, 0xA8, -   0xA6, 0x86, 0x3E, 0x27, 0x87, 0x73, 0x82, 0x24, -   0x30, 0x74, 0x5F, 0xD1, 0x9F, 0x9C, 0x1A, 0x8C, -   0x42, 0x6E, 0x28, 0xB9, 0xF0, 0xC4, 0x68, 0x25, -   0xC5, 0xDC, 0xB8, 0x29, 0xD6, 0x84, 0x3D, 0xBB, -   0x88, 0x76, 0xFD, 0x61, 0x94, 0x91, 0xDA, 0xB7, -   0x72, 0xBA, 0xC2, 0xDB, 0xB5, 0xA5, 0xE2, 0x18, -   0xF6, 0xAA, 0x8A, 0x19, 0x63, 0x9A, 0xA7, 0xC8, -   0xD4, 0x02, 0x8E, 0x37, 0xF4, 0xB3, 0xA2, 0x53, -   0x38, 0xCC, 0x58, 0x44, 0xBF, 0x93, 0x5D, 0xC7 }; - -static const unsigned char table_163[32] = { -   0x1B, 0x14, 0x12, 0x15, 0x11, 0x1D, 0x17, 0x19, -   0x10, 0x09, 0x08, 0x06, 0x1A, 0x16, 0x07, 0x13, -   0x1F, 0x0B, 0x1C, 0x05, 0x0E, 0x00, 0x18, 0x0A, -   0x04, 0x01, 0x03, 0x0C, 0x0D, 0x1E, 0x02, 0x0F }; - -static const unsigned char table_164[32] = { -   0x15, 0x00, 0x10, 0x0B, 0x1D, 0x0A, 0x06, 0x1C, -   0x0D, 0x1F, 0x17, 0x0F, 0x03, 0x14, 0x13, 0x12, -   0x1B, 0x18, 0x08, 0x1E, 0x16, 0x09, 0x1A, 0x04, -   0x02, 0x0C, 0x0E, 0x01, 0x07, 0x19, 0x11, 0x05 }; - -static const unsigned char table_165[256] = { -   0x98, 0xF5, 0x1D, 0xFB, 0x13, 0x20, 0x41, 0xA3, -   0xE3, 0x76, 0x49, 0x7E, 0x60, 0xD8, 0x68, 0x30, -   0x88, 0x45, 0xD5, 0x77, 0x00, 0xC3, 0x09, 0x31, -   0x44, 0x18, 0xD4, 0x14, 0xC8, 0x1B, 0x8B, 0x38, -   0x08, 0x52, 0xD1, 0xF3, 0x69, 0x9F, 0xDA, 0x61, -   0x16, 0x1C, 0xE4, 0x7D, 0xEE, 0xD9, 0x5E, 0x4C, -   0xA7, 0xAA, 0xA6, 0xF6, 0xCF, 0xA0, 0xBA, 0x10, -   0xE2, 0xDE, 0x0F, 0xEA, 0xBC, 0x32, 0x63, 0xC0, -   0x54, 0xC5, 0xBE, 0x71, 0x80, 0x56, 0x5C, 0xA4, -   0xAD, 0x15, 0x9D, 0x11, 0x43, 0x67, 0x95, 0xAE, -   0xC6, 0xC4, 0x91, 0x9C, 0xE5, 0x37, 0xE1, 0x7A, -   0xDB, 0xEF, 0x03, 0x65, 0x86, 0x66, 0x2A, 0xB5, -   0xBF, 0xB4, 0x0D, 0xB3, 0xD7, 0x2D, 0x01, 0xEB, -   0x8C, 0xF2, 0x5A, 0x2E, 0x64, 0x25, 0x02, 0xCB, -   0x4A, 0xB0, 0xCE, 0x35, 0xA8, 0x47, 0x85, 0x33, -   0x34, 0x24, 0x23, 0x7B, 0xB6, 0x48, 0x83, 0x40, -   0x87, 0x57, 0x3C, 0xD6, 0xCD, 0x2C, 0x6D, 0xE7, -   0xBB, 0xED, 0x81, 0x5D, 0x55, 0x46, 0xDD, 0xD3, -   0x70, 0xBD, 0xB8, 0x75, 0x53, 0x6E, 0xD0, 0x99, -   0xCA, 0x58, 0xC7, 0x4B, 0x3D, 0xA5, 0x50, 0x7C, -   0x93, 0x51, 0xB7, 0xFD, 0x05, 0x3A, 0xE8, 0x8F, -   0x28, 0x74, 0x39, 0xF0, 0x7F, 0x4F, 0x06, 0x36, -   0xB2, 0x19, 0x2F, 0x1F, 0x8D, 0x0C, 0xB9, 0xFC, -   0x89, 0x21, 0x12, 0xF7, 0x3F, 0x94, 0x6F, 0xDC, -   0x3E, 0x4E, 0x3B, 0xC9, 0x07, 0x9B, 0x17, 0x9A, -   0x73, 0x6A, 0x5B, 0xA1, 0x1E, 0x8A, 0x04, 0x72, -   0x6C, 0xA2, 0xEC, 0x96, 0xFE, 0xF8, 0x84, 0xC1, -   0x79, 0x0E, 0x62, 0x90, 0x8E, 0xF4, 0x42, 0x29, -   0x92, 0x9E, 0xAC, 0x82, 0x4D, 0xAF, 0x2B, 0x6B, -   0xA9, 0xFF, 0x0A, 0xAB, 0x22, 0x5F, 0xDF, 0xD2, -   0x0B, 0x78, 0xF1, 0xE6, 0x59, 0x27, 0xC2, 0xE0, -   0x1A, 0x26, 0xCC, 0xB1, 0xF9, 0xFA, 0x97, 0xE9 }; - -static const unsigned char table_166[256] = { -   0xCB, 0xEA, 0x2A, 0x36, 0x6D, 0x93, 0x4E, 0xD5, -   0xBC, 0x6A, 0xD4, 0x68, 0xF7, 0x18, 0xAB, 0x8B, -   0x66, 0x95, 0x94, 0x64, 0xB7, 0x00, 0x4D, 0x97, -   0x38, 0xB3, 0xFC, 0xE1, 0xBB, 0x63, 0xF3, 0x1F, -   0x6B, 0x2C, 0x2F, 0x5E, 0xA4, 0x7E, 0xFB, 0xF4, -   0xA8, 0x8A, 0x65, 0x53, 0x90, 0x58, 0x40, 0x60, -   0x28, 0x8E, 0x35, 0x49, 0xED, 0xBD, 0x1B, 0x0B, -   0xBA, 0xB8, 0x61, 0x50, 0xE9, 0x39, 0xEF, 0xC3, -   0x74, 0xB6, 0x46, 0x8D, 0xD9, 0x32, 0x92, 0x9A, -   0x30, 0x01, 0xF2, 0x41, 0xB9, 0xE7, 0x3A, 0xB0, -   0x80, 0x15, 0xDE, 0x7D, 0x7F, 0x09, 0xC2, 0x76, -   0xF8, 0x12, 0x59, 0xDD, 0x1D, 0xE6, 0x75, 0xBE, -   0xA3, 0x04, 0xCA, 0x78, 0x7B, 0xAC, 0xD8, 0x70, -   0xD3, 0xC1, 0x25, 0x6F, 0x03, 0x6C, 0x14, 0x45, -   0xE5, 0x2B, 0x87, 0x83, 0xAA, 0x77, 0x5F, 0x4A, -   0x9C, 0x27, 0x0C, 0x10, 0xAE, 0x56, 0x85, 0x0D, -   0xE3, 0xFA, 0x71, 0xEE, 0x9F, 0x21, 0xC0, 0xCD, -   0xFD, 0xDC, 0x5B, 0x11, 0x02, 0x0F, 0x96, 0x3D, -   0x3C, 0x26, 0xEB, 0x08, 0x7A, 0x82, 0xA7, 0x19, -   0xD7, 0xC5, 0xF6, 0x52, 0x57, 0x88, 0xFF, 0x47, -   0x8F, 0xC6, 0x33, 0xB5, 0x2E, 0x8C, 0x81, 0x91, -   0x44, 0xA6, 0x17, 0xF0, 0x4B, 0x9D, 0x34, 0x73, -   0x72, 0x67, 0xD2, 0x0E, 0xA0, 0x99, 0xA5, 0xAF, -   0xFE, 0x9E, 0x6E, 0xDA, 0x3B, 0xE2, 0x23, 0xD6, -   0xD0, 0x13, 0x89, 0x5A, 0x42, 0x98, 0x5C, 0xD1, -   0x86, 0x24, 0xDF, 0x37, 0xF9, 0xCC, 0xF5, 0xA9, -   0x2D, 0xBF, 0x5D, 0xF1, 0x69, 0xE8, 0xA2, 0x06, -   0x48, 0xC7, 0xDB, 0x29, 0xE4, 0xAD, 0x3E, 0xA1, -   0xC9, 0x4C, 0x1A, 0xCE, 0x62, 0x4F, 0x7C, 0xC8, -   0x05, 0xC4, 0xB1, 0x1E, 0x79, 0x55, 0x84, 0xB2, -   0x20, 0x31, 0x9B, 0xEC, 0xB4, 0xCF, 0x54, 0x22, -   0x1C, 0xE0, 0x51, 0x16, 0x43, 0x07, 0x0A, 0x3F }; - -static const unsigned char table_167[256] = { -   0x91, 0xEA, 0x4F, 0x6A, 0x6E, 0x2D, 0x27, 0x22, -   0x44, 0xA5, 0x6D, 0xE3, 0x45, 0x06, 0xE2, 0x87, -   0x9A, 0xC9, 0x2C, 0x4A, 0x93, 0x6F, 0x00, 0xEB, -   0x7C, 0x7F, 0xA2, 0xFE, 0x40, 0x3C, 0x3F, 0xC0, -   0xC7, 0xFB, 0x8B, 0xDF, 0xA3, 0x28, 0x78, 0x48, -   0x46, 0xD5, 0x70, 0x5C, 0x35, 0x4E, 0xD7, 0x3A, -   0x42, 0x47, 0x5B, 0x26, 0x8E, 0xE0, 0x21, 0xB1, -   0x77, 0x1E, 0x53, 0x4B, 0xCC, 0xE5, 0x65, 0xF6, -   0x66, 0x2A, 0xA0, 0x5E, 0x3E, 0xAD, 0xA8, 0x95, -   0x1B, 0x0D, 0x8A, 0x05, 0x68, 0x59, 0x0C, 0x38, -   0x18, 0xC3, 0x81, 0xA4, 0xFD, 0x13, 0x50, 0xCA, -   0xE8, 0xDD, 0xD9, 0x76, 0x8C, 0xC5, 0xF4, 0x17, -   0xB4, 0x3D, 0xEC, 0x0B, 0x67, 0xC6, 0x8D, 0xE1, -   0xBB, 0x7E, 0xCB, 0x10, 0x99, 0xE9, 0x39, 0xF3, -   0x75, 0xFA, 0xAC, 0x16, 0x54, 0x51, 0xBC, 0x24, -   0x58, 0x08, 0xA7, 0x0F, 0x5D, 0xBF, 0xBA, 0xE7, -   0x9D, 0x2B, 0xB5, 0x29, 0xE4, 0xCD, 0x37, 0x30, -   0x55, 0xAE, 0x1D, 0x4D, 0x94, 0x34, 0x92, 0x1C, -   0x6B, 0xBE, 0x52, 0x7B, 0x33, 0xB0, 0x0A, 0x5A, -   0x03, 0x23, 0x41, 0x49, 0x61, 0x64, 0x73, 0x97, -   0xC2, 0x9F, 0x5F, 0x07, 0x04, 0xF8, 0xC1, 0xFC, -   0x74, 0x02, 0x0E, 0x60, 0x9E, 0xD4, 0x85, 0x88, -   0xC4, 0xF5, 0x90, 0x31, 0xF7, 0xEE, 0x9B, 0xB9, -   0x20, 0xE6, 0xA6, 0x63, 0x79, 0x56, 0x62, 0xF0, -   0x2F, 0xD8, 0x4C, 0x83, 0xF9, 0x36, 0x3B, 0x84, -   0xDE, 0x57, 0xB8, 0xB7, 0x11, 0xF2, 0xC8, 0xD3, -   0xD1, 0x96, 0x19, 0x2E, 0x72, 0x9C, 0xDB, 0xB3, -   0xA1, 0xAA, 0xCE, 0x09, 0x98, 0xED, 0xA9, 0xDA, -   0xAF, 0x86, 0xD0, 0x12, 0xFF, 0xDC, 0x1F, 0xD6, -   0x01, 0xF1, 0xD2, 0x80, 0x43, 0x7A, 0x71, 0x82, -   0xB6, 0xAB, 0x89, 0xBD, 0x8F, 0xEF, 0x7D, 0xB2, -   0x14, 0x15, 0x25, 0x32, 0x6C, 0x69, 0x1A, 0xCF }; - -static const unsigned char table_168[256] = { -   0x28, 0xEE, 0xB1, 0xFD, 0xB3, 0xEF, 0x36, 0x8E, -   0x85, 0x5D, 0x1C, 0x53, 0x1E, 0xDA, 0xBA, 0x3C, -   0xA8, 0x90, 0x99, 0x49, 0x45, 0xE0, 0x27, 0x8D, -   0x22, 0xE4, 0x51, 0x3E, 0xAB, 0xE8, 0x70, 0xF5, -   0x81, 0xE6, 0x34, 0x29, 0xF3, 0x11, 0x46, 0x5F, -   0x5C, 0xA0, 0xD1, 0xE3, 0x15, 0x68, 0x3A, 0x01, -   0xE9, 0xD7, 0x24, 0x5A, 0x18, 0x16, 0x88, 0x3B, -   0x64, 0xA1, 0xDB, 0xBF, 0xAA, 0x43, 0xEA, 0x19, -   0xA2, 0xD5, 0x7B, 0xBD, 0x2A, 0x0E, 0x4F, 0xB5, -   0x4B, 0xB7, 0x5B, 0x73, 0xC9, 0xAC, 0x1B, 0x67, -   0xC7, 0xB4, 0x69, 0x00, 0xBC, 0x6D, 0xC1, 0x04, -   0xF4, 0x74, 0xD6, 0xD0, 0x60, 0xAE, 0x17, 0xFE, -   0x63, 0xB6, 0x89, 0x41, 0x7C, 0x44, 0x8B, 0xDC, -   0x50, 0xE5, 0x79, 0x77, 0x47, 0x9F, 0xA6, 0x3D, -   0x09, 0x8A, 0x2F, 0xC0, 0x0F, 0xCD, 0x2B, 0x4D, -   0x0D, 0xC2, 0x5E, 0xB0, 0x57, 0x62, 0xAF, 0x1A, -   0x21, 0x82, 0x48, 0x9E, 0x38, 0xB9, 0xB8, 0xF2, -   0x37, 0x07, 0xCA, 0xC5, 0x84, 0xDF, 0xF9, 0xEC, -   0x42, 0x6B, 0x8F, 0x6C, 0x3F, 0xC4, 0x94, 0xED, -   0x7A, 0x2D, 0xA3, 0x83, 0xD9, 0x55, 0x02, 0x9A, -   0xA9, 0x75, 0x10, 0x2C, 0xCB, 0x95, 0xBB, 0x6E, -   0x23, 0x65, 0x35, 0x97, 0x56, 0xAD, 0xCE, 0xF8, -   0xF0, 0x0C, 0xE2, 0x52, 0x05, 0x91, 0xCC, 0xC8, -   0x78, 0x06, 0x96, 0x4E, 0x03, 0xD3, 0x98, 0xA7, -   0x13, 0x58, 0x93, 0xD4, 0xDD, 0xC6, 0xFC, 0x25, -   0x9C, 0x86, 0x1F, 0xCF, 0x76, 0xA4, 0x6A, 0xFA, -   0x0B, 0x4A, 0x54, 0x40, 0x59, 0xD8, 0x61, 0xFF, -   0x7F, 0x80, 0x6F, 0x7D, 0xF1, 0x8C, 0x92, 0xDE, -   0x9D, 0xC3, 0xB2, 0xE7, 0xFB, 0x20, 0x31, 0x72, -   0x12, 0xBE, 0x1D, 0xF6, 0x9B, 0x14, 0x26, 0x0A, -   0xEB, 0xF7, 0x71, 0x39, 0x30, 0xA5, 0x87, 0xD2, -   0x66, 0x2E, 0x08, 0x32, 0x4C, 0x33, 0x7E, 0xE1 }; - -static const unsigned char table_169[256] = { -   0xA4, 0x31, 0xA9, 0x3F, 0x13, 0x4D, 0x1B, 0x29, -   0x73, 0x43, 0xF1, 0xE7, 0x9C, 0xC2, 0xF6, 0xCD, -   0xA1, 0x94, 0x0D, 0x27, 0xFE, 0x7B, 0x9B, 0x0B, -   0x89, 0xBA, 0x23, 0xEC, 0x76, 0xC3, 0x6C, 0xD8, -   0x8D, 0xF8, 0xF9, 0x7D, 0x68, 0x5B, 0x61, 0x87, -   0x28, 0x14, 0x55, 0x0C, 0xFC, 0xD9, 0x07, 0xE8, -   0x36, 0x88, 0x67, 0x4C, 0xEA, 0xBD, 0xF5, 0x9D, -   0xB6, 0xC6, 0x24, 0x32, 0x93, 0x03, 0x79, 0x8C, -   0x12, 0x84, 0xFF, 0x7E, 0x42, 0xE4, 0x3C, 0xF2, -   0x50, 0xEB, 0x1F, 0x47, 0xB0, 0xA5, 0xB1, 0x71, -   0x30, 0x5F, 0x5C, 0x53, 0xF7, 0x10, 0xC5, 0x6E, -   0xE0, 0xDE, 0xC8, 0x58, 0xB7, 0x90, 0xA6, 0x95, -   0x70, 0x8F, 0xFD, 0xC1, 0x48, 0xB5, 0x19, 0x92, -   0xBC, 0x15, 0x4E, 0xE6, 0x11, 0xDD, 0x81, 0x0E, -   0xBB, 0x75, 0x5D, 0x4A, 0xAB, 0x2D, 0x02, 0x54, -   0x4B, 0x66, 0xD6, 0x2B, 0x2A, 0xE5, 0x26, 0xE1, -   0xEE, 0xE9, 0x8B, 0x6A, 0x7A, 0xF4, 0x51, 0x39, -   0x1C, 0xC9, 0xCF, 0x77, 0x00, 0xF3, 0x25, 0xCC, -   0x08, 0xFB, 0x0F, 0x3E, 0xCE, 0xED, 0x3D, 0x56, -   0xEF, 0x1D, 0x85, 0x96, 0x52, 0xA8, 0xD3, 0xCB, -   0xE3, 0x33, 0x06, 0x7C, 0xAE, 0x72, 0x09, 0x04, -   0x91, 0xC4, 0x5A, 0x69, 0x98, 0xB4, 0x40, 0xDF, -   0x7F, 0x9F, 0xAA, 0x83, 0xE2, 0x78, 0x74, 0x20, -   0xAD, 0x6D, 0xDC, 0xD4, 0xCA, 0x60, 0xF0, 0x35, -   0x37, 0xD0, 0x18, 0x1A, 0x64, 0x3A, 0x99, 0xDB, -   0x62, 0x44, 0x2C, 0x82, 0x8E, 0xD7, 0xD1, 0xFA, -   0x16, 0xD5, 0x46, 0xBF, 0xA7, 0xC0, 0x2E, 0x3B, -   0x01, 0x63, 0xB2, 0x1E, 0x05, 0x21, 0xB8, 0x17, -   0x22, 0x97, 0xAF, 0x4F, 0x86, 0x34, 0xDA, 0xC7, -   0xA3, 0xA0, 0xB3, 0x2F, 0xAC, 0x49, 0xD2, 0x57, -   0x6F, 0x9A, 0x65, 0xB9, 0x41, 0xBE, 0x8A, 0xA2, -   0x6B, 0x0A, 0x59, 0x9E, 0x5E, 0x38, 0x45, 0x80 }; - -static const unsigned char table_170[256] = { -   0xE3, 0x00, 0x99, 0x03, 0xF6, 0xDD, 0xD1, 0x41, -   0x58, 0x7E, 0xD9, 0x46, 0x04, 0xAF, 0x5C, 0x43, -   0xDE, 0x5E, 0xFC, 0x97, 0x3D, 0x68, 0xC8, 0x37, -   0x3C, 0xFB, 0x0F, 0x5A, 0xBE, 0xFA, 0x4C, 0x82, -   0x0C, 0xA0, 0x0A, 0xD4, 0x9D, 0xCE, 0x78, 0xA8, -   0x55, 0x56, 0x60, 0xAA, 0xC9, 0x96, 0x62, 0xEA, -   0x0D, 0xB8, 0xE2, 0x84, 0x17, 0xAE, 0x2B, 0x2C, -   0x91, 0x57, 0x38, 0x01, 0xA9, 0xCD, 0x34, 0xBA, -   0x8D, 0xC0, 0xD6, 0xFF, 0xF2, 0xD3, 0x5F, 0x26, -   0xCA, 0x9B, 0x21, 0x75, 0x4E, 0x49, 0x20, 0x59, -   0x39, 0xBF, 0x90, 0x6C, 0xFE, 0x8F, 0x2F, 0x18, -   0x36, 0xD7, 0xB4, 0xAC, 0xBD, 0xF3, 0x1D, 0x4F, -   0xA3, 0x74, 0x5B, 0x44, 0x05, 0x9C, 0x6D, 0x6B, -   0x1E, 0xE8, 0x25, 0x16, 0x80, 0xCC, 0x29, 0xC7, -   0x94, 0x4A, 0xF5, 0xF4, 0x27, 0x85, 0xBB, 0x24, -   0xDA, 0xB5, 0x76, 0x69, 0xA5, 0x54, 0x23, 0x31, -   0x11, 0xA4, 0x09, 0xE4, 0x64, 0x10, 0xC5, 0xC1, -   0x7D, 0xE7, 0x92, 0xF8, 0x9E, 0x6A, 0x15, 0x8B, -   0x98, 0x42, 0x52, 0x66, 0x0B, 0xA1, 0x35, 0x1A, -   0x14, 0x7C, 0xE1, 0x9F, 0x28, 0xF1, 0x1B, 0xA6, -   0x71, 0x73, 0x81, 0xAB, 0xE6, 0x95, 0x06, 0x1F, -   0xC6, 0xB0, 0x51, 0x0E, 0xEE, 0x77, 0xF0, 0xD8, -   0xC2, 0x89, 0x7B, 0x07, 0xA2, 0xB7, 0x19, 0x67, -   0x2E, 0x8E, 0x47, 0xA7, 0xEF, 0x32, 0xD2, 0x93, -   0xDC, 0x9A, 0xB2, 0xED, 0x45, 0xC4, 0x50, 0x3F, -   0xE5, 0xCF, 0x88, 0x1C, 0x7A, 0x79, 0xEB, 0x70, -   0x2A, 0x7F, 0xBC, 0xDB, 0xD0, 0xB1, 0xCB, 0x08, -   0x86, 0x5D, 0x53, 0x72, 0xB6, 0x4B, 0xB3, 0x22, -   0xC3, 0x6F, 0xB9, 0xD5, 0x3B, 0x13, 0x2D, 0xAD, -   0x33, 0xFD, 0x02, 0x40, 0x8A, 0x3A, 0xF7, 0xE0, -   0x8C, 0x3E, 0x61, 0x6E, 0xE9, 0x63, 0xF9, 0xEC, -   0x48, 0x30, 0x87, 0x83, 0x12, 0x4D, 0x65, 0xDF }; - -static const unsigned char table_171[32] = { -   0x07, 0x06, 0x11, 0x08, 0x0C, 0x1F, 0x19, 0x02, -   0x14, 0x04, 0x0D, 0x18, 0x1A, 0x05, 0x17, 0x13, -   0x1C, 0x1B, 0x15, 0x03, 0x01, 0x0F, 0x16, 0x1E, -   0x1D, 0x10, 0x00, 0x12, 0x0B, 0x0E, 0x09, 0x0A }; - -static const unsigned char table_172[32] = { -   0x11, 0x01, 0x1F, 0x06, 0x1A, 0x04, 0x02, 0x09, -   0x05, 0x0D, 0x0B, 0x18, 0x0E, 0x12, 0x1B, 0x17, -   0x07, 0x08, 0x1D, 0x1E, 0x14, 0x19, 0x16, 0x15, -   0x03, 0x0C, 0x00, 0x10, 0x0A, 0x1C, 0x0F, 0x13 }; - -static const unsigned char table_173[32] = { -   0x1F, 0x0B, 0x13, 0x00, 0x16, 0x15, 0x14, 0x0A, -   0x1D, 0x05, 0x1E, 0x1A, 0x0F, 0x04, 0x0E, 0x01, -   0x19, 0x07, 0x02, 0x12, 0x0C, 0x17, 0x08, 0x09, -   0x03, 0x11, 0x18, 0x10, 0x1C, 0x1B, 0x06, 0x0D }; - -static const unsigned char table_174[32] = { -   0x02, 0x1B, 0x0C, 0x17, 0x1F, 0x05, 0x15, 0x1E, -   0x16, 0x09, 0x1A, 0x12, 0x0F, 0x1C, 0x18, 0x0A, -   0x19, 0x10, 0x0D, 0x13, 0x04, 0x11, 0x08, 0x14, -   0x1D, 0x0E, 0x06, 0x00, 0x01, 0x07, 0x0B, 0x03 }; - -static const unsigned char table_175[32] = { -   0x00, 0x06, 0x0B, 0x08, 0x0C, 0x04, 0x1A, 0x1C, -   0x05, 0x1E, 0x14, 0x03, 0x0A, 0x18, 0x12, 0x1D, -   0x16, 0x1F, 0x07, 0x09, 0x0F, 0x0E, 0x17, 0x13, -   0x11, 0x19, 0x10, 0x0D, 0x1B, 0x02, 0x01, 0x15 }; - -static const unsigned char table_176[32] = { -   0x12, 0x03, 0x1A, 0x15, 0x04, 0x19, 0x0B, 0x1B, -   0x17, 0x1E, 0x0D, 0x05, 0x11, 0x14, 0x1C, 0x00, -   0x18, 0x10, 0x0A, 0x06, 0x0E, 0x08, 0x02, 0x07, -   0x13, 0x09, 0x16, 0x1D, 0x0F, 0x0C, 0x01, 0x1F }; - -static const unsigned char table_177[256] = { -   0x5E, 0x4D, 0x76, 0xFE, 0xB5, 0x50, 0x83, 0x23, -   0x72, 0xDD, 0x93, 0x08, 0x69, 0xAD, 0xEC, 0x3B, -   0x0B, 0x9A, 0x36, 0xC9, 0xCA, 0xBE, 0xF7, 0x30, -   0x19, 0x39, 0x2C, 0xAB, 0xE3, 0x7B, 0xBC, 0x32, -   0xA0, 0xE4, 0xA6, 0xB6, 0xCB, 0xC8, 0x37, 0x07, -   0xD2, 0xA1, 0xD9, 0xF6, 0xBF, 0xF5, 0x88, 0x01, -   0x95, 0x0F, 0x03, 0xFD, 0xE6, 0x68, 0x90, 0x61, -   0x21, 0x6D, 0x3C, 0x62, 0x34, 0x2B, 0x71, 0x4B, -   0x44, 0x64, 0x75, 0xA2, 0x6A, 0xFF, 0x29, 0xBD, -   0x35, 0x15, 0xF9, 0xC1, 0x09, 0x45, 0xB2, 0xF2, -   0x3F, 0xCE, 0xB0, 0xC0, 0xB8, 0x00, 0x05, 0xD7, -   0x11, 0xC6, 0x78, 0x53, 0x9E, 0xB3, 0xED, 0x56, -   0x22, 0x5C, 0x9D, 0x6C, 0x99, 0x43, 0x2F, 0xAE, -   0xEB, 0x40, 0x8C, 0x1F, 0xC2, 0xDF, 0x92, 0x65, -   0x6F, 0x79, 0x5D, 0x5B, 0xAA, 0xDB, 0xF1, 0x96, -   0xD4, 0xF4, 0x8B, 0x51, 0xD5, 0xE2, 0xBB, 0x80, -   0x17, 0x7C, 0x2A, 0x6E, 0xDE, 0xEA, 0x94, 0x31, -   0xA4, 0x2D, 0xC3, 0x8D, 0x55, 0x14, 0x9B, 0x0E, -   0x7D, 0xC4, 0x06, 0x33, 0x73, 0xE9, 0x7A, 0x38, -   0x5F, 0x89, 0x84, 0xD6, 0xA8, 0x13, 0xE8, 0xCF, -   0x46, 0xD0, 0x7F, 0x24, 0x8F, 0xF8, 0x87, 0x1B, -   0x47, 0x02, 0x0C, 0x97, 0x52, 0xFB, 0x8E, 0x20, -   0x70, 0x3E, 0x7E, 0xD1, 0xE5, 0xEE, 0xCC, 0x91, -   0x74, 0xCD, 0x42, 0x04, 0x8A, 0xEF, 0xE1, 0x10, -   0x4F, 0x1C, 0x28, 0x9F, 0xD8, 0x0A, 0x18, 0x49, -   0x9C, 0x16, 0xF3, 0x82, 0x57, 0x1D, 0x26, 0x66, -   0x27, 0x86, 0xE7, 0x59, 0xFA, 0x25, 0x54, 0x0D, -   0x98, 0xDC, 0xF0, 0x3D, 0x63, 0x1E, 0x77, 0x3A, -   0xDA, 0xB7, 0x6B, 0x2E, 0x48, 0x4C, 0xBA, 0xC7, -   0x60, 0xAC, 0x1A, 0xB9, 0xFC, 0xA3, 0xA7, 0xA5, -   0xB4, 0x67, 0xA9, 0x81, 0xB1, 0x12, 0xD3, 0x85, -   0x5A, 0xC5, 0xE0, 0x58, 0x41, 0x4E, 0x4A, 0xAF }; - -static const unsigned char table_178[256] = { -   0x33, 0xBA, 0x98, 0xDA, 0x07, 0x2C, 0x22, 0x9B, -   0xE0, 0xED, 0xB7, 0xA1, 0x93, 0xEB, 0xDC, 0x49, -   0xDF, 0xE1, 0x6C, 0xC2, 0x64, 0x52, 0xD0, 0x8F, -   0xA2, 0x48, 0x26, 0x21, 0x6E, 0x5E, 0x0B, 0x7C, -   0x0D, 0x90, 0xA4, 0xCE, 0xF5, 0x5F, 0xF9, 0x1D, -   0x55, 0x83, 0x8D, 0xFB, 0x38, 0xB3, 0xF2, 0x67, -   0xDE, 0x0A, 0xBE, 0xEC, 0x5B, 0x35, 0x08, 0x50, -   0xE7, 0x56, 0x4A, 0x02, 0xBC, 0x5A, 0xBD, 0x43, -   0x6F, 0x79, 0xB2, 0xF7, 0x60, 0xE9, 0xA0, 0x1B, -   0xC8, 0xDD, 0x9D, 0xA3, 0x5C, 0x61, 0x77, 0x72, -   0x9C, 0x31, 0x0E, 0x05, 0x1E, 0x12, 0xF1, 0xC9, -   0x78, 0x4E, 0x15, 0x7D, 0x54, 0xCB, 0x73, 0xEA, -   0xC5, 0x2B, 0x0F, 0x7E, 0x42, 0x96, 0xC6, 0x74, -   0x09, 0x65, 0x34, 0xE6, 0x63, 0xA6, 0x70, 0xD3, -   0x27, 0x87, 0x3A, 0x16, 0x7B, 0x13, 0x06, 0x40, -   0x46, 0x69, 0xAD, 0x88, 0x81, 0xC0, 0x37, 0x58, -   0xD1, 0x8A, 0x8E, 0x9A, 0x5D, 0x6D, 0xC7, 0xC3, -   0xD2, 0xF4, 0x3F, 0x57, 0x3C, 0x4F, 0xA9, 0x6A, -   0x92, 0xA5, 0x97, 0x0C, 0x2A, 0x36, 0x47, 0xDB, -   0x8C, 0xEE, 0x03, 0x89, 0x7F, 0x91, 0x24, 0x80, -   0x2F, 0x62, 0xE4, 0xAF, 0x17, 0x99, 0xD6, 0xCD, -   0xFE, 0x76, 0x1C, 0xD4, 0x3E, 0xFF, 0xD8, 0xC4, -   0x39, 0x32, 0xCF, 0xE2, 0xE3, 0x53, 0xD7, 0xCC, -   0xD9, 0x11, 0xAA, 0x1F, 0x01, 0x3B, 0x51, 0xB5, -   0x94, 0x4B, 0x28, 0xF0, 0xAC, 0x44, 0x14, 0x4C, -   0xB9, 0xA7, 0xB8, 0x1A, 0xD5, 0xCA, 0xE8, 0x82, -   0x9F, 0x2D, 0xAB, 0x2E, 0x29, 0xFD, 0x68, 0xB1, -   0x66, 0xC1, 0x7A, 0xFA, 0x71, 0x04, 0xA8, 0xB0, -   0x59, 0x18, 0xAE, 0x25, 0x3D, 0xE5, 0xF6, 0x41, -   0x86, 0x75, 0x6B, 0xBB, 0xFC, 0x84, 0x8B, 0x85, -   0x10, 0x23, 0xB6, 0xF3, 0x19, 0x30, 0x20, 0x4D, -   0x95, 0x9E, 0xBF, 0xEF, 0xF8, 0x45, 0x00, 0xB4 }; - -static const unsigned char table_179[256] = { -   0x50, 0x3D, 0x41, 0x42, 0x06, 0x5B, 0xD6, 0x34, -   0x9D, 0x3C, 0x7B, 0x14, 0xE2, 0x9B, 0x80, 0x15, -   0x51, 0x01, 0x6A, 0x30, 0xD7, 0xFC, 0x61, 0x4B, -   0x8A, 0xEC, 0x38, 0x71, 0x70, 0x2E, 0x1C, 0x72, -   0x79, 0x26, 0x4C, 0x48, 0xED, 0xAD, 0x25, 0x53, -   0x03, 0xD9, 0xB5, 0x0D, 0x8E, 0x19, 0xCC, 0xBE, -   0xE1, 0x91, 0x64, 0xA6, 0x21, 0xCE, 0x76, 0xAB, -   0x9F, 0xD1, 0xB6, 0x23, 0x6D, 0xB0, 0x90, 0xBD, -   0x09, 0x3A, 0x5E, 0xD0, 0x73, 0x10, 0x44, 0x08, -   0xFF, 0xB8, 0x24, 0x58, 0xDB, 0x65, 0x95, 0xAA, -   0xE9, 0xC4, 0x32, 0x2B, 0x84, 0xC9, 0xC7, 0xB1, -   0x4F, 0x0C, 0xCB, 0x11, 0x4E, 0x22, 0x4A, 0x16, -   0xDE, 0xBC, 0xEE, 0x68, 0x13, 0xFA, 0xC3, 0x98, -   0xEB, 0x29, 0x43, 0x9A, 0xA1, 0xE0, 0xF0, 0x3F, -   0x2F, 0x1B, 0xC2, 0x66, 0x35, 0xF5, 0xC8, 0xD8, -   0x5A, 0xE5, 0x87, 0x47, 0xD3, 0x7A, 0xE6, 0x39, -   0x77, 0x81, 0xF2, 0x0E, 0x83, 0x7E, 0x17, 0x6C, -   0xB3, 0x5C, 0xE8, 0xD2, 0xC0, 0xA4, 0xF9, 0x86, -   0xCD, 0xFB, 0x54, 0x7C, 0xBF, 0x2D, 0x82, 0xDA, -   0x96, 0x74, 0x97, 0xC5, 0x7D, 0x27, 0x57, 0x56, -   0xDC, 0xBA, 0x69, 0x8C, 0x9C, 0x88, 0xB4, 0x8D, -   0x37, 0xEA, 0x3B, 0x33, 0x2C, 0xB2, 0x45, 0xF7, -   0xC1, 0x1E, 0x46, 0x02, 0x6B, 0x3E, 0xA7, 0xD5, -   0x05, 0x0A, 0xA9, 0x1D, 0xA3, 0x4D, 0xAE, 0x6F, -   0x49, 0xDD, 0x8F, 0xEF, 0xBB, 0x67, 0x0B, 0x40, -   0x9E, 0xF1, 0x78, 0x28, 0xDF, 0x52, 0xF4, 0x92, -   0x94, 0x0F, 0xB9, 0x93, 0xF6, 0x1F, 0xAF, 0xA8, -   0xCA, 0xE4, 0x59, 0x7F, 0x85, 0x75, 0xC6, 0xFD, -   0x00, 0xB7, 0x55, 0xFE, 0x8B, 0x62, 0x5F, 0x12, -   0xF8, 0xD4, 0x89, 0xA0, 0x20, 0xE7, 0xCF, 0x60, -   0x5D, 0xAC, 0x1A, 0x36, 0x63, 0x99, 0x31, 0xF3, -   0x2A, 0x04, 0x18, 0xA5, 0xA2, 0x6E, 0x07, 0xE3 }; - -static const unsigned char table_180[256] = { -   0xDA, 0xCC, 0x72, 0xA6, 0xE7, 0x07, 0xFD, 0x25, -   0x92, 0x39, 0x49, 0x02, 0xD6, 0x09, 0xA8, 0x65, -   0x2E, 0x6C, 0xA1, 0x19, 0xBF, 0x21, 0x11, 0xC7, -   0x3F, 0x9F, 0xF4, 0x51, 0xAF, 0x8C, 0xFE, 0xCD, -   0x7A, 0xEB, 0x5A, 0xF7, 0x18, 0x69, 0xB9, 0xED, -   0x37, 0x45, 0x13, 0xB4, 0xAA, 0x75, 0x47, 0x42, -   0xA3, 0x81, 0x88, 0x70, 0xC1, 0x36, 0x73, 0x1D, -   0x3B, 0x22, 0xB6, 0x35, 0xE9, 0x31, 0x56, 0x23, -   0xE1, 0xF5, 0xAD, 0x46, 0x99, 0x32, 0xE4, 0x40, -   0x00, 0x0F, 0x05, 0xC6, 0x33, 0x84, 0x7B, 0x4D, -   0x4B, 0x7D, 0x91, 0x3D, 0xCE, 0x64, 0x77, 0x55, -   0xD7, 0x2B, 0x2F, 0x2C, 0xB8, 0xD3, 0x85, 0xD1, -   0xB5, 0x6A, 0xF9, 0x41, 0x08, 0xBB, 0x87, 0xEC, -   0x78, 0xE0, 0xEE, 0x8D, 0x01, 0x58, 0x15, 0x8F, -   0x06, 0xF0, 0x8B, 0x27, 0x0D, 0x0B, 0x6D, 0xBD, -   0xCA, 0x2A, 0xA2, 0xE6, 0xDD, 0xBC, 0x4E, 0x5D, -   0x74, 0x04, 0x3A, 0x96, 0x66, 0x12, 0x1E, 0xF2, -   0xF6, 0xC4, 0xAE, 0x3C, 0x0C, 0x90, 0x68, 0xD8, -   0x24, 0x5E, 0x79, 0x10, 0xAC, 0xDF, 0x9B, 0xC5, -   0x44, 0xC3, 0x50, 0x5C, 0xA5, 0x89, 0x60, 0x5F, -   0x48, 0x17, 0x34, 0xA7, 0xE2, 0xF3, 0xD9, 0x3E, -   0x9C, 0xB7, 0x7C, 0x1F, 0xA9, 0xD4, 0xA4, 0x0E, -   0x8E, 0x4C, 0xDC, 0xF8, 0xF1, 0x98, 0xDE, 0x2D, -   0x61, 0xCB, 0xD5, 0x43, 0x86, 0x26, 0xB0, 0x7F, -   0x7E, 0xFF, 0xAB, 0x83, 0x14, 0x9A, 0x80, 0x16, -   0x30, 0xA0, 0x53, 0x97, 0x52, 0x9E, 0xB1, 0x1B, -   0xD0, 0x1A, 0xC8, 0x57, 0xBA, 0x6E, 0xFA, 0x94, -   0xE8, 0x63, 0x5B, 0x29, 0xEF, 0x71, 0x8A, 0x03, -   0xB3, 0x76, 0xC9, 0xD2, 0xBE, 0xE5, 0x82, 0x1C, -   0x95, 0x9D, 0x4A, 0x28, 0xEA, 0x0A, 0xC0, 0xE3, -   0x6F, 0x20, 0x54, 0xFB, 0x93, 0xFC, 0x6B, 0x38, -   0x62, 0x4F, 0xCF, 0xB2, 0xC2, 0x59, 0xDB, 0x67 }; - -static const unsigned char table_181[256] = { -   0x2B, 0xED, 0x14, 0x05, 0x80, 0xCC, 0x5A, 0xF8, -   0x43, 0xB7, 0x86, 0xC6, 0xEE, 0xA6, 0xD7, 0xD6, -   0xA0, 0xC4, 0x21, 0x34, 0xB1, 0x8C, 0xF9, 0xF4, -   0x7C, 0x53, 0x06, 0xD4, 0x6B, 0x3F, 0xE1, 0x12, -   0x6A, 0xCE, 0xCF, 0xBF, 0x74, 0x3E, 0xD5, 0xCB, -   0x97, 0x01, 0xA2, 0x2D, 0xAE, 0xF7, 0x17, 0x29, -   0x47, 0x03, 0x0E, 0xE9, 0x82, 0x46, 0x94, 0xAF, -   0x2A, 0x90, 0xFE, 0x4A, 0x7E, 0x0C, 0x71, 0xB6, -   0xA5, 0xF2, 0x67, 0x41, 0xBA, 0xC2, 0x8A, 0x9D, -   0x36, 0xFF, 0x50, 0x2E, 0xC3, 0x91, 0x9C, 0x37, -   0x66, 0xAD, 0xB2, 0x1F, 0xE4, 0xE3, 0x9F, 0xDD, -   0x87, 0xC0, 0xE6, 0xEF, 0x13, 0x70, 0x5B, 0xDE, -   0x5C, 0x75, 0x7F, 0x4F, 0x44, 0xCA, 0x55, 0x57, -   0xF0, 0x26, 0xA7, 0xC7, 0x10, 0x51, 0x00, 0xB3, -   0x5D, 0x99, 0x81, 0x3B, 0xB9, 0x1C, 0x64, 0x7B, -   0xFB, 0xD9, 0x8D, 0x4E, 0xAC, 0x25, 0xBB, 0x69, -   0xDF, 0x02, 0x9E, 0x2C, 0xAB, 0xF3, 0x65, 0x09, -   0xA3, 0x6C, 0xC1, 0x76, 0x52, 0x30, 0xD8, 0x3A, -   0x40, 0x18, 0x59, 0xD0, 0xE5, 0xB4, 0x5F, 0x33, -   0x68, 0x92, 0x2F, 0xB8, 0x93, 0xD1, 0xEB, 0xA4, -   0xFC, 0x77, 0x19, 0x62, 0xC9, 0x49, 0x84, 0x1A, -   0x9A, 0xE7, 0x31, 0xE8, 0xE2, 0x58, 0xF1, 0x4B, -   0x1E, 0x0B, 0x39, 0xFD, 0x42, 0x7A, 0x89, 0x38, -   0x11, 0x98, 0x63, 0x08, 0xE0, 0xEA, 0xBE, 0xB0, -   0x45, 0x1B, 0x4C, 0x54, 0xC8, 0x27, 0x3D, 0x73, -   0x04, 0x8F, 0x79, 0xBC, 0x6F, 0x0D, 0x0F, 0xA1, -   0x60, 0xDC, 0xC5, 0xFA, 0x8E, 0xDA, 0x15, 0x96, -   0xD3, 0x07, 0xF5, 0x3C, 0x88, 0x72, 0x1D, 0x4D, -   0x8B, 0x61, 0x0A, 0xDB, 0xAA, 0x20, 0x23, 0xEC, -   0x6E, 0x22, 0x48, 0x28, 0xBD, 0xA9, 0x56, 0x5E, -   0x85, 0xA8, 0x95, 0x6D, 0x16, 0x78, 0xB5, 0xF6, -   0x32, 0x24, 0x7D, 0x9B, 0xD2, 0x83, 0x35, 0xCD }; - -static const unsigned char table_182[256] = { -   0x06, 0x7F, 0x66, 0xB5, 0xBA, 0x1E, 0xFD, 0x51, -   0x81, 0x8D, 0x28, 0xA3, 0x15, 0x37, 0xDC, 0x58, -   0xE6, 0x3D, 0xB4, 0xB9, 0x2E, 0xA0, 0x2F, 0xC4, -   0xCB, 0xB1, 0x25, 0xBF, 0xC1, 0x4E, 0x5A, 0xE4, -   0x0F, 0x10, 0x7C, 0x52, 0xA7, 0x29, 0x76, 0x55, -   0xAA, 0x70, 0x62, 0x54, 0x43, 0x93, 0x3A, 0x7D, -   0x5B, 0x56, 0x33, 0x64, 0x74, 0x2A, 0xD9, 0x9B, -   0x88, 0xC0, 0x3C, 0x63, 0xDE, 0xF4, 0x73, 0xDF, -   0x9E, 0xB2, 0xA8, 0x4F, 0x04, 0x57, 0x47, 0x87, -   0x14, 0xFC, 0x27, 0x53, 0x83, 0xDB, 0xD7, 0x20, -   0x96, 0x31, 0xD0, 0xCF, 0x30, 0x19, 0x69, 0x1A, -   0xAE, 0x3B, 0x11, 0x0C, 0xA6, 0x95, 0x8A, 0xF2, -   0x1B, 0xCC, 0x78, 0xEF, 0xB3, 0x71, 0x84, 0xA2, -   0xF1, 0x7A, 0x92, 0x61, 0xCA, 0x90, 0x94, 0x89, -   0x68, 0xEE, 0x97, 0x38, 0x0D, 0xF9, 0x1F, 0x8E, -   0xE9, 0x26, 0xBD, 0xC9, 0xFF, 0x4C, 0x44, 0x1D, -   0x98, 0xE5, 0x86, 0xF3, 0x18, 0xB6, 0x09, 0xD2, -   0x7E, 0xC5, 0xE7, 0x2B, 0x8C, 0x8B, 0x60, 0x3F, -   0x2C, 0x6A, 0x08, 0x0E, 0x50, 0x32, 0x9F, 0xF0, -   0x9A, 0xC2, 0x39, 0xBE, 0xEA, 0x12, 0x16, 0xBB, -   0x5E, 0x67, 0xE3, 0xB8, 0x79, 0x46, 0xDA, 0x00, -   0xD3, 0xBC, 0xCE, 0x1C, 0x80, 0xFA, 0xAB, 0x65, -   0x4A, 0xF8, 0xAC, 0x72, 0x01, 0xC6, 0x35, 0x85, -   0x3E, 0x5C, 0xA1, 0x05, 0xA5, 0xA9, 0xE1, 0x40, -   0xEB, 0xE8, 0x5F, 0xF5, 0xC3, 0xD1, 0x34, 0xFB, -   0xEC, 0xF7, 0x9C, 0xC7, 0xDD, 0x6C, 0x36, 0x9D, -   0x42, 0x59, 0x99, 0x5D, 0xD8, 0x82, 0x07, 0x24, -   0x6D, 0xAD, 0x13, 0x48, 0x6B, 0x6E, 0x75, 0x4D, -   0xD5, 0x02, 0xED, 0xFE, 0x91, 0xCD, 0x77, 0xB0, -   0xF6, 0xC8, 0x6F, 0x23, 0xAF, 0xB7, 0x2D, 0xD6, -   0xA4, 0xE2, 0x45, 0x8F, 0x21, 0xE0, 0x49, 0x22, -   0x7B, 0x17, 0x0B, 0x0A, 0x41, 0x03, 0xD4, 0x4B }; - -static const unsigned char table_183[32] = { -   0x1E, 0x1B, 0x11, 0x07, 0x08, 0x06, 0x18, 0x17, -   0x0D, 0x0F, 0x12, 0x03, 0x1D, 0x04, 0x0A, 0x1A, -   0x0C, 0x13, 0x14, 0x1F, 0x0B, 0x19, 0x10, 0x01, -   0x16, 0x05, 0x1C, 0x0E, 0x02, 0x00, 0x09, 0x15 }; - -static const unsigned char table_184[32] = { -   0x0F, 0x1D, 0x17, 0x16, 0x0D, 0x05, 0x13, 0x1F, -   0x1B, 0x09, 0x1C, 0x1E, 0x15, 0x01, 0x06, 0x08, -   0x0C, 0x10, 0x0B, 0x02, 0x04, 0x0A, 0x07, 0x1A, -   0x18, 0x0E, 0x03, 0x11, 0x12, 0x14, 0x19, 0x00 }; - -static const unsigned char table_185[256] = { -   0xA5, 0xEE, 0x2E, 0x28, 0xA7, 0xAC, 0xD9, 0xB2, -   0x6E, 0x04, 0xB4, 0x03, 0xE8, 0x92, 0x5F, 0x4D, -   0x73, 0x20, 0x71, 0xE0, 0x43, 0x53, 0x3F, 0xF8, -   0x96, 0xA1, 0x24, 0x97, 0xAD, 0x7B, 0xE5, 0xE6, -   0xF2, 0xCE, 0xE3, 0x76, 0x2F, 0xA2, 0x48, 0x0E, -   0x4B, 0x4A, 0x8B, 0x5A, 0x81, 0x2C, 0xBF, 0xD7, -   0xFB, 0x7D, 0x4C, 0x16, 0xF4, 0x00, 0xF5, 0x40, -   0x64, 0x74, 0xA9, 0x37, 0x86, 0xD3, 0x1B, 0xCD, -   0xF1, 0x1A, 0x90, 0x9F, 0x54, 0x79, 0x29, 0xC3, -   0x77, 0x85, 0x02, 0xB1, 0x70, 0xFE, 0x5B, 0xDA, -   0x6B, 0x01, 0x0C, 0x07, 0xB8, 0x58, 0x47, 0x42, -   0x09, 0xE4, 0x27, 0xDD, 0xF3, 0x1E, 0x10, 0x9E, -   0x49, 0x30, 0x05, 0xBE, 0x59, 0xEB, 0xD2, 0xAA, -   0xC8, 0x9D, 0x8C, 0x5E, 0x14, 0x56, 0x8E, 0xF7, -   0x38, 0x55, 0x87, 0xA3, 0x5D, 0x41, 0x4F, 0x1F, -   0xF6, 0x0F, 0x57, 0x91, 0xAE, 0xBA, 0xB3, 0x95, -   0x9B, 0x69, 0xC1, 0x11, 0xD0, 0x25, 0x7F, 0x3B, -   0x62, 0xCF, 0xC0, 0xA0, 0xFC, 0xB6, 0x12, 0x6C, -   0xF0, 0x13, 0x93, 0xAB, 0xC6, 0x78, 0x6D, 0x88, -   0x22, 0x08, 0x2A, 0xE2, 0xB7, 0x65, 0x31, 0x3A, -   0xA6, 0x7C, 0xF9, 0xDC, 0xE7, 0xA4, 0xC9, 0x63, -   0xA8, 0x0B, 0xED, 0x50, 0x36, 0xD8, 0x3E, 0xB0, -   0x6A, 0x5C, 0x45, 0x4E, 0x23, 0x84, 0x34, 0x9A, -   0xCC, 0x3D, 0xB5, 0xEA, 0xDE, 0x75, 0xD6, 0xFF, -   0x6F, 0xC2, 0xDB, 0x8D, 0x7A, 0x1C, 0xE9, 0x61, -   0x0A, 0x1D, 0x32, 0x52, 0x3C, 0x19, 0xFA, 0xD1, -   0xD4, 0x68, 0xC7, 0x0D, 0x99, 0x83, 0xEF, 0x80, -   0x82, 0xBD, 0xD5, 0x7E, 0x39, 0x72, 0x51, 0xAF, -   0x8A, 0x2D, 0xB9, 0x89, 0xC4, 0x67, 0x35, 0xE1, -   0x44, 0x06, 0xEC, 0xCB, 0x8F, 0x17, 0xDF, 0x94, -   0x60, 0xCA, 0x26, 0xFD, 0x33, 0x46, 0x21, 0xBB, -   0x2B, 0xC5, 0x98, 0x18, 0x66, 0x15, 0x9C, 0xBC }; - -static const unsigned char table_186[256] = { -   0xB7, 0xFA, 0x03, 0x7C, 0x76, 0x43, 0xA7, 0x15, -   0x4B, 0x4F, 0x04, 0xAA, 0x4E, 0xD2, 0x52, 0xC8, -   0x79, 0x16, 0xF6, 0x61, 0x01, 0x5D, 0xD6, 0x47, -   0xDE, 0xC5, 0x4D, 0x2F, 0xF5, 0x29, 0x21, 0xE6, -   0x97, 0x35, 0xDC, 0x0E, 0x8B, 0xF4, 0x0F, 0xBE, -   0x30, 0x07, 0x1D, 0x46, 0x75, 0xCE, 0x56, 0x42, -   0x28, 0x93, 0x84, 0x20, 0xA5, 0xC2, 0x87, 0x45, -   0x1C, 0x6B, 0x55, 0x06, 0xEB, 0xB0, 0xF9, 0x14, -   0x23, 0xF1, 0xFC, 0xD7, 0x98, 0xD1, 0xA4, 0xED, -   0x5B, 0xB1, 0x12, 0x7A, 0xD5, 0x5F, 0x53, 0x88, -   0x95, 0x71, 0xE7, 0x5C, 0xF8, 0x83, 0xC7, 0x49, -   0xDD, 0xDA, 0x0B, 0xC1, 0x70, 0xEC, 0x67, 0xE2, -   0xEA, 0x72, 0x4C, 0x92, 0xA6, 0xE5, 0x59, 0xA9, -   0x3C, 0xFE, 0x0A, 0x65, 0x6E, 0xF3, 0xA3, 0x22, -   0x24, 0x81, 0xF2, 0xCC, 0xD3, 0xA0, 0xDF, 0xDB, -   0xAB, 0x09, 0x13, 0x96, 0x36, 0x9C, 0xEE, 0xD4, -   0x33, 0x5E, 0x26, 0xAE, 0x48, 0x38, 0xFF, 0x08, -   0x1F, 0x6D, 0x02, 0xEF, 0x7E, 0x57, 0x2A, 0x8A, -   0xBA, 0x90, 0xAF, 0xA8, 0x37, 0x8E, 0x9B, 0xC0, -   0x69, 0x32, 0x86, 0xBD, 0x73, 0x6C, 0xB9, 0x31, -   0x66, 0xBF, 0x1B, 0x44, 0x9E, 0xB2, 0xD0, 0xE0, -   0xF0, 0x2C, 0x3F, 0xE1, 0x91, 0x18, 0x19, 0x50, -   0xCA, 0x8F, 0x54, 0xB5, 0x8D, 0x0C, 0x17, 0x39, -   0x8C, 0x00, 0x7F, 0x41, 0xE3, 0x2E, 0x1A, 0x9D, -   0x27, 0xA1, 0x10, 0x34, 0x1E, 0x3A, 0x60, 0x77, -   0xBB, 0xB6, 0x0D, 0x4A, 0x3E, 0x6A, 0xB4, 0xA2, -   0xB3, 0xFD, 0xCD, 0x80, 0x51, 0xAD, 0xCF, 0xBC, -   0x40, 0x74, 0x6F, 0x68, 0x2B, 0xC3, 0xF7, 0x63, -   0xB8, 0x25, 0xC4, 0x62, 0xE9, 0xFB, 0x58, 0x85, -   0x78, 0xCB, 0x9A, 0x3D, 0xE4, 0xC9, 0x89, 0x2D, -   0x64, 0x82, 0xC6, 0x05, 0xD8, 0xAC, 0x99, 0x9F, -   0x11, 0x3B, 0x94, 0xE8, 0x7D, 0x7B, 0xD9, 0x5A }; - -static const unsigned char table_187[32] = { -   0x0F, 0x04, 0x1D, 0x1B, 0x15, 0x10, 0x01, 0x0B, -   0x00, 0x17, 0x13, 0x07, 0x1E, 0x1F, 0x08, 0x0A, -   0x19, 0x09, 0x05, 0x06, 0x0C, 0x1A, 0x14, 0x16, -   0x0E, 0x18, 0x03, 0x1C, 0x12, 0x11, 0x0D, 0x02 }; - -static const struct yahoo_fn yahoo_fntable[5][96] =  -   {{{ IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }, -     { IDENT, 0, 0 }}, -    {{ MULADD, 0x36056CD7, 0x4387 }, -     { LOOKUP, (long)table_0, 0 }, -     { LOOKUP, (long)table_1, 0 }, -     { BITFLD, (long)table_2, 0 }, -     { LOOKUP, (long)table_3, 0 }, -     { BITFLD, (long)table_4, 0 }, -     { MULADD, 0x4ABB534D, 0x3769 }, -     { XOR, 0x1D242DA5, 0 }, -     { MULADD, 0x3C23132D, 0x339B }, -     { XOR, 0x0191265C, 0 }, -     { XOR, 0x3DB979DB, 0 }, -     { LOOKUP, (long)table_5, 0 }, -     { XOR, 0x1A550E1E, 0 }, -     { XOR, 0x2F140A2D, 0 }, -     { MULADD, 0x7C466A4B, 0x29BF }, -     { XOR, 0x2D3F30D3, 0 }, -     { MULADD, 0x7E823B21, 0x6BB3 }, -     { BITFLD, (long)table_6, 0 }, -     { LOOKUP, (long)table_7, 0 }, -     { BITFLD, (long)table_8, 0 }, -     { LOOKUP, (long)table_9, 0 }, -     { BITFLD, (long)table_10, 0 }, -     { LOOKUP, (long)table_11, 0 }, -     { BITFLD, (long)table_12, 0 }, -     { LOOKUP, (long)table_13, 0 }, -     { BITFLD, (long)table_14, 0 }, -     { MULADD, 0x5B756AB9, 0x7E9B }, -     { LOOKUP, (long)table_15, 0 }, -     { XOR, 0x1D1C4911, 0 }, -     { LOOKUP, (long)table_16, 0 }, -     { LOOKUP, (long)table_17, 0 }, -     { XOR, 0x46BD7771, 0 }, -     { XOR, 0x51AE2B42, 0 }, -     { MULADD, 0x2417591B, 0x177B }, -     { MULADD, 0x57F27C5F, 0x2433 }, -     { LOOKUP, (long)table_18, 0 }, -     { LOOKUP, (long)table_19, 0 }, -     { XOR, 0x71422261, 0 }, -     { BITFLD, (long)table_20, 0 }, -     { MULADD, 0x58E937F9, 0x1075 }, -     { LOOKUP, (long)table_21, 0 }, -     { BITFLD, (long)table_22, 0 }, -     { LOOKUP, (long)table_23, 0 }, -     { LOOKUP, (long)table_24, 0 }, -     { MULADD, 0x0B4C3D13, 0x1597 }, -     { BITFLD, (long)table_25, 0 }, -     { XOR, 0x0FE07D38, 0 }, -     { MULADD, 0x689B4017, 0x3CFB }, -     { BITFLD, (long)table_26, 0 }, -     { LOOKUP, (long)table_27, 0 }, -     { XOR, 0x35413DF3, 0 }, -     { MULADD, 0x05B611AB, 0x570B }, -     { MULADD, 0x0DA5334F, 0x3AC7 }, -     { XOR, 0x47706008, 0 }, -     { BITFLD, (long)table_28, 0 }, -     { LOOKUP, (long)table_29, 0 }, -     { BITFLD, (long)table_30, 0 }, -     { XOR, 0x57611B36, 0 }, -     { MULADD, 0x314C2CD1, 0x2B5B }, -     { XOR, 0x1EF33946, 0 }, -     { MULADD, 0x28EA041F, 0x638F }, -     { LOOKUP, (long)table_31, 0 }, -     { LOOKUP, (long)table_32, 0 }, -     { LOOKUP, (long)table_33, 0 }, -     { MULADD, 0x511537CB, 0x7135 }, -     { MULADD, 0x1CF71007, 0x5E17 }, -     { XOR, 0x583D4BCF, 0 }, -     { LOOKUP, (long)table_34, 0 }, -     { XOR, 0x373E6856, 0 }, -     { MULADD, 0x4D595519, 0x1A7D }, -     { LOOKUP, (long)table_35, 0 }, -     { LOOKUP, (long)table_36, 0 }, -     { XOR, 0x0E2A36A7, 0 }, -     { LOOKUP, (long)table_37, 0 }, -     { LOOKUP, (long)table_38, 0 }, -     { BITFLD, (long)table_39, 0 }, -     { BITFLD, (long)table_40, 0 }, -     { XOR, 0x53F3604F, 0 }, -     { BITFLD, (long)table_41, 0 }, -     { BITFLD, (long)table_42, 0 }, -     { MULADD, 0x1EDC0BA3, 0x7531 }, -     { LOOKUP, (long)table_43, 0 }, -     { XOR, 0x10DF1038, 0 }, -     { BITFLD, (long)table_44, 0 }, -     { LOOKUP, (long)table_45, 0 }, -     { XOR, 0x4EDE0CAC, 0 }, -     { MULADD, 0x2F076EEB, 0x5BCF }, -     { XOR, 0x6D86030F, 0 }, -     { XOR, 0x3F331713, 0 }, -     { LOOKUP, (long)table_46, 0 }, -     { MULADD, 0x41CD726F, 0x3F79 }, -     { BITFLD, (long)table_47, 0 }, -     { XOR, 0x0ECE0054, 0 }, -     { MULADD, 0x19B32B03, 0x4AD1 }, -     { BITFLD, (long)table_48, 0 }, -     { BITFLD, (long)table_49, 0 }}, -    {{ MULADD, 0x39731111, 0x419B }, -     { XOR, 0x54F7757A, 0 }, -     { BITFLD, (long)table_50, 0 }, -     { BITFLD, (long)table_51, 0 }, -     { LOOKUP, (long)table_52, 0 }, -     { LOOKUP, (long)table_53, 0 }, -     { MULADD, 0x3CC0256B, 0x7CE7 }, -     { XOR, 0x79991847, 0 }, -     { MULADD, 0x228F7FB5, 0x472D }, -     { MULADD, 0x32DA290B, 0x7745 }, -     { XOR, 0x7A28180D, 0 }, -     { BITFLD, (long)table_54, 0 }, -     { BITFLD, (long)table_55, 0 }, -     { MULADD, 0x5C814F8B, 0x227F }, -     { LOOKUP, (long)table_56, 0 }, -     { MULADD, 0x0B496F6D, 0x412D }, -     { XOR, 0x6F4B62DA, 0 }, -     { LOOKUP, (long)table_57, 0 }, -     { XOR, 0x64973977, 0 }, -     { LOOKUP, (long)table_58, 0 }, -     { LOOKUP, (long)table_59, 0 }, -     { BITFLD, (long)table_60, 0 }, -     { LOOKUP, (long)table_61, 0 }, -     { LOOKUP, (long)table_62, 0 }, -     { XOR, 0x6DD14C92, 0 }, -     { LOOKUP, (long)table_63, 0 }, -     { BITFLD, (long)table_64, 0 }, -     { BITFLD, (long)table_65, 0 }, -     { BITFLD, (long)table_66, 0 }, -     { LOOKUP, (long)table_67, 0 }, -     { XOR, 0x5E6324D8, 0 }, -     { LOOKUP, (long)table_68, 0 }, -     { LOOKUP, (long)table_69, 0 }, -     { LOOKUP, (long)table_70, 0 }, -     { BITFLD, (long)table_71, 0 }, -     { XOR, 0x62745ED0, 0 }, -     { MULADD, 0x102C215B, 0x0581 }, -     { LOOKUP, (long)table_72, 0 }, -     { LOOKUP, (long)table_73, 0 }, -     { LOOKUP, (long)table_74, 0 }, -     { MULADD, 0x19511111, 0x12C1 }, -     { LOOKUP, (long)table_75, 0 }, -     { MULADD, 0x2A6E2953, 0x6977 }, -     { LOOKUP, (long)table_76, 0 }, -     { XOR, 0x55CD5445, 0 }, -     { BITFLD, (long)table_77, 0 }, -     { BITFLD, (long)table_78, 0 }, -     { MULADD, 0x646C21EB, 0x43E5 }, -     { XOR, 0x71DC4898, 0 }, -     { XOR, 0x167519CB, 0 }, -     { XOR, 0x6D3158F8, 0 }, -     { XOR, 0x7EA95BEA, 0 }, -     { BITFLD, (long)table_79, 0 }, -     { XOR, 0x47377587, 0 }, -     { XOR, 0x2D8B6E8F, 0 }, -     { MULADD, 0x5E6105DB, 0x1605 }, -     { XOR, 0x65B543C8, 0 }, -     { LOOKUP, (long)table_80, 0 }, -     { BITFLD, (long)table_81, 0 }, -     { MULADD, 0x48AF73CB, 0x0A67 }, -     { XOR, 0x4FB96154, 0 }, -     { LOOKUP, (long)table_82, 0 }, -     { BITFLD, (long)table_83, 0 }, -     { XOR, 0x622C4954, 0 }, -     { BITFLD, (long)table_84, 0 }, -     { XOR, 0x20D220F3, 0 }, -     { XOR, 0x361D4F0D, 0 }, -     { XOR, 0x2B2000D1, 0 }, -     { XOR, 0x6FB8593E, 0 }, -     { LOOKUP, (long)table_85, 0 }, -     { BITFLD, (long)table_86, 0 }, -     { XOR, 0x2B7F7DFC, 0 }, -     { MULADD, 0x5FC41A57, 0x0693 }, -     { MULADD, 0x17154387, 0x2489 }, -     { BITFLD, (long)table_87, 0 }, -     { BITFLD, (long)table_88, 0 }, -     { BITFLD, (long)table_89, 0 }, -     { LOOKUP, (long)table_90, 0 }, -     { XOR, 0x7E221470, 0 }, -     { XOR, 0x7A600061, 0 }, -     { BITFLD, (long)table_91, 0 }, -     { BITFLD, (long)table_92, 0 }, -     { LOOKUP, (long)table_93, 0 }, -     { BITFLD, (long)table_94, 0 }, -     { MULADD, 0x00E813A5, 0x2CE5 }, -     { MULADD, 0x3D707E25, 0x3827 }, -     { MULADD, 0x77A53E07, 0x6A5F }, -     { BITFLD, (long)table_95, 0 }, -     { LOOKUP, (long)table_96, 0 }, -     { LOOKUP, (long)table_97, 0 }, -     { XOR, 0x43A73788, 0 }, -     { LOOKUP, (long)table_98, 0 }, -     { BITFLD, (long)table_99, 0 }, -     { LOOKUP, (long)table_100, 0 }, -     { XOR, 0x55F4606B, 0 }, -     { BITFLD, (long)table_101, 0 }}, -    {{ BITFLD, (long)table_102, 0 }, -     { MULADD, 0x32CA58E3, 0x04F9 }, -     { XOR, 0x11756B30, 0 }, -     { MULADD, 0x218B2569, 0x5DB1 }, -     { XOR, 0x77D64B90, 0 }, -     { BITFLD, (long)table_103, 0 }, -     { LOOKUP, (long)table_104, 0 }, -     { MULADD, 0x7D1428CB, 0x3D }, -     { XOR, 0x6F872C49, 0 }, -     { XOR, 0x2E484655, 0 }, -     { MULADD, 0x1E3349F7, 0x41F5 }, -     { LOOKUP, (long)table_105, 0 }, -     { BITFLD, (long)table_106, 0 }, -     { XOR, 0x61640311, 0 }, -     { BITFLD, (long)table_107, 0 }, -     { LOOKUP, (long)table_108, 0 }, -     { LOOKUP, (long)table_109, 0 }, -     { LOOKUP, (long)table_110, 0 }, -     { XOR, 0x007044D3, 0 }, -     { BITFLD, (long)table_111, 0 }, -     { MULADD, 0x5C221625, 0x576F }, -     { LOOKUP, (long)table_112, 0 }, -     { LOOKUP, (long)table_113, 0 }, -     { XOR, 0x2D406BB1, 0 }, -     { MULADD, 0x680B1F17, 0x12CD }, -     { BITFLD, (long)table_114, 0 }, -     { MULADD, 0x12564D55, 0x32B9 }, -     { MULADD, 0x21A67897, 0x6BAB }, -     { LOOKUP, (long)table_115, 0 }, -     { MULADD, 0x06405119, 0x7143 }, -     { XOR, 0x351D01ED, 0 }, -     { MULADD, 0x46356F6B, 0x0A49 }, -     { MULADD, 0x32C77969, 0x72F3 }, -     { BITFLD, (long)table_116, 0 }, -     { LOOKUP, (long)table_117, 0 }, -     { LOOKUP, (long)table_118, 0 }, -     { BITFLD, (long)table_119, 0 }, -     { LOOKUP, (long)table_120, 0 }, -     { BITFLD, (long)table_121, 0 }, -     { MULADD, 0x74D52C55, 0x5F43 }, -     { XOR, 0x26201CA8, 0 }, -     { XOR, 0x7AEB3255, 0 }, -     { LOOKUP, (long)table_122, 0 }, -     { MULADD, 0x578F1047, 0x640B }, -     { LOOKUP, (long)table_123, 0 }, -     { LOOKUP, (long)table_124, 0 }, -     { BITFLD, (long)table_125, 0 }, -     { BITFLD, (long)table_126, 0 }, -     { XOR, 0x4A1352CF, 0 }, -     { MULADD, 0x4BFB6EF3, 0x704F }, -     { MULADD, 0x1B4C7FE7, 0x5637 }, -     { MULADD, 0x04091A3B, 0x4917 }, -     { XOR, 0x270C2F52, 0 }, -     { LOOKUP, (long)table_127, 0 }, -     { BITFLD, (long)table_128, 0 }, -     { LOOKUP, (long)table_129, 0 }, -     { BITFLD, (long)table_130, 0 }, -     { MULADD, 0x127549D5, 0x579B }, -     { MULADD, 0x0AB54121, 0x7A47 }, -     { BITFLD, (long)table_131, 0 }, -     { XOR, 0x751E6E49, 0 }, -     { LOOKUP, (long)table_132, 0 }, -     { LOOKUP, (long)table_133, 0 }, -     { XOR, 0x670C3F74, 0 }, -     { MULADD, 0x6B080851, 0x7E8B }, -     { XOR, 0x71CD789E, 0 }, -     { XOR, 0x3EB20B7B, 0 }, -     { BITFLD, (long)table_134, 0 }, -     { LOOKUP, (long)table_135, 0 }, -     { MULADD, 0x58A67753, 0x272B }, -     { MULADD, 0x1AB54AD7, 0x4D33 }, -     { MULADD, 0x07D30A45, 0x0569 }, -     { MULADD, 0x737616BF, 0x70C7 }, -     { LOOKUP, (long)table_136, 0 }, -     { MULADD, 0x45C4485D, 0x2063 }, -     { BITFLD, (long)table_137, 0 }, -     { XOR, 0x2598043D, 0 }, -     { MULADD, 0x223A4FE3, 0x49A7 }, -     { XOR, 0x1EED619F, 0 }, -     { BITFLD, (long)table_138, 0 }, -     { XOR, 0x6F477561, 0 }, -     { BITFLD, (long)table_139, 0 }, -     { BITFLD, (long)table_140, 0 }, -     { LOOKUP, (long)table_141, 0 }, -     { MULADD, 0x4BC13C4F, 0x45C1 }, -     { XOR, 0x3B547BFB, 0 }, -     { LOOKUP, (long)table_142, 0 }, -     { MULADD, 0x71406AB3, 0x7A5F }, -     { XOR, 0x2F1467E9, 0 }, -     { MULADD, 0x009366D1, 0x22D1 }, -     { MULADD, 0x587D1B75, 0x2CA5 }, -     { MULADD, 0x213A4BE7, 0x4499 }, -     { MULADD, 0x62653E89, 0x2D5D }, -     { BITFLD, (long)table_143, 0 }, -     { MULADD, 0x4F5F3257, 0x444F }, -     { MULADD, 0x4C0E2B2B, 0x19D3 }}, -    {{ MULADD, 0x3F867B35, 0x7B3B }, -     { MULADD, 0x32D25CB1, 0x3D6D }, -     { BITFLD, (long)table_144, 0 }, -     { MULADD, 0x50FA1C51, 0x5F4F }, -     { LOOKUP, (long)table_145, 0 }, -     { XOR, 0x05FE7AF1, 0 }, -     { MULADD, 0x14067C29, 0x10C5 }, -     { LOOKUP, (long)table_146, 0 }, -     { MULADD, 0x4A5558C5, 0x271F }, -     { XOR, 0x3C0861B1, 0 }, -     { BITFLD, (long)table_147, 0 }, -     { LOOKUP, (long)table_148, 0 }, -     { MULADD, 0x18837C9D, 0x6335 }, -     { BITFLD, (long)table_149, 0 }, -     { XOR, 0x7DAB5033, 0 }, -     { LOOKUP, (long)table_150, 0 }, -     { MULADD, 0x03B87321, 0x7225 }, -     { XOR, 0x7F906745, 0 }, -     { LOOKUP, (long)table_151, 0 }, -     { BITFLD, (long)table_152, 0 }, -     { XOR, 0x21C46C2C, 0 }, -     { MULADD, 0x2B36757D, 0x028D }, -     { BITFLD, (long)table_153, 0 }, -     { LOOKUP, (long)table_154, 0 }, -     { XOR, 0x106B4A85, 0 }, -     { XOR, 0x17640F11, 0 }, -     { LOOKUP, (long)table_155, 0 }, -     { XOR, 0x69E60486, 0 }, -     { LOOKUP, (long)table_156, 0 }, -     { MULADD, 0x3782017D, 0x05BF }, -     { BITFLD, (long)table_157, 0 }, -     { LOOKUP, (long)table_158, 0 }, -     { XOR, 0x6BCA53B0, 0 }, -     { LOOKUP, (long)table_159, 0 }, -     { LOOKUP, (long)table_160, 0 }, -     { LOOKUP, (long)table_161, 0 }, -     { LOOKUP, (long)table_162, 0 }, -     { XOR, 0x0B8236E3, 0 }, -     { BITFLD, (long)table_163, 0 }, -     { MULADD, 0x5EE51C43, 0x4553 }, -     { BITFLD, (long)table_164, 0 }, -     { LOOKUP, (long)table_165, 0 }, -     { LOOKUP, (long)table_166, 0 }, -     { LOOKUP, (long)table_167, 0 }, -     { MULADD, 0x42B14C6F, 0x5531 }, -     { XOR, 0x4A2548E8, 0 }, -     { MULADD, 0x5C071D85, 0x2437 }, -     { LOOKUP, (long)table_168, 0 }, -     { MULADD, 0x29195861, 0x108B }, -     { XOR, 0x24012258, 0 }, -     { LOOKUP, (long)table_169, 0 }, -     { XOR, 0x63CC2377, 0 }, -     { XOR, 0x08D04B59, 0 }, -     { MULADD, 0x3FD30CF5, 0x7027 }, -     { XOR, 0x7C3E0478, 0 }, -     { MULADD, 0x457776B7, 0x24B3 }, -     { XOR, 0x086652BC, 0 }, -     { MULADD, 0x302F5B13, 0x371D }, -     { LOOKUP, (long)table_170, 0 }, -     { MULADD, 0x58692D47, 0x0671 }, -     { XOR, 0x6601178E, 0 }, -     { MULADD, 0x0F195B9B, 0x1369 }, -     { XOR, 0x07BA21D8, 0 }, -     { BITFLD, (long)table_171, 0 }, -     { BITFLD, (long)table_172, 0 }, -     { XOR, 0x13AC3D21, 0 }, -     { MULADD, 0x5BCF3275, 0x6E1B }, -     { MULADD, 0x62725C5B, 0x16B9 }, -     { MULADD, 0x5B950FDF, 0x2D35 }, -     { BITFLD, (long)table_173, 0 }, -     { BITFLD, (long)table_174, 0 }, -     { MULADD, 0x73BA5335, 0x1C13 }, -     { BITFLD, (long)table_175, 0 }, -     { BITFLD, (long)table_176, 0 }, -     { XOR, 0x3E144154, 0 }, -     { MULADD, 0x4EED7B27, 0x38AB }, -     { LOOKUP, (long)table_177, 0 }, -     { MULADD, 0x627C7E0F, 0x7F01 }, -     { MULADD, 0x5D7E1F73, 0x2C0F }, -     { LOOKUP, (long)table_178, 0 }, -     { MULADD, 0x55C9525F, 0x4659 }, -     { XOR, 0x3765334C, 0 }, -     { MULADD, 0x5DF66DDF, 0x7C25 }, -     { LOOKUP, (long)table_179, 0 }, -     { LOOKUP, (long)table_180, 0 }, -     { XOR, 0x16AE5776, 0 }, -     { LOOKUP, (long)table_181, 0 }, -     { LOOKUP, (long)table_182, 0 }, -     { BITFLD, (long)table_183, 0 }, -     { BITFLD, (long)table_184, 0 }, -     { LOOKUP, (long)table_185, 0 }, -     { MULADD, 0x4392327B, 0x7E0D }, -     { LOOKUP, (long)table_186, 0 }, -     { MULADD, 0x3D8B0CB5, 0x640D }, -     { MULADD, 0x32865601, 0x4D43 }, -     { BITFLD, (long)table_187, 0 }}}; - -#define A( x ) (( x ) & 0xFF ) -#define B( x ) (( x ) >> 8 & 0xFF ) -#define C( x ) (( x ) >> 16 & 0xFF ) -#define D( x ) (( x ) >> 24 & 0xFF ) - -int yahoo_xfrm( int table, int depth, int seed ) -{ -   const struct yahoo_fn *xfrm; -   int i, j, z; -   unsigned int n = seed; -   unsigned char *arg; - -   for( i = 0; i < depth; i++ ) -   { -      xfrm = &yahoo_fntable[table][n % 96]; -      switch( xfrm->type ) -      { -      case IDENT: -         return seed; -      case XOR: -         seed ^= xfrm->arg1; -         break; -      case MULADD: -         seed = seed * xfrm->arg1 + xfrm->arg2; -         break; -      case LOOKUP: -         arg = (unsigned char *)xfrm->arg1; -         seed = arg[A( seed )] | arg[B( seed )] << 8 | arg[C( seed )] << 16 -            | arg[D( seed )] << 24; -         break; -      case BITFLD: -         arg = (unsigned char *)xfrm->arg1; -         for( j = 0, z = 0; j < 32; j++ ) -            z = ((( seed >> j ) & 1 ) << arg[j] ) | ( ~( 1 << arg[j] ) & z ); -         seed = z; -         break; -      } -      if( depth - i == 1 ) -         return seed; -      z = (((((( A( seed ) * 0x9E3779B1 ) ^ B( seed )) * 0x9E3779B1 ) -         ^ C( seed )) * 0x9E3779B1 ) ^ D( seed )) * 0x9E3779B1; -      n = (((( z ^ ( z >> 8 )) >> 16 ) ^ z ) ^ ( z >> 8 )) & 0xFF; -      seed *= 0x00010DCD; -   } -   return seed; -} diff --git a/protocols/yahoo/yahoo_fn.h b/protocols/yahoo/yahoo_fn.h deleted file mode 100644 index 5400e5d0..00000000 --- a/protocols/yahoo/yahoo_fn.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * libyahoo2 - originally from gaim patches by Amatus - * - * Copyright (C) 2003-2004 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA - */ - -#define IDENT  1		/* identify function */ -#define XOR    2		/* xor with arg1 */ -#define MULADD 3		/* multipy by arg1 then add arg2 */ -#define LOOKUP 4		/* lookup each byte in the table pointed to by arg1 */ -#define BITFLD 5		/* reorder bits according to table pointed to by arg1 */ - -struct yahoo_fn { -	int type; -	long arg1, arg2; -}; - -int yahoo_xfrm(int table, int depth, int seed); diff --git a/protocols/yahoo/yahoo_httplib.c b/protocols/yahoo/yahoo_httplib.c index 6bb8923d..fd63d507 100644 --- a/protocols/yahoo/yahoo_httplib.c +++ b/protocols/yahoo/yahoo_httplib.c @@ -61,6 +61,7 @@ extern struct yahoo_callbacks *yc;  extern enum yahoo_log_level log_level; +#if 0  int yahoo_tcp_readline(char *ptr, int maxlen, void *fd)  {  	int n, rc; @@ -92,6 +93,7 @@ int yahoo_tcp_readline(char *ptr, int maxlen, void *fd)  	*ptr = 0;  	return (n);  } +#endif  static int url_to_host_port_path(const char *url,  	char *host, int *port, char *path, int *ssl) @@ -182,6 +184,7 @@ char *yahoo_urlencode(const char *instr)  	return (str);  } +#if 0  char *yahoo_urldecode(const char *instr)  {  	int ipos = 0, bpos = 0; @@ -278,6 +281,7 @@ char *yahoo_xmldecode(const char *instr)  	return (str);  } +#endif  typedef void (*http_connected) (int id, void *fd, int error); | 
