* #36737: switch back to svn repo, remove assert in sip_transaction.c
diff --git a/jni/pjproject-android/.svn/pristine/54/54023a36c884ec70f1ccac8cccf8661cf6861769.svn-base b/jni/pjproject-android/.svn/pristine/54/54023a36c884ec70f1ccac8cccf8661cf6861769.svn-base
new file mode 100644
index 0000000..565a993
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/54023a36c884ec70f1ccac8cccf8661cf6861769.svn-base
@@ -0,0 +1,189 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * 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 <pj/fifobuf.h>
+#include <pj/log.h>
+#include <pj/assert.h>
+#include <pj/os.h>
+
+#define THIS_FILE   "fifobuf"
+
+#define SZ  sizeof(unsigned)
+
+PJ_DEF(void) pj_fifobuf_init (pj_fifobuf_t *fifobuf, void *buffer, unsigned size)
+{
+    PJ_CHECK_STACK();
+
+    PJ_LOG(6, (THIS_FILE, 
+	       "fifobuf_init fifobuf=%p buffer=%p, size=%d", 
+	       fifobuf, buffer, size));
+
+    fifobuf->first = (char*)buffer;
+    fifobuf->last = fifobuf->first + size;
+    fifobuf->ubegin = fifobuf->uend = fifobuf->first;
+    fifobuf->full = 0;
+}
+
+PJ_DEF(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fifobuf)
+{
+    unsigned s1, s2;
+
+    PJ_CHECK_STACK();
+
+    if (fifobuf->uend >= fifobuf->ubegin) {
+	s1 = (unsigned)(fifobuf->last - fifobuf->uend);
+	s2 = (unsigned)(fifobuf->ubegin - fifobuf->first);
+    } else {
+	s1 = s2 = (unsigned)(fifobuf->ubegin - fifobuf->uend);
+    }
+    
+    return s1<s2 ? s2 : s1;
+}
+
+PJ_DEF(void*) pj_fifobuf_alloc (pj_fifobuf_t *fifobuf, unsigned size)
+{
+    unsigned available;
+    char *start;
+
+    PJ_CHECK_STACK();
+
+    if (fifobuf->full) {
+	PJ_LOG(6, (THIS_FILE, 
+		   "fifobuf_alloc fifobuf=%p, size=%d: full!", 
+		   fifobuf, size));
+	return NULL;
+    }
+
+    /* try to allocate from the end part of the fifo */
+    if (fifobuf->uend >= fifobuf->ubegin) {
+	available = (unsigned)(fifobuf->last - fifobuf->uend);
+	if (available >= size+SZ) {
+	    char *ptr = fifobuf->uend;
+	    fifobuf->uend += (size+SZ);
+	    if (fifobuf->uend == fifobuf->last)
+		fifobuf->uend = fifobuf->first;
+	    if (fifobuf->uend == fifobuf->ubegin)
+		fifobuf->full = 1;
+	    *(unsigned*)ptr = size+SZ;
+	    ptr += SZ;
+
+	    PJ_LOG(6, (THIS_FILE, 
+		       "fifobuf_alloc fifobuf=%p, size=%d: returning %p, p1=%p, p2=%p", 
+		       fifobuf, size, ptr, fifobuf->ubegin, fifobuf->uend));
+	    return ptr;
+	}
+    }
+
+    /* try to allocate from the start part of the fifo */
+    start = (fifobuf->uend <= fifobuf->ubegin) ? fifobuf->uend : fifobuf->first;
+    available = (unsigned)(fifobuf->ubegin - start);
+    if (available >= size+SZ) {
+	char *ptr = start;
+	fifobuf->uend = start + size + SZ;
+	if (fifobuf->uend == fifobuf->ubegin)
+	    fifobuf->full = 1;
+	*(unsigned*)ptr = size+SZ;
+	ptr += SZ;
+
+	PJ_LOG(6, (THIS_FILE, 
+		   "fifobuf_alloc fifobuf=%p, size=%d: returning %p, p1=%p, p2=%p", 
+		   fifobuf, size, ptr, fifobuf->ubegin, fifobuf->uend));
+	return ptr;
+    }
+
+    PJ_LOG(6, (THIS_FILE, 
+	       "fifobuf_alloc fifobuf=%p, size=%d: no space left! p1=%p, p2=%p", 
+	       fifobuf, size, fifobuf->ubegin, fifobuf->uend));
+    return NULL;
+}
+
+PJ_DEF(pj_status_t) pj_fifobuf_unalloc (pj_fifobuf_t *fifobuf, void *buf)
+{
+    char *ptr = (char*)buf;
+    char *endptr;
+    unsigned sz;
+
+    PJ_CHECK_STACK();
+
+    ptr -= SZ;
+    sz = *(unsigned*)ptr;
+
+    endptr = fifobuf->uend;
+    if (endptr == fifobuf->first)
+	endptr = fifobuf->last;
+
+    if (ptr+sz != endptr) {
+	pj_assert(!"Invalid pointer to undo alloc");
+	return -1;
+    }
+
+    fifobuf->uend = ptr;
+    fifobuf->full = 0;
+
+    PJ_LOG(6, (THIS_FILE, 
+	       "fifobuf_unalloc fifobuf=%p, ptr=%p, size=%d, p1=%p, p2=%p", 
+	       fifobuf, buf, sz, fifobuf->ubegin, fifobuf->uend));
+
+    return 0;
+}
+
+PJ_DEF(pj_status_t) pj_fifobuf_free (pj_fifobuf_t *fifobuf, void *buf)
+{
+    char *ptr = (char*)buf;
+    char *end;
+    unsigned sz;
+
+    PJ_CHECK_STACK();
+
+    ptr -= SZ;
+    if (ptr < fifobuf->first || ptr >= fifobuf->last) {
+	pj_assert(!"Invalid pointer to free");
+	return -1;
+    }
+
+    if (ptr != fifobuf->ubegin && ptr != fifobuf->first) {
+	pj_assert(!"Invalid free() sequence!");
+	return -1;
+    }
+
+    end = (fifobuf->uend > fifobuf->ubegin) ? fifobuf->uend : fifobuf->last;
+    sz = *(unsigned*)ptr;
+    if (ptr+sz > end) {
+	pj_assert(!"Invalid size!");
+	return -1;
+    }
+
+    fifobuf->ubegin = ptr + sz;
+
+    /* Rollover */
+    if (fifobuf->ubegin == fifobuf->last)
+	fifobuf->ubegin = fifobuf->first;
+
+    /* Reset if fifobuf is empty */
+    if (fifobuf->ubegin == fifobuf->uend)
+	fifobuf->ubegin = fifobuf->uend = fifobuf->first;
+
+    fifobuf->full = 0;
+
+    PJ_LOG(6, (THIS_FILE, 
+	       "fifobuf_free fifobuf=%p, ptr=%p, size=%d, p1=%p, p2=%p", 
+	       fifobuf, buf, sz, fifobuf->ubegin, fifobuf->uend));
+
+    return 0;
+}
diff --git a/jni/pjproject-android/.svn/pristine/54/5469cde0a780d0c6adf42a169c0175bcb721b1ec.svn-base b/jni/pjproject-android/.svn/pristine/54/5469cde0a780d0c6adf42a169c0175bcb721b1ec.svn-base
new file mode 100644
index 0000000..14306ed
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/5469cde0a780d0c6adf42a169c0175bcb721b1ec.svn-base
@@ -0,0 +1,4207 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * 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 
+ */
+
+/*
+ * The tables here and also the conversion ideas are contributed by 
+ * Toni Rutar <toni at aufbix.org>. Many thanks!
+ */
+#include <pjmedia/alaw_ulaw.h>
+
+#if defined(PJMEDIA_HAS_ALAW_ULAW_TABLE) && PJMEDIA_HAS_ALAW_ULAW_TABLE!=0
+
+const pj_uint8_t pjmedia_linear2ulaw_tab[16384] = 
+{
+    0xff,0xfe,0xfe,0xfd,0xfd,0xfc,0xfc,0xfb,
+    0xfb,0xfa,0xfa,0xf9,0xf9,0xf8,0xf8,0xf7,
+    0xf7,0xf6,0xf6,0xf5,0xf5,0xf4,0xf4,0xf3,
+    0xf3,0xf2,0xf2,0xf1,0xf1,0xf0,0xf0,0xef,
+    0xef,0xef,0xef,0xee,0xee,0xee,0xee,0xed,
+    0xed,0xed,0xed,0xec,0xec,0xec,0xec,0xeb,
+    0xeb,0xeb,0xeb,0xea,0xea,0xea,0xea,0xe9,
+    0xe9,0xe9,0xe9,0xe8,0xe8,0xe8,0xe8,0xe7,
+    0xe7,0xe7,0xe7,0xe6,0xe6,0xe6,0xe6,0xe5,
+    0xe5,0xe5,0xe5,0xe4,0xe4,0xe4,0xe4,0xe3,
+    0xe3,0xe3,0xe3,0xe2,0xe2,0xe2,0xe2,0xe1,
+    0xe1,0xe1,0xe1,0xe0,0xe0,0xe0,0xe0,0xdf,
+    0xdf,0xdf,0xdf,0xdf,0xdf,0xdf,0xdf,0xde,
+    0xde,0xde,0xde,0xde,0xde,0xde,0xde,0xdd,
+    0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xdc,
+    0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdc,0xdb,
+    0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xda,
+    0xda,0xda,0xda,0xda,0xda,0xda,0xda,0xd9,
+    0xd9,0xd9,0xd9,0xd9,0xd9,0xd9,0xd9,0xd8,
+    0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xd7,
+    0xd7,0xd7,0xd7,0xd7,0xd7,0xd7,0xd7,0xd6,
+    0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,0xd5,
+    0xd5,0xd5,0xd5,0xd5,0xd5,0xd5,0xd5,0xd4,
+    0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd4,0xd3,
+    0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd3,0xd2,
+    0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,0xd1,
+    0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd0,
+    0xd0,0xd0,0xd0,0xd0,0xd0,0xd0,0xd0,0xcf,
+    0xcf,0xcf,0xcf,0xcf,0xcf,0xcf,0xcf,0xcf,
+    0xcf,0xcf,0xcf,0xcf,0xcf,0xcf,0xcf,0xce,
+    0xce,0xce,0xce,0xce,0xce,0xce,0xce,0xce,
+    0xce,0xce,0xce,0xce,0xce,0xce,0xce,0xcd,
+    0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,
+    0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcc,
+    0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,
+    0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcb,
+    0xcb,0xcb,0xcb,0xcb,0xcb,0xcb,0xcb,0xcb,
+    0xcb,0xcb,0xcb,0xcb,0xcb,0xcb,0xcb,0xca,
+    0xca,0xca,0xca,0xca,0xca,0xca,0xca,0xca,
+    0xca,0xca,0xca,0xca,0xca,0xca,0xca,0xc9,
+    0xc9,0xc9,0xc9,0xc9,0xc9,0xc9,0xc9,0xc9,
+    0xc9,0xc9,0xc9,0xc9,0xc9,0xc9,0xc9,0xc8,
+    0xc8,0xc8,0xc8,0xc8,0xc8,0xc8,0xc8,0xc8,
+    0xc8,0xc8,0xc8,0xc8,0xc8,0xc8,0xc8,0xc7,
+    0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,
+    0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc7,0xc6,
+    0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
+    0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc5,
+    0xc5,0xc5,0xc5,0xc5,0xc5,0xc5,0xc5,0xc5,
+    0xc5,0xc5,0xc5,0xc5,0xc5,0xc5,0xc5,0xc4,
+    0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+    0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc3,
+    0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
+    0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc2,
+    0xc2,0xc2,0xc2,0xc2,0xc2,0xc2,0xc2,0xc2,
+    0xc2,0xc2,0xc2,0xc2,0xc2,0xc2,0xc2,0xc1,
+    0xc1,0xc1,0xc1,0xc1,0xc1,0xc1,0xc1,0xc1,
+    0xc1,0xc1,0xc1,0xc1,0xc1,0xc1,0xc1,0xc0,
+    0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+    0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xbf,
+    0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,
+    0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,
+    0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,
+    0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbe,
+    0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,
+    0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,
+    0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,
+    0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbe,0xbd,
+    0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,
+    0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,
+    0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,
+    0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbc,
+    0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,
+    0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,
+    0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,
+    0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbc,0xbb,
+    0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,
+    0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,
+    0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,
+    0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xbb,0xba,
+    0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,
+    0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,
+    0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,
+    0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xb9,
+    0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,
+    0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,
+    0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,
+    0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb9,0xb8,
+    0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,
+    0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,
+    0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,
+    0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,0xb7,
+    0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,
+    0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,
+    0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,
+    0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb6,
+    0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,
+    0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,
+    0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,
+    0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb5,
+    0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,
+    0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,
+    0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,
+    0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb5,0xb4,
+    0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,
+    0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,
+    0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,
+    0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb3,
+    0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,
+    0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,
+    0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,
+    0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb3,0xb2,
+    0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
+    0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
+    0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
+    0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb1,
+    0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+    0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+    0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+    0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb0,
+    0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,
+    0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,
+    0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,
+    0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xb0,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,
+    0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xaf,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
+    0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,
+    0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,
+    0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xab,
+    0xab,0xab,0xab,0xab,0xab,0xab,0xab,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
+    0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,
+    0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+    0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,
+    0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa7,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,
+    0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa6,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+    0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,
+    0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,
+    0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa3,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,
+    0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
+    0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,
+    0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
+    0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,
+    0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9e,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,
+    0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9d,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,
+    0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9c,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
+    0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
+    0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+    0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+    0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+    0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+    0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+    0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+    0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+    0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+    0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+    0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
+    0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
+    0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+    0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,
+    0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,
+    0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8b,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
+    0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+    0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+    0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+    0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+    0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+    0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+    0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+    0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+    0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+    0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+    0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+    0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+    0x02,0x02,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+    0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+    0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+    0x05,0x05,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+    0x06,0x06,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+    0x07,0x07,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+    0x08,0x08,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+    0x09,0x09,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
+    0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
+    0x0b,0x0b,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
+    0x0c,0x0c,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
+    0x0d,0x0d,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
+    0x0e,0x0e,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
+    0x0f,0x0f,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+    0x10,0x10,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+    0x11,0x11,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+    0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+    0x13,0x13,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+    0x14,0x14,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+    0x15,0x15,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+    0x16,0x16,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+    0x17,0x17,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+    0x18,0x18,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+    0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+    0x1a,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+    0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,
+    0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,
+    0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
+    0x1e,0x1e,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,
+    0x1f,0x1f,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+    0x20,0x20,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+    0x21,0x21,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+    0x22,0x22,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+    0x23,0x23,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+    0x24,0x24,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+    0x25,0x25,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+    0x26,0x26,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+    0x27,0x27,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+    0x28,0x28,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+    0x29,0x29,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
+    0x2a,0x2a,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,0x2b,
+    0x2b,0x2b,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,0x2c,
+    0x2c,0x2c,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
+    0x2d,0x2d,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
+    0x2e,0x2e,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,
+    0x2f,0x2f,0x30,0x30,0x30,0x30,0x30,0x30,
+    0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+    0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+    0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+    0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,
+    0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+    0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+    0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+    0x31,0x31,0x32,0x32,0x32,0x32,0x32,0x32,
+    0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+    0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+    0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+    0x32,0x32,0x33,0x33,0x33,0x33,0x33,0x33,
+    0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+    0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+    0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+    0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,
+    0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+    0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+    0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+    0x34,0x34,0x35,0x35,0x35,0x35,0x35,0x35,
+    0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+    0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+    0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+    0x35,0x35,0x36,0x36,0x36,0x36,0x36,0x36,
+    0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+    0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+    0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+    0x36,0x36,0x37,0x37,0x37,0x37,0x37,0x37,
+    0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+    0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+    0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+    0x37,0x37,0x38,0x38,0x38,0x38,0x38,0x38,
+    0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+    0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+    0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+    0x38,0x38,0x39,0x39,0x39,0x39,0x39,0x39,
+    0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+    0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+    0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+    0x39,0x39,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,
+    0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,
+    0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,
+    0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,0x3a,
+    0x3a,0x3a,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,
+    0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,
+    0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,
+    0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,0x3b,
+    0x3b,0x3b,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,
+    0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,
+    0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,
+    0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,
+    0x3c,0x3c,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,
+    0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,
+    0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,
+    0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,
+    0x3d,0x3d,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,
+    0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,
+    0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,
+    0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,
+    0x3e,0x3e,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
+    0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
+    0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
+    0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
+    0x3f,0x3f,0x40,0x40,0x40,0x40,0x40,0x40,
+    0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+    0x40,0x40,0x41,0x41,0x41,0x41,0x41,0x41,
+    0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
+    0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x42,
+    0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,
+    0x42,0x42,0x43,0x43,0x43,0x43,0x43,0x43,
+    0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,
+    0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,
+    0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+    0x44,0x44,0x45,0x45,0x45,0x45,0x45,0x45,
+    0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,
+    0x45,0x45,0x46,0x46,0x46,0x46,0x46,0x46,
+    0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,
+    0x46,0x46,0x47,0x47,0x47,0x47,0x47,0x47,
+    0x47,0x47,0x47,0x47,0x47,0x47,0x47,0x47,
+    0x47,0x47,0x48,0x48,0x48,0x48,0x48,0x48,
+    0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,
+    0x48,0x48,0x49,0x49,0x49,0x49,0x49,0x49,
+    0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
+    0x49,0x49,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,
+    0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,
+    0x4a,0x4a,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,
+    0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,
+    0x4b,0x4b,0x4c,0x4c,0x4c,0x4c,0x4c,0x4c,
+    0x4c,0x4c,0x4c,0x4c,0x4c,0x4c,0x4c,0x4c,
+    0x4c,0x4c,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
+    0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
+    0x4d,0x4d,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,
+    0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,
+    0x4e,0x4e,0x4f,0x4f,0x4f,0x4f,0x4f,0x4f,
+    0x4f,0x4f,0x4f,0x4f,0x4f,0x4f,0x4f,0x4f,
+    0x4f,0x4f,0x50,0x50,0x50,0x50,0x50,0x50,
+    0x50,0x50,0x51,0x51,0x51,0x51,0x51,0x51,
+    0x51,0x51,0x52,0x52,0x52,0x52,0x52,0x52,
+    0x52,0x52,0x53,0x53,0x53,0x53,0x53,0x53,
+    0x53,0x53,0x54,0x54,0x54,0x54,0x54,0x54,
+    0x54,0x54,0x55,0x55,0x55,0x55,0x55,0x55,
+    0x55,0x55,0x56,0x56,0x56,0x56,0x56,0x56,
+    0x56,0x56,0x57,0x57,0x57,0x57,0x57,0x57,
+    0x57,0x57,0x58,0x58,0x58,0x58,0x58,0x58,
+    0x58,0x58,0x59,0x59,0x59,0x59,0x59,0x59,
+    0x59,0x59,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,
+    0x5a,0x5a,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,
+    0x5b,0x5b,0x5c,0x5c,0x5c,0x5c,0x5c,0x5c,
+    0x5c,0x5c,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,
+    0x5d,0x5d,0x5e,0x5e,0x5e,0x5e,0x5e,0x5e,
+    0x5e,0x5e,0x5f,0x5f,0x5f,0x5f,0x5f,0x5f,
+    0x5f,0x5f,0x60,0x60,0x60,0x60,0x61,0x61,
+    0x61,0x61,0x62,0x62,0x62,0x62,0x63,0x63,
+    0x63,0x63,0x64,0x64,0x64,0x64,0x65,0x65,
+    0x65,0x65,0x66,0x66,0x66,0x66,0x67,0x67,
+    0x67,0x67,0x68,0x68,0x68,0x68,0x69,0x69,
+    0x69,0x69,0x6a,0x6a,0x6a,0x6a,0x6b,0x6b,
+    0x6b,0x6b,0x6c,0x6c,0x6c,0x6c,0x6d,0x6d,
+    0x6d,0x6d,0x6e,0x6e,0x6e,0x6e,0x6f,0x6f,
+    0x6f,0x6f,0x70,0x70,0x71,0x71,0x72,0x72,
+    0x73,0x73,0x74,0x74,0x75,0x75,0x76,0x76,
+    0x77,0x77,0x78,0x78,0x79,0x79,0x7a,0x7a,
+    0x7b,0x7b,0x7c,0x7c,0x7d,0x7d,0x7e,0x7e
+};
+
+
+const pj_uint8_t pjmedia_linear2alaw_tab[16384] = 
+{
+     0xD5,0xD5,0xD5,0xD5,0xD4,0xD4,0xD4,0xD4,
+     0xD7,0xD7,0xD7,0xD7,0xD6,0xD6,0xD6,0xD6,
+     0xD1,0xD1,0xD1,0xD1,0xD0,0xD0,0xD0,0xD0,
+     0xD3,0xD3,0xD3,0xD3,0xD2,0xD2,0xD2,0xD2,
+     0xDD,0xDD,0xDD,0xDD,0xDC,0xDC,0xDC,0xDC,
+     0xDF,0xDF,0xDF,0xDF,0xDE,0xDE,0xDE,0xDE,
+     0xD9,0xD9,0xD9,0xD9,0xD8,0xD8,0xD8,0xD8,
+     0xDB,0xDB,0xDB,0xDB,0xDA,0xDA,0xDA,0xDA,
+     0xC5,0xC5,0xC5,0xC5,0xC4,0xC4,0xC4,0xC4,
+     0xC7,0xC7,0xC7,0xC7,0xC6,0xC6,0xC6,0xC6,
+     0xC1,0xC1,0xC1,0xC1,0xC0,0xC0,0xC0,0xC0,
+     0xC3,0xC3,0xC3,0xC3,0xC2,0xC2,0xC2,0xC2,
+     0xCD,0xCD,0xCD,0xCD,0xCC,0xCC,0xCC,0xCC,
+     0xCF,0xCF,0xCF,0xCF,0xCE,0xCE,0xCE,0xCE,
+     0xC9,0xC9,0xC9,0xC9,0xC8,0xC8,0xC8,0xC8,
+     0xCB,0xCB,0xCB,0xCB,0xCA,0xCA,0xCA,0xCA,
+     0xF5,0xF5,0xF5,0xF5,0xF5,0xF5,0xF5,0xF5,
+     0xF4,0xF4,0xF4,0xF4,0xF4,0xF4,0xF4,0xF4,
+     0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,
+     0xF6,0xF6,0xF6,0xF6,0xF6,0xF6,0xF6,0xF6,
+     0xF1,0xF1,0xF1,0xF1,0xF1,0xF1,0xF1,0xF1,
+     0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,
+     0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,0xF3,
+     0xF2,0xF2,0xF2,0xF2,0xF2,0xF2,0xF2,0xF2,
+     0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,
+     0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,
+     0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
+     0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,
+     0xF9,0xF9,0xF9,0xF9,0xF9,0xF9,0xF9,0xF9,
+     0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,
+     0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,
+     0xFA,0xFA,0xFA,0xFA,0xFA,0xFA,0xFA,0xFA,
+     0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,
+     0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,0xE5,
+     0xE4,0xE4,0xE4,0xE4,0xE4,0xE4,0xE4,0xE4,
+     0xE4,0xE4,0xE4,0xE4,0xE4,0xE4,0xE4,0xE4,
+     0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,
+     0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,
+     0xE6,0xE6,0xE6,0xE6,0xE6,0xE6,0xE6,0xE6,
+     0xE6,0xE6,0xE6,0xE6,0xE6,0xE6,0xE6,0xE6,
+     0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,
+     0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,0xE1,
+     0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,
+     0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,
+     0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,
+     0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,0xE3,
+     0xE2,0xE2,0xE2,0xE2,0xE2,0xE2,0xE2,0xE2,
+     0xE2,0xE2,0xE2,0xE2,0xE2,0xE2,0xE2,0xE2,
+     0xED,0xED,0xED,0xED,0xED,0xED,0xED,0xED,
+     0xED,0xED,0xED,0xED,0xED,0xED,0xED,0xED,
+     0xEC,0xEC,0xEC,0xEC,0xEC,0xEC,0xEC,0xEC,
+     0xEC,0xEC,0xEC,0xEC,0xEC,0xEC,0xEC,0xEC,
+     0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,
+     0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,
+     0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,
+     0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,
+     0xE9,0xE9,0xE9,0xE9,0xE9,0xE9,0xE9,0xE9,
+     0xE9,0xE9,0xE9,0xE9,0xE9,0xE9,0xE9,0xE9,
+     0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,
+     0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,
+     0xEB,0xEB,0xEB,0xEB,0xEB,0xEB,0xEB,0xEB,
+     0xEB,0xEB,0xEB,0xEB,0xEB,0xEB,0xEB,0xEB,
+     0xEA,0xEA,0xEA,0xEA,0xEA,0xEA,0xEA,0xEA,
+     0xEA,0xEA,0xEA,0xEA,0xEA,0xEA,0xEA,0xEA,
+     0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+     0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+     0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+     0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,
+     0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+     0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+     0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+     0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x94,
+     0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+     0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+     0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+     0x97,0x97,0x97,0x97,0x97,0x97,0x97,0x97,
+     0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+     0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+     0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+     0x96,0x96,0x96,0x96,0x96,0x96,0x96,0x96,
+     0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+     0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+     0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+     0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
+     0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+     0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+     0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+     0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+     0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+     0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+     0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+     0x93,0x93,0x93,0x93,0x93,0x93,0x93,0x93,
+     0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+     0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+     0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+     0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
+     0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,
+     0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,
+     0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,
+     0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,
+     0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,
+     0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,
+     0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,
+     0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,0x9C,
+     0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,
+     0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,
+     0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,
+     0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,
+     0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,
+     0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,
+     0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,
+     0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,0x9E,
+     0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+     0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+     0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+     0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+     0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+     0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+     0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+     0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
+     0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,
+     0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,
+     0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,
+     0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,0x9B,
+     0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,
+     0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,
+     0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,
+     0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,0x9A,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x85,0x85,0x85,0x85,0x85,0x85,0x85,0x85,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,0x8D,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,0x8B,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,0x8A,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,0xB5,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,0xB4,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,0xB6,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,0xB1,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,0xB0,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,0xB3,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,0xB2,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,0xB9,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,0xB8,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,0xBA,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,0xA5,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,0xAD,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,0xAC,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,0xAF,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,0xAE,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,0xA9,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+     0x2A,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,
+     0x2B,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,
+     0x28,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x29,0x29,0x29,0x29,0x29,0x29,0x29,
+     0x29,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,
+     0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,
+     0x2F,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,0x2C,
+     0x2C,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
+     0x2D,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
+     0x22,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
+     0x23,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+     0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+     0x21,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26,
+     0x26,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,
+     0x27,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
+     0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,
+     0x25,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,
+     0x3A,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,
+     0x3B,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
+     0x38,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
+     0x39,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,
+     0x3E,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
+     0x3F,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,0x3C,
+     0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,0x3D,
+     0x3D,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x32,
+     0x32,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+     0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+     0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
+     0x31,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+     0x36,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x37,0x37,0x37,0x37,0x37,0x37,0x37,
+     0x37,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,
+     0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,
+     0x35,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
+     0x0A,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
+     0x0B,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+     0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
+     0x09,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
+     0x0E,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
+     0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
+     0x0C,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
+     0x0D,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+     0x02,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
+     0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+     0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+     0x01,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
+     0x06,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+     0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
+     0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
+     0x05,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,
+     0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,
+     0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,
+     0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,
+     0x1A,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,
+     0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,
+     0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,
+     0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,
+     0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+     0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+     0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+     0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+     0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+     0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+     0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+     0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+     0x19,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,
+     0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,
+     0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,
+     0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,
+     0x1E,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
+     0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
+     0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
+     0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
+     0x1F,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+     0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+     0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+     0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
+     0x1C,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
+     0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
+     0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
+     0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
+     0x1D,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+     0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+     0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+     0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+     0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+     0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+     0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+     0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
+     0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+     0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+     0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+     0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+     0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+     0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+     0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+     0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+     0x11,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+     0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+     0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+     0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
+     0x16,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+     0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+     0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+     0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+     0x17,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+     0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+     0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+     0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
+     0x14,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+     0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+     0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+     0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
+     0x15,0x6A,0x6A,0x6A,0x6A,0x6A,0x6A,0x6A,
+     0x6A,0x6A,0x6A,0x6A,0x6A,0x6A,0x6A,0x6A,
+     0x6A,0x6B,0x6B,0x6B,0x6B,0x6B,0x6B,0x6B,
+     0x6B,0x6B,0x6B,0x6B,0x6B,0x6B,0x6B,0x6B,
+     0x6B,0x68,0x68,0x68,0x68,0x68,0x68,0x68,
+     0x68,0x68,0x68,0x68,0x68,0x68,0x68,0x68,
+     0x68,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
+     0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
+     0x69,0x6E,0x6E,0x6E,0x6E,0x6E,0x6E,0x6E,
+     0x6E,0x6E,0x6E,0x6E,0x6E,0x6E,0x6E,0x6E,
+     0x6E,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,
+     0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,
+     0x6F,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,
+     0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,
+     0x6C,0x6D,0x6D,0x6D,0x6D,0x6D,0x6D,0x6D,
+     0x6D,0x6D,0x6D,0x6D,0x6D,0x6D,0x6D,0x6D,
+     0x6D,0x62,0x62,0x62,0x62,0x62,0x62,0x62,
+     0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,
+     0x62,0x63,0x63,0x63,0x63,0x63,0x63,0x63,
+     0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,
+     0x63,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+     0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+     0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
+     0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,
+     0x61,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
+     0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
+     0x66,0x67,0x67,0x67,0x67,0x67,0x67,0x67,
+     0x67,0x67,0x67,0x67,0x67,0x67,0x67,0x67,
+     0x67,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
+     0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
+     0x64,0x65,0x65,0x65,0x65,0x65,0x65,0x65,
+     0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,
+     0x65,0x7A,0x7A,0x7A,0x7A,0x7A,0x7A,0x7A,
+     0x7A,0x7B,0x7B,0x7B,0x7B,0x7B,0x7B,0x7B,
+     0x7B,0x78,0x78,0x78,0x78,0x78,0x78,0x78,
+     0x78,0x79,0x79,0x79,0x79,0x79,0x79,0x79,
+     0x79,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,
+     0x7E,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,
+     0x7F,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,
+     0x7C,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,
+     0x7D,0x72,0x72,0x72,0x72,0x72,0x72,0x72,
+     0x72,0x73,0x73,0x73,0x73,0x73,0x73,0x73,
+     0x73,0x70,0x70,0x70,0x70,0x70,0x70,0x70,
+     0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,
+     0x71,0x76,0x76,0x76,0x76,0x76,0x76,0x76,
+     0x76,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+     0x77,0x74,0x74,0x74,0x74,0x74,0x74,0x74,
+     0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,
+     0x75,0x4A,0x4A,0x4A,0x4A,0x4B,0x4B,0x4B,
+     0x4B,0x48,0x48,0x48,0x48,0x49,0x49,0x49,
+     0x49,0x4E,0x4E,0x4E,0x4E,0x4F,0x4F,0x4F,
+     0x4F,0x4C,0x4C,0x4C,0x4C,0x4D,0x4D,0x4D,
+     0x4D,0x42,0x42,0x42,0x42,0x43,0x43,0x43,
+     0x43,0x40,0x40,0x40,0x40,0x41,0x41,0x41,
+     0x41,0x46,0x46,0x46,0x46,0x47,0x47,0x47,
+     0x47,0x44,0x44,0x44,0x44,0x45,0x45,0x45,
+     0x45,0x5A,0x5A,0x5A,0x5A,0x5B,0x5B,0x5B,
+     0x5B,0x58,0x58,0x58,0x58,0x59,0x59,0x59,
+     0x59,0x5E,0x5E,0x5E,0x5E,0x5F,0x5F,0x5F,
+     0x5F,0x5C,0x5C,0x5C,0x5C,0x5D,0x5D,0x5D,
+     0x5D,0x52,0x52,0x52,0x52,0x53,0x53,0x53,
+     0x53,0x50,0x50,0x50,0x50,0x51,0x51,0x51,
+     0x51,0x56,0x56,0x56,0x56,0x57,0x57,0x57,
+     0x57,0x54,0x54,0x54,0x54,0x55,0x55,0x55
+};
+
+const pj_int16_t pjmedia_ulaw2linear_tab[256] = 
+{
+   -32124,-31100,-30076,-29052,-28028,-27004,-25980,-24956,
+   -23932,-22908,-21884,-20860,-19836,-18812,-17788,-16764,
+   -15996,-15484,-14972,-14460,-13948,-13436,-12924,-12412,
+   -11900,-11388,-10876,-10364, -9852, -9340, -8828, -8316,
+    -7932, -7676, -7420, -7164, -6908, -6652, -6396, -6140,
+    -5884, -5628, -5372, -5116, -4860, -4604, -4348, -4092,
+    -3900, -3772, -3644, -3516, -3388, -3260, -3132, -3004,
+    -2876, -2748, -2620, -2492, -2364, -2236, -2108, -1980,
+    -1884, -1820, -1756, -1692, -1628, -1564, -1500, -1436,
+    -1372, -1308, -1244, -1180, -1116, -1052,  -988,  -924,
+     -876,  -844,  -812,  -780,  -748,  -716,  -684,  -652,
+     -620,  -588,  -556,  -524,  -492,  -460,  -428,  -396,
+     -372,  -356,  -340,  -324,  -308,  -292,  -276,  -260,
+     -244,  -228,  -212,  -196,  -180,  -164,  -148,  -132,
+     -120,  -112,  -104,   -96,   -88,   -80,   -72,   -64,
+      -56,   -48,   -40,   -32,   -24,   -16,    -8,     0,
+    32124, 31100, 30076, 29052, 28028, 27004, 25980, 24956,
+    23932, 22908, 21884, 20860, 19836, 18812, 17788, 16764,
+    15996, 15484, 14972, 14460, 13948, 13436, 12924, 12412,
+    11900, 11388, 10876, 10364,  9852,  9340,  8828,  8316,
+     7932,  7676,  7420,  7164,  6908,  6652,  6396,  6140,
+     5884,  5628,  5372,  5116,  4860,  4604,  4348,  4092,
+     3900,  3772,  3644,  3516,  3388,  3260,  3132,  3004,
+     2876,  2748,  2620,  2492,  2364,  2236,  2108,  1980,
+     1884,  1820,  1756,  1692,  1628,  1564,  1500,  1436,
+     1372,  1308,  1244,  1180,  1116,  1052,   988,   924,
+      876,   844,   812,   780,   748,   716,   684,   652,
+      620,   588,   556,   524,   492,   460,   428,   396,
+      372,   356,   340,   324,   308,   292,   276,   260,
+      244,   228,   212,   196,   180,   164,   148,   132,
+      120,   112,   104,    96,    88,    80,    72,    64,
+       56,    48,    40,    32,    24,    16,     8,     0
+};
+
+const pj_int16_t pjmedia_alaw2linear_tab[256] = 
+{
+      -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736,
+      -7552, -7296, -8064, -7808, -6528, -6272, -7040, -6784,
+      -2752, -2624, -3008, -2880, -2240, -2112, -2496, -2368,
+      -3776, -3648, -4032, -3904, -3264, -3136, -3520, -3392,
+     -22016,-20992,-24064,-23040,-17920,-16896,-19968,-18944,
+     -30208,-29184,-32256,-31232,-26112,-25088,-28160,-27136,
+     -11008,-10496,-12032,-11520, -8960, -8448, -9984, -9472,
+     -15104,-14592,-16128,-15616,-13056,-12544,-14080,-13568,
+       -344,  -328,  -376,  -360,  -280,  -264,  -312,  -296,
+       -472,  -456,  -504,  -488,  -408,  -392,  -440,  -424,
+	-88,   -72,  -120,  -104,   -24,    -8,   -56,   -40,
+       -216,  -200,  -248,  -232,  -152,  -136,  -184,  -168,
+      -1376, -1312, -1504, -1440, -1120, -1056, -1248, -1184,
+      -1888, -1824, -2016, -1952, -1632, -1568, -1760, -1696,
+       -688,  -656,  -752,  -720,  -560,  -528,  -624,  -592,
+       -944,  -912, -1008,  -976,  -816,  -784,  -880,  -848,
+       5504,  5248,  6016,  5760,  4480,  4224,  4992,  4736,
+       7552,  7296,  8064,  7808,  6528,  6272,  7040,  6784,
+       2752,  2624,  3008,  2880,  2240,  2112,  2496,  2368,
+       3776,  3648,  4032,  3904,  3264,  3136,  3520,  3392,
+      22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944,
+      30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136,
+      11008, 10496, 12032, 11520,  8960,  8448,  9984,  9472,
+      15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568,
+	344,   328,   376,   360,   280,   264,   312,   296,
+	472,   456,   504,   488,   408,   392,   440,   424,
+	 88,    72,   120,   104,    24,     8,    56,    40,
+	216,   200,   248,   232,   152,   136,   184,   168,
+       1376,  1312,  1504,  1440,  1120,  1056,  1248,  1184,
+       1888,  1824,  2016,  1952,  1632,  1568,  1760,  1696,
+	688,   656,   752,   720,   560,   528,   624,   592,
+	944,   912,  1008,   976,   816,   784,   880,   848
+};
+
+#endif
+
diff --git a/jni/pjproject-android/.svn/pristine/54/5471548c4a4166ddfcc490ee3f4c46ee3fd54bc3.svn-base b/jni/pjproject-android/.svn/pristine/54/5471548c4a4166ddfcc490ee3f4c46ee3fd54bc3.svn-base
new file mode 100644
index 0000000..0fb07e7
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/5471548c4a4166ddfcc490ee3f4c46ee3fd54bc3.svn-base
@@ -0,0 +1,908 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * 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 <pjsip-ua/sip_100rel.h>
+#include <pjsip/sip_endpoint.h>
+#include <pjsip/sip_event.h>
+#include <pjsip/sip_module.h>
+#include <pjsip/sip_transaction.h>
+#include <pj/assert.h>
+#include <pj/ctype.h>
+#include <pj/log.h>
+#include <pj/os.h>
+#include <pj/pool.h>
+#include <pj/rand.h>
+#include <pj/string.h>
+
+#define THIS_FILE	"sip_100rel.c"
+
+/* PRACK method */
+PJ_DEF_DATA(const pjsip_method) pjsip_prack_method =
+{
+    PJSIP_OTHER_METHOD,
+    { "PRACK", 5 }
+};
+
+typedef struct dlg_data dlg_data;
+
+/*
+ * Static prototypes.
+ */
+static pj_status_t mod_100rel_load(pjsip_endpoint *endpt);
+
+static void on_retransmit(pj_timer_heap_t *timer_heap,
+			  struct pj_timer_entry *entry);
+
+
+const pj_str_t tag_100rel = { "100rel", 6 };
+const pj_str_t RSEQ = { "RSeq", 4 };
+const pj_str_t RACK = { "RAck", 4 };
+
+
+/* 100rel module */
+static struct mod_100rel
+{
+    pjsip_module	 mod;
+    pjsip_endpoint	*endpt;
+} mod_100rel = 
+{
+    {
+	NULL, NULL,			    /* prev, next.		*/
+	{ "mod-100rel", 10 },		    /* Name.			*/
+	-1,				    /* Id			*/
+	PJSIP_MOD_PRIORITY_DIALOG_USAGE,    /* Priority			*/
+	&mod_100rel_load,		    /* load()			*/
+	NULL,				    /* start()			*/
+	NULL,				    /* stop()			*/
+	NULL,				    /* unload()			*/
+	NULL,				    /* on_rx_request()		*/
+	NULL,				    /* on_rx_response()		*/
+	NULL,				    /* on_tx_request.		*/
+	NULL,				    /* on_tx_response()		*/
+	NULL,				    /* on_tsx_state()		*/
+    }
+
+};
+
+/* List of pending transmission (may include the final response as well) */
+typedef struct tx_data_list_t
+{
+	PJ_DECL_LIST_MEMBER(struct tx_data_list_t);
+	pj_uint32_t	 rseq;
+	pjsip_tx_data	*tdata;
+} tx_data_list_t;
+
+
+/* Below, UAS and UAC roles are of the INVITE transaction */
+
+/* UAS state. */
+typedef struct uas_state_t
+{
+	pj_int32_t	 cseq;
+	pj_uint32_t	 rseq;	/* Initialized to -1 */
+	tx_data_list_t	 tx_data_list;
+	unsigned	 retransmit_count;
+	pj_timer_entry	 retransmit_timer;
+} uas_state_t;
+
+
+/* UAC state */
+typedef struct uac_state_t
+{
+    pj_str_t		tag;	/* To tag	     	*/
+    pj_int32_t		cseq;
+    pj_uint32_t		rseq;	/* Initialized to -1 	*/
+    struct uac_state_t *next;	/* next call leg	*/
+} uac_state_t;
+
+
+/* State attached to each dialog. */
+struct dlg_data
+{
+	pjsip_inv_session	*inv;
+	uas_state_t		*uas_state;
+	uac_state_t		*uac_state_list;
+};
+
+
+/*****************************************************************************
+ **
+ ** Module
+ **
+ *****************************************************************************
+ */
+static pj_status_t mod_100rel_load(pjsip_endpoint *endpt)
+{
+    mod_100rel.endpt = endpt;
+    pjsip_endpt_add_capability(endpt, &mod_100rel.mod, 
+			       PJSIP_H_ALLOW, NULL,
+			       1, &pjsip_prack_method.name);
+    pjsip_endpt_add_capability(endpt, &mod_100rel.mod, 
+			       PJSIP_H_SUPPORTED, NULL,
+			       1, &tag_100rel);
+
+    return PJ_SUCCESS;
+}
+
+static pjsip_require_hdr *find_req_hdr(pjsip_msg *msg)
+{
+    pjsip_require_hdr *hreq;
+
+    hreq = (pjsip_require_hdr*)
+	    pjsip_msg_find_hdr(msg, PJSIP_H_REQUIRE, NULL);
+
+    while (hreq) {
+	unsigned i;
+	for (i=0; i<hreq->count; ++i) {
+	    if (!pj_stricmp(&hreq->values[i], &tag_100rel)) {
+		return hreq;
+	    }
+	}
+
+	if ((void*)hreq->next == (void*)&msg->hdr)
+	    return NULL;
+
+	hreq = (pjsip_require_hdr*)
+		pjsip_msg_find_hdr(msg, PJSIP_H_REQUIRE, hreq->next);
+
+    }
+
+    return NULL;
+}
+
+
+/*
+ * Get PRACK method constant. 
+ */
+PJ_DEF(const pjsip_method*) pjsip_get_prack_method(void)
+{
+    return &pjsip_prack_method;
+}
+
+
+/*
+ * init module
+ */
+PJ_DEF(pj_status_t) pjsip_100rel_init_module(pjsip_endpoint *endpt)
+{
+    if (mod_100rel.mod.id != -1)
+	return PJ_SUCCESS;
+
+    return pjsip_endpt_register_module(endpt, &mod_100rel.mod);
+}
+
+
+/*
+ * API: attach 100rel support in invite session. Called by
+ *      sip_inv.c
+ */
+PJ_DEF(pj_status_t) pjsip_100rel_attach(pjsip_inv_session *inv)
+{
+    dlg_data *dd;
+
+    /* Check that 100rel module has been initialized */
+    PJ_ASSERT_RETURN(mod_100rel.mod.id >= 0, PJ_EINVALIDOP);
+
+    /* Create and attach as dialog usage */
+    dd = PJ_POOL_ZALLOC_T(inv->dlg->pool, dlg_data);
+    dd->inv = inv;
+    pjsip_dlg_add_usage(inv->dlg, &mod_100rel.mod, (void*)dd);
+
+    PJ_LOG(5,(dd->inv->dlg->obj_name, "100rel module attached"));
+
+    return PJ_SUCCESS;
+}
+
+
+/*
+ * Check if incoming response has reliable provisional response feature.
+ */
+PJ_DEF(pj_bool_t) pjsip_100rel_is_reliable(pjsip_rx_data *rdata)
+{
+    pjsip_msg *msg = rdata->msg_info.msg;
+
+    PJ_ASSERT_RETURN(msg->type == PJSIP_RESPONSE_MSG, PJ_FALSE);
+
+    return msg->line.status.code > 100 && msg->line.status.code < 200 &&
+	   rdata->msg_info.require != NULL &&
+	   find_req_hdr(msg) != NULL;
+}
+
+
+/*
+ * Create PRACK request for the incoming reliable provisional response.
+ */
+PJ_DEF(pj_status_t) pjsip_100rel_create_prack( pjsip_inv_session *inv,
+					       pjsip_rx_data *rdata,
+					       pjsip_tx_data **p_tdata)
+{
+    dlg_data *dd;
+    uac_state_t *uac_state = NULL;
+    const pj_str_t *to_tag = &rdata->msg_info.to->tag;
+    pjsip_transaction *tsx;
+    pjsip_msg *msg;
+    pjsip_generic_string_hdr *rseq_hdr;
+    pjsip_generic_string_hdr *rack_hdr;
+    unsigned rseq;
+    pj_str_t rack;
+    char rack_buf[80];
+    pjsip_tx_data *tdata;
+    pj_status_t status;
+
+    *p_tdata = NULL;
+
+    dd = (dlg_data*) inv->dlg->mod_data[mod_100rel.mod.id];
+    PJ_ASSERT_RETURN(dd != NULL, PJSIP_ENOTINITIALIZED);
+
+    tsx = pjsip_rdata_get_tsx(rdata);
+    msg = rdata->msg_info.msg;
+
+    /* Check our assumptions */
+    pj_assert( tsx->role == PJSIP_ROLE_UAC &&
+	       tsx->method.id == PJSIP_INVITE_METHOD &&
+	       msg->line.status.code > 100 &&
+	       msg->line.status.code < 200);
+
+
+    /* Get the RSeq header */
+    rseq_hdr = (pjsip_generic_string_hdr*)
+	       pjsip_msg_find_hdr_by_name(msg, &RSEQ, NULL);
+    if (rseq_hdr == NULL) {
+	PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		 "Ignoring 100rel response with no RSeq header"));
+	return PJSIP_EMISSINGHDR;
+    }
+    rseq = (pj_uint32_t) pj_strtoul(&rseq_hdr->hvalue);
+
+    /* Find UAC state for the specified call leg */
+    uac_state = dd->uac_state_list;
+    while (uac_state) {
+	if (pj_stricmp(&uac_state->tag, to_tag)==0)
+	    break;
+	uac_state = uac_state->next;
+    }
+
+    /* Create new UAC state if we don't have one */
+    if (uac_state == NULL) {
+	uac_state = PJ_POOL_ZALLOC_T(dd->inv->dlg->pool, uac_state_t);
+	uac_state->cseq = rdata->msg_info.cseq->cseq;
+	uac_state->rseq = rseq - 1;
+	pj_strdup(dd->inv->dlg->pool, &uac_state->tag, to_tag);
+	uac_state->next = dd->uac_state_list;
+	dd->uac_state_list = uac_state;
+    }
+
+    /* If this is from new INVITE transaction, reset UAC state. */
+    if (rdata->msg_info.cseq->cseq != uac_state->cseq) {
+	uac_state->cseq = rdata->msg_info.cseq->cseq;
+	uac_state->rseq = rseq - 1;
+    }
+
+    /* Ignore provisional response retransmission */
+    if (rseq <= uac_state->rseq) {
+	/* This should have been handled before */
+	return PJ_EIGNORED;
+
+    /* Ignore provisional response with out-of-order RSeq */
+    } else if (rseq != uac_state->rseq + 1) {
+	PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		 "Ignoring 100rel response because RSeq jump "
+		 "(expecting %u, got %u)",
+		 uac_state->rseq+1, rseq));
+	return PJ_EIGNORED;
+    }
+
+    /* Update our RSeq */
+    uac_state->rseq = rseq;
+
+    /* Create PRACK */
+    status = pjsip_dlg_create_request(dd->inv->dlg, &pjsip_prack_method,
+				      -1, &tdata);
+    if (status != PJ_SUCCESS)
+	return status;
+
+    /* If this response is a forked response from a different call-leg,
+     * update the req URI (https://trac.pjsip.org/repos/ticket/1364)
+     */
+    if (pj_stricmp(&uac_state->tag, &dd->inv->dlg->remote.info->tag)) {
+	const pjsip_contact_hdr *mhdr;
+
+	mhdr = (const pjsip_contact_hdr*)
+	       pjsip_msg_find_hdr(rdata->msg_info.msg,
+	                          PJSIP_H_CONTACT, NULL);
+	if (!mhdr || !mhdr->uri) {
+	    PJ_LOG(4,(dd->inv->dlg->obj_name,
+		     "Ignoring 100rel response with no or "
+		     "invalid Contact header"));
+	    pjsip_tx_data_dec_ref(tdata);
+	    return PJ_EIGNORED;
+	}
+	tdata->msg->line.req.uri = (pjsip_uri*)
+				   pjsip_uri_clone(tdata->pool, mhdr->uri);
+    }
+
+    /* Create RAck header */
+    rack.ptr = rack_buf;
+    rack.slen = pj_ansi_snprintf(rack.ptr, sizeof(rack_buf),
+				 "%u %u %.*s",
+				 rseq, rdata->msg_info.cseq->cseq,
+				 (int)tsx->method.name.slen,
+				 tsx->method.name.ptr);
+    if (rack.slen < 1 || rack.slen >= (int)sizeof(rack_buf)) {
+	return PJ_ETOOSMALL;
+    }
+    rack_hdr = pjsip_generic_string_hdr_create(tdata->pool, &RACK, &rack);
+    pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*) rack_hdr);
+
+    /* Done */
+    *p_tdata = tdata;
+
+    return PJ_SUCCESS;
+}
+
+
+/*
+ * Send PRACK request.
+ */
+PJ_DEF(pj_status_t) pjsip_100rel_send_prack( pjsip_inv_session *inv,
+					     pjsip_tx_data *tdata)
+{
+    dlg_data *dd;
+
+    dd = (dlg_data*) inv->dlg->mod_data[mod_100rel.mod.id];
+    PJ_ASSERT_ON_FAIL(dd != NULL, 
+    {pjsip_tx_data_dec_ref(tdata); return PJSIP_ENOTINITIALIZED; });
+
+    return pjsip_dlg_send_request(inv->dlg, tdata, 
+				  mod_100rel.mod.id, (void*) dd);
+
+}
+
+
+/*
+ * Notify 100rel module that the invite session has been disconnected.
+ */
+PJ_DEF(pj_status_t) pjsip_100rel_end_session(pjsip_inv_session *inv)
+{
+    dlg_data *dd;
+
+    dd = (dlg_data*) inv->dlg->mod_data[mod_100rel.mod.id];
+    if (!dd)
+	return PJ_SUCCESS;
+
+    /* Make sure we don't have pending transmission */
+    if (dd->uas_state) {
+	pj_assert(!dd->uas_state->retransmit_timer.id);
+	pj_assert(pj_list_empty(&dd->uas_state->tx_data_list));
+    }
+
+    return PJ_SUCCESS;
+}
+
+
+static void parse_rack(const pj_str_t *rack,
+		       pj_uint32_t *p_rseq, pj_int32_t *p_seq,
+		       pj_str_t *p_method)
+{
+    const char *p = rack->ptr, *end = p + rack->slen;
+    pj_str_t token;
+
+    token.ptr = (char*)p;
+    while (p < end && pj_isdigit(*p))
+	++p;
+    token.slen = p - token.ptr;
+    *p_rseq = pj_strtoul(&token);
+
+    ++p;
+    token.ptr = (char*)p;
+    while (p < end && pj_isdigit(*p))
+	++p;
+    token.slen = p - token.ptr;
+    *p_seq = pj_strtoul(&token);
+
+    ++p;
+    if (p < end) {
+	p_method->ptr = (char*)p;
+	p_method->slen = end - p;
+    } else {
+	p_method->ptr = NULL;
+	p_method->slen = 0;
+    }
+}
+
+/* Clear all responses in the transmission list */
+static void clear_all_responses(dlg_data *dd)
+{
+    tx_data_list_t *tl;
+
+    tl = dd->uas_state->tx_data_list.next;
+    while (tl != &dd->uas_state->tx_data_list) {
+	pjsip_tx_data_dec_ref(tl->tdata);
+	tl = tl->next;
+    }
+    pj_list_init(&dd->uas_state->tx_data_list);
+}
+
+
+/*
+ * Handle incoming PRACK request.
+ */
+PJ_DEF(pj_status_t) pjsip_100rel_on_rx_prack( pjsip_inv_session *inv,
+					      pjsip_rx_data *rdata)
+{
+    dlg_data *dd;
+    pjsip_transaction *tsx;
+    pjsip_msg *msg;
+    pjsip_generic_string_hdr *rack_hdr;
+    pjsip_tx_data *tdata;
+    pj_uint32_t rseq;
+    pj_int32_t cseq;
+    pj_str_t method;
+    pj_status_t status;
+
+    tsx = pjsip_rdata_get_tsx(rdata);
+    pj_assert(tsx != NULL);
+
+    msg = rdata->msg_info.msg;
+
+    dd = (dlg_data*) inv->dlg->mod_data[mod_100rel.mod.id];
+    if (dd == NULL) {
+	/* UAC sends us PRACK while we didn't send reliable provisional 
+	 * response. Respond with 400 (?) 
+	 */
+	const pj_str_t reason = pj_str("Unexpected PRACK");
+
+	status = pjsip_dlg_create_response(inv->dlg, rdata, 400, 
+					   &reason, &tdata);
+	if (status == PJ_SUCCESS) {
+	    status = pjsip_dlg_send_response(inv->dlg, tsx, tdata);
+	}
+	return PJSIP_ENOTINITIALIZED;
+    }
+
+    /* Always reply with 200/OK for PRACK */
+    status = pjsip_dlg_create_response(inv->dlg, rdata, 200, NULL, &tdata);
+    if (status == PJ_SUCCESS) {
+	status = pjsip_dlg_send_response(inv->dlg, tsx, tdata);
+    }
+
+    /* Ignore if we don't have pending transmission */
+    if (dd->uas_state == NULL || pj_list_empty(&dd->uas_state->tx_data_list)) {
+	PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		  "PRACK ignored - no pending response"));
+	return PJ_EIGNORED;
+    }
+
+    /* Find RAck header */
+    rack_hdr = (pjsip_generic_string_hdr*)
+	       pjsip_msg_find_hdr_by_name(msg, &RACK, NULL);
+    if (!rack_hdr) {
+	/* RAck header not found */
+	PJ_LOG(4,(dd->inv->dlg->obj_name, "No RAck header"));
+	return PJSIP_EMISSINGHDR;
+    }
+
+    /* Parse RAck header */
+    parse_rack(&rack_hdr->hvalue, &rseq, &cseq, &method);
+
+
+    /* Match RAck against outgoing transmission */
+    if (rseq == dd->uas_state->tx_data_list.next->rseq &&
+	cseq == dd->uas_state->cseq)
+    {
+	/* 
+	 * Yes this PRACK matches outgoing transmission.
+	 */
+	tx_data_list_t *tl = dd->uas_state->tx_data_list.next;
+
+	if (dd->uas_state->retransmit_timer.id) {
+	    pjsip_endpt_cancel_timer(dd->inv->dlg->endpt,
+				     &dd->uas_state->retransmit_timer);
+	    dd->uas_state->retransmit_timer.id = PJ_FALSE;
+	}
+
+	/* Remove from the list */
+	if (tl != &dd->uas_state->tx_data_list) {
+	    pj_list_erase(tl);
+
+	    /* Destroy the response */
+	    pjsip_tx_data_dec_ref(tl->tdata);
+	}
+
+	/* Schedule next packet */
+	dd->uas_state->retransmit_count = 0;
+	if (!pj_list_empty(&dd->uas_state->tx_data_list)) {
+	    on_retransmit(NULL, &dd->uas_state->retransmit_timer);
+	}
+
+    } else {
+	/* No it doesn't match */
+	PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		 "Rx PRACK with no matching reliable response"));
+	return PJ_EIGNORED;
+    }
+
+    return PJ_SUCCESS;
+}
+
+
+/*
+ * This is retransmit timer callback, called initially to send the response,
+ * and subsequently when the retransmission time elapses.
+ */
+static void on_retransmit(pj_timer_heap_t *timer_heap,
+			  struct pj_timer_entry *entry)
+{
+    dlg_data *dd;
+    tx_data_list_t *tl;
+    pjsip_tx_data *tdata;
+    pj_bool_t final;
+    pj_time_val delay;
+
+    PJ_UNUSED_ARG(timer_heap);
+
+    dd = (dlg_data*) entry->user_data;
+
+    entry->id = PJ_FALSE;
+
+    ++dd->uas_state->retransmit_count;
+    if (dd->uas_state->retransmit_count >= 7) {
+	/* If a reliable provisional response is retransmitted for
+	   64*T1 seconds  without reception of a corresponding PRACK,
+	   the UAS SHOULD reject the original request with a 5xx 
+	   response.
+	*/
+	pj_str_t reason = pj_str("Reliable response timed out");
+	pj_status_t status;
+
+	/* Clear all pending responses */
+	clear_all_responses(dd);
+
+	/* Send 500 response */
+	status = pjsip_inv_end_session(dd->inv, 500, &reason, &tdata);
+	if (status == PJ_SUCCESS) {
+	    pjsip_dlg_send_response(dd->inv->dlg, 
+				    dd->inv->invite_tsx,
+				    tdata);
+	}
+	return;
+    }
+
+    pj_assert(!pj_list_empty(&dd->uas_state->tx_data_list));
+    tl = dd->uas_state->tx_data_list.next;
+    tdata = tl->tdata;
+
+    pjsip_tx_data_add_ref(tdata);
+    final = tdata->msg->line.status.code >= 200;
+
+    if (dd->uas_state->retransmit_count == 1) {
+	pjsip_tsx_send_msg(dd->inv->invite_tsx, tdata);
+    } else {
+	pjsip_tsx_retransmit_no_state(dd->inv->invite_tsx, tdata);
+    }
+
+    if (final) {
+	/* This is final response, which will be retransmitted by
+	 * UA layer. There's no more task to do, so clear the
+	 * transmission list and bail out.
+	 */
+	clear_all_responses(dd);
+	return;
+    }
+
+    /* Schedule next retransmission */
+    if (dd->uas_state->retransmit_count < 6) {
+	delay.sec = 0;
+	delay.msec = (1 << dd->uas_state->retransmit_count) * 
+		     pjsip_cfg()->tsx.t1;
+	pj_time_val_normalize(&delay);
+    } else {
+	delay.sec = 1;
+	delay.msec = 500;
+    }
+
+
+    pjsip_endpt_schedule_timer(dd->inv->dlg->endpt, 
+			       &dd->uas_state->retransmit_timer,
+			       &delay);
+
+    entry->id = PJ_TRUE;
+}
+
+
+/* Clone response. */
+static pjsip_tx_data *clone_tdata(dlg_data *dd,
+				  const pjsip_tx_data *src)
+{
+    pjsip_tx_data *dst;
+    const pjsip_hdr *hsrc;
+    pjsip_msg *msg;
+    pj_status_t status;
+
+    status = pjsip_endpt_create_tdata(dd->inv->dlg->endpt, &dst);
+    if (status != PJ_SUCCESS)
+	return NULL;
+
+    msg = pjsip_msg_create(dst->pool, PJSIP_RESPONSE_MSG);
+    dst->msg = msg;
+    pjsip_tx_data_add_ref(dst);
+
+    /* Duplicate status line */
+    msg->line.status.code = src->msg->line.status.code;
+    pj_strdup(dst->pool, &msg->line.status.reason, 
+	      &src->msg->line.status.reason);
+
+    /* Duplicate all headers */
+    hsrc = src->msg->hdr.next;
+    while (hsrc != &src->msg->hdr) {
+	pjsip_hdr *h = (pjsip_hdr*) pjsip_hdr_clone(dst->pool, hsrc);
+	pjsip_msg_add_hdr(msg, h);
+	hsrc = hsrc->next;
+    }
+
+    /* Duplicate message body */
+    if (src->msg->body)
+	msg->body = pjsip_msg_body_clone(dst->pool, src->msg->body);
+
+    PJ_LOG(5,(dd->inv->dlg->obj_name,
+	     "Reliable response %s created",
+	     pjsip_tx_data_get_info(dst)));
+
+    return dst;
+}
+
+
+/* Check if any pending response in transmission list has SDP */
+static pj_bool_t has_sdp(dlg_data *dd)
+{
+    tx_data_list_t *tl;
+
+    tl = dd->uas_state->tx_data_list.next;
+    while (tl != &dd->uas_state->tx_data_list) {
+	    if (tl->tdata->msg->body)
+		    return PJ_TRUE;
+	    tl = tl->next;
+    }
+
+    return PJ_FALSE;
+}
+
+
+/* Send response reliably */
+PJ_DEF(pj_status_t) pjsip_100rel_tx_response(pjsip_inv_session *inv,
+					     pjsip_tx_data *tdata)
+{
+    pjsip_cseq_hdr *cseq_hdr;
+    pjsip_generic_string_hdr *rseq_hdr;
+    pjsip_require_hdr *req_hdr;
+    int status_code;
+    dlg_data *dd;
+    pjsip_tx_data *old_tdata;
+    pj_status_t status;
+    
+    PJ_ASSERT_RETURN(tdata->msg->type == PJSIP_RESPONSE_MSG,
+		     PJSIP_ENOTRESPONSEMSG);
+    
+    status_code = tdata->msg->line.status.code;
+    
+    /* 100 response doesn't need PRACK */
+    if (status_code == 100)
+	return pjsip_dlg_send_response(inv->dlg, inv->invite_tsx, tdata);
+    
+
+    /* Get the 100rel data attached to this dialog */
+    dd = (dlg_data*) inv->dlg->mod_data[mod_100rel.mod.id];
+    PJ_ASSERT_RETURN(dd != NULL, PJ_EINVALIDOP);
+    
+    
+    /* Clone tdata.
+     * We need to clone tdata because we may need to keep it in our
+     * retransmission list, while the original dialog may modify it
+     * if it wants to send another response.
+     */
+    old_tdata = tdata;
+    tdata = clone_tdata(dd, old_tdata);
+    pjsip_tx_data_dec_ref(old_tdata);
+    
+
+    /* Get CSeq header, and make sure this is INVITE response */
+    cseq_hdr = (pjsip_cseq_hdr*)
+	        pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CSEQ, NULL);
+    PJ_ASSERT_RETURN(cseq_hdr != NULL, PJ_EBUG);
+    PJ_ASSERT_RETURN(cseq_hdr->method.id == PJSIP_INVITE_METHOD, 
+	PJ_EINVALIDOP);
+    
+    /* Remove existing Require header */
+    req_hdr = find_req_hdr(tdata->msg);
+    if (req_hdr) {
+	pj_list_erase(req_hdr);
+    }
+    
+    /* Remove existing RSeq header */
+    rseq_hdr = (pjsip_generic_string_hdr*)
+	pjsip_msg_find_hdr_by_name(tdata->msg, &RSEQ, NULL);
+    if (rseq_hdr)
+	pj_list_erase(rseq_hdr);
+    
+    /* Different treatment for provisional and final response */
+    if (status_code/100 == 2) {
+	
+	/* RFC 3262 Section 3: UAS Behavior:
+    
+	  The UAS MAY send a final response to the initial request 
+	  before having received PRACKs for all unacknowledged 
+	  reliable provisional responses, unless the final response 
+	  is 2xx and any of the unacknowledged reliable provisional 
+	  responses contained a session description.  In that case, 
+	  it MUST NOT send a final response until those provisional 
+	  responses are acknowledged.
+	*/
+	
+	if (dd->uas_state && has_sdp(dd)) {
+	    /* Yes we have transmitted 1xx with SDP reliably.
+	     * In this case, must queue the 2xx response.
+	     */
+	    tx_data_list_t *tl;
+	    
+	    tl = PJ_POOL_ZALLOC_T(tdata->pool, tx_data_list_t);
+	    tl->tdata = tdata;
+	    tl->rseq = (pj_uint32_t)-1;
+	    pj_list_push_back(&dd->uas_state->tx_data_list, tl);
+	    
+	    /* Will send later */
+	    status = PJ_SUCCESS;
+	    
+	    PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		      "2xx response will be sent after PRACK"));
+	    
+	} else if (dd->uas_state) {
+	    /* 
+	    RFC 3262 Section 3: UAS Behavior:
+
+	    If the UAS does send a final response when reliable
+	    responses are still unacknowledged, it SHOULD NOT 
+	    continue to retransmit the unacknowledged reliable
+	    provisional responses, but it MUST be prepared to 
+	    process PRACK requests for those outstanding 
+	    responses.
+	    */
+	    
+	    PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		      "No SDP sent so far, sending 2xx now"));
+	    
+	    /* Cancel the retransmit timer */
+	    if (dd->uas_state->retransmit_timer.id) {
+		pjsip_endpt_cancel_timer(dd->inv->dlg->endpt,
+					 &dd->uas_state->retransmit_timer);
+		dd->uas_state->retransmit_timer.id = PJ_FALSE;
+	    }
+	    
+	    /* Clear all pending responses (drop 'em) */
+	    clear_all_responses(dd);
+	    
+	    /* And transmit the 2xx response */
+	    status=pjsip_dlg_send_response(inv->dlg, 
+					   inv->invite_tsx, tdata);
+	    
+	} else {
+	    /* We didn't send any reliable provisional response */
+	    
+	    /* Transmit the 2xx response */
+	    status=pjsip_dlg_send_response(inv->dlg, 
+					   inv->invite_tsx, tdata);
+	}
+	
+    } else if (status_code >= 300) {
+	
+	/* 
+	RFC 3262 Section 3: UAS Behavior:
+
+	If the UAS does send a final response when reliable
+	responses are still unacknowledged, it SHOULD NOT 
+	continue to retransmit the unacknowledged reliable
+	provisional responses, but it MUST be prepared to 
+	process PRACK requests for those outstanding 
+	responses.
+	*/
+	
+	/* Cancel the retransmit timer */
+	if (dd->uas_state && dd->uas_state->retransmit_timer.id) {
+	    pjsip_endpt_cancel_timer(dd->inv->dlg->endpt,
+				     &dd->uas_state->retransmit_timer);
+	    dd->uas_state->retransmit_timer.id = PJ_FALSE;
+	    
+	    /* Clear all pending responses (drop 'em) */
+	    clear_all_responses(dd);
+	}
+	
+	/* And transmit the 2xx response */
+	status=pjsip_dlg_send_response(inv->dlg, 
+				       inv->invite_tsx, tdata);
+	
+    } else {
+	/*
+	 * This is provisional response.
+	 */
+	char rseq_str[32];
+	pj_str_t rseq;
+	tx_data_list_t *tl;
+	
+	/* Create UAS state if we don't have one */
+	if (dd->uas_state == NULL) {
+	    dd->uas_state = PJ_POOL_ZALLOC_T(inv->dlg->pool,
+					     uas_state_t);
+	    dd->uas_state->cseq = cseq_hdr->cseq;
+	    dd->uas_state->rseq = pj_rand() % 0x7FFF;
+	    pj_list_init(&dd->uas_state->tx_data_list);
+	    dd->uas_state->retransmit_timer.user_data = dd;
+	    dd->uas_state->retransmit_timer.cb = &on_retransmit;
+	}
+	
+	/* Check that CSeq match */
+	PJ_ASSERT_RETURN(cseq_hdr->cseq == dd->uas_state->cseq,
+			 PJ_EINVALIDOP);
+	
+	/* Add Require header */
+	req_hdr = pjsip_require_hdr_create(tdata->pool);
+	req_hdr->count = 1;
+	req_hdr->values[0] = tag_100rel;
+	pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)req_hdr);
+	
+	/* Add RSeq header */
+	pj_ansi_snprintf(rseq_str, sizeof(rseq_str), "%u",
+			 dd->uas_state->rseq);
+	rseq = pj_str(rseq_str);
+	rseq_hdr = pjsip_generic_string_hdr_create(tdata->pool, 
+						   &RSEQ, &rseq);
+	pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)rseq_hdr);
+	
+	/* Create list entry for this response */
+	tl = PJ_POOL_ZALLOC_T(tdata->pool, tx_data_list_t);
+	tl->tdata = tdata;
+	tl->rseq = dd->uas_state->rseq++;
+	
+	/* Add to queue if there's pending response, otherwise
+	 * transmit immediately.
+	 */
+	if (!pj_list_empty(&dd->uas_state->tx_data_list)) {
+	    
+	    int code = tdata->msg->line.status.code;
+	    
+	    /* Will send later */
+	    pj_list_push_back(&dd->uas_state->tx_data_list, tl);
+	    status = PJ_SUCCESS;
+	    
+	    PJ_LOG(4,(dd->inv->dlg->obj_name, 
+		      "Reliable %d response enqueued (%d pending)", 
+		      code, pj_list_size(&dd->uas_state->tx_data_list)));
+	    
+	} else {
+	    pj_list_push_back(&dd->uas_state->tx_data_list, tl);
+	    
+	    dd->uas_state->retransmit_count = 0;
+	    on_retransmit(NULL, &dd->uas_state->retransmit_timer);
+	    status = PJ_SUCCESS;
+	}
+	
+    }
+    
+    return status;
+}
+
+
diff --git a/jni/pjproject-android/.svn/pristine/54/549eb0a216ad8ee13081ad899b11f18da90f142e.svn-base b/jni/pjproject-android/.svn/pristine/54/549eb0a216ad8ee13081ad899b11f18da90f142e.svn-base
new file mode 100644
index 0000000..378ea28
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/549eb0a216ad8ee13081ad899b11f18da90f142e.svn-base
@@ -0,0 +1,25 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+pjsua = "--null-audio --id=sip:CLIENT --registrar sip:127.0.0.1:$PORT " + \
+	"--realm=python --user=username --password=password " + \
+	"--auto-update-nat=0 --reg-timeout 300"
+
+# 423 without Min-Expires. PJSIP would retry with Expires: 3601
+req1 = sip.RecvfromTransaction("Initial request", 423,
+				include=["REGISTER sip"], 
+				exclude=[],
+				resp_hdr=[]
+			  	)
+
+# Another 423, still without Min-Expires
+req2 = sip.RecvfromTransaction("Retry with guessed Expires header", 423,
+				include=["REGISTER sip", "Expires: 3601"], 
+				exclude=[],
+				resp_hdr=[],
+				expect="without Min-Expires header is invalid"
+			  	)
+
+recvfrom_cfg = sip.RecvfromCfg("Invalid 423 response to REGISTER",
+			       pjsua, [req1, req2])
diff --git a/jni/pjproject-android/.svn/pristine/54/54acec77d3b97ad43b763768e872b198914ccb8c.svn-base b/jni/pjproject-android/.svn/pristine/54/54acec77d3b97ad43b763768e872b198914ccb8c.svn-base
new file mode 100644
index 0000000..f2f78e3
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/54acec77d3b97ad43b763768e872b198914ccb8c.svn-base
@@ -0,0 +1,725 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * 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 
+ */
+#ifndef __PJMEDIA_AUDIODEV_AUDIODEV_H__
+#define __PJMEDIA_AUDIODEV_AUDIODEV_H__
+
+/**
+ * @file audiodev.h
+ * @brief Audio device API.
+ */
+#include <pjmedia-audiodev/config.h>
+#include <pjmedia-audiodev/errno.h>
+#include <pjmedia/format.h>
+#include <pjmedia/frame.h>
+#include <pjmedia/types.h>
+#include <pj/pool.h>
+
+
+PJ_BEGIN_DECL
+
+/**
+ * @defgroup s2_audio_device_reference Audio Device API Reference
+ * @ingroup audio_device_api
+ * @brief API Reference
+ * @{
+ */
+
+/**
+ * Type for device index.
+ */
+typedef pj_int32_t pjmedia_aud_dev_index;
+
+/**
+ * Device index constants.
+ */
+enum
+{
+    /** 
+     * Constant to denote default capture device 
+     */
+    PJMEDIA_AUD_DEFAULT_CAPTURE_DEV = -1,
+
+    /** 
+     * Constant to denote default playback device 
+     */
+    PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV = -2,
+
+    /**
+     * Constant to denote invalid device index.
+     */
+    PJMEDIA_AUD_INVALID_DEV = -3
+};
+
+
+/**
+ * This enumeration identifies various audio device capabilities. These audio
+ * capabilities indicates what features are supported by the underlying
+ * audio device implementation.
+ *
+ * Applications get these capabilities in the #pjmedia_aud_dev_info structure.
+ *
+ * Application can also set the specific features/capabilities when opening
+ * the audio stream by setting the \a flags member of #pjmedia_aud_param
+ * structure.
+ *
+ * Once audio stream is running, application can also retrieve or set some
+ * specific audio capability, by using #pjmedia_aud_stream_get_cap() and
+ * #pjmedia_aud_stream_set_cap() and specifying the desired capability. The
+ * value of the capability is specified as pointer, and application needs to
+ * supply the pointer with the correct value, according to the documentation
+ * of each of the capability.
+ */
+typedef enum pjmedia_aud_dev_cap
+{
+    /** 
+     * Support for audio formats other than PCM. The value of this capability
+     * is represented by #pjmedia_format structure.
+     */
+    PJMEDIA_AUD_DEV_CAP_EXT_FORMAT = 1,
+
+    /** 
+     * Support for audio input latency control or query. The value of this 
+     * capability is an unsigned integer containing milliseconds value of
+     * the latency.
+     */
+    PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY = 2,
+
+    /** 
+     * Support for audio output latency control or query. The value of this 
+     * capability is an unsigned integer containing milliseconds value of
+     * the latency.
+     */
+    PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY = 4,
+
+    /** 
+     * Support for setting/retrieving the audio input device volume level.
+     * The value of this capability is an unsigned integer representing 
+     * the input audio volume setting in percent.
+     */
+    PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING = 8,
+
+    /** 
+     * Support for setting/retrieving the audio output device volume level.
+     * The value of this capability is an unsigned integer representing 
+     * the output audio volume setting in percent.
+     */
+    PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING = 16,
+
+    /** 
+     * Support for monitoring the current audio input signal volume. 
+     * The value of this capability is an unsigned integer representing 
+     * the audio volume in percent.
+     */
+    PJMEDIA_AUD_DEV_CAP_INPUT_SIGNAL_METER = 32,
+
+    /** 
+     * Support for monitoring the current audio output signal volume. 
+     * The value of this capability is an unsigned integer representing 
+     * the audio volume in percent.
+     */
+    PJMEDIA_AUD_DEV_CAP_OUTPUT_SIGNAL_METER = 64,
+
+    /** 
+     * Support for audio input routing. The value of this capability is an 
+     * integer containing #pjmedia_aud_dev_route enumeration.
+     */
+    PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE = 128,
+
+    /** 
+     * Support for audio output routing (e.g. loudspeaker vs earpiece). The
+     * value of this capability is an integer containing #pjmedia_aud_dev_route
+     * enumeration.
+     */
+    PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE = 256,
+
+    /** 
+     * The audio device has echo cancellation feature. The value of this
+     * capability is a pj_bool_t containing boolean PJ_TRUE or PJ_FALSE.
+     */
+    PJMEDIA_AUD_DEV_CAP_EC = 512,
+
+    /** 
+     * The audio device supports setting echo cancellation fail length. The
+     * value of this capability is an unsigned integer representing the
+     * echo tail in milliseconds.
+     */
+    PJMEDIA_AUD_DEV_CAP_EC_TAIL = 1024,
+
+    /** 
+     * The audio device has voice activity detection feature. The value
+     * of this capability is a pj_bool_t containing boolean PJ_TRUE or 
+     * PJ_FALSE.
+     */
+    PJMEDIA_AUD_DEV_CAP_VAD = 2048,
+
+    /** 
+     * The audio device has comfort noise generation feature. The value
+     * of this capability is a pj_bool_t containing boolean PJ_TRUE or 
+     * PJ_FALSE.
+     */
+    PJMEDIA_AUD_DEV_CAP_CNG = 4096,
+
+    /** 
+     * The audio device has packet loss concealment feature. The value
+     * of this capability is a pj_bool_t containing boolean PJ_TRUE or 
+     * PJ_FALSE.
+     */
+    PJMEDIA_AUD_DEV_CAP_PLC = 8192,
+    
+    /**
+     * End of capability
+     */
+    PJMEDIA_AUD_DEV_CAP_MAX = 16384
+
+} pjmedia_aud_dev_cap;
+
+
+/**
+ * This enumeration describes audio routing setting.
+ */
+typedef enum pjmedia_aud_dev_route
+{
+    /** Default route. */
+    PJMEDIA_AUD_DEV_ROUTE_DEFAULT = 0,
+
+    /** Route to loudspeaker */
+    PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER = 1,
+
+    /** Route to earpiece */
+    PJMEDIA_AUD_DEV_ROUTE_EARPIECE = 2,
+
+    /** Route to paired Bluetooth device */
+    PJMEDIA_AUD_DEV_ROUTE_BLUETOOTH = 4
+
+} pjmedia_aud_dev_route;
+
+
+/**
+ * Device information structure returned by #pjmedia_aud_dev_get_info().
+ */
+typedef struct pjmedia_aud_dev_info
+{
+    /** 
+     * The device name 
+     */
+    char name[64];
+
+    /** 
+     * Maximum number of input channels supported by this device. If the
+     * value is zero, the device does not support input operation (i.e.
+     * it is a playback only device). 
+     */
+    unsigned input_count;
+
+    /** 
+     * Maximum number of output channels supported by this device. If the
+     * value is zero, the device does not support output operation (i.e. 
+     * it is an input only device).
+     */
+    unsigned output_count;
+
+    /** 
+     * Default sampling rate.
+     */
+    unsigned default_samples_per_sec;
+
+    /** 
+     * The underlying driver name 
+     */
+    char driver[32];
+
+    /** 
+     * Device capabilities, as bitmask combination of #pjmedia_aud_dev_cap.
+     */
+    unsigned caps;
+
+    /** 
+     * Supported audio device routes, as bitmask combination of 
+     * #pjmedia_aud_dev_route. The value may be zero if the device
+     * does not support audio routing.
+     */
+    unsigned routes;
+
+    /** 
+     * Number of audio formats supported by this device. The value may be
+     * zero if the device does not support non-PCM format.
+     */
+    unsigned ext_fmt_cnt;
+
+    /** 
+     * Array of supported extended audio formats 
+     */
+    pjmedia_format ext_fmt[8];
+
+
+} pjmedia_aud_dev_info;
+
+
+/** 
+ * This callback is called by player stream when it needs additional data
+ * to be played by the device. Application must fill in the whole of output 
+ * buffer with audio samples.
+ *
+ * The frame argument contains the following values:
+ *  - timestamp	    Playback timestamp, in samples.
+ *  - buf	    Buffer to be filled out by application.
+ *  - size	    The size requested in bytes, which will be equal to
+ *		    the size of one whole packet.
+ *
+ * @param user_data User data associated with the stream.
+ * @param frame	    Audio frame, which buffer is to be filled in by
+ *		    the application.
+ *
+ * @return	    Returning non-PJ_SUCCESS will cause the audio stream
+ *		    to stop
+ */
+typedef pj_status_t (*pjmedia_aud_play_cb)(void *user_data,
+					   pjmedia_frame *frame);
+
+/**
+ * This callback is called by recorder stream when it has captured the whole
+ * packet worth of audio samples.
+ *
+ * @param user_data User data associated with the stream.
+ * @param frame	    Captured frame.
+ *
+ * @return	    Returning non-PJ_SUCCESS will cause the audio stream
+ *		    to stop
+ */
+typedef pj_status_t (*pjmedia_aud_rec_cb)(void *user_data,
+					  pjmedia_frame *frame);
+
+/**
+ * This structure specifies the parameters to open the audio stream.
+ */
+typedef struct pjmedia_aud_param
+{
+    /**
+     * The audio direction. This setting is mandatory.
+     */
+    pjmedia_dir dir;
+
+    /**
+     * The audio recorder device ID. This setting is mandatory if the audio
+     * direction includes input/capture direction.
+     */
+    pjmedia_aud_dev_index rec_id;
+
+    /**
+     * The audio playback device ID. This setting is mandatory if the audio
+     * direction includes output/playback direction.
+     */
+    pjmedia_aud_dev_index play_id;
+
+    /** 
+     * Clock rate/sampling rate. This setting is mandatory. 
+     */
+    unsigned clock_rate;
+
+    /** 
+     * Number of channels. This setting is mandatory. 
+     */
+    unsigned channel_count;
+
+    /** 
+     * Number of samples per frame. This setting is mandatory. 
+     */
+    unsigned samples_per_frame;
+
+    /** 
+     * Number of bits per sample. This setting is mandatory. 
+     */
+    unsigned bits_per_sample;
+
+    /** 
+     * This flags specifies which of the optional settings are valid in this
+     * structure. The flags is bitmask combination of pjmedia_aud_dev_cap.
+     */
+    unsigned flags;
+
+    /** 
+     * Set the audio format. This setting is optional, and will only be used
+     * if PJMEDIA_AUD_DEV_CAP_EXT_FORMAT is set in the flags.
+     */
+    pjmedia_format ext_fmt;
+
+    /**
+     * Input latency, in milliseconds. This setting is optional, and will 
+     * only be used if PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY is set in the flags.
+     */
+    unsigned input_latency_ms;
+
+    /**
+     * Input latency, in milliseconds. This setting is optional, and will 
+     * only be used if PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY is set in the flags.
+     */
+    unsigned output_latency_ms;
+
+    /**
+     * Input volume setting, in percent. This setting is optional, and will 
+     * only be used if PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING is set in 
+     * the flags.
+     */
+    unsigned input_vol;
+
+    /**
+     * Output volume setting, in percent. This setting is optional, and will 
+     * only be used if PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING is set in 
+     * the flags.
+     */
+    unsigned output_vol;
+
+    /** 
+     * Set the audio input route. This setting is optional, and will only be
+     * used if PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE is set in the flags.
+     */
+    pjmedia_aud_dev_route input_route;
+
+    /** 
+     * Set the audio output route. This setting is optional, and will only be
+     * used if PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE is set in the flags.
+     */
+    pjmedia_aud_dev_route output_route;
+
+    /**
+     * Enable/disable echo canceller, if the device supports it. This setting
+     * is optional, and will only be used if PJMEDIA_AUD_DEV_CAP_EC is set in
+     * the flags.
+     */
+    pj_bool_t ec_enabled;
+
+    /**
+     * Set echo canceller tail length in milliseconds, if the device supports
+     * it. This setting is optional, and will only be used if
+     * PJMEDIA_AUD_DEV_CAP_EC_TAIL is set in the flags.
+     */
+    unsigned ec_tail_ms;
+
+    /** 
+     * Enable/disable PLC. This setting is optional, and will only be used
+     * if PJMEDIA_AUD_DEV_CAP_PLC is set in the flags.
+     */
+    pj_bool_t plc_enabled;
+
+    /** 
+     * Enable/disable CNG. This setting is optional, and will only be used
+     * if PJMEDIA_AUD_DEV_CAP_CNG is set in the flags.
+     */
+    pj_bool_t cng_enabled;
+
+    /** 
+     * Enable/disable VAD. This setting is optional, and will only be used
+     * if PJMEDIA_AUD_DEV_CAP_VAD is set in the flags.
+     */
+    pj_bool_t vad_enabled;
+
+} pjmedia_aud_param;
+
+
+/** Forward declaration for pjmedia_aud_stream */
+typedef struct pjmedia_aud_stream pjmedia_aud_stream;
+
+/** Forward declaration for audio device factory */
+typedef struct pjmedia_aud_dev_factory pjmedia_aud_dev_factory;
+
+/* typedef for factory creation function */
+typedef pjmedia_aud_dev_factory*
+(*pjmedia_aud_dev_factory_create_func_ptr)(pj_pool_factory*);
+
+
+/**
+ * Get string info for the specified capability.
+ *
+ * @param cap		The capability ID.
+ * @param p_desc	Optional pointer which will be filled with longer 
+ *			description about the capability.
+ *
+ * @return		Capability name.
+ */
+PJ_DECL(const char*) pjmedia_aud_dev_cap_name(pjmedia_aud_dev_cap cap,
+					      const char **p_desc);
+
+
+/**
+ * Set a capability field value in #pjmedia_aud_param structure. This will
+ * also set the flags field for the specified capability in the structure.
+ *
+ * @param param		The structure.
+ * @param cap		The audio capability which value is to be set.
+ * @param pval		Pointer to value. Please see the type of value to
+ *			be supplied in the pjmedia_aud_dev_cap documentation.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_param_set_cap(pjmedia_aud_param *param,
+					       pjmedia_aud_dev_cap cap,
+					       const void *pval);
+
+
+/**
+ * Get a capability field value from #pjmedia_aud_param structure. This
+ * function will return PJMEDIA_EAUD_INVCAP error if the flag for that
+ * capability is not set in the flags field in the structure.
+ *
+ * @param param		The structure.
+ * @param cap		The audio capability which value is to be retrieved.
+ * @param pval		Pointer to value. Please see the type of value to
+ *			be supplied in the pjmedia_aud_dev_cap documentation.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_param_get_cap(const pjmedia_aud_param *param,
+					       pjmedia_aud_dev_cap cap,
+					       void *pval);
+
+/**
+ * Initialize the audio subsystem. This will register all supported audio 
+ * device factories to the audio subsystem. This function may be called
+ * more than once, but each call to this function must have the
+ * corresponding #pjmedia_aud_subsys_shutdown() call.
+ *
+ * @param pf		The pool factory.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_subsys_init(pj_pool_factory *pf);
+
+
+/**
+ * Get the pool factory registered to the audio subsystem.
+ *
+ * @return		The pool factory.
+ */
+PJ_DECL(pj_pool_factory*) pjmedia_aud_subsys_get_pool_factory(void);
+
+
+/**
+ * Shutdown the audio subsystem. This will destroy all audio device factories
+ * registered in the audio subsystem. Note that currently opened audio streams
+ * may or may not be closed, depending on the implementation of the audio
+ * device factories.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_subsys_shutdown(void);
+
+
+/**
+ * Register a supported audio device factory to the audio subsystem. This
+ * function can only be called after calling #pjmedia_aud_subsys_init().
+ *
+ * @param adf		The audio device factory.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t)
+pjmedia_aud_register_factory(pjmedia_aud_dev_factory_create_func_ptr adf);
+
+
+/**
+ * Unregister an audio device factory from the audio subsystem. This
+ * function can only be called after calling #pjmedia_aud_subsys_init().
+ * Devices from this factory will be unlisted. If a device from this factory
+ * is currently in use, then the behavior is undefined.
+ *
+ * @param adf		The audio device factory.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t)
+pjmedia_aud_unregister_factory(pjmedia_aud_dev_factory_create_func_ptr adf);
+
+
+/**
+ * Refresh the list of sound devices installed in the system. This function
+ * will only refresh the list of audio device so all active audio streams will
+ * be unaffected. After refreshing the device list, application MUST make sure
+ * to update all index references to audio devices (i.e. all variables of type
+ * pjmedia_aud_dev_index) before calling any function that accepts audio device
+ * index as its parameter.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_dev_refresh(void);
+
+
+/**
+ * Get the number of sound devices installed in the system.
+ *
+ * @return		The number of sound devices installed in the system.
+ */
+PJ_DECL(unsigned) pjmedia_aud_dev_count(void);
+
+
+/**
+ * Get device information.
+ *
+ * @param id		The audio device ID.
+ * @param info		The device information which will be filled in by this
+ *			function once it returns successfully.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_dev_get_info(pjmedia_aud_dev_index id,
+					      pjmedia_aud_dev_info *info);
+
+
+/**
+ * Lookup device index based on the driver and device name.
+ *
+ * @param drv_name	The driver name.
+ * @param dev_name	The device name.
+ * @param id		Pointer to store the returned device ID.
+ *
+ * @return		PJ_SUCCESS if the device can be found.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_dev_lookup(const char *drv_name,
+					    const char *dev_name,
+					    pjmedia_aud_dev_index *id);
+
+
+/**
+ * Initialize the audio device parameters with default values for the
+ * specified device.
+ *
+ * @param id		The audio device ID.
+ * @param param		The audio device parameters which will be initialized
+ *			by this function once it returns successfully.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_dev_default_param(pjmedia_aud_dev_index id,
+						   pjmedia_aud_param *param);
+
+
+/**
+ * Open audio stream object using the specified parameters.
+ *
+ * @param param		Sound device parameters to be used for the stream.
+ * @param rec_cb	Callback to be called on every input frame captured.
+ * @param play_cb	Callback to be called everytime the sound device needs
+ *			audio frames to be played back.
+ * @param user_data	Arbitrary user data, which will be given back in the
+ *			callbacks.
+ * @param p_strm	Pointer to receive the audio stream.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_create(const pjmedia_aud_param *param,
+					       pjmedia_aud_rec_cb rec_cb,
+					       pjmedia_aud_play_cb play_cb,
+					       void *user_data,
+					       pjmedia_aud_stream **p_strm);
+
+/**
+ * Get the running parameters for the specified audio stream.
+ *
+ * @param strm		The audio stream.
+ * @param param		Audio stream parameters to be filled in by this 
+ *			function once it returns successfully.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_get_param(pjmedia_aud_stream *strm,
+						  pjmedia_aud_param *param);
+
+/**
+ * Get the value of a specific capability of the audio stream.
+ *
+ * @param strm		The audio stream.
+ * @param cap		The audio capability which value is to be retrieved.
+ * @param value		Pointer to value to be filled in by this function 
+ *			once it returns successfully.  Please see the type 
+ *			of value to be supplied in the pjmedia_aud_dev_cap
+ *			documentation.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_get_cap(pjmedia_aud_stream *strm,
+						pjmedia_aud_dev_cap cap,
+						void *value);
+
+/**
+ * Set the value of a specific capability of the audio stream.
+ *
+ * @param strm		The audio stream.
+ * @param cap		The audio capability which value is to be set.
+ * @param value		Pointer to value. Please see the type of value to
+ *			be supplied in the pjmedia_aud_dev_cap documentation.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_set_cap(pjmedia_aud_stream *strm,
+						pjmedia_aud_dev_cap cap,
+						const void *value);
+
+/**
+ * Start the stream.
+ *
+ * @param strm		The audio stream.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_start(pjmedia_aud_stream *strm);
+
+/**
+ * Stop the stream.
+ *
+ * @param strm		The audio stream.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_stop(pjmedia_aud_stream *strm);
+
+/**
+ * Destroy the stream.
+ *
+ * @param strm		The audio stream.
+ *
+ * @return		PJ_SUCCESS on successful operation or the appropriate
+ *			error code.
+ */
+PJ_DECL(pj_status_t) pjmedia_aud_stream_destroy(pjmedia_aud_stream *strm);
+
+
+/**
+ * @}
+ */
+
+PJ_END_DECL
+
+
+#endif	/* __PJMEDIA_AUDIODEV_AUDIODEV_H__ */
+
diff --git a/jni/pjproject-android/.svn/pristine/54/54eda794a6b297f4f40550ffb5c1f06326e4d88b.svn-base b/jni/pjproject-android/.svn/pristine/54/54eda794a6b297f4f40550ffb5c1f06326e4d88b.svn-base
new file mode 100644
index 0000000..531be6b
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/54eda794a6b297f4f40550ffb5c1f06326e4d88b.svn-base
@@ -0,0 +1,1457 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * 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 <pj/os.h>
+#include <pj/pool.h>
+#include <pj/log.h>
+#include <pj/string.h>
+#include <pj/guid.h>
+#include <pj/rand.h>
+#include <pj/assert.h>
+#include <pj/errno.h>
+#include <pj/except.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#if defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H != 0
+#  include <winsock.h>
+#endif
+
+#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H != 0
+#  include <winsock2.h>
+#endif
+
+/* Activate mutex related logging if PJ_DEBUG_MUTEX is set, otherwise
+ * use default level 6 logging.
+ */
+#if defined(PJ_DEBUG_MUTEX) && PJ_DEBUG_MUTEX
+#   undef PJ_DEBUG
+#   define PJ_DEBUG	    1
+#   define LOG_MUTEX(expr)  PJ_LOG(5,expr)
+#else
+#   define LOG_MUTEX(expr)  PJ_LOG(6,expr)
+#endif
+
+#define THIS_FILE	"os_core_win32.c"
+
+/*
+ * Implementation of pj_thread_t.
+ */
+struct pj_thread_t
+{
+    char	    obj_name[PJ_MAX_OBJ_NAME];
+    HANDLE	    hthread;
+    DWORD	    idthread;
+    pj_thread_proc *proc;
+    void	   *arg;
+
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0
+    pj_uint32_t	    stk_size;
+    pj_uint32_t	    stk_max_usage;
+    char	   *stk_start;
+    const char	   *caller_file;
+    int		    caller_line;
+#endif
+};
+
+
+/*
+ * Implementation of pj_mutex_t.
+ */
+struct pj_mutex_t
+{
+#if PJ_WIN32_WINNT >= 0x0400
+    CRITICAL_SECTION	crit;
+#else
+    HANDLE		hMutex;
+#endif
+    char		obj_name[PJ_MAX_OBJ_NAME];
+#if PJ_DEBUG
+    int		        nesting_level;
+    pj_thread_t	       *owner;
+#endif
+};
+
+/*
+ * Implementation of pj_sem_t.
+ */
+typedef struct pj_sem_t
+{
+    HANDLE		hSemaphore;
+    char		obj_name[PJ_MAX_OBJ_NAME];
+} pj_mem_t;
+
+
+/*
+ * Implementation of pj_event_t.
+ */
+struct pj_event_t
+{
+    HANDLE		hEvent;
+    char		obj_name[PJ_MAX_OBJ_NAME];
+};
+
+/*
+ * Implementation of pj_atomic_t.
+ */
+struct pj_atomic_t
+{
+    long value;
+};
+
+/*
+ * Flag and reference counter for PJLIB instance.
+ */
+static int initialized;
+
+/*
+ * Static global variables.
+ */
+static pj_thread_desc main_thread;
+static long thread_tls_id = -1;
+static pj_mutex_t critical_section_mutex;
+static unsigned atexit_count;
+static void (*atexit_func[32])(void);
+
+/*
+ * Some static prototypes.
+ */
+static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name);
+
+
+/*
+ * pj_init(void).
+ * Init PJLIB!
+ */
+PJ_DEF(pj_status_t) pj_init(void)
+{
+    WSADATA wsa;
+    char dummy_guid[32]; /* use maximum GUID length */
+    pj_str_t guid;
+    pj_status_t rc;
+
+    /* Check if PJLIB have been initialized */
+    if (initialized) {
+	++initialized;
+	return PJ_SUCCESS;
+    }
+
+    /* Init Winsock.. */
+    if (WSAStartup(MAKEWORD(2,0), &wsa) != 0) {
+	return PJ_RETURN_OS_ERROR(WSAGetLastError());
+    }
+
+    /* Init this thread's TLS. */
+    if ((rc=pj_thread_init()) != PJ_SUCCESS) {
+	return rc;
+    }
+    
+    /* Init logging */
+    pj_log_init();
+
+    /* Init random seed. */
+    /* Or probably not. Let application in charge of this */
+    /* pj_srand( GetCurrentProcessId() ); */
+
+    /* Initialize critical section. */
+    if ((rc=init_mutex(&critical_section_mutex, "pj%p")) != PJ_SUCCESS)
+	return rc;
+
+    /* Startup GUID. */
+    guid.ptr = dummy_guid;
+    pj_generate_unique_string( &guid );
+
+    /* Initialize exception ID for the pool. 
+     * Must do so after critical section is configured.
+     */
+    rc = pj_exception_id_alloc("PJLIB/No memory", &PJ_NO_MEMORY_EXCEPTION);
+    if (rc != PJ_SUCCESS)
+        return rc;
+
+    /* Startup timestamp */
+#if defined(PJ_HAS_HIGH_RES_TIMER) && PJ_HAS_HIGH_RES_TIMER != 0
+    {
+	pj_timestamp dummy_ts;
+	if ((rc=pj_get_timestamp_freq(&dummy_ts)) != PJ_SUCCESS) {
+	    return rc;
+	}
+	if ((rc=pj_get_timestamp(&dummy_ts)) != PJ_SUCCESS) {
+	    return rc;
+	}
+    }
+#endif   
+
+    /* Flag PJLIB as initialized */
+    ++initialized;
+    pj_assert(initialized == 1);
+
+    PJ_LOG(4,(THIS_FILE, "pjlib %s for win32 initialized",
+	      PJ_VERSION));
+
+    return PJ_SUCCESS;
+}
+
+/*
+ * pj_atexit()
+ */
+PJ_DEF(pj_status_t) pj_atexit(void (*func)(void))
+{
+    if (atexit_count >= PJ_ARRAY_SIZE(atexit_func))
+	return PJ_ETOOMANY;
+
+    atexit_func[atexit_count++] = func;
+    return PJ_SUCCESS;
+}
+
+
+/*
+ * pj_shutdown(void)
+ */
+PJ_DEF(void) pj_shutdown()
+{
+    int i;
+
+    /* Only perform shutdown operation when 'initialized' reaches zero */
+    pj_assert(initialized > 0);
+    if (--initialized != 0)
+	return;
+
+    /* Display stack usage */
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0
+    {
+	pj_thread_t *rec = (pj_thread_t*)main_thread;
+	PJ_LOG(5,(rec->obj_name, "Main thread stack max usage=%u by %s:%d", 
+		  rec->stk_max_usage, rec->caller_file, rec->caller_line));
+    }
+#endif
+
+    /* Call atexit() functions */
+    for (i=atexit_count-1; i>=0; --i) {
+	(*atexit_func[i])();
+    }
+    atexit_count = 0;
+
+    /* Free exception ID */
+    if (PJ_NO_MEMORY_EXCEPTION != -1) {
+	pj_exception_id_free(PJ_NO_MEMORY_EXCEPTION);
+	PJ_NO_MEMORY_EXCEPTION = -1;
+    }
+
+    /* Destroy PJLIB critical section */
+    pj_mutex_destroy(&critical_section_mutex);
+
+    /* Free PJLIB TLS */
+    if (thread_tls_id != -1) {
+	pj_thread_local_free(thread_tls_id);
+	thread_tls_id = -1;
+    }
+
+    /* Clear static variables */
+    pj_errno_clear_handlers();
+
+    /* Ticket #1132: Assertion when (re)starting PJLIB on different thread */
+    pj_bzero(main_thread, sizeof(main_thread));
+
+    /* Shutdown Winsock */
+    WSACleanup();
+}
+
+
+/*
+ * pj_getpid(void)
+ */
+PJ_DEF(pj_uint32_t) pj_getpid(void)
+{
+    PJ_CHECK_STACK();
+    return GetCurrentProcessId();
+}
+
+/*
+ * Check if this thread has been registered to PJLIB.
+ */
+PJ_DEF(pj_bool_t) pj_thread_is_registered(void)
+{
+    return pj_thread_local_get(thread_tls_id) != 0;
+}
+
+
+/*
+ * Get thread priority value for the thread.
+ */
+PJ_DEF(int) pj_thread_get_prio(pj_thread_t *thread)
+{
+    return GetThreadPriority(thread->hthread);
+}
+
+
+/*
+ * Set the thread priority.
+ */
+PJ_DEF(pj_status_t) pj_thread_set_prio(pj_thread_t *thread,  int prio)
+{
+#if PJ_HAS_THREADS
+    PJ_ASSERT_RETURN(thread, PJ_EINVAL);
+    PJ_ASSERT_RETURN(prio>=THREAD_PRIORITY_IDLE && 
+			prio<=THREAD_PRIORITY_TIME_CRITICAL,
+		     PJ_EINVAL);
+
+    if (SetThreadPriority(thread->hthread, prio) == FALSE)
+	return PJ_RETURN_OS_ERROR(GetLastError());
+
+    return PJ_SUCCESS;
+
+#else
+    PJ_UNUSED_ARG(thread);
+    PJ_UNUSED_ARG(prio);
+    pj_assert("pj_thread_set_prio() called in non-threading mode!");
+    return PJ_EINVALIDOP;
+#endif
+}
+
+
+/*
+ * Get the lowest priority value available on this system.
+ */
+PJ_DEF(int) pj_thread_get_prio_min(pj_thread_t *thread)
+{
+    PJ_UNUSED_ARG(thread);
+    return THREAD_PRIORITY_IDLE;
+}
+
+
+/*
+ * Get the highest priority value available on this system.
+ */
+PJ_DEF(int) pj_thread_get_prio_max(pj_thread_t *thread)
+{
+    PJ_UNUSED_ARG(thread);
+    return THREAD_PRIORITY_TIME_CRITICAL;
+}
+
+
+/*
+ * Get native thread handle
+ */
+PJ_DEF(void*) pj_thread_get_os_handle(pj_thread_t *thread) 
+{
+    PJ_ASSERT_RETURN(thread, NULL);
+
+#if PJ_HAS_THREADS
+    return thread->hthread;
+#else
+    pj_assert("pj_thread_is_registered() called in non-threading mode!");
+    return NULL;
+#endif
+}
+
+/*
+ * pj_thread_register(..)
+ */
+PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name,
+					 pj_thread_desc desc,
+                                         pj_thread_t **thread_ptr)
+{
+    char stack_ptr;
+    pj_status_t rc;
+    pj_thread_t *thread = (pj_thread_t *)desc;
+    pj_str_t thread_name = pj_str((char*)cstr_thread_name);
+
+    /* Size sanity check. */
+    if (sizeof(pj_thread_desc) < sizeof(pj_thread_t)) {
+	pj_assert(!"Not enough pj_thread_desc size!");
+	return PJ_EBUG;
+    }
+
+    /* If a thread descriptor has been registered before, just return it. */
+    if (pj_thread_local_get (thread_tls_id) != 0) {
+	// 2006-02-26 bennylp:
+	//  This wouldn't work in all cases!.
+	//  If thread is created by external module (e.g. sound thread),
+	//  thread may be reused while the pool used for the thread descriptor
+	//  has been deleted by application.
+	//*thread_ptr = (pj_thread_t*)pj_thread_local_get (thread_tls_id);
+        //return PJ_SUCCESS;
+    }
+
+    /* Initialize and set the thread entry. */
+    pj_bzero(desc, sizeof(struct pj_thread_t));
+    thread->hthread = GetCurrentThread();
+    thread->idthread = GetCurrentThreadId();
+
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0
+    thread->stk_start = &stack_ptr;
+    thread->stk_size = 0xFFFFFFFFUL;
+    thread->stk_max_usage = 0;
+#else
+    stack_ptr = '\0';
+#endif
+
+    if (cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1)
+	pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), 
+			 cstr_thread_name, thread->idthread);
+    else
+	pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), 
+		         "thr%p", (void*)(pj_ssize_t)thread->idthread);
+    
+    rc = pj_thread_local_set(thread_tls_id, thread);
+    if (rc != PJ_SUCCESS)
+	return rc;
+
+    *thread_ptr = thread;
+    return PJ_SUCCESS;
+}
+
+/*
+ * pj_thread_init(void)
+ */
+pj_status_t pj_thread_init(void)
+{
+    pj_status_t rc;
+    pj_thread_t *thread;
+
+    rc = pj_thread_local_alloc(&thread_tls_id);
+    if (rc != PJ_SUCCESS)
+	return rc;
+
+    return pj_thread_register("thr%p", main_thread, &thread);
+}
+
+static DWORD WINAPI thread_main(void *param)
+{
+    pj_thread_t *rec = param;
+    DWORD result;
+
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0
+    rec->stk_start = (char*)&rec;
+#endif
+
+    if (pj_thread_local_set(thread_tls_id, rec) != PJ_SUCCESS) {
+	pj_assert(!"TLS is not set (pj_init() error?)");
+    }
+
+    PJ_LOG(6,(rec->obj_name, "Thread started"));
+
+    result = (*rec->proc)(rec->arg);
+
+    PJ_LOG(6,(rec->obj_name, "Thread quitting"));
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0
+    PJ_LOG(5,(rec->obj_name, "Thread stack max usage=%u by %s:%d", 
+	      rec->stk_max_usage, rec->caller_file, rec->caller_line));
+#endif
+
+    return (DWORD)result;
+}
+
+/*
+ * pj_thread_create(...)
+ */
+PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, 
+                                      const char *thread_name,
+				      pj_thread_proc *proc, 
+                                      void *arg,
+				      pj_size_t stack_size, 
+				      unsigned flags,
+                                      pj_thread_t **thread_ptr)
+{
+    DWORD dwflags = 0;
+    pj_thread_t *rec;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(pool && proc && thread_ptr, PJ_EINVAL);
+
+    /* Set flags */
+    if (flags & PJ_THREAD_SUSPENDED)
+	dwflags |= CREATE_SUSPENDED;
+
+    /* Create thread record and assign name for the thread */
+    rec = (struct pj_thread_t*) pj_pool_calloc(pool, 1, sizeof(pj_thread_t));
+    if (!rec)
+	return PJ_ENOMEM;
+
+    /* Set name. */
+    if (!thread_name)
+	thread_name = "thr%p";
+
+    if (strchr(thread_name, '%')) {
+	pj_ansi_snprintf(rec->obj_name, PJ_MAX_OBJ_NAME, thread_name, rec);
+    } else {
+	pj_ansi_strncpy(rec->obj_name, thread_name, PJ_MAX_OBJ_NAME);
+	rec->obj_name[PJ_MAX_OBJ_NAME-1] = '\0';
+    }
+
+    PJ_LOG(6, (rec->obj_name, "Thread created"));
+
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0
+    rec->stk_size = stack_size ? (pj_uint32_t)stack_size : 0xFFFFFFFFUL;
+    rec->stk_max_usage = 0;
+#endif
+
+    /* Create the thread. */
+    rec->proc = proc;
+    rec->arg = arg;
+    rec->hthread = CreateThread(NULL, stack_size, 
+				thread_main, rec,
+				dwflags, &rec->idthread);
+    if (rec->hthread == NULL)
+	return PJ_RETURN_OS_ERROR(GetLastError());
+
+    /* Success! */
+    *thread_ptr = rec;
+    return PJ_SUCCESS;
+}
+
+/*
+ * pj_thread-get_name()
+ */
+PJ_DEF(const char*) pj_thread_get_name(pj_thread_t *p)
+{
+    pj_thread_t *rec = (pj_thread_t*)p;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(p, "");
+
+    return rec->obj_name;
+}
+
+/*
+ * pj_thread_resume()
+ */
+PJ_DEF(pj_status_t) pj_thread_resume(pj_thread_t *p)
+{
+    pj_thread_t *rec = (pj_thread_t*)p;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(p, PJ_EINVAL);
+
+    if (ResumeThread(rec->hthread) == (DWORD)-1)
+        return PJ_RETURN_OS_ERROR(GetLastError());
+    else
+        return PJ_SUCCESS;
+}
+
+/*
+ * pj_thread_this()
+ */
+PJ_DEF(pj_thread_t*) pj_thread_this(void)
+{
+    pj_thread_t *rec = pj_thread_local_get(thread_tls_id);
+
+    if (rec == NULL) {
+	pj_assert(!"Calling pjlib from unknown/external thread. You must "
+		   "register external threads with pj_thread_register() "
+		   "before calling any pjlib functions.");
+    }
+
+    /*
+     * MUST NOT check stack because this function is called
+     * by PJ_CHECK_STACK() itself!!!
+     *
+     */
+
+    return rec;
+}
+
+/*
+ * pj_thread_join()
+ */
+PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *p)
+{
+    pj_thread_t *rec = (pj_thread_t *)p;
+    DWORD rc;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(p, PJ_EINVAL);
+
+    if (p == pj_thread_this())
+	return PJ_ECANCELLED;
+
+    PJ_LOG(6, (pj_thread_this()->obj_name, "Joining thread %s", p->obj_name));
+
+    rc = WaitForSingleObject(rec->hthread, INFINITE);
+
+    if (rc==WAIT_OBJECT_0)
+        return PJ_SUCCESS;
+    else if (rc==WAIT_TIMEOUT)
+        return PJ_ETIMEDOUT;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_thread_destroy()
+ */
+PJ_DEF(pj_status_t) pj_thread_destroy(pj_thread_t *p)
+{
+    pj_thread_t *rec = (pj_thread_t *)p;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(p, PJ_EINVAL);
+
+    if (CloseHandle(rec->hthread) == TRUE)
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_thread_sleep()
+ */
+PJ_DEF(pj_status_t) pj_thread_sleep(unsigned msec)
+{
+    PJ_CHECK_STACK();
+    Sleep(msec);
+    return PJ_SUCCESS;
+}
+
+#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK != 0
+/*
+ * pj_thread_check_stack()
+ * Implementation for PJ_CHECK_STACK()
+ */
+PJ_DEF(void) pj_thread_check_stack(const char *file, int line)
+{
+    char stk_ptr;
+    pj_uint32_t usage;
+    pj_thread_t *thread = pj_thread_this();
+
+    pj_assert(thread);
+
+    /* Calculate current usage. */
+    usage = (&stk_ptr > thread->stk_start) ? 
+		(pj_uint32_t)(&stk_ptr - thread->stk_start) :
+		(pj_uint32_t)(thread->stk_start - &stk_ptr);
+
+    /* Assert if stack usage is dangerously high. */
+    pj_assert("STACK OVERFLOW!! " && (usage <= thread->stk_size - 128));
+
+    /* Keep statistic. */
+    if (usage > thread->stk_max_usage) {
+	thread->stk_max_usage = usage;
+	thread->caller_file = file;
+	thread->caller_line = line;
+    }
+
+}
+
+/*
+ * pj_thread_get_stack_max_usage()
+ */
+PJ_DEF(pj_uint32_t) pj_thread_get_stack_max_usage(pj_thread_t *thread)
+{
+    return thread->stk_max_usage;
+}
+
+/*
+ * pj_thread_get_stack_info()
+ */
+PJ_DEF(pj_status_t) pj_thread_get_stack_info( pj_thread_t *thread,
+					      const char **file,
+					      int *line )
+{
+    pj_assert(thread);
+
+    *file = thread->caller_file;
+    *line = thread->caller_line;
+    return 0;
+}
+
+#endif	/* PJ_OS_HAS_CHECK_STACK */
+
+
+///////////////////////////////////////////////////////////////////////////////
+
+/*
+ * pj_atomic_create()
+ */
+PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, 
+                                      pj_atomic_value_t initial,
+                                      pj_atomic_t **atomic_ptr)
+{
+    pj_atomic_t *atomic_var = pj_pool_alloc(pool, sizeof(pj_atomic_t));
+    if (!atomic_var)
+	return PJ_ENOMEM;
+
+    atomic_var->value = initial;
+    *atomic_ptr = atomic_var;
+
+    return PJ_SUCCESS;
+}
+
+/*
+ * pj_atomic_destroy()
+ */
+PJ_DEF(pj_status_t) pj_atomic_destroy( pj_atomic_t *var )
+{
+    PJ_UNUSED_ARG(var);
+    PJ_ASSERT_RETURN(var, PJ_EINVAL);
+
+    return 0;
+}
+
+/*
+ * pj_atomic_set()
+ */
+PJ_DEF(void) pj_atomic_set( pj_atomic_t *atomic_var, pj_atomic_value_t value)
+{
+    PJ_CHECK_STACK();
+
+    InterlockedExchange(&atomic_var->value, value);
+}
+
+/*
+ * pj_atomic_get()
+ */
+PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(atomic_var, 0);
+
+    return atomic_var->value;
+}
+
+/*
+ * pj_atomic_inc_and_get()
+ */
+PJ_DEF(pj_atomic_value_t) pj_atomic_inc_and_get(pj_atomic_t *atomic_var)
+{
+    PJ_CHECK_STACK();
+
+#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400
+    return InterlockedIncrement(&atomic_var->value);
+#else
+    return InterlockedIncrement(&atomic_var->value);
+#endif
+}
+
+/*
+ * pj_atomic_inc()
+ */
+PJ_DEF(void) pj_atomic_inc(pj_atomic_t *atomic_var)
+{
+    pj_atomic_inc_and_get(atomic_var);
+}
+
+/*
+ * pj_atomic_dec_and_get()
+ */
+PJ_DEF(pj_atomic_value_t) pj_atomic_dec_and_get(pj_atomic_t *atomic_var)
+{
+    PJ_CHECK_STACK();
+
+#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400
+    return InterlockedDecrement(&atomic_var->value);
+#else
+    return InterlockedDecrement(&atomic_var->value);
+#endif
+}
+
+/*
+ * pj_atomic_dec()
+ */
+PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var)
+{
+    pj_atomic_dec_and_get(atomic_var);
+}
+
+/*
+ * pj_atomic_add()
+ */
+PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var,
+			    pj_atomic_value_t value )
+{
+#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400
+    InterlockedExchangeAdd( &atomic_var->value, value );
+#else
+    InterlockedExchangeAdd( &atomic_var->value, value );
+#endif
+}
+
+/*
+ * pj_atomic_add_and_get()
+ */
+PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var,
+			                         pj_atomic_value_t value)
+{
+#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400
+    long oldValue = InterlockedExchangeAdd( &atomic_var->value, value);
+    return oldValue + value;
+#else
+    long oldValue = InterlockedExchangeAdd( &atomic_var->value, value);
+    return oldValue + value;
+#endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+/*
+ * pj_thread_local_alloc()
+ */
+PJ_DEF(pj_status_t) pj_thread_local_alloc(long *index)
+{
+    PJ_ASSERT_RETURN(index != NULL, PJ_EINVAL);
+
+    //Can't check stack because this function is called in the
+    //beginning before main thread is initialized.
+    //PJ_CHECK_STACK();
+
+    *index = TlsAlloc();
+
+    if (*index == TLS_OUT_OF_INDEXES)
+        return PJ_RETURN_OS_ERROR(GetLastError());
+    else
+        return PJ_SUCCESS;
+}
+
+/*
+ * pj_thread_local_free()
+ */
+PJ_DEF(void) pj_thread_local_free(long index)
+{
+    PJ_CHECK_STACK();
+    TlsFree(index);
+}
+
+/*
+ * pj_thread_local_set()
+ */
+PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value)
+{
+    BOOL rc;
+
+    //Can't check stack because this function is called in the
+    //beginning before main thread is initialized.
+    //PJ_CHECK_STACK();
+    rc = TlsSetValue(index, value);
+    return rc!=0 ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_thread_local_get()
+ */
+PJ_DEF(void*) pj_thread_local_get(long index)
+{
+    //Can't check stack because this function is called
+    //by PJ_CHECK_STACK() itself!!!
+    //PJ_CHECK_STACK();
+    return TlsGetValue(index);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name)
+{
+
+    PJ_CHECK_STACK();
+
+#if PJ_WIN32_WINNT >= 0x0400
+    InitializeCriticalSection(&mutex->crit);
+#else
+    mutex->hMutex = CreateMutex(NULL, FALSE, NULL);
+    if (!mutex->hMutex) {
+	return PJ_RETURN_OS_ERROR(GetLastError());
+    }
+#endif
+
+#if PJ_DEBUG
+    /* Set owner. */
+    mutex->nesting_level = 0;
+    mutex->owner = NULL;
+#endif
+
+    /* Set name. */
+    if (!name) {
+	name = "mtx%p";
+    }
+    if (strchr(name, '%')) {
+	pj_ansi_snprintf(mutex->obj_name, PJ_MAX_OBJ_NAME, name, mutex);
+    } else {
+	pj_ansi_strncpy(mutex->obj_name, name, PJ_MAX_OBJ_NAME);
+	mutex->obj_name[PJ_MAX_OBJ_NAME-1] = '\0';
+    }
+
+    PJ_LOG(6, (mutex->obj_name, "Mutex created"));
+    return PJ_SUCCESS;
+}
+
+/*
+ * pj_mutex_create()
+ */
+PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, 
+                                    const char *name, 
+                                    int type,
+                                    pj_mutex_t **mutex_ptr)
+{
+    pj_status_t rc;
+    pj_mutex_t *mutex;
+
+    PJ_UNUSED_ARG(type);
+    PJ_ASSERT_RETURN(pool && mutex_ptr, PJ_EINVAL);
+
+    mutex = pj_pool_alloc(pool, sizeof(*mutex));
+    if (!mutex)
+        return PJ_ENOMEM;
+
+    rc = init_mutex(mutex, name);
+    if (rc != PJ_SUCCESS)
+        return rc;
+
+    *mutex_ptr = mutex;
+
+    return PJ_SUCCESS;
+}
+
+/*
+ * pj_mutex_create_simple()
+ */
+PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, 
+                                            const char *name,
+					    pj_mutex_t **mutex )
+{
+    return pj_mutex_create(pool, name, PJ_MUTEX_SIMPLE, mutex);
+}
+
+/*
+ * pj_mutex_create_recursive()
+ */
+PJ_DEF(pj_status_t) pj_mutex_create_recursive( pj_pool_t *pool,
+					       const char *name,
+					       pj_mutex_t **mutex )
+{
+    return pj_mutex_create(pool, name, PJ_MUTEX_RECURSE, mutex);
+}
+
+/*
+ * pj_mutex_lock()
+ */
+PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex)
+{
+    pj_status_t status;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(mutex, PJ_EINVAL);
+
+    LOG_MUTEX((mutex->obj_name, "Mutex: thread %s is waiting", 
+				pj_thread_this()->obj_name));
+
+#if PJ_WIN32_WINNT >= 0x0400
+    EnterCriticalSection(&mutex->crit);
+    status=PJ_SUCCESS;
+#else
+    if (WaitForSingleObject(mutex->hMutex, INFINITE)==WAIT_OBJECT_0)
+        status = PJ_SUCCESS;
+    else
+        status = PJ_STATUS_FROM_OS(GetLastError());
+
+#endif
+    LOG_MUTEX((mutex->obj_name, 
+	      (status==PJ_SUCCESS ? "Mutex acquired by thread %s" : "FAILED by %s"),
+	      pj_thread_this()->obj_name));
+
+#if PJ_DEBUG
+    if (status == PJ_SUCCESS) {
+	mutex->owner = pj_thread_this();
+	++mutex->nesting_level;
+    }
+#endif
+
+    return status;
+}
+
+/*
+ * pj_mutex_unlock()
+ */
+PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex)
+{
+    pj_status_t status;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(mutex, PJ_EINVAL);
+
+#if PJ_DEBUG
+    pj_assert(mutex->owner == pj_thread_this());
+    if (--mutex->nesting_level == 0) {
+	mutex->owner = NULL;
+    }
+#endif
+
+    LOG_MUTEX((mutex->obj_name, "Mutex released by thread %s", 
+				pj_thread_this()->obj_name));
+
+#if PJ_WIN32_WINNT >= 0x0400
+    LeaveCriticalSection(&mutex->crit);
+    status=PJ_SUCCESS;
+#else
+    status = ReleaseMutex(mutex->hMutex) ? PJ_SUCCESS : 
+                PJ_STATUS_FROM_OS(GetLastError());
+#endif
+    return status;
+}
+
+/*
+ * pj_mutex_trylock()
+ */
+PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex)
+{
+    pj_status_t status;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(mutex, PJ_EINVAL);
+
+    LOG_MUTEX((mutex->obj_name, "Mutex: thread %s is trying", 
+				pj_thread_this()->obj_name));
+
+#if PJ_WIN32_WINNT >= 0x0400
+    status=TryEnterCriticalSection(&mutex->crit) ? PJ_SUCCESS : PJ_EUNKNOWN;
+#else
+    status = WaitForSingleObject(mutex->hMutex, 0)==WAIT_OBJECT_0 ? 
+                PJ_SUCCESS : PJ_ETIMEDOUT;
+#endif
+    if (status==PJ_SUCCESS) {
+	LOG_MUTEX((mutex->obj_name, "Mutex acquired by thread %s", 
+				  pj_thread_this()->obj_name));
+
+#if PJ_DEBUG
+	mutex->owner = pj_thread_this();
+	++mutex->nesting_level;
+#endif
+    } else {
+	LOG_MUTEX((mutex->obj_name, "Mutex: thread %s's trylock() failed", 
+				    pj_thread_this()->obj_name));
+    }
+
+    return status;
+}
+
+/*
+ * pj_mutex_destroy()
+ */
+PJ_DEF(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(mutex, PJ_EINVAL);
+
+    LOG_MUTEX((mutex->obj_name, "Mutex destroyed"));
+
+#if PJ_WIN32_WINNT >= 0x0400
+    DeleteCriticalSection(&mutex->crit);
+    return PJ_SUCCESS;
+#else
+    return CloseHandle(mutex->hMutex) ? PJ_SUCCESS : 
+            PJ_RETURN_OS_ERROR(GetLastError());
+#endif
+}
+
+/*
+ * pj_mutex_is_locked()
+ */
+PJ_DEF(pj_bool_t) pj_mutex_is_locked(pj_mutex_t *mutex)
+{
+#if PJ_DEBUG
+    return mutex->owner == pj_thread_this();
+#else
+    PJ_UNUSED_ARG(mutex);
+    pj_assert(!"PJ_DEBUG is not set!");
+    return 1;
+#endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+/*
+ * Win32 lacks Read/Write mutex, so include the emulation.
+ */
+#include "os_rwmutex.c"
+
+///////////////////////////////////////////////////////////////////////////////
+/*
+ * pj_enter_critical_section()
+ */
+PJ_DEF(void) pj_enter_critical_section(void)
+{
+    pj_mutex_lock(&critical_section_mutex);
+}
+
+
+/*
+ * pj_leave_critical_section()
+ */
+PJ_DEF(void) pj_leave_critical_section(void)
+{
+    pj_mutex_unlock(&critical_section_mutex);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0
+
+/*
+ * pj_sem_create()
+ */
+PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, 
+                                   const char *name,
+				   unsigned initial, 
+                                   unsigned max,
+                                   pj_sem_t **sem_ptr)
+{
+    pj_sem_t *sem;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(pool && sem_ptr, PJ_EINVAL);
+
+    sem = pj_pool_alloc(pool, sizeof(*sem));    
+    sem->hSemaphore = CreateSemaphore(NULL, initial, max, NULL);
+    if (!sem->hSemaphore)
+	return PJ_RETURN_OS_ERROR(GetLastError());
+
+    /* Set name. */
+    if (!name) {
+	name = "sem%p";
+    }
+    if (strchr(name, '%')) {
+	pj_ansi_snprintf(sem->obj_name, PJ_MAX_OBJ_NAME, name, sem);
+    } else {
+	pj_ansi_strncpy(sem->obj_name, name, PJ_MAX_OBJ_NAME);
+	sem->obj_name[PJ_MAX_OBJ_NAME-1] = '\0';
+    }
+
+    LOG_MUTEX((sem->obj_name, "Semaphore created"));
+
+    *sem_ptr = sem;
+    return PJ_SUCCESS;
+}
+
+static pj_status_t pj_sem_wait_for(pj_sem_t *sem, unsigned timeout)
+{
+    DWORD result;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(sem, PJ_EINVAL);
+
+    LOG_MUTEX((sem->obj_name, "Semaphore: thread %s is waiting", 
+			      pj_thread_this()->obj_name));
+
+    result = WaitForSingleObject(sem->hSemaphore, timeout);
+    if (result == WAIT_OBJECT_0) {
+	LOG_MUTEX((sem->obj_name, "Semaphore acquired by thread %s", 
+				  pj_thread_this()->obj_name));
+    } else {
+	LOG_MUTEX((sem->obj_name, "Semaphore: thread %s FAILED to acquire", 
+				  pj_thread_this()->obj_name));
+    }
+
+    if (result==WAIT_OBJECT_0)
+        return PJ_SUCCESS;
+    else if (result==WAIT_TIMEOUT)
+        return PJ_ETIMEDOUT;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_sem_wait()
+ */
+PJ_DEF(pj_status_t) pj_sem_wait(pj_sem_t *sem)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(sem, PJ_EINVAL);
+
+    return pj_sem_wait_for(sem, INFINITE);
+}
+
+/*
+ * pj_sem_trywait()
+ */
+PJ_DEF(pj_status_t) pj_sem_trywait(pj_sem_t *sem)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(sem, PJ_EINVAL);
+
+    return pj_sem_wait_for(sem, 0);
+}
+
+/*
+ * pj_sem_post()
+ */
+PJ_DEF(pj_status_t) pj_sem_post(pj_sem_t *sem)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(sem, PJ_EINVAL);
+
+    LOG_MUTEX((sem->obj_name, "Semaphore released by thread %s",
+			      pj_thread_this()->obj_name));
+
+    if (ReleaseSemaphore(sem->hSemaphore, 1, NULL))
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_sem_destroy()
+ */
+PJ_DEF(pj_status_t) pj_sem_destroy(pj_sem_t *sem)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(sem, PJ_EINVAL);
+
+    LOG_MUTEX((sem->obj_name, "Semaphore destroyed by thread %s",
+			      pj_thread_this()->obj_name));
+
+    if (CloseHandle(sem->hSemaphore))
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+#endif	/* PJ_HAS_SEMAPHORE */
+///////////////////////////////////////////////////////////////////////////////
+
+
+#if defined(PJ_HAS_EVENT_OBJ) && PJ_HAS_EVENT_OBJ != 0
+
+/*
+ * pj_event_create()
+ */
+PJ_DEF(pj_status_t) pj_event_create( pj_pool_t *pool, 
+                                     const char *name,
+				     pj_bool_t manual_reset, 
+                                     pj_bool_t initial,
+                                     pj_event_t **event_ptr)
+{
+    pj_event_t *event;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(pool && event_ptr, PJ_EINVAL);
+
+    event = pj_pool_alloc(pool, sizeof(*event));
+    if (!event)
+        return PJ_ENOMEM;
+
+    event->hEvent = CreateEvent(NULL, manual_reset?TRUE:FALSE, 
+				initial?TRUE:FALSE, NULL);
+
+    if (!event->hEvent)
+	return PJ_RETURN_OS_ERROR(GetLastError());
+
+    /* Set name. */
+    if (!name) {
+	name = "evt%p";
+    }
+    if (strchr(name, '%')) {
+	pj_ansi_snprintf(event->obj_name, PJ_MAX_OBJ_NAME, name, event);
+    } else {
+	pj_ansi_strncpy(event->obj_name, name, PJ_MAX_OBJ_NAME);
+	event->obj_name[PJ_MAX_OBJ_NAME-1] = '\0';
+    }
+
+    PJ_LOG(6, (event->obj_name, "Event created"));
+
+    *event_ptr = event;
+    return PJ_SUCCESS;
+}
+
+static pj_status_t pj_event_wait_for(pj_event_t *event, unsigned timeout)
+{
+    DWORD result;
+
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    PJ_LOG(6, (event->obj_name, "Event: thread %s is waiting", 
+			        pj_thread_this()->obj_name));
+
+    result = WaitForSingleObject(event->hEvent, timeout);
+    if (result == WAIT_OBJECT_0) {
+	PJ_LOG(6, (event->obj_name, "Event: thread %s is released", 
+				    pj_thread_this()->obj_name));
+    } else {
+	PJ_LOG(6, (event->obj_name, "Event: thread %s FAILED to acquire", 
+				    pj_thread_this()->obj_name));
+    }
+
+    if (result==WAIT_OBJECT_0)
+        return PJ_SUCCESS;
+    else if (result==WAIT_TIMEOUT)
+        return PJ_ETIMEDOUT;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_event_wait()
+ */
+PJ_DEF(pj_status_t) pj_event_wait(pj_event_t *event)
+{
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    return pj_event_wait_for(event, INFINITE);
+}
+
+/*
+ * pj_event_trywait()
+ */
+PJ_DEF(pj_status_t) pj_event_trywait(pj_event_t *event)
+{
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    return pj_event_wait_for(event, 0);
+}
+
+/*
+ * pj_event_set()
+ */
+PJ_DEF(pj_status_t) pj_event_set(pj_event_t *event)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    PJ_LOG(6, (event->obj_name, "Setting event"));
+
+    if (SetEvent(event->hEvent))
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_event_pulse()
+ */
+PJ_DEF(pj_status_t) pj_event_pulse(pj_event_t *event)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    PJ_LOG(6, (event->obj_name, "Pulsing event"));
+
+    if (PulseEvent(event->hEvent))
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_event_reset()
+ */
+PJ_DEF(pj_status_t) pj_event_reset(pj_event_t *event)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    PJ_LOG(6, (event->obj_name, "Event is reset"));
+
+    if (ResetEvent(event->hEvent))
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_event_destroy()
+ */
+PJ_DEF(pj_status_t) pj_event_destroy(pj_event_t *event)
+{
+    PJ_CHECK_STACK();
+    PJ_ASSERT_RETURN(event, PJ_EINVAL);
+
+    PJ_LOG(6, (event->obj_name, "Event is destroying"));
+
+    if (CloseHandle(event->hEvent))
+        return PJ_SUCCESS;
+    else
+        return PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+#endif	/* PJ_HAS_EVENT_OBJ */
+
+///////////////////////////////////////////////////////////////////////////////
+#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0
+/*
+ * Terminal color
+ */
+
+static WORD pj_color_to_os_attr(pj_color_t color)
+{
+    WORD attr = 0;
+
+    if (color & PJ_TERM_COLOR_R)
+	attr |= FOREGROUND_RED;
+    if (color & PJ_TERM_COLOR_G)
+	attr |= FOREGROUND_GREEN;
+    if (color & PJ_TERM_COLOR_B)
+	attr |= FOREGROUND_BLUE;
+    if (color & PJ_TERM_COLOR_BRIGHT)
+	attr |= FOREGROUND_INTENSITY;
+
+    return attr;
+}
+
+static pj_color_t os_attr_to_pj_color(WORD attr)
+{
+    int color = 0;
+
+    if (attr & FOREGROUND_RED)
+	color |= PJ_TERM_COLOR_R;
+    if (attr & FOREGROUND_GREEN)
+	color |= PJ_TERM_COLOR_G;
+    if (attr & FOREGROUND_BLUE)
+	color |= PJ_TERM_COLOR_B;
+    if (attr & FOREGROUND_INTENSITY)
+	color |= PJ_TERM_COLOR_BRIGHT;
+
+    return color;
+}
+
+
+/*
+ * pj_term_set_color()
+ */
+PJ_DEF(pj_status_t) pj_term_set_color(pj_color_t color)
+{
+    BOOL rc;
+    WORD attr = 0;
+
+    PJ_CHECK_STACK();
+
+    attr = pj_color_to_os_attr(color);
+    rc = SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), attr);
+    return rc ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(GetLastError());
+}
+
+/*
+ * pj_term_get_color()
+ * Get current terminal foreground color.
+ */
+PJ_DEF(pj_color_t) pj_term_get_color(void)
+{
+    CONSOLE_SCREEN_BUFFER_INFO info;
+
+    PJ_CHECK_STACK();
+
+    GetConsoleScreenBufferInfo( GetStdHandle(STD_OUTPUT_HANDLE), &info);
+    return os_attr_to_pj_color(info.wAttributes);
+}
+
+#endif	/* PJ_TERM_HAS_COLOR */
+
+/*
+ * pj_run_app()
+ */
+PJ_DEF(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[],
+                       unsigned flags)
+{
+    PJ_UNUSED_ARG(flags);
+    return (*main_func)(argc, argv);
+}
diff --git a/jni/pjproject-android/.svn/pristine/54/54fa60980a30fa878f093461fab2714d314379ba.svn-base b/jni/pjproject-android/.svn/pristine/54/54fa60980a30fa878f093461fab2714d314379ba.svn-base
new file mode 100644
index 0000000..265b7f2
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/54/54fa60980a30fa878f093461fab2714d314379ba.svn-base
@@ -0,0 +1,655 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * 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 
+ */
+#ifndef __PJSIP_SIP_ENDPOINT_H__
+#define __PJSIP_SIP_ENDPOINT_H__
+
+/**
+ * @file sip_endpoint.h
+ * @brief SIP Endpoint.
+ */
+
+#include <pjsip/sip_transport.h>
+#include <pjsip/sip_resolve.h>
+
+/**
+ * @defgroup PJSIP_CORE_CORE At the Very Core
+ * @ingroup PJSIP_CORE
+ * @brief The very core of PJSIP.
+ */
+
+PJ_BEGIN_DECL
+
+/**
+ * @defgroup PJSIP_ENDPT Endpoint
+ * @ingroup PJSIP_CORE_CORE
+ * @brief The master, owner of all objects
+ *
+ * SIP Endpoint instance (pjsip_endpoint) can be viewed as the master/owner of
+ * all SIP objects in an application. It performs the following roles:
+ *  - it manages the allocation/deallocation of memory pools for all objects.
+ *  - it manages listeners and transports, and how they are used by 
+ *    transactions.
+ *  - it receives incoming messages from transport layer and automatically
+ *    dispatches them to the correct transaction (or create a new one).
+ *  - it has a single instance of timer management (timer heap).
+ *  - it manages modules, which is the primary means of extending the library.
+ *  - it provides single polling function for all objects and distributes 
+ *    events.
+ *  - it automatically handles incoming requests which can not be handled by
+ *    existing modules (such as when incoming request has unsupported method).
+ *  - and so on..
+ *
+ * Application should only instantiate one SIP endpoint instance for every
+ * process.
+ *
+ * @{
+ */
+
+
+/**
+ * Type of callback to register to pjsip_endpt_atexit().
+ */
+typedef void (*pjsip_endpt_exit_callback)(pjsip_endpoint *endpt);
+
+
+/**
+ * Create an instance of SIP endpoint from the specified pool factory.
+ * The pool factory reference then will be kept by the endpoint, so that 
+ * future memory allocations by SIP components will be taken from the same
+ * pool factory.
+ *
+ * @param pf	        Pool factory that will be used for the lifetime of 
+ *                      endpoint.
+ * @param name          Optional name to be specified for the endpoint.
+ *                      If this parameter is NULL, then the name will use
+ *                      local host name.
+ * @param endpt         Pointer to receive endpoint instance.
+ *
+ * @return              PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_create(pj_pool_factory *pf,
+					const char *name,
+                                        pjsip_endpoint **endpt);
+
+/**
+ * Destroy endpoint instance. Application must make sure that all pending
+ * transactions have been terminated properly, because this function does not
+ * check for the presence of pending transactions.
+ *
+ * @param endpt		The SIP endpoint to be destroyed.
+ */
+PJ_DECL(void) pjsip_endpt_destroy(pjsip_endpoint *endpt);
+
+/**
+ * Get endpoint name.
+ *
+ * @param endpt         The SIP endpoint instance.
+ *
+ * @return              Endpoint name, as was registered during endpoint
+ *                      creation. The string is NULL terminated.
+ */
+PJ_DECL(const pj_str_t*) pjsip_endpt_name(const pjsip_endpoint *endpt);
+
+/**
+ * Poll for events. Application must call this function periodically to ensure
+ * that all events from both transports and timer heap are handled in timely
+ * manner.  This function, like all other endpoint functions, is thread safe, 
+ * and application may have more than one thread concurrently calling this function.
+ *
+ * @param endpt		The endpoint.
+ * @param max_timeout	Maximum time to wait for events, or NULL to wait forever
+ *			until event is received.
+ *
+ * @return		PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_handle_events( pjsip_endpoint *endpt, 
+					        const pj_time_val *max_timeout);
+
+
+/**
+ * Handle events with additional info about number of events that
+ * have been handled.
+ *
+ * @param endpt		The endpoint.
+ * @param max_timeout	Maximum time to wait for events, or NULL to wait forever
+ *			until event is received.
+ * @param count		Optional argument to receive the number of events that
+ *			have been handled by the function.
+ *
+ * @return		PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_handle_events2(pjsip_endpoint *endpt,
+					        const pj_time_val *max_timeout,
+					        unsigned *count);
+/**
+ * Schedule timer to endpoint's timer heap. Application must poll the endpoint
+ * periodically (by calling #pjsip_endpt_handle_events) to ensure that the
+ * timer events are handled in timely manner. When the timeout for the timer
+ * has elapsed, the callback specified in the entry argument will be called.
+ * This function, like all other endpoint functions, is thread safe.
+ *
+ * @param endpt	    The endpoint.
+ * @param entry	    The timer entry.
+ * @param delay	    The relative delay of the timer.
+ * @return	    PJ_OK (zero) if successfull.
+ */
+#if PJ_TIMER_DEBUG
+#define pjsip_endpt_schedule_timer(ept,ent,d) \
+			pjsip_endpt_schedule_timer_dbg(ept, ent, d, \
+			                               __FILE__, __LINE__)
+
+PJ_DECL(pj_status_t) pjsip_endpt_schedule_timer_dbg(pjsip_endpoint *endpt,
+						    pj_timer_entry *entry,
+						    const pj_time_val *delay,
+						    const char *src_file,
+						    int src_line);
+#else
+PJ_DECL(pj_status_t) pjsip_endpt_schedule_timer( pjsip_endpoint *endpt,
+						 pj_timer_entry *entry,
+						 const pj_time_val *delay );
+#endif
+
+/**
+ * Cancel the previously registered timer.
+ * This function, like all other endpoint functions, is thread safe.
+ *
+ * @param endpt	    The endpoint.
+ * @param entry	    The timer entry previously registered.
+ */
+PJ_DECL(void) pjsip_endpt_cancel_timer( pjsip_endpoint *endpt, 
+					pj_timer_entry *entry );
+
+/**
+ * Get the timer heap instance of the SIP endpoint.
+ *
+ * @param endpt	    The endpoint.
+ *
+ * @return	    The timer heap instance.
+ */
+PJ_DECL(pj_timer_heap_t*) pjsip_endpt_get_timer_heap(pjsip_endpoint *endpt);
+
+
+/**
+ * Register new module to the endpoint.
+ * The endpoint will then call the load and start function in the module to 
+ * properly initialize the module, and assign a unique module ID for the 
+ * module.
+ *
+ * @param endpt		The endpoint.
+ * @param module	The module to be registered.
+ *
+ * @return		PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_register_module( pjsip_endpoint *endpt,
+						  pjsip_module *module );
+
+/**
+ * Unregister a module from the endpoint.
+ * The endpoint will then call the stop and unload function in the module to 
+ * properly shutdown the module.
+ *
+ * @param endpt		The endpoint.
+ * @param module	The module to be registered.
+ *
+ * @return		PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_unregister_module( pjsip_endpoint *endpt,
+						    pjsip_module *module );
+
+/**
+ * This describes additional parameters to pjsip_endpt_process_rx_data()
+ * function. Application MUST call pjsip_process_rdata_param_default() to
+ * initialize this structure.
+ */
+typedef struct pjsip_process_rdata_param
+{
+    /**
+     * Specify the minimum priority number of the modules that are allowed
+     * to process the message. Default is zero to allow all modules to
+     * process the message.
+     */
+    unsigned start_prio;
+
+    /**
+     * Specify the pointer of the module where processing will start.
+     * The default is NULL, meaning processing will start from the start
+     * of the module list.
+     */
+    void *start_mod;
+
+    /**
+     * Set to N, then processing will start at Nth module after start
+     * module (where start module can be an explicit module as specified
+     * by \a start_mod or the start of module list when \a start_mod is
+     * NULL). For example, if set to 1, then processing will start from
+     * the next module after start module. Default is zero.
+     */
+    unsigned idx_after_start;
+
+    /**
+     * Print nothing to log. Default is PJ_FALSE.
+     */
+    pj_bool_t silent;
+
+} pjsip_process_rdata_param;
+
+/**
+ * Initialize with default.
+ *
+ * @param p	The param.
+ */
+PJ_DECL(void) pjsip_process_rdata_param_default(pjsip_process_rdata_param *p);
+
+/**
+ * Manually distribute the specified pjsip_rx_data to registered modules.
+ * Normally application does not need to call this function because received
+ * messages will be given to endpoint automatically by transports.
+ *
+ * Application can use this function when it has postponed the processing of
+ * an incoming message, for example to perform long operations such as
+ * database operation or to consult other servers to decide what to do with
+ * the message. In this case, application clones the original rdata, return
+ * from the callback, and perform the long operation. Upon completing the
+ * long operation, it resumes pjsip's module processing by calling this
+ * function, and then free the cloned rdata.
+ *
+ * @param endpt		The endpoint instance.
+ * @param rdata		The rdata to be distributed.
+ * @param p		Optional pointer to param to specify from which module
+ * 			the processing should start.
+ * @param p_handled	Optional pointer to receive last return value of
+ * 			module's \a on_rx_request() or \a on_rx_response()
+ * 			callback.
+ *
+ * @return		PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_process_rx_data(pjsip_endpoint *endpt,
+                                                 pjsip_rx_data *rdata,
+                                                 pjsip_process_rdata_param *p,
+                                                 pj_bool_t *p_handled);
+
+/**
+ * Create pool from the endpoint. All SIP components should allocate their
+ * memory pool by calling this function, to make sure that the pools are
+ * allocated from the same pool factory. This function, like all other endpoint
+ * functions, is thread safe.
+ *
+ * @param endpt		The SIP endpoint.
+ * @param pool_name	Name to be assigned to the pool.
+ * @param initial	The initial size of the pool.
+ * @param increment	The resize size.
+ * @return		Memory pool, or NULL on failure.
+ *
+ * @see pj_pool_create
+ */
+PJ_DECL(pj_pool_t*) pjsip_endpt_create_pool( pjsip_endpoint *endpt,
+					     const char *pool_name,
+					     pj_size_t initial,
+					     pj_size_t increment );
+
+/**
+ * Return back pool to endpoint to be released back to the pool factory.
+ * This function, like all other endpoint functions, is thread safe.
+ *
+ * @param endpt	    The endpoint.
+ * @param pool	    The pool to be destroyed.
+ */
+PJ_DECL(void) pjsip_endpt_release_pool( pjsip_endpoint *endpt,
+					pj_pool_t *pool );
+
+/**
+ * Find transaction in endpoint's transaction table by the transaction's key.
+ * This function normally is only used by modules. The key for a transaction
+ * can be created by calling #pjsip_tsx_create_key.
+ *
+ * @param endpt	    The endpoint instance.
+ * @param key	    Transaction key, as created with #pjsip_tsx_create_key.
+ *
+ * @return	    The transaction, or NULL if it's not found.
+ */
+PJ_DECL(pjsip_transaction*) pjsip_endpt_find_tsx( pjsip_endpoint *endpt,
+					          const pj_str_t *key );
+
+/**
+ * Register the transaction to the endpoint's transaction table.
+ * This function should only be used internally by the stack.
+ *
+ * @param endpt	    The SIP endpoint.
+ * @param tsx	    The transaction.
+ */
+PJ_DECL(void) pjsip_endpt_register_tsx( pjsip_endpoint *endpt,
+					pjsip_transaction *tsx);
+
+/**
+ * Forcefull destroy the transaction. This function should only be used
+ * internally by the stack.
+ *
+ * @param endpt	    The endpoint.
+ * @param tsx	    The transaction to destroy.
+ */
+PJ_DECL(void) pjsip_endpt_destroy_tsx( pjsip_endpoint *endpt,
+				      pjsip_transaction *tsx);
+
+/**
+ * Create a new transmit data buffer.
+ * This function, like all other endpoint functions, is thread safe.
+ *
+ * @param endpt	    The endpoint.
+ * @param p_tdata    Pointer to receive transmit data buffer.
+ *
+ * @return	    PJ_SUCCESS or the appropriate error code.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_create_tdata( pjsip_endpoint *endpt,
+					       pjsip_tx_data **p_tdata);
+
+/**
+ * Create the DNS resolver instance. Application creates the DNS
+ * resolver instance, set the nameserver to be used by the DNS
+ * resolver, then set the DNS resolver to be used by the endpoint
+ * by calling #pjsip_endpt_set_resolver().
+ *
+ * @param endpt		The SIP endpoint instance.
+ * @param p_resv	Pointer to receive the DNS resolver instance.
+ *
+ * @return		PJ_SUCCESS on success, or the appropriate error
+ *			code.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_create_resolver(pjsip_endpoint *endpt,
+						 pj_dns_resolver **p_resv);
+
+/**
+ * Set DNS resolver to be used by the SIP resolver. Application can set
+ * the resolver instance to NULL to disable DNS resolution (perhaps
+ * temporarily). When DNS resolver is disabled, the endpoint will resolve
+ * hostnames with the normal pj_gethostbyname() function.
+ *
+ * @param endpt		The SIP endpoint instance.
+ * @param resv		The resolver instance to be used by the SIP
+ *			endpoint.
+ *
+ * @return		PJ_SUCCESS on success, or the appropriate error
+ *			code.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_set_resolver(pjsip_endpoint *endpt,
+					      pj_dns_resolver *resv);
+
+/**
+ * Get the DNS resolver being used by the SIP resolver.
+ *
+ * @param endpt		The SIP endpoint instance.
+ *
+ * @return		The DNS resolver instance currently being used
+ *			by the SIP endpoint.
+ */
+PJ_DECL(pj_dns_resolver*) pjsip_endpt_get_resolver(pjsip_endpoint *endpt);
+
+/**
+ * Asynchronously resolve a SIP target host or domain according to rule 
+ * specified in RFC 3263 (Locating SIP Servers). When the resolving operation
+ * has completed, the callback will be called.
+ *
+ * @param endpt	    The endpoint instance.
+ * @param pool	    The pool to allocate resolver job.
+ * @param target    The target specification to be resolved.
+ * @param token	    A user defined token to be passed back to callback function.
+ * @param cb	    The callback function.
+ */
+PJ_DECL(void) pjsip_endpt_resolve( pjsip_endpoint *endpt,
+				   pj_pool_t *pool,
+				   pjsip_host_info *target,
+				   void *token,
+				   pjsip_resolver_callback *cb);
+
+/**
+ * Get transport manager instance.
+ *
+ * @param endpt	    The endpoint.
+ *
+ * @return	    Transport manager instance.
+ */
+PJ_DECL(pjsip_tpmgr*) pjsip_endpt_get_tpmgr(pjsip_endpoint *endpt);
+
+/**
+ * Get ioqueue instance.
+ *
+ * @param endpt	    The endpoint.
+ *
+ * @return	    The ioqueue.
+ */
+PJ_DECL(pj_ioqueue_t*) pjsip_endpt_get_ioqueue(pjsip_endpoint *endpt);
+
+/**
+ * Find a SIP transport suitable for sending SIP message to the specified
+ * address. If transport selector ("sel") is set, then the function will
+ * check if the transport selected is suitable to send requests to the
+ * specified address.
+ *
+ * @see pjsip_tpmgr_acquire_transport
+ *
+ * @param endpt	    The SIP endpoint instance.
+ * @param type	    The type of transport to be acquired.
+ * @param remote    The remote address to send message to.
+ * @param addr_len  Length of the remote address.
+ * @param sel	    Optional pointer to transport selector instance which is
+ *		    used to find explicit transport, if required.
+ * @param p_tp	    Pointer to receive the transport instance, if one is found.
+ *
+ * @return	    PJ_SUCCESS on success, or the appropriate error code.
+ */
+PJ_DECL(pj_status_t) 
+pjsip_endpt_acquire_transport( pjsip_endpoint *endpt,
+			       pjsip_transport_type_e type,
+			       const pj_sockaddr_t *remote,
+			       int addr_len,
+			       const pjsip_tpselector *sel,
+			       pjsip_transport **p_tp);
+
+
+/**
+ * Find a SIP transport suitable for sending SIP message to the specified
+ * address by also considering the outgoing SIP message data. If transport 
+ * selector ("sel") is set, then the function will check if the transport 
+ * selected is suitable to send requests to the specified address.
+ *
+ * @see pjsip_tpmgr_acquire_transport
+ *
+ * @param endpt	    The SIP endpoint instance.
+ * @param type	    The type of transport to be acquired.
+ * @param remote    The remote address to send message to.
+ * @param addr_len  Length of the remote address.
+ * @param sel	    Optional pointer to transport selector instance which is
+ *		    used to find explicit transport, if required.
+ * @param tdata	    Optional pointer to SIP message data to be sent.
+ * @param p_tp	    Pointer to receive the transport instance, if one is found.
+ *
+ * @return	    PJ_SUCCESS on success, or the appropriate error code.
+ */
+PJ_DECL(pj_status_t) 
+pjsip_endpt_acquire_transport2(pjsip_endpoint *endpt,
+			       pjsip_transport_type_e type,
+			       const pj_sockaddr_t *remote,
+			       int addr_len,
+			       const pjsip_tpselector *sel,
+			       pjsip_tx_data *tdata,
+			       pjsip_transport **p_tp);
+
+
+/*****************************************************************************
+ *
+ * Capabilities Management
+ *
+ * Modules may implement new capabilities to the stack. These capabilities
+ * are indicated by the appropriate SIP header fields, such as Accept,
+ * Accept-Encoding, Accept-Language, Allow, Supported, etc.
+ *
+ * When a module provides new capabilities to the stack, it registers these
+ * capabilities to the endpoint by supplying new tags (strings) to the
+ * appropriate header fields. Application (or other modules) can then query
+ * these header fields to get the list of supported capabilities, and may
+ * include these headers in the outgoing message.
+ *****************************************************************************
+ */
+
+/**
+ * Get the value of the specified capability header field.
+ *
+ * @param endpt	    The endpoint.
+ * @param htype	    The header type to be retrieved, which value may be:
+ *		    - PJSIP_H_ACCEPT
+ *		    - PJSIP_H_ALLOW
+ *		    - PJSIP_H_SUPPORTED
+ * @param hname	    If htype specifies PJSIP_H_OTHER, then the header name
+ *		    must be supplied in this argument. Otherwise the value
+ *		    must be set to NULL.
+ *
+ * @return	    The appropriate header, or NULL if the header is not
+ *		    available.
+ */
+PJ_DECL(const pjsip_hdr*) pjsip_endpt_get_capability( pjsip_endpoint *endpt,
+						      int htype,
+						      const pj_str_t *hname);
+
+
+/**
+ * Check if we have the specified capability.
+ *
+ * @param endpt	    The endpoint.
+ * @param htype	    The header type to be retrieved, which value may be:
+ *		    - PJSIP_H_ACCEPT
+ *		    - PJSIP_H_ALLOW
+ *		    - PJSIP_H_SUPPORTED
+ * @param hname	    If htype specifies PJSIP_H_OTHER, then the header name
+ *		    must be supplied in this argument. Otherwise the value
+ *		    must be set to NULL.
+ * @param token	    The capability token to check. For example, if \a htype
+ *		    is PJSIP_H_ALLOW, then \a token specifies the method
+ *		    names; if \a htype is PJSIP_H_SUPPORTED, then \a token
+ *		    specifies the extension names such as "100rel".
+ *
+ * @return	    PJ_TRUE if the specified capability is supported,
+ *		    otherwise PJ_FALSE..
+ */
+PJ_DECL(pj_bool_t) pjsip_endpt_has_capability( pjsip_endpoint *endpt,
+					       int htype,
+					       const pj_str_t *hname,
+					       const pj_str_t *token);
+
+
+/**
+ * Add or register new capabilities as indicated by the tags to the
+ * appropriate header fields in the endpoint.
+ *
+ * @param endpt	    The endpoint.
+ * @param mod	    The module which registers the capability.
+ * @param htype	    The header type to be set, which value may be:
+ *		    - PJSIP_H_ACCEPT
+ *		    - PJSIP_H_ALLOW
+ *		    - PJSIP_H_SUPPORTED
+ * @param hname	    If htype specifies PJSIP_H_OTHER, then the header name
+ *		    must be supplied in this argument. Otherwise the value
+ *		    must be set to NULL.
+ * @param count	    The number of tags in the array.
+ * @param tags	    Array of tags describing the capabilities or extensions
+ *		    to be added to the appropriate header.
+ *
+ * @return	    PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_add_capability( pjsip_endpoint *endpt,
+						 pjsip_module *mod,
+						 int htype,
+						 const pj_str_t *hname,
+						 unsigned count,
+						 const pj_str_t tags[]);
+
+/**
+ * Get list of additional headers to be put in outgoing request message.
+ * Currently only Max-Forwards are defined.
+ *
+ * @param e	    The endpoint.
+ *
+ * @return	    List of headers.
+ */
+PJ_DECL(const pjsip_hdr*) pjsip_endpt_get_request_headers(pjsip_endpoint *e);
+
+
+/**
+ * Dump endpoint status to the log. This will print the status to the log
+ * with log level 3.
+ *
+ * @param endpt		The endpoint.
+ * @param detail	If non zero, then it will dump a detailed output.
+ *			BEWARE that this option may crash the system because
+ *			it tries to access all memory pools.
+ */
+PJ_DECL(void) pjsip_endpt_dump( pjsip_endpoint *endpt, pj_bool_t detail );
+
+
+/**
+ * Register cleanup function to be called by SIP endpoint when 
+ * #pjsip_endpt_destroy() is called.  Note that application should not
+ * use or access any endpoint resource (such as pool, ioqueue, timer heap)
+ * from within the callback as such resource may have been released when
+ * the callback function is invoked.
+ *
+ * @param endpt		The SIP endpoint.
+ * @param func		The function to be registered.
+ *
+ * @return		PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjsip_endpt_atexit(pjsip_endpoint *endpt,
+					pjsip_endpt_exit_callback func);
+
+
+/**
+ * @}
+ */
+
+
+/**
+ * Log an error.
+ */
+PJ_DECL(void) pjsip_endpt_log_error( pjsip_endpoint *endpt,
+				     const char *sender,
+                                     pj_status_t error_code,
+                                     const char *format,
+                                     ... );
+
+#define PJSIP_ENDPT_LOG_ERROR(expr)   \
+            pjsip_endpt_log_error expr
+
+#define PJSIP_ENDPT_TRACE(tracing,expr) \
+            do {                        \
+                if ((tracing))          \
+                    PJ_LOG(4,expr);     \
+            } while (0)
+
+/*
+ * Internal functions.
+ */
+/*
+ * Receive transaction events from transactions and put in the event queue
+ * to be processed later.
+ */
+void pjsip_endpt_send_tsx_event( pjsip_endpoint *endpt, pjsip_event *evt );
+
+PJ_END_DECL
+
+#endif	/* __PJSIP_SIP_ENDPOINT_H__ */
+