Index: debian/changelog
===================================================================
--- debian/changelog	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ debian/changelog	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -1,2 +1,8 @@
+bitlbee (3.0.6-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Wilmer van der Gaast <wilmer@gaast.net>  Sun, 28 Oct 2012 19:58:33 +0000
+
 bitlbee (3.0.5-1.2) unstable; urgency=low
 
Index: debian/source/options
===================================================================
--- debian/source/options	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
+++ debian/source/options	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -0,0 +1,1 @@
+--diff-ignore='(^|/)\.bzr'
Index: protocols/jabber/message.c
===================================================================
--- protocols/jabber/message.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/jabber/message.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -24,10 +24,7 @@
 #include "jabber.h"
 
-static unsigned int next_receipt_id = 1;
-
 xt_status jabber_pkt_message( struct xt_node *node, gpointer data )
 {
 	struct im_connection *ic = data;
-	struct jabber_data *jd = ic->proto_data;
 	char *from = xt_find_attr( node, "from" );
 	char *type = xt_find_attr( node, "type" );
@@ -35,5 +32,4 @@
 	struct xt_node *body = xt_find_node( node->children, "body" ), *c;
 	struct xt_node *request = xt_find_node( node->children, "request" );
-	struct xt_node *received, *receipt;
 	struct jabber_buddy *bud = NULL;
 	char *s, *room = NULL, *reason = NULL;
@@ -51,13 +47,10 @@
 		 *  <received xmlns='urn:xmpp:receipts' id='richard2-4.1.247'/>
 		 * </message> */
+		struct xt_node *received, *receipt;
+		
 		received = xt_new_node( "received", NULL, NULL );
 		xt_add_attr( received, "xmlns", XMLNS_RECEIPTS );
 		xt_add_attr( received, "id", id );
 		receipt = jabber_make_packet( "message", NULL, from, received );
-		xt_add_attr( receipt, "from", jd->me );
-
-		char *id = g_strdup_printf( "%sRCPT%05x", JABBER_PACKET_ID, ( next_receipt_id++ ) & 0xfffff );
-		xt_add_attr( receipt, "id", id );
-		g_free( id );
 
 		jabber_write_packet( ic, receipt );
Index: protocols/msn/msn.h
===================================================================
--- protocols/msn/msn.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/msn/msn.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -242,5 +242,4 @@
 
 /* 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 );
Index: protocols/msn/msn_util.c
===================================================================
--- protocols/msn/msn_util.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/msn/msn_util.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -29,11 +29,4 @@
 #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 )
Index: protocols/nogaim.h
===================================================================
--- protocols/nogaim.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/nogaim.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -198,5 +198,5 @@
 	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 *);
 	
Index: protocols/oscar/aim.h
===================================================================
--- protocols/oscar/aim.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/aim.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -410,13 +410,4 @@
 #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
@@ -474,5 +465,4 @@
 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);
@@ -601,11 +591,5 @@
 #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);
@@ -616,6 +600,4 @@
 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);
 
@@ -627,5 +609,4 @@
 #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
@@ -646,6 +627,4 @@
 #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
@@ -674,10 +653,7 @@
 #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
@@ -747,7 +723,4 @@
 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);
@@ -756,5 +729,4 @@
 
 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 */
@@ -812,8 +784,4 @@
 
 
-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);
 
Index: protocols/oscar/aim_internal.h
===================================================================
--- protocols/oscar/aim_internal.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/aim_internal.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -112,7 +112,4 @@
 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 *);
 
@@ -195,10 +192,7 @@
 
 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);
@@ -210,5 +204,4 @@
 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__ */
Index: protocols/oscar/bos.c
===================================================================
--- protocols/oscar/bos.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/bos.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -56,84 +56,4 @@
 }
 
-/*
- * 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)
 {
Index: protocols/oscar/buddylist.c
===================================================================
--- protocols/oscar/buddylist.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/buddylist.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -91,60 +91,2 @@
 	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;
-}
-
Index: protocols/oscar/buddylist.h
===================================================================
--- protocols/oscar/buddylist.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/buddylist.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -17,7 +17,3 @@
 #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__ */
Index: protocols/oscar/chat.c
===================================================================
--- protocols/oscar/chat.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/chat.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -26,63 +26,4 @@
 
 	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;
 }
 
@@ -250,16 +191,4 @@
 	outinfo->name = aimbs_getstr(bs, namelen);
 	outinfo->instance = aimbs_get16(bs);
-
-	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;
Index: protocols/oscar/conn.c
===================================================================
--- protocols/oscar/conn.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/conn.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -351,48 +351,4 @@
 
 	return cur;
-}
-
-/**
- * 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;
 }
 
Index: protocols/oscar/icq.c
===================================================================
--- protocols/oscar/icq.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/icq.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -65,42 +65,4 @@
 	aimbs_putle16(&fr->data, 0x003e); /* I command thee. */
 	aimbs_putle16(&fr->data, snacid); /* eh. */
-
-	aim_tx_enqueue(sess, fr);
-
-	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);
@@ -152,41 +114,4 @@
 
         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;
 }
 
Index: protocols/oscar/icq.h
===================================================================
--- protocols/oscar/icq.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/icq.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -94,5 +94,4 @@
 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__ */
Index: protocols/oscar/im.c
===================================================================
--- protocols/oscar/im.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/im.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -23,81 +23,4 @@
 #include "im.h"
 #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;
-}
 
 /*
@@ -367,481 +290,4 @@
 }
 
-/*
- * 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
@@ -1050,59 +496,4 @@
 	mpm->numparts++;
 
-	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;
 }
@@ -1788,42 +1179,4 @@
 
 	return ret;
-}
-
-/*
- * 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;
 }
 
Index: protocols/oscar/im.h
===================================================================
--- protocols/oscar/im.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/im.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -47,7 +47,4 @@
 
 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);
 
@@ -83,14 +80,4 @@
 	guint16 charset;
 	guint16 charsubset;
-};
-
-/*
- * Arguments to aim_send_rtfmsg().
- */
-struct aim_sendrtfmsg_args {
-	const char *destsn;
-	guint32 fgcolor;
-	guint32 bgcolor;
-	const char *rtfmsg; /* must be in RTF */
 };
 
@@ -183,9 +170,6 @@
 };
 
-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);
@@ -194,5 +178,4 @@
 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);
Index: protocols/oscar/info.c
===================================================================
--- protocols/oscar/info.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/info.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -40,77 +40,4 @@
 	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);
-}
-
 
 /*
@@ -482,111 +409,4 @@
 		aim_bstream_setpos(bs, endpos);
 	}
-
-	return 0;
-}
-
-/*
- * 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;
Index: protocols/oscar/info.h
===================================================================
--- protocols/oscar/info.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/info.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -40,5 +40,3 @@
 #define AIM_CAPS_LAST           0x00200000
 
-int aim_0002_000b(aim_session_t *sess, aim_conn_t *conn, const char *sn);
-
 #endif /* __OSCAR_INFO_H__ */
Index: protocols/oscar/misc.c
===================================================================
--- protocols/oscar/misc.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/misc.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -13,54 +13,4 @@
 
 #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;
-}
 
 /* 
@@ -127,38 +77,4 @@
 
 /*
- * 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.
  *
@@ -254,88 +170,4 @@
 {
 	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;
 }
 
Index: protocols/oscar/oscar.c
===================================================================
--- protocols/oscar/oscar.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/oscar.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -2103,45 +2103,4 @@
 }
 
-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;
@@ -2624,5 +2583,4 @@
 	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;
 	
Index: protocols/oscar/oscar_util.c
===================================================================
--- protocols/oscar/oscar_util.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/oscar_util.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -1,94 +1,4 @@
 #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;
-}
 
 /*
Index: protocols/oscar/rxhandlers.c
===================================================================
--- protocols/oscar/rxhandlers.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/rxhandlers.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -286,16 +286,4 @@
 }
 
-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)
 {
Index: protocols/oscar/search.c
===================================================================
--- protocols/oscar/search.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/search.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -8,25 +8,4 @@
 
 #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? */
Index: protocols/oscar/search.h
===================================================================
--- protocols/oscar/search.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/search.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -2,5 +2,3 @@
 #define __OSCAR_SEARCH_H__
 
-int aim_usersearch_address(aim_session_t *, aim_conn_t *, const char *);
-
 #endif /* __OSCAR_SEARCH_H__ */
Index: protocols/oscar/service.c
===================================================================
--- protocols/oscar/service.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/service.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -352,26 +352,4 @@
 	snacid = aim_cachesnac(sess, 0x0001, 0x0008, 0x0000, NULL, 0);
 	aim_putsnac(&fr->data, 0x0001, 0x0008, 0x0000, snacid);
-
-	for (rc = ins->rates; rc; rc = rc->next)
-		aimbs_put16(&fr->data, rc->classid);
-
-	aim_tx_enqueue(sess, fr);
-
-	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)
@@ -431,41 +409,4 @@
 }
 
-/*
- * 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)
@@ -517,18 +458,4 @@
 
 	return 0;
-}
-
-/*
- * 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);
 }
 
@@ -637,15 +564,4 @@
 }
 
-/*
- * 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);
-}
 
 /* 
@@ -807,92 +723,4 @@
 	g_free(modname);
 	aim_freetlvchain(&list);
-
-	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;
Index: protocols/oscar/ssi.c
===================================================================
--- protocols/oscar/ssi.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/ssi.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -263,26 +263,4 @@
 
 /**
- * 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 
@@ -345,141 +323,4 @@
 
 /**
- * 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.
  *
@@ -999,126 +840,4 @@
 }
 
-/**
- * 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.
@@ -1141,35 +860,4 @@
 
 	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;
 }
 
Index: protocols/oscar/ssi.h
===================================================================
--- protocols/oscar/ssi.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/ssi.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -45,5 +45,4 @@
 /* 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);
@@ -57,8 +56,6 @@
 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);
@@ -69,8 +66,5 @@
 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);
Index: protocols/oscar/tlv.c
===================================================================
--- protocols/oscar/tlv.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/oscar/tlv.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -223,37 +223,4 @@
 
 /**
- * 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
@@ -278,16 +245,4 @@
 
 	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);
 }
 
Index: protocols/yahoo/Makefile
===================================================================
--- protocols/yahoo/Makefile	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/yahoo/Makefile	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -13,5 +13,5 @@
 
 # [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
Index: otocols/yahoo/crypt.c
===================================================================
--- protocols/yahoo/crypt.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ 	(revision )
@@ -1,203 +1,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;
-}
Index: protocols/yahoo/libyahoo2.c
===================================================================
--- protocols/yahoo/libyahoo2.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/yahoo/libyahoo2.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -83,5 +83,4 @@
 #include "yahoo_httplib.h"
 #include "yahoo_util.h"
-#include "yahoo_fn.h"
 
 #include "yahoo2_callbacks.h"
@@ -120,9 +119,4 @@
 	va_end(ap);
 	return YAHOO_CALLBACK(ext_yahoo_log) ("%s", out);
-}
-
-int yahoo_connect(char *host, int port)
-{
-	return YAHOO_CALLBACK(ext_yahoo_connect) (host, port);
 }
 
@@ -375,4 +369,5 @@
 */
 
+#if 0
 static struct yahoo_input_data *find_input_by_id_and_webcam_user(int id,
 	const char *who)
@@ -391,4 +386,5 @@
 	return NULL;
 }
+#endif
 
 static struct yahoo_input_data *find_input_by_id_and_type(int id,
@@ -430,6 +426,4 @@
 	return c;
 }
-
-extern char *yahoo_crypt(char *, char *);
 
 /* Free a buddy list */
@@ -2643,4 +2637,5 @@
 }
 
+#if 0
 static struct yab *yahoo_yab_read(unsigned char *d, int len)
 {
@@ -2793,4 +2788,5 @@
 	return yab;
 }
+#endif
 
 static char *yahoo_getwebcam_master(struct yahoo_input_data *yid)
@@ -3100,4 +3096,5 @@
 }
 
+#if 0
 static void yahoo_process_yab_connection(struct yahoo_input_data *yid, int over)
 {
@@ -3159,4 +3156,5 @@
 			yd->buddies);
 }
+#endif
 
 static void yahoo_process_search_connection(struct yahoo_input_data *yid,
@@ -3414,5 +3412,5 @@
 	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,
@@ -3578,8 +3576,10 @@
 }
 
+#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,
@@ -3723,4 +3723,5 @@
 }
 
+#if 0
 void yahoo_get_list(int id)
 {
@@ -3742,4 +3743,5 @@
 	}
 }
+#endif
 
 static void _yahoo_http_connected(int id, void *fd, int error, void *data)
@@ -3758,4 +3760,5 @@
 }
 
+#if 0
 /* FIXME Get address book from address.yahoo.com instead */
 void yahoo_get_yab(int id)
@@ -3898,4 +3901,5 @@
 	}
 }
+#endif
 
 void yahoo_keepalive(int id)
@@ -3915,4 +3919,5 @@
 }
 
+#if 0
 void yahoo_chat_keepalive(int id)
 {
@@ -3932,4 +3937,5 @@
 	yahoo_packet_free(pkt);
 }
+#endif
 
 void yahoo_add_buddy(int id, const char *who, const char *group,
@@ -4024,4 +4030,5 @@
 }
 
+#if 0
 void yahoo_ignore_buddy(int id, const char *who, int unignore)
 {
@@ -4070,4 +4077,5 @@
 	yahoo_packet_free(pkt);
 }
+#endif
 
 void yahoo_change_buddy_group(int id, const char *who, const char *old_group,
@@ -4098,4 +4106,5 @@
 }
 
+#if 0
 void yahoo_group_rename(int id, const char *old_group, const char *new_group)
 {
@@ -4149,4 +4158,5 @@
 	yahoo_packet_free(pkt);
 }
+#endif
 
 void yahoo_conference_invite(int id, const char *from, YList *who,
@@ -4290,4 +4300,5 @@
 }
 
+#if 0
 void yahoo_get_chatrooms(int id, int chatroomid)
 {
@@ -4732,4 +4743,5 @@
 	/* Not Implemented */
 }
+#endif
 
 /* File Transfer */
@@ -4759,4 +4771,5 @@
 };
 
+#if 0
 static char *yahoo_get_random(void)
 {
@@ -4788,4 +4801,5 @@
 	return strdup(out);
 }
+#endif
 
 static int _are_same_id(const void *sfd1, const void *id)
@@ -5168,4 +5182,5 @@
 }
 
+#if 0
 void yahoo_send_file(int id, const char *who, const char *msg,
 	const char *name, unsigned long size,
@@ -5246,4 +5261,5 @@
 		yahoo_remove_active_transfer(sfd);
 }
+#endif
 
 static void yahoo_process_ft_connection(struct yahoo_input_data *yid, int over)
@@ -5359,4 +5375,5 @@
 /* End File Transfer */
 
+#if 0
 enum yahoo_status yahoo_current_status(int id)
 {
@@ -5408,4 +5425,5 @@
 	return NULL;
 }
+#endif
 
 const char *yahoo_get_profile_url(void)
Index: protocols/yahoo/yahoo.c
===================================================================
--- protocols/yahoo/yahoo.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/yahoo/yahoo.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -570,8 +570,4 @@
 }
 
-void ext_yahoo_got_ignore( int id, YList *igns )
-{
-}
-
 void ext_yahoo_got_identities( int id, YList *ids )
 {
@@ -814,11 +810,4 @@
 }
 
-/* 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 )
 {
Index: protocols/yahoo/yahoo2.h
===================================================================
--- protocols/yahoo/yahoo2.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/yahoo/yahoo2.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -121,5 +121,5 @@
 	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,
Index: protocols/yahoo/yahoo2_callbacks.h
===================================================================
--- protocols/yahoo/yahoo2_callbacks.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/yahoo/yahoo2_callbacks.h	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -113,5 +113,5 @@
  * 	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);
 
 /*
@@ -678,5 +678,5 @@
  * 	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);
 
 /*
Index: otocols/yahoo/yahoo_fn.c
===================================================================
--- protocols/yahoo/yahoo_fn.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ 	(revision )
@@ -1,4622 +1,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;
-}
Index: otocols/yahoo/yahoo_fn.h
===================================================================
--- protocols/yahoo/yahoo_fn.h	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ 	(revision )
@@ -1,32 +1,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);
Index: protocols/yahoo/yahoo_httplib.c
===================================================================
--- protocols/yahoo/yahoo_httplib.c	(revision 1444be5c948f8b4509cfe3cb30992da74f12b5b8)
+++ protocols/yahoo/yahoo_httplib.c	(revision 91ae87dbaf907a767b9bf881c6f7de39d03be45e)
@@ -62,4 +62,5 @@
 extern enum yahoo_log_level log_level;
 
+#if 0
 int yahoo_tcp_readline(char *ptr, int maxlen, void *fd)
 {
@@ -93,4 +94,5 @@
 	return (n);
 }
+#endif
 
 static int url_to_host_port_path(const char *url,
@@ -183,4 +185,5 @@
 }
 
+#if 0
 char *yahoo_urldecode(const char *instr)
 {
@@ -279,4 +282,5 @@
 	return (str);
 }
+#endif
 
 typedef void (*http_connected) (int id, void *fd, int error);
