diff options
135 files changed, 16672 insertions, 5356 deletions
@@ -1,3 +1,189 @@ +1997-12-01 17:27 Ulrich Drepper <drepper@cygnus.com> + + * Makefile (subdirs): Add iconvdata and localedata. + + * iconv/gconv.h: Define UNKNOWN_10646_CHAR as error value. + + * iconv/gconv_conf.c (read_conf_file): Little optimization. + + * iconvdata/8bit-gap.c: New file. + * iconvdata/8bit-generic.c: Renamed from ... + * iconvdata/iso8859-generic.c: ...this. + * iconvdata/configure: Removed. + * iconvdata/Makefile: Add new modules and better rules. + * iconvdata/iso6937.c: Minor bug fixes. + * iconvdata/iso8859-1.c: Likewise. + * iconvdata/t61.c: Likewise. + * iconvdata/iso8859-2.c: Change to use 8bit-generic.c. + Minor bug fixes. + * iconvdata/iso8859-3.c: Likewise. + * iconvdata/iso8859-4.c: Likewise. + * iconvdata/iso8859-5.c: Likewise. + * iconvdata/iso8859-6.c: Likewise. + * iconvdata/iso8859-7.c: Likewise. + * iconvdata/iso8859-8.c: Likewise. + * iconvdata/iso8859-9.c: Likewise. + * iconvdata/iso8859-10.c: Likewise. + * iconvdata/ebcdic-at-de-a.c: New file. + * iconvdata/ebcdic-at-de.c: New file. + * iconvdata/ebcdic-ca-fr.c: New file. + * iconvdata/hp-roman8.c: New file. + * iconvdata/koi-8.c: New file. + * iconvdata/koi8-r.c: New file. + * iconvdata/koi8-h.c: New file. + * iconvdata/latin-greek-1.c: New file. + * iconvdata/latin-greek-1.h: New file. + * iconvdata/latin-greek.c: New file. + * iconvdata/latin-greek.h: New file. + * iconvdata/jis0201.c: New file. + * iconvdata/jis0201.h: New file. + * iconvdata/jis0208.c: New file. + * iconvdata/jis0208.h: New file. + * iconvdata/jis0212.c: New file. + * iconvdata/jis0212.h: New file. + * iconvdata/sjis.c: New file. + * iconvdata/gap.pl: New file. Script to generate table header. + * iconvdata/gaptab.pl: New file. + * iconvdata/gconv-modules: Add info about new modules. + + * locale/programs/charmap.c: Also examine alias names given in charmap + files. + + * localedata/*: Add to here from add-on. We need the information + to generate tables for iconv. + + Update from db-2.3.14. + * db2/Makefile: Updated. + * db2/config.h: Likewise. + * db2/db.h: Likewise. + * db2/db_int.h: Likewise. + * db2/btree/bt_cursor.c: Likewise. + * db2/btree/bt_delete.c: Likewise. + * db2/btree/bt_put.c: Likewise. + * db2/btree/bt_search.c: Likewise. + * db2/btree/bt_split.c: Likewise. + * db2/btree/btree_auto.c: Likewise. + * db2/common/db_appinit.c: Likewise. + * db2/common/db_apprec.c: Likewise. + * db2/common/db_err.c: Likewise. + * db2/common/db_region.c: Likewise. + * db2/db/db_auto.c: Likewise. + * db2/db/db_dispatch.c: Likewise. + * db2/db/db_ret.c: Likewise. + * db2/dbm/dbm.c: Likewise. + * db2/hash/hash_auto.c: Likewise. + * db2/include/btree_ext.h: Likewise. + * db2/include/common_ext.h: Likewise. + * db2/include/db.h.src: Likewise. + * db2/include/db_cxx.h: Likewise. + * db2/include/db_ext.h: Likewise. + * db2/include/db_int.h.src: Likewise. + * db2/include/lock.h: Likewise. + * db2/include/log.h: Likewise. + * db2/include/mp.h: Likewise. + * db2/include/mp_ext.h: Likewise. + * db2/include/os_ext.h: Likewise. + * db2/include/os_func.h: Likewise. + * db2/lock/lock.c: Likewise. + * db2/lock/lock_deadlock.c: Likewise. + * db2/log/log.c: Likewise. + * db2/log/log_archive.c: Likewise. + * db2/log/log_auto.c: Likewise. + * db2/log/log_get.c: Likewise. + * db2/log/log_put.c: Likewise. + * db2/mp/mp_bh.c: Likewise. + * db2/mp/mp_fget.c: Likewise. + * db2/mp/mp_fopen.c: Likewise. + * db2/mp/mp_fput.c: Likewise. + * db2/mp/mp_fset.c: Likewise. + * db2/mp/mp_open.c: Likewise. + * db2/mp/mp_pr.c: Likewise. + * db2/mp/mp_region.c: Likewise. + * db2/mp/mp_sync.c: Likewise. + * db2/mutex/README: Likewise. + * db2/mutex/mutex.c: Likewise. + * db2/os/os_open.c: Likewise. + * db2/os/os_func.c: Removed. + * db2/os/os_config.c: New file. + * db2/os/os_spin.c: New file. + * db2/txn/txn.c: Likewise. + * db2/txn/txn_auto.c: Likewise. + +1997-11-30 06:01 Ulrich Drepper <drepper@cygnus.com> + + * posix/sys/wait.h (__WAIT_INT): Don't use complex version with + __typeof for C++ since this fails for class members. + Reported by Neal Becker <neal@ctd.comsat.com>. + +1997-11-28 11:21 Zack Weinberg <zack@rabi.phys.columbia.edu> + + * configure.in: Check for a working makeinfo (3.11 or better). + * config.make.in: Add MAKEINFO to be substituted. + * manual/Makefile: Don't update info if makeinfo is too old. + +1997-11-30 05:21 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/alpha/setjmp.S: Define _ASM and _SETJMP_H to get definitions. + * sysdeps/alpha/__longjmp.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/kernel_termios.h: Include <termios.h> + not <bits/termios.h>. + + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Define syscall as + __llseek and make llseek and lseek64 weak aliases. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + Patches by a sun <asun@zoology.washington.edu>. + +1997-11-29 19:19 Zack Weinberg <zack@rabi.phys.columbia.edu> + + * misc/sys/syslog.h: Delete KERNEL preprocessor conditional. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + * misc/sys/syslog.h: Clean up BSD header. + +1997-11-29 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * sysdeps/unix/sysv/linux/bits/in.h: Add changes from Linux 2.1.67. + + * sysdeps/libm-ieee754/s_ctan.c (__ctan): Raise invalid exception + for ctan(+-inf,x). + * sysdeps/libm-ieee754/s_ctanl.c (__ctanl): Likewise. + * sysdeps/libm-ieee754/s_ctanf.c (__ctanf): Likewise. + + * math/libm-test.c (csqrt_test): Add tests for cabs, carg, ctan, + csqrt (-1), ctanh(i*pi/4). + +1997-11-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * sysdeps/generic/bits/confname.h: Fix comma in enumerator. + +1997-11-28 13:28 Philip Blundell <Philip.Blundell@pobox.com> + + * sysdeps/unix/sysv/linux/net/if_arp.h: Add more ARPHRD_ constants. + +1997-11-26 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * wcsmbs/wcrtomb.c (__wcrtomb): Remove unused variable fake. + +1997-11-26 21:28 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/posix/getcwd.c (GETCWD_STORYGE_CLASS): Remove definition + and use. Define GETCWD_RETURN_TYPE instead and use it. + * sysdeps/unix/sysv/linux/getcwd.c: Define GETCWD_RETURN_TYPE instead + of GETCWD_STORYGE_CLASS and put the return type and the + `internal_function' in the right order for gcc 2.7.2. + +1997-11-26 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * sysdeps/unix/sysv/linux/sys/module.h: Remove file. It's + incompatible with Linux 2.1.x. Packages using modules + (e.g. modutils) should/do provide their own version. Suggested by + Richard Henderson. + + * sysdeps/unix/sysv/linux/Dist: Remove sys/module.h. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers) + [$(subdir)=socket]: Remove sys/module.h. + 1997-11-26 04:28 Ulrich Drepper <drepper@cygnus.com> * eld/dl-profile.c (_dl_start_profile): Avoid FP calculation when @@ -225,7 +411,7 @@ 1997-11-25 Andreas Jaeger <aj@arthur.rhein-neckar.de> - * libio/stdio.h: Correct comment of sys_nerr/sys_errlist + * libio/stdio.h: Correct comment of sys_nerr/sys_errlist. 1997-11-25 Paul Eggert <eggert@shade.twinsun.com> @@ -113,6 +113,9 @@ please let me know. [Q31] ``What's the problem with configure --enable-omitfp?'' [Q32] ``Why don't signals interrupt system calls anymore?'' + +[Q33] ``I've got errors compiling code that uses certain string + functions. Why?'' ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [Q1] ``What systems does the GNU C Library run on?'' @@ -812,7 +815,7 @@ happen. So in case of doubt report such a warning message as a problem. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [Q31] ``What's the problem with configure --enable-omitfp?'' -{AJ} When configuring with --enable-omitfp the libraries are build +[A31] {AJ} When configuring with --enable-omitfp the libraries are build without frame pointers. Some compilers produce in this situation buggy code and therefore we don't advise using it at the moment. @@ -870,6 +873,44 @@ siginterrupt(). ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +[Q33] ``I've got errors compiling code that uses certain string + functions. Why?'' + +[A33] {AJ} glibc 2.1 has the much asked for optimized string +functions that are faster than the normal library functions. Some of +the functions are implemented as inline functions and others as +macros. +The optimized string functions are only used when compiling with +optimizations (-O1 or higher). The behaviour can be changed with two +feature macros: +* __NO_STRING_INLINES: Don't use string optimizations. +* __USE_STRING_INLINES: Use also assembler inline functions (might + increase code use dramatically). + +Since some of these string functions are now additionally defined as +macros, code like "char *strncpy();" doesn't work anymore (and is even +unneccessary since <string.h> has the necessary declarations). Either +change your code or define __NO_STRING_INLINES. + +{UD} Another problem in this area is that the gcc still has problems on +machines with very few registers (e.g., ix86). The inline assembler +code sometimes requires many/all registers and the register allocator +cannot handle these situation in all cases. + +If a function is also defined as a macro in the libc headers one can prevent +the use of the macro easily. E.g., instead of + + cp = strcpy (foo, "lkj"); + +one can write + + cp = (strcpy) (foo, "lkj"); + +Using this method one can avoid using the optimizations for selected +function calls. + + +~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Answers were given by: {UD} Ulrich Drepper, <drepper@cygnus.com> @@ -54,8 +54,8 @@ endif subdirs = csu assert ctype db2 locale intl catgets math setjmp signal stdlib \ stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd \ posix io termios resource misc socket sysvipc gmon gnulib iconv \ - wctype manual shadow md5-crypt po argp $(add-ons) nss \ - $(sysdep-subdirs) $(binfmt-subdir) + iconvdata wctype manual shadow md5-crypt po argp $(add-ons) nss \ + localedata $(sysdep-subdirs) $(binfmt-subdir) export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63. # The mach and hurd subdirectories have many generated header files which diff --git a/bits/confname.h b/bits/confname.h index 4653887468..3991fb1df4 100644 --- a/bits/confname.h +++ b/bits/confname.h @@ -326,11 +326,12 @@ enum /* Values for the NAME argument to `confstr'. */ enum { - _CS_PATH, /* The default search path. */ + _CS_PATH /* The default search path. */ #define _CS_PATH _CS_PATH #if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \ || defined __USE_LARGEFILE) + , _CS_LFS_CFLAGS = 1000, # define _CS_LFS_CFLAGS _CS_LFS_CFLAGS _CS_LFS_LDFLAGS, @@ -345,11 +346,12 @@ enum # define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS _CS_LFS64_LIBS, # define _CS_LFS64_LIBS _CS_LFS64_LIBS - _CS_LFS64_LINTFLAGS, + _CS_LFS64_LINTFLAGS # define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS #endif #ifdef __USE_UNIX98 + , _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, # define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS, @@ -380,7 +382,7 @@ enum # define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LIBS, # define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS - _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS # define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS #endif }; diff --git a/config.make.in b/config.make.in index 6fefeaade3..659ff409ce 100644 --- a/config.make.in +++ b/config.make.in @@ -56,6 +56,7 @@ BUILD_CC = @BUILD_CC@ CFLAGS = @CFLAGS@ AR = @AR@ RANLIB = @RANLIB@ +MAKEINFO = @MAKEINFO@ AS = $(CC) -c # Installation tools. @@ -1180,11 +1180,50 @@ test -n "$MSGFMT" && break done test -n "$MSGFMT" || MSGFMT=":" +# Extract the first word of "makeinfo", so it can be a program name with args. +set dummy makeinfo; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1187: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$MAKEINFO"; then + ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_MAKEINFO="makeinfo" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +MAKEINFO="$ac_cv_prog_MAKEINFO" +if test -n "$MAKEINFO"; then + echo "$ac_t""$MAKEINFO" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test "$MAKEINFO"; then + if $MAKEINFO --version | grep 'texinfo 3\.[1-9][1-9]' >/dev/null 2>&1 + then : # Makeinfo 3.11 or greater, works. + else + echo "configure: warning: +*** makeinfo is too old (need version 3.11 or better). +*** You should install the needed version and re-configure since otherwise +*** you won't get the info pages installed." 1>&2 + MAKEINFO= + fi +fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1188: checking for $ac_word" >&5 +echo "configure:1227: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1213,7 +1252,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1217: checking for $ac_word" >&5 +echo "configure:1256: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1261,7 +1300,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1265: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1304: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1271,11 +1310,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <<EOF -#line 1275 "configure" +#line 1314 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1298,13 +1337,13 @@ else cross_linkable=yes fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1302: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1341: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1308: checking whether we are using GNU C" >&5 +echo "configure:1347: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1313,7 +1352,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1317: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1330,7 +1369,7 @@ if test $ac_cv_prog_gcc = yes; then yes; #endif EOF - if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then if test -z "$CFLAGS"; then CFLAGS="-g -O2" fi @@ -1342,7 +1381,7 @@ else fi echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1346: checking build system type" >&5 +echo "configure:1385: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1365,7 +1404,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1369: checking for $ac_word" >&5 +echo "configure:1408: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1396,7 +1435,7 @@ done fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1400: checking how to run the C preprocessor" >&5 +echo "configure:1439: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1411,13 +1450,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1415 "configure" +#line 1454 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1428,13 +1467,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1432 "configure" +#line 1471 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1467,7 +1506,7 @@ LD=`$CC -print-file-name=ld` # Determine whether we are using GNU binutils. echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6 -echo "configure:1471: checking whether $AS is GNU as" >&5 +echo "configure:1510: checking whether $AS is GNU as" >&5 if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1485,7 +1524,7 @@ rm -f a.out gnu_as=$libc_cv_prog_as_gnu echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6 -echo "configure:1489: checking whether $LD is GNU ld" >&5 +echo "configure:1528: checking whether $LD is GNU ld" >&5 if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1509,7 +1548,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1513: checking for $ac_word" >&5 +echo "configure:1552: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1540,7 +1579,7 @@ fi # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1544: checking for $ac_word" >&5 +echo "configure:1583: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1571,7 +1610,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1575: checking for $ac_word" >&5 +echo "configure:1614: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1606,7 +1645,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1610: checking for $ac_word" >&5 +echo "configure:1649: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1648,7 +1687,7 @@ if test "$BASH" = no; then # Extract the first word of "ksh", so it can be a program name with args. set dummy ksh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1652: checking for $ac_word" >&5 +echo "configure:1691: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1694,7 +1733,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1698: checking for $ac_word" >&5 +echo "configure:1737: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1729,7 +1768,7 @@ test -n "$PERL" || PERL="no" echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6 -echo "configure:1733: checking for signed size_t type" >&5 +echo "configure:1772: checking for signed size_t type" >&5 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1753,12 +1792,12 @@ EOF fi echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6 -echo "configure:1757: checking for libc-friendly stddef.h" >&5 +echo "configure:1796: checking for libc-friendly stddef.h" >&5 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1762 "configure" +#line 1801 "configure" #include "confdefs.h" #define __need_size_t #define __need_wchar_t @@ -1773,7 +1812,7 @@ size_t size; wchar_t wchar; if (&size == NULL || &wchar == NULL) abort (); ; return 0; } EOF -if { (eval echo configure:1777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -1792,7 +1831,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly." fi echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6 -echo "configure:1796: checking whether we need to use -P to assemble .S files" >&5 +echo "configure:1835: checking whether we need to use -P to assemble .S files" >&5 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1823,7 +1862,7 @@ if test $ac_cv_prog_gcc = yes; then # We must check this even if -pipe is not given here, because the user # might do `make CFLAGS=-pipe'. echo $ac_n "checking for gcc 2.7.x -pipe bug""... $ac_c" 1>&6 -echo "configure:1827: checking for gcc 2.7.x -pipe bug" >&5 +echo "configure:1866: checking for gcc 2.7.x -pipe bug" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_pipe_bug'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1852,7 +1891,7 @@ else fi echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6 -echo "configure:1856: checking for assembler global-symbol directive" >&5 +echo "configure:1895: checking for assembler global-symbol directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1882,7 +1921,7 @@ EOF fi echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6 -echo "configure:1886: checking for .set assembler directive" >&5 +echo "configure:1925: checking for .set assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1916,7 +1955,7 @@ EOF fi echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6 -echo "configure:1920: checking for .symver assembler directive" >&5 +echo "configure:1959: checking for .symver assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1935,7 +1974,7 @@ fi echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6 echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6 -echo "configure:1939: checking for ld --version-script" >&5 +echo "configure:1978: checking for ld --version-script" >&5 if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1958,7 +1997,7 @@ EOF if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o -nostartfiles -nostdlib -Wl,--version-script,conftest.map - 1>&5'; { (eval echo configure:1962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; + 1>&5'; { (eval echo configure:2001: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_version_script_option=yes else @@ -1996,7 +2035,7 @@ if test $VERSIONING = no; then fi if test $elf = yes; then echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6 -echo "configure:2000: checking for .previous assembler directive" >&5 +echo "configure:2039: checking for .previous assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2004,7 +2043,7 @@ else .section foo_section .previous EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2047: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_previous_directive=yes else libc_cv_asm_previous_directive=no @@ -2020,7 +2059,7 @@ EOF else echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6 -echo "configure:2024: checking for .popsection assembler directive" >&5 +echo "configure:2063: checking for .popsection assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2028,7 +2067,7 @@ else .pushsection foo_section .popsection EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2071: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_popsection_directive=yes else libc_cv_asm_popsection_directive=no @@ -2048,12 +2087,12 @@ fi if test $elf != yes; then echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6 -echo "configure:2052: checking for .init and .fini sections" >&5 +echo "configure:2091: checking for .init and .fini sections" >&5 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2057 "configure" +#line 2096 "configure" #include "confdefs.h" int main() { @@ -2062,7 +2101,7 @@ asm (".section .init"); asm (".text"); ; return 0; } EOF -if { (eval echo configure:2066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -2090,19 +2129,19 @@ if test $elf = yes; then else if test $ac_cv_prog_cc_works = yes; then echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6 -echo "configure:2094: checking for _ prefix on C symbol names" >&5 +echo "configure:2133: checking for _ prefix on C symbol names" >&5 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2099 "configure" +#line 2138 "configure" #include "confdefs.h" asm ("_glibc_foobar:"); int main() { glibc_foobar (); ; return 0; } EOF -if { (eval echo configure:2106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* libc_cv_asm_underscores=yes else @@ -2117,17 +2156,17 @@ fi echo "$ac_t""$libc_cv_asm_underscores" 1>&6 else echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6 -echo "configure:2121: checking for _ prefix on C symbol names" >&5 +echo "configure:2160: checking for _ prefix on C symbol names" >&5 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2126 "configure" +#line 2165 "configure" #include "confdefs.h" void underscore_test(void) { return; } EOF -if { (eval echo configure:2131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if grep _underscore_test conftest* >/dev/null; then rm -f conftest* libc_cv_asm_underscores=yes @@ -2160,7 +2199,7 @@ if test $elf = yes; then libc_cv_asm_weakext_directive=no else echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6 -echo "configure:2164: checking for assembler .weak directive" >&5 +echo "configure:2203: checking for assembler .weak directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2183,7 +2222,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6 if test $libc_cv_asm_weak_directive = no; then echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6 -echo "configure:2187: checking for assembler .weakext directive" >&5 +echo "configure:2226: checking for assembler .weakext directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2220,7 +2259,7 @@ EOF fi echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6 -echo "configure:2224: checking for ld --no-whole-archive" >&5 +echo "configure:2263: checking for ld --no-whole-archive" >&5 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2231,7 +2270,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c 1>&5'; { (eval echo configure:2235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c 1>&5'; { (eval echo configure:2274: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_no_whole_archive=yes else libc_cv_ld_no_whole_archive=no @@ -2242,7 +2281,7 @@ fi echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6 echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6 -echo "configure:2246: checking for gcc -fno-exceptions" >&5 +echo "configure:2285: checking for gcc -fno-exceptions" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2253,7 +2292,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -fno-exceptions - -o conftest conftest.c 1>&5'; { (eval echo configure:2257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c 1>&5'; { (eval echo configure:2296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_no_exceptions=yes else libc_cv_gcc_no_exceptions=no @@ -2264,12 +2303,12 @@ fi echo "$ac_t""$libc_cv_gcc_no_exceptions" 1>&6 echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6 -echo "configure:2268: checking for DWARF2 unwind info support" >&5 +echo "configure:2307: checking for DWARF2 unwind info support" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <<EOF -#line 2273 "configure" +#line 2312 "configure" static char __EH_FRAME_BEGIN__; _start () { @@ -2290,7 +2329,7 @@ __bzero () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles - -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_dwarf2_unwind_info=yes else libc_cv_gcc_dwarf2_unwind_info=no @@ -2348,7 +2387,7 @@ if test "$uname" = "sysdeps/generic"; then fi echo $ac_n "checking OS release for uname""... $ac_c" 1>&6 -echo "configure:2352: checking OS release for uname" >&5 +echo "configure:2391: checking OS release for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2370,7 +2409,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6 uname_release="$libc_cv_uname_release" echo $ac_n "checking OS version for uname""... $ac_c" 1>&6 -echo "configure:2374: checking OS version for uname" >&5 +echo "configure:2413: checking OS version for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2392,7 +2431,7 @@ else fi echo $ac_n "checking stdio selection""... $ac_c" 1>&6 -echo "configure:2396: checking stdio selection" >&5 +echo "configure:2435: checking stdio selection" >&5 case $stdio in libio) cat >> confdefs.h <<\EOF @@ -2404,7 +2443,7 @@ esac echo "$ac_t""$stdio" 1>&6 echo $ac_n "checking ldap selection""... $ac_c" 1>&6 -echo "configure:2408: checking ldap selection" >&5 +echo "configure:2447: checking ldap selection" >&5 case $add_ons in *ldap*) @@ -2454,7 +2493,7 @@ if test $shared = default; then fi echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6 -echo "configure:2458: checking whether -fPIC is default" >&5 +echo "configure:2497: checking whether -fPIC is default" >&5 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2648,6 +2687,7 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@LN_S@%$LN_S%g s%@MSGFMT@%$MSGFMT%g +s%@MAKEINFO@%$MAKEINFO%g s%@CC@%$CC%g s%@cross_linkable@%$cross_linkable%g s%@build@%$build%g diff --git a/configure.in b/configure.in index b0db91f911..2ff1af5c00 100644 --- a/configure.in +++ b/configure.in @@ -408,6 +408,20 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then fi AC_PROG_LN_S AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :) +AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo) +if test "$MAKEINFO"; then +changequote(,)dnl Need [] for regexps. + if $MAKEINFO --version | grep 'texinfo 3\.[1-9][1-9]' >/dev/null 2>&1 +changequote([,])dnl + then : # Makeinfo 3.11 or greater, works. + else + AC_MSG_WARN([ +*** makeinfo is too old (need version 3.11 or better). +*** You should install the needed version and re-configure since otherwise +*** you won't get the info pages installed.]) + MAKEINFO= + fi +fi AC_PROG_CC_LOCAL AC_CANONICAL_BUILD diff --git a/db2/Makefile b/db2/Makefile index 8083ee3117..0ae06a3089 100644 --- a/db2/Makefile +++ b/db2/Makefile @@ -59,9 +59,9 @@ libdb-routines := bt_close bt_compare bt_conv bt_cursor bt_delete \ bt_split bt_stat btree_auto db db_appinit db_apprec \ db_auto \ db_byteorder db_conv db_dispatch db_dup db_err db_log2 \ - os_abs os_dir os_fid os_fsync os_func os_map os_oflags \ + os_abs os_config os_dir os_fid os_fsync os_map os_oflags \ os_open os_rpath os_rw os_seek os_sleep os_stat os_unlink \ - db_overflow db_pr db_rec db_region db_ret db_salloc \ + os_spin db_overflow db_pr db_rec db_region db_ret db_salloc \ db_shash db_thread hash hash_auto hash_conv hash_debug \ hash_dup hash_func hash_page hash_rec hash_stat lock \ lock_conflict lock_deadlock lock_util log log_archive \ diff --git a/db2/btree/bt_cursor.c b/db2/btree/bt_cursor.c index e5f3faeb70..47ecd7c66d 100644 --- a/db2/btree/bt_cursor.c +++ b/db2/btree/bt_cursor.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)bt_cursor.c 10.35 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)bt_cursor.c 10.37 (Sleepycat) 11/22/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -33,7 +33,7 @@ static int __bam_c_next __P((DB *, CURSOR *, int)); static int __bam_c_physdel __P((DB *, CURSOR *, PAGE *)); static int __bam_c_prev __P((DB *, CURSOR *)); static int __bam_c_put __P((DBC *, DBT *, DBT *, int)); -static int __bam_c_rget __P((DB *, CURSOR *, DBT *, DBT *, int)); +static int __bam_c_rget __P((DB *, CURSOR *, DBT *, int)); static int __bam_c_search __P((DB *, CURSOR *, const DBT *, u_int, int, int *)); /* Discard the current page/lock held by a cursor. */ @@ -229,7 +229,7 @@ __bam_c_del(dbc, flags) B_DSET(GET_BKEYDATA(h, indx + O_INDX)->type); else B_DSET(GET_BKEYDATA(h, indx)->type); - (void)__bam_ca_delete(dbp, pgno, indx, NULL); + (void)__bam_ca_delete(dbp, pgno, indx, NULL, 0); ret = memp_fput(dbp->mpf, h, DB_MPOOL_DIRTY); @@ -313,7 +313,7 @@ __bam_c_get(dbc, key, data, flags) * been rammed into the interface. */ if (LF_ISSET(DB_GET_RECNO)) { - ret = __bam_c_rget(dbp, cp, key, data, flags); + ret = __bam_c_rget(dbp, cp, data, flags); PUTHANDLE(dbp); return (ret); } @@ -441,10 +441,10 @@ err: if (cp->page != NULL) * Return the record number for a cursor. */ static int -__bam_c_rget(dbp, cp, key, data, flags) +__bam_c_rget(dbp, cp, data, flags) DB *dbp; CURSOR *cp; - DBT *key, *data; + DBT *data; int flags; { BTREE *t; @@ -1113,18 +1113,18 @@ __bam_cprint(dbp) /* * __bam_ca_delete -- - * Check if any of the cursors refer to the item we are about to delete. - * We'll return the number of cursors that refer to the item in question. - * If a cursor does refer to the item, then we set its deleted bit. + * Check if any of the cursors refer to the item we are about to delete, + * returning the number of cursors that refer to the item in question. * - * PUBLIC: int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *)); + * PUBLIC: int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *, int)); */ int -__bam_ca_delete(dbp, pgno, indx, curs) +__bam_ca_delete(dbp, pgno, indx, curs, key_delete) DB *dbp; db_pgno_t pgno; u_int32_t indx; CURSOR *curs; + int key_delete; { DBC *dbc; CURSOR *cp; @@ -1140,22 +1140,40 @@ __bam_ca_delete(dbp, pgno, indx, curs) * It's possible for multiple cursors within the thread to have write * locks on the same page, but, cursors within a thread must be single * threaded, so all we're locking here is the cursor linked list. - * - * indx refers to the first of what might be a duplicate set. The - * cursor passed in is the one initiating the delete, so we don't - * want to count it. */ DB_THREAD_LOCK(dbp); + for (count = 0, dbc = TAILQ_FIRST(&dbp->curs_queue); dbc != NULL; dbc = TAILQ_NEXT(dbc, links)) { cp = (CURSOR *)dbc->internal; - if ((curs != cp && - cp->pgno == pgno && cp->indx == indx) || - (cp->dpgno == pgno && cp->dindx == indx)) { - ++count; - F_SET(cp, C_DELETED); - } + + /* + * Optionally, a cursor passed in is the one initiating the + * delete, so we don't want to count it or set its deleted + * flag. Otherwise, if a cursor refers to the item, then we + * set its deleted flag. + */ + if (curs == cp) + continue; + + /* + * If we're deleting the key itself and not just one of its + * duplicates, repoint the cursor to the main-page key/data + * pair, everything else is about to be discarded. + */ + if (key_delete || cp->dpgno == PGNO_INVALID) { + if (cp->pgno == pgno && cp->indx == indx) { + cp->dpgno = PGNO_INVALID; + ++count; + F_SET(cp, C_DELETED); + } + } else + if (cp->dpgno == pgno && cp->dindx == indx) { + ++count; + F_SET(cp, C_DELETED); + } } + DB_THREAD_UNLOCK(dbp); return (count); } @@ -1440,7 +1458,7 @@ __bam_c_physdel(dbp, cp, h) * If the item is referenced by another cursor, leave it up to that * cursor to do the delete. */ - if (__bam_ca_delete(dbp, pgno, indx, cp) != 0) + if (__bam_ca_delete(dbp, pgno, indx, cp, 0) != 0) return (0); /* diff --git a/db2/btree/bt_delete.c b/db2/btree/bt_delete.c index 9593d0109c..dbd1995f89 100644 --- a/db2/btree/bt_delete.c +++ b/db2/btree/bt_delete.c @@ -47,7 +47,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)bt_delete.c 10.22 (Sleepycat) 11/2/97"; +static const char sccsid[] = "@(#)bt_delete.c 10.23 (Sleepycat) 11/22/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -101,17 +101,20 @@ __bam_delete(argdbp, txn, key, flags) h = t->bt_csp->page; indx = t->bt_csp->indx; - /* Delete the key/data pair, including any duplicates. */ + /* Delete the key/data pair, including any on-or-off page duplicates. */ for (cnt = 1, i = indx;; ++cnt) if ((i += P_INDX) >= NUM_ENT(h) || h->inp[i] != h->inp[indx]) break; for (; cnt > 0; --cnt, ++t->lstat.bt_deleted) - if (__bam_ca_delete(dbp, h->pgno, indx, NULL) != 0) { + if (__bam_ca_delete(dbp, h->pgno, indx, NULL, 1) == 0) { + if ((ret = __bam_ditem(dbp, h, indx)) != 0) + goto err; + if ((ret = __bam_ditem(dbp, h, indx)) != 0) + goto err; + } else { B_DSET(GET_BKEYDATA(h, indx + O_INDX)->type); indx += P_INDX; - } else if ((ret = __bam_ditem(dbp, h, indx)) != 0 || - (ret = __bam_ditem(dbp, h, indx)) != 0) - goto err; + } /* If we're using record numbers, update internal page record counts. */ if (F_ISSET(dbp, DB_BT_RECNUM) && (ret = __bam_adjust(dbp, t, -1)) != 0) diff --git a/db2/btree/bt_put.c b/db2/btree/bt_put.c index b3d775bb0f..3161b02b55 100644 --- a/db2/btree/bt_put.c +++ b/db2/btree/bt_put.c @@ -47,7 +47,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)bt_put.c 10.31 (Sleepycat) 10/26/97"; +static const char sccsid[] = "@(#)bt_put.c 10.35 (Sleepycat) 11/22/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -64,6 +64,7 @@ static const char sccsid[] = "@(#)bt_put.c 10.31 (Sleepycat) 10/26/97"; #include "btree.h" static int __bam_fixed __P((BTREE *, DBT *)); +static int __bam_isdeleted __P((DB *, PAGE *, u_int32_t, int *)); static int __bam_lookup __P((DB *, DBT *, int *)); static int __bam_ndup __P((DB *, PAGE *, u_int32_t)); static int __bam_ovput __P((DB *, PAGE *, u_int32_t, DBT *)); @@ -89,7 +90,7 @@ __bam_put(argdbp, txn, key, data, flags) DB *dbp; PAGE *h; db_indx_t indx; - int exact, iflags, newkey, replace, ret, stack; + int exact, iflags, isdeleted, newkey, replace, ret, stack; DEBUG_LWRITE(argdbp, txn, "bam_put", key, data, flags); @@ -114,21 +115,25 @@ retry: /* stack = 1; /* - * If an identical key is already in the tree, and DB_NOOVERWRITE is - * set, an error is returned. If an identical key is already in the - * tree and DB_NOOVERWRITE is not set, the key is either added (when - * duplicates are permitted) or an error is returned. The exception - * is when the item located is referenced by a cursor and marked for - * deletion, in which case we permit the overwrite and flag the cursor. + * If DB_NOOVERWRITE is set and there's an identical key in the tree, + * return an error unless the data item has already been marked for + * deletion, or, all the remaining data items have already been marked + * for deletion in the case of duplicates. If all the data items have + * been marked for deletion, we do a replace, otherwise, it has to be + * a set of duplicates, and we simply append a new one to the set. */ - replace = 0; - if (exact && flags == DB_NOOVERWRITE) { - if (!B_DISSET(GET_BKEYDATA(h, indx + O_INDX)->type)) { - ret = DB_KEYEXIST; + isdeleted = replace = 0; + if (exact) { + if ((ret = __bam_isdeleted(dbp, h, indx, &isdeleted)) != 0) goto err; - } - replace = 1; - __bam_ca_replace(dbp, h->pgno, indx, REPLACE_SETUP); + if (isdeleted) { + replace = 1; + __bam_ca_replace(dbp, h->pgno, indx, REPLACE_SETUP); + } else + if (flags == DB_NOOVERWRITE) { + ret = DB_KEYEXIST; + goto err; + } } /* @@ -151,7 +156,7 @@ retry: /* */ newkey = dbp->type == DB_BTREE && !exact; if (exact) { - if (F_ISSET(dbp, DB_AM_DUP)) { + if (!isdeleted && F_ISSET(dbp, DB_AM_DUP)) { /* * Make sure that we're not looking at a page of * duplicates -- if so, move to the last entry on @@ -234,6 +239,88 @@ err: if (stack) } /* + * __bam_isdeleted -- + * Return if the only remaining data item for the element has been + * deleted. + */ +static int +__bam_isdeleted(dbp, h, indx, isdeletedp) + DB *dbp; + PAGE *h; + u_int32_t indx; + int *isdeletedp; +{ + BKEYDATA *bk; + db_pgno_t pgno; + int ret; + + *isdeletedp = 1; + for (;;) { + bk = GET_BKEYDATA(h, indx + O_INDX); + switch (B_TYPE(bk->type)) { + case B_KEYDATA: + case B_OVERFLOW: + if (!B_DISSET(bk->type)) { + *isdeletedp = 0; + return (0); + } + break; + case B_DUPLICATE: + /* + * If the data item referencing the off-page duplicates + * is flagged as deleted, we're done. Else, we have to + * walk the chain of duplicate pages. + */ + if (B_DISSET(bk->type)) + return (0); + goto dupchk; + default: + return (__db_pgfmt(dbp, h->pgno)); + } + + /* + * If there are no more on-page duplicate items, then every + * data item for this key must have been deleted. + */ + if (indx + P_INDX >= (u_int32_t)NUM_ENT(h)) + return (0); + if (h->inp[indx] != h->inp[indx + P_INDX]) + return (0); + + /* Check the next item. */ + indx += P_INDX; + } + /* NOTREACHED */ + +dupchk: /* Check a chain of duplicate pages. */ + pgno = ((BOVERFLOW *)bk)->pgno; + for (;;) { + /* Acquire the next page in the duplicate chain. */ + if ((ret = memp_fget(dbp->mpf, &pgno, 0, &h)) != 0) + return (ret); + + /* Check each item for a delete flag. */ + for (indx = 0; indx < NUM_ENT(h); ++indx) + if (!B_DISSET(GET_BKEYDATA(h, indx)->type)) { + *isdeletedp = 0; + goto done; + } + /* + * If we reach the end of the duplicate pages, then every + * item we reviewed must have been deleted. + */ + if ((pgno = NEXT_PGNO(h)) == PGNO_INVALID) + goto done; + + (void)memp_fput(dbp->mpf, h, 0); + } + /* NOTREACHED */ + +done: (void)memp_fput(dbp->mpf, h, 0); + return (0); +} + +/* * __bam_lookup -- * Find the right location in the tree for the key. */ @@ -425,10 +512,10 @@ __bam_iitem(dbp, hp, indxp, key, data, op, flags) if (op == DB_CURRENT) { bk = GET_BKEYDATA(h, indx + (TYPE(h) == P_LBTREE ? O_INDX : 0)); - if (B_TYPE(bk->type) == B_OVERFLOW) - have_bytes = BOVERFLOW_PSIZE; - else + if (B_TYPE(bk->type) == B_KEYDATA) have_bytes = BKEYDATA_PSIZE(bk->len); + else + have_bytes = BOVERFLOW_PSIZE; need_bytes = 0; } else { have_bytes = 0; @@ -542,7 +629,7 @@ __bam_iitem(dbp, hp, indxp, key, data, op, flags) * If we're dealing with offpage items, we have to * delete and then re-add the item. */ - if (bigdata || B_TYPE(bk->type) == B_OVERFLOW) { + if (bigdata || B_TYPE(bk->type) != B_KEYDATA) { if ((ret = __bam_ditem(dbp, h, indx)) != 0) return (ret); break; @@ -704,9 +791,9 @@ __bam_ritem(dbp, h, indx, data) { BKEYDATA *bk; DBT orig, repl; - db_indx_t lo, ln, min, off, prefix, suffix; + db_indx_t cnt, lo, ln, min, off, prefix, suffix; int32_t nbytes; - int cnt, ret; + int ret; u_int8_t *p, *t; /* diff --git a/db2/btree/bt_search.c b/db2/btree/bt_search.c index a21a8208bc..c39c9af322 100644 --- a/db2/btree/bt_search.c +++ b/db2/btree/bt_search.c @@ -47,7 +47,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)bt_search.c 10.8 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)bt_search.c 10.9 (Sleepycat) 11/18/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -119,12 +119,20 @@ __bam_search(dbp, key, flags, stop, recnop, exactp) return (ret); } - /* Decide if we need to save this page; if we do, write lock it. */ + /* + * Decide if we need to save this page; if we do, write lock it. + * We deliberately don't lock-couple on this call. If the tree + * is tiny, i.e., one page, and two threads are busily updating + * the root page, we're almost guaranteed deadlocks galore, as + * each one gets a read lock and then blocks the other's attempt + * for a write lock. + */ if (!stack && ((LF_ISSET(S_PARENT) && (u_int8_t)(stop + 1) >= h->level) || (LF_ISSET(S_WRITE) && h->level == LEAFLEVEL))) { (void)memp_fput(dbp->mpf, h, 0); - if ((ret = __bam_lget(dbp, 1, pg, DB_LOCK_WRITE, &lock)) != 0) + (void)__BT_LPUT(dbp, lock); + if ((ret = __bam_lget(dbp, 0, pg, DB_LOCK_WRITE, &lock)) != 0) return (ret); if ((ret = __bam_pget(dbp, &h, &pg, 0)) != 0) { (void)__BT_LPUT(dbp, lock); diff --git a/db2/btree/bt_split.c b/db2/btree/bt_split.c index bc09131b00..219d486dc5 100644 --- a/db2/btree/bt_split.c +++ b/db2/btree/bt_split.c @@ -44,7 +44,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)bt_split.c 10.17 (Sleepycat) 11/2/97"; +static const char sccsid[] = "@(#)bt_split.c 10.18 (Sleepycat) 11/23/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -396,14 +396,14 @@ __bam_broot(dbp, rootp, lp, rp) * The btree comparison code guarantees that the left-most key on any * level of the tree is never used, so it doesn't need to be filled in. */ + memset(&bi, 0, sizeof(bi)); bi.len = 0; B_TSET(bi.type, B_KEYDATA, 0); bi.pgno = lp->pgno; if (F_ISSET(dbp, DB_BT_RECNUM)) { bi.nrecs = __bam_total(lp); RE_NREC_SET(rootp, bi.nrecs); - } else - bi.nrecs = 0; + } hdr.data = &bi; hdr.size = SSZA(BINTERNAL, data); if ((ret = @@ -591,6 +591,7 @@ __bam_pinsert(dbp, parent, lchild, rchild) return (DB_NEEDSPLIT); /* Add a new record for the right page. */ + memset(&bi, 0, sizeof(bi)); bi.len = child_bi->len; B_TSET(bi.type, child_bi->type, 0); bi.pgno = rchild->pgno; @@ -640,6 +641,7 @@ noprefix: nksize = child_bk->len; if (P_FREESPACE(ppage) < nbytes) return (DB_NEEDSPLIT); + memset(&bi, 0, sizeof(bi)); bi.len = nksize; B_TSET(bi.type, child_bk->type, 0); bi.pgno = rchild->pgno; @@ -661,6 +663,7 @@ noprefix: nksize = child_bk->len; if (P_FREESPACE(ppage) < nbytes) return (DB_NEEDSPLIT); + memset(&bi, 0, sizeof(bi)); bi.len = BOVERFLOW_SIZE; B_TSET(bi.type, child_bk->type, 0); bi.pgno = rchild->pgno; diff --git a/db2/btree/btree_auto.c b/db2/btree/btree_auto.c index 45232bbc41..18b9b34975 100644 --- a/db2/btree/btree_auto.c +++ b/db2/btree/btree_auto.c @@ -100,7 +100,6 @@ int __bam_pg_alloc_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_pg_alloc_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_pg_alloc_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -265,7 +264,6 @@ int __bam_pg_free_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_pg_free_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_pg_free_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -460,7 +458,6 @@ int __bam_split_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_split_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_split_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -657,7 +654,6 @@ int __bam_rsplit_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_rsplit_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_rsplit_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -836,7 +832,6 @@ int __bam_adj_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_adj_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_adj_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -995,7 +990,6 @@ int __bam_cadjust_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_cadjust_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_cadjust_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1145,7 +1139,6 @@ int __bam_cdel_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_cdel_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_cdel_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1329,7 +1322,6 @@ int __bam_repl_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __bam_repl_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __bam_repl_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; diff --git a/db2/common/db_appinit.c b/db2/common/db_appinit.c index 74ba9ff426..05fc7cc084 100644 --- a/db2/common/db_appinit.c +++ b/db2/common/db_appinit.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)db_appinit.c 10.36 (Sleepycat) 10/28/97"; +static const char sccsid[] = "@(#)db_appinit.c 10.37 (Sleepycat) 11/25/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -108,10 +108,23 @@ db_appinit(db_home, db_config, dbenv, flags) if ((ret = __db_parse(dbenv, *p)) != 0) goto err; - /* Parse the config file. */ + /* + * Parse the config file. + * + * XXX + * Don't use sprintf(3)/snprintf(3) -- the former is dangerous, and + * the latter isn't standard, and we're manipulating strings handed + * us by the application. + */ if (dbenv->db_home != NULL) { - (void)snprintf(buf, - sizeof(buf), "%s/DB_CONFIG", dbenv->db_home); +#define CONFIG_NAME "/DB_CONFIG" + if (strlen(dbenv->db_home) + + strlen(CONFIG_NAME) + 1 > sizeof(buf)) { + ret = ENAMETOOLONG; + goto err; + } + (void)strcpy(buf, dbenv->db_home); + (void)strcat(buf, CONFIG_NAME); if ((fp = fopen(buf, "r")) != NULL) { while (fgets(buf, sizeof(buf), fp) != NULL) { if ((lp = strchr(buf, '\n')) != NULL) diff --git a/db2/common/db_apprec.c b/db2/common/db_apprec.c index ac0176d70f..188c6b9f95 100644 --- a/db2/common/db_apprec.c +++ b/db2/common/db_apprec.c @@ -11,7 +11,7 @@ static const char copyright[] = "@(#) Copyright (c) 1997\n\ Sleepycat Software Inc. All rights reserved.\n"; -static const char sccsid[] = "@(#)db_apprec.c 10.18 (Sleepycat) 9/30/97"; +static const char sccsid[] = "@(#)db_apprec.c 10.19 (Sleepycat) 11/23/97"; #endif #ifndef NO_SYSTEM_INCLUDES @@ -72,10 +72,8 @@ __db_apprec(dbenv, flags) if (LF_ISSET(DB_RECOVER_FATAL)) first_flag = DB_FIRST; else { - if ((ret = __log_findckp(lp, &lsn)) == DB_NOTFOUND) { - F_SET(lp, is_thread); - return (0); - } + if ((ret = __log_findckp(lp, &lsn)) == DB_NOTFOUND) + goto out; first_flag = DB_SET; } @@ -88,7 +86,7 @@ __db_apprec(dbenv, flags) (u_long)lsn.file, (u_long)lsn.offset); else __db_err(dbenv, "Retrieving first LSN"); - goto err; + goto out; } first_lsn = lsn; @@ -99,7 +97,7 @@ __db_apprec(dbenv, flags) if ((ret = log_get(dbenv->lg_info, &lsn, &data, DB_NEXT)) != 0) { if (ret != DB_NOTFOUND) - goto err; + goto out; break; } } @@ -123,7 +121,7 @@ __db_apprec(dbenv, flags) goto msgerr; } if (ret != 0 && ret != DB_NOTFOUND) - goto err; + goto out; for (ret = log_get(lp, &lsn, &data, DB_NEXT); ret == 0; ret = log_get(lp, &lsn, &data, DB_NEXT)) { @@ -134,7 +132,7 @@ __db_apprec(dbenv, flags) goto msgerr; } if (ret != DB_NOTFOUND) - goto err; + goto out; /* Now close all the db files that are open. */ __log_close_files(lp); @@ -148,7 +146,7 @@ __db_apprec(dbenv, flags) dbenv->tx_info->region->last_ckp = ckp_lsn; dbenv->tx_info->region->time_ckp = (u_int32_t)now; if ((ret = txn_checkpoint(dbenv->tx_info, 0, 0)) != 0) - goto err; + goto out; if (dbenv->db_verbose) { __db_err(lp->dbenv, "Recovery complete at %s", ctime(&now)); @@ -160,12 +158,13 @@ __db_apprec(dbenv, flags) (u_long)dbenv->tx_info->region->last_ckp.offset); } - F_SET(lp, is_thread); - return (0); + if (0) { +msgerr: __db_err(dbenv, "Recovery function for LSN %lu %lu failed", + (u_long)lsn.file, (u_long)lsn.offset); + } -msgerr: __db_err(dbenv, "Recovery function for LSN %lu %lu failed", - (u_long)lsn.file, (u_long)lsn.offset); +out: F_SET(lp, is_thread); + __db_txnlist_end(txninfo); -err: F_SET(lp, is_thread); return (ret); } diff --git a/db2/common/db_err.c b/db2/common/db_err.c index f3e7b40448..13f2cb5dc3 100644 --- a/db2/common/db_err.c +++ b/db2/common/db_err.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)db_err.c 10.18 (Sleepycat) 8/27/97"; +static const char sccsid[] = "@(#)db_err.c 10.19 (Sleepycat) 11/9/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -302,10 +302,13 @@ __db_cgetchk(dbp, key, data, flags, isvalid) break; case DB_SET: break; - case DB_SET_RECNO: case DB_GET_RECNO: if (!F_ISSET(dbp, DB_BT_RECNUM)) goto err; + break; + case DB_SET_RECNO: + if (!F_ISSET(dbp, DB_BT_RECNUM)) + goto err; check_key = 1; break; default: @@ -313,8 +316,9 @@ err: return (__db_ferr(dbp->dbenv, "c_get", 0)); } /* Check for invalid key/data flags. */ - DB_CHECK_FLAGS(dbp->dbenv, "key", key->flags, - DB_DBT_MALLOC | DB_DBT_USERMEM | DB_DBT_PARTIAL); + if (check_key) + DB_CHECK_FLAGS(dbp->dbenv, "key", key->flags, + DB_DBT_MALLOC | DB_DBT_USERMEM | DB_DBT_PARTIAL); DB_CHECK_FLAGS(dbp->dbenv, "data", data->flags, DB_DBT_MALLOC | DB_DBT_USERMEM | DB_DBT_PARTIAL); diff --git a/db2/common/db_region.c b/db2/common/db_region.c index 3e8cd2dc66..4fc603a2b0 100644 --- a/db2/common/db_region.c +++ b/db2/common/db_region.c @@ -43,7 +43,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)db_region.c 10.15 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)db_region.c 10.18 (Sleepycat) 11/28/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -80,14 +80,14 @@ static int __db_rmap __P((DB_ENV *, int, size_t, void *)); * into memory, NULL on error. * * PUBLIC: int __db_rcreate __P((DB_ENV *, APPNAME, - * PUBLIC: const char *, const char *, int, size_t, int *, void *)); + * PUBLIC: const char *, const char *, int, size_t, int, int *, void *)); */ int -__db_rcreate(dbenv, appname, path, file, mode, size, fdp, retp) +__db_rcreate(dbenv, appname, path, file, mode, size, oflags, fdp, retp) DB_ENV *dbenv; APPNAME appname; const char *path, *file; - int mode, *fdp; + int mode, oflags, *fdp; size_t size; void *retp; { @@ -110,12 +110,13 @@ __db_rcreate(dbenv, appname, path, file, mode, size, fdp, retp) /* * Now open the file. We need to make sure that multiple processes * that attempt to create the region at the same time are properly - * ordered, so we open it O_EXCL and O_CREAT so two simultaneous + * ordered, so we open it DB_EXCL and DB_CREATE so two simultaneous * attempts to create the region will return failure in one of the * attempts. */ - if (fd == -1 && (ret = __db_open(name, - DB_CREATE | DB_EXCL, DB_CREATE | DB_EXCL, mode, &fd)) != 0) { + oflags |= DB_CREATE | DB_EXCL; + if (fd == -1 && + (ret = __db_open(name, oflags, oflags, mode, &fd)) != 0) { if (ret != EEXIST) __db_err(dbenv, "region create: %s: %s", name, strerror(ret)); @@ -398,7 +399,7 @@ __db_runlink(dbenv, appname, path, file, force) /* If the file doesn't exist, we're done. */ if (__db_exists(name, NULL)) - return (0); /* XXX: ENOENT? */ + goto done; /* * If we're called with a force flag, try and unlink the file. This @@ -412,8 +413,7 @@ __db_runlink(dbenv, appname, path, file, force) if (force) { if ((ret = __db_unlink(name)) != 0 && ret != ENOENT) goto err1; - FREES(name); - return (0); + goto done; } /* Open and lock the region. */ @@ -453,7 +453,7 @@ __db_runlink(dbenv, appname, path, file, force) (void)__db_sleep(0, 250000); } if (ret == 0) { - FREES(name); +done: FREES(name); return (0); } @@ -467,6 +467,7 @@ __db_runlink(dbenv, appname, path, file, force) err2: (void)__db_mutex_unlock(&rp->lock, fd); (void)__db_rclose(dbenv, fd, rp); err1: __db_err(dbenv, "region unlink: %s: %s", name, strerror(ret)); + FREES(name); return (ret); } diff --git a/db2/config.h b/db2/config.h index 27dbdaa439..7f784a0d9b 100644 --- a/db2/config.h +++ b/db2/config.h @@ -114,6 +114,9 @@ /* Define if you have the strsep function. */ #define HAVE_STRSEP 1 +/* Define if you have the sysconf function. */ +#define HAVE_SYSCONF 1 + /* Define if you have the vsnprintf function. */ #define HAVE_VSNPRINTF 1 @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)db.h.src 10.91 (Sleepycat) 11/3/97 + * @(#)db.h.src 10.97 (Sleepycat) 11/28/97 */ #ifndef _DB_H_ @@ -73,8 +73,8 @@ #define DB_VERSION_MAJOR 2 #define DB_VERSION_MINOR 3 -#define DB_VERSION_PATCH 12 -#define DB_VERSION_STRING "Sleepycat Software: DB 2.3.12: (11/3/97)" +#define DB_VERSION_PATCH 14 +#define DB_VERSION_STRING "Sleepycat Software: DB 2.3.14: (11/28/97)" typedef u_int32_t db_pgno_t; /* Page number type. */ typedef u_int16_t db_indx_t; /* Page offset type. */ @@ -129,8 +129,10 @@ struct __db_dbt { }; /* - * DB configuration. There are a set of functions which the application - * can replace with its own versions. + * DB internal configuration. + * + * There are a set of functions that the application can replace with its + * own versions, and some other knobs which can be turned at run-time. */ #define DB_FUNC_CALLOC 1 /* ANSI C calloc. */ #define DB_FUNC_CLOSE 2 /* POSIX 1003.1 close. */ @@ -147,11 +149,12 @@ struct __db_dbt { #define DB_FUNC_REALLOC 13 /* ANSI C realloc. */ #define DB_FUNC_SEEK 14 /* POSIX 1003.1 lseek. */ #define DB_FUNC_SLEEP 15 /* DB: sleep secs/usecs. */ -#define DB_FUNC_STRDUP 16 /* ANSI C strdup. */ +#define DB_FUNC_STRDUP 16 /* DB: strdup(3). */ #define DB_FUNC_UNLINK 17 /* POSIX 1003.1 unlink. */ #define DB_FUNC_UNMAP 18 /* DB: unmap shared memory file. */ #define DB_FUNC_WRITE 19 /* POSIX 1003.1 write. */ #define DB_FUNC_YIELD 20 /* DB: yield thread to scheduler. */ +#define DB_TSL_SPINS 21 /* DB: initialize spin count. */ /* * Database configuration and initialization. @@ -211,10 +214,10 @@ struct __db_dbt { * locking subsystem. */ #define DB_LOCK_NORUN 0x0 -#define DB_LOCK_DEFAULT 0x1 -#define DB_LOCK_OLDEST 0x2 -#define DB_LOCK_RANDOM 0x3 -#define DB_LOCK_YOUNGEST 0x4 +#define DB_LOCK_DEFAULT 0x1 /* Default policy. */ +#define DB_LOCK_OLDEST 0x2 /* Abort oldest transaction. */ +#define DB_LOCK_RANDOM 0x3 /* Abort random transaction. */ +#define DB_LOCK_YOUNGEST 0x4 /* Abort youngest transaction. */ struct __db_env { int db_lorder; /* Byte order. */ @@ -265,6 +268,10 @@ struct __db_env { /******************************************************* * Access methods. *******************************************************/ +/* + * XXX + * Changes here must be reflected in java/src/com/sleepycat/db/Db.java. + */ typedef enum { DB_BTREE=1, /* B+tree. */ DB_HASH, /* Extended Linear Hashing. */ @@ -347,7 +354,13 @@ struct __db_info { #define DB_SET_RANGE 0x020000 /* c_get() */ #define DB_SET_RECNO 0x040000 /* c_get() */ -/* DB (user visible) error return codes. */ +/* + * DB (user visible) error return codes. + * + * XXX + * Changes to any of the user visible error return codes must be reflected + * in java/src/com/sleepycat/db/Db.java. + */ #define DB_INCOMPLETE ( -1) /* Sync didn't finish. */ #define DB_KEYEMPTY ( -2) /* The key/data pair was deleted or was never created by the user. */ @@ -516,6 +529,7 @@ int db_appinit __P((const char *, char * const *, DB_ENV *, int)); int db_appexit __P((DB_ENV *)); int db_jump_set __P((void *, int)); int db_open __P((const char *, DBTYPE, int, int, DB_ENV *, DB_INFO *, DB **)); +int db_value_set __P((int, int)); char *db_version __P((int *, int *, int *)); #if defined(__cplusplus) }; @@ -533,16 +547,26 @@ char *db_version __P((int *, int *, int *)); /* Flag values for lock_detect(). */ #define DB_LOCK_CONFLICT 0x01 /* Run on any conflict. */ -/* Request types. */ +/* + * Request types. + * + * XXX + * Changes here must be reflected in java/src/com/sleepycat/db/Db.java. + */ typedef enum { - DB_LOCK_DUMP, /* Display held locks. */ + DB_LOCK_DUMP=0, /* Display held locks. */ DB_LOCK_GET, /* Get the lock. */ DB_LOCK_PUT, /* Release the lock. */ DB_LOCK_PUT_ALL, /* Release locker's locks. */ DB_LOCK_PUT_OBJ /* Release locker's locks on obj. */ } db_lockop_t; -/* Simple R/W lock modes and for multi-granularity intention locking. */ +/* + * Simple R/W lock modes and for multi-granularity intention locking. + * + * XXX + * Changes here must be reflected in java/src/com/sleepycat/db/Db.java. + */ typedef enum { DB_LOCK_NG=0, /* Not granted. */ DB_LOCK_READ, /* Shared/read. */ @@ -577,7 +601,7 @@ extern const u_int8_t db_riw_conflicts[]; extern "C" { #endif int lock_close __P((DB_LOCKTAB *)); -int lock_detect __P((DB_LOCKTAB *, int, u_int32_t)); +int lock_detect __P((DB_LOCKTAB *, int, int)); int lock_get __P((DB_LOCKTAB *, u_int32_t, int, const DBT *, db_lockmode_t, DB_LOCK *)); int lock_id __P((DB_LOCKTAB *, u_int32_t *)); diff --git a/db2/db/db_auto.c b/db2/db/db_auto.c index d40d964542..88bca7b583 100644 --- a/db2/db/db_auto.c +++ b/db2/db/db_auto.c @@ -122,7 +122,6 @@ int __db_addrem_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_addrem_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_addrem_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -312,7 +311,6 @@ int __db_split_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_split_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_split_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -507,7 +505,6 @@ int __db_big_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_big_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_big_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -678,7 +675,6 @@ int __db_ovref_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_ovref_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_ovref_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -842,7 +838,6 @@ int __db_relink_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_relink_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_relink_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1005,7 +1000,6 @@ int __db_addpage_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_addpage_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_addpage_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1180,7 +1174,6 @@ int __db_debug_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __db_debug_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_debug_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1335,7 +1328,6 @@ int __db_noop_log(logp, txnid, ret_lsnp, flags) * PUBLIC: int __db_noop_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __db_noop_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; diff --git a/db2/db/db_dispatch.c b/db2/db/db_dispatch.c index a4bcdb7628..4f89d2b917 100644 --- a/db2/db/db_dispatch.c +++ b/db2/db/db_dispatch.c @@ -43,7 +43,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)db_dispatch.c 10.6 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)db_dispatch.c 10.7 (Sleepycat) 11/23/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -236,8 +236,8 @@ __db_txnlist_find(listp, txnid) void *listp; u_int32_t txnid; { - __db_txnlist *p; __db_txnhead *hp; + __db_txnlist *p; if ((hp = (struct __db_txnhead *)listp) == NULL) return (DB_NOTFOUND); @@ -255,12 +255,16 @@ __db_txnlist_find(listp, txnid) } #ifdef DEBUG +/* + * __db_txnlist_print -- + * Print out the transaction list. + */ void __db_txnlist_print(listp) void *listp; { - __db_txnlist *p; __db_txnhead *hp; + __db_txnlist *p; hp = (struct __db_txnhead *)listp; printf("Maxid: %lu\n", (u_long)hp->maxid); @@ -268,3 +272,24 @@ __db_txnlist_print(listp) printf("TXNID: %lu\n", (u_long)p->txnid); } #endif + +/* + * __db_txnlist_end -- + * Discard transaction linked list. + * + * PUBLIC: void __db_txnlist_end __P((void *)); + */ +void +__db_txnlist_end(listp) + void *listp; +{ + __db_txnhead *hp; + __db_txnlist *p; + + hp = (struct __db_txnhead *)listp; + while ((p = LIST_FIRST(&hp->head)) != LIST_END(&hp->head)) { + LIST_REMOVE(p, links); + __db_free(p); + } + __db_free(listp); +} diff --git a/db2/db/db_ret.c b/db2/db/db_ret.c index bcec308b95..65441aa45a 100644 --- a/db2/db/db_ret.c +++ b/db2/db/db_ret.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)db_ret.c 10.8 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)db_ret.c 10.10 (Sleepycat) 11/28/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -116,35 +116,48 @@ __db_retcopy(dbt, data, len, memp, memsize, db_malloc) dbt->size = len; /* - * Allocate any necessary memory. + * Allocate memory to be owned by the application: DB_DBT_MALLOC. * - * XXX: Never allocate 0 bytes. + * !!! + * We always allocate memory, even if we're copying out 0 bytes. This + * guarantees consistency, i.e., the application can always free memory + * without concern as to how many bytes of the record were requested. + * + * XXX + * Never allocate 0 bytes, it's known to make malloc/realloc unhappy. + * + * Use the memory specified by the application: DB_DBT_USERMEM. + * + * !!! + * If the length we're going to copy is 0, the application-supplied + * memory pointer is allowed to be NULL. */ if (F_ISSET(dbt, DB_DBT_MALLOC)) { dbt->data = db_malloc == NULL ? - (void *)__db_malloc(len + 1) : + (void *)__db_malloc(len) : (void *)db_malloc(len + 1); if (dbt->data == NULL) return (ENOMEM); } else if (F_ISSET(dbt, DB_DBT_USERMEM)) { - if (dbt->ulen < len) + if (len != 0 && (dbt->data == NULL || dbt->ulen < len)) return (ENOMEM); } else if (memp == NULL || memsize == NULL) { return (EINVAL); } else { - if (*memsize == 0 || *memsize < len) { + if (len != 0 && (*memsize == 0 || *memsize < len)) { *memp = *memp == NULL ? - (void *)__db_malloc(len + 1) : - (void *)__db_realloc(*memp, len + 1); + (void *)__db_malloc(len) : + (void *)__db_realloc(*memp, len); if (*memp == NULL) { *memsize = 0; return (ENOMEM); } - *memsize = len + 1; + *memsize = len; } dbt->data = *memp; } - memcpy(dbt->data, data, len); + if (len != 0) + memcpy(dbt->data, data, len); return (0); } diff --git a/db2/db_int.h b/db2/db_int.h index 1f6c790345..21460722a3 100644 --- a/db2/db_int.h +++ b/db2/db_int.h @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)db_int.h.src 10.36 (Sleepycat) 10/31/97 + * @(#)db_int.h.src 10.37 (Sleepycat) 11/25/97 */ #ifndef _DB_INTERNAL_H_ @@ -168,6 +168,7 @@ typedef struct _db_mutex_t { off_t off; /* Backing file offset. */ u_long pid; /* Lock holder: 0 or process pid. */ #endif + u_int32_t spins; /* Spins before block. */ u_int32_t mutex_set_wait; /* Granted after wait. */ u_int32_t mutex_set_nowait; /* Granted without waiting. */ } db_mutex_t; diff --git a/db2/dbm/dbm.c b/db2/dbm/dbm.c index 1fa92ce1fa..bd7c7a6636 100644 --- a/db2/dbm/dbm.c +++ b/db2/dbm/dbm.c @@ -47,7 +47,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)dbm.c 10.6 (Sleepycat) 8/27/97"; +static const char sccsid[] = "@(#)dbm.c 10.7 (Sleepycat) 11/25/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -198,9 +198,20 @@ dbm_open(file, oflags, mode) dbinfo.h_ffactor = 40; dbinfo.h_nelem = 1; - (void)snprintf(path, sizeof(path), "%s%s", file, DBM_SUFFIX); - if ((__set_errno(db_open(path, - DB_HASH, __db_oflags(oflags), mode, NULL, &dbinfo, &dbp))) != 0) + /* + * XXX + * Don't use sprintf(3)/snprintf(3) -- the former is dangerous, and + * the latter isn't standard, and we're manipulating strings handed + * us by the application. + */ + if (strlen(file) + strlen(DBM_SUFFIX) + 1 > sizeof(path)) { + errno = ENAMETOOLONG; + return (NULL); + } + (void)strcpy(path, file); + (void)strcat(path, DBM_SUFFIX); + if ((errno = db_open(path, + DB_HASH, __db_oflags(oflags), mode, NULL, &dbinfo, &dbp)) != 0) return (NULL); return ((DBM *)dbp); } @@ -261,7 +272,7 @@ dbm_firstkey(db) DBC *cp; if ((cp = TAILQ_FIRST(&db->curs_queue)) == NULL) - if ((__set_errno(db->cursor(db, NULL, &cp))) != 0) { + if ((errno = db->cursor(db, NULL, &cp)) != 0) { memset(&key, 0, sizeof(key)); return (key); } @@ -294,7 +305,7 @@ dbm_nextkey(db) int status; if ((cp = TAILQ_FIRST(&db->curs_queue)) == NULL) - if ((__set_errno(db->cursor(db, NULL, &cp))) != 0) { + if ((errno = db->cursor(db, NULL, &cp)) != 0) { memset(&key, 0, sizeof(key)); return (key); } @@ -330,9 +341,9 @@ dbm_delete(db, key) _key.size = key.dsize; ret = (((DB *)db)->del)((DB *)db, NULL, &_key, 0); if (ret < 0) - __set_errno(ENOENT); + errno = ENOENT; else if (ret > 0) { - __set_errno(ret); + errno = ret; ret = -1; } return (ret); diff --git a/db2/hash/hash_auto.c b/db2/hash/hash_auto.c index 4820eb8611..787ee04ddb 100644 --- a/db2/hash/hash_auto.c +++ b/db2/hash/hash_auto.c @@ -119,7 +119,6 @@ int __ham_insdel_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_insdel_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_insdel_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -316,7 +315,6 @@ int __ham_newpage_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_newpage_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_newpage_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -479,7 +477,6 @@ int __ham_splitmeta_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_splitmeta_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_splitmeta_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -640,7 +637,6 @@ int __ham_splitdata_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_splitdata_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_splitdata_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -832,7 +828,6 @@ int __ham_replace_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_replace_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_replace_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1034,7 +1029,6 @@ int __ham_newpgno_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_newpgno_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_newpgno_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1203,7 +1197,6 @@ int __ham_ovfl_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_ovfl_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_ovfl_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -1386,7 +1379,6 @@ int __ham_copypage_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __ham_copypage_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __ham_copypage_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; diff --git a/db2/include/btree_ext.h b/db2/include/btree_ext.h index bbe0d971b2..46f2227bdd 100644 --- a/db2/include/btree_ext.h +++ b/db2/include/btree_ext.h @@ -11,7 +11,7 @@ int __bam_cursor __P((DB *, DB_TXN *, DBC **)); int __bam_c_iclose __P((DB *, DBC *)); int __bam_get __P((DB *, DB_TXN *, DBT *, DBT *, int)); int __bam_ovfl_chk __P((DB *, CURSOR *, u_int32_t, int)); -int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *)); +int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *, int)); void __bam_ca_di __P((DB *, db_pgno_t, u_int32_t, int)); void __bam_ca_dup __P((DB *, db_pgno_t, u_int32_t, u_int32_t, db_pgno_t, u_int32_t)); diff --git a/db2/include/common_ext.h b/db2/include/common_ext.h index b814582abd..29bc9aa4e2 100644 --- a/db2/include/common_ext.h +++ b/db2/include/common_ext.h @@ -23,7 +23,7 @@ int __db_syncchk __P((const DB *, int)); int __db_ferr __P((const DB_ENV *, const char *, int)); u_int32_t __db_log2 __P((u_int32_t)); int __db_rcreate __P((DB_ENV *, APPNAME, - const char *, const char *, int, size_t, int *, void *)); + const char *, const char *, int, size_t, int, int *, void *)); int __db_rinit __P((DB_ENV *, RLAYOUT *, int, size_t, int)); int __db_ropen __P((DB_ENV *, APPNAME, const char *, const char *, int, int *, void *)); diff --git a/db2/include/db.h.src b/db2/include/db.h.src index 3cc2bfd4fc..654eb16425 100644 --- a/db2/include/db.h.src +++ b/db2/include/db.h.src @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)db.h.src 10.91 (Sleepycat) 11/3/97 + * @(#)db.h.src 10.97 (Sleepycat) 11/28/97 */ #ifndef _DB_H_ @@ -73,8 +73,8 @@ #define DB_VERSION_MAJOR 2 #define DB_VERSION_MINOR 3 -#define DB_VERSION_PATCH 12 -#define DB_VERSION_STRING "Sleepycat Software: DB 2.3.12: (11/3/97)" +#define DB_VERSION_PATCH 14 +#define DB_VERSION_STRING "Sleepycat Software: DB 2.3.14: (11/28/97)" typedef u_int32_t db_pgno_t; /* Page number type. */ typedef u_int16_t db_indx_t; /* Page offset type. */ @@ -129,8 +129,10 @@ struct __db_dbt { }; /* - * DB configuration. There are a set of functions which the application - * can replace with its own versions. + * DB internal configuration. + * + * There are a set of functions that the application can replace with its + * own versions, and some other knobs which can be turned at run-time. */ #define DB_FUNC_CALLOC 1 /* ANSI C calloc. */ #define DB_FUNC_CLOSE 2 /* POSIX 1003.1 close. */ @@ -147,11 +149,12 @@ struct __db_dbt { #define DB_FUNC_REALLOC 13 /* ANSI C realloc. */ #define DB_FUNC_SEEK 14 /* POSIX 1003.1 lseek. */ #define DB_FUNC_SLEEP 15 /* DB: sleep secs/usecs. */ -#define DB_FUNC_STRDUP 16 /* ANSI C strdup. */ +#define DB_FUNC_STRDUP 16 /* DB: strdup(3). */ #define DB_FUNC_UNLINK 17 /* POSIX 1003.1 unlink. */ #define DB_FUNC_UNMAP 18 /* DB: unmap shared memory file. */ #define DB_FUNC_WRITE 19 /* POSIX 1003.1 write. */ #define DB_FUNC_YIELD 20 /* DB: yield thread to scheduler. */ +#define DB_TSL_SPINS 21 /* DB: initialize spin count. */ /* * Database configuration and initialization. @@ -211,10 +214,10 @@ struct __db_dbt { * locking subsystem. */ #define DB_LOCK_NORUN 0x0 -#define DB_LOCK_DEFAULT 0x1 -#define DB_LOCK_OLDEST 0x2 -#define DB_LOCK_RANDOM 0x3 -#define DB_LOCK_YOUNGEST 0x4 +#define DB_LOCK_DEFAULT 0x1 /* Default policy. */ +#define DB_LOCK_OLDEST 0x2 /* Abort oldest transaction. */ +#define DB_LOCK_RANDOM 0x3 /* Abort random transaction. */ +#define DB_LOCK_YOUNGEST 0x4 /* Abort youngest transaction. */ struct __db_env { int db_lorder; /* Byte order. */ @@ -265,6 +268,10 @@ struct __db_env { /******************************************************* * Access methods. *******************************************************/ +/* + * XXX + * Changes here must be reflected in java/src/com/sleepycat/db/Db.java. + */ typedef enum { DB_BTREE=1, /* B+tree. */ DB_HASH, /* Extended Linear Hashing. */ @@ -347,7 +354,13 @@ struct __db_info { #define DB_SET_RANGE 0x020000 /* c_get() */ #define DB_SET_RECNO 0x040000 /* c_get() */ -/* DB (user visible) error return codes. */ +/* + * DB (user visible) error return codes. + * + * XXX + * Changes to any of the user visible error return codes must be reflected + * in java/src/com/sleepycat/db/Db.java. + */ #define DB_INCOMPLETE ( -1) /* Sync didn't finish. */ #define DB_KEYEMPTY ( -2) /* The key/data pair was deleted or was never created by the user. */ @@ -516,6 +529,7 @@ int db_appinit __P((const char *, char * const *, DB_ENV *, int)); int db_appexit __P((DB_ENV *)); int db_jump_set __P((void *, int)); int db_open __P((const char *, DBTYPE, int, int, DB_ENV *, DB_INFO *, DB **)); +int db_value_set __P((int, int)); char *db_version __P((int *, int *, int *)); #if defined(__cplusplus) }; @@ -533,16 +547,26 @@ char *db_version __P((int *, int *, int *)); /* Flag values for lock_detect(). */ #define DB_LOCK_CONFLICT 0x01 /* Run on any conflict. */ -/* Request types. */ +/* + * Request types. + * + * XXX + * Changes here must be reflected in java/src/com/sleepycat/db/Db.java. + */ typedef enum { - DB_LOCK_DUMP, /* Display held locks. */ + DB_LOCK_DUMP=0, /* Display held locks. */ DB_LOCK_GET, /* Get the lock. */ DB_LOCK_PUT, /* Release the lock. */ DB_LOCK_PUT_ALL, /* Release locker's locks. */ DB_LOCK_PUT_OBJ /* Release locker's locks on obj. */ } db_lockop_t; -/* Simple R/W lock modes and for multi-granularity intention locking. */ +/* + * Simple R/W lock modes and for multi-granularity intention locking. + * + * XXX + * Changes here must be reflected in java/src/com/sleepycat/db/Db.java. + */ typedef enum { DB_LOCK_NG=0, /* Not granted. */ DB_LOCK_READ, /* Shared/read. */ @@ -577,7 +601,7 @@ extern const u_int8_t db_riw_conflicts[]; extern "C" { #endif int lock_close __P((DB_LOCKTAB *)); -int lock_detect __P((DB_LOCKTAB *, int, u_int32_t)); +int lock_detect __P((DB_LOCKTAB *, int, int)); int lock_get __P((DB_LOCKTAB *, u_int32_t, int, const DBT *, db_lockmode_t, DB_LOCK *)); int lock_id __P((DB_LOCKTAB *, u_int32_t *)); diff --git a/db2/include/db_cxx.h b/db2/include/db_cxx.h index 01d1231092..83523c5559 100644 --- a/db2/include/db_cxx.h +++ b/db2/include/db_cxx.h @@ -4,7 +4,7 @@ * Copyright (c) 1997 * Sleepycat Software. All rights reserved. * - * @(#)db_cxx.h 10.12 (Sleepycat) 10/25/97 + * @(#)db_cxx.h 10.13 (Sleepycat) 11/25/97 */ #ifndef _DB_CXX_H_ @@ -202,7 +202,7 @@ class _exported DbLockTab friend DbEnv; public: int close(); - int detect(int atype, u_int32_t flags); + int detect(int flags, int atype); int get(u_int32_t locker, int flags, const Dbt *obj, db_lockmode_t lock_mode, DbLock *lock); int id(u_int32_t *idp); diff --git a/db2/include/db_ext.h b/db2/include/db_ext.h index f9b3b3a214..15eeaf50a3 100644 --- a/db2/include/db_ext.h +++ b/db2/include/db_ext.h @@ -65,6 +65,7 @@ int __db_add_recovery __P((DB_ENV *, int __db_txnlist_init __P((void *)); int __db_txnlist_add __P((void *, u_int32_t)); int __db_txnlist_find __P((void *, u_int32_t)); +void __db_txnlist_end __P((void *)); int __db_dput __P((DB *, DBT *, PAGE **, db_indx_t *, int (*)(DB *, u_int32_t, PAGE **))); int __db_drem __P((DB *, diff --git a/db2/include/db_int.h.src b/db2/include/db_int.h.src index abd93a6e8e..03a882fded 100644 --- a/db2/include/db_int.h.src +++ b/db2/include/db_int.h.src @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)db_int.h.src 10.36 (Sleepycat) 10/31/97 + * @(#)db_int.h.src 10.37 (Sleepycat) 11/25/97 */ #ifndef _DB_INTERNAL_H_ @@ -168,6 +168,7 @@ typedef struct _db_mutex_t { off_t off; /* Backing file offset. */ u_long pid; /* Lock holder: 0 or process pid. */ #endif + u_int32_t spins; /* Spins before block. */ u_int32_t mutex_set_wait; /* Granted after wait. */ u_int32_t mutex_set_nowait; /* Granted without waiting. */ } db_mutex_t; diff --git a/db2/include/lock.h b/db2/include/lock.h index 8a927f076e..5031b65d06 100644 --- a/db2/include/lock.h +++ b/db2/include/lock.h @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)lock.h 10.9 (Sleepycat) 10/25/97 + * @(#)lock.h 10.10 (Sleepycat) 11/13/97 */ typedef struct __db_lockobj DB_LOCKOBJ; @@ -85,10 +85,14 @@ struct __db_lockobj { } dlinks; #define DB_LOCK_OBJTYPE 1 #define DB_LOCK_LOCKER 2 + /* Allocate room in the object to + * hold typical DB lock structures + * so that we do not have to + * allocate them from shalloc. */ + u_int8_t objdata[sizeof(struct __db_ilock)]; u_int8_t type; /* Real object or locker id. */ }; - #define dd_id wlinks._dd_id #define waiters wlinks._waiters #define holders dlinks._holders diff --git a/db2/include/log.h b/db2/include/log.h index a192a38136..405daf4148 100644 --- a/db2/include/log.h +++ b/db2/include/log.h @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)log.h 10.15 (Sleepycat) 11/2/97 + * @(#)log.h 10.16 (Sleepycat) 11/9/97 */ #ifndef _LOG_H_ @@ -117,20 +117,35 @@ struct __log { SH_TAILQ_HEAD(__fq) fq; /* List of file names. */ + /* + * The lsn LSN is the file offset that we're about to write and which + * we will return to the user. + */ DB_LSN lsn; /* LSN at current file offset. */ - DB_LSN c_lsn; /* LSN of the last checkpoint. */ + + /* + * The s_lsn LSN is the last LSN that we know is on disk, not just + * written, by synced. + */ DB_LSN s_lsn; /* LSN of the last sync. */ - DB_LSN uw_lsn; /* LSN of 1st rec not fully on disk. */ u_int32_t len; /* Length of the last record. */ - size_t b_off; /* Current offset in the buffer. */ u_int32_t w_off; /* Current write offset in the file. */ + DB_LSN c_lsn; /* LSN of the last checkpoint. */ time_t chkpt; /* Time of the last checkpoint. */ DB_LOG_STAT stat; /* Log statistics. */ + /* + * The f_lsn LSN is the LSN (returned to the user) that "owns" the + * first byte of the buffer. If the record associated with the LSN + * spans buffers, it may not reflect the physical file location of + * the first byte of the buffer. + */ + DB_LSN f_lsn; /* LSN of first byte in the buffer. */ + size_t b_off; /* Current offset in the buffer. */ u_int8_t buf[4 * 1024]; /* Log buffer. */ }; diff --git a/db2/include/mp.h b/db2/include/mp.h index f68f42b144..f108246f2c 100644 --- a/db2/include/mp.h +++ b/db2/include/mp.h @@ -4,7 +4,7 @@ * Copyright (c) 1996, 1997 * Sleepycat Software. All rights reserved. * - * @(#)mp.h 10.19 (Sleepycat) 10/25/97 + * @(#)mp.h 10.22 (Sleepycat) 11/28/97 */ struct __bh; typedef struct __bh BH; @@ -23,7 +23,6 @@ struct __mpoolfile; typedef struct __mpoolfile MPOOLFILE; #define DB_CACHESIZE_MIN ( 20 * 1024) #define INVALID 0 /* Invalid shared memory offset. */ -#define TEMPORARY "<tmp>" /* Temporary file name. */ /* * There are three ways we do locking in the mpool code: @@ -122,10 +121,10 @@ struct __db_mpool { int fd; /* Underlying mmap'd fd. */ - #define MP_ISPRIVATE 0x01 /* Private, so local memory. */ #define MP_LOCKHANDLE 0x02 /* Threaded, lock handles and region. */ #define MP_LOCKREGION 0x04 /* Concurrent access, lock region. */ +#define MP_MALLOC 0x08 /* If region in allocated memory. */ u_int32_t flags; }; @@ -157,7 +156,6 @@ struct __db_mpoolfile { /* These fields are not protected. */ TAILQ_ENTRY(__db_mpoolfile) q; /* Linked list of DB_MPOOLFILE's. */ - char *path; /* Initial file path. */ DB_MPOOL *dbmp; /* Overlying DB_MPOOL. */ MPOOLFILE *mfp; /* Underlying MPOOLFILE. */ @@ -165,11 +163,9 @@ struct __db_mpoolfile { size_t len; /* Length of mmap'd region. */ /* These fields need to be protected for multi-threaded support. */ -#define MP_PATH_ALLOC 0x001 /* Path is allocated memory. */ -#define MP_PATH_TEMP 0x002 /* Backing file is a temporary. */ -#define MP_READONLY 0x004 /* File is readonly. */ -#define MP_UPGRADE 0x008 /* File descriptor is readwrite. */ -#define MP_UPGRADE_FAIL 0x010 /* Upgrade wasn't possible. */ +#define MP_READONLY 0x01 /* File is readonly. */ +#define MP_UPGRADE 0x02 /* File descriptor is readwrite. */ +#define MP_UPGRADE_FAIL 0x04 /* Upgrade wasn't possible. */ u_int32_t flags; }; @@ -220,12 +216,9 @@ struct __mpoolfile { u_int32_t ref; /* Reference count. */ int ftype; /* File type. */ - int can_mmap; /* If the file can be mmap'd. */ - int lsn_off; /* Page's LSN offset. */ size_t path_off; /* File name location. */ - size_t fileid_off; /* File identification location. */ size_t pgcookie_len; /* Pgin/pgout cookie length. */ @@ -233,6 +226,12 @@ struct __mpoolfile { int lsn_cnt; /* Checkpoint buffers left to write. */ + db_pgno_t last_pgno; /* Last page in the file. */ + +#define MP_CAN_MMAP 0x01 /* If the file can be mmap'd. */ +#define MP_TEMP 0x02 /* Backing file is a temporary. */ + u_int32_t flags; + DB_MPOOL_FSTAT stat; /* Per-file mpool statistics. */ }; diff --git a/db2/include/mp_ext.h b/db2/include/mp_ext.h index 49d86ba2e5..b78b3423cd 100644 --- a/db2/include/mp_ext.h +++ b/db2/include/mp_ext.h @@ -5,8 +5,10 @@ int __memp_pgread __P((DB_MPOOLFILE *, BH *, int)); int __memp_pgwrite __P((DB_MPOOLFILE *, BH *, int *, int *)); int __memp_pg __P((DB_MPOOLFILE *, BH *, int)); void __memp_bhfree __P((DB_MPOOL *, MPOOLFILE *, BH *, int)); -int __memp_fopen __P((DB_MPOOL *, const char *, int, int, - int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **)); +int __memp_fopen __P((DB_MPOOL *, MPOOLFILE *, const char *, int, + int, int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **)); +char * __memp_fn __P((DB_MPOOLFILE *)); +char * __memp_fns __P((DB_MPOOL *, MPOOLFILE *)); void __memp_debug __P((DB_MPOOL *, FILE *, int)); int __memp_ralloc __P((DB_MPOOL *, size_t, size_t *, void *)); int __memp_ropen diff --git a/db2/include/os_ext.h b/db2/include/os_ext.h index e48a1e9407..2edf2e257d 100644 --- a/db2/include/os_ext.h +++ b/db2/include/os_ext.h @@ -1,5 +1,8 @@ /* DO NOT EDIT: automatically built by dist/distrib. */ int __db_abspath __P((const char *)); +void *__db_calloc __P((size_t, size_t)); +void *__db_malloc __P((size_t)); +void *__db_realloc __P((void *, size_t)); int __os_dirlist __P((const char *, char ***, int *)); void __os_dirfree __P((char **, int)); int __db_fileid __P((DB_ENV *, const char *, int, u_int8_t *)); @@ -14,6 +17,7 @@ int __db_read __P((int, void *, size_t, ssize_t *)); int __db_write __P((int, void *, size_t, ssize_t *)); int __os_seek __P((int, size_t, db_pgno_t, u_long, int)); int __os_sleep __P((u_long, u_long)); +int __os_spin __P((void)); int __os_exists __P((const char *, int *)); int __os_ioinfo __P((const char *, int, off_t *, off_t *)); int __db_unlink __P((const char *)); diff --git a/db2/include/os_func.h b/db2/include/os_func.h index 0a72942903..54b64ffaa2 100644 --- a/db2/include/os_func.h +++ b/db2/include/os_func.h @@ -4,12 +4,11 @@ * Copyright (c) 1997 * Sleepycat Software. All rights reserved. * - * @(#)os_func.h 10.2 (Sleepycat) 10/28/97 + * @(#)os_func.h 10.4 (Sleepycat) 11/28/97 */ /* Calls which can be replaced by the application. */ struct __db_jumptab { - void *(*db_calloc) __P((size_t, size_t)); /* DB_FUNC_CALLOC */ int (*db_close) __P((int)); /* DB_FUNC_CLOSE */ void (*db_dirfree) __P((char **, int)); /* DB_FUNC_DIRFREE */ int (*db_dirlist) /* DB_FUNC_DIRLIST */ @@ -54,7 +53,6 @@ extern struct __db_jumptab __db_jump; * part of DB is the only code that should use the __os_XXX names, all other * parts of DB should be calling __db_XXX functions. */ -#define __db_calloc __db_jump.db_calloc #define __os_close __db_jump.db_close /* __db_close is a wrapper. */ #define __db_dirfree __db_jump.db_dirfree #define __db_dirlist __db_jump.db_dirlist @@ -62,11 +60,9 @@ extern struct __db_jumptab __db_jump; #define __db_free __db_jump.db_free #define __os_fsync __db_jump.db_fsync /* __db_fsync is a wrapper. */ #define __db_ioinfo __db_jump.db_ioinfo -#define __db_malloc __db_jump.db_malloc #define __db_map __db_jump.db_map #define __os_open __db_jump.db_open /* __db_open is a wrapper. */ #define __os_read __db_jump.db_read /* __db_read is a wrapper. */ -#define __db_realloc __db_jump.db_realloc #define __db_seek __db_jump.db_seek #define __db_sleep __db_jump.db_sleep #define __db_strdup __db_jump.db_strdup diff --git a/db2/lock/lock.c b/db2/lock/lock.c index f1223a9fa6..9b1cbc8a08 100644 --- a/db2/lock/lock.c +++ b/db2/lock/lock.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)lock.c 10.38 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)lock.c 10.41 (Sleepycat) 11/28/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -91,7 +91,7 @@ __lock_create(path, mode, dbenv) if ((ret = __db_rcreate(dbenv, DB_APP_NONE, path, DB_DEFAULT_LOCK_FILE, mode, LOCK_REGION_SIZE(lock_modes, maxlocks, __db_tablesize(maxlocks)), - &fd, &lrp)) != 0) + 0, &fd, &lrp)) != 0) return (ret); /* Region exists; now initialize it. */ @@ -600,7 +600,9 @@ __lock_put_internal(lt, lockp, do_all) if (SH_TAILQ_FIRST(&sh_obj->holders, __db_lock) == NULL) { HASHREMOVE_EL(lt->hashtab, __db_lockobj, links, sh_obj, lt->region->table_size, __lock_lhash); - __db_shalloc_free(lt->mem, SH_DBT_PTR(&sh_obj->lockobj)); + if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) + __db_shalloc_free(lt->mem, + SH_DBT_PTR(&sh_obj->lockobj)); SH_TAILQ_INSERT_HEAD(<->region->free_objs, sh_obj, links, __db_lockobj); state_changed = 1; @@ -633,7 +635,7 @@ __lock_get_internal(lt, locker, flags, obj, lock_mode, lockp) DB_LOCKOBJ *sh_obj, *sh_locker; DB_LOCKREGION *lrp; size_t newl_off; - int ret; + int ihold, ret; ret = 0; /* @@ -680,29 +682,40 @@ __lock_get_internal(lt, locker, flags, obj, lock_mode, lockp) * new lock if it does not conflict with anyone on the holders list * OR anyone on the waiters list. The reason that we don't grant if * there's a conflict is that this can lead to starvation (a writer - * waiting on a popularly read item will never ben granted). The + * waiting on a popularly read item will never be granted). The * downside of this is that a waiting reader can prevent an upgrade - * from reader to writer, which is not uncommon. In case of conflict, - * we put the new lock on the end of the waiters list. + * from reader to writer, which is not uncommon. + * + * There is one exception to the no-conflict rule. If a lock is held + * by the requesting locker AND the new lock does not conflict with + * any other holders, then we grant the lock. The most common place + * this happens is when the holder has a WRITE lock and a READ lock + * request comes in for the same locker. If we do not grant the read + * lock, then we guarantee deadlock. + * + * In case of conflict, we put the new lock on the end of the waiters + * list. */ + ihold = 0; for (lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock); lp != NULL; lp = SH_TAILQ_NEXT(lp, links, __db_lock)) { - if (CONFLICTS(lt, lp->mode, lock_mode) && - locker != lp->holder) + if (locker == lp->holder) { + if (lp->mode == lock_mode && + lp->status == DB_LSTAT_HELD) { + /* Lock is held, just inc the ref count. */ + lp->refcount++; + SH_TAILQ_INSERT_HEAD(&lrp->free_locks, + newl, links, __db_lock); + *lockp = lp; + return (0); + } else + ihold = 1; + } else if (CONFLICTS(lt, lp->mode, lock_mode)) break; - else if (lp->holder == locker && lp->mode == lock_mode && - lp->status == DB_LSTAT_HELD) { - /* Lock is already held, just inc the ref count. */ - lp->refcount++; - SH_TAILQ_INSERT_HEAD(&lrp->free_locks, newl, links, - __db_lock); - *lockp = lp; - return (0); - } } - if (lp == NULL) + if (lp == NULL && !ihold) for (lp = SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock); lp != NULL; lp = SH_TAILQ_NEXT(lp, links, __db_lock)) { @@ -1261,25 +1274,37 @@ __lock_getobj(lt, locker, dbt, type, objp) */ if (sh_obj == NULL) { /* Create new object and then insert it into hash table. */ - if ((sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj)) - == NULL) { + if ((sh_obj = + SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj)) == NULL) { if ((ret = __lock_grow_region(lt, DB_LOCK_OBJ, 0)) != 0) return (ret); lrp = lt->region; sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj); } - if ((ret = __db_shalloc(lt->mem, obj_size, 0, &p)) != 0) { - if ((ret = __lock_grow_region(lt, - DB_LOCK_MEM, obj_size)) != 0) - return (ret); - lrp = lt->region; - /* Reacquire the head of the list. */ - sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj); - (void)__db_shalloc(lt->mem, obj_size, 0, &p); - } - sh_obj->type = type; + + /* + * If we can fit this object in the structure, do so instead + * of shalloc-ing space for it. + */ + if (obj_size <= sizeof(sh_obj->objdata)) + p = sh_obj->objdata; + else + if ((ret = + __db_shalloc(lt->mem, obj_size, 0, &p)) != 0) { + if ((ret = __lock_grow_region(lt, + DB_LOCK_MEM, obj_size)) != 0) + return (ret); + lrp = lt->region; + /* Reacquire the head of the list. */ + sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, + __db_lockobj); + (void)__db_shalloc(lt->mem, obj_size, 0, &p); + } + src = type == DB_LOCK_OBJTYPE ? dbt->data : (void *)&locker; memcpy(p, src, obj_size); + + sh_obj->type = type; SH_TAILQ_REMOVE(&lrp->free_objs, sh_obj, links, __db_lockobj); SH_TAILQ_INIT(&sh_obj->waiters); @@ -1329,7 +1354,8 @@ __lock_freeobj(lt, obj) { HASHREMOVE_EL(lt->hashtab, __db_lockobj, links, obj, lt->region->table_size, __lock_lhash); - __db_shalloc_free(lt->mem, SH_DBT_PTR(&obj->lockobj)); + if (obj->lockobj.size > sizeof(obj->objdata)) + __db_shalloc_free(lt->mem, SH_DBT_PTR(&obj->lockobj)); SH_TAILQ_INSERT_HEAD(<->region->free_objs, obj, links, __db_lockobj); } diff --git a/db2/lock/lock_deadlock.c b/db2/lock/lock_deadlock.c index 566021fe89..93c438ca36 100644 --- a/db2/lock/lock_deadlock.c +++ b/db2/lock/lock_deadlock.c @@ -11,7 +11,7 @@ static const char copyright[] = "@(#) Copyright (c) 1997\n\ Sleepycat Software Inc. All rights reserved.\n"; -static const char sccsid[] = "@(#)lock_deadlock.c 10.25 (Sleepycat) 11/1/97"; +static const char sccsid[] = "@(#)lock_deadlock.c 10.26 (Sleepycat) 11/25/97"; #endif #ifndef NO_SYSTEM_INCLUDES @@ -66,8 +66,7 @@ static void __dd_debug __P((DB_ENV *, locker_info *, u_int32_t *, u_int32_t)); int lock_detect(lt, flags, atype) DB_LOCKTAB *lt; - int flags; - u_int32_t atype; + int flags, atype; { DB_ENV *dbenv; locker_info *idmap; diff --git a/db2/log/log.c b/db2/log/log.c index 17681f8e0f..a9bf7a95ab 100644 --- a/db2/log/log.c +++ b/db2/log/log.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)log.c 10.33 (Sleepycat) 11/2/97"; +static const char sccsid[] = "@(#)log.c 10.34 (Sleepycat) 11/28/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -91,7 +91,7 @@ log_open(path, flags, mode, dbenv, lpp) retry_cnt = newregion = 0; retry: if (LF_ISSET(DB_CREATE)) { ret = __db_rcreate(dbenv, DB_APP_LOG, path, - DB_DEFAULT_LOG_FILE, mode, len, &fd, &dblp->maddr); + DB_DEFAULT_LOG_FILE, mode, len, 0, &fd, &dblp->maddr); if (ret == 0) { /* Put the LOG structure first in the region. */ lp = dblp->maddr; diff --git a/db2/log/log_archive.c b/db2/log/log_archive.c index 140ea31fd1..0248e2815c 100644 --- a/db2/log/log_archive.c +++ b/db2/log/log_archive.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)log_archive.c 10.28 (Sleepycat) 10/28/97"; +static const char sccsid[] = "@(#)log_archive.c 10.29 (Sleepycat) 11/12/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -360,9 +360,9 @@ __absname(pref, name, newnamep) * If the user has their own malloc routine, use it. */ static int -__usermem(listp, func) +__usermem(listp, cmpfunc) char ***listp; - void *(*func) __P((size_t)); + void *(*cmpfunc) __P((size_t)); { size_t len; char **array, **arrayp, **orig, *strp; @@ -378,10 +378,10 @@ __usermem(listp, func) * XXX * Don't simplify this expression, SunOS compilers don't like it. */ - if (func == NULL) + if (cmpfunc == NULL) array = (char **)__db_malloc(len); else - array = (char **)func(len); + array = (char **)cmpfunc(len); if (array == NULL) return (ENOMEM); strp = (char *)(array + (orig - *listp) + 1); diff --git a/db2/log/log_auto.c b/db2/log/log_auto.c index d5dbfe1f5f..61626b090e 100644 --- a/db2/log/log_auto.c +++ b/db2/log/log_auto.c @@ -102,7 +102,6 @@ int __log_register_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __log_register_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __log_register_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -250,7 +249,6 @@ int __log_unregister_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __log_unregister_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __log_unregister_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; diff --git a/db2/log/log_get.c b/db2/log/log_get.c index ed35d57f82..2d1512c6b9 100644 --- a/db2/log/log_get.c +++ b/db2/log/log_get.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)log_get.c 10.21 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)log_get.c 10.22 (Sleepycat) 11/22/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -44,24 +44,21 @@ log_get(dblp, alsn, dbt, flags) /* Validate arguments. */ #define OKFLAGS (DB_CHECKPOINT | \ DB_CURRENT | DB_FIRST | DB_LAST | DB_NEXT | DB_PREV | DB_SET) - if (flags != 0) { - if ((ret = - __db_fchk(dblp->dbenv, "log_get", flags, OKFLAGS)) != 0) - return (ret); - switch (flags) { - case DB_CHECKPOINT: - case DB_CURRENT: - case DB_FIRST: - case DB_LAST: - case DB_NEXT: - case DB_PREV: - case DB_SET: - case 0: - break; - default: - return (__db_ferr(dblp->dbenv, "log_get", 1)); - } + if ((ret = __db_fchk(dblp->dbenv, "log_get", flags, OKFLAGS)) != 0) + return (ret); + switch (flags) { + case DB_CHECKPOINT: + case DB_CURRENT: + case DB_FIRST: + case DB_LAST: + case DB_NEXT: + case DB_PREV: + case DB_SET: + break; + default: + return (__db_ferr(dblp->dbenv, "log_get", 1)); } + if (F_ISSET(dblp, DB_AM_THREAD)) { if (LF_ISSET(DB_NEXT | DB_PREV | DB_CURRENT)) return (__db_ferr(dblp->dbenv, "log_get", 1)); diff --git a/db2/log/log_put.c b/db2/log/log_put.c index 92d9563301..42fec88a7d 100644 --- a/db2/log/log_put.c +++ b/db2/log/log_put.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)log_put.c 10.20 (Sleepycat) 11/2/97"; +static const char sccsid[] = "@(#)log_put.c 10.22 (Sleepycat) 11/12/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -28,10 +28,10 @@ static const char sccsid[] = "@(#)log_put.c 10.20 (Sleepycat) 11/2/97"; #include "hash.h" #include "common_ext.h" -static int __log_fill __P((DB_LOG *, void *, u_int32_t)); +static int __log_fill __P((DB_LOG *, DB_LSN *, void *, u_int32_t)); static int __log_flush __P((DB_LOG *, const DB_LSN *)); static int __log_newfd __P((DB_LOG *)); -static int __log_putr __P((DB_LOG *, const DBT *, u_int32_t)); +static int __log_putr __P((DB_LOG *, DB_LSN *, const DBT *, u_int32_t)); static int __log_write __P((DB_LOG *, void *, u_int32_t)); /* @@ -117,12 +117,13 @@ __log_put(dblp, lsn, dbt, flags) /* Reset the file write offset. */ lp->w_off = 0; - - /* Reset the first-unwritten LSN for the buffer. */ - lp->uw_lsn = lp->lsn; } else lastoff = 0; + /* Initialize the LSN information returned to the user. */ + lsn->file = lp->lsn.file; + lsn->offset = lp->lsn.offset; + /* * Insert persistent information as the first record in every file. * Note that the previous length is wrong for the very first record @@ -131,17 +132,17 @@ __log_put(dblp, lsn, dbt, flags) if (lp->lsn.offset == 0) { t.data = &lp->persist; t.size = sizeof(LOGP); - if ((ret = __log_putr(dblp, + if ((ret = __log_putr(dblp, lsn, &t, lastoff == 0 ? 0 : lastoff - lp->len)) != 0) return (ret); - } - /* Initialize the LSN information returned to the user. */ - lsn->file = lp->lsn.file; - lsn->offset = lp->lsn.offset; + /* Update the LSN information returned to the user. */ + lsn->file = lp->lsn.file; + lsn->offset = lp->lsn.offset; + } - /* Put out the user's record. */ - if ((ret = __log_putr(dblp, dbt, lp->lsn.offset - lp->len)) != 0) + /* Write the application's log record. */ + if ((ret = __log_putr(dblp, lsn, dbt, lp->lsn.offset - lp->len)) != 0) return (ret); /* @@ -184,19 +185,6 @@ __log_put(dblp, lsn, dbt, flags) (void)time(&lp->chkpt); lp->stat.st_wc_bytes = lp->stat.st_wc_mbytes = 0; } - - /* - * When an application calls the log_flush routine, we need to figure - * out if the current buffer needs to be flushed. The problem is that - * if a record spans buffers, it's possible for the record continued - * in the current buffer to have begun in a previous buffer. Each time - * we write a buffer, we update the first-unwritten LSN to point to the - * first LSN after that written buffer. If we have a spanning record, - * correct that value to be the LSN that started it all, here. - */ - if (lsn->offset < lp->w_off && lsn->offset + lp->len > lp->w_off) - lp->uw_lsn = *lsn; - return (0); } @@ -205,8 +193,9 @@ __log_put(dblp, lsn, dbt, flags) * Actually put a record into the log. */ static int -__log_putr(dblp, dbt, prev) +__log_putr(dblp, lsn, dbt, prev) DB_LOG *dblp; + DB_LSN *lsn; const DBT *dbt; u_int32_t prev; { @@ -225,15 +214,15 @@ __log_putr(dblp, dbt, prev) hdr.len = sizeof(HDR) + dbt->size; hdr.cksum = __ham_func4(dbt->data, dbt->size); - if ((ret = __log_fill(dblp, &hdr, sizeof(HDR))) != 0) + if ((ret = __log_fill(dblp, lsn, &hdr, sizeof(HDR))) != 0) return (ret); + lp->len = sizeof(HDR); lp->lsn.offset += sizeof(HDR); - if ((ret = __log_fill(dblp, dbt->data, dbt->size)) != 0) + if ((ret = __log_fill(dblp, lsn, dbt->data, dbt->size)) != 0) return (ret); + lp->len += dbt->size; lp->lsn.offset += dbt->size; - - lp->len = sizeof(HDR) + dbt->size; return (0); } @@ -266,7 +255,7 @@ __log_flush(dblp, lsn) { DB_LSN t_lsn; LOG *lp; - int ret; + int current, ret; ret = 0; lp = dblp->lp; @@ -292,23 +281,27 @@ __log_flush(dblp, lsn) /* * If the LSN is less than the last-sync'd LSN, we're done. Note, * the last-sync LSN saved in s_lsn is the LSN of the first byte - * that has not yet been written to disk, so the test is <, not <=. + * we absolutely know has been written to disk, so the test is <=. */ if (lsn->file < lp->s_lsn.file || - (lsn->file == lp->s_lsn.file && lsn->offset < lp->s_lsn.offset)) + (lsn->file == lp->s_lsn.file && lsn->offset <= lp->s_lsn.offset)) return (0); /* * We may need to write the current buffer. We have to write the * current buffer if the flush LSN is greater than or equal to the - * first-unwritten LSN (uw_lsn). If we write the buffer, then we - * update the first-unwritten LSN. + * buffer's starting LSN. */ + current = 0; if (lp->b_off != 0 && - lsn->file >= lp->uw_lsn.file && lsn->offset >= lp->uw_lsn.offset) + lsn->file >= lp->f_lsn.file && lsn->offset >= lp->f_lsn.offset) { if ((ret = __log_write(dblp, lp->buf, lp->b_off)) != 0) return (ret); + lp->b_off = 0; + current = 1; + } + /* * It's possible that this thread may never have written to this log * file. Acquire a file descriptor if we don't already have one. @@ -323,10 +316,14 @@ __log_flush(dblp, lsn) ++lp->stat.st_scount; /* - * Set the last-synced LSN, the first LSN after the last record - * that we know is on disk. + * Set the last-synced LSN, using the LSN of the current buffer. If + * the current buffer was flushed, we know the LSN of the first byte + * of the buffer is on disk, otherwise, we only know that the LSN of + * the record before the one beginning the current buffer is on disk. */ - lp->s_lsn = lp->uw_lsn; + lp->s_lsn = lp->f_lsn; + if (!current) + --lp->s_lsn.offset; return (0); } @@ -336,8 +333,9 @@ __log_flush(dblp, lsn) * Write information into the log. */ static int -__log_fill(dblp, addr, len) +__log_fill(dblp, lsn, addr, len) DB_LOG *dblp; + DB_LSN *lsn; void *addr; u_int32_t len; { @@ -349,6 +347,15 @@ __log_fill(dblp, addr, len) /* Copy out the data. */ for (lp = dblp->lp; len > 0;) { /* + * If we're beginning a new buffer, note the user LSN to which + * the first byte of the buffer belongs. We have to know this + * when flushing the buffer so that we know if the in-memory + * buffer needs to be flushed. + */ + if (lp->b_off == 0) + lp->f_lsn = *lsn; + + /* * If we're on a buffer boundary and the data is big enough, * copy as many records as we can directly from the data. */ @@ -371,9 +378,12 @@ __log_fill(dblp, addr, len) lp->b_off += nw; /* If we fill the buffer, flush it. */ - if (lp->b_off == sizeof(lp->buf) && - (ret = __log_write(dblp, lp->buf, sizeof(lp->buf))) != 0) - return (ret); + if (lp->b_off == sizeof(lp->buf)) { + if ((ret = + __log_write(dblp, lp->buf, sizeof(lp->buf))) != 0) + return (ret); + lp->b_off = 0; + } } return (0); } @@ -412,14 +422,8 @@ __log_write(dblp, addr, len) if (nw != (int32_t)len) return (EIO); - /* - * Reset the buffer offset, update the seek offset, and update the - * first-unwritten LSN. - */ - lp->b_off = 0; + /* Reset the buffer offset and update the seek offset. */ lp->w_off += len; - lp->uw_lsn.file = lp->lsn.file; - lp->uw_lsn.offset = lp->w_off; /* Update written statistics. */ if ((lp->stat.st_w_bytes += len) >= MEGABYTE) { diff --git a/db2/mp/mp_bh.c b/db2/mp/mp_bh.c index a707603eec..578abedcb6 100644 --- a/db2/mp/mp_bh.c +++ b/db2/mp/mp_bh.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_bh.c 10.21 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)mp_bh.c 10.23 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -40,7 +40,6 @@ __memp_bhwrite(dbmp, mfp, bhp, restartp, wrotep) BH *bhp; int *restartp, *wrotep; { - DBT dbt; DB_MPOOLFILE *dbmfp; DB_MPREG *mpreg; @@ -53,7 +52,7 @@ __memp_bhwrite(dbmp, mfp, bhp, restartp, wrotep) * Walk the process' DB_MPOOLFILE list and find a file descriptor for * the file. We also check that the descriptor is open for writing. * If we find a descriptor on the file that's not open for writing, we - * try and upgrade it to make it writeable. + * try and upgrade it to make it writeable. If that fails, we're done. */ LOCKHANDLE(dbmp, dbmp->mutexp); for (dbmfp = TAILQ_FIRST(&dbmp->dbmfq); @@ -86,18 +85,34 @@ __memp_bhwrite(dbmp, mfp, bhp, restartp, wrotep) } /* - * Try and open the file; ignore any error, assume it's a permissions - * problem. + * Try and open the file, attaching to the underlying shared area. * * XXX - * There's no negative cache here, so we may repeatedly try and open - * files that we have previously tried (and failed) to open. + * Don't try to attach to temporary files. There are two problems in + * trying to do that. First, if we have different privileges than the + * process that "owns" the temporary file, we might create the backing + * disk file such that the owning process couldn't read/write its own + * buffers, e.g., memp_trickle() running as root creating a file owned + * as root, mode 600. Second, if the temporary file has already been + * created, we don't have any way of finding out what its real name is, + * and, even if we did, it was already unlinked (so that it won't be + * left if the process dies horribly). This decision causes a problem, + * however: if the temporary file consumes the entire buffer cache, + * and the owner doesn't flush the buffers to disk, we could end up + * with resource starvation, and the memp_trickle() thread couldn't do + * anything about it. That's a pretty unlikely scenario, though. + * + * XXX + * There's no negative cache, so we may repeatedly try and open files + * that we have previously tried (and failed) to open. + * + * Ignore any error, assume it's a permissions problem. */ - dbt.size = mfp->pgcookie_len; - dbt.data = R_ADDR(dbmp, mfp->pgcookie_off); - if (__memp_fopen(dbmp, R_ADDR(dbmp, mfp->path_off), - mfp->ftype, 0, 0, mfp->stat.st_pagesize, - mfp->lsn_off, &dbt, R_ADDR(dbmp, mfp->fileid_off), 0, &dbmfp) != 0) + if (F_ISSET(mfp, MP_TEMP)) + return (0); + + if (__memp_fopen(dbmp, mfp, R_ADDR(dbmp, mfp->path_off), mfp->ftype, + 0, 0, mfp->stat.st_pagesize, 0, NULL, NULL, 0, &dbmfp) != 0) return (0); found: return (__memp_pgwrite(dbmfp, bhp, restartp, wrotep)); @@ -144,7 +159,7 @@ __memp_pgread(dbmfp, bhp, can_create) UNLOCKHANDLE(dbmp, dbmfp->mutexp); __db_err(dbmp->dbenv, "%s: page %lu doesn't exist, create flag not set", - dbmfp->path, (u_long)bhp->pgno); + __memp_fn(dbmfp), (u_long)bhp->pgno); goto err; } UNLOCKHANDLE(dbmp, dbmfp->mutexp); @@ -270,12 +285,14 @@ __memp_pgwrite(dbmfp, bhp, restartp, wrotep) /* Temporary files may not yet have been created. */ LOCKHANDLE(dbmp, dbmfp->mutexp); - if (dbmfp->fd == -1 && ((ret = __db_appname(dbenv, DB_APP_TMP, - NULL, NULL, &dbmfp->fd, NULL)) != 0 || dbmfp->fd == -1)) { - UNLOCKHANDLE(dbmp, dbmfp->mutexp); - __db_err(dbenv, "unable to create temporary backing file"); - goto err; - } + if (dbmfp->fd == -1) + if ((ret = __db_appname(dbenv, DB_APP_TMP, + NULL, NULL, &dbmfp->fd, NULL)) != 0 || dbmfp->fd == -1) { + UNLOCKHANDLE(dbmp, dbmfp->mutexp); + __db_err(dbenv, + "unable to create temporary backing file"); + goto err; + } /* Write the page out. */ if ((ret = __db_seek(dbmfp->fd, pagesize, bhp->pgno, 0, SEEK_SET)) != 0) @@ -350,8 +367,8 @@ __memp_pgwrite(dbmfp, bhp, restartp, wrotep) return (0); -syserr: __db_err(dbenv, - "%s: %s failed for page %lu", dbmfp->path, fail, (u_long)bhp->pgno); +syserr: __db_err(dbenv, "%s: %s failed for page %lu", + __memp_fn(dbmfp), fail, (u_long)bhp->pgno); err: UNLOCKBUFFER(dbmp, bhp); LOCKREGION(dbmp); @@ -416,7 +433,7 @@ __memp_pg(dbmfp, bhp, is_pgin) err: UNLOCKHANDLE(dbmp, dbmp->mutexp); __db_err(dbmp->dbenv, "%s: %s failed for page %lu", - dbmfp->path, is_pgin ? "pgin" : "pgout", (u_long)bhp->pgno); + __memp_fn(dbmfp), is_pgin ? "pgin" : "pgout", (u_long)bhp->pgno); return (ret); } @@ -462,7 +479,8 @@ __memp_upgrade(dbmp, dbmfp, mfp) DB_MPOOLFILE *dbmfp; MPOOLFILE *mfp; { - int fd; + int fd, ret; + char *rpath; /* * !!! @@ -477,16 +495,24 @@ __memp_upgrade(dbmp, dbmfp, mfp) if (F_ISSET(dbmfp, MP_UPGRADE_FAIL)) return (1); - /* Try the open. */ - if (__db_open(R_ADDR(dbmp, mfp->path_off), 0, 0, 0, &fd) != 0) { + /* + * Calculate the real name for this file and try to open it read/write. + * We know we have a valid pathname for the file because it's the only + * way we could have gotten a file descriptor of any kind. + */ + if ((ret = __db_appname(dbmp->dbenv, DB_APP_DATA, + NULL, R_ADDR(dbmp, mfp->path_off), NULL, &rpath)) != 0) + return (ret); + if (__db_open(rpath, 0, 0, 0, &fd) != 0) { F_SET(dbmfp, MP_UPGRADE_FAIL); - return (1); + ret = 1; + } else { + /* Swap the descriptors and set the upgrade flag. */ + (void)__db_close(dbmfp->fd); + dbmfp->fd = fd; + F_SET(dbmfp, MP_UPGRADE); + ret = 0; } - - /* Swap the descriptors and set the upgrade flag. */ - (void)__db_close(dbmfp->fd); - dbmfp->fd = fd; - F_SET(dbmfp, MP_UPGRADE); - - return (0); + FREES(rpath); + return (ret); } diff --git a/db2/mp/mp_fget.c b/db2/mp/mp_fget.c index 3f99e60505..1010751c92 100644 --- a/db2/mp/mp_fget.c +++ b/db2/mp/mp_fget.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_fget.c 10.30 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)mp_fget.c 10.32 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -38,13 +38,11 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp) int flags; void *addrp; { - BH *bhp, *tbhp; + BH *bhp; DB_MPOOL *dbmp; MPOOL *mp; MPOOLFILE *mfp; - db_pgno_t lastpgno; size_t bucket, mf_offset; - off_t size; u_long cnt; int b_incr, b_inserted, readonly_alloc, ret; void *addr; @@ -97,7 +95,7 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp) mf_offset = R_OFFSET(dbmp, mfp); addr = NULL; bhp = NULL; - b_incr = b_inserted = readonly_alloc = ret = 0; + b_incr = b_inserted = ret = 0; LOCKREGION(dbmp); @@ -114,11 +112,10 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp) * It would be possible to do so by reference counting the open * pages from the mmap, but it's unclear to me that it's worth it. */ - if (dbmfp->addr != NULL && dbmfp->mfp->can_mmap) { - lastpgno = dbmfp->len == 0 ? - 0 : (dbmfp->len - 1) / mfp->stat.st_pagesize; + if (dbmfp->addr != NULL && F_ISSET(dbmfp->mfp, MP_CAN_MMAP)) { + readonly_alloc = 0; if (LF_ISSET(DB_MPOOL_LAST)) - *pgnoaddr = lastpgno; + *pgnoaddr = mfp->last_pgno; else { /* * !!! @@ -128,10 +125,10 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp) */ if (LF_ISSET(DB_MPOOL_CREATE | DB_MPOOL_NEW)) readonly_alloc = 1; - else if (*pgnoaddr > lastpgno) { + else if (*pgnoaddr > mfp->last_pgno) { __db_err(dbmp->dbenv, "%s: page %lu doesn't exist", - dbmfp->path, (u_long)*pgnoaddr); + __memp_fn(dbmfp), (u_long)*pgnoaddr); ret = EINVAL; goto err; } @@ -146,79 +143,38 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp) } } - /* - * If requesting the last page or a new page, find the last page. The - * tricky thing is that the user may have created a page already that's - * after any page that exists in the file. - */ - if (LF_ISSET(DB_MPOOL_LAST | DB_MPOOL_NEW)) { - /* - * Temporary files may not yet have been created. - * - * Don't lock -- there are no atomicity issues for stat(2). - */ - if (dbmfp->fd == -1) - size = 0; - else if ((ret = - __db_ioinfo(dbmfp->path, dbmfp->fd, &size, NULL)) != 0) { - __db_err(dbmp->dbenv, - "%s: %s", dbmfp->path, strerror(ret)); - goto err; - } - - *pgnoaddr = size == 0 ? 0 : (size - 1) / mfp->stat.st_pagesize; + /* Check if requesting the last page or a new page. */ + if (LF_ISSET(DB_MPOOL_LAST)) + *pgnoaddr = mfp->last_pgno; - /* - * Walk the list of BH's, looking for later pages. Save the - * pointer if a later page is found so that we don't have to - * search the list twice. - * - * If requesting a new page, return the page one after the last - * page -- which we'll have to create. - */ - for (tbhp = SH_TAILQ_FIRST(&mp->bhq, __bh); - tbhp != NULL; tbhp = SH_TAILQ_NEXT(tbhp, q, __bh)) - if (tbhp->pgno >= *pgnoaddr && - tbhp->mf_offset == mf_offset) { - bhp = tbhp; - *pgnoaddr = bhp->pgno; - } - if (LF_ISSET(DB_MPOOL_NEW)) - ++*pgnoaddr; - } - - /* If we already found the right buffer, return it. */ - if (LF_ISSET(DB_MPOOL_LAST) && bhp != NULL) { - addr = bhp->buf; - goto found; + if (LF_ISSET(DB_MPOOL_NEW)) { + *pgnoaddr = mfp->last_pgno + 1; + goto alloc; } - /* If we haven't checked the BH hash bucket queue, do the search. */ - if (!LF_ISSET(DB_MPOOL_LAST | DB_MPOOL_NEW)) { - bucket = BUCKET(mp, mf_offset, *pgnoaddr); - for (cnt = 0, - bhp = SH_TAILQ_FIRST(&dbmp->htab[bucket], __bh); - bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh)) { - ++cnt; - if (bhp->pgno == *pgnoaddr && - bhp->mf_offset == mf_offset) { - addr = bhp->buf; - ++mp->stat.st_hash_searches; - if (cnt > mp->stat.st_hash_longest) - mp->stat.st_hash_longest = cnt; - mp->stat.st_hash_examined += cnt; - goto found; - } - } - if (cnt != 0) { + /* Check the BH hash bucket queue. */ + bucket = BUCKET(mp, mf_offset, *pgnoaddr); + for (cnt = 0, + bhp = SH_TAILQ_FIRST(&dbmp->htab[bucket], __bh); + bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh)) { + ++cnt; + if (bhp->pgno == *pgnoaddr && bhp->mf_offset == mf_offset) { + addr = bhp->buf; ++mp->stat.st_hash_searches; if (cnt > mp->stat.st_hash_longest) mp->stat.st_hash_longest = cnt; mp->stat.st_hash_examined += cnt; + goto found; } } + if (cnt != 0) { + ++mp->stat.st_hash_searches; + if (cnt > mp->stat.st_hash_longest) + mp->stat.st_hash_longest = cnt; + mp->stat.st_hash_examined += cnt; + } - /* +alloc: /* * Allocate a new buffer header and data space, and mark the contents * as useless. */ @@ -300,7 +256,7 @@ found: /* Increment the reference count. */ if (bhp->ref == UINT16_T_MAX) { __db_err(dbmp->dbenv, "%s: too many references to page %lu", - dbmfp->path, bhp->pgno); + __memp_fn(dbmfp), bhp->pgno); ret = EINVAL; goto err; } @@ -346,6 +302,14 @@ found: /* Increment the reference count. */ ++mfp->stat.st_cache_hit; } + /* + * If we're returning a page after our current notion of the last-page, + * update our information. Note, there's no way to un-instantiate this + * page, it's going to exist whether it's returned to us dirty or not. + */ + if (bhp->pgno > mfp->last_pgno) + mfp->last_pgno = bhp->pgno; + mapret: LOCKHANDLE(dbmp, dbmfp->mutexp); ++dbmfp->pinref; UNLOCKHANDLE(dbmp, dbmfp->mutexp); diff --git a/db2/mp/mp_fopen.c b/db2/mp/mp_fopen.c index de59c9ea9b..bdc4713863 100644 --- a/db2/mp/mp_fopen.c +++ b/db2/mp/mp_fopen.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_fopen.c 10.30 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)mp_fopen.c 10.32 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -28,8 +28,8 @@ static const char sccsid[] = "@(#)mp_fopen.c 10.30 (Sleepycat) 10/25/97"; #include "common_ext.h" static int __memp_mf_close __P((DB_MPOOL *, DB_MPOOLFILE *)); -static int __memp_mf_open __P((DB_MPOOL *, - DB_MPOOLFILE *, int, size_t, int, DBT *, u_int8_t *, int, MPOOLFILE **)); +static int __memp_mf_open __P((DB_MPOOL *, DB_MPOOLFILE *, + const char *, int, size_t, off_t, int, DBT *, u_int8_t *, MPOOLFILE **)); /* * memp_fopen -- @@ -53,7 +53,13 @@ memp_fopen(dbmp, path, ftype, "memp_fopen", flags, DB_CREATE | DB_NOMMAP | DB_RDONLY)) != 0) return (ret); - return (__memp_fopen(dbmp, path, ftype, + /* Require a non-zero pagesize. */ + if (pagesize == 0) { + __db_err(dbmp->dbenv, "memp_fopen: pagesize not specified"); + return (EINVAL); + } + + return (__memp_fopen(dbmp, NULL, path, ftype, flags, mode, pagesize, lsn_offset, pgcookie, fileid, 1, retp)); } @@ -61,13 +67,14 @@ memp_fopen(dbmp, path, ftype, * __memp_fopen -- * Open a backing file for the memory pool; internal version. * - * PUBLIC: int __memp_fopen __P((DB_MPOOL *, const char *, int, int, - * PUBLIC: int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **)); + * PUBLIC: int __memp_fopen __P((DB_MPOOL *, MPOOLFILE *, const char *, int, + * PUBLIC: int, int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **)); */ int -__memp_fopen(dbmp, path, +__memp_fopen(dbmp, mfp, path, ftype, flags, mode, pagesize, lsn_offset, pgcookie, fileid, needlock, retp) DB_MPOOL *dbmp; + MPOOLFILE *mfp; const char *path; int ftype, flags, mode, lsn_offset, needlock; size_t pagesize; @@ -77,24 +84,27 @@ __memp_fopen(dbmp, path, { DB_ENV *dbenv; DB_MPOOLFILE *dbmfp; - MPOOLFILE *mfp; off_t size; int ret; + u_int8_t idbuf[DB_FILE_ID_LEN]; + char *rpath; + /* + * XXX + * If mfp is provided, the following arguments do NOT need to be + * specified: + * lsn_offset + * pgcookie + * fileid + */ dbenv = dbmp->dbenv; ret = 0; - - /* Require a non-zero pagesize. */ - if (pagesize == 0) { - __db_err(dbenv, "memp_fopen: pagesize not specified"); - return (EINVAL); - } + rpath = NULL; /* Allocate and initialize the per-process structure. */ if ((dbmfp = (DB_MPOOLFILE *)__db_calloc(1, sizeof(DB_MPOOLFILE))) == NULL) { - __db_err(dbenv, "%s: %s", - path == NULL ? TEMPORARY : path, strerror(ENOMEM)); + __db_err(dbenv, "memp_fopen: %s", strerror(ENOMEM)); return (ENOMEM); } dbmfp->dbmp = dbmp; @@ -109,54 +119,66 @@ __memp_fopen(dbmp, path, ret = EINVAL; goto err; } - dbmfp->path = (char *)TEMPORARY; - F_SET(dbmfp, MP_PATH_TEMP); + size = 0; } else { - /* Calculate the real name for this file. */ + /* Get the real name for this file and open it. */ if ((ret = __db_appname(dbenv, - DB_APP_DATA, NULL, path, NULL, &dbmfp->path)) != 0) + DB_APP_DATA, NULL, path, NULL, &rpath)) != 0) goto err; - F_SET(dbmfp, MP_PATH_ALLOC); - - - /* Open the file. */ - if ((ret = __db_open(dbmfp->path, + if ((ret = __db_open(rpath, LF_ISSET(DB_CREATE | DB_RDONLY), DB_CREATE | DB_RDONLY, mode, &dbmfp->fd)) != 0) { - __db_err(dbenv, "%s: %s", dbmfp->path, strerror(ret)); + __db_err(dbenv, "%s: %s", rpath, strerror(ret)); goto err; } /* Don't permit files that aren't a multiple of the pagesize. */ - if ((ret = - __db_ioinfo(dbmfp->path, dbmfp->fd, &size, NULL)) != 0) { - __db_err(dbenv, "%s: %s", dbmfp->path, strerror(ret)); + if ((ret = __db_ioinfo(rpath, dbmfp->fd, &size, NULL)) != 0) { + __db_err(dbenv, "%s: %s", rpath, strerror(ret)); goto err; } if (size % pagesize) { __db_err(dbenv, "%s: file size not a multiple of the pagesize", - dbmfp->path); + rpath); ret = EINVAL; goto err; } + + /* + * Get the file id if we weren't given one. Generated file id's + * don't use timestamps, otherwise there'd be no chance of any + * other process joining the party. + */ + if (mfp == NULL && fileid == NULL) { + if ((ret = __db_fileid(dbenv, rpath, 0, idbuf)) != 0) + goto err; + fileid = idbuf; + } } /* - * Find/allocate the shared file objects. This includes allocating - * space for the per-process thread lock. + * If we weren't provided an underlying shared object to join with, + * find/allocate the shared file objects. Also allocate space for + * for the per-process thread lock. */ if (needlock) LOCKREGION(dbmp); - ret = __memp_mf_open(dbmp, dbmfp, ftype, pagesize, - lsn_offset, pgcookie, fileid, F_ISSET(dbmfp, MP_PATH_TEMP), &mfp); + + if (mfp == NULL) + ret = __memp_mf_open(dbmp, dbmfp, path, + ftype, pagesize, size, lsn_offset, pgcookie, fileid, &mfp); + else { + ++mfp->ref; + ret = 0; + } if (ret == 0 && F_ISSET(dbmp, MP_LOCKHANDLE) && (ret = __memp_ralloc(dbmp, sizeof(db_mutex_t), NULL, &dbmfp->mutexp)) == 0) LOCKINIT(dbmp, dbmfp->mutexp); + if (needlock) UNLOCKREGION(dbmp); - if (ret != 0) goto err; @@ -184,25 +206,25 @@ __memp_fopen(dbmp, path, * flatly impossible. Hope that mmap fails if the file is too large. */ #define DB_MAXMMAPSIZE (10 * 1024 * 1024) /* 10 Mb. */ - if (mfp->can_mmap) { + if (F_ISSET(mfp, MP_CAN_MMAP)) { if (!F_ISSET(dbmfp, MP_READONLY)) - mfp->can_mmap = 0; + F_CLR(mfp, MP_CAN_MMAP); if (path == NULL) - mfp->can_mmap = 0; + F_CLR(mfp, MP_CAN_MMAP); if (ftype != 0) - mfp->can_mmap = 0; + F_CLR(mfp, MP_CAN_MMAP); if (LF_ISSET(DB_NOMMAP)) - mfp->can_mmap = 0; + F_CLR(mfp, MP_CAN_MMAP); if (size > (dbenv == NULL || dbenv->mp_mmapsize == 0 ? DB_MAXMMAPSIZE : (off_t)dbenv->mp_mmapsize)) - mfp->can_mmap = 0; + F_CLR(mfp, MP_CAN_MMAP); } dbmfp->addr = NULL; - if (mfp->can_mmap) { + if (F_ISSET(mfp, MP_CAN_MMAP)) { dbmfp->len = size; if (__db_map(dbmfp->fd, dbmfp->len, 1, 1, &dbmfp->addr) != 0) { - mfp->can_mmap = 0; dbmfp->addr = NULL; + F_CLR(mfp, MP_CAN_MMAP); } } @@ -217,8 +239,8 @@ err: /* * Note that we do not have to free the thread mutex, because we * never get to here after we have successfully allocated it. */ - if (F_ISSET(dbmfp, MP_PATH_ALLOC)) - FREES(dbmfp->path); + if (rpath != NULL) + FREES(rpath); if (dbmfp->fd != -1) (void)__db_close(dbmfp->fd); if (dbmfp != NULL) @@ -231,78 +253,80 @@ err: /* * Open an MPOOLFILE. */ static int -__memp_mf_open(dbmp, dbmfp, - ftype, pagesize, lsn_offset, pgcookie, fileid, istemp, retp) +__memp_mf_open(dbmp, dbmfp, path, + ftype, pagesize, size, lsn_offset, pgcookie, fileid, retp) DB_MPOOL *dbmp; DB_MPOOLFILE *dbmfp; - int ftype, lsn_offset, istemp; + const char *path; + int ftype, lsn_offset; size_t pagesize; + off_t size; DBT *pgcookie; u_int8_t *fileid; MPOOLFILE **retp; { MPOOLFILE *mfp; int ret; - u_int8_t idbuf[DB_FILE_ID_LEN]; void *p; - /* Temporary files can't match previous files. */ - if (istemp) - goto alloc; +#define ISTEMPORARY (path == NULL) /* - * Get the file id if we weren't give one. Generated file id's don't - * use timestamps, otherwise there'd be no chance of anyone joining - * the party. + * Walk the list of MPOOLFILE's, looking for a matching file. + * Temporary files can't match previous files. */ - if (fileid == NULL) { - if ((ret = - __db_fileid(dbmp->dbenv, dbmfp->path, 0, idbuf)) != 0) - return (ret); - fileid = idbuf; - } - - /* Walk the list of MPOOLFILE's, looking for a matching file. */ - for (mfp = SH_TAILQ_FIRST(&dbmp->mp->mpfq, __mpoolfile); - mfp != NULL; mfp = SH_TAILQ_NEXT(mfp, q, __mpoolfile)) - if (!memcmp(fileid, - R_ADDR(dbmp, mfp->fileid_off), DB_FILE_ID_LEN)) { - if (ftype != mfp->ftype || - pagesize != mfp->stat.st_pagesize) { - __db_err(dbmp->dbenv, - "%s: ftype or pagesize changed", - dbmfp->path); - ret = EINVAL; - mfp = NULL; - goto ret1; + if (!ISTEMPORARY) + for (mfp = SH_TAILQ_FIRST(&dbmp->mp->mpfq, __mpoolfile); + mfp != NULL; mfp = SH_TAILQ_NEXT(mfp, q, __mpoolfile)) { + if (F_ISSET(mfp, MP_TEMP)) + continue; + if (!memcmp(fileid, + R_ADDR(dbmp, mfp->fileid_off), DB_FILE_ID_LEN)) { + if (ftype != mfp->ftype || + pagesize != mfp->stat.st_pagesize) { + __db_err(dbmp->dbenv, + "%s: ftype or pagesize changed", + path); + return (EINVAL); + } + + /* Found it: increment the reference count. */ + ++mfp->ref; + *retp = mfp; + return (0); } - /* Found it: increment the reference count. */ - ++mfp->ref; - goto ret1; } /* Allocate a new MPOOLFILE. */ -alloc: if ((ret = __memp_ralloc(dbmp, sizeof(MPOOLFILE), NULL, &mfp)) != 0) - goto ret1; + if ((ret = __memp_ralloc(dbmp, sizeof(MPOOLFILE), NULL, &mfp)) != 0) + return (ret); + *retp = mfp; /* Initialize the structure. */ memset(mfp, 0, sizeof(MPOOLFILE)); mfp->ref = 1; mfp->ftype = ftype; - mfp->can_mmap = 1; mfp->lsn_off = lsn_offset; - mfp->stat.st_pagesize = pagesize; - /* Copy the file path into shared memory. */ - if ((ret = __memp_ralloc(dbmp, - strlen(dbmfp->path) + 1, &mfp->path_off, &p)) != 0) - goto err; - memcpy(p, dbmfp->path, strlen(dbmfp->path) + 1); + /* + * If the user specifies DB_MPOOL_LAST or DB_MPOOL_NEW on a memp_fget, + * we have to know the last page in the file. Figure it out and save + * it away. + */ + mfp->stat.st_pagesize = pagesize; + mfp->last_pgno = size == 0 ? 0 : (size - 1) / mfp->stat.st_pagesize; - /* Copy the file identification string into shared memory. */ - if (istemp) - mfp->fileid_off = 0; + F_SET(mfp, MP_CAN_MMAP); + if (ISTEMPORARY) + F_SET(mfp, MP_TEMP); else { + /* Copy the file path into shared memory. */ + if ((ret = __memp_ralloc(dbmp, + strlen(path) + 1, &mfp->path_off, &p)) != 0) + goto err; + memcpy(p, path, strlen(path) + 1); + + /* Copy the file identification string into shared memory. */ if ((ret = __memp_ralloc(dbmp, DB_FILE_ID_LEN, &mfp->fileid_off, &p)) != 0) goto err; @@ -328,15 +352,13 @@ alloc: if ((ret = __memp_ralloc(dbmp, sizeof(MPOOLFILE), NULL, &mfp)) != 0) err: if (mfp->path_off != 0) __db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->path_off)); - if (!istemp) + if (mfp->fileid_off != 0) __db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->fileid_off)); if (mfp != NULL) __db_shalloc_free(dbmp->addr, mfp); mfp = NULL; } - -ret1: *retp = mfp; return (0); } @@ -357,7 +379,7 @@ memp_fclose(dbmfp) /* Complain if pinned blocks never returned. */ if (dbmfp->pinref != 0) __db_err(dbmp->dbenv, "%s: close: %lu blocks left pinned", - dbmfp->path, (u_long)dbmfp->pinref); + __memp_fn(dbmfp), (u_long)dbmfp->pinref); /* Remove the DB_MPOOLFILE structure from the list. */ LOCKHANDLE(dbmp, dbmp->mutexp); @@ -370,18 +392,18 @@ memp_fclose(dbmfp) /* Discard any mmap information. */ if (dbmfp->addr != NULL && (ret = __db_unmap(dbmfp->addr, dbmfp->len)) != 0) - __db_err(dbmp->dbenv, "%s: %s", dbmfp->path, strerror(ret)); + __db_err(dbmp->dbenv, + "%s: %s", __memp_fn(dbmfp), strerror(ret)); /* Close the file; temporary files may not yet have been created. */ if (dbmfp->fd != -1 && (t_ret = __db_close(dbmfp->fd)) != 0) { - __db_err(dbmp->dbenv, "%s: %s", dbmfp->path, strerror(t_ret)); + __db_err(dbmp->dbenv, + "%s: %s", __memp_fn(dbmfp), strerror(t_ret)); if (ret != 0) t_ret = ret; } /* Free memory. */ - if (F_ISSET(dbmfp, MP_PATH_ALLOC)) - FREES(dbmfp->path); if (dbmfp->mutexp != NULL) { LOCKREGION(dbmp); __db_shalloc_free(dbmp->addr, dbmfp->mutexp); @@ -434,7 +456,8 @@ __memp_mf_close(dbmp, dbmfp) if (F_ISSET(bhp, BH_DIRTY)) __db_err(dbmp->dbenv, "%s: close: pgno %lu left dirty; ref %lu", - dbmfp->path, (u_long)bhp->pgno, (u_long)bhp->ref); + __memp_fn(dbmfp), + (u_long)bhp->pgno, (u_long)bhp->ref); #endif if (bhp->mf_offset == mf_offset) { @@ -452,7 +475,8 @@ __memp_mf_close(dbmp, dbmfp) /* Free the space. */ __db_shalloc_free(dbmp->addr, mfp); - __db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->path_off)); + if (mfp->path_off != 0) + __db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->path_off)); if (mfp->fileid_off != 0) __db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->fileid_off)); if (mfp->pgcookie_off != 0) diff --git a/db2/mp/mp_fput.c b/db2/mp/mp_fput.c index 892f179d3a..38e86b8ac5 100644 --- a/db2/mp/mp_fput.c +++ b/db2/mp/mp_fput.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_fput.c 10.14 (Sleepycat) 10/5/97"; +static const char sccsid[] = "@(#)mp_fput.c 10.16 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -54,7 +54,7 @@ memp_fput(dbmfp, pgaddr, flags) if (LF_ISSET(DB_MPOOL_DIRTY) && F_ISSET(dbmfp, MP_READONLY)) { __db_err(dbmp->dbenv, "%s: dirty flag set for readonly file page", - dbmfp->path); + __memp_fn(dbmfp)); return (EACCES); } } @@ -64,7 +64,7 @@ memp_fput(dbmfp, pgaddr, flags) if (dbmfp->pinref == 0) __db_err(dbmp->dbenv, "%s: put: more blocks returned than retrieved", - dbmfp->path); + __memp_fn(dbmfp)); else --dbmfp->pinref; UNLOCKHANDLE(dbmp, dbmfp->mutexp); diff --git a/db2/mp/mp_fset.c b/db2/mp/mp_fset.c index a7d2706008..2eff7dd74c 100644 --- a/db2/mp/mp_fset.c +++ b/db2/mp/mp_fset.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_fset.c 10.10 (Sleepycat) 10/5/97"; +static const char sccsid[] = "@(#)mp_fset.c 10.12 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -43,20 +43,21 @@ memp_fset(dbmfp, pgaddr, flags) mp = dbmp->mp; /* Validate arguments. */ - if (flags != 0) { - if ((ret = __db_fchk(dbmp->dbenv, "memp_fset", flags, - DB_MPOOL_DIRTY | DB_MPOOL_CLEAN | DB_MPOOL_DISCARD)) != 0) - return (ret); - if ((ret = __db_fcchk(dbmp->dbenv, "memp_fset", - flags, DB_MPOOL_CLEAN, DB_MPOOL_DIRTY)) != 0) - return (ret); + if (flags == 0) + return (__db_ferr(dbmp->dbenv, "memp_fset", 1)); - if (LF_ISSET(DB_MPOOL_DIRTY) && F_ISSET(dbmfp, MP_READONLY)) { - __db_err(dbmp->dbenv, - "%s: dirty flag set for readonly file page", - dbmfp->path); - return (EACCES); - } + if ((ret = __db_fchk(dbmp->dbenv, "memp_fset", flags, + DB_MPOOL_DIRTY | DB_MPOOL_CLEAN | DB_MPOOL_DISCARD)) != 0) + return (ret); + if ((ret = __db_fcchk(dbmp->dbenv, "memp_fset", + flags, DB_MPOOL_CLEAN, DB_MPOOL_DIRTY)) != 0) + return (ret); + + if (LF_ISSET(DB_MPOOL_DIRTY) && F_ISSET(dbmfp, MP_READONLY)) { + __db_err(dbmp->dbenv, + "%s: dirty flag set for readonly file page", + __memp_fn(dbmfp)); + return (EACCES); } /* Convert the page address to a buffer header. */ diff --git a/db2/mp/mp_open.c b/db2/mp/mp_open.c index 4c19739ebd..ca81f8d6d6 100644 --- a/db2/mp/mp_open.c +++ b/db2/mp/mp_open.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_open.c 10.15 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)mp_open.c 10.16 (Sleepycat) 11/28/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -66,17 +66,6 @@ memp_open(path, flags, mode, dbenv, retp) F_SET(dbmp, MP_ISPRIVATE); /* - * XXX - * HP-UX won't permit mutexes to live in anything but shared memory. - * So, we have to instantiate the shared mpool region file on that - * architecture, regardless. If this turns out to be a performance - * problem, we could probably use anonymous memory instead. - */ -#if defined(__hppa) - F_CLR(dbmp, MP_ISPRIVATE); -#endif - - /* * Map in the region. We do locking regardless, as portions of it are * implemented in common code (if we put the region in a file, that is). */ diff --git a/db2/mp/mp_pr.c b/db2/mp/mp_pr.c index 01f0920df4..6ff1131b6e 100644 --- a/db2/mp/mp_pr.c +++ b/db2/mp/mp_pr.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_pr.c 10.18 (Sleepycat) 11/1/97"; +static const char sccsid[] = "@(#)mp_pr.c 10.20 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -100,7 +100,7 @@ memp_stat(dbmp, gspp, fspp, db_malloc) mfp = SH_TAILQ_FIRST(&dbmp->mp->mpfq, __mpoolfile); mfp != NULL; ++tfsp, mfp = SH_TAILQ_NEXT(mfp, q, __mpoolfile)) { - name = R_ADDR(dbmp, mfp->path_off); + name = __memp_fns(dbmp, mfp); nlen = strlen(name); len = sizeof(DB_MPOOL_FSTAT) + nlen + 1; if ((*tfsp = db_malloc == NULL ? @@ -120,6 +120,37 @@ memp_stat(dbmp, gspp, fspp, db_malloc) } /* + * __memp_fn -- + * On errors we print whatever is available as the file name. + * + * PUBLIC: char * __memp_fn __P((DB_MPOOLFILE *)); + */ +char * +__memp_fn(dbmfp) + DB_MPOOLFILE *dbmfp; +{ + return (__memp_fns(dbmfp->dbmp, dbmfp->mfp)); +} + +/* + * __memp_fns -- + * On errors we print whatever is available as the file name. + * + * PUBLIC: char * __memp_fns __P((DB_MPOOL *, MPOOLFILE *)); + * + */ +char * +__memp_fns(dbmp, mfp) + DB_MPOOL *dbmp; + MPOOLFILE *mfp; +{ + if (mfp->path_off == 0) + return ((char *)"temporary"); + + return ((char *)R_ADDR(dbmp, mfp->path_off)); +} + +/* * __memp_debug -- * Display MPOOL structures. * @@ -152,7 +183,7 @@ __memp_debug(dbmp, fp, data) (void)fprintf(fp, "%lu process-local files\n", cnt); for (dbmfp = TAILQ_FIRST(&dbmp->dbmfq); dbmfp != NULL; dbmfp = TAILQ_NEXT(dbmfp, q)) { - (void)fprintf(fp, "%s\n", dbmfp->path); + (void)fprintf(fp, "%s\n", __memp_fn(dbmfp)); __memp_pdbmf(fp, dbmfp, data); } @@ -285,7 +316,7 @@ __memp_pmf(fp, mfp, data) return; (void)fprintf(fp, " %d references; %s; pagesize: %lu\n", mfp->ref, - mfp->can_mmap ? "mmap" : "read/write", + F_ISSET(mfp, MP_CAN_MMAP) ? "mmap" : "read/write", (u_long)mfp->stat.st_pagesize); } diff --git a/db2/mp/mp_region.c b/db2/mp/mp_region.c index 6b2f93125c..c20e669749 100644 --- a/db2/mp/mp_region.c +++ b/db2/mp/mp_region.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_region.c 10.16 (Sleepycat) 10/25/97"; +static const char sccsid[] = "@(#)mp_region.c 10.18 (Sleepycat) 11/29/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -224,17 +224,28 @@ retry: if (LF_ISSET(DB_CREATE)) { * the file descriptor for locking. However, it should not * be possible for DB_THREAD to be set if HAVE_SPINLOCKS aren't * defined. + * + * XXX + * HP-UX won't permit mutexes to live in anything but shared + * memory. So, instantiate the shared mpool region file on + * that architecture, regardless. If this turns out to be a + * performance problem, we could use anonymous memory instead. */ - if (F_ISSET(dbmp, MP_ISPRIVATE)) { +#if !defined(__hppa) + if (F_ISSET(dbmp, MP_ISPRIVATE)) if ((dbmp->maddr = __db_malloc(rlen)) == NULL) ret = ENOMEM; - else + else { + F_SET(dbmp, MP_MALLOC); ret = __db_rinit(dbmp->dbenv, dbmp->maddr, 0, rlen, 0); - } else + } + else +#endif ret = __db_rcreate(dbmp->dbenv, DB_APP_NONE, path, - DB_DEFAULT_MPOOL_FILE, mode, rlen, &fd, - &dbmp->maddr); + DB_DEFAULT_MPOOL_FILE, mode, rlen, + F_ISSET(dbmp, MP_ISPRIVATE) ? DB_TEMPORARY : 0, + &fd, &dbmp->maddr); if (ret == 0) { /* Put the MPOOL structure first in the region. */ mp = dbmp->maddr; @@ -315,7 +326,7 @@ retry: if (LF_ISSET(DB_CREATE)) { dbmp->fd = fd; /* If we locked the region, release it now. */ - if (!F_ISSET(dbmp, MP_ISPRIVATE)) + if (!F_ISSET(dbmp, MP_MALLOC)) UNLOCKREGION(dbmp); return (0); @@ -339,7 +350,7 @@ int __memp_rclose(dbmp) DB_MPOOL *dbmp; { - if (F_ISSET(dbmp, MP_ISPRIVATE)) { + if (F_ISSET(dbmp, MP_MALLOC)) { __db_free(dbmp->maddr); return (0); } diff --git a/db2/mp/mp_sync.c b/db2/mp/mp_sync.c index 2f042df9e1..47a7f2ebca 100644 --- a/db2/mp/mp_sync.c +++ b/db2/mp/mp_sync.c @@ -7,7 +7,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mp_sync.c 10.15 (Sleepycat) 11/1/97"; +static const char sccsid[] = "@(#)mp_sync.c 10.17 (Sleepycat) 11/26/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -201,7 +201,7 @@ memp_sync(dbmp, lsnp) */ if (!wrote) { __db_err(dbenv, "%s: unable to flush page: %lu", - R_ADDR(dbmp, mfp->path_off), + __memp_fns(dbmp, mfp), (u_long)bharray[next]->pgno); ret = EPERM; goto err; @@ -244,16 +244,24 @@ memp_fsync(dbmfp) size_t mf_offset; int ar_cnt, cnt, nalloc, next, pincnt, notused, ret, wrote; + dbmp = dbmfp->dbmp; + /* * If this handle doesn't have a file descriptor that's open for * writing, or if the file is a temporary, there's no reason to * proceed further. */ - if (F_ISSET(dbmfp, MP_READONLY | MP_PATH_TEMP)) + if (F_ISSET(dbmfp, MP_READONLY)) return (0); ret = 0; - dbmp = dbmfp->dbmp; + LOCKREGION(dbmp); + if (F_ISSET(dbmfp->mfp, MP_TEMP)) + ret = 1; + UNLOCKREGION(dbmp); + if (ret) + return (0); + mf_offset = R_OFFSET(dbmp, dbmfp->mfp); /* @@ -407,18 +415,26 @@ loop: total = mp->stat.st_page_clean + mp->stat.st_page_dirty; continue; mfp = R_ADDR(dbmp, bhp->mf_offset); + + /* + * We can't write to temporary files -- see the comment in + * mp_bh.c:__memp_bhwrite(). + */ + if (F_ISSET(mfp, MP_TEMP)) + continue; + if ((ret = __memp_bhwrite(dbmp, mfp, bhp, ¬used, &wrote)) != 0) goto err; /* - * Any process syncing the shared memory buffer pool - * had better be able to write to any underlying file. - * Be understanding, but firm, on this point. + * Any process syncing the shared memory buffer pool had better + * be able to write to any underlying file. Be understanding, + * but firm, on this point. */ if (!wrote) { __db_err(dbmp->dbenv, "%s: unable to flush page: %lu", - R_ADDR(dbmp, mfp->path_off), (u_long)bhp->pgno); + __memp_fns(dbmp, mfp), (u_long)bhp->pgno); ret = EPERM; goto err; } diff --git a/db2/mutex/README b/db2/mutex/README index 30d6b6a7d1..fceeef7ed8 100644 --- a/db2/mutex/README +++ b/db2/mutex/README @@ -1,4 +1,4 @@ -# @(#)README 10.1 (Sleepycat) 4/12/97 +# @(#)README 10.2 (Sleepycat) 11/25/97 Resource locking routines: lock based on a db_mutex_t. All this gunk (including trying to make assembly code portable), is necessary because @@ -11,9 +11,9 @@ information. If HAVE_SPINLOCKS is defined (i.e. we know how to do test-and-sets for this compiler/architecture combination), we try and lock the resource tsl -TSL_DEFAULT_SPINS times. If we can't acquire the lock that way, we use -a system call to sleep for 10ms, 20ms, 40ms, etc. (The time is bounded -at 1 second, just in case.) Using the timer backoff means that there are +__db_tsl_spins times. If we can't acquire the lock that way, we use a +system call to sleep for 10ms, 20ms, 40ms, etc. (The time is bounded at +1 second, just in case.) Using the timer backoff means that there are two assumptions: that locks are held for brief periods (never over system calls or I/O) and that locks are not hotly contested. diff --git a/db2/mutex/mutex.c b/db2/mutex/mutex.c index 7c8ea6ebd1..6e87c5f215 100644 --- a/db2/mutex/mutex.c +++ b/db2/mutex/mutex.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)mutex.c 10.28 (Sleepycat) 10/31/97"; +static const char sccsid[] = "@(#)mutex.c 10.29 (Sleepycat) 11/25/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -101,12 +101,6 @@ static const char sccsid[] = "@(#)mutex.c 10.28 (Sleepycat) 10/31/97"; #endif /* HAVE_SPINLOCKS */ -#ifdef MORE_THAN_ONE_PROCESSOR -#define TSL_DEFAULT_SPINS 5 /* Default spins before block. */ -#else -#define TSL_DEFAULT_SPINS 1 /* Default spins before block. */ -#endif - /* * __db_mutex_init -- * Initialize a DB mutex structure. @@ -130,6 +124,7 @@ __db_mutex_init(mp, off) #ifdef HAVE_SPINLOCKS TSL_INIT(&mp->tsl_resource); + mp->spins = __os_spin(); #else mp->off = off; #endif @@ -155,11 +150,8 @@ __db_mutex_lock(mp, fd) int nspins; for (usecs = MS(10);;) { - /* - * Try and acquire the uncontested resource lock for - * TSL_DEFAULT_SPINS. - */ - for (nspins = TSL_DEFAULT_SPINS; nspins > 0; --nspins) + /* Try and acquire the uncontested resource lock for N spins. */ + for (nspins = mp->spins; nspins > 0; --nspins) if (TSL_SET(&mp->tsl_resource)) { #ifdef DEBUG if (mp->pid != 0) { diff --git a/db2/os/os_func.c b/db2/os/os_config.c index afd40f4624..ecb4f1c2e7 100644 --- a/db2/os/os_func.c +++ b/db2/os/os_config.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)os_func.c 10.4 (Sleepycat) 10/28/97"; +static const char sccsid[] = "@(#)os_config.c 10.9 (Sleepycat) 11/28/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -31,7 +31,6 @@ static const char sccsid[] = "@(#)os_func.c 10.4 (Sleepycat) 10/28/97"; #define imported #endif -imported extern void *calloc __P((size_t, size_t)); imported extern int close __P((int)); imported extern void free __P((void *)); imported extern int fsync __P((int)); @@ -42,16 +41,16 @@ imported extern char *strdup __P((const char *)); imported extern void *realloc __P((void *, size_t)); imported extern int unlink __P((const char *)); imported extern ssize_t write __P((int, const void *, size_t)); +imported extern void *memset __P((void *, int, size_t)); /* * __db_jump -- * This list of interfaces that applications can replace. In some * cases, the user is permitted to replace the standard ANSI C or - * POSIX 1003.1 call, e.g., calloc or read. In others, we provide + * POSIX 1003.1 call, e.g., malloc or read. In others, we provide * a local interface to the functionality, e.g., __os_map. */ struct __db_jumptab __db_jump = { - calloc, /* DB_FUNC_CALLOC */ close, /* DB_FUNC_CLOSE */ __os_dirfree, /* DB_FUNC_DIRFREE */ __os_dirlist, /* DB_FUNC_DIRLIST */ @@ -73,9 +72,11 @@ struct __db_jumptab __db_jump = { NULL /* DB_FUNC_YIELD */ }; +int __db_tsl_spins; /* DB_TSL_SPINS */ + /* * db_jump_set -- - * Replace an interface. + * Replace functions for the DB package. */ int db_jump_set(func, which) @@ -84,70 +85,148 @@ db_jump_set(func, which) { switch (which) { case DB_FUNC_CALLOC: - __db_calloc = (void *(*) __P((size_t, size_t)))func; - break; + /* + * XXX + * Obsolete, calloc is no longer called by DB. + */ + break; case DB_FUNC_CLOSE: - __os_close = (int (*) __P((int)))func; + __db_jump.db_close = (int (*) __P((int)))func; break; case DB_FUNC_DIRFREE: - __db_dirfree = (void (*) __P((char **, int)))func; + __db_jump.db_dirfree = (void (*) __P((char **, int)))func; break; case DB_FUNC_DIRLIST: - __db_dirlist = + __db_jump.db_dirlist = (int (*) __P((const char *, char ***, int *)))func; break; case DB_FUNC_EXISTS: - __db_exists = (int (*) __P((const char *, int *)))func; + __db_jump.db_exists = (int (*) __P((const char *, int *)))func; break; case DB_FUNC_FREE: - __db_free = (void (*) __P((void *)))func; + __db_jump.db_free = (void (*) __P((void *)))func; break; case DB_FUNC_FSYNC: - __os_fsync = (int (*) __P((int)))func; + __db_jump.db_fsync = (int (*) __P((int)))func; break; case DB_FUNC_IOINFO: - __db_ioinfo = + __db_jump.db_ioinfo = (int (*) __P((const char *, int, off_t *, off_t *)))func; break; case DB_FUNC_MALLOC: - __db_malloc = (void *(*) __P((size_t)))func; + __db_jump.db_malloc = (void *(*) __P((size_t)))func; break; case DB_FUNC_MAP: - __db_map = (int (*) __P((int, size_t, int, int, void **)))func; + __db_jump.db_map = + (int (*) __P((int, size_t, int, int, void **)))func; break; case DB_FUNC_OPEN: - __os_open = (int (*) __P((const char *, int, ...)))func; + __db_jump.db_open = (int (*) __P((const char *, int, ...)))func; break; case DB_FUNC_READ: - __os_read = (ssize_t (*) __P((int, void *, size_t)))func; + __db_jump.db_read = + (ssize_t (*) __P((int, void *, size_t)))func; break; case DB_FUNC_REALLOC: - __db_realloc = (void *(*) __P((void *, size_t)))func; + __db_jump.db_realloc = (void *(*) __P((void *, size_t)))func; break; case DB_FUNC_SEEK: - __db_seek = + __db_jump.db_seek = (int (*) __P((int, size_t, db_pgno_t, u_long, int)))func; break; case DB_FUNC_SLEEP: - __db_sleep = (int (*) __P((u_long, u_long)))func; + __db_jump.db_sleep = (int (*) __P((u_long, u_long)))func; break; case DB_FUNC_STRDUP: - __db_strdup = (char *(*) __P((const char *)))func; + __db_jump.db_strdup = (char *(*) __P((const char *)))func; break; case DB_FUNC_UNLINK: - __os_unlink = (int (*) __P((const char *)))func; + __db_jump.db_unlink = (int (*) __P((const char *)))func; break; case DB_FUNC_UNMAP: - __db_unmap = (int (*) __P((void *, size_t)))func; + __db_jump.db_unmap = (int (*) __P((void *, size_t)))func; break; case DB_FUNC_WRITE: - __os_write = (ssize_t (*) __P((int, const void *, size_t)))func; + __db_jump.db_write = + (ssize_t (*) __P((int, const void *, size_t)))func; break; case DB_FUNC_YIELD: - __db_yield = (int (*) __P((void)))func; + __db_jump.db_yield = (int (*) __P((void)))func; + break; + default: + return (EINVAL); + } + return (0); +} + +/* + * db_value_set -- + * Replace values for the DB package. + */ +int +db_value_set(value, which) + int value, which; +{ + switch (which) { + case DB_TSL_SPINS: + if (value <= 0) + return (EINVAL); + __db_tsl_spins = value; break; default: return (EINVAL); } return (0); } + +/* + * XXX + * Correct for systems that return NULL when you allocate 0 bytes of memory. + * There are several places in DB where we allocate the number of bytes held + * by the key/data item, and it can be 0. Correct here so that malloc never + * returns a NULL for that reason. + */ +/* + * __db_calloc -- + * The calloc(3) function for DB. + * + * PUBLIC: void *__db_calloc __P((size_t, size_t)); + */ +void * +__db_calloc(num, size) + size_t num, size; +{ + void *p; + + size *= num; + if ((p = __db_jump.db_malloc(size == 0 ? 1 : size)) != NULL) + memset(p, 0, size); + return (p); +} + +/* + * __db_malloc -- + * The malloc(3) function for DB. + * + * PUBLIC: void *__db_malloc __P((size_t)); + */ +void * +__db_malloc(size) + size_t size; +{ + return (__db_jump.db_malloc(size == 0 ? 1 : size)); +} + +/* + * __db_realloc -- + * The realloc(3) function for DB. + * + * PUBLIC: void *__db_realloc __P((void *, size_t)); + */ +void * +__db_realloc(ptr, size) + void *ptr; + size_t size; +{ + return (__db_jump.db_realloc(ptr, size == 0 ? 1 : size)); +} diff --git a/db2/os/os_open.c b/db2/os/os_open.c index 05784e4810..a628765556 100644 --- a/db2/os/os_open.c +++ b/db2/os/os_open.c @@ -8,7 +8,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)os_open.c 10.19 (Sleepycat) 10/28/97"; +static const char sccsid[] = "@(#)os_open.c 10.20 (Sleepycat) 11/27/97"; #endif /* not lint */ #ifndef NO_SYSTEM_INCLUDES @@ -38,6 +38,11 @@ __db_open(name, arg_flags, ok_flags, mode, fdp) return (EINVAL); flags = 0; + + /* + * DB requires the semantic that two files opened at the same time + * with O_CREAT and O_EXCL set will return failure in at least one. + */ if (arg_flags & DB_CREATE) flags |= O_CREAT; diff --git a/db2/os/os_spin.c b/db2/os/os_spin.c new file mode 100644 index 0000000000..fb693c2848 --- /dev/null +++ b/db2/os/os_spin.c @@ -0,0 +1,56 @@ +/*- + * See the file LICENSE for redistribution information. + * + * Copyright (c) 1997 + * Sleepycat Software. All rights reserved. + */ + +#include "config.h" + +#ifndef lint +static const char sccsid[] = "@(#)os_spin.c 10.3 (Sleepycat) 11/25/97"; +#endif /* not lint */ + +#ifndef NO_SYSTEM_INCLUDES +#include <sys/types.h> + +#include <limits.h> +#include <unistd.h> +#endif + +#include "db_int.h" + +/* + * __os_spin -- + * Return the number of default spins before blocking. + * + * PUBLIC: int __os_spin __P((void)); + */ +int +__os_spin() +{ + extern int __db_tsl_spins; + + /* If the application specified the spins, use its value. */ + if (__db_tsl_spins != 0) + return (__db_tsl_spins); + + /* + * XXX + * Sysconf: Solaris uses _SC_NPROCESSORS_ONLN to return the number + * of online processors. I don't know if this call is portable or + * not. + */ +#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) + { + long sys_val; + + sys_val = sysconf(_SC_NPROCESSORS_ONLN); + if (sys_val > 0) + return (sys_val * 50); + } +#endif + + /* Default to a single processor. */ + return (1); +} diff --git a/db2/txn/txn.c b/db2/txn/txn.c index 55423f0470..e7a1798350 100644 --- a/db2/txn/txn.c +++ b/db2/txn/txn.c @@ -43,7 +43,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)txn.c 10.35 (Sleepycat) 11/2/97"; +static const char sccsid[] = "@(#)txn.c 10.37 (Sleepycat) 11/28/97"; #endif /* not lint */ @@ -101,11 +101,9 @@ __txn_create(dbenv, path, mode) maxtxns = dbenv->tx_max != 0 ? dbenv->tx_max : 1000; (void)time(&now); - ret = __db_rcreate(dbenv, DB_APP_NONE, path, - DEFAULT_TXN_FILE, mode, TXN_REGION_SIZE(maxtxns), &fd, &txn_region); - /* Region may have existed. If it didn't, the open will fail. */ - if (ret != 0) + if ((ret = __db_rcreate(dbenv, DB_APP_NONE, path, DEFAULT_TXN_FILE, + mode, TXN_REGION_SIZE(maxtxns), 0, &fd, &txn_region)) != 0) return (ret); txn_region->magic = DB_TXNMAGIC; @@ -315,7 +313,10 @@ err: return (ret); } -/* The db_txn(3) man page describes txn_commit. */ +/* + * txn_commit -- + * Commit a transaction. + */ int txn_commit(txnp) DB_TXN *txnp; @@ -337,7 +338,10 @@ txn_commit(txnp) return (__txn_end(txnp, 1)); } -/* The db_txn(3) man page describes txn_abort. */ +/* + * txn_abort -- + * Abort a transcation. + */ int txn_abort(txnp) DB_TXN *txnp; @@ -395,8 +399,8 @@ txn_id(txnp) } /* - * The db_txn(3) man page describes txn_close. Currently the caller should - * arrange a checkpoint before calling txn_close. + * txn_close -- + * Close the transaction region, does not imply a checkpoint. */ int txn_close(tmgrp) @@ -439,8 +443,8 @@ txn_close(tmgrp) } /* - * The db_txn(3) man page describes txn_unlink. Right now it is up to - * txn_close to write the final checkpoint record. + * txn_unlink -- + * Remove the transaction region. */ int txn_unlink(path, force, dbenv) @@ -666,12 +670,19 @@ do_ckp: mgr->region->pending_ckp = ckp_lsn; UNLOCK_TXNREGION(mgr); - ret = memp_sync(mgr->dbenv->mp_info, &ckp_lsn); - if (ret > 0) { - __db_err(mgr->dbenv, - "txn_checkpoint: system failure in memp_sync %s\n", - strerror(ret)); - } else if (ret == 0 && mgr->dbenv->lg_info != NULL) { + if (mgr->dbenv->mp_info != NULL && + (ret = memp_sync(mgr->dbenv->mp_info, &ckp_lsn)) != 0) { + /* + * ret < 0 means that there are still buffers to flush; + * the checkpoint is not complete. Back off and try again. + */ + if (ret > 0) + __db_err(mgr->dbenv, + "txn_checkpoint: system failure in memp_sync %s\n", + strerror(ret)); + return (ret); + } + if (mgr->dbenv->lg_info != NULL) { LOCK_TXNREGION(mgr); last_ckp = mgr->region->last_ckp; ZERO_LSN(mgr->region->pending_ckp); @@ -691,11 +702,7 @@ do_ckp: (void)time(&mgr->region->time_ckp); UNLOCK_TXNREGION(mgr); } - /* - * ret < 0 means that there are still buffers to flush; the - * checkpoint is not complete. Back off and try again. - */ - return (ret); + return (0); } /* diff --git a/db2/txn/txn_auto.c b/db2/txn/txn_auto.c index 9edbc03eab..38627466a8 100644 --- a/db2/txn/txn_auto.c +++ b/db2/txn/txn_auto.c @@ -73,7 +73,6 @@ int __txn_regop_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __txn_regop_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __txn_regop_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; @@ -202,7 +201,6 @@ int __txn_ckp_log(logp, txnid, ret_lsnp, flags, * PUBLIC: int __txn_ckp_print * PUBLIC: __P((DB_LOG *, DBT *, DB_LSN *, int, void *)); */ - int __txn_ckp_print(notused1, dbtp, lsnp, notused3, notused4) DB_LOG *notused1; diff --git a/iconv/gconv.h b/iconv/gconv.h index 879db49e1c..83f7a99541 100644 --- a/iconv/gconv.h +++ b/iconv/gconv.h @@ -26,6 +26,9 @@ __BEGIN_DECLS +/* ISO 10646 value used to signal invalid value. */ +#define UNKNOWN_10646_CHAR ((wchar_t) 0xfffd) + /* Error codes for gconv functions. */ enum { diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c index 8a72c7aac9..fb03372def 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -322,11 +322,8 @@ read_conf_file (const char *filename, const char *directory, size_t dir_len, if (endp != NULL) *endp = '\0'; else - { - endp = strchr (rp, '\n'); - if (endp != NULL) - *endp = '\0'; - } + if (rp[n - 1] == '\n') + rp[n - 1] = '\0'; while (isspace (*rp)) ++rp; diff --git a/iconvdata/.cvsignore b/iconvdata/.cvsignore new file mode 100644 index 0000000000..8e5dcb0c65 --- /dev/null +++ b/iconvdata/.cvsignore @@ -0,0 +1,14 @@ +ebcdic-at-de-a.h +ebcdic-at-de.h +ebcdic-ca-fr.h +hp-roman8.h +iso8859-10.h +iso8859-2.h +iso8859-3.h +iso8859-4.h +iso8859-5.h +iso8859-6.h +iso8859-7.h +iso8859-8.h +iso8859-9.h +koi-8.h diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c new file mode 100644 index 0000000000..0bcc91ba28 --- /dev/null +++ b/iconvdata/8bit-gap.c @@ -0,0 +1,250 @@ +/* Generic conversion to and from 8bit charsets, + converting from UCS using gaps. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <gconv.h> +#include <inttypes.h> +#include <stdlib.h> +#include <string.h> + + +struct gap +{ + uint16_t start; + uint16_t end; + int16_t idx; +}; + +/* Now we can include the tables. */ +#include TABLES + +/* Direction of the transformation. */ +enum direction +{ + illegal, + to_8bit, + from_8bit +}; + +struct s_8bit_data +{ + enum direction dir; +}; + + +int +gconv_init (struct gconv_step *step, struct gconv_step_data *data) +{ + /* Determine which direction. */ + struct s_8bit_data *new_data; + enum direction dir; + int result; + + if (__strcasestr (step->from_name, NAME) != NULL) + dir = from_8bit; + else if (__strcasestr (step->to_name, NAME) != NULL) + dir = to_8bit; + else + dir = illegal; + + result = GCONV_NOCONV; + if (dir != illegal + && ((new_data + = (struct s_8bit_data *) malloc (sizeof (struct s_8bit_data))) + != NULL)) + { + new_data->dir = dir; + data->data = new_data; + result = GCONV_OK; + } + + return result; +} + + +void +gconv_end (struct gconv_step_data *data) +{ + free (data->data); +} + + +int +gconv (struct gconv_step *step, struct gconv_step_data *data, + const char *inbuf, size_t *inbufsize, size_t *written, int do_flush) +{ + struct gconv_step *next_step = step + 1; + struct gconv_step_data *next_data = data + 1; + gconv_fct fct = next_step->fct; + size_t do_write; + int result; + + /* If the function is called with no input this means we have to reset + to the initial state. The possibly partly converted input is + dropped. */ + if (do_flush) + { + do_write = 0; + + /* Call the steps down the chain if there are any. */ + if (data->is_last) + result = GCONV_OK; + else + { + struct gconv_step *next_step = step + 1; + struct gconv_step_data *next_data = data + 1; + + result = (*fct) (next_step, next_data, NULL, 0, written, 1); + + /* Clear output buffer. */ + data->outbufavail = 0; + } + } + else + { + enum direction dir = ((struct s_8bit_data *) data->data)->dir; + + do_write = 0; + + do + { + result = GCONV_OK; + + if (dir == from_8bit) + { + size_t inchars = *inbufsize; + size_t outwchars = data->outbufavail; + char *outbuf = data->outbuf; + size_t cnt = 0; + + while (cnt < inchars + && (outwchars + sizeof (wchar_t) <= data->outbufsize)) + { + wchar_t ch = to_ucs4[(unsigned int) inbuf[cnt]]; + + if (ch == L'\0' && inbuf[cnt] != '\0') + { + /* This is an illegal character. */ + result = GCONV_ILLEGAL_INPUT; + break; + } + + *((wchar_t *) (outbuf + outwchars)) = ch; + ++do_write; + outwchars += sizeof (wchar_t); + ++cnt; + } + *inbufsize -= cnt; + data->outbufavail = outwchars; + } + else + { + size_t inwchars = *inbufsize; + size_t outchars = data->outbufavail; + char *outbuf = data->outbuf; + size_t cnt = 0; + + while (inwchars >= cnt + sizeof (wchar_t) + && outchars < data->outbufsize) + { + const struct gap *rp = from_idx; + unsigned int ch = *((wchar_t *) (inbuf + cnt)); + char res; + + while (ch > rp->end) + ++rp; + if (ch < rp->start) + /* No valid character. */ + break; + + res = from_ucs4[ch + rp->idx]; + if (res == '\0' && ch != 0) + /* No valid character. */ + break; + + outbuf[outchars] = res; + ++do_write; + ++outchars; + cnt += sizeof (wchar_t); + } + *inbufsize -= cnt; + data->outbufavail = outchars; + + if (outchars < data->outbufsize) + { + /* If there is still room in the output buffer something + is wrong with the input. */ + if (inwchars >= cnt + sizeof (wchar_t)) + { + /* An error occurred. */ + result = GCONV_ILLEGAL_INPUT; + break; + } + if (inwchars != cnt) + { + /* There are some unprocessed bytes at the end of the + input buffer. */ + result = GCONV_INCOMPLETE_INPUT; + break; + } + } + } + + if (result != GCONV_OK) + break; + + if (data->is_last) + { + /* This is the last step. */ + result = (*inbufsize > (dir == from_8bit + ? 0 : sizeof (wchar_t) - 1) + ? GCONV_FULL_OUTPUT : GCONV_EMPTY_INPUT); + break; + } + + /* Status so far. */ + result = GCONV_EMPTY_INPUT; + + if (data->outbufavail > 0) + { + /* Call the functions below in the chain. */ + size_t newavail = data->outbufavail; + + result = (*fct) (next_step, next_data, data->outbuf, &newavail, + written, 0); + + /* Correct the output buffer. */ + if (newavail != data->outbufavail && newavail > 0) + { + memmove (data->outbuf, + &data->outbuf[data->outbufavail - newavail], + newavail); + data->outbufavail = newavail; + } + } + } + while (*inbufsize > 0 && result == GCONV_EMPTY_INPUT); + } + + if (written != NULL && data->is_last) + *written = do_write; + + return result; +} diff --git a/iconvdata/iso8859-generic.c b/iconvdata/8bit-generic.c index e33e1d0a87..fe0a09bd3e 100644 --- a/iconvdata/iso8859-generic.c +++ b/iconvdata/8bit-generic.c @@ -1,4 +1,4 @@ -/* Generic conversion to and from ISO 8859-XXX. +/* Generic conversion to and from 8bit charsets. Copyright (C) 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -26,11 +26,11 @@ enum direction { illegal, - to_iso8859, - from_iso8859 + to_8bit, + from_8bit }; -struct iso8859_data +struct s_8bit_data { enum direction dir; }; @@ -40,21 +40,21 @@ int gconv_init (struct gconv_step *step, struct gconv_step_data *data) { /* Determine which direction. */ - struct iso8859_data *new_data; + struct s_8bit_data *new_data; enum direction dir; int result; if (__strcasestr (step->from_name, NAME) != NULL) - dir = from_iso8859; + dir = from_8bit; else if (__strcasestr (step->to_name, NAME) != NULL) - dir = to_iso8859; + dir = to_8bit; else dir = illegal; result = GCONV_NOCONV; if (dir != illegal && ((new_data - = (struct iso8859_data *) malloc (sizeof (struct iso8859_data))) + = (struct s_8bit_data *) malloc (sizeof (struct s_8bit_data))) != NULL)) { new_data->dir = dir; @@ -106,7 +106,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, } else { - enum direction dir = ((struct iso8859_data *) data->data)->dir; + enum direction dir = ((struct s_8bit_data *) data->data)->dir; do_write = 0; @@ -114,7 +114,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, { result = GCONV_OK; - if (dir == from_iso8859) + if (dir == from_8bit) { size_t inchars = *inbufsize; size_t outwchars = data->outbufavail; @@ -124,7 +124,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, while (cnt < inchars && (outwchars + sizeof (wchar_t) <= data->outbufsize)) { - wchar_t ch = to_ucs4[(int) inbuf[cnt]]; + wchar_t ch = to_ucs4[(unsigned int) inbuf[cnt]]; if (ch == L'\0' && inbuf[cnt] != '\0') { @@ -191,7 +191,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, if (data->is_last) { /* This is the last step. */ - result = (*inbufsize > (dir == from_iso8859 + result = (*inbufsize > (dir == from_8bit ? 0 : sizeof (wchar_t) - 1) ? GCONV_FULL_OUTPUT : GCONV_EMPTY_INPUT); break; diff --git a/iconvdata/Makefile b/iconvdata/Makefile index a79e12a291..f08a090363 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -22,12 +22,15 @@ subdir := iconvdata # Names of all the shared objects which implement the transformations. -modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ - ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ - T.61 ISO_6937 +modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ + ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ + T.61 ISO_6937 SJIS KOI-8 KOI8-R LATIN-GREEK LATIN-GREEK-1 \ + HP-ROMAN8 EBCDIC-AT-DE EBCDIC-AT-DE-A EBCDIC-CA-FR modules.so := $(addsuffix .so, $(modules)) +include ../Makeconfig + ISO8859-1-routines := iso8859-1 ISO8859-2-routines := iso8859-2 ISO8859-3-routines := iso8859-3 @@ -40,15 +43,29 @@ ISO8859-9-routines := iso8859-9 ISO8859-10-routines := iso8859-10 T.61-routines := t61 ISO_6937-routines := iso6937 - -distribute := iso8859-generic.c \ +SJIS-routines := sjis +KOI-8-routines := koi-8 +KOI8-R-routines := koi8-r +LATIN-GREEK-routines := latin-greek +LATIN-GREEK-1-routines := latin-greek-1 +HP-ROMAN8-routines := hp-roman8 +EBCDIC-AT-DE-routines := ebcdic-at-de +EBCDIC-AT-DE-A-routines := ebcdic-at-de-a +EBCDIC-CA-FR-routines := ebcdic-ca-fr + +extra-libs = libJIS +extra-libs-others = $(extra-libs) + +libJIS-routines := jis0201 jis0208 jis0212 +libJIS-inhibit-o := $(filter-out .os,$(object-suffixes)) + +distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl \ iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \ iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c\ - iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h iso8859-6.h \ - iso8859-7.h iso8859-8.h iso8859-9.h iso8859-10.h t61.c \ - iso6937.c - -include ../Makeconfig + t61.c iso6937.c sjis.c jis0201.h jis0208.h jis0212.h \ + koi-8.c koi8-r.c koi8-r.h hp-roman8.c latin-greek.c \ + latin-greek.h latin-greek-1.c latin-greek-1.h ebcdic-at-de.c\ + ebcdic-at-de-a.c ebcdic-ca-fr.c # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) @@ -76,39 +93,83 @@ install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \ # If we have the localedata add-on available we can build the conversion # tables for numerous charsets. -ifneq (,$(findstring localedata,$(add-ons))) define generate-8bit-table ( echo "static const wchar_t to_ucs4[256] = {"; \ - sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' -e d $^ | sort -u; \ + sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' -e d $^ | sort -u; \ + echo "};"; \ + echo "static const char from_ucs4[] = {"; \ + sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\2] = 0x\1,/p' -e d $^ | sort -u; \ + echo "};" ) > $@.new && rm -f $@ && mv $@.new $@ +endef + +sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h \ + iso8859-6.h iso8859-7.h iso8859-8.h iso8859-9.h \ + iso8859-10.h koi-8.h hp-roman8.h ebcdic-at-de.h \ + ebcdic-at-de-a.h ebcdic-ca-fr.h + +define generate-8bit-gap-table +( echo "static const wchar_t to_ucs4[256] = {"; \ + sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' -e d $^ | sort -u; \ + echo "};"; \ + echo "static struct gap from_idx[] = {"; \ + sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gap.pl; \ + echo " { start: 0xffff, end: 0xffff, idx: 0 }"; \ echo "};"; \ echo "static const char from_ucs4[] = {"; \ - sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\2] = 0x\1,/p' -e d $^ | sort -u; \ + sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gaptab.pl; \ echo "};" ) > $@.new && rm -f $@ && mv $@.new $@ endef -iso8859-2.h: ../localedata/charmaps/ISO-8859-2 +perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h + +# The headers must be generated before the compilation. +before-compile = $(sed-generated-headers) $(perl-generated-headers) + + +# Rules to generate the headers. +iso8859-2.h: ../localedata/charmaps/ISO-8859-2 Makefile + $(generate-8bit-table) +iso8859-3.h: ../localedata/charmaps/ISO-8859-3 Makefile + $(generate-8bit-table) +iso8859-4.h: ../localedata/charmaps/ISO-8859-4 Makefile + $(generate-8bit-table) +iso8859-5.h: ../localedata/charmaps/ISO-8859-5 Makefile $(generate-8bit-table) -iso8859-3.h: ../localedata/charmaps/ISO-8859-3 +iso8859-6.h: ../localedata/charmaps/ISO-8859-6 Makefile $(generate-8bit-table) -iso8859-4.h: ../localedata/charmaps/ISO-8859-4 +iso8859-7.h: ../localedata/charmaps/ISO-8859-7 Makefile $(generate-8bit-table) -iso8859-5.h: ../localedata/charmaps/ISO-8859-5 +iso8859-8.h: ../localedata/charmaps/ISO-8859-8 Makefile $(generate-8bit-table) -iso8859-6.h: ../localedata/charmaps/ISO-8859-6 +iso8859-9.h: ../localedata/charmaps/ISO-8859-9 Makefile $(generate-8bit-table) -iso8859-7.h: ../localedata/charmaps/ISO-8859-7 +iso8859-10.h: ../localedata/charmaps/ISO-8859-10 Makefile $(generate-8bit-table) -iso8859-8.h: ../localedata/charmaps/ISO-8859-8 + +koi-8.h: ../localedata/charmaps/KOI-8 Makefile + $(generate-8bit-table) + +hp-roman8.h: ../localedata/charmaps/HP-ROMAN8 Makefile $(generate-8bit-table) -iso8859-9.h: ../localedata/charmaps/ISO-8859-9 + +ebcdic-at-de.h: ../localedata/charmaps/EBCDIC-AT-DE Makefile + $(generate-8bit-table) +ebcdic-at-de-a.h: ../localedata/charmaps/EBCDIC-AT-DE-A Makefile $(generate-8bit-table) -iso8859-10.h: ../localedata/charmaps/ISO-8859-10 +ebcdic-ca-fr.h: ../localedata/charmaps/EBCDIC-CA-FR Makefile $(generate-8bit-table) -headers: iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h iso8859-6.h \ - iso8859-7.h iso8859-8.h iso8859-9.h iso8859-10.h +ifneq ($(PERL),no) +koi8-r.h: ../localedata/charmaps/KOI8-R Makefile + $(generate-8bit-gap-table) +latin-greek.h: ../localedata/charmaps/LATIN-GREEK Makefile + $(generate-8bit-gap-table) +latin-greek-1.h: ../localedata/charmaps/LATIN-GREEK-1 Makefile + $(generate-8bit-gap-table) endif +headers: $(sed-generated-headers) $(perl-generated-headers) + $(addprefix $(inst_gconvdir)/, $(modules.so)): $(inst_gconvdir)/%: $(objpfx)% $(do-install-program) diff --git a/iconvdata/configure b/iconvdata/configure deleted file mode 100755 index 3eafc93f5b..0000000000 --- a/iconvdata/configure +++ /dev/null @@ -1,5 +0,0 @@ -# This is only to keep the GNU C library configure mechanism happy. -# -# Perhaps some day we need a real configuration script for different -# kernel versions or so. -exit 0 diff --git a/iconvdata/ebcdic-at-de-a.c b/iconvdata/ebcdic-at-de-a.c new file mode 100644 index 0000000000..7251490ae7 --- /dev/null +++ b/iconvdata/ebcdic-at-de-a.c @@ -0,0 +1,24 @@ +/* Conversion from and to EBCDIC-AT-DE-A. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#include <ebcdic-at-de-a.h> +#define NAME "EBCDIC-AT-DE-A" +#include <8bit-generic.c> diff --git a/iconvdata/ebcdic-at-de.c b/iconvdata/ebcdic-at-de.c new file mode 100644 index 0000000000..d9168fcc1d --- /dev/null +++ b/iconvdata/ebcdic-at-de.c @@ -0,0 +1,24 @@ +/* Conversion from and to EBCDIC-AT-DE. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#include <ebcdic-at-de.h> +#define NAME "EBCDIC-AT-DE" +#include <8bit-generic.c> diff --git a/iconvdata/ebcdic-ca-fr.c b/iconvdata/ebcdic-ca-fr.c new file mode 100644 index 0000000000..a42914e50e --- /dev/null +++ b/iconvdata/ebcdic-ca-fr.c @@ -0,0 +1,24 @@ +/* Conversion from and to EBCDIC-CA-FR. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#include <ebcdic-ca-fr.h> +#define NAME "EBCDIC-CA-FR" +#include <8bit-generic.c> diff --git a/iconvdata/gap.pl b/iconvdata/gap.pl new file mode 100644 index 0000000000..01ee9b2829 --- /dev/null +++ b/iconvdata/gap.pl @@ -0,0 +1,16 @@ +$first=$last=$idx=0; +while (<>) { + local($ucs,%rest) = split; + local($u)=hex($ucs); + if ($u - $last > 6) { + if ($last != 0) { + printf (" { start: %#06x, end: %#06x, idx: %5d },\n", + $first, $last, $idx - $first); + $idx += $last - $first + 1; + } + $first=$u; + } + $last=$u; +} +printf (" { start: %#06x, end: %#06x, idx: %5d },\n", + $first, $last, $idx - $first); diff --git a/iconvdata/gaptab.pl b/iconvdata/gaptab.pl new file mode 100644 index 0000000000..34eb2f9408 --- /dev/null +++ b/iconvdata/gaptab.pl @@ -0,0 +1,25 @@ +$first=$last=$idx=0; +sub fmt { + printf ("\n ") if (($n % 8) == 0); + ++$n; + my($val) = pop(@_); + printf (" '\\x%02x',", $val); +} +while (<>) { + local($ucs,$char,%rest) = split; + local($u)=hex($ucs); + local($c)=hex($char); + if ($u - $last > 6) { + if ($last != 0) { + $idx += $last - $first + 1; + } + $first=$u; + } else { + for ($m = $last + 1; $m < $u; ++$m) { + fmt (0); + } + } + fmt ($c); + $last=$u; +} +printf ("\n"); diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index 270ac14f11..a3ff7947c0 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -143,3 +143,44 @@ alias ISO_6937:1992// ISO_6937// alias ISO6937// ISO_6937// module ISO_6937// ISO-10646/UCS4/ ISO_6937 1 module ISO-10646/UCS4/ ISO_6937// ISO_6937 1 + +# from to module cost +alias SHIFT-JIS// SJIS +module SJIS// ISO-10646/UCS4/ SJIS 1 +module ISO-10646/UCS4/ SJIS SJIS 1 + +# from to module cost +module KOI-8// ISO-10646/UCS4/ KOI-8 1 +module ISO-10646/UCS4/ KOI-8// KOI-8 1 + +# from to module cost +module KOI8-R// ISO-10646/UCS4/ KOI8-R 1 +module ISO-10646/UCS4/ KOI8-R// KOI8-R 1 + +# from to module cost +alias ISO-IR-19// LATIN-GREEK// +module LATIN-GREEK// ISO-10646/UCS4/ LATIN-GREEK 1 +module ISO-10646/UCS4/ LATIN-GREEK// LATIN-GREEK 1 + +# from to module cost +alias ISO-IR-27// LATIN-GREEK// +module LATIN-GREEK-1// ISO-10646/UCS4/ LATIN-GREEK-1 1 +module ISO-10646/UCS4/ LATIN-GREEK-1// LATIN-GREEK-1 1 + +# from to module cost +alias ROMAN8// HP-ROMAN8// +alias R8// HP-ROMAN8// +module HP-ROMAN8// ISO-10646/UCS4/ HP-ROMAN8 1 +module ISO-10646/UCS4/ HP-ROMAN8// HP-ROMAN8 1 + +# from to module cost +module EBCDIC-AT-DE// ISO-10646/UCS4/ EBCDIC-AT-DE 1 +module ISO-10646/UCS4/ EBCDIC-AT-DE// EBCDIC-AT-DE 1 + +# from to module cost +module EBCDIC-AT-DE-A// ISO-10646/UCS4/ EBCDIC-AT-DE-A 1 +module ISO-10646/UCS4/ EBCDIC-AT-DE-A// EBCDIC-AT-DE-A 1 + +# from to module cost +module EBCDIC-CA-FR// ISO-10646/UCS4/ EBCDIC-CA-FR 1 +module ISO-10646/UCS4/ EBCDIC-CA-FR// EBCDIC-CA-FR 1 diff --git a/iconvdata/hp-roman8.c b/iconvdata/hp-roman8.c new file mode 100644 index 0000000000..db36ceab9d --- /dev/null +++ b/iconvdata/hp-roman8.c @@ -0,0 +1,24 @@ +/* Conversion from and to HP-ROMAN8. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#include <hp-roman8.h> +#define NAME "HP-ROMAN8" +#include <8bit-generic.c> diff --git a/iconvdata/iso6937.c b/iconvdata/iso6937.c index dc6da3b347..b79a9aa4e1 100644 --- a/iconvdata/iso6937.c +++ b/iconvdata/iso6937.c @@ -498,6 +498,10 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, ch = L'\0'; else ch = to_ucs4_comb[inchar - 0xc1][inchar2 - 0x20]; + + if (ch == L'\0') + /* Undo the increment for illegal characters. */ + --cnt; } else ch = to_ucs4[inchar]; diff --git a/iconvdata/iso8859-1.c b/iconvdata/iso8859-1.c index 94128fe72c..e7c120f138 100644 --- a/iconvdata/iso8859-1.c +++ b/iconvdata/iso8859-1.c @@ -142,7 +142,8 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, while (inwchars >= cnt + sizeof (wchar_t) && outchars < data->outbufsize) { - if (*((wchar_t *) (inbuf + cnt)) <= L'\377') + if (*((wchar_t *) (inbuf + cnt)) >= L'\0' + && *((wchar_t *) (inbuf + cnt)) <= L'\377') outbuf[outchars] = *((wchar_t *) (inbuf + cnt)); else /* Here is where the transliteration would enter the diff --git a/iconvdata/iso8859-10.c b/iconvdata/iso8859-10.c index 5c81214597..eb54e49342 100644 --- a/iconvdata/iso8859-10.c +++ b/iconvdata/iso8859-10.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-10.h> #define NAME "ISO-8859-10" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-10.h b/iconvdata/iso8859-10.h deleted file mode 100644 index 04711c3274..0000000000 --- a/iconvdata/iso8859-10.h +++ /dev/null @@ -1,516 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x0104, - [0xA2] = 0x0112, - [0xA3] = 0x0122, - [0xA4] = 0x012A, - [0xA5] = 0x0128, - [0xA6] = 0x0136, - [0xA7] = 0x00A7, - [0xA8] = 0x013B, - [0xA9] = 0x0110, - [0xAA] = 0x0160, - [0xAB] = 0x0166, - [0xAC] = 0x017D, - [0xAD] = 0x00AD, - [0xAE] = 0x016A, - [0xAF] = 0x014A, - [0xB0] = 0x00B0, - [0xB1] = 0x0105, - [0xB2] = 0x0113, - [0xB3] = 0x0123, - [0xB4] = 0x012B, - [0xB5] = 0x0129, - [0xB6] = 0x0137, - [0xB7] = 0x00B7, - [0xB8] = 0x013C, - [0xB9] = 0x0111, - [0xBA] = 0x0161, - [0xBB] = 0x0167, - [0xBC] = 0x017E, - [0xBD] = 0x2014, - [0xBE] = 0x016B, - [0xBF] = 0x014B, - [0xC0] = 0x0100, - [0xC1] = 0x00C1, - [0xC2] = 0x00C2, - [0xC3] = 0x00C3, - [0xC4] = 0x00C4, - [0xC5] = 0x00C5, - [0xC6] = 0x00C6, - [0xC7] = 0x012E, - [0xC8] = 0x010C, - [0xC9] = 0x00C9, - [0xCA] = 0x0118, - [0xCB] = 0x00CB, - [0xCC] = 0x0116, - [0xCD] = 0x00CD, - [0xCE] = 0x00CE, - [0xCF] = 0x00CF, - [0xD0] = 0x00D0, - [0xD1] = 0x0145, - [0xD2] = 0x014C, - [0xD3] = 0x00D3, - [0xD4] = 0x00D4, - [0xD5] = 0x00D5, - [0xD6] = 0x00D6, - [0xD7] = 0x0168, - [0xD8] = 0x00D8, - [0xD9] = 0x0172, - [0xDA] = 0x00DA, - [0xDB] = 0x00DB, - [0xDC] = 0x00DC, - [0xDD] = 0x00DD, - [0xDE] = 0x00DE, - [0xDF] = 0x00DF, - [0xE0] = 0x0101, - [0xE1] = 0x00E1, - [0xE2] = 0x00E2, - [0xE3] = 0x00E3, - [0xE4] = 0x00E4, - [0xE5] = 0x00E5, - [0xE6] = 0x00E6, - [0xE7] = 0x012F, - [0xE8] = 0x010D, - [0xE9] = 0x00E9, - [0xEA] = 0x0119, - [0xEB] = 0x00EB, - [0xEC] = 0x0117, - [0xED] = 0x00ED, - [0xEE] = 0x00EE, - [0xEF] = 0x00EF, - [0xF0] = 0x00F0, - [0xF1] = 0x0146, - [0xF2] = 0x014D, - [0xF3] = 0x00F3, - [0xF4] = 0x00F4, - [0xF5] = 0x00F5, - [0xF6] = 0x00F6, - [0xF7] = 0x0169, - [0xF8] = 0x00F8, - [0xF9] = 0x0173, - [0xFA] = 0x00FA, - [0xFB] = 0x00FB, - [0xFC] = 0x00FC, - [0xFD] = 0x00FD, - [0xFE] = 0x00FE, - [0xFF] = 0x0138, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A7] = 0xA7, - [0x00AD] = 0xAD, - [0x00B0] = 0xB0, - [0x00B7] = 0xB7, - [0x00C1] = 0xC1, - [0x00C2] = 0xC2, - [0x00C3] = 0xC3, - [0x00C4] = 0xC4, - [0x00C5] = 0xC5, - [0x00C6] = 0xC6, - [0x00C9] = 0xC9, - [0x00CB] = 0xCB, - [0x00CD] = 0xCD, - [0x00CE] = 0xCE, - [0x00CF] = 0xCF, - [0x00D0] = 0xD0, - [0x00D3] = 0xD3, - [0x00D4] = 0xD4, - [0x00D5] = 0xD5, - [0x00D6] = 0xD6, - [0x00D8] = 0xD8, - [0x00DA] = 0xDA, - [0x00DB] = 0xDB, - [0x00DC] = 0xDC, - [0x00DD] = 0xDD, - [0x00DE] = 0xDE, - [0x00DF] = 0xDF, - [0x00E1] = 0xE1, - [0x00E2] = 0xE2, - [0x00E3] = 0xE3, - [0x00E4] = 0xE4, - [0x00E5] = 0xE5, - [0x00E6] = 0xE6, - [0x00E9] = 0xE9, - [0x00EB] = 0xEB, - [0x00ED] = 0xED, - [0x00EE] = 0xEE, - [0x00EF] = 0xEF, - [0x00F0] = 0xF0, - [0x00F3] = 0xF3, - [0x00F4] = 0xF4, - [0x00F5] = 0xF5, - [0x00F6] = 0xF6, - [0x00F8] = 0xF8, - [0x00FA] = 0xFA, - [0x00FB] = 0xFB, - [0x00FC] = 0xFC, - [0x00FD] = 0xFD, - [0x00FE] = 0xFE, - [0x0100] = 0xC0, - [0x0101] = 0xE0, - [0x0104] = 0xA1, - [0x0105] = 0xB1, - [0x010C] = 0xC8, - [0x010D] = 0xE8, - [0x0110] = 0xA9, - [0x0111] = 0xB9, - [0x0112] = 0xA2, - [0x0113] = 0xB2, - [0x0116] = 0xCC, - [0x0117] = 0xEC, - [0x0118] = 0xCA, - [0x0119] = 0xEA, - [0x0122] = 0xA3, - [0x0123] = 0xB3, - [0x0128] = 0xA5, - [0x0129] = 0xB5, - [0x012A] = 0xA4, - [0x012B] = 0xB4, - [0x012E] = 0xC7, - [0x012F] = 0xE7, - [0x0136] = 0xA6, - [0x0137] = 0xB6, - [0x0138] = 0xFF, - [0x013B] = 0xA8, - [0x013C] = 0xB8, - [0x0145] = 0xD1, - [0x0146] = 0xF1, - [0x014A] = 0xAF, - [0x014B] = 0xBF, - [0x014C] = 0xD2, - [0x014D] = 0xF2, - [0x0160] = 0xAA, - [0x0161] = 0xBA, - [0x0166] = 0xAB, - [0x0167] = 0xBB, - [0x0168] = 0xD7, - [0x0169] = 0xF7, - [0x016A] = 0xAE, - [0x016B] = 0xBE, - [0x0172] = 0xD9, - [0x0173] = 0xF9, - [0x017D] = 0xAC, - [0x017E] = 0xBC, - [0x2014] = 0xBD, -}; diff --git a/iconvdata/iso8859-2.c b/iconvdata/iso8859-2.c index 3bfc77b894..fa07b752c6 100644 --- a/iconvdata/iso8859-2.c +++ b/iconvdata/iso8859-2.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-2.h> #define NAME "ISO-8859-2" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-2.h b/iconvdata/iso8859-2.h deleted file mode 100644 index 515d8490d6..0000000000 --- a/iconvdata/iso8859-2.h +++ /dev/null @@ -1,516 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x0104, - [0xA2] = 0x02D8, - [0xA3] = 0x0141, - [0xA4] = 0x00A4, - [0xA5] = 0x013D, - [0xA6] = 0x015A, - [0xA7] = 0x00A7, - [0xA8] = 0x00A8, - [0xA9] = 0x0160, - [0xAA] = 0x015E, - [0xAB] = 0x0164, - [0xAC] = 0x0179, - [0xAD] = 0x00AD, - [0xAE] = 0x017D, - [0xAF] = 0x017B, - [0xB0] = 0x00B0, - [0xB1] = 0x0105, - [0xB2] = 0x02DB, - [0xB3] = 0x0142, - [0xB4] = 0x00B4, - [0xB5] = 0x013E, - [0xB6] = 0x015B, - [0xB7] = 0x02C7, - [0xB8] = 0x00B8, - [0xB9] = 0x0161, - [0xBA] = 0x015F, - [0xBB] = 0x0165, - [0xBC] = 0x017A, - [0xBD] = 0x02DD, - [0xBE] = 0x017E, - [0xBF] = 0x017C, - [0xC0] = 0x0154, - [0xC1] = 0x00C1, - [0xC2] = 0x00C2, - [0xC3] = 0x0102, - [0xC4] = 0x00C4, - [0xC5] = 0x0139, - [0xC6] = 0x0106, - [0xC7] = 0x00C7, - [0xC8] = 0x010C, - [0xC9] = 0x00C9, - [0xCA] = 0x0118, - [0xCB] = 0x00CB, - [0xCC] = 0x011A, - [0xCD] = 0x00CD, - [0xCE] = 0x00CE, - [0xCF] = 0x010E, - [0xD0] = 0x0110, - [0xD1] = 0x0143, - [0xD2] = 0x0147, - [0xD3] = 0x00D3, - [0xD4] = 0x00D4, - [0xD5] = 0x0150, - [0xD6] = 0x00D6, - [0xD7] = 0x00D7, - [0xD8] = 0x0158, - [0xD9] = 0x016E, - [0xDA] = 0x00DA, - [0xDB] = 0x0170, - [0xDC] = 0x00DC, - [0xDD] = 0x00DD, - [0xDE] = 0x0162, - [0xDF] = 0x00DF, - [0xE0] = 0x0155, - [0xE1] = 0x00E1, - [0xE2] = 0x00E2, - [0xE3] = 0x0103, - [0xE4] = 0x00E4, - [0xE5] = 0x013A, - [0xE6] = 0x0107, - [0xE7] = 0x00E7, - [0xE8] = 0x010D, - [0xE9] = 0x00E9, - [0xEA] = 0x0119, - [0xEB] = 0x00EB, - [0xEC] = 0x011B, - [0xED] = 0x00ED, - [0xEE] = 0x00EE, - [0xEF] = 0x010F, - [0xF0] = 0x0111, - [0xF1] = 0x0144, - [0xF2] = 0x0148, - [0xF3] = 0x00F3, - [0xF4] = 0x00F4, - [0xF5] = 0x0151, - [0xF6] = 0x00F6, - [0xF7] = 0x00F7, - [0xF8] = 0x0159, - [0xF9] = 0x016F, - [0xFA] = 0x00FA, - [0xFB] = 0x0171, - [0xFC] = 0x00FC, - [0xFD] = 0x00FD, - [0xFE] = 0x0163, - [0xFF] = 0x02D9, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A4] = 0xA4, - [0x00A7] = 0xA7, - [0x00A8] = 0xA8, - [0x00AD] = 0xAD, - [0x00B0] = 0xB0, - [0x00B4] = 0xB4, - [0x00B8] = 0xB8, - [0x00C1] = 0xC1, - [0x00C2] = 0xC2, - [0x00C4] = 0xC4, - [0x00C7] = 0xC7, - [0x00C9] = 0xC9, - [0x00CB] = 0xCB, - [0x00CD] = 0xCD, - [0x00CE] = 0xCE, - [0x00D3] = 0xD3, - [0x00D4] = 0xD4, - [0x00D6] = 0xD6, - [0x00D7] = 0xD7, - [0x00DA] = 0xDA, - [0x00DC] = 0xDC, - [0x00DD] = 0xDD, - [0x00DF] = 0xDF, - [0x00E1] = 0xE1, - [0x00E2] = 0xE2, - [0x00E4] = 0xE4, - [0x00E7] = 0xE7, - [0x00E9] = 0xE9, - [0x00EB] = 0xEB, - [0x00ED] = 0xED, - [0x00EE] = 0xEE, - [0x00F3] = 0xF3, - [0x00F4] = 0xF4, - [0x00F6] = 0xF6, - [0x00F7] = 0xF7, - [0x00FA] = 0xFA, - [0x00FC] = 0xFC, - [0x00FD] = 0xFD, - [0x0102] = 0xC3, - [0x0103] = 0xE3, - [0x0104] = 0xA1, - [0x0105] = 0xB1, - [0x0106] = 0xC6, - [0x0107] = 0xE6, - [0x010C] = 0xC8, - [0x010D] = 0xE8, - [0x010E] = 0xCF, - [0x010F] = 0xEF, - [0x0110] = 0xD0, - [0x0111] = 0xF0, - [0x0118] = 0xCA, - [0x0119] = 0xEA, - [0x011A] = 0xCC, - [0x011B] = 0xEC, - [0x0139] = 0xC5, - [0x013A] = 0xE5, - [0x013D] = 0xA5, - [0x013E] = 0xB5, - [0x0141] = 0xA3, - [0x0142] = 0xB3, - [0x0143] = 0xD1, - [0x0144] = 0xF1, - [0x0147] = 0xD2, - [0x0148] = 0xF2, - [0x0150] = 0xD5, - [0x0151] = 0xF5, - [0x0154] = 0xC0, - [0x0155] = 0xE0, - [0x0158] = 0xD8, - [0x0159] = 0xF8, - [0x015A] = 0xA6, - [0x015B] = 0xB6, - [0x015E] = 0xAA, - [0x015F] = 0xBA, - [0x0160] = 0xA9, - [0x0161] = 0xB9, - [0x0162] = 0xDE, - [0x0163] = 0xFE, - [0x0164] = 0xAB, - [0x0165] = 0xBB, - [0x016E] = 0xD9, - [0x016F] = 0xF9, - [0x0170] = 0xDB, - [0x0171] = 0xFB, - [0x0179] = 0xAC, - [0x017A] = 0xBC, - [0x017B] = 0xAF, - [0x017C] = 0xBF, - [0x017D] = 0xAE, - [0x017E] = 0xBE, - [0x02C7] = 0xB7, - [0x02D8] = 0xA2, - [0x02D9] = 0xFF, - [0x02DB] = 0xB2, - [0x02DD] = 0xBD, -}; diff --git a/iconvdata/iso8859-3.c b/iconvdata/iso8859-3.c index a6b208dc81..c31d388ca2 100644 --- a/iconvdata/iso8859-3.c +++ b/iconvdata/iso8859-3.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-3.h> #define NAME "ISO-8859-3" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-3.h b/iconvdata/iso8859-3.h deleted file mode 100644 index f9e632504b..0000000000 --- a/iconvdata/iso8859-3.h +++ /dev/null @@ -1,502 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x0126, - [0xA2] = 0x02D8, - [0xA3] = 0x00A3, - [0xA4] = 0x00A4, - [0xA6] = 0x0124, - [0xA7] = 0x00A7, - [0xA8] = 0x00A8, - [0xA9] = 0x0130, - [0xAA] = 0x015E, - [0xAB] = 0x011E, - [0xAC] = 0x0134, - [0xAD] = 0x00AD, - [0xAF] = 0x017B, - [0xB0] = 0x00B0, - [0xB1] = 0x0127, - [0xB2] = 0x00B2, - [0xB3] = 0x00B3, - [0xB4] = 0x00B4, - [0xB5] = 0x00B5, - [0xB6] = 0x0125, - [0xB7] = 0x00B7, - [0xB8] = 0x00B8, - [0xB9] = 0x0131, - [0xBA] = 0x015F, - [0xBB] = 0x011F, - [0xBC] = 0x0135, - [0xBD] = 0x00BD, - [0xBF] = 0x017C, - [0xC0] = 0x00C0, - [0xC1] = 0x00C1, - [0xC2] = 0x00C2, - [0xC4] = 0x00C4, - [0xC5] = 0x010A, - [0xC6] = 0x0108, - [0xC7] = 0x00C7, - [0xC8] = 0x00C8, - [0xC9] = 0x00C9, - [0xCA] = 0x00CA, - [0xCB] = 0x00CB, - [0xCC] = 0x00CC, - [0xCD] = 0x00CD, - [0xCE] = 0x00CE, - [0xCF] = 0x00CF, - [0xD1] = 0x00D1, - [0xD2] = 0x00D2, - [0xD3] = 0x00D3, - [0xD4] = 0x00D4, - [0xD5] = 0x0120, - [0xD6] = 0x00D6, - [0xD7] = 0x00D7, - [0xD8] = 0x011C, - [0xD9] = 0x00D9, - [0xDA] = 0x00DA, - [0xDB] = 0x00DB, - [0xDC] = 0x00DC, - [0xDD] = 0x016C, - [0xDE] = 0x015C, - [0xDF] = 0x00DF, - [0xE0] = 0x00E0, - [0xE1] = 0x00E1, - [0xE2] = 0x00E2, - [0xE4] = 0x00E4, - [0xE5] = 0x010B, - [0xE6] = 0x0109, - [0xE7] = 0x00E7, - [0xE8] = 0x00E8, - [0xE9] = 0x00E9, - [0xEA] = 0x00EA, - [0xEB] = 0x00EB, - [0xEC] = 0x00EC, - [0xED] = 0x00ED, - [0xEE] = 0x00EE, - [0xEF] = 0x00EF, - [0xF1] = 0x00F1, - [0xF2] = 0x00F2, - [0xF3] = 0x00F3, - [0xF4] = 0x00F4, - [0xF5] = 0x0121, - [0xF6] = 0x00F6, - [0xF7] = 0x00F7, - [0xF8] = 0x011D, - [0xF9] = 0x00F9, - [0xFA] = 0x00FA, - [0xFB] = 0x00FB, - [0xFC] = 0x00FC, - [0xFD] = 0x016D, - [0xFE] = 0x015D, - [0xFF] = 0x02D9, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A3] = 0xA3, - [0x00A4] = 0xA4, - [0x00A7] = 0xA7, - [0x00A8] = 0xA8, - [0x00AD] = 0xAD, - [0x00B0] = 0xB0, - [0x00B2] = 0xB2, - [0x00B3] = 0xB3, - [0x00B4] = 0xB4, - [0x00B5] = 0xB5, - [0x00B7] = 0xB7, - [0x00B8] = 0xB8, - [0x00BD] = 0xBD, - [0x00C0] = 0xC0, - [0x00C1] = 0xC1, - [0x00C2] = 0xC2, - [0x00C4] = 0xC4, - [0x00C7] = 0xC7, - [0x00C8] = 0xC8, - [0x00C9] = 0xC9, - [0x00CA] = 0xCA, - [0x00CB] = 0xCB, - [0x00CC] = 0xCC, - [0x00CD] = 0xCD, - [0x00CE] = 0xCE, - [0x00CF] = 0xCF, - [0x00D1] = 0xD1, - [0x00D2] = 0xD2, - [0x00D3] = 0xD3, - [0x00D4] = 0xD4, - [0x00D6] = 0xD6, - [0x00D7] = 0xD7, - [0x00D9] = 0xD9, - [0x00DA] = 0xDA, - [0x00DB] = 0xDB, - [0x00DC] = 0xDC, - [0x00DF] = 0xDF, - [0x00E0] = 0xE0, - [0x00E1] = 0xE1, - [0x00E2] = 0xE2, - [0x00E4] = 0xE4, - [0x00E7] = 0xE7, - [0x00E8] = 0xE8, - [0x00E9] = 0xE9, - [0x00EA] = 0xEA, - [0x00EB] = 0xEB, - [0x00EC] = 0xEC, - [0x00ED] = 0xED, - [0x00EE] = 0xEE, - [0x00EF] = 0xEF, - [0x00F1] = 0xF1, - [0x00F2] = 0xF2, - [0x00F3] = 0xF3, - [0x00F4] = 0xF4, - [0x00F6] = 0xF6, - [0x00F7] = 0xF7, - [0x00F9] = 0xF9, - [0x00FA] = 0xFA, - [0x00FB] = 0xFB, - [0x00FC] = 0xFC, - [0x0108] = 0xC6, - [0x0109] = 0xE6, - [0x010A] = 0xC5, - [0x010B] = 0xE5, - [0x011C] = 0xD8, - [0x011D] = 0xF8, - [0x011E] = 0xAB, - [0x011F] = 0xBB, - [0x0120] = 0xD5, - [0x0121] = 0xF5, - [0x0124] = 0xA6, - [0x0125] = 0xB6, - [0x0126] = 0xA1, - [0x0127] = 0xB1, - [0x0130] = 0xA9, - [0x0131] = 0xB9, - [0x0134] = 0xAC, - [0x0135] = 0xBC, - [0x015C] = 0xDE, - [0x015D] = 0xFE, - [0x015E] = 0xAA, - [0x015F] = 0xBA, - [0x016C] = 0xDD, - [0x016D] = 0xFD, - [0x017B] = 0xAF, - [0x017C] = 0xBF, - [0x02D8] = 0xA2, - [0x02D9] = 0xFF, -}; diff --git a/iconvdata/iso8859-4.c b/iconvdata/iso8859-4.c index b2b6ef0246..7ae98473ca 100644 --- a/iconvdata/iso8859-4.c +++ b/iconvdata/iso8859-4.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-4.h> #define NAME "ISO-8859-4" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-4.h b/iconvdata/iso8859-4.h deleted file mode 100644 index acf4aaad40..0000000000 --- a/iconvdata/iso8859-4.h +++ /dev/null @@ -1,516 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x0104, - [0xA2] = 0x0138, - [0xA3] = 0x0156, - [0xA4] = 0x00A4, - [0xA5] = 0x0128, - [0xA6] = 0x013B, - [0xA7] = 0x00A7, - [0xA8] = 0x00A8, - [0xA9] = 0x0160, - [0xAA] = 0x0112, - [0xAB] = 0x0122, - [0xAC] = 0x0166, - [0xAD] = 0x00AD, - [0xAE] = 0x017D, - [0xAF] = 0x00AF, - [0xB0] = 0x00B0, - [0xB1] = 0x0105, - [0xB2] = 0x02DB, - [0xB3] = 0x0157, - [0xB4] = 0x00B4, - [0xB5] = 0x0129, - [0xB6] = 0x013C, - [0xB7] = 0x02C7, - [0xB8] = 0x00B8, - [0xB9] = 0x0161, - [0xBA] = 0x0113, - [0xBB] = 0x0123, - [0xBC] = 0x0167, - [0xBD] = 0x014A, - [0xBE] = 0x017E, - [0xBF] = 0x014B, - [0xC0] = 0x0100, - [0xC1] = 0x00C1, - [0xC2] = 0x00C2, - [0xC3] = 0x00C3, - [0xC4] = 0x00C4, - [0xC5] = 0x00C5, - [0xC6] = 0x00C6, - [0xC7] = 0x012E, - [0xC8] = 0x010C, - [0xC9] = 0x00C9, - [0xCA] = 0x0118, - [0xCB] = 0x00CB, - [0xCC] = 0x0116, - [0xCD] = 0x00CD, - [0xCE] = 0x00CE, - [0xCF] = 0x012A, - [0xD0] = 0x0110, - [0xD1] = 0x0145, - [0xD2] = 0x014C, - [0xD3] = 0x0136, - [0xD4] = 0x00D4, - [0xD5] = 0x00D5, - [0xD6] = 0x00D6, - [0xD7] = 0x00D7, - [0xD8] = 0x00D8, - [0xD9] = 0x0172, - [0xDA] = 0x00DA, - [0xDB] = 0x00DB, - [0xDC] = 0x00DC, - [0xDD] = 0x0168, - [0xDE] = 0x016A, - [0xDF] = 0x00DF, - [0xE0] = 0x0101, - [0xE1] = 0x00E1, - [0xE2] = 0x00E2, - [0xE3] = 0x00E3, - [0xE4] = 0x00E4, - [0xE5] = 0x00E5, - [0xE6] = 0x00E6, - [0xE7] = 0x012F, - [0xE8] = 0x010D, - [0xE9] = 0x00E9, - [0xEA] = 0x0119, - [0xEB] = 0x00EB, - [0xEC] = 0x0117, - [0xED] = 0x00ED, - [0xEE] = 0x00EE, - [0xEF] = 0x012B, - [0xF0] = 0x0111, - [0xF1] = 0x0146, - [0xF2] = 0x014D, - [0xF3] = 0x0137, - [0xF4] = 0x00F4, - [0xF5] = 0x00F5, - [0xF6] = 0x00F6, - [0xF7] = 0x00F7, - [0xF8] = 0x00F8, - [0xF9] = 0x0173, - [0xFA] = 0x00FA, - [0xFB] = 0x00FB, - [0xFC] = 0x00FC, - [0xFD] = 0x0169, - [0xFE] = 0x016B, - [0xFF] = 0x02D9, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A4] = 0xA4, - [0x00A7] = 0xA7, - [0x00A8] = 0xA8, - [0x00AD] = 0xAD, - [0x00AF] = 0xAF, - [0x00B0] = 0xB0, - [0x00B4] = 0xB4, - [0x00B8] = 0xB8, - [0x00C1] = 0xC1, - [0x00C2] = 0xC2, - [0x00C3] = 0xC3, - [0x00C4] = 0xC4, - [0x00C5] = 0xC5, - [0x00C6] = 0xC6, - [0x00C9] = 0xC9, - [0x00CB] = 0xCB, - [0x00CD] = 0xCD, - [0x00CE] = 0xCE, - [0x00D4] = 0xD4, - [0x00D5] = 0xD5, - [0x00D6] = 0xD6, - [0x00D7] = 0xD7, - [0x00D8] = 0xD8, - [0x00DA] = 0xDA, - [0x00DB] = 0xDB, - [0x00DC] = 0xDC, - [0x00DF] = 0xDF, - [0x00E1] = 0xE1, - [0x00E2] = 0xE2, - [0x00E3] = 0xE3, - [0x00E4] = 0xE4, - [0x00E5] = 0xE5, - [0x00E6] = 0xE6, - [0x00E9] = 0xE9, - [0x00EB] = 0xEB, - [0x00ED] = 0xED, - [0x00EE] = 0xEE, - [0x00F4] = 0xF4, - [0x00F5] = 0xF5, - [0x00F6] = 0xF6, - [0x00F7] = 0xF7, - [0x00F8] = 0xF8, - [0x00FA] = 0xFA, - [0x00FB] = 0xFB, - [0x00FC] = 0xFC, - [0x0100] = 0xC0, - [0x0101] = 0xE0, - [0x0104] = 0xA1, - [0x0105] = 0xB1, - [0x010C] = 0xC8, - [0x010D] = 0xE8, - [0x0110] = 0xD0, - [0x0111] = 0xF0, - [0x0112] = 0xAA, - [0x0113] = 0xBA, - [0x0116] = 0xCC, - [0x0117] = 0xEC, - [0x0118] = 0xCA, - [0x0119] = 0xEA, - [0x0122] = 0xAB, - [0x0123] = 0xBB, - [0x0128] = 0xA5, - [0x0129] = 0xB5, - [0x012A] = 0xCF, - [0x012B] = 0xEF, - [0x012E] = 0xC7, - [0x012F] = 0xE7, - [0x0136] = 0xD3, - [0x0137] = 0xF3, - [0x0138] = 0xA2, - [0x013B] = 0xA6, - [0x013C] = 0xB6, - [0x0145] = 0xD1, - [0x0146] = 0xF1, - [0x014A] = 0xBD, - [0x014B] = 0xBF, - [0x014C] = 0xD2, - [0x014D] = 0xF2, - [0x0156] = 0xA3, - [0x0157] = 0xB3, - [0x0160] = 0xA9, - [0x0161] = 0xB9, - [0x0166] = 0xAC, - [0x0167] = 0xBC, - [0x0168] = 0xDD, - [0x0169] = 0xFD, - [0x016A] = 0xDE, - [0x016B] = 0xFE, - [0x0172] = 0xD9, - [0x0173] = 0xF9, - [0x017D] = 0xAE, - [0x017E] = 0xBE, - [0x02C7] = 0xB7, - [0x02D9] = 0xFF, - [0x02DB] = 0xB2, -}; diff --git a/iconvdata/iso8859-5.c b/iconvdata/iso8859-5.c index b0ebd6f93b..b4791f1bf5 100644 --- a/iconvdata/iso8859-5.c +++ b/iconvdata/iso8859-5.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-5.h> #define NAME "ISO-8859-5" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-5.h b/iconvdata/iso8859-5.h deleted file mode 100644 index f20ce11fe0..0000000000 --- a/iconvdata/iso8859-5.h +++ /dev/null @@ -1,516 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x0401, - [0xA2] = 0x0402, - [0xA3] = 0x0403, - [0xA4] = 0x0404, - [0xA5] = 0x0405, - [0xA6] = 0x0406, - [0xA7] = 0x0407, - [0xA8] = 0x0408, - [0xA9] = 0x0409, - [0xAA] = 0x040A, - [0xAB] = 0x040B, - [0xAC] = 0x040C, - [0xAD] = 0x00AD, - [0xAE] = 0x040E, - [0xAF] = 0x040F, - [0xB0] = 0x0410, - [0xB1] = 0x0411, - [0xB2] = 0x0412, - [0xB3] = 0x0413, - [0xB4] = 0x0414, - [0xB5] = 0x0415, - [0xB6] = 0x0416, - [0xB7] = 0x0417, - [0xB8] = 0x0418, - [0xB9] = 0x0419, - [0xBA] = 0x041A, - [0xBB] = 0x041B, - [0xBC] = 0x041C, - [0xBD] = 0x041D, - [0xBE] = 0x041E, - [0xBF] = 0x041F, - [0xC0] = 0x0420, - [0xC1] = 0x0421, - [0xC2] = 0x0422, - [0xC3] = 0x0423, - [0xC4] = 0x0424, - [0xC5] = 0x0425, - [0xC6] = 0x0426, - [0xC7] = 0x0427, - [0xC8] = 0x0428, - [0xC9] = 0x0429, - [0xCA] = 0x042A, - [0xCB] = 0x042B, - [0xCC] = 0x042C, - [0xCD] = 0x042D, - [0xCE] = 0x042E, - [0xCF] = 0x042F, - [0xD0] = 0x0430, - [0xD1] = 0x0431, - [0xD2] = 0x0432, - [0xD3] = 0x0433, - [0xD4] = 0x0434, - [0xD5] = 0x0435, - [0xD6] = 0x0436, - [0xD7] = 0x0437, - [0xD8] = 0x0438, - [0xD9] = 0x0439, - [0xDA] = 0x043A, - [0xDB] = 0x043B, - [0xDC] = 0x043C, - [0xDD] = 0x043D, - [0xDE] = 0x043E, - [0xDF] = 0x043F, - [0xE0] = 0x0440, - [0xE1] = 0x0441, - [0xE2] = 0x0442, - [0xE3] = 0x0443, - [0xE4] = 0x0444, - [0xE5] = 0x0445, - [0xE6] = 0x0446, - [0xE7] = 0x0447, - [0xE8] = 0x0448, - [0xE9] = 0x0449, - [0xEA] = 0x044A, - [0xEB] = 0x044B, - [0xEC] = 0x044C, - [0xED] = 0x044D, - [0xEE] = 0x044E, - [0xEF] = 0x044F, - [0xF0] = 0x2116, - [0xF1] = 0x0451, - [0xF2] = 0x0452, - [0xF3] = 0x0453, - [0xF4] = 0x0454, - [0xF5] = 0x0455, - [0xF6] = 0x0456, - [0xF7] = 0x0457, - [0xF8] = 0x0458, - [0xF9] = 0x0459, - [0xFA] = 0x045A, - [0xFB] = 0x045B, - [0xFC] = 0x045C, - [0xFD] = 0x00A7, - [0xFE] = 0x045E, - [0xFF] = 0x045F, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A7] = 0xFD, - [0x00AD] = 0xAD, - [0x0401] = 0xA1, - [0x0402] = 0xA2, - [0x0403] = 0xA3, - [0x0404] = 0xA4, - [0x0405] = 0xA5, - [0x0406] = 0xA6, - [0x0407] = 0xA7, - [0x0408] = 0xA8, - [0x0409] = 0xA9, - [0x040A] = 0xAA, - [0x040B] = 0xAB, - [0x040C] = 0xAC, - [0x040E] = 0xAE, - [0x040F] = 0xAF, - [0x0410] = 0xB0, - [0x0411] = 0xB1, - [0x0412] = 0xB2, - [0x0413] = 0xB3, - [0x0414] = 0xB4, - [0x0415] = 0xB5, - [0x0416] = 0xB6, - [0x0417] = 0xB7, - [0x0418] = 0xB8, - [0x0419] = 0xB9, - [0x041A] = 0xBA, - [0x041B] = 0xBB, - [0x041C] = 0xBC, - [0x041D] = 0xBD, - [0x041E] = 0xBE, - [0x041F] = 0xBF, - [0x0420] = 0xC0, - [0x0421] = 0xC1, - [0x0422] = 0xC2, - [0x0423] = 0xC3, - [0x0424] = 0xC4, - [0x0425] = 0xC5, - [0x0426] = 0xC6, - [0x0427] = 0xC7, - [0x0428] = 0xC8, - [0x0429] = 0xC9, - [0x042A] = 0xCA, - [0x042B] = 0xCB, - [0x042C] = 0xCC, - [0x042D] = 0xCD, - [0x042E] = 0xCE, - [0x042F] = 0xCF, - [0x0430] = 0xD0, - [0x0431] = 0xD1, - [0x0432] = 0xD2, - [0x0433] = 0xD3, - [0x0434] = 0xD4, - [0x0435] = 0xD5, - [0x0436] = 0xD6, - [0x0437] = 0xD7, - [0x0438] = 0xD8, - [0x0439] = 0xD9, - [0x043A] = 0xDA, - [0x043B] = 0xDB, - [0x043C] = 0xDC, - [0x043D] = 0xDD, - [0x043E] = 0xDE, - [0x043F] = 0xDF, - [0x0440] = 0xE0, - [0x0441] = 0xE1, - [0x0442] = 0xE2, - [0x0443] = 0xE3, - [0x0444] = 0xE4, - [0x0445] = 0xE5, - [0x0446] = 0xE6, - [0x0447] = 0xE7, - [0x0448] = 0xE8, - [0x0449] = 0xE9, - [0x044A] = 0xEA, - [0x044B] = 0xEB, - [0x044C] = 0xEC, - [0x044D] = 0xED, - [0x044E] = 0xEE, - [0x044F] = 0xEF, - [0x0451] = 0xF1, - [0x0452] = 0xF2, - [0x0453] = 0xF3, - [0x0454] = 0xF4, - [0x0455] = 0xF5, - [0x0456] = 0xF6, - [0x0457] = 0xF7, - [0x0458] = 0xF8, - [0x0459] = 0xF9, - [0x045A] = 0xFA, - [0x045B] = 0xFB, - [0x045C] = 0xFC, - [0x045E] = 0xFE, - [0x045F] = 0xFF, - [0x2116] = 0xF0, -}; diff --git a/iconvdata/iso8859-6.c b/iconvdata/iso8859-6.c index f0f0a91004..1e88ec9d22 100644 --- a/iconvdata/iso8859-6.c +++ b/iconvdata/iso8859-6.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-6.h> #define NAME "ISO-8859-6" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-6.h b/iconvdata/iso8859-6.h deleted file mode 100644 index f3b3480ff1..0000000000 --- a/iconvdata/iso8859-6.h +++ /dev/null @@ -1,426 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA4] = 0x00A4, - [0xAC] = 0x060C, - [0xAD] = 0x00AD, - [0xBB] = 0x061B, - [0xBF] = 0x061F, - [0xC1] = 0x0621, - [0xC2] = 0x0622, - [0xC3] = 0x0623, - [0xC4] = 0x0624, - [0xC5] = 0x0625, - [0xC6] = 0x0626, - [0xC7] = 0x0627, - [0xC8] = 0x0628, - [0xC9] = 0x0629, - [0xCA] = 0x062A, - [0xCB] = 0x062B, - [0xCC] = 0x062C, - [0xCD] = 0x062D, - [0xCE] = 0x062E, - [0xCF] = 0x062F, - [0xD0] = 0x0630, - [0xD1] = 0x0631, - [0xD2] = 0x0632, - [0xD3] = 0x0633, - [0xD4] = 0x0634, - [0xD5] = 0x0635, - [0xD6] = 0x0636, - [0xD7] = 0x0637, - [0xD8] = 0x0638, - [0xD9] = 0x0639, - [0xDA] = 0x063A, - [0xE0] = 0x0640, - [0xE1] = 0x0641, - [0xE2] = 0x0642, - [0xE3] = 0x0643, - [0xE4] = 0x0644, - [0xE5] = 0x0645, - [0xE6] = 0x0646, - [0xE7] = 0x0647, - [0xE8] = 0x0648, - [0xE9] = 0x0649, - [0xEA] = 0x064A, - [0xEB] = 0x064B, - [0xEC] = 0x064C, - [0xED] = 0x064D, - [0xEE] = 0x064E, - [0xEF] = 0x064F, - [0xF0] = 0x0650, - [0xF1] = 0x0651, - [0xF2] = 0x0652, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A4] = 0xA4, - [0x00AD] = 0xAD, - [0x060C] = 0xAC, - [0x061B] = 0xBB, - [0x061F] = 0xBF, - [0x0621] = 0xC1, - [0x0622] = 0xC2, - [0x0623] = 0xC3, - [0x0624] = 0xC4, - [0x0625] = 0xC5, - [0x0626] = 0xC6, - [0x0627] = 0xC7, - [0x0628] = 0xC8, - [0x0629] = 0xC9, - [0x062A] = 0xCA, - [0x062B] = 0xCB, - [0x062C] = 0xCC, - [0x062D] = 0xCD, - [0x062E] = 0xCE, - [0x062F] = 0xCF, - [0x0630] = 0xD0, - [0x0631] = 0xD1, - [0x0632] = 0xD2, - [0x0633] = 0xD3, - [0x0634] = 0xD4, - [0x0635] = 0xD5, - [0x0636] = 0xD6, - [0x0637] = 0xD7, - [0x0638] = 0xD8, - [0x0639] = 0xD9, - [0x063A] = 0xDA, - [0x0640] = 0xE0, - [0x0641] = 0xE1, - [0x0642] = 0xE2, - [0x0643] = 0xE3, - [0x0644] = 0xE4, - [0x0645] = 0xE5, - [0x0646] = 0xE6, - [0x0647] = 0xE7, - [0x0648] = 0xE8, - [0x0649] = 0xE9, - [0x064A] = 0xEA, - [0x064B] = 0xEB, - [0x064C] = 0xEC, - [0x064D] = 0xED, - [0x064E] = 0xEE, - [0x064F] = 0xEF, - [0x0650] = 0xF0, - [0x0651] = 0xF1, - [0x0652] = 0xF2, -}; diff --git a/iconvdata/iso8859-7.c b/iconvdata/iso8859-7.c index 87c2a2c06c..63220bb822 100644 --- a/iconvdata/iso8859-7.c +++ b/iconvdata/iso8859-7.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-7.h> #define NAME "ISO-8859-7" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-7.h b/iconvdata/iso8859-7.h deleted file mode 100644 index fe38788e20..0000000000 --- a/iconvdata/iso8859-7.h +++ /dev/null @@ -1,504 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x201B, - [0xA2] = 0x2019, - [0xA3] = 0x00A3, - [0xA6] = 0x00A6, - [0xA7] = 0x00A7, - [0xA8] = 0x00A8, - [0xA9] = 0x00A9, - [0xAB] = 0x00AB, - [0xAC] = 0x00AC, - [0xAD] = 0x00AD, - [0xAF] = 0x2014, - [0xB0] = 0x00B0, - [0xB1] = 0x00B1, - [0xB2] = 0x00B2, - [0xB3] = 0x00B3, - [0xB4] = 0x00B4, - [0xB5] = 0x0385, - [0xB6] = 0x0386, - [0xB7] = 0x00B7, - [0xB8] = 0x0388, - [0xB9] = 0x0389, - [0xBA] = 0x038A, - [0xBB] = 0x00BB, - [0xBC] = 0x038C, - [0xBD] = 0x00BD, - [0xBE] = 0x038E, - [0xBF] = 0x038F, - [0xC0] = 0x0390, - [0xC1] = 0x0391, - [0xC2] = 0x0392, - [0xC3] = 0x0393, - [0xC4] = 0x0394, - [0xC5] = 0x0395, - [0xC6] = 0x0396, - [0xC7] = 0x0397, - [0xC8] = 0x0398, - [0xC9] = 0x0399, - [0xCA] = 0x039A, - [0xCB] = 0x039B, - [0xCC] = 0x039C, - [0xCD] = 0x039D, - [0xCE] = 0x039E, - [0xCF] = 0x039F, - [0xD0] = 0x03A0, - [0xD1] = 0x03A1, - [0xD3] = 0x03A3, - [0xD4] = 0x03A4, - [0xD5] = 0x03A5, - [0xD6] = 0x03A6, - [0xD7] = 0x03A7, - [0xD8] = 0x03A8, - [0xD9] = 0x03A9, - [0xDA] = 0x03AA, - [0xDB] = 0x03AB, - [0xDC] = 0x03AC, - [0xDD] = 0x03AD, - [0xDE] = 0x03AE, - [0xDF] = 0x03AF, - [0xE0] = 0x03B0, - [0xE1] = 0x03B1, - [0xE2] = 0x03B2, - [0xE3] = 0x03B3, - [0xE4] = 0x03B4, - [0xE5] = 0x03B5, - [0xE6] = 0x03B6, - [0xE7] = 0x03B7, - [0xE8] = 0x03B8, - [0xE9] = 0x03B9, - [0xEA] = 0x03BA, - [0xEB] = 0x03BB, - [0xEC] = 0x03BC, - [0xED] = 0x03BD, - [0xEE] = 0x03BE, - [0xEF] = 0x03BF, - [0xF0] = 0x03C0, - [0xF1] = 0x03C1, - [0xF2] = 0x03C2, - [0xF3] = 0x03C3, - [0xF4] = 0x03C4, - [0xF5] = 0x03C5, - [0xF6] = 0x03C6, - [0xF7] = 0x03C7, - [0xF8] = 0x03C8, - [0xF9] = 0x03C9, - [0xFA] = 0x03CA, - [0xFB] = 0x03CB, - [0xFC] = 0x03CC, - [0xFD] = 0x03CD, - [0xFE] = 0x03CE, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A3] = 0xA3, - [0x00A6] = 0xA6, - [0x00A7] = 0xA7, - [0x00A8] = 0xA8, - [0x00A9] = 0xA9, - [0x00AB] = 0xAB, - [0x00AC] = 0xAC, - [0x00AD] = 0xAD, - [0x00B0] = 0xB0, - [0x00B1] = 0xB1, - [0x00B2] = 0xB2, - [0x00B3] = 0xB3, - [0x00B4] = 0xB4, - [0x00B7] = 0xB7, - [0x00BB] = 0xBB, - [0x00BD] = 0xBD, - [0x0385] = 0xB5, - [0x0386] = 0xB6, - [0x0388] = 0xB8, - [0x0389] = 0xB9, - [0x038A] = 0xBA, - [0x038C] = 0xBC, - [0x038E] = 0xBE, - [0x038F] = 0xBF, - [0x0390] = 0xC0, - [0x0391] = 0xC1, - [0x0392] = 0xC2, - [0x0393] = 0xC3, - [0x0394] = 0xC4, - [0x0395] = 0xC5, - [0x0396] = 0xC6, - [0x0397] = 0xC7, - [0x0398] = 0xC8, - [0x0399] = 0xC9, - [0x039A] = 0xCA, - [0x039B] = 0xCB, - [0x039C] = 0xCC, - [0x039D] = 0xCD, - [0x039E] = 0xCE, - [0x039F] = 0xCF, - [0x03A0] = 0xD0, - [0x03A1] = 0xD1, - [0x03A3] = 0xD3, - [0x03A4] = 0xD4, - [0x03A5] = 0xD5, - [0x03A6] = 0xD6, - [0x03A7] = 0xD7, - [0x03A8] = 0xD8, - [0x03A9] = 0xD9, - [0x03AA] = 0xDA, - [0x03AB] = 0xDB, - [0x03AC] = 0xDC, - [0x03AD] = 0xDD, - [0x03AE] = 0xDE, - [0x03AF] = 0xDF, - [0x03B0] = 0xE0, - [0x03B1] = 0xE1, - [0x03B2] = 0xE2, - [0x03B3] = 0xE3, - [0x03B4] = 0xE4, - [0x03B5] = 0xE5, - [0x03B6] = 0xE6, - [0x03B7] = 0xE7, - [0x03B8] = 0xE8, - [0x03B9] = 0xE9, - [0x03BA] = 0xEA, - [0x03BB] = 0xEB, - [0x03BC] = 0xEC, - [0x03BD] = 0xED, - [0x03BE] = 0xEE, - [0x03BF] = 0xEF, - [0x03C0] = 0xF0, - [0x03C1] = 0xF1, - [0x03C2] = 0xF2, - [0x03C3] = 0xF3, - [0x03C4] = 0xF4, - [0x03C5] = 0xF5, - [0x03C6] = 0xF6, - [0x03C7] = 0xF7, - [0x03C8] = 0xF8, - [0x03C9] = 0xF9, - [0x03CA] = 0xFA, - [0x03CB] = 0xFB, - [0x03CC] = 0xFC, - [0x03CD] = 0xFD, - [0x03CE] = 0xFE, - [0x2014] = 0xAF, - [0x2019] = 0xA2, - [0x201B] = 0xA1, -}; diff --git a/iconvdata/iso8859-8.c b/iconvdata/iso8859-8.c index ee69754cea..2246ae4e52 100644 --- a/iconvdata/iso8859-8.c +++ b/iconvdata/iso8859-8.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-8.h> #define NAME "ISO-8859-8" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-8.h b/iconvdata/iso8859-8.h deleted file mode 100644 index bdccec689c..0000000000 --- a/iconvdata/iso8859-8.h +++ /dev/null @@ -1,440 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA2] = 0x00A2, - [0xA3] = 0x00A3, - [0xA4] = 0x00A4, - [0xA5] = 0x00A5, - [0xA6] = 0x00A6, - [0xA7] = 0x00A7, - [0xA8] = 0x00A8, - [0xA9] = 0x00A9, - [0xAA] = 0x00D7, - [0xAB] = 0x00AB, - [0xAC] = 0x00AC, - [0xAD] = 0x00AD, - [0xAE] = 0x00AE, - [0xAF] = 0x203E, - [0xB0] = 0x00B0, - [0xB1] = 0x00B1, - [0xB2] = 0x00B2, - [0xB3] = 0x00B3, - [0xB4] = 0x00B4, - [0xB5] = 0x00B5, - [0xB6] = 0x00B6, - [0xB7] = 0x00B7, - [0xB8] = 0x00B8, - [0xB9] = 0x00B9, - [0xBA] = 0x00F7, - [0xBB] = 0x00BB, - [0xBC] = 0x00BC, - [0xBD] = 0x00BD, - [0xBE] = 0x00BE, - [0xDF] = 0x2017, - [0xE0] = 0x05D0, - [0xE1] = 0x05D1, - [0xE2] = 0x05D2, - [0xE3] = 0x05D3, - [0xE4] = 0x05D4, - [0xE5] = 0x05D5, - [0xE6] = 0x05D6, - [0xE7] = 0x05D7, - [0xE8] = 0x05D8, - [0xE9] = 0x05D9, - [0xEA] = 0x05DA, - [0xEB] = 0x05DB, - [0xEC] = 0x05DC, - [0xED] = 0x05DD, - [0xEE] = 0x05DE, - [0xEF] = 0x05DF, - [0xF0] = 0x05E0, - [0xF1] = 0x05E1, - [0xF2] = 0x05E2, - [0xF3] = 0x05E3, - [0xF4] = 0x05E4, - [0xF5] = 0x05E5, - [0xF6] = 0x05E6, - [0xF7] = 0x05E7, - [0xF8] = 0x05E8, - [0xF9] = 0x05E9, - [0xFA] = 0x05EA, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A2] = 0xA2, - [0x00A3] = 0xA3, - [0x00A4] = 0xA4, - [0x00A5] = 0xA5, - [0x00A6] = 0xA6, - [0x00A7] = 0xA7, - [0x00A8] = 0xA8, - [0x00A9] = 0xA9, - [0x00AB] = 0xAB, - [0x00AC] = 0xAC, - [0x00AD] = 0xAD, - [0x00AE] = 0xAE, - [0x00B0] = 0xB0, - [0x00B1] = 0xB1, - [0x00B2] = 0xB2, - [0x00B3] = 0xB3, - [0x00B4] = 0xB4, - [0x00B5] = 0xB5, - [0x00B6] = 0xB6, - [0x00B7] = 0xB7, - [0x00B8] = 0xB8, - [0x00B9] = 0xB9, - [0x00BB] = 0xBB, - [0x00BC] = 0xBC, - [0x00BD] = 0xBD, - [0x00BE] = 0xBE, - [0x00D7] = 0xAA, - [0x00F7] = 0xBA, - [0x05D0] = 0xE0, - [0x05D1] = 0xE1, - [0x05D2] = 0xE2, - [0x05D3] = 0xE3, - [0x05D4] = 0xE4, - [0x05D5] = 0xE5, - [0x05D6] = 0xE6, - [0x05D7] = 0xE7, - [0x05D8] = 0xE8, - [0x05D9] = 0xE9, - [0x05DA] = 0xEA, - [0x05DB] = 0xEB, - [0x05DC] = 0xEC, - [0x05DD] = 0xED, - [0x05DE] = 0xEE, - [0x05DF] = 0xEF, - [0x05E0] = 0xF0, - [0x05E1] = 0xF1, - [0x05E2] = 0xF2, - [0x05E3] = 0xF3, - [0x05E4] = 0xF4, - [0x05E5] = 0xF5, - [0x05E6] = 0xF6, - [0x05E7] = 0xF7, - [0x05E8] = 0xF8, - [0x05E9] = 0xF9, - [0x05EA] = 0xFA, - [0x2017] = 0xDF, - [0x203E] = 0xAF, -}; diff --git a/iconvdata/iso8859-9.c b/iconvdata/iso8859-9.c index 5485de26f1..5260362f0c 100644 --- a/iconvdata/iso8859-9.c +++ b/iconvdata/iso8859-9.c @@ -21,4 +21,4 @@ #include <wchar.h> #include <iso8859-9.h> #define NAME "ISO-8859-9" -#include <iso8859-generic.c> +#include <8bit-generic.c> diff --git a/iconvdata/iso8859-9.h b/iconvdata/iso8859-9.h deleted file mode 100644 index f5794231c0..0000000000 --- a/iconvdata/iso8859-9.h +++ /dev/null @@ -1,516 +0,0 @@ -static const wchar_t to_ucs4[256] = { - [0x00] = 0x0000, - [0x01] = 0x0001, - [0x02] = 0x0002, - [0x03] = 0x0003, - [0x04] = 0x0004, - [0x05] = 0x0005, - [0x06] = 0x0006, - [0x07] = 0x0007, - [0x08] = 0x0008, - [0x09] = 0x0009, - [0x0A] = 0x000A, - [0x0B] = 0x000B, - [0x0C] = 0x000C, - [0x0D] = 0x000D, - [0x0E] = 0x000E, - [0x0F] = 0x000F, - [0x10] = 0x0010, - [0x11] = 0x0011, - [0x12] = 0x0012, - [0x13] = 0x0013, - [0x14] = 0x0014, - [0x15] = 0x0015, - [0x16] = 0x0016, - [0x17] = 0x0017, - [0x18] = 0x0018, - [0x19] = 0x0019, - [0x1A] = 0x001A, - [0x1B] = 0x001B, - [0x1C] = 0x001C, - [0x1D] = 0x001D, - [0x1E] = 0x001E, - [0x1F] = 0x001F, - [0x20] = 0x0020, - [0x21] = 0x0021, - [0x22] = 0x0022, - [0x23] = 0x0023, - [0x24] = 0x0024, - [0x25] = 0x0025, - [0x26] = 0x0026, - [0x27] = 0x0027, - [0x28] = 0x0028, - [0x29] = 0x0029, - [0x2A] = 0x002A, - [0x2B] = 0x002B, - [0x2C] = 0x002C, - [0x2D] = 0x002D, - [0x2E] = 0x002E, - [0x2F] = 0x002F, - [0x30] = 0x0030, - [0x31] = 0x0031, - [0x32] = 0x0032, - [0x33] = 0x0033, - [0x34] = 0x0034, - [0x35] = 0x0035, - [0x36] = 0x0036, - [0x37] = 0x0037, - [0x38] = 0x0038, - [0x39] = 0x0039, - [0x3A] = 0x003A, - [0x3B] = 0x003B, - [0x3C] = 0x003C, - [0x3D] = 0x003D, - [0x3E] = 0x003E, - [0x3F] = 0x003F, - [0x40] = 0x0040, - [0x41] = 0x0041, - [0x42] = 0x0042, - [0x43] = 0x0043, - [0x44] = 0x0044, - [0x45] = 0x0045, - [0x46] = 0x0046, - [0x47] = 0x0047, - [0x48] = 0x0048, - [0x49] = 0x0049, - [0x4A] = 0x004A, - [0x4B] = 0x004B, - [0x4C] = 0x004C, - [0x4D] = 0x004D, - [0x4E] = 0x004E, - [0x4F] = 0x004F, - [0x50] = 0x0050, - [0x51] = 0x0051, - [0x52] = 0x0052, - [0x53] = 0x0053, - [0x54] = 0x0054, - [0x55] = 0x0055, - [0x56] = 0x0056, - [0x57] = 0x0057, - [0x58] = 0x0058, - [0x59] = 0x0059, - [0x5A] = 0x005A, - [0x5B] = 0x005B, - [0x5C] = 0x005C, - [0x5D] = 0x005D, - [0x5E] = 0x005E, - [0x5F] = 0x005F, - [0x60] = 0x0060, - [0x61] = 0x0061, - [0x62] = 0x0062, - [0x63] = 0x0063, - [0x64] = 0x0064, - [0x65] = 0x0065, - [0x66] = 0x0066, - [0x67] = 0x0067, - [0x68] = 0x0068, - [0x69] = 0x0069, - [0x6A] = 0x006A, - [0x6B] = 0x006B, - [0x6C] = 0x006C, - [0x6D] = 0x006D, - [0x6E] = 0x006E, - [0x6F] = 0x006F, - [0x70] = 0x0070, - [0x71] = 0x0071, - [0x72] = 0x0072, - [0x73] = 0x0073, - [0x74] = 0x0074, - [0x75] = 0x0075, - [0x76] = 0x0076, - [0x77] = 0x0077, - [0x78] = 0x0078, - [0x79] = 0x0079, - [0x7A] = 0x007A, - [0x7B] = 0x007B, - [0x7C] = 0x007C, - [0x7D] = 0x007D, - [0x7E] = 0x007E, - [0x7F] = 0x007F, - [0x80] = 0x0080, - [0x81] = 0x0081, - [0x82] = 0x0082, - [0x83] = 0x0083, - [0x84] = 0x0084, - [0x85] = 0x0085, - [0x86] = 0x0086, - [0x87] = 0x0087, - [0x88] = 0x0088, - [0x89] = 0x0089, - [0x8A] = 0x008A, - [0x8B] = 0x008B, - [0x8C] = 0x008C, - [0x8D] = 0x008D, - [0x8E] = 0x008E, - [0x8F] = 0x008F, - [0x90] = 0x0090, - [0x91] = 0x0091, - [0x92] = 0x0092, - [0x93] = 0x0093, - [0x94] = 0x0094, - [0x95] = 0x0095, - [0x96] = 0x0096, - [0x97] = 0x0097, - [0x98] = 0x0098, - [0x99] = 0x0099, - [0x9A] = 0x009A, - [0x9B] = 0x009B, - [0x9C] = 0x009C, - [0x9D] = 0x009D, - [0x9E] = 0x009E, - [0x9F] = 0x009F, - [0xA0] = 0x00A0, - [0xA1] = 0x00A1, - [0xA2] = 0x00A2, - [0xA3] = 0x00A3, - [0xA4] = 0x00A4, - [0xA5] = 0x00A5, - [0xA6] = 0x00A6, - [0xA7] = 0x00A7, - [0xA8] = 0x00A8, - [0xA9] = 0x00A9, - [0xAA] = 0x00AA, - [0xAB] = 0x00AB, - [0xAC] = 0x00AC, - [0xAD] = 0x00AD, - [0xAE] = 0x00AE, - [0xAF] = 0x00AF, - [0xB0] = 0x00B0, - [0xB1] = 0x00B1, - [0xB2] = 0x00B2, - [0xB3] = 0x00B3, - [0xB4] = 0x00B4, - [0xB5] = 0x00B5, - [0xB6] = 0x00B6, - [0xB7] = 0x00B7, - [0xB8] = 0x00B8, - [0xB9] = 0x00B9, - [0xBA] = 0x00BA, - [0xBB] = 0x00BB, - [0xBC] = 0x00BC, - [0xBD] = 0x00BD, - [0xBE] = 0x00BE, - [0xBF] = 0x00BF, - [0xC0] = 0x00C0, - [0xC1] = 0x00C1, - [0xC2] = 0x00C2, - [0xC3] = 0x00C3, - [0xC4] = 0x00C4, - [0xC5] = 0x00C5, - [0xC6] = 0x00C6, - [0xC7] = 0x00C7, - [0xC8] = 0x00C8, - [0xC9] = 0x00C9, - [0xCA] = 0x00CA, - [0xCB] = 0x00CB, - [0xCC] = 0x00CC, - [0xCD] = 0x00CD, - [0xCE] = 0x00CE, - [0xCF] = 0x00CF, - [0xD0] = 0x011E, - [0xD1] = 0x00D1, - [0xD2] = 0x00D2, - [0xD3] = 0x00D3, - [0xD4] = 0x00D4, - [0xD5] = 0x00D5, - [0xD6] = 0x00D6, - [0xD7] = 0x00D7, - [0xD8] = 0x00D8, - [0xD9] = 0x00D9, - [0xDA] = 0x00DA, - [0xDB] = 0x00DB, - [0xDC] = 0x00DC, - [0xDD] = 0x0130, - [0xDE] = 0x015E, - [0xDF] = 0x00DF, - [0xE0] = 0x00E0, - [0xE1] = 0x00E1, - [0xE2] = 0x00E2, - [0xE3] = 0x00E3, - [0xE4] = 0x00E4, - [0xE5] = 0x00E5, - [0xE6] = 0x00E6, - [0xE7] = 0x00E7, - [0xE8] = 0x00E8, - [0xE9] = 0x00E9, - [0xEA] = 0x0119, - [0xEB] = 0x00EB, - [0xEC] = 0x0117, - [0xED] = 0x00ED, - [0xEE] = 0x00EE, - [0xEF] = 0x012B, - [0xF0] = 0x011F, - [0xF1] = 0x00F1, - [0xF2] = 0x00F2, - [0xF3] = 0x00F3, - [0xF4] = 0x00F4, - [0xF5] = 0x00F5, - [0xF6] = 0x00F6, - [0xF7] = 0x00F7, - [0xF8] = 0x00F8, - [0xF9] = 0x00F9, - [0xFA] = 0x00FA, - [0xFB] = 0x00FB, - [0xFC] = 0x00FC, - [0xFD] = 0x0131, - [0xFE] = 0x015F, - [0xFF] = 0x00FF, -}; -static const char from_ucs4[] = { - [0x0000] = 0x00, - [0x0001] = 0x01, - [0x0002] = 0x02, - [0x0003] = 0x03, - [0x0004] = 0x04, - [0x0005] = 0x05, - [0x0006] = 0x06, - [0x0007] = 0x07, - [0x0008] = 0x08, - [0x0009] = 0x09, - [0x000A] = 0x0A, - [0x000B] = 0x0B, - [0x000C] = 0x0C, - [0x000D] = 0x0D, - [0x000E] = 0x0E, - [0x000F] = 0x0F, - [0x0010] = 0x10, - [0x0011] = 0x11, - [0x0012] = 0x12, - [0x0013] = 0x13, - [0x0014] = 0x14, - [0x0015] = 0x15, - [0x0016] = 0x16, - [0x0017] = 0x17, - [0x0018] = 0x18, - [0x0019] = 0x19, - [0x001A] = 0x1A, - [0x001B] = 0x1B, - [0x001C] = 0x1C, - [0x001D] = 0x1D, - [0x001E] = 0x1E, - [0x001F] = 0x1F, - [0x0020] = 0x20, - [0x0021] = 0x21, - [0x0022] = 0x22, - [0x0023] = 0x23, - [0x0024] = 0x24, - [0x0025] = 0x25, - [0x0026] = 0x26, - [0x0027] = 0x27, - [0x0028] = 0x28, - [0x0029] = 0x29, - [0x002A] = 0x2A, - [0x002B] = 0x2B, - [0x002C] = 0x2C, - [0x002D] = 0x2D, - [0x002E] = 0x2E, - [0x002F] = 0x2F, - [0x0030] = 0x30, - [0x0031] = 0x31, - [0x0032] = 0x32, - [0x0033] = 0x33, - [0x0034] = 0x34, - [0x0035] = 0x35, - [0x0036] = 0x36, - [0x0037] = 0x37, - [0x0038] = 0x38, - [0x0039] = 0x39, - [0x003A] = 0x3A, - [0x003B] = 0x3B, - [0x003C] = 0x3C, - [0x003D] = 0x3D, - [0x003E] = 0x3E, - [0x003F] = 0x3F, - [0x0040] = 0x40, - [0x0041] = 0x41, - [0x0042] = 0x42, - [0x0043] = 0x43, - [0x0044] = 0x44, - [0x0045] = 0x45, - [0x0046] = 0x46, - [0x0047] = 0x47, - [0x0048] = 0x48, - [0x0049] = 0x49, - [0x004A] = 0x4A, - [0x004B] = 0x4B, - [0x004C] = 0x4C, - [0x004D] = 0x4D, - [0x004E] = 0x4E, - [0x004F] = 0x4F, - [0x0050] = 0x50, - [0x0051] = 0x51, - [0x0052] = 0x52, - [0x0053] = 0x53, - [0x0054] = 0x54, - [0x0055] = 0x55, - [0x0056] = 0x56, - [0x0057] = 0x57, - [0x0058] = 0x58, - [0x0059] = 0x59, - [0x005A] = 0x5A, - [0x005B] = 0x5B, - [0x005C] = 0x5C, - [0x005D] = 0x5D, - [0x005E] = 0x5E, - [0x005F] = 0x5F, - [0x0060] = 0x60, - [0x0061] = 0x61, - [0x0062] = 0x62, - [0x0063] = 0x63, - [0x0064] = 0x64, - [0x0065] = 0x65, - [0x0066] = 0x66, - [0x0067] = 0x67, - [0x0068] = 0x68, - [0x0069] = 0x69, - [0x006A] = 0x6A, - [0x006B] = 0x6B, - [0x006C] = 0x6C, - [0x006D] = 0x6D, - [0x006E] = 0x6E, - [0x006F] = 0x6F, - [0x0070] = 0x70, - [0x0071] = 0x71, - [0x0072] = 0x72, - [0x0073] = 0x73, - [0x0074] = 0x74, - [0x0075] = 0x75, - [0x0076] = 0x76, - [0x0077] = 0x77, - [0x0078] = 0x78, - [0x0079] = 0x79, - [0x007A] = 0x7A, - [0x007B] = 0x7B, - [0x007C] = 0x7C, - [0x007D] = 0x7D, - [0x007E] = 0x7E, - [0x007F] = 0x7F, - [0x0080] = 0x80, - [0x0081] = 0x81, - [0x0082] = 0x82, - [0x0083] = 0x83, - [0x0084] = 0x84, - [0x0085] = 0x85, - [0x0086] = 0x86, - [0x0087] = 0x87, - [0x0088] = 0x88, - [0x0089] = 0x89, - [0x008A] = 0x8A, - [0x008B] = 0x8B, - [0x008C] = 0x8C, - [0x008D] = 0x8D, - [0x008E] = 0x8E, - [0x008F] = 0x8F, - [0x0090] = 0x90, - [0x0091] = 0x91, - [0x0092] = 0x92, - [0x0093] = 0x93, - [0x0094] = 0x94, - [0x0095] = 0x95, - [0x0096] = 0x96, - [0x0097] = 0x97, - [0x0098] = 0x98, - [0x0099] = 0x99, - [0x009A] = 0x9A, - [0x009B] = 0x9B, - [0x009C] = 0x9C, - [0x009D] = 0x9D, - [0x009E] = 0x9E, - [0x009F] = 0x9F, - [0x00A0] = 0xA0, - [0x00A1] = 0xA1, - [0x00A2] = 0xA2, - [0x00A3] = 0xA3, - [0x00A4] = 0xA4, - [0x00A5] = 0xA5, - [0x00A6] = 0xA6, - [0x00A7] = 0xA7, - [0x00A8] = 0xA8, - [0x00A9] = 0xA9, - [0x00AA] = 0xAA, - [0x00AB] = 0xAB, - [0x00AC] = 0xAC, - [0x00AD] = 0xAD, - [0x00AE] = 0xAE, - [0x00AF] = 0xAF, - [0x00B0] = 0xB0, - [0x00B1] = 0xB1, - [0x00B2] = 0xB2, - [0x00B3] = 0xB3, - [0x00B4] = 0xB4, - [0x00B5] = 0xB5, - [0x00B6] = 0xB6, - [0x00B7] = 0xB7, - [0x00B8] = 0xB8, - [0x00B9] = 0xB9, - [0x00BA] = 0xBA, - [0x00BB] = 0xBB, - [0x00BC] = 0xBC, - [0x00BD] = 0xBD, - [0x00BE] = 0xBE, - [0x00BF] = 0xBF, - [0x00C0] = 0xC0, - [0x00C1] = 0xC1, - [0x00C2] = 0xC2, - [0x00C3] = 0xC3, - [0x00C4] = 0xC4, - [0x00C5] = 0xC5, - [0x00C6] = 0xC6, - [0x00C7] = 0xC7, - [0x00C8] = 0xC8, - [0x00C9] = 0xC9, - [0x00CA] = 0xCA, - [0x00CB] = 0xCB, - [0x00CC] = 0xCC, - [0x00CD] = 0xCD, - [0x00CE] = 0xCE, - [0x00CF] = 0xCF, - [0x00D1] = 0xD1, - [0x00D2] = 0xD2, - [0x00D3] = 0xD3, - [0x00D4] = 0xD4, - [0x00D5] = 0xD5, - [0x00D6] = 0xD6, - [0x00D7] = 0xD7, - [0x00D8] = 0xD8, - [0x00D9] = 0xD9, - [0x00DA] = 0xDA, - [0x00DB] = 0xDB, - [0x00DC] = 0xDC, - [0x00DF] = 0xDF, - [0x00E0] = 0xE0, - [0x00E1] = 0xE1, - [0x00E2] = 0xE2, - [0x00E3] = 0xE3, - [0x00E4] = 0xE4, - [0x00E5] = 0xE5, - [0x00E6] = 0xE6, - [0x00E7] = 0xE7, - [0x00E8] = 0xE8, - [0x00E9] = 0xE9, - [0x00EB] = 0xEB, - [0x00ED] = 0xED, - [0x00EE] = 0xEE, - [0x00F1] = 0xF1, - [0x00F2] = 0xF2, - [0x00F3] = 0xF3, - [0x00F4] = 0xF4, - [0x00F5] = 0xF5, - [0x00F6] = 0xF6, - [0x00F7] = 0xF7, - [0x00F8] = 0xF8, - [0x00F9] = 0xF9, - [0x00FA] = 0xFA, - [0x00FB] = 0xFB, - [0x00FC] = 0xFC, - [0x00FF] = 0xFF, - [0x0117] = 0xEC, - [0x0119] = 0xEA, - [0x011E] = 0xD0, - [0x011F] = 0xF0, - [0x012B] = 0xEF, - [0x0130] = 0xDD, - [0x0131] = 0xFD, - [0x015E] = 0xDE, - [0x015F] = 0xFE, -}; diff --git a/iconvdata/jis0201.c b/iconvdata/jis0201.c new file mode 100644 index 0000000000..e8e04e171b --- /dev/null +++ b/iconvdata/jis0201.c @@ -0,0 +1,58 @@ +/* Mapping tables for JIS0201 handling. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> + + +const wchar_t jisx0201_to_ucs4[256] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x00a5, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67, + 0xff68, 0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f, + 0xff70, 0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77, + 0xff78, 0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f, + 0xff80, 0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87, + 0xff88, 0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f, + 0xff90, 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97, + 0xff98, 0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; diff --git a/iconvdata/jis0201.h b/iconvdata/jis0201.h new file mode 100644 index 0000000000..e2e62f8554 --- /dev/null +++ b/iconvdata/jis0201.h @@ -0,0 +1,60 @@ +/* Access functions for JISX0201 conversion. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _JIS0201_H +#define _JIS0201_H 1 + +/* Conversion table. */ +extern const wchar_t jis0201_to_ucs4[]; + + +static inline wchar_t +jisx0201_to_ucs4 (char **s, size_t avail __attribute__ ((unused))) +{ + wchar_t val = jis0201_to_ucs4[*(unsigned char *) (*s)]; + + if (val == 0 && **s != '\0') + val = UNKNOWN_10646_CHAR; + + return val; +} + + +static inline size_t +ucs4_to_jisx0201 (wchar_t wch, char **s, size_t avail __attribute__ ((unused))) +{ + char ch; + + if (wch == 0xa5) + ch = '\x5c'; + else if (wch == 0x203e) + ch = '\x7e'; + else if (wch < 0x7e) + ch = wch; + else if (wch >= 0xff61 && wch <= 0xff9f) + ch = wch - 0xfec0; + else + return 0; + + *(*s)++ = ch; + return 1; +} + +#endif /* jis0201.h */ diff --git a/iconvdata/jis0208.c b/iconvdata/jis0208.c new file mode 100644 index 0000000000..8db4085a9c --- /dev/null +++ b/iconvdata/jis0208.c @@ -0,0 +1,5011 @@ +/* Mapping tables for JIS0208 handling. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> + +#include "jis0208.h" + + +/* We use one big table for the mapping. We know that the first byte + is in range 0x21 to 0xea. The second byte never is in the ranges + 0x00 to 0x20 and 0x7f to 0xff. Compacting the table by excluding + these ranges we get a table with only this gaps: + + at 0x222e 0x2241 0x2250 0x226a 0x2279 0x2321 0x2339 0x235a + len 12 9 12 8 5 15 8 7 + + at 0x237a 0x2473 0x2576 0x2638 0x2658 0x2741 0x2771 0x2840 + len 4 11 8 9 38 16 13 62 + + at 0x4f53 + len 43 + + It's not worth trying to use these gaps. The table can be generated + using + + egrep '^0x' < .../eastasia/jis/jis0208.txt | + perl tab.pl + + with tab.pl containing: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($sjis, $jis, $ucs4, %rest) = split; + local($u)=hex($ucs4); + local($s)=hex($jis); + printf ("\n ") if ($n % 4 eq 0); + ++$n; + printf (" [0x%04x] = 0x%04x,", + int(($s - 0x2121) / 256) * 94 + (($s - 0x2121) & 0xff), $u); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const uint16_t jis0208_to_ucs[0x1e80] = +{ + [0x0000] = 0x3000, [0x0001] = 0x3001, [0x0002] = 0x3002, [0x0003] = 0xff0c, + [0x0004] = 0xff0e, [0x0005] = 0x30fb, [0x0006] = 0xff1a, [0x0007] = 0xff1b, + [0x0008] = 0xff1f, [0x0009] = 0xff01, [0x000a] = 0x309b, [0x000b] = 0x309c, + [0x000c] = 0x00b4, [0x000d] = 0xff40, [0x000e] = 0x00a8, [0x000f] = 0xff3e, + [0x0010] = 0xffe3, [0x0011] = 0xff3f, [0x0012] = 0x30fd, [0x0013] = 0x30fe, + [0x0014] = 0x309d, [0x0015] = 0x309e, [0x0016] = 0x3003, [0x0017] = 0x4edd, + [0x0018] = 0x3005, [0x0019] = 0x3006, [0x001a] = 0x3007, [0x001b] = 0x30fc, + [0x001c] = 0x2015, [0x001d] = 0x2010, [0x001e] = 0xff0f, [0x001f] = 0x005c, + [0x0020] = 0x301c, [0x0021] = 0x2016, [0x0022] = 0xff5c, [0x0023] = 0x2026, + [0x0024] = 0x2025, [0x0025] = 0x2018, [0x0026] = 0x2019, [0x0027] = 0x201c, + [0x0028] = 0x201d, [0x0029] = 0xff08, [0x002a] = 0xff09, [0x002b] = 0x3014, + [0x002c] = 0x3015, [0x002d] = 0xff3b, [0x002e] = 0xff3d, [0x002f] = 0xff5b, + [0x0030] = 0xff5d, [0x0031] = 0x3008, [0x0032] = 0x3009, [0x0033] = 0x300a, + [0x0034] = 0x300b, [0x0035] = 0x300c, [0x0036] = 0x300d, [0x0037] = 0x300e, + [0x0038] = 0x300f, [0x0039] = 0x3010, [0x003a] = 0x3011, [0x003b] = 0xff0b, + [0x003c] = 0x2212, [0x003d] = 0x00b1, [0x003e] = 0x00d7, [0x003f] = 0x00f7, + [0x0040] = 0xff1d, [0x0041] = 0x2260, [0x0042] = 0xff1c, [0x0043] = 0xff1e, + [0x0044] = 0x2266, [0x0045] = 0x2267, [0x0046] = 0x221e, [0x0047] = 0x2234, + [0x0048] = 0x2642, [0x0049] = 0x2640, [0x004a] = 0x00b0, [0x004b] = 0x2032, + [0x004c] = 0x2033, [0x004d] = 0x2103, [0x004e] = 0xffe5, [0x004f] = 0xff04, + [0x0050] = 0x00a2, [0x0051] = 0x00a3, [0x0052] = 0xff05, [0x0053] = 0xff03, + [0x0054] = 0xff06, [0x0055] = 0xff0a, [0x0056] = 0xff20, [0x0057] = 0x00a7, + [0x0058] = 0x2606, [0x0059] = 0x2605, [0x005a] = 0x25cb, [0x005b] = 0x25cf, + [0x005c] = 0x25ce, [0x005d] = 0x25c7, [0x005e] = 0x25c6, [0x005f] = 0x25a1, + [0x0060] = 0x25a0, [0x0061] = 0x25b3, [0x0062] = 0x25b2, [0x0063] = 0x25bd, + [0x0064] = 0x25bc, [0x0065] = 0x203b, [0x0066] = 0x3012, [0x0067] = 0x2192, + [0x0068] = 0x2190, [0x0069] = 0x2191, [0x006a] = 0x2193, [0x006b] = 0x3013, + [0x0077] = 0x2208, [0x0078] = 0x220b, [0x0079] = 0x2286, [0x007a] = 0x2287, + [0x007b] = 0x2282, [0x007c] = 0x2283, [0x007d] = 0x222a, [0x007e] = 0x2229, + [0x0087] = 0x2227, [0x0088] = 0x2228, [0x0089] = 0x00ac, [0x008a] = 0x21d2, + [0x008b] = 0x21d4, [0x008c] = 0x2200, [0x008d] = 0x2203, [0x0099] = 0x2220, + [0x009a] = 0x22a5, [0x009b] = 0x2312, [0x009c] = 0x2202, [0x009d] = 0x2207, + [0x009e] = 0x2261, [0x009f] = 0x2252, [0x00a0] = 0x226a, [0x00a1] = 0x226b, + [0x00a2] = 0x221a, [0x00a3] = 0x223d, [0x00a4] = 0x221d, [0x00a5] = 0x2235, + [0x00a6] = 0x222b, [0x00a7] = 0x222c, [0x00af] = 0x212b, [0x00b0] = 0x2030, + [0x00b1] = 0x266f, [0x00b2] = 0x266d, [0x00b3] = 0x266a, [0x00b4] = 0x2020, + [0x00b5] = 0x2021, [0x00b6] = 0x00b6, [0x00bb] = 0x25ef, [0x00cb] = 0xff10, + [0x00cc] = 0xff11, [0x00cd] = 0xff12, [0x00ce] = 0xff13, [0x00cf] = 0xff14, + [0x00d0] = 0xff15, [0x00d1] = 0xff16, [0x00d2] = 0xff17, [0x00d3] = 0xff18, + [0x00d4] = 0xff19, [0x00dc] = 0xff21, [0x00dd] = 0xff22, [0x00de] = 0xff23, + [0x00df] = 0xff24, [0x00e0] = 0xff25, [0x00e1] = 0xff26, [0x00e2] = 0xff27, + [0x00e3] = 0xff28, [0x00e4] = 0xff29, [0x00e5] = 0xff2a, [0x00e6] = 0xff2b, + [0x00e7] = 0xff2c, [0x00e8] = 0xff2d, [0x00e9] = 0xff2e, [0x00ea] = 0xff2f, + [0x00eb] = 0xff30, [0x00ec] = 0xff31, [0x00ed] = 0xff32, [0x00ee] = 0xff33, + [0x00ef] = 0xff34, [0x00f0] = 0xff35, [0x00f1] = 0xff36, [0x00f2] = 0xff37, + [0x00f3] = 0xff38, [0x00f4] = 0xff39, [0x00f5] = 0xff3a, [0x00fc] = 0xff41, + [0x00fd] = 0xff42, [0x00fe] = 0xff43, [0x00ff] = 0xff44, [0x0100] = 0xff45, + [0x0101] = 0xff46, [0x0102] = 0xff47, [0x0103] = 0xff48, [0x0104] = 0xff49, + [0x0105] = 0xff4a, [0x0106] = 0xff4b, [0x0107] = 0xff4c, [0x0108] = 0xff4d, + [0x0109] = 0xff4e, [0x010a] = 0xff4f, [0x010b] = 0xff50, [0x010c] = 0xff51, + [0x010d] = 0xff52, [0x010e] = 0xff53, [0x010f] = 0xff54, [0x0110] = 0xff55, + [0x0111] = 0xff56, [0x0112] = 0xff57, [0x0113] = 0xff58, [0x0114] = 0xff59, + [0x0115] = 0xff5a, [0x011a] = 0x3041, [0x011b] = 0x3042, [0x011c] = 0x3043, + [0x011d] = 0x3044, [0x011e] = 0x3045, [0x011f] = 0x3046, [0x0120] = 0x3047, + [0x0121] = 0x3048, [0x0122] = 0x3049, [0x0123] = 0x304a, [0x0124] = 0x304b, + [0x0125] = 0x304c, [0x0126] = 0x304d, [0x0127] = 0x304e, [0x0128] = 0x304f, + [0x0129] = 0x3050, [0x012a] = 0x3051, [0x012b] = 0x3052, [0x012c] = 0x3053, + [0x012d] = 0x3054, [0x012e] = 0x3055, [0x012f] = 0x3056, [0x0130] = 0x3057, + [0x0131] = 0x3058, [0x0132] = 0x3059, [0x0133] = 0x305a, [0x0134] = 0x305b, + [0x0135] = 0x305c, [0x0136] = 0x305d, [0x0137] = 0x305e, [0x0138] = 0x305f, + [0x0139] = 0x3060, [0x013a] = 0x3061, [0x013b] = 0x3062, [0x013c] = 0x3063, + [0x013d] = 0x3064, [0x013e] = 0x3065, [0x013f] = 0x3066, [0x0140] = 0x3067, + [0x0141] = 0x3068, [0x0142] = 0x3069, [0x0143] = 0x306a, [0x0144] = 0x306b, + [0x0145] = 0x306c, [0x0146] = 0x306d, [0x0147] = 0x306e, [0x0148] = 0x306f, + [0x0149] = 0x3070, [0x014a] = 0x3071, [0x014b] = 0x3072, [0x014c] = 0x3073, + [0x014d] = 0x3074, [0x014e] = 0x3075, [0x014f] = 0x3076, [0x0150] = 0x3077, + [0x0151] = 0x3078, [0x0152] = 0x3079, [0x0153] = 0x307a, [0x0154] = 0x307b, + [0x0155] = 0x307c, [0x0156] = 0x307d, [0x0157] = 0x307e, [0x0158] = 0x307f, + [0x0159] = 0x3080, [0x015a] = 0x3081, [0x015b] = 0x3082, [0x015c] = 0x3083, + [0x015d] = 0x3084, [0x015e] = 0x3085, [0x015f] = 0x3086, [0x0160] = 0x3087, + [0x0161] = 0x3088, [0x0162] = 0x3089, [0x0163] = 0x308a, [0x0164] = 0x308b, + [0x0165] = 0x308c, [0x0166] = 0x308d, [0x0167] = 0x308e, [0x0168] = 0x308f, + [0x0169] = 0x3090, [0x016a] = 0x3091, [0x016b] = 0x3092, [0x016c] = 0x3093, + [0x0178] = 0x30a1, [0x0179] = 0x30a2, [0x017a] = 0x30a3, [0x017b] = 0x30a4, + [0x017c] = 0x30a5, [0x017d] = 0x30a6, [0x017e] = 0x30a7, [0x017f] = 0x30a8, + [0x0180] = 0x30a9, [0x0181] = 0x30aa, [0x0182] = 0x30ab, [0x0183] = 0x30ac, + [0x0184] = 0x30ad, [0x0185] = 0x30ae, [0x0186] = 0x30af, [0x0187] = 0x30b0, + [0x0188] = 0x30b1, [0x0189] = 0x30b2, [0x018a] = 0x30b3, [0x018b] = 0x30b4, + [0x018c] = 0x30b5, [0x018d] = 0x30b6, [0x018e] = 0x30b7, [0x018f] = 0x30b8, + [0x0190] = 0x30b9, [0x0191] = 0x30ba, [0x0192] = 0x30bb, [0x0193] = 0x30bc, + [0x0194] = 0x30bd, [0x0195] = 0x30be, [0x0196] = 0x30bf, [0x0197] = 0x30c0, + [0x0198] = 0x30c1, [0x0199] = 0x30c2, [0x019a] = 0x30c3, [0x019b] = 0x30c4, + [0x019c] = 0x30c5, [0x019d] = 0x30c6, [0x019e] = 0x30c7, [0x019f] = 0x30c8, + [0x01a0] = 0x30c9, [0x01a1] = 0x30ca, [0x01a2] = 0x30cb, [0x01a3] = 0x30cc, + [0x01a4] = 0x30cd, [0x01a5] = 0x30ce, [0x01a6] = 0x30cf, [0x01a7] = 0x30d0, + [0x01a8] = 0x30d1, [0x01a9] = 0x30d2, [0x01aa] = 0x30d3, [0x01ab] = 0x30d4, + [0x01ac] = 0x30d5, [0x01ad] = 0x30d6, [0x01ae] = 0x30d7, [0x01af] = 0x30d8, + [0x01b0] = 0x30d9, [0x01b1] = 0x30da, [0x01b2] = 0x30db, [0x01b3] = 0x30dc, + [0x01b4] = 0x30dd, [0x01b5] = 0x30de, [0x01b6] = 0x30df, [0x01b7] = 0x30e0, + [0x01b8] = 0x30e1, [0x01b9] = 0x30e2, [0x01ba] = 0x30e3, [0x01bb] = 0x30e4, + [0x01bc] = 0x30e5, [0x01bd] = 0x30e6, [0x01be] = 0x30e7, [0x01bf] = 0x30e8, + [0x01c0] = 0x30e9, [0x01c1] = 0x30ea, [0x01c2] = 0x30eb, [0x01c3] = 0x30ec, + [0x01c4] = 0x30ed, [0x01c5] = 0x30ee, [0x01c6] = 0x30ef, [0x01c7] = 0x30f0, + [0x01c8] = 0x30f1, [0x01c9] = 0x30f2, [0x01ca] = 0x30f3, [0x01cb] = 0x30f4, + [0x01cc] = 0x30f5, [0x01cd] = 0x30f6, [0x01d6] = 0x0391, [0x01d7] = 0x0392, + [0x01d8] = 0x0393, [0x01d9] = 0x0394, [0x01da] = 0x0395, [0x01db] = 0x0396, + [0x01dc] = 0x0397, [0x01dd] = 0x0398, [0x01de] = 0x0399, [0x01df] = 0x039a, + [0x01e0] = 0x039b, [0x01e1] = 0x039c, [0x01e2] = 0x039d, [0x01e3] = 0x039e, + [0x01e4] = 0x039f, [0x01e5] = 0x03a0, [0x01e6] = 0x03a1, [0x01e7] = 0x03a3, + [0x01e8] = 0x03a4, [0x01e9] = 0x03a5, [0x01ea] = 0x03a6, [0x01eb] = 0x03a7, + [0x01ec] = 0x03a8, [0x01ed] = 0x03a9, [0x01f6] = 0x03b1, [0x01f7] = 0x03b2, + [0x01f8] = 0x03b3, [0x01f9] = 0x03b4, [0x01fa] = 0x03b5, [0x01fb] = 0x03b6, + [0x01fc] = 0x03b7, [0x01fd] = 0x03b8, [0x01fe] = 0x03b9, [0x01ff] = 0x03ba, + [0x0200] = 0x03bb, [0x0201] = 0x03bc, [0x0202] = 0x03bd, [0x0203] = 0x03be, + [0x0204] = 0x03bf, [0x0205] = 0x03c0, [0x0206] = 0x03c1, [0x0207] = 0x03c3, + [0x0208] = 0x03c4, [0x0209] = 0x03c5, [0x020a] = 0x03c6, [0x020b] = 0x03c7, + [0x020c] = 0x03c8, [0x020d] = 0x03c9, [0x0234] = 0x0410, [0x0235] = 0x0411, + [0x0236] = 0x0412, [0x0237] = 0x0413, [0x0238] = 0x0414, [0x0239] = 0x0415, + [0x023a] = 0x0401, [0x023b] = 0x0416, [0x023c] = 0x0417, [0x023d] = 0x0418, + [0x023e] = 0x0419, [0x023f] = 0x041a, [0x0240] = 0x041b, [0x0241] = 0x041c, + [0x0242] = 0x041d, [0x0243] = 0x041e, [0x0244] = 0x041f, [0x0245] = 0x0420, + [0x0246] = 0x0421, [0x0247] = 0x0422, [0x0248] = 0x0423, [0x0249] = 0x0424, + [0x024a] = 0x0425, [0x024b] = 0x0426, [0x024c] = 0x0427, [0x024d] = 0x0428, + [0x024e] = 0x0429, [0x024f] = 0x042a, [0x0250] = 0x042b, [0x0251] = 0x042c, + [0x0252] = 0x042d, [0x0253] = 0x042e, [0x0254] = 0x042f, [0x0264] = 0x0430, + [0x0265] = 0x0431, [0x0266] = 0x0432, [0x0267] = 0x0433, [0x0268] = 0x0434, + [0x0269] = 0x0435, [0x026a] = 0x0451, [0x026b] = 0x0436, [0x026c] = 0x0437, + [0x026d] = 0x0438, [0x026e] = 0x0439, [0x026f] = 0x043a, [0x0270] = 0x043b, + [0x0271] = 0x043c, [0x0272] = 0x043d, [0x0273] = 0x043e, [0x0274] = 0x043f, + [0x0275] = 0x0440, [0x0276] = 0x0441, [0x0277] = 0x0442, [0x0278] = 0x0443, + [0x0279] = 0x0444, [0x027a] = 0x0445, [0x027b] = 0x0446, [0x027c] = 0x0447, + [0x027d] = 0x0448, [0x027e] = 0x0449, [0x027f] = 0x044a, [0x0280] = 0x044b, + [0x0281] = 0x044c, [0x0282] = 0x044d, [0x0283] = 0x044e, [0x0284] = 0x044f, + [0x0292] = 0x2500, [0x0293] = 0x2502, [0x0294] = 0x250c, [0x0295] = 0x2510, + [0x0296] = 0x2518, [0x0297] = 0x2514, [0x0298] = 0x251c, [0x0299] = 0x252c, + [0x029a] = 0x2524, [0x029b] = 0x2534, [0x029c] = 0x253c, [0x029d] = 0x2501, + [0x029e] = 0x2503, [0x029f] = 0x250f, [0x02a0] = 0x2513, [0x02a1] = 0x251b, + [0x02a2] = 0x2517, [0x02a3] = 0x2523, [0x02a4] = 0x2533, [0x02a5] = 0x252b, + [0x02a6] = 0x253b, [0x02a7] = 0x254b, [0x02a8] = 0x2520, [0x02a9] = 0x252f, + [0x02aa] = 0x2528, [0x02ab] = 0x2537, [0x02ac] = 0x253f, [0x02ad] = 0x251d, + [0x02ae] = 0x2530, [0x02af] = 0x2525, [0x02b0] = 0x2538, [0x02b1] = 0x2542, + [0x0582] = 0x4e9c, [0x0583] = 0x5516, [0x0584] = 0x5a03, [0x0585] = 0x963f, + [0x0586] = 0x54c0, [0x0587] = 0x611b, [0x0588] = 0x6328, [0x0589] = 0x59f6, + [0x058a] = 0x9022, [0x058b] = 0x8475, [0x058c] = 0x831c, [0x058d] = 0x7a50, + [0x058e] = 0x60aa, [0x058f] = 0x63e1, [0x0590] = 0x6e25, [0x0591] = 0x65ed, + [0x0592] = 0x8466, [0x0593] = 0x82a6, [0x0594] = 0x9bf5, [0x0595] = 0x6893, + [0x0596] = 0x5727, [0x0597] = 0x65a1, [0x0598] = 0x6271, [0x0599] = 0x5b9b, + [0x059a] = 0x59d0, [0x059b] = 0x867b, [0x059c] = 0x98f4, [0x059d] = 0x7d62, + [0x059e] = 0x7dbe, [0x059f] = 0x9b8e, [0x05a0] = 0x6216, [0x05a1] = 0x7c9f, + [0x05a2] = 0x88b7, [0x05a3] = 0x5b89, [0x05a4] = 0x5eb5, [0x05a5] = 0x6309, + [0x05a6] = 0x6697, [0x05a7] = 0x6848, [0x05a8] = 0x95c7, [0x05a9] = 0x978d, + [0x05aa] = 0x674f, [0x05ab] = 0x4ee5, [0x05ac] = 0x4f0a, [0x05ad] = 0x4f4d, + [0x05ae] = 0x4f9d, [0x05af] = 0x5049, [0x05b0] = 0x56f2, [0x05b1] = 0x5937, + [0x05b2] = 0x59d4, [0x05b3] = 0x5a01, [0x05b4] = 0x5c09, [0x05b5] = 0x60df, + [0x05b6] = 0x610f, [0x05b7] = 0x6170, [0x05b8] = 0x6613, [0x05b9] = 0x6905, + [0x05ba] = 0x70ba, [0x05bb] = 0x754f, [0x05bc] = 0x7570, [0x05bd] = 0x79fb, + [0x05be] = 0x7dad, [0x05bf] = 0x7def, [0x05c0] = 0x80c3, [0x05c1] = 0x840e, + [0x05c2] = 0x8863, [0x05c3] = 0x8b02, [0x05c4] = 0x9055, [0x05c5] = 0x907a, + [0x05c6] = 0x533b, [0x05c7] = 0x4e95, [0x05c8] = 0x4ea5, [0x05c9] = 0x57df, + [0x05ca] = 0x80b2, [0x05cb] = 0x90c1, [0x05cc] = 0x78ef, [0x05cd] = 0x4e00, + [0x05ce] = 0x58f1, [0x05cf] = 0x6ea2, [0x05d0] = 0x9038, [0x05d1] = 0x7a32, + [0x05d2] = 0x8328, [0x05d3] = 0x828b, [0x05d4] = 0x9c2f, [0x05d5] = 0x5141, + [0x05d6] = 0x5370, [0x05d7] = 0x54bd, [0x05d8] = 0x54e1, [0x05d9] = 0x56e0, + [0x05da] = 0x59fb, [0x05db] = 0x5f15, [0x05dc] = 0x98f2, [0x05dd] = 0x6deb, + [0x05de] = 0x80e4, [0x05df] = 0x852d, [0x05e0] = 0x9662, [0x05e1] = 0x9670, + [0x05e2] = 0x96a0, [0x05e3] = 0x97fb, [0x05e4] = 0x540b, [0x05e5] = 0x53f3, + [0x05e6] = 0x5b87, [0x05e7] = 0x70cf, [0x05e8] = 0x7fbd, [0x05e9] = 0x8fc2, + [0x05ea] = 0x96e8, [0x05eb] = 0x536f, [0x05ec] = 0x9d5c, [0x05ed] = 0x7aba, + [0x05ee] = 0x4e11, [0x05ef] = 0x7893, [0x05f0] = 0x81fc, [0x05f1] = 0x6e26, + [0x05f2] = 0x5618, [0x05f3] = 0x5504, [0x05f4] = 0x6b1d, [0x05f5] = 0x851a, + [0x05f6] = 0x9c3b, [0x05f7] = 0x59e5, [0x05f8] = 0x53a9, [0x05f9] = 0x6d66, + [0x05fa] = 0x74dc, [0x05fb] = 0x958f, [0x05fc] = 0x5642, [0x05fd] = 0x4e91, + [0x05fe] = 0x904b, [0x05ff] = 0x96f2, [0x0600] = 0x834f, [0x0601] = 0x990c, + [0x0602] = 0x53e1, [0x0603] = 0x55b6, [0x0604] = 0x5b30, [0x0605] = 0x5f71, + [0x0606] = 0x6620, [0x0607] = 0x66f3, [0x0608] = 0x6804, [0x0609] = 0x6c38, + [0x060a] = 0x6cf3, [0x060b] = 0x6d29, [0x060c] = 0x745b, [0x060d] = 0x76c8, + [0x060e] = 0x7a4e, [0x060f] = 0x9834, [0x0610] = 0x82f1, [0x0611] = 0x885b, + [0x0612] = 0x8a60, [0x0613] = 0x92ed, [0x0614] = 0x6db2, [0x0615] = 0x75ab, + [0x0616] = 0x76ca, [0x0617] = 0x99c5, [0x0618] = 0x60a6, [0x0619] = 0x8b01, + [0x061a] = 0x8d8a, [0x061b] = 0x95b2, [0x061c] = 0x698e, [0x061d] = 0x53ad, + [0x061e] = 0x5186, [0x061f] = 0x5712, [0x0620] = 0x5830, [0x0621] = 0x5944, + [0x0622] = 0x5bb4, [0x0623] = 0x5ef6, [0x0624] = 0x6028, [0x0625] = 0x63a9, + [0x0626] = 0x63f4, [0x0627] = 0x6cbf, [0x0628] = 0x6f14, [0x0629] = 0x708e, + [0x062a] = 0x7114, [0x062b] = 0x7159, [0x062c] = 0x71d5, [0x062d] = 0x733f, + [0x062e] = 0x7e01, [0x062f] = 0x8276, [0x0630] = 0x82d1, [0x0631] = 0x8597, + [0x0632] = 0x9060, [0x0633] = 0x925b, [0x0634] = 0x9d1b, [0x0635] = 0x5869, + [0x0636] = 0x65bc, [0x0637] = 0x6c5a, [0x0638] = 0x7525, [0x0639] = 0x51f9, + [0x063a] = 0x592e, [0x063b] = 0x5965, [0x063c] = 0x5f80, [0x063d] = 0x5fdc, + [0x063e] = 0x62bc, [0x063f] = 0x65fa, [0x0640] = 0x6a2a, [0x0641] = 0x6b27, + [0x0642] = 0x6bb4, [0x0643] = 0x738b, [0x0644] = 0x7fc1, [0x0645] = 0x8956, + [0x0646] = 0x9d2c, [0x0647] = 0x9d0e, [0x0648] = 0x9ec4, [0x0649] = 0x5ca1, + [0x064a] = 0x6c96, [0x064b] = 0x837b, [0x064c] = 0x5104, [0x064d] = 0x5c4b, + [0x064e] = 0x61b6, [0x064f] = 0x81c6, [0x0650] = 0x6876, [0x0651] = 0x7261, + [0x0652] = 0x4e59, [0x0653] = 0x4ffa, [0x0654] = 0x5378, [0x0655] = 0x6069, + [0x0656] = 0x6e29, [0x0657] = 0x7a4f, [0x0658] = 0x97f3, [0x0659] = 0x4e0b, + [0x065a] = 0x5316, [0x065b] = 0x4eee, [0x065c] = 0x4f55, [0x065d] = 0x4f3d, + [0x065e] = 0x4fa1, [0x065f] = 0x4f73, [0x0660] = 0x52a0, [0x0661] = 0x53ef, + [0x0662] = 0x5609, [0x0663] = 0x590f, [0x0664] = 0x5ac1, [0x0665] = 0x5bb6, + [0x0666] = 0x5be1, [0x0667] = 0x79d1, [0x0668] = 0x6687, [0x0669] = 0x679c, + [0x066a] = 0x67b6, [0x066b] = 0x6b4c, [0x066c] = 0x6cb3, [0x066d] = 0x706b, + [0x066e] = 0x73c2, [0x066f] = 0x798d, [0x0670] = 0x79be, [0x0671] = 0x7a3c, + [0x0672] = 0x7b87, [0x0673] = 0x82b1, [0x0674] = 0x82db, [0x0675] = 0x8304, + [0x0676] = 0x8377, [0x0677] = 0x83ef, [0x0678] = 0x83d3, [0x0679] = 0x8766, + [0x067a] = 0x8ab2, [0x067b] = 0x5629, [0x067c] = 0x8ca8, [0x067d] = 0x8fe6, + [0x067e] = 0x904e, [0x067f] = 0x971e, [0x0680] = 0x868a, [0x0681] = 0x4fc4, + [0x0682] = 0x5ce8, [0x0683] = 0x6211, [0x0684] = 0x7259, [0x0685] = 0x753b, + [0x0686] = 0x81e5, [0x0687] = 0x82bd, [0x0688] = 0x86fe, [0x0689] = 0x8cc0, + [0x068a] = 0x96c5, [0x068b] = 0x9913, [0x068c] = 0x99d5, [0x068d] = 0x4ecb, + [0x068e] = 0x4f1a, [0x068f] = 0x89e3, [0x0690] = 0x56de, [0x0691] = 0x584a, + [0x0692] = 0x58ca, [0x0693] = 0x5efb, [0x0694] = 0x5feb, [0x0695] = 0x602a, + [0x0696] = 0x6094, [0x0697] = 0x6062, [0x0698] = 0x61d0, [0x0699] = 0x6212, + [0x069a] = 0x62d0, [0x069b] = 0x6539, [0x069c] = 0x9b41, [0x069d] = 0x6666, + [0x069e] = 0x68b0, [0x069f] = 0x6d77, [0x06a0] = 0x7070, [0x06a1] = 0x754c, + [0x06a2] = 0x7686, [0x06a3] = 0x7d75, [0x06a4] = 0x82a5, [0x06a5] = 0x87f9, + [0x06a6] = 0x958b, [0x06a7] = 0x968e, [0x06a8] = 0x8c9d, [0x06a9] = 0x51f1, + [0x06aa] = 0x52be, [0x06ab] = 0x5916, [0x06ac] = 0x54b3, [0x06ad] = 0x5bb3, + [0x06ae] = 0x5d16, [0x06af] = 0x6168, [0x06b0] = 0x6982, [0x06b1] = 0x6daf, + [0x06b2] = 0x788d, [0x06b3] = 0x84cb, [0x06b4] = 0x8857, [0x06b5] = 0x8a72, + [0x06b6] = 0x93a7, [0x06b7] = 0x9ab8, [0x06b8] = 0x6d6c, [0x06b9] = 0x99a8, + [0x06ba] = 0x86d9, [0x06bb] = 0x57a3, [0x06bc] = 0x67ff, [0x06bd] = 0x86ce, + [0x06be] = 0x920e, [0x06bf] = 0x5283, [0x06c0] = 0x5687, [0x06c1] = 0x5404, + [0x06c2] = 0x5ed3, [0x06c3] = 0x62e1, [0x06c4] = 0x64b9, [0x06c5] = 0x683c, + [0x06c6] = 0x6838, [0x06c7] = 0x6bbb, [0x06c8] = 0x7372, [0x06c9] = 0x78ba, + [0x06ca] = 0x7a6b, [0x06cb] = 0x899a, [0x06cc] = 0x89d2, [0x06cd] = 0x8d6b, + [0x06ce] = 0x8f03, [0x06cf] = 0x90ed, [0x06d0] = 0x95a3, [0x06d1] = 0x9694, + [0x06d2] = 0x9769, [0x06d3] = 0x5b66, [0x06d4] = 0x5cb3, [0x06d5] = 0x697d, + [0x06d6] = 0x984d, [0x06d7] = 0x984e, [0x06d8] = 0x639b, [0x06d9] = 0x7b20, + [0x06da] = 0x6a2b, [0x06db] = 0x6a7f, [0x06dc] = 0x68b6, [0x06dd] = 0x9c0d, + [0x06de] = 0x6f5f, [0x06df] = 0x5272, [0x06e0] = 0x559d, [0x06e1] = 0x6070, + [0x06e2] = 0x62ec, [0x06e3] = 0x6d3b, [0x06e4] = 0x6e07, [0x06e5] = 0x6ed1, + [0x06e6] = 0x845b, [0x06e7] = 0x8910, [0x06e8] = 0x8f44, [0x06e9] = 0x4e14, + [0x06ea] = 0x9c39, [0x06eb] = 0x53f6, [0x06ec] = 0x691b, [0x06ed] = 0x6a3a, + [0x06ee] = 0x9784, [0x06ef] = 0x682a, [0x06f0] = 0x515c, [0x06f1] = 0x7ac3, + [0x06f2] = 0x84b2, [0x06f3] = 0x91dc, [0x06f4] = 0x938c, [0x06f5] = 0x565b, + [0x06f6] = 0x9d28, [0x06f7] = 0x6822, [0x06f8] = 0x8305, [0x06f9] = 0x8431, + [0x06fa] = 0x7ca5, [0x06fb] = 0x5208, [0x06fc] = 0x82c5, [0x06fd] = 0x74e6, + [0x06fe] = 0x4e7e, [0x06ff] = 0x4f83, [0x0700] = 0x51a0, [0x0701] = 0x5bd2, + [0x0702] = 0x520a, [0x0703] = 0x52d8, [0x0704] = 0x52e7, [0x0705] = 0x5dfb, + [0x0706] = 0x559a, [0x0707] = 0x582a, [0x0708] = 0x59e6, [0x0709] = 0x5b8c, + [0x070a] = 0x5b98, [0x070b] = 0x5bdb, [0x070c] = 0x5e72, [0x070d] = 0x5e79, + [0x070e] = 0x60a3, [0x070f] = 0x611f, [0x0710] = 0x6163, [0x0711] = 0x61be, + [0x0712] = 0x63db, [0x0713] = 0x6562, [0x0714] = 0x67d1, [0x0715] = 0x6853, + [0x0716] = 0x68fa, [0x0717] = 0x6b3e, [0x0718] = 0x6b53, [0x0719] = 0x6c57, + [0x071a] = 0x6f22, [0x071b] = 0x6f97, [0x071c] = 0x6f45, [0x071d] = 0x74b0, + [0x071e] = 0x7518, [0x071f] = 0x76e3, [0x0720] = 0x770b, [0x0721] = 0x7aff, + [0x0722] = 0x7ba1, [0x0723] = 0x7c21, [0x0724] = 0x7de9, [0x0725] = 0x7f36, + [0x0726] = 0x7ff0, [0x0727] = 0x809d, [0x0728] = 0x8266, [0x0729] = 0x839e, + [0x072a] = 0x89b3, [0x072b] = 0x8acc, [0x072c] = 0x8cab, [0x072d] = 0x9084, + [0x072e] = 0x9451, [0x072f] = 0x9593, [0x0730] = 0x9591, [0x0731] = 0x95a2, + [0x0732] = 0x9665, [0x0733] = 0x97d3, [0x0734] = 0x9928, [0x0735] = 0x8218, + [0x0736] = 0x4e38, [0x0737] = 0x542b, [0x0738] = 0x5cb8, [0x0739] = 0x5dcc, + [0x073a] = 0x73a9, [0x073b] = 0x764c, [0x073c] = 0x773c, [0x073d] = 0x5ca9, + [0x073e] = 0x7feb, [0x073f] = 0x8d0b, [0x0740] = 0x96c1, [0x0741] = 0x9811, + [0x0742] = 0x9854, [0x0743] = 0x9858, [0x0744] = 0x4f01, [0x0745] = 0x4f0e, + [0x0746] = 0x5371, [0x0747] = 0x559c, [0x0748] = 0x5668, [0x0749] = 0x57fa, + [0x074a] = 0x5947, [0x074b] = 0x5b09, [0x074c] = 0x5bc4, [0x074d] = 0x5c90, + [0x074e] = 0x5e0c, [0x074f] = 0x5e7e, [0x0750] = 0x5fcc, [0x0751] = 0x63ee, + [0x0752] = 0x673a, [0x0753] = 0x65d7, [0x0754] = 0x65e2, [0x0755] = 0x671f, + [0x0756] = 0x68cb, [0x0757] = 0x68c4, [0x0758] = 0x6a5f, [0x0759] = 0x5e30, + [0x075a] = 0x6bc5, [0x075b] = 0x6c17, [0x075c] = 0x6c7d, [0x075d] = 0x757f, + [0x075e] = 0x7948, [0x075f] = 0x5b63, [0x0760] = 0x7a00, [0x0761] = 0x7d00, + [0x0762] = 0x5fbd, [0x0763] = 0x898f, [0x0764] = 0x8a18, [0x0765] = 0x8cb4, + [0x0766] = 0x8d77, [0x0767] = 0x8ecc, [0x0768] = 0x8f1d, [0x0769] = 0x98e2, + [0x076a] = 0x9a0e, [0x076b] = 0x9b3c, [0x076c] = 0x4e80, [0x076d] = 0x507d, + [0x076e] = 0x5100, [0x076f] = 0x5993, [0x0770] = 0x5b9c, [0x0771] = 0x622f, + [0x0772] = 0x6280, [0x0773] = 0x64ec, [0x0774] = 0x6b3a, [0x0775] = 0x72a0, + [0x0776] = 0x7591, [0x0777] = 0x7947, [0x0778] = 0x7fa9, [0x0779] = 0x87fb, + [0x077a] = 0x8abc, [0x077b] = 0x8b70, [0x077c] = 0x63ac, [0x077d] = 0x83ca, + [0x077e] = 0x97a0, [0x077f] = 0x5409, [0x0780] = 0x5403, [0x0781] = 0x55ab, + [0x0782] = 0x6854, [0x0783] = 0x6a58, [0x0784] = 0x8a70, [0x0785] = 0x7827, + [0x0786] = 0x6775, [0x0787] = 0x9ecd, [0x0788] = 0x5374, [0x0789] = 0x5ba2, + [0x078a] = 0x811a, [0x078b] = 0x8650, [0x078c] = 0x9006, [0x078d] = 0x4e18, + [0x078e] = 0x4e45, [0x078f] = 0x4ec7, [0x0790] = 0x4f11, [0x0791] = 0x53ca, + [0x0792] = 0x5438, [0x0793] = 0x5bae, [0x0794] = 0x5f13, [0x0795] = 0x6025, + [0x0796] = 0x6551, [0x0797] = 0x673d, [0x0798] = 0x6c42, [0x0799] = 0x6c72, + [0x079a] = 0x6ce3, [0x079b] = 0x7078, [0x079c] = 0x7403, [0x079d] = 0x7a76, + [0x079e] = 0x7aae, [0x079f] = 0x7b08, [0x07a0] = 0x7d1a, [0x07a1] = 0x7cfe, + [0x07a2] = 0x7d66, [0x07a3] = 0x65e7, [0x07a4] = 0x725b, [0x07a5] = 0x53bb, + [0x07a6] = 0x5c45, [0x07a7] = 0x5de8, [0x07a8] = 0x62d2, [0x07a9] = 0x62e0, + [0x07aa] = 0x6319, [0x07ab] = 0x6e20, [0x07ac] = 0x865a, [0x07ad] = 0x8a31, + [0x07ae] = 0x8ddd, [0x07af] = 0x92f8, [0x07b0] = 0x6f01, [0x07b1] = 0x79a6, + [0x07b2] = 0x9b5a, [0x07b3] = 0x4ea8, [0x07b4] = 0x4eab, [0x07b5] = 0x4eac, + [0x07b6] = 0x4f9b, [0x07b7] = 0x4fa0, [0x07b8] = 0x50d1, [0x07b9] = 0x5147, + [0x07ba] = 0x7af6, [0x07bb] = 0x5171, [0x07bc] = 0x51f6, [0x07bd] = 0x5354, + [0x07be] = 0x5321, [0x07bf] = 0x537f, [0x07c0] = 0x53eb, [0x07c1] = 0x55ac, + [0x07c2] = 0x5883, [0x07c3] = 0x5ce1, [0x07c4] = 0x5f37, [0x07c5] = 0x5f4a, + [0x07c6] = 0x602f, [0x07c7] = 0x6050, [0x07c8] = 0x606d, [0x07c9] = 0x631f, + [0x07ca] = 0x6559, [0x07cb] = 0x6a4b, [0x07cc] = 0x6cc1, [0x07cd] = 0x72c2, + [0x07ce] = 0x72ed, [0x07cf] = 0x77ef, [0x07d0] = 0x80f8, [0x07d1] = 0x8105, + [0x07d2] = 0x8208, [0x07d3] = 0x854e, [0x07d4] = 0x90f7, [0x07d5] = 0x93e1, + [0x07d6] = 0x97ff, [0x07d7] = 0x9957, [0x07d8] = 0x9a5a, [0x07d9] = 0x4ef0, + [0x07da] = 0x51dd, [0x07db] = 0x5c2d, [0x07dc] = 0x6681, [0x07dd] = 0x696d, + [0x07de] = 0x5c40, [0x07df] = 0x66f2, [0x07e0] = 0x6975, [0x07e1] = 0x7389, + [0x07e2] = 0x6850, [0x07e3] = 0x7c81, [0x07e4] = 0x50c5, [0x07e5] = 0x52e4, + [0x07e6] = 0x5747, [0x07e7] = 0x5dfe, [0x07e8] = 0x9326, [0x07e9] = 0x65a4, + [0x07ea] = 0x6b23, [0x07eb] = 0x6b3d, [0x07ec] = 0x7434, [0x07ed] = 0x7981, + [0x07ee] = 0x79bd, [0x07ef] = 0x7b4b, [0x07f0] = 0x7dca, [0x07f1] = 0x82b9, + [0x07f2] = 0x83cc, [0x07f3] = 0x887f, [0x07f4] = 0x895f, [0x07f5] = 0x8b39, + [0x07f6] = 0x8fd1, [0x07f7] = 0x91d1, [0x07f8] = 0x541f, [0x07f9] = 0x9280, + [0x07fa] = 0x4e5d, [0x07fb] = 0x5036, [0x07fc] = 0x53e5, [0x07fd] = 0x533a, + [0x07fe] = 0x72d7, [0x07ff] = 0x7396, [0x0800] = 0x77e9, [0x0801] = 0x82e6, + [0x0802] = 0x8eaf, [0x0803] = 0x99c6, [0x0804] = 0x99c8, [0x0805] = 0x99d2, + [0x0806] = 0x5177, [0x0807] = 0x611a, [0x0808] = 0x865e, [0x0809] = 0x55b0, + [0x080a] = 0x7a7a, [0x080b] = 0x5076, [0x080c] = 0x5bd3, [0x080d] = 0x9047, + [0x080e] = 0x9685, [0x080f] = 0x4e32, [0x0810] = 0x6adb, [0x0811] = 0x91e7, + [0x0812] = 0x5c51, [0x0813] = 0x5c48, [0x0814] = 0x6398, [0x0815] = 0x7a9f, + [0x0816] = 0x6c93, [0x0817] = 0x9774, [0x0818] = 0x8f61, [0x0819] = 0x7aaa, + [0x081a] = 0x718a, [0x081b] = 0x9688, [0x081c] = 0x7c82, [0x081d] = 0x6817, + [0x081e] = 0x7e70, [0x081f] = 0x6851, [0x0820] = 0x936c, [0x0821] = 0x52f2, + [0x0822] = 0x541b, [0x0823] = 0x85ab, [0x0824] = 0x8a13, [0x0825] = 0x7fa4, + [0x0826] = 0x8ecd, [0x0827] = 0x90e1, [0x0828] = 0x5366, [0x0829] = 0x8888, + [0x082a] = 0x7941, [0x082b] = 0x4fc2, [0x082c] = 0x50be, [0x082d] = 0x5211, + [0x082e] = 0x5144, [0x082f] = 0x5553, [0x0830] = 0x572d, [0x0831] = 0x73ea, + [0x0832] = 0x578b, [0x0833] = 0x5951, [0x0834] = 0x5f62, [0x0835] = 0x5f84, + [0x0836] = 0x6075, [0x0837] = 0x6176, [0x0838] = 0x6167, [0x0839] = 0x61a9, + [0x083a] = 0x63b2, [0x083b] = 0x643a, [0x083c] = 0x656c, [0x083d] = 0x666f, + [0x083e] = 0x6842, [0x083f] = 0x6e13, [0x0840] = 0x7566, [0x0841] = 0x7a3d, + [0x0842] = 0x7cfb, [0x0843] = 0x7d4c, [0x0844] = 0x7d99, [0x0845] = 0x7e4b, + [0x0846] = 0x7f6b, [0x0847] = 0x830e, [0x0848] = 0x834a, [0x0849] = 0x86cd, + [0x084a] = 0x8a08, [0x084b] = 0x8a63, [0x084c] = 0x8b66, [0x084d] = 0x8efd, + [0x084e] = 0x981a, [0x084f] = 0x9d8f, [0x0850] = 0x82b8, [0x0851] = 0x8fce, + [0x0852] = 0x9be8, [0x0853] = 0x5287, [0x0854] = 0x621f, [0x0855] = 0x6483, + [0x0856] = 0x6fc0, [0x0857] = 0x9699, [0x0858] = 0x6841, [0x0859] = 0x5091, + [0x085a] = 0x6b20, [0x085b] = 0x6c7a, [0x085c] = 0x6f54, [0x085d] = 0x7a74, + [0x085e] = 0x7d50, [0x085f] = 0x8840, [0x0860] = 0x8a23, [0x0861] = 0x6708, + [0x0862] = 0x4ef6, [0x0863] = 0x5039, [0x0864] = 0x5026, [0x0865] = 0x5065, + [0x0866] = 0x517c, [0x0867] = 0x5238, [0x0868] = 0x5263, [0x0869] = 0x55a7, + [0x086a] = 0x570f, [0x086b] = 0x5805, [0x086c] = 0x5acc, [0x086d] = 0x5efa, + [0x086e] = 0x61b2, [0x086f] = 0x61f8, [0x0870] = 0x62f3, [0x0871] = 0x6372, + [0x0872] = 0x691c, [0x0873] = 0x6a29, [0x0874] = 0x727d, [0x0875] = 0x72ac, + [0x0876] = 0x732e, [0x0877] = 0x7814, [0x0878] = 0x786f, [0x0879] = 0x7d79, + [0x087a] = 0x770c, [0x087b] = 0x80a9, [0x087c] = 0x898b, [0x087d] = 0x8b19, + [0x087e] = 0x8ce2, [0x087f] = 0x8ed2, [0x0880] = 0x9063, [0x0881] = 0x9375, + [0x0882] = 0x967a, [0x0883] = 0x9855, [0x0884] = 0x9a13, [0x0885] = 0x9e78, + [0x0886] = 0x5143, [0x0887] = 0x539f, [0x0888] = 0x53b3, [0x0889] = 0x5e7b, + [0x088a] = 0x5f26, [0x088b] = 0x6e1b, [0x088c] = 0x6e90, [0x088d] = 0x7384, + [0x088e] = 0x73fe, [0x088f] = 0x7d43, [0x0890] = 0x8237, [0x0891] = 0x8a00, + [0x0892] = 0x8afa, [0x0893] = 0x9650, [0x0894] = 0x4e4e, [0x0895] = 0x500b, + [0x0896] = 0x53e4, [0x0897] = 0x547c, [0x0898] = 0x56fa, [0x0899] = 0x59d1, + [0x089a] = 0x5b64, [0x089b] = 0x5df1, [0x089c] = 0x5eab, [0x089d] = 0x5f27, + [0x089e] = 0x6238, [0x089f] = 0x6545, [0x08a0] = 0x67af, [0x08a1] = 0x6e56, + [0x08a2] = 0x72d0, [0x08a3] = 0x7cca, [0x08a4] = 0x88b4, [0x08a5] = 0x80a1, + [0x08a6] = 0x80e1, [0x08a7] = 0x83f0, [0x08a8] = 0x864e, [0x08a9] = 0x8a87, + [0x08aa] = 0x8de8, [0x08ab] = 0x9237, [0x08ac] = 0x96c7, [0x08ad] = 0x9867, + [0x08ae] = 0x9f13, [0x08af] = 0x4e94, [0x08b0] = 0x4e92, [0x08b1] = 0x4f0d, + [0x08b2] = 0x5348, [0x08b3] = 0x5449, [0x08b4] = 0x543e, [0x08b5] = 0x5a2f, + [0x08b6] = 0x5f8c, [0x08b7] = 0x5fa1, [0x08b8] = 0x609f, [0x08b9] = 0x68a7, + [0x08ba] = 0x6a8e, [0x08bb] = 0x745a, [0x08bc] = 0x7881, [0x08bd] = 0x8a9e, + [0x08be] = 0x8aa4, [0x08bf] = 0x8b77, [0x08c0] = 0x9190, [0x08c1] = 0x4e5e, + [0x08c2] = 0x9bc9, [0x08c3] = 0x4ea4, [0x08c4] = 0x4f7c, [0x08c5] = 0x4faf, + [0x08c6] = 0x5019, [0x08c7] = 0x5016, [0x08c8] = 0x5149, [0x08c9] = 0x516c, + [0x08ca] = 0x529f, [0x08cb] = 0x52b9, [0x08cc] = 0x52fe, [0x08cd] = 0x539a, + [0x08ce] = 0x53e3, [0x08cf] = 0x5411, [0x08d0] = 0x540e, [0x08d1] = 0x5589, + [0x08d2] = 0x5751, [0x08d3] = 0x57a2, [0x08d4] = 0x597d, [0x08d5] = 0x5b54, + [0x08d6] = 0x5b5d, [0x08d7] = 0x5b8f, [0x08d8] = 0x5de5, [0x08d9] = 0x5de7, + [0x08da] = 0x5df7, [0x08db] = 0x5e78, [0x08dc] = 0x5e83, [0x08dd] = 0x5e9a, + [0x08de] = 0x5eb7, [0x08df] = 0x5f18, [0x08e0] = 0x6052, [0x08e1] = 0x614c, + [0x08e2] = 0x6297, [0x08e3] = 0x62d8, [0x08e4] = 0x63a7, [0x08e5] = 0x653b, + [0x08e6] = 0x6602, [0x08e7] = 0x6643, [0x08e8] = 0x66f4, [0x08e9] = 0x676d, + [0x08ea] = 0x6821, [0x08eb] = 0x6897, [0x08ec] = 0x69cb, [0x08ed] = 0x6c5f, + [0x08ee] = 0x6d2a, [0x08ef] = 0x6d69, [0x08f0] = 0x6e2f, [0x08f1] = 0x6e9d, + [0x08f2] = 0x7532, [0x08f3] = 0x7687, [0x08f4] = 0x786c, [0x08f5] = 0x7a3f, + [0x08f6] = 0x7ce0, [0x08f7] = 0x7d05, [0x08f8] = 0x7d18, [0x08f9] = 0x7d5e, + [0x08fa] = 0x7db1, [0x08fb] = 0x8015, [0x08fc] = 0x8003, [0x08fd] = 0x80af, + [0x08fe] = 0x80b1, [0x08ff] = 0x8154, [0x0900] = 0x818f, [0x0901] = 0x822a, + [0x0902] = 0x8352, [0x0903] = 0x884c, [0x0904] = 0x8861, [0x0905] = 0x8b1b, + [0x0906] = 0x8ca2, [0x0907] = 0x8cfc, [0x0908] = 0x90ca, [0x0909] = 0x9175, + [0x090a] = 0x9271, [0x090b] = 0x783f, [0x090c] = 0x92fc, [0x090d] = 0x95a4, + [0x090e] = 0x964d, [0x090f] = 0x9805, [0x0910] = 0x9999, [0x0911] = 0x9ad8, + [0x0912] = 0x9d3b, [0x0913] = 0x525b, [0x0914] = 0x52ab, [0x0915] = 0x53f7, + [0x0916] = 0x5408, [0x0917] = 0x58d5, [0x0918] = 0x62f7, [0x0919] = 0x6fe0, + [0x091a] = 0x8c6a, [0x091b] = 0x8f5f, [0x091c] = 0x9eb9, [0x091d] = 0x514b, + [0x091e] = 0x523b, [0x091f] = 0x544a, [0x0920] = 0x56fd, [0x0921] = 0x7a40, + [0x0922] = 0x9177, [0x0923] = 0x9d60, [0x0924] = 0x9ed2, [0x0925] = 0x7344, + [0x0926] = 0x6f09, [0x0927] = 0x8170, [0x0928] = 0x7511, [0x0929] = 0x5ffd, + [0x092a] = 0x60da, [0x092b] = 0x9aa8, [0x092c] = 0x72db, [0x092d] = 0x8fbc, + [0x092e] = 0x6b64, [0x092f] = 0x9803, [0x0930] = 0x4eca, [0x0931] = 0x56f0, + [0x0932] = 0x5764, [0x0933] = 0x58be, [0x0934] = 0x5a5a, [0x0935] = 0x6068, + [0x0936] = 0x61c7, [0x0937] = 0x660f, [0x0938] = 0x6606, [0x0939] = 0x6839, + [0x093a] = 0x68b1, [0x093b] = 0x6df7, [0x093c] = 0x75d5, [0x093d] = 0x7d3a, + [0x093e] = 0x826e, [0x093f] = 0x9b42, [0x0940] = 0x4e9b, [0x0941] = 0x4f50, + [0x0942] = 0x53c9, [0x0943] = 0x5506, [0x0944] = 0x5d6f, [0x0945] = 0x5de6, + [0x0946] = 0x5dee, [0x0947] = 0x67fb, [0x0948] = 0x6c99, [0x0949] = 0x7473, + [0x094a] = 0x7802, [0x094b] = 0x8a50, [0x094c] = 0x9396, [0x094d] = 0x88df, + [0x094e] = 0x5750, [0x094f] = 0x5ea7, [0x0950] = 0x632b, [0x0951] = 0x50b5, + [0x0952] = 0x50ac, [0x0953] = 0x518d, [0x0954] = 0x6700, [0x0955] = 0x54c9, + [0x0956] = 0x585e, [0x0957] = 0x59bb, [0x0958] = 0x5bb0, [0x0959] = 0x5f69, + [0x095a] = 0x624d, [0x095b] = 0x63a1, [0x095c] = 0x683d, [0x095d] = 0x6b73, + [0x095e] = 0x6e08, [0x095f] = 0x707d, [0x0960] = 0x91c7, [0x0961] = 0x7280, + [0x0962] = 0x7815, [0x0963] = 0x7826, [0x0964] = 0x796d, [0x0965] = 0x658e, + [0x0966] = 0x7d30, [0x0967] = 0x83dc, [0x0968] = 0x88c1, [0x0969] = 0x8f09, + [0x096a] = 0x969b, [0x096b] = 0x5264, [0x096c] = 0x5728, [0x096d] = 0x6750, + [0x096e] = 0x7f6a, [0x096f] = 0x8ca1, [0x0970] = 0x51b4, [0x0971] = 0x5742, + [0x0972] = 0x962a, [0x0973] = 0x583a, [0x0974] = 0x698a, [0x0975] = 0x80b4, + [0x0976] = 0x54b2, [0x0977] = 0x5d0e, [0x0978] = 0x57fc, [0x0979] = 0x7895, + [0x097a] = 0x9dfa, [0x097b] = 0x4f5c, [0x097c] = 0x524a, [0x097d] = 0x548b, + [0x097e] = 0x643e, [0x097f] = 0x6628, [0x0980] = 0x6714, [0x0981] = 0x67f5, + [0x0982] = 0x7a84, [0x0983] = 0x7b56, [0x0984] = 0x7d22, [0x0985] = 0x932f, + [0x0986] = 0x685c, [0x0987] = 0x9bad, [0x0988] = 0x7b39, [0x0989] = 0x5319, + [0x098a] = 0x518a, [0x098b] = 0x5237, [0x098c] = 0x5bdf, [0x098d] = 0x62f6, + [0x098e] = 0x64ae, [0x098f] = 0x64e6, [0x0990] = 0x672d, [0x0991] = 0x6bba, + [0x0992] = 0x85a9, [0x0993] = 0x96d1, [0x0994] = 0x7690, [0x0995] = 0x9bd6, + [0x0996] = 0x634c, [0x0997] = 0x9306, [0x0998] = 0x9bab, [0x0999] = 0x76bf, + [0x099a] = 0x6652, [0x099b] = 0x4e09, [0x099c] = 0x5098, [0x099d] = 0x53c2, + [0x099e] = 0x5c71, [0x099f] = 0x60e8, [0x09a0] = 0x6492, [0x09a1] = 0x6563, + [0x09a2] = 0x685f, [0x09a3] = 0x71e6, [0x09a4] = 0x73ca, [0x09a5] = 0x7523, + [0x09a6] = 0x7b97, [0x09a7] = 0x7e82, [0x09a8] = 0x8695, [0x09a9] = 0x8b83, + [0x09aa] = 0x8cdb, [0x09ab] = 0x9178, [0x09ac] = 0x9910, [0x09ad] = 0x65ac, + [0x09ae] = 0x66ab, [0x09af] = 0x6b8b, [0x09b0] = 0x4ed5, [0x09b1] = 0x4ed4, + [0x09b2] = 0x4f3a, [0x09b3] = 0x4f7f, [0x09b4] = 0x523a, [0x09b5] = 0x53f8, + [0x09b6] = 0x53f2, [0x09b7] = 0x55e3, [0x09b8] = 0x56db, [0x09b9] = 0x58eb, + [0x09ba] = 0x59cb, [0x09bb] = 0x59c9, [0x09bc] = 0x59ff, [0x09bd] = 0x5b50, + [0x09be] = 0x5c4d, [0x09bf] = 0x5e02, [0x09c0] = 0x5e2b, [0x09c1] = 0x5fd7, + [0x09c2] = 0x601d, [0x09c3] = 0x6307, [0x09c4] = 0x652f, [0x09c5] = 0x5b5c, + [0x09c6] = 0x65af, [0x09c7] = 0x65bd, [0x09c8] = 0x65e8, [0x09c9] = 0x679d, + [0x09ca] = 0x6b62, [0x09cb] = 0x6b7b, [0x09cc] = 0x6c0f, [0x09cd] = 0x7345, + [0x09ce] = 0x7949, [0x09cf] = 0x79c1, [0x09d0] = 0x7cf8, [0x09d1] = 0x7d19, + [0x09d2] = 0x7d2b, [0x09d3] = 0x80a2, [0x09d4] = 0x8102, [0x09d5] = 0x81f3, + [0x09d6] = 0x8996, [0x09d7] = 0x8a5e, [0x09d8] = 0x8a69, [0x09d9] = 0x8a66, + [0x09da] = 0x8a8c, [0x09db] = 0x8aee, [0x09dc] = 0x8cc7, [0x09dd] = 0x8cdc, + [0x09de] = 0x96cc, [0x09df] = 0x98fc, [0x09e0] = 0x6b6f, [0x09e1] = 0x4e8b, + [0x09e2] = 0x4f3c, [0x09e3] = 0x4f8d, [0x09e4] = 0x5150, [0x09e5] = 0x5b57, + [0x09e6] = 0x5bfa, [0x09e7] = 0x6148, [0x09e8] = 0x6301, [0x09e9] = 0x6642, + [0x09ea] = 0x6b21, [0x09eb] = 0x6ecb, [0x09ec] = 0x6cbb, [0x09ed] = 0x723e, + [0x09ee] = 0x74bd, [0x09ef] = 0x75d4, [0x09f0] = 0x78c1, [0x09f1] = 0x793a, + [0x09f2] = 0x800c, [0x09f3] = 0x8033, [0x09f4] = 0x81ea, [0x09f5] = 0x8494, + [0x09f6] = 0x8f9e, [0x09f7] = 0x6c50, [0x09f8] = 0x9e7f, [0x09f9] = 0x5f0f, + [0x09fa] = 0x8b58, [0x09fb] = 0x9d2b, [0x09fc] = 0x7afa, [0x09fd] = 0x8ef8, + [0x09fe] = 0x5b8d, [0x09ff] = 0x96eb, [0x0a00] = 0x4e03, [0x0a01] = 0x53f1, + [0x0a02] = 0x57f7, [0x0a03] = 0x5931, [0x0a04] = 0x5ac9, [0x0a05] = 0x5ba4, + [0x0a06] = 0x6089, [0x0a07] = 0x6e7f, [0x0a08] = 0x6f06, [0x0a09] = 0x75be, + [0x0a0a] = 0x8cea, [0x0a0b] = 0x5b9f, [0x0a0c] = 0x8500, [0x0a0d] = 0x7be0, + [0x0a0e] = 0x5072, [0x0a0f] = 0x67f4, [0x0a10] = 0x829d, [0x0a11] = 0x5c61, + [0x0a12] = 0x854a, [0x0a13] = 0x7e1e, [0x0a14] = 0x820e, [0x0a15] = 0x5199, + [0x0a16] = 0x5c04, [0x0a17] = 0x6368, [0x0a18] = 0x8d66, [0x0a19] = 0x659c, + [0x0a1a] = 0x716e, [0x0a1b] = 0x793e, [0x0a1c] = 0x7d17, [0x0a1d] = 0x8005, + [0x0a1e] = 0x8b1d, [0x0a1f] = 0x8eca, [0x0a20] = 0x906e, [0x0a21] = 0x86c7, + [0x0a22] = 0x90aa, [0x0a23] = 0x501f, [0x0a24] = 0x52fa, [0x0a25] = 0x5c3a, + [0x0a26] = 0x6753, [0x0a27] = 0x707c, [0x0a28] = 0x7235, [0x0a29] = 0x914c, + [0x0a2a] = 0x91c8, [0x0a2b] = 0x932b, [0x0a2c] = 0x82e5, [0x0a2d] = 0x5bc2, + [0x0a2e] = 0x5f31, [0x0a2f] = 0x60f9, [0x0a30] = 0x4e3b, [0x0a31] = 0x53d6, + [0x0a32] = 0x5b88, [0x0a33] = 0x624b, [0x0a34] = 0x6731, [0x0a35] = 0x6b8a, + [0x0a36] = 0x72e9, [0x0a37] = 0x73e0, [0x0a38] = 0x7a2e, [0x0a39] = 0x816b, + [0x0a3a] = 0x8da3, [0x0a3b] = 0x9152, [0x0a3c] = 0x9996, [0x0a3d] = 0x5112, + [0x0a3e] = 0x53d7, [0x0a3f] = 0x546a, [0x0a40] = 0x5bff, [0x0a41] = 0x6388, + [0x0a42] = 0x6a39, [0x0a43] = 0x7dac, [0x0a44] = 0x9700, [0x0a45] = 0x56da, + [0x0a46] = 0x53ce, [0x0a47] = 0x5468, [0x0a48] = 0x5b97, [0x0a49] = 0x5c31, + [0x0a4a] = 0x5dde, [0x0a4b] = 0x4fee, [0x0a4c] = 0x6101, [0x0a4d] = 0x62fe, + [0x0a4e] = 0x6d32, [0x0a4f] = 0x79c0, [0x0a50] = 0x79cb, [0x0a51] = 0x7d42, + [0x0a52] = 0x7e4d, [0x0a53] = 0x7fd2, [0x0a54] = 0x81ed, [0x0a55] = 0x821f, + [0x0a56] = 0x8490, [0x0a57] = 0x8846, [0x0a58] = 0x8972, [0x0a59] = 0x8b90, + [0x0a5a] = 0x8e74, [0x0a5b] = 0x8f2f, [0x0a5c] = 0x9031, [0x0a5d] = 0x914b, + [0x0a5e] = 0x916c, [0x0a5f] = 0x96c6, [0x0a60] = 0x919c, [0x0a61] = 0x4ec0, + [0x0a62] = 0x4f4f, [0x0a63] = 0x5145, [0x0a64] = 0x5341, [0x0a65] = 0x5f93, + [0x0a66] = 0x620e, [0x0a67] = 0x67d4, [0x0a68] = 0x6c41, [0x0a69] = 0x6e0b, + [0x0a6a] = 0x7363, [0x0a6b] = 0x7e26, [0x0a6c] = 0x91cd, [0x0a6d] = 0x9283, + [0x0a6e] = 0x53d4, [0x0a6f] = 0x5919, [0x0a70] = 0x5bbf, [0x0a71] = 0x6dd1, + [0x0a72] = 0x795d, [0x0a73] = 0x7e2e, [0x0a74] = 0x7c9b, [0x0a75] = 0x587e, + [0x0a76] = 0x719f, [0x0a77] = 0x51fa, [0x0a78] = 0x8853, [0x0a79] = 0x8ff0, + [0x0a7a] = 0x4fca, [0x0a7b] = 0x5cfb, [0x0a7c] = 0x6625, [0x0a7d] = 0x77ac, + [0x0a7e] = 0x7ae3, [0x0a7f] = 0x821c, [0x0a80] = 0x99ff, [0x0a81] = 0x51c6, + [0x0a82] = 0x5faa, [0x0a83] = 0x65ec, [0x0a84] = 0x696f, [0x0a85] = 0x6b89, + [0x0a86] = 0x6df3, [0x0a87] = 0x6e96, [0x0a88] = 0x6f64, [0x0a89] = 0x76fe, + [0x0a8a] = 0x7d14, [0x0a8b] = 0x5de1, [0x0a8c] = 0x9075, [0x0a8d] = 0x9187, + [0x0a8e] = 0x9806, [0x0a8f] = 0x51e6, [0x0a90] = 0x521d, [0x0a91] = 0x6240, + [0x0a92] = 0x6691, [0x0a93] = 0x66d9, [0x0a94] = 0x6e1a, [0x0a95] = 0x5eb6, + [0x0a96] = 0x7dd2, [0x0a97] = 0x7f72, [0x0a98] = 0x66f8, [0x0a99] = 0x85af, + [0x0a9a] = 0x85f7, [0x0a9b] = 0x8af8, [0x0a9c] = 0x52a9, [0x0a9d] = 0x53d9, + [0x0a9e] = 0x5973, [0x0a9f] = 0x5e8f, [0x0aa0] = 0x5f90, [0x0aa1] = 0x6055, + [0x0aa2] = 0x92e4, [0x0aa3] = 0x9664, [0x0aa4] = 0x50b7, [0x0aa5] = 0x511f, + [0x0aa6] = 0x52dd, [0x0aa7] = 0x5320, [0x0aa8] = 0x5347, [0x0aa9] = 0x53ec, + [0x0aaa] = 0x54e8, [0x0aab] = 0x5546, [0x0aac] = 0x5531, [0x0aad] = 0x5617, + [0x0aae] = 0x5968, [0x0aaf] = 0x59be, [0x0ab0] = 0x5a3c, [0x0ab1] = 0x5bb5, + [0x0ab2] = 0x5c06, [0x0ab3] = 0x5c0f, [0x0ab4] = 0x5c11, [0x0ab5] = 0x5c1a, + [0x0ab6] = 0x5e84, [0x0ab7] = 0x5e8a, [0x0ab8] = 0x5ee0, [0x0ab9] = 0x5f70, + [0x0aba] = 0x627f, [0x0abb] = 0x6284, [0x0abc] = 0x62db, [0x0abd] = 0x638c, + [0x0abe] = 0x6377, [0x0abf] = 0x6607, [0x0ac0] = 0x660c, [0x0ac1] = 0x662d, + [0x0ac2] = 0x6676, [0x0ac3] = 0x677e, [0x0ac4] = 0x68a2, [0x0ac5] = 0x6a1f, + [0x0ac6] = 0x6a35, [0x0ac7] = 0x6cbc, [0x0ac8] = 0x6d88, [0x0ac9] = 0x6e09, + [0x0aca] = 0x6e58, [0x0acb] = 0x713c, [0x0acc] = 0x7126, [0x0acd] = 0x7167, + [0x0ace] = 0x75c7, [0x0acf] = 0x7701, [0x0ad0] = 0x785d, [0x0ad1] = 0x7901, + [0x0ad2] = 0x7965, [0x0ad3] = 0x79f0, [0x0ad4] = 0x7ae0, [0x0ad5] = 0x7b11, + [0x0ad6] = 0x7ca7, [0x0ad7] = 0x7d39, [0x0ad8] = 0x8096, [0x0ad9] = 0x83d6, + [0x0ada] = 0x848b, [0x0adb] = 0x8549, [0x0adc] = 0x885d, [0x0add] = 0x88f3, + [0x0ade] = 0x8a1f, [0x0adf] = 0x8a3c, [0x0ae0] = 0x8a54, [0x0ae1] = 0x8a73, + [0x0ae2] = 0x8c61, [0x0ae3] = 0x8cde, [0x0ae4] = 0x91a4, [0x0ae5] = 0x9266, + [0x0ae6] = 0x937e, [0x0ae7] = 0x9418, [0x0ae8] = 0x969c, [0x0ae9] = 0x9798, + [0x0aea] = 0x4e0a, [0x0aeb] = 0x4e08, [0x0aec] = 0x4e1e, [0x0aed] = 0x4e57, + [0x0aee] = 0x5197, [0x0aef] = 0x5270, [0x0af0] = 0x57ce, [0x0af1] = 0x5834, + [0x0af2] = 0x58cc, [0x0af3] = 0x5b22, [0x0af4] = 0x5e38, [0x0af5] = 0x60c5, + [0x0af6] = 0x64fe, [0x0af7] = 0x6761, [0x0af8] = 0x6756, [0x0af9] = 0x6d44, + [0x0afa] = 0x72b6, [0x0afb] = 0x7573, [0x0afc] = 0x7a63, [0x0afd] = 0x84b8, + [0x0afe] = 0x8b72, [0x0aff] = 0x91b8, [0x0b00] = 0x9320, [0x0b01] = 0x5631, + [0x0b02] = 0x57f4, [0x0b03] = 0x98fe, [0x0b04] = 0x62ed, [0x0b05] = 0x690d, + [0x0b06] = 0x6b96, [0x0b07] = 0x71ed, [0x0b08] = 0x7e54, [0x0b09] = 0x8077, + [0x0b0a] = 0x8272, [0x0b0b] = 0x89e6, [0x0b0c] = 0x98df, [0x0b0d] = 0x8755, + [0x0b0e] = 0x8fb1, [0x0b0f] = 0x5c3b, [0x0b10] = 0x4f38, [0x0b11] = 0x4fe1, + [0x0b12] = 0x4fb5, [0x0b13] = 0x5507, [0x0b14] = 0x5a20, [0x0b15] = 0x5bdd, + [0x0b16] = 0x5be9, [0x0b17] = 0x5fc3, [0x0b18] = 0x614e, [0x0b19] = 0x632f, + [0x0b1a] = 0x65b0, [0x0b1b] = 0x664b, [0x0b1c] = 0x68ee, [0x0b1d] = 0x699b, + [0x0b1e] = 0x6d78, [0x0b1f] = 0x6df1, [0x0b20] = 0x7533, [0x0b21] = 0x75b9, + [0x0b22] = 0x771f, [0x0b23] = 0x795e, [0x0b24] = 0x79e6, [0x0b25] = 0x7d33, + [0x0b26] = 0x81e3, [0x0b27] = 0x82af, [0x0b28] = 0x85aa, [0x0b29] = 0x89aa, + [0x0b2a] = 0x8a3a, [0x0b2b] = 0x8eab, [0x0b2c] = 0x8f9b, [0x0b2d] = 0x9032, + [0x0b2e] = 0x91dd, [0x0b2f] = 0x9707, [0x0b30] = 0x4eba, [0x0b31] = 0x4ec1, + [0x0b32] = 0x5203, [0x0b33] = 0x5875, [0x0b34] = 0x58ec, [0x0b35] = 0x5c0b, + [0x0b36] = 0x751a, [0x0b37] = 0x5c3d, [0x0b38] = 0x814e, [0x0b39] = 0x8a0a, + [0x0b3a] = 0x8fc5, [0x0b3b] = 0x9663, [0x0b3c] = 0x976d, [0x0b3d] = 0x7b25, + [0x0b3e] = 0x8acf, [0x0b3f] = 0x9808, [0x0b40] = 0x9162, [0x0b41] = 0x56f3, + [0x0b42] = 0x53a8, [0x0b43] = 0x9017, [0x0b44] = 0x5439, [0x0b45] = 0x5782, + [0x0b46] = 0x5e25, [0x0b47] = 0x63a8, [0x0b48] = 0x6c34, [0x0b49] = 0x708a, + [0x0b4a] = 0x7761, [0x0b4b] = 0x7c8b, [0x0b4c] = 0x7fe0, [0x0b4d] = 0x8870, + [0x0b4e] = 0x9042, [0x0b4f] = 0x9154, [0x0b50] = 0x9310, [0x0b51] = 0x9318, + [0x0b52] = 0x968f, [0x0b53] = 0x745e, [0x0b54] = 0x9ac4, [0x0b55] = 0x5d07, + [0x0b56] = 0x5d69, [0x0b57] = 0x6570, [0x0b58] = 0x67a2, [0x0b59] = 0x8da8, + [0x0b5a] = 0x96db, [0x0b5b] = 0x636e, [0x0b5c] = 0x6749, [0x0b5d] = 0x6919, + [0x0b5e] = 0x83c5, [0x0b5f] = 0x9817, [0x0b60] = 0x96c0, [0x0b61] = 0x88fe, + [0x0b62] = 0x6f84, [0x0b63] = 0x647a, [0x0b64] = 0x5bf8, [0x0b65] = 0x4e16, + [0x0b66] = 0x702c, [0x0b67] = 0x755d, [0x0b68] = 0x662f, [0x0b69] = 0x51c4, + [0x0b6a] = 0x5236, [0x0b6b] = 0x52e2, [0x0b6c] = 0x59d3, [0x0b6d] = 0x5f81, + [0x0b6e] = 0x6027, [0x0b6f] = 0x6210, [0x0b70] = 0x653f, [0x0b71] = 0x6574, + [0x0b72] = 0x661f, [0x0b73] = 0x6674, [0x0b74] = 0x68f2, [0x0b75] = 0x6816, + [0x0b76] = 0x6b63, [0x0b77] = 0x6e05, [0x0b78] = 0x7272, [0x0b79] = 0x751f, + [0x0b7a] = 0x76db, [0x0b7b] = 0x7cbe, [0x0b7c] = 0x8056, [0x0b7d] = 0x58f0, + [0x0b7e] = 0x88fd, [0x0b7f] = 0x897f, [0x0b80] = 0x8aa0, [0x0b81] = 0x8a93, + [0x0b82] = 0x8acb, [0x0b83] = 0x901d, [0x0b84] = 0x9192, [0x0b85] = 0x9752, + [0x0b86] = 0x9759, [0x0b87] = 0x6589, [0x0b88] = 0x7a0e, [0x0b89] = 0x8106, + [0x0b8a] = 0x96bb, [0x0b8b] = 0x5e2d, [0x0b8c] = 0x60dc, [0x0b8d] = 0x621a, + [0x0b8e] = 0x65a5, [0x0b8f] = 0x6614, [0x0b90] = 0x6790, [0x0b91] = 0x77f3, + [0x0b92] = 0x7a4d, [0x0b93] = 0x7c4d, [0x0b94] = 0x7e3e, [0x0b95] = 0x810a, + [0x0b96] = 0x8cac, [0x0b97] = 0x8d64, [0x0b98] = 0x8de1, [0x0b99] = 0x8e5f, + [0x0b9a] = 0x78a9, [0x0b9b] = 0x5207, [0x0b9c] = 0x62d9, [0x0b9d] = 0x63a5, + [0x0b9e] = 0x6442, [0x0b9f] = 0x6298, [0x0ba0] = 0x8a2d, [0x0ba1] = 0x7a83, + [0x0ba2] = 0x7bc0, [0x0ba3] = 0x8aac, [0x0ba4] = 0x96ea, [0x0ba5] = 0x7d76, + [0x0ba6] = 0x820c, [0x0ba7] = 0x8749, [0x0ba8] = 0x4ed9, [0x0ba9] = 0x5148, + [0x0baa] = 0x5343, [0x0bab] = 0x5360, [0x0bac] = 0x5ba3, [0x0bad] = 0x5c02, + [0x0bae] = 0x5c16, [0x0baf] = 0x5ddd, [0x0bb0] = 0x6226, [0x0bb1] = 0x6247, + [0x0bb2] = 0x64b0, [0x0bb3] = 0x6813, [0x0bb4] = 0x6834, [0x0bb5] = 0x6cc9, + [0x0bb6] = 0x6d45, [0x0bb7] = 0x6d17, [0x0bb8] = 0x67d3, [0x0bb9] = 0x6f5c, + [0x0bba] = 0x714e, [0x0bbb] = 0x717d, [0x0bbc] = 0x65cb, [0x0bbd] = 0x7a7f, + [0x0bbe] = 0x7bad, [0x0bbf] = 0x7dda, [0x0bc0] = 0x7e4a, [0x0bc1] = 0x7fa8, + [0x0bc2] = 0x817a, [0x0bc3] = 0x821b, [0x0bc4] = 0x8239, [0x0bc5] = 0x85a6, + [0x0bc6] = 0x8a6e, [0x0bc7] = 0x8cce, [0x0bc8] = 0x8df5, [0x0bc9] = 0x9078, + [0x0bca] = 0x9077, [0x0bcb] = 0x92ad, [0x0bcc] = 0x9291, [0x0bcd] = 0x9583, + [0x0bce] = 0x9bae, [0x0bcf] = 0x524d, [0x0bd0] = 0x5584, [0x0bd1] = 0x6f38, + [0x0bd2] = 0x7136, [0x0bd3] = 0x5168, [0x0bd4] = 0x7985, [0x0bd5] = 0x7e55, + [0x0bd6] = 0x81b3, [0x0bd7] = 0x7cce, [0x0bd8] = 0x564c, [0x0bd9] = 0x5851, + [0x0bda] = 0x5ca8, [0x0bdb] = 0x63aa, [0x0bdc] = 0x66fe, [0x0bdd] = 0x66fd, + [0x0bde] = 0x695a, [0x0bdf] = 0x72d9, [0x0be0] = 0x758f, [0x0be1] = 0x758e, + [0x0be2] = 0x790e, [0x0be3] = 0x7956, [0x0be4] = 0x79df, [0x0be5] = 0x7c97, + [0x0be6] = 0x7d20, [0x0be7] = 0x7d44, [0x0be8] = 0x8607, [0x0be9] = 0x8a34, + [0x0bea] = 0x963b, [0x0beb] = 0x9061, [0x0bec] = 0x9f20, [0x0bed] = 0x50e7, + [0x0bee] = 0x5275, [0x0bef] = 0x53cc, [0x0bf0] = 0x53e2, [0x0bf1] = 0x5009, + [0x0bf2] = 0x55aa, [0x0bf3] = 0x58ee, [0x0bf4] = 0x594f, [0x0bf5] = 0x723d, + [0x0bf6] = 0x5b8b, [0x0bf7] = 0x5c64, [0x0bf8] = 0x531d, [0x0bf9] = 0x60e3, + [0x0bfa] = 0x60f3, [0x0bfb] = 0x635c, [0x0bfc] = 0x6383, [0x0bfd] = 0x633f, + [0x0bfe] = 0x63bb, [0x0bff] = 0x64cd, [0x0c00] = 0x65e9, [0x0c01] = 0x66f9, + [0x0c02] = 0x5de3, [0x0c03] = 0x69cd, [0x0c04] = 0x69fd, [0x0c05] = 0x6f15, + [0x0c06] = 0x71e5, [0x0c07] = 0x4e89, [0x0c08] = 0x75e9, [0x0c09] = 0x76f8, + [0x0c0a] = 0x7a93, [0x0c0b] = 0x7cdf, [0x0c0c] = 0x7dcf, [0x0c0d] = 0x7d9c, + [0x0c0e] = 0x8061, [0x0c0f] = 0x8349, [0x0c10] = 0x8358, [0x0c11] = 0x846c, + [0x0c12] = 0x84bc, [0x0c13] = 0x85fb, [0x0c14] = 0x88c5, [0x0c15] = 0x8d70, + [0x0c16] = 0x9001, [0x0c17] = 0x906d, [0x0c18] = 0x9397, [0x0c19] = 0x971c, + [0x0c1a] = 0x9a12, [0x0c1b] = 0x50cf, [0x0c1c] = 0x5897, [0x0c1d] = 0x618e, + [0x0c1e] = 0x81d3, [0x0c1f] = 0x8535, [0x0c20] = 0x8d08, [0x0c21] = 0x9020, + [0x0c22] = 0x4fc3, [0x0c23] = 0x5074, [0x0c24] = 0x5247, [0x0c25] = 0x5373, + [0x0c26] = 0x606f, [0x0c27] = 0x6349, [0x0c28] = 0x675f, [0x0c29] = 0x6e2c, + [0x0c2a] = 0x8db3, [0x0c2b] = 0x901f, [0x0c2c] = 0x4fd7, [0x0c2d] = 0x5c5e, + [0x0c2e] = 0x8cca, [0x0c2f] = 0x65cf, [0x0c30] = 0x7d9a, [0x0c31] = 0x5352, + [0x0c32] = 0x8896, [0x0c33] = 0x5176, [0x0c34] = 0x63c3, [0x0c35] = 0x5b58, + [0x0c36] = 0x5b6b, [0x0c37] = 0x5c0a, [0x0c38] = 0x640d, [0x0c39] = 0x6751, + [0x0c3a] = 0x905c, [0x0c3b] = 0x4ed6, [0x0c3c] = 0x591a, [0x0c3d] = 0x592a, + [0x0c3e] = 0x6c70, [0x0c3f] = 0x8a51, [0x0c40] = 0x553e, [0x0c41] = 0x5815, + [0x0c42] = 0x59a5, [0x0c43] = 0x60f0, [0x0c44] = 0x6253, [0x0c45] = 0x67c1, + [0x0c46] = 0x8235, [0x0c47] = 0x6955, [0x0c48] = 0x9640, [0x0c49] = 0x99c4, + [0x0c4a] = 0x9a28, [0x0c4b] = 0x4f53, [0x0c4c] = 0x5806, [0x0c4d] = 0x5bfe, + [0x0c4e] = 0x8010, [0x0c4f] = 0x5cb1, [0x0c50] = 0x5e2f, [0x0c51] = 0x5f85, + [0x0c52] = 0x6020, [0x0c53] = 0x614b, [0x0c54] = 0x6234, [0x0c55] = 0x66ff, + [0x0c56] = 0x6cf0, [0x0c57] = 0x6ede, [0x0c58] = 0x80ce, [0x0c59] = 0x817f, + [0x0c5a] = 0x82d4, [0x0c5b] = 0x888b, [0x0c5c] = 0x8cb8, [0x0c5d] = 0x9000, + [0x0c5e] = 0x902e, [0x0c5f] = 0x968a, [0x0c60] = 0x9edb, [0x0c61] = 0x9bdb, + [0x0c62] = 0x4ee3, [0x0c63] = 0x53f0, [0x0c64] = 0x5927, [0x0c65] = 0x7b2c, + [0x0c66] = 0x918d, [0x0c67] = 0x984c, [0x0c68] = 0x9df9, [0x0c69] = 0x6edd, + [0x0c6a] = 0x7027, [0x0c6b] = 0x5353, [0x0c6c] = 0x5544, [0x0c6d] = 0x5b85, + [0x0c6e] = 0x6258, [0x0c6f] = 0x629e, [0x0c70] = 0x62d3, [0x0c71] = 0x6ca2, + [0x0c72] = 0x6fef, [0x0c73] = 0x7422, [0x0c74] = 0x8a17, [0x0c75] = 0x9438, + [0x0c76] = 0x6fc1, [0x0c77] = 0x8afe, [0x0c78] = 0x8338, [0x0c79] = 0x51e7, + [0x0c7a] = 0x86f8, [0x0c7b] = 0x53ea, [0x0c7c] = 0x53e9, [0x0c7d] = 0x4f46, + [0x0c7e] = 0x9054, [0x0c7f] = 0x8fb0, [0x0c80] = 0x596a, [0x0c81] = 0x8131, + [0x0c82] = 0x5dfd, [0x0c83] = 0x7aea, [0x0c84] = 0x8fbf, [0x0c85] = 0x68da, + [0x0c86] = 0x8c37, [0x0c87] = 0x72f8, [0x0c88] = 0x9c48, [0x0c89] = 0x6a3d, + [0x0c8a] = 0x8ab0, [0x0c8b] = 0x4e39, [0x0c8c] = 0x5358, [0x0c8d] = 0x5606, + [0x0c8e] = 0x5766, [0x0c8f] = 0x62c5, [0x0c90] = 0x63a2, [0x0c91] = 0x65e6, + [0x0c92] = 0x6b4e, [0x0c93] = 0x6de1, [0x0c94] = 0x6e5b, [0x0c95] = 0x70ad, + [0x0c96] = 0x77ed, [0x0c97] = 0x7aef, [0x0c98] = 0x7baa, [0x0c99] = 0x7dbb, + [0x0c9a] = 0x803d, [0x0c9b] = 0x80c6, [0x0c9c] = 0x86cb, [0x0c9d] = 0x8a95, + [0x0c9e] = 0x935b, [0x0c9f] = 0x56e3, [0x0ca0] = 0x58c7, [0x0ca1] = 0x5f3e, + [0x0ca2] = 0x65ad, [0x0ca3] = 0x6696, [0x0ca4] = 0x6a80, [0x0ca5] = 0x6bb5, + [0x0ca6] = 0x7537, [0x0ca7] = 0x8ac7, [0x0ca8] = 0x5024, [0x0ca9] = 0x77e5, + [0x0caa] = 0x5730, [0x0cab] = 0x5f1b, [0x0cac] = 0x6065, [0x0cad] = 0x667a, + [0x0cae] = 0x6c60, [0x0caf] = 0x75f4, [0x0cb0] = 0x7a1a, [0x0cb1] = 0x7f6e, + [0x0cb2] = 0x81f4, [0x0cb3] = 0x8718, [0x0cb4] = 0x9045, [0x0cb5] = 0x99b3, + [0x0cb6] = 0x7bc9, [0x0cb7] = 0x755c, [0x0cb8] = 0x7af9, [0x0cb9] = 0x7b51, + [0x0cba] = 0x84c4, [0x0cbb] = 0x9010, [0x0cbc] = 0x79e9, [0x0cbd] = 0x7a92, + [0x0cbe] = 0x8336, [0x0cbf] = 0x5ae1, [0x0cc0] = 0x7740, [0x0cc1] = 0x4e2d, + [0x0cc2] = 0x4ef2, [0x0cc3] = 0x5b99, [0x0cc4] = 0x5fe0, [0x0cc5] = 0x62bd, + [0x0cc6] = 0x663c, [0x0cc7] = 0x67f1, [0x0cc8] = 0x6ce8, [0x0cc9] = 0x866b, + [0x0cca] = 0x8877, [0x0ccb] = 0x8a3b, [0x0ccc] = 0x914e, [0x0ccd] = 0x92f3, + [0x0cce] = 0x99d0, [0x0ccf] = 0x6a17, [0x0cd0] = 0x7026, [0x0cd1] = 0x732a, + [0x0cd2] = 0x82e7, [0x0cd3] = 0x8457, [0x0cd4] = 0x8caf, [0x0cd5] = 0x4e01, + [0x0cd6] = 0x5146, [0x0cd7] = 0x51cb, [0x0cd8] = 0x558b, [0x0cd9] = 0x5bf5, + [0x0cda] = 0x5e16, [0x0cdb] = 0x5e33, [0x0cdc] = 0x5e81, [0x0cdd] = 0x5f14, + [0x0cde] = 0x5f35, [0x0cdf] = 0x5f6b, [0x0ce0] = 0x5fb4, [0x0ce1] = 0x61f2, + [0x0ce2] = 0x6311, [0x0ce3] = 0x66a2, [0x0ce4] = 0x671d, [0x0ce5] = 0x6f6e, + [0x0ce6] = 0x7252, [0x0ce7] = 0x753a, [0x0ce8] = 0x773a, [0x0ce9] = 0x8074, + [0x0cea] = 0x8139, [0x0ceb] = 0x8178, [0x0cec] = 0x8776, [0x0ced] = 0x8abf, + [0x0cee] = 0x8adc, [0x0cef] = 0x8d85, [0x0cf0] = 0x8df3, [0x0cf1] = 0x929a, + [0x0cf2] = 0x9577, [0x0cf3] = 0x9802, [0x0cf4] = 0x9ce5, [0x0cf5] = 0x52c5, + [0x0cf6] = 0x6357, [0x0cf7] = 0x76f4, [0x0cf8] = 0x6715, [0x0cf9] = 0x6c88, + [0x0cfa] = 0x73cd, [0x0cfb] = 0x8cc3, [0x0cfc] = 0x93ae, [0x0cfd] = 0x9673, + [0x0cfe] = 0x6d25, [0x0cff] = 0x589c, [0x0d00] = 0x690e, [0x0d01] = 0x69cc, + [0x0d02] = 0x8ffd, [0x0d03] = 0x939a, [0x0d04] = 0x75db, [0x0d05] = 0x901a, + [0x0d06] = 0x585a, [0x0d07] = 0x6802, [0x0d08] = 0x63b4, [0x0d09] = 0x69fb, + [0x0d0a] = 0x4f43, [0x0d0b] = 0x6f2c, [0x0d0c] = 0x67d8, [0x0d0d] = 0x8fbb, + [0x0d0e] = 0x8526, [0x0d0f] = 0x7db4, [0x0d10] = 0x9354, [0x0d11] = 0x693f, + [0x0d12] = 0x6f70, [0x0d13] = 0x576a, [0x0d14] = 0x58f7, [0x0d15] = 0x5b2c, + [0x0d16] = 0x7d2c, [0x0d17] = 0x722a, [0x0d18] = 0x540a, [0x0d19] = 0x91e3, + [0x0d1a] = 0x9db4, [0x0d1b] = 0x4ead, [0x0d1c] = 0x4f4e, [0x0d1d] = 0x505c, + [0x0d1e] = 0x5075, [0x0d1f] = 0x5243, [0x0d20] = 0x8c9e, [0x0d21] = 0x5448, + [0x0d22] = 0x5824, [0x0d23] = 0x5b9a, [0x0d24] = 0x5e1d, [0x0d25] = 0x5e95, + [0x0d26] = 0x5ead, [0x0d27] = 0x5ef7, [0x0d28] = 0x5f1f, [0x0d29] = 0x608c, + [0x0d2a] = 0x62b5, [0x0d2b] = 0x633a, [0x0d2c] = 0x63d0, [0x0d2d] = 0x68af, + [0x0d2e] = 0x6c40, [0x0d2f] = 0x7887, [0x0d30] = 0x798e, [0x0d31] = 0x7a0b, + [0x0d32] = 0x7de0, [0x0d33] = 0x8247, [0x0d34] = 0x8a02, [0x0d35] = 0x8ae6, + [0x0d36] = 0x8e44, [0x0d37] = 0x9013, [0x0d38] = 0x90b8, [0x0d39] = 0x912d, + [0x0d3a] = 0x91d8, [0x0d3b] = 0x9f0e, [0x0d3c] = 0x6ce5, [0x0d3d] = 0x6458, + [0x0d3e] = 0x64e2, [0x0d3f] = 0x6575, [0x0d40] = 0x6ef4, [0x0d41] = 0x7684, + [0x0d42] = 0x7b1b, [0x0d43] = 0x9069, [0x0d44] = 0x93d1, [0x0d45] = 0x6eba, + [0x0d46] = 0x54f2, [0x0d47] = 0x5fb9, [0x0d48] = 0x64a4, [0x0d49] = 0x8f4d, + [0x0d4a] = 0x8fed, [0x0d4b] = 0x9244, [0x0d4c] = 0x5178, [0x0d4d] = 0x586b, + [0x0d4e] = 0x5929, [0x0d4f] = 0x5c55, [0x0d50] = 0x5e97, [0x0d51] = 0x6dfb, + [0x0d52] = 0x7e8f, [0x0d53] = 0x751c, [0x0d54] = 0x8cbc, [0x0d55] = 0x8ee2, + [0x0d56] = 0x985b, [0x0d57] = 0x70b9, [0x0d58] = 0x4f1d, [0x0d59] = 0x6bbf, + [0x0d5a] = 0x6fb1, [0x0d5b] = 0x7530, [0x0d5c] = 0x96fb, [0x0d5d] = 0x514e, + [0x0d5e] = 0x5410, [0x0d5f] = 0x5835, [0x0d60] = 0x5857, [0x0d61] = 0x59ac, + [0x0d62] = 0x5c60, [0x0d63] = 0x5f92, [0x0d64] = 0x6597, [0x0d65] = 0x675c, + [0x0d66] = 0x6e21, [0x0d67] = 0x767b, [0x0d68] = 0x83df, [0x0d69] = 0x8ced, + [0x0d6a] = 0x9014, [0x0d6b] = 0x90fd, [0x0d6c] = 0x934d, [0x0d6d] = 0x7825, + [0x0d6e] = 0x783a, [0x0d6f] = 0x52aa, [0x0d70] = 0x5ea6, [0x0d71] = 0x571f, + [0x0d72] = 0x5974, [0x0d73] = 0x6012, [0x0d74] = 0x5012, [0x0d75] = 0x515a, + [0x0d76] = 0x51ac, [0x0d77] = 0x51cd, [0x0d78] = 0x5200, [0x0d79] = 0x5510, + [0x0d7a] = 0x5854, [0x0d7b] = 0x5858, [0x0d7c] = 0x5957, [0x0d7d] = 0x5b95, + [0x0d7e] = 0x5cf6, [0x0d7f] = 0x5d8b, [0x0d80] = 0x60bc, [0x0d81] = 0x6295, + [0x0d82] = 0x642d, [0x0d83] = 0x6771, [0x0d84] = 0x6843, [0x0d85] = 0x68bc, + [0x0d86] = 0x68df, [0x0d87] = 0x76d7, [0x0d88] = 0x6dd8, [0x0d89] = 0x6e6f, + [0x0d8a] = 0x6d9b, [0x0d8b] = 0x706f, [0x0d8c] = 0x71c8, [0x0d8d] = 0x5f53, + [0x0d8e] = 0x75d8, [0x0d8f] = 0x7977, [0x0d90] = 0x7b49, [0x0d91] = 0x7b54, + [0x0d92] = 0x7b52, [0x0d93] = 0x7cd6, [0x0d94] = 0x7d71, [0x0d95] = 0x5230, + [0x0d96] = 0x8463, [0x0d97] = 0x8569, [0x0d98] = 0x85e4, [0x0d99] = 0x8a0e, + [0x0d9a] = 0x8b04, [0x0d9b] = 0x8c46, [0x0d9c] = 0x8e0f, [0x0d9d] = 0x9003, + [0x0d9e] = 0x900f, [0x0d9f] = 0x9419, [0x0da0] = 0x9676, [0x0da1] = 0x982d, + [0x0da2] = 0x9a30, [0x0da3] = 0x95d8, [0x0da4] = 0x50cd, [0x0da5] = 0x52d5, + [0x0da6] = 0x540c, [0x0da7] = 0x5802, [0x0da8] = 0x5c0e, [0x0da9] = 0x61a7, + [0x0daa] = 0x649e, [0x0dab] = 0x6d1e, [0x0dac] = 0x77b3, [0x0dad] = 0x7ae5, + [0x0dae] = 0x80f4, [0x0daf] = 0x8404, [0x0db0] = 0x9053, [0x0db1] = 0x9285, + [0x0db2] = 0x5ce0, [0x0db3] = 0x9d07, [0x0db4] = 0x533f, [0x0db5] = 0x5f97, + [0x0db6] = 0x5fb3, [0x0db7] = 0x6d9c, [0x0db8] = 0x7279, [0x0db9] = 0x7763, + [0x0dba] = 0x79bf, [0x0dbb] = 0x7be4, [0x0dbc] = 0x6bd2, [0x0dbd] = 0x72ec, + [0x0dbe] = 0x8aad, [0x0dbf] = 0x6803, [0x0dc0] = 0x6a61, [0x0dc1] = 0x51f8, + [0x0dc2] = 0x7a81, [0x0dc3] = 0x6934, [0x0dc4] = 0x5c4a, [0x0dc5] = 0x9cf6, + [0x0dc6] = 0x82eb, [0x0dc7] = 0x5bc5, [0x0dc8] = 0x9149, [0x0dc9] = 0x701e, + [0x0dca] = 0x5678, [0x0dcb] = 0x5c6f, [0x0dcc] = 0x60c7, [0x0dcd] = 0x6566, + [0x0dce] = 0x6c8c, [0x0dcf] = 0x8c5a, [0x0dd0] = 0x9041, [0x0dd1] = 0x9813, + [0x0dd2] = 0x5451, [0x0dd3] = 0x66c7, [0x0dd4] = 0x920d, [0x0dd5] = 0x5948, + [0x0dd6] = 0x90a3, [0x0dd7] = 0x5185, [0x0dd8] = 0x4e4d, [0x0dd9] = 0x51ea, + [0x0dda] = 0x8599, [0x0ddb] = 0x8b0e, [0x0ddc] = 0x7058, [0x0ddd] = 0x637a, + [0x0dde] = 0x934b, [0x0ddf] = 0x6962, [0x0de0] = 0x99b4, [0x0de1] = 0x7e04, + [0x0de2] = 0x7577, [0x0de3] = 0x5357, [0x0de4] = 0x6960, [0x0de5] = 0x8edf, + [0x0de6] = 0x96e3, [0x0de7] = 0x6c5d, [0x0de8] = 0x4e8c, [0x0de9] = 0x5c3c, + [0x0dea] = 0x5f10, [0x0deb] = 0x8fe9, [0x0dec] = 0x5302, [0x0ded] = 0x8cd1, + [0x0dee] = 0x8089, [0x0def] = 0x8679, [0x0df0] = 0x5eff, [0x0df1] = 0x65e5, + [0x0df2] = 0x4e73, [0x0df3] = 0x5165, [0x0df4] = 0x5982, [0x0df5] = 0x5c3f, + [0x0df6] = 0x97ee, [0x0df7] = 0x4efb, [0x0df8] = 0x598a, [0x0df9] = 0x5fcd, + [0x0dfa] = 0x8a8d, [0x0dfb] = 0x6fe1, [0x0dfc] = 0x79b0, [0x0dfd] = 0x7962, + [0x0dfe] = 0x5be7, [0x0dff] = 0x8471, [0x0e00] = 0x732b, [0x0e01] = 0x71b1, + [0x0e02] = 0x5e74, [0x0e03] = 0x5ff5, [0x0e04] = 0x637b, [0x0e05] = 0x649a, + [0x0e06] = 0x71c3, [0x0e07] = 0x7c98, [0x0e08] = 0x4e43, [0x0e09] = 0x5efc, + [0x0e0a] = 0x4e4b, [0x0e0b] = 0x57dc, [0x0e0c] = 0x56a2, [0x0e0d] = 0x60a9, + [0x0e0e] = 0x6fc3, [0x0e0f] = 0x7d0d, [0x0e10] = 0x80fd, [0x0e11] = 0x8133, + [0x0e12] = 0x81bf, [0x0e13] = 0x8fb2, [0x0e14] = 0x8997, [0x0e15] = 0x86a4, + [0x0e16] = 0x5df4, [0x0e17] = 0x628a, [0x0e18] = 0x64ad, [0x0e19] = 0x8987, + [0x0e1a] = 0x6777, [0x0e1b] = 0x6ce2, [0x0e1c] = 0x6d3e, [0x0e1d] = 0x7436, + [0x0e1e] = 0x7834, [0x0e1f] = 0x5a46, [0x0e20] = 0x7f75, [0x0e21] = 0x82ad, + [0x0e22] = 0x99ac, [0x0e23] = 0x4ff3, [0x0e24] = 0x5ec3, [0x0e25] = 0x62dd, + [0x0e26] = 0x6392, [0x0e27] = 0x6557, [0x0e28] = 0x676f, [0x0e29] = 0x76c3, + [0x0e2a] = 0x724c, [0x0e2b] = 0x80cc, [0x0e2c] = 0x80ba, [0x0e2d] = 0x8f29, + [0x0e2e] = 0x914d, [0x0e2f] = 0x500d, [0x0e30] = 0x57f9, [0x0e31] = 0x5a92, + [0x0e32] = 0x6885, [0x0e33] = 0x6973, [0x0e34] = 0x7164, [0x0e35] = 0x72fd, + [0x0e36] = 0x8cb7, [0x0e37] = 0x58f2, [0x0e38] = 0x8ce0, [0x0e39] = 0x966a, + [0x0e3a] = 0x9019, [0x0e3b] = 0x877f, [0x0e3c] = 0x79e4, [0x0e3d] = 0x77e7, + [0x0e3e] = 0x8429, [0x0e3f] = 0x4f2f, [0x0e40] = 0x5265, [0x0e41] = 0x535a, + [0x0e42] = 0x62cd, [0x0e43] = 0x67cf, [0x0e44] = 0x6cca, [0x0e45] = 0x767d, + [0x0e46] = 0x7b94, [0x0e47] = 0x7c95, [0x0e48] = 0x8236, [0x0e49] = 0x8584, + [0x0e4a] = 0x8feb, [0x0e4b] = 0x66dd, [0x0e4c] = 0x6f20, [0x0e4d] = 0x7206, + [0x0e4e] = 0x7e1b, [0x0e4f] = 0x83ab, [0x0e50] = 0x99c1, [0x0e51] = 0x9ea6, + [0x0e52] = 0x51fd, [0x0e53] = 0x7bb1, [0x0e54] = 0x7872, [0x0e55] = 0x7bb8, + [0x0e56] = 0x8087, [0x0e57] = 0x7b48, [0x0e58] = 0x6ae8, [0x0e59] = 0x5e61, + [0x0e5a] = 0x808c, [0x0e5b] = 0x7551, [0x0e5c] = 0x7560, [0x0e5d] = 0x516b, + [0x0e5e] = 0x9262, [0x0e5f] = 0x6e8c, [0x0e60] = 0x767a, [0x0e61] = 0x9197, + [0x0e62] = 0x9aea, [0x0e63] = 0x4f10, [0x0e64] = 0x7f70, [0x0e65] = 0x629c, + [0x0e66] = 0x7b4f, [0x0e67] = 0x95a5, [0x0e68] = 0x9ce9, [0x0e69] = 0x567a, + [0x0e6a] = 0x5859, [0x0e6b] = 0x86e4, [0x0e6c] = 0x96bc, [0x0e6d] = 0x4f34, + [0x0e6e] = 0x5224, [0x0e6f] = 0x534a, [0x0e70] = 0x53cd, [0x0e71] = 0x53db, + [0x0e72] = 0x5e06, [0x0e73] = 0x642c, [0x0e74] = 0x6591, [0x0e75] = 0x677f, + [0x0e76] = 0x6c3e, [0x0e77] = 0x6c4e, [0x0e78] = 0x7248, [0x0e79] = 0x72af, + [0x0e7a] = 0x73ed, [0x0e7b] = 0x7554, [0x0e7c] = 0x7e41, [0x0e7d] = 0x822c, + [0x0e7e] = 0x85e9, [0x0e7f] = 0x8ca9, [0x0e80] = 0x7bc4, [0x0e81] = 0x91c6, + [0x0e82] = 0x7169, [0x0e83] = 0x9812, [0x0e84] = 0x98ef, [0x0e85] = 0x633d, + [0x0e86] = 0x6669, [0x0e87] = 0x756a, [0x0e88] = 0x76e4, [0x0e89] = 0x78d0, + [0x0e8a] = 0x8543, [0x0e8b] = 0x86ee, [0x0e8c] = 0x532a, [0x0e8d] = 0x5351, + [0x0e8e] = 0x5426, [0x0e8f] = 0x5983, [0x0e90] = 0x5e87, [0x0e91] = 0x5f7c, + [0x0e92] = 0x60b2, [0x0e93] = 0x6249, [0x0e94] = 0x6279, [0x0e95] = 0x62ab, + [0x0e96] = 0x6590, [0x0e97] = 0x6bd4, [0x0e98] = 0x6ccc, [0x0e99] = 0x75b2, + [0x0e9a] = 0x76ae, [0x0e9b] = 0x7891, [0x0e9c] = 0x79d8, [0x0e9d] = 0x7dcb, + [0x0e9e] = 0x7f77, [0x0e9f] = 0x80a5, [0x0ea0] = 0x88ab, [0x0ea1] = 0x8ab9, + [0x0ea2] = 0x8cbb, [0x0ea3] = 0x907f, [0x0ea4] = 0x975e, [0x0ea5] = 0x98db, + [0x0ea6] = 0x6a0b, [0x0ea7] = 0x7c38, [0x0ea8] = 0x5099, [0x0ea9] = 0x5c3e, + [0x0eaa] = 0x5fae, [0x0eab] = 0x6787, [0x0eac] = 0x6bd8, [0x0ead] = 0x7435, + [0x0eae] = 0x7709, [0x0eaf] = 0x7f8e, [0x0eb0] = 0x9f3b, [0x0eb1] = 0x67ca, + [0x0eb2] = 0x7a17, [0x0eb3] = 0x5339, [0x0eb4] = 0x758b, [0x0eb5] = 0x9aed, + [0x0eb6] = 0x5f66, [0x0eb7] = 0x819d, [0x0eb8] = 0x83f1, [0x0eb9] = 0x8098, + [0x0eba] = 0x5f3c, [0x0ebb] = 0x5fc5, [0x0ebc] = 0x7562, [0x0ebd] = 0x7b46, + [0x0ebe] = 0x903c, [0x0ebf] = 0x6867, [0x0ec0] = 0x59eb, [0x0ec1] = 0x5a9b, + [0x0ec2] = 0x7d10, [0x0ec3] = 0x767e, [0x0ec4] = 0x8b2c, [0x0ec5] = 0x4ff5, + [0x0ec6] = 0x5f6a, [0x0ec7] = 0x6a19, [0x0ec8] = 0x6c37, [0x0ec9] = 0x6f02, + [0x0eca] = 0x74e2, [0x0ecb] = 0x7968, [0x0ecc] = 0x8868, [0x0ecd] = 0x8a55, + [0x0ece] = 0x8c79, [0x0ecf] = 0x5edf, [0x0ed0] = 0x63cf, [0x0ed1] = 0x75c5, + [0x0ed2] = 0x79d2, [0x0ed3] = 0x82d7, [0x0ed4] = 0x9328, [0x0ed5] = 0x92f2, + [0x0ed6] = 0x849c, [0x0ed7] = 0x86ed, [0x0ed8] = 0x9c2d, [0x0ed9] = 0x54c1, + [0x0eda] = 0x5f6c, [0x0edb] = 0x658c, [0x0edc] = 0x6d5c, [0x0edd] = 0x7015, + [0x0ede] = 0x8ca7, [0x0edf] = 0x8cd3, [0x0ee0] = 0x983b, [0x0ee1] = 0x654f, + [0x0ee2] = 0x74f6, [0x0ee3] = 0x4e0d, [0x0ee4] = 0x4ed8, [0x0ee5] = 0x57e0, + [0x0ee6] = 0x592b, [0x0ee7] = 0x5a66, [0x0ee8] = 0x5bcc, [0x0ee9] = 0x51a8, + [0x0eea] = 0x5e03, [0x0eeb] = 0x5e9c, [0x0eec] = 0x6016, [0x0eed] = 0x6276, + [0x0eee] = 0x6577, [0x0eef] = 0x65a7, [0x0ef0] = 0x666e, [0x0ef1] = 0x6d6e, + [0x0ef2] = 0x7236, [0x0ef3] = 0x7b26, [0x0ef4] = 0x8150, [0x0ef5] = 0x819a, + [0x0ef6] = 0x8299, [0x0ef7] = 0x8b5c, [0x0ef8] = 0x8ca0, [0x0ef9] = 0x8ce6, + [0x0efa] = 0x8d74, [0x0efb] = 0x961c, [0x0efc] = 0x9644, [0x0efd] = 0x4fae, + [0x0efe] = 0x64ab, [0x0eff] = 0x6b66, [0x0f00] = 0x821e, [0x0f01] = 0x8461, + [0x0f02] = 0x856a, [0x0f03] = 0x90e8, [0x0f04] = 0x5c01, [0x0f05] = 0x6953, + [0x0f06] = 0x98a8, [0x0f07] = 0x847a, [0x0f08] = 0x8557, [0x0f09] = 0x4f0f, + [0x0f0a] = 0x526f, [0x0f0b] = 0x5fa9, [0x0f0c] = 0x5e45, [0x0f0d] = 0x670d, + [0x0f0e] = 0x798f, [0x0f0f] = 0x8179, [0x0f10] = 0x8907, [0x0f11] = 0x8986, + [0x0f12] = 0x6df5, [0x0f13] = 0x5f17, [0x0f14] = 0x6255, [0x0f15] = 0x6cb8, + [0x0f16] = 0x4ecf, [0x0f17] = 0x7269, [0x0f18] = 0x9b92, [0x0f19] = 0x5206, + [0x0f1a] = 0x543b, [0x0f1b] = 0x5674, [0x0f1c] = 0x58b3, [0x0f1d] = 0x61a4, + [0x0f1e] = 0x626e, [0x0f1f] = 0x711a, [0x0f20] = 0x596e, [0x0f21] = 0x7c89, + [0x0f22] = 0x7cde, [0x0f23] = 0x7d1b, [0x0f24] = 0x96f0, [0x0f25] = 0x6587, + [0x0f26] = 0x805e, [0x0f27] = 0x4e19, [0x0f28] = 0x4f75, [0x0f29] = 0x5175, + [0x0f2a] = 0x5840, [0x0f2b] = 0x5e63, [0x0f2c] = 0x5e73, [0x0f2d] = 0x5f0a, + [0x0f2e] = 0x67c4, [0x0f2f] = 0x4e26, [0x0f30] = 0x853d, [0x0f31] = 0x9589, + [0x0f32] = 0x965b, [0x0f33] = 0x7c73, [0x0f34] = 0x9801, [0x0f35] = 0x50fb, + [0x0f36] = 0x58c1, [0x0f37] = 0x7656, [0x0f38] = 0x78a7, [0x0f39] = 0x5225, + [0x0f3a] = 0x77a5, [0x0f3b] = 0x8511, [0x0f3c] = 0x7b86, [0x0f3d] = 0x504f, + [0x0f3e] = 0x5909, [0x0f3f] = 0x7247, [0x0f40] = 0x7bc7, [0x0f41] = 0x7de8, + [0x0f42] = 0x8fba, [0x0f43] = 0x8fd4, [0x0f44] = 0x904d, [0x0f45] = 0x4fbf, + [0x0f46] = 0x52c9, [0x0f47] = 0x5a29, [0x0f48] = 0x5f01, [0x0f49] = 0x97ad, + [0x0f4a] = 0x4fdd, [0x0f4b] = 0x8217, [0x0f4c] = 0x92ea, [0x0f4d] = 0x5703, + [0x0f4e] = 0x6355, [0x0f4f] = 0x6b69, [0x0f50] = 0x752b, [0x0f51] = 0x88dc, + [0x0f52] = 0x8f14, [0x0f53] = 0x7a42, [0x0f54] = 0x52df, [0x0f55] = 0x5893, + [0x0f56] = 0x6155, [0x0f57] = 0x620a, [0x0f58] = 0x66ae, [0x0f59] = 0x6bcd, + [0x0f5a] = 0x7c3f, [0x0f5b] = 0x83e9, [0x0f5c] = 0x5023, [0x0f5d] = 0x4ff8, + [0x0f5e] = 0x5305, [0x0f5f] = 0x5446, [0x0f60] = 0x5831, [0x0f61] = 0x5949, + [0x0f62] = 0x5b9d, [0x0f63] = 0x5cf0, [0x0f64] = 0x5cef, [0x0f65] = 0x5d29, + [0x0f66] = 0x5e96, [0x0f67] = 0x62b1, [0x0f68] = 0x6367, [0x0f69] = 0x653e, + [0x0f6a] = 0x65b9, [0x0f6b] = 0x670b, [0x0f6c] = 0x6cd5, [0x0f6d] = 0x6ce1, + [0x0f6e] = 0x70f9, [0x0f6f] = 0x7832, [0x0f70] = 0x7e2b, [0x0f71] = 0x80de, + [0x0f72] = 0x82b3, [0x0f73] = 0x840c, [0x0f74] = 0x84ec, [0x0f75] = 0x8702, + [0x0f76] = 0x8912, [0x0f77] = 0x8a2a, [0x0f78] = 0x8c4a, [0x0f79] = 0x90a6, + [0x0f7a] = 0x92d2, [0x0f7b] = 0x98fd, [0x0f7c] = 0x9cf3, [0x0f7d] = 0x9d6c, + [0x0f7e] = 0x4e4f, [0x0f7f] = 0x4ea1, [0x0f80] = 0x508d, [0x0f81] = 0x5256, + [0x0f82] = 0x574a, [0x0f83] = 0x59a8, [0x0f84] = 0x5e3d, [0x0f85] = 0x5fd8, + [0x0f86] = 0x5fd9, [0x0f87] = 0x623f, [0x0f88] = 0x66b4, [0x0f89] = 0x671b, + [0x0f8a] = 0x67d0, [0x0f8b] = 0x68d2, [0x0f8c] = 0x5192, [0x0f8d] = 0x7d21, + [0x0f8e] = 0x80aa, [0x0f8f] = 0x81a8, [0x0f90] = 0x8b00, [0x0f91] = 0x8c8c, + [0x0f92] = 0x8cbf, [0x0f93] = 0x927e, [0x0f94] = 0x9632, [0x0f95] = 0x5420, + [0x0f96] = 0x982c, [0x0f97] = 0x5317, [0x0f98] = 0x50d5, [0x0f99] = 0x535c, + [0x0f9a] = 0x58a8, [0x0f9b] = 0x64b2, [0x0f9c] = 0x6734, [0x0f9d] = 0x7267, + [0x0f9e] = 0x7766, [0x0f9f] = 0x7a46, [0x0fa0] = 0x91e6, [0x0fa1] = 0x52c3, + [0x0fa2] = 0x6ca1, [0x0fa3] = 0x6b86, [0x0fa4] = 0x5800, [0x0fa5] = 0x5e4c, + [0x0fa6] = 0x5954, [0x0fa7] = 0x672c, [0x0fa8] = 0x7ffb, [0x0fa9] = 0x51e1, + [0x0faa] = 0x76c6, [0x0fab] = 0x6469, [0x0fac] = 0x78e8, [0x0fad] = 0x9b54, + [0x0fae] = 0x9ebb, [0x0faf] = 0x57cb, [0x0fb0] = 0x59b9, [0x0fb1] = 0x6627, + [0x0fb2] = 0x679a, [0x0fb3] = 0x6bce, [0x0fb4] = 0x54e9, [0x0fb5] = 0x69d9, + [0x0fb6] = 0x5e55, [0x0fb7] = 0x819c, [0x0fb8] = 0x6795, [0x0fb9] = 0x9baa, + [0x0fba] = 0x67fe, [0x0fbb] = 0x9c52, [0x0fbc] = 0x685d, [0x0fbd] = 0x4ea6, + [0x0fbe] = 0x4fe3, [0x0fbf] = 0x53c8, [0x0fc0] = 0x62b9, [0x0fc1] = 0x672b, + [0x0fc2] = 0x6cab, [0x0fc3] = 0x8fc4, [0x0fc4] = 0x4fad, [0x0fc5] = 0x7e6d, + [0x0fc6] = 0x9ebf, [0x0fc7] = 0x4e07, [0x0fc8] = 0x6162, [0x0fc9] = 0x6e80, + [0x0fca] = 0x6f2b, [0x0fcb] = 0x8513, [0x0fcc] = 0x5473, [0x0fcd] = 0x672a, + [0x0fce] = 0x9b45, [0x0fcf] = 0x5df3, [0x0fd0] = 0x7b95, [0x0fd1] = 0x5cac, + [0x0fd2] = 0x5bc6, [0x0fd3] = 0x871c, [0x0fd4] = 0x6e4a, [0x0fd5] = 0x84d1, + [0x0fd6] = 0x7a14, [0x0fd7] = 0x8108, [0x0fd8] = 0x5999, [0x0fd9] = 0x7c8d, + [0x0fda] = 0x6c11, [0x0fdb] = 0x7720, [0x0fdc] = 0x52d9, [0x0fdd] = 0x5922, + [0x0fde] = 0x7121, [0x0fdf] = 0x725f, [0x0fe0] = 0x77db, [0x0fe1] = 0x9727, + [0x0fe2] = 0x9d61, [0x0fe3] = 0x690b, [0x0fe4] = 0x5a7f, [0x0fe5] = 0x5a18, + [0x0fe6] = 0x51a5, [0x0fe7] = 0x540d, [0x0fe8] = 0x547d, [0x0fe9] = 0x660e, + [0x0fea] = 0x76df, [0x0feb] = 0x8ff7, [0x0fec] = 0x9298, [0x0fed] = 0x9cf4, + [0x0fee] = 0x59ea, [0x0fef] = 0x725d, [0x0ff0] = 0x6ec5, [0x0ff1] = 0x514d, + [0x0ff2] = 0x68c9, [0x0ff3] = 0x7dbf, [0x0ff4] = 0x7dec, [0x0ff5] = 0x9762, + [0x0ff6] = 0x9eba, [0x0ff7] = 0x6478, [0x0ff8] = 0x6a21, [0x0ff9] = 0x8302, + [0x0ffa] = 0x5984, [0x0ffb] = 0x5b5f, [0x0ffc] = 0x6bdb, [0x0ffd] = 0x731b, + [0x0ffe] = 0x76f2, [0x0fff] = 0x7db2, [0x1000] = 0x8017, [0x1001] = 0x8499, + [0x1002] = 0x5132, [0x1003] = 0x6728, [0x1004] = 0x9ed9, [0x1005] = 0x76ee, + [0x1006] = 0x6762, [0x1007] = 0x52ff, [0x1008] = 0x9905, [0x1009] = 0x5c24, + [0x100a] = 0x623b, [0x100b] = 0x7c7e, [0x100c] = 0x8cb0, [0x100d] = 0x554f, + [0x100e] = 0x60b6, [0x100f] = 0x7d0b, [0x1010] = 0x9580, [0x1011] = 0x5301, + [0x1012] = 0x4e5f, [0x1013] = 0x51b6, [0x1014] = 0x591c, [0x1015] = 0x723a, + [0x1016] = 0x8036, [0x1017] = 0x91ce, [0x1018] = 0x5f25, [0x1019] = 0x77e2, + [0x101a] = 0x5384, [0x101b] = 0x5f79, [0x101c] = 0x7d04, [0x101d] = 0x85ac, + [0x101e] = 0x8a33, [0x101f] = 0x8e8d, [0x1020] = 0x9756, [0x1021] = 0x67f3, + [0x1022] = 0x85ae, [0x1023] = 0x9453, [0x1024] = 0x6109, [0x1025] = 0x6108, + [0x1026] = 0x6cb9, [0x1027] = 0x7652, [0x1028] = 0x8aed, [0x1029] = 0x8f38, + [0x102a] = 0x552f, [0x102b] = 0x4f51, [0x102c] = 0x512a, [0x102d] = 0x52c7, + [0x102e] = 0x53cb, [0x102f] = 0x5ba5, [0x1030] = 0x5e7d, [0x1031] = 0x60a0, + [0x1032] = 0x6182, [0x1033] = 0x63d6, [0x1034] = 0x6709, [0x1035] = 0x67da, + [0x1036] = 0x6e67, [0x1037] = 0x6d8c, [0x1038] = 0x7336, [0x1039] = 0x7337, + [0x103a] = 0x7531, [0x103b] = 0x7950, [0x103c] = 0x88d5, [0x103d] = 0x8a98, + [0x103e] = 0x904a, [0x103f] = 0x9091, [0x1040] = 0x90f5, [0x1041] = 0x96c4, + [0x1042] = 0x878d, [0x1043] = 0x5915, [0x1044] = 0x4e88, [0x1045] = 0x4f59, + [0x1046] = 0x4e0e, [0x1047] = 0x8a89, [0x1048] = 0x8f3f, [0x1049] = 0x9810, + [0x104a] = 0x50ad, [0x104b] = 0x5e7c, [0x104c] = 0x5996, [0x104d] = 0x5bb9, + [0x104e] = 0x5eb8, [0x104f] = 0x63da, [0x1050] = 0x63fa, [0x1051] = 0x64c1, + [0x1052] = 0x66dc, [0x1053] = 0x694a, [0x1054] = 0x69d8, [0x1055] = 0x6d0b, + [0x1056] = 0x6eb6, [0x1057] = 0x7194, [0x1058] = 0x7528, [0x1059] = 0x7aaf, + [0x105a] = 0x7f8a, [0x105b] = 0x8000, [0x105c] = 0x8449, [0x105d] = 0x84c9, + [0x105e] = 0x8981, [0x105f] = 0x8b21, [0x1060] = 0x8e0a, [0x1061] = 0x9065, + [0x1062] = 0x967d, [0x1063] = 0x990a, [0x1064] = 0x617e, [0x1065] = 0x6291, + [0x1066] = 0x6b32, [0x1067] = 0x6c83, [0x1068] = 0x6d74, [0x1069] = 0x7fcc, + [0x106a] = 0x7ffc, [0x106b] = 0x6dc0, [0x106c] = 0x7f85, [0x106d] = 0x87ba, + [0x106e] = 0x88f8, [0x106f] = 0x6765, [0x1070] = 0x83b1, [0x1071] = 0x983c, + [0x1072] = 0x96f7, [0x1073] = 0x6d1b, [0x1074] = 0x7d61, [0x1075] = 0x843d, + [0x1076] = 0x916a, [0x1077] = 0x4e71, [0x1078] = 0x5375, [0x1079] = 0x5d50, + [0x107a] = 0x6b04, [0x107b] = 0x6feb, [0x107c] = 0x85cd, [0x107d] = 0x862d, + [0x107e] = 0x89a7, [0x107f] = 0x5229, [0x1080] = 0x540f, [0x1081] = 0x5c65, + [0x1082] = 0x674e, [0x1083] = 0x68a8, [0x1084] = 0x7406, [0x1085] = 0x7483, + [0x1086] = 0x75e2, [0x1087] = 0x88cf, [0x1088] = 0x88e1, [0x1089] = 0x91cc, + [0x108a] = 0x96e2, [0x108b] = 0x9678, [0x108c] = 0x5f8b, [0x108d] = 0x7387, + [0x108e] = 0x7acb, [0x108f] = 0x844e, [0x1090] = 0x63a0, [0x1091] = 0x7565, + [0x1092] = 0x5289, [0x1093] = 0x6d41, [0x1094] = 0x6e9c, [0x1095] = 0x7409, + [0x1096] = 0x7559, [0x1097] = 0x786b, [0x1098] = 0x7c92, [0x1099] = 0x9686, + [0x109a] = 0x7adc, [0x109b] = 0x9f8d, [0x109c] = 0x4fb6, [0x109d] = 0x616e, + [0x109e] = 0x65c5, [0x109f] = 0x865c, [0x10a0] = 0x4e86, [0x10a1] = 0x4eae, + [0x10a2] = 0x50da, [0x10a3] = 0x4e21, [0x10a4] = 0x51cc, [0x10a5] = 0x5bee, + [0x10a6] = 0x6599, [0x10a7] = 0x6881, [0x10a8] = 0x6dbc, [0x10a9] = 0x731f, + [0x10aa] = 0x7642, [0x10ab] = 0x77ad, [0x10ac] = 0x7a1c, [0x10ad] = 0x7ce7, + [0x10ae] = 0x826f, [0x10af] = 0x8ad2, [0x10b0] = 0x907c, [0x10b1] = 0x91cf, + [0x10b2] = 0x9675, [0x10b3] = 0x9818, [0x10b4] = 0x529b, [0x10b5] = 0x7dd1, + [0x10b6] = 0x502b, [0x10b7] = 0x5398, [0x10b8] = 0x6797, [0x10b9] = 0x6dcb, + [0x10ba] = 0x71d0, [0x10bb] = 0x7433, [0x10bc] = 0x81e8, [0x10bd] = 0x8f2a, + [0x10be] = 0x96a3, [0x10bf] = 0x9c57, [0x10c0] = 0x9e9f, [0x10c1] = 0x7460, + [0x10c2] = 0x5841, [0x10c3] = 0x6d99, [0x10c4] = 0x7d2f, [0x10c5] = 0x985e, + [0x10c6] = 0x4ee4, [0x10c7] = 0x4f36, [0x10c8] = 0x4f8b, [0x10c9] = 0x51b7, + [0x10ca] = 0x52b1, [0x10cb] = 0x5dba, [0x10cc] = 0x601c, [0x10cd] = 0x73b2, + [0x10ce] = 0x793c, [0x10cf] = 0x82d3, [0x10d0] = 0x9234, [0x10d1] = 0x96b7, + [0x10d2] = 0x96f6, [0x10d3] = 0x970a, [0x10d4] = 0x9e97, [0x10d5] = 0x9f62, + [0x10d6] = 0x66a6, [0x10d7] = 0x6b74, [0x10d8] = 0x5217, [0x10d9] = 0x52a3, + [0x10da] = 0x70c8, [0x10db] = 0x88c2, [0x10dc] = 0x5ec9, [0x10dd] = 0x604b, + [0x10de] = 0x6190, [0x10df] = 0x6f23, [0x10e0] = 0x7149, [0x10e1] = 0x7c3e, + [0x10e2] = 0x7df4, [0x10e3] = 0x806f, [0x10e4] = 0x84ee, [0x10e5] = 0x9023, + [0x10e6] = 0x932c, [0x10e7] = 0x5442, [0x10e8] = 0x9b6f, [0x10e9] = 0x6ad3, + [0x10ea] = 0x7089, [0x10eb] = 0x8cc2, [0x10ec] = 0x8def, [0x10ed] = 0x9732, + [0x10ee] = 0x52b4, [0x10ef] = 0x5a41, [0x10f0] = 0x5eca, [0x10f1] = 0x5f04, + [0x10f2] = 0x6717, [0x10f3] = 0x697c, [0x10f4] = 0x6994, [0x10f5] = 0x6d6a, + [0x10f6] = 0x6f0f, [0x10f7] = 0x7262, [0x10f8] = 0x72fc, [0x10f9] = 0x7bed, + [0x10fa] = 0x8001, [0x10fb] = 0x807e, [0x10fc] = 0x874b, [0x10fd] = 0x90ce, + [0x10fe] = 0x516d, [0x10ff] = 0x9e93, [0x1100] = 0x7984, [0x1101] = 0x808b, + [0x1102] = 0x9332, [0x1103] = 0x8ad6, [0x1104] = 0x502d, [0x1105] = 0x548c, + [0x1106] = 0x8a71, [0x1107] = 0x6b6a, [0x1108] = 0x8cc4, [0x1109] = 0x8107, + [0x110a] = 0x60d1, [0x110b] = 0x67a0, [0x110c] = 0x9df2, [0x110d] = 0x4e99, + [0x110e] = 0x4e98, [0x110f] = 0x9c10, [0x1110] = 0x8a6b, [0x1111] = 0x85c1, + [0x1112] = 0x8568, [0x1113] = 0x6900, [0x1114] = 0x6e7e, [0x1115] = 0x7897, + [0x1116] = 0x8155, [0x1142] = 0x5f0c, [0x1143] = 0x4e10, [0x1144] = 0x4e15, + [0x1145] = 0x4e2a, [0x1146] = 0x4e31, [0x1147] = 0x4e36, [0x1148] = 0x4e3c, + [0x1149] = 0x4e3f, [0x114a] = 0x4e42, [0x114b] = 0x4e56, [0x114c] = 0x4e58, + [0x114d] = 0x4e82, [0x114e] = 0x4e85, [0x114f] = 0x8c6b, [0x1150] = 0x4e8a, + [0x1151] = 0x8212, [0x1152] = 0x5f0d, [0x1153] = 0x4e8e, [0x1154] = 0x4e9e, + [0x1155] = 0x4e9f, [0x1156] = 0x4ea0, [0x1157] = 0x4ea2, [0x1158] = 0x4eb0, + [0x1159] = 0x4eb3, [0x115a] = 0x4eb6, [0x115b] = 0x4ece, [0x115c] = 0x4ecd, + [0x115d] = 0x4ec4, [0x115e] = 0x4ec6, [0x115f] = 0x4ec2, [0x1160] = 0x4ed7, + [0x1161] = 0x4ede, [0x1162] = 0x4eed, [0x1163] = 0x4edf, [0x1164] = 0x4ef7, + [0x1165] = 0x4f09, [0x1166] = 0x4f5a, [0x1167] = 0x4f30, [0x1168] = 0x4f5b, + [0x1169] = 0x4f5d, [0x116a] = 0x4f57, [0x116b] = 0x4f47, [0x116c] = 0x4f76, + [0x116d] = 0x4f88, [0x116e] = 0x4f8f, [0x116f] = 0x4f98, [0x1170] = 0x4f7b, + [0x1171] = 0x4f69, [0x1172] = 0x4f70, [0x1173] = 0x4f91, [0x1174] = 0x4f6f, + [0x1175] = 0x4f86, [0x1176] = 0x4f96, [0x1177] = 0x5118, [0x1178] = 0x4fd4, + [0x1179] = 0x4fdf, [0x117a] = 0x4fce, [0x117b] = 0x4fd8, [0x117c] = 0x4fdb, + [0x117d] = 0x4fd1, [0x117e] = 0x4fda, [0x117f] = 0x4fd0, [0x1180] = 0x4fe4, + [0x1181] = 0x4fe5, [0x1182] = 0x501a, [0x1183] = 0x5028, [0x1184] = 0x5014, + [0x1185] = 0x502a, [0x1186] = 0x5025, [0x1187] = 0x5005, [0x1188] = 0x4f1c, + [0x1189] = 0x4ff6, [0x118a] = 0x5021, [0x118b] = 0x5029, [0x118c] = 0x502c, + [0x118d] = 0x4ffe, [0x118e] = 0x4fef, [0x118f] = 0x5011, [0x1190] = 0x5006, + [0x1191] = 0x5043, [0x1192] = 0x5047, [0x1193] = 0x6703, [0x1194] = 0x5055, + [0x1195] = 0x5050, [0x1196] = 0x5048, [0x1197] = 0x505a, [0x1198] = 0x5056, + [0x1199] = 0x506c, [0x119a] = 0x5078, [0x119b] = 0x5080, [0x119c] = 0x509a, + [0x119d] = 0x5085, [0x119e] = 0x50b4, [0x119f] = 0x50b2, [0x11a0] = 0x50c9, + [0x11a1] = 0x50ca, [0x11a2] = 0x50b3, [0x11a3] = 0x50c2, [0x11a4] = 0x50d6, + [0x11a5] = 0x50de, [0x11a6] = 0x50e5, [0x11a7] = 0x50ed, [0x11a8] = 0x50e3, + [0x11a9] = 0x50ee, [0x11aa] = 0x50f9, [0x11ab] = 0x50f5, [0x11ac] = 0x5109, + [0x11ad] = 0x5101, [0x11ae] = 0x5102, [0x11af] = 0x5116, [0x11b0] = 0x5115, + [0x11b1] = 0x5114, [0x11b2] = 0x511a, [0x11b3] = 0x5121, [0x11b4] = 0x513a, + [0x11b5] = 0x5137, [0x11b6] = 0x513c, [0x11b7] = 0x513b, [0x11b8] = 0x513f, + [0x11b9] = 0x5140, [0x11ba] = 0x5152, [0x11bb] = 0x514c, [0x11bc] = 0x5154, + [0x11bd] = 0x5162, [0x11be] = 0x7af8, [0x11bf] = 0x5169, [0x11c0] = 0x516a, + [0x11c1] = 0x516e, [0x11c2] = 0x5180, [0x11c3] = 0x5182, [0x11c4] = 0x56d8, + [0x11c5] = 0x518c, [0x11c6] = 0x5189, [0x11c7] = 0x518f, [0x11c8] = 0x5191, + [0x11c9] = 0x5193, [0x11ca] = 0x5195, [0x11cb] = 0x5196, [0x11cc] = 0x51a4, + [0x11cd] = 0x51a6, [0x11ce] = 0x51a2, [0x11cf] = 0x51a9, [0x11d0] = 0x51aa, + [0x11d1] = 0x51ab, [0x11d2] = 0x51b3, [0x11d3] = 0x51b1, [0x11d4] = 0x51b2, + [0x11d5] = 0x51b0, [0x11d6] = 0x51b5, [0x11d7] = 0x51bd, [0x11d8] = 0x51c5, + [0x11d9] = 0x51c9, [0x11da] = 0x51db, [0x11db] = 0x51e0, [0x11dc] = 0x8655, + [0x11dd] = 0x51e9, [0x11de] = 0x51ed, [0x11df] = 0x51f0, [0x11e0] = 0x51f5, + [0x11e1] = 0x51fe, [0x11e2] = 0x5204, [0x11e3] = 0x520b, [0x11e4] = 0x5214, + [0x11e5] = 0x520e, [0x11e6] = 0x5227, [0x11e7] = 0x522a, [0x11e8] = 0x522e, + [0x11e9] = 0x5233, [0x11ea] = 0x5239, [0x11eb] = 0x524f, [0x11ec] = 0x5244, + [0x11ed] = 0x524b, [0x11ee] = 0x524c, [0x11ef] = 0x525e, [0x11f0] = 0x5254, + [0x11f1] = 0x526a, [0x11f2] = 0x5274, [0x11f3] = 0x5269, [0x11f4] = 0x5273, + [0x11f5] = 0x527f, [0x11f6] = 0x527d, [0x11f7] = 0x528d, [0x11f8] = 0x5294, + [0x11f9] = 0x5292, [0x11fa] = 0x5271, [0x11fb] = 0x5288, [0x11fc] = 0x5291, + [0x11fd] = 0x8fa8, [0x11fe] = 0x8fa7, [0x11ff] = 0x52ac, [0x1200] = 0x52ad, + [0x1201] = 0x52bc, [0x1202] = 0x52b5, [0x1203] = 0x52c1, [0x1204] = 0x52cd, + [0x1205] = 0x52d7, [0x1206] = 0x52de, [0x1207] = 0x52e3, [0x1208] = 0x52e6, + [0x1209] = 0x98ed, [0x120a] = 0x52e0, [0x120b] = 0x52f3, [0x120c] = 0x52f5, + [0x120d] = 0x52f8, [0x120e] = 0x52f9, [0x120f] = 0x5306, [0x1210] = 0x5308, + [0x1211] = 0x7538, [0x1212] = 0x530d, [0x1213] = 0x5310, [0x1214] = 0x530f, + [0x1215] = 0x5315, [0x1216] = 0x531a, [0x1217] = 0x5323, [0x1218] = 0x532f, + [0x1219] = 0x5331, [0x121a] = 0x5333, [0x121b] = 0x5338, [0x121c] = 0x5340, + [0x121d] = 0x5346, [0x121e] = 0x5345, [0x121f] = 0x4e17, [0x1220] = 0x5349, + [0x1221] = 0x534d, [0x1222] = 0x51d6, [0x1223] = 0x535e, [0x1224] = 0x5369, + [0x1225] = 0x536e, [0x1226] = 0x5918, [0x1227] = 0x537b, [0x1228] = 0x5377, + [0x1229] = 0x5382, [0x122a] = 0x5396, [0x122b] = 0x53a0, [0x122c] = 0x53a6, + [0x122d] = 0x53a5, [0x122e] = 0x53ae, [0x122f] = 0x53b0, [0x1230] = 0x53b6, + [0x1231] = 0x53c3, [0x1232] = 0x7c12, [0x1233] = 0x96d9, [0x1234] = 0x53df, + [0x1235] = 0x66fc, [0x1236] = 0x71ee, [0x1237] = 0x53ee, [0x1238] = 0x53e8, + [0x1239] = 0x53ed, [0x123a] = 0x53fa, [0x123b] = 0x5401, [0x123c] = 0x543d, + [0x123d] = 0x5440, [0x123e] = 0x542c, [0x123f] = 0x542d, [0x1240] = 0x543c, + [0x1241] = 0x542e, [0x1242] = 0x5436, [0x1243] = 0x5429, [0x1244] = 0x541d, + [0x1245] = 0x544e, [0x1246] = 0x548f, [0x1247] = 0x5475, [0x1248] = 0x548e, + [0x1249] = 0x545f, [0x124a] = 0x5471, [0x124b] = 0x5477, [0x124c] = 0x5470, + [0x124d] = 0x5492, [0x124e] = 0x547b, [0x124f] = 0x5480, [0x1250] = 0x5476, + [0x1251] = 0x5484, [0x1252] = 0x5490, [0x1253] = 0x5486, [0x1254] = 0x54c7, + [0x1255] = 0x54a2, [0x1256] = 0x54b8, [0x1257] = 0x54a5, [0x1258] = 0x54ac, + [0x1259] = 0x54c4, [0x125a] = 0x54c8, [0x125b] = 0x54a8, [0x125c] = 0x54ab, + [0x125d] = 0x54c2, [0x125e] = 0x54a4, [0x125f] = 0x54be, [0x1260] = 0x54bc, + [0x1261] = 0x54d8, [0x1262] = 0x54e5, [0x1263] = 0x54e6, [0x1264] = 0x550f, + [0x1265] = 0x5514, [0x1266] = 0x54fd, [0x1267] = 0x54ee, [0x1268] = 0x54ed, + [0x1269] = 0x54fa, [0x126a] = 0x54e2, [0x126b] = 0x5539, [0x126c] = 0x5540, + [0x126d] = 0x5563, [0x126e] = 0x554c, [0x126f] = 0x552e, [0x1270] = 0x555c, + [0x1271] = 0x5545, [0x1272] = 0x5556, [0x1273] = 0x5557, [0x1274] = 0x5538, + [0x1275] = 0x5533, [0x1276] = 0x555d, [0x1277] = 0x5599, [0x1278] = 0x5580, + [0x1279] = 0x54af, [0x127a] = 0x558a, [0x127b] = 0x559f, [0x127c] = 0x557b, + [0x127d] = 0x557e, [0x127e] = 0x5598, [0x127f] = 0x559e, [0x1280] = 0x55ae, + [0x1281] = 0x557c, [0x1282] = 0x5583, [0x1283] = 0x55a9, [0x1284] = 0x5587, + [0x1285] = 0x55a8, [0x1286] = 0x55da, [0x1287] = 0x55c5, [0x1288] = 0x55df, + [0x1289] = 0x55c4, [0x128a] = 0x55dc, [0x128b] = 0x55e4, [0x128c] = 0x55d4, + [0x128d] = 0x5614, [0x128e] = 0x55f7, [0x128f] = 0x5616, [0x1290] = 0x55fe, + [0x1291] = 0x55fd, [0x1292] = 0x561b, [0x1293] = 0x55f9, [0x1294] = 0x564e, + [0x1295] = 0x5650, [0x1296] = 0x71df, [0x1297] = 0x5634, [0x1298] = 0x5636, + [0x1299] = 0x5632, [0x129a] = 0x5638, [0x129b] = 0x566b, [0x129c] = 0x5664, + [0x129d] = 0x562f, [0x129e] = 0x566c, [0x129f] = 0x566a, [0x12a0] = 0x5686, + [0x12a1] = 0x5680, [0x12a2] = 0x568a, [0x12a3] = 0x56a0, [0x12a4] = 0x5694, + [0x12a5] = 0x568f, [0x12a6] = 0x56a5, [0x12a7] = 0x56ae, [0x12a8] = 0x56b6, + [0x12a9] = 0x56b4, [0x12aa] = 0x56c2, [0x12ab] = 0x56bc, [0x12ac] = 0x56c1, + [0x12ad] = 0x56c3, [0x12ae] = 0x56c0, [0x12af] = 0x56c8, [0x12b0] = 0x56ce, + [0x12b1] = 0x56d1, [0x12b2] = 0x56d3, [0x12b3] = 0x56d7, [0x12b4] = 0x56ee, + [0x12b5] = 0x56f9, [0x12b6] = 0x5700, [0x12b7] = 0x56ff, [0x12b8] = 0x5704, + [0x12b9] = 0x5709, [0x12ba] = 0x5708, [0x12bb] = 0x570b, [0x12bc] = 0x570d, + [0x12bd] = 0x5713, [0x12be] = 0x5718, [0x12bf] = 0x5716, [0x12c0] = 0x55c7, + [0x12c1] = 0x571c, [0x12c2] = 0x5726, [0x12c3] = 0x5737, [0x12c4] = 0x5738, + [0x12c5] = 0x574e, [0x12c6] = 0x573b, [0x12c7] = 0x5740, [0x12c8] = 0x574f, + [0x12c9] = 0x5769, [0x12ca] = 0x57c0, [0x12cb] = 0x5788, [0x12cc] = 0x5761, + [0x12cd] = 0x577f, [0x12ce] = 0x5789, [0x12cf] = 0x5793, [0x12d0] = 0x57a0, + [0x12d1] = 0x57b3, [0x12d2] = 0x57a4, [0x12d3] = 0x57aa, [0x12d4] = 0x57b0, + [0x12d5] = 0x57c3, [0x12d6] = 0x57c6, [0x12d7] = 0x57d4, [0x12d8] = 0x57d2, + [0x12d9] = 0x57d3, [0x12da] = 0x580a, [0x12db] = 0x57d6, [0x12dc] = 0x57e3, + [0x12dd] = 0x580b, [0x12de] = 0x5819, [0x12df] = 0x581d, [0x12e0] = 0x5872, + [0x12e1] = 0x5821, [0x12e2] = 0x5862, [0x12e3] = 0x584b, [0x12e4] = 0x5870, + [0x12e5] = 0x6bc0, [0x12e6] = 0x5852, [0x12e7] = 0x583d, [0x12e8] = 0x5879, + [0x12e9] = 0x5885, [0x12ea] = 0x58b9, [0x12eb] = 0x589f, [0x12ec] = 0x58ab, + [0x12ed] = 0x58ba, [0x12ee] = 0x58de, [0x12ef] = 0x58bb, [0x12f0] = 0x58b8, + [0x12f1] = 0x58ae, [0x12f2] = 0x58c5, [0x12f3] = 0x58d3, [0x12f4] = 0x58d1, + [0x12f5] = 0x58d7, [0x12f6] = 0x58d9, [0x12f7] = 0x58d8, [0x12f8] = 0x58e5, + [0x12f9] = 0x58dc, [0x12fa] = 0x58e4, [0x12fb] = 0x58df, [0x12fc] = 0x58ef, + [0x12fd] = 0x58fa, [0x12fe] = 0x58f9, [0x12ff] = 0x58fb, [0x1300] = 0x58fc, + [0x1301] = 0x58fd, [0x1302] = 0x5902, [0x1303] = 0x590a, [0x1304] = 0x5910, + [0x1305] = 0x591b, [0x1306] = 0x68a6, [0x1307] = 0x5925, [0x1308] = 0x592c, + [0x1309] = 0x592d, [0x130a] = 0x5932, [0x130b] = 0x5938, [0x130c] = 0x593e, + [0x130d] = 0x7ad2, [0x130e] = 0x5955, [0x130f] = 0x5950, [0x1310] = 0x594e, + [0x1311] = 0x595a, [0x1312] = 0x5958, [0x1313] = 0x5962, [0x1314] = 0x5960, + [0x1315] = 0x5967, [0x1316] = 0x596c, [0x1317] = 0x5969, [0x1318] = 0x5978, + [0x1319] = 0x5981, [0x131a] = 0x599d, [0x131b] = 0x4f5e, [0x131c] = 0x4fab, + [0x131d] = 0x59a3, [0x131e] = 0x59b2, [0x131f] = 0x59c6, [0x1320] = 0x59e8, + [0x1321] = 0x59dc, [0x1322] = 0x598d, [0x1323] = 0x59d9, [0x1324] = 0x59da, + [0x1325] = 0x5a25, [0x1326] = 0x5a1f, [0x1327] = 0x5a11, [0x1328] = 0x5a1c, + [0x1329] = 0x5a09, [0x132a] = 0x5a1a, [0x132b] = 0x5a40, [0x132c] = 0x5a6c, + [0x132d] = 0x5a49, [0x132e] = 0x5a35, [0x132f] = 0x5a36, [0x1330] = 0x5a62, + [0x1331] = 0x5a6a, [0x1332] = 0x5a9a, [0x1333] = 0x5abc, [0x1334] = 0x5abe, + [0x1335] = 0x5acb, [0x1336] = 0x5ac2, [0x1337] = 0x5abd, [0x1338] = 0x5ae3, + [0x1339] = 0x5ad7, [0x133a] = 0x5ae6, [0x133b] = 0x5ae9, [0x133c] = 0x5ad6, + [0x133d] = 0x5afa, [0x133e] = 0x5afb, [0x133f] = 0x5b0c, [0x1340] = 0x5b0b, + [0x1341] = 0x5b16, [0x1342] = 0x5b32, [0x1343] = 0x5ad0, [0x1344] = 0x5b2a, + [0x1345] = 0x5b36, [0x1346] = 0x5b3e, [0x1347] = 0x5b43, [0x1348] = 0x5b45, + [0x1349] = 0x5b40, [0x134a] = 0x5b51, [0x134b] = 0x5b55, [0x134c] = 0x5b5a, + [0x134d] = 0x5b5b, [0x134e] = 0x5b65, [0x134f] = 0x5b69, [0x1350] = 0x5b70, + [0x1351] = 0x5b73, [0x1352] = 0x5b75, [0x1353] = 0x5b78, [0x1354] = 0x6588, + [0x1355] = 0x5b7a, [0x1356] = 0x5b80, [0x1357] = 0x5b83, [0x1358] = 0x5ba6, + [0x1359] = 0x5bb8, [0x135a] = 0x5bc3, [0x135b] = 0x5bc7, [0x135c] = 0x5bc9, + [0x135d] = 0x5bd4, [0x135e] = 0x5bd0, [0x135f] = 0x5be4, [0x1360] = 0x5be6, + [0x1361] = 0x5be2, [0x1362] = 0x5bde, [0x1363] = 0x5be5, [0x1364] = 0x5beb, + [0x1365] = 0x5bf0, [0x1366] = 0x5bf6, [0x1367] = 0x5bf3, [0x1368] = 0x5c05, + [0x1369] = 0x5c07, [0x136a] = 0x5c08, [0x136b] = 0x5c0d, [0x136c] = 0x5c13, + [0x136d] = 0x5c20, [0x136e] = 0x5c22, [0x136f] = 0x5c28, [0x1370] = 0x5c38, + [0x1371] = 0x5c39, [0x1372] = 0x5c41, [0x1373] = 0x5c46, [0x1374] = 0x5c4e, + [0x1375] = 0x5c53, [0x1376] = 0x5c50, [0x1377] = 0x5c4f, [0x1378] = 0x5b71, + [0x1379] = 0x5c6c, [0x137a] = 0x5c6e, [0x137b] = 0x4e62, [0x137c] = 0x5c76, + [0x137d] = 0x5c79, [0x137e] = 0x5c8c, [0x137f] = 0x5c91, [0x1380] = 0x5c94, + [0x1381] = 0x599b, [0x1382] = 0x5cab, [0x1383] = 0x5cbb, [0x1384] = 0x5cb6, + [0x1385] = 0x5cbc, [0x1386] = 0x5cb7, [0x1387] = 0x5cc5, [0x1388] = 0x5cbe, + [0x1389] = 0x5cc7, [0x138a] = 0x5cd9, [0x138b] = 0x5ce9, [0x138c] = 0x5cfd, + [0x138d] = 0x5cfa, [0x138e] = 0x5ced, [0x138f] = 0x5d8c, [0x1390] = 0x5cea, + [0x1391] = 0x5d0b, [0x1392] = 0x5d15, [0x1393] = 0x5d17, [0x1394] = 0x5d5c, + [0x1395] = 0x5d1f, [0x1396] = 0x5d1b, [0x1397] = 0x5d11, [0x1398] = 0x5d14, + [0x1399] = 0x5d22, [0x139a] = 0x5d1a, [0x139b] = 0x5d19, [0x139c] = 0x5d18, + [0x139d] = 0x5d4c, [0x139e] = 0x5d52, [0x139f] = 0x5d4e, [0x13a0] = 0x5d4b, + [0x13a1] = 0x5d6c, [0x13a2] = 0x5d73, [0x13a3] = 0x5d76, [0x13a4] = 0x5d87, + [0x13a5] = 0x5d84, [0x13a6] = 0x5d82, [0x13a7] = 0x5da2, [0x13a8] = 0x5d9d, + [0x13a9] = 0x5dac, [0x13aa] = 0x5dae, [0x13ab] = 0x5dbd, [0x13ac] = 0x5d90, + [0x13ad] = 0x5db7, [0x13ae] = 0x5dbc, [0x13af] = 0x5dc9, [0x13b0] = 0x5dcd, + [0x13b1] = 0x5dd3, [0x13b2] = 0x5dd2, [0x13b3] = 0x5dd6, [0x13b4] = 0x5ddb, + [0x13b5] = 0x5deb, [0x13b6] = 0x5df2, [0x13b7] = 0x5df5, [0x13b8] = 0x5e0b, + [0x13b9] = 0x5e1a, [0x13ba] = 0x5e19, [0x13bb] = 0x5e11, [0x13bc] = 0x5e1b, + [0x13bd] = 0x5e36, [0x13be] = 0x5e37, [0x13bf] = 0x5e44, [0x13c0] = 0x5e43, + [0x13c1] = 0x5e40, [0x13c2] = 0x5e4e, [0x13c3] = 0x5e57, [0x13c4] = 0x5e54, + [0x13c5] = 0x5e5f, [0x13c6] = 0x5e62, [0x13c7] = 0x5e64, [0x13c8] = 0x5e47, + [0x13c9] = 0x5e75, [0x13ca] = 0x5e76, [0x13cb] = 0x5e7a, [0x13cc] = 0x9ebc, + [0x13cd] = 0x5e7f, [0x13ce] = 0x5ea0, [0x13cf] = 0x5ec1, [0x13d0] = 0x5ec2, + [0x13d1] = 0x5ec8, [0x13d2] = 0x5ed0, [0x13d3] = 0x5ecf, [0x13d4] = 0x5ed6, + [0x13d5] = 0x5ee3, [0x13d6] = 0x5edd, [0x13d7] = 0x5eda, [0x13d8] = 0x5edb, + [0x13d9] = 0x5ee2, [0x13da] = 0x5ee1, [0x13db] = 0x5ee8, [0x13dc] = 0x5ee9, + [0x13dd] = 0x5eec, [0x13de] = 0x5ef1, [0x13df] = 0x5ef3, [0x13e0] = 0x5ef0, + [0x13e1] = 0x5ef4, [0x13e2] = 0x5ef8, [0x13e3] = 0x5efe, [0x13e4] = 0x5f03, + [0x13e5] = 0x5f09, [0x13e6] = 0x5f5d, [0x13e7] = 0x5f5c, [0x13e8] = 0x5f0b, + [0x13e9] = 0x5f11, [0x13ea] = 0x5f16, [0x13eb] = 0x5f29, [0x13ec] = 0x5f2d, + [0x13ed] = 0x5f38, [0x13ee] = 0x5f41, [0x13ef] = 0x5f48, [0x13f0] = 0x5f4c, + [0x13f1] = 0x5f4e, [0x13f2] = 0x5f2f, [0x13f3] = 0x5f51, [0x13f4] = 0x5f56, + [0x13f5] = 0x5f57, [0x13f6] = 0x5f59, [0x13f7] = 0x5f61, [0x13f8] = 0x5f6d, + [0x13f9] = 0x5f73, [0x13fa] = 0x5f77, [0x13fb] = 0x5f83, [0x13fc] = 0x5f82, + [0x13fd] = 0x5f7f, [0x13fe] = 0x5f8a, [0x13ff] = 0x5f88, [0x1400] = 0x5f91, + [0x1401] = 0x5f87, [0x1402] = 0x5f9e, [0x1403] = 0x5f99, [0x1404] = 0x5f98, + [0x1405] = 0x5fa0, [0x1406] = 0x5fa8, [0x1407] = 0x5fad, [0x1408] = 0x5fbc, + [0x1409] = 0x5fd6, [0x140a] = 0x5ffb, [0x140b] = 0x5fe4, [0x140c] = 0x5ff8, + [0x140d] = 0x5ff1, [0x140e] = 0x5fdd, [0x140f] = 0x60b3, [0x1410] = 0x5fff, + [0x1411] = 0x6021, [0x1412] = 0x6060, [0x1413] = 0x6019, [0x1414] = 0x6010, + [0x1415] = 0x6029, [0x1416] = 0x600e, [0x1417] = 0x6031, [0x1418] = 0x601b, + [0x1419] = 0x6015, [0x141a] = 0x602b, [0x141b] = 0x6026, [0x141c] = 0x600f, + [0x141d] = 0x603a, [0x141e] = 0x605a, [0x141f] = 0x6041, [0x1420] = 0x606a, + [0x1421] = 0x6077, [0x1422] = 0x605f, [0x1423] = 0x604a, [0x1424] = 0x6046, + [0x1425] = 0x604d, [0x1426] = 0x6063, [0x1427] = 0x6043, [0x1428] = 0x6064, + [0x1429] = 0x6042, [0x142a] = 0x606c, [0x142b] = 0x606b, [0x142c] = 0x6059, + [0x142d] = 0x6081, [0x142e] = 0x608d, [0x142f] = 0x60e7, [0x1430] = 0x6083, + [0x1431] = 0x609a, [0x1432] = 0x6084, [0x1433] = 0x609b, [0x1434] = 0x6096, + [0x1435] = 0x6097, [0x1436] = 0x6092, [0x1437] = 0x60a7, [0x1438] = 0x608b, + [0x1439] = 0x60e1, [0x143a] = 0x60b8, [0x143b] = 0x60e0, [0x143c] = 0x60d3, + [0x143d] = 0x60b4, [0x143e] = 0x5ff0, [0x143f] = 0x60bd, [0x1440] = 0x60c6, + [0x1441] = 0x60b5, [0x1442] = 0x60d8, [0x1443] = 0x614d, [0x1444] = 0x6115, + [0x1445] = 0x6106, [0x1446] = 0x60f6, [0x1447] = 0x60f7, [0x1448] = 0x6100, + [0x1449] = 0x60f4, [0x144a] = 0x60fa, [0x144b] = 0x6103, [0x144c] = 0x6121, + [0x144d] = 0x60fb, [0x144e] = 0x60f1, [0x144f] = 0x610d, [0x1450] = 0x610e, + [0x1451] = 0x6147, [0x1452] = 0x613e, [0x1453] = 0x6128, [0x1454] = 0x6127, + [0x1455] = 0x614a, [0x1456] = 0x613f, [0x1457] = 0x613c, [0x1458] = 0x612c, + [0x1459] = 0x6134, [0x145a] = 0x613d, [0x145b] = 0x6142, [0x145c] = 0x6144, + [0x145d] = 0x6173, [0x145e] = 0x6177, [0x145f] = 0x6158, [0x1460] = 0x6159, + [0x1461] = 0x615a, [0x1462] = 0x616b, [0x1463] = 0x6174, [0x1464] = 0x616f, + [0x1465] = 0x6165, [0x1466] = 0x6171, [0x1467] = 0x615f, [0x1468] = 0x615d, + [0x1469] = 0x6153, [0x146a] = 0x6175, [0x146b] = 0x6199, [0x146c] = 0x6196, + [0x146d] = 0x6187, [0x146e] = 0x61ac, [0x146f] = 0x6194, [0x1470] = 0x619a, + [0x1471] = 0x618a, [0x1472] = 0x6191, [0x1473] = 0x61ab, [0x1474] = 0x61ae, + [0x1475] = 0x61cc, [0x1476] = 0x61ca, [0x1477] = 0x61c9, [0x1478] = 0x61f7, + [0x1479] = 0x61c8, [0x147a] = 0x61c3, [0x147b] = 0x61c6, [0x147c] = 0x61ba, + [0x147d] = 0x61cb, [0x147e] = 0x7f79, [0x147f] = 0x61cd, [0x1480] = 0x61e6, + [0x1481] = 0x61e3, [0x1482] = 0x61f6, [0x1483] = 0x61fa, [0x1484] = 0x61f4, + [0x1485] = 0x61ff, [0x1486] = 0x61fd, [0x1487] = 0x61fc, [0x1488] = 0x61fe, + [0x1489] = 0x6200, [0x148a] = 0x6208, [0x148b] = 0x6209, [0x148c] = 0x620d, + [0x148d] = 0x620c, [0x148e] = 0x6214, [0x148f] = 0x621b, [0x1490] = 0x621e, + [0x1491] = 0x6221, [0x1492] = 0x622a, [0x1493] = 0x622e, [0x1494] = 0x6230, + [0x1495] = 0x6232, [0x1496] = 0x6233, [0x1497] = 0x6241, [0x1498] = 0x624e, + [0x1499] = 0x625e, [0x149a] = 0x6263, [0x149b] = 0x625b, [0x149c] = 0x6260, + [0x149d] = 0x6268, [0x149e] = 0x627c, [0x149f] = 0x6282, [0x14a0] = 0x6289, + [0x14a1] = 0x627e, [0x14a2] = 0x6292, [0x14a3] = 0x6293, [0x14a4] = 0x6296, + [0x14a5] = 0x62d4, [0x14a6] = 0x6283, [0x14a7] = 0x6294, [0x14a8] = 0x62d7, + [0x14a9] = 0x62d1, [0x14aa] = 0x62bb, [0x14ab] = 0x62cf, [0x14ac] = 0x62ff, + [0x14ad] = 0x62c6, [0x14ae] = 0x64d4, [0x14af] = 0x62c8, [0x14b0] = 0x62dc, + [0x14b1] = 0x62cc, [0x14b2] = 0x62ca, [0x14b3] = 0x62c2, [0x14b4] = 0x62c7, + [0x14b5] = 0x629b, [0x14b6] = 0x62c9, [0x14b7] = 0x630c, [0x14b8] = 0x62ee, + [0x14b9] = 0x62f1, [0x14ba] = 0x6327, [0x14bb] = 0x6302, [0x14bc] = 0x6308, + [0x14bd] = 0x62ef, [0x14be] = 0x62f5, [0x14bf] = 0x6350, [0x14c0] = 0x633e, + [0x14c1] = 0x634d, [0x14c2] = 0x641c, [0x14c3] = 0x634f, [0x14c4] = 0x6396, + [0x14c5] = 0x638e, [0x14c6] = 0x6380, [0x14c7] = 0x63ab, [0x14c8] = 0x6376, + [0x14c9] = 0x63a3, [0x14ca] = 0x638f, [0x14cb] = 0x6389, [0x14cc] = 0x639f, + [0x14cd] = 0x63b5, [0x14ce] = 0x636b, [0x14cf] = 0x6369, [0x14d0] = 0x63be, + [0x14d1] = 0x63e9, [0x14d2] = 0x63c0, [0x14d3] = 0x63c6, [0x14d4] = 0x63e3, + [0x14d5] = 0x63c9, [0x14d6] = 0x63d2, [0x14d7] = 0x63f6, [0x14d8] = 0x63c4, + [0x14d9] = 0x6416, [0x14da] = 0x6434, [0x14db] = 0x6406, [0x14dc] = 0x6413, + [0x14dd] = 0x6426, [0x14de] = 0x6436, [0x14df] = 0x651d, [0x14e0] = 0x6417, + [0x14e1] = 0x6428, [0x14e2] = 0x640f, [0x14e3] = 0x6467, [0x14e4] = 0x646f, + [0x14e5] = 0x6476, [0x14e6] = 0x644e, [0x14e7] = 0x652a, [0x14e8] = 0x6495, + [0x14e9] = 0x6493, [0x14ea] = 0x64a5, [0x14eb] = 0x64a9, [0x14ec] = 0x6488, + [0x14ed] = 0x64bc, [0x14ee] = 0x64da, [0x14ef] = 0x64d2, [0x14f0] = 0x64c5, + [0x14f1] = 0x64c7, [0x14f2] = 0x64bb, [0x14f3] = 0x64d8, [0x14f4] = 0x64c2, + [0x14f5] = 0x64f1, [0x14f6] = 0x64e7, [0x14f7] = 0x8209, [0x14f8] = 0x64e0, + [0x14f9] = 0x64e1, [0x14fa] = 0x62ac, [0x14fb] = 0x64e3, [0x14fc] = 0x64ef, + [0x14fd] = 0x652c, [0x14fe] = 0x64f6, [0x14ff] = 0x64f4, [0x1500] = 0x64f2, + [0x1501] = 0x64fa, [0x1502] = 0x6500, [0x1503] = 0x64fd, [0x1504] = 0x6518, + [0x1505] = 0x651c, [0x1506] = 0x6505, [0x1507] = 0x6524, [0x1508] = 0x6523, + [0x1509] = 0x652b, [0x150a] = 0x6534, [0x150b] = 0x6535, [0x150c] = 0x6537, + [0x150d] = 0x6536, [0x150e] = 0x6538, [0x150f] = 0x754b, [0x1510] = 0x6548, + [0x1511] = 0x6556, [0x1512] = 0x6555, [0x1513] = 0x654d, [0x1514] = 0x6558, + [0x1515] = 0x655e, [0x1516] = 0x655d, [0x1517] = 0x6572, [0x1518] = 0x6578, + [0x1519] = 0x6582, [0x151a] = 0x6583, [0x151b] = 0x8b8a, [0x151c] = 0x659b, + [0x151d] = 0x659f, [0x151e] = 0x65ab, [0x151f] = 0x65b7, [0x1520] = 0x65c3, + [0x1521] = 0x65c6, [0x1522] = 0x65c1, [0x1523] = 0x65c4, [0x1524] = 0x65cc, + [0x1525] = 0x65d2, [0x1526] = 0x65db, [0x1527] = 0x65d9, [0x1528] = 0x65e0, + [0x1529] = 0x65e1, [0x152a] = 0x65f1, [0x152b] = 0x6772, [0x152c] = 0x660a, + [0x152d] = 0x6603, [0x152e] = 0x65fb, [0x152f] = 0x6773, [0x1530] = 0x6635, + [0x1531] = 0x6636, [0x1532] = 0x6634, [0x1533] = 0x661c, [0x1534] = 0x664f, + [0x1535] = 0x6644, [0x1536] = 0x6649, [0x1537] = 0x6641, [0x1538] = 0x665e, + [0x1539] = 0x665d, [0x153a] = 0x6664, [0x153b] = 0x6667, [0x153c] = 0x6668, + [0x153d] = 0x665f, [0x153e] = 0x6662, [0x153f] = 0x6670, [0x1540] = 0x6683, + [0x1541] = 0x6688, [0x1542] = 0x668e, [0x1543] = 0x6689, [0x1544] = 0x6684, + [0x1545] = 0x6698, [0x1546] = 0x669d, [0x1547] = 0x66c1, [0x1548] = 0x66b9, + [0x1549] = 0x66c9, [0x154a] = 0x66be, [0x154b] = 0x66bc, [0x154c] = 0x66c4, + [0x154d] = 0x66b8, [0x154e] = 0x66d6, [0x154f] = 0x66da, [0x1550] = 0x66e0, + [0x1551] = 0x663f, [0x1552] = 0x66e6, [0x1553] = 0x66e9, [0x1554] = 0x66f0, + [0x1555] = 0x66f5, [0x1556] = 0x66f7, [0x1557] = 0x670f, [0x1558] = 0x6716, + [0x1559] = 0x671e, [0x155a] = 0x6726, [0x155b] = 0x6727, [0x155c] = 0x9738, + [0x155d] = 0x672e, [0x155e] = 0x673f, [0x155f] = 0x6736, [0x1560] = 0x6741, + [0x1561] = 0x6738, [0x1562] = 0x6737, [0x1563] = 0x6746, [0x1564] = 0x675e, + [0x1565] = 0x6760, [0x1566] = 0x6759, [0x1567] = 0x6763, [0x1568] = 0x6764, + [0x1569] = 0x6789, [0x156a] = 0x6770, [0x156b] = 0x67a9, [0x156c] = 0x677c, + [0x156d] = 0x676a, [0x156e] = 0x678c, [0x156f] = 0x678b, [0x1570] = 0x67a6, + [0x1571] = 0x67a1, [0x1572] = 0x6785, [0x1573] = 0x67b7, [0x1574] = 0x67ef, + [0x1575] = 0x67b4, [0x1576] = 0x67ec, [0x1577] = 0x67b3, [0x1578] = 0x67e9, + [0x1579] = 0x67b8, [0x157a] = 0x67e4, [0x157b] = 0x67de, [0x157c] = 0x67dd, + [0x157d] = 0x67e2, [0x157e] = 0x67ee, [0x157f] = 0x67b9, [0x1580] = 0x67ce, + [0x1581] = 0x67c6, [0x1582] = 0x67e7, [0x1583] = 0x6a9c, [0x1584] = 0x681e, + [0x1585] = 0x6846, [0x1586] = 0x6829, [0x1587] = 0x6840, [0x1588] = 0x684d, + [0x1589] = 0x6832, [0x158a] = 0x684e, [0x158b] = 0x68b3, [0x158c] = 0x682b, + [0x158d] = 0x6859, [0x158e] = 0x6863, [0x158f] = 0x6877, [0x1590] = 0x687f, + [0x1591] = 0x689f, [0x1592] = 0x688f, [0x1593] = 0x68ad, [0x1594] = 0x6894, + [0x1595] = 0x689d, [0x1596] = 0x689b, [0x1597] = 0x6883, [0x1598] = 0x6aae, + [0x1599] = 0x68b9, [0x159a] = 0x6874, [0x159b] = 0x68b5, [0x159c] = 0x68a0, + [0x159d] = 0x68ba, [0x159e] = 0x690f, [0x159f] = 0x688d, [0x15a0] = 0x687e, + [0x15a1] = 0x6901, [0x15a2] = 0x68ca, [0x15a3] = 0x6908, [0x15a4] = 0x68d8, + [0x15a5] = 0x6922, [0x15a6] = 0x6926, [0x15a7] = 0x68e1, [0x15a8] = 0x690c, + [0x15a9] = 0x68cd, [0x15aa] = 0x68d4, [0x15ab] = 0x68e7, [0x15ac] = 0x68d5, + [0x15ad] = 0x6936, [0x15ae] = 0x6912, [0x15af] = 0x6904, [0x15b0] = 0x68d7, + [0x15b1] = 0x68e3, [0x15b2] = 0x6925, [0x15b3] = 0x68f9, [0x15b4] = 0x68e0, + [0x15b5] = 0x68ef, [0x15b6] = 0x6928, [0x15b7] = 0x692a, [0x15b8] = 0x691a, + [0x15b9] = 0x6923, [0x15ba] = 0x6921, [0x15bb] = 0x68c6, [0x15bc] = 0x6979, + [0x15bd] = 0x6977, [0x15be] = 0x695c, [0x15bf] = 0x6978, [0x15c0] = 0x696b, + [0x15c1] = 0x6954, [0x15c2] = 0x697e, [0x15c3] = 0x696e, [0x15c4] = 0x6939, + [0x15c5] = 0x6974, [0x15c6] = 0x693d, [0x15c7] = 0x6959, [0x15c8] = 0x6930, + [0x15c9] = 0x6961, [0x15ca] = 0x695e, [0x15cb] = 0x695d, [0x15cc] = 0x6981, + [0x15cd] = 0x696a, [0x15ce] = 0x69b2, [0x15cf] = 0x69ae, [0x15d0] = 0x69d0, + [0x15d1] = 0x69bf, [0x15d2] = 0x69c1, [0x15d3] = 0x69d3, [0x15d4] = 0x69be, + [0x15d5] = 0x69ce, [0x15d6] = 0x5be8, [0x15d7] = 0x69ca, [0x15d8] = 0x69dd, + [0x15d9] = 0x69bb, [0x15da] = 0x69c3, [0x15db] = 0x69a7, [0x15dc] = 0x6a2e, + [0x15dd] = 0x6991, [0x15de] = 0x69a0, [0x15df] = 0x699c, [0x15e0] = 0x6995, + [0x15e1] = 0x69b4, [0x15e2] = 0x69de, [0x15e3] = 0x69e8, [0x15e4] = 0x6a02, + [0x15e5] = 0x6a1b, [0x15e6] = 0x69ff, [0x15e7] = 0x6b0a, [0x15e8] = 0x69f9, + [0x15e9] = 0x69f2, [0x15ea] = 0x69e7, [0x15eb] = 0x6a05, [0x15ec] = 0x69b1, + [0x15ed] = 0x6a1e, [0x15ee] = 0x69ed, [0x15ef] = 0x6a14, [0x15f0] = 0x69eb, + [0x15f1] = 0x6a0a, [0x15f2] = 0x6a12, [0x15f3] = 0x6ac1, [0x15f4] = 0x6a23, + [0x15f5] = 0x6a13, [0x15f6] = 0x6a44, [0x15f7] = 0x6a0c, [0x15f8] = 0x6a72, + [0x15f9] = 0x6a36, [0x15fa] = 0x6a78, [0x15fb] = 0x6a47, [0x15fc] = 0x6a62, + [0x15fd] = 0x6a59, [0x15fe] = 0x6a66, [0x15ff] = 0x6a48, [0x1600] = 0x6a38, + [0x1601] = 0x6a22, [0x1602] = 0x6a90, [0x1603] = 0x6a8d, [0x1604] = 0x6aa0, + [0x1605] = 0x6a84, [0x1606] = 0x6aa2, [0x1607] = 0x6aa3, [0x1608] = 0x6a97, + [0x1609] = 0x8617, [0x160a] = 0x6abb, [0x160b] = 0x6ac3, [0x160c] = 0x6ac2, + [0x160d] = 0x6ab8, [0x160e] = 0x6ab3, [0x160f] = 0x6aac, [0x1610] = 0x6ade, + [0x1611] = 0x6ad1, [0x1612] = 0x6adf, [0x1613] = 0x6aaa, [0x1614] = 0x6ada, + [0x1615] = 0x6aea, [0x1616] = 0x6afb, [0x1617] = 0x6b05, [0x1618] = 0x8616, + [0x1619] = 0x6afa, [0x161a] = 0x6b12, [0x161b] = 0x6b16, [0x161c] = 0x9b31, + [0x161d] = 0x6b1f, [0x161e] = 0x6b38, [0x161f] = 0x6b37, [0x1620] = 0x76dc, + [0x1621] = 0x6b39, [0x1622] = 0x98ee, [0x1623] = 0x6b47, [0x1624] = 0x6b43, + [0x1625] = 0x6b49, [0x1626] = 0x6b50, [0x1627] = 0x6b59, [0x1628] = 0x6b54, + [0x1629] = 0x6b5b, [0x162a] = 0x6b5f, [0x162b] = 0x6b61, [0x162c] = 0x6b78, + [0x162d] = 0x6b79, [0x162e] = 0x6b7f, [0x162f] = 0x6b80, [0x1630] = 0x6b84, + [0x1631] = 0x6b83, [0x1632] = 0x6b8d, [0x1633] = 0x6b98, [0x1634] = 0x6b95, + [0x1635] = 0x6b9e, [0x1636] = 0x6ba4, [0x1637] = 0x6baa, [0x1638] = 0x6bab, + [0x1639] = 0x6baf, [0x163a] = 0x6bb2, [0x163b] = 0x6bb1, [0x163c] = 0x6bb3, + [0x163d] = 0x6bb7, [0x163e] = 0x6bbc, [0x163f] = 0x6bc6, [0x1640] = 0x6bcb, + [0x1641] = 0x6bd3, [0x1642] = 0x6bdf, [0x1643] = 0x6bec, [0x1644] = 0x6beb, + [0x1645] = 0x6bf3, [0x1646] = 0x6bef, [0x1647] = 0x9ebe, [0x1648] = 0x6c08, + [0x1649] = 0x6c13, [0x164a] = 0x6c14, [0x164b] = 0x6c1b, [0x164c] = 0x6c24, + [0x164d] = 0x6c23, [0x164e] = 0x6c5e, [0x164f] = 0x6c55, [0x1650] = 0x6c62, + [0x1651] = 0x6c6a, [0x1652] = 0x6c82, [0x1653] = 0x6c8d, [0x1654] = 0x6c9a, + [0x1655] = 0x6c81, [0x1656] = 0x6c9b, [0x1657] = 0x6c7e, [0x1658] = 0x6c68, + [0x1659] = 0x6c73, [0x165a] = 0x6c92, [0x165b] = 0x6c90, [0x165c] = 0x6cc4, + [0x165d] = 0x6cf1, [0x165e] = 0x6cd3, [0x165f] = 0x6cbd, [0x1660] = 0x6cd7, + [0x1661] = 0x6cc5, [0x1662] = 0x6cdd, [0x1663] = 0x6cae, [0x1664] = 0x6cb1, + [0x1665] = 0x6cbe, [0x1666] = 0x6cba, [0x1667] = 0x6cdb, [0x1668] = 0x6cef, + [0x1669] = 0x6cd9, [0x166a] = 0x6cea, [0x166b] = 0x6d1f, [0x166c] = 0x884d, + [0x166d] = 0x6d36, [0x166e] = 0x6d2b, [0x166f] = 0x6d3d, [0x1670] = 0x6d38, + [0x1671] = 0x6d19, [0x1672] = 0x6d35, [0x1673] = 0x6d33, [0x1674] = 0x6d12, + [0x1675] = 0x6d0c, [0x1676] = 0x6d63, [0x1677] = 0x6d93, [0x1678] = 0x6d64, + [0x1679] = 0x6d5a, [0x167a] = 0x6d79, [0x167b] = 0x6d59, [0x167c] = 0x6d8e, + [0x167d] = 0x6d95, [0x167e] = 0x6fe4, [0x167f] = 0x6d85, [0x1680] = 0x6df9, + [0x1681] = 0x6e15, [0x1682] = 0x6e0a, [0x1683] = 0x6db5, [0x1684] = 0x6dc7, + [0x1685] = 0x6de6, [0x1686] = 0x6db8, [0x1687] = 0x6dc6, [0x1688] = 0x6dec, + [0x1689] = 0x6dde, [0x168a] = 0x6dcc, [0x168b] = 0x6de8, [0x168c] = 0x6dd2, + [0x168d] = 0x6dc5, [0x168e] = 0x6dfa, [0x168f] = 0x6dd9, [0x1690] = 0x6de4, + [0x1691] = 0x6dd5, [0x1692] = 0x6dea, [0x1693] = 0x6dee, [0x1694] = 0x6e2d, + [0x1695] = 0x6e6e, [0x1696] = 0x6e2e, [0x1697] = 0x6e19, [0x1698] = 0x6e72, + [0x1699] = 0x6e5f, [0x169a] = 0x6e3e, [0x169b] = 0x6e23, [0x169c] = 0x6e6b, + [0x169d] = 0x6e2b, [0x169e] = 0x6e76, [0x169f] = 0x6e4d, [0x16a0] = 0x6e1f, + [0x16a1] = 0x6e43, [0x16a2] = 0x6e3a, [0x16a3] = 0x6e4e, [0x16a4] = 0x6e24, + [0x16a5] = 0x6eff, [0x16a6] = 0x6e1d, [0x16a7] = 0x6e38, [0x16a8] = 0x6e82, + [0x16a9] = 0x6eaa, [0x16aa] = 0x6e98, [0x16ab] = 0x6ec9, [0x16ac] = 0x6eb7, + [0x16ad] = 0x6ed3, [0x16ae] = 0x6ebd, [0x16af] = 0x6eaf, [0x16b0] = 0x6ec4, + [0x16b1] = 0x6eb2, [0x16b2] = 0x6ed4, [0x16b3] = 0x6ed5, [0x16b4] = 0x6e8f, + [0x16b5] = 0x6ea5, [0x16b6] = 0x6ec2, [0x16b7] = 0x6e9f, [0x16b8] = 0x6f41, + [0x16b9] = 0x6f11, [0x16ba] = 0x704c, [0x16bb] = 0x6eec, [0x16bc] = 0x6ef8, + [0x16bd] = 0x6efe, [0x16be] = 0x6f3f, [0x16bf] = 0x6ef2, [0x16c0] = 0x6f31, + [0x16c1] = 0x6eef, [0x16c2] = 0x6f32, [0x16c3] = 0x6ecc, [0x16c4] = 0x6f3e, + [0x16c5] = 0x6f13, [0x16c6] = 0x6ef7, [0x16c7] = 0x6f86, [0x16c8] = 0x6f7a, + [0x16c9] = 0x6f78, [0x16ca] = 0x6f81, [0x16cb] = 0x6f80, [0x16cc] = 0x6f6f, + [0x16cd] = 0x6f5b, [0x16ce] = 0x6ff3, [0x16cf] = 0x6f6d, [0x16d0] = 0x6f82, + [0x16d1] = 0x6f7c, [0x16d2] = 0x6f58, [0x16d3] = 0x6f8e, [0x16d4] = 0x6f91, + [0x16d5] = 0x6fc2, [0x16d6] = 0x6f66, [0x16d7] = 0x6fb3, [0x16d8] = 0x6fa3, + [0x16d9] = 0x6fa1, [0x16da] = 0x6fa4, [0x16db] = 0x6fb9, [0x16dc] = 0x6fc6, + [0x16dd] = 0x6faa, [0x16de] = 0x6fdf, [0x16df] = 0x6fd5, [0x16e0] = 0x6fec, + [0x16e1] = 0x6fd4, [0x16e2] = 0x6fd8, [0x16e3] = 0x6ff1, [0x16e4] = 0x6fee, + [0x16e5] = 0x6fdb, [0x16e6] = 0x7009, [0x16e7] = 0x700b, [0x16e8] = 0x6ffa, + [0x16e9] = 0x7011, [0x16ea] = 0x7001, [0x16eb] = 0x700f, [0x16ec] = 0x6ffe, + [0x16ed] = 0x701b, [0x16ee] = 0x701a, [0x16ef] = 0x6f74, [0x16f0] = 0x701d, + [0x16f1] = 0x7018, [0x16f2] = 0x701f, [0x16f3] = 0x7030, [0x16f4] = 0x703e, + [0x16f5] = 0x7032, [0x16f6] = 0x7051, [0x16f7] = 0x7063, [0x16f8] = 0x7099, + [0x16f9] = 0x7092, [0x16fa] = 0x70af, [0x16fb] = 0x70f1, [0x16fc] = 0x70ac, + [0x16fd] = 0x70b8, [0x16fe] = 0x70b3, [0x16ff] = 0x70ae, [0x1700] = 0x70df, + [0x1701] = 0x70cb, [0x1702] = 0x70dd, [0x1703] = 0x70d9, [0x1704] = 0x7109, + [0x1705] = 0x70fd, [0x1706] = 0x711c, [0x1707] = 0x7119, [0x1708] = 0x7165, + [0x1709] = 0x7155, [0x170a] = 0x7188, [0x170b] = 0x7166, [0x170c] = 0x7162, + [0x170d] = 0x714c, [0x170e] = 0x7156, [0x170f] = 0x716c, [0x1710] = 0x718f, + [0x1711] = 0x71fb, [0x1712] = 0x7184, [0x1713] = 0x7195, [0x1714] = 0x71a8, + [0x1715] = 0x71ac, [0x1716] = 0x71d7, [0x1717] = 0x71b9, [0x1718] = 0x71be, + [0x1719] = 0x71d2, [0x171a] = 0x71c9, [0x171b] = 0x71d4, [0x171c] = 0x71ce, + [0x171d] = 0x71e0, [0x171e] = 0x71ec, [0x171f] = 0x71e7, [0x1720] = 0x71f5, + [0x1721] = 0x71fc, [0x1722] = 0x71f9, [0x1723] = 0x71ff, [0x1724] = 0x720d, + [0x1725] = 0x7210, [0x1726] = 0x721b, [0x1727] = 0x7228, [0x1728] = 0x722d, + [0x1729] = 0x722c, [0x172a] = 0x7230, [0x172b] = 0x7232, [0x172c] = 0x723b, + [0x172d] = 0x723c, [0x172e] = 0x723f, [0x172f] = 0x7240, [0x1730] = 0x7246, + [0x1731] = 0x724b, [0x1732] = 0x7258, [0x1733] = 0x7274, [0x1734] = 0x727e, + [0x1735] = 0x7282, [0x1736] = 0x7281, [0x1737] = 0x7287, [0x1738] = 0x7292, + [0x1739] = 0x7296, [0x173a] = 0x72a2, [0x173b] = 0x72a7, [0x173c] = 0x72b9, + [0x173d] = 0x72b2, [0x173e] = 0x72c3, [0x173f] = 0x72c6, [0x1740] = 0x72c4, + [0x1741] = 0x72ce, [0x1742] = 0x72d2, [0x1743] = 0x72e2, [0x1744] = 0x72e0, + [0x1745] = 0x72e1, [0x1746] = 0x72f9, [0x1747] = 0x72f7, [0x1748] = 0x500f, + [0x1749] = 0x7317, [0x174a] = 0x730a, [0x174b] = 0x731c, [0x174c] = 0x7316, + [0x174d] = 0x731d, [0x174e] = 0x7334, [0x174f] = 0x732f, [0x1750] = 0x7329, + [0x1751] = 0x7325, [0x1752] = 0x733e, [0x1753] = 0x734e, [0x1754] = 0x734f, + [0x1755] = 0x9ed8, [0x1756] = 0x7357, [0x1757] = 0x736a, [0x1758] = 0x7368, + [0x1759] = 0x7370, [0x175a] = 0x7378, [0x175b] = 0x7375, [0x175c] = 0x737b, + [0x175d] = 0x737a, [0x175e] = 0x73c8, [0x175f] = 0x73b3, [0x1760] = 0x73ce, + [0x1761] = 0x73bb, [0x1762] = 0x73c0, [0x1763] = 0x73e5, [0x1764] = 0x73ee, + [0x1765] = 0x73de, [0x1766] = 0x74a2, [0x1767] = 0x7405, [0x1768] = 0x746f, + [0x1769] = 0x7425, [0x176a] = 0x73f8, [0x176b] = 0x7432, [0x176c] = 0x743a, + [0x176d] = 0x7455, [0x176e] = 0x743f, [0x176f] = 0x745f, [0x1770] = 0x7459, + [0x1771] = 0x7441, [0x1772] = 0x745c, [0x1773] = 0x7469, [0x1774] = 0x7470, + [0x1775] = 0x7463, [0x1776] = 0x746a, [0x1777] = 0x7476, [0x1778] = 0x747e, + [0x1779] = 0x748b, [0x177a] = 0x749e, [0x177b] = 0x74a7, [0x177c] = 0x74ca, + [0x177d] = 0x74cf, [0x177e] = 0x74d4, [0x177f] = 0x73f1, [0x1780] = 0x74e0, + [0x1781] = 0x74e3, [0x1782] = 0x74e7, [0x1783] = 0x74e9, [0x1784] = 0x74ee, + [0x1785] = 0x74f2, [0x1786] = 0x74f0, [0x1787] = 0x74f1, [0x1788] = 0x74f8, + [0x1789] = 0x74f7, [0x178a] = 0x7504, [0x178b] = 0x7503, [0x178c] = 0x7505, + [0x178d] = 0x750c, [0x178e] = 0x750e, [0x178f] = 0x750d, [0x1790] = 0x7515, + [0x1791] = 0x7513, [0x1792] = 0x751e, [0x1793] = 0x7526, [0x1794] = 0x752c, + [0x1795] = 0x753c, [0x1796] = 0x7544, [0x1797] = 0x754d, [0x1798] = 0x754a, + [0x1799] = 0x7549, [0x179a] = 0x755b, [0x179b] = 0x7546, [0x179c] = 0x755a, + [0x179d] = 0x7569, [0x179e] = 0x7564, [0x179f] = 0x7567, [0x17a0] = 0x756b, + [0x17a1] = 0x756d, [0x17a2] = 0x7578, [0x17a3] = 0x7576, [0x17a4] = 0x7586, + [0x17a5] = 0x7587, [0x17a6] = 0x7574, [0x17a7] = 0x758a, [0x17a8] = 0x7589, + [0x17a9] = 0x7582, [0x17aa] = 0x7594, [0x17ab] = 0x759a, [0x17ac] = 0x759d, + [0x17ad] = 0x75a5, [0x17ae] = 0x75a3, [0x17af] = 0x75c2, [0x17b0] = 0x75b3, + [0x17b1] = 0x75c3, [0x17b2] = 0x75b5, [0x17b3] = 0x75bd, [0x17b4] = 0x75b8, + [0x17b5] = 0x75bc, [0x17b6] = 0x75b1, [0x17b7] = 0x75cd, [0x17b8] = 0x75ca, + [0x17b9] = 0x75d2, [0x17ba] = 0x75d9, [0x17bb] = 0x75e3, [0x17bc] = 0x75de, + [0x17bd] = 0x75fe, [0x17be] = 0x75ff, [0x17bf] = 0x75fc, [0x17c0] = 0x7601, + [0x17c1] = 0x75f0, [0x17c2] = 0x75fa, [0x17c3] = 0x75f2, [0x17c4] = 0x75f3, + [0x17c5] = 0x760b, [0x17c6] = 0x760d, [0x17c7] = 0x7609, [0x17c8] = 0x761f, + [0x17c9] = 0x7627, [0x17ca] = 0x7620, [0x17cb] = 0x7621, [0x17cc] = 0x7622, + [0x17cd] = 0x7624, [0x17ce] = 0x7634, [0x17cf] = 0x7630, [0x17d0] = 0x763b, + [0x17d1] = 0x7647, [0x17d2] = 0x7648, [0x17d3] = 0x7646, [0x17d4] = 0x765c, + [0x17d5] = 0x7658, [0x17d6] = 0x7661, [0x17d7] = 0x7662, [0x17d8] = 0x7668, + [0x17d9] = 0x7669, [0x17da] = 0x766a, [0x17db] = 0x7667, [0x17dc] = 0x766c, + [0x17dd] = 0x7670, [0x17de] = 0x7672, [0x17df] = 0x7676, [0x17e0] = 0x7678, + [0x17e1] = 0x767c, [0x17e2] = 0x7680, [0x17e3] = 0x7683, [0x17e4] = 0x7688, + [0x17e5] = 0x768b, [0x17e6] = 0x768e, [0x17e7] = 0x7696, [0x17e8] = 0x7693, + [0x17e9] = 0x7699, [0x17ea] = 0x769a, [0x17eb] = 0x76b0, [0x17ec] = 0x76b4, + [0x17ed] = 0x76b8, [0x17ee] = 0x76b9, [0x17ef] = 0x76ba, [0x17f0] = 0x76c2, + [0x17f1] = 0x76cd, [0x17f2] = 0x76d6, [0x17f3] = 0x76d2, [0x17f4] = 0x76de, + [0x17f5] = 0x76e1, [0x17f6] = 0x76e5, [0x17f7] = 0x76e7, [0x17f8] = 0x76ea, + [0x17f9] = 0x862f, [0x17fa] = 0x76fb, [0x17fb] = 0x7708, [0x17fc] = 0x7707, + [0x17fd] = 0x7704, [0x17fe] = 0x7729, [0x17ff] = 0x7724, [0x1800] = 0x771e, + [0x1801] = 0x7725, [0x1802] = 0x7726, [0x1803] = 0x771b, [0x1804] = 0x7737, + [0x1805] = 0x7738, [0x1806] = 0x7747, [0x1807] = 0x775a, [0x1808] = 0x7768, + [0x1809] = 0x776b, [0x180a] = 0x775b, [0x180b] = 0x7765, [0x180c] = 0x777f, + [0x180d] = 0x777e, [0x180e] = 0x7779, [0x180f] = 0x778e, [0x1810] = 0x778b, + [0x1811] = 0x7791, [0x1812] = 0x77a0, [0x1813] = 0x779e, [0x1814] = 0x77b0, + [0x1815] = 0x77b6, [0x1816] = 0x77b9, [0x1817] = 0x77bf, [0x1818] = 0x77bc, + [0x1819] = 0x77bd, [0x181a] = 0x77bb, [0x181b] = 0x77c7, [0x181c] = 0x77cd, + [0x181d] = 0x77d7, [0x181e] = 0x77da, [0x181f] = 0x77dc, [0x1820] = 0x77e3, + [0x1821] = 0x77ee, [0x1822] = 0x77fc, [0x1823] = 0x780c, [0x1824] = 0x7812, + [0x1825] = 0x7926, [0x1826] = 0x7820, [0x1827] = 0x792a, [0x1828] = 0x7845, + [0x1829] = 0x788e, [0x182a] = 0x7874, [0x182b] = 0x7886, [0x182c] = 0x787c, + [0x182d] = 0x789a, [0x182e] = 0x788c, [0x182f] = 0x78a3, [0x1830] = 0x78b5, + [0x1831] = 0x78aa, [0x1832] = 0x78af, [0x1833] = 0x78d1, [0x1834] = 0x78c6, + [0x1835] = 0x78cb, [0x1836] = 0x78d4, [0x1837] = 0x78be, [0x1838] = 0x78bc, + [0x1839] = 0x78c5, [0x183a] = 0x78ca, [0x183b] = 0x78ec, [0x183c] = 0x78e7, + [0x183d] = 0x78da, [0x183e] = 0x78fd, [0x183f] = 0x78f4, [0x1840] = 0x7907, + [0x1841] = 0x7912, [0x1842] = 0x7911, [0x1843] = 0x7919, [0x1844] = 0x792c, + [0x1845] = 0x792b, [0x1846] = 0x7940, [0x1847] = 0x7960, [0x1848] = 0x7957, + [0x1849] = 0x795f, [0x184a] = 0x795a, [0x184b] = 0x7955, [0x184c] = 0x7953, + [0x184d] = 0x797a, [0x184e] = 0x797f, [0x184f] = 0x798a, [0x1850] = 0x799d, + [0x1851] = 0x79a7, [0x1852] = 0x9f4b, [0x1853] = 0x79aa, [0x1854] = 0x79ae, + [0x1855] = 0x79b3, [0x1856] = 0x79b9, [0x1857] = 0x79ba, [0x1858] = 0x79c9, + [0x1859] = 0x79d5, [0x185a] = 0x79e7, [0x185b] = 0x79ec, [0x185c] = 0x79e1, + [0x185d] = 0x79e3, [0x185e] = 0x7a08, [0x185f] = 0x7a0d, [0x1860] = 0x7a18, + [0x1861] = 0x7a19, [0x1862] = 0x7a20, [0x1863] = 0x7a1f, [0x1864] = 0x7980, + [0x1865] = 0x7a31, [0x1866] = 0x7a3b, [0x1867] = 0x7a3e, [0x1868] = 0x7a37, + [0x1869] = 0x7a43, [0x186a] = 0x7a57, [0x186b] = 0x7a49, [0x186c] = 0x7a61, + [0x186d] = 0x7a62, [0x186e] = 0x7a69, [0x186f] = 0x9f9d, [0x1870] = 0x7a70, + [0x1871] = 0x7a79, [0x1872] = 0x7a7d, [0x1873] = 0x7a88, [0x1874] = 0x7a97, + [0x1875] = 0x7a95, [0x1876] = 0x7a98, [0x1877] = 0x7a96, [0x1878] = 0x7aa9, + [0x1879] = 0x7ac8, [0x187a] = 0x7ab0, [0x187b] = 0x7ab6, [0x187c] = 0x7ac5, + [0x187d] = 0x7ac4, [0x187e] = 0x7abf, [0x187f] = 0x9083, [0x1880] = 0x7ac7, + [0x1881] = 0x7aca, [0x1882] = 0x7acd, [0x1883] = 0x7acf, [0x1884] = 0x7ad5, + [0x1885] = 0x7ad3, [0x1886] = 0x7ad9, [0x1887] = 0x7ada, [0x1888] = 0x7add, + [0x1889] = 0x7ae1, [0x188a] = 0x7ae2, [0x188b] = 0x7ae6, [0x188c] = 0x7aed, + [0x188d] = 0x7af0, [0x188e] = 0x7b02, [0x188f] = 0x7b0f, [0x1890] = 0x7b0a, + [0x1891] = 0x7b06, [0x1892] = 0x7b33, [0x1893] = 0x7b18, [0x1894] = 0x7b19, + [0x1895] = 0x7b1e, [0x1896] = 0x7b35, [0x1897] = 0x7b28, [0x1898] = 0x7b36, + [0x1899] = 0x7b50, [0x189a] = 0x7b7a, [0x189b] = 0x7b04, [0x189c] = 0x7b4d, + [0x189d] = 0x7b0b, [0x189e] = 0x7b4c, [0x189f] = 0x7b45, [0x18a0] = 0x7b75, + [0x18a1] = 0x7b65, [0x18a2] = 0x7b74, [0x18a3] = 0x7b67, [0x18a4] = 0x7b70, + [0x18a5] = 0x7b71, [0x18a6] = 0x7b6c, [0x18a7] = 0x7b6e, [0x18a8] = 0x7b9d, + [0x18a9] = 0x7b98, [0x18aa] = 0x7b9f, [0x18ab] = 0x7b8d, [0x18ac] = 0x7b9c, + [0x18ad] = 0x7b9a, [0x18ae] = 0x7b8b, [0x18af] = 0x7b92, [0x18b0] = 0x7b8f, + [0x18b1] = 0x7b5d, [0x18b2] = 0x7b99, [0x18b3] = 0x7bcb, [0x18b4] = 0x7bc1, + [0x18b5] = 0x7bcc, [0x18b6] = 0x7bcf, [0x18b7] = 0x7bb4, [0x18b8] = 0x7bc6, + [0x18b9] = 0x7bdd, [0x18ba] = 0x7be9, [0x18bb] = 0x7c11, [0x18bc] = 0x7c14, + [0x18bd] = 0x7be6, [0x18be] = 0x7be5, [0x18bf] = 0x7c60, [0x18c0] = 0x7c00, + [0x18c1] = 0x7c07, [0x18c2] = 0x7c13, [0x18c3] = 0x7bf3, [0x18c4] = 0x7bf7, + [0x18c5] = 0x7c17, [0x18c6] = 0x7c0d, [0x18c7] = 0x7bf6, [0x18c8] = 0x7c23, + [0x18c9] = 0x7c27, [0x18ca] = 0x7c2a, [0x18cb] = 0x7c1f, [0x18cc] = 0x7c37, + [0x18cd] = 0x7c2b, [0x18ce] = 0x7c3d, [0x18cf] = 0x7c4c, [0x18d0] = 0x7c43, + [0x18d1] = 0x7c54, [0x18d2] = 0x7c4f, [0x18d3] = 0x7c40, [0x18d4] = 0x7c50, + [0x18d5] = 0x7c58, [0x18d6] = 0x7c5f, [0x18d7] = 0x7c64, [0x18d8] = 0x7c56, + [0x18d9] = 0x7c65, [0x18da] = 0x7c6c, [0x18db] = 0x7c75, [0x18dc] = 0x7c83, + [0x18dd] = 0x7c90, [0x18de] = 0x7ca4, [0x18df] = 0x7cad, [0x18e0] = 0x7ca2, + [0x18e1] = 0x7cab, [0x18e2] = 0x7ca1, [0x18e3] = 0x7ca8, [0x18e4] = 0x7cb3, + [0x18e5] = 0x7cb2, [0x18e6] = 0x7cb1, [0x18e7] = 0x7cae, [0x18e8] = 0x7cb9, + [0x18e9] = 0x7cbd, [0x18ea] = 0x7cc0, [0x18eb] = 0x7cc5, [0x18ec] = 0x7cc2, + [0x18ed] = 0x7cd8, [0x18ee] = 0x7cd2, [0x18ef] = 0x7cdc, [0x18f0] = 0x7ce2, + [0x18f1] = 0x9b3b, [0x18f2] = 0x7cef, [0x18f3] = 0x7cf2, [0x18f4] = 0x7cf4, + [0x18f5] = 0x7cf6, [0x18f6] = 0x7cfa, [0x18f7] = 0x7d06, [0x18f8] = 0x7d02, + [0x18f9] = 0x7d1c, [0x18fa] = 0x7d15, [0x18fb] = 0x7d0a, [0x18fc] = 0x7d45, + [0x18fd] = 0x7d4b, [0x18fe] = 0x7d2e, [0x18ff] = 0x7d32, [0x1900] = 0x7d3f, + [0x1901] = 0x7d35, [0x1902] = 0x7d46, [0x1903] = 0x7d73, [0x1904] = 0x7d56, + [0x1905] = 0x7d4e, [0x1906] = 0x7d72, [0x1907] = 0x7d68, [0x1908] = 0x7d6e, + [0x1909] = 0x7d4f, [0x190a] = 0x7d63, [0x190b] = 0x7d93, [0x190c] = 0x7d89, + [0x190d] = 0x7d5b, [0x190e] = 0x7d8f, [0x190f] = 0x7d7d, [0x1910] = 0x7d9b, + [0x1911] = 0x7dba, [0x1912] = 0x7dae, [0x1913] = 0x7da3, [0x1914] = 0x7db5, + [0x1915] = 0x7dc7, [0x1916] = 0x7dbd, [0x1917] = 0x7dab, [0x1918] = 0x7e3d, + [0x1919] = 0x7da2, [0x191a] = 0x7daf, [0x191b] = 0x7ddc, [0x191c] = 0x7db8, + [0x191d] = 0x7d9f, [0x191e] = 0x7db0, [0x191f] = 0x7dd8, [0x1920] = 0x7ddd, + [0x1921] = 0x7de4, [0x1922] = 0x7dde, [0x1923] = 0x7dfb, [0x1924] = 0x7df2, + [0x1925] = 0x7de1, [0x1926] = 0x7e05, [0x1927] = 0x7e0a, [0x1928] = 0x7e23, + [0x1929] = 0x7e21, [0x192a] = 0x7e12, [0x192b] = 0x7e31, [0x192c] = 0x7e1f, + [0x192d] = 0x7e09, [0x192e] = 0x7e0b, [0x192f] = 0x7e22, [0x1930] = 0x7e46, + [0x1931] = 0x7e66, [0x1932] = 0x7e3b, [0x1933] = 0x7e35, [0x1934] = 0x7e39, + [0x1935] = 0x7e43, [0x1936] = 0x7e37, [0x1937] = 0x7e32, [0x1938] = 0x7e3a, + [0x1939] = 0x7e67, [0x193a] = 0x7e5d, [0x193b] = 0x7e56, [0x193c] = 0x7e5e, + [0x193d] = 0x7e59, [0x193e] = 0x7e5a, [0x193f] = 0x7e79, [0x1940] = 0x7e6a, + [0x1941] = 0x7e69, [0x1942] = 0x7e7c, [0x1943] = 0x7e7b, [0x1944] = 0x7e83, + [0x1945] = 0x7dd5, [0x1946] = 0x7e7d, [0x1947] = 0x8fae, [0x1948] = 0x7e7f, + [0x1949] = 0x7e88, [0x194a] = 0x7e89, [0x194b] = 0x7e8c, [0x194c] = 0x7e92, + [0x194d] = 0x7e90, [0x194e] = 0x7e93, [0x194f] = 0x7e94, [0x1950] = 0x7e96, + [0x1951] = 0x7e8e, [0x1952] = 0x7e9b, [0x1953] = 0x7e9c, [0x1954] = 0x7f38, + [0x1955] = 0x7f3a, [0x1956] = 0x7f45, [0x1957] = 0x7f4c, [0x1958] = 0x7f4d, + [0x1959] = 0x7f4e, [0x195a] = 0x7f50, [0x195b] = 0x7f51, [0x195c] = 0x7f55, + [0x195d] = 0x7f54, [0x195e] = 0x7f58, [0x195f] = 0x7f5f, [0x1960] = 0x7f60, + [0x1961] = 0x7f68, [0x1962] = 0x7f69, [0x1963] = 0x7f67, [0x1964] = 0x7f78, + [0x1965] = 0x7f82, [0x1966] = 0x7f86, [0x1967] = 0x7f83, [0x1968] = 0x7f88, + [0x1969] = 0x7f87, [0x196a] = 0x7f8c, [0x196b] = 0x7f94, [0x196c] = 0x7f9e, + [0x196d] = 0x7f9d, [0x196e] = 0x7f9a, [0x196f] = 0x7fa3, [0x1970] = 0x7faf, + [0x1971] = 0x7fb2, [0x1972] = 0x7fb9, [0x1973] = 0x7fae, [0x1974] = 0x7fb6, + [0x1975] = 0x7fb8, [0x1976] = 0x8b71, [0x1977] = 0x7fc5, [0x1978] = 0x7fc6, + [0x1979] = 0x7fca, [0x197a] = 0x7fd5, [0x197b] = 0x7fd4, [0x197c] = 0x7fe1, + [0x197d] = 0x7fe6, [0x197e] = 0x7fe9, [0x197f] = 0x7ff3, [0x1980] = 0x7ff9, + [0x1981] = 0x98dc, [0x1982] = 0x8006, [0x1983] = 0x8004, [0x1984] = 0x800b, + [0x1985] = 0x8012, [0x1986] = 0x8018, [0x1987] = 0x8019, [0x1988] = 0x801c, + [0x1989] = 0x8021, [0x198a] = 0x8028, [0x198b] = 0x803f, [0x198c] = 0x803b, + [0x198d] = 0x804a, [0x198e] = 0x8046, [0x198f] = 0x8052, [0x1990] = 0x8058, + [0x1991] = 0x805a, [0x1992] = 0x805f, [0x1993] = 0x8062, [0x1994] = 0x8068, + [0x1995] = 0x8073, [0x1996] = 0x8072, [0x1997] = 0x8070, [0x1998] = 0x8076, + [0x1999] = 0x8079, [0x199a] = 0x807d, [0x199b] = 0x807f, [0x199c] = 0x8084, + [0x199d] = 0x8086, [0x199e] = 0x8085, [0x199f] = 0x809b, [0x19a0] = 0x8093, + [0x19a1] = 0x809a, [0x19a2] = 0x80ad, [0x19a3] = 0x5190, [0x19a4] = 0x80ac, + [0x19a5] = 0x80db, [0x19a6] = 0x80e5, [0x19a7] = 0x80d9, [0x19a8] = 0x80dd, + [0x19a9] = 0x80c4, [0x19aa] = 0x80da, [0x19ab] = 0x80d6, [0x19ac] = 0x8109, + [0x19ad] = 0x80ef, [0x19ae] = 0x80f1, [0x19af] = 0x811b, [0x19b0] = 0x8129, + [0x19b1] = 0x8123, [0x19b2] = 0x812f, [0x19b3] = 0x814b, [0x19b4] = 0x968b, + [0x19b5] = 0x8146, [0x19b6] = 0x813e, [0x19b7] = 0x8153, [0x19b8] = 0x8151, + [0x19b9] = 0x80fc, [0x19ba] = 0x8171, [0x19bb] = 0x816e, [0x19bc] = 0x8165, + [0x19bd] = 0x8166, [0x19be] = 0x8174, [0x19bf] = 0x8183, [0x19c0] = 0x8188, + [0x19c1] = 0x818a, [0x19c2] = 0x8180, [0x19c3] = 0x8182, [0x19c4] = 0x81a0, + [0x19c5] = 0x8195, [0x19c6] = 0x81a4, [0x19c7] = 0x81a3, [0x19c8] = 0x815f, + [0x19c9] = 0x8193, [0x19ca] = 0x81a9, [0x19cb] = 0x81b0, [0x19cc] = 0x81b5, + [0x19cd] = 0x81be, [0x19ce] = 0x81b8, [0x19cf] = 0x81bd, [0x19d0] = 0x81c0, + [0x19d1] = 0x81c2, [0x19d2] = 0x81ba, [0x19d3] = 0x81c9, [0x19d4] = 0x81cd, + [0x19d5] = 0x81d1, [0x19d6] = 0x81d9, [0x19d7] = 0x81d8, [0x19d8] = 0x81c8, + [0x19d9] = 0x81da, [0x19da] = 0x81df, [0x19db] = 0x81e0, [0x19dc] = 0x81e7, + [0x19dd] = 0x81fa, [0x19de] = 0x81fb, [0x19df] = 0x81fe, [0x19e0] = 0x8201, + [0x19e1] = 0x8202, [0x19e2] = 0x8205, [0x19e3] = 0x8207, [0x19e4] = 0x820a, + [0x19e5] = 0x820d, [0x19e6] = 0x8210, [0x19e7] = 0x8216, [0x19e8] = 0x8229, + [0x19e9] = 0x822b, [0x19ea] = 0x8238, [0x19eb] = 0x8233, [0x19ec] = 0x8240, + [0x19ed] = 0x8259, [0x19ee] = 0x8258, [0x19ef] = 0x825d, [0x19f0] = 0x825a, + [0x19f1] = 0x825f, [0x19f2] = 0x8264, [0x19f3] = 0x8262, [0x19f4] = 0x8268, + [0x19f5] = 0x826a, [0x19f6] = 0x826b, [0x19f7] = 0x822e, [0x19f8] = 0x8271, + [0x19f9] = 0x8277, [0x19fa] = 0x8278, [0x19fb] = 0x827e, [0x19fc] = 0x828d, + [0x19fd] = 0x8292, [0x19fe] = 0x82ab, [0x19ff] = 0x829f, [0x1a00] = 0x82bb, + [0x1a01] = 0x82ac, [0x1a02] = 0x82e1, [0x1a03] = 0x82e3, [0x1a04] = 0x82df, + [0x1a05] = 0x82d2, [0x1a06] = 0x82f4, [0x1a07] = 0x82f3, [0x1a08] = 0x82fa, + [0x1a09] = 0x8393, [0x1a0a] = 0x8303, [0x1a0b] = 0x82fb, [0x1a0c] = 0x82f9, + [0x1a0d] = 0x82de, [0x1a0e] = 0x8306, [0x1a0f] = 0x82dc, [0x1a10] = 0x8309, + [0x1a11] = 0x82d9, [0x1a12] = 0x8335, [0x1a13] = 0x8334, [0x1a14] = 0x8316, + [0x1a15] = 0x8332, [0x1a16] = 0x8331, [0x1a17] = 0x8340, [0x1a18] = 0x8339, + [0x1a19] = 0x8350, [0x1a1a] = 0x8345, [0x1a1b] = 0x832f, [0x1a1c] = 0x832b, + [0x1a1d] = 0x8317, [0x1a1e] = 0x8318, [0x1a1f] = 0x8385, [0x1a20] = 0x839a, + [0x1a21] = 0x83aa, [0x1a22] = 0x839f, [0x1a23] = 0x83a2, [0x1a24] = 0x8396, + [0x1a25] = 0x8323, [0x1a26] = 0x838e, [0x1a27] = 0x8387, [0x1a28] = 0x838a, + [0x1a29] = 0x837c, [0x1a2a] = 0x83b5, [0x1a2b] = 0x8373, [0x1a2c] = 0x8375, + [0x1a2d] = 0x83a0, [0x1a2e] = 0x8389, [0x1a2f] = 0x83a8, [0x1a30] = 0x83f4, + [0x1a31] = 0x8413, [0x1a32] = 0x83eb, [0x1a33] = 0x83ce, [0x1a34] = 0x83fd, + [0x1a35] = 0x8403, [0x1a36] = 0x83d8, [0x1a37] = 0x840b, [0x1a38] = 0x83c1, + [0x1a39] = 0x83f7, [0x1a3a] = 0x8407, [0x1a3b] = 0x83e0, [0x1a3c] = 0x83f2, + [0x1a3d] = 0x840d, [0x1a3e] = 0x8422, [0x1a3f] = 0x8420, [0x1a40] = 0x83bd, + [0x1a41] = 0x8438, [0x1a42] = 0x8506, [0x1a43] = 0x83fb, [0x1a44] = 0x846d, + [0x1a45] = 0x842a, [0x1a46] = 0x843c, [0x1a47] = 0x855a, [0x1a48] = 0x8484, + [0x1a49] = 0x8477, [0x1a4a] = 0x846b, [0x1a4b] = 0x84ad, [0x1a4c] = 0x846e, + [0x1a4d] = 0x8482, [0x1a4e] = 0x8469, [0x1a4f] = 0x8446, [0x1a50] = 0x842c, + [0x1a51] = 0x846f, [0x1a52] = 0x8479, [0x1a53] = 0x8435, [0x1a54] = 0x84ca, + [0x1a55] = 0x8462, [0x1a56] = 0x84b9, [0x1a57] = 0x84bf, [0x1a58] = 0x849f, + [0x1a59] = 0x84d9, [0x1a5a] = 0x84cd, [0x1a5b] = 0x84bb, [0x1a5c] = 0x84da, + [0x1a5d] = 0x84d0, [0x1a5e] = 0x84c1, [0x1a5f] = 0x84c6, [0x1a60] = 0x84d6, + [0x1a61] = 0x84a1, [0x1a62] = 0x8521, [0x1a63] = 0x84ff, [0x1a64] = 0x84f4, + [0x1a65] = 0x8517, [0x1a66] = 0x8518, [0x1a67] = 0x852c, [0x1a68] = 0x851f, + [0x1a69] = 0x8515, [0x1a6a] = 0x8514, [0x1a6b] = 0x84fc, [0x1a6c] = 0x8540, + [0x1a6d] = 0x8563, [0x1a6e] = 0x8558, [0x1a6f] = 0x8548, [0x1a70] = 0x8541, + [0x1a71] = 0x8602, [0x1a72] = 0x854b, [0x1a73] = 0x8555, [0x1a74] = 0x8580, + [0x1a75] = 0x85a4, [0x1a76] = 0x8588, [0x1a77] = 0x8591, [0x1a78] = 0x858a, + [0x1a79] = 0x85a8, [0x1a7a] = 0x856d, [0x1a7b] = 0x8594, [0x1a7c] = 0x859b, + [0x1a7d] = 0x85ea, [0x1a7e] = 0x8587, [0x1a7f] = 0x859c, [0x1a80] = 0x8577, + [0x1a81] = 0x857e, [0x1a82] = 0x8590, [0x1a83] = 0x85c9, [0x1a84] = 0x85ba, + [0x1a85] = 0x85cf, [0x1a86] = 0x85b9, [0x1a87] = 0x85d0, [0x1a88] = 0x85d5, + [0x1a89] = 0x85dd, [0x1a8a] = 0x85e5, [0x1a8b] = 0x85dc, [0x1a8c] = 0x85f9, + [0x1a8d] = 0x860a, [0x1a8e] = 0x8613, [0x1a8f] = 0x860b, [0x1a90] = 0x85fe, + [0x1a91] = 0x85fa, [0x1a92] = 0x8606, [0x1a93] = 0x8622, [0x1a94] = 0x861a, + [0x1a95] = 0x8630, [0x1a96] = 0x863f, [0x1a97] = 0x864d, [0x1a98] = 0x4e55, + [0x1a99] = 0x8654, [0x1a9a] = 0x865f, [0x1a9b] = 0x8667, [0x1a9c] = 0x8671, + [0x1a9d] = 0x8693, [0x1a9e] = 0x86a3, [0x1a9f] = 0x86a9, [0x1aa0] = 0x86aa, + [0x1aa1] = 0x868b, [0x1aa2] = 0x868c, [0x1aa3] = 0x86b6, [0x1aa4] = 0x86af, + [0x1aa5] = 0x86c4, [0x1aa6] = 0x86c6, [0x1aa7] = 0x86b0, [0x1aa8] = 0x86c9, + [0x1aa9] = 0x8823, [0x1aaa] = 0x86ab, [0x1aab] = 0x86d4, [0x1aac] = 0x86de, + [0x1aad] = 0x86e9, [0x1aae] = 0x86ec, [0x1aaf] = 0x86df, [0x1ab0] = 0x86db, + [0x1ab1] = 0x86ef, [0x1ab2] = 0x8712, [0x1ab3] = 0x8706, [0x1ab4] = 0x8708, + [0x1ab5] = 0x8700, [0x1ab6] = 0x8703, [0x1ab7] = 0x86fb, [0x1ab8] = 0x8711, + [0x1ab9] = 0x8709, [0x1aba] = 0x870d, [0x1abb] = 0x86f9, [0x1abc] = 0x870a, + [0x1abd] = 0x8734, [0x1abe] = 0x873f, [0x1abf] = 0x8737, [0x1ac0] = 0x873b, + [0x1ac1] = 0x8725, [0x1ac2] = 0x8729, [0x1ac3] = 0x871a, [0x1ac4] = 0x8760, + [0x1ac5] = 0x875f, [0x1ac6] = 0x8778, [0x1ac7] = 0x874c, [0x1ac8] = 0x874e, + [0x1ac9] = 0x8774, [0x1aca] = 0x8757, [0x1acb] = 0x8768, [0x1acc] = 0x876e, + [0x1acd] = 0x8759, [0x1ace] = 0x8753, [0x1acf] = 0x8763, [0x1ad0] = 0x876a, + [0x1ad1] = 0x8805, [0x1ad2] = 0x87a2, [0x1ad3] = 0x879f, [0x1ad4] = 0x8782, + [0x1ad5] = 0x87af, [0x1ad6] = 0x87cb, [0x1ad7] = 0x87bd, [0x1ad8] = 0x87c0, + [0x1ad9] = 0x87d0, [0x1ada] = 0x96d6, [0x1adb] = 0x87ab, [0x1adc] = 0x87c4, + [0x1add] = 0x87b3, [0x1ade] = 0x87c7, [0x1adf] = 0x87c6, [0x1ae0] = 0x87bb, + [0x1ae1] = 0x87ef, [0x1ae2] = 0x87f2, [0x1ae3] = 0x87e0, [0x1ae4] = 0x880f, + [0x1ae5] = 0x880d, [0x1ae6] = 0x87fe, [0x1ae7] = 0x87f6, [0x1ae8] = 0x87f7, + [0x1ae9] = 0x880e, [0x1aea] = 0x87d2, [0x1aeb] = 0x8811, [0x1aec] = 0x8816, + [0x1aed] = 0x8815, [0x1aee] = 0x8822, [0x1aef] = 0x8821, [0x1af0] = 0x8831, + [0x1af1] = 0x8836, [0x1af2] = 0x8839, [0x1af3] = 0x8827, [0x1af4] = 0x883b, + [0x1af5] = 0x8844, [0x1af6] = 0x8842, [0x1af7] = 0x8852, [0x1af8] = 0x8859, + [0x1af9] = 0x885e, [0x1afa] = 0x8862, [0x1afb] = 0x886b, [0x1afc] = 0x8881, + [0x1afd] = 0x887e, [0x1afe] = 0x889e, [0x1aff] = 0x8875, [0x1b00] = 0x887d, + [0x1b01] = 0x88b5, [0x1b02] = 0x8872, [0x1b03] = 0x8882, [0x1b04] = 0x8897, + [0x1b05] = 0x8892, [0x1b06] = 0x88ae, [0x1b07] = 0x8899, [0x1b08] = 0x88a2, + [0x1b09] = 0x888d, [0x1b0a] = 0x88a4, [0x1b0b] = 0x88b0, [0x1b0c] = 0x88bf, + [0x1b0d] = 0x88b1, [0x1b0e] = 0x88c3, [0x1b0f] = 0x88c4, [0x1b10] = 0x88d4, + [0x1b11] = 0x88d8, [0x1b12] = 0x88d9, [0x1b13] = 0x88dd, [0x1b14] = 0x88f9, + [0x1b15] = 0x8902, [0x1b16] = 0x88fc, [0x1b17] = 0x88f4, [0x1b18] = 0x88e8, + [0x1b19] = 0x88f2, [0x1b1a] = 0x8904, [0x1b1b] = 0x890c, [0x1b1c] = 0x890a, + [0x1b1d] = 0x8913, [0x1b1e] = 0x8943, [0x1b1f] = 0x891e, [0x1b20] = 0x8925, + [0x1b21] = 0x892a, [0x1b22] = 0x892b, [0x1b23] = 0x8941, [0x1b24] = 0x8944, + [0x1b25] = 0x893b, [0x1b26] = 0x8936, [0x1b27] = 0x8938, [0x1b28] = 0x894c, + [0x1b29] = 0x891d, [0x1b2a] = 0x8960, [0x1b2b] = 0x895e, [0x1b2c] = 0x8966, + [0x1b2d] = 0x8964, [0x1b2e] = 0x896d, [0x1b2f] = 0x896a, [0x1b30] = 0x896f, + [0x1b31] = 0x8974, [0x1b32] = 0x8977, [0x1b33] = 0x897e, [0x1b34] = 0x8983, + [0x1b35] = 0x8988, [0x1b36] = 0x898a, [0x1b37] = 0x8993, [0x1b38] = 0x8998, + [0x1b39] = 0x89a1, [0x1b3a] = 0x89a9, [0x1b3b] = 0x89a6, [0x1b3c] = 0x89ac, + [0x1b3d] = 0x89af, [0x1b3e] = 0x89b2, [0x1b3f] = 0x89ba, [0x1b40] = 0x89bd, + [0x1b41] = 0x89bf, [0x1b42] = 0x89c0, [0x1b43] = 0x89da, [0x1b44] = 0x89dc, + [0x1b45] = 0x89dd, [0x1b46] = 0x89e7, [0x1b47] = 0x89f4, [0x1b48] = 0x89f8, + [0x1b49] = 0x8a03, [0x1b4a] = 0x8a16, [0x1b4b] = 0x8a10, [0x1b4c] = 0x8a0c, + [0x1b4d] = 0x8a1b, [0x1b4e] = 0x8a1d, [0x1b4f] = 0x8a25, [0x1b50] = 0x8a36, + [0x1b51] = 0x8a41, [0x1b52] = 0x8a5b, [0x1b53] = 0x8a52, [0x1b54] = 0x8a46, + [0x1b55] = 0x8a48, [0x1b56] = 0x8a7c, [0x1b57] = 0x8a6d, [0x1b58] = 0x8a6c, + [0x1b59] = 0x8a62, [0x1b5a] = 0x8a85, [0x1b5b] = 0x8a82, [0x1b5c] = 0x8a84, + [0x1b5d] = 0x8aa8, [0x1b5e] = 0x8aa1, [0x1b5f] = 0x8a91, [0x1b60] = 0x8aa5, + [0x1b61] = 0x8aa6, [0x1b62] = 0x8a9a, [0x1b63] = 0x8aa3, [0x1b64] = 0x8ac4, + [0x1b65] = 0x8acd, [0x1b66] = 0x8ac2, [0x1b67] = 0x8ada, [0x1b68] = 0x8aeb, + [0x1b69] = 0x8af3, [0x1b6a] = 0x8ae7, [0x1b6b] = 0x8ae4, [0x1b6c] = 0x8af1, + [0x1b6d] = 0x8b14, [0x1b6e] = 0x8ae0, [0x1b6f] = 0x8ae2, [0x1b70] = 0x8af7, + [0x1b71] = 0x8ade, [0x1b72] = 0x8adb, [0x1b73] = 0x8b0c, [0x1b74] = 0x8b07, + [0x1b75] = 0x8b1a, [0x1b76] = 0x8ae1, [0x1b77] = 0x8b16, [0x1b78] = 0x8b10, + [0x1b79] = 0x8b17, [0x1b7a] = 0x8b20, [0x1b7b] = 0x8b33, [0x1b7c] = 0x97ab, + [0x1b7d] = 0x8b26, [0x1b7e] = 0x8b2b, [0x1b7f] = 0x8b3e, [0x1b80] = 0x8b28, + [0x1b81] = 0x8b41, [0x1b82] = 0x8b4c, [0x1b83] = 0x8b4f, [0x1b84] = 0x8b4e, + [0x1b85] = 0x8b49, [0x1b86] = 0x8b56, [0x1b87] = 0x8b5b, [0x1b88] = 0x8b5a, + [0x1b89] = 0x8b6b, [0x1b8a] = 0x8b5f, [0x1b8b] = 0x8b6c, [0x1b8c] = 0x8b6f, + [0x1b8d] = 0x8b74, [0x1b8e] = 0x8b7d, [0x1b8f] = 0x8b80, [0x1b90] = 0x8b8c, + [0x1b91] = 0x8b8e, [0x1b92] = 0x8b92, [0x1b93] = 0x8b93, [0x1b94] = 0x8b96, + [0x1b95] = 0x8b99, [0x1b96] = 0x8b9a, [0x1b97] = 0x8c3a, [0x1b98] = 0x8c41, + [0x1b99] = 0x8c3f, [0x1b9a] = 0x8c48, [0x1b9b] = 0x8c4c, [0x1b9c] = 0x8c4e, + [0x1b9d] = 0x8c50, [0x1b9e] = 0x8c55, [0x1b9f] = 0x8c62, [0x1ba0] = 0x8c6c, + [0x1ba1] = 0x8c78, [0x1ba2] = 0x8c7a, [0x1ba3] = 0x8c82, [0x1ba4] = 0x8c89, + [0x1ba5] = 0x8c85, [0x1ba6] = 0x8c8a, [0x1ba7] = 0x8c8d, [0x1ba8] = 0x8c8e, + [0x1ba9] = 0x8c94, [0x1baa] = 0x8c7c, [0x1bab] = 0x8c98, [0x1bac] = 0x621d, + [0x1bad] = 0x8cad, [0x1bae] = 0x8caa, [0x1baf] = 0x8cbd, [0x1bb0] = 0x8cb2, + [0x1bb1] = 0x8cb3, [0x1bb2] = 0x8cae, [0x1bb3] = 0x8cb6, [0x1bb4] = 0x8cc8, + [0x1bb5] = 0x8cc1, [0x1bb6] = 0x8ce4, [0x1bb7] = 0x8ce3, [0x1bb8] = 0x8cda, + [0x1bb9] = 0x8cfd, [0x1bba] = 0x8cfa, [0x1bbb] = 0x8cfb, [0x1bbc] = 0x8d04, + [0x1bbd] = 0x8d05, [0x1bbe] = 0x8d0a, [0x1bbf] = 0x8d07, [0x1bc0] = 0x8d0f, + [0x1bc1] = 0x8d0d, [0x1bc2] = 0x8d10, [0x1bc3] = 0x9f4e, [0x1bc4] = 0x8d13, + [0x1bc5] = 0x8ccd, [0x1bc6] = 0x8d14, [0x1bc7] = 0x8d16, [0x1bc8] = 0x8d67, + [0x1bc9] = 0x8d6d, [0x1bca] = 0x8d71, [0x1bcb] = 0x8d73, [0x1bcc] = 0x8d81, + [0x1bcd] = 0x8d99, [0x1bce] = 0x8dc2, [0x1bcf] = 0x8dbe, [0x1bd0] = 0x8dba, + [0x1bd1] = 0x8dcf, [0x1bd2] = 0x8dda, [0x1bd3] = 0x8dd6, [0x1bd4] = 0x8dcc, + [0x1bd5] = 0x8ddb, [0x1bd6] = 0x8dcb, [0x1bd7] = 0x8dea, [0x1bd8] = 0x8deb, + [0x1bd9] = 0x8ddf, [0x1bda] = 0x8de3, [0x1bdb] = 0x8dfc, [0x1bdc] = 0x8e08, + [0x1bdd] = 0x8e09, [0x1bde] = 0x8dff, [0x1bdf] = 0x8e1d, [0x1be0] = 0x8e1e, + [0x1be1] = 0x8e10, [0x1be2] = 0x8e1f, [0x1be3] = 0x8e42, [0x1be4] = 0x8e35, + [0x1be5] = 0x8e30, [0x1be6] = 0x8e34, [0x1be7] = 0x8e4a, [0x1be8] = 0x8e47, + [0x1be9] = 0x8e49, [0x1bea] = 0x8e4c, [0x1beb] = 0x8e50, [0x1bec] = 0x8e48, + [0x1bed] = 0x8e59, [0x1bee] = 0x8e64, [0x1bef] = 0x8e60, [0x1bf0] = 0x8e2a, + [0x1bf1] = 0x8e63, [0x1bf2] = 0x8e55, [0x1bf3] = 0x8e76, [0x1bf4] = 0x8e72, + [0x1bf5] = 0x8e7c, [0x1bf6] = 0x8e81, [0x1bf7] = 0x8e87, [0x1bf8] = 0x8e85, + [0x1bf9] = 0x8e84, [0x1bfa] = 0x8e8b, [0x1bfb] = 0x8e8a, [0x1bfc] = 0x8e93, + [0x1bfd] = 0x8e91, [0x1bfe] = 0x8e94, [0x1bff] = 0x8e99, [0x1c00] = 0x8eaa, + [0x1c01] = 0x8ea1, [0x1c02] = 0x8eac, [0x1c03] = 0x8eb0, [0x1c04] = 0x8ec6, + [0x1c05] = 0x8eb1, [0x1c06] = 0x8ebe, [0x1c07] = 0x8ec5, [0x1c08] = 0x8ec8, + [0x1c09] = 0x8ecb, [0x1c0a] = 0x8edb, [0x1c0b] = 0x8ee3, [0x1c0c] = 0x8efc, + [0x1c0d] = 0x8efb, [0x1c0e] = 0x8eeb, [0x1c0f] = 0x8efe, [0x1c10] = 0x8f0a, + [0x1c11] = 0x8f05, [0x1c12] = 0x8f15, [0x1c13] = 0x8f12, [0x1c14] = 0x8f19, + [0x1c15] = 0x8f13, [0x1c16] = 0x8f1c, [0x1c17] = 0x8f1f, [0x1c18] = 0x8f1b, + [0x1c19] = 0x8f0c, [0x1c1a] = 0x8f26, [0x1c1b] = 0x8f33, [0x1c1c] = 0x8f3b, + [0x1c1d] = 0x8f39, [0x1c1e] = 0x8f45, [0x1c1f] = 0x8f42, [0x1c20] = 0x8f3e, + [0x1c21] = 0x8f4c, [0x1c22] = 0x8f49, [0x1c23] = 0x8f46, [0x1c24] = 0x8f4e, + [0x1c25] = 0x8f57, [0x1c26] = 0x8f5c, [0x1c27] = 0x8f62, [0x1c28] = 0x8f63, + [0x1c29] = 0x8f64, [0x1c2a] = 0x8f9c, [0x1c2b] = 0x8f9f, [0x1c2c] = 0x8fa3, + [0x1c2d] = 0x8fad, [0x1c2e] = 0x8faf, [0x1c2f] = 0x8fb7, [0x1c30] = 0x8fda, + [0x1c31] = 0x8fe5, [0x1c32] = 0x8fe2, [0x1c33] = 0x8fea, [0x1c34] = 0x8fef, + [0x1c35] = 0x9087, [0x1c36] = 0x8ff4, [0x1c37] = 0x9005, [0x1c38] = 0x8ff9, + [0x1c39] = 0x8ffa, [0x1c3a] = 0x9011, [0x1c3b] = 0x9015, [0x1c3c] = 0x9021, + [0x1c3d] = 0x900d, [0x1c3e] = 0x901e, [0x1c3f] = 0x9016, [0x1c40] = 0x900b, + [0x1c41] = 0x9027, [0x1c42] = 0x9036, [0x1c43] = 0x9035, [0x1c44] = 0x9039, + [0x1c45] = 0x8ff8, [0x1c46] = 0x904f, [0x1c47] = 0x9050, [0x1c48] = 0x9051, + [0x1c49] = 0x9052, [0x1c4a] = 0x900e, [0x1c4b] = 0x9049, [0x1c4c] = 0x903e, + [0x1c4d] = 0x9056, [0x1c4e] = 0x9058, [0x1c4f] = 0x905e, [0x1c50] = 0x9068, + [0x1c51] = 0x906f, [0x1c52] = 0x9076, [0x1c53] = 0x96a8, [0x1c54] = 0x9072, + [0x1c55] = 0x9082, [0x1c56] = 0x907d, [0x1c57] = 0x9081, [0x1c58] = 0x9080, + [0x1c59] = 0x908a, [0x1c5a] = 0x9089, [0x1c5b] = 0x908f, [0x1c5c] = 0x90a8, + [0x1c5d] = 0x90af, [0x1c5e] = 0x90b1, [0x1c5f] = 0x90b5, [0x1c60] = 0x90e2, + [0x1c61] = 0x90e4, [0x1c62] = 0x6248, [0x1c63] = 0x90db, [0x1c64] = 0x9102, + [0x1c65] = 0x9112, [0x1c66] = 0x9119, [0x1c67] = 0x9132, [0x1c68] = 0x9130, + [0x1c69] = 0x914a, [0x1c6a] = 0x9156, [0x1c6b] = 0x9158, [0x1c6c] = 0x9163, + [0x1c6d] = 0x9165, [0x1c6e] = 0x9169, [0x1c6f] = 0x9173, [0x1c70] = 0x9172, + [0x1c71] = 0x918b, [0x1c72] = 0x9189, [0x1c73] = 0x9182, [0x1c74] = 0x91a2, + [0x1c75] = 0x91ab, [0x1c76] = 0x91af, [0x1c77] = 0x91aa, [0x1c78] = 0x91b5, + [0x1c79] = 0x91b4, [0x1c7a] = 0x91ba, [0x1c7b] = 0x91c0, [0x1c7c] = 0x91c1, + [0x1c7d] = 0x91c9, [0x1c7e] = 0x91cb, [0x1c7f] = 0x91d0, [0x1c80] = 0x91d6, + [0x1c81] = 0x91df, [0x1c82] = 0x91e1, [0x1c83] = 0x91db, [0x1c84] = 0x91fc, + [0x1c85] = 0x91f5, [0x1c86] = 0x91f6, [0x1c87] = 0x921e, [0x1c88] = 0x91ff, + [0x1c89] = 0x9214, [0x1c8a] = 0x922c, [0x1c8b] = 0x9215, [0x1c8c] = 0x9211, + [0x1c8d] = 0x925e, [0x1c8e] = 0x9257, [0x1c8f] = 0x9245, [0x1c90] = 0x9249, + [0x1c91] = 0x9264, [0x1c92] = 0x9248, [0x1c93] = 0x9295, [0x1c94] = 0x923f, + [0x1c95] = 0x924b, [0x1c96] = 0x9250, [0x1c97] = 0x929c, [0x1c98] = 0x9296, + [0x1c99] = 0x9293, [0x1c9a] = 0x929b, [0x1c9b] = 0x925a, [0x1c9c] = 0x92cf, + [0x1c9d] = 0x92b9, [0x1c9e] = 0x92b7, [0x1c9f] = 0x92e9, [0x1ca0] = 0x930f, + [0x1ca1] = 0x92fa, [0x1ca2] = 0x9344, [0x1ca3] = 0x932e, [0x1ca4] = 0x9319, + [0x1ca5] = 0x9322, [0x1ca6] = 0x931a, [0x1ca7] = 0x9323, [0x1ca8] = 0x933a, + [0x1ca9] = 0x9335, [0x1caa] = 0x933b, [0x1cab] = 0x935c, [0x1cac] = 0x9360, + [0x1cad] = 0x937c, [0x1cae] = 0x936e, [0x1caf] = 0x9356, [0x1cb0] = 0x93b0, + [0x1cb1] = 0x93ac, [0x1cb2] = 0x93ad, [0x1cb3] = 0x9394, [0x1cb4] = 0x93b9, + [0x1cb5] = 0x93d6, [0x1cb6] = 0x93d7, [0x1cb7] = 0x93e8, [0x1cb8] = 0x93e5, + [0x1cb9] = 0x93d8, [0x1cba] = 0x93c3, [0x1cbb] = 0x93dd, [0x1cbc] = 0x93d0, + [0x1cbd] = 0x93c8, [0x1cbe] = 0x93e4, [0x1cbf] = 0x941a, [0x1cc0] = 0x9414, + [0x1cc1] = 0x9413, [0x1cc2] = 0x9403, [0x1cc3] = 0x9407, [0x1cc4] = 0x9410, + [0x1cc5] = 0x9436, [0x1cc6] = 0x942b, [0x1cc7] = 0x9435, [0x1cc8] = 0x9421, + [0x1cc9] = 0x943a, [0x1cca] = 0x9441, [0x1ccb] = 0x9452, [0x1ccc] = 0x9444, + [0x1ccd] = 0x945b, [0x1cce] = 0x9460, [0x1ccf] = 0x9462, [0x1cd0] = 0x945e, + [0x1cd1] = 0x946a, [0x1cd2] = 0x9229, [0x1cd3] = 0x9470, [0x1cd4] = 0x9475, + [0x1cd5] = 0x9477, [0x1cd6] = 0x947d, [0x1cd7] = 0x945a, [0x1cd8] = 0x947c, + [0x1cd9] = 0x947e, [0x1cda] = 0x9481, [0x1cdb] = 0x947f, [0x1cdc] = 0x9582, + [0x1cdd] = 0x9587, [0x1cde] = 0x958a, [0x1cdf] = 0x9594, [0x1ce0] = 0x9596, + [0x1ce1] = 0x9598, [0x1ce2] = 0x9599, [0x1ce3] = 0x95a0, [0x1ce4] = 0x95a8, + [0x1ce5] = 0x95a7, [0x1ce6] = 0x95ad, [0x1ce7] = 0x95bc, [0x1ce8] = 0x95bb, + [0x1ce9] = 0x95b9, [0x1cea] = 0x95be, [0x1ceb] = 0x95ca, [0x1cec] = 0x6ff6, + [0x1ced] = 0x95c3, [0x1cee] = 0x95cd, [0x1cef] = 0x95cc, [0x1cf0] = 0x95d5, + [0x1cf1] = 0x95d4, [0x1cf2] = 0x95d6, [0x1cf3] = 0x95dc, [0x1cf4] = 0x95e1, + [0x1cf5] = 0x95e5, [0x1cf6] = 0x95e2, [0x1cf7] = 0x9621, [0x1cf8] = 0x9628, + [0x1cf9] = 0x962e, [0x1cfa] = 0x962f, [0x1cfb] = 0x9642, [0x1cfc] = 0x964c, + [0x1cfd] = 0x964f, [0x1cfe] = 0x964b, [0x1cff] = 0x9677, [0x1d00] = 0x965c, + [0x1d01] = 0x965e, [0x1d02] = 0x965d, [0x1d03] = 0x965f, [0x1d04] = 0x9666, + [0x1d05] = 0x9672, [0x1d06] = 0x966c, [0x1d07] = 0x968d, [0x1d08] = 0x9698, + [0x1d09] = 0x9695, [0x1d0a] = 0x9697, [0x1d0b] = 0x96aa, [0x1d0c] = 0x96a7, + [0x1d0d] = 0x96b1, [0x1d0e] = 0x96b2, [0x1d0f] = 0x96b0, [0x1d10] = 0x96b4, + [0x1d11] = 0x96b6, [0x1d12] = 0x96b8, [0x1d13] = 0x96b9, [0x1d14] = 0x96ce, + [0x1d15] = 0x96cb, [0x1d16] = 0x96c9, [0x1d17] = 0x96cd, [0x1d18] = 0x894d, + [0x1d19] = 0x96dc, [0x1d1a] = 0x970d, [0x1d1b] = 0x96d5, [0x1d1c] = 0x96f9, + [0x1d1d] = 0x9704, [0x1d1e] = 0x9706, [0x1d1f] = 0x9708, [0x1d20] = 0x9713, + [0x1d21] = 0x970e, [0x1d22] = 0x9711, [0x1d23] = 0x970f, [0x1d24] = 0x9716, + [0x1d25] = 0x9719, [0x1d26] = 0x9724, [0x1d27] = 0x972a, [0x1d28] = 0x9730, + [0x1d29] = 0x9739, [0x1d2a] = 0x973d, [0x1d2b] = 0x973e, [0x1d2c] = 0x9744, + [0x1d2d] = 0x9746, [0x1d2e] = 0x9748, [0x1d2f] = 0x9742, [0x1d30] = 0x9749, + [0x1d31] = 0x975c, [0x1d32] = 0x9760, [0x1d33] = 0x9764, [0x1d34] = 0x9766, + [0x1d35] = 0x9768, [0x1d36] = 0x52d2, [0x1d37] = 0x976b, [0x1d38] = 0x9771, + [0x1d39] = 0x9779, [0x1d3a] = 0x9785, [0x1d3b] = 0x977c, [0x1d3c] = 0x9781, + [0x1d3d] = 0x977a, [0x1d3e] = 0x9786, [0x1d3f] = 0x978b, [0x1d40] = 0x978f, + [0x1d41] = 0x9790, [0x1d42] = 0x979c, [0x1d43] = 0x97a8, [0x1d44] = 0x97a6, + [0x1d45] = 0x97a3, [0x1d46] = 0x97b3, [0x1d47] = 0x97b4, [0x1d48] = 0x97c3, + [0x1d49] = 0x97c6, [0x1d4a] = 0x97c8, [0x1d4b] = 0x97cb, [0x1d4c] = 0x97dc, + [0x1d4d] = 0x97ed, [0x1d4e] = 0x9f4f, [0x1d4f] = 0x97f2, [0x1d50] = 0x7adf, + [0x1d51] = 0x97f6, [0x1d52] = 0x97f5, [0x1d53] = 0x980f, [0x1d54] = 0x980c, + [0x1d55] = 0x9838, [0x1d56] = 0x9824, [0x1d57] = 0x9821, [0x1d58] = 0x9837, + [0x1d59] = 0x983d, [0x1d5a] = 0x9846, [0x1d5b] = 0x984f, [0x1d5c] = 0x984b, + [0x1d5d] = 0x986b, [0x1d5e] = 0x986f, [0x1d5f] = 0x9870, [0x1d60] = 0x9871, + [0x1d61] = 0x9874, [0x1d62] = 0x9873, [0x1d63] = 0x98aa, [0x1d64] = 0x98af, + [0x1d65] = 0x98b1, [0x1d66] = 0x98b6, [0x1d67] = 0x98c4, [0x1d68] = 0x98c3, + [0x1d69] = 0x98c6, [0x1d6a] = 0x98e9, [0x1d6b] = 0x98eb, [0x1d6c] = 0x9903, + [0x1d6d] = 0x9909, [0x1d6e] = 0x9912, [0x1d6f] = 0x9914, [0x1d70] = 0x9918, + [0x1d71] = 0x9921, [0x1d72] = 0x991d, [0x1d73] = 0x991e, [0x1d74] = 0x9924, + [0x1d75] = 0x9920, [0x1d76] = 0x992c, [0x1d77] = 0x992e, [0x1d78] = 0x993d, + [0x1d79] = 0x993e, [0x1d7a] = 0x9942, [0x1d7b] = 0x9949, [0x1d7c] = 0x9945, + [0x1d7d] = 0x9950, [0x1d7e] = 0x994b, [0x1d7f] = 0x9951, [0x1d80] = 0x9952, + [0x1d81] = 0x994c, [0x1d82] = 0x9955, [0x1d83] = 0x9997, [0x1d84] = 0x9998, + [0x1d85] = 0x99a5, [0x1d86] = 0x99ad, [0x1d87] = 0x99ae, [0x1d88] = 0x99bc, + [0x1d89] = 0x99df, [0x1d8a] = 0x99db, [0x1d8b] = 0x99dd, [0x1d8c] = 0x99d8, + [0x1d8d] = 0x99d1, [0x1d8e] = 0x99ed, [0x1d8f] = 0x99ee, [0x1d90] = 0x99f1, + [0x1d91] = 0x99f2, [0x1d92] = 0x99fb, [0x1d93] = 0x99f8, [0x1d94] = 0x9a01, + [0x1d95] = 0x9a0f, [0x1d96] = 0x9a05, [0x1d97] = 0x99e2, [0x1d98] = 0x9a19, + [0x1d99] = 0x9a2b, [0x1d9a] = 0x9a37, [0x1d9b] = 0x9a45, [0x1d9c] = 0x9a42, + [0x1d9d] = 0x9a40, [0x1d9e] = 0x9a43, [0x1d9f] = 0x9a3e, [0x1da0] = 0x9a55, + [0x1da1] = 0x9a4d, [0x1da2] = 0x9a5b, [0x1da3] = 0x9a57, [0x1da4] = 0x9a5f, + [0x1da5] = 0x9a62, [0x1da6] = 0x9a65, [0x1da7] = 0x9a64, [0x1da8] = 0x9a69, + [0x1da9] = 0x9a6b, [0x1daa] = 0x9a6a, [0x1dab] = 0x9aad, [0x1dac] = 0x9ab0, + [0x1dad] = 0x9abc, [0x1dae] = 0x9ac0, [0x1daf] = 0x9acf, [0x1db0] = 0x9ad1, + [0x1db1] = 0x9ad3, [0x1db2] = 0x9ad4, [0x1db3] = 0x9ade, [0x1db4] = 0x9adf, + [0x1db5] = 0x9ae2, [0x1db6] = 0x9ae3, [0x1db7] = 0x9ae6, [0x1db8] = 0x9aef, + [0x1db9] = 0x9aeb, [0x1dba] = 0x9aee, [0x1dbb] = 0x9af4, [0x1dbc] = 0x9af1, + [0x1dbd] = 0x9af7, [0x1dbe] = 0x9afb, [0x1dbf] = 0x9b06, [0x1dc0] = 0x9b18, + [0x1dc1] = 0x9b1a, [0x1dc2] = 0x9b1f, [0x1dc3] = 0x9b22, [0x1dc4] = 0x9b23, + [0x1dc5] = 0x9b25, [0x1dc6] = 0x9b27, [0x1dc7] = 0x9b28, [0x1dc8] = 0x9b29, + [0x1dc9] = 0x9b2a, [0x1dca] = 0x9b2e, [0x1dcb] = 0x9b2f, [0x1dcc] = 0x9b32, + [0x1dcd] = 0x9b44, [0x1dce] = 0x9b43, [0x1dcf] = 0x9b4f, [0x1dd0] = 0x9b4d, + [0x1dd1] = 0x9b4e, [0x1dd2] = 0x9b51, [0x1dd3] = 0x9b58, [0x1dd4] = 0x9b74, + [0x1dd5] = 0x9b93, [0x1dd6] = 0x9b83, [0x1dd7] = 0x9b91, [0x1dd8] = 0x9b96, + [0x1dd9] = 0x9b97, [0x1dda] = 0x9b9f, [0x1ddb] = 0x9ba0, [0x1ddc] = 0x9ba8, + [0x1ddd] = 0x9bb4, [0x1dde] = 0x9bc0, [0x1ddf] = 0x9bca, [0x1de0] = 0x9bb9, + [0x1de1] = 0x9bc6, [0x1de2] = 0x9bcf, [0x1de3] = 0x9bd1, [0x1de4] = 0x9bd2, + [0x1de5] = 0x9be3, [0x1de6] = 0x9be2, [0x1de7] = 0x9be4, [0x1de8] = 0x9bd4, + [0x1de9] = 0x9be1, [0x1dea] = 0x9c3a, [0x1deb] = 0x9bf2, [0x1dec] = 0x9bf1, + [0x1ded] = 0x9bf0, [0x1dee] = 0x9c15, [0x1def] = 0x9c14, [0x1df0] = 0x9c09, + [0x1df1] = 0x9c13, [0x1df2] = 0x9c0c, [0x1df3] = 0x9c06, [0x1df4] = 0x9c08, + [0x1df5] = 0x9c12, [0x1df6] = 0x9c0a, [0x1df7] = 0x9c04, [0x1df8] = 0x9c2e, + [0x1df9] = 0x9c1b, [0x1dfa] = 0x9c25, [0x1dfb] = 0x9c24, [0x1dfc] = 0x9c21, + [0x1dfd] = 0x9c30, [0x1dfe] = 0x9c47, [0x1dff] = 0x9c32, [0x1e00] = 0x9c46, + [0x1e01] = 0x9c3e, [0x1e02] = 0x9c5a, [0x1e03] = 0x9c60, [0x1e04] = 0x9c67, + [0x1e05] = 0x9c76, [0x1e06] = 0x9c78, [0x1e07] = 0x9ce7, [0x1e08] = 0x9cec, + [0x1e09] = 0x9cf0, [0x1e0a] = 0x9d09, [0x1e0b] = 0x9d08, [0x1e0c] = 0x9ceb, + [0x1e0d] = 0x9d03, [0x1e0e] = 0x9d06, [0x1e0f] = 0x9d2a, [0x1e10] = 0x9d26, + [0x1e11] = 0x9daf, [0x1e12] = 0x9d23, [0x1e13] = 0x9d1f, [0x1e14] = 0x9d44, + [0x1e15] = 0x9d15, [0x1e16] = 0x9d12, [0x1e17] = 0x9d41, [0x1e18] = 0x9d3f, + [0x1e19] = 0x9d3e, [0x1e1a] = 0x9d46, [0x1e1b] = 0x9d48, [0x1e1c] = 0x9d5d, + [0x1e1d] = 0x9d5e, [0x1e1e] = 0x9d64, [0x1e1f] = 0x9d51, [0x1e20] = 0x9d50, + [0x1e21] = 0x9d59, [0x1e22] = 0x9d72, [0x1e23] = 0x9d89, [0x1e24] = 0x9d87, + [0x1e25] = 0x9dab, [0x1e26] = 0x9d6f, [0x1e27] = 0x9d7a, [0x1e28] = 0x9d9a, + [0x1e29] = 0x9da4, [0x1e2a] = 0x9da9, [0x1e2b] = 0x9db2, [0x1e2c] = 0x9dc4, + [0x1e2d] = 0x9dc1, [0x1e2e] = 0x9dbb, [0x1e2f] = 0x9db8, [0x1e30] = 0x9dba, + [0x1e31] = 0x9dc6, [0x1e32] = 0x9dcf, [0x1e33] = 0x9dc2, [0x1e34] = 0x9dd9, + [0x1e35] = 0x9dd3, [0x1e36] = 0x9df8, [0x1e37] = 0x9de6, [0x1e38] = 0x9ded, + [0x1e39] = 0x9def, [0x1e3a] = 0x9dfd, [0x1e3b] = 0x9e1a, [0x1e3c] = 0x9e1b, + [0x1e3d] = 0x9e1e, [0x1e3e] = 0x9e75, [0x1e3f] = 0x9e79, [0x1e40] = 0x9e7d, + [0x1e41] = 0x9e81, [0x1e42] = 0x9e88, [0x1e43] = 0x9e8b, [0x1e44] = 0x9e8c, + [0x1e45] = 0x9e92, [0x1e46] = 0x9e95, [0x1e47] = 0x9e91, [0x1e48] = 0x9e9d, + [0x1e49] = 0x9ea5, [0x1e4a] = 0x9ea9, [0x1e4b] = 0x9eb8, [0x1e4c] = 0x9eaa, + [0x1e4d] = 0x9ead, [0x1e4e] = 0x9761, [0x1e4f] = 0x9ecc, [0x1e50] = 0x9ece, + [0x1e51] = 0x9ecf, [0x1e52] = 0x9ed0, [0x1e53] = 0x9ed4, [0x1e54] = 0x9edc, + [0x1e55] = 0x9ede, [0x1e56] = 0x9edd, [0x1e57] = 0x9ee0, [0x1e58] = 0x9ee5, + [0x1e59] = 0x9ee8, [0x1e5a] = 0x9eef, [0x1e5b] = 0x9ef4, [0x1e5c] = 0x9ef6, + [0x1e5d] = 0x9ef7, [0x1e5e] = 0x9ef9, [0x1e5f] = 0x9efb, [0x1e60] = 0x9efc, + [0x1e61] = 0x9efd, [0x1e62] = 0x9f07, [0x1e63] = 0x9f08, [0x1e64] = 0x76b7, + [0x1e65] = 0x9f15, [0x1e66] = 0x9f21, [0x1e67] = 0x9f2c, [0x1e68] = 0x9f3e, + [0x1e69] = 0x9f4a, [0x1e6a] = 0x9f52, [0x1e6b] = 0x9f54, [0x1e6c] = 0x9f63, + [0x1e6d] = 0x9f5f, [0x1e6e] = 0x9f60, [0x1e6f] = 0x9f61, [0x1e70] = 0x9f66, + [0x1e71] = 0x9f67, [0x1e72] = 0x9f6c, [0x1e73] = 0x9f6a, [0x1e74] = 0x9f77, + [0x1e75] = 0x9f72, [0x1e76] = 0x9f76, [0x1e77] = 0x9f95, [0x1e78] = 0x9f9c, + [0x1e79] = 0x9fa0, [0x1e7a] = 0x582f, [0x1e7b] = 0x69c7, [0x1e7c] = 0x9059, + [0x1e7d] = 0x7464, [0x1e7e] = 0x51dc, [0x1e7f] = 0x7199 +}; + + +const char jisx0208_from_ucs4_lat1[256][2] = +{ + [0x005C] = "\x21\x40", [0x00A2] = "\x21\x71", [0x00A3] = "\x21\x72", + [0x00A7] = "\x21\x78", [0x00A8] = "\x21\x2f", [0x00AC] = "\x22\x4c", + [0x00B0] = "\x21\x6B", [0x00B1] = "\x21\x5e", [0x00B4] = "\x21\x2d", + [0x00B6] = "\x22\x79", [0x00D7] = "\x21\x5f", [0x00F7] = "\x21\x60" +}; + + +/* The following table can be generated using + + egrep '^0x' < .../eastasia/jis/jis0208.txt | + awk '{ print $3, $2}' | egrep '^0x0[34]' | sort -u | perl tab.pl + + where tab.pl contains: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $jis, %rest) = split; + local($u)=hex($ucs4); + local($s)=hex($jis); + printf ("\n ") if ($n % 3 eq 0); + ++$n; + printf (" [0x%02x] = \"\\x%02x\\x%02x\",", + int(($u - 0x391) / 256) * 94 + (($u - 0x391) & 0xff), + int($s/256), $s % 256); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const char jisx0208_from_ucs4_greek[0xc1][2] = +{ + [0x00] = "\x26\x21", [0x01] = "\x26\x22", [0x02] = "\x26\x23", + [0x03] = "\x26\x24", [0x04] = "\x26\x25", [0x05] = "\x26\x26", + [0x06] = "\x26\x27", [0x07] = "\x26\x28", [0x08] = "\x26\x29", + [0x09] = "\x26\x2a", [0x0a] = "\x26\x2b", [0x0b] = "\x26\x2c", + [0x0c] = "\x26\x2d", [0x0d] = "\x26\x2e", [0x0e] = "\x26\x2f", + [0x0f] = "\x26\x30", [0x10] = "\x26\x31", [0x12] = "\x26\x32", + [0x13] = "\x26\x33", [0x14] = "\x26\x34", [0x15] = "\x26\x35", + [0x16] = "\x26\x36", [0x17] = "\x26\x37", [0x18] = "\x26\x38", + [0x20] = "\x26\x41", [0x21] = "\x26\x42", [0x22] = "\x26\x43", + [0x23] = "\x26\x44", [0x24] = "\x26\x45", [0x25] = "\x26\x46", + [0x26] = "\x26\x47", [0x27] = "\x26\x48", [0x28] = "\x26\x49", + [0x29] = "\x26\x4a", [0x2a] = "\x26\x4b", [0x2b] = "\x26\x4c", + [0x2c] = "\x26\x4d", [0x2d] = "\x26\x4e", [0x2e] = "\x26\x4f", + [0x2f] = "\x26\x50", [0x30] = "\x26\x51", [0x32] = "\x26\x52", + [0x33] = "\x26\x53", [0x34] = "\x26\x54", [0x35] = "\x26\x55", + [0x36] = "\x26\x56", [0x37] = "\x26\x57", [0x38] = "\x26\x58", + [0x70] = "\x27\x27", [0x7f] = "\x27\x21", [0x80] = "\x27\x22", + [0x81] = "\x27\x23", [0x82] = "\x27\x24", [0x83] = "\x27\x25", + [0x84] = "\x27\x26", [0x85] = "\x27\x28", [0x86] = "\x27\x29", + [0x87] = "\x27\x2a", [0x88] = "\x27\x2b", [0x89] = "\x27\x2c", + [0x8a] = "\x27\x2d", [0x8b] = "\x27\x2e", [0x8c] = "\x27\x2f", + [0x8d] = "\x27\x30", [0x8e] = "\x27\x31", [0x8f] = "\x27\x32", + [0x90] = "\x27\x33", [0x91] = "\x27\x34", [0x92] = "\x27\x35", + [0x93] = "\x27\x36", [0x94] = "\x27\x37", [0x95] = "\x27\x38", + [0x96] = "\x27\x39", [0x97] = "\x27\x3a", [0x98] = "\x27\x3b", + [0x99] = "\x27\x3c", [0x9a] = "\x27\x3d", [0x9b] = "\x27\x3e", + [0x9c] = "\x27\x3f", [0x9d] = "\x27\x40", [0x9e] = "\x27\x41", + [0x9f] = "\x27\x51", [0xa0] = "\x27\x52", [0xa1] = "\x27\x53", + [0xa2] = "\x27\x54", [0xa3] = "\x27\x55", [0xa4] = "\x27\x56", + [0xa5] = "\x27\x58", [0xa6] = "\x27\x59", [0xa7] = "\x27\x5a", + [0xa8] = "\x27\x5b", [0xa9] = "\x27\x5c", [0xaa] = "\x27\x5d", + [0xab] = "\x27\x5e", [0xac] = "\x27\x5f", [0xad] = "\x27\x60", + [0xae] = "\x27\x61", [0xaf] = "\x27\x62", [0xb0] = "\x27\x63", + [0xb1] = "\x27\x64", [0xb2] = "\x27\x65", [0xb3] = "\x27\x66", + [0xb4] = "\x27\x67", [0xb5] = "\x27\x68", [0xb6] = "\x27\x69", + [0xb7] = "\x27\x6a", [0xb8] = "\x27\x6b", [0xb9] = "\x27\x6c", + [0xba] = "\x27\x6d", [0xbb] = "\x27\x6e", [0xbc] = "\x27\x6f", + [0xbd] = "\x27\x70", [0xbe] = "\x27\x71", [0xc0] = "\x27\x57" +}; + + +/* The mapping of all the other UCS values is quite difficult since they + are distributed from 0x2010 upto to 0xffe5. There are many gaps with + unpredictable place and size. Therefore we use a table which maps + ranges to idexes in a table. This table ca be generated with: + + egrep '^0x' < .../eastasia/jis/jis0208.txt | awk '{ print $3, $2}' | + egrep '^0x[^01]' | sort -u | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $first=$last=$idx=0; + while (<>) { + local($ucs,$jis,%rest) = split; + local($u)=hex($ucs); + if ($u - $last > 6) { + if ($last != 0) { + printf (" { start: %#06x, end: %#06x, idx: %5d },\n", + $first, $last, $idx); + $idx += $last - $first + 1; + } + $first=$u; + } + $last=$u; + } + printf (" { start: %#06x, end: %#06x, idx: %5d }\n", + $first, $last, $idx); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +const struct jisx0208_ucs_idx jisx0208_from_ucs_idx[] = +{ + { start: 0x2010, end: 0x2026, idx: 0 }, + { start: 0x2030, end: 0x2033, idx: 23 }, + { start: 0x203b, end: 0x203b, idx: 27 }, + { start: 0x2103, end: 0x2103, idx: 28 }, + { start: 0x212b, end: 0x212b, idx: 29 }, + { start: 0x2190, end: 0x2193, idx: 30 }, + { start: 0x21d2, end: 0x21d4, idx: 34 }, + { start: 0x2200, end: 0x220b, idx: 37 }, + { start: 0x2212, end: 0x2212, idx: 49 }, + { start: 0x221a, end: 0x2220, idx: 50 }, + { start: 0x2227, end: 0x222c, idx: 57 }, + { start: 0x2234, end: 0x2235, idx: 63 }, + { start: 0x223d, end: 0x223d, idx: 65 }, + { start: 0x2252, end: 0x2252, idx: 66 }, + { start: 0x2260, end: 0x226b, idx: 67 }, + { start: 0x2282, end: 0x2287, idx: 79 }, + { start: 0x22a5, end: 0x22a5, idx: 85 }, + { start: 0x2312, end: 0x2312, idx: 86 }, + { start: 0x2500, end: 0x2503, idx: 87 }, + { start: 0x250c, end: 0x2542, idx: 91 }, + { start: 0x254b, end: 0x254b, idx: 146 }, + { start: 0x25a0, end: 0x25a1, idx: 147 }, + { start: 0x25b2, end: 0x25b3, idx: 149 }, + { start: 0x25bc, end: 0x25bd, idx: 151 }, + { start: 0x25c6, end: 0x25cf, idx: 153 }, + { start: 0x25ef, end: 0x25ef, idx: 163 }, + { start: 0x2605, end: 0x2606, idx: 164 }, + { start: 0x2640, end: 0x2642, idx: 166 }, + { start: 0x266a, end: 0x266f, idx: 169 }, + { start: 0x3000, end: 0x3015, idx: 175 }, + { start: 0x301c, end: 0x301c, idx: 197 }, + { start: 0x3041, end: 0x3093, idx: 198 }, + { start: 0x309b, end: 0x30fe, idx: 281 }, + { start: 0x4e00, end: 0x4e62, idx: 381 }, + { start: 0x4e71, end: 0x4e73, idx: 480 }, + { start: 0x4e7e, end: 0x4ee5, idx: 483 }, + { start: 0x4eed, end: 0x4f01, idx: 587 }, + { start: 0x4f09, end: 0x4f11, idx: 608 }, + { start: 0x4f1a, end: 0x4f1d, idx: 617 }, + { start: 0x4f2f, end: 0x4f5e, idx: 621 }, + { start: 0x4f69, end: 0x4fa1, idx: 669 }, + { start: 0x4fab, end: 0x4fb6, idx: 726 }, + { start: 0x4fbf, end: 0x4fe5, idx: 738 }, + { start: 0x4fee, end: 0x4ffe, idx: 777 }, + { start: 0x5005, end: 0x502d, idx: 794 }, + { start: 0x5036, end: 0x5039, idx: 835 }, + { start: 0x5043, end: 0x505c, idx: 839 }, + { start: 0x5065, end: 0x5065, idx: 865 }, + { start: 0x506c, end: 0x5085, idx: 866 }, + { start: 0x508d, end: 0x5091, idx: 892 }, + { start: 0x5098, end: 0x509a, idx: 897 }, + { start: 0x50ac, end: 0x50b7, idx: 900 }, + { start: 0x50be, end: 0x50ee, idx: 912 }, + { start: 0x50f5, end: 0x5109, idx: 961 }, + { start: 0x5112, end: 0x5121, idx: 982 }, + { start: 0x512a, end: 0x512a, idx: 998 }, + { start: 0x5132, end: 0x5199, idx: 999 }, + { start: 0x51a0, end: 0x51bd, idx: 1103 }, + { start: 0x51c4, end: 0x51cd, idx: 1133 }, + { start: 0x51d6, end: 0x521d, idx: 1143 }, + { start: 0x5224, end: 0x523b, idx: 1215 }, + { start: 0x5243, end: 0x5275, idx: 1239 }, + { start: 0x527d, end: 0x5294, idx: 1290 }, + { start: 0x529b, end: 0x52e7, idx: 1314 }, + { start: 0x52f2, end: 0x5323, idx: 1391 }, + { start: 0x532a, end: 0x5384, idx: 1441 }, + { start: 0x5396, end: 0x53bb, idx: 1532 }, + { start: 0x53c2, end: 0x53fa, idx: 1570 }, + { start: 0x5401, end: 0x5411, idx: 1627 }, + { start: 0x541b, end: 0x542e, idx: 1644 }, + { start: 0x5436, end: 0x5451, idx: 1664 }, + { start: 0x545f, end: 0x545f, idx: 1692 }, + { start: 0x5468, end: 0x5492, idx: 1693 }, + { start: 0x54a2, end: 0x54c9, idx: 1736 }, + { start: 0x54d8, end: 0x54d8, idx: 1776 }, + { start: 0x54e1, end: 0x54f2, idx: 1777 }, + { start: 0x54fa, end: 0x54fd, idx: 1795 }, + { start: 0x5504, end: 0x5507, idx: 1799 }, + { start: 0x550f, end: 0x5516, idx: 1803 }, + { start: 0x552e, end: 0x5563, idx: 1811 }, + { start: 0x557b, end: 0x558b, idx: 1865 }, + { start: 0x5598, end: 0x559f, idx: 1882 }, + { start: 0x55a7, end: 0x55b6, idx: 1890 }, + { start: 0x55c4, end: 0x55c7, idx: 1906 }, + { start: 0x55d4, end: 0x55e4, idx: 1910 }, + { start: 0x55f7, end: 0x55fe, idx: 1927 }, + { start: 0x5606, end: 0x5609, idx: 1935 }, + { start: 0x5614, end: 0x561b, idx: 1939 }, + { start: 0x5629, end: 0x5638, idx: 1947 }, + { start: 0x5642, end: 0x5642, idx: 1963 }, + { start: 0x564c, end: 0x5650, idx: 1964 }, + { start: 0x565b, end: 0x565b, idx: 1969 }, + { start: 0x5664, end: 0x566c, idx: 1970 }, + { start: 0x5674, end: 0x5694, idx: 1979 }, + { start: 0x56a0, end: 0x56a5, idx: 2012 }, + { start: 0x56ae, end: 0x56e3, idx: 2018 }, + { start: 0x56ee, end: 0x571f, idx: 2072 }, + { start: 0x5726, end: 0x5730, idx: 2122 }, + { start: 0x5737, end: 0x5751, idx: 2133 }, + { start: 0x5761, end: 0x576a, idx: 2160 }, + { start: 0x577f, end: 0x578b, idx: 2170 }, + { start: 0x5793, end: 0x5793, idx: 2183 }, + { start: 0x57a0, end: 0x57b3, idx: 2184 }, + { start: 0x57c0, end: 0x57e3, idx: 2204 }, + { start: 0x57f4, end: 0x580b, idx: 2240 }, + { start: 0x5815, end: 0x5841, idx: 2264 }, + { start: 0x584a, end: 0x5862, idx: 2309 }, + { start: 0x5869, end: 0x5885, idx: 2334 }, + { start: 0x5893, end: 0x589f, idx: 2363 }, + { start: 0x58a8, end: 0x5902, idx: 2376 }, + { start: 0x5909, end: 0x59b2, idx: 2467 }, + { start: 0x59b9, end: 0x59be, idx: 2637 }, + { start: 0x59c6, end: 0x59dc, idx: 2643 }, + { start: 0x59e5, end: 0x59eb, idx: 2666 }, + { start: 0x59f6, end: 0x5a09, idx: 2673 }, + { start: 0x5a11, end: 0x5a11, idx: 2693 }, + { start: 0x5a18, end: 0x5a49, idx: 2694 }, + { start: 0x5a5a, end: 0x5a5a, idx: 2744 }, + { start: 0x5a62, end: 0x5a6c, idx: 2745 }, + { start: 0x5a7f, end: 0x5a7f, idx: 2756 }, + { start: 0x5a92, end: 0x5a92, idx: 2757 }, + { start: 0x5a9a, end: 0x5a9b, idx: 2758 }, + { start: 0x5abc, end: 0x5ac2, idx: 2760 }, + { start: 0x5ac9, end: 0x5ad7, idx: 2767 }, + { start: 0x5ae1, end: 0x5ae9, idx: 2782 }, + { start: 0x5afa, end: 0x5afb, idx: 2791 }, + { start: 0x5b09, end: 0x5b0c, idx: 2793 }, + { start: 0x5b16, end: 0x5b16, idx: 2797 }, + { start: 0x5b22, end: 0x5b22, idx: 2798 }, + { start: 0x5b2a, end: 0x5b36, idx: 2799 }, + { start: 0x5b3e, end: 0x5b45, idx: 2812 }, + { start: 0x5b50, end: 0x5ba6, idx: 2820 }, + { start: 0x5bae, end: 0x5bd4, idx: 2907 }, + { start: 0x5bdb, end: 0x5c31, idx: 2946 }, + { start: 0x5c38, end: 0x5c55, idx: 3033 }, + { start: 0x5c5e, end: 0x5c65, idx: 3063 }, + { start: 0x5c6c, end: 0x5c79, idx: 3071 }, + { start: 0x5c8c, end: 0x5c94, idx: 3085 }, + { start: 0x5ca1, end: 0x5ca1, idx: 3094 }, + { start: 0x5ca8, end: 0x5cbe, idx: 3095 }, + { start: 0x5cc5, end: 0x5cc7, idx: 3118 }, + { start: 0x5cd9, end: 0x5cd9, idx: 3121 }, + { start: 0x5ce0, end: 0x5ce1, idx: 3122 }, + { start: 0x5ce8, end: 0x5cfd, idx: 3124 }, + { start: 0x5d07, end: 0x5d22, idx: 3146 }, + { start: 0x5d29, end: 0x5d29, idx: 3174 }, + { start: 0x5d4b, end: 0x5d52, idx: 3175 }, + { start: 0x5d5c, end: 0x5d5c, idx: 3183 }, + { start: 0x5d69, end: 0x5d76, idx: 3184 }, + { start: 0x5d82, end: 0x5d90, idx: 3198 }, + { start: 0x5d9d, end: 0x5da2, idx: 3213 }, + { start: 0x5dac, end: 0x5dae, idx: 3219 }, + { start: 0x5db7, end: 0x5dbd, idx: 3222 }, + { start: 0x5dc9, end: 0x5e1d, idx: 3229 }, + { start: 0x5e25, end: 0x5e57, idx: 3314 }, + { start: 0x5e5f, end: 0x5e64, idx: 3365 }, + { start: 0x5e72, end: 0x5ead, idx: 3371 }, + { start: 0x5eb5, end: 0x5eb8, idx: 3431 }, + { start: 0x5ec1, end: 0x5f41, idx: 3435 }, + { start: 0x5f48, end: 0x5fa1, idx: 3564 }, + { start: 0x5fa8, end: 0x5fc5, idx: 3654 }, + { start: 0x5fcc, end: 0x5fcd, idx: 3684 }, + { start: 0x5fd6, end: 0x5fe4, idx: 3686 }, + { start: 0x5feb, end: 0x5fff, idx: 3701 }, + { start: 0x600e, end: 0x6031, idx: 3722 }, + { start: 0x603a, end: 0x603a, idx: 3758 }, + { start: 0x6041, end: 0x6077, idx: 3759 }, + { start: 0x6081, end: 0x60aa, idx: 3814 }, + { start: 0x60b2, end: 0x60bd, idx: 3856 }, + { start: 0x60c5, end: 0x60c7, idx: 3868 }, + { start: 0x60d1, end: 0x60e8, idx: 3871 }, + { start: 0x60f0, end: 0x612c, idx: 3895 }, + { start: 0x6134, end: 0x6134, idx: 3956 }, + { start: 0x613c, end: 0x6177, idx: 3957 }, + { start: 0x617e, end: 0x619a, idx: 4017 }, + { start: 0x61a4, end: 0x61d0, idx: 4046 }, + { start: 0x61e3, end: 0x61e6, idx: 4091 }, + { start: 0x61f2, end: 0x6200, idx: 4095 }, + { start: 0x6208, end: 0x628a, idx: 4110 }, + { start: 0x6291, end: 0x629e, idx: 4241 }, + { start: 0x62ab, end: 0x62e1, idx: 4255 }, + { start: 0x62ec, end: 0x62f7, idx: 4310 }, + { start: 0x62fe, end: 0x6311, idx: 4322 }, + { start: 0x6319, end: 0x631f, idx: 4342 }, + { start: 0x6327, end: 0x632f, idx: 4349 }, + { start: 0x633a, end: 0x633f, idx: 4358 }, + { start: 0x6349, end: 0x635c, idx: 4364 }, + { start: 0x6367, end: 0x63fa, idx: 4384 }, + { start: 0x6406, end: 0x6406, idx: 4532 }, + { start: 0x640d, end: 0x641c, idx: 4533 }, + { start: 0x6426, end: 0x642d, idx: 4549 }, + { start: 0x6434, end: 0x6442, idx: 4557 }, + { start: 0x644e, end: 0x644e, idx: 4572 }, + { start: 0x6458, end: 0x6458, idx: 4573 }, + { start: 0x6467, end: 0x646f, idx: 4574 }, + { start: 0x6476, end: 0x647a, idx: 4583 }, + { start: 0x6483, end: 0x6488, idx: 4588 }, + { start: 0x6492, end: 0x64b2, idx: 4594 }, + { start: 0x64b9, end: 0x6505, idx: 4627 }, + { start: 0x6518, end: 0x6578, idx: 4704 }, + { start: 0x6582, end: 0x65b0, idx: 4801 }, + { start: 0x65b7, end: 0x65f1, idx: 4848 }, + { start: 0x65fa, end: 0x65fb, idx: 4907 }, + { start: 0x6602, end: 0x6614, idx: 4909 }, + { start: 0x661c, end: 0x6652, idx: 4928 }, + { start: 0x665d, end: 0x667a, idx: 4983 }, + { start: 0x6681, end: 0x66c9, idx: 5013 }, + { start: 0x66d6, end: 0x66e9, idx: 5086 }, + { start: 0x66f0, end: 0x671f, idx: 5106 }, + { start: 0x6726, end: 0x67b9, idx: 5154 }, + { start: 0x67c1, end: 0x6804, idx: 5302 }, + { start: 0x6813, end: 0x6817, idx: 5370 }, + { start: 0x681e, end: 0x6822, idx: 5375 }, + { start: 0x6829, end: 0x682b, idx: 5380 }, + { start: 0x6832, end: 0x6867, idx: 5383 }, + { start: 0x6874, end: 0x6877, idx: 5437 }, + { start: 0x687e, end: 0x6885, idx: 5441 }, + { start: 0x688d, end: 0x68bc, idx: 5449 }, + { start: 0x68c4, end: 0x68e7, idx: 5497 }, + { start: 0x68ee, end: 0x68f2, idx: 5533 }, + { start: 0x68f9, end: 0x6912, idx: 5538 }, + { start: 0x6919, end: 0x693f, idx: 5564 }, + { start: 0x694a, end: 0x694a, idx: 5603 }, + { start: 0x6953, end: 0x6962, idx: 5604 }, + { start: 0x696a, end: 0x6982, idx: 5620 }, + { start: 0x698a, end: 0x69a0, idx: 5645 }, + { start: 0x69a7, end: 0x69a7, idx: 5668 }, + { start: 0x69ae, end: 0x69b4, idx: 5669 }, + { start: 0x69bb, end: 0x69de, idx: 5676 }, + { start: 0x69e7, end: 0x69f2, idx: 5712 }, + { start: 0x69f9, end: 0x6a2e, idx: 5724 }, + { start: 0x6a35, end: 0x6a3d, idx: 5778 }, + { start: 0x6a44, end: 0x6a4b, idx: 5787 }, + { start: 0x6a58, end: 0x6a66, idx: 5795 }, + { start: 0x6a72, end: 0x6a78, idx: 5810 }, + { start: 0x6a7f, end: 0x6a84, idx: 5817 }, + { start: 0x6a8d, end: 0x6a90, idx: 5823 }, + { start: 0x6a97, end: 0x6aa3, idx: 5827 }, + { start: 0x6aaa, end: 0x6ac3, idx: 5840 }, + { start: 0x6ad1, end: 0x6ad3, idx: 5866 }, + { start: 0x6ada, end: 0x6adf, idx: 5869 }, + { start: 0x6ae8, end: 0x6aea, idx: 5875 }, + { start: 0x6afa, end: 0x6afb, idx: 5878 }, + { start: 0x6b04, end: 0x6b0a, idx: 5880 }, + { start: 0x6b12, end: 0x6b16, idx: 5887 }, + { start: 0x6b1d, end: 0x6b27, idx: 5892 }, + { start: 0x6b32, end: 0x6b8d, idx: 5903 }, + { start: 0x6b95, end: 0x6bdf, idx: 5995 }, + { start: 0x6beb, end: 0x6bf3, idx: 6070 }, + { start: 0x6c08, end: 0x6c08, idx: 6079 }, + { start: 0x6c0f, end: 0x6c1b, idx: 6080 }, + { start: 0x6c23, end: 0x6c24, idx: 6093 }, + { start: 0x6c34, end: 0x6c42, idx: 6095 }, + { start: 0x6c4e, end: 0x6c73, idx: 6110 }, + { start: 0x6c7a, end: 0x6ca2, idx: 6148 }, + { start: 0x6cab, end: 0x6ccc, idx: 6189 }, + { start: 0x6cd3, end: 0x6cf3, idx: 6223 }, + { start: 0x6d0b, end: 0x6d2b, idx: 6256 }, + { start: 0x6d32, end: 0x6d45, idx: 6289 }, + { start: 0x6d59, end: 0x6d5c, idx: 6309 }, + { start: 0x6d63, end: 0x6d79, idx: 6313 }, + { start: 0x6d85, end: 0x6d9c, idx: 6336 }, + { start: 0x6daf, end: 0x6dfb, idx: 6360 }, + { start: 0x6e05, end: 0x6e0b, idx: 6437 }, + { start: 0x6e13, end: 0x6e2f, idx: 6444 }, + { start: 0x6e38, end: 0x6e43, idx: 6473 }, + { start: 0x6e4a, end: 0x6e4e, idx: 6485 }, + { start: 0x6e56, end: 0x6e5f, idx: 6490 }, + { start: 0x6e67, end: 0x6e76, idx: 6500 }, + { start: 0x6e7e, end: 0x6e82, idx: 6516 }, + { start: 0x6e8c, end: 0x6ed5, idx: 6521 }, + { start: 0x6edd, end: 0x6ede, idx: 6595 }, + { start: 0x6eec, end: 0x6f15, idx: 6597 }, + { start: 0x6f20, end: 0x6f23, idx: 6639 }, + { start: 0x6f2b, end: 0x6f45, idx: 6643 }, + { start: 0x6f54, end: 0x6f66, idx: 6670 }, + { start: 0x6f6d, end: 0x6f86, idx: 6689 }, + { start: 0x6f8e, end: 0x6f97, idx: 6715 }, + { start: 0x6fa1, end: 0x6faa, idx: 6725 }, + { start: 0x6fb1, end: 0x6fb9, idx: 6735 }, + { start: 0x6fc0, end: 0x6fc6, idx: 6744 }, + { start: 0x6fd4, end: 0x6fe4, idx: 6751 }, + { start: 0x6feb, end: 0x7001, idx: 6768 }, + { start: 0x7009, end: 0x701f, idx: 6791 }, + { start: 0x7026, end: 0x7032, idx: 6814 }, + { start: 0x703e, end: 0x703e, idx: 6827 }, + { start: 0x704c, end: 0x7051, idx: 6828 }, + { start: 0x7058, end: 0x7058, idx: 6834 }, + { start: 0x7063, end: 0x7063, idx: 6835 }, + { start: 0x706b, end: 0x7070, idx: 6836 }, + { start: 0x7078, end: 0x707d, idx: 6842 }, + { start: 0x7089, end: 0x7092, idx: 6848 }, + { start: 0x7099, end: 0x7099, idx: 6858 }, + { start: 0x70ac, end: 0x70ba, idx: 6859 }, + { start: 0x70c8, end: 0x70cf, idx: 6874 }, + { start: 0x70d9, end: 0x70df, idx: 6882 }, + { start: 0x70f1, end: 0x70f1, idx: 6889 }, + { start: 0x70f9, end: 0x70fd, idx: 6890 }, + { start: 0x7109, end: 0x7109, idx: 6895 }, + { start: 0x7114, end: 0x7126, idx: 6896 }, + { start: 0x7136, end: 0x713c, idx: 6915 }, + { start: 0x7149, end: 0x714e, idx: 6922 }, + { start: 0x7155, end: 0x7159, idx: 6928 }, + { start: 0x7162, end: 0x716e, idx: 6933 }, + { start: 0x717d, end: 0x717d, idx: 6946 }, + { start: 0x7184, end: 0x719f, idx: 6947 }, + { start: 0x71a8, end: 0x71b1, idx: 6975 }, + { start: 0x71b9, end: 0x71d7, idx: 6985 }, + { start: 0x71df, end: 0x71ee, idx: 7016 }, + { start: 0x71f5, end: 0x71ff, idx: 7032 }, + { start: 0x7206, end: 0x7206, idx: 7043 }, + { start: 0x720d, end: 0x7210, idx: 7044 }, + { start: 0x721b, end: 0x721b, idx: 7048 }, + { start: 0x7228, end: 0x7269, idx: 7049 }, + { start: 0x7272, end: 0x7287, idx: 7115 }, + { start: 0x7292, end: 0x7296, idx: 7137 }, + { start: 0x72a0, end: 0x72b9, idx: 7142 }, + { start: 0x72c2, end: 0x72c6, idx: 7168 }, + { start: 0x72ce, end: 0x72e2, idx: 7173 }, + { start: 0x72e9, end: 0x72ed, idx: 7194 }, + { start: 0x72f7, end: 0x72fd, idx: 7199 }, + { start: 0x730a, end: 0x730a, idx: 7206 }, + { start: 0x7316, end: 0x7337, idx: 7207 }, + { start: 0x733e, end: 0x7345, idx: 7241 }, + { start: 0x734e, end: 0x734f, idx: 7249 }, + { start: 0x7357, end: 0x7357, idx: 7251 }, + { start: 0x7363, end: 0x737b, idx: 7252 }, + { start: 0x7384, end: 0x738b, idx: 7277 }, + { start: 0x7396, end: 0x7396, idx: 7285 }, + { start: 0x73a9, end: 0x73a9, idx: 7286 }, + { start: 0x73b2, end: 0x73b3, idx: 7287 }, + { start: 0x73bb, end: 0x73ce, idx: 7289 }, + { start: 0x73de, end: 0x73f1, idx: 7309 }, + { start: 0x73f8, end: 0x7409, idx: 7329 }, + { start: 0x7422, end: 0x7425, idx: 7347 }, + { start: 0x7432, end: 0x7441, idx: 7351 }, + { start: 0x7455, end: 0x7476, idx: 7367 }, + { start: 0x747e, end: 0x7483, idx: 7401 }, + { start: 0x748b, end: 0x748b, idx: 7407 }, + { start: 0x749e, end: 0x74a7, idx: 7408 }, + { start: 0x74b0, end: 0x74b0, idx: 7418 }, + { start: 0x74bd, end: 0x74bd, idx: 7419 }, + { start: 0x74ca, end: 0x74d4, idx: 7420 }, + { start: 0x74dc, end: 0x74f8, idx: 7431 }, + { start: 0x7503, end: 0x7505, idx: 7460 }, + { start: 0x750c, end: 0x753c, idx: 7463 }, + { start: 0x7544, end: 0x7578, idx: 7512 }, + { start: 0x757f, end: 0x75e9, idx: 7565 }, + { start: 0x75f0, end: 0x7601, idx: 7672 }, + { start: 0x7609, end: 0x760d, idx: 7690 }, + { start: 0x761f, end: 0x7627, idx: 7695 }, + { start: 0x7630, end: 0x7634, idx: 7704 }, + { start: 0x763b, end: 0x763b, idx: 7709 }, + { start: 0x7642, end: 0x769a, idx: 7710 }, + { start: 0x76ae, end: 0x770c, idx: 7799 }, + { start: 0x771b, end: 0x7729, idx: 7894 }, + { start: 0x7737, end: 0x7740, idx: 7909 }, + { start: 0x7747, end: 0x7747, idx: 7919 }, + { start: 0x775a, end: 0x776b, idx: 7920 }, + { start: 0x7779, end: 0x777f, idx: 7938 }, + { start: 0x778b, end: 0x7791, idx: 7945 }, + { start: 0x779e, end: 0x77a5, idx: 7952 }, + { start: 0x77ac, end: 0x77bf, idx: 7960 }, + { start: 0x77c7, end: 0x77cd, idx: 7980 }, + { start: 0x77d7, end: 0x77f3, idx: 7987 }, + { start: 0x77fc, end: 0x7802, idx: 8016 }, + { start: 0x780c, end: 0x7815, idx: 8023 }, + { start: 0x7820, end: 0x7827, idx: 8033 }, + { start: 0x7832, end: 0x7845, idx: 8041 }, + { start: 0x785d, end: 0x785d, idx: 8061 }, + { start: 0x786b, end: 0x7874, idx: 8062 }, + { start: 0x787c, end: 0x789a, idx: 8072 }, + { start: 0x78a3, end: 0x78da, idx: 8103 }, + { start: 0x78e7, end: 0x78f4, idx: 8159 }, + { start: 0x78fd, end: 0x7907, idx: 8173 }, + { start: 0x790e, end: 0x7912, idx: 8184 }, + { start: 0x7919, end: 0x7919, idx: 8189 }, + { start: 0x7926, end: 0x792c, idx: 8190 }, + { start: 0x793a, end: 0x7949, idx: 8197 }, + { start: 0x7950, end: 0x796d, idx: 8213 }, + { start: 0x7977, end: 0x798f, idx: 8243 }, + { start: 0x799d, end: 0x799d, idx: 8268 }, + { start: 0x79a6, end: 0x79c1, idx: 8269 }, + { start: 0x79c9, end: 0x79d8, idx: 8297 }, + { start: 0x79df, end: 0x79f0, idx: 8313 }, + { start: 0x79fb, end: 0x7a00, idx: 8331 }, + { start: 0x7a08, end: 0x7a20, idx: 8337 }, + { start: 0x7a2e, end: 0x7a50, idx: 8362 }, + { start: 0x7a57, end: 0x7a57, idx: 8397 }, + { start: 0x7a61, end: 0x7a88, idx: 8398 }, + { start: 0x7a92, end: 0x7a98, idx: 8438 }, + { start: 0x7a9f, end: 0x7a9f, idx: 8445 }, + { start: 0x7aa9, end: 0x7b11, idx: 8446 }, + { start: 0x7b18, end: 0x7b2c, idx: 8551 }, + { start: 0x7b33, end: 0x7b39, idx: 8572 }, + { start: 0x7b45, end: 0x7b56, idx: 8579 }, + { start: 0x7b5d, end: 0x7b5d, idx: 8597 }, + { start: 0x7b65, end: 0x7b7a, idx: 8598 }, + { start: 0x7b86, end: 0x7ba1, idx: 8620 }, + { start: 0x7baa, end: 0x7bb8, idx: 8648 }, + { start: 0x7bc0, end: 0x7bcf, idx: 8663 }, + { start: 0x7bdd, end: 0x7bf7, idx: 8679 }, + { start: 0x7c00, end: 0x7c00, idx: 8706 }, + { start: 0x7c07, end: 0x7c17, idx: 8707 }, + { start: 0x7c1f, end: 0x7c2b, idx: 8724 }, + { start: 0x7c37, end: 0x7c43, idx: 8737 }, + { start: 0x7c4c, end: 0x7c58, idx: 8750 }, + { start: 0x7c5f, end: 0x7c65, idx: 8763 }, + { start: 0x7c6c, end: 0x7c6c, idx: 8770 }, + { start: 0x7c73, end: 0x7c75, idx: 8771 }, + { start: 0x7c7e, end: 0x7ce7, idx: 8774 }, + { start: 0x7cef, end: 0x7d22, idx: 8880 }, + { start: 0x7d2b, end: 0x7d7d, idx: 8932 }, + { start: 0x7d89, end: 0x7da3, idx: 9015 }, + { start: 0x7dab, end: 0x7dbf, idx: 9042 }, + { start: 0x7dc7, end: 0x7df4, idx: 9063 }, + { start: 0x7dfb, end: 0x7e0b, idx: 9109 }, + { start: 0x7e12, end: 0x7e12, idx: 9126 }, + { start: 0x7e1b, end: 0x7e4d, idx: 9127 }, + { start: 0x7e54, end: 0x7e5e, idx: 9178 }, + { start: 0x7e66, end: 0x7e70, idx: 9189 }, + { start: 0x7e79, end: 0x7e9c, idx: 9200 }, + { start: 0x7f36, end: 0x7f3a, idx: 9236 }, + { start: 0x7f45, end: 0x7f45, idx: 9241 }, + { start: 0x7f4c, end: 0x7f58, idx: 9242 }, + { start: 0x7f5f, end: 0x7f60, idx: 9255 }, + { start: 0x7f67, end: 0x7f79, idx: 9257 }, + { start: 0x7f82, end: 0x7fd5, idx: 9276 }, + { start: 0x7fe0, end: 0x8021, idx: 9360 }, + { start: 0x8028, end: 0x8028, idx: 9426 }, + { start: 0x8033, end: 0x803f, idx: 9427 }, + { start: 0x8046, end: 0x804a, idx: 9440 }, + { start: 0x8052, end: 0x8068, idx: 9445 }, + { start: 0x806f, end: 0x808c, idx: 9468 }, + { start: 0x8093, end: 0x80ba, idx: 9498 }, + { start: 0x80c3, end: 0x80ce, idx: 9538 }, + { start: 0x80d6, end: 0x80e5, idx: 9550 }, + { start: 0x80ef, end: 0x810a, idx: 9566 }, + { start: 0x811a, end: 0x811b, idx: 9594 }, + { start: 0x8123, end: 0x813e, idx: 9596 }, + { start: 0x8146, end: 0x8155, idx: 9624 }, + { start: 0x815f, end: 0x81a9, idx: 9640 }, + { start: 0x81b0, end: 0x821f, idx: 9715 }, + { start: 0x8229, end: 0x8239, idx: 9827 }, + { start: 0x8240, end: 0x8240, idx: 9844 }, + { start: 0x8247, end: 0x8247, idx: 9845 }, + { start: 0x8258, end: 0x827e, idx: 9846 }, + { start: 0x828b, end: 0x8292, idx: 9885 }, + { start: 0x8299, end: 0x82bd, idx: 9893 }, + { start: 0x82c5, end: 0x82c5, idx: 9930 }, + { start: 0x82d1, end: 0x82fb, idx: 9931 }, + { start: 0x8302, end: 0x830e, idx: 9974 }, + { start: 0x8316, end: 0x831c, idx: 9987 }, + { start: 0x8323, end: 0x8339, idx: 9994 }, + { start: 0x8340, end: 0x8358, idx: 10017 }, + { start: 0x8373, end: 0x837c, idx: 10042 }, + { start: 0x8385, end: 0x83b5, idx: 10052 }, + { start: 0x83bd, end: 0x83e0, idx: 10101 }, + { start: 0x83e9, end: 0x8413, idx: 10137 }, + { start: 0x8420, end: 0x8422, idx: 10180 }, + { start: 0x8429, end: 0x843d, idx: 10183 }, + { start: 0x8446, end: 0x844e, idx: 10204 }, + { start: 0x8457, end: 0x847a, idx: 10213 }, + { start: 0x8482, end: 0x8484, idx: 10249 }, + { start: 0x848b, end: 0x84a1, idx: 10252 }, + { start: 0x84ad, end: 0x84da, idx: 10275 }, + { start: 0x84ec, end: 0x84f4, idx: 10321 }, + { start: 0x84fc, end: 0x8506, idx: 10330 }, + { start: 0x8511, end: 0x852d, idx: 10341 }, + { start: 0x8535, end: 0x8535, idx: 10370 }, + { start: 0x853d, end: 0x854e, idx: 10371 }, + { start: 0x8555, end: 0x855a, idx: 10389 }, + { start: 0x8563, end: 0x856d, idx: 10395 }, + { start: 0x8577, end: 0x8577, idx: 10406 }, + { start: 0x857e, end: 0x859c, idx: 10407 }, + { start: 0x85a4, end: 0x85af, idx: 10438 }, + { start: 0x85b9, end: 0x85ba, idx: 10450 }, + { start: 0x85c1, end: 0x85c1, idx: 10452 }, + { start: 0x85c9, end: 0x85d5, idx: 10453 }, + { start: 0x85dc, end: 0x85dd, idx: 10466 }, + { start: 0x85e4, end: 0x85ea, idx: 10468 }, + { start: 0x85f7, end: 0x860b, idx: 10475 }, + { start: 0x8613, end: 0x861a, idx: 10496 }, + { start: 0x8622, end: 0x8622, idx: 10504 }, + { start: 0x862d, end: 0x8630, idx: 10505 }, + { start: 0x863f, end: 0x863f, idx: 10509 }, + { start: 0x864d, end: 0x865f, idx: 10510 }, + { start: 0x8667, end: 0x8671, idx: 10529 }, + { start: 0x8679, end: 0x867b, idx: 10540 }, + { start: 0x868a, end: 0x868c, idx: 10543 }, + { start: 0x8693, end: 0x8695, idx: 10546 }, + { start: 0x86a3, end: 0x86b6, idx: 10549 }, + { start: 0x86c4, end: 0x86ef, idx: 10569 }, + { start: 0x86f8, end: 0x871c, idx: 10613 }, + { start: 0x8725, end: 0x8729, idx: 10650 }, + { start: 0x8734, end: 0x873f, idx: 10655 }, + { start: 0x8749, end: 0x8778, idx: 10667 }, + { start: 0x877f, end: 0x8782, idx: 10715 }, + { start: 0x878d, end: 0x878d, idx: 10719 }, + { start: 0x879f, end: 0x87a2, idx: 10720 }, + { start: 0x87ab, end: 0x87b3, idx: 10724 }, + { start: 0x87ba, end: 0x87d2, idx: 10733 }, + { start: 0x87e0, end: 0x87e0, idx: 10758 }, + { start: 0x87ef, end: 0x87fe, idx: 10759 }, + { start: 0x8805, end: 0x8805, idx: 10775 }, + { start: 0x880d, end: 0x8816, idx: 10776 }, + { start: 0x8821, end: 0x8827, idx: 10786 }, + { start: 0x8831, end: 0x88a4, idx: 10793 }, + { start: 0x88ab, end: 0x88b7, idx: 10909 }, + { start: 0x88bf, end: 0x88c5, idx: 10922 }, + { start: 0x88cf, end: 0x88e1, idx: 10929 }, + { start: 0x88e8, end: 0x88e8, idx: 10948 }, + { start: 0x88f2, end: 0x8913, idx: 10949 }, + { start: 0x891d, end: 0x891e, idx: 10983 }, + { start: 0x8925, end: 0x892b, idx: 10985 }, + { start: 0x8936, end: 0x8944, idx: 10992 }, + { start: 0x894c, end: 0x894d, idx: 11007 }, + { start: 0x8956, end: 0x8956, idx: 11009 }, + { start: 0x895e, end: 0x8977, idx: 11010 }, + { start: 0x897e, end: 0x899a, idx: 11036 }, + { start: 0x89a1, end: 0x89b3, idx: 11065 }, + { start: 0x89ba, end: 0x89c0, idx: 11084 }, + { start: 0x89d2, end: 0x89d2, idx: 11091 }, + { start: 0x89da, end: 0x89e7, idx: 11092 }, + { start: 0x89f4, end: 0x89f8, idx: 11106 }, + { start: 0x8a00, end: 0x8a48, idx: 11111 }, + { start: 0x8a50, end: 0x8a73, idx: 11184 }, + { start: 0x8a7c, end: 0x8ab2, idx: 11220 }, + { start: 0x8ab9, end: 0x8b2c, idx: 11275 }, + { start: 0x8b33, end: 0x8b41, idx: 11391 }, + { start: 0x8b49, end: 0x8b4f, idx: 11406 }, + { start: 0x8b56, end: 0x8b5f, idx: 11413 }, + { start: 0x8b66, end: 0x8b83, idx: 11423 }, + { start: 0x8b8a, end: 0x8b9a, idx: 11453 }, + { start: 0x8c37, end: 0x8c5a, idx: 11470 }, + { start: 0x8c61, end: 0x8c62, idx: 11506 }, + { start: 0x8c6a, end: 0x8c6c, idx: 11508 }, + { start: 0x8c78, end: 0x8cd3, idx: 11511 }, + { start: 0x8cda, end: 0x8ced, idx: 11603 }, + { start: 0x8cfa, end: 0x8cfd, idx: 11623 }, + { start: 0x8d04, end: 0x8d16, idx: 11627 }, + { start: 0x8d64, end: 0x8d77, idx: 11646 }, + { start: 0x8d81, end: 0x8d8a, idx: 11666 }, + { start: 0x8d99, end: 0x8d99, idx: 11676 }, + { start: 0x8da3, end: 0x8da8, idx: 11677 }, + { start: 0x8db3, end: 0x8db3, idx: 11683 }, + { start: 0x8dba, end: 0x8dc2, idx: 11684 }, + { start: 0x8dcb, end: 0x8dcf, idx: 11693 }, + { start: 0x8dd6, end: 0x8df5, idx: 11698 }, + { start: 0x8dfc, end: 0x8dff, idx: 11730 }, + { start: 0x8e08, end: 0x8e10, idx: 11734 }, + { start: 0x8e1d, end: 0x8e1f, idx: 11743 }, + { start: 0x8e2a, end: 0x8e35, idx: 11746 }, + { start: 0x8e42, end: 0x8e64, idx: 11758 }, + { start: 0x8e72, end: 0x8e99, idx: 11793 }, + { start: 0x8ea1, end: 0x8ea1, idx: 11833 }, + { start: 0x8eaa, end: 0x8eb1, idx: 11834 }, + { start: 0x8ebe, end: 0x8ebe, idx: 11842 }, + { start: 0x8ec5, end: 0x8ed2, idx: 11843 }, + { start: 0x8edb, end: 0x8ee3, idx: 11857 }, + { start: 0x8eeb, end: 0x8eeb, idx: 11866 }, + { start: 0x8ef8, end: 0x8f1f, idx: 11867 }, + { start: 0x8f26, end: 0x8f4e, idx: 11907 }, + { start: 0x8f57, end: 0x8f64, idx: 11948 }, + { start: 0x8f9b, end: 0x8fc5, idx: 11962 }, + { start: 0x8fce, end: 0x8fda, idx: 12005 }, + { start: 0x8fe2, end: 0x9027, idx: 12018 }, + { start: 0x902e, end: 0x9091, idx: 12088 }, + { start: 0x90a3, end: 0x90b8, idx: 12188 }, + { start: 0x90c1, end: 0x90c1, idx: 12210 }, + { start: 0x90ca, end: 0x90ce, idx: 12211 }, + { start: 0x90db, end: 0x90ed, idx: 12216 }, + { start: 0x90f5, end: 0x9102, idx: 12235 }, + { start: 0x9112, end: 0x9112, idx: 12249 }, + { start: 0x9119, end: 0x9119, idx: 12250 }, + { start: 0x912d, end: 0x9132, idx: 12251 }, + { start: 0x9149, end: 0x9158, idx: 12257 }, + { start: 0x9162, end: 0x9178, idx: 12273 }, + { start: 0x9182, end: 0x91e7, idx: 12296 }, + { start: 0x91f5, end: 0x91ff, idx: 12398 }, + { start: 0x920d, end: 0x9215, idx: 12409 }, + { start: 0x921e, end: 0x921e, idx: 12418 }, + { start: 0x9229, end: 0x922c, idx: 12419 }, + { start: 0x9234, end: 0x9237, idx: 12423 }, + { start: 0x923f, end: 0x9250, idx: 12427 }, + { start: 0x9257, end: 0x9266, idx: 12445 }, + { start: 0x9271, end: 0x9271, idx: 12461 }, + { start: 0x927e, end: 0x9285, idx: 12462 }, + { start: 0x9291, end: 0x929c, idx: 12470 }, + { start: 0x92ad, end: 0x92ad, idx: 12482 }, + { start: 0x92b7, end: 0x92b9, idx: 12483 }, + { start: 0x92cf, end: 0x92d2, idx: 12486 }, + { start: 0x92e4, end: 0x92fc, idx: 12490 }, + { start: 0x9306, end: 0x9306, idx: 12515 }, + { start: 0x930f, end: 0x9310, idx: 12516 }, + { start: 0x9318, end: 0x933b, idx: 12518 }, + { start: 0x9344, end: 0x9344, idx: 12554 }, + { start: 0x934b, end: 0x934d, idx: 12555 }, + { start: 0x9354, end: 0x9360, idx: 12558 }, + { start: 0x936c, end: 0x936e, idx: 12571 }, + { start: 0x9375, end: 0x9375, idx: 12574 }, + { start: 0x937c, end: 0x937e, idx: 12575 }, + { start: 0x938c, end: 0x938c, idx: 12578 }, + { start: 0x9394, end: 0x939a, idx: 12579 }, + { start: 0x93a7, end: 0x93b0, idx: 12586 }, + { start: 0x93b9, end: 0x93b9, idx: 12596 }, + { start: 0x93c3, end: 0x93c8, idx: 12597 }, + { start: 0x93d0, end: 0x93e8, idx: 12603 }, + { start: 0x9403, end: 0x9407, idx: 12628 }, + { start: 0x9410, end: 0x941a, idx: 12633 }, + { start: 0x9421, end: 0x9421, idx: 12644 }, + { start: 0x942b, end: 0x942b, idx: 12645 }, + { start: 0x9435, end: 0x943a, idx: 12646 }, + { start: 0x9441, end: 0x9444, idx: 12652 }, + { start: 0x9451, end: 0x9453, idx: 12656 }, + { start: 0x945a, end: 0x9462, idx: 12659 }, + { start: 0x946a, end: 0x9481, idx: 12668 }, + { start: 0x9577, end: 0x9577, idx: 12692 }, + { start: 0x9580, end: 0x9599, idx: 12693 }, + { start: 0x95a0, end: 0x95b2, idx: 12719 }, + { start: 0x95b9, end: 0x95cd, idx: 12738 }, + { start: 0x95d4, end: 0x95e5, idx: 12759 }, + { start: 0x961c, end: 0x9621, idx: 12777 }, + { start: 0x9628, end: 0x9632, idx: 12783 }, + { start: 0x963b, end: 0x9644, idx: 12794 }, + { start: 0x964b, end: 0x9650, idx: 12804 }, + { start: 0x965b, end: 0x967d, idx: 12810 }, + { start: 0x9685, end: 0x9749, idx: 12845 }, + { start: 0x9752, end: 0x9790, idx: 13042 }, + { start: 0x9798, end: 0x97b4, idx: 13105 }, + { start: 0x97c3, end: 0x97cb, idx: 13134 }, + { start: 0x97d3, end: 0x97d3, idx: 13143 }, + { start: 0x97dc, end: 0x97dc, idx: 13144 }, + { start: 0x97ed, end: 0x981a, idx: 13145 }, + { start: 0x9821, end: 0x9824, idx: 13191 }, + { start: 0x982c, end: 0x982d, idx: 13195 }, + { start: 0x9834, end: 0x983d, idx: 13197 }, + { start: 0x9846, end: 0x985e, idx: 13207 }, + { start: 0x9867, end: 0x9874, idx: 13232 }, + { start: 0x98a8, end: 0x98b6, idx: 13246 }, + { start: 0x98c3, end: 0x98c6, idx: 13261 }, + { start: 0x98db, end: 0x98e2, idx: 13265 }, + { start: 0x98e9, end: 0x98f4, idx: 13273 }, + { start: 0x98fc, end: 0x992e, idx: 13285 }, + { start: 0x993d, end: 0x9957, idx: 13336 }, + { start: 0x9996, end: 0x9999, idx: 13363 }, + { start: 0x99a5, end: 0x99b4, idx: 13367 }, + { start: 0x99bc, end: 0x99c8, idx: 13383 }, + { start: 0x99d0, end: 0x99e2, idx: 13396 }, + { start: 0x99ed, end: 0x9a05, idx: 13415 }, + { start: 0x9a0e, end: 0x9a19, idx: 13440 }, + { start: 0x9a28, end: 0x9a30, idx: 13452 }, + { start: 0x9a37, end: 0x9a37, idx: 13461 }, + { start: 0x9a3e, end: 0x9a45, idx: 13462 }, + { start: 0x9a4d, end: 0x9a4d, idx: 13470 }, + { start: 0x9a55, end: 0x9a6b, idx: 13471 }, + { start: 0x9aa8, end: 0x9ab0, idx: 13494 }, + { start: 0x9ab8, end: 0x9ac4, idx: 13503 }, + { start: 0x9acf, end: 0x9afb, idx: 13516 }, + { start: 0x9b06, end: 0x9b06, idx: 13561 }, + { start: 0x9b18, end: 0x9b32, idx: 13562 }, + { start: 0x9b3b, end: 0x9b45, idx: 13589 }, + { start: 0x9b4d, end: 0x9b5a, idx: 13600 }, + { start: 0x9b6f, end: 0x9b74, idx: 13614 }, + { start: 0x9b83, end: 0x9b83, idx: 13620 }, + { start: 0x9b8e, end: 0x9b97, idx: 13621 }, + { start: 0x9b9f, end: 0x9ba0, idx: 13631 }, + { start: 0x9ba8, end: 0x9bb9, idx: 13633 }, + { start: 0x9bc0, end: 0x9be8, idx: 13651 }, + { start: 0x9bf0, end: 0x9bf5, idx: 13692 }, + { start: 0x9c04, end: 0x9c25, idx: 13698 }, + { start: 0x9c2d, end: 0x9c32, idx: 13732 }, + { start: 0x9c39, end: 0x9c3e, idx: 13738 }, + { start: 0x9c46, end: 0x9c48, idx: 13744 }, + { start: 0x9c52, end: 0x9c60, idx: 13747 }, + { start: 0x9c67, end: 0x9c67, idx: 13762 }, + { start: 0x9c76, end: 0x9c78, idx: 13763 }, + { start: 0x9ce5, end: 0x9cf6, idx: 13766 }, + { start: 0x9d03, end: 0x9d2c, idx: 13784 }, + { start: 0x9d3b, end: 0x9d48, idx: 13826 }, + { start: 0x9d50, end: 0x9d51, idx: 13840 }, + { start: 0x9d59, end: 0x9d64, idx: 13842 }, + { start: 0x9d6c, end: 0x9d72, idx: 13854 }, + { start: 0x9d7a, end: 0x9d7a, idx: 13861 }, + { start: 0x9d87, end: 0x9d8f, idx: 13862 }, + { start: 0x9d9a, end: 0x9d9a, idx: 13871 }, + { start: 0x9da4, end: 0x9dc6, idx: 13872 }, + { start: 0x9dcf, end: 0x9dd9, idx: 13907 }, + { start: 0x9de6, end: 0x9de6, idx: 13918 }, + { start: 0x9ded, end: 0x9dfd, idx: 13919 }, + { start: 0x9e1a, end: 0x9e1e, idx: 13936 }, + { start: 0x9e75, end: 0x9e81, idx: 13941 }, + { start: 0x9e88, end: 0x9ead, idx: 13954 }, + { start: 0x9eb8, end: 0x9ec4, idx: 13992 }, + { start: 0x9ecc, end: 0x9ee8, idx: 14005 }, + { start: 0x9eef, end: 0x9efd, idx: 14034 }, + { start: 0x9f07, end: 0x9f15, idx: 14049 }, + { start: 0x9f20, end: 0x9f21, idx: 14064 }, + { start: 0x9f2c, end: 0x9f2c, idx: 14066 }, + { start: 0x9f3b, end: 0x9f3e, idx: 14067 }, + { start: 0x9f4a, end: 0x9f54, idx: 14071 }, + { start: 0x9f5f, end: 0x9f77, idx: 14082 }, + { start: 0x9f8d, end: 0x9f8d, idx: 14107 }, + { start: 0x9f95, end: 0x9f95, idx: 14108 }, + { start: 0x9f9c, end: 0x9fa0, idx: 14109 }, + { start: 0xff01, end: 0xff5d, idx: 14114 }, + { start: 0xffe3, end: 0xffe5, idx: 14207 }, + { start: 0 } +}; + + +/* The following table is indexed using the previous tables. It is + therefore indexed using UCS with leaving large gaps out. It can + be computed with + + egrep '^0x' < .../eastasia/jis/jis0208.txt | awk '{ print $3, $2}' | + egrep '^0x[^01]' | sort -u | perl tag.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=$first=$last=$idx=0; + + sub fmt { + printf ("\n ") if (($n % 6) == 0); + ++$n; + my($val) = pop(@_); + printf (" \"\\x%02x\\x%02x\",", int($val / 256), $val % 256); + } + + while (<>) { + local($ucs,$jis,%rest) = split; + local($u)=hex($ucs); + if ($u - $last > 6) { + if ($last != 0) { + $idx += $last - $first + 1; + } + $first=$u; + } else { + for ($m = $last + 1; $m < $u; ++$m) { + fmt (0); + } + } + fmt ($u); + $last=$u; + } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const char jisx0208_from_ucs_tab[14210][2] = +{ + "\x20\x10", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x20\x15", + "\x20\x16", "\x00\x00", "\x20\x18", "\x20\x19", "\x00\x00", "\x00\x00", + "\x20\x1c", "\x20\x1d", "\x00\x00", "\x00\x00", "\x20\x20", "\x20\x21", + "\x00\x00", "\x00\x00", "\x00\x00", "\x20\x25", "\x20\x26", "\x20\x30", + "\x00\x00", "\x20\x32", "\x20\x33", "\x20\x3b", "\x21\x03", "\x21\x2b", + "\x21\x90", "\x21\x91", "\x21\x92", "\x21\x93", "\x21\xd2", "\x00\x00", + "\x21\xd4", "\x22\x00", "\x00\x00", "\x22\x02", "\x22\x03", "\x00\x00", + "\x00\x00", "\x00\x00", "\x22\x07", "\x22\x08", "\x00\x00", "\x00\x00", + "\x22\x0b", "\x22\x12", "\x22\x1a", "\x00\x00", "\x00\x00", "\x22\x1d", + "\x22\x1e", "\x00\x00", "\x22\x20", "\x22\x27", "\x22\x28", "\x22\x29", + "\x22\x2a", "\x22\x2b", "\x22\x2c", "\x22\x34", "\x22\x35", "\x22\x3d", + "\x22\x52", "\x22\x60", "\x22\x61", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x22\x66", "\x22\x67", "\x00\x00", "\x00\x00", "\x22\x6a", + "\x22\x6b", "\x22\x82", "\x22\x83", "\x00\x00", "\x00\x00", "\x22\x86", + "\x22\x87", "\x22\xa5", "\x23\x12", "\x25\x00", "\x25\x01", "\x25\x02", + "\x25\x03", "\x25\x0c", "\x00\x00", "\x00\x00", "\x25\x0f", "\x25\x10", + "\x00\x00", "\x00\x00", "\x25\x13", "\x25\x14", "\x00\x00", "\x00\x00", + "\x25\x17", "\x25\x18", "\x00\x00", "\x00\x00", "\x25\x1b", "\x25\x1c", + "\x25\x1d", "\x00\x00", "\x00\x00", "\x25\x20", "\x00\x00", "\x00\x00", + "\x25\x23", "\x25\x24", "\x25\x25", "\x00\x00", "\x00\x00", "\x25\x28", + "\x00\x00", "\x00\x00", "\x25\x2b", "\x25\x2c", "\x00\x00", "\x00\x00", + "\x25\x2f", "\x25\x30", "\x00\x00", "\x00\x00", "\x25\x33", "\x25\x34", + "\x00\x00", "\x00\x00", "\x25\x37", "\x25\x38", "\x00\x00", "\x00\x00", + "\x25\x3b", "\x25\x3c", "\x00\x00", "\x00\x00", "\x25\x3f", "\x00\x00", + "\x00\x00", "\x25\x42", "\x25\x4b", "\x25\xa0", "\x25\xa1", "\x25\xb2", + "\x25\xb3", "\x25\xbc", "\x25\xbd", "\x25\xc6", "\x25\xc7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x25\xcb", "\x00\x00", "\x00\x00", "\x25\xce", + "\x25\xcf", "\x25\xef", "\x26\x05", "\x26\x06", "\x26\x40", "\x00\x00", + "\x26\x42", "\x26\x6a", "\x00\x00", "\x00\x00", "\x26\x6d", "\x00\x00", + "\x26\x6f", "\x30\x00", "\x30\x01", "\x30\x02", "\x30\x03", "\x00\x00", + "\x30\x05", "\x30\x06", "\x30\x07", "\x30\x08", "\x30\x09", "\x30\x0a", + "\x30\x0b", "\x30\x0c", "\x30\x0d", "\x30\x0e", "\x30\x0f", "\x30\x10", + "\x30\x11", "\x30\x12", "\x30\x13", "\x30\x14", "\x30\x15", "\x30\x1c", + "\x30\x41", "\x30\x42", "\x30\x43", "\x30\x44", "\x30\x45", "\x30\x46", + "\x30\x47", "\x30\x48", "\x30\x49", "\x30\x4a", "\x30\x4b", "\x30\x4c", + "\x30\x4d", "\x30\x4e", "\x30\x4f", "\x30\x50", "\x30\x51", "\x30\x52", + "\x30\x53", "\x30\x54", "\x30\x55", "\x30\x56", "\x30\x57", "\x30\x58", + "\x30\x59", "\x30\x5a", "\x30\x5b", "\x30\x5c", "\x30\x5d", "\x30\x5e", + "\x30\x5f", "\x30\x60", "\x30\x61", "\x30\x62", "\x30\x63", "\x30\x64", + "\x30\x65", "\x30\x66", "\x30\x67", "\x30\x68", "\x30\x69", "\x30\x6a", + "\x30\x6b", "\x30\x6c", "\x30\x6d", "\x30\x6e", "\x30\x6f", "\x30\x70", + "\x30\x71", "\x30\x72", "\x30\x73", "\x30\x74", "\x30\x75", "\x30\x76", + "\x30\x77", "\x30\x78", "\x30\x79", "\x30\x7a", "\x30\x7b", "\x30\x7c", + "\x30\x7d", "\x30\x7e", "\x30\x7f", "\x30\x80", "\x30\x81", "\x30\x82", + "\x30\x83", "\x30\x84", "\x30\x85", "\x30\x86", "\x30\x87", "\x30\x88", + "\x30\x89", "\x30\x8a", "\x30\x8b", "\x30\x8c", "\x30\x8d", "\x30\x8e", + "\x30\x8f", "\x30\x90", "\x30\x91", "\x30\x92", "\x30\x93", "\x30\x9b", + "\x30\x9c", "\x30\x9d", "\x30\x9e", "\x00\x00", "\x00\x00", "\x30\xa1", + "\x30\xa2", "\x30\xa3", "\x30\xa4", "\x30\xa5", "\x30\xa6", "\x30\xa7", + "\x30\xa8", "\x30\xa9", "\x30\xaa", "\x30\xab", "\x30\xac", "\x30\xad", + "\x30\xae", "\x30\xaf", "\x30\xb0", "\x30\xb1", "\x30\xb2", "\x30\xb3", + "\x30\xb4", "\x30\xb5", "\x30\xb6", "\x30\xb7", "\x30\xb8", "\x30\xb9", + "\x30\xba", "\x30\xbb", "\x30\xbc", "\x30\xbd", "\x30\xbe", "\x30\xbf", + "\x30\xc0", "\x30\xc1", "\x30\xc2", "\x30\xc3", "\x30\xc4", "\x30\xc5", + "\x30\xc6", "\x30\xc7", "\x30\xc8", "\x30\xc9", "\x30\xca", "\x30\xcb", + "\x30\xcc", "\x30\xcd", "\x30\xce", "\x30\xcf", "\x30\xd0", "\x30\xd1", + "\x30\xd2", "\x30\xd3", "\x30\xd4", "\x30\xd5", "\x30\xd6", "\x30\xd7", + "\x30\xd8", "\x30\xd9", "\x30\xda", "\x30\xdb", "\x30\xdc", "\x30\xdd", + "\x30\xde", "\x30\xdf", "\x30\xe0", "\x30\xe1", "\x30\xe2", "\x30\xe3", + "\x30\xe4", "\x30\xe5", "\x30\xe6", "\x30\xe7", "\x30\xe8", "\x30\xe9", + "\x30\xea", "\x30\xeb", "\x30\xec", "\x30\xed", "\x30\xee", "\x30\xef", + "\x30\xf0", "\x30\xf1", "\x30\xf2", "\x30\xf3", "\x30\xf4", "\x30\xf5", + "\x30\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x30\xfb", + "\x30\xfc", "\x30\xfd", "\x30\xfe", "\x4e\x00", "\x4e\x01", "\x00\x00", + "\x4e\x03", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x07", "\x4e\x08", + "\x4e\x09", "\x4e\x0a", "\x4e\x0b", "\x00\x00", "\x4e\x0d", "\x4e\x0e", + "\x00\x00", "\x4e\x10", "\x4e\x11", "\x00\x00", "\x00\x00", "\x4e\x14", + "\x4e\x15", "\x4e\x16", "\x4e\x17", "\x4e\x18", "\x4e\x19", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x1e", "\x00\x00", "\x00\x00", + "\x4e\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x26", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x2a", "\x00\x00", "\x00\x00", + "\x4e\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x31", "\x4e\x32", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x36", "\x00\x00", "\x4e\x38", + "\x4e\x39", "\x00\x00", "\x4e\x3b", "\x4e\x3c", "\x00\x00", "\x00\x00", + "\x4e\x3f", "\x00\x00", "\x00\x00", "\x4e\x42", "\x4e\x43", "\x00\x00", + "\x4e\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x4e\x4b", "\x00\x00", "\x4e\x4d", "\x4e\x4e", "\x4e\x4f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x55", "\x4e\x56", + "\x4e\x57", "\x4e\x58", "\x4e\x59", "\x00\x00", "\x00\x00", "\x00\x00", + "\x4e\x5d", "\x4e\x5e", "\x4e\x5f", "\x00\x00", "\x00\x00", "\x4e\x62", + "\x4e\x71", "\x00\x00", "\x4e\x73", "\x4e\x7e", "\x00\x00", "\x4e\x80", + "\x00\x00", "\x4e\x82", "\x00\x00", "\x00\x00", "\x4e\x85", "\x4e\x86", + "\x00\x00", "\x4e\x88", "\x4e\x89", "\x4e\x8a", "\x4e\x8b", "\x4e\x8c", + "\x00\x00", "\x4e\x8e", "\x00\x00", "\x00\x00", "\x4e\x91", "\x4e\x92", + "\x00\x00", "\x4e\x94", "\x4e\x95", "\x00\x00", "\x00\x00", "\x4e\x98", + "\x4e\x99", "\x00\x00", "\x4e\x9b", "\x4e\x9c", "\x00\x00", "\x4e\x9e", + "\x4e\x9f", "\x4e\xa0", "\x4e\xa1", "\x4e\xa2", "\x00\x00", "\x4e\xa4", + "\x4e\xa5", "\x4e\xa6", "\x00\x00", "\x4e\xa8", "\x00\x00", "\x00\x00", + "\x4e\xab", "\x4e\xac", "\x4e\xad", "\x4e\xae", "\x00\x00", "\x4e\xb0", + "\x00\x00", "\x00\x00", "\x4e\xb3", "\x00\x00", "\x00\x00", "\x4e\xb6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xba", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xc0", "\x4e\xc1", "\x4e\xc2", + "\x00\x00", "\x4e\xc4", "\x00\x00", "\x4e\xc6", "\x4e\xc7", "\x00\x00", + "\x00\x00", "\x4e\xca", "\x4e\xcb", "\x00\x00", "\x4e\xcd", "\x4e\xce", + "\x4e\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xd4", + "\x4e\xd5", "\x4e\xd6", "\x4e\xd7", "\x4e\xd8", "\x4e\xd9", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4e\xdd", "\x4e\xde", "\x4e\xdf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4e\xe3", "\x4e\xe4", "\x4e\xe5", "\x4e\xed", + "\x4e\xee", "\x00\x00", "\x4e\xf0", "\x00\x00", "\x4e\xf2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4e\xf6", "\x4e\xf7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x4e\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x4f\x01", "\x4f\x09", "\x4f\x0a", "\x00\x00", "\x00\x00", + "\x4f\x0d", "\x4f\x0e", "\x4f\x0f", "\x4f\x10", "\x4f\x11", "\x4f\x1a", + "\x00\x00", "\x4f\x1c", "\x4f\x1d", "\x4f\x2f", "\x4f\x30", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4f\x34", "\x00\x00", "\x4f\x36", "\x00\x00", + "\x4f\x38", "\x00\x00", "\x4f\x3a", "\x00\x00", "\x4f\x3c", "\x4f\x3d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x43", + "\x00\x00", "\x00\x00", "\x4f\x46", "\x4f\x47", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x4d", "\x4f\x4e", "\x4f\x4f", + "\x4f\x50", "\x4f\x51", "\x00\x00", "\x4f\x53", "\x00\x00", "\x4f\x55", + "\x00\x00", "\x4f\x57", "\x00\x00", "\x4f\x59", "\x4f\x5a", "\x4f\x5b", + "\x4f\x5c", "\x4f\x5d", "\x4f\x5e", "\x4f\x69", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x6f", "\x4f\x70", "\x00\x00", + "\x00\x00", "\x4f\x73", "\x00\x00", "\x4f\x75", "\x4f\x76", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x7b", "\x4f\x7c", "\x00\x00", + "\x00\x00", "\x4f\x7f", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x83", + "\x00\x00", "\x00\x00", "\x4f\x86", "\x00\x00", "\x4f\x88", "\x00\x00", + "\x00\x00", "\x4f\x8b", "\x00\x00", "\x4f\x8d", "\x00\x00", "\x4f\x8f", + "\x00\x00", "\x4f\x91", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x4f\x96", "\x00\x00", "\x4f\x98", "\x00\x00", "\x00\x00", "\x4f\x9b", + "\x00\x00", "\x4f\x9d", "\x00\x00", "\x00\x00", "\x4f\xa0", "\x4f\xa1", + "\x4f\xab", "\x00\x00", "\x4f\xad", "\x4f\xae", "\x4f\xaf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xb5", "\x4f\xb6", + "\x4f\xbf", "\x00\x00", "\x00\x00", "\x4f\xc2", "\x4f\xc3", "\x4f\xc4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xca", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xce", "\x00\x00", "\x4f\xd0", + "\x4f\xd1", "\x00\x00", "\x00\x00", "\x4f\xd4", "\x00\x00", "\x00\x00", + "\x4f\xd7", "\x4f\xd8", "\x00\x00", "\x4f\xda", "\x4f\xdb", "\x00\x00", + "\x4f\xdd", "\x00\x00", "\x4f\xdf", "\x00\x00", "\x4f\xe1", "\x00\x00", + "\x4f\xe3", "\x4f\xe4", "\x4f\xe5", "\x4f\xee", "\x4f\xef", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4f\xf3", "\x00\x00", "\x4f\xf5", "\x4f\xf6", + "\x00\x00", "\x4f\xf8", "\x00\x00", "\x4f\xfa", "\x00\x00", "\x00\x00", + "\x00\x00", "\x4f\xfe", "\x50\x05", "\x50\x06", "\x00\x00", "\x00\x00", + "\x50\x09", "\x00\x00", "\x50\x0b", "\x00\x00", "\x50\x0d", "\x00\x00", + "\x50\x0f", "\x00\x00", "\x50\x11", "\x50\x12", "\x00\x00", "\x50\x14", + "\x00\x00", "\x50\x16", "\x00\x00", "\x00\x00", "\x50\x19", "\x50\x1a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x1f", "\x00\x00", + "\x50\x21", "\x00\x00", "\x50\x23", "\x50\x24", "\x50\x25", "\x50\x26", + "\x00\x00", "\x50\x28", "\x50\x29", "\x50\x2a", "\x50\x2b", "\x50\x2c", + "\x50\x2d", "\x50\x36", "\x00\x00", "\x00\x00", "\x50\x39", "\x50\x43", + "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x47", "\x50\x48", "\x50\x49", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x4f", + "\x50\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x55", + "\x50\x56", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x5a", "\x00\x00", + "\x50\x5c", "\x50\x65", "\x50\x6c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\x72", "\x00\x00", "\x50\x74", "\x50\x75", + "\x50\x76", "\x00\x00", "\x50\x78", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x50\x7d", "\x00\x00", "\x00\x00", "\x50\x80", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x85", "\x50\x8d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\x91", "\x50\x98", "\x50\x99", "\x50\x9a", + "\x50\xac", "\x50\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x50\xb2", "\x50\xb3", "\x50\xb4", "\x50\xb5", "\x00\x00", "\x50\xb7", + "\x50\xbe", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xc2", "\x00\x00", + "\x00\x00", "\x50\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xc9", + "\x50\xca", "\x00\x00", "\x00\x00", "\x50\xcd", "\x00\x00", "\x50\xcf", + "\x00\x00", "\x50\xd1", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xd5", + "\x50\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xda", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\xde", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x50\xe3", "\x00\x00", "\x50\xe5", "\x00\x00", "\x50\xe7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xed", + "\x50\xee", "\x50\xf5", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xf9", + "\x00\x00", "\x50\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x51\x00", "\x51\x01", "\x51\x02", "\x00\x00", "\x51\x04", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x09", "\x51\x12", "\x00\x00", + "\x51\x14", "\x51\x15", "\x51\x16", "\x00\x00", "\x51\x18", "\x00\x00", + "\x51\x1a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x1f", + "\x00\x00", "\x51\x21", "\x51\x2a", "\x51\x32", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x51\x37", "\x00\x00", "\x00\x00", "\x51\x3a", + "\x51\x3b", "\x51\x3c", "\x00\x00", "\x00\x00", "\x51\x3f", "\x51\x40", + "\x51\x41", "\x00\x00", "\x51\x43", "\x51\x44", "\x51\x45", "\x51\x46", + "\x51\x47", "\x51\x48", "\x51\x49", "\x00\x00", "\x51\x4b", "\x51\x4c", + "\x51\x4d", "\x51\x4e", "\x00\x00", "\x51\x50", "\x00\x00", "\x51\x52", + "\x00\x00", "\x51\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x51\x5a", "\x00\x00", "\x51\x5c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x62", "\x00\x00", "\x00\x00", + "\x51\x65", "\x00\x00", "\x00\x00", "\x51\x68", "\x51\x69", "\x51\x6a", + "\x51\x6b", "\x51\x6c", "\x51\x6d", "\x51\x6e", "\x00\x00", "\x00\x00", + "\x51\x71", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x75", "\x51\x76", + "\x51\x77", "\x51\x78", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x7c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x80", "\x00\x00", "\x51\x82", + "\x00\x00", "\x00\x00", "\x51\x85", "\x51\x86", "\x00\x00", "\x00\x00", + "\x51\x89", "\x51\x8a", "\x00\x00", "\x51\x8c", "\x51\x8d", "\x00\x00", + "\x51\x8f", "\x51\x90", "\x51\x91", "\x51\x92", "\x51\x93", "\x00\x00", + "\x51\x95", "\x51\x96", "\x51\x97", "\x00\x00", "\x51\x99", "\x51\xa0", + "\x00\x00", "\x51\xa2", "\x00\x00", "\x51\xa4", "\x51\xa5", "\x51\xa6", + "\x00\x00", "\x51\xa8", "\x51\xa9", "\x51\xaa", "\x51\xab", "\x51\xac", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xb0", "\x51\xb1", "\x51\xb2", + "\x51\xb3", "\x51\xb4", "\x51\xb5", "\x51\xb6", "\x51\xb7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xbd", "\x51\xc4", + "\x51\xc5", "\x51\xc6", "\x00\x00", "\x00\x00", "\x51\xc9", "\x00\x00", + "\x51\xcb", "\x51\xcc", "\x51\xcd", "\x51\xd6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x51\xdb", "\x51\xdc", "\x51\xdd", "\x00\x00", + "\x00\x00", "\x51\xe0", "\x51\xe1", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x51\xe6", "\x51\xe7", "\x00\x00", "\x51\xe9", "\x51\xea", + "\x00\x00", "\x00\x00", "\x51\xed", "\x00\x00", "\x00\x00", "\x51\xf0", + "\x51\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xf5", "\x51\xf6", + "\x00\x00", "\x51\xf8", "\x51\xf9", "\x51\xfa", "\x00\x00", "\x00\x00", + "\x51\xfd", "\x51\xfe", "\x00\x00", "\x52\x00", "\x00\x00", "\x00\x00", + "\x52\x03", "\x52\x04", "\x00\x00", "\x52\x06", "\x52\x07", "\x52\x08", + "\x00\x00", "\x52\x0a", "\x52\x0b", "\x00\x00", "\x00\x00", "\x52\x0e", + "\x00\x00", "\x00\x00", "\x52\x11", "\x00\x00", "\x00\x00", "\x52\x14", + "\x00\x00", "\x00\x00", "\x52\x17", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x52\x1d", "\x52\x24", "\x52\x25", "\x00\x00", + "\x52\x27", "\x00\x00", "\x52\x29", "\x52\x2a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x52\x2e", "\x00\x00", "\x52\x30", "\x00\x00", "\x00\x00", + "\x52\x33", "\x00\x00", "\x00\x00", "\x52\x36", "\x52\x37", "\x52\x38", + "\x52\x39", "\x52\x3a", "\x52\x3b", "\x52\x43", "\x52\x44", "\x00\x00", + "\x00\x00", "\x52\x47", "\x00\x00", "\x00\x00", "\x52\x4a", "\x52\x4b", + "\x52\x4c", "\x52\x4d", "\x00\x00", "\x52\x4f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x52\x54", "\x00\x00", "\x52\x56", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x5b", "\x00\x00", "\x00\x00", + "\x52\x5e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x63", + "\x52\x64", "\x52\x65", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x69", + "\x52\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x6f", + "\x52\x70", "\x52\x71", "\x52\x72", "\x52\x73", "\x52\x74", "\x52\x75", + "\x52\x7d", "\x00\x00", "\x52\x7f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x52\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x87", "\x52\x88", + "\x52\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x8d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x52\x91", "\x52\x92", "\x00\x00", "\x52\x94", + "\x52\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x9f", "\x52\xa0", + "\x00\x00", "\x00\x00", "\x52\xa3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x52\xa9", "\x52\xaa", "\x52\xab", "\x52\xac", + "\x52\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xb1", "\x00\x00", + "\x00\x00", "\x52\xb4", "\x52\xb5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x52\xb9", "\x00\x00", "\x00\x00", "\x52\xbc", "\x00\x00", "\x52\xbe", + "\x00\x00", "\x00\x00", "\x52\xc1", "\x00\x00", "\x52\xc3", "\x00\x00", + "\x52\xc5", "\x00\x00", "\x52\xc7", "\x00\x00", "\x52\xc9", "\x00\x00", + "\x00\x00", "\x00\x00", "\x52\xcd", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x52\xd2", "\x00\x00", "\x00\x00", "\x52\xd5", "\x00\x00", + "\x52\xd7", "\x52\xd8", "\x52\xd9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x52\xdd", "\x52\xde", "\x52\xdf", "\x52\xe0", "\x00\x00", "\x52\xe2", + "\x52\xe3", "\x52\xe4", "\x00\x00", "\x52\xe6", "\x52\xe7", "\x52\xf2", + "\x52\xf3", "\x00\x00", "\x52\xf5", "\x00\x00", "\x00\x00", "\x52\xf8", + "\x52\xf9", "\x52\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xfe", + "\x52\xff", "\x00\x00", "\x53\x01", "\x53\x02", "\x00\x00", "\x00\x00", + "\x53\x05", "\x53\x06", "\x00\x00", "\x53\x08", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x53\x0d", "\x00\x00", "\x53\x0f", "\x53\x10", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x15", "\x53\x16", + "\x53\x17", "\x00\x00", "\x53\x19", "\x53\x1a", "\x00\x00", "\x00\x00", + "\x53\x1d", "\x00\x00", "\x00\x00", "\x53\x20", "\x53\x21", "\x00\x00", + "\x53\x23", "\x53\x2a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x53\x2f", "\x00\x00", "\x53\x31", "\x00\x00", "\x53\x33", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x38", "\x53\x39", "\x53\x3a", + "\x53\x3b", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x3f", "\x53\x40", + "\x53\x41", "\x00\x00", "\x53\x43", "\x00\x00", "\x53\x45", "\x53\x46", + "\x53\x47", "\x53\x48", "\x53\x49", "\x53\x4a", "\x00\x00", "\x00\x00", + "\x53\x4d", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x51", "\x53\x52", + "\x53\x53", "\x53\x54", "\x00\x00", "\x00\x00", "\x53\x57", "\x53\x58", + "\x00\x00", "\x53\x5a", "\x00\x00", "\x53\x5c", "\x00\x00", "\x53\x5e", + "\x00\x00", "\x53\x60", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x53\x66", "\x00\x00", "\x00\x00", "\x53\x69", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x6e", "\x53\x6f", "\x53\x70", + "\x53\x71", "\x00\x00", "\x53\x73", "\x53\x74", "\x53\x75", "\x00\x00", + "\x53\x77", "\x53\x78", "\x00\x00", "\x00\x00", "\x53\x7b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x53\x7f", "\x00\x00", "\x00\x00", "\x53\x82", + "\x00\x00", "\x53\x84", "\x53\x96", "\x00\x00", "\x53\x98", "\x00\x00", + "\x53\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x9f", + "\x53\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xa5", + "\x53\xa6", "\x00\x00", "\x53\xa8", "\x53\xa9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x53\xad", "\x53\xae", "\x00\x00", "\x53\xb0", "\x00\x00", + "\x00\x00", "\x53\xb3", "\x00\x00", "\x00\x00", "\x53\xb6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xbb", "\x53\xc2", "\x53\xc3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xc8", "\x53\xc9", + "\x53\xca", "\x53\xcb", "\x53\xcc", "\x53\xcd", "\x53\xce", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xd4", "\x00\x00", + "\x53\xd6", "\x53\xd7", "\x00\x00", "\x53\xd9", "\x00\x00", "\x53\xdb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xdf", "\x00\x00", "\x53\xe1", + "\x53\xe2", "\x53\xe3", "\x53\xe4", "\x53\xe5", "\x00\x00", "\x00\x00", + "\x53\xe8", "\x53\xe9", "\x53\xea", "\x53\xeb", "\x53\xec", "\x53\xed", + "\x53\xee", "\x53\xef", "\x53\xf0", "\x53\xf1", "\x53\xf2", "\x53\xf3", + "\x00\x00", "\x00\x00", "\x53\xf6", "\x53\xf7", "\x53\xf8", "\x00\x00", + "\x53\xfa", "\x54\x01", "\x00\x00", "\x54\x03", "\x54\x04", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x08", "\x54\x09", "\x54\x0a", "\x54\x0b", + "\x54\x0c", "\x54\x0d", "\x54\x0e", "\x54\x0f", "\x54\x10", "\x54\x11", + "\x54\x1b", "\x00\x00", "\x54\x1d", "\x00\x00", "\x54\x1f", "\x54\x20", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x26", + "\x00\x00", "\x00\x00", "\x54\x29", "\x00\x00", "\x54\x2b", "\x54\x2c", + "\x54\x2d", "\x54\x2e", "\x54\x36", "\x00\x00", "\x54\x38", "\x54\x39", + "\x00\x00", "\x54\x3b", "\x54\x3c", "\x54\x3d", "\x54\x3e", "\x00\x00", + "\x54\x40", "\x00\x00", "\x54\x42", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\x46", "\x00\x00", "\x54\x48", "\x54\x49", "\x54\x4a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x4e", "\x00\x00", "\x00\x00", "\x54\x51", + "\x54\x5f", "\x54\x68", "\x00\x00", "\x54\x6a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x70", "\x54\x71", "\x00\x00", + "\x54\x73", "\x00\x00", "\x54\x75", "\x54\x76", "\x54\x77", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x7b", "\x54\x7c", "\x54\x7d", "\x00\x00", + "\x00\x00", "\x54\x80", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x84", + "\x00\x00", "\x54\x86", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\x8b", "\x54\x8c", "\x00\x00", "\x54\x8e", "\x54\x8f", "\x54\x90", + "\x00\x00", "\x54\x92", "\x54\xa2", "\x00\x00", "\x54\xa4", "\x54\xa5", + "\x00\x00", "\x00\x00", "\x54\xa8", "\x00\x00", "\x00\x00", "\x54\xab", + "\x54\xac", "\x00\x00", "\x00\x00", "\x54\xaf", "\x00\x00", "\x00\x00", + "\x54\xb2", "\x54\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\xb8", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\xbc", "\x54\xbd", + "\x54\xbe", "\x00\x00", "\x54\xc0", "\x54\xc1", "\x54\xc2", "\x00\x00", + "\x54\xc4", "\x00\x00", "\x00\x00", "\x54\xc7", "\x54\xc8", "\x54\xc9", + "\x54\xd8", "\x54\xe1", "\x54\xe2", "\x00\x00", "\x00\x00", "\x54\xe5", + "\x54\xe6", "\x00\x00", "\x54\xe8", "\x54\xe9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x54\xed", "\x54\xee", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\xf2", "\x54\xfa", "\x00\x00", "\x00\x00", "\x54\xfd", "\x55\x04", + "\x00\x00", "\x55\x06", "\x55\x07", "\x55\x0f", "\x55\x10", "\x00\x00", + "\x00\x00", "\x00\x00", "\x55\x14", "\x00\x00", "\x55\x16", "\x55\x2e", + "\x55\x2f", "\x00\x00", "\x55\x31", "\x00\x00", "\x55\x33", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x38", "\x55\x39", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x3e", "\x00\x00", "\x55\x40", + "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x44", "\x55\x45", "\x55\x46", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x4c", + "\x00\x00", "\x00\x00", "\x55\x4f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x55\x53", "\x00\x00", "\x00\x00", "\x55\x56", "\x55\x57", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x5c", "\x55\x5d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x63", "\x55\x7b", + "\x55\x7c", "\x00\x00", "\x55\x7e", "\x00\x00", "\x55\x80", "\x00\x00", + "\x00\x00", "\x55\x83", "\x55\x84", "\x00\x00", "\x00\x00", "\x55\x87", + "\x00\x00", "\x55\x89", "\x55\x8a", "\x55\x8b", "\x55\x98", "\x55\x99", + "\x55\x9a", "\x00\x00", "\x55\x9c", "\x55\x9d", "\x55\x9e", "\x55\x9f", + "\x55\xa7", "\x55\xa8", "\x55\xa9", "\x55\xaa", "\x55\xab", "\x55\xac", + "\x00\x00", "\x55\xae", "\x00\x00", "\x55\xb0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xb6", "\x55\xc4", "\x55\xc5", + "\x00\x00", "\x55\xc7", "\x55\xd4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x55\xda", "\x00\x00", "\x55\xdc", "\x00\x00", + "\x00\x00", "\x55\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xe3", + "\x55\xe4", "\x55\xf7", "\x00\x00", "\x55\xf9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x55\xfd", "\x55\xfe", "\x56\x06", "\x00\x00", "\x00\x00", + "\x56\x09", "\x56\x14", "\x00\x00", "\x56\x16", "\x56\x17", "\x56\x18", + "\x00\x00", "\x00\x00", "\x56\x1b", "\x56\x29", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x2f", "\x00\x00", "\x56\x31", + "\x56\x32", "\x00\x00", "\x56\x34", "\x00\x00", "\x56\x36", "\x00\x00", + "\x56\x38", "\x56\x42", "\x56\x4c", "\x00\x00", "\x56\x4e", "\x00\x00", + "\x56\x50", "\x56\x5b", "\x56\x64", "\x00\x00", "\x00\x00", "\x00\x00", + "\x56\x68", "\x00\x00", "\x56\x6a", "\x56\x6b", "\x56\x6c", "\x56\x74", + "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x78", "\x00\x00", "\x56\x7a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x80", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x86", + "\x56\x87", "\x00\x00", "\x00\x00", "\x56\x8a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x56\x8f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x56\x94", "\x56\xa0", "\x00\x00", "\x56\xa2", "\x00\x00", + "\x00\x00", "\x56\xa5", "\x56\xae", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x56\xb4", "\x00\x00", "\x56\xb6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xbc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x56\xc0", "\x56\xc1", "\x56\xc2", "\x56\xc3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xc8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xce", "\x00\x00", + "\x00\x00", "\x56\xd1", "\x00\x00", "\x56\xd3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x56\xd7", "\x56\xd8", "\x00\x00", "\x56\xda", "\x56\xdb", + "\x00\x00", "\x00\x00", "\x56\xde", "\x00\x00", "\x56\xe0", "\x00\x00", + "\x00\x00", "\x56\xe3", "\x56\xee", "\x00\x00", "\x56\xf0", "\x00\x00", + "\x56\xf2", "\x56\xf3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x56\xf9", "\x56\xfa", "\x00\x00", "\x00\x00", "\x56\xfd", + "\x00\x00", "\x56\xff", "\x57\x00", "\x00\x00", "\x00\x00", "\x57\x03", + "\x57\x04", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x08", "\x57\x09", + "\x00\x00", "\x57\x0b", "\x00\x00", "\x57\x0d", "\x00\x00", "\x57\x0f", + "\x00\x00", "\x00\x00", "\x57\x12", "\x57\x13", "\x00\x00", "\x00\x00", + "\x57\x16", "\x00\x00", "\x57\x18", "\x00\x00", "\x00\x00", "\x00\x00", + "\x57\x1c", "\x00\x00", "\x00\x00", "\x57\x1f", "\x57\x26", "\x57\x27", + "\x57\x28", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x2d", + "\x00\x00", "\x00\x00", "\x57\x30", "\x57\x37", "\x57\x38", "\x00\x00", + "\x00\x00", "\x57\x3b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x57\x40", "\x00\x00", "\x57\x42", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x57\x47", "\x00\x00", "\x00\x00", "\x57\x4a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x57\x4e", "\x57\x4f", "\x57\x50", "\x57\x51", + "\x57\x61", "\x00\x00", "\x00\x00", "\x57\x64", "\x00\x00", "\x57\x66", + "\x00\x00", "\x00\x00", "\x57\x69", "\x57\x6a", "\x57\x7f", "\x00\x00", + "\x00\x00", "\x57\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x57\x88", "\x57\x89", "\x00\x00", "\x57\x8b", "\x57\x93", + "\x57\xa0", "\x00\x00", "\x57\xa2", "\x57\xa3", "\x57\xa4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xaa", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xb0", "\x00\x00", + "\x00\x00", "\x57\xb3", "\x57\xc0", "\x00\x00", "\x00\x00", "\x57\xc3", + "\x00\x00", "\x00\x00", "\x57\xc6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x57\xcb", "\x00\x00", "\x00\x00", "\x57\xce", "\x00\x00", + "\x00\x00", "\x00\x00", "\x57\xd2", "\x57\xd3", "\x57\xd4", "\x00\x00", + "\x57\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x57\xdc", "\x00\x00", "\x00\x00", "\x57\xdf", "\x57\xe0", "\x00\x00", + "\x00\x00", "\x57\xe3", "\x57\xf4", "\x00\x00", "\x00\x00", "\x57\xf7", + "\x00\x00", "\x57\xf9", "\x57\xfa", "\x00\x00", "\x57\xfc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x00", "\x00\x00", "\x58\x02", "\x00\x00", + "\x00\x00", "\x58\x05", "\x58\x06", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\x0a", "\x58\x0b", "\x58\x15", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\x19", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x1d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x21", "\x00\x00", "\x00\x00", "\x58\x24", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x2a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x2f", "\x58\x30", + "\x58\x31", "\x00\x00", "\x00\x00", "\x58\x34", "\x58\x35", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x3a", "\x00\x00", "\x00\x00", + "\x58\x3d", "\x00\x00", "\x00\x00", "\x58\x40", "\x58\x41", "\x58\x4a", + "\x58\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\x51", "\x58\x52", "\x00\x00", "\x58\x54", "\x00\x00", "\x00\x00", + "\x58\x57", "\x58\x58", "\x58\x59", "\x58\x5a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\x5e", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x62", + "\x58\x69", "\x00\x00", "\x58\x6b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\x70", "\x00\x00", "\x58\x72", "\x00\x00", "\x00\x00", + "\x58\x75", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x79", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x7e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x83", "\x00\x00", "\x58\x85", "\x58\x93", + "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x97", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x9c", "\x00\x00", "\x00\x00", "\x58\x9f", + "\x58\xa8", "\x00\x00", "\x00\x00", "\x58\xab", "\x00\x00", "\x00\x00", + "\x58\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xb3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xb8", "\x58\xb9", + "\x58\xba", "\x58\xbb", "\x00\x00", "\x00\x00", "\x58\xbe", "\x00\x00", + "\x00\x00", "\x58\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xc5", + "\x00\x00", "\x58\xc7", "\x00\x00", "\x00\x00", "\x58\xca", "\x00\x00", + "\x58\xcc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xd1", + "\x00\x00", "\x58\xd3", "\x00\x00", "\x58\xd5", "\x00\x00", "\x58\xd7", + "\x58\xd8", "\x58\xd9", "\x00\x00", "\x00\x00", "\x58\xdc", "\x00\x00", + "\x58\xde", "\x58\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\xe4", "\x58\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\xeb", "\x58\xec", "\x00\x00", "\x58\xee", "\x58\xef", + "\x58\xf0", "\x58\xf1", "\x58\xf2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\xf7", "\x00\x00", "\x58\xf9", "\x58\xfa", "\x58\xfb", + "\x58\xfc", "\x58\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\x02", "\x59\x09", "\x59\x0a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\x0f", "\x59\x10", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\x15", "\x59\x16", "\x00\x00", "\x59\x18", "\x59\x19", + "\x59\x1a", "\x59\x1b", "\x59\x1c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\x22", "\x00\x00", "\x00\x00", "\x59\x25", + "\x00\x00", "\x59\x27", "\x00\x00", "\x59\x29", "\x59\x2a", "\x59\x2b", + "\x59\x2c", "\x59\x2d", "\x59\x2e", "\x00\x00", "\x00\x00", "\x59\x31", + "\x59\x32", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x37", + "\x59\x38", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\x3e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\x44", "\x00\x00", "\x00\x00", "\x59\x47", "\x59\x48", "\x59\x49", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x4e", "\x59\x4f", + "\x59\x50", "\x59\x51", "\x00\x00", "\x00\x00", "\x59\x54", "\x59\x55", + "\x00\x00", "\x59\x57", "\x59\x58", "\x00\x00", "\x59\x5a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x60", "\x00\x00", + "\x59\x62", "\x00\x00", "\x00\x00", "\x59\x65", "\x00\x00", "\x59\x67", + "\x59\x68", "\x59\x69", "\x59\x6a", "\x00\x00", "\x59\x6c", "\x00\x00", + "\x59\x6e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x73", + "\x59\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x78", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x7d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\x81", "\x59\x82", "\x59\x83", "\x59\x84", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x8a", "\x00\x00", + "\x00\x00", "\x59\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\x93", "\x00\x00", "\x00\x00", "\x59\x96", "\x00\x00", + "\x00\x00", "\x59\x99", "\x00\x00", "\x59\x9b", "\x00\x00", "\x59\x9d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xa3", + "\x00\x00", "\x59\xa5", "\x00\x00", "\x00\x00", "\x59\xa8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\xac", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\xb2", "\x59\xb9", "\x00\x00", "\x59\xbb", + "\x00\x00", "\x00\x00", "\x59\xbe", "\x59\xc6", "\x00\x00", "\x00\x00", + "\x59\xc9", "\x00\x00", "\x59\xcb", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\xd0", "\x59\xd1", "\x00\x00", "\x59\xd3", "\x59\xd4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xd9", "\x59\xda", + "\x00\x00", "\x59\xdc", "\x59\xe5", "\x59\xe6", "\x00\x00", "\x59\xe8", + "\x00\x00", "\x59\xea", "\x59\xeb", "\x59\xf6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\xfb", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\xff", "\x00\x00", "\x5a\x01", "\x00\x00", "\x5a\x03", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x09", "\x5a\x11", + "\x5a\x18", "\x00\x00", "\x5a\x1a", "\x00\x00", "\x5a\x1c", "\x00\x00", + "\x00\x00", "\x5a\x1f", "\x5a\x20", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5a\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x29", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x2f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x35", + "\x5a\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5a\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x40", "\x5a\x41", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x46", "\x00\x00", + "\x00\x00", "\x5a\x49", "\x5a\x5a", "\x5a\x62", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5a\x66", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x6a", + "\x00\x00", "\x5a\x6c", "\x5a\x7f", "\x5a\x92", "\x5a\x9a", "\x5a\x9b", + "\x5a\xbc", "\x5a\xbd", "\x5a\xbe", "\x00\x00", "\x00\x00", "\x5a\xc1", + "\x5a\xc2", "\x5a\xc9", "\x00\x00", "\x5a\xcb", "\x5a\xcc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\xd0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\xd6", "\x5a\xd7", "\x5a\xe1", "\x00\x00", + "\x5a\xe3", "\x00\x00", "\x00\x00", "\x5a\xe6", "\x00\x00", "\x00\x00", + "\x5a\xe9", "\x5a\xfa", "\x5a\xfb", "\x5b\x09", "\x00\x00", "\x5b\x0b", + "\x5b\x0c", "\x5b\x16", "\x5b\x22", "\x5b\x2a", "\x00\x00", "\x5b\x2c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x30", "\x00\x00", "\x5b\x32", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x36", "\x5b\x3e", "\x00\x00", + "\x5b\x40", "\x00\x00", "\x00\x00", "\x5b\x43", "\x00\x00", "\x5b\x45", + "\x5b\x50", "\x5b\x51", "\x00\x00", "\x00\x00", "\x5b\x54", "\x5b\x55", + "\x00\x00", "\x5b\x57", "\x5b\x58", "\x00\x00", "\x5b\x5a", "\x5b\x5b", + "\x5b\x5c", "\x5b\x5d", "\x00\x00", "\x5b\x5f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5b\x63", "\x5b\x64", "\x5b\x65", "\x5b\x66", "\x00\x00", + "\x00\x00", "\x5b\x69", "\x00\x00", "\x5b\x6b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5b\x70", "\x5b\x71", "\x00\x00", "\x5b\x73", + "\x00\x00", "\x5b\x75", "\x00\x00", "\x00\x00", "\x5b\x78", "\x00\x00", + "\x5b\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5b\x80", "\x00\x00", "\x00\x00", "\x5b\x83", "\x00\x00", "\x5b\x85", + "\x00\x00", "\x5b\x87", "\x5b\x88", "\x5b\x89", "\x00\x00", "\x5b\x8b", + "\x5b\x8c", "\x5b\x8d", "\x00\x00", "\x5b\x8f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x95", "\x00\x00", "\x5b\x97", + "\x5b\x98", "\x5b\x99", "\x5b\x9a", "\x5b\x9b", "\x5b\x9c", "\x5b\x9d", + "\x00\x00", "\x5b\x9f", "\x00\x00", "\x00\x00", "\x5b\xa2", "\x5b\xa3", + "\x5b\xa4", "\x5b\xa5", "\x5b\xa6", "\x5b\xae", "\x00\x00", "\x5b\xb0", + "\x00\x00", "\x00\x00", "\x5b\xb3", "\x5b\xb4", "\x5b\xb5", "\x5b\xb6", + "\x00\x00", "\x5b\xb8", "\x5b\xb9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5b\xbf", "\x00\x00", "\x00\x00", "\x5b\xc2", + "\x5b\xc3", "\x5b\xc4", "\x5b\xc5", "\x5b\xc6", "\x5b\xc7", "\x00\x00", + "\x5b\xc9", "\x00\x00", "\x00\x00", "\x5b\xcc", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5b\xd0", "\x00\x00", "\x5b\xd2", "\x5b\xd3", "\x5b\xd4", + "\x5b\xdb", "\x00\x00", "\x5b\xdd", "\x5b\xde", "\x5b\xdf", "\x00\x00", + "\x5b\xe1", "\x5b\xe2", "\x00\x00", "\x5b\xe4", "\x5b\xe5", "\x5b\xe6", + "\x5b\xe7", "\x5b\xe8", "\x5b\xe9", "\x00\x00", "\x5b\xeb", "\x00\x00", + "\x00\x00", "\x5b\xee", "\x00\x00", "\x5b\xf0", "\x00\x00", "\x00\x00", + "\x5b\xf3", "\x00\x00", "\x5b\xf5", "\x5b\xf6", "\x00\x00", "\x5b\xf8", + "\x00\x00", "\x5b\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\xfe", + "\x5b\xff", "\x00\x00", "\x5c\x01", "\x5c\x02", "\x00\x00", "\x5c\x04", + "\x5c\x05", "\x5c\x06", "\x5c\x07", "\x5c\x08", "\x5c\x09", "\x5c\x0a", + "\x5c\x0b", "\x00\x00", "\x5c\x0d", "\x5c\x0e", "\x5c\x0f", "\x00\x00", + "\x5c\x11", "\x00\x00", "\x5c\x13", "\x00\x00", "\x00\x00", "\x5c\x16", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x1a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x20", "\x00\x00", "\x5c\x22", + "\x00\x00", "\x5c\x24", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x28", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x2d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5c\x31", "\x5c\x38", "\x5c\x39", "\x5c\x3a", + "\x5c\x3b", "\x5c\x3c", "\x5c\x3d", "\x5c\x3e", "\x5c\x3f", "\x5c\x40", + "\x5c\x41", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x45", "\x5c\x46", + "\x00\x00", "\x5c\x48", "\x00\x00", "\x5c\x4a", "\x5c\x4b", "\x00\x00", + "\x5c\x4d", "\x5c\x4e", "\x5c\x4f", "\x5c\x50", "\x5c\x51", "\x00\x00", + "\x5c\x53", "\x00\x00", "\x5c\x55", "\x5c\x5e", "\x00\x00", "\x5c\x60", + "\x5c\x61", "\x00\x00", "\x00\x00", "\x5c\x64", "\x5c\x65", "\x5c\x6c", + "\x00\x00", "\x5c\x6e", "\x5c\x6f", "\x00\x00", "\x5c\x71", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x76", "\x00\x00", "\x00\x00", + "\x5c\x79", "\x5c\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x90", + "\x5c\x91", "\x00\x00", "\x00\x00", "\x5c\x94", "\x5c\xa1", "\x5c\xa8", + "\x5c\xa9", "\x00\x00", "\x5c\xab", "\x5c\xac", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5c\xb1", "\x00\x00", "\x5c\xb3", "\x00\x00", + "\x00\x00", "\x5c\xb6", "\x5c\xb7", "\x5c\xb8", "\x00\x00", "\x00\x00", + "\x5c\xbb", "\x5c\xbc", "\x00\x00", "\x5c\xbe", "\x5c\xc5", "\x00\x00", + "\x5c\xc7", "\x5c\xd9", "\x5c\xe0", "\x5c\xe1", "\x5c\xe8", "\x5c\xe9", + "\x5c\xea", "\x00\x00", "\x00\x00", "\x5c\xed", "\x00\x00", "\x5c\xef", + "\x5c\xf0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5c\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xfa", "\x5c\xfb", + "\x00\x00", "\x5c\xfd", "\x5d\x07", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5d\x0b", "\x00\x00", "\x00\x00", "\x5d\x0e", "\x00\x00", "\x00\x00", + "\x5d\x11", "\x00\x00", "\x00\x00", "\x5d\x14", "\x5d\x15", "\x5d\x16", + "\x5d\x17", "\x5d\x18", "\x5d\x19", "\x5d\x1a", "\x5d\x1b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5d\x1f", "\x00\x00", "\x00\x00", "\x5d\x22", + "\x5d\x29", "\x5d\x4b", "\x5d\x4c", "\x00\x00", "\x5d\x4e", "\x00\x00", + "\x5d\x50", "\x00\x00", "\x5d\x52", "\x5d\x5c", "\x5d\x69", "\x00\x00", + "\x00\x00", "\x5d\x6c", "\x00\x00", "\x00\x00", "\x5d\x6f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5d\x73", "\x00\x00", "\x00\x00", "\x5d\x76", + "\x5d\x82", "\x00\x00", "\x5d\x84", "\x00\x00", "\x00\x00", "\x5d\x87", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x8b", "\x5d\x8c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5d\x90", "\x5d\x9d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5d\xa2", "\x5d\xac", "\x00\x00", "\x5d\xae", + "\x5d\xb7", "\x00\x00", "\x00\x00", "\x5d\xba", "\x00\x00", "\x5d\xbc", + "\x5d\xbd", "\x5d\xc9", "\x00\x00", "\x00\x00", "\x5d\xcc", "\x5d\xcd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xd2", "\x5d\xd3", + "\x00\x00", "\x00\x00", "\x5d\xd6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\xdb", "\x00\x00", "\x5d\xdd", "\x5d\xde", "\x00\x00", + "\x00\x00", "\x5d\xe1", "\x00\x00", "\x5d\xe3", "\x00\x00", "\x5d\xe5", + "\x5d\xe6", "\x5d\xe7", "\x5d\xe8", "\x00\x00", "\x00\x00", "\x5d\xeb", + "\x00\x00", "\x00\x00", "\x5d\xee", "\x00\x00", "\x00\x00", "\x5d\xf1", + "\x5d\xf2", "\x5d\xf3", "\x5d\xf4", "\x5d\xf5", "\x00\x00", "\x5d\xf7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xfb", "\x00\x00", "\x5d\xfd", + "\x5d\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x02", "\x5e\x03", + "\x00\x00", "\x00\x00", "\x5e\x06", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5e\x0b", "\x5e\x0c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5e\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5e\x16", "\x00\x00", "\x00\x00", "\x5e\x19", "\x5e\x1a", "\x5e\x1b", + "\x00\x00", "\x5e\x1d", "\x5e\x25", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\x2b", "\x00\x00", "\x5e\x2d", "\x00\x00", + "\x5e\x2f", "\x5e\x30", "\x00\x00", "\x00\x00", "\x5e\x33", "\x00\x00", + "\x00\x00", "\x5e\x36", "\x5e\x37", "\x5e\x38", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\x3d", "\x00\x00", "\x00\x00", "\x5e\x40", + "\x00\x00", "\x00\x00", "\x5e\x43", "\x5e\x44", "\x5e\x45", "\x00\x00", + "\x5e\x47", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x4c", + "\x00\x00", "\x5e\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5e\x54", "\x5e\x55", "\x00\x00", "\x5e\x57", "\x5e\x5f", + "\x00\x00", "\x5e\x61", "\x5e\x62", "\x5e\x63", "\x5e\x64", "\x5e\x72", + "\x5e\x73", "\x5e\x74", "\x5e\x75", "\x5e\x76", "\x00\x00", "\x5e\x78", + "\x5e\x79", "\x5e\x7a", "\x5e\x7b", "\x5e\x7c", "\x5e\x7d", "\x5e\x7e", + "\x5e\x7f", "\x00\x00", "\x5e\x81", "\x00\x00", "\x5e\x83", "\x5e\x84", + "\x00\x00", "\x00\x00", "\x5e\x87", "\x00\x00", "\x00\x00", "\x5e\x8a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x8f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x95", "\x5e\x96", + "\x5e\x97", "\x00\x00", "\x00\x00", "\x5e\x9a", "\x00\x00", "\x5e\x9c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xa0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xa6", "\x5e\xa7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\xab", "\x00\x00", "\x5e\xad", "\x5e\xb5", + "\x5e\xb6", "\x5e\xb7", "\x5e\xb8", "\x5e\xc1", "\x5e\xc2", "\x5e\xc3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xc8", "\x5e\xc9", + "\x5e\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xcf", + "\x5e\xd0", "\x00\x00", "\x00\x00", "\x5e\xd3", "\x00\x00", "\x00\x00", + "\x5e\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xda", "\x5e\xdb", + "\x00\x00", "\x5e\xdd", "\x00\x00", "\x5e\xdf", "\x5e\xe0", "\x5e\xe1", + "\x5e\xe2", "\x5e\xe3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5e\xe8", "\x5e\xe9", "\x00\x00", "\x00\x00", "\x5e\xec", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\xf0", "\x5e\xf1", "\x00\x00", "\x5e\xf3", + "\x5e\xf4", "\x00\x00", "\x5e\xf6", "\x5e\xf7", "\x5e\xf8", "\x00\x00", + "\x5e\xfa", "\x5e\xfb", "\x5e\xfc", "\x00\x00", "\x5e\xfe", "\x5e\xff", + "\x00\x00", "\x5f\x01", "\x00\x00", "\x5f\x03", "\x5f\x04", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x09", "\x5f\x0a", "\x5f\x0b", + "\x5f\x0c", "\x5f\x0d", "\x00\x00", "\x5f\x0f", "\x5f\x10", "\x5f\x11", + "\x00\x00", "\x5f\x13", "\x5f\x14", "\x5f\x15", "\x5f\x16", "\x5f\x17", + "\x5f\x18", "\x00\x00", "\x00\x00", "\x5f\x1b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5f\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5f\x25", "\x5f\x26", "\x5f\x27", "\x00\x00", "\x5f\x29", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x2d", "\x00\x00", "\x5f\x2f", + "\x00\x00", "\x5f\x31", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x35", + "\x00\x00", "\x5f\x37", "\x5f\x38", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\x3c", "\x00\x00", "\x5f\x3e", "\x00\x00", "\x00\x00", "\x5f\x41", + "\x5f\x48", "\x00\x00", "\x5f\x4a", "\x00\x00", "\x5f\x4c", "\x00\x00", + "\x5f\x4e", "\x00\x00", "\x00\x00", "\x5f\x51", "\x00\x00", "\x5f\x53", + "\x00\x00", "\x00\x00", "\x5f\x56", "\x5f\x57", "\x00\x00", "\x5f\x59", + "\x00\x00", "\x00\x00", "\x5f\x5c", "\x5f\x5d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5f\x61", "\x5f\x62", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\x66", "\x00\x00", "\x00\x00", "\x5f\x69", "\x5f\x6a", "\x5f\x6b", + "\x5f\x6c", "\x5f\x6d", "\x00\x00", "\x00\x00", "\x5f\x70", "\x5f\x71", + "\x00\x00", "\x5f\x73", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x77", + "\x00\x00", "\x5f\x79", "\x00\x00", "\x00\x00", "\x5f\x7c", "\x00\x00", + "\x00\x00", "\x5f\x7f", "\x5f\x80", "\x5f\x81", "\x5f\x82", "\x5f\x83", + "\x5f\x84", "\x5f\x85", "\x00\x00", "\x5f\x87", "\x5f\x88", "\x00\x00", + "\x5f\x8a", "\x5f\x8b", "\x5f\x8c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\x90", "\x5f\x91", "\x5f\x92", "\x5f\x93", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5f\x97", "\x5f\x98", "\x5f\x99", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5f\x9e", "\x00\x00", "\x5f\xa0", "\x5f\xa1", + "\x5f\xa8", "\x5f\xa9", "\x5f\xaa", "\x00\x00", "\x00\x00", "\x5f\xad", + "\x5f\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xb3", + "\x5f\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xb9", + "\x00\x00", "\x00\x00", "\x5f\xbc", "\x5f\xbd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xc3", "\x00\x00", "\x5f\xc5", + "\x5f\xcc", "\x5f\xcd", "\x5f\xd6", "\x5f\xd7", "\x5f\xd8", "\x5f\xd9", + "\x00\x00", "\x00\x00", "\x5f\xdc", "\x5f\xdd", "\x00\x00", "\x00\x00", + "\x5f\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xe4", "\x5f\xeb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xf0", "\x5f\xf1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xf5", "\x00\x00", "\x00\x00", + "\x5f\xf8", "\x00\x00", "\x00\x00", "\x5f\xfb", "\x00\x00", "\x5f\xfd", + "\x00\x00", "\x5f\xff", "\x60\x0e", "\x60\x0f", "\x60\x10", "\x00\x00", + "\x60\x12", "\x00\x00", "\x00\x00", "\x60\x15", "\x60\x16", "\x00\x00", + "\x00\x00", "\x60\x19", "\x00\x00", "\x60\x1b", "\x60\x1c", "\x60\x1d", + "\x00\x00", "\x00\x00", "\x60\x20", "\x60\x21", "\x00\x00", "\x00\x00", + "\x00\x00", "\x60\x25", "\x60\x26", "\x60\x27", "\x60\x28", "\x60\x29", + "\x60\x2a", "\x60\x2b", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x2f", + "\x00\x00", "\x60\x31", "\x60\x3a", "\x60\x41", "\x60\x42", "\x60\x43", + "\x00\x00", "\x00\x00", "\x60\x46", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x4a", "\x60\x4b", "\x00\x00", "\x60\x4d", "\x00\x00", "\x00\x00", + "\x60\x50", "\x00\x00", "\x60\x52", "\x00\x00", "\x00\x00", "\x60\x55", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x59", "\x60\x5a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x5f", "\x60\x60", "\x00\x00", + "\x60\x62", "\x60\x63", "\x60\x64", "\x60\x65", "\x00\x00", "\x00\x00", + "\x60\x68", "\x60\x69", "\x60\x6a", "\x60\x6b", "\x60\x6c", "\x60\x6d", + "\x00\x00", "\x60\x6f", "\x60\x70", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x60\x75", "\x00\x00", "\x60\x77", "\x60\x81", "\x00\x00", + "\x60\x83", "\x60\x84", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x89", "\x00\x00", "\x60\x8b", "\x60\x8c", "\x60\x8d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x92", "\x00\x00", "\x60\x94", + "\x00\x00", "\x60\x96", "\x60\x97", "\x00\x00", "\x00\x00", "\x60\x9a", + "\x60\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x9f", "\x60\xa0", + "\x00\x00", "\x00\x00", "\x60\xa3", "\x00\x00", "\x00\x00", "\x60\xa6", + "\x60\xa7", "\x00\x00", "\x60\xa9", "\x60\xaa", "\x60\xb2", "\x60\xb3", + "\x60\xb4", "\x60\xb5", "\x60\xb6", "\x00\x00", "\x60\xb8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\xbc", "\x60\xbd", "\x60\xc5", "\x60\xc6", + "\x60\xc7", "\x60\xd1", "\x00\x00", "\x60\xd3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\xd8", "\x00\x00", "\x60\xda", "\x00\x00", + "\x60\xdc", "\x00\x00", "\x00\x00", "\x60\xdf", "\x60\xe0", "\x60\xe1", + "\x00\x00", "\x60\xe3", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xe7", + "\x60\xe8", "\x60\xf0", "\x60\xf1", "\x00\x00", "\x60\xf3", "\x60\xf4", + "\x00\x00", "\x60\xf6", "\x60\xf7", "\x00\x00", "\x60\xf9", "\x60\xfa", + "\x60\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x00", + "\x61\x01", "\x00\x00", "\x61\x03", "\x00\x00", "\x00\x00", "\x61\x06", + "\x00\x00", "\x61\x08", "\x61\x09", "\x00\x00", "\x00\x00", "\x00\x00", + "\x61\x0d", "\x61\x0e", "\x61\x0f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\x15", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x61\x1a", "\x61\x1b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x61\x1f", "\x00\x00", "\x61\x21", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\x27", "\x61\x28", "\x00\x00", "\x00\x00", + "\x00\x00", "\x61\x2c", "\x61\x34", "\x61\x3c", "\x61\x3d", "\x61\x3e", + "\x61\x3f", "\x00\x00", "\x00\x00", "\x61\x42", "\x00\x00", "\x61\x44", + "\x00\x00", "\x00\x00", "\x61\x47", "\x61\x48", "\x00\x00", "\x61\x4a", + "\x61\x4b", "\x61\x4c", "\x61\x4d", "\x61\x4e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\x53", "\x00\x00", "\x61\x55", "\x00\x00", + "\x00\x00", "\x61\x58", "\x61\x59", "\x61\x5a", "\x00\x00", "\x00\x00", + "\x61\x5d", "\x00\x00", "\x61\x5f", "\x00\x00", "\x00\x00", "\x61\x62", + "\x61\x63", "\x00\x00", "\x61\x65", "\x00\x00", "\x61\x67", "\x61\x68", + "\x00\x00", "\x00\x00", "\x61\x6b", "\x00\x00", "\x00\x00", "\x61\x6e", + "\x61\x6f", "\x61\x70", "\x61\x71", "\x00\x00", "\x61\x73", "\x61\x74", + "\x61\x75", "\x61\x76", "\x61\x77", "\x61\x7e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x61\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x61\x87", "\x00\x00", "\x00\x00", "\x61\x8a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x61\x8e", "\x00\x00", "\x61\x90", "\x61\x91", "\x00\x00", + "\x00\x00", "\x61\x94", "\x00\x00", "\x61\x96", "\x00\x00", "\x00\x00", + "\x61\x99", "\x61\x9a", "\x61\xa4", "\x00\x00", "\x00\x00", "\x61\xa7", + "\x00\x00", "\x61\xa9", "\x00\x00", "\x61\xab", "\x61\xac", "\x00\x00", + "\x61\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xb2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\xb6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x61\xba", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xbe", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xc3", "\x00\x00", "\x00\x00", + "\x61\xc6", "\x61\xc7", "\x61\xc8", "\x61\xc9", "\x61\xca", "\x61\xcb", + "\x61\xcc", "\x61\xcd", "\x00\x00", "\x00\x00", "\x61\xd0", "\x61\xe3", + "\x00\x00", "\x00\x00", "\x61\xe6", "\x61\xf2", "\x00\x00", "\x61\xf4", + "\x00\x00", "\x61\xf6", "\x61\xf7", "\x61\xf8", "\x00\x00", "\x61\xfa", + "\x00\x00", "\x61\xfc", "\x61\xfd", "\x61\xfe", "\x61\xff", "\x62\x00", + "\x62\x08", "\x62\x09", "\x62\x0a", "\x00\x00", "\x62\x0c", "\x62\x0d", + "\x62\x0e", "\x00\x00", "\x62\x10", "\x62\x11", "\x62\x12", "\x00\x00", + "\x62\x14", "\x00\x00", "\x62\x16", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\x1a", "\x62\x1b", "\x00\x00", "\x62\x1d", "\x62\x1e", "\x62\x1f", + "\x00\x00", "\x62\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x2a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x62\x2e", "\x62\x2f", "\x62\x30", "\x00\x00", + "\x62\x32", "\x62\x33", "\x62\x34", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\x38", "\x00\x00", "\x00\x00", "\x62\x3b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x62\x3f", "\x62\x40", "\x62\x41", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x47", "\x62\x48", "\x62\x49", + "\x00\x00", "\x62\x4b", "\x00\x00", "\x62\x4d", "\x62\x4e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x53", "\x00\x00", "\x62\x55", + "\x00\x00", "\x00\x00", "\x62\x58", "\x00\x00", "\x00\x00", "\x62\x5b", + "\x00\x00", "\x00\x00", "\x62\x5e", "\x00\x00", "\x62\x60", "\x00\x00", + "\x00\x00", "\x62\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\x68", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\x6e", "\x00\x00", "\x00\x00", "\x62\x71", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x62\x76", "\x00\x00", "\x00\x00", "\x62\x79", + "\x00\x00", "\x00\x00", "\x62\x7c", "\x00\x00", "\x62\x7e", "\x62\x7f", + "\x62\x80", "\x00\x00", "\x62\x82", "\x62\x83", "\x62\x84", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x89", "\x62\x8a", "\x62\x91", + "\x62\x92", "\x62\x93", "\x62\x94", "\x62\x95", "\x62\x96", "\x62\x97", + "\x62\x98", "\x00\x00", "\x00\x00", "\x62\x9b", "\x62\x9c", "\x00\x00", + "\x62\x9e", "\x62\xab", "\x62\xac", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x62\xb1", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\xb5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x62\xb9", "\x00\x00", "\x62\xbb", + "\x62\xbc", "\x62\xbd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\xc2", "\x00\x00", "\x00\x00", "\x62\xc5", "\x62\xc6", "\x62\xc7", + "\x62\xc8", "\x62\xc9", "\x62\xca", "\x00\x00", "\x62\xcc", "\x62\xcd", + "\x00\x00", "\x62\xcf", "\x62\xd0", "\x62\xd1", "\x62\xd2", "\x62\xd3", + "\x62\xd4", "\x00\x00", "\x00\x00", "\x62\xd7", "\x62\xd8", "\x62\xd9", + "\x00\x00", "\x62\xdb", "\x62\xdc", "\x62\xdd", "\x00\x00", "\x00\x00", + "\x62\xe0", "\x62\xe1", "\x62\xec", "\x62\xed", "\x62\xee", "\x62\xef", + "\x00\x00", "\x62\xf1", "\x00\x00", "\x62\xf3", "\x00\x00", "\x62\xf5", + "\x62\xf6", "\x62\xf7", "\x62\xfe", "\x62\xff", "\x00\x00", "\x63\x01", + "\x63\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x07", + "\x63\x08", "\x63\x09", "\x00\x00", "\x00\x00", "\x63\x0c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x11", "\x63\x19", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x1f", "\x63\x27", + "\x63\x28", "\x00\x00", "\x00\x00", "\x63\x2b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\x2f", "\x63\x3a", "\x00\x00", "\x00\x00", "\x63\x3d", + "\x63\x3e", "\x63\x3f", "\x63\x49", "\x00\x00", "\x00\x00", "\x63\x4c", + "\x63\x4d", "\x00\x00", "\x63\x4f", "\x63\x50", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x63\x55", "\x00\x00", "\x63\x57", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x5c", "\x63\x67", "\x63\x68", + "\x63\x69", "\x00\x00", "\x63\x6b", "\x00\x00", "\x00\x00", "\x63\x6e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x72", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\x76", "\x63\x77", "\x00\x00", "\x00\x00", "\x63\x7a", + "\x63\x7b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x80", + "\x00\x00", "\x00\x00", "\x63\x83", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\x88", "\x63\x89", "\x00\x00", "\x00\x00", "\x63\x8c", + "\x00\x00", "\x63\x8e", "\x63\x8f", "\x00\x00", "\x00\x00", "\x63\x92", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x96", "\x00\x00", "\x63\x98", + "\x00\x00", "\x00\x00", "\x63\x9b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x63\x9f", "\x63\xa0", "\x63\xa1", "\x63\xa2", "\x63\xa3", "\x00\x00", + "\x63\xa5", "\x00\x00", "\x63\xa7", "\x63\xa8", "\x63\xa9", "\x63\xaa", + "\x63\xab", "\x63\xac", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\xb2", "\x00\x00", "\x63\xb4", "\x63\xb5", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xbb", "\x00\x00", + "\x00\x00", "\x63\xbe", "\x00\x00", "\x63\xc0", "\x00\x00", "\x00\x00", + "\x63\xc3", "\x63\xc4", "\x00\x00", "\x63\xc6", "\x00\x00", "\x00\x00", + "\x63\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x63\xcf", "\x63\xd0", "\x00\x00", "\x63\xd2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xda", + "\x63\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x63\xe1", "\x00\x00", "\x63\xe3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x63\xe9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\xee", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\xf4", "\x00\x00", "\x63\xf6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\xfa", "\x64\x06", "\x64\x0d", "\x00\x00", "\x64\x0f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x13", "\x00\x00", "\x00\x00", + "\x64\x16", "\x64\x17", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x64\x1c", "\x64\x26", "\x00\x00", "\x64\x28", "\x00\x00", "\x00\x00", + "\x00\x00", "\x64\x2c", "\x64\x2d", "\x64\x34", "\x00\x00", "\x64\x36", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x3a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x64\x3e", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x42", + "\x64\x4e", "\x64\x58", "\x64\x67", "\x00\x00", "\x64\x69", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x6f", "\x64\x76", + "\x00\x00", "\x64\x78", "\x00\x00", "\x64\x7a", "\x64\x83", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x88", "\x64\x92", "\x64\x93", + "\x00\x00", "\x64\x95", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x64\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x9e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xa4", "\x64\xa5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xa9", "\x00\x00", "\x64\xab", + "\x00\x00", "\x64\xad", "\x64\xae", "\x00\x00", "\x64\xb0", "\x00\x00", + "\x64\xb2", "\x64\xb9", "\x00\x00", "\x64\xbb", "\x64\xbc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xc1", "\x64\xc2", "\x00\x00", + "\x00\x00", "\x64\xc5", "\x00\x00", "\x64\xc7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xcd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x64\xd2", "\x00\x00", "\x64\xd4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x64\xd8", "\x00\x00", "\x64\xda", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xe0", "\x64\xe1", + "\x64\xe2", "\x64\xe3", "\x00\x00", "\x00\x00", "\x64\xe6", "\x64\xe7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xec", "\x00\x00", + "\x00\x00", "\x64\xef", "\x00\x00", "\x64\xf1", "\x64\xf2", "\x00\x00", + "\x64\xf4", "\x00\x00", "\x64\xf6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x64\xfa", "\x00\x00", "\x00\x00", "\x64\xfd", "\x64\xfe", "\x00\x00", + "\x65\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x05", + "\x65\x18", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x1c", "\x65\x1d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x23", + "\x65\x24", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x65\x2a", "\x65\x2b", "\x65\x2c", "\x00\x00", "\x00\x00", "\x65\x2f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x34", "\x65\x35", + "\x65\x36", "\x65\x37", "\x65\x38", "\x65\x39", "\x00\x00", "\x65\x3b", + "\x00\x00", "\x00\x00", "\x65\x3e", "\x65\x3f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x45", "\x00\x00", "\x00\x00", + "\x65\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x4d", + "\x00\x00", "\x65\x4f", "\x00\x00", "\x65\x51", "\x00\x00", "\x00\x00", + "\x00\x00", "\x65\x55", "\x65\x56", "\x65\x57", "\x65\x58", "\x65\x59", + "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x5d", "\x65\x5e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x65\x62", "\x65\x63", "\x00\x00", "\x00\x00", + "\x65\x66", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x65\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x70", "\x00\x00", + "\x65\x72", "\x00\x00", "\x65\x74", "\x65\x75", "\x00\x00", "\x65\x77", + "\x65\x78", "\x65\x82", "\x65\x83", "\x00\x00", "\x00\x00", "\x00\x00", + "\x65\x87", "\x65\x88", "\x65\x89", "\x00\x00", "\x00\x00", "\x65\x8c", + "\x00\x00", "\x65\x8e", "\x00\x00", "\x65\x90", "\x65\x91", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x97", "\x00\x00", + "\x65\x99", "\x00\x00", "\x65\x9b", "\x65\x9c", "\x00\x00", "\x00\x00", + "\x65\x9f", "\x00\x00", "\x65\xa1", "\x00\x00", "\x00\x00", "\x65\xa4", + "\x65\xa5", "\x00\x00", "\x65\xa7", "\x00\x00", "\x00\x00", "\x00\x00", + "\x65\xab", "\x65\xac", "\x65\xad", "\x00\x00", "\x65\xaf", "\x65\xb0", + "\x65\xb7", "\x00\x00", "\x65\xb9", "\x00\x00", "\x00\x00", "\x65\xbc", + "\x65\xbd", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xc1", "\x00\x00", + "\x65\xc3", "\x65\xc4", "\x65\xc5", "\x65\xc6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x65\xcb", "\x65\xcc", "\x00\x00", "\x00\x00", + "\x65\xcf", "\x00\x00", "\x00\x00", "\x65\xd2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x65\xd7", "\x00\x00", "\x65\xd9", "\x00\x00", + "\x65\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xe0", + "\x65\xe1", "\x65\xe2", "\x00\x00", "\x00\x00", "\x65\xe5", "\x65\xe6", + "\x65\xe7", "\x65\xe8", "\x65\xe9", "\x00\x00", "\x00\x00", "\x65\xec", + "\x65\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xf1", "\x65\xfa", + "\x65\xfb", "\x66\x02", "\x66\x03", "\x00\x00", "\x00\x00", "\x66\x06", + "\x66\x07", "\x00\x00", "\x00\x00", "\x66\x0a", "\x00\x00", "\x66\x0c", + "\x00\x00", "\x66\x0e", "\x66\x0f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\x13", "\x66\x14", "\x66\x1c", "\x00\x00", "\x00\x00", "\x66\x1f", + "\x66\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x25", + "\x00\x00", "\x66\x27", "\x66\x28", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x66\x2d", "\x00\x00", "\x66\x2f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\x34", "\x66\x35", "\x66\x36", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x3c", "\x00\x00", + "\x00\x00", "\x66\x3f", "\x00\x00", "\x66\x41", "\x66\x42", "\x66\x43", + "\x66\x44", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x49", + "\x00\x00", "\x66\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x4f", + "\x00\x00", "\x00\x00", "\x66\x52", "\x66\x5d", "\x66\x5e", "\x66\x5f", + "\x00\x00", "\x00\x00", "\x66\x62", "\x00\x00", "\x66\x64", "\x00\x00", + "\x66\x66", "\x66\x67", "\x66\x68", "\x66\x69", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\x6e", "\x66\x6f", "\x66\x70", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\x74", "\x00\x00", "\x66\x76", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\x7a", "\x66\x81", "\x00\x00", "\x66\x83", + "\x66\x84", "\x00\x00", "\x00\x00", "\x66\x87", "\x66\x88", "\x66\x89", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x8e", "\x00\x00", + "\x00\x00", "\x66\x91", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\x96", "\x66\x97", "\x66\x98", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x66\x9d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\xa2", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xa6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xab", "\x00\x00", "\x00\x00", + "\x66\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xb8", "\x66\xb9", + "\x00\x00", "\x00\x00", "\x66\xbc", "\x00\x00", "\x66\xbe", "\x00\x00", + "\x00\x00", "\x66\xc1", "\x00\x00", "\x00\x00", "\x66\xc4", "\x00\x00", + "\x00\x00", "\x66\xc7", "\x00\x00", "\x66\xc9", "\x66\xd6", "\x00\x00", + "\x00\x00", "\x66\xd9", "\x66\xda", "\x00\x00", "\x66\xdc", "\x66\xdd", + "\x00\x00", "\x00\x00", "\x66\xe0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\xe6", "\x00\x00", "\x00\x00", "\x66\xe9", + "\x66\xf0", "\x00\x00", "\x66\xf2", "\x66\xf3", "\x66\xf4", "\x66\xf5", + "\x00\x00", "\x66\xf7", "\x66\xf8", "\x66\xf9", "\x00\x00", "\x00\x00", + "\x66\xfc", "\x66\xfd", "\x66\xfe", "\x66\xff", "\x67\x00", "\x00\x00", + "\x00\x00", "\x67\x03", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x67\x08", "\x67\x09", "\x00\x00", "\x67\x0b", "\x00\x00", "\x67\x0d", + "\x00\x00", "\x67\x0f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x67\x14", "\x67\x15", "\x67\x16", "\x67\x17", "\x00\x00", "\x00\x00", + "\x00\x00", "\x67\x1b", "\x00\x00", "\x67\x1d", "\x67\x1e", "\x67\x1f", + "\x67\x26", "\x67\x27", "\x67\x28", "\x00\x00", "\x67\x2a", "\x67\x2b", + "\x67\x2c", "\x67\x2d", "\x67\x2e", "\x00\x00", "\x00\x00", "\x67\x31", + "\x00\x00", "\x00\x00", "\x67\x34", "\x00\x00", "\x67\x36", "\x67\x37", + "\x67\x38", "\x00\x00", "\x67\x3a", "\x00\x00", "\x00\x00", "\x67\x3d", + "\x00\x00", "\x67\x3f", "\x00\x00", "\x67\x41", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\x46", "\x00\x00", "\x00\x00", "\x67\x49", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x4e", "\x67\x4f", + "\x67\x50", "\x67\x51", "\x00\x00", "\x67\x53", "\x00\x00", "\x00\x00", + "\x67\x56", "\x00\x00", "\x00\x00", "\x67\x59", "\x00\x00", "\x00\x00", + "\x67\x5c", "\x00\x00", "\x67\x5e", "\x67\x5f", "\x67\x60", "\x67\x61", + "\x67\x62", "\x67\x63", "\x67\x64", "\x67\x65", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\x6a", "\x00\x00", "\x00\x00", "\x67\x6d", + "\x00\x00", "\x67\x6f", "\x67\x70", "\x67\x71", "\x67\x72", "\x67\x73", + "\x00\x00", "\x67\x75", "\x00\x00", "\x67\x77", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\x7c", "\x00\x00", "\x67\x7e", "\x67\x7f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x85", + "\x00\x00", "\x67\x87", "\x00\x00", "\x67\x89", "\x00\x00", "\x67\x8b", + "\x67\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x90", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x95", "\x00\x00", "\x67\x97", + "\x00\x00", "\x00\x00", "\x67\x9a", "\x00\x00", "\x67\x9c", "\x67\x9d", + "\x00\x00", "\x00\x00", "\x67\xa0", "\x67\xa1", "\x67\xa2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\xa6", "\x00\x00", "\x00\x00", "\x67\xa9", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xaf", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xb3", "\x67\xb4", "\x00\x00", + "\x67\xb6", "\x67\xb7", "\x67\xb8", "\x67\xb9", "\x67\xc1", "\x00\x00", + "\x00\x00", "\x67\xc4", "\x00\x00", "\x67\xc6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x67\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xce", + "\x67\xcf", "\x67\xd0", "\x67\xd1", "\x00\x00", "\x67\xd3", "\x67\xd4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xd8", "\x00\x00", "\x67\xda", + "\x00\x00", "\x00\x00", "\x67\xdd", "\x67\xde", "\x00\x00", "\x00\x00", + "\x00\x00", "\x67\xe2", "\x00\x00", "\x67\xe4", "\x00\x00", "\x00\x00", + "\x67\xe7", "\x00\x00", "\x67\xe9", "\x00\x00", "\x00\x00", "\x67\xec", + "\x00\x00", "\x67\xee", "\x67\xef", "\x00\x00", "\x67\xf1", "\x00\x00", + "\x67\xf3", "\x67\xf4", "\x67\xf5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\xfb", "\x00\x00", "\x00\x00", "\x67\xfe", + "\x67\xff", "\x00\x00", "\x00\x00", "\x68\x02", "\x68\x03", "\x68\x04", + "\x68\x13", "\x00\x00", "\x00\x00", "\x68\x16", "\x68\x17", "\x68\x1e", + "\x00\x00", "\x00\x00", "\x68\x21", "\x68\x22", "\x68\x29", "\x68\x2a", + "\x68\x2b", "\x68\x32", "\x00\x00", "\x68\x34", "\x00\x00", "\x00\x00", + "\x00\x00", "\x68\x38", "\x68\x39", "\x00\x00", "\x00\x00", "\x68\x3c", + "\x68\x3d", "\x00\x00", "\x00\x00", "\x68\x40", "\x68\x41", "\x68\x42", + "\x68\x43", "\x00\x00", "\x00\x00", "\x68\x46", "\x00\x00", "\x68\x48", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x4d", "\x68\x4e", + "\x00\x00", "\x68\x50", "\x68\x51", "\x00\x00", "\x68\x53", "\x68\x54", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x59", "\x00\x00", + "\x00\x00", "\x68\x5c", "\x68\x5d", "\x00\x00", "\x68\x5f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x68\x63", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\x67", "\x68\x74", "\x00\x00", "\x68\x76", "\x68\x77", "\x68\x7e", + "\x68\x7f", "\x00\x00", "\x68\x81", "\x00\x00", "\x68\x83", "\x00\x00", + "\x68\x85", "\x68\x8d", "\x00\x00", "\x68\x8f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x68\x93", "\x68\x94", "\x00\x00", "\x00\x00", "\x68\x97", + "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x9b", "\x00\x00", "\x68\x9d", + "\x00\x00", "\x68\x9f", "\x68\xa0", "\x00\x00", "\x68\xa2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x68\xa6", "\x68\xa7", "\x68\xa8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xad", "\x00\x00", "\x68\xaf", + "\x68\xb0", "\x68\xb1", "\x00\x00", "\x68\xb3", "\x00\x00", "\x68\xb5", + "\x68\xb6", "\x00\x00", "\x00\x00", "\x68\xb9", "\x68\xba", "\x00\x00", + "\x68\xbc", "\x68\xc4", "\x00\x00", "\x68\xc6", "\x00\x00", "\x00\x00", + "\x68\xc9", "\x68\xca", "\x68\xcb", "\x00\x00", "\x68\xcd", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xd2", "\x00\x00", "\x68\xd4", + "\x68\xd5", "\x00\x00", "\x68\xd7", "\x68\xd8", "\x00\x00", "\x68\xda", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xdf", "\x68\xe0", + "\x68\xe1", "\x00\x00", "\x68\xe3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\xe7", "\x68\xee", "\x68\xef", "\x00\x00", "\x00\x00", "\x68\xf2", + "\x68\xf9", "\x68\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x69\x00", "\x69\x01", "\x00\x00", "\x00\x00", "\x69\x04", + "\x69\x05", "\x00\x00", "\x00\x00", "\x69\x08", "\x00\x00", "\x00\x00", + "\x69\x0b", "\x69\x0c", "\x69\x0d", "\x69\x0e", "\x69\x0f", "\x00\x00", + "\x00\x00", "\x69\x12", "\x69\x19", "\x69\x1a", "\x69\x1b", "\x69\x1c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x21", "\x69\x22", + "\x69\x23", "\x00\x00", "\x69\x25", "\x69\x26", "\x00\x00", "\x69\x28", + "\x00\x00", "\x69\x2a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x69\x30", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x34", + "\x00\x00", "\x69\x36", "\x00\x00", "\x00\x00", "\x69\x39", "\x00\x00", + "\x00\x00", "\x00\x00", "\x69\x3d", "\x00\x00", "\x69\x3f", "\x69\x4a", + "\x69\x53", "\x69\x54", "\x69\x55", "\x00\x00", "\x00\x00", "\x00\x00", + "\x69\x59", "\x69\x5a", "\x00\x00", "\x69\x5c", "\x69\x5d", "\x69\x5e", + "\x00\x00", "\x69\x60", "\x69\x61", "\x69\x62", "\x69\x6a", "\x69\x6b", + "\x00\x00", "\x69\x6d", "\x69\x6e", "\x69\x6f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x69\x73", "\x69\x74", "\x69\x75", "\x00\x00", "\x69\x77", + "\x69\x78", "\x69\x79", "\x00\x00", "\x00\x00", "\x69\x7c", "\x69\x7d", + "\x69\x7e", "\x00\x00", "\x00\x00", "\x69\x81", "\x69\x82", "\x69\x8a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x8e", "\x00\x00", "\x00\x00", + "\x69\x91", "\x00\x00", "\x00\x00", "\x69\x94", "\x69\x95", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x9b", "\x69\x9c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xa0", "\x69\xa7", "\x69\xae", + "\x00\x00", "\x00\x00", "\x69\xb1", "\x69\xb2", "\x00\x00", "\x69\xb4", + "\x69\xbb", "\x00\x00", "\x00\x00", "\x69\xbe", "\x69\xbf", "\x00\x00", + "\x69\xc1", "\x00\x00", "\x69\xc3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x69\xc7", "\x00\x00", "\x00\x00", "\x69\xca", "\x69\xcb", "\x69\xcc", + "\x69\xcd", "\x69\xce", "\x00\x00", "\x69\xd0", "\x00\x00", "\x00\x00", + "\x69\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xd8", + "\x69\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xdd", "\x69\xde", + "\x69\xe7", "\x69\xe8", "\x00\x00", "\x00\x00", "\x69\xeb", "\x00\x00", + "\x69\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xf2", + "\x69\xf9", "\x00\x00", "\x69\xfb", "\x00\x00", "\x69\xfd", "\x00\x00", + "\x69\xff", "\x00\x00", "\x00\x00", "\x6a\x02", "\x00\x00", "\x00\x00", + "\x6a\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x0a", + "\x6a\x0b", "\x6a\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6a\x12", "\x6a\x13", "\x6a\x14", "\x00\x00", "\x00\x00", + "\x6a\x17", "\x00\x00", "\x6a\x19", "\x00\x00", "\x6a\x1b", "\x00\x00", + "\x00\x00", "\x6a\x1e", "\x6a\x1f", "\x00\x00", "\x6a\x21", "\x6a\x22", + "\x6a\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\x29", "\x6a\x2a", "\x6a\x2b", "\x00\x00", "\x00\x00", "\x6a\x2e", + "\x6a\x35", "\x6a\x36", "\x00\x00", "\x6a\x38", "\x6a\x39", "\x6a\x3a", + "\x00\x00", "\x00\x00", "\x6a\x3d", "\x6a\x44", "\x00\x00", "\x00\x00", + "\x6a\x47", "\x6a\x48", "\x00\x00", "\x00\x00", "\x6a\x4b", "\x6a\x58", + "\x6a\x59", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\x5f", "\x00\x00", "\x6a\x61", "\x6a\x62", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6a\x66", "\x6a\x72", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6a\x78", "\x6a\x7f", "\x6a\x80", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6a\x84", "\x6a\x8d", "\x6a\x8e", "\x00\x00", + "\x6a\x90", "\x6a\x97", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\x9c", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xa0", "\x00\x00", + "\x6a\xa2", "\x6a\xa3", "\x6a\xaa", "\x00\x00", "\x6a\xac", "\x00\x00", + "\x6a\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xb3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xb8", "\x00\x00", + "\x00\x00", "\x6a\xbb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6a\xc1", "\x6a\xc2", "\x6a\xc3", "\x6a\xd1", "\x00\x00", + "\x6a\xd3", "\x6a\xda", "\x6a\xdb", "\x00\x00", "\x00\x00", "\x6a\xde", + "\x6a\xdf", "\x6a\xe8", "\x00\x00", "\x6a\xea", "\x6a\xfa", "\x6a\xfb", + "\x6b\x04", "\x6b\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6b\x0a", "\x6b\x12", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x16", + "\x6b\x1d", "\x00\x00", "\x6b\x1f", "\x6b\x20", "\x6b\x21", "\x00\x00", + "\x6b\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x27", "\x6b\x32", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x37", "\x6b\x38", + "\x6b\x39", "\x6b\x3a", "\x00\x00", "\x00\x00", "\x6b\x3d", "\x6b\x3e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x43", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x47", "\x00\x00", "\x6b\x49", "\x00\x00", + "\x00\x00", "\x6b\x4c", "\x00\x00", "\x6b\x4e", "\x00\x00", "\x6b\x50", + "\x00\x00", "\x00\x00", "\x6b\x53", "\x6b\x54", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x59", "\x00\x00", "\x6b\x5b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x5f", "\x00\x00", "\x6b\x61", "\x6b\x62", + "\x6b\x63", "\x6b\x64", "\x00\x00", "\x6b\x66", "\x00\x00", "\x00\x00", + "\x6b\x69", "\x6b\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6b\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x73", "\x6b\x74", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x78", "\x6b\x79", "\x00\x00", + "\x6b\x7b", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x7f", "\x6b\x80", + "\x00\x00", "\x00\x00", "\x6b\x83", "\x6b\x84", "\x00\x00", "\x6b\x86", + "\x00\x00", "\x00\x00", "\x6b\x89", "\x6b\x8a", "\x6b\x8b", "\x00\x00", + "\x6b\x8d", "\x6b\x95", "\x6b\x96", "\x00\x00", "\x6b\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x9e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xa4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xaa", "\x6b\xab", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xaf", "\x00\x00", "\x6b\xb1", + "\x6b\xb2", "\x6b\xb3", "\x6b\xb4", "\x6b\xb5", "\x00\x00", "\x6b\xb7", + "\x00\x00", "\x00\x00", "\x6b\xba", "\x6b\xbb", "\x6b\xbc", "\x00\x00", + "\x00\x00", "\x6b\xbf", "\x6b\xc0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\xc5", "\x6b\xc6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\xcb", "\x00\x00", "\x6b\xcd", "\x6b\xce", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\xd2", "\x6b\xd3", "\x6b\xd4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\xd8", "\x00\x00", "\x00\x00", "\x6b\xdb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xdf", "\x6b\xeb", "\x6b\xec", + "\x00\x00", "\x00\x00", "\x6b\xef", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6b\xf3", "\x6c\x08", "\x6c\x0f", "\x00\x00", "\x6c\x11", "\x00\x00", + "\x6c\x13", "\x6c\x14", "\x00\x00", "\x00\x00", "\x6c\x17", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6c\x1b", "\x6c\x23", "\x6c\x24", "\x6c\x34", + "\x00\x00", "\x00\x00", "\x6c\x37", "\x6c\x38", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x3e", "\x00\x00", "\x6c\x40", + "\x6c\x41", "\x6c\x42", "\x6c\x4e", "\x00\x00", "\x6c\x50", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x55", "\x00\x00", "\x6c\x57", + "\x00\x00", "\x00\x00", "\x6c\x5a", "\x00\x00", "\x00\x00", "\x6c\x5d", + "\x6c\x5e", "\x6c\x5f", "\x6c\x60", "\x00\x00", "\x6c\x62", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x68", "\x00\x00", + "\x6c\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6c\x70", "\x00\x00", "\x6c\x72", "\x6c\x73", "\x6c\x7a", "\x00\x00", + "\x00\x00", "\x6c\x7d", "\x6c\x7e", "\x00\x00", "\x00\x00", "\x6c\x81", + "\x6c\x82", "\x6c\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6c\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x8c", "\x6c\x8d", + "\x00\x00", "\x00\x00", "\x6c\x90", "\x00\x00", "\x6c\x92", "\x6c\x93", + "\x00\x00", "\x00\x00", "\x6c\x96", "\x00\x00", "\x00\x00", "\x6c\x99", + "\x6c\x9a", "\x6c\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6c\xa1", "\x6c\xa2", "\x6c\xab", "\x00\x00", "\x00\x00", + "\x6c\xae", "\x00\x00", "\x00\x00", "\x6c\xb1", "\x00\x00", "\x6c\xb3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xb8", "\x6c\xb9", + "\x6c\xba", "\x6c\xbb", "\x6c\xbc", "\x6c\xbd", "\x6c\xbe", "\x6c\xbf", + "\x00\x00", "\x6c\xc1", "\x00\x00", "\x00\x00", "\x6c\xc4", "\x6c\xc5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xc9", "\x6c\xca", "\x00\x00", + "\x6c\xcc", "\x6c\xd3", "\x00\x00", "\x6c\xd5", "\x00\x00", "\x6c\xd7", + "\x00\x00", "\x6c\xd9", "\x00\x00", "\x6c\xdb", "\x00\x00", "\x6c\xdd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xe1", "\x6c\xe2", "\x6c\xe3", + "\x00\x00", "\x6c\xe5", "\x00\x00", "\x00\x00", "\x6c\xe8", "\x00\x00", + "\x6c\xea", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xef", + "\x6c\xf0", "\x6c\xf1", "\x00\x00", "\x6c\xf3", "\x6d\x0b", "\x6d\x0c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x12", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x17", "\x00\x00", + "\x6d\x19", "\x00\x00", "\x6d\x1b", "\x00\x00", "\x00\x00", "\x6d\x1e", + "\x6d\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6d\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x29", "\x6d\x2a", + "\x6d\x2b", "\x6d\x32", "\x6d\x33", "\x00\x00", "\x6d\x35", "\x6d\x36", + "\x00\x00", "\x6d\x38", "\x00\x00", "\x00\x00", "\x6d\x3b", "\x00\x00", + "\x6d\x3d", "\x6d\x3e", "\x00\x00", "\x00\x00", "\x6d\x41", "\x00\x00", + "\x00\x00", "\x6d\x44", "\x6d\x45", "\x6d\x59", "\x6d\x5a", "\x00\x00", + "\x6d\x5c", "\x6d\x63", "\x6d\x64", "\x00\x00", "\x6d\x66", "\x00\x00", + "\x00\x00", "\x6d\x69", "\x6d\x6a", "\x00\x00", "\x6d\x6c", "\x00\x00", + "\x6d\x6e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6d\x74", "\x00\x00", "\x00\x00", "\x6d\x77", "\x6d\x78", "\x6d\x79", + "\x6d\x85", "\x00\x00", "\x00\x00", "\x6d\x88", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6d\x8c", "\x00\x00", "\x6d\x8e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6d\x93", "\x00\x00", "\x6d\x95", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6d\x99", "\x00\x00", "\x6d\x9b", "\x6d\x9c", + "\x6d\xaf", "\x00\x00", "\x00\x00", "\x6d\xb2", "\x00\x00", "\x00\x00", + "\x6d\xb5", "\x00\x00", "\x00\x00", "\x6d\xb8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6d\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xc0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xc5", "\x6d\xc6", + "\x6d\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xcb", "\x6d\xcc", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xd1", "\x6d\xd2", + "\x00\x00", "\x00\x00", "\x6d\xd5", "\x00\x00", "\x00\x00", "\x6d\xd8", + "\x6d\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xde", + "\x00\x00", "\x00\x00", "\x6d\xe1", "\x00\x00", "\x00\x00", "\x6d\xe4", + "\x00\x00", "\x6d\xe6", "\x00\x00", "\x6d\xe8", "\x00\x00", "\x6d\xea", + "\x6d\xeb", "\x6d\xec", "\x00\x00", "\x6d\xee", "\x00\x00", "\x00\x00", + "\x6d\xf1", "\x00\x00", "\x6d\xf3", "\x00\x00", "\x6d\xf5", "\x00\x00", + "\x6d\xf7", "\x00\x00", "\x6d\xf9", "\x6d\xfa", "\x6d\xfb", "\x6e\x05", + "\x00\x00", "\x6e\x07", "\x6e\x08", "\x6e\x09", "\x6e\x0a", "\x6e\x0b", + "\x6e\x13", "\x00\x00", "\x6e\x15", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6e\x19", "\x6e\x1a", "\x6e\x1b", "\x00\x00", "\x6e\x1d", "\x00\x00", + "\x6e\x1f", "\x6e\x20", "\x6e\x21", "\x00\x00", "\x6e\x23", "\x6e\x24", + "\x6e\x25", "\x6e\x26", "\x00\x00", "\x00\x00", "\x6e\x29", "\x00\x00", + "\x6e\x2b", "\x6e\x2c", "\x6e\x2d", "\x6e\x2e", "\x6e\x2f", "\x6e\x38", + "\x00\x00", "\x6e\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x3e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x43", "\x6e\x4a", + "\x00\x00", "\x00\x00", "\x6e\x4d", "\x6e\x4e", "\x6e\x56", "\x00\x00", + "\x6e\x58", "\x00\x00", "\x00\x00", "\x6e\x5b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6e\x5f", "\x6e\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6e\x6b", "\x00\x00", "\x00\x00", "\x6e\x6e", "\x6e\x6f", "\x00\x00", + "\x00\x00", "\x6e\x72", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x76", + "\x6e\x7e", "\x6e\x7f", "\x6e\x80", "\x00\x00", "\x6e\x82", "\x6e\x8c", + "\x00\x00", "\x00\x00", "\x6e\x8f", "\x6e\x90", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x96", "\x00\x00", "\x6e\x98", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x9c", "\x6e\x9d", "\x00\x00", + "\x6e\x9f", "\x00\x00", "\x00\x00", "\x6e\xa2", "\x00\x00", "\x00\x00", + "\x6e\xa5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xaa", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xaf", "\x00\x00", + "\x00\x00", "\x6e\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xb6", + "\x6e\xb7", "\x00\x00", "\x00\x00", "\x6e\xba", "\x00\x00", "\x00\x00", + "\x6e\xbd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xc2", + "\x00\x00", "\x6e\xc4", "\x6e\xc5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6e\xc9", "\x00\x00", "\x6e\xcb", "\x6e\xcc", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6e\xd1", "\x00\x00", "\x6e\xd3", "\x6e\xd4", + "\x6e\xd5", "\x6e\xdd", "\x6e\xde", "\x6e\xec", "\x00\x00", "\x00\x00", + "\x6e\xef", "\x00\x00", "\x00\x00", "\x6e\xf2", "\x00\x00", "\x6e\xf4", + "\x00\x00", "\x00\x00", "\x6e\xf7", "\x6e\xf8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xfe", "\x6e\xff", "\x00\x00", + "\x6f\x01", "\x6f\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x06", + "\x00\x00", "\x00\x00", "\x6f\x09", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x0f", "\x00\x00", "\x6f\x11", "\x00\x00", + "\x6f\x13", "\x6f\x14", "\x6f\x15", "\x6f\x20", "\x00\x00", "\x6f\x22", + "\x6f\x23", "\x6f\x2b", "\x6f\x2c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6f\x31", "\x6f\x32", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x38", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x3e", "\x6f\x3f", "\x00\x00", "\x6f\x41", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x45", "\x6f\x54", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x58", "\x00\x00", "\x00\x00", "\x6f\x5b", + "\x6f\x5c", "\x00\x00", "\x00\x00", "\x6f\x5f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x64", "\x00\x00", "\x6f\x66", "\x6f\x6d", + "\x6f\x6e", "\x6f\x6f", "\x6f\x70", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6f\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x78", "\x00\x00", + "\x6f\x7a", "\x00\x00", "\x6f\x7c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6f\x80", "\x6f\x81", "\x6f\x82", "\x00\x00", "\x6f\x84", "\x00\x00", + "\x6f\x86", "\x6f\x8e", "\x00\x00", "\x00\x00", "\x6f\x91", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x97", "\x6f\xa1", + "\x00\x00", "\x6f\xa3", "\x6f\xa4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\xaa", "\x6f\xb1", "\x00\x00", "\x6f\xb3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xb9", + "\x6f\xc0", "\x6f\xc1", "\x6f\xc2", "\x6f\xc3", "\x00\x00", "\x00\x00", + "\x6f\xc6", "\x6f\xd4", "\x6f\xd5", "\x00\x00", "\x00\x00", "\x6f\xd8", + "\x00\x00", "\x00\x00", "\x6f\xdb", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6f\xdf", "\x6f\xe0", "\x6f\xe1", "\x00\x00", "\x00\x00", "\x6f\xe4", + "\x6f\xeb", "\x6f\xec", "\x00\x00", "\x6f\xee", "\x6f\xef", "\x00\x00", + "\x6f\xf1", "\x00\x00", "\x6f\xf3", "\x00\x00", "\x00\x00", "\x6f\xf6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xfa", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6f\xfe", "\x00\x00", "\x00\x00", "\x70\x01", "\x70\x09", + "\x00\x00", "\x70\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x0f", + "\x00\x00", "\x70\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x15", + "\x00\x00", "\x00\x00", "\x70\x18", "\x00\x00", "\x70\x1a", "\x70\x1b", + "\x00\x00", "\x70\x1d", "\x70\x1e", "\x70\x1f", "\x70\x26", "\x70\x27", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x2c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x70\x30", "\x00\x00", "\x70\x32", "\x70\x3e", + "\x70\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x51", + "\x70\x58", "\x70\x63", "\x70\x6b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x70\x6f", "\x70\x70", "\x70\x78", "\x00\x00", "\x00\x00", "\x00\x00", + "\x70\x7c", "\x70\x7d", "\x70\x89", "\x70\x8a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x70\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x92", + "\x70\x99", "\x70\xac", "\x70\xad", "\x70\xae", "\x70\xaf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x70\xb3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x70\xb8", "\x70\xb9", "\x70\xba", "\x70\xc8", "\x00\x00", + "\x00\x00", "\x70\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xcf", + "\x70\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xdd", "\x00\x00", + "\x70\xdf", "\x70\xf1", "\x70\xf9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x70\xfd", "\x71\x09", "\x71\x14", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x71\x19", "\x71\x1a", "\x00\x00", "\x71\x1c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x21", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x71\x26", "\x71\x36", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x3c", "\x71\x49", "\x00\x00", + "\x00\x00", "\x71\x4c", "\x00\x00", "\x71\x4e", "\x71\x55", "\x71\x56", + "\x00\x00", "\x00\x00", "\x71\x59", "\x71\x62", "\x00\x00", "\x71\x64", + "\x71\x65", "\x71\x66", "\x71\x67", "\x00\x00", "\x71\x69", "\x00\x00", + "\x00\x00", "\x71\x6c", "\x00\x00", "\x71\x6e", "\x71\x7d", "\x71\x84", + "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x88", "\x00\x00", "\x71\x8a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x8f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x94", "\x71\x95", "\x00\x00", + "\x00\x00", "\x00\x00", "\x71\x99", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x71\x9f", "\x71\xa8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x71\xac", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x71\xb1", "\x71\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x71\xbe", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xc3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xc8", "\x71\xc9", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xce", "\x00\x00", + "\x71\xd0", "\x00\x00", "\x71\xd2", "\x00\x00", "\x71\xd4", "\x71\xd5", + "\x00\x00", "\x71\xd7", "\x71\xdf", "\x71\xe0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x71\xe5", "\x71\xe6", "\x71\xe7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xec", "\x71\xed", "\x71\xee", + "\x71\xf5", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xf9", "\x00\x00", + "\x71\xfb", "\x71\xfc", "\x00\x00", "\x00\x00", "\x71\xff", "\x72\x06", + "\x72\x0d", "\x00\x00", "\x00\x00", "\x72\x10", "\x72\x1b", "\x72\x28", + "\x00\x00", "\x72\x2a", "\x00\x00", "\x72\x2c", "\x72\x2d", "\x00\x00", + "\x00\x00", "\x72\x30", "\x00\x00", "\x72\x32", "\x00\x00", "\x00\x00", + "\x72\x35", "\x72\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x3a", + "\x72\x3b", "\x72\x3c", "\x72\x3d", "\x72\x3e", "\x72\x3f", "\x72\x40", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x46", + "\x72\x47", "\x72\x48", "\x00\x00", "\x00\x00", "\x72\x4b", "\x72\x4c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x52", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x58", + "\x72\x59", "\x00\x00", "\x72\x5b", "\x00\x00", "\x72\x5d", "\x00\x00", + "\x72\x5f", "\x00\x00", "\x72\x61", "\x72\x62", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x72\x67", "\x00\x00", "\x72\x69", "\x72\x72", + "\x00\x00", "\x72\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x72\x79", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x7d", "\x72\x7e", + "\x00\x00", "\x72\x80", "\x72\x81", "\x72\x82", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x72\x87", "\x72\x92", "\x00\x00", "\x00\x00", + "\x00\x00", "\x72\x96", "\x72\xa0", "\x00\x00", "\x72\xa2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x72\xa7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x72\xac", "\x00\x00", "\x00\x00", "\x72\xaf", + "\x00\x00", "\x00\x00", "\x72\xb2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x72\xb6", "\x00\x00", "\x00\x00", "\x72\xb9", "\x72\xc2", "\x72\xc3", + "\x72\xc4", "\x00\x00", "\x72\xc6", "\x72\xce", "\x00\x00", "\x72\xd0", + "\x00\x00", "\x72\xd2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x72\xd7", "\x00\x00", "\x72\xd9", "\x00\x00", "\x72\xdb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x72\xe0", "\x72\xe1", "\x72\xe2", + "\x72\xe9", "\x00\x00", "\x00\x00", "\x72\xec", "\x72\xed", "\x72\xf7", + "\x72\xf8", "\x72\xf9", "\x00\x00", "\x00\x00", "\x72\xfc", "\x72\xfd", + "\x73\x0a", "\x73\x16", "\x73\x17", "\x00\x00", "\x00\x00", "\x00\x00", + "\x73\x1b", "\x73\x1c", "\x73\x1d", "\x00\x00", "\x73\x1f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x25", "\x00\x00", + "\x00\x00", "\x00\x00", "\x73\x29", "\x73\x2a", "\x73\x2b", "\x00\x00", + "\x00\x00", "\x73\x2e", "\x73\x2f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\x34", "\x00\x00", "\x73\x36", "\x73\x37", "\x73\x3e", + "\x73\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x44", + "\x73\x45", "\x73\x4e", "\x73\x4f", "\x73\x57", "\x73\x63", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x68", "\x00\x00", "\x73\x6a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x70", + "\x00\x00", "\x73\x72", "\x00\x00", "\x00\x00", "\x73\x75", "\x00\x00", + "\x00\x00", "\x73\x78", "\x00\x00", "\x73\x7a", "\x73\x7b", "\x73\x84", + "\x00\x00", "\x00\x00", "\x73\x87", "\x00\x00", "\x73\x89", "\x00\x00", + "\x73\x8b", "\x73\x96", "\x73\xa9", "\x73\xb2", "\x73\xb3", "\x73\xbb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xc0", "\x00\x00", + "\x73\xc2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x73\xc8", "\x00\x00", "\x73\xca", "\x00\x00", "\x00\x00", "\x73\xcd", + "\x73\xce", "\x73\xde", "\x00\x00", "\x73\xe0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x73\xe5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\xea", "\x00\x00", "\x00\x00", "\x73\xed", "\x73\xee", + "\x00\x00", "\x00\x00", "\x73\xf1", "\x73\xf8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xfe", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x74\x03", "\x00\x00", "\x74\x05", "\x74\x06", + "\x00\x00", "\x00\x00", "\x74\x09", "\x74\x22", "\x00\x00", "\x00\x00", + "\x74\x25", "\x74\x32", "\x74\x33", "\x74\x34", "\x74\x35", "\x74\x36", + "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x3a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x74\x3f", "\x00\x00", "\x74\x41", "\x74\x55", + "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x59", "\x74\x5a", "\x74\x5b", + "\x74\x5c", "\x00\x00", "\x74\x5e", "\x74\x5f", "\x74\x60", "\x00\x00", + "\x00\x00", "\x74\x63", "\x74\x64", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\x69", "\x74\x6a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\x6f", "\x74\x70", "\x00\x00", "\x00\x00", "\x74\x73", + "\x00\x00", "\x00\x00", "\x74\x76", "\x74\x7e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x74\x83", "\x74\x8b", "\x74\x9e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x74\xa2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\xa7", "\x74\xb0", "\x74\xbd", "\x74\xca", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xcf", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x74\xd4", "\x74\xdc", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\xe0", "\x00\x00", "\x74\xe2", "\x74\xe3", "\x00\x00", + "\x00\x00", "\x74\xe6", "\x74\xe7", "\x00\x00", "\x74\xe9", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xee", "\x00\x00", "\x74\xf0", + "\x74\xf1", "\x74\xf2", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xf6", + "\x74\xf7", "\x74\xf8", "\x75\x03", "\x75\x04", "\x75\x05", "\x75\x0c", + "\x75\x0d", "\x75\x0e", "\x00\x00", "\x00\x00", "\x75\x11", "\x00\x00", + "\x75\x13", "\x00\x00", "\x75\x15", "\x00\x00", "\x00\x00", "\x75\x18", + "\x00\x00", "\x75\x1a", "\x00\x00", "\x75\x1c", "\x00\x00", "\x75\x1e", + "\x75\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x23", "\x00\x00", + "\x75\x25", "\x75\x26", "\x00\x00", "\x75\x28", "\x00\x00", "\x00\x00", + "\x75\x2b", "\x75\x2c", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x30", + "\x75\x31", "\x75\x32", "\x75\x33", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\x37", "\x75\x38", "\x00\x00", "\x75\x3a", "\x75\x3b", "\x75\x3c", + "\x75\x44", "\x00\x00", "\x75\x46", "\x00\x00", "\x00\x00", "\x75\x49", + "\x75\x4a", "\x75\x4b", "\x75\x4c", "\x75\x4d", "\x00\x00", "\x75\x4f", + "\x00\x00", "\x75\x51", "\x00\x00", "\x00\x00", "\x75\x54", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x59", "\x75\x5a", "\x75\x5b", + "\x75\x5c", "\x75\x5d", "\x00\x00", "\x00\x00", "\x75\x60", "\x00\x00", + "\x75\x62", "\x00\x00", "\x75\x64", "\x75\x65", "\x75\x66", "\x75\x67", + "\x00\x00", "\x75\x69", "\x75\x6a", "\x75\x6b", "\x00\x00", "\x75\x6d", + "\x00\x00", "\x00\x00", "\x75\x70", "\x00\x00", "\x00\x00", "\x75\x73", + "\x75\x74", "\x00\x00", "\x75\x76", "\x75\x77", "\x75\x78", "\x75\x7f", + "\x00\x00", "\x00\x00", "\x75\x82", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\x86", "\x75\x87", "\x00\x00", "\x75\x89", "\x75\x8a", "\x75\x8b", + "\x00\x00", "\x00\x00", "\x75\x8e", "\x75\x8f", "\x00\x00", "\x75\x91", + "\x00\x00", "\x00\x00", "\x75\x94", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x75\x9a", "\x00\x00", "\x00\x00", "\x75\x9d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xa3", + "\x00\x00", "\x75\xa5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x75\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x75\xb1", "\x75\xb2", "\x75\xb3", "\x00\x00", "\x75\xb5", + "\x00\x00", "\x00\x00", "\x75\xb8", "\x75\xb9", "\x00\x00", "\x00\x00", + "\x75\xbc", "\x75\xbd", "\x75\xbe", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\xc2", "\x75\xc3", "\x00\x00", "\x75\xc5", "\x00\x00", "\x75\xc7", + "\x00\x00", "\x00\x00", "\x75\xca", "\x00\x00", "\x00\x00", "\x75\xcd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xd2", "\x00\x00", + "\x75\xd4", "\x75\xd5", "\x00\x00", "\x00\x00", "\x75\xd8", "\x75\xd9", + "\x00\x00", "\x75\xdb", "\x00\x00", "\x00\x00", "\x75\xde", "\x00\x00", + "\x00\x00", "\x00\x00", "\x75\xe2", "\x75\xe3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xe9", "\x75\xf0", "\x00\x00", + "\x75\xf2", "\x75\xf3", "\x75\xf4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x75\xfa", "\x00\x00", "\x75\xfc", "\x00\x00", + "\x75\xfe", "\x75\xff", "\x00\x00", "\x76\x01", "\x76\x09", "\x00\x00", + "\x76\x0b", "\x00\x00", "\x76\x0d", "\x76\x1f", "\x76\x20", "\x76\x21", + "\x76\x22", "\x00\x00", "\x76\x24", "\x00\x00", "\x00\x00", "\x76\x27", + "\x76\x30", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x34", "\x76\x3b", + "\x76\x42", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x46", "\x76\x47", + "\x76\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x4c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x52", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\x56", "\x00\x00", "\x76\x58", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\x5c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\x61", "\x76\x62", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\x67", "\x76\x68", "\x76\x69", "\x76\x6a", "\x00\x00", + "\x76\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x70", "\x00\x00", + "\x76\x72", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x76", "\x00\x00", + "\x76\x78", "\x00\x00", "\x76\x7a", "\x76\x7b", "\x76\x7c", "\x76\x7d", + "\x76\x7e", "\x00\x00", "\x76\x80", "\x00\x00", "\x00\x00", "\x76\x83", + "\x76\x84", "\x00\x00", "\x76\x86", "\x76\x87", "\x76\x88", "\x00\x00", + "\x00\x00", "\x76\x8b", "\x00\x00", "\x00\x00", "\x76\x8e", "\x00\x00", + "\x76\x90", "\x00\x00", "\x00\x00", "\x76\x93", "\x00\x00", "\x00\x00", + "\x76\x96", "\x00\x00", "\x00\x00", "\x76\x99", "\x76\x9a", "\x76\xae", + "\x00\x00", "\x76\xb0", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xb4", + "\x00\x00", "\x00\x00", "\x76\xb7", "\x76\xb8", "\x76\xb9", "\x76\xba", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xbf", "\x00\x00", + "\x00\x00", "\x76\xc2", "\x76\xc3", "\x00\x00", "\x00\x00", "\x76\xc6", + "\x00\x00", "\x76\xc8", "\x00\x00", "\x76\xca", "\x00\x00", "\x00\x00", + "\x76\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xd2", + "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xd6", "\x76\xd7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\xdb", "\x76\xdc", "\x00\x00", "\x76\xde", + "\x76\xdf", "\x00\x00", "\x76\xe1", "\x00\x00", "\x76\xe3", "\x76\xe4", + "\x76\xe5", "\x00\x00", "\x76\xe7", "\x00\x00", "\x00\x00", "\x76\xea", + "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xee", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\xf2", "\x00\x00", "\x76\xf4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\xf8", "\x00\x00", "\x00\x00", "\x76\xfb", "\x00\x00", + "\x00\x00", "\x76\xfe", "\x00\x00", "\x00\x00", "\x77\x01", "\x00\x00", + "\x00\x00", "\x77\x04", "\x00\x00", "\x00\x00", "\x77\x07", "\x77\x08", + "\x77\x09", "\x00\x00", "\x77\x0b", "\x77\x0c", "\x77\x1b", "\x00\x00", + "\x00\x00", "\x77\x1e", "\x77\x1f", "\x77\x20", "\x00\x00", "\x00\x00", + "\x00\x00", "\x77\x24", "\x77\x25", "\x77\x26", "\x00\x00", "\x00\x00", + "\x77\x29", "\x77\x37", "\x77\x38", "\x00\x00", "\x77\x3a", "\x00\x00", + "\x77\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x40", "\x77\x47", + "\x77\x5a", "\x77\x5b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x77\x61", "\x00\x00", "\x77\x63", "\x00\x00", "\x77\x65", + "\x77\x66", "\x00\x00", "\x77\x68", "\x00\x00", "\x00\x00", "\x77\x6b", + "\x77\x79", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x7e", + "\x77\x7f", "\x77\x8b", "\x00\x00", "\x00\x00", "\x77\x8e", "\x00\x00", + "\x00\x00", "\x77\x91", "\x77\x9e", "\x00\x00", "\x77\xa0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xa5", "\x77\xac", "\x77\xad", + "\x00\x00", "\x00\x00", "\x77\xb0", "\x00\x00", "\x00\x00", "\x77\xb3", + "\x00\x00", "\x00\x00", "\x77\xb6", "\x00\x00", "\x00\x00", "\x77\xb9", + "\x00\x00", "\x77\xbb", "\x77\xbc", "\x77\xbd", "\x00\x00", "\x77\xbf", + "\x77\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\xcd", "\x77\xd7", "\x00\x00", "\x00\x00", "\x77\xda", "\x77\xdb", + "\x77\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\xe2", "\x77\xe3", "\x00\x00", "\x77\xe5", "\x00\x00", "\x77\xe7", + "\x00\x00", "\x77\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xed", + "\x77\xee", "\x77\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xf3", + "\x77\xfc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\x02", "\x78\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x78\x12", "\x00\x00", "\x78\x14", "\x78\x15", "\x78\x20", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x25", "\x78\x26", + "\x78\x27", "\x78\x32", "\x00\x00", "\x78\x34", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x3a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x78\x3f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x78\x45", "\x78\x5d", "\x78\x6b", "\x78\x6c", + "\x00\x00", "\x00\x00", "\x78\x6f", "\x00\x00", "\x00\x00", "\x78\x72", + "\x00\x00", "\x78\x74", "\x78\x7c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x78\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\x86", "\x78\x87", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\x8c", "\x78\x8d", "\x78\x8e", "\x00\x00", "\x00\x00", "\x78\x91", + "\x00\x00", "\x78\x93", "\x00\x00", "\x78\x95", "\x00\x00", "\x78\x97", + "\x00\x00", "\x00\x00", "\x78\x9a", "\x78\xa3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x78\xa7", "\x00\x00", "\x78\xa9", "\x78\xaa", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xaf", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xb5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x78\xba", "\x00\x00", "\x78\xbc", "\x00\x00", + "\x78\xbe", "\x00\x00", "\x00\x00", "\x78\xc1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x78\xc5", "\x78\xc6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\xca", "\x78\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\xd0", "\x78\xd1", "\x00\x00", "\x00\x00", "\x78\xd4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xda", "\x78\xe7", + "\x78\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xec", "\x00\x00", + "\x00\x00", "\x78\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\xf4", "\x78\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x01", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x07", + "\x79\x0e", "\x00\x00", "\x00\x00", "\x79\x11", "\x79\x12", "\x79\x19", + "\x79\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x2a", "\x79\x2b", + "\x79\x2c", "\x79\x3a", "\x00\x00", "\x79\x3c", "\x00\x00", "\x79\x3e", + "\x00\x00", "\x79\x40", "\x79\x41", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x79\x47", "\x79\x48", "\x79\x49", "\x79\x50", + "\x00\x00", "\x00\x00", "\x79\x53", "\x00\x00", "\x79\x55", "\x79\x56", + "\x79\x57", "\x00\x00", "\x00\x00", "\x79\x5a", "\x00\x00", "\x00\x00", + "\x79\x5d", "\x79\x5e", "\x79\x5f", "\x79\x60", "\x00\x00", "\x79\x62", + "\x00\x00", "\x00\x00", "\x79\x65", "\x00\x00", "\x00\x00", "\x79\x68", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x6d", "\x79\x77", + "\x00\x00", "\x00\x00", "\x79\x7a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x79\x7f", "\x79\x80", "\x79\x81", "\x00\x00", "\x00\x00", + "\x79\x84", "\x79\x85", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\x8a", "\x00\x00", "\x00\x00", "\x79\x8d", "\x79\x8e", "\x79\x8f", + "\x79\x9d", "\x79\xa6", "\x79\xa7", "\x00\x00", "\x00\x00", "\x79\xaa", + "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xae", "\x00\x00", "\x79\xb0", + "\x00\x00", "\x00\x00", "\x79\xb3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x79\xb9", "\x79\xba", "\x00\x00", "\x00\x00", + "\x79\xbd", "\x79\xbe", "\x79\xbf", "\x79\xc0", "\x79\xc1", "\x79\xc9", + "\x00\x00", "\x79\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x79\xd1", "\x79\xd2", "\x00\x00", "\x00\x00", "\x79\xd5", + "\x00\x00", "\x00\x00", "\x79\xd8", "\x79\xdf", "\x00\x00", "\x79\xe1", + "\x00\x00", "\x79\xe3", "\x79\xe4", "\x00\x00", "\x79\xe6", "\x79\xe7", + "\x00\x00", "\x79\xe9", "\x00\x00", "\x00\x00", "\x79\xec", "\x00\x00", + "\x00\x00", "\x00\x00", "\x79\xf0", "\x79\xfb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7a\x00", "\x7a\x08", "\x00\x00", "\x00\x00", + "\x7a\x0b", "\x00\x00", "\x7a\x0d", "\x7a\x0e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x14", "\x00\x00", "\x00\x00", + "\x7a\x17", "\x7a\x18", "\x7a\x19", "\x7a\x1a", "\x00\x00", "\x7a\x1c", + "\x00\x00", "\x00\x00", "\x7a\x1f", "\x7a\x20", "\x7a\x2e", "\x00\x00", + "\x00\x00", "\x7a\x31", "\x7a\x32", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7a\x37", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x3b", + "\x7a\x3c", "\x7a\x3d", "\x7a\x3e", "\x7a\x3f", "\x7a\x40", "\x00\x00", + "\x7a\x42", "\x7a\x43", "\x00\x00", "\x00\x00", "\x7a\x46", "\x00\x00", + "\x00\x00", "\x7a\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x4d", + "\x7a\x4e", "\x7a\x4f", "\x7a\x50", "\x7a\x57", "\x7a\x61", "\x7a\x62", + "\x7a\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7a\x69", "\x00\x00", "\x7a\x6b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7a\x70", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x74", + "\x00\x00", "\x7a\x76", "\x00\x00", "\x00\x00", "\x7a\x79", "\x7a\x7a", + "\x00\x00", "\x00\x00", "\x7a\x7d", "\x00\x00", "\x7a\x7f", "\x00\x00", + "\x7a\x81", "\x00\x00", "\x7a\x83", "\x7a\x84", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7a\x88", "\x7a\x92", "\x7a\x93", "\x00\x00", "\x7a\x95", + "\x7a\x96", "\x7a\x97", "\x7a\x98", "\x7a\x9f", "\x7a\xa9", "\x7a\xaa", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xae", "\x7a\xaf", "\x7a\xb0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xb6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xba", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7a\xbf", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7a\xc3", "\x7a\xc4", "\x7a\xc5", "\x00\x00", "\x7a\xc7", "\x7a\xc8", + "\x00\x00", "\x7a\xca", "\x7a\xcb", "\x00\x00", "\x7a\xcd", "\x00\x00", + "\x7a\xcf", "\x00\x00", "\x00\x00", "\x7a\xd2", "\x7a\xd3", "\x00\x00", + "\x7a\xd5", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xd9", "\x7a\xda", + "\x00\x00", "\x7a\xdc", "\x7a\xdd", "\x00\x00", "\x7a\xdf", "\x7a\xe0", + "\x7a\xe1", "\x7a\xe2", "\x7a\xe3", "\x00\x00", "\x7a\xe5", "\x7a\xe6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xea", "\x00\x00", "\x00\x00", + "\x7a\xed", "\x00\x00", "\x7a\xef", "\x7a\xf0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xf6", "\x00\x00", "\x7a\xf8", + "\x7a\xf9", "\x7a\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7a\xff", "\x00\x00", "\x00\x00", "\x7b\x02", "\x00\x00", "\x7b\x04", + "\x00\x00", "\x7b\x06", "\x00\x00", "\x7b\x08", "\x00\x00", "\x7b\x0a", + "\x7b\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x0f", "\x00\x00", + "\x7b\x11", "\x7b\x18", "\x7b\x19", "\x00\x00", "\x7b\x1b", "\x00\x00", + "\x00\x00", "\x7b\x1e", "\x00\x00", "\x7b\x20", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7b\x25", "\x7b\x26", "\x00\x00", "\x7b\x28", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x2c", "\x7b\x33", "\x00\x00", + "\x7b\x35", "\x7b\x36", "\x00\x00", "\x00\x00", "\x7b\x39", "\x7b\x45", + "\x7b\x46", "\x00\x00", "\x7b\x48", "\x7b\x49", "\x00\x00", "\x7b\x4b", + "\x7b\x4c", "\x7b\x4d", "\x00\x00", "\x7b\x4f", "\x7b\x50", "\x7b\x51", + "\x7b\x52", "\x00\x00", "\x7b\x54", "\x00\x00", "\x7b\x56", "\x7b\x5d", + "\x7b\x65", "\x00\x00", "\x7b\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\x6c", "\x00\x00", "\x7b\x6e", "\x00\x00", "\x7b\x70", + "\x7b\x71", "\x00\x00", "\x00\x00", "\x7b\x74", "\x7b\x75", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x7a", "\x7b\x86", "\x7b\x87", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x8b", "\x00\x00", "\x7b\x8d", + "\x00\x00", "\x7b\x8f", "\x00\x00", "\x00\x00", "\x7b\x92", "\x00\x00", + "\x7b\x94", "\x7b\x95", "\x00\x00", "\x7b\x97", "\x7b\x98", "\x7b\x99", + "\x7b\x9a", "\x00\x00", "\x7b\x9c", "\x7b\x9d", "\x00\x00", "\x7b\x9f", + "\x00\x00", "\x7b\xa1", "\x7b\xaa", "\x00\x00", "\x00\x00", "\x7b\xad", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xb1", "\x00\x00", "\x00\x00", + "\x7b\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xb8", "\x7b\xc0", + "\x7b\xc1", "\x00\x00", "\x00\x00", "\x7b\xc4", "\x00\x00", "\x7b\xc6", + "\x7b\xc7", "\x00\x00", "\x7b\xc9", "\x00\x00", "\x7b\xcb", "\x7b\xcc", + "\x00\x00", "\x00\x00", "\x7b\xcf", "\x7b\xdd", "\x00\x00", "\x00\x00", + "\x7b\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xe4", "\x7b\xe5", + "\x7b\xe6", "\x00\x00", "\x00\x00", "\x7b\xe9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\xf3", "\x00\x00", "\x00\x00", "\x7b\xf6", "\x7b\xf7", + "\x7c\x00", "\x7c\x07", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x0d", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x11", + "\x7c\x12", "\x7c\x13", "\x7c\x14", "\x00\x00", "\x00\x00", "\x7c\x17", + "\x7c\x1f", "\x00\x00", "\x7c\x21", "\x00\x00", "\x7c\x23", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7c\x27", "\x00\x00", "\x00\x00", "\x7c\x2a", + "\x7c\x2b", "\x7c\x37", "\x7c\x38", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x3d", "\x7c\x3e", "\x7c\x3f", "\x7c\x40", "\x00\x00", + "\x00\x00", "\x7c\x43", "\x7c\x4c", "\x7c\x4d", "\x00\x00", "\x7c\x4f", + "\x7c\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x54", "\x00\x00", + "\x7c\x56", "\x00\x00", "\x7c\x58", "\x7c\x5f", "\x7c\x60", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7c\x64", "\x7c\x65", "\x7c\x6c", "\x7c\x73", + "\x00\x00", "\x7c\x75", "\x7c\x7e", "\x00\x00", "\x00\x00", "\x7c\x81", + "\x7c\x82", "\x7c\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x89", "\x00\x00", "\x7c\x8b", "\x00\x00", "\x7c\x8d", + "\x00\x00", "\x00\x00", "\x7c\x90", "\x00\x00", "\x7c\x92", "\x00\x00", + "\x00\x00", "\x7c\x95", "\x00\x00", "\x7c\x97", "\x7c\x98", "\x00\x00", + "\x00\x00", "\x7c\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x9f", + "\x00\x00", "\x7c\xa1", "\x7c\xa2", "\x00\x00", "\x7c\xa4", "\x7c\xa5", + "\x00\x00", "\x7c\xa7", "\x7c\xa8", "\x00\x00", "\x00\x00", "\x7c\xab", + "\x00\x00", "\x7c\xad", "\x7c\xae", "\x00\x00", "\x00\x00", "\x7c\xb1", + "\x7c\xb2", "\x7c\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xbd", + "\x7c\xbe", "\x00\x00", "\x7c\xc0", "\x00\x00", "\x7c\xc2", "\x00\x00", + "\x00\x00", "\x7c\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7c\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xce", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7c\xd2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7c\xd6", "\x00\x00", "\x7c\xd8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7c\xdc", "\x00\x00", "\x7c\xde", "\x7c\xdf", "\x7c\xe0", "\x00\x00", + "\x7c\xe2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xe7", + "\x7c\xef", "\x00\x00", "\x00\x00", "\x7c\xf2", "\x00\x00", "\x7c\xf4", + "\x00\x00", "\x7c\xf6", "\x00\x00", "\x7c\xf8", "\x00\x00", "\x7c\xfa", + "\x7c\xfb", "\x00\x00", "\x00\x00", "\x7c\xfe", "\x00\x00", "\x7d\x00", + "\x00\x00", "\x7d\x02", "\x00\x00", "\x7d\x04", "\x7d\x05", "\x7d\x06", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x0a", "\x7d\x0b", "\x00\x00", + "\x7d\x0d", "\x00\x00", "\x00\x00", "\x7d\x10", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7d\x14", "\x7d\x15", "\x00\x00", "\x7d\x17", "\x7d\x18", + "\x7d\x19", "\x7d\x1a", "\x7d\x1b", "\x7d\x1c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7d\x20", "\x7d\x21", "\x7d\x22", "\x7d\x2b", "\x7d\x2c", + "\x00\x00", "\x7d\x2e", "\x7d\x2f", "\x7d\x30", "\x00\x00", "\x7d\x32", + "\x7d\x33", "\x00\x00", "\x7d\x35", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x39", "\x7d\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x3f", "\x00\x00", "\x00\x00", "\x7d\x42", "\x7d\x43", "\x7d\x44", + "\x7d\x45", "\x7d\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x4b", "\x7d\x4c", "\x00\x00", "\x7d\x4e", "\x7d\x4f", "\x7d\x50", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x56", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x5b", "\x00\x00", + "\x00\x00", "\x7d\x5e", "\x00\x00", "\x00\x00", "\x7d\x61", "\x7d\x62", + "\x7d\x63", "\x00\x00", "\x00\x00", "\x7d\x66", "\x00\x00", "\x7d\x68", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x6e", + "\x00\x00", "\x00\x00", "\x7d\x71", "\x7d\x72", "\x7d\x73", "\x00\x00", + "\x7d\x75", "\x7d\x76", "\x00\x00", "\x00\x00", "\x7d\x79", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x7d", "\x7d\x89", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x8f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7d\x93", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7d\x99", "\x7d\x9a", "\x7d\x9b", "\x7d\x9c", "\x00\x00", + "\x00\x00", "\x7d\x9f", "\x00\x00", "\x00\x00", "\x7d\xa2", "\x7d\xa3", + "\x7d\xab", "\x7d\xac", "\x7d\xad", "\x7d\xae", "\x7d\xaf", "\x7d\xb0", + "\x7d\xb1", "\x7d\xb2", "\x00\x00", "\x7d\xb4", "\x7d\xb5", "\x00\x00", + "\x00\x00", "\x7d\xb8", "\x00\x00", "\x7d\xba", "\x7d\xbb", "\x00\x00", + "\x7d\xbd", "\x7d\xbe", "\x7d\xbf", "\x7d\xc7", "\x00\x00", "\x00\x00", + "\x7d\xca", "\x7d\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xcf", + "\x00\x00", "\x7d\xd1", "\x7d\xd2", "\x00\x00", "\x00\x00", "\x7d\xd5", + "\x00\x00", "\x00\x00", "\x7d\xd8", "\x00\x00", "\x7d\xda", "\x00\x00", + "\x7d\xdc", "\x7d\xdd", "\x7d\xde", "\x00\x00", "\x7d\xe0", "\x7d\xe1", + "\x00\x00", "\x00\x00", "\x7d\xe4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\xe8", "\x7d\xe9", "\x00\x00", "\x00\x00", "\x7d\xec", "\x00\x00", + "\x00\x00", "\x7d\xef", "\x00\x00", "\x00\x00", "\x7d\xf2", "\x00\x00", + "\x7d\xf4", "\x7d\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7e\x01", "\x00\x00", "\x00\x00", "\x7e\x04", "\x7e\x05", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x09", "\x7e\x0a", "\x7e\x0b", + "\x7e\x12", "\x7e\x1b", "\x00\x00", "\x00\x00", "\x7e\x1e", "\x7e\x1f", + "\x00\x00", "\x7e\x21", "\x7e\x22", "\x7e\x23", "\x00\x00", "\x00\x00", + "\x7e\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x2b", + "\x00\x00", "\x00\x00", "\x7e\x2e", "\x00\x00", "\x00\x00", "\x7e\x31", + "\x7e\x32", "\x00\x00", "\x00\x00", "\x7e\x35", "\x00\x00", "\x7e\x37", + "\x00\x00", "\x7e\x39", "\x7e\x3a", "\x7e\x3b", "\x00\x00", "\x7e\x3d", + "\x7e\x3e", "\x00\x00", "\x00\x00", "\x7e\x41", "\x00\x00", "\x7e\x43", + "\x00\x00", "\x00\x00", "\x7e\x46", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7e\x4a", "\x7e\x4b", "\x00\x00", "\x7e\x4d", "\x7e\x54", "\x7e\x55", + "\x7e\x56", "\x00\x00", "\x00\x00", "\x7e\x59", "\x7e\x5a", "\x00\x00", + "\x00\x00", "\x7e\x5d", "\x7e\x5e", "\x7e\x66", "\x7e\x67", "\x00\x00", + "\x7e\x69", "\x7e\x6a", "\x00\x00", "\x00\x00", "\x7e\x6d", "\x00\x00", + "\x00\x00", "\x7e\x70", "\x7e\x79", "\x00\x00", "\x7e\x7b", "\x7e\x7c", + "\x7e\x7d", "\x00\x00", "\x7e\x7f", "\x00\x00", "\x00\x00", "\x7e\x82", + "\x7e\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x88", + "\x7e\x89", "\x00\x00", "\x00\x00", "\x7e\x8c", "\x00\x00", "\x7e\x8e", + "\x7e\x8f", "\x7e\x90", "\x00\x00", "\x7e\x92", "\x7e\x93", "\x7e\x94", + "\x00\x00", "\x7e\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7e\x9b", "\x7e\x9c", "\x7f\x36", "\x00\x00", "\x7f\x38", "\x00\x00", + "\x7f\x3a", "\x7f\x45", "\x7f\x4c", "\x7f\x4d", "\x7f\x4e", "\x00\x00", + "\x7f\x50", "\x7f\x51", "\x00\x00", "\x00\x00", "\x7f\x54", "\x7f\x55", + "\x00\x00", "\x00\x00", "\x7f\x58", "\x7f\x5f", "\x7f\x60", "\x7f\x67", + "\x7f\x68", "\x7f\x69", "\x7f\x6a", "\x7f\x6b", "\x00\x00", "\x00\x00", + "\x7f\x6e", "\x00\x00", "\x7f\x70", "\x00\x00", "\x7f\x72", "\x00\x00", + "\x00\x00", "\x7f\x75", "\x00\x00", "\x7f\x77", "\x7f\x78", "\x7f\x79", + "\x7f\x82", "\x7f\x83", "\x00\x00", "\x7f\x85", "\x7f\x86", "\x7f\x87", + "\x7f\x88", "\x00\x00", "\x7f\x8a", "\x00\x00", "\x7f\x8c", "\x00\x00", + "\x7f\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7f\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7f\x9a", "\x00\x00", "\x00\x00", "\x7f\x9d", "\x7f\x9e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xa3", "\x7f\xa4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7f\xa8", "\x7f\xa9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7f\xae", "\x7f\xaf", "\x00\x00", "\x00\x00", + "\x7f\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xb6", "\x00\x00", + "\x7f\xb8", "\x7f\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xbd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xc1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7f\xc5", "\x7f\xc6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7f\xca", "\x00\x00", "\x7f\xcc", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7f\xd2", "\x00\x00", "\x7f\xd4", "\x7f\xd5", + "\x7f\xe0", "\x7f\xe1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7f\xe6", "\x00\x00", "\x00\x00", "\x7f\xe9", "\x00\x00", "\x7f\xeb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xf0", "\x00\x00", + "\x00\x00", "\x7f\xf3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7f\xf9", "\x00\x00", "\x7f\xfb", "\x7f\xfc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x80\x00", "\x80\x01", "\x00\x00", "\x80\x03", + "\x80\x04", "\x80\x05", "\x80\x06", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\x0b", "\x80\x0c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x80\x10", "\x00\x00", "\x80\x12", "\x00\x00", "\x00\x00", "\x80\x15", + "\x00\x00", "\x80\x17", "\x80\x18", "\x80\x19", "\x00\x00", "\x00\x00", + "\x80\x1c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x21", + "\x80\x28", "\x80\x33", "\x00\x00", "\x00\x00", "\x80\x36", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x3b", "\x00\x00", "\x80\x3d", + "\x00\x00", "\x80\x3f", "\x80\x46", "\x00\x00", "\x00\x00", "\x00\x00", + "\x80\x4a", "\x80\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x56", + "\x00\x00", "\x80\x58", "\x00\x00", "\x80\x5a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\x5e", "\x80\x5f", "\x00\x00", "\x80\x61", "\x80\x62", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x68", + "\x80\x6f", "\x80\x70", "\x00\x00", "\x80\x72", "\x80\x73", "\x80\x74", + "\x00\x00", "\x80\x76", "\x80\x77", "\x00\x00", "\x80\x79", "\x00\x00", + "\x00\x00", "\x00\x00", "\x80\x7d", "\x80\x7e", "\x80\x7f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x84", "\x80\x85", "\x80\x86", + "\x80\x87", "\x00\x00", "\x80\x89", "\x00\x00", "\x80\x8b", "\x80\x8c", + "\x80\x93", "\x00\x00", "\x00\x00", "\x80\x96", "\x00\x00", "\x80\x98", + "\x00\x00", "\x80\x9a", "\x80\x9b", "\x00\x00", "\x80\x9d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x80\xa1", "\x80\xa2", "\x00\x00", "\x00\x00", + "\x80\xa5", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xa9", "\x80\xaa", + "\x00\x00", "\x80\xac", "\x80\xad", "\x00\x00", "\x80\xaf", "\x00\x00", + "\x80\xb1", "\x80\xb2", "\x00\x00", "\x80\xb4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xba", "\x80\xc3", "\x80\xc4", + "\x00\x00", "\x80\xc6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\xcc", "\x00\x00", "\x80\xce", "\x80\xd6", "\x00\x00", + "\x00\x00", "\x80\xd9", "\x80\xda", "\x80\xdb", "\x00\x00", "\x80\xdd", + "\x80\xde", "\x00\x00", "\x00\x00", "\x80\xe1", "\x00\x00", "\x00\x00", + "\x80\xe4", "\x80\xe5", "\x80\xef", "\x00\x00", "\x80\xf1", "\x00\x00", + "\x00\x00", "\x80\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xf8", + "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xfc", "\x80\xfd", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x02", "\x00\x00", "\x00\x00", + "\x81\x05", "\x81\x06", "\x81\x07", "\x81\x08", "\x81\x09", "\x81\x0a", + "\x81\x1a", "\x81\x1b", "\x81\x23", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\x29", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\x2f", "\x00\x00", "\x81\x31", "\x00\x00", + "\x81\x33", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x3e", + "\x81\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x4b", + "\x00\x00", "\x00\x00", "\x81\x4e", "\x00\x00", "\x81\x50", "\x81\x51", + "\x00\x00", "\x81\x53", "\x81\x54", "\x81\x55", "\x81\x5f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x65", "\x81\x66", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x6b", "\x00\x00", + "\x00\x00", "\x81\x6e", "\x00\x00", "\x81\x70", "\x81\x71", "\x00\x00", + "\x00\x00", "\x81\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x78", + "\x81\x79", "\x81\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\x7f", "\x81\x80", "\x00\x00", "\x81\x82", "\x81\x83", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x88", "\x00\x00", "\x81\x8a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x8f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\x93", "\x00\x00", "\x81\x95", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x9a", "\x00\x00", "\x81\x9c", + "\x81\x9d", "\x00\x00", "\x00\x00", "\x81\xa0", "\x00\x00", "\x00\x00", + "\x81\xa3", "\x81\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xa8", + "\x81\xa9", "\x81\xb0", "\x00\x00", "\x00\x00", "\x81\xb3", "\x00\x00", + "\x81\xb5", "\x00\x00", "\x00\x00", "\x81\xb8", "\x00\x00", "\x81\xba", + "\x00\x00", "\x00\x00", "\x81\xbd", "\x81\xbe", "\x81\xbf", "\x81\xc0", + "\x00\x00", "\x81\xc2", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xc6", + "\x00\x00", "\x81\xc8", "\x81\xc9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xd1", "\x00\x00", + "\x81\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xd8", + "\x81\xd9", "\x81\xda", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\xdf", "\x81\xe0", "\x00\x00", "\x00\x00", "\x81\xe3", "\x00\x00", + "\x81\xe5", "\x00\x00", "\x81\xe7", "\x81\xe8", "\x00\x00", "\x81\xea", + "\x00\x00", "\x00\x00", "\x81\xed", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\xf3", "\x81\xf4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xfa", "\x81\xfb", "\x81\xfc", + "\x00\x00", "\x81\xfe", "\x00\x00", "\x00\x00", "\x82\x01", "\x82\x02", + "\x00\x00", "\x00\x00", "\x82\x05", "\x00\x00", "\x82\x07", "\x82\x08", + "\x82\x09", "\x82\x0a", "\x00\x00", "\x82\x0c", "\x82\x0d", "\x82\x0e", + "\x00\x00", "\x82\x10", "\x00\x00", "\x82\x12", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\x16", "\x82\x17", "\x82\x18", "\x00\x00", "\x00\x00", + "\x82\x1b", "\x82\x1c", "\x00\x00", "\x82\x1e", "\x82\x1f", "\x82\x29", + "\x82\x2a", "\x82\x2b", "\x82\x2c", "\x00\x00", "\x82\x2e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x33", "\x00\x00", "\x82\x35", + "\x82\x36", "\x82\x37", "\x82\x38", "\x82\x39", "\x82\x40", "\x82\x47", + "\x82\x58", "\x82\x59", "\x82\x5a", "\x00\x00", "\x00\x00", "\x82\x5d", + "\x00\x00", "\x82\x5f", "\x00\x00", "\x00\x00", "\x82\x62", "\x00\x00", + "\x82\x64", "\x00\x00", "\x82\x66", "\x00\x00", "\x82\x68", "\x00\x00", + "\x82\x6a", "\x82\x6b", "\x00\x00", "\x00\x00", "\x82\x6e", "\x82\x6f", + "\x00\x00", "\x82\x71", "\x82\x72", "\x00\x00", "\x00\x00", "\x00\x00", + "\x82\x76", "\x82\x77", "\x82\x78", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x82\x7e", "\x82\x8b", "\x00\x00", "\x82\x8d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x92", "\x82\x99", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x9d", "\x00\x00", "\x82\x9f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xa5", + "\x82\xa6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xab", + "\x82\xac", "\x82\xad", "\x00\x00", "\x82\xaf", "\x00\x00", "\x82\xb1", + "\x00\x00", "\x82\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x82\xb8", "\x82\xb9", "\x00\x00", "\x82\xbb", "\x00\x00", "\x82\xbd", + "\x82\xc5", "\x82\xd1", "\x82\xd2", "\x82\xd3", "\x82\xd4", "\x00\x00", + "\x00\x00", "\x82\xd7", "\x00\x00", "\x82\xd9", "\x00\x00", "\x82\xdb", + "\x82\xdc", "\x00\x00", "\x82\xde", "\x82\xdf", "\x00\x00", "\x82\xe1", + "\x00\x00", "\x82\xe3", "\x00\x00", "\x82\xe5", "\x82\xe6", "\x82\xe7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xeb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xf1", "\x00\x00", "\x82\xf3", + "\x82\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xf9", + "\x82\xfa", "\x82\xfb", "\x83\x02", "\x83\x03", "\x83\x04", "\x83\x05", + "\x83\x06", "\x00\x00", "\x00\x00", "\x83\x09", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x83\x0e", "\x83\x16", "\x83\x17", "\x83\x18", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x1c", "\x83\x23", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x28", "\x00\x00", "\x00\x00", + "\x83\x2b", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x2f", "\x00\x00", + "\x83\x31", "\x83\x32", "\x00\x00", "\x83\x34", "\x83\x35", "\x83\x36", + "\x00\x00", "\x83\x38", "\x83\x39", "\x83\x40", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x83\x45", "\x00\x00", "\x00\x00", "\x00\x00", + "\x83\x49", "\x83\x4a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x83\x4f", "\x83\x50", "\x00\x00", "\x83\x52", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x58", "\x83\x73", "\x00\x00", + "\x83\x75", "\x00\x00", "\x83\x77", "\x00\x00", "\x00\x00", "\x00\x00", + "\x83\x7b", "\x83\x7c", "\x83\x85", "\x00\x00", "\x83\x87", "\x00\x00", + "\x83\x89", "\x83\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x8e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x93", "\x00\x00", + "\x00\x00", "\x83\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x9a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x9e", "\x83\x9f", "\x83\xa0", + "\x00\x00", "\x83\xa2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x83\xa8", "\x00\x00", "\x83\xaa", "\x83\xab", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xb1", "\x00\x00", + "\x00\x00", "\x00\x00", "\x83\xb5", "\x83\xbd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x83\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xc5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xca", "\x00\x00", + "\x83\xcc", "\x00\x00", "\x83\xce", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x83\xd3", "\x00\x00", "\x00\x00", "\x83\xd6", "\x00\x00", + "\x83\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xdc", "\x00\x00", + "\x00\x00", "\x83\xdf", "\x83\xe0", "\x83\xe9", "\x00\x00", "\x83\xeb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xef", "\x83\xf0", "\x83\xf1", + "\x83\xf2", "\x00\x00", "\x83\xf4", "\x00\x00", "\x00\x00", "\x83\xf7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xfb", "\x00\x00", "\x83\xfd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x03", + "\x84\x04", "\x00\x00", "\x00\x00", "\x84\x07", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x0b", "\x84\x0c", "\x84\x0d", "\x84\x0e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x13", "\x84\x20", "\x00\x00", + "\x84\x22", "\x84\x29", "\x84\x2a", "\x00\x00", "\x84\x2c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x31", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x35", "\x00\x00", "\x00\x00", "\x84\x38", "\x00\x00", + "\x00\x00", "\x00\x00", "\x84\x3c", "\x84\x3d", "\x84\x46", "\x00\x00", + "\x00\x00", "\x84\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x84\x4e", "\x84\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x5b", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x61", + "\x84\x62", "\x84\x63", "\x00\x00", "\x00\x00", "\x84\x66", "\x00\x00", + "\x00\x00", "\x84\x69", "\x00\x00", "\x84\x6b", "\x84\x6c", "\x84\x6d", + "\x84\x6e", "\x84\x6f", "\x00\x00", "\x84\x71", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x75", "\x00\x00", "\x84\x77", "\x00\x00", "\x84\x79", + "\x84\x7a", "\x84\x82", "\x00\x00", "\x84\x84", "\x84\x8b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x90", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x84\x99", "\x00\x00", "\x00\x00", "\x84\x9c", "\x00\x00", "\x00\x00", + "\x84\x9f", "\x00\x00", "\x84\xa1", "\x84\xad", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x84\xb2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x84\xb8", "\x84\xb9", "\x00\x00", "\x84\xbb", + "\x84\xbc", "\x00\x00", "\x00\x00", "\x84\xbf", "\x00\x00", "\x84\xc1", + "\x00\x00", "\x00\x00", "\x84\xc4", "\x00\x00", "\x84\xc6", "\x00\x00", + "\x00\x00", "\x84\xc9", "\x84\xca", "\x84\xcb", "\x00\x00", "\x84\xcd", + "\x00\x00", "\x00\x00", "\x84\xd0", "\x84\xd1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x84\xd6", "\x00\x00", "\x00\x00", "\x84\xd9", + "\x84\xda", "\x84\xec", "\x00\x00", "\x84\xee", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xf4", "\x84\xfc", "\x00\x00", + "\x00\x00", "\x84\xff", "\x85\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\x06", "\x85\x11", "\x00\x00", "\x85\x13", + "\x85\x14", "\x85\x15", "\x00\x00", "\x85\x17", "\x85\x18", "\x00\x00", + "\x85\x1a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x1f", + "\x00\x00", "\x85\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x85\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x85\x2c", "\x85\x2d", "\x85\x35", "\x85\x3d", "\x00\x00", "\x00\x00", + "\x85\x40", "\x85\x41", "\x00\x00", "\x85\x43", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\x48", "\x85\x49", "\x85\x4a", "\x85\x4b", + "\x00\x00", "\x00\x00", "\x85\x4e", "\x85\x55", "\x00\x00", "\x85\x57", + "\x85\x58", "\x00\x00", "\x85\x5a", "\x85\x63", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\x68", "\x85\x69", "\x85\x6a", "\x00\x00", + "\x00\x00", "\x85\x6d", "\x85\x77", "\x85\x7e", "\x00\x00", "\x85\x80", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x84", "\x00\x00", "\x00\x00", + "\x85\x87", "\x85\x88", "\x00\x00", "\x85\x8a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x90", "\x85\x91", "\x00\x00", + "\x00\x00", "\x85\x94", "\x00\x00", "\x00\x00", "\x85\x97", "\x00\x00", + "\x85\x99", "\x00\x00", "\x85\x9b", "\x85\x9c", "\x85\xa4", "\x00\x00", + "\x85\xa6", "\x00\x00", "\x85\xa8", "\x85\xa9", "\x85\xaa", "\x85\xab", + "\x85\xac", "\x00\x00", "\x85\xae", "\x85\xaf", "\x85\xb9", "\x85\xba", + "\x85\xc1", "\x85\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xcd", + "\x00\x00", "\x85\xcf", "\x85\xd0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x85\xd5", "\x85\xdc", "\x85\xdd", "\x85\xe4", "\x85\xe5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xe9", "\x85\xea", "\x85\xf7", + "\x00\x00", "\x85\xf9", "\x85\xfa", "\x85\xfb", "\x00\x00", "\x00\x00", + "\x85\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x02", "\x00\x00", + "\x00\x00", "\x00\x00", "\x86\x06", "\x86\x07", "\x00\x00", "\x00\x00", + "\x86\x0a", "\x86\x0b", "\x86\x13", "\x00\x00", "\x00\x00", "\x86\x16", + "\x86\x17", "\x00\x00", "\x00\x00", "\x86\x1a", "\x86\x22", "\x86\x2d", + "\x00\x00", "\x86\x2f", "\x86\x30", "\x86\x3f", "\x86\x4d", "\x86\x4e", + "\x00\x00", "\x86\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x54", + "\x86\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x5a", + "\x00\x00", "\x86\x5c", "\x00\x00", "\x86\x5e", "\x86\x5f", "\x86\x67", + "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x6b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x71", "\x86\x79", "\x00\x00", + "\x86\x7b", "\x86\x8a", "\x86\x8b", "\x86\x8c", "\x86\x93", "\x00\x00", + "\x86\x95", "\x86\xa3", "\x86\xa4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\xa9", "\x86\xaa", "\x86\xab", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\xaf", "\x86\xb0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x86\xb6", "\x86\xc4", "\x00\x00", "\x86\xc6", + "\x86\xc7", "\x00\x00", "\x86\xc9", "\x00\x00", "\x86\xcb", "\x00\x00", + "\x86\xcd", "\x86\xce", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\xd4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x86\xd9", "\x00\x00", "\x86\xdb", "\x00\x00", "\x00\x00", "\x86\xde", + "\x86\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xe4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xe9", "\x00\x00", + "\x00\x00", "\x86\xec", "\x86\xed", "\x86\xee", "\x86\xef", "\x86\xf8", + "\x86\xf9", "\x00\x00", "\x86\xfb", "\x00\x00", "\x00\x00", "\x86\xfe", + "\x00\x00", "\x87\x00", "\x00\x00", "\x87\x02", "\x87\x03", "\x00\x00", + "\x00\x00", "\x87\x06", "\x00\x00", "\x87\x08", "\x87\x09", "\x87\x0a", + "\x00\x00", "\x00\x00", "\x87\x0d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\x11", "\x87\x12", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x87\x18", "\x00\x00", "\x87\x1a", "\x00\x00", "\x87\x1c", + "\x87\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x29", "\x87\x34", + "\x00\x00", "\x00\x00", "\x87\x37", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\x3b", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x3f", "\x87\x49", + "\x00\x00", "\x87\x4b", "\x87\x4c", "\x00\x00", "\x87\x4e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x53", "\x00\x00", "\x87\x55", + "\x00\x00", "\x87\x57", "\x00\x00", "\x87\x59", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x5f", "\x87\x60", "\x00\x00", + "\x00\x00", "\x87\x63", "\x00\x00", "\x00\x00", "\x87\x66", "\x00\x00", + "\x87\x68", "\x00\x00", "\x87\x6a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\x6e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\x74", "\x00\x00", "\x87\x76", "\x00\x00", "\x87\x78", "\x87\x7f", + "\x00\x00", "\x00\x00", "\x87\x82", "\x87\x8d", "\x87\x9f", "\x00\x00", + "\x00\x00", "\x87\xa2", "\x87\xab", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\xaf", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xb3", "\x87\xba", + "\x87\xbb", "\x00\x00", "\x87\xbd", "\x00\x00", "\x00\x00", "\x87\xc0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xc4", "\x00\x00", "\x87\xc6", + "\x87\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xcb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xd0", "\x00\x00", "\x87\xd2", + "\x87\xe0", "\x87\xef", "\x00\x00", "\x00\x00", "\x87\xf2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x87\xf6", "\x87\xf7", "\x00\x00", "\x87\xf9", + "\x00\x00", "\x87\xfb", "\x00\x00", "\x00\x00", "\x87\xfe", "\x88\x05", + "\x88\x0d", "\x88\x0e", "\x88\x0f", "\x00\x00", "\x88\x11", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x15", "\x88\x16", "\x88\x21", "\x88\x22", + "\x88\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x27", "\x88\x31", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x36", "\x00\x00", + "\x00\x00", "\x88\x39", "\x00\x00", "\x88\x3b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x40", "\x00\x00", "\x88\x42", "\x00\x00", + "\x88\x44", "\x00\x00", "\x88\x46", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x4c", "\x88\x4d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x52", "\x88\x53", "\x00\x00", "\x00\x00", + "\x00\x00", "\x88\x57", "\x00\x00", "\x88\x59", "\x00\x00", "\x88\x5b", + "\x00\x00", "\x88\x5d", "\x88\x5e", "\x00\x00", "\x00\x00", "\x88\x61", + "\x88\x62", "\x88\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x88\x68", "\x00\x00", "\x00\x00", "\x88\x6b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x70", "\x00\x00", "\x88\x72", "\x00\x00", + "\x00\x00", "\x88\x75", "\x00\x00", "\x88\x77", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x7d", "\x88\x7e", "\x88\x7f", + "\x00\x00", "\x88\x81", "\x88\x82", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x88", "\x00\x00", "\x00\x00", "\x88\x8b", + "\x00\x00", "\x88\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x88\x92", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x96", "\x88\x97", + "\x00\x00", "\x88\x99", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x88\x9e", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\xa2", "\x00\x00", + "\x88\xa4", "\x88\xab", "\x00\x00", "\x00\x00", "\x88\xae", "\x00\x00", + "\x88\xb0", "\x88\xb1", "\x00\x00", "\x00\x00", "\x88\xb4", "\x88\xb5", + "\x00\x00", "\x88\xb7", "\x88\xbf", "\x00\x00", "\x88\xc1", "\x88\xc2", + "\x88\xc3", "\x88\xc4", "\x88\xc5", "\x88\xcf", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\xd4", "\x88\xd5", "\x00\x00", "\x00\x00", + "\x88\xd8", "\x88\xd9", "\x00\x00", "\x00\x00", "\x88\xdc", "\x88\xdd", + "\x00\x00", "\x88\xdf", "\x00\x00", "\x88\xe1", "\x88\xe8", "\x88\xf2", + "\x88\xf3", "\x88\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\xf8", + "\x88\xf9", "\x00\x00", "\x00\x00", "\x88\xfc", "\x88\xfd", "\x88\xfe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x02", "\x00\x00", "\x89\x04", + "\x00\x00", "\x00\x00", "\x89\x07", "\x00\x00", "\x00\x00", "\x89\x0a", + "\x00\x00", "\x89\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x10", + "\x00\x00", "\x89\x12", "\x89\x13", "\x89\x1d", "\x89\x1e", "\x89\x25", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x2a", "\x89\x2b", + "\x89\x36", "\x00\x00", "\x89\x38", "\x00\x00", "\x00\x00", "\x89\x3b", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x41", + "\x00\x00", "\x89\x43", "\x89\x44", "\x89\x4c", "\x89\x4d", "\x89\x56", + "\x89\x5e", "\x89\x5f", "\x89\x60", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\x64", "\x00\x00", "\x89\x66", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\x6a", "\x00\x00", "\x00\x00", "\x89\x6d", "\x00\x00", "\x89\x6f", + "\x00\x00", "\x00\x00", "\x89\x72", "\x00\x00", "\x89\x74", "\x00\x00", + "\x00\x00", "\x89\x77", "\x89\x7e", "\x89\x7f", "\x00\x00", "\x89\x81", + "\x00\x00", "\x89\x83", "\x00\x00", "\x00\x00", "\x89\x86", "\x89\x87", + "\x89\x88", "\x00\x00", "\x89\x8a", "\x89\x8b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x89\x8f", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x93", + "\x00\x00", "\x00\x00", "\x89\x96", "\x89\x97", "\x89\x98", "\x00\x00", + "\x89\x9a", "\x89\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\xa6", "\x89\xa7", "\x00\x00", "\x89\xa9", "\x89\xaa", "\x00\x00", + "\x89\xac", "\x00\x00", "\x00\x00", "\x89\xaf", "\x00\x00", "\x00\x00", + "\x89\xb2", "\x89\xb3", "\x89\xba", "\x00\x00", "\x00\x00", "\x89\xbd", + "\x00\x00", "\x89\xbf", "\x89\xc0", "\x89\xd2", "\x89\xda", "\x00\x00", + "\x89\xdc", "\x89\xdd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x89\xe3", "\x00\x00", "\x00\x00", "\x89\xe6", "\x89\xe7", + "\x89\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xf8", "\x8a\x00", + "\x00\x00", "\x8a\x02", "\x8a\x03", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\x08", "\x00\x00", "\x8a\x0a", "\x00\x00", "\x8a\x0c", + "\x00\x00", "\x8a\x0e", "\x00\x00", "\x8a\x10", "\x00\x00", "\x00\x00", + "\x8a\x13", "\x00\x00", "\x00\x00", "\x8a\x16", "\x8a\x17", "\x8a\x18", + "\x00\x00", "\x00\x00", "\x8a\x1b", "\x00\x00", "\x8a\x1d", "\x00\x00", + "\x8a\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x23", "\x00\x00", + "\x8a\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x2a", + "\x00\x00", "\x00\x00", "\x8a\x2d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8a\x31", "\x00\x00", "\x8a\x33", "\x8a\x34", "\x00\x00", "\x8a\x36", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x3a", "\x8a\x3b", "\x8a\x3c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x41", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x46", "\x00\x00", "\x8a\x48", + "\x8a\x50", "\x8a\x51", "\x8a\x52", "\x00\x00", "\x8a\x54", "\x8a\x55", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x5b", + "\x00\x00", "\x00\x00", "\x8a\x5e", "\x00\x00", "\x8a\x60", "\x00\x00", + "\x8a\x62", "\x8a\x63", "\x00\x00", "\x00\x00", "\x8a\x66", "\x00\x00", + "\x00\x00", "\x8a\x69", "\x00\x00", "\x8a\x6b", "\x8a\x6c", "\x8a\x6d", + "\x8a\x6e", "\x00\x00", "\x8a\x70", "\x8a\x71", "\x8a\x72", "\x8a\x73", + "\x8a\x7c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8a\x82", "\x00\x00", "\x8a\x84", "\x8a\x85", "\x00\x00", "\x8a\x87", + "\x00\x00", "\x8a\x89", "\x00\x00", "\x00\x00", "\x8a\x8c", "\x8a\x8d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x91", "\x00\x00", "\x8a\x93", + "\x00\x00", "\x8a\x95", "\x00\x00", "\x00\x00", "\x8a\x98", "\x00\x00", + "\x8a\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x9e", "\x00\x00", + "\x8a\xa0", "\x8a\xa1", "\x00\x00", "\x8a\xa3", "\x8a\xa4", "\x8a\xa5", + "\x8a\xa6", "\x00\x00", "\x8a\xa8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8a\xac", "\x8a\xad", "\x00\x00", "\x00\x00", "\x8a\xb0", "\x00\x00", + "\x8a\xb2", "\x8a\xb9", "\x00\x00", "\x00\x00", "\x8a\xbc", "\x00\x00", + "\x00\x00", "\x8a\xbf", "\x00\x00", "\x00\x00", "\x8a\xc2", "\x00\x00", + "\x8a\xc4", "\x00\x00", "\x00\x00", "\x8a\xc7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\xcb", "\x8a\xcc", "\x8a\xcd", "\x00\x00", "\x8a\xcf", + "\x00\x00", "\x00\x00", "\x8a\xd2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8a\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xda", "\x8a\xdb", + "\x8a\xdc", "\x00\x00", "\x8a\xde", "\x00\x00", "\x8a\xe0", "\x8a\xe1", + "\x8a\xe2", "\x00\x00", "\x8a\xe4", "\x00\x00", "\x8a\xe6", "\x8a\xe7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xeb", "\x00\x00", "\x8a\xed", + "\x8a\xee", "\x00\x00", "\x00\x00", "\x8a\xf1", "\x00\x00", "\x8a\xf3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xf7", "\x8a\xf8", "\x00\x00", + "\x8a\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xfe", "\x00\x00", + "\x8b\x00", "\x8b\x01", "\x8b\x02", "\x00\x00", "\x8b\x04", "\x00\x00", + "\x00\x00", "\x8b\x07", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8b\x0c", "\x00\x00", "\x8b\x0e", "\x00\x00", "\x8b\x10", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8b\x14", "\x00\x00", "\x8b\x16", "\x8b\x17", + "\x00\x00", "\x8b\x19", "\x8b\x1a", "\x8b\x1b", "\x00\x00", "\x8b\x1d", + "\x00\x00", "\x00\x00", "\x8b\x20", "\x8b\x21", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8b\x26", "\x00\x00", "\x8b\x28", "\x00\x00", + "\x00\x00", "\x8b\x2b", "\x8b\x2c", "\x8b\x33", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x39", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8b\x3e", "\x00\x00", "\x00\x00", "\x8b\x41", + "\x8b\x49", "\x00\x00", "\x00\x00", "\x8b\x4c", "\x00\x00", "\x8b\x4e", + "\x8b\x4f", "\x8b\x56", "\x00\x00", "\x8b\x58", "\x00\x00", "\x8b\x5a", + "\x8b\x5b", "\x8b\x5c", "\x00\x00", "\x00\x00", "\x8b\x5f", "\x8b\x66", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x6b", "\x8b\x6c", + "\x00\x00", "\x00\x00", "\x8b\x6f", "\x8b\x70", "\x8b\x71", "\x8b\x72", + "\x00\x00", "\x8b\x74", "\x00\x00", "\x00\x00", "\x8b\x77", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x7d", "\x00\x00", + "\x00\x00", "\x8b\x80", "\x00\x00", "\x00\x00", "\x8b\x83", "\x8b\x8a", + "\x00\x00", "\x8b\x8c", "\x00\x00", "\x8b\x8e", "\x00\x00", "\x8b\x90", + "\x00\x00", "\x8b\x92", "\x8b\x93", "\x00\x00", "\x00\x00", "\x8b\x96", + "\x00\x00", "\x00\x00", "\x8b\x99", "\x8b\x9a", "\x8c\x37", "\x00\x00", + "\x00\x00", "\x8c\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8c\x3f", "\x00\x00", "\x8c\x41", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x46", "\x00\x00", "\x8c\x48", "\x00\x00", "\x8c\x4a", + "\x00\x00", "\x8c\x4c", "\x00\x00", "\x8c\x4e", "\x00\x00", "\x8c\x50", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x55", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x5a", "\x8c\x61", "\x8c\x62", + "\x8c\x6a", "\x8c\x6b", "\x8c\x6c", "\x8c\x78", "\x8c\x79", "\x8c\x7a", + "\x00\x00", "\x8c\x7c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x82", "\x00\x00", "\x00\x00", "\x8c\x85", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8c\x89", "\x8c\x8a", "\x00\x00", "\x8c\x8c", + "\x8c\x8d", "\x8c\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x98", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x9d", "\x8c\x9e", + "\x00\x00", "\x8c\xa0", "\x8c\xa1", "\x8c\xa2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8c\xa7", "\x8c\xa8", "\x8c\xa9", "\x8c\xaa", + "\x8c\xab", "\x8c\xac", "\x8c\xad", "\x8c\xae", "\x8c\xaf", "\x8c\xb0", + "\x00\x00", "\x8c\xb2", "\x8c\xb3", "\x8c\xb4", "\x00\x00", "\x8c\xb6", + "\x8c\xb7", "\x8c\xb8", "\x00\x00", "\x00\x00", "\x8c\xbb", "\x8c\xbc", + "\x8c\xbd", "\x00\x00", "\x8c\xbf", "\x8c\xc0", "\x8c\xc1", "\x8c\xc2", + "\x8c\xc3", "\x8c\xc4", "\x00\x00", "\x00\x00", "\x8c\xc7", "\x8c\xc8", + "\x00\x00", "\x8c\xca", "\x00\x00", "\x00\x00", "\x8c\xcd", "\x8c\xce", + "\x00\x00", "\x00\x00", "\x8c\xd1", "\x00\x00", "\x8c\xd3", "\x8c\xda", + "\x8c\xdb", "\x8c\xdc", "\x00\x00", "\x8c\xde", "\x00\x00", "\x8c\xe0", + "\x00\x00", "\x8c\xe2", "\x8c\xe3", "\x8c\xe4", "\x00\x00", "\x8c\xe6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\xea", "\x00\x00", "\x00\x00", + "\x8c\xed", "\x8c\xfa", "\x8c\xfb", "\x8c\xfc", "\x8c\xfd", "\x8d\x04", + "\x8d\x05", "\x00\x00", "\x8d\x07", "\x8d\x08", "\x00\x00", "\x8d\x0a", + "\x8d\x0b", "\x00\x00", "\x8d\x0d", "\x00\x00", "\x8d\x0f", "\x8d\x10", + "\x00\x00", "\x00\x00", "\x8d\x13", "\x8d\x14", "\x00\x00", "\x8d\x16", + "\x8d\x64", "\x00\x00", "\x8d\x66", "\x8d\x67", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8d\x6b", "\x00\x00", "\x8d\x6d", "\x00\x00", "\x00\x00", + "\x8d\x70", "\x8d\x71", "\x00\x00", "\x8d\x73", "\x8d\x74", "\x00\x00", + "\x00\x00", "\x8d\x77", "\x8d\x81", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8d\x85", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x8a", + "\x8d\x99", "\x8d\xa3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8d\xa8", "\x8d\xb3", "\x8d\xba", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8d\xbe", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xc2", "\x8d\xcb", + "\x8d\xcc", "\x00\x00", "\x00\x00", "\x8d\xcf", "\x8d\xd6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8d\xda", "\x8d\xdb", "\x00\x00", "\x8d\xdd", + "\x00\x00", "\x8d\xdf", "\x00\x00", "\x8d\xe1", "\x00\x00", "\x8d\xe3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xe8", "\x00\x00", + "\x8d\xea", "\x8d\xeb", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xef", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xf3", "\x00\x00", "\x8d\xf5", + "\x8d\xfc", "\x00\x00", "\x00\x00", "\x8d\xff", "\x8e\x08", "\x8e\x09", + "\x8e\x0a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x0f", + "\x8e\x10", "\x8e\x1d", "\x8e\x1e", "\x8e\x1f", "\x8e\x2a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x30", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8e\x34", "\x8e\x35", "\x8e\x42", "\x00\x00", + "\x8e\x44", "\x00\x00", "\x00\x00", "\x8e\x47", "\x8e\x48", "\x8e\x49", + "\x8e\x4a", "\x00\x00", "\x8e\x4c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8e\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x55", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x59", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x5f", "\x8e\x60", "\x00\x00", + "\x00\x00", "\x8e\x63", "\x8e\x64", "\x8e\x72", "\x00\x00", "\x8e\x74", + "\x00\x00", "\x8e\x76", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8e\x7c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8e\x81", "\x00\x00", "\x00\x00", "\x8e\x84", "\x8e\x85", "\x00\x00", + "\x8e\x87", "\x00\x00", "\x00\x00", "\x8e\x8a", "\x8e\x8b", "\x00\x00", + "\x8e\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x91", "\x00\x00", + "\x8e\x93", "\x8e\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8e\x99", "\x8e\xa1", "\x8e\xaa", "\x8e\xab", "\x8e\xac", "\x00\x00", + "\x00\x00", "\x8e\xaf", "\x8e\xb0", "\x8e\xb1", "\x8e\xbe", "\x8e\xc5", + "\x8e\xc6", "\x00\x00", "\x8e\xc8", "\x00\x00", "\x8e\xca", "\x8e\xcb", + "\x8e\xcc", "\x8e\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8e\xd2", "\x8e\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xdf", + "\x00\x00", "\x00\x00", "\x8e\xe2", "\x8e\xe3", "\x8e\xeb", "\x8e\xf8", + "\x00\x00", "\x00\x00", "\x8e\xfb", "\x8e\xfc", "\x8e\xfd", "\x8e\xfe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x03", "\x00\x00", + "\x8f\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x09", "\x8f\x0a", + "\x00\x00", "\x8f\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8f\x12", "\x8f\x13", "\x8f\x14", "\x8f\x15", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8f\x19", "\x00\x00", "\x8f\x1b", "\x8f\x1c", + "\x8f\x1d", "\x00\x00", "\x8f\x1f", "\x8f\x26", "\x00\x00", "\x00\x00", + "\x8f\x29", "\x8f\x2a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8f\x2f", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x33", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x38", "\x8f\x39", "\x00\x00", + "\x8f\x3b", "\x00\x00", "\x00\x00", "\x8f\x3e", "\x8f\x3f", "\x00\x00", + "\x00\x00", "\x8f\x42", "\x00\x00", "\x8f\x44", "\x8f\x45", "\x8f\x46", + "\x00\x00", "\x00\x00", "\x8f\x49", "\x00\x00", "\x00\x00", "\x8f\x4c", + "\x8f\x4d", "\x8f\x4e", "\x8f\x57", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8f\x5c", "\x00\x00", "\x00\x00", "\x8f\x5f", "\x00\x00", + "\x8f\x61", "\x8f\x62", "\x8f\x63", "\x8f\x64", "\x8f\x9b", "\x8f\x9c", + "\x00\x00", "\x8f\x9e", "\x8f\x9f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8f\xa3", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xa7", "\x8f\xa8", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xad", "\x8f\xae", + "\x8f\xaf", "\x8f\xb0", "\x8f\xb1", "\x8f\xb2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8f\xb7", "\x00\x00", "\x00\x00", "\x8f\xba", + "\x8f\xbb", "\x8f\xbc", "\x00\x00", "\x00\x00", "\x8f\xbf", "\x00\x00", + "\x00\x00", "\x8f\xc2", "\x00\x00", "\x8f\xc4", "\x8f\xc5", "\x8f\xce", + "\x00\x00", "\x00\x00", "\x8f\xd1", "\x00\x00", "\x00\x00", "\x8f\xd4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xda", + "\x8f\xe2", "\x00\x00", "\x00\x00", "\x8f\xe5", "\x8f\xe6", "\x00\x00", + "\x00\x00", "\x8f\xe9", "\x8f\xea", "\x8f\xeb", "\x00\x00", "\x8f\xed", + "\x00\x00", "\x8f\xef", "\x8f\xf0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8f\xf4", "\x00\x00", "\x00\x00", "\x8f\xf7", "\x8f\xf8", "\x8f\xf9", + "\x8f\xfa", "\x00\x00", "\x00\x00", "\x8f\xfd", "\x00\x00", "\x00\x00", + "\x90\x00", "\x90\x01", "\x00\x00", "\x90\x03", "\x00\x00", "\x90\x05", + "\x90\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x0b", + "\x00\x00", "\x90\x0d", "\x90\x0e", "\x90\x0f", "\x90\x10", "\x90\x11", + "\x00\x00", "\x90\x13", "\x90\x14", "\x90\x15", "\x90\x16", "\x90\x17", + "\x00\x00", "\x90\x19", "\x90\x1a", "\x00\x00", "\x00\x00", "\x90\x1d", + "\x90\x1e", "\x90\x1f", "\x90\x20", "\x90\x21", "\x90\x22", "\x90\x23", + "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x27", "\x90\x2e", "\x00\x00", + "\x00\x00", "\x90\x31", "\x90\x32", "\x00\x00", "\x00\x00", "\x90\x35", + "\x90\x36", "\x00\x00", "\x90\x38", "\x90\x39", "\x00\x00", "\x00\x00", + "\x90\x3c", "\x00\x00", "\x90\x3e", "\x00\x00", "\x00\x00", "\x90\x41", + "\x90\x42", "\x00\x00", "\x00\x00", "\x90\x45", "\x00\x00", "\x90\x47", + "\x00\x00", "\x90\x49", "\x90\x4a", "\x90\x4b", "\x00\x00", "\x90\x4d", + "\x90\x4e", "\x90\x4f", "\x90\x50", "\x90\x51", "\x90\x52", "\x90\x53", + "\x90\x54", "\x90\x55", "\x90\x56", "\x00\x00", "\x90\x58", "\x90\x59", + "\x00\x00", "\x00\x00", "\x90\x5c", "\x00\x00", "\x90\x5e", "\x00\x00", + "\x90\x60", "\x90\x61", "\x00\x00", "\x90\x63", "\x00\x00", "\x90\x65", + "\x00\x00", "\x00\x00", "\x90\x68", "\x90\x69", "\x00\x00", "\x00\x00", + "\x00\x00", "\x90\x6d", "\x90\x6e", "\x90\x6f", "\x00\x00", "\x00\x00", + "\x90\x72", "\x00\x00", "\x00\x00", "\x90\x75", "\x90\x76", "\x90\x77", + "\x90\x78", "\x00\x00", "\x90\x7a", "\x00\x00", "\x90\x7c", "\x90\x7d", + "\x00\x00", "\x90\x7f", "\x90\x80", "\x90\x81", "\x90\x82", "\x90\x83", + "\x90\x84", "\x00\x00", "\x00\x00", "\x90\x87", "\x00\x00", "\x90\x89", + "\x90\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x8f", + "\x00\x00", "\x90\x91", "\x90\xa3", "\x00\x00", "\x00\x00", "\x90\xa6", + "\x00\x00", "\x90\xa8", "\x00\x00", "\x90\xaa", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x90\xaf", "\x00\x00", "\x90\xb1", "\x00\x00", + "\x00\x00", "\x00\x00", "\x90\xb5", "\x00\x00", "\x00\x00", "\x90\xb8", + "\x90\xc1", "\x90\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xce", + "\x90\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x90\xe1", "\x90\xe2", "\x00\x00", "\x90\xe4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x90\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x90\xed", "\x90\xf5", "\x00\x00", "\x90\xf7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xfd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x02", "\x91\x12", "\x91\x19", "\x91\x2d", + "\x00\x00", "\x00\x00", "\x91\x30", "\x00\x00", "\x91\x32", "\x91\x49", + "\x91\x4a", "\x91\x4b", "\x91\x4c", "\x91\x4d", "\x91\x4e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x52", "\x00\x00", "\x91\x54", "\x00\x00", + "\x91\x56", "\x00\x00", "\x91\x58", "\x91\x62", "\x91\x63", "\x00\x00", + "\x91\x65", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x69", "\x91\x6a", + "\x00\x00", "\x91\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x91\x72", "\x91\x73", "\x00\x00", "\x91\x75", "\x00\x00", + "\x91\x77", "\x91\x78", "\x91\x82", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x91\x87", "\x00\x00", "\x91\x89", "\x00\x00", "\x91\x8b", + "\x00\x00", "\x91\x8d", "\x00\x00", "\x00\x00", "\x91\x90", "\x00\x00", + "\x91\x92", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x97", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x9c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xa2", "\x00\x00", + "\x91\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x91\xaa", "\x91\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xaf", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xb4", "\x91\xb5", + "\x00\x00", "\x00\x00", "\x91\xb8", "\x00\x00", "\x91\xba", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xc0", "\x91\xc1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xc6", "\x91\xc7", + "\x91\xc8", "\x91\xc9", "\x00\x00", "\x91\xcb", "\x91\xcc", "\x91\xcd", + "\x91\xce", "\x91\xcf", "\x91\xd0", "\x91\xd1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\xd6", "\x00\x00", "\x91\xd8", "\x00\x00", + "\x00\x00", "\x91\xdb", "\x91\xdc", "\x91\xdd", "\x00\x00", "\x91\xdf", + "\x00\x00", "\x91\xe1", "\x00\x00", "\x91\xe3", "\x00\x00", "\x00\x00", + "\x91\xe6", "\x91\xe7", "\x91\xf5", "\x91\xf6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xfc", "\x00\x00", "\x00\x00", + "\x91\xff", "\x92\x0d", "\x92\x0e", "\x00\x00", "\x00\x00", "\x92\x11", + "\x00\x00", "\x00\x00", "\x92\x14", "\x92\x15", "\x92\x1e", "\x92\x29", + "\x00\x00", "\x00\x00", "\x92\x2c", "\x92\x34", "\x00\x00", "\x00\x00", + "\x92\x37", "\x92\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x92\x44", "\x92\x45", "\x00\x00", "\x00\x00", "\x92\x48", "\x92\x49", + "\x00\x00", "\x92\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x92\x50", "\x92\x57", "\x00\x00", "\x00\x00", "\x92\x5a", "\x92\x5b", + "\x00\x00", "\x00\x00", "\x92\x5e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x92\x62", "\x00\x00", "\x92\x64", "\x00\x00", "\x92\x66", "\x92\x71", + "\x92\x7e", "\x00\x00", "\x92\x80", "\x00\x00", "\x00\x00", "\x92\x83", + "\x00\x00", "\x92\x85", "\x92\x91", "\x00\x00", "\x92\x93", "\x00\x00", + "\x92\x95", "\x92\x96", "\x00\x00", "\x92\x98", "\x00\x00", "\x92\x9a", + "\x92\x9b", "\x92\x9c", "\x92\xad", "\x92\xb7", "\x00\x00", "\x92\xb9", + "\x92\xcf", "\x00\x00", "\x00\x00", "\x92\xd2", "\x92\xe4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xe9", "\x92\xea", "\x00\x00", + "\x00\x00", "\x92\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x92\xf2", "\x92\xf3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x92\xf8", "\x00\x00", "\x92\xfa", "\x00\x00", "\x92\xfc", "\x93\x06", + "\x93\x0f", "\x93\x10", "\x93\x18", "\x93\x19", "\x93\x1a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x20", "\x00\x00", + "\x93\x22", "\x93\x23", "\x00\x00", "\x00\x00", "\x93\x26", "\x00\x00", + "\x93\x28", "\x00\x00", "\x00\x00", "\x93\x2b", "\x93\x2c", "\x00\x00", + "\x93\x2e", "\x93\x2f", "\x00\x00", "\x00\x00", "\x93\x32", "\x00\x00", + "\x00\x00", "\x93\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x93\x3a", "\x93\x3b", "\x93\x44", "\x93\x4b", "\x00\x00", "\x93\x4d", + "\x93\x54", "\x00\x00", "\x93\x56", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x93\x5b", "\x93\x5c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x93\x60", "\x93\x6c", "\x00\x00", "\x93\x6e", "\x93\x75", "\x93\x7c", + "\x00\x00", "\x93\x7e", "\x93\x8c", "\x93\x94", "\x00\x00", "\x93\x96", + "\x93\x97", "\x00\x00", "\x00\x00", "\x93\x9a", "\x93\xa7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xac", "\x93\xad", "\x93\xae", + "\x00\x00", "\x93\xb0", "\x93\xb9", "\x93\xc3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x93\xc8", "\x93\xd0", "\x93\xd1", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xd6", "\x93\xd7", "\x93\xd8", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xdd", "\x00\x00", + "\x00\x00", "\x00\x00", "\x93\xe1", "\x00\x00", "\x00\x00", "\x93\xe4", + "\x93\xe5", "\x00\x00", "\x00\x00", "\x93\xe8", "\x94\x03", "\x00\x00", + "\x00\x00", "\x00\x00", "\x94\x07", "\x94\x10", "\x00\x00", "\x00\x00", + "\x94\x13", "\x94\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x18", + "\x94\x19", "\x94\x1a", "\x94\x21", "\x94\x2b", "\x94\x35", "\x94\x36", + "\x00\x00", "\x94\x38", "\x00\x00", "\x94\x3a", "\x94\x41", "\x00\x00", + "\x00\x00", "\x94\x44", "\x94\x51", "\x94\x52", "\x94\x53", "\x94\x5a", + "\x94\x5b", "\x00\x00", "\x00\x00", "\x94\x5e", "\x00\x00", "\x94\x60", + "\x00\x00", "\x94\x62", "\x94\x6a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x94\x70", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x94\x75", "\x00\x00", "\x94\x77", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x94\x7c", "\x94\x7d", "\x94\x7e", "\x94\x7f", + "\x00\x00", "\x94\x81", "\x95\x77", "\x95\x80", "\x00\x00", "\x95\x82", + "\x95\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\x87", "\x00\x00", + "\x95\x89", "\x95\x8a", "\x95\x8b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x95\x8f", "\x00\x00", "\x95\x91", "\x00\x00", "\x95\x93", "\x95\x94", + "\x00\x00", "\x95\x96", "\x00\x00", "\x95\x98", "\x95\x99", "\x95\xa0", + "\x00\x00", "\x95\xa2", "\x95\xa3", "\x95\xa4", "\x95\xa5", "\x00\x00", + "\x95\xa7", "\x95\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x95\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xb2", + "\x95\xb9", "\x00\x00", "\x95\xbb", "\x95\xbc", "\x00\x00", "\x95\xbe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xc3", "\x00\x00", + "\x00\x00", "\x00\x00", "\x95\xc7", "\x00\x00", "\x00\x00", "\x95\xca", + "\x00\x00", "\x95\xcc", "\x95\xcd", "\x95\xd4", "\x95\xd5", "\x95\xd6", + "\x00\x00", "\x95\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xdc", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xe1", "\x95\xe2", + "\x00\x00", "\x00\x00", "\x95\xe5", "\x96\x1c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\x21", "\x96\x28", "\x00\x00", "\x96\x2a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x2e", "\x96\x2f", "\x00\x00", + "\x00\x00", "\x96\x32", "\x96\x3b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x96\x3f", "\x96\x40", "\x00\x00", "\x96\x42", "\x00\x00", "\x96\x44", + "\x96\x4b", "\x96\x4c", "\x96\x4d", "\x00\x00", "\x96\x4f", "\x96\x50", + "\x96\x5b", "\x96\x5c", "\x96\x5d", "\x96\x5e", "\x96\x5f", "\x00\x00", + "\x00\x00", "\x96\x62", "\x96\x63", "\x96\x64", "\x96\x65", "\x96\x66", + "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x6a", "\x00\x00", "\x96\x6c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x70", "\x00\x00", "\x96\x72", + "\x96\x73", "\x00\x00", "\x96\x75", "\x96\x76", "\x96\x77", "\x96\x78", + "\x00\x00", "\x96\x7a", "\x00\x00", "\x00\x00", "\x96\x7d", "\x96\x85", + "\x96\x86", "\x00\x00", "\x96\x88", "\x00\x00", "\x96\x8a", "\x96\x8b", + "\x00\x00", "\x96\x8d", "\x96\x8e", "\x96\x8f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\x94", "\x96\x95", "\x00\x00", "\x96\x97", + "\x96\x98", "\x96\x99", "\x00\x00", "\x96\x9b", "\x96\x9c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\xa0", "\x00\x00", "\x00\x00", "\x96\xa3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xa7", "\x96\xa8", "\x00\x00", + "\x96\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x96\xb0", "\x96\xb1", "\x96\xb2", "\x00\x00", "\x96\xb4", "\x00\x00", + "\x96\xb6", "\x96\xb7", "\x96\xb8", "\x96\xb9", "\x00\x00", "\x96\xbb", + "\x96\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xc0", "\x96\xc1", + "\x00\x00", "\x00\x00", "\x96\xc4", "\x96\xc5", "\x96\xc6", "\x96\xc7", + "\x00\x00", "\x96\xc9", "\x00\x00", "\x96\xcb", "\x96\xcc", "\x96\xcd", + "\x96\xce", "\x00\x00", "\x00\x00", "\x96\xd1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x96\xd5", "\x96\xd6", "\x00\x00", "\x00\x00", "\x96\xd9", + "\x00\x00", "\x96\xdb", "\x96\xdc", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\xe2", "\x96\xe3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\xe8", "\x00\x00", "\x96\xea", "\x96\xeb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xf0", "\x00\x00", + "\x96\xf2", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xf6", "\x96\xf7", + "\x00\x00", "\x96\xf9", "\x00\x00", "\x96\xfb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x97\x04", "\x00\x00", "\x97\x06", "\x97\x07", "\x97\x08", "\x00\x00", + "\x97\x0a", "\x00\x00", "\x00\x00", "\x97\x0d", "\x97\x0e", "\x97\x0f", + "\x00\x00", "\x97\x11", "\x00\x00", "\x97\x13", "\x00\x00", "\x00\x00", + "\x97\x16", "\x00\x00", "\x00\x00", "\x97\x19", "\x00\x00", "\x00\x00", + "\x97\x1c", "\x00\x00", "\x97\x1e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x24", "\x00\x00", "\x00\x00", "\x97\x27", + "\x00\x00", "\x00\x00", "\x97\x2a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x30", "\x00\x00", "\x97\x32", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x38", "\x97\x39", + "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x3d", "\x97\x3e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x42", "\x00\x00", "\x97\x44", "\x00\x00", + "\x97\x46", "\x00\x00", "\x97\x48", "\x97\x49", "\x97\x52", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x56", "\x00\x00", "\x00\x00", "\x97\x59", + "\x00\x00", "\x00\x00", "\x97\x5c", "\x00\x00", "\x97\x5e", "\x00\x00", + "\x97\x60", "\x97\x61", "\x97\x62", "\x00\x00", "\x97\x64", "\x00\x00", + "\x97\x66", "\x00\x00", "\x97\x68", "\x97\x69", "\x00\x00", "\x97\x6b", + "\x00\x00", "\x97\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x71", + "\x00\x00", "\x00\x00", "\x97\x74", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x79", "\x97\x7a", "\x00\x00", "\x97\x7c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x81", "\x00\x00", "\x00\x00", + "\x97\x84", "\x97\x85", "\x97\x86", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x8b", "\x00\x00", "\x97\x8d", "\x00\x00", "\x97\x8f", + "\x97\x90", "\x97\x98", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x9c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xa0", "\x00\x00", "\x00\x00", + "\x97\xa3", "\x00\x00", "\x00\x00", "\x97\xa6", "\x00\x00", "\x97\xa8", + "\x00\x00", "\x00\x00", "\x97\xab", "\x00\x00", "\x97\xad", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xb3", "\x97\xb4", + "\x97\xc3", "\x00\x00", "\x00\x00", "\x97\xc6", "\x00\x00", "\x97\xc8", + "\x00\x00", "\x00\x00", "\x97\xcb", "\x97\xd3", "\x97\xdc", "\x97\xed", + "\x97\xee", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xf2", "\x97\xf3", + "\x00\x00", "\x97\xf5", "\x97\xf6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xff", + "\x00\x00", "\x98\x01", "\x98\x02", "\x98\x03", "\x00\x00", "\x98\x05", + "\x98\x06", "\x00\x00", "\x98\x08", "\x00\x00", "\x00\x00", "\x00\x00", + "\x98\x0c", "\x00\x00", "\x00\x00", "\x98\x0f", "\x98\x10", "\x98\x11", + "\x98\x12", "\x98\x13", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x17", + "\x98\x18", "\x00\x00", "\x98\x1a", "\x98\x21", "\x00\x00", "\x00\x00", + "\x98\x24", "\x98\x2c", "\x98\x2d", "\x98\x34", "\x00\x00", "\x00\x00", + "\x98\x37", "\x98\x38", "\x00\x00", "\x00\x00", "\x98\x3b", "\x98\x3c", + "\x98\x3d", "\x98\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x98\x4b", "\x98\x4c", "\x98\x4d", "\x98\x4e", "\x98\x4f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x54", "\x98\x55", "\x00\x00", + "\x00\x00", "\x98\x58", "\x00\x00", "\x00\x00", "\x98\x5b", "\x00\x00", + "\x00\x00", "\x98\x5e", "\x98\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x98\x6b", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x6f", "\x98\x70", + "\x98\x71", "\x00\x00", "\x98\x73", "\x98\x74", "\x98\xa8", "\x00\x00", + "\x98\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\xaf", + "\x00\x00", "\x98\xb1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x98\xb6", "\x98\xc3", "\x98\xc4", "\x00\x00", "\x98\xc6", "\x98\xdb", + "\x98\xdc", "\x00\x00", "\x00\x00", "\x98\xdf", "\x00\x00", "\x00\x00", + "\x98\xe2", "\x98\xe9", "\x00\x00", "\x98\xeb", "\x00\x00", "\x98\xed", + "\x98\xee", "\x98\xef", "\x00\x00", "\x00\x00", "\x98\xf2", "\x00\x00", + "\x98\xf4", "\x98\xfc", "\x98\xfd", "\x98\xfe", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x99\x03", "\x00\x00", "\x99\x05", "\x00\x00", + "\x00\x00", "\x00\x00", "\x99\x09", "\x99\x0a", "\x00\x00", "\x99\x0c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x10", "\x00\x00", "\x99\x12", + "\x99\x13", "\x99\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x18", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x1d", "\x99\x1e", + "\x00\x00", "\x99\x20", "\x99\x21", "\x00\x00", "\x00\x00", "\x99\x24", + "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x28", "\x00\x00", "\x00\x00", + "\x00\x00", "\x99\x2c", "\x00\x00", "\x99\x2e", "\x99\x3d", "\x99\x3e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x42", "\x00\x00", "\x00\x00", + "\x99\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x49", "\x00\x00", + "\x99\x4b", "\x99\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x50", + "\x99\x51", "\x99\x52", "\x00\x00", "\x00\x00", "\x99\x55", "\x00\x00", + "\x99\x57", "\x99\x96", "\x99\x97", "\x99\x98", "\x99\x99", "\x99\xa5", + "\x00\x00", "\x00\x00", "\x99\xa8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x99\xac", "\x99\xad", "\x99\xae", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x99\xb3", "\x99\xb4", "\x99\xbc", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x99\xc1", "\x00\x00", "\x00\x00", "\x99\xc4", + "\x99\xc5", "\x99\xc6", "\x00\x00", "\x99\xc8", "\x99\xd0", "\x99\xd1", + "\x99\xd2", "\x00\x00", "\x00\x00", "\x99\xd5", "\x00\x00", "\x00\x00", + "\x99\xd8", "\x00\x00", "\x00\x00", "\x99\xdb", "\x00\x00", "\x99\xdd", + "\x00\x00", "\x99\xdf", "\x00\x00", "\x00\x00", "\x99\xe2", "\x99\xed", + "\x99\xee", "\x00\x00", "\x00\x00", "\x99\xf1", "\x99\xf2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xf8", "\x00\x00", + "\x00\x00", "\x99\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xff", + "\x00\x00", "\x9a\x01", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x05", + "\x9a\x0e", "\x9a\x0f", "\x00\x00", "\x00\x00", "\x9a\x12", "\x9a\x13", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x19", + "\x9a\x28", "\x00\x00", "\x00\x00", "\x9a\x2b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9a\x30", "\x9a\x37", "\x9a\x3e", "\x00\x00", + "\x9a\x40", "\x00\x00", "\x9a\x42", "\x9a\x43", "\x00\x00", "\x9a\x45", + "\x9a\x4d", "\x9a\x55", "\x00\x00", "\x9a\x57", "\x00\x00", "\x00\x00", + "\x9a\x5a", "\x9a\x5b", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x5f", + "\x00\x00", "\x00\x00", "\x9a\x62", "\x00\x00", "\x9a\x64", "\x9a\x65", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x69", "\x9a\x6a", "\x9a\x6b", + "\x9a\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xad", + "\x00\x00", "\x00\x00", "\x9a\xb0", "\x9a\xb8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xc0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xc4", "\x9a\xcf", "\x00\x00", + "\x9a\xd1", "\x00\x00", "\x9a\xd3", "\x9a\xd4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xde", "\x9a\xdf", "\x00\x00", "\x00\x00", "\x9a\xe2", + "\x9a\xe3", "\x00\x00", "\x00\x00", "\x9a\xe6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xea", "\x9a\xeb", "\x00\x00", "\x9a\xed", "\x9a\xee", + "\x9a\xef", "\x00\x00", "\x9a\xf1", "\x00\x00", "\x00\x00", "\x9a\xf4", + "\x00\x00", "\x00\x00", "\x9a\xf7", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9a\xfb", "\x9b\x06", "\x9b\x18", "\x00\x00", "\x9b\x1a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x1f", "\x00\x00", "\x00\x00", + "\x9b\x22", "\x9b\x23", "\x00\x00", "\x9b\x25", "\x00\x00", "\x9b\x27", + "\x9b\x28", "\x9b\x29", "\x9b\x2a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9b\x2e", "\x9b\x2f", "\x00\x00", "\x9b\x31", "\x9b\x32", "\x9b\x3b", + "\x9b\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x41", + "\x9b\x42", "\x9b\x43", "\x9b\x44", "\x9b\x45", "\x9b\x4d", "\x9b\x4e", + "\x9b\x4f", "\x00\x00", "\x9b\x51", "\x00\x00", "\x00\x00", "\x9b\x54", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x58", "\x00\x00", "\x9b\x5a", + "\x9b\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x74", + "\x9b\x83", "\x9b\x8e", "\x00\x00", "\x00\x00", "\x9b\x91", "\x9b\x92", + "\x9b\x93", "\x00\x00", "\x00\x00", "\x9b\x96", "\x9b\x97", "\x9b\x9f", + "\x9b\xa0", "\x9b\xa8", "\x00\x00", "\x9b\xaa", "\x9b\xab", "\x00\x00", + "\x9b\xad", "\x9b\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9b\xb9", "\x9b\xc0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\xc6", "\x00\x00", "\x00\x00", "\x9b\xc9", "\x9b\xca", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xcf", "\x00\x00", + "\x9b\xd1", "\x9b\xd2", "\x00\x00", "\x9b\xd4", "\x00\x00", "\x9b\xd6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xdb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xe1", "\x9b\xe2", + "\x9b\xe3", "\x9b\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xe8", + "\x9b\xf0", "\x9b\xf1", "\x9b\xf2", "\x00\x00", "\x00\x00", "\x9b\xf5", + "\x9c\x04", "\x00\x00", "\x9c\x06", "\x00\x00", "\x9c\x08", "\x9c\x09", + "\x9c\x0a", "\x00\x00", "\x9c\x0c", "\x9c\x0d", "\x00\x00", "\x00\x00", + "\x9c\x10", "\x00\x00", "\x9c\x12", "\x9c\x13", "\x9c\x14", "\x9c\x15", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x1b", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x21", + "\x00\x00", "\x00\x00", "\x9c\x24", "\x9c\x25", "\x9c\x2d", "\x9c\x2e", + "\x9c\x2f", "\x9c\x30", "\x00\x00", "\x9c\x32", "\x9c\x39", "\x9c\x3a", + "\x9c\x3b", "\x00\x00", "\x00\x00", "\x9c\x3e", "\x9c\x46", "\x9c\x47", + "\x9c\x48", "\x9c\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9c\x57", "\x00\x00", "\x00\x00", "\x9c\x5a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x60", "\x9c\x67", "\x9c\x76", + "\x00\x00", "\x9c\x78", "\x9c\xe5", "\x00\x00", "\x9c\xe7", "\x00\x00", + "\x9c\xe9", "\x00\x00", "\x9c\xeb", "\x9c\xec", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9c\xf0", "\x00\x00", "\x00\x00", "\x9c\xf3", "\x9c\xf4", + "\x00\x00", "\x9c\xf6", "\x9d\x03", "\x00\x00", "\x00\x00", "\x9d\x06", + "\x9d\x07", "\x9d\x08", "\x9d\x09", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9d\x0e", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x12", + "\x00\x00", "\x00\x00", "\x9d\x15", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9d\x1b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x23", "\x00\x00", + "\x00\x00", "\x9d\x26", "\x00\x00", "\x9d\x28", "\x00\x00", "\x9d\x2a", + "\x9d\x2b", "\x9d\x2c", "\x9d\x3b", "\x00\x00", "\x00\x00", "\x9d\x3e", + "\x9d\x3f", "\x00\x00", "\x9d\x41", "\x00\x00", "\x00\x00", "\x9d\x44", + "\x00\x00", "\x9d\x46", "\x00\x00", "\x9d\x48", "\x9d\x50", "\x9d\x51", + "\x9d\x59", "\x00\x00", "\x00\x00", "\x9d\x5c", "\x9d\x5d", "\x9d\x5e", + "\x00\x00", "\x9d\x60", "\x9d\x61", "\x00\x00", "\x00\x00", "\x9d\x64", + "\x9d\x6c", "\x00\x00", "\x00\x00", "\x9d\x6f", "\x00\x00", "\x00\x00", + "\x9d\x72", "\x9d\x7a", "\x9d\x87", "\x00\x00", "\x9d\x89", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x8f", "\x9d\x9a", + "\x9d\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xa9", + "\x00\x00", "\x9d\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xaf", + "\x00\x00", "\x00\x00", "\x9d\xb2", "\x00\x00", "\x9d\xb4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9d\xb8", "\x00\x00", "\x9d\xba", "\x9d\xbb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xc1", + "\x9d\xc2", "\x00\x00", "\x9d\xc4", "\x00\x00", "\x9d\xc6", "\x9d\xcf", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xd3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xd9", "\x9d\xe6", "\x9d\xed", + "\x00\x00", "\x9d\xef", "\x00\x00", "\x00\x00", "\x9d\xf2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xf8", "\x9d\xf9", + "\x9d\xfa", "\x00\x00", "\x00\x00", "\x9d\xfd", "\x9e\x1a", "\x9e\x1b", + "\x00\x00", "\x00\x00", "\x9e\x1e", "\x9e\x75", "\x00\x00", "\x00\x00", + "\x9e\x78", "\x9e\x79", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x7d", + "\x00\x00", "\x9e\x7f", "\x00\x00", "\x9e\x81", "\x9e\x88", "\x00\x00", + "\x00\x00", "\x9e\x8b", "\x9e\x8c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9e\x91", "\x9e\x92", "\x9e\x93", "\x00\x00", "\x9e\x95", + "\x00\x00", "\x9e\x97", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9e\x9d", "\x00\x00", "\x9e\x9f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xa5", "\x9e\xa6", "\x00\x00", + "\x00\x00", "\x9e\xa9", "\x9e\xaa", "\x00\x00", "\x00\x00", "\x9e\xad", + "\x9e\xb8", "\x9e\xb9", "\x9e\xba", "\x9e\xbb", "\x9e\xbc", "\x00\x00", + "\x9e\xbe", "\x9e\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9e\xc4", "\x9e\xcc", "\x9e\xcd", "\x9e\xce", "\x9e\xcf", "\x9e\xd0", + "\x00\x00", "\x9e\xd2", "\x00\x00", "\x9e\xd4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9e\xd8", "\x9e\xd9", "\x00\x00", "\x9e\xdb", "\x9e\xdc", + "\x9e\xdd", "\x9e\xde", "\x00\x00", "\x9e\xe0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9e\xe5", "\x00\x00", "\x00\x00", "\x9e\xe8", + "\x9e\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xf4", + "\x00\x00", "\x9e\xf6", "\x9e\xf7", "\x00\x00", "\x9e\xf9", "\x00\x00", + "\x9e\xfb", "\x9e\xfc", "\x9e\xfd", "\x9f\x07", "\x9f\x08", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x0e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x13", "\x00\x00", "\x9f\x15", + "\x9f\x20", "\x9f\x21", "\x9f\x2c", "\x9f\x3b", "\x00\x00", "\x00\x00", + "\x9f\x3e", "\x9f\x4a", "\x9f\x4b", "\x00\x00", "\x00\x00", "\x9f\x4e", + "\x9f\x4f", "\x00\x00", "\x00\x00", "\x9f\x52", "\x00\x00", "\x9f\x54", + "\x9f\x5f", "\x9f\x60", "\x9f\x61", "\x9f\x62", "\x9f\x63", "\x00\x00", + "\x00\x00", "\x9f\x66", "\x9f\x67", "\x00\x00", "\x00\x00", "\x9f\x6a", + "\x00\x00", "\x9f\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9f\x72", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x76", + "\x9f\x77", "\x9f\x8d", "\x9f\x95", "\x9f\x9c", "\x9f\x9d", "\x00\x00", + "\x00\x00", "\x9f\xa0", "\xff\x01", "\x00\x00", "\xff\x03", "\xff\x04", + "\xff\x05", "\xff\x06", "\x00\x00", "\xff\x08", "\xff\x09", "\xff\x0a", + "\xff\x0b", "\xff\x0c", "\x00\x00", "\xff\x0e", "\xff\x0f", "\xff\x10", + "\xff\x11", "\xff\x12", "\xff\x13", "\xff\x14", "\xff\x15", "\xff\x16", + "\xff\x17", "\xff\x18", "\xff\x19", "\xff\x1a", "\xff\x1b", "\xff\x1c", + "\xff\x1d", "\xff\x1e", "\xff\x1f", "\xff\x20", "\xff\x21", "\xff\x22", + "\xff\x23", "\xff\x24", "\xff\x25", "\xff\x26", "\xff\x27", "\xff\x28", + "\xff\x29", "\xff\x2a", "\xff\x2b", "\xff\x2c", "\xff\x2d", "\xff\x2e", + "\xff\x2f", "\xff\x30", "\xff\x31", "\xff\x32", "\xff\x33", "\xff\x34", + "\xff\x35", "\xff\x36", "\xff\x37", "\xff\x38", "\xff\x39", "\xff\x3a", + "\xff\x3b", "\x00\x00", "\xff\x3d", "\xff\x3e", "\xff\x3f", "\xff\x40", + "\xff\x41", "\xff\x42", "\xff\x43", "\xff\x44", "\xff\x45", "\xff\x46", + "\xff\x47", "\xff\x48", "\xff\x49", "\xff\x4a", "\xff\x4b", "\xff\x4c", + "\xff\x4d", "\xff\x4e", "\xff\x4f", "\xff\x50", "\xff\x51", "\xff\x52", + "\xff\x53", "\xff\x54", "\xff\x55", "\xff\x56", "\xff\x57", "\xff\x58", + "\xff\x59", "\xff\x5a", "\xff\x5b", "\xff\x5c", "\xff\x5d", "\xff\xe3", + "\x00\x00", "\xff\xe5" +}; diff --git a/iconvdata/jis0208.h b/iconvdata/jis0208.h new file mode 100644 index 0000000000..7a4d8cd63f --- /dev/null +++ b/iconvdata/jis0208.h @@ -0,0 +1,104 @@ +/* Access functions for JISX0208 conversion. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _JIS0208_H +#define _JIS0208_H 1 + +#include <gconv.h> +#include <inttypes.h> + +/* Conversion table. */ +extern const uint16_t jis0208_to_ucs[]; + +extern const char jisx0208_from_ucs4_lat1[256][2]; +extern const char jisx0208_from_ucs4_greek[0xc1][2]; +extern const struct jisx0208_ucs_idx jisx0208_from_ucs_idx[]; +extern const char jisx0208_from_ucs_tab[][2]; + + +/* Struct for table with indeces in UCS mapping table. */ +struct jisx0208_ucs_idx +{ + uint16_t start; + uint16_t end; + uint16_t idx; +}; + + +static inline wchar_t +jisx0208_to_ucs4 (char **s, size_t avail) +{ + unsigned char ch = *(*s); + unsigned char ch2; + int idx; + + if (ch <= 0x20 || ch > 0xea) + return UNKNOWN_10646_CHAR; + + if (avail < 2) + return 0; + + ch2 = (*s)[1]; + if (ch2 <= 0x20 || ch2 >= 0x7f) + return UNKNOWN_10646_CHAR; + + idx = (ch - 0x21) * 94 + (ch2 - 0x21); + if (idx >= 0x1e80) + return UNKNOWN_10646_CHAR; + + (*s) += 2; + + return jis0208_to_ucs[idx] ?: ((*s) -= 2, UNKNOWN_10646_CHAR); +} + + +static inline size_t +ucs4_to_jisx0208 (wchar_t wch, char **s, size_t avail) +{ + unsigned int ch = (unsigned int) wch; + const char *cp = NULL; + + if (avail < 2) + return 0; + + if (ch < 0x100) + cp = jisx0208_from_ucs4_lat1[ch]; + else if (ch >= 0x391 && ch <= 0x451) + cp = jisx0208_from_ucs4_greek[ch]; + else + { + const struct jisx0208_ucs_idx *rp = jisx0208_from_ucs_idx; + + while (ch > rp->end) + ++rp; + if (ch >= rp->start) + cp = jisx0208_from_ucs_tab[rp->idx + ch - rp->start]; + } + + if (cp == NULL || cp[0] == '\0') + return UNKNOWN_10646_CHAR; + + *(*s)++ = cp[0]; + *(*s)++ = cp[1]; + + return 2; +} + +#endif /* jis0208.h */ diff --git a/iconvdata/jis0212.c b/iconvdata/jis0212.c new file mode 100644 index 0000000000..e9e1313553 --- /dev/null +++ b/iconvdata/jis0212.c @@ -0,0 +1,3941 @@ +/* Mapping tables for JIS0212 handling. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <inttypes.h> +#include <wchar.h> + +#include <jis0212.h> + +/* The defined JIS 0201 positions contains large gaps. It's better to + avoid using one large table with such big gaps. Instead we match each + char in a table resulting in an index to a table with the UCS. The + following command can be used to generate the table: + + egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \ + .../eastasia/jis/jis0212.txt | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $first=$last=$idx=0; + while (<>) { + local($jis,$ucs,%rest) = split; + local($u)=hex($ucs); + local($j)=hex($jis); + local($k) = int(($j - 0x2121) / 256) * 94 + (($j - 0x2121) % 256); + if ($k - $last > 6) { + if ($last != 0) { + printf (" { start: %#06x, end: %#06x, idx: %5d },\n", + $first, $last, $idx); + $idx += $last - $first + 1; + } + $first=$k; + } + $last=$k; + } + printf (" { start: %#06x, end: %#06x, idx: %5d }\n", + $first, $last, $idx); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const struct jisx0212_idx jisx0212_to_ucs_idx[] = +{ + { start: 0x006c, end: 0x0076, idx: 0 }, + { start: 0x007f, end: 0x0081, idx: 11 }, + { start: 0x00a8, end: 0x00ae, idx: 14 }, + { start: 0x0216, end: 0x0231, idx: 21 }, + { start: 0x0255, end: 0x0261, idx: 49 }, + { start: 0x0285, end: 0x0291, idx: 62 }, + { start: 0x02f0, end: 0x02ff, idx: 75 }, + { start: 0x0310, end: 0x031f, idx: 91 }, + { start: 0x034e, end: 0x03a4, idx: 107 }, + { start: 0x03ac, end: 0x0402, idx: 194 }, + { start: 0x0582, end: 0x1c2a, idx: 281 }, + { start: 0 }, +}; + + +/* The table which the UCS values indexed by the table above can be + generated using the following code: + + egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \ + .../eastasia/jis/jis0212.txt | perl tab.pl + + where tab.pl is: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $first=$last=$idx=0; + + sub fmt { + printf ("\n ") if (($n % 8) == 0); + ++$n; + my($val) = pop(@_); + printf (" %#06x,", $val); + } + + while (<>) { + local($jis,$ucs,%rest) = split; + local($u)=hex($ucs); + local($j)=hex($jis); + local($k) = int(($j - 0x2121) / 256) * 94 + (($j - 0x2121) % 256); + if ($k - $last > 6) { + if ($last != 0) { + $idx += $last - $first + 1; + } + $first=$k; + } else { + for ($m = $last + 1; $m < $k; ++$m) { + fmt (0); + } + } + fmt ($u); + $last=$k; + } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const uint16_t jisx0212_to_ucs[] = +{ + 0x02d8, 0x02c7, 0x00b8, 0x02d9, 0x02dd, 0x00af, 0x02db, 0x02da, + 0x007e, 0x0384, 0x0385, 0x00a1, 0x00a6, 0x00bf, 0x00ba, 0x00aa, + 0x00a9, 0x00ae, 0x2122, 0x00a4, 0x2116, 0x0386, 0x0388, 0x0389, + 0x038a, 0x03aa, 000000, 0x038c, 000000, 0x038e, 0x03ab, 000000, + 0x038f, 000000, 000000, 000000, 000000, 0x03ac, 0x03ad, 0x03ae, + 0x03af, 0x03ca, 0x0390, 0x03cc, 0x03c2, 0x03cd, 0x03cb, 0x03b0, + 0x03ce, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, + 0x0409, 0x040a, 0x040b, 0x040c, 0x040e, 0x040f, 0x0452, 0x0453, + 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045a, 0x045b, + 0x045c, 0x045e, 0x045f, 0x00c6, 0x0110, 000000, 0x0126, 000000, + 0x0132, 000000, 0x0141, 0x013f, 000000, 0x014a, 0x00d8, 0x0152, + 000000, 0x0166, 0x00de, 0x00e6, 0x0111, 0x00f0, 0x0127, 0x0131, + 0x0133, 0x0138, 0x0142, 0x0140, 0x0149, 0x014b, 0x00f8, 0x0153, + 0x00df, 0x0167, 0x00fe, 0x00c1, 0x00c0, 0x00c4, 0x00c2, 0x0102, + 0x01cd, 0x0100, 0x0104, 0x00c5, 0x00c3, 0x0106, 0x0108, 0x010c, + 0x00c7, 0x010a, 0x010e, 0x00c9, 0x00c8, 0x00cb, 0x00ca, 0x011a, + 0x0116, 0x0112, 0x0118, 000000, 0x011c, 0x011e, 0x0122, 0x0120, + 0x0124, 0x00cd, 0x00cc, 0x00cf, 0x00ce, 0x01cf, 0x0130, 0x012a, + 0x012e, 0x0128, 0x0134, 0x0136, 0x0139, 0x013d, 0x013b, 0x0143, + 0x0147, 0x0145, 0x00d1, 0x00d3, 0x00d2, 0x00d6, 0x00d4, 0x01d1, + 0x0150, 0x014c, 0x00d5, 0x0154, 0x0158, 0x0156, 0x015a, 0x015c, + 0x0160, 0x015e, 0x0164, 0x0162, 0x00da, 0x00d9, 0x00dc, 0x00db, + 0x016c, 0x01d3, 0x0170, 0x016a, 0x0172, 0x016e, 0x0168, 0x01d7, + 0x01db, 0x01d9, 0x01d5, 0x0174, 0x00dd, 0x0178, 0x0176, 0x0179, + 0x017d, 0x017b, 0x00e1, 0x00e0, 0x00e4, 0x00e2, 0x0103, 0x01ce, + 0x0101, 0x0105, 0x00e5, 0x00e3, 0x0107, 0x0109, 0x010d, 0x00e7, + 0x010b, 0x010f, 0x00e9, 0x00e8, 0x00eb, 0x00ea, 0x011b, 0x0117, + 0x0113, 0x0119, 0x01f5, 0x011d, 0x011f, 000000, 0x0121, 0x0125, + 0x00ed, 0x00ec, 0x00ef, 0x00ee, 0x01d0, 000000, 0x012b, 0x012f, + 0x0129, 0x0135, 0x0137, 0x013a, 0x013e, 0x013c, 0x0144, 0x0148, + 0x0146, 0x00f1, 0x00f3, 0x00f2, 0x00f6, 0x00f4, 0x01d2, 0x0151, + 0x014d, 0x00f5, 0x0155, 0x0159, 0x0157, 0x015b, 0x015d, 0x0161, + 0x015f, 0x0165, 0x0163, 0x00fa, 0x00f9, 0x00fc, 0x00fb, 0x016d, + 0x01d4, 0x0171, 0x016b, 0x0173, 0x016f, 0x0169, 0x01d8, 0x01dc, + 0x01da, 0x01d6, 0x0175, 0x00fd, 0x00ff, 0x0177, 0x017a, 0x017e, + 0x017c, 0x4e02, 0x4e04, 0x4e05, 0x4e0c, 0x4e12, 0x4e1f, 0x4e23, + 0x4e24, 0x4e28, 0x4e2b, 0x4e2e, 0x4e2f, 0x4e30, 0x4e35, 0x4e40, + 0x4e41, 0x4e44, 0x4e47, 0x4e51, 0x4e5a, 0x4e5c, 0x4e63, 0x4e68, + 0x4e69, 0x4e74, 0x4e75, 0x4e79, 0x4e7f, 0x4e8d, 0x4e96, 0x4e97, + 0x4e9d, 0x4eaf, 0x4eb9, 0x4ec3, 0x4ed0, 0x4eda, 0x4edb, 0x4ee0, + 0x4ee1, 0x4ee2, 0x4ee8, 0x4eef, 0x4ef1, 0x4ef3, 0x4ef5, 0x4efd, + 0x4efe, 0x4eff, 0x4f00, 0x4f02, 0x4f03, 0x4f08, 0x4f0b, 0x4f0c, + 0x4f12, 0x4f15, 0x4f16, 0x4f17, 0x4f19, 0x4f2e, 0x4f31, 0x4f60, + 0x4f33, 0x4f35, 0x4f37, 0x4f39, 0x4f3b, 0x4f3e, 0x4f40, 0x4f42, + 0x4f48, 0x4f49, 0x4f4b, 0x4f4c, 0x4f52, 0x4f54, 0x4f56, 0x4f58, + 0x4f5f, 0x4f63, 0x4f6a, 0x4f6c, 0x4f6e, 0x4f71, 0x4f77, 0x4f78, + 0x4f79, 0x4f7a, 0x4f7d, 0x4f7e, 0x4f81, 0x4f82, 0x4f84, 0x4f85, + 0x4f89, 0x4f8a, 0x4f8c, 0x4f8e, 0x4f90, 0x4f92, 0x4f93, 0x4f94, + 0x4f97, 0x4f99, 0x4f9a, 0x4f9e, 0x4f9f, 0x4fb2, 0x4fb7, 0x4fb9, + 0x4fbb, 0x4fbc, 0x4fbd, 0x4fbe, 0x4fc0, 0x4fc1, 0x4fc5, 0x4fc6, + 0x4fc8, 0x4fc9, 0x4fcb, 0x4fcc, 0x4fcd, 0x4fcf, 0x4fd2, 0x4fdc, + 0x4fe0, 0x4fe2, 0x4ff0, 0x4ff2, 0x4ffc, 0x4ffd, 0x4fff, 0x5000, + 0x5001, 0x5004, 0x5007, 0x500a, 0x500c, 0x500e, 0x5010, 0x5013, + 0x5017, 0x5018, 0x501b, 0x501c, 0x501d, 0x501e, 0x5022, 0x5027, + 0x502e, 0x5030, 0x5032, 0x5033, 0x5035, 0x5040, 0x5041, 0x5042, + 0x5045, 0x5046, 0x504a, 0x504c, 0x504e, 0x5051, 0x5052, 0x5053, + 0x5057, 0x5059, 0x505f, 0x5060, 0x5062, 0x5063, 0x5066, 0x5067, + 0x506a, 0x506d, 0x5070, 0x5071, 0x503b, 0x5081, 0x5083, 0x5084, + 0x5086, 0x508a, 0x508e, 0x508f, 0x5090, 0x5092, 0x5093, 0x5094, + 0x5096, 0x509b, 0x509c, 0x509e, 0x509f, 0x50a0, 0x50a1, 0x50a2, + 0x50aa, 0x50af, 0x50b0, 0x50b9, 0x50ba, 0x50bd, 0x50c0, 0x50c3, + 0x50c4, 0x50c7, 0x50cc, 0x50ce, 0x50d0, 0x50d3, 0x50d4, 0x50d8, + 0x50dc, 0x50dd, 0x50df, 0x50e2, 0x50e4, 0x50e6, 0x50e8, 0x50e9, + 0x50ef, 0x50f1, 0x50f6, 0x50fa, 0x50fe, 0x5103, 0x5106, 0x5107, + 0x5108, 0x510b, 0x510c, 0x510d, 0x510e, 0x50f2, 0x5110, 0x5117, + 0x5119, 0x511b, 0x511c, 0x511d, 0x511e, 0x5123, 0x5127, 0x5128, + 0x512c, 0x512d, 0x512f, 0x5131, 0x5133, 0x5134, 0x5135, 0x5138, + 0x5139, 0x5142, 0x514a, 0x514f, 0x5153, 0x5155, 0x5157, 0x5158, + 0x515f, 0x5164, 0x5166, 0x517e, 0x5183, 0x5184, 0x518b, 0x518e, + 0x5198, 0x519d, 0x51a1, 0x51a3, 0x51ad, 0x51b8, 0x51ba, 0x51bc, + 0x51be, 0x51bf, 0x51c2, 0x51c8, 0x51cf, 0x51d1, 0x51d2, 0x51d3, + 0x51d5, 0x51d8, 0x51de, 0x51e2, 0x51e5, 0x51ee, 0x51f2, 0x51f3, + 0x51f4, 0x51f7, 0x5201, 0x5202, 0x5205, 0x5212, 0x5213, 0x5215, + 0x5216, 0x5218, 0x5222, 0x5228, 0x5231, 0x5232, 0x5235, 0x523c, + 0x5245, 0x5249, 0x5255, 0x5257, 0x5258, 0x525a, 0x525c, 0x525f, + 0x5260, 0x5261, 0x5266, 0x526e, 0x5277, 0x5278, 0x5279, 0x5280, + 0x5282, 0x5285, 0x528a, 0x528c, 0x5293, 0x5295, 0x5296, 0x5297, + 0x5298, 0x529a, 0x529c, 0x52a4, 0x52a5, 0x52a6, 0x52a7, 0x52af, + 0x52b0, 0x52b6, 0x52b7, 0x52b8, 0x52ba, 0x52bb, 0x52bd, 0x52c0, + 0x52c4, 0x52c6, 0x52c8, 0x52cc, 0x52cf, 0x52d1, 0x52d4, 0x52d6, + 0x52db, 0x52dc, 0x52e1, 0x52e5, 0x52e8, 0x52e9, 0x52ea, 0x52ec, + 0x52f0, 0x52f1, 0x52f4, 0x52f6, 0x52f7, 0x5300, 0x5303, 0x530a, + 0x530b, 0x530c, 0x5311, 0x5313, 0x5318, 0x531b, 0x531c, 0x531e, + 0x531f, 0x5325, 0x5327, 0x5328, 0x5329, 0x532b, 0x532c, 0x532d, + 0x5330, 0x5332, 0x5335, 0x533c, 0x533d, 0x533e, 0x5342, 0x534c, + 0x534b, 0x5359, 0x535b, 0x5361, 0x5363, 0x5365, 0x536c, 0x536d, + 0x5372, 0x5379, 0x537e, 0x5383, 0x5387, 0x5388, 0x538e, 0x5393, + 0x5394, 0x5399, 0x539d, 0x53a1, 0x53a4, 0x53aa, 0x53ab, 0x53af, + 0x53b2, 0x53b4, 0x53b5, 0x53b7, 0x53b8, 0x53ba, 0x53bd, 0x53c0, + 0x53c5, 0x53cf, 0x53d2, 0x53d3, 0x53d5, 0x53da, 0x53dd, 0x53de, + 0x53e0, 0x53e6, 0x53e7, 0x53f5, 0x5402, 0x5413, 0x541a, 0x5421, + 0x5427, 0x5428, 0x542a, 0x542f, 0x5431, 0x5434, 0x5435, 0x5443, + 0x5444, 0x5447, 0x544d, 0x544f, 0x545e, 0x5462, 0x5464, 0x5466, + 0x5467, 0x5469, 0x546b, 0x546d, 0x546e, 0x5474, 0x547f, 0x5481, + 0x5483, 0x5485, 0x5488, 0x5489, 0x548d, 0x5491, 0x5495, 0x5496, + 0x549c, 0x549f, 0x54a1, 0x54a6, 0x54a7, 0x54a9, 0x54aa, 0x54ad, + 0x54ae, 0x54b1, 0x54b7, 0x54b9, 0x54ba, 0x54bb, 0x54bf, 0x54c6, + 0x54ca, 0x54cd, 0x54ce, 0x54e0, 0x54ea, 0x54ec, 0x54ef, 0x54f6, + 0x54fc, 0x54fe, 0x54ff, 0x5500, 0x5501, 0x5505, 0x5508, 0x5509, + 0x550c, 0x550d, 0x550e, 0x5515, 0x552a, 0x552b, 0x5532, 0x5535, + 0x5536, 0x553b, 0x553c, 0x553d, 0x5541, 0x5547, 0x5549, 0x554a, + 0x554d, 0x5550, 0x5551, 0x5558, 0x555a, 0x555b, 0x555e, 0x5560, + 0x5561, 0x5564, 0x5566, 0x557f, 0x5581, 0x5582, 0x5586, 0x5588, + 0x558e, 0x558f, 0x5591, 0x5592, 0x5593, 0x5594, 0x5597, 0x55a3, + 0x55a4, 0x55ad, 0x55b2, 0x55bf, 0x55c1, 0x55c3, 0x55c6, 0x55c9, + 0x55cb, 0x55cc, 0x55ce, 0x55d1, 0x55d2, 0x55d3, 0x55d7, 0x55d8, + 0x55db, 0x55de, 0x55e2, 0x55e9, 0x55f6, 0x55ff, 0x5605, 0x5608, + 0x560a, 0x560d, 0x560e, 0x560f, 0x5610, 0x5611, 0x5612, 0x5619, + 0x562c, 0x5630, 0x5633, 0x5635, 0x5637, 0x5639, 0x563b, 0x563c, + 0x563d, 0x563f, 0x5640, 0x5641, 0x5643, 0x5644, 0x5646, 0x5649, + 0x564b, 0x564d, 0x564f, 0x5654, 0x565e, 0x5660, 0x5661, 0x5662, + 0x5663, 0x5666, 0x5669, 0x566d, 0x566f, 0x5671, 0x5672, 0x5675, + 0x5684, 0x5685, 0x5688, 0x568b, 0x568c, 0x5695, 0x5699, 0x569a, + 0x569d, 0x569e, 0x569f, 0x56a6, 0x56a7, 0x56a8, 0x56a9, 0x56ab, + 0x56ac, 0x56ad, 0x56b1, 0x56b3, 0x56b7, 0x56be, 0x56c5, 0x56c9, + 0x56ca, 0x56cb, 0x56cf, 0x56d0, 0x56cc, 0x56cd, 0x56d9, 0x56dc, + 0x56dd, 0x56df, 0x56e1, 0x56e4, 0x56e5, 0x56e6, 0x56e7, 0x56e8, + 0x56f1, 0x56eb, 0x56ed, 0x56f6, 0x56f7, 0x5701, 0x5702, 0x5707, + 0x570a, 0x570c, 0x5711, 0x5715, 0x571a, 0x571b, 0x571d, 0x5720, + 0x5722, 0x5723, 0x5724, 0x5725, 0x5729, 0x572a, 0x572c, 0x572e, + 0x572f, 0x5733, 0x5734, 0x573d, 0x573e, 0x573f, 0x5745, 0x5746, + 0x574c, 0x574d, 0x5752, 0x5762, 0x5765, 0x5767, 0x5768, 0x576b, + 0x576d, 0x576e, 0x576f, 0x5770, 0x5771, 0x5773, 0x5774, 0x5775, + 0x5777, 0x5779, 0x577a, 0x577b, 0x577c, 0x577e, 0x5781, 0x5783, + 0x578c, 0x5794, 0x5797, 0x5799, 0x579a, 0x579c, 0x579d, 0x579e, + 0x579f, 0x57a1, 0x5795, 0x57a7, 0x57a8, 0x57a9, 0x57ac, 0x57b8, + 0x57bd, 0x57c7, 0x57c8, 0x57cc, 0x57cf, 0x57d5, 0x57dd, 0x57de, + 0x57e4, 0x57e6, 0x57e7, 0x57e9, 0x57ed, 0x57f0, 0x57f5, 0x57f6, + 0x57f8, 0x57fd, 0x57fe, 0x57ff, 0x5803, 0x5804, 0x5808, 0x5809, + 0x57e1, 0x580c, 0x580d, 0x581b, 0x581e, 0x581f, 0x5820, 0x5826, + 0x5827, 0x582d, 0x5832, 0x5839, 0x583f, 0x5849, 0x584c, 0x584d, + 0x584f, 0x5850, 0x5855, 0x585f, 0x5861, 0x5864, 0x5867, 0x5868, + 0x5878, 0x587c, 0x587f, 0x5880, 0x5881, 0x5887, 0x5888, 0x5889, + 0x588a, 0x588c, 0x588d, 0x588f, 0x5890, 0x5894, 0x5896, 0x589d, + 0x58a0, 0x58a1, 0x58a2, 0x58a6, 0x58a9, 0x58b1, 0x58b2, 0x58c4, + 0x58bc, 0x58c2, 0x58c8, 0x58cd, 0x58ce, 0x58d0, 0x58d2, 0x58d4, + 0x58d6, 0x58da, 0x58dd, 0x58e1, 0x58e2, 0x58e9, 0x58f3, 0x5905, + 0x5906, 0x590b, 0x590c, 0x5912, 0x5913, 0x5914, 0x8641, 0x591d, + 0x5921, 0x5923, 0x5924, 0x5928, 0x592f, 0x5930, 0x5933, 0x5935, + 0x5936, 0x593f, 0x5943, 0x5946, 0x5952, 0x5953, 0x5959, 0x595b, + 0x595d, 0x595e, 0x595f, 0x5961, 0x5963, 0x596b, 0x596d, 0x596f, + 0x5972, 0x5975, 0x5976, 0x5979, 0x597b, 0x597c, 0x598b, 0x598c, + 0x598e, 0x5992, 0x5995, 0x5997, 0x599f, 0x59a4, 0x59a7, 0x59ad, + 0x59ae, 0x59af, 0x59b0, 0x59b3, 0x59b7, 0x59ba, 0x59bc, 0x59c1, + 0x59c3, 0x59c4, 0x59c8, 0x59ca, 0x59cd, 0x59d2, 0x59dd, 0x59de, + 0x59df, 0x59e3, 0x59e4, 0x59e7, 0x59ee, 0x59ef, 0x59f1, 0x59f2, + 0x59f4, 0x59f7, 0x5a00, 0x5a04, 0x5a0c, 0x5a0d, 0x5a0e, 0x5a12, + 0x5a13, 0x5a1e, 0x5a23, 0x5a24, 0x5a27, 0x5a28, 0x5a2a, 0x5a2d, + 0x5a30, 0x5a44, 0x5a45, 0x5a47, 0x5a48, 0x5a4c, 0x5a50, 0x5a55, + 0x5a5e, 0x5a63, 0x5a65, 0x5a67, 0x5a6d, 0x5a77, 0x5a7a, 0x5a7b, + 0x5a7e, 0x5a8b, 0x5a90, 0x5a93, 0x5a96, 0x5a99, 0x5a9c, 0x5a9e, + 0x5a9f, 0x5aa0, 0x5aa2, 0x5aa7, 0x5aac, 0x5ab1, 0x5ab2, 0x5ab3, + 0x5ab5, 0x5ab8, 0x5aba, 0x5abb, 0x5abf, 0x5ac4, 0x5ac6, 0x5ac8, + 0x5acf, 0x5ada, 0x5adc, 0x5ae0, 0x5ae5, 0x5aea, 0x5aee, 0x5af5, + 0x5af6, 0x5afd, 0x5b00, 0x5b01, 0x5b08, 0x5b17, 0x5b34, 0x5b19, + 0x5b1b, 0x5b1d, 0x5b21, 0x5b25, 0x5b2d, 0x5b38, 0x5b41, 0x5b4b, + 0x5b4c, 0x5b52, 0x5b56, 0x5b5e, 0x5b68, 0x5b6e, 0x5b6f, 0x5b7c, + 0x5b7d, 0x5b7e, 0x5b7f, 0x5b81, 0x5b84, 0x5b86, 0x5b8a, 0x5b8e, + 0x5b90, 0x5b91, 0x5b93, 0x5b94, 0x5b96, 0x5ba8, 0x5ba9, 0x5bac, + 0x5bad, 0x5baf, 0x5bb1, 0x5bb2, 0x5bb7, 0x5bba, 0x5bbc, 0x5bc0, + 0x5bc1, 0x5bcd, 0x5bcf, 0x5bd6, 0x5bd7, 0x5bd8, 0x5bd9, 0x5bda, + 0x5be0, 0x5bef, 0x5bf1, 0x5bf4, 0x5bfd, 0x5c0c, 0x5c17, 0x5c1e, + 0x5c1f, 0x5c23, 0x5c26, 0x5c29, 0x5c2b, 0x5c2c, 0x5c2e, 0x5c30, + 0x5c32, 0x5c35, 0x5c36, 0x5c59, 0x5c5a, 0x5c5c, 0x5c62, 0x5c63, + 0x5c67, 0x5c68, 0x5c69, 0x5c6d, 0x5c70, 0x5c74, 0x5c75, 0x5c7a, + 0x5c7b, 0x5c7c, 0x5c7d, 0x5c87, 0x5c88, 0x5c8a, 0x5c8f, 0x5c92, + 0x5c9d, 0x5c9f, 0x5ca0, 0x5ca2, 0x5ca3, 0x5ca6, 0x5caa, 0x5cb2, + 0x5cb4, 0x5cb5, 0x5cba, 0x5cc9, 0x5ccb, 0x5cd2, 0x5cdd, 0x5cd7, + 0x5cee, 0x5cf1, 0x5cf2, 0x5cf4, 0x5d01, 0x5d06, 0x5d0d, 0x5d12, + 0x5d2b, 0x5d23, 0x5d24, 0x5d26, 0x5d27, 0x5d31, 0x5d34, 0x5d39, + 0x5d3d, 0x5d3f, 0x5d42, 0x5d43, 0x5d46, 0x5d48, 0x5d55, 0x5d51, + 0x5d59, 0x5d4a, 0x5d5f, 0x5d60, 0x5d61, 0x5d62, 0x5d64, 0x5d6a, + 0x5d6d, 0x5d70, 0x5d79, 0x5d7a, 0x5d7e, 0x5d7f, 0x5d81, 0x5d83, + 0x5d88, 0x5d8a, 0x5d92, 0x5d93, 0x5d94, 0x5d95, 0x5d99, 0x5d9b, + 0x5d9f, 0x5da0, 0x5da7, 0x5dab, 0x5db0, 0x5db4, 0x5db8, 0x5db9, + 0x5dc3, 0x5dc7, 0x5dcb, 0x5dd0, 0x5dce, 0x5dd8, 0x5dd9, 0x5de0, + 0x5de4, 0x5de9, 0x5df8, 0x5df9, 0x5e00, 0x5e07, 0x5e0d, 0x5e12, + 0x5e14, 0x5e15, 0x5e18, 0x5e1f, 0x5e20, 0x5e2e, 0x5e28, 0x5e32, + 0x5e35, 0x5e3e, 0x5e4b, 0x5e50, 0x5e49, 0x5e51, 0x5e56, 0x5e58, + 0x5e5b, 0x5e5c, 0x5e5e, 0x5e68, 0x5e6a, 0x5e6b, 0x5e6c, 0x5e6d, + 0x5e6e, 0x5e70, 0x5e80, 0x5e8b, 0x5e8e, 0x5ea2, 0x5ea4, 0x5ea5, + 0x5ea8, 0x5eaa, 0x5eac, 0x5eb1, 0x5eb3, 0x5ebd, 0x5ebe, 0x5ebf, + 0x5ec6, 0x5ecc, 0x5ecb, 0x5ece, 0x5ed1, 0x5ed2, 0x5ed4, 0x5ed5, + 0x5edc, 0x5ede, 0x5ee5, 0x5eeb, 0x5f02, 0x5f06, 0x5f07, 0x5f08, + 0x5f0e, 0x5f19, 0x5f1c, 0x5f1d, 0x5f21, 0x5f22, 0x5f23, 0x5f24, + 0x5f28, 0x5f2b, 0x5f2c, 0x5f2e, 0x5f30, 0x5f34, 0x5f36, 0x5f3b, + 0x5f3d, 0x5f3f, 0x5f40, 0x5f44, 0x5f45, 0x5f47, 0x5f4d, 0x5f50, + 0x5f54, 0x5f58, 0x5f5b, 0x5f60, 0x5f63, 0x5f64, 0x5f67, 0x5f6f, + 0x5f72, 0x5f74, 0x5f75, 0x5f78, 0x5f7a, 0x5f7d, 0x5f7e, 0x5f89, + 0x5f8d, 0x5f8f, 0x5f96, 0x5f9c, 0x5f9d, 0x5fa2, 0x5fa7, 0x5fab, + 0x5fa4, 0x5fac, 0x5faf, 0x5fb0, 0x5fb1, 0x5fb8, 0x5fc4, 0x5fc7, + 0x5fc8, 0x5fc9, 0x5fcb, 0x5fd0, 0x5fd1, 0x5fd2, 0x5fd3, 0x5fd4, + 0x5fde, 0x5fe1, 0x5fe2, 0x5fe8, 0x5fe9, 0x5fea, 0x5fec, 0x5fed, + 0x5fee, 0x5fef, 0x5ff2, 0x5ff3, 0x5ff6, 0x5ffa, 0x5ffc, 0x6007, + 0x600a, 0x600d, 0x6013, 0x6014, 0x6017, 0x6018, 0x601a, 0x601f, + 0x6024, 0x602d, 0x6033, 0x6035, 0x6040, 0x6047, 0x6048, 0x6049, + 0x604c, 0x6051, 0x6054, 0x6056, 0x6057, 0x605d, 0x6061, 0x6067, + 0x6071, 0x607e, 0x607f, 0x6082, 0x6086, 0x6088, 0x608a, 0x608e, + 0x6091, 0x6093, 0x6095, 0x6098, 0x609d, 0x609e, 0x60a2, 0x60a4, + 0x60a5, 0x60a8, 0x60b0, 0x60b1, 0x60b7, 0x60bb, 0x60be, 0x60c2, + 0x60c4, 0x60c8, 0x60c9, 0x60ca, 0x60cb, 0x60ce, 0x60cf, 0x60d4, + 0x60d5, 0x60d9, 0x60db, 0x60dd, 0x60de, 0x60e2, 0x60e5, 0x60f2, + 0x60f5, 0x60f8, 0x60fc, 0x60fd, 0x6102, 0x6107, 0x610a, 0x610c, + 0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116, 0x6117, 0x6119, + 0x611c, 0x611e, 0x6122, 0x612a, 0x612b, 0x6130, 0x6131, 0x6135, + 0x6136, 0x6137, 0x6139, 0x6141, 0x6145, 0x6146, 0x6149, 0x615e, + 0x6160, 0x616c, 0x6172, 0x6178, 0x617b, 0x617c, 0x617f, 0x6180, + 0x6181, 0x6183, 0x6184, 0x618b, 0x618d, 0x6192, 0x6193, 0x6197, + 0x6198, 0x619c, 0x619d, 0x619f, 0x61a0, 0x61a5, 0x61a8, 0x61aa, + 0x61ad, 0x61b8, 0x61b9, 0x61bc, 0x61c0, 0x61c1, 0x61c2, 0x61ce, + 0x61cf, 0x61d5, 0x61dc, 0x61dd, 0x61de, 0x61df, 0x61e1, 0x61e2, + 0x61e7, 0x61e9, 0x61e5, 0x61ec, 0x61ed, 0x61ef, 0x6201, 0x6203, + 0x6204, 0x6207, 0x6213, 0x6215, 0x621c, 0x6220, 0x6222, 0x6223, + 0x6227, 0x6229, 0x622b, 0x6239, 0x623d, 0x6242, 0x6243, 0x6244, + 0x6246, 0x624c, 0x6250, 0x6251, 0x6252, 0x6254, 0x6256, 0x625a, + 0x625c, 0x6264, 0x626d, 0x626f, 0x6273, 0x627a, 0x627d, 0x628d, + 0x628e, 0x628f, 0x6290, 0x62a6, 0x62a8, 0x62b3, 0x62b6, 0x62b7, + 0x62ba, 0x62be, 0x62bf, 0x62c4, 0x62ce, 0x62d5, 0x62d6, 0x62da, + 0x62ea, 0x62f2, 0x62f4, 0x62fc, 0x62fd, 0x6303, 0x6304, 0x630a, + 0x630b, 0x630d, 0x6310, 0x6313, 0x6316, 0x6318, 0x6329, 0x632a, + 0x632d, 0x6335, 0x6336, 0x6339, 0x633c, 0x6341, 0x6342, 0x6343, + 0x6344, 0x6346, 0x634a, 0x634b, 0x634e, 0x6352, 0x6353, 0x6354, + 0x6358, 0x635b, 0x6365, 0x6366, 0x636c, 0x636d, 0x6371, 0x6374, + 0x6375, 0x6378, 0x637c, 0x637d, 0x637f, 0x6382, 0x6384, 0x6387, + 0x638a, 0x6390, 0x6394, 0x6395, 0x6399, 0x639a, 0x639e, 0x63a4, + 0x63a6, 0x63ad, 0x63ae, 0x63af, 0x63bd, 0x63c1, 0x63c5, 0x63c8, + 0x63ce, 0x63d1, 0x63d3, 0x63d4, 0x63d5, 0x63dc, 0x63e0, 0x63e5, + 0x63ea, 0x63ec, 0x63f2, 0x63f3, 0x63f5, 0x63f8, 0x63f9, 0x6409, + 0x640a, 0x6410, 0x6412, 0x6414, 0x6418, 0x641e, 0x6420, 0x6422, + 0x6424, 0x6425, 0x6429, 0x642a, 0x642f, 0x6430, 0x6435, 0x643d, + 0x643f, 0x644b, 0x644f, 0x6451, 0x6452, 0x6453, 0x6454, 0x645a, + 0x645b, 0x645c, 0x645d, 0x645f, 0x6460, 0x6461, 0x6463, 0x646d, + 0x6473, 0x6474, 0x647b, 0x647d, 0x6485, 0x6487, 0x648f, 0x6490, + 0x6491, 0x6498, 0x6499, 0x649b, 0x649d, 0x649f, 0x64a1, 0x64a3, + 0x64a6, 0x64a8, 0x64ac, 0x64b3, 0x64bd, 0x64be, 0x64bf, 0x64c4, + 0x64c9, 0x64ca, 0x64cb, 0x64cc, 0x64ce, 0x64d0, 0x64d1, 0x64d5, + 0x64d7, 0x64e4, 0x64e5, 0x64e9, 0x64ea, 0x64ed, 0x64f0, 0x64f5, + 0x64f7, 0x64fb, 0x64ff, 0x6501, 0x6504, 0x6508, 0x6509, 0x650a, + 0x650f, 0x6513, 0x6514, 0x6516, 0x6519, 0x651b, 0x651e, 0x651f, + 0x6522, 0x6526, 0x6529, 0x652e, 0x6531, 0x653a, 0x653c, 0x653d, + 0x6543, 0x6547, 0x6549, 0x6550, 0x6552, 0x6554, 0x655f, 0x6560, + 0x6567, 0x656b, 0x657a, 0x657d, 0x6581, 0x6585, 0x658a, 0x6592, + 0x6595, 0x6598, 0x659d, 0x65a0, 0x65a3, 0x65a6, 0x65ae, 0x65b2, + 0x65b3, 0x65b4, 0x65bf, 0x65c2, 0x65c8, 0x65c9, 0x65ce, 0x65d0, + 0x65d4, 0x65d6, 0x65d8, 0x65df, 0x65f0, 0x65f2, 0x65f4, 0x65f5, + 0x65f9, 0x65fe, 0x65ff, 0x6600, 0x6604, 0x6608, 0x6609, 0x660d, + 0x6611, 0x6612, 0x6615, 0x6616, 0x661d, 0x661e, 0x6621, 0x6622, + 0x6623, 0x6624, 0x6626, 0x6629, 0x662a, 0x662b, 0x662c, 0x662e, + 0x6630, 0x6631, 0x6633, 0x6639, 0x6637, 0x6640, 0x6645, 0x6646, + 0x664a, 0x664c, 0x6651, 0x664e, 0x6657, 0x6658, 0x6659, 0x665b, + 0x665c, 0x6660, 0x6661, 0x66fb, 0x666a, 0x666b, 0x666c, 0x667e, + 0x6673, 0x6675, 0x667f, 0x6677, 0x6678, 0x6679, 0x667b, 0x6680, + 0x667c, 0x668b, 0x668c, 0x668d, 0x6690, 0x6692, 0x6699, 0x669a, + 0x669b, 0x669c, 0x669f, 0x66a0, 0x66a4, 0x66ad, 0x66b1, 0x66b2, + 0x66b5, 0x66bb, 0x66bf, 0x66c0, 0x66c2, 0x66c3, 0x66c8, 0x66cc, + 0x66ce, 0x66cf, 0x66d4, 0x66db, 0x66df, 0x66e8, 0x66eb, 0x66ec, + 0x66ee, 0x66fa, 0x6705, 0x6707, 0x670e, 0x6713, 0x6719, 0x671c, + 0x6720, 0x6722, 0x6733, 0x673e, 0x6745, 0x6747, 0x6748, 0x674c, + 0x6754, 0x6755, 0x675d, 0x6766, 0x676c, 0x676e, 0x6774, 0x6776, + 0x677b, 0x6781, 0x6784, 0x678e, 0x678f, 0x6791, 0x6793, 0x6796, + 0x6798, 0x6799, 0x679b, 0x67b0, 0x67b1, 0x67b2, 0x67b5, 0x67bb, + 0x67bc, 0x67bd, 0x67f9, 0x67c0, 0x67c2, 0x67c3, 0x67c5, 0x67c8, + 0x67c9, 0x67d2, 0x67d7, 0x67d9, 0x67dc, 0x67e1, 0x67e6, 0x67f0, + 0x67f2, 0x67f6, 0x67f7, 0x6852, 0x6814, 0x6819, 0x681d, 0x681f, + 0x6828, 0x6827, 0x682c, 0x682d, 0x682f, 0x6830, 0x6831, 0x6833, + 0x683b, 0x683f, 0x6844, 0x6845, 0x684a, 0x684c, 0x6855, 0x6857, + 0x6858, 0x685b, 0x686b, 0x686e, 0x686f, 0x6870, 0x6871, 0x6872, + 0x6875, 0x6879, 0x687a, 0x687b, 0x687c, 0x6882, 0x6884, 0x6886, + 0x6888, 0x6896, 0x6898, 0x689a, 0x689c, 0x68a1, 0x68a3, 0x68a5, + 0x68a9, 0x68aa, 0x68ae, 0x68b2, 0x68bb, 0x68c5, 0x68c8, 0x68cc, + 0x68cf, 0x68d0, 0x68d1, 0x68d3, 0x68d6, 0x68d9, 0x68dc, 0x68dd, + 0x68e5, 0x68e8, 0x68ea, 0x68eb, 0x68ec, 0x68ed, 0x68f0, 0x68f1, + 0x68f5, 0x68f6, 0x68fb, 0x68fc, 0x68fd, 0x6906, 0x6909, 0x690a, + 0x6910, 0x6911, 0x6913, 0x6916, 0x6917, 0x6931, 0x6933, 0x6935, + 0x6938, 0x693b, 0x6942, 0x6945, 0x6949, 0x694e, 0x6957, 0x695b, + 0x6963, 0x6964, 0x6965, 0x6966, 0x6968, 0x6969, 0x696c, 0x6970, + 0x6971, 0x6972, 0x697a, 0x697b, 0x697f, 0x6980, 0x698d, 0x6992, + 0x6996, 0x6998, 0x69a1, 0x69a5, 0x69a6, 0x69a8, 0x69ab, 0x69ad, + 0x69af, 0x69b7, 0x69b8, 0x69ba, 0x69bc, 0x69c5, 0x69c8, 0x69d1, + 0x69d6, 0x69d7, 0x69e2, 0x69e5, 0x69ee, 0x69ef, 0x69f1, 0x69f3, + 0x69f5, 0x69fe, 0x6a00, 0x6a01, 0x6a03, 0x6a0f, 0x6a11, 0x6a15, + 0x6a1a, 0x6a1d, 0x6a20, 0x6a24, 0x6a28, 0x6a30, 0x6a32, 0x6a34, + 0x6a37, 0x6a3b, 0x6a3e, 0x6a3f, 0x6a45, 0x6a46, 0x6a49, 0x6a4a, + 0x6a4e, 0x6a50, 0x6a51, 0x6a52, 0x6a55, 0x6a56, 0x6a5b, 0x6a64, + 0x6a67, 0x6a6a, 0x6a71, 0x6a73, 0x6a7e, 0x6a81, 0x6a83, 0x6a86, + 0x6a87, 0x6a89, 0x6a8b, 0x6a91, 0x6a9b, 0x6a9d, 0x6a9e, 0x6a9f, + 0x6aa5, 0x6aab, 0x6aaf, 0x6ab0, 0x6ab1, 0x6ab4, 0x6abd, 0x6abe, + 0x6abf, 0x6ac6, 0x6ac9, 0x6ac8, 0x6acc, 0x6ad0, 0x6ad4, 0x6ad5, + 0x6ad6, 0x6adc, 0x6add, 0x6ae4, 0x6ae7, 0x6aec, 0x6af0, 0x6af1, + 0x6af2, 0x6afc, 0x6afd, 0x6b02, 0x6b03, 0x6b06, 0x6b07, 0x6b09, + 0x6b0f, 0x6b10, 0x6b11, 0x6b17, 0x6b1b, 0x6b1e, 0x6b24, 0x6b28, + 0x6b2b, 0x6b2c, 0x6b2f, 0x6b35, 0x6b36, 0x6b3b, 0x6b3f, 0x6b46, + 0x6b4a, 0x6b4d, 0x6b52, 0x6b56, 0x6b58, 0x6b5d, 0x6b60, 0x6b67, + 0x6b6b, 0x6b6e, 0x6b70, 0x6b75, 0x6b7d, 0x6b7e, 0x6b82, 0x6b85, + 0x6b97, 0x6b9b, 0x6b9f, 0x6ba0, 0x6ba2, 0x6ba3, 0x6ba8, 0x6ba9, + 0x6bac, 0x6bad, 0x6bae, 0x6bb0, 0x6bb8, 0x6bb9, 0x6bbd, 0x6bbe, + 0x6bc3, 0x6bc4, 0x6bc9, 0x6bcc, 0x6bd6, 0x6bda, 0x6be1, 0x6be3, + 0x6be6, 0x6be7, 0x6bee, 0x6bf1, 0x6bf7, 0x6bf9, 0x6bff, 0x6c02, + 0x6c04, 0x6c05, 0x6c09, 0x6c0d, 0x6c0e, 0x6c10, 0x6c12, 0x6c19, + 0x6c1f, 0x6c26, 0x6c27, 0x6c28, 0x6c2c, 0x6c2e, 0x6c33, 0x6c35, + 0x6c36, 0x6c3a, 0x6c3b, 0x6c3f, 0x6c4a, 0x6c4b, 0x6c4d, 0x6c4f, + 0x6c52, 0x6c54, 0x6c59, 0x6c5b, 0x6c5c, 0x6c6b, 0x6c6d, 0x6c6f, + 0x6c74, 0x6c76, 0x6c78, 0x6c79, 0x6c7b, 0x6c85, 0x6c86, 0x6c87, + 0x6c89, 0x6c94, 0x6c95, 0x6c97, 0x6c98, 0x6c9c, 0x6c9f, 0x6cb0, + 0x6cb2, 0x6cb4, 0x6cc2, 0x6cc6, 0x6ccd, 0x6ccf, 0x6cd0, 0x6cd1, + 0x6cd2, 0x6cd4, 0x6cd6, 0x6cda, 0x6cdc, 0x6ce0, 0x6ce7, 0x6ce9, + 0x6ceb, 0x6cec, 0x6cee, 0x6cf2, 0x6cf4, 0x6d04, 0x6d07, 0x6d0a, + 0x6d0e, 0x6d0f, 0x6d11, 0x6d13, 0x6d1a, 0x6d26, 0x6d27, 0x6d28, + 0x6c67, 0x6d2e, 0x6d2f, 0x6d31, 0x6d39, 0x6d3c, 0x6d3f, 0x6d57, + 0x6d5e, 0x6d5f, 0x6d61, 0x6d65, 0x6d67, 0x6d6f, 0x6d70, 0x6d7c, + 0x6d82, 0x6d87, 0x6d91, 0x6d92, 0x6d94, 0x6d96, 0x6d97, 0x6d98, + 0x6daa, 0x6dac, 0x6db4, 0x6db7, 0x6db9, 0x6dbd, 0x6dbf, 0x6dc4, + 0x6dc8, 0x6dca, 0x6dce, 0x6dcf, 0x6dd6, 0x6ddb, 0x6ddd, 0x6ddf, + 0x6de0, 0x6de2, 0x6de5, 0x6de9, 0x6def, 0x6df0, 0x6df4, 0x6df6, + 0x6dfc, 0x6e00, 0x6e04, 0x6e1e, 0x6e22, 0x6e27, 0x6e32, 0x6e36, + 0x6e39, 0x6e3b, 0x6e3c, 0x6e44, 0x6e45, 0x6e48, 0x6e49, 0x6e4b, + 0x6e4f, 0x6e51, 0x6e52, 0x6e53, 0x6e54, 0x6e57, 0x6e5c, 0x6e5d, + 0x6e5e, 0x6e62, 0x6e63, 0x6e68, 0x6e73, 0x6e7b, 0x6e7d, 0x6e8d, + 0x6e93, 0x6e99, 0x6ea0, 0x6ea7, 0x6ead, 0x6eae, 0x6eb1, 0x6eb3, + 0x6ebb, 0x6ebf, 0x6ec0, 0x6ec1, 0x6ec3, 0x6ec7, 0x6ec8, 0x6eca, + 0x6ecd, 0x6ece, 0x6ecf, 0x6eeb, 0x6eed, 0x6eee, 0x6ef9, 0x6efb, + 0x6efd, 0x6f04, 0x6f08, 0x6f0a, 0x6f0c, 0x6f0d, 0x6f16, 0x6f18, + 0x6f1a, 0x6f1b, 0x6f26, 0x6f29, 0x6f2a, 0x6f2f, 0x6f30, 0x6f33, + 0x6f36, 0x6f3b, 0x6f3c, 0x6f2d, 0x6f4f, 0x6f51, 0x6f52, 0x6f53, + 0x6f57, 0x6f59, 0x6f5a, 0x6f5d, 0x6f5e, 0x6f61, 0x6f62, 0x6f68, + 0x6f6c, 0x6f7d, 0x6f7e, 0x6f83, 0x6f87, 0x6f88, 0x6f8b, 0x6f8c, + 0x6f8d, 0x6f90, 0x6f92, 0x6f93, 0x6f94, 0x6f96, 0x6f9a, 0x6f9f, + 0x6fa0, 0x6fa5, 0x6fa6, 0x6fa7, 0x6fa8, 0x6fae, 0x6faf, 0x6fb0, + 0x6fb5, 0x6fb6, 0x6fbc, 0x6fc5, 0x6fc7, 0x6fc8, 0x6fca, 0x6fda, + 0x6fde, 0x6fe8, 0x6fe9, 0x6ff0, 0x6ff5, 0x6ff9, 0x6ffc, 0x6ffd, + 0x7000, 0x7005, 0x7006, 0x7007, 0x700d, 0x7017, 0x7020, 0x7023, + 0x702f, 0x7034, 0x7037, 0x7039, 0x703c, 0x7043, 0x7044, 0x7048, + 0x7049, 0x704a, 0x704b, 0x7054, 0x7055, 0x705d, 0x705e, 0x704e, + 0x7064, 0x7065, 0x706c, 0x706e, 0x7075, 0x7076, 0x707e, 0x7081, + 0x7085, 0x7086, 0x7094, 0x7095, 0x7096, 0x7097, 0x7098, 0x709b, + 0x70a4, 0x70ab, 0x70b0, 0x70b1, 0x70b4, 0x70b7, 0x70ca, 0x70d1, + 0x70d3, 0x70d4, 0x70d5, 0x70d6, 0x70d8, 0x70dc, 0x70e4, 0x70fa, + 0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x710b, 0x710c, 0x710f, + 0x711e, 0x7120, 0x712b, 0x712d, 0x712f, 0x7130, 0x7131, 0x7138, + 0x7141, 0x7145, 0x7146, 0x7147, 0x714a, 0x714b, 0x7150, 0x7152, + 0x7157, 0x715a, 0x715c, 0x715e, 0x7160, 0x7168, 0x7179, 0x7180, + 0x7185, 0x7187, 0x718c, 0x7192, 0x719a, 0x719b, 0x71a0, 0x71a2, + 0x71af, 0x71b0, 0x71b2, 0x71b3, 0x71ba, 0x71bf, 0x71c0, 0x71c1, + 0x71c4, 0x71cb, 0x71cc, 0x71d3, 0x71d6, 0x71d9, 0x71da, 0x71dc, + 0x71f8, 0x71fe, 0x7200, 0x7207, 0x7208, 0x7209, 0x7213, 0x7217, + 0x721a, 0x721d, 0x721f, 0x7224, 0x722b, 0x722f, 0x7234, 0x7238, + 0x7239, 0x7241, 0x7242, 0x7243, 0x7245, 0x724e, 0x724f, 0x7250, + 0x7253, 0x7255, 0x7256, 0x725a, 0x725c, 0x725e, 0x7260, 0x7263, + 0x7268, 0x726b, 0x726e, 0x726f, 0x7271, 0x7277, 0x7278, 0x727b, + 0x727c, 0x727f, 0x7284, 0x7289, 0x728d, 0x728e, 0x7293, 0x729b, + 0x72a8, 0x72ad, 0x72ae, 0x72b1, 0x72b4, 0x72be, 0x72c1, 0x72c7, + 0x72c9, 0x72cc, 0x72d5, 0x72d6, 0x72d8, 0x72df, 0x72e5, 0x72f3, + 0x72f4, 0x72fa, 0x72fb, 0x72fe, 0x7302, 0x7304, 0x7305, 0x7307, + 0x730b, 0x730d, 0x7312, 0x7313, 0x7318, 0x7319, 0x731e, 0x7322, + 0x7324, 0x7327, 0x7328, 0x732c, 0x7331, 0x7332, 0x7335, 0x733a, + 0x733b, 0x733d, 0x7343, 0x734d, 0x7350, 0x7352, 0x7356, 0x7358, + 0x735d, 0x735e, 0x735f, 0x7360, 0x7366, 0x7367, 0x7369, 0x736b, + 0x736c, 0x736e, 0x736f, 0x7371, 0x7377, 0x7379, 0x737c, 0x7380, + 0x7381, 0x7383, 0x7385, 0x7386, 0x738e, 0x7390, 0x7393, 0x7395, + 0x7397, 0x7398, 0x739c, 0x739e, 0x739f, 0x73a0, 0x73a2, 0x73a5, + 0x73a6, 0x73aa, 0x73ab, 0x73ad, 0x73b5, 0x73b7, 0x73b9, 0x73bc, + 0x73bd, 0x73bf, 0x73c5, 0x73c6, 0x73c9, 0x73cb, 0x73cc, 0x73cf, + 0x73d2, 0x73d3, 0x73d6, 0x73d9, 0x73dd, 0x73e1, 0x73e3, 0x73e6, + 0x73e7, 0x73e9, 0x73f4, 0x73f5, 0x73f7, 0x73f9, 0x73fa, 0x73fb, + 0x73fd, 0x73ff, 0x7400, 0x7401, 0x7404, 0x7407, 0x740a, 0x7411, + 0x741a, 0x741b, 0x7424, 0x7426, 0x7428, 0x7429, 0x742a, 0x742b, + 0x742c, 0x742d, 0x742e, 0x742f, 0x7430, 0x7431, 0x7439, 0x7440, + 0x7443, 0x7444, 0x7446, 0x7447, 0x744b, 0x744d, 0x7451, 0x7452, + 0x7457, 0x745d, 0x7462, 0x7466, 0x7467, 0x7468, 0x746b, 0x746d, + 0x746e, 0x7471, 0x7472, 0x7480, 0x7481, 0x7485, 0x7486, 0x7487, + 0x7489, 0x748f, 0x7490, 0x7491, 0x7492, 0x7498, 0x7499, 0x749a, + 0x749c, 0x749f, 0x74a0, 0x74a1, 0x74a3, 0x74a6, 0x74a8, 0x74a9, + 0x74aa, 0x74ab, 0x74ae, 0x74af, 0x74b1, 0x74b2, 0x74b5, 0x74b9, + 0x74bb, 0x74bf, 0x74c8, 0x74c9, 0x74cc, 0x74d0, 0x74d3, 0x74d8, + 0x74da, 0x74db, 0x74de, 0x74df, 0x74e4, 0x74e8, 0x74ea, 0x74eb, + 0x74ef, 0x74f4, 0x74fa, 0x74fb, 0x74fc, 0x74ff, 0x7506, 0x7512, + 0x7516, 0x7517, 0x7520, 0x7521, 0x7524, 0x7527, 0x7529, 0x752a, + 0x752f, 0x7536, 0x7539, 0x753d, 0x753e, 0x753f, 0x7540, 0x7543, + 0x7547, 0x7548, 0x754e, 0x7550, 0x7552, 0x7557, 0x755e, 0x755f, + 0x7561, 0x756f, 0x7571, 0x7579, 0x757a, 0x757b, 0x757c, 0x757d, + 0x757e, 0x7581, 0x7585, 0x7590, 0x7592, 0x7593, 0x7595, 0x7599, + 0x759c, 0x75a2, 0x75a4, 0x75b4, 0x75ba, 0x75bf, 0x75c0, 0x75c1, + 0x75c4, 0x75c6, 0x75cc, 0x75ce, 0x75cf, 0x75d7, 0x75dc, 0x75df, + 0x75e0, 0x75e1, 0x75e4, 0x75e7, 0x75ec, 0x75ee, 0x75ef, 0x75f1, + 0x75f9, 0x7600, 0x7602, 0x7603, 0x7604, 0x7607, 0x7608, 0x760a, + 0x760c, 0x760f, 0x7612, 0x7613, 0x7615, 0x7616, 0x7619, 0x761b, + 0x761c, 0x761d, 0x761e, 0x7623, 0x7625, 0x7626, 0x7629, 0x762d, + 0x7632, 0x7633, 0x7635, 0x7638, 0x7639, 0x763a, 0x763c, 0x764a, + 0x7640, 0x7641, 0x7643, 0x7644, 0x7645, 0x7649, 0x764b, 0x7655, + 0x7659, 0x765f, 0x7664, 0x7665, 0x766d, 0x766e, 0x766f, 0x7671, + 0x7674, 0x7681, 0x7685, 0x768c, 0x768d, 0x7695, 0x769b, 0x769c, + 0x769d, 0x769f, 0x76a0, 0x76a2, 0x76a3, 0x76a4, 0x76a5, 0x76a6, + 0x76a7, 0x76a8, 0x76aa, 0x76ad, 0x76bd, 0x76c1, 0x76c5, 0x76c9, + 0x76cb, 0x76cc, 0x76ce, 0x76d4, 0x76d9, 0x76e0, 0x76e6, 0x76e8, + 0x76ec, 0x76f0, 0x76f1, 0x76f6, 0x76f9, 0x76fc, 0x7700, 0x7706, + 0x770a, 0x770e, 0x7712, 0x7714, 0x7715, 0x7717, 0x7719, 0x771a, + 0x771c, 0x7722, 0x7728, 0x772d, 0x772e, 0x772f, 0x7734, 0x7735, + 0x7736, 0x7739, 0x773d, 0x773e, 0x7742, 0x7745, 0x7746, 0x774a, + 0x774d, 0x774e, 0x774f, 0x7752, 0x7756, 0x7757, 0x775c, 0x775e, + 0x775f, 0x7760, 0x7762, 0x7764, 0x7767, 0x776a, 0x776c, 0x7770, + 0x7772, 0x7773, 0x7774, 0x777a, 0x777d, 0x7780, 0x7784, 0x778c, + 0x778d, 0x7794, 0x7795, 0x7796, 0x779a, 0x779f, 0x77a2, 0x77a7, + 0x77aa, 0x77ae, 0x77af, 0x77b1, 0x77b5, 0x77be, 0x77c3, 0x77c9, + 0x77d1, 0x77d2, 0x77d5, 0x77d9, 0x77de, 0x77df, 0x77e0, 0x77e4, + 0x77e6, 0x77ea, 0x77ec, 0x77f0, 0x77f1, 0x77f4, 0x77f8, 0x77fb, + 0x7805, 0x7806, 0x7809, 0x780d, 0x780e, 0x7811, 0x781d, 0x7821, + 0x7822, 0x7823, 0x782d, 0x782e, 0x7830, 0x7835, 0x7837, 0x7843, + 0x7844, 0x7847, 0x7848, 0x784c, 0x784e, 0x7852, 0x785c, 0x785e, + 0x7860, 0x7861, 0x7863, 0x7864, 0x7868, 0x786a, 0x786e, 0x787a, + 0x787e, 0x788a, 0x788f, 0x7894, 0x7898, 0x78a1, 0x789d, 0x789e, + 0x789f, 0x78a4, 0x78a8, 0x78ac, 0x78ad, 0x78b0, 0x78b1, 0x78b2, + 0x78b3, 0x78bb, 0x78bd, 0x78bf, 0x78c7, 0x78c8, 0x78c9, 0x78cc, + 0x78ce, 0x78d2, 0x78d3, 0x78d5, 0x78d6, 0x78e4, 0x78db, 0x78df, + 0x78e0, 0x78e1, 0x78e6, 0x78ea, 0x78f2, 0x78f3, 0x7900, 0x78f6, + 0x78f7, 0x78fa, 0x78fb, 0x78ff, 0x7906, 0x790c, 0x7910, 0x791a, + 0x791c, 0x791e, 0x791f, 0x7920, 0x7925, 0x7927, 0x7929, 0x792d, + 0x7931, 0x7934, 0x7935, 0x793b, 0x793d, 0x793f, 0x7944, 0x7945, + 0x7946, 0x794a, 0x794b, 0x794f, 0x7951, 0x7954, 0x7958, 0x795b, + 0x795c, 0x7967, 0x7969, 0x796b, 0x7972, 0x7979, 0x797b, 0x797c, + 0x797e, 0x798b, 0x798c, 0x7991, 0x7993, 0x7994, 0x7995, 0x7996, + 0x7998, 0x799b, 0x799c, 0x79a1, 0x79a8, 0x79a9, 0x79ab, 0x79af, + 0x79b1, 0x79b4, 0x79b8, 0x79bb, 0x79c2, 0x79c4, 0x79c7, 0x79c8, + 0x79ca, 0x79cf, 0x79d4, 0x79d6, 0x79da, 0x79dd, 0x79de, 0x79e0, + 0x79e2, 0x79e5, 0x79ea, 0x79eb, 0x79ed, 0x79f1, 0x79f8, 0x79fc, + 0x7a02, 0x7a03, 0x7a07, 0x7a09, 0x7a0a, 0x7a0c, 0x7a11, 0x7a15, + 0x7a1b, 0x7a1e, 0x7a21, 0x7a27, 0x7a2b, 0x7a2d, 0x7a2f, 0x7a30, + 0x7a34, 0x7a35, 0x7a38, 0x7a39, 0x7a3a, 0x7a44, 0x7a45, 0x7a47, + 0x7a48, 0x7a4c, 0x7a55, 0x7a56, 0x7a59, 0x7a5c, 0x7a5d, 0x7a5f, + 0x7a60, 0x7a65, 0x7a67, 0x7a6a, 0x7a6d, 0x7a75, 0x7a78, 0x7a7e, + 0x7a80, 0x7a82, 0x7a85, 0x7a86, 0x7a8a, 0x7a8b, 0x7a90, 0x7a91, + 0x7a94, 0x7a9e, 0x7aa0, 0x7aa3, 0x7aac, 0x7ab3, 0x7ab5, 0x7ab9, + 0x7abb, 0x7abc, 0x7ac6, 0x7ac9, 0x7acc, 0x7ace, 0x7ad1, 0x7adb, + 0x7ae8, 0x7ae9, 0x7aeb, 0x7aec, 0x7af1, 0x7af4, 0x7afb, 0x7afd, + 0x7afe, 0x7b07, 0x7b14, 0x7b1f, 0x7b23, 0x7b27, 0x7b29, 0x7b2a, + 0x7b2b, 0x7b2d, 0x7b2e, 0x7b2f, 0x7b30, 0x7b31, 0x7b34, 0x7b3d, + 0x7b3f, 0x7b40, 0x7b41, 0x7b47, 0x7b4e, 0x7b55, 0x7b60, 0x7b64, + 0x7b66, 0x7b69, 0x7b6a, 0x7b6d, 0x7b6f, 0x7b72, 0x7b73, 0x7b77, + 0x7b84, 0x7b89, 0x7b8e, 0x7b90, 0x7b91, 0x7b96, 0x7b9b, 0x7b9e, + 0x7ba0, 0x7ba5, 0x7bac, 0x7baf, 0x7bb0, 0x7bb2, 0x7bb5, 0x7bb6, + 0x7bba, 0x7bbb, 0x7bbc, 0x7bbd, 0x7bc2, 0x7bc5, 0x7bc8, 0x7bca, + 0x7bd4, 0x7bd6, 0x7bd7, 0x7bd9, 0x7bda, 0x7bdb, 0x7be8, 0x7bea, + 0x7bf2, 0x7bf4, 0x7bf5, 0x7bf8, 0x7bf9, 0x7bfa, 0x7bfc, 0x7bfe, + 0x7c01, 0x7c02, 0x7c03, 0x7c04, 0x7c06, 0x7c09, 0x7c0b, 0x7c0c, + 0x7c0e, 0x7c0f, 0x7c19, 0x7c1b, 0x7c20, 0x7c25, 0x7c26, 0x7c28, + 0x7c2c, 0x7c31, 0x7c33, 0x7c34, 0x7c36, 0x7c39, 0x7c3a, 0x7c46, + 0x7c4a, 0x7c55, 0x7c51, 0x7c52, 0x7c53, 0x7c59, 0x7c5a, 0x7c5b, + 0x7c5c, 0x7c5d, 0x7c5e, 0x7c61, 0x7c63, 0x7c67, 0x7c69, 0x7c6d, + 0x7c6e, 0x7c70, 0x7c72, 0x7c79, 0x7c7c, 0x7c7d, 0x7c86, 0x7c87, + 0x7c8f, 0x7c94, 0x7c9e, 0x7ca0, 0x7ca6, 0x7cb0, 0x7cb6, 0x7cb7, + 0x7cba, 0x7cbb, 0x7cbc, 0x7cbf, 0x7cc4, 0x7cc7, 0x7cc8, 0x7cc9, + 0x7ccd, 0x7ccf, 0x7cd3, 0x7cd4, 0x7cd5, 0x7cd7, 0x7cd9, 0x7cda, + 0x7cdd, 0x7ce6, 0x7ce9, 0x7ceb, 0x7cf5, 0x7d03, 0x7d07, 0x7d08, + 0x7d09, 0x7d0f, 0x7d11, 0x7d12, 0x7d13, 0x7d16, 0x7d1d, 0x7d1e, + 0x7d23, 0x7d26, 0x7d2a, 0x7d2d, 0x7d31, 0x7d3c, 0x7d3d, 0x7d3e, + 0x7d40, 0x7d41, 0x7d47, 0x7d48, 0x7d4d, 0x7d51, 0x7d53, 0x7d57, + 0x7d59, 0x7d5a, 0x7d5c, 0x7d5d, 0x7d65, 0x7d67, 0x7d6a, 0x7d70, + 0x7d78, 0x7d7a, 0x7d7b, 0x7d7f, 0x7d81, 0x7d82, 0x7d83, 0x7d85, + 0x7d86, 0x7d88, 0x7d8b, 0x7d8c, 0x7d8d, 0x7d91, 0x7d96, 0x7d97, + 0x7d9d, 0x7d9e, 0x7da6, 0x7da7, 0x7daa, 0x7db3, 0x7db6, 0x7db7, + 0x7db9, 0x7dc2, 0x7dc3, 0x7dc4, 0x7dc5, 0x7dc6, 0x7dcc, 0x7dcd, + 0x7dce, 0x7dd7, 0x7dd9, 0x7e00, 0x7de2, 0x7de5, 0x7de6, 0x7dea, + 0x7deb, 0x7ded, 0x7df1, 0x7df5, 0x7df6, 0x7df9, 0x7dfa, 0x7e08, + 0x7e10, 0x7e11, 0x7e15, 0x7e17, 0x7e1c, 0x7e1d, 0x7e20, 0x7e27, + 0x7e28, 0x7e2c, 0x7e2d, 0x7e2f, 0x7e33, 0x7e36, 0x7e3f, 0x7e44, + 0x7e45, 0x7e47, 0x7e4e, 0x7e50, 0x7e52, 0x7e58, 0x7e5f, 0x7e61, + 0x7e62, 0x7e65, 0x7e6b, 0x7e6e, 0x7e6f, 0x7e73, 0x7e78, 0x7e7e, + 0x7e81, 0x7e86, 0x7e87, 0x7e8a, 0x7e8d, 0x7e91, 0x7e95, 0x7e98, + 0x7e9a, 0x7e9d, 0x7e9e, 0x7f3c, 0x7f3b, 0x7f3d, 0x7f3e, 0x7f3f, + 0x7f43, 0x7f44, 0x7f47, 0x7f4f, 0x7f52, 0x7f53, 0x7f5b, 0x7f5c, + 0x7f5d, 0x7f61, 0x7f63, 0x7f64, 0x7f65, 0x7f66, 0x7f6d, 0x7f71, + 0x7f7d, 0x7f7e, 0x7f7f, 0x7f80, 0x7f8b, 0x7f8d, 0x7f8f, 0x7f90, + 0x7f91, 0x7f96, 0x7f97, 0x7f9c, 0x7fa1, 0x7fa2, 0x7fa6, 0x7faa, + 0x7fad, 0x7fb4, 0x7fbc, 0x7fbf, 0x7fc0, 0x7fc3, 0x7fc8, 0x7fce, + 0x7fcf, 0x7fdb, 0x7fdf, 0x7fe3, 0x7fe5, 0x7fe8, 0x7fec, 0x7fee, + 0x7fef, 0x7ff2, 0x7ffa, 0x7ffd, 0x7ffe, 0x7fff, 0x8007, 0x8008, + 0x800a, 0x800d, 0x800e, 0x800f, 0x8011, 0x8013, 0x8014, 0x8016, + 0x801d, 0x801e, 0x801f, 0x8020, 0x8024, 0x8026, 0x802c, 0x802e, + 0x8030, 0x8034, 0x8035, 0x8037, 0x8039, 0x803a, 0x803c, 0x803e, + 0x8040, 0x8044, 0x8060, 0x8064, 0x8066, 0x806d, 0x8071, 0x8075, + 0x8081, 0x8088, 0x808e, 0x809c, 0x809e, 0x80a6, 0x80a7, 0x80ab, + 0x80b8, 0x80b9, 0x80c8, 0x80cd, 0x80cf, 0x80d2, 0x80d4, 0x80d5, + 0x80d7, 0x80d8, 0x80e0, 0x80ed, 0x80ee, 0x80f0, 0x80f2, 0x80f3, + 0x80f6, 0x80f9, 0x80fa, 0x80fe, 0x8103, 0x810b, 0x8116, 0x8117, + 0x8118, 0x811c, 0x811e, 0x8120, 0x8124, 0x8127, 0x812c, 0x8130, + 0x8135, 0x813a, 0x813c, 0x8145, 0x8147, 0x814a, 0x814c, 0x8152, + 0x8157, 0x8160, 0x8161, 0x8167, 0x8168, 0x8169, 0x816d, 0x816f, + 0x8177, 0x8181, 0x8190, 0x8184, 0x8185, 0x8186, 0x818b, 0x818e, + 0x8196, 0x8198, 0x819b, 0x819e, 0x81a2, 0x81ae, 0x81b2, 0x81b4, + 0x81bb, 0x81cb, 0x81c3, 0x81c5, 0x81ca, 0x81ce, 0x81cf, 0x81d5, + 0x81d7, 0x81db, 0x81dd, 0x81de, 0x81e1, 0x81e4, 0x81eb, 0x81ec, + 0x81f0, 0x81f1, 0x81f2, 0x81f5, 0x81f6, 0x81f8, 0x81f9, 0x81fd, + 0x81ff, 0x8200, 0x8203, 0x820f, 0x8213, 0x8214, 0x8219, 0x821a, + 0x821d, 0x8221, 0x8222, 0x8228, 0x8232, 0x8234, 0x823a, 0x8243, + 0x8244, 0x8245, 0x8246, 0x824b, 0x824e, 0x824f, 0x8251, 0x8256, + 0x825c, 0x8260, 0x8263, 0x8267, 0x826d, 0x8274, 0x827b, 0x827d, + 0x827f, 0x8280, 0x8281, 0x8283, 0x8284, 0x8287, 0x8289, 0x828a, + 0x828e, 0x8291, 0x8294, 0x8296, 0x8298, 0x829a, 0x829b, 0x82a0, + 0x82a1, 0x82a3, 0x82a4, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ae, + 0x82b0, 0x82b2, 0x82b4, 0x82b7, 0x82ba, 0x82bc, 0x82be, 0x82bf, + 0x82c6, 0x82d0, 0x82d5, 0x82da, 0x82e0, 0x82e2, 0x82e4, 0x82e8, + 0x82ea, 0x82ed, 0x82ef, 0x82f6, 0x82f7, 0x82fd, 0x82fe, 0x8300, + 0x8301, 0x8307, 0x8308, 0x830a, 0x830b, 0x8354, 0x831b, 0x831d, + 0x831e, 0x831f, 0x8321, 0x8322, 0x832c, 0x832d, 0x832e, 0x8330, + 0x8333, 0x8337, 0x833a, 0x833c, 0x833d, 0x8342, 0x8343, 0x8344, + 0x8347, 0x834d, 0x834e, 0x8351, 0x8355, 0x8356, 0x8357, 0x8370, + 0x8378, 0x837d, 0x837f, 0x8380, 0x8382, 0x8384, 0x8386, 0x838d, + 0x8392, 0x8394, 0x8395, 0x8398, 0x8399, 0x839b, 0x839c, 0x839d, + 0x83a6, 0x83a7, 0x83a9, 0x83ac, 0x83be, 0x83bf, 0x83c0, 0x83c7, + 0x83c9, 0x83cf, 0x83d0, 0x83d1, 0x83d4, 0x83dd, 0x8353, 0x83e8, + 0x83ea, 0x83f6, 0x83f8, 0x83f9, 0x83fc, 0x8401, 0x8406, 0x840a, + 0x840f, 0x8411, 0x8415, 0x8419, 0x83ad, 0x842f, 0x8439, 0x8445, + 0x8447, 0x8448, 0x844a, 0x844d, 0x844f, 0x8451, 0x8452, 0x8456, + 0x8458, 0x8459, 0x845a, 0x845c, 0x8460, 0x8464, 0x8465, 0x8467, + 0x846a, 0x8470, 0x8473, 0x8474, 0x8476, 0x8478, 0x847c, 0x847d, + 0x8481, 0x8485, 0x8492, 0x8493, 0x8495, 0x849e, 0x84a6, 0x84a8, + 0x84a9, 0x84aa, 0x84af, 0x84b1, 0x84b4, 0x84ba, 0x84bd, 0x84be, + 0x84c0, 0x84c2, 0x84c7, 0x84c8, 0x84cc, 0x84cf, 0x84d3, 0x84dc, + 0x84e7, 0x84ea, 0x84ef, 0x84f0, 0x84f1, 0x84f2, 0x84f7, 0x8532, + 0x84fa, 0x84fb, 0x84fd, 0x8502, 0x8503, 0x8507, 0x850c, 0x850e, + 0x8510, 0x851c, 0x851e, 0x8522, 0x8523, 0x8524, 0x8525, 0x8527, + 0x852a, 0x852b, 0x852f, 0x8533, 0x8534, 0x8536, 0x853f, 0x8546, + 0x854f, 0x8550, 0x8551, 0x8552, 0x8553, 0x8556, 0x8559, 0x855c, + 0x855d, 0x855e, 0x855f, 0x8560, 0x8561, 0x8562, 0x8564, 0x856b, + 0x856f, 0x8579, 0x857a, 0x857b, 0x857d, 0x857f, 0x8581, 0x8585, + 0x8586, 0x8589, 0x858b, 0x858c, 0x858f, 0x8593, 0x8598, 0x859d, + 0x859f, 0x85a0, 0x85a2, 0x85a5, 0x85a7, 0x85b4, 0x85b6, 0x85b7, + 0x85b8, 0x85bc, 0x85bd, 0x85be, 0x85bf, 0x85c2, 0x85c7, 0x85ca, + 0x85cb, 0x85ce, 0x85ad, 0x85d8, 0x85da, 0x85df, 0x85e0, 0x85e6, + 0x85e8, 0x85ed, 0x85f3, 0x85f6, 0x85fc, 0x85ff, 0x8600, 0x8604, + 0x8605, 0x860d, 0x860e, 0x8610, 0x8611, 0x8612, 0x8618, 0x8619, + 0x861b, 0x861e, 0x8621, 0x8627, 0x8629, 0x8636, 0x8638, 0x863a, + 0x863c, 0x863d, 0x8640, 0x8642, 0x8646, 0x8652, 0x8653, 0x8656, + 0x8657, 0x8658, 0x8659, 0x865d, 0x8660, 0x8661, 0x8662, 0x8663, + 0x8664, 0x8669, 0x866c, 0x866f, 0x8675, 0x8676, 0x8677, 0x867a, + 0x868d, 0x8691, 0x8696, 0x8698, 0x869a, 0x869c, 0x86a1, 0x86a6, + 0x86a7, 0x86a8, 0x86ad, 0x86b1, 0x86b3, 0x86b4, 0x86b5, 0x86b7, + 0x86b8, 0x86b9, 0x86bf, 0x86c0, 0x86c1, 0x86c3, 0x86c5, 0x86d1, + 0x86d2, 0x86d5, 0x86d7, 0x86da, 0x86dc, 0x86e0, 0x86e3, 0x86e5, + 0x86e7, 0x8688, 0x86fa, 0x86fc, 0x86fd, 0x8704, 0x8705, 0x8707, + 0x870b, 0x870e, 0x870f, 0x8710, 0x8713, 0x8714, 0x8719, 0x871e, + 0x871f, 0x8721, 0x8723, 0x8728, 0x872e, 0x872f, 0x8731, 0x8732, + 0x8739, 0x873a, 0x873c, 0x873d, 0x873e, 0x8740, 0x8743, 0x8745, + 0x874d, 0x8758, 0x875d, 0x8761, 0x8764, 0x8765, 0x876f, 0x8771, + 0x8772, 0x877b, 0x8783, 0x8784, 0x8785, 0x8786, 0x8787, 0x8788, + 0x8789, 0x878b, 0x878c, 0x8790, 0x8793, 0x8795, 0x8797, 0x8798, + 0x8799, 0x879e, 0x87a0, 0x87a3, 0x87a7, 0x87ac, 0x87ad, 0x87ae, + 0x87b1, 0x87b5, 0x87be, 0x87bf, 0x87c1, 0x87c8, 0x87c9, 0x87ca, + 0x87ce, 0x87d5, 0x87d6, 0x87d9, 0x87da, 0x87dc, 0x87df, 0x87e2, + 0x87e3, 0x87e4, 0x87ea, 0x87eb, 0x87ed, 0x87f1, 0x87f3, 0x87f8, + 0x87fa, 0x87ff, 0x8801, 0x8803, 0x8806, 0x8809, 0x880a, 0x880b, + 0x8810, 0x8819, 0x8812, 0x8813, 0x8814, 0x8818, 0x881a, 0x881b, + 0x881c, 0x881e, 0x881f, 0x8828, 0x882d, 0x882e, 0x8830, 0x8832, + 0x8835, 0x883a, 0x883c, 0x8841, 0x8843, 0x8845, 0x8848, 0x8849, + 0x884a, 0x884b, 0x884e, 0x8851, 0x8855, 0x8856, 0x8858, 0x885a, + 0x885c, 0x885f, 0x8860, 0x8864, 0x8869, 0x8871, 0x8879, 0x887b, + 0x8880, 0x8898, 0x889a, 0x889b, 0x889c, 0x889f, 0x88a0, 0x88a8, + 0x88aa, 0x88ba, 0x88bd, 0x88be, 0x88c0, 0x88ca, 0x88cb, 0x88cc, + 0x88cd, 0x88ce, 0x88d1, 0x88d2, 0x88d3, 0x88db, 0x88de, 0x88e7, + 0x88ef, 0x88f0, 0x88f1, 0x88f5, 0x88f7, 0x8901, 0x8906, 0x890d, + 0x890e, 0x890f, 0x8915, 0x8916, 0x8918, 0x8919, 0x891a, 0x891c, + 0x8920, 0x8926, 0x8927, 0x8928, 0x8930, 0x8931, 0x8932, 0x8935, + 0x8939, 0x893a, 0x893e, 0x8940, 0x8942, 0x8945, 0x8946, 0x8949, + 0x894f, 0x8952, 0x8957, 0x895a, 0x895b, 0x895c, 0x8961, 0x8962, + 0x8963, 0x896b, 0x896e, 0x8970, 0x8973, 0x8975, 0x897a, 0x897b, + 0x897c, 0x897d, 0x8989, 0x898d, 0x8990, 0x8994, 0x8995, 0x899b, + 0x899c, 0x899f, 0x89a0, 0x89a5, 0x89b0, 0x89b4, 0x89b5, 0x89b6, + 0x89b7, 0x89bc, 0x89d4, 0x89d5, 0x89d6, 0x89d7, 0x89d8, 0x89e5, + 0x89e9, 0x89eb, 0x89ed, 0x89f1, 0x89f3, 0x89f6, 0x89f9, 0x89fd, + 0x89ff, 0x8a04, 0x8a05, 0x8a07, 0x8a0f, 0x8a11, 0x8a12, 0x8a14, + 0x8a15, 0x8a1e, 0x8a20, 0x8a22, 0x8a24, 0x8a26, 0x8a2b, 0x8a2c, + 0x8a2f, 0x8a35, 0x8a37, 0x8a3d, 0x8a3e, 0x8a40, 0x8a43, 0x8a45, + 0x8a47, 0x8a49, 0x8a4d, 0x8a4e, 0x8a53, 0x8a56, 0x8a57, 0x8a58, + 0x8a5c, 0x8a5d, 0x8a61, 0x8a65, 0x8a67, 0x8a75, 0x8a76, 0x8a77, + 0x8a79, 0x8a7a, 0x8a7b, 0x8a7e, 0x8a7f, 0x8a80, 0x8a83, 0x8a86, + 0x8a8b, 0x8a8f, 0x8a90, 0x8a92, 0x8a96, 0x8a97, 0x8a99, 0x8a9f, + 0x8aa7, 0x8aa9, 0x8aae, 0x8aaf, 0x8ab3, 0x8ab6, 0x8ab7, 0x8abb, + 0x8abe, 0x8ac3, 0x8ac6, 0x8ac8, 0x8ac9, 0x8aca, 0x8ad1, 0x8ad3, + 0x8ad4, 0x8ad5, 0x8ad7, 0x8add, 0x8adf, 0x8aec, 0x8af0, 0x8af4, + 0x8af5, 0x8af6, 0x8afc, 0x8aff, 0x8b05, 0x8b06, 0x8b0b, 0x8b11, + 0x8b1c, 0x8b1e, 0x8b1f, 0x8b0a, 0x8b2d, 0x8b30, 0x8b37, 0x8b3c, + 0x8b42, 0x8b43, 0x8b44, 0x8b45, 0x8b46, 0x8b48, 0x8b52, 0x8b53, + 0x8b54, 0x8b59, 0x8b4d, 0x8b5e, 0x8b63, 0x8b6d, 0x8b76, 0x8b78, + 0x8b79, 0x8b7c, 0x8b7e, 0x8b81, 0x8b84, 0x8b85, 0x8b8b, 0x8b8d, + 0x8b8f, 0x8b94, 0x8b95, 0x8b9c, 0x8b9e, 0x8b9f, 0x8c38, 0x8c39, + 0x8c3d, 0x8c3e, 0x8c45, 0x8c47, 0x8c49, 0x8c4b, 0x8c4f, 0x8c51, + 0x8c53, 0x8c54, 0x8c57, 0x8c58, 0x8c5b, 0x8c5d, 0x8c59, 0x8c63, + 0x8c64, 0x8c66, 0x8c68, 0x8c69, 0x8c6d, 0x8c73, 0x8c75, 0x8c76, + 0x8c7b, 0x8c7e, 0x8c86, 0x8c87, 0x8c8b, 0x8c90, 0x8c92, 0x8c93, + 0x8c99, 0x8c9b, 0x8c9c, 0x8ca4, 0x8cb9, 0x8cba, 0x8cc5, 0x8cc6, + 0x8cc9, 0x8ccb, 0x8ccf, 0x8cd6, 0x8cd5, 0x8cd9, 0x8cdd, 0x8ce1, + 0x8ce8, 0x8cec, 0x8cef, 0x8cf0, 0x8cf2, 0x8cf5, 0x8cf7, 0x8cf8, + 0x8cfe, 0x8cff, 0x8d01, 0x8d03, 0x8d09, 0x8d12, 0x8d17, 0x8d1b, + 0x8d65, 0x8d69, 0x8d6c, 0x8d6e, 0x8d7f, 0x8d82, 0x8d84, 0x8d88, + 0x8d8d, 0x8d90, 0x8d91, 0x8d95, 0x8d9e, 0x8d9f, 0x8da0, 0x8da6, + 0x8dab, 0x8dac, 0x8daf, 0x8db2, 0x8db5, 0x8db7, 0x8db9, 0x8dbb, + 0x8dc0, 0x8dc5, 0x8dc6, 0x8dc7, 0x8dc8, 0x8dca, 0x8dce, 0x8dd1, + 0x8dd4, 0x8dd5, 0x8dd7, 0x8dd9, 0x8de4, 0x8de5, 0x8de7, 0x8dec, + 0x8df0, 0x8dbc, 0x8df1, 0x8df2, 0x8df4, 0x8dfd, 0x8e01, 0x8e04, + 0x8e05, 0x8e06, 0x8e0b, 0x8e11, 0x8e14, 0x8e16, 0x8e20, 0x8e21, + 0x8e22, 0x8e23, 0x8e26, 0x8e27, 0x8e31, 0x8e33, 0x8e36, 0x8e37, + 0x8e38, 0x8e39, 0x8e3d, 0x8e40, 0x8e41, 0x8e4b, 0x8e4d, 0x8e4e, + 0x8e4f, 0x8e54, 0x8e5b, 0x8e5c, 0x8e5d, 0x8e5e, 0x8e61, 0x8e62, + 0x8e69, 0x8e6c, 0x8e6d, 0x8e6f, 0x8e70, 0x8e71, 0x8e79, 0x8e7a, + 0x8e7b, 0x8e82, 0x8e83, 0x8e89, 0x8e90, 0x8e92, 0x8e95, 0x8e9a, + 0x8e9b, 0x8e9d, 0x8e9e, 0x8ea2, 0x8ea7, 0x8ea9, 0x8ead, 0x8eae, + 0x8eb3, 0x8eb5, 0x8eba, 0x8ebb, 0x8ec0, 0x8ec1, 0x8ec3, 0x8ec4, + 0x8ec7, 0x8ecf, 0x8ed1, 0x8ed4, 0x8edc, 0x8ee8, 0x8eee, 0x8ef0, + 0x8ef1, 0x8ef7, 0x8ef9, 0x8efa, 0x8eed, 0x8f00, 0x8f02, 0x8f07, + 0x8f08, 0x8f0f, 0x8f10, 0x8f16, 0x8f17, 0x8f18, 0x8f1e, 0x8f20, + 0x8f21, 0x8f23, 0x8f25, 0x8f27, 0x8f28, 0x8f2c, 0x8f2d, 0x8f2e, + 0x8f34, 0x8f35, 0x8f36, 0x8f37, 0x8f3a, 0x8f40, 0x8f41, 0x8f43, + 0x8f47, 0x8f4f, 0x8f51, 0x8f52, 0x8f53, 0x8f54, 0x8f55, 0x8f58, + 0x8f5d, 0x8f5e, 0x8f65, 0x8f9d, 0x8fa0, 0x8fa1, 0x8fa4, 0x8fa5, + 0x8fa6, 0x8fb5, 0x8fb6, 0x8fb8, 0x8fbe, 0x8fc0, 0x8fc1, 0x8fc6, + 0x8fca, 0x8fcb, 0x8fcd, 0x8fd0, 0x8fd2, 0x8fd3, 0x8fd5, 0x8fe0, + 0x8fe3, 0x8fe4, 0x8fe8, 0x8fee, 0x8ff1, 0x8ff5, 0x8ff6, 0x8ffb, + 0x8ffe, 0x9002, 0x9004, 0x9008, 0x900c, 0x9018, 0x901b, 0x9028, + 0x9029, 0x902f, 0x902a, 0x902c, 0x902d, 0x9033, 0x9034, 0x9037, + 0x903f, 0x9043, 0x9044, 0x904c, 0x905b, 0x905d, 0x9062, 0x9066, + 0x9067, 0x906c, 0x9070, 0x9074, 0x9079, 0x9085, 0x9088, 0x908b, + 0x908c, 0x908e, 0x9090, 0x9095, 0x9097, 0x9098, 0x9099, 0x909b, + 0x90a0, 0x90a1, 0x90a2, 0x90a5, 0x90b0, 0x90b2, 0x90b3, 0x90b4, + 0x90b6, 0x90bd, 0x90cc, 0x90be, 0x90c3, 0x90c4, 0x90c5, 0x90c7, + 0x90c8, 0x90d5, 0x90d7, 0x90d8, 0x90d9, 0x90dc, 0x90dd, 0x90df, + 0x90e5, 0x90d2, 0x90f6, 0x90eb, 0x90ef, 0x90f0, 0x90f4, 0x90fe, + 0x90ff, 0x9100, 0x9104, 0x9105, 0x9106, 0x9108, 0x910d, 0x9110, + 0x9114, 0x9116, 0x9117, 0x9118, 0x911a, 0x911c, 0x911e, 0x9120, + 0x9125, 0x9122, 0x9123, 0x9127, 0x9129, 0x912e, 0x912f, 0x9131, + 0x9134, 0x9136, 0x9137, 0x9139, 0x913a, 0x913c, 0x913d, 0x9143, + 0x9147, 0x9148, 0x914f, 0x9153, 0x9157, 0x9159, 0x915a, 0x915b, + 0x9161, 0x9164, 0x9167, 0x916d, 0x9174, 0x9179, 0x917a, 0x917b, + 0x9181, 0x9183, 0x9185, 0x9186, 0x918a, 0x918e, 0x9191, 0x9193, + 0x9194, 0x9195, 0x9198, 0x919e, 0x91a1, 0x91a6, 0x91a8, 0x91ac, + 0x91ad, 0x91ae, 0x91b0, 0x91b1, 0x91b2, 0x91b3, 0x91b6, 0x91bb, + 0x91bc, 0x91bd, 0x91bf, 0x91c2, 0x91c3, 0x91c5, 0x91d3, 0x91d4, + 0x91d7, 0x91d9, 0x91da, 0x91de, 0x91e4, 0x91e5, 0x91e9, 0x91ea, + 0x91ec, 0x91ed, 0x91ee, 0x91ef, 0x91f0, 0x91f1, 0x91f7, 0x91f9, + 0x91fb, 0x91fd, 0x9200, 0x9201, 0x9204, 0x9205, 0x9206, 0x9207, + 0x9209, 0x920a, 0x920c, 0x9210, 0x9212, 0x9213, 0x9216, 0x9218, + 0x921c, 0x921d, 0x9223, 0x9224, 0x9225, 0x9226, 0x9228, 0x922e, + 0x922f, 0x9230, 0x9233, 0x9235, 0x9236, 0x9238, 0x9239, 0x923a, + 0x923c, 0x923e, 0x9240, 0x9242, 0x9243, 0x9246, 0x9247, 0x924a, + 0x924d, 0x924e, 0x924f, 0x9251, 0x9258, 0x9259, 0x925c, 0x925d, + 0x9260, 0x9261, 0x9265, 0x9267, 0x9268, 0x9269, 0x926e, 0x926f, + 0x9270, 0x9275, 0x9276, 0x9277, 0x9278, 0x9279, 0x927b, 0x927c, + 0x927d, 0x927f, 0x9288, 0x9289, 0x928a, 0x928d, 0x928e, 0x9292, + 0x9297, 0x9299, 0x929f, 0x92a0, 0x92a4, 0x92a5, 0x92a7, 0x92a8, + 0x92ab, 0x92af, 0x92b2, 0x92b6, 0x92b8, 0x92ba, 0x92bb, 0x92bc, + 0x92bd, 0x92bf, 0x92c0, 0x92c1, 0x92c2, 0x92c3, 0x92c5, 0x92c6, + 0x92c7, 0x92c8, 0x92cb, 0x92cc, 0x92cd, 0x92ce, 0x92d0, 0x92d3, + 0x92d5, 0x92d7, 0x92d8, 0x92d9, 0x92dc, 0x92dd, 0x92df, 0x92e0, + 0x92e1, 0x92e3, 0x92e5, 0x92e7, 0x92e8, 0x92ec, 0x92ee, 0x92f0, + 0x92f9, 0x92fb, 0x92ff, 0x9300, 0x9302, 0x9308, 0x930d, 0x9311, + 0x9314, 0x9315, 0x931c, 0x931d, 0x931e, 0x931f, 0x9321, 0x9324, + 0x9325, 0x9327, 0x9329, 0x932a, 0x9333, 0x9334, 0x9336, 0x9337, + 0x9347, 0x9348, 0x9349, 0x9350, 0x9351, 0x9352, 0x9355, 0x9357, + 0x9358, 0x935a, 0x935e, 0x9364, 0x9365, 0x9367, 0x9369, 0x936a, + 0x936d, 0x936f, 0x9370, 0x9371, 0x9373, 0x9374, 0x9376, 0x937a, + 0x937d, 0x937f, 0x9380, 0x9381, 0x9382, 0x9388, 0x938a, 0x938b, + 0x938d, 0x938f, 0x9392, 0x9395, 0x9398, 0x939b, 0x939e, 0x93a1, + 0x93a3, 0x93a4, 0x93a6, 0x93a8, 0x93ab, 0x93b4, 0x93b5, 0x93b6, + 0x93ba, 0x93a9, 0x93c1, 0x93c4, 0x93c5, 0x93c6, 0x93c7, 0x93c9, + 0x93ca, 0x93cb, 0x93cc, 0x93cd, 0x93d3, 0x93d9, 0x93dc, 0x93de, + 0x93df, 0x93e2, 0x93e6, 0x93e7, 0x93f9, 0x93f7, 0x93f8, 0x93fa, + 0x93fb, 0x93fd, 0x9401, 0x9402, 0x9404, 0x9408, 0x9409, 0x940d, + 0x940e, 0x940f, 0x9415, 0x9416, 0x9417, 0x941f, 0x942e, 0x942f, + 0x9431, 0x9432, 0x9433, 0x9434, 0x943b, 0x943f, 0x943d, 0x9443, + 0x9445, 0x9448, 0x944a, 0x944c, 0x9455, 0x9459, 0x945c, 0x945f, + 0x9461, 0x9463, 0x9468, 0x946b, 0x946d, 0x946e, 0x946f, 0x9471, + 0x9472, 0x9484, 0x9483, 0x9578, 0x9579, 0x957e, 0x9584, 0x9588, + 0x958c, 0x958d, 0x958e, 0x959d, 0x959e, 0x959f, 0x95a1, 0x95a6, + 0x95a9, 0x95ab, 0x95ac, 0x95b4, 0x95b6, 0x95ba, 0x95bd, 0x95bf, + 0x95c6, 0x95c8, 0x95c9, 0x95cb, 0x95d0, 0x95d1, 0x95d2, 0x95d3, + 0x95d9, 0x95da, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e4, 0x95e6, + 0x961d, 0x961e, 0x9622, 0x9624, 0x9625, 0x9626, 0x962c, 0x9631, + 0x9633, 0x9637, 0x9638, 0x9639, 0x963a, 0x963c, 0x963d, 0x9641, + 0x9652, 0x9654, 0x9656, 0x9657, 0x9658, 0x9661, 0x966e, 0x9674, + 0x967b, 0x967c, 0x967e, 0x967f, 0x9681, 0x9682, 0x9683, 0x9684, + 0x9689, 0x9691, 0x9696, 0x969a, 0x969d, 0x969f, 0x96a4, 0x96a5, + 0x96a6, 0x96a9, 0x96ae, 0x96af, 0x96b3, 0x96ba, 0x96ca, 0x96d2, + 0x5db2, 0x96d8, 0x96da, 0x96dd, 0x96de, 0x96df, 0x96e9, 0x96ef, + 0x96f1, 0x96fa, 0x9702, 0x9703, 0x9705, 0x9709, 0x971a, 0x971b, + 0x971d, 0x9721, 0x9722, 0x9723, 0x9728, 0x9731, 0x9733, 0x9741, + 0x9743, 0x974a, 0x974e, 0x974f, 0x9755, 0x9757, 0x9758, 0x975a, + 0x975b, 0x9763, 0x9767, 0x976a, 0x976e, 0x9773, 0x9776, 0x9777, + 0x9778, 0x977b, 0x977d, 0x977f, 0x9780, 0x9789, 0x9795, 0x9796, + 0x9797, 0x9799, 0x979a, 0x979e, 0x979f, 0x97a2, 0x97ac, 0x97ae, + 0x97b1, 0x97b2, 0x97b5, 0x97b6, 0x97b8, 0x97b9, 0x97ba, 0x97bc, + 0x97be, 0x97bf, 0x97c1, 0x97c4, 0x97c5, 0x97c7, 0x97c9, 0x97ca, + 0x97cc, 0x97cd, 0x97ce, 0x97d0, 0x97d1, 0x97d4, 0x97d7, 0x97d8, + 0x97d9, 0x97dd, 0x97de, 0x97e0, 0x97db, 0x97e1, 0x97e4, 0x97ef, + 0x97f1, 0x97f4, 0x97f7, 0x97f8, 0x97fa, 0x9807, 0x980a, 0x9819, + 0x980d, 0x980e, 0x9814, 0x9816, 0x981c, 0x981e, 0x9820, 0x9823, + 0x9826, 0x982b, 0x982e, 0x982f, 0x9830, 0x9832, 0x9833, 0x9835, + 0x9825, 0x983e, 0x9844, 0x9847, 0x984a, 0x9851, 0x9852, 0x9853, + 0x9856, 0x9857, 0x9859, 0x985a, 0x9862, 0x9863, 0x9865, 0x9866, + 0x986a, 0x986c, 0x98ab, 0x98ad, 0x98ae, 0x98b0, 0x98b4, 0x98b7, + 0x98b8, 0x98ba, 0x98bb, 0x98bf, 0x98c2, 0x98c5, 0x98c8, 0x98cc, + 0x98e1, 0x98e3, 0x98e5, 0x98e6, 0x98e7, 0x98ea, 0x98f3, 0x98f6, + 0x9902, 0x9907, 0x9908, 0x9911, 0x9915, 0x9916, 0x9917, 0x991a, + 0x991b, 0x991c, 0x991f, 0x9922, 0x9926, 0x9927, 0x992b, 0x9931, + 0x9932, 0x9933, 0x9934, 0x9935, 0x9939, 0x993a, 0x993b, 0x993c, + 0x9940, 0x9941, 0x9946, 0x9947, 0x9948, 0x994d, 0x994e, 0x9954, + 0x9958, 0x9959, 0x995b, 0x995c, 0x995e, 0x995f, 0x9960, 0x999b, + 0x999d, 0x999f, 0x99a6, 0x99b0, 0x99b1, 0x99b2, 0x99b5, 0x99b9, + 0x99ba, 0x99bd, 0x99bf, 0x99c3, 0x99c9, 0x99d3, 0x99d4, 0x99d9, + 0x99da, 0x99dc, 0x99de, 0x99e7, 0x99ea, 0x99eb, 0x99ec, 0x99f0, + 0x99f4, 0x99f5, 0x99f9, 0x99fd, 0x99fe, 0x9a02, 0x9a03, 0x9a04, + 0x9a0b, 0x9a0c, 0x9a10, 0x9a11, 0x9a16, 0x9a1e, 0x9a20, 0x9a22, + 0x9a23, 0x9a24, 0x9a27, 0x9a2d, 0x9a2e, 0x9a33, 0x9a35, 0x9a36, + 0x9a38, 0x9a47, 0x9a41, 0x9a44, 0x9a4a, 0x9a4b, 0x9a4c, 0x9a4e, + 0x9a51, 0x9a54, 0x9a56, 0x9a5d, 0x9aaa, 0x9aac, 0x9aae, 0x9aaf, + 0x9ab2, 0x9ab4, 0x9ab5, 0x9ab6, 0x9ab9, 0x9abb, 0x9abe, 0x9abf, + 0x9ac1, 0x9ac3, 0x9ac6, 0x9ac8, 0x9ace, 0x9ad0, 0x9ad2, 0x9ad5, + 0x9ad6, 0x9ad7, 0x9adb, 0x9adc, 0x9ae0, 0x9ae4, 0x9ae5, 0x9ae7, + 0x9ae9, 0x9aec, 0x9af2, 0x9af3, 0x9af5, 0x9af9, 0x9afa, 0x9afd, + 0x9aff, 0x9b00, 0x9b01, 0x9b02, 0x9b03, 0x9b04, 0x9b05, 0x9b08, + 0x9b09, 0x9b0b, 0x9b0c, 0x9b0d, 0x9b0e, 0x9b10, 0x9b12, 0x9b16, + 0x9b19, 0x9b1b, 0x9b1c, 0x9b20, 0x9b26, 0x9b2b, 0x9b2d, 0x9b33, + 0x9b34, 0x9b35, 0x9b37, 0x9b39, 0x9b3a, 0x9b3d, 0x9b48, 0x9b4b, + 0x9b4c, 0x9b55, 0x9b56, 0x9b57, 0x9b5b, 0x9b5e, 0x9b61, 0x9b63, + 0x9b65, 0x9b66, 0x9b68, 0x9b6a, 0x9b6b, 0x9b6c, 0x9b6d, 0x9b6e, + 0x9b73, 0x9b75, 0x9b77, 0x9b78, 0x9b79, 0x9b7f, 0x9b80, 0x9b84, + 0x9b85, 0x9b86, 0x9b87, 0x9b89, 0x9b8a, 0x9b8b, 0x9b8d, 0x9b8f, + 0x9b90, 0x9b94, 0x9b9a, 0x9b9d, 0x9b9e, 0x9ba6, 0x9ba7, 0x9ba9, + 0x9bac, 0x9bb0, 0x9bb1, 0x9bb2, 0x9bb7, 0x9bb8, 0x9bbb, 0x9bbc, + 0x9bbe, 0x9bbf, 0x9bc1, 0x9bc7, 0x9bc8, 0x9bce, 0x9bd0, 0x9bd7, + 0x9bd8, 0x9bdd, 0x9bdf, 0x9be5, 0x9be7, 0x9bea, 0x9beb, 0x9bef, + 0x9bf3, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfd, 0x9bff, 0x9c00, + 0x9c02, 0x9c0b, 0x9c0f, 0x9c11, 0x9c16, 0x9c18, 0x9c19, 0x9c1a, + 0x9c1c, 0x9c1e, 0x9c22, 0x9c23, 0x9c26, 0x9c27, 0x9c28, 0x9c29, + 0x9c2a, 0x9c31, 0x9c35, 0x9c36, 0x9c37, 0x9c3d, 0x9c41, 0x9c43, + 0x9c44, 0x9c45, 0x9c49, 0x9c4a, 0x9c4e, 0x9c4f, 0x9c50, 0x9c53, + 0x9c54, 0x9c56, 0x9c58, 0x9c5b, 0x9c5d, 0x9c5e, 0x9c5f, 0x9c63, + 0x9c69, 0x9c6a, 0x9c5c, 0x9c6b, 0x9c68, 0x9c6e, 0x9c70, 0x9c72, + 0x9c75, 0x9c77, 0x9c7b, 0x9ce6, 0x9cf2, 0x9cf7, 0x9cf9, 0x9d0b, + 0x9d02, 0x9d11, 0x9d17, 0x9d18, 0x9d1c, 0x9d1d, 0x9d1e, 0x9d2f, + 0x9d30, 0x9d32, 0x9d33, 0x9d34, 0x9d3a, 0x9d3c, 0x9d45, 0x9d3d, + 0x9d42, 0x9d43, 0x9d47, 0x9d4a, 0x9d53, 0x9d54, 0x9d5f, 0x9d63, + 0x9d62, 0x9d65, 0x9d69, 0x9d6a, 0x9d6b, 0x9d70, 0x9d76, 0x9d77, + 0x9d7b, 0x9d7c, 0x9d7e, 0x9d83, 0x9d84, 0x9d86, 0x9d8a, 0x9d8d, + 0x9d8e, 0x9d92, 0x9d93, 0x9d95, 0x9d96, 0x9d97, 0x9d98, 0x9da1, + 0x9daa, 0x9dac, 0x9dae, 0x9db1, 0x9db5, 0x9db9, 0x9dbc, 0x9dbf, + 0x9dc3, 0x9dc7, 0x9dc9, 0x9dca, 0x9dd4, 0x9dd5, 0x9dd6, 0x9dd7, + 0x9dda, 0x9dde, 0x9ddf, 0x9de0, 0x9de5, 0x9de7, 0x9de9, 0x9deb, + 0x9dee, 0x9df0, 0x9df3, 0x9df4, 0x9dfe, 0x9e0a, 0x9e02, 0x9e07, + 0x9e0e, 0x9e10, 0x9e11, 0x9e12, 0x9e15, 0x9e16, 0x9e19, 0x9e1c, + 0x9e1d, 0x9e7a, 0x9e7b, 0x9e7c, 0x9e80, 0x9e82, 0x9e83, 0x9e84, + 0x9e85, 0x9e87, 0x9e8e, 0x9e8f, 0x9e96, 0x9e98, 0x9e9b, 0x9e9e, + 0x9ea4, 0x9ea8, 0x9eac, 0x9eae, 0x9eaf, 0x9eb0, 0x9eb3, 0x9eb4, + 0x9eb5, 0x9ec6, 0x9ec8, 0x9ecb, 0x9ed5, 0x9edf, 0x9ee4, 0x9ee7, + 0x9eec, 0x9eed, 0x9eee, 0x9ef0, 0x9ef1, 0x9ef2, 0x9ef5, 0x9ef8, + 0x9eff, 0x9f02, 0x9f03, 0x9f09, 0x9f0f, 0x9f10, 0x9f11, 0x9f12, + 0x9f14, 0x9f16, 0x9f17, 0x9f19, 0x9f1a, 0x9f1b, 0x9f1f, 0x9f22, + 0x9f26, 0x9f2a, 0x9f2b, 0x9f2f, 0x9f31, 0x9f32, 0x9f34, 0x9f37, + 0x9f39, 0x9f3a, 0x9f3c, 0x9f3d, 0x9f3f, 0x9f41, 0x9f43, 0x9f44, + 0x9f45, 0x9f46, 0x9f47, 0x9f53, 0x9f55, 0x9f56, 0x9f57, 0x9f58, + 0x9f5a, 0x9f5d, 0x9f5e, 0x9f68, 0x9f69, 0x9f6d, 0x9f6e, 0x9f6f, + 0x9f70, 0x9f71, 0x9f73, 0x9f75, 0x9f7a, 0x9f7d, 0x9f8f, 0x9f90, + 0x9f91, 0x9f92, 0x9f94, 0x9f96, 0x9f97, 0x9f9e, 0x9fa1, 0x9fa2, + 0x9fa3, 0x9fa5 +}; + + +/* The UCS char covered by JIS X0212 are sparsely distributed. So we + use again a two-step mapping table. The index table can be computed + using + + egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \ + ../eastasia/jis/jis0212.txt | awk '{ print $2, $1 }' | sort -u | + perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $first=$last=$idx=0; + while (<>) { + local($ucs,$jis,%rest) = split; + local($u)=hex($ucs); + local($j)=hex($jis); + if ($u - $last > 6) { + if ($last != 0) { + printf (" { start: %#06x, end: %#06x, idx: %5d },\n", + $first, $last, $idx); + $idx += $last - $first + 1; + } + $first=$u; + } + $last=$u; + } + printf (" { start: %#06x, end: %#06x, idx: %5d }, \n", + $first, $last, $idx); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const struct jisx0212_idx jisx0212_from_ucs_idx[] = +{ + { start: 0x007e, end: 0x007e, idx: 0 }, + { start: 0x00a1, end: 0x00af, idx: 1 }, + { start: 0x00b8, end: 0x017e, idx: 16 }, + { start: 0x01cd, end: 0x01dc, idx: 215 }, + { start: 0x01f5, end: 0x01f5, idx: 231 }, + { start: 0x02c7, end: 0x02c7, idx: 232 }, + { start: 0x02d8, end: 0x02dd, idx: 233 }, + { start: 0x0384, end: 0x0390, idx: 239 }, + { start: 0x03aa, end: 0x03b0, idx: 252 }, + { start: 0x03c2, end: 0x03c2, idx: 259 }, + { start: 0x03ca, end: 0x03ce, idx: 260 }, + { start: 0x0402, end: 0x040f, idx: 265 }, + { start: 0x0452, end: 0x045f, idx: 279 }, + { start: 0x2116, end: 0x2116, idx: 293 }, + { start: 0x2122, end: 0x2122, idx: 294 }, + { start: 0x4e02, end: 0x4e05, idx: 295 }, + { start: 0x4e0c, end: 0x4e12, idx: 299 }, + { start: 0x4e1f, end: 0x4e35, idx: 306 }, + { start: 0x4e40, end: 0x4e47, idx: 329 }, + { start: 0x4e51, end: 0x4e51, idx: 337 }, + { start: 0x4e5a, end: 0x4e5c, idx: 338 }, + { start: 0x4e63, end: 0x4e69, idx: 341 }, + { start: 0x4e74, end: 0x4e7f, idx: 348 }, + { start: 0x4e8d, end: 0x4e8d, idx: 360 }, + { start: 0x4e96, end: 0x4e9d, idx: 361 }, + { start: 0x4eaf, end: 0x4eaf, idx: 369 }, + { start: 0x4eb9, end: 0x4eb9, idx: 370 }, + { start: 0x4ec3, end: 0x4ec3, idx: 371 }, + { start: 0x4ed0, end: 0x4ed0, idx: 372 }, + { start: 0x4eda, end: 0x4ee8, idx: 373 }, + { start: 0x4eef, end: 0x4ef5, idx: 388 }, + { start: 0x4efd, end: 0x4f19, idx: 395 }, + { start: 0x4f2e, end: 0x4f58, idx: 424 }, + { start: 0x4f5f, end: 0x4f63, idx: 467 }, + { start: 0x4f6a, end: 0x4f9f, idx: 472 }, + { start: 0x4fb2, end: 0x4fd2, idx: 526 }, + { start: 0x4fdc, end: 0x4fe2, idx: 559 }, + { start: 0x4ff0, end: 0x4ff2, idx: 566 }, + { start: 0x4ffc, end: 0x5027, idx: 569 }, + { start: 0x502e, end: 0x5071, idx: 613 }, + { start: 0x5081, end: 0x50a2, idx: 681 }, + { start: 0x50aa, end: 0x50b0, idx: 715 }, + { start: 0x50b9, end: 0x5110, idx: 722 }, + { start: 0x5117, end: 0x5139, idx: 810 }, + { start: 0x5142, end: 0x5142, idx: 845 }, + { start: 0x514a, end: 0x5158, idx: 846 }, + { start: 0x515f, end: 0x5166, idx: 861 }, + { start: 0x517e, end: 0x5184, idx: 869 }, + { start: 0x518b, end: 0x518e, idx: 876 }, + { start: 0x5198, end: 0x51a3, idx: 880 }, + { start: 0x51ad, end: 0x51ad, idx: 892 }, + { start: 0x51b8, end: 0x51c8, idx: 893 }, + { start: 0x51cf, end: 0x51e5, idx: 910 }, + { start: 0x51ee, end: 0x51f7, idx: 933 }, + { start: 0x5201, end: 0x5205, idx: 943 }, + { start: 0x5212, end: 0x5218, idx: 948 }, + { start: 0x5222, end: 0x5228, idx: 955 }, + { start: 0x5231, end: 0x5235, idx: 962 }, + { start: 0x523c, end: 0x523c, idx: 967 }, + { start: 0x5245, end: 0x5249, idx: 968 }, + { start: 0x5255, end: 0x5266, idx: 973 }, + { start: 0x526e, end: 0x526e, idx: 991 }, + { start: 0x5277, end: 0x5279, idx: 992 }, + { start: 0x5280, end: 0x528c, idx: 995 }, + { start: 0x5293, end: 0x529c, idx: 1008 }, + { start: 0x52a4, end: 0x52a7, idx: 1018 }, + { start: 0x52af, end: 0x52f7, idx: 1022 }, + { start: 0x5300, end: 0x5303, idx: 1095 }, + { start: 0x530a, end: 0x5335, idx: 1099 }, + { start: 0x533c, end: 0x5342, idx: 1143 }, + { start: 0x534b, end: 0x534c, idx: 1150 }, + { start: 0x5359, end: 0x5365, idx: 1152 }, + { start: 0x536c, end: 0x5372, idx: 1165 }, + { start: 0x5379, end: 0x53c5, idx: 1172 }, + { start: 0x53cf, end: 0x53e7, idx: 1249 }, + { start: 0x53f5, end: 0x53f5, idx: 1274 }, + { start: 0x5402, end: 0x5402, idx: 1275 }, + { start: 0x5413, end: 0x5413, idx: 1276 }, + { start: 0x541a, end: 0x541a, idx: 1277 }, + { start: 0x5421, end: 0x5435, idx: 1278 }, + { start: 0x5443, end: 0x544f, idx: 1299 }, + { start: 0x545e, end: 0x5474, idx: 1312 }, + { start: 0x547f, end: 0x54bf, idx: 1335 }, + { start: 0x54c6, end: 0x54ce, idx: 1400 }, + { start: 0x54e0, end: 0x54e0, idx: 1409 }, + { start: 0x54ea, end: 0x54ef, idx: 1410 }, + { start: 0x54f6, end: 0x550e, idx: 1416 }, + { start: 0x5515, end: 0x5515, idx: 1441 }, + { start: 0x552a, end: 0x552b, idx: 1442 }, + { start: 0x5532, end: 0x5551, idx: 1444 }, + { start: 0x5558, end: 0x5566, idx: 1476 }, + { start: 0x557f, end: 0x5597, idx: 1491 }, + { start: 0x55a3, end: 0x55a4, idx: 1516 }, + { start: 0x55ad, end: 0x55b2, idx: 1518 }, + { start: 0x55bf, end: 0x55e2, idx: 1524 }, + { start: 0x55e9, end: 0x55e9, idx: 1560 }, + { start: 0x55f6, end: 0x55f6, idx: 1561 }, + { start: 0x55ff, end: 0x5612, idx: 1562 }, + { start: 0x5619, end: 0x5619, idx: 1582 }, + { start: 0x562c, end: 0x5654, idx: 1583 }, + { start: 0x565e, end: 0x5675, idx: 1624 }, + { start: 0x5684, end: 0x568c, idx: 1648 }, + { start: 0x5695, end: 0x569f, idx: 1657 }, + { start: 0x56a6, end: 0x56b7, idx: 1668 }, + { start: 0x56be, end: 0x56be, idx: 1686 }, + { start: 0x56c5, end: 0x56d0, idx: 1687 }, + { start: 0x56d9, end: 0x56f7, idx: 1699 }, + { start: 0x5701, end: 0x5734, idx: 1730 }, + { start: 0x573d, end: 0x5752, idx: 1782 }, + { start: 0x5762, end: 0x5783, idx: 1804 }, + { start: 0x578c, end: 0x578c, idx: 1838 }, + { start: 0x5794, end: 0x57ac, idx: 1839 }, + { start: 0x57b8, end: 0x57bd, idx: 1864 }, + { start: 0x57c7, end: 0x57d5, idx: 1870 }, + { start: 0x57dd, end: 0x580d, idx: 1885 }, + { start: 0x581b, end: 0x5832, idx: 1934 }, + { start: 0x5839, end: 0x583f, idx: 1958 }, + { start: 0x5849, end: 0x5855, idx: 1965 }, + { start: 0x585f, end: 0x5868, idx: 1978 }, + { start: 0x5878, end: 0x5896, idx: 1988 }, + { start: 0x589d, end: 0x58a9, idx: 2019 }, + { start: 0x58b1, end: 0x58b2, idx: 2032 }, + { start: 0x58bc, end: 0x58e2, idx: 2034 }, + { start: 0x58e9, end: 0x58e9, idx: 2073 }, + { start: 0x58f3, end: 0x58f3, idx: 2074 }, + { start: 0x5905, end: 0x5914, idx: 2075 }, + { start: 0x591d, end: 0x5928, idx: 2091 }, + { start: 0x592f, end: 0x5936, idx: 2103 }, + { start: 0x593f, end: 0x5946, idx: 2111 }, + { start: 0x5952, end: 0x5963, idx: 2119 }, + { start: 0x596b, end: 0x597c, idx: 2137 }, + { start: 0x598b, end: 0x5997, idx: 2155 }, + { start: 0x599f, end: 0x59d2, idx: 2168 }, + { start: 0x59dd, end: 0x59e7, idx: 2220 }, + { start: 0x59ee, end: 0x59f7, idx: 2231 }, + { start: 0x5a00, end: 0x5a04, idx: 2241 }, + { start: 0x5a0c, end: 0x5a13, idx: 2246 }, + { start: 0x5a1e, end: 0x5a30, idx: 2254 }, + { start: 0x5a44, end: 0x5a55, idx: 2273 }, + { start: 0x5a5e, end: 0x5a6d, idx: 2291 }, + { start: 0x5a77, end: 0x5a7e, idx: 2307 }, + { start: 0x5a8b, end: 0x5ac8, idx: 2315 }, + { start: 0x5acf, end: 0x5acf, idx: 2377 }, + { start: 0x5ada, end: 0x5aee, idx: 2378 }, + { start: 0x5af5, end: 0x5af6, idx: 2399 }, + { start: 0x5afd, end: 0x5b01, idx: 2401 }, + { start: 0x5b08, end: 0x5b08, idx: 2406 }, + { start: 0x5b17, end: 0x5b25, idx: 2407 }, + { start: 0x5b2d, end: 0x5b2d, idx: 2422 }, + { start: 0x5b34, end: 0x5b38, idx: 2423 }, + { start: 0x5b41, end: 0x5b41, idx: 2428 }, + { start: 0x5b4b, end: 0x5b56, idx: 2429 }, + { start: 0x5b5e, end: 0x5b5e, idx: 2441 }, + { start: 0x5b68, end: 0x5b6f, idx: 2442 }, + { start: 0x5b7c, end: 0x5b96, idx: 2450 }, + { start: 0x5ba8, end: 0x5bc1, idx: 2477 }, + { start: 0x5bcd, end: 0x5bcf, idx: 2503 }, + { start: 0x5bd6, end: 0x5be0, idx: 2506 }, + { start: 0x5bef, end: 0x5bf4, idx: 2517 }, + { start: 0x5bfd, end: 0x5bfd, idx: 2523 }, + { start: 0x5c0c, end: 0x5c0c, idx: 2524 }, + { start: 0x5c17, end: 0x5c17, idx: 2525 }, + { start: 0x5c1e, end: 0x5c36, idx: 2526 }, + { start: 0x5c59, end: 0x5c7d, idx: 2551 }, + { start: 0x5c87, end: 0x5c92, idx: 2588 }, + { start: 0x5c9d, end: 0x5caa, idx: 2600 }, + { start: 0x5cb2, end: 0x5cba, idx: 2614 }, + { start: 0x5cc9, end: 0x5ccb, idx: 2623 }, + { start: 0x5cd2, end: 0x5cdd, idx: 2626 }, + { start: 0x5cee, end: 0x5cf4, idx: 2638 }, + { start: 0x5d01, end: 0x5d06, idx: 2645 }, + { start: 0x5d0d, end: 0x5d12, idx: 2651 }, + { start: 0x5d23, end: 0x5d4a, idx: 2657 }, + { start: 0x5d51, end: 0x5d70, idx: 2697 }, + { start: 0x5d79, end: 0x5d8a, idx: 2729 }, + { start: 0x5d92, end: 0x5da0, idx: 2747 }, + { start: 0x5da7, end: 0x5db9, idx: 2762 }, + { start: 0x5dc3, end: 0x5dd0, idx: 2781 }, + { start: 0x5dd8, end: 0x5dd9, idx: 2795 }, + { start: 0x5de0, end: 0x5de9, idx: 2797 }, + { start: 0x5df8, end: 0x5df9, idx: 2807 }, + { start: 0x5e00, end: 0x5e00, idx: 2809 }, + { start: 0x5e07, end: 0x5e18, idx: 2810 }, + { start: 0x5e1f, end: 0x5e20, idx: 2828 }, + { start: 0x5e28, end: 0x5e35, idx: 2830 }, + { start: 0x5e3e, end: 0x5e3e, idx: 2844 }, + { start: 0x5e49, end: 0x5e5e, idx: 2845 }, + { start: 0x5e68, end: 0x5e70, idx: 2867 }, + { start: 0x5e80, end: 0x5e80, idx: 2876 }, + { start: 0x5e8b, end: 0x5e8e, idx: 2877 }, + { start: 0x5ea2, end: 0x5eb3, idx: 2881 }, + { start: 0x5ebd, end: 0x5ebf, idx: 2899 }, + { start: 0x5ec6, end: 0x5ed5, idx: 2902 }, + { start: 0x5edc, end: 0x5ede, idx: 2918 }, + { start: 0x5ee5, end: 0x5eeb, idx: 2921 }, + { start: 0x5f02, end: 0x5f0e, idx: 2928 }, + { start: 0x5f19, end: 0x5f67, idx: 2941 }, + { start: 0x5f6f, end: 0x5f7e, idx: 3020 }, + { start: 0x5f89, end: 0x5f8f, idx: 3036 }, + { start: 0x5f96, end: 0x5fb1, idx: 3043 }, + { start: 0x5fb8, end: 0x5fb8, idx: 3071 }, + { start: 0x5fc4, end: 0x5fd4, idx: 3072 }, + { start: 0x5fde, end: 0x5ffc, idx: 3089 }, + { start: 0x6007, end: 0x6024, idx: 3120 }, + { start: 0x602d, end: 0x6035, idx: 3150 }, + { start: 0x6040, end: 0x6040, idx: 3159 }, + { start: 0x6047, end: 0x6067, idx: 3160 }, + { start: 0x6071, end: 0x6071, idx: 3193 }, + { start: 0x607e, end: 0x60a8, idx: 3194 }, + { start: 0x60b0, end: 0x60e5, idx: 3237 }, + { start: 0x60f2, end: 0x6122, idx: 3291 }, + { start: 0x612a, end: 0x6139, idx: 3340 }, + { start: 0x6141, end: 0x6149, idx: 3356 }, + { start: 0x615e, end: 0x6160, idx: 3365 }, + { start: 0x616c, end: 0x6184, idx: 3368 }, + { start: 0x618b, end: 0x61ad, idx: 3393 }, + { start: 0x61b8, end: 0x61c2, idx: 3428 }, + { start: 0x61ce, end: 0x61d5, idx: 3439 }, + { start: 0x61dc, end: 0x61ef, idx: 3447 }, + { start: 0x6201, end: 0x6207, idx: 3467 }, + { start: 0x6213, end: 0x6215, idx: 3474 }, + { start: 0x621c, end: 0x622b, idx: 3477 }, + { start: 0x6239, end: 0x625c, idx: 3493 }, + { start: 0x6264, end: 0x6264, idx: 3529 }, + { start: 0x626d, end: 0x6273, idx: 3530 }, + { start: 0x627a, end: 0x627d, idx: 3537 }, + { start: 0x628d, end: 0x6290, idx: 3541 }, + { start: 0x62a6, end: 0x62a8, idx: 3545 }, + { start: 0x62b3, end: 0x62c4, idx: 3548 }, + { start: 0x62ce, end: 0x62ce, idx: 3566 }, + { start: 0x62d5, end: 0x62da, idx: 3567 }, + { start: 0x62ea, end: 0x62ea, idx: 3573 }, + { start: 0x62f2, end: 0x62f4, idx: 3574 }, + { start: 0x62fc, end: 0x6318, idx: 3577 }, + { start: 0x6329, end: 0x632d, idx: 3606 }, + { start: 0x6335, end: 0x635b, idx: 3611 }, + { start: 0x6365, end: 0x63a6, idx: 3650 }, + { start: 0x63ad, end: 0x63af, idx: 3716 }, + { start: 0x63bd, end: 0x63d5, idx: 3719 }, + { start: 0x63dc, end: 0x63f9, idx: 3744 }, + { start: 0x6409, end: 0x6435, idx: 3774 }, + { start: 0x643d, end: 0x643f, idx: 3819 }, + { start: 0x644b, end: 0x6463, idx: 3822 }, + { start: 0x646d, end: 0x6474, idx: 3847 }, + { start: 0x647b, end: 0x647d, idx: 3855 }, + { start: 0x6485, end: 0x6487, idx: 3858 }, + { start: 0x648f, end: 0x6491, idx: 3861 }, + { start: 0x6498, end: 0x64ac, idx: 3864 }, + { start: 0x64b3, end: 0x64b3, idx: 3885 }, + { start: 0x64bd, end: 0x64d7, idx: 3886 }, + { start: 0x64e4, end: 0x6531, idx: 3913 }, + { start: 0x653a, end: 0x6549, idx: 3991 }, + { start: 0x6550, end: 0x6554, idx: 4007 }, + { start: 0x655f, end: 0x6560, idx: 4012 }, + { start: 0x6567, end: 0x656b, idx: 4014 }, + { start: 0x657a, end: 0x658a, idx: 4019 }, + { start: 0x6592, end: 0x65a6, idx: 4036 }, + { start: 0x65ae, end: 0x65b4, idx: 4057 }, + { start: 0x65bf, end: 0x65d8, idx: 4064 }, + { start: 0x65df, end: 0x65df, idx: 4090 }, + { start: 0x65f0, end: 0x6616, idx: 4091 }, + { start: 0x661d, end: 0x6639, idx: 4130 }, + { start: 0x6640, end: 0x6661, idx: 4159 }, + { start: 0x666a, end: 0x666c, idx: 4193 }, + { start: 0x6673, end: 0x6680, idx: 4196 }, + { start: 0x668b, end: 0x6692, idx: 4210 }, + { start: 0x6699, end: 0x66a4, idx: 4218 }, + { start: 0x66ad, end: 0x66d4, idx: 4230 }, + { start: 0x66db, end: 0x66df, idx: 4270 }, + { start: 0x66e8, end: 0x66ee, idx: 4275 }, + { start: 0x66fa, end: 0x66fb, idx: 4282 }, + { start: 0x6705, end: 0x6707, idx: 4284 }, + { start: 0x670e, end: 0x6722, idx: 4287 }, + { start: 0x6733, end: 0x6733, idx: 4308 }, + { start: 0x673e, end: 0x673e, idx: 4309 }, + { start: 0x6745, end: 0x674c, idx: 4310 }, + { start: 0x6754, end: 0x6755, idx: 4318 }, + { start: 0x675d, end: 0x675d, idx: 4320 }, + { start: 0x6766, end: 0x6784, idx: 4321 }, + { start: 0x678e, end: 0x679b, idx: 4352 }, + { start: 0x67b0, end: 0x67c9, idx: 4366 }, + { start: 0x67d2, end: 0x67e6, idx: 4392 }, + { start: 0x67f0, end: 0x67f9, idx: 4413 }, + { start: 0x6814, end: 0x681f, idx: 4423 }, + { start: 0x6827, end: 0x6833, idx: 4435 }, + { start: 0x683b, end: 0x685b, idx: 4448 }, + { start: 0x686b, end: 0x6888, idx: 4481 }, + { start: 0x6896, end: 0x68b2, idx: 4511 }, + { start: 0x68bb, end: 0x68bb, idx: 4540 }, + { start: 0x68c5, end: 0x68dd, idx: 4541 }, + { start: 0x68e5, end: 0x68fd, idx: 4566 }, + { start: 0x6906, end: 0x6917, idx: 4591 }, + { start: 0x6931, end: 0x693b, idx: 4609 }, + { start: 0x6942, end: 0x694e, idx: 4620 }, + { start: 0x6957, end: 0x695b, idx: 4633 }, + { start: 0x6963, end: 0x6972, idx: 4638 }, + { start: 0x697a, end: 0x6980, idx: 4654 }, + { start: 0x698d, end: 0x6998, idx: 4661 }, + { start: 0x69a1, end: 0x69af, idx: 4673 }, + { start: 0x69b7, end: 0x69bc, idx: 4688 }, + { start: 0x69c5, end: 0x69c8, idx: 4694 }, + { start: 0x69d1, end: 0x69d7, idx: 4698 }, + { start: 0x69e2, end: 0x69e5, idx: 4705 }, + { start: 0x69ee, end: 0x69f5, idx: 4709 }, + { start: 0x69fe, end: 0x6a03, idx: 4717 }, + { start: 0x6a0f, end: 0x6a28, idx: 4723 }, + { start: 0x6a30, end: 0x6a5b, idx: 4749 }, + { start: 0x6a64, end: 0x6a6a, idx: 4793 }, + { start: 0x6a71, end: 0x6a73, idx: 4800 }, + { start: 0x6a7e, end: 0x6a91, idx: 4803 }, + { start: 0x6a9b, end: 0x6ab4, idx: 4823 }, + { start: 0x6abd, end: 0x6abf, idx: 4849 }, + { start: 0x6ac6, end: 0x6add, idx: 4852 }, + { start: 0x6ae4, end: 0x6af2, idx: 4876 }, + { start: 0x6afc, end: 0x6b3f, idx: 4891 }, + { start: 0x6b46, end: 0x6b60, idx: 4959 }, + { start: 0x6b67, end: 0x6b75, idx: 4986 }, + { start: 0x6b7d, end: 0x6b85, idx: 5001 }, + { start: 0x6b97, end: 0x6bb0, idx: 5010 }, + { start: 0x6bb8, end: 0x6bcc, idx: 5036 }, + { start: 0x6bd6, end: 0x6bda, idx: 5057 }, + { start: 0x6be1, end: 0x6be7, idx: 5062 }, + { start: 0x6bee, end: 0x6c12, idx: 5069 }, + { start: 0x6c19, end: 0x6c1f, idx: 5106 }, + { start: 0x6c26, end: 0x6c3f, idx: 5113 }, + { start: 0x6c4a, end: 0x6c5c, idx: 5139 }, + { start: 0x6c67, end: 0x6c7b, idx: 5158 }, + { start: 0x6c85, end: 0x6c89, idx: 5179 }, + { start: 0x6c94, end: 0x6c9f, idx: 5184 }, + { start: 0x6cb0, end: 0x6cb4, idx: 5196 }, + { start: 0x6cc2, end: 0x6cc6, idx: 5201 }, + { start: 0x6ccd, end: 0x6ce0, idx: 5206 }, + { start: 0x6ce7, end: 0x6cf4, idx: 5226 }, + { start: 0x6d04, end: 0x6d13, idx: 5240 }, + { start: 0x6d1a, end: 0x6d1a, idx: 5256 }, + { start: 0x6d26, end: 0x6d31, idx: 5257 }, + { start: 0x6d39, end: 0x6d3f, idx: 5269 }, + { start: 0x6d57, end: 0x6d57, idx: 5276 }, + { start: 0x6d5e, end: 0x6d67, idx: 5277 }, + { start: 0x6d6f, end: 0x6d70, idx: 5287 }, + { start: 0x6d7c, end: 0x6d87, idx: 5289 }, + { start: 0x6d91, end: 0x6d98, idx: 5301 }, + { start: 0x6daa, end: 0x6dac, idx: 5309 }, + { start: 0x6db4, end: 0x6dcf, idx: 5312 }, + { start: 0x6dd6, end: 0x6e04, idx: 5340 }, + { start: 0x6e1e, end: 0x6e27, idx: 5387 }, + { start: 0x6e32, end: 0x6e3c, idx: 5397 }, + { start: 0x6e44, end: 0x6e68, idx: 5408 }, + { start: 0x6e73, end: 0x6e73, idx: 5445 }, + { start: 0x6e7b, end: 0x6e7d, idx: 5446 }, + { start: 0x6e8d, end: 0x6e99, idx: 5449 }, + { start: 0x6ea0, end: 0x6ea0, idx: 5462 }, + { start: 0x6ea7, end: 0x6eb3, idx: 5463 }, + { start: 0x6ebb, end: 0x6ecf, idx: 5476 }, + { start: 0x6eeb, end: 0x6eee, idx: 5497 }, + { start: 0x6ef9, end: 0x6efd, idx: 5501 }, + { start: 0x6f04, end: 0x6f0d, idx: 5506 }, + { start: 0x6f16, end: 0x6f1b, idx: 5516 }, + { start: 0x6f26, end: 0x6f3c, idx: 5522 }, + { start: 0x6f4f, end: 0x6f6c, idx: 5545 }, + { start: 0x6f7d, end: 0x6fbc, idx: 5575 }, + { start: 0x6fc5, end: 0x6fca, idx: 5639 }, + { start: 0x6fda, end: 0x6fde, idx: 5645 }, + { start: 0x6fe8, end: 0x6fe9, idx: 5650 }, + { start: 0x6ff0, end: 0x700d, idx: 5652 }, + { start: 0x7017, end: 0x7017, idx: 5682 }, + { start: 0x7020, end: 0x7023, idx: 5683 }, + { start: 0x702f, end: 0x703c, idx: 5687 }, + { start: 0x7043, end: 0x7055, idx: 5701 }, + { start: 0x705d, end: 0x7065, idx: 5720 }, + { start: 0x706c, end: 0x706e, idx: 5729 }, + { start: 0x7075, end: 0x7076, idx: 5732 }, + { start: 0x707e, end: 0x7086, idx: 5734 }, + { start: 0x7094, end: 0x709b, idx: 5743 }, + { start: 0x70a4, end: 0x70a4, idx: 5751 }, + { start: 0x70ab, end: 0x70b7, idx: 5752 }, + { start: 0x70ca, end: 0x70ca, idx: 5765 }, + { start: 0x70d1, end: 0x70dc, idx: 5766 }, + { start: 0x70e4, end: 0x70e4, idx: 5778 }, + { start: 0x70fa, end: 0x70fa, idx: 5779 }, + { start: 0x7103, end: 0x710f, idx: 5780 }, + { start: 0x711e, end: 0x7120, idx: 5793 }, + { start: 0x712b, end: 0x7131, idx: 5796 }, + { start: 0x7138, end: 0x7138, idx: 5803 }, + { start: 0x7141, end: 0x7160, idx: 5804 }, + { start: 0x7168, end: 0x7168, idx: 5836 }, + { start: 0x7179, end: 0x7179, idx: 5837 }, + { start: 0x7180, end: 0x7192, idx: 5838 }, + { start: 0x719a, end: 0x71a2, idx: 5857 }, + { start: 0x71af, end: 0x71b3, idx: 5866 }, + { start: 0x71ba, end: 0x71c4, idx: 5871 }, + { start: 0x71cb, end: 0x71cc, idx: 5882 }, + { start: 0x71d3, end: 0x71dc, idx: 5884 }, + { start: 0x71f8, end: 0x7200, idx: 5894 }, + { start: 0x7207, end: 0x7209, idx: 5903 }, + { start: 0x7213, end: 0x7224, idx: 5906 }, + { start: 0x722b, end: 0x7239, idx: 5924 }, + { start: 0x7241, end: 0x7245, idx: 5939 }, + { start: 0x724e, end: 0x7293, idx: 5944 }, + { start: 0x729b, end: 0x729b, idx: 6014 }, + { start: 0x72a8, end: 0x72b4, idx: 6015 }, + { start: 0x72be, end: 0x72cc, idx: 6028 }, + { start: 0x72d5, end: 0x72d8, idx: 6043 }, + { start: 0x72df, end: 0x72e5, idx: 6047 }, + { start: 0x72f3, end: 0x7343, idx: 6054 }, + { start: 0x734d, end: 0x7386, idx: 6135 }, + { start: 0x738e, end: 0x73ad, idx: 6193 }, + { start: 0x73b5, end: 0x73e9, idx: 6225 }, + { start: 0x73f4, end: 0x740a, idx: 6278 }, + { start: 0x7411, end: 0x7411, idx: 6301 }, + { start: 0x741a, end: 0x741b, idx: 6302 }, + { start: 0x7424, end: 0x7431, idx: 6304 }, + { start: 0x7439, end: 0x7439, idx: 6318 }, + { start: 0x7440, end: 0x7472, idx: 6319 }, + { start: 0x7480, end: 0x74bf, idx: 6370 }, + { start: 0x74c8, end: 0x74ff, idx: 6434 }, + { start: 0x7506, end: 0x7506, idx: 6490 }, + { start: 0x7512, end: 0x7517, idx: 6491 }, + { start: 0x7520, end: 0x752f, idx: 6497 }, + { start: 0x7536, end: 0x7557, idx: 6513 }, + { start: 0x755e, end: 0x7561, idx: 6547 }, + { start: 0x756f, end: 0x7571, idx: 6551 }, + { start: 0x7579, end: 0x7585, idx: 6554 }, + { start: 0x7590, end: 0x75a4, idx: 6567 }, + { start: 0x75b4, end: 0x75cf, idx: 6588 }, + { start: 0x75d7, end: 0x75f1, idx: 6616 }, + { start: 0x75f9, end: 0x75f9, idx: 6643 }, + { start: 0x7600, end: 0x764b, idx: 6644 }, + { start: 0x7655, end: 0x7665, idx: 6720 }, + { start: 0x766d, end: 0x7674, idx: 6737 }, + { start: 0x7681, end: 0x7685, idx: 6745 }, + { start: 0x768c, end: 0x768d, idx: 6750 }, + { start: 0x7695, end: 0x76ad, idx: 6752 }, + { start: 0x76bd, end: 0x76d9, idx: 6777 }, + { start: 0x76e0, end: 0x7784, idx: 6806 }, + { start: 0x778c, end: 0x778d, idx: 6971 }, + { start: 0x7794, end: 0x77b5, idx: 6973 }, + { start: 0x77be, end: 0x77c9, idx: 7007 }, + { start: 0x77d1, end: 0x77fb, idx: 7019 }, + { start: 0x7805, end: 0x7811, idx: 7062 }, + { start: 0x781d, end: 0x7823, idx: 7075 }, + { start: 0x782d, end: 0x7837, idx: 7082 }, + { start: 0x7843, end: 0x7852, idx: 7093 }, + { start: 0x785c, end: 0x786e, idx: 7109 }, + { start: 0x787a, end: 0x787e, idx: 7128 }, + { start: 0x788a, end: 0x78b3, idx: 7133 }, + { start: 0x78bb, end: 0x78bf, idx: 7175 }, + { start: 0x78c7, end: 0x78ea, idx: 7180 }, + { start: 0x78f2, end: 0x7910, idx: 7216 }, + { start: 0x791a, end: 0x795c, idx: 7247 }, + { start: 0x7967, end: 0x796b, idx: 7314 }, + { start: 0x7972, end: 0x7972, idx: 7319 }, + { start: 0x7979, end: 0x797e, idx: 7320 }, + { start: 0x798b, end: 0x79a1, idx: 7326 }, + { start: 0x79a8, end: 0x79bb, idx: 7349 }, + { start: 0x79c2, end: 0x79f1, idx: 7369 }, + { start: 0x79f8, end: 0x7a3a, idx: 7417 }, + { start: 0x7a44, end: 0x7a4c, idx: 7484 }, + { start: 0x7a55, end: 0x7a6d, idx: 7493 }, + { start: 0x7a75, end: 0x7a94, idx: 7518 }, + { start: 0x7a9e, end: 0x7aa3, idx: 7550 }, + { start: 0x7aac, end: 0x7aac, idx: 7556 }, + { start: 0x7ab3, end: 0x7abc, idx: 7557 }, + { start: 0x7ac6, end: 0x7ad1, idx: 7567 }, + { start: 0x7adb, end: 0x7adb, idx: 7579 }, + { start: 0x7ae8, end: 0x7af4, idx: 7580 }, + { start: 0x7afb, end: 0x7afe, idx: 7593 }, + { start: 0x7b07, end: 0x7b07, idx: 7597 }, + { start: 0x7b14, end: 0x7b14, idx: 7598 }, + { start: 0x7b1f, end: 0x7b34, idx: 7599 }, + { start: 0x7b3d, end: 0x7b47, idx: 7621 }, + { start: 0x7b4e, end: 0x7b4e, idx: 7632 }, + { start: 0x7b55, end: 0x7b55, idx: 7633 }, + { start: 0x7b60, end: 0x7b77, idx: 7634 }, + { start: 0x7b84, end: 0x7ba5, idx: 7658 }, + { start: 0x7bac, end: 0x7bca, idx: 7692 }, + { start: 0x7bd4, end: 0x7bdb, idx: 7723 }, + { start: 0x7be8, end: 0x7bea, idx: 7731 }, + { start: 0x7bf2, end: 0x7c0f, idx: 7734 }, + { start: 0x7c19, end: 0x7c3a, idx: 7764 }, + { start: 0x7c46, end: 0x7c4a, idx: 7798 }, + { start: 0x7c51, end: 0x7c72, idx: 7803 }, + { start: 0x7c79, end: 0x7c7d, idx: 7837 }, + { start: 0x7c86, end: 0x7c87, idx: 7842 }, + { start: 0x7c8f, end: 0x7c94, idx: 7844 }, + { start: 0x7c9e, end: 0x7ca6, idx: 7850 }, + { start: 0x7cb0, end: 0x7cdd, idx: 7859 }, + { start: 0x7ce6, end: 0x7ceb, idx: 7905 }, + { start: 0x7cf5, end: 0x7cf5, idx: 7911 }, + { start: 0x7d03, end: 0x7d16, idx: 7912 }, + { start: 0x7d1d, end: 0x7d31, idx: 7932 }, + { start: 0x7d3c, end: 0x7d5d, idx: 7953 }, + { start: 0x7d65, end: 0x7d70, idx: 7987 }, + { start: 0x7d78, end: 0x7d9e, idx: 7999 }, + { start: 0x7da6, end: 0x7daa, idx: 8038 }, + { start: 0x7db3, end: 0x7db9, idx: 8043 }, + { start: 0x7dc2, end: 0x7dce, idx: 8050 }, + { start: 0x7dd7, end: 0x7dd9, idx: 8063 }, + { start: 0x7de2, end: 0x7e00, idx: 8066 }, + { start: 0x7e08, end: 0x7e08, idx: 8097 }, + { start: 0x7e10, end: 0x7e20, idx: 8098 }, + { start: 0x7e27, end: 0x7e36, idx: 8115 }, + { start: 0x7e3f, end: 0x7e47, idx: 8131 }, + { start: 0x7e4e, end: 0x7e58, idx: 8140 }, + { start: 0x7e5f, end: 0x7e9e, idx: 8151 }, + { start: 0x7f3b, end: 0x7f47, idx: 8215 }, + { start: 0x7f4f, end: 0x7f53, idx: 8228 }, + { start: 0x7f5b, end: 0x7f66, idx: 8233 }, + { start: 0x7f6d, end: 0x7f71, idx: 8245 }, + { start: 0x7f7d, end: 0x7f80, idx: 8250 }, + { start: 0x7f8b, end: 0x7fad, idx: 8254 }, + { start: 0x7fb4, end: 0x7fb4, idx: 8289 }, + { start: 0x7fbc, end: 0x7fcf, idx: 8290 }, + { start: 0x7fdb, end: 0x7ff2, idx: 8310 }, + { start: 0x7ffa, end: 0x7fff, idx: 8334 }, + { start: 0x8007, end: 0x8016, idx: 8340 }, + { start: 0x801d, end: 0x8044, idx: 8356 }, + { start: 0x8060, end: 0x8066, idx: 8396 }, + { start: 0x806d, end: 0x8075, idx: 8403 }, + { start: 0x8081, end: 0x8081, idx: 8412 }, + { start: 0x8088, end: 0x808e, idx: 8413 }, + { start: 0x809c, end: 0x809e, idx: 8420 }, + { start: 0x80a6, end: 0x80ab, idx: 8423 }, + { start: 0x80b8, end: 0x80b9, idx: 8429 }, + { start: 0x80c8, end: 0x80d8, idx: 8431 }, + { start: 0x80e0, end: 0x80e0, idx: 8448 }, + { start: 0x80ed, end: 0x8103, idx: 8449 }, + { start: 0x810b, end: 0x810b, idx: 8472 }, + { start: 0x8116, end: 0x813c, idx: 8473 }, + { start: 0x8145, end: 0x8157, idx: 8512 }, + { start: 0x8160, end: 0x816f, idx: 8531 }, + { start: 0x8177, end: 0x8177, idx: 8547 }, + { start: 0x8181, end: 0x81a2, idx: 8548 }, + { start: 0x81ae, end: 0x81b4, idx: 8582 }, + { start: 0x81bb, end: 0x81bb, idx: 8589 }, + { start: 0x81c3, end: 0x81e4, idx: 8590 }, + { start: 0x81eb, end: 0x8203, idx: 8624 }, + { start: 0x820f, end: 0x8228, idx: 8649 }, + { start: 0x8232, end: 0x823a, idx: 8675 }, + { start: 0x8243, end: 0x826d, idx: 8684 }, + { start: 0x8274, end: 0x8274, idx: 8727 }, + { start: 0x827b, end: 0x82bf, idx: 8728 }, + { start: 0x82c6, end: 0x82c6, idx: 8797 }, + { start: 0x82d0, end: 0x82ef, idx: 8798 }, + { start: 0x82f6, end: 0x830b, idx: 8830 }, + { start: 0x831b, end: 0x8322, idx: 8852 }, + { start: 0x832c, end: 0x8357, idx: 8860 }, + { start: 0x8370, end: 0x8370, idx: 8904 }, + { start: 0x8378, end: 0x8386, idx: 8905 }, + { start: 0x838d, end: 0x839d, idx: 8920 }, + { start: 0x83a6, end: 0x83ad, idx: 8937 }, + { start: 0x83be, end: 0x83c0, idx: 8945 }, + { start: 0x83c7, end: 0x83d4, idx: 8948 }, + { start: 0x83dd, end: 0x83dd, idx: 8962 }, + { start: 0x83e8, end: 0x83ea, idx: 8963 }, + { start: 0x83f6, end: 0x8419, idx: 8966 }, + { start: 0x842f, end: 0x842f, idx: 9002 }, + { start: 0x8439, end: 0x8439, idx: 9003 }, + { start: 0x8445, end: 0x8485, idx: 9004 }, + { start: 0x8492, end: 0x8495, idx: 9069 }, + { start: 0x849e, end: 0x849e, idx: 9073 }, + { start: 0x84a6, end: 0x84d3, idx: 9074 }, + { start: 0x84dc, end: 0x84dc, idx: 9120 }, + { start: 0x84e7, end: 0x8510, idx: 9121 }, + { start: 0x851c, end: 0x8536, idx: 9163 }, + { start: 0x853f, end: 0x853f, idx: 9190 }, + { start: 0x8546, end: 0x8546, idx: 9191 }, + { start: 0x854f, end: 0x8564, idx: 9192 }, + { start: 0x856b, end: 0x856f, idx: 9214 }, + { start: 0x8579, end: 0x85ad, idx: 9219 }, + { start: 0x85b4, end: 0x85ce, idx: 9272 }, + { start: 0x85d8, end: 0x8605, idx: 9299 }, + { start: 0x860d, end: 0x8629, idx: 9345 }, + { start: 0x8636, end: 0x8646, idx: 9374 }, + { start: 0x8652, end: 0x867a, idx: 9391 }, + { start: 0x8688, end: 0x86c5, idx: 9432 }, + { start: 0x86d1, end: 0x86e7, idx: 9494 }, + { start: 0x86fa, end: 0x86fd, idx: 9517 }, + { start: 0x8704, end: 0x8732, idx: 9521 }, + { start: 0x8739, end: 0x8745, idx: 9568 }, + { start: 0x874d, end: 0x874d, idx: 9581 }, + { start: 0x8758, end: 0x8765, idx: 9582 }, + { start: 0x876f, end: 0x8772, idx: 9596 }, + { start: 0x877b, end: 0x877b, idx: 9600 }, + { start: 0x8783, end: 0x87b5, idx: 9601 }, + { start: 0x87be, end: 0x87c1, idx: 9652 }, + { start: 0x87c8, end: 0x87ce, idx: 9656 }, + { start: 0x87d5, end: 0x881f, idx: 9663 }, + { start: 0x8828, end: 0x8869, idx: 9738 }, + { start: 0x8871, end: 0x8871, idx: 9804 }, + { start: 0x8879, end: 0x8880, idx: 9805 }, + { start: 0x8898, end: 0x88a0, idx: 9813 }, + { start: 0x88a8, end: 0x88aa, idx: 9822 }, + { start: 0x88ba, end: 0x88c0, idx: 9825 }, + { start: 0x88ca, end: 0x88d3, idx: 9832 }, + { start: 0x88db, end: 0x88de, idx: 9842 }, + { start: 0x88e7, end: 0x88e7, idx: 9846 }, + { start: 0x88ef, end: 0x88f7, idx: 9847 }, + { start: 0x8901, end: 0x8906, idx: 9856 }, + { start: 0x890d, end: 0x8928, idx: 9862 }, + { start: 0x8930, end: 0x8963, idx: 9890 }, + { start: 0x896b, end: 0x897d, idx: 9942 }, + { start: 0x8989, end: 0x89a5, idx: 9961 }, + { start: 0x89b0, end: 0x89bc, idx: 9990 }, + { start: 0x89d4, end: 0x89d8, idx: 10003 }, + { start: 0x89e5, end: 0x8a07, idx: 10008 }, + { start: 0x8a0f, end: 0x8a15, idx: 10043 }, + { start: 0x8a1e, end: 0x8a67, idx: 10050 }, + { start: 0x8a75, end: 0x8a9f, idx: 10124 }, + { start: 0x8aa7, end: 0x8aca, idx: 10167 }, + { start: 0x8ad1, end: 0x8adf, idx: 10203 }, + { start: 0x8aec, end: 0x8b11, idx: 10218 }, + { start: 0x8b1c, end: 0x8b1f, idx: 10256 }, + { start: 0x8b2d, end: 0x8b30, idx: 10260 }, + { start: 0x8b37, end: 0x8b63, idx: 10264 }, + { start: 0x8b6d, end: 0x8b6d, idx: 10309 }, + { start: 0x8b76, end: 0x8b95, idx: 10310 }, + { start: 0x8b9c, end: 0x8b9f, idx: 10342 }, + { start: 0x8c38, end: 0x8c3e, idx: 10346 }, + { start: 0x8c45, end: 0x8c7e, idx: 10353 }, + { start: 0x8c86, end: 0x8c9c, idx: 10411 }, + { start: 0x8ca4, end: 0x8ca4, idx: 10434 }, + { start: 0x8cb9, end: 0x8cba, idx: 10435 }, + { start: 0x8cc5, end: 0x8ce1, idx: 10437 }, + { start: 0x8ce8, end: 0x8d09, idx: 10466 }, + { start: 0x8d12, end: 0x8d1b, idx: 10500 }, + { start: 0x8d65, end: 0x8d6e, idx: 10510 }, + { start: 0x8d7f, end: 0x8d95, idx: 10520 }, + { start: 0x8d9e, end: 0x8dd9, idx: 10543 }, + { start: 0x8de4, end: 0x8df4, idx: 10603 }, + { start: 0x8dfd, end: 0x8e16, idx: 10620 }, + { start: 0x8e20, end: 0x8e27, idx: 10646 }, + { start: 0x8e31, end: 0x8e41, idx: 10654 }, + { start: 0x8e4b, end: 0x8e54, idx: 10671 }, + { start: 0x8e5b, end: 0x8e62, idx: 10681 }, + { start: 0x8e69, end: 0x8e71, idx: 10689 }, + { start: 0x8e79, end: 0x8e7b, idx: 10698 }, + { start: 0x8e82, end: 0x8e89, idx: 10701 }, + { start: 0x8e90, end: 0x8ec7, idx: 10709 }, + { start: 0x8ecf, end: 0x8ed4, idx: 10765 }, + { start: 0x8edc, end: 0x8edc, idx: 10771 }, + { start: 0x8ee8, end: 0x8f08, idx: 10772 }, + { start: 0x8f0f, end: 0x8f47, idx: 10805 }, + { start: 0x8f4f, end: 0x8f5e, idx: 10862 }, + { start: 0x8f65, end: 0x8f65, idx: 10878 }, + { start: 0x8f9d, end: 0x8fa6, idx: 10879 }, + { start: 0x8fb5, end: 0x8fd5, idx: 10889 }, + { start: 0x8fe0, end: 0x900c, idx: 10922 }, + { start: 0x9018, end: 0x901b, idx: 10967 }, + { start: 0x9028, end: 0x9037, idx: 10971 }, + { start: 0x903f, end: 0x9044, idx: 10987 }, + { start: 0x904c, end: 0x904c, idx: 10993 }, + { start: 0x905b, end: 0x9079, idx: 10994 }, + { start: 0x9085, end: 0x90a5, idx: 11025 }, + { start: 0x90b0, end: 0x90b6, idx: 11058 }, + { start: 0x90bd, end: 0x90f6, idx: 11065 }, + { start: 0x90fe, end: 0x9148, idx: 11123 }, + { start: 0x914f, end: 0x916d, idx: 11198 }, + { start: 0x9174, end: 0x91c5, idx: 11229 }, + { start: 0x91d3, end: 0x9251, idx: 11311 }, + { start: 0x9258, end: 0x927f, idx: 11438 }, + { start: 0x9288, end: 0x92f0, idx: 11478 }, + { start: 0x92f9, end: 0x9315, idx: 11583 }, + { start: 0x931c, end: 0x932a, idx: 11612 }, + { start: 0x9333, end: 0x9337, idx: 11627 }, + { start: 0x9347, end: 0x9349, idx: 11632 }, + { start: 0x9350, end: 0x93ab, idx: 11635 }, + { start: 0x93b4, end: 0x93ba, idx: 11727 }, + { start: 0x93c1, end: 0x93e7, idx: 11734 }, + { start: 0x93f7, end: 0x9417, idx: 11773 }, + { start: 0x941f, end: 0x941f, idx: 11806 }, + { start: 0x942e, end: 0x9434, idx: 11807 }, + { start: 0x943b, end: 0x944c, idx: 11814 }, + { start: 0x9455, end: 0x9472, idx: 11832 }, + { start: 0x9483, end: 0x9484, idx: 11862 }, + { start: 0x9578, end: 0x958e, idx: 11864 }, + { start: 0x959d, end: 0x95ac, idx: 11887 }, + { start: 0x95b4, end: 0x95bf, idx: 11903 }, + { start: 0x95c6, end: 0x95e6, idx: 11915 }, + { start: 0x961d, end: 0x9641, idx: 11948 }, + { start: 0x9652, end: 0x9658, idx: 11985 }, + { start: 0x9661, end: 0x9661, idx: 11992 }, + { start: 0x966e, end: 0x9674, idx: 11993 }, + { start: 0x967b, end: 0x9689, idx: 12000 }, + { start: 0x9691, end: 0x96b3, idx: 12015 }, + { start: 0x96ba, end: 0x96ba, idx: 12050 }, + { start: 0x96ca, end: 0x96ca, idx: 12051 }, + { start: 0x96d2, end: 0x96df, idx: 12052 }, + { start: 0x96e9, end: 0x96f1, idx: 12066 }, + { start: 0x96fa, end: 0x96fa, idx: 12075 }, + { start: 0x9702, end: 0x9709, idx: 12076 }, + { start: 0x971a, end: 0x9728, idx: 12084 }, + { start: 0x9731, end: 0x9733, idx: 12099 }, + { start: 0x9741, end: 0x9743, idx: 12102 }, + { start: 0x974a, end: 0x975b, idx: 12105 }, + { start: 0x9763, end: 0x9780, idx: 12123 }, + { start: 0x9789, end: 0x9789, idx: 12153 }, + { start: 0x9795, end: 0x97a2, idx: 12154 }, + { start: 0x97ac, end: 0x97e4, idx: 12168 }, + { start: 0x97ef, end: 0x97fa, idx: 12225 }, + { start: 0x9807, end: 0x9835, idx: 12237 }, + { start: 0x983e, end: 0x984a, idx: 12284 }, + { start: 0x9851, end: 0x985a, idx: 12297 }, + { start: 0x9862, end: 0x986c, idx: 12307 }, + { start: 0x98ab, end: 0x98cc, idx: 12318 }, + { start: 0x98e1, end: 0x98ea, idx: 12352 }, + { start: 0x98f3, end: 0x98f6, idx: 12362 }, + { start: 0x9902, end: 0x9908, idx: 12366 }, + { start: 0x9911, end: 0x9960, idx: 12373 }, + { start: 0x999b, end: 0x999f, idx: 12453 }, + { start: 0x99a6, end: 0x99a6, idx: 12458 }, + { start: 0x99b0, end: 0x99c9, idx: 12459 }, + { start: 0x99d3, end: 0x99de, idx: 12485 }, + { start: 0x99e7, end: 0x9a04, idx: 12497 }, + { start: 0x9a0b, end: 0x9a16, idx: 12527 }, + { start: 0x9a1e, end: 0x9a38, idx: 12539 }, + { start: 0x9a41, end: 0x9a56, idx: 12566 }, + { start: 0x9a5d, end: 0x9a5d, idx: 12588 }, + { start: 0x9aaa, end: 0x9b3d, idx: 12589 }, + { start: 0x9b48, end: 0x9b4c, idx: 12737 }, + { start: 0x9b55, end: 0x9b9e, idx: 12742 }, + { start: 0x9ba6, end: 0x9bd0, idx: 12816 }, + { start: 0x9bd7, end: 0x9c02, idx: 12859 }, + { start: 0x9c0b, end: 0x9c2a, idx: 12903 }, + { start: 0x9c31, end: 0x9c7b, idx: 12935 }, + { start: 0x9ce6, end: 0x9ce6, idx: 13010 }, + { start: 0x9cf2, end: 0x9cf9, idx: 13011 }, + { start: 0x9d02, end: 0x9d02, idx: 13019 }, + { start: 0x9d0b, end: 0x9d1e, idx: 13020 }, + { start: 0x9d2f, end: 0x9d4a, idx: 13040 }, + { start: 0x9d53, end: 0x9d54, idx: 13068 }, + { start: 0x9d5f, end: 0x9d98, idx: 13070 }, + { start: 0x9da1, end: 0x9da1, idx: 13128 }, + { start: 0x9daa, end: 0x9dca, idx: 13129 }, + { start: 0x9dd4, end: 0x9df4, idx: 13162 }, + { start: 0x9dfe, end: 0x9e1d, idx: 13195 }, + { start: 0x9e7a, end: 0x9e87, idx: 13227 }, + { start: 0x9e8e, end: 0x9e8f, idx: 13241 }, + { start: 0x9e96, end: 0x9eb5, idx: 13243 }, + { start: 0x9ec6, end: 0x9ecb, idx: 13275 }, + { start: 0x9ed5, end: 0x9ed5, idx: 13281 }, + { start: 0x9edf, end: 0x9ef8, idx: 13282 }, + { start: 0x9eff, end: 0x9f47, idx: 13308 }, + { start: 0x9f53, end: 0x9f5e, idx: 13381 }, + { start: 0x9f68, end: 0x9f7d, idx: 13393 }, + { start: 0x9f8f, end: 0x9f97, idx: 13415 }, + { start: 0x9f9e, end: 0x9fa5, idx: 13424 }, + { start: 0 } +}; + + +/* The values corresponding to the table can be computed using + + egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \ + .../eastasia/jis/jis0212.txt | awk '{ print $2, $1 }' | + sort -u | perl tab.pl + + where tab.pl contains: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $first=$last=$idx=0; + + sub fmt { + printf ("\n ") if (($n % 6) == 0); + ++$n; + my($val) = pop(@_); + printf (" \"\\x%02x\\x%02x\",", + $val < 256 ? $val : int($val / 256), + $val < 256 ? 0 : $val % 256); + } + + while (<>) { + local($ucs,$jis,%rest) = split; + local($u)=hex($ucs); + local($j)=hex($jis); + if ($u - $last > 6) { + if ($last != 0) { + $idx += $last - $first + 1; + } + $first=$u; + } else { + for ($m = $last + 1; $m < $u; ++$m) { + fmt (0); + } + } + fmt ($u); + $last=$u; + } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +const char jisx0212_from_ucs[][2] = +{ + "\x7e\x00", "\xa1\x00", "\x00\x00", "\x00\x00", "\xa4\x00", "\x00\x00", + "\xa6\x00", "\x00\x00", "\x00\x00", "\xa9\x00", "\xaa\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\xae\x00", "\xaf\x00", "\xb8\x00", "\x00\x00", + "\xba\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xbf\x00", + "\xc0\x00", "\xc1\x00", "\xc2\x00", "\xc3\x00", "\xc4\x00", "\xc5\x00", + "\xc6\x00", "\xc7\x00", "\xc8\x00", "\xc9\x00", "\xca\x00", "\xcb\x00", + "\xcc\x00", "\xcd\x00", "\xce\x00", "\xcf\x00", "\x00\x00", "\xd1\x00", + "\xd2\x00", "\xd3\x00", "\xd4\x00", "\xd5\x00", "\xd6\x00", "\x00\x00", + "\xd8\x00", "\xd9\x00", "\xda\x00", "\xdb\x00", "\xdc\x00", "\xdd\x00", + "\xde\x00", "\xdf\x00", "\xe0\x00", "\xe1\x00", "\xe2\x00", "\xe3\x00", + "\xe4\x00", "\xe5\x00", "\xe6\x00", "\xe7\x00", "\xe8\x00", "\xe9\x00", + "\xea\x00", "\xeb\x00", "\xec\x00", "\xed\x00", "\xee\x00", "\xef\x00", + "\xf0\x00", "\xf1\x00", "\xf2\x00", "\xf3\x00", "\xf4\x00", "\xf5\x00", + "\xf6\x00", "\x00\x00", "\xf8\x00", "\xf9\x00", "\xfa\x00", "\xfb\x00", + "\xfc\x00", "\xfd\x00", "\xfe\x00", "\xff\x00", "\x01\x00", "\x01\x01", + "\x01\x02", "\x01\x03", "\x01\x04", "\x01\x05", "\x01\x06", "\x01\x07", + "\x01\x08", "\x01\x09", "\x01\x0a", "\x01\x0b", "\x01\x0c", "\x01\x0d", + "\x01\x0e", "\x01\x0f", "\x01\x10", "\x01\x11", "\x01\x12", "\x01\x13", + "\x00\x00", "\x00\x00", "\x01\x16", "\x01\x17", "\x01\x18", "\x01\x19", + "\x01\x1a", "\x01\x1b", "\x01\x1c", "\x01\x1d", "\x01\x1e", "\x01\x1f", + "\x01\x20", "\x01\x21", "\x01\x22", "\x00\x00", "\x01\x24", "\x01\x25", + "\x01\x26", "\x01\x27", "\x01\x28", "\x01\x29", "\x01\x2a", "\x01\x2b", + "\x00\x00", "\x00\x00", "\x01\x2e", "\x01\x2f", "\x01\x30", "\x01\x31", + "\x01\x32", "\x01\x33", "\x01\x34", "\x01\x35", "\x01\x36", "\x01\x37", + "\x01\x38", "\x01\x39", "\x01\x3a", "\x01\x3b", "\x01\x3c", "\x01\x3d", + "\x01\x3e", "\x01\x3f", "\x01\x40", "\x01\x41", "\x01\x42", "\x01\x43", + "\x01\x44", "\x01\x45", "\x01\x46", "\x01\x47", "\x01\x48", "\x01\x49", + "\x01\x4a", "\x01\x4b", "\x01\x4c", "\x01\x4d", "\x00\x00", "\x00\x00", + "\x01\x50", "\x01\x51", "\x01\x52", "\x01\x53", "\x01\x54", "\x01\x55", + "\x01\x56", "\x01\x57", "\x01\x58", "\x01\x59", "\x01\x5a", "\x01\x5b", + "\x01\x5c", "\x01\x5d", "\x01\x5e", "\x01\x5f", "\x01\x60", "\x01\x61", + "\x01\x62", "\x01\x63", "\x01\x64", "\x01\x65", "\x01\x66", "\x01\x67", + "\x01\x68", "\x01\x69", "\x01\x6a", "\x01\x6b", "\x01\x6c", "\x01\x6d", + "\x01\x6e", "\x01\x6f", "\x01\x70", "\x01\x71", "\x01\x72", "\x01\x73", + "\x01\x74", "\x01\x75", "\x01\x76", "\x01\x77", "\x01\x78", "\x01\x79", + "\x01\x7a", "\x01\x7b", "\x01\x7c", "\x01\x7d", "\x01\x7e", "\x01\xcd", + "\x01\xce", "\x01\xcf", "\x01\xd0", "\x01\xd1", "\x01\xd2", "\x01\xd3", + "\x01\xd4", "\x01\xd5", "\x01\xd6", "\x01\xd7", "\x01\xd8", "\x01\xd9", + "\x01\xda", "\x01\xdb", "\x01\xdc", "\x01\xf5", "\x02\xc7", "\x02\xd8", + "\x02\xd9", "\x02\xda", "\x02\xdb", "\x00\x00", "\x02\xdd", "\x03\x84", + "\x03\x85", "\x03\x86", "\x00\x00", "\x03\x88", "\x03\x89", "\x03\x8a", + "\x00\x00", "\x03\x8c", "\x00\x00", "\x03\x8e", "\x03\x8f", "\x03\x90", + "\x03\xaa", "\x03\xab", "\x03\xac", "\x03\xad", "\x03\xae", "\x03\xaf", + "\x03\xb0", "\x03\xc2", "\x03\xca", "\x03\xcb", "\x03\xcc", "\x03\xcd", + "\x03\xce", "\x04\x02", "\x04\x03", "\x04\x04", "\x04\x05", "\x04\x06", + "\x04\x07", "\x04\x08", "\x04\x09", "\x04\x0a", "\x04\x0b", "\x04\x0c", + "\x00\x00", "\x04\x0e", "\x04\x0f", "\x04\x52", "\x04\x53", "\x04\x54", + "\x04\x55", "\x04\x56", "\x04\x57", "\x04\x58", "\x04\x59", "\x04\x5a", + "\x04\x5b", "\x04\x5c", "\x00\x00", "\x04\x5e", "\x04\x5f", "\x21\x16", + "\x21\x22", "\x4e\x02", "\x00\x00", "\x4e\x04", "\x4e\x05", "\x4e\x0c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x12", + "\x4e\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x23", "\x4e\x24", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x28", "\x00\x00", "\x00\x00", + "\x4e\x2b", "\x00\x00", "\x00\x00", "\x4e\x2e", "\x4e\x2f", "\x4e\x30", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x35", "\x4e\x40", + "\x4e\x41", "\x00\x00", "\x00\x00", "\x4e\x44", "\x00\x00", "\x00\x00", + "\x4e\x47", "\x4e\x51", "\x4e\x5a", "\x00\x00", "\x4e\x5c", "\x4e\x63", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x68", "\x4e\x69", + "\x4e\x74", "\x4e\x75", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x79", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x7f", + "\x4e\x8d", "\x4e\x96", "\x4e\x97", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4e\x9d", "\x4e\xaf", "\x4e\xb9", "\x4e\xc3", + "\x4e\xd0", "\x4e\xda", "\x4e\xdb", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x4e\xe0", "\x4e\xe1", "\x4e\xe2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xe8", "\x4e\xef", "\x00\x00", + "\x4e\xf1", "\x00\x00", "\x4e\xf3", "\x00\x00", "\x4e\xf5", "\x4e\xfd", + "\x4e\xfe", "\x4e\xff", "\x4f\x00", "\x00\x00", "\x4f\x02", "\x4f\x03", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x08", "\x00\x00", + "\x00\x00", "\x4f\x0b", "\x4f\x0c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4f\x12", "\x00\x00", "\x00\x00", "\x4f\x15", + "\x4f\x16", "\x4f\x17", "\x00\x00", "\x4f\x19", "\x4f\x2e", "\x00\x00", + "\x00\x00", "\x4f\x31", "\x00\x00", "\x4f\x33", "\x00\x00", "\x4f\x35", + "\x00\x00", "\x4f\x37", "\x00\x00", "\x4f\x39", "\x00\x00", "\x4f\x3b", + "\x00\x00", "\x00\x00", "\x4f\x3e", "\x00\x00", "\x4f\x40", "\x00\x00", + "\x4f\x42", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x4f\x48", "\x4f\x49", "\x00\x00", "\x4f\x4b", "\x4f\x4c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x52", "\x00\x00", + "\x4f\x54", "\x00\x00", "\x4f\x56", "\x00\x00", "\x4f\x58", "\x4f\x5f", + "\x4f\x60", "\x00\x00", "\x00\x00", "\x4f\x63", "\x4f\x6a", "\x00\x00", + "\x4f\x6c", "\x00\x00", "\x4f\x6e", "\x00\x00", "\x00\x00", "\x4f\x71", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x77", + "\x4f\x78", "\x4f\x79", "\x4f\x7a", "\x00\x00", "\x00\x00", "\x4f\x7d", + "\x4f\x7e", "\x00\x00", "\x00\x00", "\x4f\x81", "\x4f\x82", "\x00\x00", + "\x4f\x84", "\x4f\x85", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x89", + "\x4f\x8a", "\x00\x00", "\x4f\x8c", "\x00\x00", "\x4f\x8e", "\x00\x00", + "\x4f\x90", "\x00\x00", "\x4f\x92", "\x4f\x93", "\x4f\x94", "\x00\x00", + "\x00\x00", "\x4f\x97", "\x00\x00", "\x4f\x99", "\x4f\x9a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x4f\x9e", "\x4f\x9f", "\x4f\xb2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xb7", "\x00\x00", "\x4f\xb9", + "\x00\x00", "\x4f\xbb", "\x4f\xbc", "\x4f\xbd", "\x4f\xbe", "\x00\x00", + "\x4f\xc0", "\x4f\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xc5", + "\x4f\xc6", "\x00\x00", "\x4f\xc8", "\x4f\xc9", "\x00\x00", "\x4f\xcb", + "\x4f\xcc", "\x4f\xcd", "\x00\x00", "\x4f\xcf", "\x00\x00", "\x00\x00", + "\x4f\xd2", "\x4f\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xe0", + "\x00\x00", "\x4f\xe2", "\x4f\xf0", "\x00\x00", "\x4f\xf2", "\x4f\xfc", + "\x4f\xfd", "\x00\x00", "\x4f\xff", "\x50\x00", "\x50\x01", "\x00\x00", + "\x00\x00", "\x50\x04", "\x00\x00", "\x00\x00", "\x50\x07", "\x00\x00", + "\x00\x00", "\x50\x0a", "\x00\x00", "\x50\x0c", "\x00\x00", "\x50\x0e", + "\x00\x00", "\x50\x10", "\x00\x00", "\x00\x00", "\x50\x13", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\x17", "\x50\x18", "\x00\x00", "\x00\x00", + "\x50\x1b", "\x50\x1c", "\x50\x1d", "\x50\x1e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x50\x22", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x50\x27", "\x50\x2e", "\x00\x00", "\x50\x30", "\x00\x00", "\x50\x32", + "\x50\x33", "\x00\x00", "\x50\x35", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\x3b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x50\x40", "\x50\x41", "\x50\x42", "\x00\x00", "\x00\x00", + "\x50\x45", "\x50\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x4a", + "\x00\x00", "\x50\x4c", "\x00\x00", "\x50\x4e", "\x00\x00", "\x00\x00", + "\x50\x51", "\x50\x52", "\x50\x53", "\x00\x00", "\x00\x00", "\x00\x00", + "\x50\x57", "\x00\x00", "\x50\x59", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\x5f", "\x50\x60", "\x00\x00", "\x50\x62", + "\x50\x63", "\x00\x00", "\x00\x00", "\x50\x66", "\x50\x67", "\x00\x00", + "\x00\x00", "\x50\x6a", "\x00\x00", "\x00\x00", "\x50\x6d", "\x00\x00", + "\x00\x00", "\x50\x70", "\x50\x71", "\x50\x81", "\x00\x00", "\x50\x83", + "\x50\x84", "\x00\x00", "\x50\x86", "\x00\x00", "\x00\x00", "\x00\x00", + "\x50\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x8e", "\x50\x8f", + "\x50\x90", "\x00\x00", "\x50\x92", "\x50\x93", "\x50\x94", "\x00\x00", + "\x50\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x9b", + "\x50\x9c", "\x00\x00", "\x50\x9e", "\x50\x9f", "\x50\xa0", "\x50\xa1", + "\x50\xa2", "\x50\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x50\xaf", "\x50\xb0", "\x50\xb9", "\x50\xba", "\x00\x00", "\x00\x00", + "\x50\xbd", "\x00\x00", "\x00\x00", "\x50\xc0", "\x00\x00", "\x00\x00", + "\x50\xc3", "\x50\xc4", "\x00\x00", "\x00\x00", "\x50\xc7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xcc", "\x00\x00", "\x50\xce", + "\x00\x00", "\x50\xd0", "\x00\x00", "\x00\x00", "\x50\xd3", "\x50\xd4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xd8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x50\xdc", "\x50\xdd", "\x00\x00", "\x50\xdf", "\x00\x00", + "\x00\x00", "\x50\xe2", "\x00\x00", "\x50\xe4", "\x00\x00", "\x50\xe6", + "\x00\x00", "\x50\xe8", "\x50\xe9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x50\xef", "\x00\x00", "\x50\xf1", "\x50\xf2", + "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xf6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x50\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xfe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x03", "\x00\x00", + "\x00\x00", "\x51\x06", "\x51\x07", "\x51\x08", "\x00\x00", "\x00\x00", + "\x51\x0b", "\x51\x0c", "\x51\x0d", "\x51\x0e", "\x00\x00", "\x51\x10", + "\x51\x17", "\x00\x00", "\x51\x19", "\x00\x00", "\x51\x1b", "\x51\x1c", + "\x51\x1d", "\x51\x1e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x51\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x27", "\x51\x28", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x2c", "\x51\x2d", "\x00\x00", + "\x51\x2f", "\x00\x00", "\x51\x31", "\x00\x00", "\x51\x33", "\x51\x34", + "\x51\x35", "\x00\x00", "\x00\x00", "\x51\x38", "\x51\x39", "\x51\x42", + "\x51\x4a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x4f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x53", "\x00\x00", "\x51\x55", + "\x00\x00", "\x51\x57", "\x51\x58", "\x51\x5f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x51\x64", "\x00\x00", "\x51\x66", "\x51\x7e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x83", "\x51\x84", + "\x51\x8b", "\x00\x00", "\x00\x00", "\x51\x8e", "\x51\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x9d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x51\xa1", "\x00\x00", "\x51\xa3", "\x51\xad", "\x51\xb8", + "\x00\x00", "\x51\xba", "\x00\x00", "\x51\xbc", "\x00\x00", "\x51\xbe", + "\x51\xbf", "\x00\x00", "\x00\x00", "\x51\xc2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xc8", "\x51\xcf", "\x00\x00", + "\x51\xd1", "\x51\xd2", "\x51\xd3", "\x00\x00", "\x51\xd5", "\x00\x00", + "\x00\x00", "\x51\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x51\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xe2", + "\x00\x00", "\x00\x00", "\x51\xe5", "\x51\xee", "\x00\x00", "\x00\x00", + "\x00\x00", "\x51\xf2", "\x51\xf3", "\x51\xf4", "\x00\x00", "\x00\x00", + "\x51\xf7", "\x52\x01", "\x52\x02", "\x00\x00", "\x00\x00", "\x52\x05", + "\x52\x12", "\x52\x13", "\x00\x00", "\x52\x15", "\x52\x16", "\x00\x00", + "\x52\x18", "\x52\x22", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x52\x28", "\x52\x31", "\x52\x32", "\x00\x00", "\x00\x00", + "\x52\x35", "\x52\x3c", "\x52\x45", "\x00\x00", "\x00\x00", "\x00\x00", + "\x52\x49", "\x52\x55", "\x00\x00", "\x52\x57", "\x52\x58", "\x00\x00", + "\x52\x5a", "\x00\x00", "\x52\x5c", "\x00\x00", "\x00\x00", "\x52\x5f", + "\x52\x60", "\x52\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x52\x66", "\x52\x6e", "\x52\x77", "\x52\x78", "\x52\x79", "\x52\x80", + "\x00\x00", "\x52\x82", "\x00\x00", "\x00\x00", "\x52\x85", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x8a", "\x00\x00", "\x52\x8c", + "\x52\x93", "\x00\x00", "\x52\x95", "\x52\x96", "\x52\x97", "\x52\x98", + "\x00\x00", "\x52\x9a", "\x00\x00", "\x52\x9c", "\x52\xa4", "\x52\xa5", + "\x52\xa6", "\x52\xa7", "\x52\xaf", "\x52\xb0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xb6", "\x52\xb7", "\x52\xb8", + "\x00\x00", "\x52\xba", "\x52\xbb", "\x00\x00", "\x52\xbd", "\x00\x00", + "\x00\x00", "\x52\xc0", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xc4", + "\x00\x00", "\x52\xc6", "\x00\x00", "\x52\xc8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x52\xcc", "\x00\x00", "\x00\x00", "\x52\xcf", "\x00\x00", + "\x52\xd1", "\x00\x00", "\x00\x00", "\x52\xd4", "\x00\x00", "\x52\xd6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xdb", "\x52\xdc", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xe1", "\x00\x00", + "\x00\x00", "\x00\x00", "\x52\xe5", "\x00\x00", "\x00\x00", "\x52\xe8", + "\x52\xe9", "\x52\xea", "\x00\x00", "\x52\xec", "\x00\x00", "\x00\x00", + "\x00\x00", "\x52\xf0", "\x52\xf1", "\x00\x00", "\x00\x00", "\x52\xf4", + "\x00\x00", "\x52\xf6", "\x52\xf7", "\x53\x00", "\x00\x00", "\x00\x00", + "\x53\x03", "\x53\x0a", "\x53\x0b", "\x53\x0c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x53\x11", "\x00\x00", "\x53\x13", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x18", "\x00\x00", "\x00\x00", + "\x53\x1b", "\x53\x1c", "\x00\x00", "\x53\x1e", "\x53\x1f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x25", "\x00\x00", + "\x53\x27", "\x53\x28", "\x53\x29", "\x00\x00", "\x53\x2b", "\x53\x2c", + "\x53\x2d", "\x00\x00", "\x00\x00", "\x53\x30", "\x00\x00", "\x53\x32", + "\x00\x00", "\x00\x00", "\x53\x35", "\x53\x3c", "\x53\x3d", "\x53\x3e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x42", "\x53\x4b", "\x53\x4c", + "\x53\x59", "\x00\x00", "\x53\x5b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x53\x61", "\x00\x00", "\x53\x63", "\x00\x00", + "\x53\x65", "\x53\x6c", "\x53\x6d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x53\x72", "\x53\x79", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x53\x7e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x53\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x87", "\x53\x88", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x8e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x93", "\x53\x94", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x99", "\x00\x00", + "\x00\x00", "\x00\x00", "\x53\x9d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x53\xa1", "\x00\x00", "\x00\x00", "\x53\xa4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xaa", "\x53\xab", "\x00\x00", + "\x00\x00", "\x00\x00", "\x53\xaf", "\x00\x00", "\x00\x00", "\x53\xb2", + "\x00\x00", "\x53\xb4", "\x53\xb5", "\x00\x00", "\x53\xb7", "\x53\xb8", + "\x00\x00", "\x53\xba", "\x00\x00", "\x00\x00", "\x53\xbd", "\x00\x00", + "\x00\x00", "\x53\xc0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x53\xc5", "\x53\xcf", "\x00\x00", "\x00\x00", "\x53\xd2", "\x53\xd3", + "\x00\x00", "\x53\xd5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x53\xda", "\x00\x00", "\x00\x00", "\x53\xdd", "\x53\xde", "\x00\x00", + "\x53\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x53\xe6", "\x53\xe7", "\x53\xf5", "\x54\x02", "\x54\x13", "\x54\x1a", + "\x54\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\x27", "\x54\x28", "\x00\x00", "\x54\x2a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x2f", "\x00\x00", "\x54\x31", "\x00\x00", + "\x00\x00", "\x54\x34", "\x54\x35", "\x54\x43", "\x54\x44", "\x00\x00", + "\x00\x00", "\x54\x47", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x54\x4d", "\x00\x00", "\x54\x4f", "\x54\x5e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x62", "\x00\x00", "\x54\x64", "\x00\x00", + "\x54\x66", "\x54\x67", "\x00\x00", "\x54\x69", "\x00\x00", "\x54\x6b", + "\x00\x00", "\x54\x6d", "\x54\x6e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x74", "\x54\x7f", "\x00\x00", "\x54\x81", + "\x00\x00", "\x54\x83", "\x00\x00", "\x54\x85", "\x00\x00", "\x00\x00", + "\x54\x88", "\x54\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x8d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x91", "\x00\x00", "\x00\x00", + "\x00\x00", "\x54\x95", "\x54\x96", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x54\x9c", "\x00\x00", "\x00\x00", "\x54\x9f", + "\x00\x00", "\x54\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\xa6", "\x54\xa7", "\x00\x00", "\x54\xa9", "\x54\xaa", "\x00\x00", + "\x00\x00", "\x54\xad", "\x54\xae", "\x00\x00", "\x00\x00", "\x54\xb1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\xb7", + "\x00\x00", "\x54\xb9", "\x54\xba", "\x54\xbb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x54\xbf", "\x54\xc6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\xca", "\x00\x00", "\x00\x00", "\x54\xcd", "\x54\xce", "\x54\xe0", + "\x54\xea", "\x00\x00", "\x54\xec", "\x00\x00", "\x00\x00", "\x54\xef", + "\x54\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x54\xfc", "\x00\x00", "\x54\xfe", "\x54\xff", "\x55\x00", "\x55\x01", + "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x05", "\x00\x00", "\x00\x00", + "\x55\x08", "\x55\x09", "\x00\x00", "\x00\x00", "\x55\x0c", "\x55\x0d", + "\x55\x0e", "\x55\x15", "\x55\x2a", "\x55\x2b", "\x55\x32", "\x00\x00", + "\x00\x00", "\x55\x35", "\x55\x36", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x55\x3b", "\x55\x3c", "\x55\x3d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x55\x41", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x55\x47", "\x00\x00", "\x55\x49", "\x55\x4a", "\x00\x00", + "\x00\x00", "\x55\x4d", "\x00\x00", "\x00\x00", "\x55\x50", "\x55\x51", + "\x55\x58", "\x00\x00", "\x55\x5a", "\x55\x5b", "\x00\x00", "\x00\x00", + "\x55\x5e", "\x00\x00", "\x55\x60", "\x55\x61", "\x00\x00", "\x00\x00", + "\x55\x64", "\x00\x00", "\x55\x66", "\x55\x7f", "\x00\x00", "\x55\x81", + "\x55\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x86", "\x00\x00", + "\x55\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x55\x8e", "\x55\x8f", "\x00\x00", "\x55\x91", "\x55\x92", "\x55\x93", + "\x55\x94", "\x00\x00", "\x00\x00", "\x55\x97", "\x55\xa3", "\x55\xa4", + "\x55\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xb2", + "\x55\xbf", "\x00\x00", "\x55\xc1", "\x00\x00", "\x55\xc3", "\x00\x00", + "\x00\x00", "\x55\xc6", "\x00\x00", "\x00\x00", "\x55\xc9", "\x00\x00", + "\x55\xcb", "\x55\xcc", "\x00\x00", "\x55\xce", "\x00\x00", "\x00\x00", + "\x55\xd1", "\x55\xd2", "\x55\xd3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x55\xd7", "\x55\xd8", "\x00\x00", "\x00\x00", "\x55\xdb", "\x00\x00", + "\x00\x00", "\x55\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xe2", + "\x55\xe9", "\x55\xf6", "\x55\xff", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x56\x05", "\x00\x00", "\x00\x00", "\x56\x08", + "\x00\x00", "\x56\x0a", "\x00\x00", "\x00\x00", "\x56\x0d", "\x56\x0e", + "\x56\x0f", "\x56\x10", "\x56\x11", "\x56\x12", "\x56\x19", "\x56\x2c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x30", "\x00\x00", "\x00\x00", + "\x56\x33", "\x00\x00", "\x56\x35", "\x00\x00", "\x56\x37", "\x00\x00", + "\x56\x39", "\x00\x00", "\x56\x3b", "\x56\x3c", "\x56\x3d", "\x00\x00", + "\x56\x3f", "\x56\x40", "\x56\x41", "\x00\x00", "\x56\x43", "\x56\x44", + "\x00\x00", "\x56\x46", "\x00\x00", "\x00\x00", "\x56\x49", "\x00\x00", + "\x56\x4b", "\x00\x00", "\x56\x4d", "\x00\x00", "\x56\x4f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x54", "\x56\x5e", "\x00\x00", + "\x56\x60", "\x56\x61", "\x56\x62", "\x56\x63", "\x00\x00", "\x00\x00", + "\x56\x66", "\x00\x00", "\x00\x00", "\x56\x69", "\x00\x00", "\x00\x00", + "\x00\x00", "\x56\x6d", "\x00\x00", "\x56\x6f", "\x00\x00", "\x56\x71", + "\x56\x72", "\x00\x00", "\x00\x00", "\x56\x75", "\x56\x84", "\x56\x85", + "\x00\x00", "\x00\x00", "\x56\x88", "\x00\x00", "\x00\x00", "\x56\x8b", + "\x56\x8c", "\x56\x95", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x99", + "\x56\x9a", "\x00\x00", "\x00\x00", "\x56\x9d", "\x56\x9e", "\x56\x9f", + "\x56\xa6", "\x56\xa7", "\x56\xa8", "\x56\xa9", "\x00\x00", "\x56\xab", + "\x56\xac", "\x56\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xb1", + "\x00\x00", "\x56\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xb7", + "\x56\xbe", "\x56\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xc9", + "\x56\xca", "\x56\xcb", "\x56\xcc", "\x56\xcd", "\x00\x00", "\x56\xcf", + "\x56\xd0", "\x56\xd9", "\x00\x00", "\x00\x00", "\x56\xdc", "\x56\xdd", + "\x00\x00", "\x56\xdf", "\x00\x00", "\x56\xe1", "\x00\x00", "\x00\x00", + "\x56\xe4", "\x56\xe5", "\x56\xe6", "\x56\xe7", "\x56\xe8", "\x00\x00", + "\x00\x00", "\x56\xeb", "\x00\x00", "\x56\xed", "\x00\x00", "\x00\x00", + "\x00\x00", "\x56\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x56\xf6", "\x56\xf7", "\x57\x01", "\x57\x02", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x57\x07", "\x00\x00", "\x00\x00", "\x57\x0a", + "\x00\x00", "\x57\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x57\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x15", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x1a", "\x57\x1b", "\x00\x00", + "\x57\x1d", "\x00\x00", "\x00\x00", "\x57\x20", "\x00\x00", "\x57\x22", + "\x57\x23", "\x57\x24", "\x57\x25", "\x00\x00", "\x00\x00", "\x00\x00", + "\x57\x29", "\x57\x2a", "\x00\x00", "\x57\x2c", "\x00\x00", "\x57\x2e", + "\x57\x2f", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x33", "\x57\x34", + "\x57\x3d", "\x57\x3e", "\x57\x3f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x57\x45", "\x57\x46", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x4c", "\x57\x4d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x52", "\x57\x62", "\x00\x00", + "\x00\x00", "\x57\x65", "\x00\x00", "\x57\x67", "\x57\x68", "\x00\x00", + "\x00\x00", "\x57\x6b", "\x00\x00", "\x57\x6d", "\x57\x6e", "\x57\x6f", + "\x57\x70", "\x57\x71", "\x00\x00", "\x57\x73", "\x57\x74", "\x57\x75", + "\x00\x00", "\x57\x77", "\x00\x00", "\x57\x79", "\x57\x7a", "\x57\x7b", + "\x57\x7c", "\x00\x00", "\x57\x7e", "\x00\x00", "\x00\x00", "\x57\x81", + "\x00\x00", "\x57\x83", "\x57\x8c", "\x57\x94", "\x57\x95", "\x00\x00", + "\x57\x97", "\x00\x00", "\x57\x99", "\x57\x9a", "\x00\x00", "\x57\x9c", + "\x57\x9d", "\x57\x9e", "\x57\x9f", "\x00\x00", "\x57\xa1", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xa7", "\x57\xa8", + "\x57\xa9", "\x00\x00", "\x00\x00", "\x57\xac", "\x57\xb8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xbd", "\x57\xc7", "\x57\xc8", + "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xcc", "\x00\x00", "\x00\x00", + "\x57\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x57\xd5", "\x57\xdd", "\x57\xde", "\x00\x00", "\x00\x00", "\x57\xe1", + "\x00\x00", "\x00\x00", "\x57\xe4", "\x00\x00", "\x57\xe6", "\x57\xe7", + "\x00\x00", "\x57\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xed", + "\x00\x00", "\x00\x00", "\x57\xf0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x57\xf5", "\x57\xf6", "\x00\x00", "\x57\xf8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xfd", "\x57\xfe", "\x57\xff", + "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x03", "\x58\x04", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x08", "\x58\x09", "\x00\x00", "\x00\x00", + "\x58\x0c", "\x58\x0d", "\x58\x1b", "\x00\x00", "\x00\x00", "\x58\x1e", + "\x58\x1f", "\x58\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\x26", "\x58\x27", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x2d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\x32", "\x58\x39", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x58\x3f", "\x58\x49", "\x00\x00", "\x00\x00", + "\x58\x4c", "\x58\x4d", "\x00\x00", "\x58\x4f", "\x58\x50", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x55", "\x58\x5f", "\x00\x00", + "\x58\x61", "\x00\x00", "\x00\x00", "\x58\x64", "\x00\x00", "\x00\x00", + "\x58\x67", "\x58\x68", "\x58\x78", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\x7c", "\x00\x00", "\x00\x00", "\x58\x7f", "\x58\x80", "\x58\x81", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x87", + "\x58\x88", "\x58\x89", "\x58\x8a", "\x00\x00", "\x58\x8c", "\x58\x8d", + "\x00\x00", "\x58\x8f", "\x58\x90", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\x94", "\x00\x00", "\x58\x96", "\x58\x9d", "\x00\x00", "\x00\x00", + "\x58\xa0", "\x58\xa1", "\x58\xa2", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\xa6", "\x00\x00", "\x00\x00", "\x58\xa9", "\x58\xb1", "\x58\xb2", + "\x58\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\xc2", "\x00\x00", "\x58\xc4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xcd", + "\x58\xce", "\x00\x00", "\x58\xd0", "\x00\x00", "\x58\xd2", "\x00\x00", + "\x58\xd4", "\x00\x00", "\x58\xd6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x58\xda", "\x00\x00", "\x00\x00", "\x58\xdd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x58\xe1", "\x58\xe2", "\x58\xe9", "\x58\xf3", "\x59\x05", + "\x59\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x0b", + "\x59\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\x12", "\x59\x13", "\x59\x14", "\x59\x1d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\x21", "\x00\x00", "\x59\x23", "\x59\x24", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\x28", "\x59\x2f", "\x59\x30", "\x00\x00", + "\x00\x00", "\x59\x33", "\x00\x00", "\x59\x35", "\x59\x36", "\x59\x3f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x43", "\x00\x00", "\x00\x00", + "\x59\x46", "\x59\x52", "\x59\x53", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\x59", "\x00\x00", "\x59\x5b", "\x00\x00", + "\x59\x5d", "\x59\x5e", "\x59\x5f", "\x00\x00", "\x59\x61", "\x00\x00", + "\x59\x63", "\x59\x6b", "\x00\x00", "\x59\x6d", "\x00\x00", "\x59\x6f", + "\x00\x00", "\x00\x00", "\x59\x72", "\x00\x00", "\x00\x00", "\x59\x75", + "\x59\x76", "\x00\x00", "\x00\x00", "\x59\x79", "\x00\x00", "\x59\x7b", + "\x59\x7c", "\x59\x8b", "\x59\x8c", "\x00\x00", "\x59\x8e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\x92", "\x00\x00", "\x00\x00", "\x59\x95", + "\x00\x00", "\x59\x97", "\x59\x9f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\xa4", "\x00\x00", "\x00\x00", "\x59\xa7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xad", "\x59\xae", + "\x59\xaf", "\x59\xb0", "\x00\x00", "\x00\x00", "\x59\xb3", "\x00\x00", + "\x00\x00", "\x00\x00", "\x59\xb7", "\x00\x00", "\x00\x00", "\x59\xba", + "\x00\x00", "\x59\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\xc1", "\x00\x00", "\x59\xc3", "\x59\xc4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x59\xc8", "\x00\x00", "\x59\xca", "\x00\x00", "\x00\x00", + "\x59\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xd2", + "\x59\xdd", "\x59\xde", "\x59\xdf", "\x00\x00", "\x00\x00", "\x00\x00", + "\x59\xe3", "\x59\xe4", "\x00\x00", "\x00\x00", "\x59\xe7", "\x59\xee", + "\x59\xef", "\x00\x00", "\x59\xf1", "\x59\xf2", "\x00\x00", "\x59\xf4", + "\x00\x00", "\x00\x00", "\x59\xf7", "\x5a\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5a\x04", "\x5a\x0c", "\x5a\x0d", "\x5a\x0e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\x12", "\x5a\x13", "\x5a\x1e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x23", "\x5a\x24", "\x00\x00", + "\x00\x00", "\x5a\x27", "\x5a\x28", "\x00\x00", "\x5a\x2a", "\x00\x00", + "\x00\x00", "\x5a\x2d", "\x00\x00", "\x00\x00", "\x5a\x30", "\x5a\x44", + "\x5a\x45", "\x00\x00", "\x5a\x47", "\x5a\x48", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5a\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x50", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x55", "\x5a\x5e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x63", "\x00\x00", + "\x5a\x65", "\x00\x00", "\x5a\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\x6d", "\x5a\x77", "\x00\x00", "\x00\x00", + "\x5a\x7a", "\x5a\x7b", "\x00\x00", "\x00\x00", "\x5a\x7e", "\x5a\x8b", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x90", "\x00\x00", + "\x00\x00", "\x5a\x93", "\x00\x00", "\x00\x00", "\x5a\x96", "\x00\x00", + "\x00\x00", "\x5a\x99", "\x00\x00", "\x00\x00", "\x5a\x9c", "\x00\x00", + "\x5a\x9e", "\x5a\x9f", "\x5a\xa0", "\x00\x00", "\x5a\xa2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\xa7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\xac", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5a\xb1", "\x5a\xb2", "\x5a\xb3", "\x00\x00", "\x5a\xb5", + "\x00\x00", "\x00\x00", "\x5a\xb8", "\x00\x00", "\x5a\xba", "\x5a\xbb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\xbf", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\xc4", "\x00\x00", "\x5a\xc6", "\x00\x00", + "\x5a\xc8", "\x5a\xcf", "\x5a\xda", "\x00\x00", "\x5a\xdc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5a\xe0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5a\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5a\xea", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\xee", "\x5a\xf5", + "\x5a\xf6", "\x5a\xfd", "\x00\x00", "\x00\x00", "\x5b\x00", "\x5b\x01", + "\x5b\x08", "\x5b\x17", "\x00\x00", "\x5b\x19", "\x00\x00", "\x5b\x1b", + "\x00\x00", "\x5b\x1d", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x21", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x25", "\x5b\x2d", "\x5b\x34", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x38", "\x5b\x41", "\x5b\x4b", + "\x5b\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5b\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x56", "\x5b\x5e", + "\x5b\x68", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5b\x6e", "\x5b\x6f", "\x5b\x7c", "\x5b\x7d", "\x5b\x7e", "\x5b\x7f", + "\x00\x00", "\x5b\x81", "\x00\x00", "\x00\x00", "\x5b\x84", "\x00\x00", + "\x5b\x86", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x8a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5b\x8e", "\x00\x00", "\x5b\x90", "\x5b\x91", + "\x00\x00", "\x5b\x93", "\x5b\x94", "\x00\x00", "\x5b\x96", "\x5b\xa8", + "\x5b\xa9", "\x00\x00", "\x00\x00", "\x5b\xac", "\x5b\xad", "\x00\x00", + "\x5b\xaf", "\x00\x00", "\x5b\xb1", "\x5b\xb2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5b\xb7", "\x00\x00", "\x00\x00", "\x5b\xba", + "\x00\x00", "\x5b\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\xc0", + "\x5b\xc1", "\x5b\xcd", "\x00\x00", "\x5b\xcf", "\x5b\xd6", "\x5b\xd7", + "\x5b\xd8", "\x5b\xd9", "\x5b\xda", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5b\xe0", "\x5b\xef", "\x00\x00", "\x5b\xf1", + "\x00\x00", "\x00\x00", "\x5b\xf4", "\x5b\xfd", "\x5c\x0c", "\x5c\x17", + "\x5c\x1e", "\x5c\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x23", + "\x00\x00", "\x00\x00", "\x5c\x26", "\x00\x00", "\x00\x00", "\x5c\x29", + "\x00\x00", "\x5c\x2b", "\x5c\x2c", "\x00\x00", "\x5c\x2e", "\x00\x00", + "\x5c\x30", "\x00\x00", "\x5c\x32", "\x00\x00", "\x00\x00", "\x5c\x35", + "\x5c\x36", "\x5c\x59", "\x5c\x5a", "\x00\x00", "\x5c\x5c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x62", "\x5c\x63", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x67", "\x5c\x68", "\x5c\x69", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x6d", "\x00\x00", "\x00\x00", + "\x5c\x70", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x74", "\x5c\x75", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x7a", "\x5c\x7b", + "\x5c\x7c", "\x5c\x7d", "\x5c\x87", "\x5c\x88", "\x00\x00", "\x5c\x8a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x8f", "\x00\x00", + "\x00\x00", "\x5c\x92", "\x5c\x9d", "\x00\x00", "\x5c\x9f", "\x5c\xa0", + "\x00\x00", "\x5c\xa2", "\x5c\xa3", "\x00\x00", "\x00\x00", "\x5c\xa6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xaa", "\x5c\xb2", "\x00\x00", + "\x5c\xb4", "\x5c\xb5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5c\xba", "\x5c\xc9", "\x00\x00", "\x5c\xcb", "\x5c\xd2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xd7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xdd", "\x5c\xee", "\x00\x00", + "\x00\x00", "\x5c\xf1", "\x5c\xf2", "\x00\x00", "\x5c\xf4", "\x5d\x01", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x06", "\x5d\x0d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x12", "\x5d\x23", + "\x5d\x24", "\x00\x00", "\x5d\x26", "\x5d\x27", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\x2b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\x31", "\x00\x00", "\x00\x00", "\x5d\x34", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x39", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\x3d", "\x00\x00", "\x5d\x3f", "\x00\x00", "\x00\x00", + "\x5d\x42", "\x5d\x43", "\x00\x00", "\x00\x00", "\x5d\x46", "\x00\x00", + "\x5d\x48", "\x00\x00", "\x5d\x4a", "\x5d\x51", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x59", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x5f", + "\x5d\x60", "\x5d\x61", "\x5d\x62", "\x00\x00", "\x5d\x64", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x6a", "\x00\x00", + "\x00\x00", "\x5d\x6d", "\x00\x00", "\x00\x00", "\x5d\x70", "\x5d\x79", + "\x5d\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x7e", "\x5d\x7f", + "\x00\x00", "\x5d\x81", "\x00\x00", "\x5d\x83", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5d\x88", "\x00\x00", "\x5d\x8a", "\x5d\x92", + "\x5d\x93", "\x5d\x94", "\x5d\x95", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5d\x99", "\x00\x00", "\x5d\x9b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5d\x9f", "\x5d\xa0", "\x5d\xa7", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5d\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xb0", + "\x00\x00", "\x5d\xb2", "\x00\x00", "\x5d\xb4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\xb8", "\x5d\xb9", "\x5d\xc3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5d\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xcb", + "\x00\x00", "\x00\x00", "\x5d\xce", "\x00\x00", "\x5d\xd0", "\x5d\xd8", + "\x5d\xd9", "\x5d\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xe4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xe9", "\x5d\xf8", + "\x5d\xf9", "\x5e\x00", "\x5e\x07", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\x0d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5e\x12", "\x00\x00", "\x5e\x14", "\x5e\x15", "\x00\x00", + "\x00\x00", "\x5e\x18", "\x5e\x1f", "\x5e\x20", "\x5e\x28", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x2e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\x32", "\x00\x00", "\x00\x00", "\x5e\x35", + "\x5e\x3e", "\x5e\x49", "\x00\x00", "\x5e\x4b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\x50", "\x5e\x51", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5e\x56", "\x00\x00", "\x5e\x58", "\x00\x00", + "\x00\x00", "\x5e\x5b", "\x5e\x5c", "\x00\x00", "\x5e\x5e", "\x5e\x68", + "\x00\x00", "\x5e\x6a", "\x5e\x6b", "\x5e\x6c", "\x5e\x6d", "\x5e\x6e", + "\x00\x00", "\x5e\x70", "\x5e\x80", "\x5e\x8b", "\x00\x00", "\x00\x00", + "\x5e\x8e", "\x5e\xa2", "\x00\x00", "\x5e\xa4", "\x5e\xa5", "\x00\x00", + "\x00\x00", "\x5e\xa8", "\x00\x00", "\x5e\xaa", "\x00\x00", "\x5e\xac", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xb1", "\x00\x00", + "\x5e\xb3", "\x5e\xbd", "\x5e\xbe", "\x5e\xbf", "\x5e\xc6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xcb", "\x5e\xcc", "\x00\x00", + "\x5e\xce", "\x00\x00", "\x00\x00", "\x5e\xd1", "\x5e\xd2", "\x00\x00", + "\x5e\xd4", "\x5e\xd5", "\x5e\xdc", "\x00\x00", "\x5e\xde", "\x5e\xe5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xeb", + "\x5f\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x06", "\x5f\x07", + "\x5f\x08", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\x0e", "\x5f\x19", "\x00\x00", "\x00\x00", "\x5f\x1c", "\x5f\x1d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x21", "\x5f\x22", "\x5f\x23", + "\x5f\x24", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x28", "\x00\x00", + "\x00\x00", "\x5f\x2b", "\x5f\x2c", "\x00\x00", "\x5f\x2e", "\x00\x00", + "\x5f\x30", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x34", "\x00\x00", + "\x5f\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x3b", + "\x00\x00", "\x5f\x3d", "\x00\x00", "\x5f\x3f", "\x5f\x40", "\x00\x00", + "\x00\x00", "\x00\x00", "\x5f\x44", "\x5f\x45", "\x00\x00", "\x5f\x47", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x4d", + "\x00\x00", "\x00\x00", "\x5f\x50", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x58", "\x00\x00", + "\x00\x00", "\x5f\x5b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\x60", "\x00\x00", "\x00\x00", "\x5f\x63", "\x5f\x64", "\x00\x00", + "\x00\x00", "\x5f\x67", "\x5f\x6f", "\x00\x00", "\x00\x00", "\x5f\x72", + "\x00\x00", "\x5f\x74", "\x5f\x75", "\x00\x00", "\x00\x00", "\x5f\x78", + "\x00\x00", "\x5f\x7a", "\x00\x00", "\x00\x00", "\x5f\x7d", "\x5f\x7e", + "\x5f\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x8d", "\x00\x00", + "\x5f\x8f", "\x5f\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5f\x9c", "\x5f\x9d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x5f\xa2", "\x00\x00", "\x5f\xa4", "\x00\x00", "\x00\x00", + "\x5f\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xab", "\x5f\xac", + "\x00\x00", "\x00\x00", "\x5f\xaf", "\x5f\xb0", "\x5f\xb1", "\x5f\xb8", + "\x5f\xc4", "\x00\x00", "\x00\x00", "\x5f\xc7", "\x5f\xc8", "\x5f\xc9", + "\x00\x00", "\x5f\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x5f\xd0", "\x5f\xd1", "\x5f\xd2", "\x5f\xd3", "\x5f\xd4", "\x5f\xde", + "\x00\x00", "\x00\x00", "\x5f\xe1", "\x5f\xe2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xe8", "\x5f\xe9", "\x5f\xea", + "\x00\x00", "\x5f\xec", "\x5f\xed", "\x5f\xee", "\x5f\xef", "\x00\x00", + "\x00\x00", "\x5f\xf2", "\x5f\xf3", "\x00\x00", "\x00\x00", "\x5f\xf6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xfa", "\x00\x00", "\x5f\xfc", + "\x60\x07", "\x00\x00", "\x00\x00", "\x60\x0a", "\x00\x00", "\x00\x00", + "\x60\x0d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x13", "\x60\x14", "\x00\x00", "\x00\x00", "\x60\x17", "\x60\x18", + "\x00\x00", "\x60\x1a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x24", + "\x60\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x33", "\x00\x00", "\x60\x35", "\x60\x40", "\x60\x47", "\x60\x48", + "\x60\x49", "\x00\x00", "\x00\x00", "\x60\x4c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\x51", "\x00\x00", "\x00\x00", "\x60\x54", + "\x00\x00", "\x60\x56", "\x60\x57", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\x5d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x67", "\x60\x71", "\x60\x7e", "\x60\x7f", "\x00\x00", "\x00\x00", + "\x60\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x86", "\x00\x00", + "\x60\x88", "\x00\x00", "\x60\x8a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x60\x8e", "\x00\x00", "\x00\x00", "\x60\x91", "\x00\x00", "\x60\x93", + "\x00\x00", "\x60\x95", "\x00\x00", "\x00\x00", "\x60\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x9d", "\x60\x9e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\xa2", "\x00\x00", "\x60\xa4", "\x60\xa5", + "\x00\x00", "\x00\x00", "\x60\xa8", "\x60\xb0", "\x60\xb1", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xb7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\xbb", "\x00\x00", "\x00\x00", "\x60\xbe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xc2", "\x00\x00", "\x60\xc4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xc8", "\x60\xc9", "\x60\xca", + "\x60\xcb", "\x00\x00", "\x00\x00", "\x60\xce", "\x60\xcf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xd4", "\x60\xd5", "\x00\x00", + "\x00\x00", "\x00\x00", "\x60\xd9", "\x00\x00", "\x60\xdb", "\x00\x00", + "\x60\xdd", "\x60\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xe2", + "\x00\x00", "\x00\x00", "\x60\xe5", "\x60\xf2", "\x00\x00", "\x00\x00", + "\x60\xf5", "\x00\x00", "\x00\x00", "\x60\xf8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x60\xfc", "\x60\xfd", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x61\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x61\x07", "\x00\x00", "\x00\x00", "\x61\x0a", "\x00\x00", "\x61\x0c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x10", "\x61\x11", "\x61\x12", + "\x61\x13", "\x61\x14", "\x00\x00", "\x61\x16", "\x61\x17", "\x00\x00", + "\x61\x19", "\x00\x00", "\x00\x00", "\x61\x1c", "\x00\x00", "\x61\x1e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x22", "\x61\x2a", "\x61\x2b", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x30", "\x61\x31", + "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x35", "\x61\x36", "\x61\x37", + "\x00\x00", "\x61\x39", "\x61\x41", "\x00\x00", "\x00\x00", "\x00\x00", + "\x61\x45", "\x61\x46", "\x00\x00", "\x00\x00", "\x61\x49", "\x61\x5e", + "\x00\x00", "\x61\x60", "\x61\x6c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\x72", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\x78", "\x00\x00", "\x00\x00", "\x61\x7b", + "\x61\x7c", "\x00\x00", "\x00\x00", "\x61\x7f", "\x61\x80", "\x61\x81", + "\x00\x00", "\x61\x83", "\x61\x84", "\x61\x8b", "\x00\x00", "\x61\x8d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x92", "\x61\x93", + "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x97", "\x61\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\x9c", "\x61\x9d", "\x00\x00", "\x61\x9f", + "\x61\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xa5", + "\x00\x00", "\x00\x00", "\x61\xa8", "\x00\x00", "\x61\xaa", "\x00\x00", + "\x00\x00", "\x61\xad", "\x61\xb8", "\x61\xb9", "\x00\x00", "\x00\x00", + "\x61\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xc0", "\x61\xc1", + "\x61\xc2", "\x61\xce", "\x61\xcf", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x61\xd5", "\x61\xdc", "\x61\xdd", "\x61\xde", + "\x61\xdf", "\x00\x00", "\x61\xe1", "\x61\xe2", "\x00\x00", "\x00\x00", + "\x61\xe5", "\x00\x00", "\x61\xe7", "\x00\x00", "\x61\xe9", "\x00\x00", + "\x00\x00", "\x61\xec", "\x61\xed", "\x00\x00", "\x61\xef", "\x62\x01", + "\x00\x00", "\x62\x03", "\x62\x04", "\x00\x00", "\x00\x00", "\x62\x07", + "\x62\x13", "\x00\x00", "\x62\x15", "\x62\x1c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x62\x20", "\x00\x00", "\x62\x22", "\x62\x23", "\x00\x00", + "\x00\x00", "\x00\x00", "\x62\x27", "\x00\x00", "\x62\x29", "\x00\x00", + "\x62\x2b", "\x62\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x3d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x42", "\x62\x43", + "\x62\x44", "\x00\x00", "\x62\x46", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x62\x4c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x62\x50", "\x62\x51", "\x62\x52", "\x00\x00", "\x62\x54", "\x00\x00", + "\x62\x56", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x5a", "\x00\x00", + "\x62\x5c", "\x62\x64", "\x62\x6d", "\x00\x00", "\x62\x6f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x62\x73", "\x62\x7a", "\x00\x00", "\x00\x00", + "\x62\x7d", "\x62\x8d", "\x62\x8e", "\x62\x8f", "\x62\x90", "\x62\xa6", + "\x00\x00", "\x62\xa8", "\x62\xb3", "\x00\x00", "\x00\x00", "\x62\xb6", + "\x62\xb7", "\x00\x00", "\x00\x00", "\x62\xba", "\x00\x00", "\x00\x00", + "\x00\x00", "\x62\xbe", "\x62\xbf", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x62\xc4", "\x62\xce", "\x62\xd5", "\x62\xd6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x62\xda", "\x62\xea", "\x62\xf2", "\x00\x00", + "\x62\xf4", "\x62\xfc", "\x62\xfd", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x63\x03", "\x63\x04", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x0a", "\x63\x0b", "\x00\x00", + "\x63\x0d", "\x00\x00", "\x00\x00", "\x63\x10", "\x00\x00", "\x00\x00", + "\x63\x13", "\x00\x00", "\x00\x00", "\x63\x16", "\x00\x00", "\x63\x18", + "\x63\x29", "\x63\x2a", "\x00\x00", "\x00\x00", "\x63\x2d", "\x63\x35", + "\x63\x36", "\x00\x00", "\x00\x00", "\x63\x39", "\x00\x00", "\x00\x00", + "\x63\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x41", + "\x63\x42", "\x63\x43", "\x63\x44", "\x00\x00", "\x63\x46", "\x00\x00", + "\x00\x00", "\x00\x00", "\x63\x4a", "\x63\x4b", "\x00\x00", "\x00\x00", + "\x63\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x52", "\x63\x53", + "\x63\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x58", "\x00\x00", + "\x00\x00", "\x63\x5b", "\x63\x65", "\x63\x66", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x6c", "\x63\x6d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x63\x71", "\x00\x00", "\x00\x00", "\x63\x74", + "\x63\x75", "\x00\x00", "\x00\x00", "\x63\x78", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\x7c", "\x63\x7d", "\x00\x00", "\x63\x7f", "\x00\x00", + "\x00\x00", "\x63\x82", "\x00\x00", "\x63\x84", "\x00\x00", "\x00\x00", + "\x63\x87", "\x00\x00", "\x00\x00", "\x63\x8a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x90", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\x94", "\x63\x95", "\x00\x00", "\x00\x00", "\x00\x00", + "\x63\x99", "\x63\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x9e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xa4", + "\x00\x00", "\x63\xa6", "\x63\xad", "\x63\xae", "\x63\xaf", "\x63\xbd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xc1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x63\xc5", "\x00\x00", "\x00\x00", "\x63\xc8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xce", "\x00\x00", + "\x00\x00", "\x63\xd1", "\x00\x00", "\x63\xd3", "\x63\xd4", "\x63\xd5", + "\x63\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xe0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xe5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x63\xea", "\x00\x00", "\x63\xec", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xf2", "\x63\xf3", + "\x00\x00", "\x63\xf5", "\x00\x00", "\x00\x00", "\x63\xf8", "\x63\xf9", + "\x64\x09", "\x64\x0a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x64\x10", "\x00\x00", "\x64\x12", "\x00\x00", "\x64\x14", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x18", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x1e", "\x00\x00", "\x64\x20", + "\x00\x00", "\x64\x22", "\x00\x00", "\x64\x24", "\x64\x25", "\x00\x00", + "\x00\x00", "\x00\x00", "\x64\x29", "\x64\x2a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x64\x2f", "\x64\x30", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x64\x35", "\x64\x3d", "\x00\x00", "\x64\x3f", + "\x64\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x4f", "\x00\x00", + "\x64\x51", "\x64\x52", "\x64\x53", "\x64\x54", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x5a", "\x64\x5b", "\x64\x5c", + "\x64\x5d", "\x00\x00", "\x64\x5f", "\x64\x60", "\x64\x61", "\x00\x00", + "\x64\x63", "\x64\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x64\x73", "\x64\x74", "\x64\x7b", "\x00\x00", "\x64\x7d", + "\x64\x85", "\x00\x00", "\x64\x87", "\x64\x8f", "\x64\x90", "\x64\x91", + "\x64\x98", "\x64\x99", "\x00\x00", "\x64\x9b", "\x00\x00", "\x64\x9d", + "\x00\x00", "\x64\x9f", "\x00\x00", "\x64\xa1", "\x00\x00", "\x64\xa3", + "\x00\x00", "\x00\x00", "\x64\xa6", "\x00\x00", "\x64\xa8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x64\xac", "\x64\xb3", "\x64\xbd", "\x64\xbe", + "\x64\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xc4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xc9", "\x64\xca", + "\x64\xcb", "\x64\xcc", "\x00\x00", "\x64\xce", "\x00\x00", "\x64\xd0", + "\x64\xd1", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xd5", "\x00\x00", + "\x64\xd7", "\x64\xe4", "\x64\xe5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x64\xe9", "\x64\xea", "\x00\x00", "\x00\x00", "\x64\xed", "\x00\x00", + "\x00\x00", "\x64\xf0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x64\xf5", "\x00\x00", "\x64\xf7", "\x00\x00", "\x00\x00", "\x00\x00", + "\x64\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xff", "\x00\x00", + "\x65\x01", "\x00\x00", "\x00\x00", "\x65\x04", "\x00\x00", "\x00\x00", + "\x00\x00", "\x65\x08", "\x65\x09", "\x65\x0a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x65\x0f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x65\x13", "\x65\x14", "\x00\x00", "\x65\x16", "\x00\x00", "\x00\x00", + "\x65\x19", "\x00\x00", "\x65\x1b", "\x00\x00", "\x00\x00", "\x65\x1e", + "\x65\x1f", "\x00\x00", "\x00\x00", "\x65\x22", "\x00\x00", "\x00\x00", + "\x00\x00", "\x65\x26", "\x00\x00", "\x00\x00", "\x65\x29", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x2e", "\x00\x00", "\x00\x00", + "\x65\x31", "\x65\x3a", "\x00\x00", "\x65\x3c", "\x65\x3d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x43", "\x00\x00", + "\x00\x00", "\x00\x00", "\x65\x47", "\x00\x00", "\x65\x49", "\x65\x50", + "\x00\x00", "\x65\x52", "\x00\x00", "\x65\x54", "\x65\x5f", "\x65\x60", + "\x65\x67", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x6b", "\x65\x7a", + "\x00\x00", "\x00\x00", "\x65\x7d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x65\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x85", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x8a", "\x65\x92", "\x00\x00", + "\x00\x00", "\x65\x95", "\x00\x00", "\x00\x00", "\x65\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x9d", "\x00\x00", "\x00\x00", + "\x65\xa0", "\x00\x00", "\x00\x00", "\x65\xa3", "\x00\x00", "\x00\x00", + "\x65\xa6", "\x65\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xb2", + "\x65\xb3", "\x65\xb4", "\x65\xbf", "\x00\x00", "\x00\x00", "\x65\xc2", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xc8", + "\x65\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xce", + "\x00\x00", "\x65\xd0", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xd4", + "\x00\x00", "\x65\xd6", "\x00\x00", "\x65\xd8", "\x65\xdf", "\x65\xf0", + "\x00\x00", "\x65\xf2", "\x00\x00", "\x65\xf4", "\x65\xf5", "\x00\x00", + "\x00\x00", "\x00\x00", "\x65\xf9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x65\xfe", "\x65\xff", "\x66\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x66\x04", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x08", + "\x66\x09", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x0d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\x11", "\x66\x12", "\x00\x00", "\x00\x00", + "\x66\x15", "\x66\x16", "\x66\x1d", "\x66\x1e", "\x00\x00", "\x00\x00", + "\x66\x21", "\x66\x22", "\x66\x23", "\x66\x24", "\x00\x00", "\x66\x26", + "\x00\x00", "\x00\x00", "\x66\x29", "\x66\x2a", "\x66\x2b", "\x66\x2c", + "\x00\x00", "\x66\x2e", "\x00\x00", "\x66\x30", "\x66\x31", "\x00\x00", + "\x66\x33", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x37", "\x00\x00", + "\x66\x39", "\x66\x40", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\x45", "\x66\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x4a", + "\x00\x00", "\x66\x4c", "\x00\x00", "\x66\x4e", "\x00\x00", "\x00\x00", + "\x66\x51", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\x57", "\x66\x58", "\x66\x59", "\x00\x00", "\x66\x5b", "\x66\x5c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x60", "\x66\x61", "\x66\x6a", + "\x66\x6b", "\x66\x6c", "\x66\x73", "\x00\x00", "\x66\x75", "\x00\x00", + "\x66\x77", "\x66\x78", "\x66\x79", "\x00\x00", "\x66\x7b", "\x66\x7c", + "\x00\x00", "\x66\x7e", "\x66\x7f", "\x66\x80", "\x66\x8b", "\x66\x8c", + "\x66\x8d", "\x00\x00", "\x00\x00", "\x66\x90", "\x00\x00", "\x66\x92", + "\x66\x99", "\x66\x9a", "\x66\x9b", "\x66\x9c", "\x00\x00", "\x00\x00", + "\x66\x9f", "\x66\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xa4", + "\x66\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xb1", "\x66\xb2", + "\x00\x00", "\x00\x00", "\x66\xb5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\xbb", "\x00\x00", "\x00\x00", "\x00\x00", + "\x66\xbf", "\x66\xc0", "\x00\x00", "\x66\xc2", "\x66\xc3", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xc8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x66\xcc", "\x00\x00", "\x66\xce", "\x66\xcf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xd4", "\x66\xdb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x66\xdf", "\x66\xe8", "\x00\x00", "\x00\x00", + "\x66\xeb", "\x66\xec", "\x00\x00", "\x66\xee", "\x66\xfa", "\x66\xfb", + "\x67\x05", "\x00\x00", "\x67\x07", "\x67\x0e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\x13", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\x19", "\x00\x00", "\x00\x00", "\x67\x1c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x20", "\x00\x00", "\x67\x22", + "\x67\x33", "\x67\x3e", "\x67\x45", "\x00\x00", "\x67\x47", "\x67\x48", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x4c", "\x67\x54", "\x67\x55", + "\x67\x5d", "\x67\x66", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x67\x6c", "\x00\x00", "\x67\x6e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x74", "\x00\x00", "\x67\x76", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x7b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x81", "\x00\x00", + "\x00\x00", "\x67\x84", "\x67\x8e", "\x67\x8f", "\x00\x00", "\x67\x91", + "\x00\x00", "\x67\x93", "\x00\x00", "\x00\x00", "\x67\x96", "\x00\x00", + "\x67\x98", "\x67\x99", "\x00\x00", "\x67\x9b", "\x67\xb0", "\x67\xb1", + "\x67\xb2", "\x00\x00", "\x00\x00", "\x67\xb5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xbb", "\x67\xbc", "\x67\xbd", + "\x00\x00", "\x00\x00", "\x67\xc0", "\x00\x00", "\x67\xc2", "\x67\xc3", + "\x00\x00", "\x67\xc5", "\x00\x00", "\x00\x00", "\x67\xc8", "\x67\xc9", + "\x67\xd2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xd7", + "\x00\x00", "\x67\xd9", "\x00\x00", "\x00\x00", "\x67\xdc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xe1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x67\xe6", "\x67\xf0", "\x00\x00", "\x67\xf2", + "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xf6", "\x67\xf7", "\x00\x00", + "\x67\xf9", "\x68\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\x19", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x1d", "\x00\x00", + "\x68\x1f", "\x68\x27", "\x68\x28", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\x2c", "\x68\x2d", "\x00\x00", "\x68\x2f", "\x68\x30", "\x68\x31", + "\x00\x00", "\x68\x33", "\x68\x3b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x44", + "\x68\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x4a", + "\x00\x00", "\x68\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x68\x52", "\x00\x00", "\x00\x00", "\x68\x55", "\x00\x00", + "\x68\x57", "\x68\x58", "\x00\x00", "\x00\x00", "\x68\x5b", "\x68\x6b", + "\x00\x00", "\x00\x00", "\x68\x6e", "\x68\x6f", "\x68\x70", "\x68\x71", + "\x68\x72", "\x00\x00", "\x00\x00", "\x68\x75", "\x00\x00", "\x00\x00", + "\x00\x00", "\x68\x79", "\x68\x7a", "\x68\x7b", "\x68\x7c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x82", "\x00\x00", + "\x68\x84", "\x00\x00", "\x68\x86", "\x00\x00", "\x68\x88", "\x68\x96", + "\x00\x00", "\x68\x98", "\x00\x00", "\x68\x9a", "\x00\x00", "\x68\x9c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xa1", "\x00\x00", + "\x68\xa3", "\x00\x00", "\x68\xa5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\xa9", "\x68\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xae", + "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xb2", "\x68\xbb", "\x68\xc5", + "\x00\x00", "\x00\x00", "\x68\xc8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x68\xcc", "\x00\x00", "\x00\x00", "\x68\xcf", "\x68\xd0", "\x68\xd1", + "\x00\x00", "\x68\xd3", "\x00\x00", "\x00\x00", "\x68\xd6", "\x00\x00", + "\x00\x00", "\x68\xd9", "\x00\x00", "\x00\x00", "\x68\xdc", "\x68\xdd", + "\x68\xe5", "\x00\x00", "\x00\x00", "\x68\xe8", "\x00\x00", "\x68\xea", + "\x68\xeb", "\x68\xec", "\x68\xed", "\x00\x00", "\x00\x00", "\x68\xf0", + "\x68\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xf5", "\x68\xf6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xfb", "\x68\xfc", + "\x68\xfd", "\x69\x06", "\x00\x00", "\x00\x00", "\x69\x09", "\x69\x0a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x10", + "\x69\x11", "\x00\x00", "\x69\x13", "\x00\x00", "\x00\x00", "\x69\x16", + "\x69\x17", "\x69\x31", "\x00\x00", "\x69\x33", "\x00\x00", "\x69\x35", + "\x00\x00", "\x00\x00", "\x69\x38", "\x00\x00", "\x00\x00", "\x69\x3b", + "\x69\x42", "\x00\x00", "\x00\x00", "\x69\x45", "\x00\x00", "\x00\x00", + "\x00\x00", "\x69\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x69\x4e", "\x69\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x5b", + "\x69\x63", "\x69\x64", "\x69\x65", "\x69\x66", "\x00\x00", "\x69\x68", + "\x69\x69", "\x00\x00", "\x00\x00", "\x69\x6c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x69\x70", "\x69\x71", "\x69\x72", "\x69\x7a", "\x69\x7b", + "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x7f", "\x69\x80", "\x69\x8d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x92", "\x00\x00", + "\x00\x00", "\x00\x00", "\x69\x96", "\x00\x00", "\x69\x98", "\x69\xa1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xa5", "\x69\xa6", "\x00\x00", + "\x69\xa8", "\x00\x00", "\x00\x00", "\x69\xab", "\x00\x00", "\x69\xad", + "\x00\x00", "\x69\xaf", "\x69\xb7", "\x69\xb8", "\x00\x00", "\x69\xba", + "\x00\x00", "\x69\xbc", "\x69\xc5", "\x00\x00", "\x00\x00", "\x69\xc8", + "\x69\xd1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xd6", + "\x69\xd7", "\x69\xe2", "\x00\x00", "\x00\x00", "\x69\xe5", "\x69\xee", + "\x69\xef", "\x00\x00", "\x69\xf1", "\x00\x00", "\x69\xf3", "\x00\x00", + "\x69\xf5", "\x69\xfe", "\x00\x00", "\x6a\x00", "\x6a\x01", "\x00\x00", + "\x6a\x03", "\x6a\x0f", "\x00\x00", "\x6a\x11", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6a\x15", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\x1a", "\x00\x00", "\x00\x00", "\x6a\x1d", "\x00\x00", "\x00\x00", + "\x6a\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x24", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6a\x28", "\x6a\x30", "\x00\x00", "\x6a\x32", + "\x00\x00", "\x6a\x34", "\x00\x00", "\x00\x00", "\x6a\x37", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6a\x3b", "\x00\x00", "\x00\x00", "\x6a\x3e", + "\x6a\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\x45", "\x6a\x46", "\x00\x00", "\x00\x00", "\x6a\x49", "\x6a\x4a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x4e", "\x00\x00", "\x6a\x50", + "\x6a\x51", "\x6a\x52", "\x00\x00", "\x00\x00", "\x6a\x55", "\x6a\x56", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x5b", "\x6a\x64", + "\x00\x00", "\x00\x00", "\x6a\x67", "\x00\x00", "\x00\x00", "\x6a\x6a", + "\x6a\x71", "\x00\x00", "\x6a\x73", "\x6a\x7e", "\x00\x00", "\x00\x00", + "\x6a\x81", "\x00\x00", "\x6a\x83", "\x00\x00", "\x00\x00", "\x6a\x86", + "\x6a\x87", "\x00\x00", "\x6a\x89", "\x00\x00", "\x6a\x8b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x91", "\x6a\x9b", + "\x00\x00", "\x6a\x9d", "\x6a\x9e", "\x6a\x9f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xa5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xab", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6a\xaf", "\x6a\xb0", "\x6a\xb1", "\x00\x00", "\x00\x00", + "\x6a\xb4", "\x6a\xbd", "\x6a\xbe", "\x6a\xbf", "\x6a\xc6", "\x00\x00", + "\x6a\xc8", "\x6a\xc9", "\x00\x00", "\x00\x00", "\x6a\xcc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6a\xd0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\xd4", "\x6a\xd5", "\x6a\xd6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6a\xdc", "\x6a\xdd", "\x6a\xe4", "\x00\x00", + "\x00\x00", "\x6a\xe7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xf0", "\x6a\xf1", + "\x6a\xf2", "\x6a\xfc", "\x6a\xfd", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\x02", "\x6b\x03", "\x00\x00", "\x00\x00", "\x6b\x06", + "\x6b\x07", "\x00\x00", "\x6b\x09", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x0f", "\x6b\x10", "\x6b\x11", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x17", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x1b", "\x00\x00", "\x00\x00", "\x6b\x1e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x24", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x28", "\x00\x00", "\x00\x00", + "\x6b\x2b", "\x6b\x2c", "\x00\x00", "\x00\x00", "\x6b\x2f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x35", "\x6b\x36", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x3b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x3f", "\x6b\x46", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\x4a", "\x00\x00", "\x00\x00", "\x6b\x4d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x52", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\x56", "\x00\x00", "\x6b\x58", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x5d", "\x00\x00", "\x00\x00", "\x6b\x60", + "\x6b\x67", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x6b", "\x00\x00", + "\x00\x00", "\x6b\x6e", "\x00\x00", "\x6b\x70", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x75", "\x6b\x7d", "\x6b\x7e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x82", "\x00\x00", "\x00\x00", "\x6b\x85", + "\x6b\x97", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x9b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\x9f", "\x6b\xa0", "\x00\x00", "\x6b\xa2", + "\x6b\xa3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xa8", + "\x6b\xa9", "\x00\x00", "\x00\x00", "\x6b\xac", "\x6b\xad", "\x6b\xae", + "\x00\x00", "\x6b\xb0", "\x6b\xb8", "\x6b\xb9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\xbd", "\x6b\xbe", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\xc3", "\x6b\xc4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6b\xc9", "\x00\x00", "\x00\x00", "\x6b\xcc", "\x6b\xd6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xda", "\x6b\xe1", "\x00\x00", + "\x6b\xe3", "\x00\x00", "\x00\x00", "\x6b\xe6", "\x6b\xe7", "\x6b\xee", + "\x00\x00", "\x00\x00", "\x6b\xf1", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6b\xf7", "\x00\x00", "\x6b\xf9", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xff", "\x00\x00", + "\x00\x00", "\x6c\x02", "\x00\x00", "\x6c\x04", "\x6c\x05", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6c\x09", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6c\x0d", "\x6c\x0e", "\x00\x00", "\x6c\x10", "\x00\x00", "\x6c\x12", + "\x6c\x19", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6c\x1f", "\x6c\x26", "\x6c\x27", "\x6c\x28", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6c\x2c", "\x00\x00", "\x6c\x2e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6c\x33", "\x00\x00", "\x6c\x35", "\x6c\x36", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x3a", "\x6c\x3b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6c\x3f", "\x6c\x4a", "\x6c\x4b", "\x00\x00", + "\x6c\x4d", "\x00\x00", "\x6c\x4f", "\x00\x00", "\x00\x00", "\x6c\x52", + "\x00\x00", "\x6c\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6c\x59", "\x00\x00", "\x6c\x5b", "\x6c\x5c", "\x6c\x67", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6c\x6b", "\x00\x00", "\x6c\x6d", "\x00\x00", + "\x6c\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x74", + "\x00\x00", "\x6c\x76", "\x00\x00", "\x6c\x78", "\x6c\x79", "\x00\x00", + "\x6c\x7b", "\x6c\x85", "\x6c\x86", "\x6c\x87", "\x00\x00", "\x6c\x89", + "\x6c\x94", "\x6c\x95", "\x00\x00", "\x6c\x97", "\x6c\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6c\x9c", "\x00\x00", "\x00\x00", "\x6c\x9f", + "\x6c\xb0", "\x00\x00", "\x6c\xb2", "\x00\x00", "\x6c\xb4", "\x6c\xc2", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xc6", "\x6c\xcd", "\x00\x00", + "\x6c\xcf", "\x6c\xd0", "\x6c\xd1", "\x6c\xd2", "\x00\x00", "\x6c\xd4", + "\x00\x00", "\x6c\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xda", + "\x00\x00", "\x6c\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xe0", + "\x6c\xe7", "\x00\x00", "\x6c\xe9", "\x00\x00", "\x6c\xeb", "\x6c\xec", + "\x00\x00", "\x6c\xee", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xf2", + "\x00\x00", "\x6c\xf4", "\x6d\x04", "\x00\x00", "\x00\x00", "\x6d\x07", + "\x00\x00", "\x00\x00", "\x6d\x0a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6d\x0e", "\x6d\x0f", "\x00\x00", "\x6d\x11", "\x00\x00", "\x6d\x13", + "\x6d\x1a", "\x6d\x26", "\x6d\x27", "\x6d\x28", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x2e", "\x6d\x2f", "\x00\x00", + "\x6d\x31", "\x6d\x39", "\x00\x00", "\x00\x00", "\x6d\x3c", "\x00\x00", + "\x00\x00", "\x6d\x3f", "\x6d\x57", "\x6d\x5e", "\x6d\x5f", "\x00\x00", + "\x6d\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x65", "\x00\x00", + "\x6d\x67", "\x6d\x6f", "\x6d\x70", "\x6d\x7c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x82", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6d\x87", "\x6d\x91", "\x6d\x92", "\x00\x00", + "\x6d\x94", "\x00\x00", "\x6d\x96", "\x6d\x97", "\x6d\x98", "\x6d\xaa", + "\x00\x00", "\x6d\xac", "\x6d\xb4", "\x00\x00", "\x00\x00", "\x6d\xb7", + "\x00\x00", "\x6d\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xbd", + "\x00\x00", "\x6d\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6d\xc4", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xc8", "\x00\x00", + "\x6d\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xce", "\x6d\xcf", + "\x6d\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xdb", + "\x00\x00", "\x6d\xdd", "\x00\x00", "\x6d\xdf", "\x6d\xe0", "\x00\x00", + "\x6d\xe2", "\x00\x00", "\x00\x00", "\x6d\xe5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6d\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6d\xef", "\x6d\xf0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6d\xf4", "\x00\x00", "\x6d\xf6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6d\xfc", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6e\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x04", "\x6e\x1e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x22", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6e\x27", "\x6e\x32", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6e\x36", "\x00\x00", "\x00\x00", "\x6e\x39", "\x00\x00", + "\x6e\x3b", "\x6e\x3c", "\x6e\x44", "\x6e\x45", "\x00\x00", "\x00\x00", + "\x6e\x48", "\x6e\x49", "\x00\x00", "\x6e\x4b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6e\x4f", "\x00\x00", "\x6e\x51", "\x6e\x52", "\x6e\x53", + "\x6e\x54", "\x00\x00", "\x00\x00", "\x6e\x57", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6e\x5c", "\x6e\x5d", "\x6e\x5e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6e\x62", "\x6e\x63", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6e\x68", "\x6e\x73", "\x6e\x7b", "\x00\x00", + "\x6e\x7d", "\x6e\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6e\x93", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6e\x99", "\x6e\xa0", "\x6e\xa7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xad", "\x6e\xae", "\x00\x00", + "\x00\x00", "\x6e\xb1", "\x00\x00", "\x6e\xb3", "\x6e\xbb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6e\xbf", "\x6e\xc0", "\x6e\xc1", "\x00\x00", + "\x6e\xc3", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xc7", "\x6e\xc8", + "\x00\x00", "\x6e\xca", "\x00\x00", "\x00\x00", "\x6e\xcd", "\x6e\xce", + "\x6e\xcf", "\x6e\xeb", "\x00\x00", "\x6e\xed", "\x6e\xee", "\x6e\xf9", + "\x00\x00", "\x6e\xfb", "\x00\x00", "\x6e\xfd", "\x6f\x04", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x08", "\x00\x00", "\x6f\x0a", "\x00\x00", + "\x6f\x0c", "\x6f\x0d", "\x6f\x16", "\x00\x00", "\x6f\x18", "\x00\x00", + "\x6f\x1a", "\x6f\x1b", "\x6f\x26", "\x00\x00", "\x00\x00", "\x6f\x29", + "\x6f\x2a", "\x00\x00", "\x00\x00", "\x6f\x2d", "\x00\x00", "\x6f\x2f", + "\x6f\x30", "\x00\x00", "\x00\x00", "\x6f\x33", "\x00\x00", "\x00\x00", + "\x6f\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x3b", + "\x6f\x3c", "\x6f\x4f", "\x00\x00", "\x6f\x51", "\x6f\x52", "\x6f\x53", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x57", "\x00\x00", "\x6f\x59", + "\x6f\x5a", "\x00\x00", "\x00\x00", "\x6f\x5d", "\x6f\x5e", "\x00\x00", + "\x00\x00", "\x6f\x61", "\x6f\x62", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\x68", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6f\x6c", "\x6f\x7d", "\x6f\x7e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x6f\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x87", + "\x6f\x88", "\x00\x00", "\x00\x00", "\x6f\x8b", "\x6f\x8c", "\x6f\x8d", + "\x00\x00", "\x00\x00", "\x6f\x90", "\x00\x00", "\x6f\x92", "\x6f\x93", + "\x6f\x94", "\x00\x00", "\x6f\x96", "\x00\x00", "\x00\x00", "\x00\x00", + "\x6f\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x9f", + "\x6f\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xa5", + "\x6f\xa6", "\x6f\xa7", "\x6f\xa8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x6f\xae", "\x6f\xaf", "\x6f\xb0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xb5", "\x6f\xb6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xbc", "\x6f\xc5", + "\x00\x00", "\x6f\xc7", "\x6f\xc8", "\x00\x00", "\x6f\xca", "\x6f\xda", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xde", "\x6f\xe8", "\x6f\xe9", + "\x6f\xf0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xf5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xf9", "\x00\x00", "\x00\x00", + "\x6f\xfc", "\x6f\xfd", "\x00\x00", "\x00\x00", "\x70\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x05", "\x70\x06", "\x70\x07", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x0d", + "\x70\x17", "\x70\x20", "\x00\x00", "\x00\x00", "\x70\x23", "\x70\x2f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x34", "\x00\x00", + "\x00\x00", "\x70\x37", "\x00\x00", "\x70\x39", "\x00\x00", "\x00\x00", + "\x70\x3c", "\x70\x43", "\x70\x44", "\x00\x00", "\x00\x00", "\x00\x00", + "\x70\x48", "\x70\x49", "\x70\x4a", "\x70\x4b", "\x00\x00", "\x00\x00", + "\x70\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x70\x54", "\x70\x55", "\x70\x5d", "\x70\x5e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x64", "\x70\x65", "\x70\x6c", + "\x00\x00", "\x70\x6e", "\x70\x75", "\x70\x76", "\x70\x7e", "\x00\x00", + "\x00\x00", "\x70\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x85", + "\x70\x86", "\x70\x94", "\x70\x95", "\x70\x96", "\x70\x97", "\x70\x98", + "\x00\x00", "\x00\x00", "\x70\x9b", "\x70\xa4", "\x70\xab", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xb0", "\x70\xb1", "\x00\x00", + "\x00\x00", "\x70\xb4", "\x00\x00", "\x00\x00", "\x70\xb7", "\x70\xca", + "\x70\xd1", "\x00\x00", "\x70\xd3", "\x70\xd4", "\x70\xd5", "\x70\xd6", + "\x00\x00", "\x70\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xdc", + "\x70\xe4", "\x70\xfa", "\x71\x03", "\x71\x04", "\x71\x05", "\x71\x06", + "\x71\x07", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x0b", "\x71\x0c", + "\x00\x00", "\x00\x00", "\x71\x0f", "\x71\x1e", "\x00\x00", "\x71\x20", + "\x71\x2b", "\x00\x00", "\x71\x2d", "\x00\x00", "\x71\x2f", "\x71\x30", + "\x71\x31", "\x71\x38", "\x71\x41", "\x00\x00", "\x00\x00", "\x00\x00", + "\x71\x45", "\x71\x46", "\x71\x47", "\x00\x00", "\x00\x00", "\x71\x4a", + "\x71\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x50", + "\x00\x00", "\x71\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x71\x57", "\x00\x00", "\x00\x00", "\x71\x5a", "\x00\x00", "\x71\x5c", + "\x00\x00", "\x71\x5e", "\x00\x00", "\x71\x60", "\x71\x68", "\x71\x79", + "\x71\x80", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x85", + "\x00\x00", "\x71\x87", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x71\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x71\x92", "\x71\x9a", "\x71\x9b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x71\xa0", "\x00\x00", "\x71\xa2", "\x71\xaf", "\x71\xb0", + "\x00\x00", "\x71\xb2", "\x71\xb3", "\x71\xba", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x71\xbf", "\x71\xc0", "\x71\xc1", "\x00\x00", + "\x00\x00", "\x71\xc4", "\x71\xcb", "\x71\xcc", "\x71\xd3", "\x00\x00", + "\x00\x00", "\x71\xd6", "\x00\x00", "\x00\x00", "\x71\xd9", "\x71\xda", + "\x00\x00", "\x71\xdc", "\x71\xf8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x71\xfe", "\x00\x00", "\x72\x00", "\x72\x07", + "\x72\x08", "\x72\x09", "\x72\x13", "\x00\x00", "\x00\x00", "\x00\x00", + "\x72\x17", "\x00\x00", "\x00\x00", "\x72\x1a", "\x00\x00", "\x00\x00", + "\x72\x1d", "\x00\x00", "\x72\x1f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x72\x24", "\x72\x2b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x72\x2f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x34", + "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x38", "\x72\x39", "\x72\x41", + "\x72\x42", "\x72\x43", "\x00\x00", "\x72\x45", "\x72\x4e", "\x72\x4f", + "\x72\x50", "\x00\x00", "\x00\x00", "\x72\x53", "\x00\x00", "\x72\x55", + "\x72\x56", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x5a", "\x00\x00", + "\x72\x5c", "\x00\x00", "\x72\x5e", "\x00\x00", "\x72\x60", "\x00\x00", + "\x00\x00", "\x72\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x72\x68", "\x00\x00", "\x00\x00", "\x72\x6b", "\x00\x00", "\x00\x00", + "\x72\x6e", "\x72\x6f", "\x00\x00", "\x72\x71", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x77", "\x72\x78", "\x00\x00", + "\x00\x00", "\x72\x7b", "\x72\x7c", "\x00\x00", "\x00\x00", "\x72\x7f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x84", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x89", "\x00\x00", "\x00\x00", + "\x00\x00", "\x72\x8d", "\x72\x8e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x72\x93", "\x72\x9b", "\x72\xa8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x72\xad", "\x72\xae", "\x00\x00", "\x00\x00", + "\x72\xb1", "\x00\x00", "\x00\x00", "\x72\xb4", "\x72\xbe", "\x00\x00", + "\x00\x00", "\x72\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x72\xc7", "\x00\x00", "\x72\xc9", "\x00\x00", "\x00\x00", + "\x72\xcc", "\x72\xd5", "\x72\xd6", "\x00\x00", "\x72\xd8", "\x72\xdf", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\xe5", + "\x72\xf3", "\x72\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x72\xfa", "\x72\xfb", "\x00\x00", "\x00\x00", "\x72\xfe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x02", "\x00\x00", "\x73\x04", + "\x73\x05", "\x00\x00", "\x73\x07", "\x00\x00", "\x00\x00", "\x00\x00", + "\x73\x0b", "\x00\x00", "\x73\x0d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\x12", "\x73\x13", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\x18", "\x73\x19", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\x1e", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x22", + "\x00\x00", "\x73\x24", "\x00\x00", "\x00\x00", "\x73\x27", "\x73\x28", + "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x2c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x73\x31", "\x73\x32", "\x00\x00", "\x00\x00", + "\x73\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x3a", + "\x73\x3b", "\x00\x00", "\x73\x3d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x73\x43", "\x73\x4d", "\x00\x00", "\x00\x00", + "\x73\x50", "\x00\x00", "\x73\x52", "\x00\x00", "\x00\x00", "\x00\x00", + "\x73\x56", "\x00\x00", "\x73\x58", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\x5d", "\x73\x5e", "\x73\x5f", "\x73\x60", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x66", "\x73\x67", + "\x00\x00", "\x73\x69", "\x00\x00", "\x73\x6b", "\x73\x6c", "\x00\x00", + "\x73\x6e", "\x73\x6f", "\x00\x00", "\x73\x71", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x77", "\x00\x00", "\x73\x79", + "\x00\x00", "\x00\x00", "\x73\x7c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x73\x80", "\x73\x81", "\x00\x00", "\x73\x83", "\x00\x00", "\x73\x85", + "\x73\x86", "\x73\x8e", "\x00\x00", "\x73\x90", "\x00\x00", "\x00\x00", + "\x73\x93", "\x00\x00", "\x73\x95", "\x00\x00", "\x73\x97", "\x73\x98", + "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x9c", "\x00\x00", "\x73\x9e", + "\x73\x9f", "\x73\xa0", "\x00\x00", "\x73\xa2", "\x00\x00", "\x00\x00", + "\x73\xa5", "\x73\xa6", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xaa", + "\x73\xab", "\x00\x00", "\x73\xad", "\x73\xb5", "\x00\x00", "\x73\xb7", + "\x00\x00", "\x73\xb9", "\x00\x00", "\x00\x00", "\x73\xbc", "\x73\xbd", + "\x00\x00", "\x73\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\xc5", "\x73\xc6", "\x00\x00", "\x00\x00", "\x73\xc9", + "\x00\x00", "\x73\xcb", "\x73\xcc", "\x00\x00", "\x00\x00", "\x73\xcf", + "\x00\x00", "\x00\x00", "\x73\xd2", "\x73\xd3", "\x00\x00", "\x00\x00", + "\x73\xd6", "\x00\x00", "\x00\x00", "\x73\xd9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x73\xdd", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xe1", + "\x00\x00", "\x73\xe3", "\x00\x00", "\x00\x00", "\x73\xe6", "\x73\xe7", + "\x00\x00", "\x73\xe9", "\x73\xf4", "\x73\xf5", "\x00\x00", "\x73\xf7", + "\x00\x00", "\x73\xf9", "\x73\xfa", "\x73\xfb", "\x00\x00", "\x73\xfd", + "\x00\x00", "\x73\xff", "\x74\x00", "\x74\x01", "\x00\x00", "\x00\x00", + "\x74\x04", "\x00\x00", "\x00\x00", "\x74\x07", "\x00\x00", "\x00\x00", + "\x74\x0a", "\x74\x11", "\x74\x1a", "\x74\x1b", "\x74\x24", "\x00\x00", + "\x74\x26", "\x00\x00", "\x74\x28", "\x74\x29", "\x74\x2a", "\x74\x2b", + "\x74\x2c", "\x74\x2d", "\x74\x2e", "\x74\x2f", "\x74\x30", "\x74\x31", + "\x74\x39", "\x74\x40", "\x00\x00", "\x00\x00", "\x74\x43", "\x74\x44", + "\x00\x00", "\x74\x46", "\x74\x47", "\x00\x00", "\x00\x00", "\x00\x00", + "\x74\x4b", "\x00\x00", "\x74\x4d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x74\x51", "\x74\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x74\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x74\x5d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x62", + "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x66", "\x74\x67", "\x74\x68", + "\x00\x00", "\x00\x00", "\x74\x6b", "\x00\x00", "\x74\x6d", "\x74\x6e", + "\x00\x00", "\x00\x00", "\x74\x71", "\x74\x72", "\x74\x80", "\x74\x81", + "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x85", "\x74\x86", "\x74\x87", + "\x00\x00", "\x74\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\x8f", "\x74\x90", "\x74\x91", "\x74\x92", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x98", "\x74\x99", + "\x74\x9a", "\x00\x00", "\x74\x9c", "\x00\x00", "\x00\x00", "\x74\x9f", + "\x74\xa0", "\x74\xa1", "\x00\x00", "\x74\xa3", "\x00\x00", "\x00\x00", + "\x74\xa6", "\x00\x00", "\x74\xa8", "\x74\xa9", "\x74\xaa", "\x74\xab", + "\x00\x00", "\x00\x00", "\x74\xae", "\x74\xaf", "\x00\x00", "\x74\xb1", + "\x74\xb2", "\x00\x00", "\x00\x00", "\x74\xb5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\xb9", "\x00\x00", "\x74\xbb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x74\xbf", "\x74\xc8", "\x74\xc9", "\x00\x00", "\x00\x00", + "\x74\xcc", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xd0", "\x00\x00", + "\x00\x00", "\x74\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x74\xd8", "\x00\x00", "\x74\xda", "\x74\xdb", "\x00\x00", "\x00\x00", + "\x74\xde", "\x74\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x74\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xe8", "\x00\x00", + "\x74\xea", "\x74\xeb", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xef", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xf4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xfa", "\x74\xfb", + "\x74\xfc", "\x00\x00", "\x00\x00", "\x74\xff", "\x75\x06", "\x75\x12", + "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x16", "\x75\x17", "\x75\x20", + "\x75\x21", "\x00\x00", "\x00\x00", "\x75\x24", "\x00\x00", "\x00\x00", + "\x75\x27", "\x00\x00", "\x75\x29", "\x75\x2a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x75\x2f", "\x75\x36", "\x00\x00", "\x00\x00", + "\x75\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x3d", "\x75\x3e", + "\x75\x3f", "\x75\x40", "\x00\x00", "\x00\x00", "\x75\x43", "\x00\x00", + "\x00\x00", "\x00\x00", "\x75\x47", "\x75\x48", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x4e", "\x00\x00", "\x75\x50", + "\x00\x00", "\x75\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\x57", "\x75\x5e", "\x75\x5f", "\x00\x00", "\x75\x61", "\x75\x6f", + "\x00\x00", "\x75\x71", "\x75\x79", "\x75\x7a", "\x75\x7b", "\x75\x7c", + "\x75\x7d", "\x75\x7e", "\x00\x00", "\x00\x00", "\x75\x81", "\x00\x00", + "\x00\x00", "\x00\x00", "\x75\x85", "\x75\x90", "\x00\x00", "\x75\x92", + "\x75\x93", "\x00\x00", "\x75\x95", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\x99", "\x00\x00", "\x00\x00", "\x75\x9c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xa2", "\x00\x00", "\x75\xa4", + "\x75\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\xba", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xbf", + "\x75\xc0", "\x75\xc1", "\x00\x00", "\x00\x00", "\x75\xc4", "\x00\x00", + "\x75\xc6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x75\xcc", "\x00\x00", "\x75\xce", "\x75\xcf", "\x75\xd7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xdc", "\x00\x00", "\x00\x00", + "\x75\xdf", "\x75\xe0", "\x75\xe1", "\x00\x00", "\x00\x00", "\x75\xe4", + "\x00\x00", "\x00\x00", "\x75\xe7", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x75\xec", "\x00\x00", "\x75\xee", "\x75\xef", "\x00\x00", + "\x75\xf1", "\x75\xf9", "\x76\x00", "\x00\x00", "\x76\x02", "\x76\x03", + "\x76\x04", "\x00\x00", "\x00\x00", "\x76\x07", "\x76\x08", "\x00\x00", + "\x76\x0a", "\x00\x00", "\x76\x0c", "\x00\x00", "\x00\x00", "\x76\x0f", + "\x00\x00", "\x00\x00", "\x76\x12", "\x76\x13", "\x00\x00", "\x76\x15", + "\x76\x16", "\x00\x00", "\x00\x00", "\x76\x19", "\x00\x00", "\x76\x1b", + "\x76\x1c", "\x76\x1d", "\x76\x1e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\x23", "\x00\x00", "\x76\x25", "\x76\x26", "\x00\x00", + "\x00\x00", "\x76\x29", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x2d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x32", "\x76\x33", + "\x00\x00", "\x76\x35", "\x00\x00", "\x00\x00", "\x76\x38", "\x76\x39", + "\x76\x3a", "\x00\x00", "\x76\x3c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x76\x40", "\x76\x41", "\x00\x00", "\x76\x43", "\x76\x44", "\x76\x45", + "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x49", "\x76\x4a", "\x76\x4b", + "\x76\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x59", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x5f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x64", "\x76\x65", "\x76\x6d", + "\x76\x6e", "\x76\x6f", "\x00\x00", "\x76\x71", "\x00\x00", "\x00\x00", + "\x76\x74", "\x76\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x85", + "\x76\x8c", "\x76\x8d", "\x76\x95", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\x9b", "\x76\x9c", "\x76\x9d", "\x00\x00", + "\x76\x9f", "\x76\xa0", "\x00\x00", "\x76\xa2", "\x76\xa3", "\x76\xa4", + "\x76\xa5", "\x76\xa6", "\x76\xa7", "\x76\xa8", "\x00\x00", "\x76\xaa", + "\x00\x00", "\x00\x00", "\x76\xad", "\x76\xbd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xc5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xc9", "\x00\x00", "\x76\xcb", + "\x76\xcc", "\x00\x00", "\x76\xce", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\xd4", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x76\xd9", "\x76\xe0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\xe6", "\x00\x00", "\x76\xe8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x76\xec", "\x00\x00", "\x00\x00", "\x00\x00", + "\x76\xf0", "\x76\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x76\xf6", "\x00\x00", "\x00\x00", "\x76\xf9", "\x00\x00", "\x00\x00", + "\x76\xfc", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x06", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\x0a", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\x0e", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x12", "\x00\x00", + "\x77\x14", "\x77\x15", "\x00\x00", "\x77\x17", "\x00\x00", "\x77\x19", + "\x77\x1a", "\x00\x00", "\x77\x1c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\x22", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\x28", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x77\x2d", "\x77\x2e", "\x77\x2f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\x34", "\x77\x35", "\x77\x36", "\x00\x00", + "\x00\x00", "\x77\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x3d", + "\x77\x3e", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x42", "\x00\x00", + "\x00\x00", "\x77\x45", "\x77\x46", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\x4a", "\x00\x00", "\x00\x00", "\x77\x4d", "\x77\x4e", "\x77\x4f", + "\x00\x00", "\x00\x00", "\x77\x52", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\x56", "\x77\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\x5c", "\x00\x00", "\x77\x5e", "\x77\x5f", "\x77\x60", "\x00\x00", + "\x77\x62", "\x00\x00", "\x77\x64", "\x00\x00", "\x00\x00", "\x77\x67", + "\x00\x00", "\x00\x00", "\x77\x6a", "\x00\x00", "\x77\x6c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\x70", "\x00\x00", "\x77\x72", "\x77\x73", + "\x77\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\x7a", "\x00\x00", "\x00\x00", "\x77\x7d", "\x00\x00", "\x00\x00", + "\x77\x80", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x84", "\x77\x8c", + "\x77\x8d", "\x77\x94", "\x77\x95", "\x77\x96", "\x00\x00", "\x00\x00", + "\x00\x00", "\x77\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\x9f", "\x00\x00", "\x00\x00", "\x77\xa2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\xa7", "\x00\x00", "\x00\x00", "\x77\xaa", + "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xae", "\x77\xaf", "\x00\x00", + "\x77\xb1", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xb5", "\x77\xbe", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xc3", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xc9", "\x77\xd1", + "\x77\xd2", "\x00\x00", "\x00\x00", "\x77\xd5", "\x00\x00", "\x00\x00", + "\x00\x00", "\x77\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\xde", "\x77\xdf", "\x77\xe0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\xe4", "\x00\x00", "\x77\xe6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\xea", "\x00\x00", "\x77\xec", "\x00\x00", "\x00\x00", "\x00\x00", + "\x77\xf0", "\x77\xf1", "\x00\x00", "\x00\x00", "\x77\xf4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x77\xf8", "\x00\x00", "\x00\x00", "\x77\xfb", + "\x78\x05", "\x78\x06", "\x00\x00", "\x00\x00", "\x78\x09", "\x00\x00", + "\x00\x00", "\x00\x00", "\x78\x0d", "\x78\x0e", "\x00\x00", "\x00\x00", + "\x78\x11", "\x78\x1d", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x21", + "\x78\x22", "\x78\x23", "\x78\x2d", "\x78\x2e", "\x00\x00", "\x78\x30", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x35", "\x00\x00", + "\x78\x37", "\x78\x43", "\x78\x44", "\x00\x00", "\x00\x00", "\x78\x47", + "\x78\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x4c", "\x00\x00", + "\x78\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x52", "\x78\x5c", + "\x00\x00", "\x78\x5e", "\x00\x00", "\x78\x60", "\x78\x61", "\x00\x00", + "\x78\x63", "\x78\x64", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x68", + "\x00\x00", "\x78\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x6e", + "\x78\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x7e", "\x78\x8a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x8f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x94", "\x00\x00", "\x00\x00", + "\x00\x00", "\x78\x98", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\x9d", "\x78\x9e", "\x78\x9f", "\x00\x00", "\x78\xa1", "\x00\x00", + "\x00\x00", "\x78\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xa8", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xac", "\x78\xad", "\x00\x00", + "\x00\x00", "\x78\xb0", "\x78\xb1", "\x78\xb2", "\x78\xb3", "\x78\xbb", + "\x00\x00", "\x78\xbd", "\x00\x00", "\x78\xbf", "\x78\xc7", "\x78\xc8", + "\x78\xc9", "\x00\x00", "\x00\x00", "\x78\xcc", "\x00\x00", "\x78\xce", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xd2", "\x78\xd3", "\x00\x00", + "\x78\xd5", "\x78\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x78\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xdf", "\x78\xe0", + "\x78\xe1", "\x00\x00", "\x00\x00", "\x78\xe4", "\x00\x00", "\x78\xe6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xea", "\x78\xf2", "\x78\xf3", + "\x00\x00", "\x00\x00", "\x78\xf6", "\x78\xf7", "\x00\x00", "\x00\x00", + "\x78\xfa", "\x78\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xff", + "\x79\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x10", "\x79\x1a", + "\x00\x00", "\x79\x1c", "\x00\x00", "\x79\x1e", "\x79\x1f", "\x79\x20", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x25", "\x00\x00", + "\x79\x27", "\x00\x00", "\x79\x29", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x31", "\x00\x00", + "\x00\x00", "\x79\x34", "\x79\x35", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x79\x3b", "\x00\x00", "\x79\x3d", "\x00\x00", + "\x79\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x44", + "\x79\x45", "\x79\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x4a", + "\x79\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x4f", "\x00\x00", + "\x79\x51", "\x00\x00", "\x00\x00", "\x79\x54", "\x00\x00", "\x00\x00", + "\x00\x00", "\x79\x58", "\x00\x00", "\x00\x00", "\x79\x5b", "\x79\x5c", + "\x79\x67", "\x00\x00", "\x79\x69", "\x00\x00", "\x79\x6b", "\x79\x72", + "\x79\x79", "\x00\x00", "\x79\x7b", "\x79\x7c", "\x00\x00", "\x79\x7e", + "\x79\x8b", "\x79\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\x91", "\x00\x00", "\x79\x93", "\x79\x94", "\x79\x95", "\x79\x96", + "\x00\x00", "\x79\x98", "\x00\x00", "\x00\x00", "\x79\x9b", "\x79\x9c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xa1", "\x79\xa8", + "\x79\xa9", "\x00\x00", "\x79\xab", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\xaf", "\x00\x00", "\x79\xb1", "\x00\x00", "\x00\x00", "\x79\xb4", + "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xb8", "\x00\x00", "\x00\x00", + "\x79\xbb", "\x79\xc2", "\x00\x00", "\x79\xc4", "\x00\x00", "\x00\x00", + "\x79\xc7", "\x79\xc8", "\x00\x00", "\x79\xca", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x79\xcf", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x79\xd4", "\x00\x00", "\x79\xd6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x79\xda", "\x00\x00", "\x00\x00", "\x79\xdd", "\x79\xde", + "\x00\x00", "\x79\xe0", "\x00\x00", "\x79\xe2", "\x00\x00", "\x00\x00", + "\x79\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xea", + "\x79\xeb", "\x00\x00", "\x79\xed", "\x00\x00", "\x00\x00", "\x00\x00", + "\x79\xf1", "\x79\xf8", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xfc", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x02", + "\x7a\x03", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x07", "\x00\x00", + "\x7a\x09", "\x7a\x0a", "\x00\x00", "\x7a\x0c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7a\x11", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7a\x15", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7a\x1b", "\x00\x00", "\x00\x00", "\x7a\x1e", "\x00\x00", "\x00\x00", + "\x7a\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7a\x27", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x2b", "\x00\x00", + "\x7a\x2d", "\x00\x00", "\x7a\x2f", "\x7a\x30", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7a\x34", "\x7a\x35", "\x00\x00", "\x00\x00", "\x7a\x38", + "\x7a\x39", "\x7a\x3a", "\x7a\x44", "\x7a\x45", "\x00\x00", "\x7a\x47", + "\x7a\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x4c", "\x7a\x55", + "\x7a\x56", "\x00\x00", "\x00\x00", "\x7a\x59", "\x00\x00", "\x00\x00", + "\x7a\x5c", "\x7a\x5d", "\x00\x00", "\x7a\x5f", "\x7a\x60", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x65", "\x00\x00", "\x7a\x67", + "\x00\x00", "\x00\x00", "\x7a\x6a", "\x00\x00", "\x00\x00", "\x7a\x6d", + "\x7a\x75", "\x00\x00", "\x00\x00", "\x7a\x78", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x7e", "\x00\x00", "\x7a\x80", + "\x00\x00", "\x7a\x82", "\x00\x00", "\x00\x00", "\x7a\x85", "\x7a\x86", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x8a", "\x7a\x8b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x90", "\x7a\x91", "\x00\x00", + "\x00\x00", "\x7a\x94", "\x7a\x9e", "\x00\x00", "\x7a\xa0", "\x00\x00", + "\x00\x00", "\x7a\xa3", "\x7a\xac", "\x7a\xb3", "\x00\x00", "\x7a\xb5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xb9", "\x00\x00", "\x7a\xbb", + "\x7a\xbc", "\x7a\xc6", "\x00\x00", "\x00\x00", "\x7a\xc9", "\x00\x00", + "\x00\x00", "\x7a\xcc", "\x00\x00", "\x7a\xce", "\x00\x00", "\x00\x00", + "\x7a\xd1", "\x7a\xdb", "\x7a\xe8", "\x7a\xe9", "\x00\x00", "\x7a\xeb", + "\x7a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xf1", + "\x00\x00", "\x00\x00", "\x7a\xf4", "\x7a\xfb", "\x00\x00", "\x7a\xfd", + "\x7a\xfe", "\x7b\x07", "\x7b\x14", "\x7b\x1f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x27", + "\x00\x00", "\x7b\x29", "\x7b\x2a", "\x7b\x2b", "\x00\x00", "\x7b\x2d", + "\x7b\x2e", "\x7b\x2f", "\x7b\x30", "\x7b\x31", "\x00\x00", "\x00\x00", + "\x7b\x34", "\x7b\x3d", "\x00\x00", "\x7b\x3f", "\x7b\x40", "\x7b\x41", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x47", + "\x7b\x4e", "\x7b\x55", "\x7b\x60", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7b\x64", "\x00\x00", "\x7b\x66", "\x00\x00", "\x00\x00", "\x7b\x69", + "\x7b\x6a", "\x00\x00", "\x00\x00", "\x7b\x6d", "\x00\x00", "\x7b\x6f", + "\x00\x00", "\x00\x00", "\x7b\x72", "\x7b\x73", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\x77", "\x7b\x84", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7b\x8e", "\x00\x00", "\x7b\x90", "\x7b\x91", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7b\x96", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7b\x9b", "\x00\x00", "\x00\x00", "\x7b\x9e", "\x00\x00", + "\x7b\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xa5", + "\x7b\xac", "\x00\x00", "\x00\x00", "\x7b\xaf", "\x7b\xb0", "\x00\x00", + "\x7b\xb2", "\x00\x00", "\x00\x00", "\x7b\xb5", "\x7b\xb6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7b\xba", "\x7b\xbb", "\x7b\xbc", "\x7b\xbd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xc2", "\x00\x00", + "\x00\x00", "\x7b\xc5", "\x00\x00", "\x00\x00", "\x7b\xc8", "\x00\x00", + "\x7b\xca", "\x7b\xd4", "\x00\x00", "\x7b\xd6", "\x7b\xd7", "\x00\x00", + "\x7b\xd9", "\x7b\xda", "\x7b\xdb", "\x7b\xe8", "\x00\x00", "\x7b\xea", + "\x7b\xf2", "\x00\x00", "\x7b\xf4", "\x7b\xf5", "\x00\x00", "\x00\x00", + "\x7b\xf8", "\x7b\xf9", "\x7b\xfa", "\x00\x00", "\x7b\xfc", "\x00\x00", + "\x7b\xfe", "\x00\x00", "\x00\x00", "\x7c\x01", "\x7c\x02", "\x7c\x03", + "\x7c\x04", "\x00\x00", "\x7c\x06", "\x00\x00", "\x00\x00", "\x7c\x09", + "\x00\x00", "\x7c\x0b", "\x7c\x0c", "\x00\x00", "\x7c\x0e", "\x7c\x0f", + "\x7c\x19", "\x00\x00", "\x7c\x1b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7c\x25", "\x7c\x26", "\x00\x00", "\x7c\x28", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x2c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7c\x31", "\x00\x00", "\x7c\x33", "\x7c\x34", "\x00\x00", "\x7c\x36", + "\x00\x00", "\x00\x00", "\x7c\x39", "\x7c\x3a", "\x7c\x46", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7c\x4a", "\x7c\x51", "\x7c\x52", "\x7c\x53", + "\x00\x00", "\x7c\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x59", + "\x7c\x5a", "\x7c\x5b", "\x7c\x5c", "\x7c\x5d", "\x7c\x5e", "\x00\x00", + "\x00\x00", "\x7c\x61", "\x00\x00", "\x7c\x63", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x67", "\x00\x00", "\x7c\x69", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x6d", "\x7c\x6e", "\x00\x00", "\x7c\x70", "\x00\x00", + "\x7c\x72", "\x7c\x79", "\x00\x00", "\x00\x00", "\x7c\x7c", "\x7c\x7d", + "\x7c\x86", "\x7c\x87", "\x7c\x8f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\x94", "\x7c\x9e", "\x00\x00", "\x7c\xa0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xa6", "\x7c\xb0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xb6", + "\x7c\xb7", "\x00\x00", "\x00\x00", "\x7c\xba", "\x7c\xbb", "\x7c\xbc", + "\x00\x00", "\x00\x00", "\x7c\xbf", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7c\xc4", "\x00\x00", "\x00\x00", "\x7c\xc7", "\x7c\xc8", + "\x7c\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xcd", "\x00\x00", + "\x7c\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xd3", "\x7c\xd4", + "\x7c\xd5", "\x00\x00", "\x7c\xd7", "\x00\x00", "\x7c\xd9", "\x7c\xda", + "\x00\x00", "\x00\x00", "\x7c\xdd", "\x7c\xe6", "\x00\x00", "\x00\x00", + "\x7c\xe9", "\x00\x00", "\x7c\xeb", "\x7c\xf5", "\x7d\x03", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x07", "\x7d\x08", "\x7d\x09", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x0f", "\x00\x00", + "\x7d\x11", "\x7d\x12", "\x7d\x13", "\x00\x00", "\x00\x00", "\x7d\x16", + "\x7d\x1d", "\x7d\x1e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x23", "\x00\x00", "\x00\x00", "\x7d\x26", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7d\x2a", "\x00\x00", "\x00\x00", "\x7d\x2d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x31", "\x7d\x3c", "\x7d\x3d", "\x7d\x3e", + "\x00\x00", "\x7d\x40", "\x7d\x41", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x47", "\x7d\x48", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x4d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x51", "\x00\x00", "\x7d\x53", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x57", "\x00\x00", "\x7d\x59", "\x7d\x5a", "\x00\x00", "\x7d\x5c", + "\x7d\x5d", "\x7d\x65", "\x00\x00", "\x7d\x67", "\x00\x00", "\x00\x00", + "\x7d\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7d\x70", "\x7d\x78", "\x00\x00", "\x7d\x7a", "\x7d\x7b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x7f", "\x00\x00", "\x7d\x81", "\x7d\x82", + "\x7d\x83", "\x00\x00", "\x7d\x85", "\x7d\x86", "\x00\x00", "\x7d\x88", + "\x00\x00", "\x00\x00", "\x7d\x8b", "\x7d\x8c", "\x7d\x8d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x91", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7d\x96", "\x7d\x97", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\x9d", "\x7d\x9e", "\x7d\xa6", "\x7d\xa7", + "\x00\x00", "\x00\x00", "\x7d\xaa", "\x7d\xb3", "\x00\x00", "\x00\x00", + "\x7d\xb6", "\x7d\xb7", "\x00\x00", "\x7d\xb9", "\x7d\xc2", "\x7d\xc3", + "\x7d\xc4", "\x7d\xc5", "\x7d\xc6", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7d\xcc", "\x7d\xcd", "\x7d\xce", "\x7d\xd7", + "\x00\x00", "\x7d\xd9", "\x7d\xe2", "\x00\x00", "\x00\x00", "\x7d\xe5", + "\x7d\xe6", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xea", "\x7d\xeb", + "\x00\x00", "\x7d\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xf1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xf5", "\x7d\xf6", "\x00\x00", + "\x00\x00", "\x7d\xf9", "\x7d\xfa", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7e\x00", "\x7e\x08", "\x7e\x10", "\x7e\x11", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x15", "\x00\x00", "\x7e\x17", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x1c", "\x7e\x1d", + "\x00\x00", "\x00\x00", "\x7e\x20", "\x7e\x27", "\x7e\x28", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7e\x2c", "\x7e\x2d", "\x00\x00", "\x7e\x2f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x33", "\x00\x00", "\x00\x00", + "\x7e\x36", "\x7e\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7e\x44", "\x7e\x45", "\x00\x00", "\x7e\x47", "\x7e\x4e", "\x00\x00", + "\x7e\x50", "\x00\x00", "\x7e\x52", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7e\x58", "\x7e\x5f", "\x00\x00", "\x7e\x61", + "\x7e\x62", "\x00\x00", "\x00\x00", "\x7e\x65", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x6b", "\x00\x00", "\x00\x00", + "\x7e\x6e", "\x7e\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x73", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x78", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x7e", "\x00\x00", + "\x00\x00", "\x7e\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x7e\x86", "\x7e\x87", "\x00\x00", "\x00\x00", "\x7e\x8a", "\x00\x00", + "\x00\x00", "\x7e\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x91", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x95", "\x00\x00", "\x00\x00", + "\x7e\x98", "\x00\x00", "\x7e\x9a", "\x00\x00", "\x00\x00", "\x7e\x9d", + "\x7e\x9e", "\x7f\x3b", "\x7f\x3c", "\x7f\x3d", "\x7f\x3e", "\x7f\x3f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x43", "\x7f\x44", "\x00\x00", + "\x00\x00", "\x7f\x47", "\x7f\x4f", "\x00\x00", "\x00\x00", "\x7f\x52", + "\x7f\x53", "\x7f\x5b", "\x7f\x5c", "\x7f\x5d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7f\x61", "\x00\x00", "\x7f\x63", "\x7f\x64", "\x7f\x65", + "\x7f\x66", "\x7f\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x71", + "\x7f\x7d", "\x7f\x7e", "\x7f\x7f", "\x7f\x80", "\x7f\x8b", "\x00\x00", + "\x7f\x8d", "\x00\x00", "\x7f\x8f", "\x7f\x90", "\x7f\x91", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x96", "\x7f\x97", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x9c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7f\xa1", "\x7f\xa2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x7f\xa6", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xaa", + "\x00\x00", "\x00\x00", "\x7f\xad", "\x7f\xb4", "\x7f\xbc", "\x00\x00", + "\x00\x00", "\x7f\xbf", "\x7f\xc0", "\x00\x00", "\x00\x00", "\x7f\xc3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xc8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xce", "\x7f\xcf", + "\x7f\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xdf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x7f\xe3", "\x00\x00", "\x7f\xe5", "\x00\x00", + "\x00\x00", "\x7f\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xec", + "\x00\x00", "\x7f\xee", "\x7f\xef", "\x00\x00", "\x00\x00", "\x7f\xf2", + "\x7f\xfa", "\x00\x00", "\x00\x00", "\x7f\xfd", "\x7f\xfe", "\x7f\xff", + "\x80\x07", "\x80\x08", "\x00\x00", "\x80\x0a", "\x00\x00", "\x00\x00", + "\x80\x0d", "\x80\x0e", "\x80\x0f", "\x00\x00", "\x80\x11", "\x00\x00", + "\x80\x13", "\x80\x14", "\x00\x00", "\x80\x16", "\x80\x1d", "\x80\x1e", + "\x80\x1f", "\x80\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x24", + "\x00\x00", "\x80\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\x2c", "\x00\x00", "\x80\x2e", "\x00\x00", "\x80\x30", + "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x34", "\x80\x35", "\x00\x00", + "\x80\x37", "\x00\x00", "\x80\x39", "\x80\x3a", "\x00\x00", "\x80\x3c", + "\x00\x00", "\x80\x3e", "\x00\x00", "\x80\x40", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\x44", "\x80\x60", "\x00\x00", "\x00\x00", "\x00\x00", + "\x80\x64", "\x00\x00", "\x80\x66", "\x80\x6d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\x71", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x75", + "\x80\x81", "\x80\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x80\x8e", "\x80\x9c", "\x00\x00", "\x80\x9e", "\x80\xa6", + "\x80\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xab", "\x80\xb8", + "\x80\xb9", "\x80\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x80\xcd", "\x00\x00", "\x80\xcf", "\x00\x00", "\x00\x00", "\x80\xd2", + "\x00\x00", "\x80\xd4", "\x80\xd5", "\x00\x00", "\x80\xd7", "\x80\xd8", + "\x80\xe0", "\x80\xed", "\x80\xee", "\x00\x00", "\x80\xf0", "\x00\x00", + "\x80\xf2", "\x80\xf3", "\x00\x00", "\x00\x00", "\x80\xf6", "\x00\x00", + "\x00\x00", "\x80\xf9", "\x80\xfa", "\x00\x00", "\x00\x00", "\x00\x00", + "\x80\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x03", + "\x81\x0b", "\x81\x16", "\x81\x17", "\x81\x18", "\x00\x00", "\x00\x00", + "\x00\x00", "\x81\x1c", "\x00\x00", "\x81\x1e", "\x00\x00", "\x81\x20", + "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x24", "\x00\x00", "\x00\x00", + "\x81\x27", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x2c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x30", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\x35", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x81\x3a", "\x00\x00", "\x81\x3c", "\x81\x45", "\x00\x00", + "\x81\x47", "\x00\x00", "\x00\x00", "\x81\x4a", "\x00\x00", "\x81\x4c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x52", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x57", "\x81\x60", + "\x81\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\x67", "\x81\x68", "\x81\x69", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\x6d", "\x00\x00", "\x81\x6f", "\x81\x77", "\x81\x81", "\x00\x00", + "\x00\x00", "\x81\x84", "\x81\x85", "\x81\x86", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\x8b", "\x00\x00", "\x00\x00", "\x81\x8e", + "\x00\x00", "\x81\x90", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x81\x96", "\x00\x00", "\x81\x98", "\x00\x00", "\x00\x00", + "\x81\x9b", "\x00\x00", "\x00\x00", "\x81\x9e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x81\xa2", "\x81\xae", "\x00\x00", "\x00\x00", "\x00\x00", + "\x81\xb2", "\x00\x00", "\x81\xb4", "\x81\xbb", "\x81\xc3", "\x00\x00", + "\x81\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xca", + "\x81\xcb", "\x00\x00", "\x00\x00", "\x81\xce", "\x81\xcf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xd5", "\x00\x00", + "\x81\xd7", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xdb", "\x00\x00", + "\x81\xdd", "\x81\xde", "\x00\x00", "\x00\x00", "\x81\xe1", "\x00\x00", + "\x00\x00", "\x81\xe4", "\x81\xeb", "\x81\xec", "\x00\x00", "\x00\x00", + "\x00\x00", "\x81\xf0", "\x81\xf1", "\x81\xf2", "\x00\x00", "\x00\x00", + "\x81\xf5", "\x81\xf6", "\x00\x00", "\x81\xf8", "\x81\xf9", "\x00\x00", + "\x00\x00", "\x00\x00", "\x81\xfd", "\x00\x00", "\x81\xff", "\x82\x00", + "\x00\x00", "\x00\x00", "\x82\x03", "\x82\x0f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\x13", "\x82\x14", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\x19", "\x82\x1a", "\x00\x00", "\x00\x00", "\x82\x1d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x21", "\x82\x22", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x28", "\x82\x32", + "\x00\x00", "\x82\x34", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\x3a", "\x82\x43", "\x82\x44", "\x82\x45", "\x82\x46", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x4b", "\x00\x00", + "\x00\x00", "\x82\x4e", "\x82\x4f", "\x00\x00", "\x82\x51", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x56", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x5c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\x60", "\x00\x00", "\x00\x00", "\x82\x63", "\x00\x00", + "\x00\x00", "\x00\x00", "\x82\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x82\x6d", "\x82\x74", "\x82\x7b", "\x00\x00", + "\x82\x7d", "\x00\x00", "\x82\x7f", "\x82\x80", "\x82\x81", "\x00\x00", + "\x82\x83", "\x82\x84", "\x00\x00", "\x00\x00", "\x82\x87", "\x00\x00", + "\x82\x89", "\x82\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x8e", + "\x00\x00", "\x00\x00", "\x82\x91", "\x00\x00", "\x00\x00", "\x82\x94", + "\x00\x00", "\x82\x96", "\x00\x00", "\x82\x98", "\x00\x00", "\x82\x9a", + "\x82\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xa0", + "\x82\xa1", "\x00\x00", "\x82\xa3", "\x82\xa4", "\x00\x00", "\x00\x00", + "\x82\xa7", "\x82\xa8", "\x82\xa9", "\x82\xaa", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\xae", "\x00\x00", "\x82\xb0", "\x00\x00", "\x82\xb2", + "\x00\x00", "\x82\xb4", "\x00\x00", "\x00\x00", "\x82\xb7", "\x00\x00", + "\x00\x00", "\x82\xba", "\x00\x00", "\x82\xbc", "\x00\x00", "\x82\xbe", + "\x82\xbf", "\x82\xc6", "\x82\xd0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x82\xd5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x82\xda", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x82\xe0", "\x00\x00", "\x82\xe2", "\x00\x00", "\x82\xe4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x82\xe8", "\x00\x00", "\x82\xea", "\x00\x00", + "\x00\x00", "\x82\xed", "\x00\x00", "\x82\xef", "\x82\xf6", "\x82\xf7", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xfd", + "\x82\xfe", "\x00\x00", "\x83\x00", "\x83\x01", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x07", "\x83\x08", "\x00\x00", + "\x83\x0a", "\x83\x0b", "\x83\x1b", "\x00\x00", "\x83\x1d", "\x83\x1e", + "\x83\x1f", "\x00\x00", "\x83\x21", "\x83\x22", "\x83\x2c", "\x83\x2d", + "\x83\x2e", "\x00\x00", "\x83\x30", "\x00\x00", "\x00\x00", "\x83\x33", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x37", "\x00\x00", "\x00\x00", + "\x83\x3a", "\x00\x00", "\x83\x3c", "\x83\x3d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x83\x42", "\x83\x43", "\x83\x44", "\x00\x00", + "\x00\x00", "\x83\x47", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x83\x4d", "\x83\x4e", "\x00\x00", "\x00\x00", "\x83\x51", + "\x00\x00", "\x83\x53", "\x83\x54", "\x83\x55", "\x83\x56", "\x83\x57", + "\x83\x70", "\x83\x78", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x83\x7d", "\x00\x00", "\x83\x7f", "\x83\x80", "\x00\x00", "\x83\x82", + "\x00\x00", "\x83\x84", "\x00\x00", "\x83\x86", "\x83\x8d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x92", "\x00\x00", "\x83\x94", + "\x83\x95", "\x00\x00", "\x00\x00", "\x83\x98", "\x83\x99", "\x00\x00", + "\x83\x9b", "\x83\x9c", "\x83\x9d", "\x83\xa6", "\x83\xa7", "\x00\x00", + "\x83\xa9", "\x00\x00", "\x00\x00", "\x83\xac", "\x83\xad", "\x83\xbe", + "\x83\xbf", "\x83\xc0", "\x83\xc7", "\x00\x00", "\x83\xc9", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xcf", "\x83\xd0", + "\x83\xd1", "\x00\x00", "\x00\x00", "\x83\xd4", "\x83\xdd", "\x83\xe8", + "\x00\x00", "\x83\xea", "\x83\xf6", "\x00\x00", "\x83\xf8", "\x83\xf9", + "\x00\x00", "\x00\x00", "\x83\xfc", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x01", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x84\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x0a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x0f", "\x00\x00", "\x84\x11", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x15", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x19", "\x84\x2f", "\x84\x39", "\x84\x45", "\x00\x00", + "\x84\x47", "\x84\x48", "\x00\x00", "\x84\x4a", "\x00\x00", "\x00\x00", + "\x84\x4d", "\x00\x00", "\x84\x4f", "\x00\x00", "\x84\x51", "\x84\x52", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x56", "\x00\x00", "\x84\x58", + "\x84\x59", "\x84\x5a", "\x00\x00", "\x84\x5c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x84\x60", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x64", + "\x84\x65", "\x00\x00", "\x84\x67", "\x00\x00", "\x00\x00", "\x84\x6a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x70", + "\x00\x00", "\x00\x00", "\x84\x73", "\x84\x74", "\x00\x00", "\x84\x76", + "\x00\x00", "\x84\x78", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x7c", + "\x84\x7d", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x81", "\x00\x00", + "\x00\x00", "\x00\x00", "\x84\x85", "\x84\x92", "\x84\x93", "\x00\x00", + "\x84\x95", "\x84\x9e", "\x84\xa6", "\x00\x00", "\x84\xa8", "\x84\xa9", + "\x84\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xaf", + "\x00\x00", "\x84\xb1", "\x00\x00", "\x00\x00", "\x84\xb4", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xba", "\x00\x00", + "\x00\x00", "\x84\xbd", "\x84\xbe", "\x00\x00", "\x84\xc0", "\x00\x00", + "\x84\xc2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xc7", + "\x84\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xcc", "\x00\x00", + "\x00\x00", "\x84\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xd3", + "\x84\xdc", "\x84\xe7", "\x00\x00", "\x00\x00", "\x84\xea", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xef", "\x84\xf0", "\x84\xf1", + "\x84\xf2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xf7", + "\x00\x00", "\x00\x00", "\x84\xfa", "\x84\xfb", "\x00\x00", "\x84\xfd", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x02", "\x85\x03", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x07", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\x0c", "\x00\x00", "\x85\x0e", "\x00\x00", + "\x85\x10", "\x85\x1c", "\x00\x00", "\x85\x1e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x85\x22", "\x85\x23", "\x85\x24", "\x85\x25", "\x00\x00", + "\x85\x27", "\x00\x00", "\x00\x00", "\x85\x2a", "\x85\x2b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\x2f", "\x00\x00", "\x00\x00", "\x85\x32", + "\x85\x33", "\x85\x34", "\x00\x00", "\x85\x36", "\x85\x3f", "\x85\x46", + "\x85\x4f", "\x85\x50", "\x85\x51", "\x85\x52", "\x85\x53", "\x00\x00", + "\x00\x00", "\x85\x56", "\x00\x00", "\x00\x00", "\x85\x59", "\x00\x00", + "\x00\x00", "\x85\x5c", "\x85\x5d", "\x85\x5e", "\x85\x5f", "\x85\x60", + "\x85\x61", "\x85\x62", "\x00\x00", "\x85\x64", "\x85\x6b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\x6f", "\x85\x79", "\x85\x7a", "\x85\x7b", + "\x00\x00", "\x85\x7d", "\x00\x00", "\x85\x7f", "\x00\x00", "\x85\x81", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x85", "\x85\x86", "\x00\x00", + "\x00\x00", "\x85\x89", "\x00\x00", "\x85\x8b", "\x85\x8c", "\x00\x00", + "\x00\x00", "\x85\x8f", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x93", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x98", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x9d", "\x00\x00", "\x85\x9f", + "\x85\xa0", "\x00\x00", "\x85\xa2", "\x00\x00", "\x00\x00", "\x85\xa5", + "\x00\x00", "\x85\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x85\xad", "\x85\xb4", "\x00\x00", "\x85\xb6", "\x85\xb7", + "\x85\xb8", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xbc", "\x85\xbd", + "\x85\xbe", "\x85\xbf", "\x00\x00", "\x00\x00", "\x85\xc2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xc7", "\x00\x00", "\x00\x00", + "\x85\xca", "\x85\xcb", "\x00\x00", "\x00\x00", "\x85\xce", "\x85\xd8", + "\x00\x00", "\x85\xda", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x85\xdf", "\x85\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x85\xe6", "\x00\x00", "\x85\xe8", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\xed", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x85\xf3", "\x00\x00", "\x00\x00", "\x85\xf6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xfc", + "\x00\x00", "\x00\x00", "\x85\xff", "\x86\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\x04", "\x86\x05", "\x86\x0d", "\x86\x0e", "\x00\x00", + "\x86\x10", "\x86\x11", "\x86\x12", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x86\x18", "\x86\x19", "\x00\x00", "\x86\x1b", + "\x00\x00", "\x00\x00", "\x86\x1e", "\x00\x00", "\x00\x00", "\x86\x21", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x27", + "\x00\x00", "\x86\x29", "\x86\x36", "\x00\x00", "\x86\x38", "\x00\x00", + "\x86\x3a", "\x00\x00", "\x86\x3c", "\x86\x3d", "\x00\x00", "\x00\x00", + "\x86\x40", "\x86\x41", "\x86\x42", "\x00\x00", "\x00\x00", "\x00\x00", + "\x86\x46", "\x86\x52", "\x86\x53", "\x00\x00", "\x00\x00", "\x86\x56", + "\x86\x57", "\x86\x58", "\x86\x59", "\x00\x00", "\x00\x00", "\x00\x00", + "\x86\x5d", "\x00\x00", "\x00\x00", "\x86\x60", "\x86\x61", "\x86\x62", + "\x86\x63", "\x86\x64", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x86\x69", "\x00\x00", "\x00\x00", "\x86\x6c", "\x00\x00", "\x00\x00", + "\x86\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x86\x75", "\x86\x76", "\x86\x77", "\x00\x00", "\x00\x00", "\x86\x7a", + "\x86\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x8d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x91", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x86\x96", "\x00\x00", "\x86\x98", "\x00\x00", + "\x86\x9a", "\x00\x00", "\x86\x9c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x86\xa6", "\x86\xa7", "\x86\xa8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xb1", + "\x00\x00", "\x86\xb3", "\x86\xb4", "\x86\xb5", "\x00\x00", "\x86\xb7", + "\x86\xb8", "\x86\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x86\xbf", "\x86\xc0", "\x86\xc1", "\x00\x00", "\x86\xc3", + "\x00\x00", "\x86\xc5", "\x86\xd1", "\x86\xd2", "\x00\x00", "\x00\x00", + "\x86\xd5", "\x00\x00", "\x86\xd7", "\x00\x00", "\x00\x00", "\x86\xda", + "\x00\x00", "\x86\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xe0", + "\x00\x00", "\x00\x00", "\x86\xe3", "\x00\x00", "\x86\xe5", "\x00\x00", + "\x86\xe7", "\x86\xfa", "\x00\x00", "\x86\xfc", "\x86\xfd", "\x87\x04", + "\x87\x05", "\x00\x00", "\x87\x07", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\x0b", "\x00\x00", "\x00\x00", "\x87\x0e", "\x87\x0f", "\x87\x10", + "\x00\x00", "\x00\x00", "\x87\x13", "\x87\x14", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x87\x19", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x87\x1e", "\x87\x1f", "\x00\x00", "\x87\x21", "\x00\x00", + "\x87\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x28", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x2e", + "\x87\x2f", "\x00\x00", "\x87\x31", "\x87\x32", "\x87\x39", "\x87\x3a", + "\x00\x00", "\x87\x3c", "\x87\x3d", "\x87\x3e", "\x00\x00", "\x87\x40", + "\x00\x00", "\x00\x00", "\x87\x43", "\x00\x00", "\x87\x45", "\x87\x4d", + "\x87\x58", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x5d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x61", "\x00\x00", "\x00\x00", + "\x87\x64", "\x87\x65", "\x87\x6f", "\x00\x00", "\x87\x71", "\x87\x72", + "\x87\x7b", "\x87\x83", "\x87\x84", "\x87\x85", "\x87\x86", "\x87\x87", + "\x87\x88", "\x87\x89", "\x00\x00", "\x87\x8b", "\x87\x8c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x87\x90", "\x00\x00", "\x00\x00", "\x87\x93", + "\x00\x00", "\x87\x95", "\x00\x00", "\x87\x97", "\x87\x98", "\x87\x99", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x9e", "\x00\x00", + "\x87\xa0", "\x00\x00", "\x00\x00", "\x87\xa3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x87\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\xac", "\x87\xad", "\x87\xae", "\x00\x00", "\x00\x00", "\x87\xb1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xb5", "\x87\xbe", "\x87\xbf", + "\x00\x00", "\x87\xc1", "\x87\xc8", "\x87\xc9", "\x87\xca", "\x00\x00", + "\x00\x00", "\x00\x00", "\x87\xce", "\x87\xd5", "\x87\xd6", "\x00\x00", + "\x00\x00", "\x87\xd9", "\x87\xda", "\x00\x00", "\x87\xdc", "\x00\x00", + "\x00\x00", "\x87\xdf", "\x00\x00", "\x00\x00", "\x87\xe2", "\x87\xe3", + "\x87\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x87\xea", "\x87\xeb", "\x00\x00", "\x87\xed", "\x00\x00", "\x00\x00", + "\x00\x00", "\x87\xf1", "\x00\x00", "\x87\xf3", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x87\xf8", "\x00\x00", "\x87\xfa", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xff", "\x00\x00", "\x88\x01", + "\x00\x00", "\x88\x03", "\x00\x00", "\x00\x00", "\x88\x06", "\x00\x00", + "\x00\x00", "\x88\x09", "\x88\x0a", "\x88\x0b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x10", "\x00\x00", "\x88\x12", "\x88\x13", + "\x88\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x18", "\x88\x19", + "\x88\x1a", "\x88\x1b", "\x88\x1c", "\x00\x00", "\x88\x1e", "\x88\x1f", + "\x88\x28", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x2d", + "\x88\x2e", "\x00\x00", "\x88\x30", "\x00\x00", "\x88\x32", "\x00\x00", + "\x00\x00", "\x88\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x88\x3a", "\x00\x00", "\x88\x3c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x88\x41", "\x00\x00", "\x88\x43", "\x00\x00", "\x88\x45", + "\x00\x00", "\x00\x00", "\x88\x48", "\x88\x49", "\x88\x4a", "\x88\x4b", + "\x00\x00", "\x00\x00", "\x88\x4e", "\x00\x00", "\x00\x00", "\x88\x51", + "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x55", "\x88\x56", "\x00\x00", + "\x88\x58", "\x00\x00", "\x88\x5a", "\x00\x00", "\x88\x5c", "\x00\x00", + "\x00\x00", "\x88\x5f", "\x88\x60", "\x00\x00", "\x00\x00", "\x00\x00", + "\x88\x64", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x69", + "\x88\x71", "\x88\x79", "\x00\x00", "\x88\x7b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x88\x80", "\x88\x98", "\x00\x00", "\x88\x9a", + "\x88\x9b", "\x88\x9c", "\x00\x00", "\x00\x00", "\x88\x9f", "\x88\xa0", + "\x88\xa8", "\x00\x00", "\x88\xaa", "\x88\xba", "\x00\x00", "\x00\x00", + "\x88\xbd", "\x88\xbe", "\x00\x00", "\x88\xc0", "\x88\xca", "\x88\xcb", + "\x88\xcc", "\x88\xcd", "\x88\xce", "\x00\x00", "\x00\x00", "\x88\xd1", + "\x88\xd2", "\x88\xd3", "\x88\xdb", "\x00\x00", "\x00\x00", "\x88\xde", + "\x88\xe7", "\x88\xef", "\x88\xf0", "\x88\xf1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x88\xf5", "\x00\x00", "\x88\xf7", "\x89\x01", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x06", "\x89\x0d", "\x89\x0e", + "\x89\x0f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\x15", "\x89\x16", "\x00\x00", "\x89\x18", "\x89\x19", "\x89\x1a", + "\x00\x00", "\x89\x1c", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x20", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x26", + "\x89\x27", "\x89\x28", "\x89\x30", "\x89\x31", "\x89\x32", "\x00\x00", + "\x00\x00", "\x89\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x39", + "\x89\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x3e", "\x00\x00", + "\x89\x40", "\x00\x00", "\x89\x42", "\x00\x00", "\x00\x00", "\x89\x45", + "\x89\x46", "\x00\x00", "\x00\x00", "\x89\x49", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x4f", "\x00\x00", "\x00\x00", + "\x89\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x57", + "\x00\x00", "\x00\x00", "\x89\x5a", "\x89\x5b", "\x89\x5c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x61", "\x89\x62", "\x89\x63", + "\x89\x6b", "\x00\x00", "\x00\x00", "\x89\x6e", "\x00\x00", "\x89\x70", + "\x00\x00", "\x00\x00", "\x89\x73", "\x00\x00", "\x89\x75", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x7a", "\x89\x7b", "\x89\x7c", + "\x89\x7d", "\x89\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x8d", + "\x00\x00", "\x00\x00", "\x89\x90", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\x94", "\x89\x95", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x89\x9b", "\x89\x9c", "\x00\x00", "\x00\x00", "\x89\x9f", + "\x89\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xa5", + "\x89\xb0", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xb4", "\x89\xb5", + "\x89\xb6", "\x89\xb7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\xbc", "\x89\xd4", "\x89\xd5", "\x89\xd6", "\x89\xd7", "\x89\xd8", + "\x89\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xe9", "\x00\x00", + "\x89\xeb", "\x00\x00", "\x89\xed", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\xf1", "\x00\x00", "\x89\xf3", "\x00\x00", "\x00\x00", "\x89\xf6", + "\x00\x00", "\x00\x00", "\x89\xf9", "\x00\x00", "\x00\x00", "\x00\x00", + "\x89\xfd", "\x00\x00", "\x89\xff", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\x04", "\x8a\x05", "\x00\x00", "\x8a\x07", "\x8a\x0f", + "\x00\x00", "\x8a\x11", "\x8a\x12", "\x00\x00", "\x8a\x14", "\x8a\x15", + "\x8a\x1e", "\x00\x00", "\x8a\x20", "\x00\x00", "\x8a\x22", "\x00\x00", + "\x8a\x24", "\x00\x00", "\x8a\x26", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\x2b", "\x8a\x2c", "\x00\x00", "\x00\x00", "\x8a\x2f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x35", + "\x00\x00", "\x8a\x37", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\x3d", "\x8a\x3e", "\x00\x00", "\x8a\x40", "\x00\x00", + "\x00\x00", "\x8a\x43", "\x00\x00", "\x8a\x45", "\x00\x00", "\x8a\x47", + "\x00\x00", "\x8a\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x4d", + "\x8a\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x53", + "\x00\x00", "\x00\x00", "\x8a\x56", "\x8a\x57", "\x8a\x58", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8a\x5c", "\x8a\x5d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x65", + "\x00\x00", "\x8a\x67", "\x8a\x75", "\x8a\x76", "\x8a\x77", "\x00\x00", + "\x8a\x79", "\x8a\x7a", "\x8a\x7b", "\x00\x00", "\x00\x00", "\x8a\x7e", + "\x8a\x7f", "\x8a\x80", "\x00\x00", "\x00\x00", "\x8a\x83", "\x00\x00", + "\x00\x00", "\x8a\x86", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8a\x8b", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x8f", "\x8a\x90", + "\x00\x00", "\x8a\x92", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x96", + "\x8a\x97", "\x00\x00", "\x8a\x99", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8a\x9f", "\x8a\xa7", "\x00\x00", "\x8a\xa9", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xae", "\x8a\xaf", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xb3", "\x00\x00", "\x00\x00", + "\x8a\xb6", "\x8a\xb7", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xbb", + "\x00\x00", "\x00\x00", "\x8a\xbe", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8a\xc3", "\x00\x00", "\x00\x00", "\x8a\xc6", "\x00\x00", + "\x8a\xc8", "\x8a\xc9", "\x8a\xca", "\x8a\xd1", "\x00\x00", "\x8a\xd3", + "\x8a\xd4", "\x8a\xd5", "\x00\x00", "\x8a\xd7", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xdd", "\x00\x00", "\x8a\xdf", + "\x8a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xf0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8a\xf4", "\x8a\xf5", "\x8a\xf6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xfc", "\x00\x00", + "\x00\x00", "\x8a\xff", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8b\x05", "\x8b\x06", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8b\x0a", "\x8b\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8b\x11", "\x8b\x1c", "\x00\x00", "\x8b\x1e", "\x8b\x1f", + "\x8b\x2d", "\x00\x00", "\x00\x00", "\x8b\x30", "\x8b\x37", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x3c", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x42", "\x8b\x43", "\x8b\x44", + "\x8b\x45", "\x8b\x46", "\x00\x00", "\x8b\x48", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8b\x4d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8b\x52", "\x8b\x53", "\x8b\x54", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8b\x59", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8b\x5e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8b\x63", "\x8b\x6d", "\x8b\x76", "\x00\x00", "\x8b\x78", "\x8b\x79", + "\x00\x00", "\x00\x00", "\x8b\x7c", "\x00\x00", "\x8b\x7e", "\x00\x00", + "\x00\x00", "\x8b\x81", "\x00\x00", "\x00\x00", "\x8b\x84", "\x8b\x85", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x8b", + "\x00\x00", "\x8b\x8d", "\x00\x00", "\x8b\x8f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8b\x94", "\x8b\x95", "\x8b\x9c", "\x00\x00", + "\x8b\x9e", "\x8b\x9f", "\x8c\x38", "\x8c\x39", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x3d", "\x8c\x3e", "\x8c\x45", "\x00\x00", "\x8c\x47", + "\x00\x00", "\x8c\x49", "\x00\x00", "\x8c\x4b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x4f", "\x00\x00", "\x8c\x51", "\x00\x00", "\x8c\x53", + "\x8c\x54", "\x00\x00", "\x00\x00", "\x8c\x57", "\x8c\x58", "\x8c\x59", + "\x00\x00", "\x8c\x5b", "\x00\x00", "\x8c\x5d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x63", "\x8c\x64", "\x00\x00", + "\x8c\x66", "\x00\x00", "\x8c\x68", "\x8c\x69", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\x73", "\x00\x00", "\x8c\x75", "\x8c\x76", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x7b", "\x00\x00", "\x00\x00", + "\x8c\x7e", "\x8c\x86", "\x8c\x87", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8c\x8b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x90", + "\x00\x00", "\x8c\x92", "\x8c\x93", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8c\x99", "\x00\x00", "\x8c\x9b", "\x8c\x9c", + "\x8c\xa4", "\x8c\xb9", "\x8c\xba", "\x8c\xc5", "\x8c\xc6", "\x00\x00", + "\x00\x00", "\x8c\xc9", "\x00\x00", "\x8c\xcb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\xd5", "\x8c\xd6", "\x00\x00", "\x00\x00", "\x8c\xd9", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\xdd", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8c\xe1", "\x8c\xe8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8c\xec", "\x00\x00", "\x00\x00", "\x8c\xef", "\x8c\xf0", "\x00\x00", + "\x8c\xf2", "\x00\x00", "\x00\x00", "\x8c\xf5", "\x00\x00", "\x8c\xf7", + "\x8c\xf8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8c\xfe", "\x8c\xff", "\x00\x00", "\x8d\x01", "\x00\x00", "\x8d\x03", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x09", + "\x8d\x12", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x17", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x1b", "\x8d\x65", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8d\x69", "\x00\x00", "\x00\x00", "\x8d\x6c", + "\x00\x00", "\x8d\x6e", "\x8d\x7f", "\x00\x00", "\x00\x00", "\x8d\x82", + "\x00\x00", "\x8d\x84", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x88", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x8d", "\x00\x00", + "\x00\x00", "\x8d\x90", "\x8d\x91", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8d\x95", "\x8d\x9e", "\x8d\x9f", "\x8d\xa0", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xa6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8d\xab", "\x8d\xac", "\x00\x00", "\x00\x00", + "\x8d\xaf", "\x00\x00", "\x00\x00", "\x8d\xb2", "\x00\x00", "\x00\x00", + "\x8d\xb5", "\x00\x00", "\x8d\xb7", "\x00\x00", "\x8d\xb9", "\x00\x00", + "\x8d\xbb", "\x8d\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xc0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xc5", "\x8d\xc6", + "\x8d\xc7", "\x8d\xc8", "\x00\x00", "\x8d\xca", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8d\xce", "\x00\x00", "\x00\x00", "\x8d\xd1", "\x00\x00", + "\x00\x00", "\x8d\xd4", "\x8d\xd5", "\x00\x00", "\x8d\xd7", "\x00\x00", + "\x8d\xd9", "\x8d\xe4", "\x8d\xe5", "\x00\x00", "\x8d\xe7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xec", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8d\xf0", "\x8d\xf1", "\x8d\xf2", "\x00\x00", "\x8d\xf4", + "\x8d\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x01", "\x00\x00", + "\x00\x00", "\x8e\x04", "\x8e\x05", "\x8e\x06", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8e\x0b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8e\x11", "\x00\x00", "\x00\x00", "\x8e\x14", + "\x00\x00", "\x8e\x16", "\x8e\x20", "\x8e\x21", "\x8e\x22", "\x8e\x23", + "\x00\x00", "\x00\x00", "\x8e\x26", "\x8e\x27", "\x8e\x31", "\x00\x00", + "\x8e\x33", "\x00\x00", "\x00\x00", "\x8e\x36", "\x8e\x37", "\x8e\x38", + "\x8e\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x3d", "\x00\x00", + "\x00\x00", "\x8e\x40", "\x8e\x41", "\x8e\x4b", "\x00\x00", "\x8e\x4d", + "\x8e\x4e", "\x8e\x4f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8e\x54", "\x8e\x5b", "\x8e\x5c", "\x8e\x5d", "\x8e\x5e", "\x00\x00", + "\x00\x00", "\x8e\x61", "\x8e\x62", "\x8e\x69", "\x00\x00", "\x00\x00", + "\x8e\x6c", "\x8e\x6d", "\x00\x00", "\x8e\x6f", "\x8e\x70", "\x8e\x71", + "\x8e\x79", "\x8e\x7a", "\x8e\x7b", "\x8e\x82", "\x8e\x83", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x89", "\x8e\x90", + "\x00\x00", "\x8e\x92", "\x00\x00", "\x00\x00", "\x8e\x95", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x9a", "\x8e\x9b", "\x00\x00", + "\x8e\x9d", "\x8e\x9e", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xa2", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xa7", "\x00\x00", + "\x8e\xa9", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xad", "\x8e\xae", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xb3", "\x00\x00", + "\x8e\xb5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xba", + "\x8e\xbb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xc0", + "\x8e\xc1", "\x00\x00", "\x8e\xc3", "\x8e\xc4", "\x00\x00", "\x00\x00", + "\x8e\xc7", "\x8e\xcf", "\x00\x00", "\x8e\xd1", "\x00\x00", "\x00\x00", + "\x8e\xd4", "\x8e\xdc", "\x8e\xe8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8e\xed", "\x8e\xee", "\x00\x00", "\x8e\xf0", "\x8e\xf1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xf7", + "\x00\x00", "\x8e\xf9", "\x8e\xfa", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8f\x00", "\x00\x00", "\x8f\x02", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x07", "\x8f\x08", "\x8f\x0f", + "\x8f\x10", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8f\x16", "\x8f\x17", "\x8f\x18", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8f\x1e", "\x00\x00", "\x8f\x20", "\x8f\x21", + "\x00\x00", "\x8f\x23", "\x00\x00", "\x8f\x25", "\x00\x00", "\x8f\x27", + "\x8f\x28", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x2c", "\x8f\x2d", + "\x8f\x2e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8f\x34", "\x8f\x35", "\x8f\x36", "\x8f\x37", "\x00\x00", "\x00\x00", + "\x8f\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x8f\x40", "\x8f\x41", "\x00\x00", "\x8f\x43", "\x00\x00", "\x00\x00", + "\x00\x00", "\x8f\x47", "\x8f\x4f", "\x00\x00", "\x8f\x51", "\x8f\x52", + "\x8f\x53", "\x8f\x54", "\x8f\x55", "\x00\x00", "\x00\x00", "\x8f\x58", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x5d", "\x8f\x5e", + "\x8f\x65", "\x8f\x9d", "\x00\x00", "\x00\x00", "\x8f\xa0", "\x8f\xa1", + "\x00\x00", "\x00\x00", "\x8f\xa4", "\x8f\xa5", "\x8f\xa6", "\x8f\xb5", + "\x8f\xb6", "\x00\x00", "\x8f\xb8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8f\xbe", "\x00\x00", "\x8f\xc0", "\x8f\xc1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xc6", "\x00\x00", + "\x00\x00", "\x00\x00", "\x8f\xca", "\x8f\xcb", "\x00\x00", "\x8f\xcd", + "\x00\x00", "\x00\x00", "\x8f\xd0", "\x00\x00", "\x8f\xd2", "\x8f\xd3", + "\x00\x00", "\x8f\xd5", "\x8f\xe0", "\x00\x00", "\x00\x00", "\x8f\xe3", + "\x8f\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xe8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xee", "\x00\x00", + "\x00\x00", "\x8f\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xf5", + "\x8f\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xfb", + "\x00\x00", "\x00\x00", "\x8f\xfe", "\x00\x00", "\x00\x00", "\x00\x00", + "\x90\x02", "\x00\x00", "\x90\x04", "\x00\x00", "\x00\x00", "\x00\x00", + "\x90\x08", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x0c", "\x90\x18", + "\x00\x00", "\x00\x00", "\x90\x1b", "\x90\x28", "\x90\x29", "\x90\x2a", + "\x00\x00", "\x90\x2c", "\x90\x2d", "\x00\x00", "\x90\x2f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x90\x33", "\x90\x34", "\x00\x00", "\x00\x00", + "\x90\x37", "\x90\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x43", + "\x90\x44", "\x90\x4c", "\x90\x5b", "\x00\x00", "\x90\x5d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x62", "\x00\x00", "\x00\x00", + "\x00\x00", "\x90\x66", "\x90\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x90\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x70", + "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x74", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x90\x79", "\x90\x85", "\x00\x00", "\x00\x00", + "\x90\x88", "\x00\x00", "\x00\x00", "\x90\x8b", "\x90\x8c", "\x00\x00", + "\x90\x8e", "\x00\x00", "\x90\x90", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x90\x95", "\x00\x00", "\x90\x97", "\x90\x98", "\x90\x99", + "\x00\x00", "\x90\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x90\xa0", "\x90\xa1", "\x90\xa2", "\x00\x00", "\x00\x00", "\x90\xa5", + "\x90\xb0", "\x00\x00", "\x90\xb2", "\x90\xb3", "\x90\xb4", "\x00\x00", + "\x90\xb6", "\x90\xbd", "\x90\xbe", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x90\xc3", "\x90\xc4", "\x90\xc5", "\x00\x00", "\x90\xc7", + "\x90\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xcc", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xd2", "\x00\x00", + "\x00\x00", "\x90\xd5", "\x00\x00", "\x90\xd7", "\x90\xd8", "\x90\xd9", + "\x00\x00", "\x00\x00", "\x90\xdc", "\x90\xdd", "\x00\x00", "\x90\xdf", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xe5", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xeb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xef", "\x90\xf0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x90\xf4", "\x00\x00", "\x90\xf6", "\x90\xfe", + "\x90\xff", "\x91\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x04", + "\x91\x05", "\x91\x06", "\x00\x00", "\x91\x08", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x0d", "\x00\x00", "\x00\x00", "\x91\x10", + "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x14", "\x00\x00", "\x91\x16", + "\x91\x17", "\x91\x18", "\x00\x00", "\x91\x1a", "\x00\x00", "\x91\x1c", + "\x00\x00", "\x91\x1e", "\x00\x00", "\x91\x20", "\x00\x00", "\x91\x22", + "\x91\x23", "\x00\x00", "\x91\x25", "\x00\x00", "\x91\x27", "\x00\x00", + "\x91\x29", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x2e", + "\x91\x2f", "\x00\x00", "\x91\x31", "\x00\x00", "\x00\x00", "\x91\x34", + "\x00\x00", "\x91\x36", "\x91\x37", "\x00\x00", "\x91\x39", "\x91\x3a", + "\x00\x00", "\x91\x3c", "\x91\x3d", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x43", "\x00\x00", "\x00\x00", "\x00\x00", + "\x91\x47", "\x91\x48", "\x91\x4f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x91\x53", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x57", "\x00\x00", + "\x91\x59", "\x91\x5a", "\x91\x5b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x61", "\x00\x00", "\x00\x00", "\x91\x64", + "\x00\x00", "\x00\x00", "\x91\x67", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x6d", "\x91\x74", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\x79", "\x91\x7a", "\x91\x7b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x81", "\x00\x00", + "\x91\x83", "\x00\x00", "\x91\x85", "\x91\x86", "\x00\x00", "\x00\x00", + "\x00\x00", "\x91\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x8e", + "\x00\x00", "\x00\x00", "\x91\x91", "\x00\x00", "\x91\x93", "\x91\x94", + "\x91\x95", "\x00\x00", "\x00\x00", "\x91\x98", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x9e", "\x00\x00", "\x00\x00", + "\x91\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xa6", + "\x00\x00", "\x91\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xac", + "\x91\xad", "\x91\xae", "\x00\x00", "\x91\xb0", "\x91\xb1", "\x91\xb2", + "\x91\xb3", "\x00\x00", "\x00\x00", "\x91\xb6", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x91\xbb", "\x91\xbc", "\x91\xbd", "\x00\x00", + "\x91\xbf", "\x00\x00", "\x00\x00", "\x91\xc2", "\x91\xc3", "\x00\x00", + "\x91\xc5", "\x91\xd3", "\x91\xd4", "\x00\x00", "\x00\x00", "\x91\xd7", + "\x00\x00", "\x91\xd9", "\x91\xda", "\x00\x00", "\x00\x00", "\x00\x00", + "\x91\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x91\xe4", "\x91\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xe9", + "\x91\xea", "\x00\x00", "\x91\xec", "\x91\xed", "\x91\xee", "\x91\xef", + "\x91\xf0", "\x91\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x91\xf7", "\x00\x00", "\x91\xf9", "\x00\x00", "\x91\xfb", + "\x00\x00", "\x91\xfd", "\x00\x00", "\x00\x00", "\x92\x00", "\x92\x01", + "\x00\x00", "\x00\x00", "\x92\x04", "\x92\x05", "\x92\x06", "\x92\x07", + "\x00\x00", "\x92\x09", "\x92\x0a", "\x00\x00", "\x92\x0c", "\x00\x00", + "\x00\x00", "\x00\x00", "\x92\x10", "\x00\x00", "\x92\x12", "\x92\x13", + "\x00\x00", "\x00\x00", "\x92\x16", "\x00\x00", "\x92\x18", "\x00\x00", + "\x00\x00", "\x00\x00", "\x92\x1c", "\x92\x1d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x23", "\x92\x24", "\x92\x25", + "\x92\x26", "\x00\x00", "\x92\x28", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x92\x2e", "\x92\x2f", "\x92\x30", "\x00\x00", + "\x00\x00", "\x92\x33", "\x00\x00", "\x92\x35", "\x92\x36", "\x00\x00", + "\x92\x38", "\x92\x39", "\x92\x3a", "\x00\x00", "\x92\x3c", "\x00\x00", + "\x92\x3e", "\x00\x00", "\x92\x40", "\x00\x00", "\x92\x42", "\x92\x43", + "\x00\x00", "\x00\x00", "\x92\x46", "\x92\x47", "\x00\x00", "\x00\x00", + "\x92\x4a", "\x00\x00", "\x00\x00", "\x92\x4d", "\x92\x4e", "\x92\x4f", + "\x00\x00", "\x92\x51", "\x92\x58", "\x92\x59", "\x00\x00", "\x00\x00", + "\x92\x5c", "\x92\x5d", "\x00\x00", "\x00\x00", "\x92\x60", "\x92\x61", + "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x65", "\x00\x00", "\x92\x67", + "\x92\x68", "\x92\x69", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x92\x6e", "\x92\x6f", "\x92\x70", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x92\x75", "\x92\x76", "\x92\x77", "\x92\x78", "\x92\x79", + "\x00\x00", "\x92\x7b", "\x92\x7c", "\x92\x7d", "\x00\x00", "\x92\x7f", + "\x92\x88", "\x92\x89", "\x92\x8a", "\x00\x00", "\x00\x00", "\x92\x8d", + "\x92\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x92", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x97", "\x00\x00", "\x92\x99", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x9f", + "\x92\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xa4", "\x92\xa5", + "\x00\x00", "\x92\xa7", "\x92\xa8", "\x00\x00", "\x00\x00", "\x92\xab", + "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xaf", "\x00\x00", "\x00\x00", + "\x92\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xb6", "\x00\x00", + "\x92\xb8", "\x00\x00", "\x92\xba", "\x92\xbb", "\x92\xbc", "\x92\xbd", + "\x00\x00", "\x92\xbf", "\x92\xc0", "\x92\xc1", "\x92\xc2", "\x92\xc3", + "\x00\x00", "\x92\xc5", "\x92\xc6", "\x92\xc7", "\x92\xc8", "\x00\x00", + "\x00\x00", "\x92\xcb", "\x92\xcc", "\x92\xcd", "\x92\xce", "\x00\x00", + "\x92\xd0", "\x00\x00", "\x00\x00", "\x92\xd3", "\x00\x00", "\x92\xd5", + "\x00\x00", "\x92\xd7", "\x92\xd8", "\x92\xd9", "\x00\x00", "\x00\x00", + "\x92\xdc", "\x92\xdd", "\x00\x00", "\x92\xdf", "\x92\xe0", "\x92\xe1", + "\x00\x00", "\x92\xe3", "\x00\x00", "\x92\xe5", "\x00\x00", "\x92\xe7", + "\x92\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xec", "\x00\x00", + "\x92\xee", "\x00\x00", "\x92\xf0", "\x92\xf9", "\x00\x00", "\x92\xfb", + "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xff", "\x93\x00", "\x00\x00", + "\x93\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x93\x08", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x0d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x11", "\x00\x00", "\x00\x00", + "\x93\x14", "\x93\x15", "\x93\x1c", "\x93\x1d", "\x93\x1e", "\x93\x1f", + "\x00\x00", "\x93\x21", "\x00\x00", "\x00\x00", "\x93\x24", "\x93\x25", + "\x00\x00", "\x93\x27", "\x00\x00", "\x93\x29", "\x93\x2a", "\x93\x33", + "\x93\x34", "\x00\x00", "\x93\x36", "\x93\x37", "\x93\x47", "\x93\x48", + "\x93\x49", "\x93\x50", "\x93\x51", "\x93\x52", "\x00\x00", "\x00\x00", + "\x93\x55", "\x00\x00", "\x93\x57", "\x93\x58", "\x00\x00", "\x93\x5a", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x5e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x64", "\x93\x65", "\x00\x00", + "\x93\x67", "\x00\x00", "\x93\x69", "\x93\x6a", "\x00\x00", "\x00\x00", + "\x93\x6d", "\x00\x00", "\x93\x6f", "\x93\x70", "\x93\x71", "\x00\x00", + "\x93\x73", "\x93\x74", "\x00\x00", "\x93\x76", "\x00\x00", "\x00\x00", + "\x00\x00", "\x93\x7a", "\x00\x00", "\x00\x00", "\x93\x7d", "\x00\x00", + "\x93\x7f", "\x93\x80", "\x93\x81", "\x93\x82", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x88", "\x00\x00", "\x93\x8a", + "\x93\x8b", "\x00\x00", "\x93\x8d", "\x00\x00", "\x93\x8f", "\x00\x00", + "\x00\x00", "\x93\x92", "\x00\x00", "\x00\x00", "\x93\x95", "\x00\x00", + "\x00\x00", "\x93\x98", "\x00\x00", "\x00\x00", "\x93\x9b", "\x00\x00", + "\x00\x00", "\x93\x9e", "\x00\x00", "\x00\x00", "\x93\xa1", "\x00\x00", + "\x93\xa3", "\x93\xa4", "\x00\x00", "\x93\xa6", "\x00\x00", "\x93\xa8", + "\x93\xa9", "\x00\x00", "\x93\xab", "\x93\xb4", "\x93\xb5", "\x93\xb6", + "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xba", "\x93\xc1", "\x00\x00", + "\x00\x00", "\x93\xc4", "\x93\xc5", "\x93\xc6", "\x93\xc7", "\x00\x00", + "\x93\xc9", "\x93\xca", "\x93\xcb", "\x93\xcc", "\x93\xcd", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xd3", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xd9", "\x00\x00", + "\x00\x00", "\x93\xdc", "\x00\x00", "\x93\xde", "\x93\xdf", "\x00\x00", + "\x00\x00", "\x93\xe2", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xe6", + "\x93\xe7", "\x93\xf7", "\x93\xf8", "\x93\xf9", "\x93\xfa", "\x93\xfb", + "\x00\x00", "\x93\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x01", + "\x94\x02", "\x00\x00", "\x94\x04", "\x00\x00", "\x00\x00", "\x00\x00", + "\x94\x08", "\x94\x09", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x0d", + "\x94\x0e", "\x94\x0f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x94\x15", "\x94\x16", "\x94\x17", "\x94\x1f", "\x94\x2e", + "\x94\x2f", "\x00\x00", "\x94\x31", "\x94\x32", "\x94\x33", "\x94\x34", + "\x94\x3b", "\x00\x00", "\x94\x3d", "\x00\x00", "\x94\x3f", "\x00\x00", + "\x00\x00", "\x00\x00", "\x94\x43", "\x00\x00", "\x94\x45", "\x00\x00", + "\x00\x00", "\x94\x48", "\x00\x00", "\x94\x4a", "\x00\x00", "\x94\x4c", + "\x94\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x59", "\x00\x00", + "\x00\x00", "\x94\x5c", "\x00\x00", "\x00\x00", "\x94\x5f", "\x00\x00", + "\x94\x61", "\x00\x00", "\x94\x63", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x94\x68", "\x00\x00", "\x00\x00", "\x94\x6b", "\x00\x00", + "\x94\x6d", "\x94\x6e", "\x94\x6f", "\x00\x00", "\x94\x71", "\x94\x72", + "\x94\x83", "\x94\x84", "\x95\x78", "\x95\x79", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x95\x7e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x95\x84", "\x00\x00", "\x00\x00", "\x00\x00", + "\x95\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\x8c", "\x95\x8d", + "\x95\x8e", "\x95\x9d", "\x95\x9e", "\x95\x9f", "\x00\x00", "\x95\xa1", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xa6", "\x00\x00", + "\x00\x00", "\x95\xa9", "\x00\x00", "\x95\xab", "\x95\xac", "\x95\xb4", + "\x00\x00", "\x95\xb6", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xba", + "\x00\x00", "\x00\x00", "\x95\xbd", "\x00\x00", "\x95\xbf", "\x95\xc6", + "\x00\x00", "\x95\xc8", "\x95\xc9", "\x00\x00", "\x95\xcb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xd0", "\x95\xd1", "\x95\xd2", + "\x95\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x95\xd9", "\x95\xda", "\x00\x00", "\x00\x00", "\x95\xdd", "\x95\xde", + "\x95\xdf", "\x95\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xe4", + "\x00\x00", "\x95\xe6", "\x96\x1d", "\x96\x1e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x96\x22", "\x00\x00", "\x96\x24", "\x96\x25", "\x96\x26", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x2c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x31", "\x00\x00", + "\x96\x33", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x37", "\x96\x38", + "\x96\x39", "\x96\x3a", "\x00\x00", "\x96\x3c", "\x96\x3d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\x41", "\x96\x52", "\x00\x00", "\x96\x54", + "\x00\x00", "\x96\x56", "\x96\x57", "\x96\x58", "\x96\x61", "\x96\x6e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x74", + "\x96\x7b", "\x96\x7c", "\x00\x00", "\x96\x7e", "\x96\x7f", "\x00\x00", + "\x96\x81", "\x96\x82", "\x96\x83", "\x96\x84", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\x89", "\x96\x91", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\x96", "\x00\x00", "\x00\x00", "\x00\x00", + "\x96\x9a", "\x00\x00", "\x00\x00", "\x96\x9d", "\x00\x00", "\x96\x9f", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xa4", "\x96\xa5", + "\x96\xa6", "\x00\x00", "\x00\x00", "\x96\xa9", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x96\xae", "\x96\xaf", "\x00\x00", "\x00\x00", + "\x00\x00", "\x96\xb3", "\x96\xba", "\x96\xca", "\x96\xd2", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xd8", "\x00\x00", + "\x96\xda", "\x00\x00", "\x00\x00", "\x96\xdd", "\x96\xde", "\x96\xdf", + "\x96\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x96\xef", "\x00\x00", "\x96\xf1", "\x96\xfa", "\x97\x02", "\x97\x03", + "\x00\x00", "\x97\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x09", + "\x97\x1a", "\x97\x1b", "\x00\x00", "\x97\x1d", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x21", "\x97\x22", "\x97\x23", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x28", "\x97\x31", "\x00\x00", "\x97\x33", + "\x97\x41", "\x00\x00", "\x97\x43", "\x97\x4a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x4e", "\x97\x4f", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x55", "\x00\x00", "\x97\x57", "\x97\x58", + "\x00\x00", "\x97\x5a", "\x97\x5b", "\x97\x63", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x67", "\x00\x00", "\x00\x00", "\x97\x6a", "\x00\x00", + "\x00\x00", "\x00\x00", "\x97\x6e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x73", "\x00\x00", "\x00\x00", "\x97\x76", "\x97\x77", + "\x97\x78", "\x00\x00", "\x00\x00", "\x97\x7b", "\x00\x00", "\x97\x7d", + "\x00\x00", "\x97\x7f", "\x97\x80", "\x97\x89", "\x97\x95", "\x97\x96", + "\x97\x97", "\x00\x00", "\x97\x99", "\x97\x9a", "\x00\x00", "\x00\x00", + "\x00\x00", "\x97\x9e", "\x97\x9f", "\x00\x00", "\x00\x00", "\x97\xa2", + "\x97\xac", "\x00\x00", "\x97\xae", "\x00\x00", "\x00\x00", "\x97\xb1", + "\x97\xb2", "\x00\x00", "\x00\x00", "\x97\xb5", "\x97\xb6", "\x00\x00", + "\x97\xb8", "\x97\xb9", "\x97\xba", "\x00\x00", "\x97\xbc", "\x00\x00", + "\x97\xbe", "\x97\xbf", "\x00\x00", "\x97\xc1", "\x00\x00", "\x00\x00", + "\x97\xc4", "\x97\xc5", "\x00\x00", "\x97\xc7", "\x00\x00", "\x97\xc9", + "\x97\xca", "\x00\x00", "\x97\xcc", "\x97\xcd", "\x97\xce", "\x00\x00", + "\x97\xd0", "\x97\xd1", "\x00\x00", "\x00\x00", "\x97\xd4", "\x00\x00", + "\x00\x00", "\x97\xd7", "\x97\xd8", "\x97\xd9", "\x00\x00", "\x97\xdb", + "\x00\x00", "\x97\xdd", "\x97\xde", "\x00\x00", "\x97\xe0", "\x97\xe1", + "\x00\x00", "\x00\x00", "\x97\xe4", "\x97\xef", "\x00\x00", "\x97\xf1", + "\x00\x00", "\x00\x00", "\x97\xf4", "\x00\x00", "\x00\x00", "\x97\xf7", + "\x97\xf8", "\x00\x00", "\x97\xfa", "\x98\x07", "\x00\x00", "\x00\x00", + "\x98\x0a", "\x00\x00", "\x00\x00", "\x98\x0d", "\x98\x0e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x14", "\x00\x00", + "\x98\x16", "\x00\x00", "\x00\x00", "\x98\x19", "\x00\x00", "\x00\x00", + "\x98\x1c", "\x00\x00", "\x98\x1e", "\x00\x00", "\x98\x20", "\x00\x00", + "\x00\x00", "\x98\x23", "\x00\x00", "\x98\x25", "\x98\x26", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x2b", "\x00\x00", "\x00\x00", + "\x98\x2e", "\x98\x2f", "\x98\x30", "\x00\x00", "\x98\x32", "\x98\x33", + "\x00\x00", "\x98\x35", "\x98\x3e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x98\x44", "\x00\x00", "\x00\x00", "\x98\x47", + "\x00\x00", "\x00\x00", "\x98\x4a", "\x98\x51", "\x98\x52", "\x98\x53", + "\x00\x00", "\x00\x00", "\x98\x56", "\x98\x57", "\x00\x00", "\x98\x59", + "\x98\x5a", "\x98\x62", "\x98\x63", "\x00\x00", "\x98\x65", "\x98\x66", + "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x6a", "\x00\x00", "\x98\x6c", + "\x98\xab", "\x00\x00", "\x98\xad", "\x98\xae", "\x00\x00", "\x98\xb0", + "\x00\x00", "\x00\x00", "\x00\x00", "\x98\xb4", "\x00\x00", "\x00\x00", + "\x98\xb7", "\x98\xb8", "\x00\x00", "\x98\xba", "\x98\xbb", "\x00\x00", + "\x00\x00", "\x00\x00", "\x98\xbf", "\x00\x00", "\x00\x00", "\x98\xc2", + "\x00\x00", "\x00\x00", "\x98\xc5", "\x00\x00", "\x00\x00", "\x98\xc8", + "\x00\x00", "\x00\x00", "\x00\x00", "\x98\xcc", "\x98\xe1", "\x00\x00", + "\x98\xe3", "\x00\x00", "\x98\xe5", "\x98\xe6", "\x98\xe7", "\x00\x00", + "\x00\x00", "\x98\xea", "\x98\xf3", "\x00\x00", "\x00\x00", "\x98\xf6", + "\x99\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x07", + "\x99\x08", "\x99\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x15", + "\x99\x16", "\x99\x17", "\x00\x00", "\x00\x00", "\x99\x1a", "\x99\x1b", + "\x99\x1c", "\x00\x00", "\x00\x00", "\x99\x1f", "\x00\x00", "\x00\x00", + "\x99\x22", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x26", "\x99\x27", + "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x2b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x31", "\x99\x32", "\x99\x33", + "\x99\x34", "\x99\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x39", + "\x99\x3a", "\x99\x3b", "\x99\x3c", "\x00\x00", "\x00\x00", "\x00\x00", + "\x99\x40", "\x99\x41", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x99\x46", "\x99\x47", "\x99\x48", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x99\x4d", "\x99\x4e", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x99\x54", "\x00\x00", "\x00\x00", "\x00\x00", + "\x99\x58", "\x99\x59", "\x00\x00", "\x99\x5b", "\x99\x5c", "\x00\x00", + "\x99\x5e", "\x99\x5f", "\x99\x60", "\x99\x9b", "\x00\x00", "\x99\x9d", + "\x00\x00", "\x99\x9f", "\x99\xa6", "\x99\xb0", "\x99\xb1", "\x99\xb2", + "\x00\x00", "\x00\x00", "\x99\xb5", "\x00\x00", "\x00\x00", "\x00\x00", + "\x99\xb9", "\x99\xba", "\x00\x00", "\x00\x00", "\x99\xbd", "\x00\x00", + "\x99\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xc3", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xc9", "\x99\xd3", + "\x99\xd4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xd9", + "\x99\xda", "\x00\x00", "\x99\xdc", "\x00\x00", "\x99\xde", "\x99\xe7", + "\x00\x00", "\x00\x00", "\x99\xea", "\x99\xeb", "\x99\xec", "\x00\x00", + "\x00\x00", "\x00\x00", "\x99\xf0", "\x00\x00", "\x00\x00", "\x00\x00", + "\x99\xf4", "\x99\xf5", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xf9", + "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xfd", "\x99\xfe", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9a\x02", "\x9a\x03", "\x9a\x04", "\x9a\x0b", + "\x9a\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x10", "\x9a\x11", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x16", "\x9a\x1e", + "\x00\x00", "\x9a\x20", "\x00\x00", "\x9a\x22", "\x9a\x23", "\x9a\x24", + "\x00\x00", "\x00\x00", "\x9a\x27", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9a\x2d", "\x9a\x2e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9a\x33", "\x00\x00", "\x9a\x35", "\x9a\x36", + "\x00\x00", "\x9a\x38", "\x9a\x41", "\x00\x00", "\x00\x00", "\x9a\x44", + "\x00\x00", "\x00\x00", "\x9a\x47", "\x00\x00", "\x00\x00", "\x9a\x4a", + "\x9a\x4b", "\x9a\x4c", "\x00\x00", "\x9a\x4e", "\x00\x00", "\x00\x00", + "\x9a\x51", "\x00\x00", "\x00\x00", "\x9a\x54", "\x00\x00", "\x9a\x56", + "\x9a\x5d", "\x9a\xaa", "\x00\x00", "\x9a\xac", "\x00\x00", "\x9a\xae", + "\x9a\xaf", "\x00\x00", "\x00\x00", "\x9a\xb2", "\x00\x00", "\x9a\xb4", + "\x9a\xb5", "\x9a\xb6", "\x00\x00", "\x00\x00", "\x9a\xb9", "\x00\x00", + "\x9a\xbb", "\x00\x00", "\x00\x00", "\x9a\xbe", "\x9a\xbf", "\x00\x00", + "\x9a\xc1", "\x00\x00", "\x9a\xc3", "\x00\x00", "\x00\x00", "\x9a\xc6", + "\x00\x00", "\x9a\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xce", "\x00\x00", "\x9a\xd0", "\x00\x00", "\x9a\xd2", + "\x00\x00", "\x00\x00", "\x9a\xd5", "\x9a\xd6", "\x9a\xd7", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9a\xdb", "\x9a\xdc", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xe4", + "\x9a\xe5", "\x00\x00", "\x9a\xe7", "\x00\x00", "\x9a\xe9", "\x00\x00", + "\x00\x00", "\x9a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9a\xf2", "\x9a\xf3", "\x00\x00", "\x9a\xf5", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9a\xf9", "\x9a\xfa", "\x00\x00", "\x00\x00", + "\x9a\xfd", "\x00\x00", "\x9a\xff", "\x9b\x00", "\x9b\x01", "\x9b\x02", + "\x9b\x03", "\x9b\x04", "\x9b\x05", "\x00\x00", "\x00\x00", "\x9b\x08", + "\x9b\x09", "\x00\x00", "\x9b\x0b", "\x9b\x0c", "\x9b\x0d", "\x9b\x0e", + "\x00\x00", "\x9b\x10", "\x00\x00", "\x9b\x12", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\x16", "\x00\x00", "\x00\x00", "\x9b\x19", "\x00\x00", + "\x9b\x1b", "\x9b\x1c", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x20", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x26", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x2b", "\x00\x00", + "\x9b\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9b\x33", "\x9b\x34", "\x9b\x35", "\x00\x00", "\x9b\x37", "\x00\x00", + "\x9b\x39", "\x9b\x3a", "\x00\x00", "\x00\x00", "\x9b\x3d", "\x9b\x48", + "\x00\x00", "\x00\x00", "\x9b\x4b", "\x9b\x4c", "\x9b\x55", "\x9b\x56", + "\x9b\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x5b", "\x00\x00", + "\x00\x00", "\x9b\x5e", "\x00\x00", "\x00\x00", "\x9b\x61", "\x00\x00", + "\x9b\x63", "\x00\x00", "\x9b\x65", "\x9b\x66", "\x00\x00", "\x9b\x68", + "\x00\x00", "\x9b\x6a", "\x9b\x6b", "\x9b\x6c", "\x9b\x6d", "\x9b\x6e", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x73", "\x00\x00", + "\x9b\x75", "\x00\x00", "\x9b\x77", "\x9b\x78", "\x9b\x79", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x7f", "\x9b\x80", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x84", "\x9b\x85", "\x9b\x86", + "\x9b\x87", "\x00\x00", "\x9b\x89", "\x9b\x8a", "\x9b\x8b", "\x00\x00", + "\x9b\x8d", "\x00\x00", "\x9b\x8f", "\x9b\x90", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\x9a", "\x00\x00", "\x00\x00", "\x9b\x9d", "\x9b\x9e", + "\x9b\xa6", "\x9b\xa7", "\x00\x00", "\x9b\xa9", "\x00\x00", "\x00\x00", + "\x9b\xac", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xb0", "\x9b\xb1", + "\x9b\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xb7", + "\x9b\xb8", "\x00\x00", "\x00\x00", "\x9b\xbb", "\x9b\xbc", "\x00\x00", + "\x9b\xbe", "\x9b\xbf", "\x00\x00", "\x9b\xc1", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xc7", "\x9b\xc8", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xce", "\x00\x00", + "\x9b\xd0", "\x9b\xd7", "\x9b\xd8", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\xdd", "\x00\x00", "\x9b\xdf", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xe5", "\x00\x00", "\x9b\xe7", + "\x00\x00", "\x00\x00", "\x9b\xea", "\x9b\xeb", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9b\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xf3", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xf7", "\x9b\xf8", "\x9b\xf9", + "\x9b\xfa", "\x00\x00", "\x00\x00", "\x9b\xfd", "\x00\x00", "\x9b\xff", + "\x9c\x00", "\x00\x00", "\x9c\x02", "\x9c\x0b", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9c\x0f", "\x00\x00", "\x9c\x11", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9c\x16", "\x00\x00", "\x9c\x18", "\x9c\x19", + "\x9c\x1a", "\x00\x00", "\x9c\x1c", "\x00\x00", "\x9c\x1e", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9c\x22", "\x9c\x23", "\x00\x00", "\x00\x00", + "\x9c\x26", "\x9c\x27", "\x9c\x28", "\x9c\x29", "\x9c\x2a", "\x9c\x31", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x35", "\x9c\x36", "\x9c\x37", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x3d", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x41", "\x00\x00", "\x9c\x43", + "\x9c\x44", "\x9c\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x49", + "\x9c\x4a", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x4e", "\x9c\x4f", + "\x9c\x50", "\x00\x00", "\x00\x00", "\x9c\x53", "\x9c\x54", "\x00\x00", + "\x9c\x56", "\x00\x00", "\x9c\x58", "\x00\x00", "\x00\x00", "\x9c\x5b", + "\x9c\x5c", "\x9c\x5d", "\x9c\x5e", "\x9c\x5f", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9c\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9c\x68", "\x9c\x69", "\x9c\x6a", "\x9c\x6b", "\x00\x00", "\x00\x00", + "\x9c\x6e", "\x00\x00", "\x9c\x70", "\x00\x00", "\x9c\x72", "\x00\x00", + "\x00\x00", "\x9c\x75", "\x00\x00", "\x9c\x77", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9c\x7b", "\x9c\xe6", "\x9c\xf2", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9c\xf7", "\x00\x00", "\x9c\xf9", "\x9d\x02", + "\x9d\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\x17", "\x9d\x18", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x1c", + "\x9d\x1d", "\x9d\x1e", "\x9d\x2f", "\x9d\x30", "\x00\x00", "\x9d\x32", + "\x9d\x33", "\x9d\x34", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9d\x3a", "\x00\x00", "\x9d\x3c", "\x9d\x3d", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x42", "\x9d\x43", "\x00\x00", + "\x9d\x45", "\x00\x00", "\x9d\x47", "\x00\x00", "\x00\x00", "\x9d\x4a", + "\x9d\x53", "\x9d\x54", "\x9d\x5f", "\x00\x00", "\x00\x00", "\x9d\x62", + "\x9d\x63", "\x00\x00", "\x9d\x65", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\x69", "\x9d\x6a", "\x9d\x6b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9d\x70", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9d\x76", "\x9d\x77", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\x7b", "\x9d\x7c", "\x00\x00", "\x9d\x7e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9d\x83", "\x9d\x84", "\x00\x00", "\x9d\x86", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x8a", "\x00\x00", "\x00\x00", + "\x9d\x8d", "\x9d\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x92", + "\x9d\x93", "\x00\x00", "\x9d\x95", "\x9d\x96", "\x9d\x97", "\x9d\x98", + "\x9d\xa1", "\x9d\xaa", "\x00\x00", "\x9d\xac", "\x00\x00", "\x9d\xae", + "\x00\x00", "\x00\x00", "\x9d\xb1", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\xb5", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xb9", "\x00\x00", + "\x00\x00", "\x9d\xbc", "\x00\x00", "\x00\x00", "\x9d\xbf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9d\xc3", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9d\xc7", "\x00\x00", "\x9d\xc9", "\x9d\xca", "\x9d\xd4", "\x9d\xd5", + "\x9d\xd6", "\x9d\xd7", "\x00\x00", "\x00\x00", "\x9d\xda", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9d\xde", "\x9d\xdf", "\x9d\xe0", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xe5", "\x00\x00", "\x9d\xe7", + "\x00\x00", "\x9d\xe9", "\x00\x00", "\x9d\xeb", "\x00\x00", "\x00\x00", + "\x9d\xee", "\x00\x00", "\x9d\xf0", "\x00\x00", "\x00\x00", "\x9d\xf3", + "\x9d\xf4", "\x9d\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x02", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x07", "\x00\x00", + "\x00\x00", "\x9e\x0a", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x0e", + "\x00\x00", "\x9e\x10", "\x9e\x11", "\x9e\x12", "\x00\x00", "\x00\x00", + "\x9e\x15", "\x9e\x16", "\x00\x00", "\x00\x00", "\x9e\x19", "\x00\x00", + "\x00\x00", "\x9e\x1c", "\x9e\x1d", "\x9e\x7a", "\x9e\x7b", "\x9e\x7c", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x80", "\x00\x00", "\x9e\x82", + "\x9e\x83", "\x9e\x84", "\x9e\x85", "\x00\x00", "\x9e\x87", "\x9e\x8e", + "\x9e\x8f", "\x9e\x96", "\x00\x00", "\x9e\x98", "\x00\x00", "\x00\x00", + "\x9e\x9b", "\x00\x00", "\x00\x00", "\x9e\x9e", "\x00\x00", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xa4", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9e\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xac", + "\x00\x00", "\x9e\xae", "\x9e\xaf", "\x9e\xb0", "\x00\x00", "\x00\x00", + "\x9e\xb3", "\x9e\xb4", "\x9e\xb5", "\x9e\xc6", "\x00\x00", "\x9e\xc8", + "\x00\x00", "\x00\x00", "\x9e\xcb", "\x9e\xd5", "\x9e\xdf", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xe4", "\x00\x00", "\x00\x00", + "\x9e\xe7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xec", + "\x9e\xed", "\x9e\xee", "\x00\x00", "\x9e\xf0", "\x9e\xf1", "\x9e\xf2", + "\x00\x00", "\x00\x00", "\x9e\xf5", "\x00\x00", "\x00\x00", "\x9e\xf8", + "\x9e\xff", "\x00\x00", "\x00\x00", "\x9f\x02", "\x9f\x03", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x09", "\x00\x00", + "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x0f", "\x9f\x10", + "\x9f\x11", "\x9f\x12", "\x00\x00", "\x9f\x14", "\x00\x00", "\x9f\x16", + "\x9f\x17", "\x00\x00", "\x9f\x19", "\x9f\x1a", "\x9f\x1b", "\x00\x00", + "\x00\x00", "\x00\x00", "\x9f\x1f", "\x00\x00", "\x00\x00", "\x9f\x22", + "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x26", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9f\x2a", "\x9f\x2b", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9f\x2f", "\x00\x00", "\x9f\x31", "\x9f\x32", "\x00\x00", "\x9f\x34", + "\x00\x00", "\x00\x00", "\x9f\x37", "\x00\x00", "\x9f\x39", "\x9f\x3a", + "\x00\x00", "\x9f\x3c", "\x9f\x3d", "\x00\x00", "\x9f\x3f", "\x00\x00", + "\x9f\x41", "\x00\x00", "\x9f\x43", "\x9f\x44", "\x9f\x45", "\x9f\x46", + "\x9f\x47", "\x9f\x53", "\x00\x00", "\x9f\x55", "\x9f\x56", "\x9f\x57", + "\x9f\x58", "\x00\x00", "\x9f\x5a", "\x00\x00", "\x00\x00", "\x9f\x5d", + "\x9f\x5e", "\x9f\x68", "\x9f\x69", "\x00\x00", "\x00\x00", "\x00\x00", + "\x9f\x6d", "\x9f\x6e", "\x9f\x6f", "\x9f\x70", "\x9f\x71", "\x00\x00", + "\x9f\x73", "\x00\x00", "\x9f\x75", "\x00\x00", "\x00\x00", "\x00\x00", + "\x00\x00", "\x9f\x7a", "\x00\x00", "\x00\x00", "\x9f\x7d", "\x9f\x8f", + "\x9f\x90", "\x9f\x91", "\x9f\x92", "\x00\x00", "\x9f\x94", "\x00\x00", + "\x9f\x96", "\x9f\x97", "\x9f\x9e", "\x00\x00", "\x00\x00", "\x9f\xa1", + "\x9f\xa2", "\x9f\xa3", "\x00\x00", "\x9f\xa5" +}; diff --git a/iconvdata/jis0212.h b/iconvdata/jis0212.h new file mode 100644 index 0000000000..0b60ca800b --- /dev/null +++ b/iconvdata/jis0212.h @@ -0,0 +1,107 @@ +/* Access functions for JISX0212 conversion. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _JIS0212_H +#define _JIS0212_H 1 + +#include <gconv.h> +#include <inttypes.h> + + +/* Struct for table with indeces in mapping table. */ +struct jisx0212_idx +{ + uint16_t start; + uint16_t end; + uint16_t idx; +}; + +/* Conversion table. */ +extern const struct jisx0212_idx jisx0212_to_ucs_idx[]; +extern const uint16_t jisx0212_to_ucs[]; + +extern const struct jisx0212_idx jisx0212_from_ucs_idx[]; +extern const char jisx0212_from_ucs[][2]; + + +static inline wchar_t +jisx0212_to_ucs4 (char **s, size_t avail) +{ + const struct jisx0212_idx *rp = jisx0212_to_ucs_idx; + unsigned char ch = *(*s); + unsigned char ch2; + wchar_t wch = L'\0'; + int idx; + + if (ch <= 0x6d || ch > 0xea) + return UNKNOWN_10646_CHAR; + + if (avail < 2) + return 0; + + ch2 = (*s)[1]; + if (ch2 <= 0x20 || ch2 >= 0x7f) + return UNKNOWN_10646_CHAR; + + idx = (ch - 0x21) * 94 + (ch2 - 0x21); + + while (idx < rp->start) + ++rp; + if (idx <= rp->end) + wch = jisx0212_to_ucs[rp->idx + idx - rp->start]; + + if (wch != L'\0') + (*s) += 2; + else + wch = UNKNOWN_10646_CHAR; + + return wch; +} + + +static inline size_t +ucs4_to_jisx0212 (wchar_t wch, char **s, size_t avail) +{ + const struct jisx0212_idx *rp = jisx0212_from_ucs_idx; + unsigned int ch = (unsigned int) wch; + const char *cp = NULL; + + while (ch > rp->end) + ++rp; + if (ch >= rp->start) + cp = jisx0212_from_ucs[rp->idx + ch - rp->start]; + + if (cp == NULL || cp[0] == '\0') + return UNKNOWN_10646_CHAR; + + **s = cp[0]; + if (cp[1] != '\0') + { + if (avail < 2) + return 0; + + *++(*s) = cp[1]; + } + ++(*s); + + return 2; +} + +#endif /* jis0212.h */ diff --git a/iconvdata/koi-8.c b/iconvdata/koi-8.c new file mode 100644 index 0000000000..2228456801 --- /dev/null +++ b/iconvdata/koi-8.c @@ -0,0 +1,24 @@ +/* Conversion from and to KOI-8. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#include <koi-8.h> +#define NAME "KOI-8" +#include <8bit-generic.c> diff --git a/iconvdata/koi8-r.c b/iconvdata/koi8-r.c new file mode 100644 index 0000000000..502132b338 --- /dev/null +++ b/iconvdata/koi8-r.c @@ -0,0 +1,24 @@ +/* Conversion from and to KOI8-R. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#define TABLES <koi8-r.h> +#define NAME "KOI8-R" +#include <8bit-gap.c> diff --git a/iconvdata/koi8-r.h b/iconvdata/koi8-r.h new file mode 100644 index 0000000000..f6b887f0c7 --- /dev/null +++ b/iconvdata/koi8-r.h @@ -0,0 +1,320 @@ +static const wchar_t to_ucs4[256] = { + [0x01] = 0x0001, + [0x02] = 0x0002, + [0x03] = 0x0003, + [0x04] = 0x0004, + [0x05] = 0x0005, + [0x06] = 0x0006, + [0x07] = 0x0007, + [0x08] = 0x0008, + [0x09] = 0x0009, + [0x0A] = 0x000A, + [0x0B] = 0x000B, + [0x0C] = 0x000C, + [0x0D] = 0x000D, + [0x0E] = 0x000E, + [0x0F] = 0x000F, + [0x10] = 0x0010, + [0x11] = 0x0011, + [0x12] = 0x0012, + [0x13] = 0x0013, + [0x14] = 0x0014, + [0x15] = 0x0015, + [0x16] = 0x0016, + [0x17] = 0x0017, + [0x18] = 0x0018, + [0x19] = 0x0019, + [0x1A] = 0x001A, + [0x1B] = 0x001B, + [0x1C] = 0x001C, + [0x1D] = 0x001D, + [0x1E] = 0x001E, + [0x1F] = 0x001F, + [0x20] = 0x0020, + [0x21] = 0x0021, + [0x22] = 0x0022, + [0x23] = 0x0023, + [0x24] = 0x0024, + [0x25] = 0x0025, + [0x26] = 0x0026, + [0x27] = 0x0027, + [0x28] = 0x0028, + [0x29] = 0x0029, + [0x2A] = 0x002A, + [0x2B] = 0x002B, + [0x2C] = 0x002C, + [0x2D] = 0x002D, + [0x2E] = 0x002E, + [0x2F] = 0x002F, + [0x30] = 0x0030, + [0x31] = 0x0031, + [0x32] = 0x0032, + [0x33] = 0x0033, + [0x34] = 0x0034, + [0x35] = 0x0035, + [0x36] = 0x0036, + [0x37] = 0x0037, + [0x38] = 0x0038, + [0x39] = 0x0039, + [0x3A] = 0x003A, + [0x3B] = 0x003B, + [0x3C] = 0x003C, + [0x3D] = 0x003D, + [0x3E] = 0x003E, + [0x3F] = 0x003F, + [0x40] = 0x0040, + [0x41] = 0x0041, + [0x42] = 0x0042, + [0x43] = 0x0043, + [0x44] = 0x0044, + [0x45] = 0x0045, + [0x46] = 0x0046, + [0x47] = 0x0047, + [0x48] = 0x0048, + [0x49] = 0x0049, + [0x4A] = 0x004A, + [0x4B] = 0x004B, + [0x4C] = 0x004C, + [0x4D] = 0x004D, + [0x4E] = 0x004E, + [0x4F] = 0x004F, + [0x50] = 0x0050, + [0x51] = 0x0051, + [0x52] = 0x0052, + [0x53] = 0x0053, + [0x54] = 0x0054, + [0x55] = 0x0055, + [0x56] = 0x0056, + [0x57] = 0x0057, + [0x58] = 0x0058, + [0x59] = 0x0059, + [0x5A] = 0x005A, + [0x5B] = 0x005B, + [0x5C] = 0x005C, + [0x5D] = 0x005D, + [0x5E] = 0x005E, + [0x5F] = 0x005F, + [0x60] = 0x0060, + [0x61] = 0x0061, + [0x62] = 0x0062, + [0x63] = 0x0063, + [0x64] = 0x0064, + [0x65] = 0x0065, + [0x66] = 0x0066, + [0x67] = 0x0067, + [0x68] = 0x0068, + [0x69] = 0x0069, + [0x6A] = 0x006A, + [0x6B] = 0x006B, + [0x6C] = 0x006C, + [0x6D] = 0x006D, + [0x6E] = 0x006E, + [0x6F] = 0x006F, + [0x70] = 0x0070, + [0x71] = 0x0071, + [0x72] = 0x0072, + [0x73] = 0x0073, + [0x74] = 0x0074, + [0x75] = 0x0075, + [0x76] = 0x0076, + [0x77] = 0x0077, + [0x78] = 0x0078, + [0x79] = 0x0079, + [0x7A] = 0x007A, + [0x7B] = 0x007B, + [0x7C] = 0x007C, + [0x7D] = 0x007D, + [0x7E] = 0x007E, + [0x7F] = 0x007F, + [0x80] = 0x2500, + [0x81] = 0x2502, + [0x82] = 0x250C, + [0x83] = 0x2510, + [0x84] = 0x2514, + [0x85] = 0x2518, + [0x86] = 0x251C, + [0x87] = 0x2524, + [0x88] = 0x252C, + [0x89] = 0x2534, + [0x8A] = 0x253C, + [0x8B] = 0x2580, + [0x8C] = 0x2584, + [0x8D] = 0x2588, + [0x8E] = 0x258C, + [0x8F] = 0x2590, + [0x90] = 0x2591, + [0x91] = 0x2592, + [0x92] = 0x2593, + [0x93] = 0x2320, + [0x94] = 0x25A0, + [0x95] = 0x2022, + [0x96] = 0x221A, + [0x97] = 0x2248, + [0x98] = 0x2264, + [0x99] = 0x2265, + [0x9A] = 0x00A0, + [0x9B] = 0x2321, + [0x9C] = 0x00B0, + [0x9D] = 0x00B2, + [0x9E] = 0x00B7, + [0x9F] = 0x00F7, + [0xA0] = 0x2550, + [0xA1] = 0x2551, + [0xA2] = 0x2552, + [0xA3] = 0x0451, + [0xA4] = 0x2553, + [0xA5] = 0x2554, + [0xA6] = 0x2555, + [0xA7] = 0x2556, + [0xA8] = 0x2557, + [0xA9] = 0x2558, + [0xAA] = 0x2559, + [0xAB] = 0x255A, + [0xAC] = 0x255B, + [0xAD] = 0x255C, + [0xAE] = 0x255D, + [0xAF] = 0x255E, + [0xB0] = 0x255F, + [0xB1] = 0x2560, + [0xB2] = 0x2561, + [0xB3] = 0x0401, + [0xB4] = 0x2562, + [0xB5] = 0x2563, + [0xB6] = 0x2564, + [0xB7] = 0x2565, + [0xB8] = 0x2566, + [0xB9] = 0x2567, + [0xBA] = 0x2568, + [0xBB] = 0x2569, + [0xBC] = 0x256A, + [0xBD] = 0x256B, + [0xBE] = 0x256C, + [0xBF] = 0x00A9, + [0xC0] = 0x044E, + [0xC1] = 0x0430, + [0xC2] = 0x0431, + [0xC3] = 0x0446, + [0xC4] = 0x0434, + [0xC5] = 0x0435, + [0xC6] = 0x0444, + [0xC7] = 0x0433, + [0xC8] = 0x0445, + [0xC9] = 0x0438, + [0xCA] = 0x0439, + [0xCB] = 0x043A, + [0xCC] = 0x043B, + [0xCD] = 0x043C, + [0xCE] = 0x043D, + [0xCF] = 0x043E, + [0xD0] = 0x043F, + [0xD1] = 0x044F, + [0xD2] = 0x0440, + [0xD3] = 0x0441, + [0xD4] = 0x0442, + [0xD5] = 0x0443, + [0xD6] = 0x0436, + [0xD7] = 0x0432, + [0xD8] = 0x044C, + [0xD9] = 0x044B, + [0xDA] = 0x0437, + [0xDB] = 0x0448, + [0xDC] = 0x044D, + [0xDD] = 0x0449, + [0xDE] = 0x0447, + [0xDF] = 0x044A, + [0xE0] = 0x042E, + [0xE1] = 0x0410, + [0xE2] = 0x0411, + [0xE3] = 0x0426, + [0xE4] = 0x0414, + [0xE5] = 0x0415, + [0xE6] = 0x0424, + [0xE7] = 0x0413, + [0xE8] = 0x0425, + [0xE9] = 0x0418, + [0xEA] = 0x0419, + [0xEB] = 0x041A, + [0xEC] = 0x041B, + [0xED] = 0x041C, + [0xEE] = 0x041D, + [0xEF] = 0x041E, + [0xF0] = 0x041F, + [0xF1] = 0x042F, + [0xF2] = 0x0420, + [0xF3] = 0x0421, + [0xF4] = 0x0422, + [0xF5] = 0x0423, + [0xF6] = 0x0416, + [0xF7] = 0x0412, + [0xF8] = 0x042C, + [0xF9] = 0x042B, + [0xFA] = 0x0417, + [0xFB] = 0x0428, + [0xFC] = 0x042D, + [0xFD] = 0x0429, + [0xFE] = 0x0427, + [0xFF] = 0x042A, +}; +static struct gap from_idx[] = { + { start: 000000, end: 0x007f, idx: 0 }, + { start: 0x00a0, end: 0x00a0, idx: -32 }, + { start: 0x00a9, end: 0x00a9, idx: -40 }, + { start: 0x00b0, end: 0x00b7, idx: -46 }, + { start: 0x00f7, end: 0x00f7, idx: -109 }, + { start: 0x0401, end: 0x0401, idx: -886 }, + { start: 0x0410, end: 0x0451, idx: -900 }, + { start: 0x2022, end: 0x2022, idx: -8020 }, + { start: 0x221a, end: 0x221a, idx: -8523 }, + { start: 0x2248, end: 0x2248, idx: -8568 }, + { start: 0x2264, end: 0x2265, idx: -8595 }, + { start: 0x2320, end: 0x2321, idx: -8781 }, + { start: 0x2500, end: 0x2502, idx: -9259 }, + { start: 0x250c, end: 0x251c, idx: -9268 }, + { start: 0x2524, end: 0x2524, idx: -9275 }, + { start: 0x252c, end: 0x252c, idx: -9282 }, + { start: 0x2534, end: 0x2534, idx: -9289 }, + { start: 0x253c, end: 0x253c, idx: -9296 }, + { start: 0x2550, end: 0x256c, idx: -9315 }, + { start: 0x2580, end: 0x2593, idx: -9334 }, + { start: 0x25a0, end: 0x25a0, idx: -9346 }, + { start: 0xffff, end: 0xffff, idx: 0 } +}; +static const char from_ucs4[] = { + + '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', + '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10', + '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', + '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20', + '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27', '\x28', + '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30', + '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38', + '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f', '\x40', + '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48', + '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50', + '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58', + '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f', '\x60', + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', + '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f', '\x70', + '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78', + '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x7e', '\x7f', '\x9a', + '\xbf', '\x9c', '\x00', '\x9d', '\x00', '\x00', '\x00', '\x00', + '\x9e', '\x9f', '\xb3', '\xe1', '\xe2', '\xf7', '\xe7', '\xe4', + '\xe5', '\xf6', '\xfa', '\xe9', '\xea', '\xeb', '\xec', '\xed', + '\xee', '\xef', '\xf0', '\xf2', '\xf3', '\xf4', '\xf5', '\xe6', + '\xe8', '\xe3', '\xfe', '\xfb', '\xfd', '\xff', '\xf9', '\xf8', + '\xfc', '\xe0', '\xf1', '\xc1', '\xc2', '\xd7', '\xc7', '\xc4', + '\xc5', '\xd6', '\xda', '\xc9', '\xca', '\xcb', '\xcc', '\xcd', + '\xce', '\xcf', '\xd0', '\xd2', '\xd3', '\xd4', '\xd5', '\xc6', + '\xc8', '\xc3', '\xde', '\xdb', '\xdd', '\xdf', '\xd9', '\xd8', + '\xdc', '\xc0', '\xd1', '\x00', '\xa3', '\x95', '\x96', '\x97', + '\x98', '\x99', '\x93', '\x9b', '\x80', '\x00', '\x81', '\x82', + '\x00', '\x00', '\x00', '\x83', '\x00', '\x00', '\x00', '\x84', + '\x00', '\x00', '\x00', '\x85', '\x00', '\x00', '\x00', '\x86', + '\x87', '\x88', '\x89', '\x8a', '\xa0', '\xa1', '\xa2', '\xa4', + '\xa5', '\xa6', '\xa7', '\xa8', '\xa9', '\xaa', '\xab', '\xac', + '\xad', '\xae', '\xaf', '\xb0', '\xb1', '\xb2', '\xb4', '\xb5', + '\xb6', '\xb7', '\xb8', '\xb9', '\xba', '\xbb', '\xbc', '\xbd', + '\xbe', '\x8b', '\x00', '\x00', '\x00', '\x8c', '\x00', '\x00', + '\x00', '\x8d', '\x00', '\x00', '\x00', '\x8e', '\x00', '\x00', + '\x00', '\x8f', '\x90', '\x91', '\x92', '\x94', +}; diff --git a/iconvdata/latin-greek-1.c b/iconvdata/latin-greek-1.c new file mode 100644 index 0000000000..d62969a77d --- /dev/null +++ b/iconvdata/latin-greek-1.c @@ -0,0 +1,24 @@ +/* Conversion from and to LATIN-GREEK-1. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#define TABLES <latin-greek-1.h> +#define NAME "LATIN-GREEK-1" +#include <8bit-gap.c> diff --git a/iconvdata/latin-greek-1.h b/iconvdata/latin-greek-1.h new file mode 100644 index 0000000000..e17b6ebfc3 --- /dev/null +++ b/iconvdata/latin-greek-1.h @@ -0,0 +1,158 @@ +static const wchar_t to_ucs4[256] = { + [0x01] = 0x0001, + [0x02] = 0x0002, + [0x03] = 0x0003, + [0x04] = 0x0004, + [0x05] = 0x0005, + [0x06] = 0x0006, + [0x07] = 0x0007, + [0x08] = 0x0008, + [0x09] = 0x0009, + [0x0A] = 0x000A, + [0x0B] = 0x000B, + [0x0C] = 0x000C, + [0x0D] = 0x000D, + [0x0E] = 0x000E, + [0x0F] = 0x000F, + [0x10] = 0x0010, + [0x11] = 0x0011, + [0x12] = 0x0012, + [0x13] = 0x0013, + [0x14] = 0x0014, + [0x15] = 0x0015, + [0x16] = 0x0016, + [0x17] = 0x0017, + [0x18] = 0x0018, + [0x19] = 0x0019, + [0x1A] = 0x001A, + [0x1B] = 0x001B, + [0x1C] = 0x001C, + [0x1D] = 0x001D, + [0x1E] = 0x001E, + [0x1F] = 0x001F, + [0x20] = 0x0020, + [0x21] = 0x039E, + [0x22] = 0x0022, + [0x23] = 0x0393, + [0x24] = 0x00A4, + [0x25] = 0x0025, + [0x26] = 0x0026, + [0x27] = 0x0027, + [0x28] = 0x0028, + [0x29] = 0x0029, + [0x2A] = 0x002A, + [0x2B] = 0x002B, + [0x2C] = 0x002C, + [0x2D] = 0x002D, + [0x2E] = 0x002E, + [0x2F] = 0x002F, + [0x30] = 0x0030, + [0x31] = 0x0031, + [0x32] = 0x0032, + [0x33] = 0x0033, + [0x34] = 0x0034, + [0x35] = 0x0035, + [0x36] = 0x0036, + [0x37] = 0x0037, + [0x38] = 0x0038, + [0x39] = 0x0039, + [0x3A] = 0x03A8, + [0x3B] = 0x003B, + [0x3C] = 0x003C, + [0x3D] = 0x003D, + [0x3E] = 0x003E, + [0x3F] = 0x03A0, + [0x40] = 0x0394, + [0x41] = 0x0041, + [0x42] = 0x0042, + [0x43] = 0x0043, + [0x44] = 0x0044, + [0x45] = 0x0045, + [0x46] = 0x0046, + [0x47] = 0x0047, + [0x48] = 0x0048, + [0x49] = 0x0049, + [0x4A] = 0x004A, + [0x4B] = 0x004B, + [0x4C] = 0x004C, + [0x4D] = 0x004D, + [0x4E] = 0x004E, + [0x4F] = 0x004F, + [0x50] = 0x0050, + [0x51] = 0x0051, + [0x52] = 0x0052, + [0x53] = 0x0053, + [0x54] = 0x0054, + [0x55] = 0x0055, + [0x56] = 0x0056, + [0x57] = 0x0057, + [0x58] = 0x0058, + [0x59] = 0x0059, + [0x5A] = 0x005A, + [0x5B] = 0x03A9, + [0x5C] = 0x0398, + [0x5D] = 0x03A6, + [0x5E] = 0x039B, + [0x5F] = 0x03A3, + [0x60] = 0x0060, + [0x61] = 0x0061, + [0x62] = 0x0062, + [0x63] = 0x0063, + [0x64] = 0x0064, + [0x65] = 0x0065, + [0x66] = 0x0066, + [0x67] = 0x0067, + [0x68] = 0x0068, + [0x69] = 0x0069, + [0x6A] = 0x006A, + [0x6B] = 0x006B, + [0x6C] = 0x006C, + [0x6D] = 0x006D, + [0x6E] = 0x006E, + [0x6F] = 0x006F, + [0x70] = 0x0070, + [0x71] = 0x0071, + [0x72] = 0x0072, + [0x73] = 0x0073, + [0x74] = 0x0074, + [0x75] = 0x0075, + [0x76] = 0x0076, + [0x77] = 0x0077, + [0x78] = 0x0078, + [0x79] = 0x0079, + [0x7A] = 0x007A, + [0x7B] = 0x007B, + [0x7C] = 0x007C, + [0x7D] = 0x007D, + [0x7E] = 0x203E, + [0x7F] = 0x007F, +}; +static struct gap from_idx[] = { + { start: 000000, end: 0x007f, idx: 0 }, + { start: 0x00a4, end: 0x00a4, idx: -36 }, + { start: 0x0393, end: 0x03a9, idx: -786 }, + { start: 0x203e, end: 0x203e, idx: -8102 }, + { start: 0xffff, end: 0xffff, idx: 0 } +}; +static const char from_ucs4[] = { + + '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', + '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10', + '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', + '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20', + '\x00', '\x22', '\x00', '\x00', '\x25', '\x26', '\x27', '\x28', + '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30', + '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38', + '\x39', '\x00', '\x3b', '\x3c', '\x3d', '\x3e', '\x00', '\x00', + '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48', + '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50', + '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58', + '\x59', '\x5a', '\x00', '\x00', '\x00', '\x00', '\x00', '\x60', + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', + '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f', '\x70', + '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78', + '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x00', '\x7f', '\x24', + '\x23', '\x40', '\x00', '\x00', '\x00', '\x5c', '\x00', '\x00', + '\x5e', '\x00', '\x00', '\x21', '\x00', '\x3f', '\x00', '\x00', + '\x5f', '\x00', '\x00', '\x5d', '\x00', '\x3a', '\x5b', '\x7e', +}; diff --git a/iconvdata/latin-greek.c b/iconvdata/latin-greek.c new file mode 100644 index 0000000000..90270e0e07 --- /dev/null +++ b/iconvdata/latin-greek.c @@ -0,0 +1,24 @@ +/* Conversion from and to LATIN-GREEK. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <wchar.h> +#define TABLES <latin-greek.h> +#define NAME "LATIN-GREEK" +#include <8bit-gap.c> diff --git a/iconvdata/latin-greek.h b/iconvdata/latin-greek.h new file mode 100644 index 0000000000..6bc9a338de --- /dev/null +++ b/iconvdata/latin-greek.h @@ -0,0 +1,156 @@ +static const wchar_t to_ucs4[256] = { + [0x01] = 0x0001, + [0x02] = 0x0002, + [0x03] = 0x0003, + [0x04] = 0x0004, + [0x05] = 0x0005, + [0x06] = 0x0006, + [0x07] = 0x0007, + [0x08] = 0x0008, + [0x09] = 0x0009, + [0x0A] = 0x000A, + [0x0B] = 0x000B, + [0x0C] = 0x000C, + [0x0D] = 0x000D, + [0x0E] = 0x000E, + [0x0F] = 0x000F, + [0x10] = 0x0010, + [0x11] = 0x0011, + [0x12] = 0x0012, + [0x13] = 0x0013, + [0x14] = 0x0014, + [0x15] = 0x0015, + [0x16] = 0x0016, + [0x17] = 0x0017, + [0x18] = 0x0018, + [0x19] = 0x0019, + [0x1A] = 0x001A, + [0x1B] = 0x001B, + [0x1C] = 0x001C, + [0x1D] = 0x001D, + [0x1E] = 0x001E, + [0x1F] = 0x001F, + [0x20] = 0x0020, + [0x21] = 0x0021, + [0x22] = 0x0022, + [0x23] = 0x00A3, + [0x24] = 0x0024, + [0x25] = 0x0025, + [0x26] = 0x0026, + [0x27] = 0x0027, + [0x28] = 0x0028, + [0x29] = 0x0029, + [0x2A] = 0x002A, + [0x2B] = 0x002B, + [0x2C] = 0x002C, + [0x2D] = 0x002D, + [0x2E] = 0x002E, + [0x2F] = 0x002F, + [0x30] = 0x0030, + [0x31] = 0x0031, + [0x32] = 0x0032, + [0x33] = 0x0033, + [0x34] = 0x0034, + [0x35] = 0x0035, + [0x36] = 0x0036, + [0x37] = 0x0037, + [0x38] = 0x0038, + [0x39] = 0x0039, + [0x3A] = 0x003A, + [0x3B] = 0x003B, + [0x3C] = 0x003C, + [0x3D] = 0x003D, + [0x3E] = 0x003E, + [0x3F] = 0x003F, + [0x40] = 0x0040, + [0x41] = 0x0041, + [0x42] = 0x0042, + [0x43] = 0x0043, + [0x44] = 0x0044, + [0x45] = 0x0045, + [0x46] = 0x0046, + [0x47] = 0x0047, + [0x48] = 0x0048, + [0x49] = 0x0049, + [0x4A] = 0x004A, + [0x4B] = 0x004B, + [0x4C] = 0x004C, + [0x4D] = 0x004D, + [0x4E] = 0x004E, + [0x4F] = 0x004F, + [0x50] = 0x0050, + [0x51] = 0x0051, + [0x52] = 0x0052, + [0x53] = 0x0053, + [0x54] = 0x0054, + [0x55] = 0x0055, + [0x56] = 0x0056, + [0x57] = 0x0057, + [0x58] = 0x0058, + [0x59] = 0x0059, + [0x5A] = 0x005A, + [0x5B] = 0x005B, + [0x5C] = 0x005C, + [0x5D] = 0x005D, + [0x5E] = 0x005E, + [0x5F] = 0x005F, + [0x60] = 0x0060, + [0x61] = 0x0391, + [0x62] = 0x0392, + [0x63] = 0x03A8, + [0x64] = 0x0394, + [0x65] = 0x0395, + [0x66] = 0x03A6, + [0x67] = 0x0393, + [0x68] = 0x0397, + [0x69] = 0x0399, + [0x6A] = 0x039E, + [0x6B] = 0x039A, + [0x6C] = 0x039B, + [0x6D] = 0x039C, + [0x6E] = 0x039D, + [0x6F] = 0x039F, + [0x70] = 0x03A0, + [0x72] = 0x03A1, + [0x73] = 0x03A3, + [0x74] = 0x03A4, + [0x75] = 0x0398, + [0x76] = 0x03A9, + [0x77] = 0x00B7, + [0x78] = 0x03A7, + [0x79] = 0x03A5, + [0x7A] = 0x0396, + [0x7B] = 0x007B, + [0x7C] = 0x007C, + [0x7D] = 0x007D, + [0x7E] = 0x00A8, + [0x7F] = 0x007F, +}; +static struct gap from_idx[] = { + { start: 000000, end: 0x0060, idx: 0 }, + { start: 0x007b, end: 0x007f, idx: -26 }, + { start: 0x00a3, end: 0x00a8, idx: -61 }, + { start: 0x00b7, end: 0x00b7, idx: -75 }, + { start: 0x0391, end: 0x03a9, idx: -804 }, + { start: 0xffff, end: 0xffff, idx: 0 } +}; +static const char from_ucs4[] = { + + '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', + '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10', + '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', + '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20', + '\x21', '\x22', '\x00', '\x24', '\x25', '\x26', '\x27', '\x28', + '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30', + '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38', + '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f', '\x40', + '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48', + '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50', + '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58', + '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f', '\x60', + '\x7b', '\x7c', '\x7d', '\x00', '\x7f', '\x23', '\x00', '\x00', + '\x00', '\x00', '\x7e', '\x77', '\x61', '\x62', '\x67', '\x64', + '\x65', '\x7a', '\x68', '\x75', '\x69', '\x6b', '\x6c', '\x6d', + '\x6e', '\x6a', '\x6f', '\x70', '\x72', '\x00', '\x73', '\x74', + '\x79', '\x66', '\x78', '\x63', '\x76', +}; diff --git a/iconvdata/sjis.c b/iconvdata/sjis.c new file mode 100644 index 0000000000..df581a5230 --- /dev/null +++ b/iconvdata/sjis.c @@ -0,0 +1,4276 @@ +/* Mapping tables for SJIS handling. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <gconv.h> +#include <inttypes.h> +#include <stdlib.h> +#include <string.h> +#include <wchar.h> + +static const wchar_t halfkana_to_ucs4[] = +{ + 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67, 0xff68, + 0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f, 0xff70, + 0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77, 0xff78, + 0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f, 0xff80, + 0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87, 0xff88, + 0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f, 0xff90, + 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97, 0xff98, + 0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f +}; + + +/* The following table can be generated from the file + unix/mappings/eastasia/jis/shiftjis.txt + from the Unicode CD (also available on their FTP server) using + the command + + egrep '^0x8[01234][[:xdigit:]][[:xdigit:]]' \ + /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl + + where sjis.pl contains: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + while (<>) { + local($sjis, $ucs, %rest) = split; + $sjis = hex($sjis) - 0x8140; + local($sidx) = int($sjis / 256) * 192 + ($sjis % 256); + printf "\n " if (($n % 4) == 0); + ++$n; + printf " [%4d] = %s,", $sidx, $ucs; + } + print "\n"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +static const uint16_t cjk_block1[703] = +{ + [ 0] = 0x3000, [ 1] = 0x3001, [ 2] = 0x3002, [ 3] = 0xFF0C, + [ 4] = 0xFF0E, [ 5] = 0x30FB, [ 6] = 0xFF1A, [ 7] = 0xFF1B, + [ 8] = 0xFF1F, [ 9] = 0xFF01, [ 10] = 0x309B, [ 11] = 0x309C, + [ 12] = 0x00B4, [ 13] = 0xFF40, [ 14] = 0x00A8, [ 15] = 0xFF3E, + [ 16] = 0xFFE3, [ 17] = 0xFF3F, [ 18] = 0x30FD, [ 19] = 0x30FE, + [ 20] = 0x309D, [ 21] = 0x309E, [ 22] = 0x3003, [ 23] = 0x4EDD, + [ 24] = 0x3005, [ 25] = 0x3006, [ 26] = 0x3007, [ 27] = 0x30FC, + [ 28] = 0x2015, [ 29] = 0x2010, [ 30] = 0xFF0F, [ 31] = 0x005C, + [ 32] = 0x301C, [ 33] = 0x2016, [ 34] = 0xFF5C, [ 35] = 0x2026, + [ 36] = 0x2025, [ 37] = 0x2018, [ 38] = 0x2019, [ 39] = 0x201C, + [ 40] = 0x201D, [ 41] = 0xFF08, [ 42] = 0xFF09, [ 43] = 0x3014, + [ 44] = 0x3015, [ 45] = 0xFF3B, [ 46] = 0xFF3D, [ 47] = 0xFF5B, + [ 48] = 0xFF5D, [ 49] = 0x3008, [ 50] = 0x3009, [ 51] = 0x300A, + [ 52] = 0x300B, [ 53] = 0x300C, [ 54] = 0x300D, [ 55] = 0x300E, + [ 56] = 0x300F, [ 57] = 0x3010, [ 58] = 0x3011, [ 59] = 0xFF0B, + [ 60] = 0x2212, [ 61] = 0x00B1, [ 62] = 0x00D7, [ 64] = 0x00F7, + [ 65] = 0xFF1D, [ 66] = 0x2260, [ 67] = 0xFF1C, [ 68] = 0xFF1E, + [ 69] = 0x2266, [ 70] = 0x2267, [ 71] = 0x221E, [ 72] = 0x2234, + [ 73] = 0x2642, [ 74] = 0x2640, [ 75] = 0x00B0, [ 76] = 0x2032, + [ 77] = 0x2033, [ 78] = 0x2103, [ 79] = 0xFFE5, [ 80] = 0xFF04, + [ 81] = 0x00A2, [ 82] = 0x00A3, [ 83] = 0xFF05, [ 84] = 0xFF03, + [ 85] = 0xFF06, [ 86] = 0xFF0A, [ 87] = 0xFF20, [ 88] = 0x00A7, + [ 89] = 0x2606, [ 90] = 0x2605, [ 91] = 0x25CB, [ 92] = 0x25CF, + [ 93] = 0x25CE, [ 94] = 0x25C7, [ 95] = 0x25C6, [ 96] = 0x25A1, + [ 97] = 0x25A0, [ 98] = 0x25B3, [ 99] = 0x25B2, [100] = 0x25BD, + [101] = 0x25BC, [102] = 0x203B, [103] = 0x3012, [104] = 0x2192, + [105] = 0x2190, [106] = 0x2191, [107] = 0x2193, [108] = 0x3013, + [120] = 0x2208, [121] = 0x220B, [122] = 0x2286, [123] = 0x2287, + [124] = 0x2282, [125] = 0x2283, [126] = 0x222A, [127] = 0x2229, + [136] = 0x2227, [137] = 0x2228, [138] = 0x00AC, [139] = 0x21D2, + [140] = 0x21D4, [141] = 0x2200, [142] = 0x2203, [154] = 0x2220, + [155] = 0x22A5, [156] = 0x2312, [157] = 0x2202, [158] = 0x2207, + [159] = 0x2261, [160] = 0x2252, [161] = 0x226A, [162] = 0x226B, + [163] = 0x221A, [164] = 0x223D, [165] = 0x221D, [166] = 0x2235, + [167] = 0x222B, [168] = 0x222C, [176] = 0x212B, [177] = 0x2030, + [178] = 0x266F, [179] = 0x266D, [180] = 0x266A, [181] = 0x2020, + [182] = 0x2021, [183] = 0x00B6, [188] = 0x25EF, [207] = 0xFF10, + [208] = 0xFF11, [209] = 0xFF12, [210] = 0xFF13, [211] = 0xFF14, + [212] = 0xFF15, [213] = 0xFF16, [214] = 0xFF17, [215] = 0xFF18, + [216] = 0xFF19, [224] = 0xFF21, [225] = 0xFF22, [226] = 0xFF23, + [227] = 0xFF24, [228] = 0xFF25, [229] = 0xFF26, [230] = 0xFF27, + [231] = 0xFF28, [232] = 0xFF29, [233] = 0xFF2A, [234] = 0xFF2B, + [235] = 0xFF2C, [236] = 0xFF2D, [237] = 0xFF2E, [238] = 0xFF2F, + [239] = 0xFF30, [240] = 0xFF31, [241] = 0xFF32, [242] = 0xFF33, + [243] = 0xFF34, [244] = 0xFF35, [245] = 0xFF36, [246] = 0xFF37, + [247] = 0xFF38, [248] = 0xFF39, [249] = 0xFF3A, [257] = 0xFF41, + [258] = 0xFF42, [259] = 0xFF43, [260] = 0xFF44, [261] = 0xFF45, + [262] = 0xFF46, [263] = 0xFF47, [264] = 0xFF48, [265] = 0xFF49, + [266] = 0xFF4A, [267] = 0xFF4B, [268] = 0xFF4C, [269] = 0xFF4D, + [270] = 0xFF4E, [271] = 0xFF4F, [272] = 0xFF50, [273] = 0xFF51, + [274] = 0xFF52, [275] = 0xFF53, [276] = 0xFF54, [277] = 0xFF55, + [278] = 0xFF56, [279] = 0xFF57, [280] = 0xFF58, [281] = 0xFF59, + [282] = 0xFF5A, [287] = 0x3041, [288] = 0x3042, [289] = 0x3043, + [290] = 0x3044, [291] = 0x3045, [292] = 0x3046, [293] = 0x3047, + [294] = 0x3048, [295] = 0x3049, [296] = 0x304A, [297] = 0x304B, + [298] = 0x304C, [299] = 0x304D, [300] = 0x304E, [301] = 0x304F, + [302] = 0x3050, [303] = 0x3051, [304] = 0x3052, [305] = 0x3053, + [306] = 0x3054, [307] = 0x3055, [308] = 0x3056, [309] = 0x3057, + [310] = 0x3058, [311] = 0x3059, [312] = 0x305A, [313] = 0x305B, + [314] = 0x305C, [315] = 0x305D, [316] = 0x305E, [317] = 0x305F, + [318] = 0x3060, [319] = 0x3061, [320] = 0x3062, [321] = 0x3063, + [322] = 0x3064, [323] = 0x3065, [324] = 0x3066, [325] = 0x3067, + [326] = 0x3068, [327] = 0x3069, [328] = 0x306A, [329] = 0x306B, + [330] = 0x306C, [331] = 0x306D, [332] = 0x306E, [333] = 0x306F, + [334] = 0x3070, [335] = 0x3071, [336] = 0x3072, [337] = 0x3073, + [338] = 0x3074, [339] = 0x3075, [340] = 0x3076, [341] = 0x3077, + [342] = 0x3078, [343] = 0x3079, [344] = 0x307A, [345] = 0x307B, + [346] = 0x307C, [347] = 0x307D, [348] = 0x307E, [349] = 0x307F, + [350] = 0x3080, [351] = 0x3081, [352] = 0x3082, [353] = 0x3083, + [354] = 0x3084, [355] = 0x3085, [356] = 0x3086, [357] = 0x3087, + [358] = 0x3088, [359] = 0x3089, [360] = 0x308A, [361] = 0x308B, + [362] = 0x308C, [363] = 0x308D, [364] = 0x308E, [365] = 0x308F, + [366] = 0x3090, [367] = 0x3091, [368] = 0x3092, [369] = 0x3093, + [384] = 0x30A1, [385] = 0x30A2, [386] = 0x30A3, [387] = 0x30A4, + [388] = 0x30A5, [389] = 0x30A6, [390] = 0x30A7, [391] = 0x30A8, + [392] = 0x30A9, [393] = 0x30AA, [394] = 0x30AB, [395] = 0x30AC, + [396] = 0x30AD, [397] = 0x30AE, [398] = 0x30AF, [399] = 0x30B0, + [400] = 0x30B1, [401] = 0x30B2, [402] = 0x30B3, [403] = 0x30B4, + [404] = 0x30B5, [405] = 0x30B6, [406] = 0x30B7, [407] = 0x30B8, + [408] = 0x30B9, [409] = 0x30BA, [410] = 0x30BB, [411] = 0x30BC, + [412] = 0x30BD, [413] = 0x30BE, [414] = 0x30BF, [415] = 0x30C0, + [416] = 0x30C1, [417] = 0x30C2, [418] = 0x30C3, [419] = 0x30C4, + [420] = 0x30C5, [421] = 0x30C6, [422] = 0x30C7, [423] = 0x30C8, + [424] = 0x30C9, [425] = 0x30CA, [426] = 0x30CB, [427] = 0x30CC, + [428] = 0x30CD, [429] = 0x30CE, [430] = 0x30CF, [431] = 0x30D0, + [432] = 0x30D1, [433] = 0x30D2, [434] = 0x30D3, [435] = 0x30D4, + [436] = 0x30D5, [437] = 0x30D6, [438] = 0x30D7, [439] = 0x30D8, + [440] = 0x30D9, [441] = 0x30DA, [442] = 0x30DB, [443] = 0x30DC, + [444] = 0x30DD, [445] = 0x30DE, [446] = 0x30DF, [448] = 0x30E0, + [449] = 0x30E1, [450] = 0x30E2, [451] = 0x30E3, [452] = 0x30E4, + [453] = 0x30E5, [454] = 0x30E6, [455] = 0x30E7, [456] = 0x30E8, + [457] = 0x30E9, [458] = 0x30EA, [459] = 0x30EB, [460] = 0x30EC, + [461] = 0x30ED, [462] = 0x30EE, [463] = 0x30EF, [464] = 0x30F0, + [465] = 0x30F1, [466] = 0x30F2, [467] = 0x30F3, [468] = 0x30F4, + [469] = 0x30F5, [470] = 0x30F6, [479] = 0x0391, [480] = 0x0392, + [481] = 0x0393, [482] = 0x0394, [483] = 0x0395, [484] = 0x0396, + [485] = 0x0397, [486] = 0x0398, [487] = 0x0399, [488] = 0x039A, + [489] = 0x039B, [490] = 0x039C, [491] = 0x039D, [492] = 0x039E, + [493] = 0x039F, [494] = 0x03A0, [495] = 0x03A1, [496] = 0x03A3, + [497] = 0x03A4, [498] = 0x03A5, [499] = 0x03A6, [500] = 0x03A7, + [501] = 0x03A8, [502] = 0x03A9, [511] = 0x03B1, [512] = 0x03B2, + [513] = 0x03B3, [514] = 0x03B4, [515] = 0x03B5, [516] = 0x03B6, + [517] = 0x03B7, [518] = 0x03B8, [519] = 0x03B9, [520] = 0x03BA, + [521] = 0x03BB, [522] = 0x03BC, [523] = 0x03BD, [524] = 0x03BE, + [525] = 0x03BF, [526] = 0x03C0, [527] = 0x03C1, [528] = 0x03C3, + [529] = 0x03C4, [530] = 0x03C5, [531] = 0x03C6, [532] = 0x03C7, + [533] = 0x03C8, [534] = 0x03C9, [576] = 0x0410, [577] = 0x0411, + [578] = 0x0412, [579] = 0x0413, [580] = 0x0414, [581] = 0x0415, + [582] = 0x0401, [583] = 0x0416, [584] = 0x0417, [585] = 0x0418, + [586] = 0x0419, [587] = 0x041A, [588] = 0x041B, [589] = 0x041C, + [590] = 0x041D, [591] = 0x041E, [592] = 0x041F, [593] = 0x0420, + [594] = 0x0421, [595] = 0x0422, [596] = 0x0423, [597] = 0x0424, + [598] = 0x0425, [599] = 0x0426, [600] = 0x0427, [601] = 0x0428, + [602] = 0x0429, [603] = 0x042A, [604] = 0x042B, [605] = 0x042C, + [606] = 0x042D, [607] = 0x042E, [608] = 0x042F, [624] = 0x0430, + [625] = 0x0431, [626] = 0x0432, [627] = 0x0433, [628] = 0x0434, + [629] = 0x0435, [630] = 0x0451, [631] = 0x0436, [632] = 0x0437, + [633] = 0x0438, [634] = 0x0439, [635] = 0x043A, [636] = 0x043B, + [637] = 0x043C, [638] = 0x043D, [640] = 0x043E, [641] = 0x043F, + [642] = 0x0440, [643] = 0x0441, [644] = 0x0442, [645] = 0x0443, + [646] = 0x0444, [647] = 0x0445, [648] = 0x0446, [649] = 0x0447, + [650] = 0x0448, [651] = 0x0449, [652] = 0x044A, [653] = 0x044B, + [654] = 0x044C, [655] = 0x044D, [656] = 0x044E, [657] = 0x044F, + [671] = 0x2500, [672] = 0x2502, [673] = 0x250C, [674] = 0x2510, + [675] = 0x2518, [676] = 0x2514, [677] = 0x251C, [678] = 0x252C, + [679] = 0x2524, [680] = 0x2534, [681] = 0x253C, [682] = 0x2501, + [683] = 0x2503, [684] = 0x250F, [685] = 0x2513, [686] = 0x251B, + [687] = 0x2517, [688] = 0x2523, [689] = 0x2533, [690] = 0x252B, + [691] = 0x253B, [692] = 0x254B, [693] = 0x2520, [694] = 0x252F, + [695] = 0x2528, [696] = 0x2537, [697] = 0x253F, [698] = 0x251D, + [699] = 0x2530, [700] = 0x2525, [701] = 0x2538, [702] = 0x2542 +}; + + +/* The following table can be generated from the file + unix/mappings/eastasia/jis/shiftjis.txt + from the Unicode CD (also available on their FTP server) using + the command + + egrep '^0x8[89][[:xdigit:]][[:xdigit:]]' \ + /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl + + where sjis.pl contains: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + while (<>) { + local($sjis, $ucs, %rest) = split; + $sjis = hex($sjis) - 0x8840; + local($sidx) = int($sjis / 256) * 192 + ($sjis % 256) - 0x5f; + printf "\n " if (($n % 4) == 0); + ++$n; + printf " [%3d] = %s,", $sidx, $ucs; + } + print "\n"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const uint16_t cjk_block2[286] = +{ + [ 0] = 0x4E9C, [ 1] = 0x5516, [ 2] = 0x5A03, [ 3] = 0x963F, + [ 4] = 0x54C0, [ 5] = 0x611B, [ 6] = 0x6328, [ 7] = 0x59F6, + [ 8] = 0x9022, [ 9] = 0x8475, [ 10] = 0x831C, [ 11] = 0x7A50, + [ 12] = 0x60AA, [ 13] = 0x63E1, [ 14] = 0x6E25, [ 15] = 0x65ED, + [ 16] = 0x8466, [ 17] = 0x82A6, [ 18] = 0x9BF5, [ 19] = 0x6893, + [ 20] = 0x5727, [ 21] = 0x65A1, [ 22] = 0x6271, [ 23] = 0x5B9B, + [ 24] = 0x59D0, [ 25] = 0x867B, [ 26] = 0x98F4, [ 27] = 0x7D62, + [ 28] = 0x7DBE, [ 29] = 0x9B8E, [ 30] = 0x6216, [ 31] = 0x7C9F, + [ 32] = 0x88B7, [ 33] = 0x5B89, [ 34] = 0x5EB5, [ 35] = 0x6309, + [ 36] = 0x6697, [ 37] = 0x6848, [ 38] = 0x95C7, [ 39] = 0x978D, + [ 40] = 0x674F, [ 41] = 0x4EE5, [ 42] = 0x4F0A, [ 43] = 0x4F4D, + [ 44] = 0x4F9D, [ 45] = 0x5049, [ 46] = 0x56F2, [ 47] = 0x5937, + [ 48] = 0x59D4, [ 49] = 0x5A01, [ 50] = 0x5C09, [ 51] = 0x60DF, + [ 52] = 0x610F, [ 53] = 0x6170, [ 54] = 0x6613, [ 55] = 0x6905, + [ 56] = 0x70BA, [ 57] = 0x754F, [ 58] = 0x7570, [ 59] = 0x79FB, + [ 60] = 0x7DAD, [ 61] = 0x7DEF, [ 62] = 0x80C3, [ 63] = 0x840E, + [ 64] = 0x8863, [ 65] = 0x8B02, [ 66] = 0x9055, [ 67] = 0x907A, + [ 68] = 0x533B, [ 69] = 0x4E95, [ 70] = 0x4EA5, [ 71] = 0x57DF, + [ 72] = 0x80B2, [ 73] = 0x90C1, [ 74] = 0x78EF, [ 75] = 0x4E00, + [ 76] = 0x58F1, [ 77] = 0x6EA2, [ 78] = 0x9038, [ 79] = 0x7A32, + [ 80] = 0x8328, [ 81] = 0x828B, [ 82] = 0x9C2F, [ 83] = 0x5141, + [ 84] = 0x5370, [ 85] = 0x54BD, [ 86] = 0x54E1, [ 87] = 0x56E0, + [ 88] = 0x59FB, [ 89] = 0x5F15, [ 90] = 0x98F2, [ 91] = 0x6DEB, + [ 92] = 0x80E4, [ 93] = 0x852D, [ 97] = 0x9662, [ 98] = 0x9670, + [ 99] = 0x96A0, [100] = 0x97FB, [101] = 0x540B, [102] = 0x53F3, + [103] = 0x5B87, [104] = 0x70CF, [105] = 0x7FBD, [106] = 0x8FC2, + [107] = 0x96E8, [108] = 0x536F, [109] = 0x9D5C, [110] = 0x7ABA, + [111] = 0x4E11, [112] = 0x7893, [113] = 0x81FC, [114] = 0x6E26, + [115] = 0x5618, [116] = 0x5504, [117] = 0x6B1D, [118] = 0x851A, + [119] = 0x9C3B, [120] = 0x59E5, [121] = 0x53A9, [122] = 0x6D66, + [123] = 0x74DC, [124] = 0x958F, [125] = 0x5642, [126] = 0x4E91, + [127] = 0x904B, [128] = 0x96F2, [129] = 0x834F, [130] = 0x990C, + [131] = 0x53E1, [132] = 0x55B6, [133] = 0x5B30, [134] = 0x5F71, + [135] = 0x6620, [136] = 0x66F3, [137] = 0x6804, [138] = 0x6C38, + [139] = 0x6CF3, [140] = 0x6D29, [141] = 0x745B, [142] = 0x76C8, + [143] = 0x7A4E, [144] = 0x9834, [145] = 0x82F1, [146] = 0x885B, + [147] = 0x8A60, [148] = 0x92ED, [149] = 0x6DB2, [150] = 0x75AB, + [151] = 0x76CA, [152] = 0x99C5, [153] = 0x60A6, [154] = 0x8B01, + [155] = 0x8D8A, [156] = 0x95B2, [157] = 0x698E, [158] = 0x53AD, + [159] = 0x5186, [161] = 0x5712, [162] = 0x5830, [163] = 0x5944, + [164] = 0x5BB4, [165] = 0x5EF6, [166] = 0x6028, [167] = 0x63A9, + [168] = 0x63F4, [169] = 0x6CBF, [170] = 0x6F14, [171] = 0x708E, + [172] = 0x7114, [173] = 0x7159, [174] = 0x71D5, [175] = 0x733F, + [176] = 0x7E01, [177] = 0x8276, [178] = 0x82D1, [179] = 0x8597, + [180] = 0x9060, [181] = 0x925B, [182] = 0x9D1B, [183] = 0x5869, + [184] = 0x65BC, [185] = 0x6C5A, [186] = 0x7525, [187] = 0x51F9, + [188] = 0x592E, [189] = 0x5965, [190] = 0x5F80, [191] = 0x5FDC, + [192] = 0x62BC, [193] = 0x65FA, [194] = 0x6A2A, [195] = 0x6B27, + [196] = 0x6BB4, [197] = 0x738B, [198] = 0x7FC1, [199] = 0x8956, + [200] = 0x9D2C, [201] = 0x9D0E, [202] = 0x9EC4, [203] = 0x5CA1, + [204] = 0x6C96, [205] = 0x837B, [206] = 0x5104, [207] = 0x5C4B, + [208] = 0x61B6, [209] = 0x81C6, [210] = 0x6876, [211] = 0x7261, + [212] = 0x4E59, [213] = 0x4FFA, [214] = 0x5378, [215] = 0x6069, + [216] = 0x6E29, [217] = 0x7A4F, [218] = 0x97F3, [219] = 0x4E0B, + [220] = 0x5316, [221] = 0x4EEE, [222] = 0x4F55, [223] = 0x4F3D, + [224] = 0x4FA1, [225] = 0x4F73, [226] = 0x52A0, [227] = 0x53EF, + [228] = 0x5609, [229] = 0x590F, [230] = 0x5AC1, [231] = 0x5BB6, + [232] = 0x5BE1, [233] = 0x79D1, [234] = 0x6687, [235] = 0x679C, + [236] = 0x67B6, [237] = 0x6B4C, [238] = 0x6CB3, [239] = 0x706B, + [240] = 0x73C2, [241] = 0x798D, [242] = 0x79BE, [243] = 0x7A3C, + [244] = 0x7B87, [245] = 0x82B1, [246] = 0x82DB, [247] = 0x8304, + [248] = 0x8377, [249] = 0x83EF, [250] = 0x83D3, [251] = 0x8766, + [252] = 0x8AB2, [253] = 0x5629, [254] = 0x8CA8, [255] = 0x8FE6, + [256] = 0x904E, [257] = 0x971E, [258] = 0x868A, [259] = 0x4FC4, + [260] = 0x5CE8, [261] = 0x6211, [262] = 0x7259, [263] = 0x753B, + [264] = 0x81E5, [265] = 0x82BD, [266] = 0x86FE, [267] = 0x8CC0, + [268] = 0x96C5, [269] = 0x9913, [270] = 0x99D5, [271] = 0x4ECB, + [272] = 0x4F1A, [273] = 0x89E3, [274] = 0x56DE, [275] = 0x584A, + [276] = 0x58CA, [277] = 0x5EFB, [278] = 0x5FEB, [279] = 0x602A, + [280] = 0x6094, [281] = 0x6062, [282] = 0x61D0, [283] = 0x6212, + [284] = 0x62D0, [285] = 0x6539 +}; + + +/* The following table can be generated from the file + unix/mappings/eastasia/jis/shiftjis.txt + from the Unicode CD (also available on their FTP server) using + the command + + egrep '^0x8[89][[:xdigit:]][[:xdigit:]]' \ + /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl + + where sjis.pl contains: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + while (<>) { + local($sjis, $ucs, %rest) = split; + $sjis = hex($sjis) - 0x9040; + local($sidx) = int($sjis / 256) * 192 + ($sjis % 256) - 0x5f; + printf "\n " if (($n % 4) == 0); + ++$n; + printf " [%4d] = %s,", $sidx, $ucs; + } + print "\n"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const uint16_t cjk_block3[3069] = +{ + [ 0] = 0x62ED, [ 1] = 0x690D, [ 2] = 0x6B96, [ 3] = 0x71ED, + [ 4] = 0x7E54, [ 5] = 0x8077, [ 6] = 0x8272, [ 7] = 0x89E6, + [ 8] = 0x98DF, [ 9] = 0x8755, [ 10] = 0x8FB1, [ 11] = 0x5C3B, + [ 12] = 0x4F38, [ 13] = 0x4FE1, [ 14] = 0x4FB5, [ 15] = 0x5507, + [ 16] = 0x5A20, [ 17] = 0x5BDD, [ 18] = 0x5BE9, [ 19] = 0x5FC3, + [ 20] = 0x614E, [ 21] = 0x632F, [ 22] = 0x65B0, [ 23] = 0x664B, + [ 24] = 0x68EE, [ 25] = 0x699B, [ 26] = 0x6D78, [ 27] = 0x6DF1, + [ 28] = 0x7533, [ 29] = 0x75B9, [ 30] = 0x771F, [ 31] = 0x795E, + [ 32] = 0x79E6, [ 33] = 0x7D33, [ 34] = 0x81E3, [ 35] = 0x82AF, + [ 36] = 0x85AA, [ 37] = 0x89AA, [ 38] = 0x8A3A, [ 39] = 0x8EAB, + [ 40] = 0x8F9B, [ 41] = 0x9032, [ 42] = 0x91DD, [ 43] = 0x9707, + [ 44] = 0x4EBA, [ 45] = 0x4EC1, [ 46] = 0x5203, [ 47] = 0x5875, + [ 48] = 0x58EC, [ 49] = 0x5C0B, [ 50] = 0x751A, [ 51] = 0x5C3D, + [ 52] = 0x814E, [ 53] = 0x8A0A, [ 54] = 0x8FC5, [ 55] = 0x9663, + [ 56] = 0x976D, [ 57] = 0x7B25, [ 58] = 0x8ACF, [ 59] = 0x9808, + [ 60] = 0x9162, [ 61] = 0x56F3, [ 62] = 0x53A8, [ 64] = 0x9017, + [ 65] = 0x5439, [ 66] = 0x5782, [ 67] = 0x5E25, [ 68] = 0x63A8, + [ 69] = 0x6C34, [ 70] = 0x708A, [ 71] = 0x7761, [ 72] = 0x7C8B, + [ 73] = 0x7FE0, [ 74] = 0x8870, [ 75] = 0x9042, [ 76] = 0x9154, + [ 77] = 0x9310, [ 78] = 0x9318, [ 79] = 0x968F, [ 80] = 0x745E, + [ 81] = 0x9AC4, [ 82] = 0x5D07, [ 83] = 0x5D69, [ 84] = 0x6570, + [ 85] = 0x67A2, [ 86] = 0x8DA8, [ 87] = 0x96DB, [ 88] = 0x636E, + [ 89] = 0x6749, [ 90] = 0x6919, [ 91] = 0x83C5, [ 92] = 0x9817, + [ 93] = 0x96C0, [ 94] = 0x88FE, [ 95] = 0x6F84, [ 96] = 0x647A, + [ 97] = 0x5BF8, [ 98] = 0x4E16, [ 99] = 0x702C, [ 100] = 0x755D, + [ 101] = 0x662F, [ 102] = 0x51C4, [ 103] = 0x5236, [ 104] = 0x52E2, + [ 105] = 0x59D3, [ 106] = 0x5F81, [ 107] = 0x6027, [ 108] = 0x6210, + [ 109] = 0x653F, [ 110] = 0x6574, [ 111] = 0x661F, [ 112] = 0x6674, + [ 113] = 0x68F2, [ 114] = 0x6816, [ 115] = 0x6B63, [ 116] = 0x6E05, + [ 117] = 0x7272, [ 118] = 0x751F, [ 119] = 0x76DB, [ 120] = 0x7CBE, + [ 121] = 0x8056, [ 122] = 0x58F0, [ 123] = 0x88FD, [ 124] = 0x897F, + [ 125] = 0x8AA0, [ 126] = 0x8A93, [ 127] = 0x8ACB, [ 128] = 0x901D, + [ 129] = 0x9192, [ 130] = 0x9752, [ 131] = 0x9759, [ 132] = 0x6589, + [ 133] = 0x7A0E, [ 134] = 0x8106, [ 135] = 0x96BB, [ 136] = 0x5E2D, + [ 137] = 0x60DC, [ 138] = 0x621A, [ 139] = 0x65A5, [ 140] = 0x6614, + [ 141] = 0x6790, [ 142] = 0x77F3, [ 143] = 0x7A4D, [ 144] = 0x7C4D, + [ 145] = 0x7E3E, [ 146] = 0x810A, [ 147] = 0x8CAC, [ 148] = 0x8D64, + [ 149] = 0x8DE1, [ 150] = 0x8E5F, [ 151] = 0x78A9, [ 152] = 0x5207, + [ 153] = 0x62D9, [ 154] = 0x63A5, [ 155] = 0x6442, [ 156] = 0x6298, + [ 157] = 0x8A2D, [ 158] = 0x7A83, [ 159] = 0x7BC0, [ 160] = 0x8AAC, + [ 161] = 0x96EA, [ 162] = 0x7D76, [ 163] = 0x820C, [ 164] = 0x8749, + [ 165] = 0x4ED9, [ 166] = 0x5148, [ 167] = 0x5343, [ 168] = 0x5360, + [ 169] = 0x5BA3, [ 170] = 0x5C02, [ 171] = 0x5C16, [ 172] = 0x5DDD, + [ 173] = 0x6226, [ 174] = 0x6247, [ 175] = 0x64B0, [ 176] = 0x6813, + [ 177] = 0x6834, [ 178] = 0x6CC9, [ 179] = 0x6D45, [ 180] = 0x6D17, + [ 181] = 0x67D3, [ 182] = 0x6F5C, [ 183] = 0x714E, [ 184] = 0x717D, + [ 185] = 0x65CB, [ 186] = 0x7A7F, [ 187] = 0x7BAD, [ 188] = 0x7DDA, + [ 192] = 0x7E4A, [ 193] = 0x7FA8, [ 194] = 0x817A, [ 195] = 0x821B, + [ 196] = 0x8239, [ 197] = 0x85A6, [ 198] = 0x8A6E, [ 199] = 0x8CCE, + [ 200] = 0x8DF5, [ 201] = 0x9078, [ 202] = 0x9077, [ 203] = 0x92AD, + [ 204] = 0x9291, [ 205] = 0x9583, [ 206] = 0x9BAE, [ 207] = 0x524D, + [ 208] = 0x5584, [ 209] = 0x6F38, [ 210] = 0x7136, [ 211] = 0x5168, + [ 212] = 0x7985, [ 213] = 0x7E55, [ 214] = 0x81B3, [ 215] = 0x7CCE, + [ 216] = 0x564C, [ 217] = 0x5851, [ 218] = 0x5CA8, [ 219] = 0x63AA, + [ 220] = 0x66FE, [ 221] = 0x66FD, [ 222] = 0x695A, [ 223] = 0x72D9, + [ 224] = 0x758F, [ 225] = 0x758E, [ 226] = 0x790E, [ 227] = 0x7956, + [ 228] = 0x79DF, [ 229] = 0x7C97, [ 230] = 0x7D20, [ 231] = 0x7D44, + [ 232] = 0x8607, [ 233] = 0x8A34, [ 234] = 0x963B, [ 235] = 0x9061, + [ 236] = 0x9F20, [ 237] = 0x50E7, [ 238] = 0x5275, [ 239] = 0x53CC, + [ 240] = 0x53E2, [ 241] = 0x5009, [ 242] = 0x55AA, [ 243] = 0x58EE, + [ 244] = 0x594F, [ 245] = 0x723D, [ 246] = 0x5B8B, [ 247] = 0x5C64, + [ 248] = 0x531D, [ 249] = 0x60E3, [ 250] = 0x60F3, [ 251] = 0x635C, + [ 252] = 0x6383, [ 253] = 0x633F, [ 254] = 0x63BB, [ 256] = 0x64CD, + [ 257] = 0x65E9, [ 258] = 0x66F9, [ 259] = 0x5DE3, [ 260] = 0x69CD, + [ 261] = 0x69FD, [ 262] = 0x6F15, [ 263] = 0x71E5, [ 264] = 0x4E89, + [ 265] = 0x75E9, [ 266] = 0x76F8, [ 267] = 0x7A93, [ 268] = 0x7CDF, + [ 269] = 0x7DCF, [ 270] = 0x7D9C, [ 271] = 0x8061, [ 272] = 0x8349, + [ 273] = 0x8358, [ 274] = 0x846C, [ 275] = 0x84BC, [ 276] = 0x85FB, + [ 277] = 0x88C5, [ 278] = 0x8D70, [ 279] = 0x9001, [ 280] = 0x906D, + [ 281] = 0x9397, [ 282] = 0x971C, [ 283] = 0x9A12, [ 284] = 0x50CF, + [ 285] = 0x5897, [ 286] = 0x618E, [ 287] = 0x81D3, [ 288] = 0x8535, + [ 289] = 0x8D08, [ 290] = 0x9020, [ 291] = 0x4FC3, [ 292] = 0x5074, + [ 293] = 0x5247, [ 294] = 0x5373, [ 295] = 0x606F, [ 296] = 0x6349, + [ 297] = 0x675F, [ 298] = 0x6E2C, [ 299] = 0x8DB3, [ 300] = 0x901F, + [ 301] = 0x4FD7, [ 302] = 0x5C5E, [ 303] = 0x8CCA, [ 304] = 0x65CF, + [ 305] = 0x7D9A, [ 306] = 0x5352, [ 307] = 0x8896, [ 308] = 0x5176, + [ 309] = 0x63C3, [ 310] = 0x5B58, [ 311] = 0x5B6B, [ 312] = 0x5C0A, + [ 313] = 0x640D, [ 314] = 0x6751, [ 315] = 0x905C, [ 316] = 0x4ED6, + [ 317] = 0x591A, [ 318] = 0x592A, [ 319] = 0x6C70, [ 320] = 0x8A51, + [ 321] = 0x553E, [ 322] = 0x5815, [ 323] = 0x59A5, [ 324] = 0x60F0, + [ 325] = 0x6253, [ 326] = 0x67C1, [ 327] = 0x8235, [ 328] = 0x6955, + [ 329] = 0x9640, [ 330] = 0x99C4, [ 331] = 0x9A28, [ 332] = 0x4F53, + [ 333] = 0x5806, [ 334] = 0x5BFE, [ 335] = 0x8010, [ 336] = 0x5CB1, + [ 337] = 0x5E2F, [ 338] = 0x5F85, [ 339] = 0x6020, [ 340] = 0x614B, + [ 341] = 0x6234, [ 342] = 0x66FF, [ 343] = 0x6CF0, [ 344] = 0x6EDE, + [ 345] = 0x80CE, [ 346] = 0x817F, [ 347] = 0x82D4, [ 348] = 0x888B, + [ 349] = 0x8CB8, [ 350] = 0x9000, [ 351] = 0x902E, [ 352] = 0x968A, + [ 353] = 0x9EDB, [ 354] = 0x9BDB, [ 355] = 0x4EE3, [ 356] = 0x53F0, + [ 357] = 0x5927, [ 358] = 0x7B2C, [ 359] = 0x918D, [ 360] = 0x984C, + [ 361] = 0x9DF9, [ 362] = 0x6EDD, [ 363] = 0x7027, [ 364] = 0x5353, + [ 365] = 0x5544, [ 366] = 0x5B85, [ 367] = 0x6258, [ 368] = 0x629E, + [ 369] = 0x62D3, [ 370] = 0x6CA2, [ 371] = 0x6FEF, [ 372] = 0x7422, + [ 373] = 0x8A17, [ 374] = 0x9438, [ 375] = 0x6FC1, [ 376] = 0x8AFE, + [ 377] = 0x8338, [ 378] = 0x51E7, [ 379] = 0x86F8, [ 380] = 0x53EA, + [ 384] = 0x53E9, [ 385] = 0x4F46, [ 386] = 0x9054, [ 387] = 0x8FB0, + [ 388] = 0x596A, [ 389] = 0x8131, [ 390] = 0x5DFD, [ 391] = 0x7AEA, + [ 392] = 0x8FBF, [ 393] = 0x68DA, [ 394] = 0x8C37, [ 395] = 0x72F8, + [ 396] = 0x9C48, [ 397] = 0x6A3D, [ 398] = 0x8AB0, [ 399] = 0x4E39, + [ 400] = 0x5358, [ 401] = 0x5606, [ 402] = 0x5766, [ 403] = 0x62C5, + [ 404] = 0x63A2, [ 405] = 0x65E6, [ 406] = 0x6B4E, [ 407] = 0x6DE1, + [ 408] = 0x6E5B, [ 409] = 0x70AD, [ 410] = 0x77ED, [ 411] = 0x7AEF, + [ 412] = 0x7BAA, [ 413] = 0x7DBB, [ 414] = 0x803D, [ 415] = 0x80C6, + [ 416] = 0x86CB, [ 417] = 0x8A95, [ 418] = 0x935B, [ 419] = 0x56E3, + [ 420] = 0x58C7, [ 421] = 0x5F3E, [ 422] = 0x65AD, [ 423] = 0x6696, + [ 424] = 0x6A80, [ 425] = 0x6BB5, [ 426] = 0x7537, [ 427] = 0x8AC7, + [ 428] = 0x5024, [ 429] = 0x77E5, [ 430] = 0x5730, [ 431] = 0x5F1B, + [ 432] = 0x6065, [ 433] = 0x667A, [ 434] = 0x6C60, [ 435] = 0x75F4, + [ 436] = 0x7A1A, [ 437] = 0x7F6E, [ 438] = 0x81F4, [ 439] = 0x8718, + [ 440] = 0x9045, [ 441] = 0x99B3, [ 442] = 0x7BC9, [ 443] = 0x755C, + [ 444] = 0x7AF9, [ 445] = 0x7B51, [ 446] = 0x84C4, [ 448] = 0x9010, + [ 449] = 0x79E9, [ 450] = 0x7A92, [ 451] = 0x8336, [ 452] = 0x5AE1, + [ 453] = 0x7740, [ 454] = 0x4E2D, [ 455] = 0x4EF2, [ 456] = 0x5B99, + [ 457] = 0x5FE0, [ 458] = 0x62BD, [ 459] = 0x663C, [ 460] = 0x67F1, + [ 461] = 0x6CE8, [ 462] = 0x866B, [ 463] = 0x8877, [ 464] = 0x8A3B, + [ 465] = 0x914E, [ 466] = 0x92F3, [ 467] = 0x99D0, [ 468] = 0x6A17, + [ 469] = 0x7026, [ 470] = 0x732A, [ 471] = 0x82E7, [ 472] = 0x8457, + [ 473] = 0x8CAF, [ 474] = 0x4E01, [ 475] = 0x5146, [ 476] = 0x51CB, + [ 477] = 0x558B, [ 478] = 0x5BF5, [ 479] = 0x5E16, [ 480] = 0x5E33, + [ 481] = 0x5E81, [ 482] = 0x5F14, [ 483] = 0x5F35, [ 484] = 0x5F6B, + [ 485] = 0x5FB4, [ 486] = 0x61F2, [ 487] = 0x6311, [ 488] = 0x66A2, + [ 489] = 0x671D, [ 490] = 0x6F6E, [ 491] = 0x7252, [ 492] = 0x753A, + [ 493] = 0x773A, [ 494] = 0x8074, [ 495] = 0x8139, [ 496] = 0x8178, + [ 497] = 0x8776, [ 498] = 0x8ABF, [ 499] = 0x8ADC, [ 500] = 0x8D85, + [ 501] = 0x8DF3, [ 502] = 0x929A, [ 503] = 0x9577, [ 504] = 0x9802, + [ 505] = 0x9CE5, [ 506] = 0x52C5, [ 507] = 0x6357, [ 508] = 0x76F4, + [ 509] = 0x6715, [ 510] = 0x6C88, [ 511] = 0x73CD, [ 512] = 0x8CC3, + [ 513] = 0x93AE, [ 514] = 0x9673, [ 515] = 0x6D25, [ 516] = 0x589C, + [ 517] = 0x690E, [ 518] = 0x69CC, [ 519] = 0x8FFD, [ 520] = 0x939A, + [ 521] = 0x75DB, [ 522] = 0x901A, [ 523] = 0x585A, [ 524] = 0x6802, + [ 525] = 0x63B4, [ 526] = 0x69FB, [ 527] = 0x4F43, [ 528] = 0x6F2C, + [ 529] = 0x67D8, [ 530] = 0x8FBB, [ 531] = 0x8526, [ 532] = 0x7DB4, + [ 533] = 0x9354, [ 534] = 0x693F, [ 535] = 0x6F70, [ 536] = 0x576A, + [ 537] = 0x58F7, [ 538] = 0x5B2C, [ 539] = 0x7D2C, [ 540] = 0x722A, + [ 541] = 0x540A, [ 542] = 0x91E3, [ 543] = 0x9DB4, [ 544] = 0x4EAD, + [ 545] = 0x4F4E, [ 546] = 0x505C, [ 547] = 0x5075, [ 548] = 0x5243, + [ 549] = 0x8C9E, [ 550] = 0x5448, [ 551] = 0x5824, [ 552] = 0x5B9A, + [ 553] = 0x5E1D, [ 554] = 0x5E95, [ 555] = 0x5EAD, [ 556] = 0x5EF7, + [ 557] = 0x5F1F, [ 558] = 0x608C, [ 559] = 0x62B5, [ 560] = 0x633A, + [ 561] = 0x63D0, [ 562] = 0x68AF, [ 563] = 0x6C40, [ 564] = 0x7887, + [ 565] = 0x798E, [ 566] = 0x7A0B, [ 567] = 0x7DE0, [ 568] = 0x8247, + [ 569] = 0x8A02, [ 570] = 0x8AE6, [ 571] = 0x8E44, [ 572] = 0x9013, + [ 576] = 0x90B8, [ 577] = 0x912D, [ 578] = 0x91D8, [ 579] = 0x9F0E, + [ 580] = 0x6CE5, [ 581] = 0x6458, [ 582] = 0x64E2, [ 583] = 0x6575, + [ 584] = 0x6EF4, [ 585] = 0x7684, [ 586] = 0x7B1B, [ 587] = 0x9069, + [ 588] = 0x93D1, [ 589] = 0x6EBA, [ 590] = 0x54F2, [ 591] = 0x5FB9, + [ 592] = 0x64A4, [ 593] = 0x8F4D, [ 594] = 0x8FED, [ 595] = 0x9244, + [ 596] = 0x5178, [ 597] = 0x586B, [ 598] = 0x5929, [ 599] = 0x5C55, + [ 600] = 0x5E97, [ 601] = 0x6DFB, [ 602] = 0x7E8F, [ 603] = 0x751C, + [ 604] = 0x8CBC, [ 605] = 0x8EE2, [ 606] = 0x985B, [ 607] = 0x70B9, + [ 608] = 0x4F1D, [ 609] = 0x6BBF, [ 610] = 0x6FB1, [ 611] = 0x7530, + [ 612] = 0x96FB, [ 613] = 0x514E, [ 614] = 0x5410, [ 615] = 0x5835, + [ 616] = 0x5857, [ 617] = 0x59AC, [ 618] = 0x5C60, [ 619] = 0x5F92, + [ 620] = 0x6597, [ 621] = 0x675C, [ 622] = 0x6E21, [ 623] = 0x767B, + [ 624] = 0x83DF, [ 625] = 0x8CED, [ 626] = 0x9014, [ 627] = 0x90FD, + [ 628] = 0x934D, [ 629] = 0x7825, [ 630] = 0x783A, [ 631] = 0x52AA, + [ 632] = 0x5EA6, [ 633] = 0x571F, [ 634] = 0x5974, [ 635] = 0x6012, + [ 636] = 0x5012, [ 637] = 0x515A, [ 638] = 0x51AC, [ 640] = 0x51CD, + [ 641] = 0x5200, [ 642] = 0x5510, [ 643] = 0x5854, [ 644] = 0x5858, + [ 645] = 0x5957, [ 646] = 0x5B95, [ 647] = 0x5CF6, [ 648] = 0x5D8B, + [ 649] = 0x60BC, [ 650] = 0x6295, [ 651] = 0x642D, [ 652] = 0x6771, + [ 653] = 0x6843, [ 654] = 0x68BC, [ 655] = 0x68DF, [ 656] = 0x76D7, + [ 657] = 0x6DD8, [ 658] = 0x6E6F, [ 659] = 0x6D9B, [ 660] = 0x706F, + [ 661] = 0x71C8, [ 662] = 0x5F53, [ 663] = 0x75D8, [ 664] = 0x7977, + [ 665] = 0x7B49, [ 666] = 0x7B54, [ 667] = 0x7B52, [ 668] = 0x7CD6, + [ 669] = 0x7D71, [ 670] = 0x5230, [ 671] = 0x8463, [ 672] = 0x8569, + [ 673] = 0x85E4, [ 674] = 0x8A0E, [ 675] = 0x8B04, [ 676] = 0x8C46, + [ 677] = 0x8E0F, [ 678] = 0x9003, [ 679] = 0x900F, [ 680] = 0x9419, + [ 681] = 0x9676, [ 682] = 0x982D, [ 683] = 0x9A30, [ 684] = 0x95D8, + [ 685] = 0x50CD, [ 686] = 0x52D5, [ 687] = 0x540C, [ 688] = 0x5802, + [ 689] = 0x5C0E, [ 690] = 0x61A7, [ 691] = 0x649E, [ 692] = 0x6D1E, + [ 693] = 0x77B3, [ 694] = 0x7AE5, [ 695] = 0x80F4, [ 696] = 0x8404, + [ 697] = 0x9053, [ 698] = 0x9285, [ 699] = 0x5CE0, [ 700] = 0x9D07, + [ 701] = 0x533F, [ 702] = 0x5F97, [ 703] = 0x5FB3, [ 704] = 0x6D9C, + [ 705] = 0x7279, [ 706] = 0x7763, [ 707] = 0x79BF, [ 708] = 0x7BE4, + [ 709] = 0x6BD2, [ 710] = 0x72EC, [ 711] = 0x8AAD, [ 712] = 0x6803, + [ 713] = 0x6A61, [ 714] = 0x51F8, [ 715] = 0x7A81, [ 716] = 0x6934, + [ 717] = 0x5C4A, [ 718] = 0x9CF6, [ 719] = 0x82EB, [ 720] = 0x5BC5, + [ 721] = 0x9149, [ 722] = 0x701E, [ 723] = 0x5678, [ 724] = 0x5C6F, + [ 725] = 0x60C7, [ 726] = 0x6566, [ 727] = 0x6C8C, [ 728] = 0x8C5A, + [ 729] = 0x9041, [ 730] = 0x9813, [ 731] = 0x5451, [ 732] = 0x66C7, + [ 733] = 0x920D, [ 734] = 0x5948, [ 735] = 0x90A3, [ 736] = 0x5185, + [ 737] = 0x4E4D, [ 738] = 0x51EA, [ 739] = 0x8599, [ 740] = 0x8B0E, + [ 741] = 0x7058, [ 742] = 0x637A, [ 743] = 0x934B, [ 744] = 0x6962, + [ 745] = 0x99B4, [ 746] = 0x7E04, [ 747] = 0x7577, [ 748] = 0x5357, + [ 749] = 0x6960, [ 750] = 0x8EDF, [ 751] = 0x96E3, [ 752] = 0x6C5D, + [ 753] = 0x4E8C, [ 754] = 0x5C3C, [ 755] = 0x5F10, [ 756] = 0x8FE9, + [ 757] = 0x5302, [ 758] = 0x8CD1, [ 759] = 0x8089, [ 760] = 0x8679, + [ 761] = 0x5EFF, [ 762] = 0x65E5, [ 763] = 0x4E73, [ 764] = 0x5165, + [ 768] = 0x5982, [ 769] = 0x5C3F, [ 770] = 0x97EE, [ 771] = 0x4EFB, + [ 772] = 0x598A, [ 773] = 0x5FCD, [ 774] = 0x8A8D, [ 775] = 0x6FE1, + [ 776] = 0x79B0, [ 777] = 0x7962, [ 778] = 0x5BE7, [ 779] = 0x8471, + [ 780] = 0x732B, [ 781] = 0x71B1, [ 782] = 0x5E74, [ 783] = 0x5FF5, + [ 784] = 0x637B, [ 785] = 0x649A, [ 786] = 0x71C3, [ 787] = 0x7C98, + [ 788] = 0x4E43, [ 789] = 0x5EFC, [ 790] = 0x4E4B, [ 791] = 0x57DC, + [ 792] = 0x56A2, [ 793] = 0x60A9, [ 794] = 0x6FC3, [ 795] = 0x7D0D, + [ 796] = 0x80FD, [ 797] = 0x8133, [ 798] = 0x81BF, [ 799] = 0x8FB2, + [ 800] = 0x8997, [ 801] = 0x86A4, [ 802] = 0x5DF4, [ 803] = 0x628A, + [ 804] = 0x64AD, [ 805] = 0x8987, [ 806] = 0x6777, [ 807] = 0x6CE2, + [ 808] = 0x6D3E, [ 809] = 0x7436, [ 810] = 0x7834, [ 811] = 0x5A46, + [ 812] = 0x7F75, [ 813] = 0x82AD, [ 814] = 0x99AC, [ 815] = 0x4FF3, + [ 816] = 0x5EC3, [ 817] = 0x62DD, [ 818] = 0x6392, [ 819] = 0x6557, + [ 820] = 0x676F, [ 821] = 0x76C3, [ 822] = 0x724C, [ 823] = 0x80CC, + [ 824] = 0x80BA, [ 825] = 0x8F29, [ 826] = 0x914D, [ 827] = 0x500D, + [ 828] = 0x57F9, [ 829] = 0x5A92, [ 830] = 0x6885, [ 832] = 0x6973, + [ 833] = 0x7164, [ 834] = 0x72FD, [ 835] = 0x8CB7, [ 836] = 0x58F2, + [ 837] = 0x8CE0, [ 838] = 0x966A, [ 839] = 0x9019, [ 840] = 0x877F, + [ 841] = 0x79E4, [ 842] = 0x77E7, [ 843] = 0x8429, [ 844] = 0x4F2F, + [ 845] = 0x5265, [ 846] = 0x535A, [ 847] = 0x62CD, [ 848] = 0x67CF, + [ 849] = 0x6CCA, [ 850] = 0x767D, [ 851] = 0x7B94, [ 852] = 0x7C95, + [ 853] = 0x8236, [ 854] = 0x8584, [ 855] = 0x8FEB, [ 856] = 0x66DD, + [ 857] = 0x6F20, [ 858] = 0x7206, [ 859] = 0x7E1B, [ 860] = 0x83AB, + [ 861] = 0x99C1, [ 862] = 0x9EA6, [ 863] = 0x51FD, [ 864] = 0x7BB1, + [ 865] = 0x7872, [ 866] = 0x7BB8, [ 867] = 0x8087, [ 868] = 0x7B48, + [ 869] = 0x6AE8, [ 870] = 0x5E61, [ 871] = 0x808C, [ 872] = 0x7551, + [ 873] = 0x7560, [ 874] = 0x516B, [ 875] = 0x9262, [ 876] = 0x6E8C, + [ 877] = 0x767A, [ 878] = 0x9197, [ 879] = 0x9AEA, [ 880] = 0x4F10, + [ 881] = 0x7F70, [ 882] = 0x629C, [ 883] = 0x7B4F, [ 884] = 0x95A5, + [ 885] = 0x9CE9, [ 886] = 0x567A, [ 887] = 0x5859, [ 888] = 0x86E4, + [ 889] = 0x96BC, [ 890] = 0x4F34, [ 891] = 0x5224, [ 892] = 0x534A, + [ 893] = 0x53CD, [ 894] = 0x53DB, [ 895] = 0x5E06, [ 896] = 0x642C, + [ 897] = 0x6591, [ 898] = 0x677F, [ 899] = 0x6C3E, [ 900] = 0x6C4E, + [ 901] = 0x7248, [ 902] = 0x72AF, [ 903] = 0x73ED, [ 904] = 0x7554, + [ 905] = 0x7E41, [ 906] = 0x822C, [ 907] = 0x85E9, [ 908] = 0x8CA9, + [ 909] = 0x7BC4, [ 910] = 0x91C6, [ 911] = 0x7169, [ 912] = 0x9812, + [ 913] = 0x98EF, [ 914] = 0x633D, [ 915] = 0x6669, [ 916] = 0x756A, + [ 917] = 0x76E4, [ 918] = 0x78D0, [ 919] = 0x8543, [ 920] = 0x86EE, + [ 921] = 0x532A, [ 922] = 0x5351, [ 923] = 0x5426, [ 924] = 0x5983, + [ 925] = 0x5E87, [ 926] = 0x5F7C, [ 927] = 0x60B2, [ 928] = 0x6249, + [ 929] = 0x6279, [ 930] = 0x62AB, [ 931] = 0x6590, [ 932] = 0x6BD4, + [ 933] = 0x6CCC, [ 934] = 0x75B2, [ 935] = 0x76AE, [ 936] = 0x7891, + [ 937] = 0x79D8, [ 938] = 0x7DCB, [ 939] = 0x7F77, [ 940] = 0x80A5, + [ 941] = 0x88AB, [ 942] = 0x8AB9, [ 943] = 0x8CBB, [ 944] = 0x907F, + [ 945] = 0x975E, [ 946] = 0x98DB, [ 947] = 0x6A0B, [ 948] = 0x7C38, + [ 949] = 0x5099, [ 950] = 0x5C3E, [ 951] = 0x5FAE, [ 952] = 0x6787, + [ 953] = 0x6BD8, [ 954] = 0x7435, [ 955] = 0x7709, [ 956] = 0x7F8E, + [ 960] = 0x9F3B, [ 961] = 0x67CA, [ 962] = 0x7A17, [ 963] = 0x5339, + [ 964] = 0x758B, [ 965] = 0x9AED, [ 966] = 0x5F66, [ 967] = 0x819D, + [ 968] = 0x83F1, [ 969] = 0x8098, [ 970] = 0x5F3C, [ 971] = 0x5FC5, + [ 972] = 0x7562, [ 973] = 0x7B46, [ 974] = 0x903C, [ 975] = 0x6867, + [ 976] = 0x59EB, [ 977] = 0x5A9B, [ 978] = 0x7D10, [ 979] = 0x767E, + [ 980] = 0x8B2C, [ 981] = 0x4FF5, [ 982] = 0x5F6A, [ 983] = 0x6A19, + [ 984] = 0x6C37, [ 985] = 0x6F02, [ 986] = 0x74E2, [ 987] = 0x7968, + [ 988] = 0x8868, [ 989] = 0x8A55, [ 990] = 0x8C79, [ 991] = 0x5EDF, + [ 992] = 0x63CF, [ 993] = 0x75C5, [ 994] = 0x79D2, [ 995] = 0x82D7, + [ 996] = 0x9328, [ 997] = 0x92F2, [ 998] = 0x849C, [ 999] = 0x86ED, + [1000] = 0x9C2D, [1001] = 0x54C1, [1002] = 0x5F6C, [1003] = 0x658C, + [1004] = 0x6D5C, [1005] = 0x7015, [1006] = 0x8CA7, [1007] = 0x8CD3, + [1008] = 0x983B, [1009] = 0x654F, [1010] = 0x74F6, [1011] = 0x4E0D, + [1012] = 0x4ED8, [1013] = 0x57E0, [1014] = 0x592B, [1015] = 0x5A66, + [1016] = 0x5BCC, [1017] = 0x51A8, [1018] = 0x5E03, [1019] = 0x5E9C, + [1020] = 0x6016, [1021] = 0x6276, [1022] = 0x6577, [1024] = 0x65A7, + [1025] = 0x666E, [1026] = 0x6D6E, [1027] = 0x7236, [1028] = 0x7B26, + [1029] = 0x8150, [1030] = 0x819A, [1031] = 0x8299, [1032] = 0x8B5C, + [1033] = 0x8CA0, [1034] = 0x8CE6, [1035] = 0x8D74, [1036] = 0x961C, + [1037] = 0x9644, [1038] = 0x4FAE, [1039] = 0x64AB, [1040] = 0x6B66, + [1041] = 0x821E, [1042] = 0x8461, [1043] = 0x856A, [1044] = 0x90E8, + [1045] = 0x5C01, [1046] = 0x6953, [1047] = 0x98A8, [1048] = 0x847A, + [1049] = 0x8557, [1050] = 0x4F0F, [1051] = 0x526F, [1052] = 0x5FA9, + [1053] = 0x5E45, [1054] = 0x670D, [1055] = 0x798F, [1056] = 0x8179, + [1057] = 0x8907, [1058] = 0x8986, [1059] = 0x6DF5, [1060] = 0x5F17, + [1061] = 0x6255, [1062] = 0x6CB8, [1063] = 0x4ECF, [1064] = 0x7269, + [1065] = 0x9B92, [1066] = 0x5206, [1067] = 0x543B, [1068] = 0x5674, + [1069] = 0x58B3, [1070] = 0x61A4, [1071] = 0x626E, [1072] = 0x711A, + [1073] = 0x596E, [1074] = 0x7C89, [1075] = 0x7CDE, [1076] = 0x7D1B, + [1077] = 0x96F0, [1078] = 0x6587, [1079] = 0x805E, [1080] = 0x4E19, + [1081] = 0x4F75, [1082] = 0x5175, [1083] = 0x5840, [1084] = 0x5E63, + [1085] = 0x5E73, [1086] = 0x5F0A, [1087] = 0x67C4, [1088] = 0x4E26, + [1089] = 0x853D, [1090] = 0x9589, [1091] = 0x965B, [1092] = 0x7C73, + [1093] = 0x9801, [1094] = 0x50FB, [1095] = 0x58C1, [1096] = 0x7656, + [1097] = 0x78A7, [1098] = 0x5225, [1099] = 0x77A5, [1100] = 0x8511, + [1101] = 0x7B86, [1102] = 0x504F, [1103] = 0x5909, [1104] = 0x7247, + [1105] = 0x7BC7, [1106] = 0x7DE8, [1107] = 0x8FBA, [1108] = 0x8FD4, + [1109] = 0x904D, [1110] = 0x4FBF, [1111] = 0x52C9, [1112] = 0x5A29, + [1113] = 0x5F01, [1114] = 0x97AD, [1115] = 0x4FDD, [1116] = 0x8217, + [1117] = 0x92EA, [1118] = 0x5703, [1119] = 0x6355, [1120] = 0x6B69, + [1121] = 0x752B, [1122] = 0x88DC, [1123] = 0x8F14, [1124] = 0x7A42, + [1125] = 0x52DF, [1126] = 0x5893, [1127] = 0x6155, [1128] = 0x620A, + [1129] = 0x66AE, [1130] = 0x6BCD, [1131] = 0x7C3F, [1132] = 0x83E9, + [1133] = 0x5023, [1134] = 0x4FF8, [1135] = 0x5305, [1136] = 0x5446, + [1137] = 0x5831, [1138] = 0x5949, [1139] = 0x5B9D, [1140] = 0x5CF0, + [1141] = 0x5CEF, [1142] = 0x5D29, [1143] = 0x5E96, [1144] = 0x62B1, + [1145] = 0x6367, [1146] = 0x653E, [1147] = 0x65B9, [1148] = 0x670B, + [1152] = 0x6CD5, [1153] = 0x6CE1, [1154] = 0x70F9, [1155] = 0x7832, + [1156] = 0x7E2B, [1157] = 0x80DE, [1158] = 0x82B3, [1159] = 0x840C, + [1160] = 0x84EC, [1161] = 0x8702, [1162] = 0x8912, [1163] = 0x8A2A, + [1164] = 0x8C4A, [1165] = 0x90A6, [1166] = 0x92D2, [1167] = 0x98FD, + [1168] = 0x9CF3, [1169] = 0x9D6C, [1170] = 0x4E4F, [1171] = 0x4EA1, + [1172] = 0x508D, [1173] = 0x5256, [1174] = 0x574A, [1175] = 0x59A8, + [1176] = 0x5E3D, [1177] = 0x5FD8, [1178] = 0x5FD9, [1179] = 0x623F, + [1180] = 0x66B4, [1181] = 0x671B, [1182] = 0x67D0, [1183] = 0x68D2, + [1184] = 0x5192, [1185] = 0x7D21, [1186] = 0x80AA, [1187] = 0x81A8, + [1188] = 0x8B00, [1189] = 0x8C8C, [1190] = 0x8CBF, [1191] = 0x927E, + [1192] = 0x9632, [1193] = 0x5420, [1194] = 0x982C, [1195] = 0x5317, + [1196] = 0x50D5, [1197] = 0x535C, [1198] = 0x58A8, [1199] = 0x64B2, + [1200] = 0x6734, [1201] = 0x7267, [1202] = 0x7766, [1203] = 0x7A46, + [1204] = 0x91E6, [1205] = 0x52C3, [1206] = 0x6CA1, [1207] = 0x6B86, + [1208] = 0x5800, [1209] = 0x5E4C, [1210] = 0x5954, [1211] = 0x672C, + [1212] = 0x7FFB, [1213] = 0x51E1, [1214] = 0x76C6, [1216] = 0x6469, + [1217] = 0x78E8, [1218] = 0x9B54, [1219] = 0x9EBB, [1220] = 0x57CB, + [1221] = 0x59B9, [1222] = 0x6627, [1223] = 0x679A, [1224] = 0x6BCE, + [1225] = 0x54E9, [1226] = 0x69D9, [1227] = 0x5E55, [1228] = 0x819C, + [1229] = 0x6795, [1230] = 0x9BAA, [1231] = 0x67FE, [1232] = 0x9C52, + [1233] = 0x685D, [1234] = 0x4EA6, [1235] = 0x4FE3, [1236] = 0x53C8, + [1237] = 0x62B9, [1238] = 0x672B, [1239] = 0x6CAB, [1240] = 0x8FC4, + [1241] = 0x4FAD, [1242] = 0x7E6D, [1243] = 0x9EBF, [1244] = 0x4E07, + [1245] = 0x6162, [1246] = 0x6E80, [1247] = 0x6F2B, [1248] = 0x8513, + [1249] = 0x5473, [1250] = 0x672A, [1251] = 0x9B45, [1252] = 0x5DF3, + [1253] = 0x7B95, [1254] = 0x5CAC, [1255] = 0x5BC6, [1256] = 0x871C, + [1257] = 0x6E4A, [1258] = 0x84D1, [1259] = 0x7A14, [1260] = 0x8108, + [1261] = 0x5999, [1262] = 0x7C8D, [1263] = 0x6C11, [1264] = 0x7720, + [1265] = 0x52D9, [1266] = 0x5922, [1267] = 0x7121, [1268] = 0x725F, + [1269] = 0x77DB, [1270] = 0x9727, [1271] = 0x9D61, [1272] = 0x690B, + [1273] = 0x5A7F, [1274] = 0x5A18, [1275] = 0x51A5, [1276] = 0x540D, + [1277] = 0x547D, [1278] = 0x660E, [1279] = 0x76DF, [1280] = 0x8FF7, + [1281] = 0x9298, [1282] = 0x9CF4, [1283] = 0x59EA, [1284] = 0x725D, + [1285] = 0x6EC5, [1286] = 0x514D, [1287] = 0x68C9, [1288] = 0x7DBF, + [1289] = 0x7DEC, [1290] = 0x9762, [1291] = 0x9EBA, [1292] = 0x6478, + [1293] = 0x6A21, [1294] = 0x8302, [1295] = 0x5984, [1296] = 0x5B5F, + [1297] = 0x6BDB, [1298] = 0x731B, [1299] = 0x76F2, [1300] = 0x7DB2, + [1301] = 0x8017, [1302] = 0x8499, [1303] = 0x5132, [1304] = 0x6728, + [1305] = 0x9ED9, [1306] = 0x76EE, [1307] = 0x6762, [1308] = 0x52FF, + [1309] = 0x9905, [1310] = 0x5C24, [1311] = 0x623B, [1312] = 0x7C7E, + [1313] = 0x8CB0, [1314] = 0x554F, [1315] = 0x60B6, [1316] = 0x7D0B, + [1317] = 0x9580, [1318] = 0x5301, [1319] = 0x4E5F, [1320] = 0x51B6, + [1321] = 0x591C, [1322] = 0x723A, [1323] = 0x8036, [1324] = 0x91CE, + [1325] = 0x5F25, [1326] = 0x77E2, [1327] = 0x5384, [1328] = 0x5F79, + [1329] = 0x7D04, [1330] = 0x85AC, [1331] = 0x8A33, [1332] = 0x8E8D, + [1333] = 0x9756, [1334] = 0x67F3, [1335] = 0x85AE, [1336] = 0x9453, + [1337] = 0x6109, [1338] = 0x6108, [1339] = 0x6CB9, [1340] = 0x7652, + [1344] = 0x8AED, [1345] = 0x8F38, [1346] = 0x552F, [1347] = 0x4F51, + [1348] = 0x512A, [1349] = 0x52C7, [1350] = 0x53CB, [1351] = 0x5BA5, + [1352] = 0x5E7D, [1353] = 0x60A0, [1354] = 0x6182, [1355] = 0x63D6, + [1356] = 0x6709, [1357] = 0x67DA, [1358] = 0x6E67, [1359] = 0x6D8C, + [1360] = 0x7336, [1361] = 0x7337, [1362] = 0x7531, [1363] = 0x7950, + [1364] = 0x88D5, [1365] = 0x8A98, [1366] = 0x904A, [1367] = 0x9091, + [1368] = 0x90F5, [1369] = 0x96C4, [1370] = 0x878D, [1371] = 0x5915, + [1372] = 0x4E88, [1373] = 0x4F59, [1374] = 0x4E0E, [1375] = 0x8A89, + [1376] = 0x8F3F, [1377] = 0x9810, [1378] = 0x50AD, [1379] = 0x5E7C, + [1380] = 0x5996, [1381] = 0x5BB9, [1382] = 0x5EB8, [1383] = 0x63DA, + [1384] = 0x63FA, [1385] = 0x64C1, [1386] = 0x66DC, [1387] = 0x694A, + [1388] = 0x69D8, [1389] = 0x6D0B, [1390] = 0x6EB6, [1391] = 0x7194, + [1392] = 0x7528, [1393] = 0x7AAF, [1394] = 0x7F8A, [1395] = 0x8000, + [1396] = 0x8449, [1397] = 0x84C9, [1398] = 0x8981, [1399] = 0x8B21, + [1400] = 0x8E0A, [1401] = 0x9065, [1402] = 0x967D, [1403] = 0x990A, + [1404] = 0x617E, [1405] = 0x6291, [1406] = 0x6B32, [1408] = 0x6C83, + [1409] = 0x6D74, [1410] = 0x7FCC, [1411] = 0x7FFC, [1412] = 0x6DC0, + [1413] = 0x7F85, [1414] = 0x87BA, [1415] = 0x88F8, [1416] = 0x6765, + [1417] = 0x83B1, [1418] = 0x983C, [1419] = 0x96F7, [1420] = 0x6D1B, + [1421] = 0x7D61, [1422] = 0x843D, [1423] = 0x916A, [1424] = 0x4E71, + [1425] = 0x5375, [1426] = 0x5D50, [1427] = 0x6B04, [1428] = 0x6FEB, + [1429] = 0x85CD, [1430] = 0x862D, [1431] = 0x89A7, [1432] = 0x5229, + [1433] = 0x540F, [1434] = 0x5C65, [1435] = 0x674E, [1436] = 0x68A8, + [1437] = 0x7406, [1438] = 0x7483, [1439] = 0x75E2, [1440] = 0x88CF, + [1441] = 0x88E1, [1442] = 0x91CC, [1443] = 0x96E2, [1444] = 0x9678, + [1445] = 0x5F8B, [1446] = 0x7387, [1447] = 0x7ACB, [1448] = 0x844E, + [1449] = 0x63A0, [1450] = 0x7565, [1451] = 0x5289, [1452] = 0x6D41, + [1453] = 0x6E9C, [1454] = 0x7409, [1455] = 0x7559, [1456] = 0x786B, + [1457] = 0x7C92, [1458] = 0x9686, [1459] = 0x7ADC, [1460] = 0x9F8D, + [1461] = 0x4FB6, [1462] = 0x616E, [1463] = 0x65C5, [1464] = 0x865C, + [1465] = 0x4E86, [1466] = 0x4EAE, [1467] = 0x50DA, [1468] = 0x4E21, + [1469] = 0x51CC, [1470] = 0x5BEE, [1471] = 0x6599, [1472] = 0x6881, + [1473] = 0x6DBC, [1474] = 0x731F, [1475] = 0x7642, [1476] = 0x77AD, + [1477] = 0x7A1C, [1478] = 0x7CE7, [1479] = 0x826F, [1480] = 0x8AD2, + [1481] = 0x907C, [1482] = 0x91CF, [1483] = 0x9675, [1484] = 0x9818, + [1485] = 0x529B, [1486] = 0x7DD1, [1487] = 0x502B, [1488] = 0x5398, + [1489] = 0x6797, [1490] = 0x6DCB, [1491] = 0x71D0, [1492] = 0x7433, + [1493] = 0x81E8, [1494] = 0x8F2A, [1495] = 0x96A3, [1496] = 0x9C57, + [1497] = 0x9E9F, [1498] = 0x7460, [1499] = 0x5841, [1500] = 0x6D99, + [1501] = 0x7D2F, [1502] = 0x985E, [1503] = 0x4EE4, [1504] = 0x4F36, + [1505] = 0x4F8B, [1506] = 0x51B7, [1507] = 0x52B1, [1508] = 0x5DBA, + [1509] = 0x601C, [1510] = 0x73B2, [1511] = 0x793C, [1512] = 0x82D3, + [1513] = 0x9234, [1514] = 0x96B7, [1515] = 0x96F6, [1516] = 0x970A, + [1517] = 0x9E97, [1518] = 0x9F62, [1519] = 0x66A6, [1520] = 0x6B74, + [1521] = 0x5217, [1522] = 0x52A3, [1523] = 0x70C8, [1524] = 0x88C2, + [1525] = 0x5EC9, [1526] = 0x604B, [1527] = 0x6190, [1528] = 0x6F23, + [1529] = 0x7149, [1530] = 0x7C3E, [1531] = 0x7DF4, [1532] = 0x806F, + [1536] = 0x84EE, [1537] = 0x9023, [1538] = 0x932C, [1539] = 0x5442, + [1540] = 0x9B6F, [1541] = 0x6AD3, [1542] = 0x7089, [1543] = 0x8CC2, + [1544] = 0x8DEF, [1545] = 0x9732, [1546] = 0x52B4, [1547] = 0x5A41, + [1548] = 0x5ECA, [1549] = 0x5F04, [1550] = 0x6717, [1551] = 0x697C, + [1552] = 0x6994, [1553] = 0x6D6A, [1554] = 0x6F0F, [1555] = 0x7262, + [1556] = 0x72FC, [1557] = 0x7BED, [1558] = 0x8001, [1559] = 0x807E, + [1560] = 0x874B, [1561] = 0x90CE, [1562] = 0x516D, [1563] = 0x9E93, + [1564] = 0x7984, [1565] = 0x808B, [1566] = 0x9332, [1567] = 0x8AD6, + [1568] = 0x502D, [1569] = 0x548C, [1570] = 0x8A71, [1571] = 0x6B6A, + [1572] = 0x8CC4, [1573] = 0x8107, [1574] = 0x60D1, [1575] = 0x67A0, + [1576] = 0x9DF2, [1577] = 0x4E99, [1578] = 0x4E98, [1579] = 0x9C10, + [1580] = 0x8A6B, [1581] = 0x85C1, [1582] = 0x8568, [1583] = 0x6900, + [1584] = 0x6E7E, [1585] = 0x7897, [1586] = 0x8155, [1631] = 0x5F0C, + [1632] = 0x4E10, [1633] = 0x4E15, [1634] = 0x4E2A, [1635] = 0x4E31, + [1636] = 0x4E36, [1637] = 0x4E3C, [1638] = 0x4E3F, [1639] = 0x4E42, + [1640] = 0x4E56, [1641] = 0x4E58, [1642] = 0x4E82, [1643] = 0x4E85, + [1644] = 0x8C6B, [1645] = 0x4E8A, [1646] = 0x8212, [1647] = 0x5F0D, + [1648] = 0x4E8E, [1649] = 0x4E9E, [1650] = 0x4E9F, [1651] = 0x4EA0, + [1652] = 0x4EA2, [1653] = 0x4EB0, [1654] = 0x4EB3, [1655] = 0x4EB6, + [1656] = 0x4ECE, [1657] = 0x4ECD, [1658] = 0x4EC4, [1659] = 0x4EC6, + [1660] = 0x4EC2, [1661] = 0x4ED7, [1662] = 0x4EDE, [1663] = 0x4EED, + [1664] = 0x4EDF, [1665] = 0x4EF7, [1666] = 0x4F09, [1667] = 0x4F5A, + [1668] = 0x4F30, [1669] = 0x4F5B, [1670] = 0x4F5D, [1671] = 0x4F57, + [1672] = 0x4F47, [1673] = 0x4F76, [1674] = 0x4F88, [1675] = 0x4F8F, + [1676] = 0x4F98, [1677] = 0x4F7B, [1678] = 0x4F69, [1679] = 0x4F70, + [1680] = 0x4F91, [1681] = 0x4F6F, [1682] = 0x4F86, [1683] = 0x4F96, + [1684] = 0x5118, [1685] = 0x4FD4, [1686] = 0x4FDF, [1687] = 0x4FCE, + [1688] = 0x4FD8, [1689] = 0x4FDB, [1690] = 0x4FD1, [1691] = 0x4FDA, + [1692] = 0x4FD0, [1693] = 0x4FE4, [1694] = 0x4FE5, [1695] = 0x501A, + [1696] = 0x5028, [1697] = 0x5014, [1698] = 0x502A, [1699] = 0x5025, + [1700] = 0x5005, [1701] = 0x4F1C, [1702] = 0x4FF6, [1703] = 0x5021, + [1704] = 0x5029, [1705] = 0x502C, [1706] = 0x4FFE, [1707] = 0x4FEF, + [1708] = 0x5011, [1709] = 0x5006, [1710] = 0x5043, [1711] = 0x5047, + [1712] = 0x6703, [1713] = 0x5055, [1714] = 0x5050, [1715] = 0x5048, + [1716] = 0x505A, [1717] = 0x5056, [1718] = 0x506C, [1719] = 0x5078, + [1720] = 0x5080, [1721] = 0x509A, [1722] = 0x5085, [1723] = 0x50B4, + [1724] = 0x50B2, [1728] = 0x50C9, [1729] = 0x50CA, [1730] = 0x50B3, + [1731] = 0x50C2, [1732] = 0x50D6, [1733] = 0x50DE, [1734] = 0x50E5, + [1735] = 0x50ED, [1736] = 0x50E3, [1737] = 0x50EE, [1738] = 0x50F9, + [1739] = 0x50F5, [1740] = 0x5109, [1741] = 0x5101, [1742] = 0x5102, + [1743] = 0x5116, [1744] = 0x5115, [1745] = 0x5114, [1746] = 0x511A, + [1747] = 0x5121, [1748] = 0x513A, [1749] = 0x5137, [1750] = 0x513C, + [1751] = 0x513B, [1752] = 0x513F, [1753] = 0x5140, [1754] = 0x5152, + [1755] = 0x514C, [1756] = 0x5154, [1757] = 0x5162, [1758] = 0x7AF8, + [1759] = 0x5169, [1760] = 0x516A, [1761] = 0x516E, [1762] = 0x5180, + [1763] = 0x5182, [1764] = 0x56D8, [1765] = 0x518C, [1766] = 0x5189, + [1767] = 0x518F, [1768] = 0x5191, [1769] = 0x5193, [1770] = 0x5195, + [1771] = 0x5196, [1772] = 0x51A4, [1773] = 0x51A6, [1774] = 0x51A2, + [1775] = 0x51A9, [1776] = 0x51AA, [1777] = 0x51AB, [1778] = 0x51B3, + [1779] = 0x51B1, [1780] = 0x51B2, [1781] = 0x51B0, [1782] = 0x51B5, + [1783] = 0x51BD, [1784] = 0x51C5, [1785] = 0x51C9, [1786] = 0x51DB, + [1787] = 0x51E0, [1788] = 0x8655, [1789] = 0x51E9, [1790] = 0x51ED, + [1792] = 0x51F0, [1793] = 0x51F5, [1794] = 0x51FE, [1795] = 0x5204, + [1796] = 0x520B, [1797] = 0x5214, [1798] = 0x520E, [1799] = 0x5227, + [1800] = 0x522A, [1801] = 0x522E, [1802] = 0x5233, [1803] = 0x5239, + [1804] = 0x524F, [1805] = 0x5244, [1806] = 0x524B, [1807] = 0x524C, + [1808] = 0x525E, [1809] = 0x5254, [1810] = 0x526A, [1811] = 0x5274, + [1812] = 0x5269, [1813] = 0x5273, [1814] = 0x527F, [1815] = 0x527D, + [1816] = 0x528D, [1817] = 0x5294, [1818] = 0x5292, [1819] = 0x5271, + [1820] = 0x5288, [1821] = 0x5291, [1822] = 0x8FA8, [1823] = 0x8FA7, + [1824] = 0x52AC, [1825] = 0x52AD, [1826] = 0x52BC, [1827] = 0x52B5, + [1828] = 0x52C1, [1829] = 0x52CD, [1830] = 0x52D7, [1831] = 0x52DE, + [1832] = 0x52E3, [1833] = 0x52E6, [1834] = 0x98ED, [1835] = 0x52E0, + [1836] = 0x52F3, [1837] = 0x52F5, [1838] = 0x52F8, [1839] = 0x52F9, + [1840] = 0x5306, [1841] = 0x5308, [1842] = 0x7538, [1843] = 0x530D, + [1844] = 0x5310, [1845] = 0x530F, [1846] = 0x5315, [1847] = 0x531A, + [1848] = 0x5323, [1849] = 0x532F, [1850] = 0x5331, [1851] = 0x5333, + [1852] = 0x5338, [1853] = 0x5340, [1854] = 0x5346, [1855] = 0x5345, + [1856] = 0x4E17, [1857] = 0x5349, [1858] = 0x534D, [1859] = 0x51D6, + [1860] = 0x535E, [1861] = 0x5369, [1862] = 0x536E, [1863] = 0x5918, + [1864] = 0x537B, [1865] = 0x5377, [1866] = 0x5382, [1867] = 0x5396, + [1868] = 0x53A0, [1869] = 0x53A6, [1870] = 0x53A5, [1871] = 0x53AE, + [1872] = 0x53B0, [1873] = 0x53B6, [1874] = 0x53C3, [1875] = 0x7C12, + [1876] = 0x96D9, [1877] = 0x53DF, [1878] = 0x66FC, [1879] = 0x71EE, + [1880] = 0x53EE, [1881] = 0x53E8, [1882] = 0x53ED, [1883] = 0x53FA, + [1884] = 0x5401, [1885] = 0x543D, [1886] = 0x5440, [1887] = 0x542C, + [1888] = 0x542D, [1889] = 0x543C, [1890] = 0x542E, [1891] = 0x5436, + [1892] = 0x5429, [1893] = 0x541D, [1894] = 0x544E, [1895] = 0x548F, + [1896] = 0x5475, [1897] = 0x548E, [1898] = 0x545F, [1899] = 0x5471, + [1900] = 0x5477, [1901] = 0x5470, [1902] = 0x5492, [1903] = 0x547B, + [1904] = 0x5480, [1905] = 0x5476, [1906] = 0x5484, [1907] = 0x5490, + [1908] = 0x5486, [1909] = 0x54C7, [1910] = 0x54A2, [1911] = 0x54B8, + [1912] = 0x54A5, [1913] = 0x54AC, [1914] = 0x54C4, [1915] = 0x54C8, + [1916] = 0x54A8, [1920] = 0x54AB, [1921] = 0x54C2, [1922] = 0x54A4, + [1923] = 0x54BE, [1924] = 0x54BC, [1925] = 0x54D8, [1926] = 0x54E5, + [1927] = 0x54E6, [1928] = 0x550F, [1929] = 0x5514, [1930] = 0x54FD, + [1931] = 0x54EE, [1932] = 0x54ED, [1933] = 0x54FA, [1934] = 0x54E2, + [1935] = 0x5539, [1936] = 0x5540, [1937] = 0x5563, [1938] = 0x554C, + [1939] = 0x552E, [1940] = 0x555C, [1941] = 0x5545, [1942] = 0x5556, + [1943] = 0x5557, [1944] = 0x5538, [1945] = 0x5533, [1946] = 0x555D, + [1947] = 0x5599, [1948] = 0x5580, [1949] = 0x54AF, [1950] = 0x558A, + [1951] = 0x559F, [1952] = 0x557B, [1953] = 0x557E, [1954] = 0x5598, + [1955] = 0x559E, [1956] = 0x55AE, [1957] = 0x557C, [1958] = 0x5583, + [1959] = 0x55A9, [1960] = 0x5587, [1961] = 0x55A8, [1962] = 0x55DA, + [1963] = 0x55C5, [1964] = 0x55DF, [1965] = 0x55C4, [1966] = 0x55DC, + [1967] = 0x55E4, [1968] = 0x55D4, [1969] = 0x5614, [1970] = 0x55F7, + [1971] = 0x5616, [1972] = 0x55FE, [1973] = 0x55FD, [1974] = 0x561B, + [1975] = 0x55F9, [1976] = 0x564E, [1977] = 0x5650, [1978] = 0x71DF, + [1979] = 0x5634, [1980] = 0x5636, [1981] = 0x5632, [1982] = 0x5638, + [1984] = 0x566B, [1985] = 0x5664, [1986] = 0x562F, [1987] = 0x566C, + [1988] = 0x566A, [1989] = 0x5686, [1990] = 0x5680, [1991] = 0x568A, + [1992] = 0x56A0, [1993] = 0x5694, [1994] = 0x568F, [1995] = 0x56A5, + [1996] = 0x56AE, [1997] = 0x56B6, [1998] = 0x56B4, [1999] = 0x56C2, + [2000] = 0x56BC, [2001] = 0x56C1, [2002] = 0x56C3, [2003] = 0x56C0, + [2004] = 0x56C8, [2005] = 0x56CE, [2006] = 0x56D1, [2007] = 0x56D3, + [2008] = 0x56D7, [2009] = 0x56EE, [2010] = 0x56F9, [2011] = 0x5700, + [2012] = 0x56FF, [2013] = 0x5704, [2014] = 0x5709, [2015] = 0x5708, + [2016] = 0x570B, [2017] = 0x570D, [2018] = 0x5713, [2019] = 0x5718, + [2020] = 0x5716, [2021] = 0x55C7, [2022] = 0x571C, [2023] = 0x5726, + [2024] = 0x5737, [2025] = 0x5738, [2026] = 0x574E, [2027] = 0x573B, + [2028] = 0x5740, [2029] = 0x574F, [2030] = 0x5769, [2031] = 0x57C0, + [2032] = 0x5788, [2033] = 0x5761, [2034] = 0x577F, [2035] = 0x5789, + [2036] = 0x5793, [2037] = 0x57A0, [2038] = 0x57B3, [2039] = 0x57A4, + [2040] = 0x57AA, [2041] = 0x57B0, [2042] = 0x57C3, [2043] = 0x57C6, + [2044] = 0x57D4, [2045] = 0x57D2, [2046] = 0x57D3, [2047] = 0x580A, + [2048] = 0x57D6, [2049] = 0x57E3, [2050] = 0x580B, [2051] = 0x5819, + [2052] = 0x581D, [2053] = 0x5872, [2054] = 0x5821, [2055] = 0x5862, + [2056] = 0x584B, [2057] = 0x5870, [2058] = 0x6BC0, [2059] = 0x5852, + [2060] = 0x583D, [2061] = 0x5879, [2062] = 0x5885, [2063] = 0x58B9, + [2064] = 0x589F, [2065] = 0x58AB, [2066] = 0x58BA, [2067] = 0x58DE, + [2068] = 0x58BB, [2069] = 0x58B8, [2070] = 0x58AE, [2071] = 0x58C5, + [2072] = 0x58D3, [2073] = 0x58D1, [2074] = 0x58D7, [2075] = 0x58D9, + [2076] = 0x58D8, [2077] = 0x58E5, [2078] = 0x58DC, [2079] = 0x58E4, + [2080] = 0x58DF, [2081] = 0x58EF, [2082] = 0x58FA, [2083] = 0x58F9, + [2084] = 0x58FB, [2085] = 0x58FC, [2086] = 0x58FD, [2087] = 0x5902, + [2088] = 0x590A, [2089] = 0x5910, [2090] = 0x591B, [2091] = 0x68A6, + [2092] = 0x5925, [2093] = 0x592C, [2094] = 0x592D, [2095] = 0x5932, + [2096] = 0x5938, [2097] = 0x593E, [2098] = 0x7AD2, [2099] = 0x5955, + [2100] = 0x5950, [2101] = 0x594E, [2102] = 0x595A, [2103] = 0x5958, + [2104] = 0x5962, [2105] = 0x5960, [2106] = 0x5967, [2107] = 0x596C, + [2108] = 0x5969, [2112] = 0x5978, [2113] = 0x5981, [2114] = 0x599D, + [2115] = 0x4F5E, [2116] = 0x4FAB, [2117] = 0x59A3, [2118] = 0x59B2, + [2119] = 0x59C6, [2120] = 0x59E8, [2121] = 0x59DC, [2122] = 0x598D, + [2123] = 0x59D9, [2124] = 0x59DA, [2125] = 0x5A25, [2126] = 0x5A1F, + [2127] = 0x5A11, [2128] = 0x5A1C, [2129] = 0x5A09, [2130] = 0x5A1A, + [2131] = 0x5A40, [2132] = 0x5A6C, [2133] = 0x5A49, [2134] = 0x5A35, + [2135] = 0x5A36, [2136] = 0x5A62, [2137] = 0x5A6A, [2138] = 0x5A9A, + [2139] = 0x5ABC, [2140] = 0x5ABE, [2141] = 0x5ACB, [2142] = 0x5AC2, + [2143] = 0x5ABD, [2144] = 0x5AE3, [2145] = 0x5AD7, [2146] = 0x5AE6, + [2147] = 0x5AE9, [2148] = 0x5AD6, [2149] = 0x5AFA, [2150] = 0x5AFB, + [2151] = 0x5B0C, [2152] = 0x5B0B, [2153] = 0x5B16, [2154] = 0x5B32, + [2155] = 0x5AD0, [2156] = 0x5B2A, [2157] = 0x5B36, [2158] = 0x5B3E, + [2159] = 0x5B43, [2160] = 0x5B45, [2161] = 0x5B40, [2162] = 0x5B51, + [2163] = 0x5B55, [2164] = 0x5B5A, [2165] = 0x5B5B, [2166] = 0x5B65, + [2167] = 0x5B69, [2168] = 0x5B70, [2169] = 0x5B73, [2170] = 0x5B75, + [2171] = 0x5B78, [2172] = 0x6588, [2173] = 0x5B7A, [2174] = 0x5B80, + [2176] = 0x5B83, [2177] = 0x5BA6, [2178] = 0x5BB8, [2179] = 0x5BC3, + [2180] = 0x5BC7, [2181] = 0x5BC9, [2182] = 0x5BD4, [2183] = 0x5BD0, + [2184] = 0x5BE4, [2185] = 0x5BE6, [2186] = 0x5BE2, [2187] = 0x5BDE, + [2188] = 0x5BE5, [2189] = 0x5BEB, [2190] = 0x5BF0, [2191] = 0x5BF6, + [2192] = 0x5BF3, [2193] = 0x5C05, [2194] = 0x5C07, [2195] = 0x5C08, + [2196] = 0x5C0D, [2197] = 0x5C13, [2198] = 0x5C20, [2199] = 0x5C22, + [2200] = 0x5C28, [2201] = 0x5C38, [2202] = 0x5C39, [2203] = 0x5C41, + [2204] = 0x5C46, [2205] = 0x5C4E, [2206] = 0x5C53, [2207] = 0x5C50, + [2208] = 0x5C4F, [2209] = 0x5B71, [2210] = 0x5C6C, [2211] = 0x5C6E, + [2212] = 0x4E62, [2213] = 0x5C76, [2214] = 0x5C79, [2215] = 0x5C8C, + [2216] = 0x5C91, [2217] = 0x5C94, [2218] = 0x599B, [2219] = 0x5CAB, + [2220] = 0x5CBB, [2221] = 0x5CB6, [2222] = 0x5CBC, [2223] = 0x5CB7, + [2224] = 0x5CC5, [2225] = 0x5CBE, [2226] = 0x5CC7, [2227] = 0x5CD9, + [2228] = 0x5CE9, [2229] = 0x5CFD, [2230] = 0x5CFA, [2231] = 0x5CED, + [2232] = 0x5D8C, [2233] = 0x5CEA, [2234] = 0x5D0B, [2235] = 0x5D15, + [2236] = 0x5D17, [2237] = 0x5D5C, [2238] = 0x5D1F, [2239] = 0x5D1B, + [2240] = 0x5D11, [2241] = 0x5D14, [2242] = 0x5D22, [2243] = 0x5D1A, + [2244] = 0x5D19, [2245] = 0x5D18, [2246] = 0x5D4C, [2247] = 0x5D52, + [2248] = 0x5D4E, [2249] = 0x5D4B, [2250] = 0x5D6C, [2251] = 0x5D73, + [2252] = 0x5D76, [2253] = 0x5D87, [2254] = 0x5D84, [2255] = 0x5D82, + [2256] = 0x5DA2, [2257] = 0x5D9D, [2258] = 0x5DAC, [2259] = 0x5DAE, + [2260] = 0x5DBD, [2261] = 0x5D90, [2262] = 0x5DB7, [2263] = 0x5DBC, + [2264] = 0x5DC9, [2265] = 0x5DCD, [2266] = 0x5DD3, [2267] = 0x5DD2, + [2268] = 0x5DD6, [2269] = 0x5DDB, [2270] = 0x5DEB, [2271] = 0x5DF2, + [2272] = 0x5DF5, [2273] = 0x5E0B, [2274] = 0x5E1A, [2275] = 0x5E19, + [2276] = 0x5E11, [2277] = 0x5E1B, [2278] = 0x5E36, [2279] = 0x5E37, + [2280] = 0x5E44, [2281] = 0x5E43, [2282] = 0x5E40, [2283] = 0x5E4E, + [2284] = 0x5E57, [2285] = 0x5E54, [2286] = 0x5E5F, [2287] = 0x5E62, + [2288] = 0x5E64, [2289] = 0x5E47, [2290] = 0x5E75, [2291] = 0x5E76, + [2292] = 0x5E7A, [2293] = 0x9EBC, [2294] = 0x5E7F, [2295] = 0x5EA0, + [2296] = 0x5EC1, [2297] = 0x5EC2, [2298] = 0x5EC8, [2299] = 0x5ED0, + [2300] = 0x5ECF, [2304] = 0x5ED6, [2305] = 0x5EE3, [2306] = 0x5EDD, + [2307] = 0x5EDA, [2308] = 0x5EDB, [2309] = 0x5EE2, [2310] = 0x5EE1, + [2311] = 0x5EE8, [2312] = 0x5EE9, [2313] = 0x5EEC, [2314] = 0x5EF1, + [2315] = 0x5EF3, [2316] = 0x5EF0, [2317] = 0x5EF4, [2318] = 0x5EF8, + [2319] = 0x5EFE, [2320] = 0x5F03, [2321] = 0x5F09, [2322] = 0x5F5D, + [2323] = 0x5F5C, [2324] = 0x5F0B, [2325] = 0x5F11, [2326] = 0x5F16, + [2327] = 0x5F29, [2328] = 0x5F2D, [2329] = 0x5F38, [2330] = 0x5F41, + [2331] = 0x5F48, [2332] = 0x5F4C, [2333] = 0x5F4E, [2334] = 0x5F2F, + [2335] = 0x5F51, [2336] = 0x5F56, [2337] = 0x5F57, [2338] = 0x5F59, + [2339] = 0x5F61, [2340] = 0x5F6D, [2341] = 0x5F73, [2342] = 0x5F77, + [2343] = 0x5F83, [2344] = 0x5F82, [2345] = 0x5F7F, [2346] = 0x5F8A, + [2347] = 0x5F88, [2348] = 0x5F91, [2349] = 0x5F87, [2350] = 0x5F9E, + [2351] = 0x5F99, [2352] = 0x5F98, [2353] = 0x5FA0, [2354] = 0x5FA8, + [2355] = 0x5FAD, [2356] = 0x5FBC, [2357] = 0x5FD6, [2358] = 0x5FFB, + [2359] = 0x5FE4, [2360] = 0x5FF8, [2361] = 0x5FF1, [2362] = 0x5FDD, + [2363] = 0x60B3, [2364] = 0x5FFF, [2365] = 0x6021, [2366] = 0x6060, + [2368] = 0x6019, [2369] = 0x6010, [2370] = 0x6029, [2371] = 0x600E, + [2372] = 0x6031, [2373] = 0x601B, [2374] = 0x6015, [2375] = 0x602B, + [2376] = 0x6026, [2377] = 0x600F, [2378] = 0x603A, [2379] = 0x605A, + [2380] = 0x6041, [2381] = 0x606A, [2382] = 0x6077, [2383] = 0x605F, + [2384] = 0x604A, [2385] = 0x6046, [2386] = 0x604D, [2387] = 0x6063, + [2388] = 0x6043, [2389] = 0x6064, [2390] = 0x6042, [2391] = 0x606C, + [2392] = 0x606B, [2393] = 0x6059, [2394] = 0x6081, [2395] = 0x608D, + [2396] = 0x60E7, [2397] = 0x6083, [2398] = 0x609A, [2399] = 0x6084, + [2400] = 0x609B, [2401] = 0x6096, [2402] = 0x6097, [2403] = 0x6092, + [2404] = 0x60A7, [2405] = 0x608B, [2406] = 0x60E1, [2407] = 0x60B8, + [2408] = 0x60E0, [2409] = 0x60D3, [2410] = 0x60B4, [2411] = 0x5FF0, + [2412] = 0x60BD, [2413] = 0x60C6, [2414] = 0x60B5, [2415] = 0x60D8, + [2416] = 0x614D, [2417] = 0x6115, [2418] = 0x6106, [2419] = 0x60F6, + [2420] = 0x60F7, [2421] = 0x6100, [2422] = 0x60F4, [2423] = 0x60FA, + [2424] = 0x6103, [2425] = 0x6121, [2426] = 0x60FB, [2427] = 0x60F1, + [2428] = 0x610D, [2429] = 0x610E, [2430] = 0x6147, [2431] = 0x613E, + [2432] = 0x6128, [2433] = 0x6127, [2434] = 0x614A, [2435] = 0x613F, + [2436] = 0x613C, [2437] = 0x612C, [2438] = 0x6134, [2439] = 0x613D, + [2440] = 0x6142, [2441] = 0x6144, [2442] = 0x6173, [2443] = 0x6177, + [2444] = 0x6158, [2445] = 0x6159, [2446] = 0x615A, [2447] = 0x616B, + [2448] = 0x6174, [2449] = 0x616F, [2450] = 0x6165, [2451] = 0x6171, + [2452] = 0x615F, [2453] = 0x615D, [2454] = 0x6153, [2455] = 0x6175, + [2456] = 0x6199, [2457] = 0x6196, [2458] = 0x6187, [2459] = 0x61AC, + [2460] = 0x6194, [2461] = 0x619A, [2462] = 0x618A, [2463] = 0x6191, + [2464] = 0x61AB, [2465] = 0x61AE, [2466] = 0x61CC, [2467] = 0x61CA, + [2468] = 0x61C9, [2469] = 0x61F7, [2470] = 0x61C8, [2471] = 0x61C3, + [2472] = 0x61C6, [2473] = 0x61BA, [2474] = 0x61CB, [2475] = 0x7F79, + [2476] = 0x61CD, [2477] = 0x61E6, [2478] = 0x61E3, [2479] = 0x61F6, + [2480] = 0x61FA, [2481] = 0x61F4, [2482] = 0x61FF, [2483] = 0x61FD, + [2484] = 0x61FC, [2485] = 0x61FE, [2486] = 0x6200, [2487] = 0x6208, + [2488] = 0x6209, [2489] = 0x620D, [2490] = 0x620C, [2491] = 0x6214, + [2492] = 0x621B, [2496] = 0x621E, [2497] = 0x6221, [2498] = 0x622A, + [2499] = 0x622E, [2500] = 0x6230, [2501] = 0x6232, [2502] = 0x6233, + [2503] = 0x6241, [2504] = 0x624E, [2505] = 0x625E, [2506] = 0x6263, + [2507] = 0x625B, [2508] = 0x6260, [2509] = 0x6268, [2510] = 0x627C, + [2511] = 0x6282, [2512] = 0x6289, [2513] = 0x627E, [2514] = 0x6292, + [2515] = 0x6293, [2516] = 0x6296, [2517] = 0x62D4, [2518] = 0x6283, + [2519] = 0x6294, [2520] = 0x62D7, [2521] = 0x62D1, [2522] = 0x62BB, + [2523] = 0x62CF, [2524] = 0x62FF, [2525] = 0x62C6, [2526] = 0x64D4, + [2527] = 0x62C8, [2528] = 0x62DC, [2529] = 0x62CC, [2530] = 0x62CA, + [2531] = 0x62C2, [2532] = 0x62C7, [2533] = 0x629B, [2534] = 0x62C9, + [2535] = 0x630C, [2536] = 0x62EE, [2537] = 0x62F1, [2538] = 0x6327, + [2539] = 0x6302, [2540] = 0x6308, [2541] = 0x62EF, [2542] = 0x62F5, + [2543] = 0x6350, [2544] = 0x633E, [2545] = 0x634D, [2546] = 0x641C, + [2547] = 0x634F, [2548] = 0x6396, [2549] = 0x638E, [2550] = 0x6380, + [2551] = 0x63AB, [2552] = 0x6376, [2553] = 0x63A3, [2554] = 0x638F, + [2555] = 0x6389, [2556] = 0x639F, [2557] = 0x63B5, [2558] = 0x636B, + [2560] = 0x6369, [2561] = 0x63BE, [2562] = 0x63E9, [2563] = 0x63C0, + [2564] = 0x63C6, [2565] = 0x63E3, [2566] = 0x63C9, [2567] = 0x63D2, + [2568] = 0x63F6, [2569] = 0x63C4, [2570] = 0x6416, [2571] = 0x6434, + [2572] = 0x6406, [2573] = 0x6413, [2574] = 0x6426, [2575] = 0x6436, + [2576] = 0x651D, [2577] = 0x6417, [2578] = 0x6428, [2579] = 0x640F, + [2580] = 0x6467, [2581] = 0x646F, [2582] = 0x6476, [2583] = 0x644E, + [2584] = 0x652A, [2585] = 0x6495, [2586] = 0x6493, [2587] = 0x64A5, + [2588] = 0x64A9, [2589] = 0x6488, [2590] = 0x64BC, [2591] = 0x64DA, + [2592] = 0x64D2, [2593] = 0x64C5, [2594] = 0x64C7, [2595] = 0x64BB, + [2596] = 0x64D8, [2597] = 0x64C2, [2598] = 0x64F1, [2599] = 0x64E7, + [2600] = 0x8209, [2601] = 0x64E0, [2602] = 0x64E1, [2603] = 0x62AC, + [2604] = 0x64E3, [2605] = 0x64EF, [2606] = 0x652C, [2607] = 0x64F6, + [2608] = 0x64F4, [2609] = 0x64F2, [2610] = 0x64FA, [2611] = 0x6500, + [2612] = 0x64FD, [2613] = 0x6518, [2614] = 0x651C, [2615] = 0x6505, + [2616] = 0x6524, [2617] = 0x6523, [2618] = 0x652B, [2619] = 0x6534, + [2620] = 0x6535, [2621] = 0x6537, [2622] = 0x6536, [2623] = 0x6538, + [2624] = 0x754B, [2625] = 0x6548, [2626] = 0x6556, [2627] = 0x6555, + [2628] = 0x654D, [2629] = 0x6558, [2630] = 0x655E, [2631] = 0x655D, + [2632] = 0x6572, [2633] = 0x6578, [2634] = 0x6582, [2635] = 0x6583, + [2636] = 0x8B8A, [2637] = 0x659B, [2638] = 0x659F, [2639] = 0x65AB, + [2640] = 0x65B7, [2641] = 0x65C3, [2642] = 0x65C6, [2643] = 0x65C1, + [2644] = 0x65C4, [2645] = 0x65CC, [2646] = 0x65D2, [2647] = 0x65DB, + [2648] = 0x65D9, [2649] = 0x65E0, [2650] = 0x65E1, [2651] = 0x65F1, + [2652] = 0x6772, [2653] = 0x660A, [2654] = 0x6603, [2655] = 0x65FB, + [2656] = 0x6773, [2657] = 0x6635, [2658] = 0x6636, [2659] = 0x6634, + [2660] = 0x661C, [2661] = 0x664F, [2662] = 0x6644, [2663] = 0x6649, + [2664] = 0x6641, [2665] = 0x665E, [2666] = 0x665D, [2667] = 0x6664, + [2668] = 0x6667, [2669] = 0x6668, [2670] = 0x665F, [2671] = 0x6662, + [2672] = 0x6670, [2673] = 0x6683, [2674] = 0x6688, [2675] = 0x668E, + [2676] = 0x6689, [2677] = 0x6684, [2678] = 0x6698, [2679] = 0x669D, + [2680] = 0x66C1, [2681] = 0x66B9, [2682] = 0x66C9, [2683] = 0x66BE, + [2684] = 0x66BC, [2688] = 0x66C4, [2689] = 0x66B8, [2690] = 0x66D6, + [2691] = 0x66DA, [2692] = 0x66E0, [2693] = 0x663F, [2694] = 0x66E6, + [2695] = 0x66E9, [2696] = 0x66F0, [2697] = 0x66F5, [2698] = 0x66F7, + [2699] = 0x670F, [2700] = 0x6716, [2701] = 0x671E, [2702] = 0x6726, + [2703] = 0x6727, [2704] = 0x9738, [2705] = 0x672E, [2706] = 0x673F, + [2707] = 0x6736, [2708] = 0x6741, [2709] = 0x6738, [2710] = 0x6737, + [2711] = 0x6746, [2712] = 0x675E, [2713] = 0x6760, [2714] = 0x6759, + [2715] = 0x6763, [2716] = 0x6764, [2717] = 0x6789, [2718] = 0x6770, + [2719] = 0x67A9, [2720] = 0x677C, [2721] = 0x676A, [2722] = 0x678C, + [2723] = 0x678B, [2724] = 0x67A6, [2725] = 0x67A1, [2726] = 0x6785, + [2727] = 0x67B7, [2728] = 0x67EF, [2729] = 0x67B4, [2730] = 0x67EC, + [2731] = 0x67B3, [2732] = 0x67E9, [2733] = 0x67B8, [2734] = 0x67E4, + [2735] = 0x67DE, [2736] = 0x67DD, [2737] = 0x67E2, [2738] = 0x67EE, + [2739] = 0x67B9, [2740] = 0x67CE, [2741] = 0x67C6, [2742] = 0x67E7, + [2743] = 0x6A9C, [2744] = 0x681E, [2745] = 0x6846, [2746] = 0x6829, + [2747] = 0x6840, [2748] = 0x684D, [2749] = 0x6832, [2750] = 0x684E, + [2752] = 0x68B3, [2753] = 0x682B, [2754] = 0x6859, [2755] = 0x6863, + [2756] = 0x6877, [2757] = 0x687F, [2758] = 0x689F, [2759] = 0x688F, + [2760] = 0x68AD, [2761] = 0x6894, [2762] = 0x689D, [2763] = 0x689B, + [2764] = 0x6883, [2765] = 0x6AAE, [2766] = 0x68B9, [2767] = 0x6874, + [2768] = 0x68B5, [2769] = 0x68A0, [2770] = 0x68BA, [2771] = 0x690F, + [2772] = 0x688D, [2773] = 0x687E, [2774] = 0x6901, [2775] = 0x68CA, + [2776] = 0x6908, [2777] = 0x68D8, [2778] = 0x6922, [2779] = 0x6926, + [2780] = 0x68E1, [2781] = 0x690C, [2782] = 0x68CD, [2783] = 0x68D4, + [2784] = 0x68E7, [2785] = 0x68D5, [2786] = 0x6936, [2787] = 0x6912, + [2788] = 0x6904, [2789] = 0x68D7, [2790] = 0x68E3, [2791] = 0x6925, + [2792] = 0x68F9, [2793] = 0x68E0, [2794] = 0x68EF, [2795] = 0x6928, + [2796] = 0x692A, [2797] = 0x691A, [2798] = 0x6923, [2799] = 0x6921, + [2800] = 0x68C6, [2801] = 0x6979, [2802] = 0x6977, [2803] = 0x695C, + [2804] = 0x6978, [2805] = 0x696B, [2806] = 0x6954, [2807] = 0x697E, + [2808] = 0x696E, [2809] = 0x6939, [2810] = 0x6974, [2811] = 0x693D, + [2812] = 0x6959, [2813] = 0x6930, [2814] = 0x6961, [2815] = 0x695E, + [2816] = 0x695D, [2817] = 0x6981, [2818] = 0x696A, [2819] = 0x69B2, + [2820] = 0x69AE, [2821] = 0x69D0, [2822] = 0x69BF, [2823] = 0x69C1, + [2824] = 0x69D3, [2825] = 0x69BE, [2826] = 0x69CE, [2827] = 0x5BE8, + [2828] = 0x69CA, [2829] = 0x69DD, [2830] = 0x69BB, [2831] = 0x69C3, + [2832] = 0x69A7, [2833] = 0x6A2E, [2834] = 0x6991, [2835] = 0x69A0, + [2836] = 0x699C, [2837] = 0x6995, [2838] = 0x69B4, [2839] = 0x69DE, + [2840] = 0x69E8, [2841] = 0x6A02, [2842] = 0x6A1B, [2843] = 0x69FF, + [2844] = 0x6B0A, [2845] = 0x69F9, [2846] = 0x69F2, [2847] = 0x69E7, + [2848] = 0x6A05, [2849] = 0x69B1, [2850] = 0x6A1E, [2851] = 0x69ED, + [2852] = 0x6A14, [2853] = 0x69EB, [2854] = 0x6A0A, [2855] = 0x6A12, + [2856] = 0x6AC1, [2857] = 0x6A23, [2858] = 0x6A13, [2859] = 0x6A44, + [2860] = 0x6A0C, [2861] = 0x6A72, [2862] = 0x6A36, [2863] = 0x6A78, + [2864] = 0x6A47, [2865] = 0x6A62, [2866] = 0x6A59, [2867] = 0x6A66, + [2868] = 0x6A48, [2869] = 0x6A38, [2870] = 0x6A22, [2871] = 0x6A90, + [2872] = 0x6A8D, [2873] = 0x6AA0, [2874] = 0x6A84, [2875] = 0x6AA2, + [2876] = 0x6AA3, [2880] = 0x6A97, [2881] = 0x8617, [2882] = 0x6ABB, + [2883] = 0x6AC3, [2884] = 0x6AC2, [2885] = 0x6AB8, [2886] = 0x6AB3, + [2887] = 0x6AAC, [2888] = 0x6ADE, [2889] = 0x6AD1, [2890] = 0x6ADF, + [2891] = 0x6AAA, [2892] = 0x6ADA, [2893] = 0x6AEA, [2894] = 0x6AFB, + [2895] = 0x6B05, [2896] = 0x8616, [2897] = 0x6AFA, [2898] = 0x6B12, + [2899] = 0x6B16, [2900] = 0x9B31, [2901] = 0x6B1F, [2902] = 0x6B38, + [2903] = 0x6B37, [2904] = 0x76DC, [2905] = 0x6B39, [2906] = 0x98EE, + [2907] = 0x6B47, [2908] = 0x6B43, [2909] = 0x6B49, [2910] = 0x6B50, + [2911] = 0x6B59, [2912] = 0x6B54, [2913] = 0x6B5B, [2914] = 0x6B5F, + [2915] = 0x6B61, [2916] = 0x6B78, [2917] = 0x6B79, [2918] = 0x6B7F, + [2919] = 0x6B80, [2920] = 0x6B84, [2921] = 0x6B83, [2922] = 0x6B8D, + [2923] = 0x6B98, [2924] = 0x6B95, [2925] = 0x6B9E, [2926] = 0x6BA4, + [2927] = 0x6BAA, [2928] = 0x6BAB, [2929] = 0x6BAF, [2930] = 0x6BB2, + [2931] = 0x6BB1, [2932] = 0x6BB3, [2933] = 0x6BB7, [2934] = 0x6BBC, + [2935] = 0x6BC6, [2936] = 0x6BCB, [2937] = 0x6BD3, [2938] = 0x6BDF, + [2939] = 0x6BEC, [2940] = 0x6BEB, [2941] = 0x6BF3, [2942] = 0x6BEF, + [2944] = 0x9EBE, [2945] = 0x6C08, [2946] = 0x6C13, [2947] = 0x6C14, + [2948] = 0x6C1B, [2949] = 0x6C24, [2950] = 0x6C23, [2951] = 0x6C5E, + [2952] = 0x6C55, [2953] = 0x6C62, [2954] = 0x6C6A, [2955] = 0x6C82, + [2956] = 0x6C8D, [2957] = 0x6C9A, [2958] = 0x6C81, [2959] = 0x6C9B, + [2960] = 0x6C7E, [2961] = 0x6C68, [2962] = 0x6C73, [2963] = 0x6C92, + [2964] = 0x6C90, [2965] = 0x6CC4, [2966] = 0x6CF1, [2967] = 0x6CD3, + [2968] = 0x6CBD, [2969] = 0x6CD7, [2970] = 0x6CC5, [2971] = 0x6CDD, + [2972] = 0x6CAE, [2973] = 0x6CB1, [2974] = 0x6CBE, [2975] = 0x6CBA, + [2976] = 0x6CDB, [2977] = 0x6CEF, [2978] = 0x6CD9, [2979] = 0x6CEA, + [2980] = 0x6D1F, [2981] = 0x884D, [2982] = 0x6D36, [2983] = 0x6D2B, + [2984] = 0x6D3D, [2985] = 0x6D38, [2986] = 0x6D19, [2987] = 0x6D35, + [2988] = 0x6D33, [2989] = 0x6D12, [2990] = 0x6D0C, [2991] = 0x6D63, + [2992] = 0x6D93, [2993] = 0x6D64, [2994] = 0x6D5A, [2995] = 0x6D79, + [2996] = 0x6D59, [2997] = 0x6D8E, [2998] = 0x6D95, [2999] = 0x6FE4, + [3000] = 0x6D85, [3001] = 0x6DF9, [3002] = 0x6E15, [3003] = 0x6E0A, + [3004] = 0x6DB5, [3005] = 0x6DC7, [3006] = 0x6DE6, [3007] = 0x6DB8, + [3008] = 0x6DC6, [3009] = 0x6DEC, [3010] = 0x6DDE, [3011] = 0x6DCC, + [3012] = 0x6DE8, [3013] = 0x6DD2, [3014] = 0x6DC5, [3015] = 0x6DFA, + [3016] = 0x6DD9, [3017] = 0x6DE4, [3018] = 0x6DD5, [3019] = 0x6DEA, + [3020] = 0x6DEE, [3021] = 0x6E2D, [3022] = 0x6E6E, [3023] = 0x6E2E, + [3024] = 0x6E19, [3025] = 0x6E72, [3026] = 0x6E5F, [3027] = 0x6E3E, + [3028] = 0x6E23, [3029] = 0x6E6B, [3030] = 0x6E2B, [3031] = 0x6E76, + [3032] = 0x6E4D, [3033] = 0x6E1F, [3034] = 0x6E43, [3035] = 0x6E3A, + [3036] = 0x6E4E, [3037] = 0x6E24, [3038] = 0x6EFF, [3039] = 0x6E1D, + [3040] = 0x6E38, [3041] = 0x6E82, [3042] = 0x6EAA, [3043] = 0x6E98, + [3044] = 0x6EC9, [3045] = 0x6EB7, [3046] = 0x6ED3, [3047] = 0x6EBD, + [3048] = 0x6EAF, [3049] = 0x6EC4, [3050] = 0x6EB2, [3051] = 0x6ED4, + [3052] = 0x6ED5, [3053] = 0x6E8F, [3054] = 0x6EA5, [3055] = 0x6EC2, + [3056] = 0x6E9F, [3057] = 0x6F41, [3058] = 0x6F11, [3059] = 0x704C, + [3060] = 0x6EEC, [3061] = 0x6EF8, [3062] = 0x6EFE, [3063] = 0x6F3F, + [3064] = 0x6EF2, [3065] = 0x6F31, [3066] = 0x6EEF, [3067] = 0x6F32, + [3068] = 0x6ECC +}; + + +/* The following table can be generated from the file + unix/mappings/eastasia/jis/shiftjis.txt + from the Unicode CD (also available on their FTP server) using + the command + + egrep '^0x8[89][[:xdigit:]][[:xdigit:]]' \ + /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl + + where sjis.pl contains: + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n = 0; + while (<>) { + local($sjis, $ucs, %rest) = split; + $sjis = hex($sjis) - 0xe040; + local($sidx) = int($sjis / 256) * 192 + ($sjis % 256); + printf "\n " if (($n % 4) == 0); + ++$n; + printf " [%4d] = %s,", $sidx, $ucs; + } + print "\n"; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const uint16_t cjk_block4[3069] = +{ + + [ 0] = 0x6F3E, [ 1] = 0x6F13, [ 2] = 0x6EF7, [ 3] = 0x6F86, + [ 4] = 0x6F7A, [ 5] = 0x6F78, [ 6] = 0x6F81, [ 7] = 0x6F80, + [ 8] = 0x6F6F, [ 9] = 0x6F5B, [ 10] = 0x6FF3, [ 11] = 0x6F6D, + [ 12] = 0x6F82, [ 13] = 0x6F7C, [ 14] = 0x6F58, [ 15] = 0x6F8E, + [ 16] = 0x6F91, [ 17] = 0x6FC2, [ 18] = 0x6F66, [ 19] = 0x6FB3, + [ 20] = 0x6FA3, [ 21] = 0x6FA1, [ 22] = 0x6FA4, [ 23] = 0x6FB9, + [ 24] = 0x6FC6, [ 25] = 0x6FAA, [ 26] = 0x6FDF, [ 27] = 0x6FD5, + [ 28] = 0x6FEC, [ 29] = 0x6FD4, [ 30] = 0x6FD8, [ 31] = 0x6FF1, + [ 32] = 0x6FEE, [ 33] = 0x6FDB, [ 34] = 0x7009, [ 35] = 0x700B, + [ 36] = 0x6FFA, [ 37] = 0x7011, [ 38] = 0x7001, [ 39] = 0x700F, + [ 40] = 0x6FFE, [ 41] = 0x701B, [ 42] = 0x701A, [ 43] = 0x6F74, + [ 44] = 0x701D, [ 45] = 0x7018, [ 46] = 0x701F, [ 47] = 0x7030, + [ 48] = 0x703E, [ 49] = 0x7032, [ 50] = 0x7051, [ 51] = 0x7063, + [ 52] = 0x7099, [ 53] = 0x7092, [ 54] = 0x70AF, [ 55] = 0x70F1, + [ 56] = 0x70AC, [ 57] = 0x70B8, [ 58] = 0x70B3, [ 59] = 0x70AE, + [ 60] = 0x70DF, [ 61] = 0x70CB, [ 62] = 0x70DD, [ 64] = 0x70D9, + [ 65] = 0x7109, [ 66] = 0x70FD, [ 67] = 0x711C, [ 68] = 0x7119, + [ 69] = 0x7165, [ 70] = 0x7155, [ 71] = 0x7188, [ 72] = 0x7166, + [ 73] = 0x7162, [ 74] = 0x714C, [ 75] = 0x7156, [ 76] = 0x716C, + [ 77] = 0x718F, [ 78] = 0x71FB, [ 79] = 0x7184, [ 80] = 0x7195, + [ 81] = 0x71A8, [ 82] = 0x71AC, [ 83] = 0x71D7, [ 84] = 0x71B9, + [ 85] = 0x71BE, [ 86] = 0x71D2, [ 87] = 0x71C9, [ 88] = 0x71D4, + [ 89] = 0x71CE, [ 90] = 0x71E0, [ 91] = 0x71EC, [ 92] = 0x71E7, + [ 93] = 0x71F5, [ 94] = 0x71FC, [ 95] = 0x71F9, [ 96] = 0x71FF, + [ 97] = 0x720D, [ 98] = 0x7210, [ 99] = 0x721B, [ 100] = 0x7228, + [ 101] = 0x722D, [ 102] = 0x722C, [ 103] = 0x7230, [ 104] = 0x7232, + [ 105] = 0x723B, [ 106] = 0x723C, [ 107] = 0x723F, [ 108] = 0x7240, + [ 109] = 0x7246, [ 110] = 0x724B, [ 111] = 0x7258, [ 112] = 0x7274, + [ 113] = 0x727E, [ 114] = 0x7282, [ 115] = 0x7281, [ 116] = 0x7287, + [ 117] = 0x7292, [ 118] = 0x7296, [ 119] = 0x72A2, [ 120] = 0x72A7, + [ 121] = 0x72B9, [ 122] = 0x72B2, [ 123] = 0x72C3, [ 124] = 0x72C6, + [ 125] = 0x72C4, [ 126] = 0x72CE, [ 127] = 0x72D2, [ 128] = 0x72E2, + [ 129] = 0x72E0, [ 130] = 0x72E1, [ 131] = 0x72F9, [ 132] = 0x72F7, + [ 133] = 0x500F, [ 134] = 0x7317, [ 135] = 0x730A, [ 136] = 0x731C, + [ 137] = 0x7316, [ 138] = 0x731D, [ 139] = 0x7334, [ 140] = 0x732F, + [ 141] = 0x7329, [ 142] = 0x7325, [ 143] = 0x733E, [ 144] = 0x734E, + [ 145] = 0x734F, [ 146] = 0x9ED8, [ 147] = 0x7357, [ 148] = 0x736A, + [ 149] = 0x7368, [ 150] = 0x7370, [ 151] = 0x7378, [ 152] = 0x7375, + [ 153] = 0x737B, [ 154] = 0x737A, [ 155] = 0x73C8, [ 156] = 0x73B3, + [ 157] = 0x73CE, [ 158] = 0x73BB, [ 159] = 0x73C0, [ 160] = 0x73E5, + [ 161] = 0x73EE, [ 162] = 0x73DE, [ 163] = 0x74A2, [ 164] = 0x7405, + [ 165] = 0x746F, [ 166] = 0x7425, [ 167] = 0x73F8, [ 168] = 0x7432, + [ 169] = 0x743A, [ 170] = 0x7455, [ 171] = 0x743F, [ 172] = 0x745F, + [ 173] = 0x7459, [ 174] = 0x7441, [ 175] = 0x745C, [ 176] = 0x7469, + [ 177] = 0x7470, [ 178] = 0x7463, [ 179] = 0x746A, [ 180] = 0x7476, + [ 181] = 0x747E, [ 182] = 0x748B, [ 183] = 0x749E, [ 184] = 0x74A7, + [ 185] = 0x74CA, [ 186] = 0x74CF, [ 187] = 0x74D4, [ 188] = 0x73F1, + [ 192] = 0x74E0, [ 193] = 0x74E3, [ 194] = 0x74E7, [ 195] = 0x74E9, + [ 196] = 0x74EE, [ 197] = 0x74F2, [ 198] = 0x74F0, [ 199] = 0x74F1, + [ 200] = 0x74F8, [ 201] = 0x74F7, [ 202] = 0x7504, [ 203] = 0x7503, + [ 204] = 0x7505, [ 205] = 0x750C, [ 206] = 0x750E, [ 207] = 0x750D, + [ 208] = 0x7515, [ 209] = 0x7513, [ 210] = 0x751E, [ 211] = 0x7526, + [ 212] = 0x752C, [ 213] = 0x753C, [ 214] = 0x7544, [ 215] = 0x754D, + [ 216] = 0x754A, [ 217] = 0x7549, [ 218] = 0x755B, [ 219] = 0x7546, + [ 220] = 0x755A, [ 221] = 0x7569, [ 222] = 0x7564, [ 223] = 0x7567, + [ 224] = 0x756B, [ 225] = 0x756D, [ 226] = 0x7578, [ 227] = 0x7576, + [ 228] = 0x7586, [ 229] = 0x7587, [ 230] = 0x7574, [ 231] = 0x758A, + [ 232] = 0x7589, [ 233] = 0x7582, [ 234] = 0x7594, [ 235] = 0x759A, + [ 236] = 0x759D, [ 237] = 0x75A5, [ 238] = 0x75A3, [ 239] = 0x75C2, + [ 240] = 0x75B3, [ 241] = 0x75C3, [ 242] = 0x75B5, [ 243] = 0x75BD, + [ 244] = 0x75B8, [ 245] = 0x75BC, [ 246] = 0x75B1, [ 247] = 0x75CD, + [ 248] = 0x75CA, [ 249] = 0x75D2, [ 250] = 0x75D9, [ 251] = 0x75E3, + [ 252] = 0x75DE, [ 253] = 0x75FE, [ 254] = 0x75FF, [ 256] = 0x75FC, + [ 257] = 0x7601, [ 258] = 0x75F0, [ 259] = 0x75FA, [ 260] = 0x75F2, + [ 261] = 0x75F3, [ 262] = 0x760B, [ 263] = 0x760D, [ 264] = 0x7609, + [ 265] = 0x761F, [ 266] = 0x7627, [ 267] = 0x7620, [ 268] = 0x7621, + [ 269] = 0x7622, [ 270] = 0x7624, [ 271] = 0x7634, [ 272] = 0x7630, + [ 273] = 0x763B, [ 274] = 0x7647, [ 275] = 0x7648, [ 276] = 0x7646, + [ 277] = 0x765C, [ 278] = 0x7658, [ 279] = 0x7661, [ 280] = 0x7662, + [ 281] = 0x7668, [ 282] = 0x7669, [ 283] = 0x766A, [ 284] = 0x7667, + [ 285] = 0x766C, [ 286] = 0x7670, [ 287] = 0x7672, [ 288] = 0x7676, + [ 289] = 0x7678, [ 290] = 0x767C, [ 291] = 0x7680, [ 292] = 0x7683, + [ 293] = 0x7688, [ 294] = 0x768B, [ 295] = 0x768E, [ 296] = 0x7696, + [ 297] = 0x7693, [ 298] = 0x7699, [ 299] = 0x769A, [ 300] = 0x76B0, + [ 301] = 0x76B4, [ 302] = 0x76B8, [ 303] = 0x76B9, [ 304] = 0x76BA, + [ 305] = 0x76C2, [ 306] = 0x76CD, [ 307] = 0x76D6, [ 308] = 0x76D2, + [ 309] = 0x76DE, [ 310] = 0x76E1, [ 311] = 0x76E5, [ 312] = 0x76E7, + [ 313] = 0x76EA, [ 314] = 0x862F, [ 315] = 0x76FB, [ 316] = 0x7708, + [ 317] = 0x7707, [ 318] = 0x7704, [ 319] = 0x7729, [ 320] = 0x7724, + [ 321] = 0x771E, [ 322] = 0x7725, [ 323] = 0x7726, [ 324] = 0x771B, + [ 325] = 0x7737, [ 326] = 0x7738, [ 327] = 0x7747, [ 328] = 0x775A, + [ 329] = 0x7768, [ 330] = 0x776B, [ 331] = 0x775B, [ 332] = 0x7765, + [ 333] = 0x777F, [ 334] = 0x777E, [ 335] = 0x7779, [ 336] = 0x778E, + [ 337] = 0x778B, [ 338] = 0x7791, [ 339] = 0x77A0, [ 340] = 0x779E, + [ 341] = 0x77B0, [ 342] = 0x77B6, [ 343] = 0x77B9, [ 344] = 0x77BF, + [ 345] = 0x77BC, [ 346] = 0x77BD, [ 347] = 0x77BB, [ 348] = 0x77C7, + [ 349] = 0x77CD, [ 350] = 0x77D7, [ 351] = 0x77DA, [ 352] = 0x77DC, + [ 353] = 0x77E3, [ 354] = 0x77EE, [ 355] = 0x77FC, [ 356] = 0x780C, + [ 357] = 0x7812, [ 358] = 0x7926, [ 359] = 0x7820, [ 360] = 0x792A, + [ 361] = 0x7845, [ 362] = 0x788E, [ 363] = 0x7874, [ 364] = 0x7886, + [ 365] = 0x787C, [ 366] = 0x789A, [ 367] = 0x788C, [ 368] = 0x78A3, + [ 369] = 0x78B5, [ 370] = 0x78AA, [ 371] = 0x78AF, [ 372] = 0x78D1, + [ 373] = 0x78C6, [ 374] = 0x78CB, [ 375] = 0x78D4, [ 376] = 0x78BE, + [ 377] = 0x78BC, [ 378] = 0x78C5, [ 379] = 0x78CA, [ 380] = 0x78EC, + [ 384] = 0x78E7, [ 385] = 0x78DA, [ 386] = 0x78FD, [ 387] = 0x78F4, + [ 388] = 0x7907, [ 389] = 0x7912, [ 390] = 0x7911, [ 391] = 0x7919, + [ 392] = 0x792C, [ 393] = 0x792B, [ 394] = 0x7940, [ 395] = 0x7960, + [ 396] = 0x7957, [ 397] = 0x795F, [ 398] = 0x795A, [ 399] = 0x7955, + [ 400] = 0x7953, [ 401] = 0x797A, [ 402] = 0x797F, [ 403] = 0x798A, + [ 404] = 0x799D, [ 405] = 0x79A7, [ 406] = 0x9F4B, [ 407] = 0x79AA, + [ 408] = 0x79AE, [ 409] = 0x79B3, [ 410] = 0x79B9, [ 411] = 0x79BA, + [ 412] = 0x79C9, [ 413] = 0x79D5, [ 414] = 0x79E7, [ 415] = 0x79EC, + [ 416] = 0x79E1, [ 417] = 0x79E3, [ 418] = 0x7A08, [ 419] = 0x7A0D, + [ 420] = 0x7A18, [ 421] = 0x7A19, [ 422] = 0x7A20, [ 423] = 0x7A1F, + [ 424] = 0x7980, [ 425] = 0x7A31, [ 426] = 0x7A3B, [ 427] = 0x7A3E, + [ 428] = 0x7A37, [ 429] = 0x7A43, [ 430] = 0x7A57, [ 431] = 0x7A49, + [ 432] = 0x7A61, [ 433] = 0x7A62, [ 434] = 0x7A69, [ 435] = 0x9F9D, + [ 436] = 0x7A70, [ 437] = 0x7A79, [ 438] = 0x7A7D, [ 439] = 0x7A88, + [ 440] = 0x7A97, [ 441] = 0x7A95, [ 442] = 0x7A98, [ 443] = 0x7A96, + [ 444] = 0x7AA9, [ 445] = 0x7AC8, [ 446] = 0x7AB0, [ 448] = 0x7AB6, + [ 449] = 0x7AC5, [ 450] = 0x7AC4, [ 451] = 0x7ABF, [ 452] = 0x9083, + [ 453] = 0x7AC7, [ 454] = 0x7ACA, [ 455] = 0x7ACD, [ 456] = 0x7ACF, + [ 457] = 0x7AD5, [ 458] = 0x7AD3, [ 459] = 0x7AD9, [ 460] = 0x7ADA, + [ 461] = 0x7ADD, [ 462] = 0x7AE1, [ 463] = 0x7AE2, [ 464] = 0x7AE6, + [ 465] = 0x7AED, [ 466] = 0x7AF0, [ 467] = 0x7B02, [ 468] = 0x7B0F, + [ 469] = 0x7B0A, [ 470] = 0x7B06, [ 471] = 0x7B33, [ 472] = 0x7B18, + [ 473] = 0x7B19, [ 474] = 0x7B1E, [ 475] = 0x7B35, [ 476] = 0x7B28, + [ 477] = 0x7B36, [ 478] = 0x7B50, [ 479] = 0x7B7A, [ 480] = 0x7B04, + [ 481] = 0x7B4D, [ 482] = 0x7B0B, [ 483] = 0x7B4C, [ 484] = 0x7B45, + [ 485] = 0x7B75, [ 486] = 0x7B65, [ 487] = 0x7B74, [ 488] = 0x7B67, + [ 489] = 0x7B70, [ 490] = 0x7B71, [ 491] = 0x7B6C, [ 492] = 0x7B6E, + [ 493] = 0x7B9D, [ 494] = 0x7B98, [ 495] = 0x7B9F, [ 496] = 0x7B8D, + [ 497] = 0x7B9C, [ 498] = 0x7B9A, [ 499] = 0x7B8B, [ 500] = 0x7B92, + [ 501] = 0x7B8F, [ 502] = 0x7B5D, [ 503] = 0x7B99, [ 504] = 0x7BCB, + [ 505] = 0x7BC1, [ 506] = 0x7BCC, [ 507] = 0x7BCF, [ 508] = 0x7BB4, + [ 509] = 0x7BC6, [ 510] = 0x7BDD, [ 511] = 0x7BE9, [ 512] = 0x7C11, + [ 513] = 0x7C14, [ 514] = 0x7BE6, [ 515] = 0x7BE5, [ 516] = 0x7C60, + [ 517] = 0x7C00, [ 518] = 0x7C07, [ 519] = 0x7C13, [ 520] = 0x7BF3, + [ 521] = 0x7BF7, [ 522] = 0x7C17, [ 523] = 0x7C0D, [ 524] = 0x7BF6, + [ 525] = 0x7C23, [ 526] = 0x7C27, [ 527] = 0x7C2A, [ 528] = 0x7C1F, + [ 529] = 0x7C37, [ 530] = 0x7C2B, [ 531] = 0x7C3D, [ 532] = 0x7C4C, + [ 533] = 0x7C43, [ 534] = 0x7C54, [ 535] = 0x7C4F, [ 536] = 0x7C40, + [ 537] = 0x7C50, [ 538] = 0x7C58, [ 539] = 0x7C5F, [ 540] = 0x7C64, + [ 541] = 0x7C56, [ 542] = 0x7C65, [ 543] = 0x7C6C, [ 544] = 0x7C75, + [ 545] = 0x7C83, [ 546] = 0x7C90, [ 547] = 0x7CA4, [ 548] = 0x7CAD, + [ 549] = 0x7CA2, [ 550] = 0x7CAB, [ 551] = 0x7CA1, [ 552] = 0x7CA8, + [ 553] = 0x7CB3, [ 554] = 0x7CB2, [ 555] = 0x7CB1, [ 556] = 0x7CAE, + [ 557] = 0x7CB9, [ 558] = 0x7CBD, [ 559] = 0x7CC0, [ 560] = 0x7CC5, + [ 561] = 0x7CC2, [ 562] = 0x7CD8, [ 563] = 0x7CD2, [ 564] = 0x7CDC, + [ 565] = 0x7CE2, [ 566] = 0x9B3B, [ 567] = 0x7CEF, [ 568] = 0x7CF2, + [ 569] = 0x7CF4, [ 570] = 0x7CF6, [ 571] = 0x7CFA, [ 572] = 0x7D06, + [ 576] = 0x7D02, [ 577] = 0x7D1C, [ 578] = 0x7D15, [ 579] = 0x7D0A, + [ 580] = 0x7D45, [ 581] = 0x7D4B, [ 582] = 0x7D2E, [ 583] = 0x7D32, + [ 584] = 0x7D3F, [ 585] = 0x7D35, [ 586] = 0x7D46, [ 587] = 0x7D73, + [ 588] = 0x7D56, [ 589] = 0x7D4E, [ 590] = 0x7D72, [ 591] = 0x7D68, + [ 592] = 0x7D6E, [ 593] = 0x7D4F, [ 594] = 0x7D63, [ 595] = 0x7D93, + [ 596] = 0x7D89, [ 597] = 0x7D5B, [ 598] = 0x7D8F, [ 599] = 0x7D7D, + [ 600] = 0x7D9B, [ 601] = 0x7DBA, [ 602] = 0x7DAE, [ 603] = 0x7DA3, + [ 604] = 0x7DB5, [ 605] = 0x7DC7, [ 606] = 0x7DBD, [ 607] = 0x7DAB, + [ 608] = 0x7E3D, [ 609] = 0x7DA2, [ 610] = 0x7DAF, [ 611] = 0x7DDC, + [ 612] = 0x7DB8, [ 613] = 0x7D9F, [ 614] = 0x7DB0, [ 615] = 0x7DD8, + [ 616] = 0x7DDD, [ 617] = 0x7DE4, [ 618] = 0x7DDE, [ 619] = 0x7DFB, + [ 620] = 0x7DF2, [ 621] = 0x7DE1, [ 622] = 0x7E05, [ 623] = 0x7E0A, + [ 624] = 0x7E23, [ 625] = 0x7E21, [ 626] = 0x7E12, [ 627] = 0x7E31, + [ 628] = 0x7E1F, [ 629] = 0x7E09, [ 630] = 0x7E0B, [ 631] = 0x7E22, + [ 632] = 0x7E46, [ 633] = 0x7E66, [ 634] = 0x7E3B, [ 635] = 0x7E35, + [ 636] = 0x7E39, [ 637] = 0x7E43, [ 638] = 0x7E37, [ 640] = 0x7E32, + [ 641] = 0x7E3A, [ 642] = 0x7E67, [ 643] = 0x7E5D, [ 644] = 0x7E56, + [ 645] = 0x7E5E, [ 646] = 0x7E59, [ 647] = 0x7E5A, [ 648] = 0x7E79, + [ 649] = 0x7E6A, [ 650] = 0x7E69, [ 651] = 0x7E7C, [ 652] = 0x7E7B, + [ 653] = 0x7E83, [ 654] = 0x7DD5, [ 655] = 0x7E7D, [ 656] = 0x8FAE, + [ 657] = 0x7E7F, [ 658] = 0x7E88, [ 659] = 0x7E89, [ 660] = 0x7E8C, + [ 661] = 0x7E92, [ 662] = 0x7E90, [ 663] = 0x7E93, [ 664] = 0x7E94, + [ 665] = 0x7E96, [ 666] = 0x7E8E, [ 667] = 0x7E9B, [ 668] = 0x7E9C, + [ 669] = 0x7F38, [ 670] = 0x7F3A, [ 671] = 0x7F45, [ 672] = 0x7F4C, + [ 673] = 0x7F4D, [ 674] = 0x7F4E, [ 675] = 0x7F50, [ 676] = 0x7F51, + [ 677] = 0x7F55, [ 678] = 0x7F54, [ 679] = 0x7F58, [ 680] = 0x7F5F, + [ 681] = 0x7F60, [ 682] = 0x7F68, [ 683] = 0x7F69, [ 684] = 0x7F67, + [ 685] = 0x7F78, [ 686] = 0x7F82, [ 687] = 0x7F86, [ 688] = 0x7F83, + [ 689] = 0x7F88, [ 690] = 0x7F87, [ 691] = 0x7F8C, [ 692] = 0x7F94, + [ 693] = 0x7F9E, [ 694] = 0x7F9D, [ 695] = 0x7F9A, [ 696] = 0x7FA3, + [ 697] = 0x7FAF, [ 698] = 0x7FB2, [ 699] = 0x7FB9, [ 700] = 0x7FAE, + [ 701] = 0x7FB6, [ 702] = 0x7FB8, [ 703] = 0x8B71, [ 704] = 0x7FC5, + [ 705] = 0x7FC6, [ 706] = 0x7FCA, [ 707] = 0x7FD5, [ 708] = 0x7FD4, + [ 709] = 0x7FE1, [ 710] = 0x7FE6, [ 711] = 0x7FE9, [ 712] = 0x7FF3, + [ 713] = 0x7FF9, [ 714] = 0x98DC, [ 715] = 0x8006, [ 716] = 0x8004, + [ 717] = 0x800B, [ 718] = 0x8012, [ 719] = 0x8018, [ 720] = 0x8019, + [ 721] = 0x801C, [ 722] = 0x8021, [ 723] = 0x8028, [ 724] = 0x803F, + [ 725] = 0x803B, [ 726] = 0x804A, [ 727] = 0x8046, [ 728] = 0x8052, + [ 729] = 0x8058, [ 730] = 0x805A, [ 731] = 0x805F, [ 732] = 0x8062, + [ 733] = 0x8068, [ 734] = 0x8073, [ 735] = 0x8072, [ 736] = 0x8070, + [ 737] = 0x8076, [ 738] = 0x8079, [ 739] = 0x807D, [ 740] = 0x807F, + [ 741] = 0x8084, [ 742] = 0x8086, [ 743] = 0x8085, [ 744] = 0x809B, + [ 745] = 0x8093, [ 746] = 0x809A, [ 747] = 0x80AD, [ 748] = 0x5190, + [ 749] = 0x80AC, [ 750] = 0x80DB, [ 751] = 0x80E5, [ 752] = 0x80D9, + [ 753] = 0x80DD, [ 754] = 0x80C4, [ 755] = 0x80DA, [ 756] = 0x80D6, + [ 757] = 0x8109, [ 758] = 0x80EF, [ 759] = 0x80F1, [ 760] = 0x811B, + [ 761] = 0x8129, [ 762] = 0x8123, [ 763] = 0x812F, [ 764] = 0x814B, + [ 768] = 0x968B, [ 769] = 0x8146, [ 770] = 0x813E, [ 771] = 0x8153, + [ 772] = 0x8151, [ 773] = 0x80FC, [ 774] = 0x8171, [ 775] = 0x816E, + [ 776] = 0x8165, [ 777] = 0x8166, [ 778] = 0x8174, [ 779] = 0x8183, + [ 780] = 0x8188, [ 781] = 0x818A, [ 782] = 0x8180, [ 783] = 0x8182, + [ 784] = 0x81A0, [ 785] = 0x8195, [ 786] = 0x81A4, [ 787] = 0x81A3, + [ 788] = 0x815F, [ 789] = 0x8193, [ 790] = 0x81A9, [ 791] = 0x81B0, + [ 792] = 0x81B5, [ 793] = 0x81BE, [ 794] = 0x81B8, [ 795] = 0x81BD, + [ 796] = 0x81C0, [ 797] = 0x81C2, [ 798] = 0x81BA, [ 799] = 0x81C9, + [ 800] = 0x81CD, [ 801] = 0x81D1, [ 802] = 0x81D9, [ 803] = 0x81D8, + [ 804] = 0x81C8, [ 805] = 0x81DA, [ 806] = 0x81DF, [ 807] = 0x81E0, + [ 808] = 0x81E7, [ 809] = 0x81FA, [ 810] = 0x81FB, [ 811] = 0x81FE, + [ 812] = 0x8201, [ 813] = 0x8202, [ 814] = 0x8205, [ 815] = 0x8207, + [ 816] = 0x820A, [ 817] = 0x820D, [ 818] = 0x8210, [ 819] = 0x8216, + [ 820] = 0x8229, [ 821] = 0x822B, [ 822] = 0x8238, [ 823] = 0x8233, + [ 824] = 0x8240, [ 825] = 0x8259, [ 826] = 0x8258, [ 827] = 0x825D, + [ 828] = 0x825A, [ 829] = 0x825F, [ 830] = 0x8264, [ 832] = 0x8262, + [ 833] = 0x8268, [ 834] = 0x826A, [ 835] = 0x826B, [ 836] = 0x822E, + [ 837] = 0x8271, [ 838] = 0x8277, [ 839] = 0x8278, [ 840] = 0x827E, + [ 841] = 0x828D, [ 842] = 0x8292, [ 843] = 0x82AB, [ 844] = 0x829F, + [ 845] = 0x82BB, [ 846] = 0x82AC, [ 847] = 0x82E1, [ 848] = 0x82E3, + [ 849] = 0x82DF, [ 850] = 0x82D2, [ 851] = 0x82F4, [ 852] = 0x82F3, + [ 853] = 0x82FA, [ 854] = 0x8393, [ 855] = 0x8303, [ 856] = 0x82FB, + [ 857] = 0x82F9, [ 858] = 0x82DE, [ 859] = 0x8306, [ 860] = 0x82DC, + [ 861] = 0x8309, [ 862] = 0x82D9, [ 863] = 0x8335, [ 864] = 0x8334, + [ 865] = 0x8316, [ 866] = 0x8332, [ 867] = 0x8331, [ 868] = 0x8340, + [ 869] = 0x8339, [ 870] = 0x8350, [ 871] = 0x8345, [ 872] = 0x832F, + [ 873] = 0x832B, [ 874] = 0x8317, [ 875] = 0x8318, [ 876] = 0x8385, + [ 877] = 0x839A, [ 878] = 0x83AA, [ 879] = 0x839F, [ 880] = 0x83A2, + [ 881] = 0x8396, [ 882] = 0x8323, [ 883] = 0x838E, [ 884] = 0x8387, + [ 885] = 0x838A, [ 886] = 0x837C, [ 887] = 0x83B5, [ 888] = 0x8373, + [ 889] = 0x8375, [ 890] = 0x83A0, [ 891] = 0x8389, [ 892] = 0x83A8, + [ 893] = 0x83F4, [ 894] = 0x8413, [ 895] = 0x83EB, [ 896] = 0x83CE, + [ 897] = 0x83FD, [ 898] = 0x8403, [ 899] = 0x83D8, [ 900] = 0x840B, + [ 901] = 0x83C1, [ 902] = 0x83F7, [ 903] = 0x8407, [ 904] = 0x83E0, + [ 905] = 0x83F2, [ 906] = 0x840D, [ 907] = 0x8422, [ 908] = 0x8420, + [ 909] = 0x83BD, [ 910] = 0x8438, [ 911] = 0x8506, [ 912] = 0x83FB, + [ 913] = 0x846D, [ 914] = 0x842A, [ 915] = 0x843C, [ 916] = 0x855A, + [ 917] = 0x8484, [ 918] = 0x8477, [ 919] = 0x846B, [ 920] = 0x84AD, + [ 921] = 0x846E, [ 922] = 0x8482, [ 923] = 0x8469, [ 924] = 0x8446, + [ 925] = 0x842C, [ 926] = 0x846F, [ 927] = 0x8479, [ 928] = 0x8435, + [ 929] = 0x84CA, [ 930] = 0x8462, [ 931] = 0x84B9, [ 932] = 0x84BF, + [ 933] = 0x849F, [ 934] = 0x84D9, [ 935] = 0x84CD, [ 936] = 0x84BB, + [ 937] = 0x84DA, [ 938] = 0x84D0, [ 939] = 0x84C1, [ 940] = 0x84C6, + [ 941] = 0x84D6, [ 942] = 0x84A1, [ 943] = 0x8521, [ 944] = 0x84FF, + [ 945] = 0x84F4, [ 946] = 0x8517, [ 947] = 0x8518, [ 948] = 0x852C, + [ 949] = 0x851F, [ 950] = 0x8515, [ 951] = 0x8514, [ 952] = 0x84FC, + [ 953] = 0x8540, [ 954] = 0x8563, [ 955] = 0x8558, [ 956] = 0x8548, + [ 960] = 0x8541, [ 961] = 0x8602, [ 962] = 0x854B, [ 963] = 0x8555, + [ 964] = 0x8580, [ 965] = 0x85A4, [ 966] = 0x8588, [ 967] = 0x8591, + [ 968] = 0x858A, [ 969] = 0x85A8, [ 970] = 0x856D, [ 971] = 0x8594, + [ 972] = 0x859B, [ 973] = 0x85EA, [ 974] = 0x8587, [ 975] = 0x859C, + [ 976] = 0x8577, [ 977] = 0x857E, [ 978] = 0x8590, [ 979] = 0x85C9, + [ 980] = 0x85BA, [ 981] = 0x85CF, [ 982] = 0x85B9, [ 983] = 0x85D0, + [ 984] = 0x85D5, [ 985] = 0x85DD, [ 986] = 0x85E5, [ 987] = 0x85DC, + [ 988] = 0x85F9, [ 989] = 0x860A, [ 990] = 0x8613, [ 991] = 0x860B, + [ 992] = 0x85FE, [ 993] = 0x85FA, [ 994] = 0x8606, [ 995] = 0x8622, + [ 996] = 0x861A, [ 997] = 0x8630, [ 998] = 0x863F, [ 999] = 0x864D, + [1000] = 0x4E55, [1001] = 0x8654, [1002] = 0x865F, [1003] = 0x8667, + [1004] = 0x8671, [1005] = 0x8693, [1006] = 0x86A3, [1007] = 0x86A9, + [1008] = 0x86AA, [1009] = 0x868B, [1010] = 0x868C, [1011] = 0x86B6, + [1012] = 0x86AF, [1013] = 0x86C4, [1014] = 0x86C6, [1015] = 0x86B0, + [1016] = 0x86C9, [1017] = 0x8823, [1018] = 0x86AB, [1019] = 0x86D4, + [1020] = 0x86DE, [1021] = 0x86E9, [1022] = 0x86EC, [1024] = 0x86DF, + [1025] = 0x86DB, [1026] = 0x86EF, [1027] = 0x8712, [1028] = 0x8706, + [1029] = 0x8708, [1030] = 0x8700, [1031] = 0x8703, [1032] = 0x86FB, + [1033] = 0x8711, [1034] = 0x8709, [1035] = 0x870D, [1036] = 0x86F9, + [1037] = 0x870A, [1038] = 0x8734, [1039] = 0x873F, [1040] = 0x8737, + [1041] = 0x873B, [1042] = 0x8725, [1043] = 0x8729, [1044] = 0x871A, + [1045] = 0x8760, [1046] = 0x875F, [1047] = 0x8778, [1048] = 0x874C, + [1049] = 0x874E, [1050] = 0x8774, [1051] = 0x8757, [1052] = 0x8768, + [1053] = 0x876E, [1054] = 0x8759, [1055] = 0x8753, [1056] = 0x8763, + [1057] = 0x876A, [1058] = 0x8805, [1059] = 0x87A2, [1060] = 0x879F, + [1061] = 0x8782, [1062] = 0x87AF, [1063] = 0x87CB, [1064] = 0x87BD, + [1065] = 0x87C0, [1066] = 0x87D0, [1067] = 0x96D6, [1068] = 0x87AB, + [1069] = 0x87C4, [1070] = 0x87B3, [1071] = 0x87C7, [1072] = 0x87C6, + [1073] = 0x87BB, [1074] = 0x87EF, [1075] = 0x87F2, [1076] = 0x87E0, + [1077] = 0x880F, [1078] = 0x880D, [1079] = 0x87FE, [1080] = 0x87F6, + [1081] = 0x87F7, [1082] = 0x880E, [1083] = 0x87D2, [1084] = 0x8811, + [1085] = 0x8816, [1086] = 0x8815, [1087] = 0x8822, [1088] = 0x8821, + [1089] = 0x8831, [1090] = 0x8836, [1091] = 0x8839, [1092] = 0x8827, + [1093] = 0x883B, [1094] = 0x8844, [1095] = 0x8842, [1096] = 0x8852, + [1097] = 0x8859, [1098] = 0x885E, [1099] = 0x8862, [1100] = 0x886B, + [1101] = 0x8881, [1102] = 0x887E, [1103] = 0x889E, [1104] = 0x8875, + [1105] = 0x887D, [1106] = 0x88B5, [1107] = 0x8872, [1108] = 0x8882, + [1109] = 0x8897, [1110] = 0x8892, [1111] = 0x88AE, [1112] = 0x8899, + [1113] = 0x88A2, [1114] = 0x888D, [1115] = 0x88A4, [1116] = 0x88B0, + [1117] = 0x88BF, [1118] = 0x88B1, [1119] = 0x88C3, [1120] = 0x88C4, + [1121] = 0x88D4, [1122] = 0x88D8, [1123] = 0x88D9, [1124] = 0x88DD, + [1125] = 0x88F9, [1126] = 0x8902, [1127] = 0x88FC, [1128] = 0x88F4, + [1129] = 0x88E8, [1130] = 0x88F2, [1131] = 0x8904, [1132] = 0x890C, + [1133] = 0x890A, [1134] = 0x8913, [1135] = 0x8943, [1136] = 0x891E, + [1137] = 0x8925, [1138] = 0x892A, [1139] = 0x892B, [1140] = 0x8941, + [1141] = 0x8944, [1142] = 0x893B, [1143] = 0x8936, [1144] = 0x8938, + [1145] = 0x894C, [1146] = 0x891D, [1147] = 0x8960, [1148] = 0x895E, + [1152] = 0x8966, [1153] = 0x8964, [1154] = 0x896D, [1155] = 0x896A, + [1156] = 0x896F, [1157] = 0x8974, [1158] = 0x8977, [1159] = 0x897E, + [1160] = 0x8983, [1161] = 0x8988, [1162] = 0x898A, [1163] = 0x8993, + [1164] = 0x8998, [1165] = 0x89A1, [1166] = 0x89A9, [1167] = 0x89A6, + [1168] = 0x89AC, [1169] = 0x89AF, [1170] = 0x89B2, [1171] = 0x89BA, + [1172] = 0x89BD, [1173] = 0x89BF, [1174] = 0x89C0, [1175] = 0x89DA, + [1176] = 0x89DC, [1177] = 0x89DD, [1178] = 0x89E7, [1179] = 0x89F4, + [1180] = 0x89F8, [1181] = 0x8A03, [1182] = 0x8A16, [1183] = 0x8A10, + [1184] = 0x8A0C, [1185] = 0x8A1B, [1186] = 0x8A1D, [1187] = 0x8A25, + [1188] = 0x8A36, [1189] = 0x8A41, [1190] = 0x8A5B, [1191] = 0x8A52, + [1192] = 0x8A46, [1193] = 0x8A48, [1194] = 0x8A7C, [1195] = 0x8A6D, + [1196] = 0x8A6C, [1197] = 0x8A62, [1198] = 0x8A85, [1199] = 0x8A82, + [1200] = 0x8A84, [1201] = 0x8AA8, [1202] = 0x8AA1, [1203] = 0x8A91, + [1204] = 0x8AA5, [1205] = 0x8AA6, [1206] = 0x8A9A, [1207] = 0x8AA3, + [1208] = 0x8AC4, [1209] = 0x8ACD, [1210] = 0x8AC2, [1211] = 0x8ADA, + [1212] = 0x8AEB, [1213] = 0x8AF3, [1214] = 0x8AE7, [1216] = 0x8AE4, + [1217] = 0x8AF1, [1218] = 0x8B14, [1219] = 0x8AE0, [1220] = 0x8AE2, + [1221] = 0x8AF7, [1222] = 0x8ADE, [1223] = 0x8ADB, [1224] = 0x8B0C, + [1225] = 0x8B07, [1226] = 0x8B1A, [1227] = 0x8AE1, [1228] = 0x8B16, + [1229] = 0x8B10, [1230] = 0x8B17, [1231] = 0x8B20, [1232] = 0x8B33, + [1233] = 0x97AB, [1234] = 0x8B26, [1235] = 0x8B2B, [1236] = 0x8B3E, + [1237] = 0x8B28, [1238] = 0x8B41, [1239] = 0x8B4C, [1240] = 0x8B4F, + [1241] = 0x8B4E, [1242] = 0x8B49, [1243] = 0x8B56, [1244] = 0x8B5B, + [1245] = 0x8B5A, [1246] = 0x8B6B, [1247] = 0x8B5F, [1248] = 0x8B6C, + [1249] = 0x8B6F, [1250] = 0x8B74, [1251] = 0x8B7D, [1252] = 0x8B80, + [1253] = 0x8B8C, [1254] = 0x8B8E, [1255] = 0x8B92, [1256] = 0x8B93, + [1257] = 0x8B96, [1258] = 0x8B99, [1259] = 0x8B9A, [1260] = 0x8C3A, + [1261] = 0x8C41, [1262] = 0x8C3F, [1263] = 0x8C48, [1264] = 0x8C4C, + [1265] = 0x8C4E, [1266] = 0x8C50, [1267] = 0x8C55, [1268] = 0x8C62, + [1269] = 0x8C6C, [1270] = 0x8C78, [1271] = 0x8C7A, [1272] = 0x8C82, + [1273] = 0x8C89, [1274] = 0x8C85, [1275] = 0x8C8A, [1276] = 0x8C8D, + [1277] = 0x8C8E, [1278] = 0x8C94, [1279] = 0x8C7C, [1280] = 0x8C98, + [1281] = 0x621D, [1282] = 0x8CAD, [1283] = 0x8CAA, [1284] = 0x8CBD, + [1285] = 0x8CB2, [1286] = 0x8CB3, [1287] = 0x8CAE, [1288] = 0x8CB6, + [1289] = 0x8CC8, [1290] = 0x8CC1, [1291] = 0x8CE4, [1292] = 0x8CE3, + [1293] = 0x8CDA, [1294] = 0x8CFD, [1295] = 0x8CFA, [1296] = 0x8CFB, + [1297] = 0x8D04, [1298] = 0x8D05, [1299] = 0x8D0A, [1300] = 0x8D07, + [1301] = 0x8D0F, [1302] = 0x8D0D, [1303] = 0x8D10, [1304] = 0x9F4E, + [1305] = 0x8D13, [1306] = 0x8CCD, [1307] = 0x8D14, [1308] = 0x8D16, + [1309] = 0x8D67, [1310] = 0x8D6D, [1311] = 0x8D71, [1312] = 0x8D73, + [1313] = 0x8D81, [1314] = 0x8D99, [1315] = 0x8DC2, [1316] = 0x8DBE, + [1317] = 0x8DBA, [1318] = 0x8DCF, [1319] = 0x8DDA, [1320] = 0x8DD6, + [1321] = 0x8DCC, [1322] = 0x8DDB, [1323] = 0x8DCB, [1324] = 0x8DEA, + [1325] = 0x8DEB, [1326] = 0x8DDF, [1327] = 0x8DE3, [1328] = 0x8DFC, + [1329] = 0x8E08, [1330] = 0x8E09, [1331] = 0x8DFF, [1332] = 0x8E1D, + [1333] = 0x8E1E, [1334] = 0x8E10, [1335] = 0x8E1F, [1336] = 0x8E42, + [1337] = 0x8E35, [1338] = 0x8E30, [1339] = 0x8E34, [1340] = 0x8E4A, + [1344] = 0x8E47, [1345] = 0x8E49, [1346] = 0x8E4C, [1347] = 0x8E50, + [1348] = 0x8E48, [1349] = 0x8E59, [1350] = 0x8E64, [1351] = 0x8E60, + [1352] = 0x8E2A, [1353] = 0x8E63, [1354] = 0x8E55, [1355] = 0x8E76, + [1356] = 0x8E72, [1357] = 0x8E7C, [1358] = 0x8E81, [1359] = 0x8E87, + [1360] = 0x8E85, [1361] = 0x8E84, [1362] = 0x8E8B, [1363] = 0x8E8A, + [1364] = 0x8E93, [1365] = 0x8E91, [1366] = 0x8E94, [1367] = 0x8E99, + [1368] = 0x8EAA, [1369] = 0x8EA1, [1370] = 0x8EAC, [1371] = 0x8EB0, + [1372] = 0x8EC6, [1373] = 0x8EB1, [1374] = 0x8EBE, [1375] = 0x8EC5, + [1376] = 0x8EC8, [1377] = 0x8ECB, [1378] = 0x8EDB, [1379] = 0x8EE3, + [1380] = 0x8EFC, [1381] = 0x8EFB, [1382] = 0x8EEB, [1383] = 0x8EFE, + [1384] = 0x8F0A, [1385] = 0x8F05, [1386] = 0x8F15, [1387] = 0x8F12, + [1388] = 0x8F19, [1389] = 0x8F13, [1390] = 0x8F1C, [1391] = 0x8F1F, + [1392] = 0x8F1B, [1393] = 0x8F0C, [1394] = 0x8F26, [1395] = 0x8F33, + [1396] = 0x8F3B, [1397] = 0x8F39, [1398] = 0x8F45, [1399] = 0x8F42, + [1400] = 0x8F3E, [1401] = 0x8F4C, [1402] = 0x8F49, [1403] = 0x8F46, + [1404] = 0x8F4E, [1405] = 0x8F57, [1406] = 0x8F5C, [1408] = 0x8F62, + [1409] = 0x8F63, [1410] = 0x8F64, [1411] = 0x8F9C, [1412] = 0x8F9F, + [1413] = 0x8FA3, [1414] = 0x8FAD, [1415] = 0x8FAF, [1416] = 0x8FB7, + [1417] = 0x8FDA, [1418] = 0x8FE5, [1419] = 0x8FE2, [1420] = 0x8FEA, + [1421] = 0x8FEF, [1422] = 0x9087, [1423] = 0x8FF4, [1424] = 0x9005, + [1425] = 0x8FF9, [1426] = 0x8FFA, [1427] = 0x9011, [1428] = 0x9015, + [1429] = 0x9021, [1430] = 0x900D, [1431] = 0x901E, [1432] = 0x9016, + [1433] = 0x900B, [1434] = 0x9027, [1435] = 0x9036, [1436] = 0x9035, + [1437] = 0x9039, [1438] = 0x8FF8, [1439] = 0x904F, [1440] = 0x9050, + [1441] = 0x9051, [1442] = 0x9052, [1443] = 0x900E, [1444] = 0x9049, + [1445] = 0x903E, [1446] = 0x9056, [1447] = 0x9058, [1448] = 0x905E, + [1449] = 0x9068, [1450] = 0x906F, [1451] = 0x9076, [1452] = 0x96A8, + [1453] = 0x9072, [1454] = 0x9082, [1455] = 0x907D, [1456] = 0x9081, + [1457] = 0x9080, [1458] = 0x908A, [1459] = 0x9089, [1460] = 0x908F, + [1461] = 0x90A8, [1462] = 0x90AF, [1463] = 0x90B1, [1464] = 0x90B5, + [1465] = 0x90E2, [1466] = 0x90E4, [1467] = 0x6248, [1468] = 0x90DB, + [1469] = 0x9102, [1470] = 0x9112, [1471] = 0x9119, [1472] = 0x9132, + [1473] = 0x9130, [1474] = 0x914A, [1475] = 0x9156, [1476] = 0x9158, + [1477] = 0x9163, [1478] = 0x9165, [1479] = 0x9169, [1480] = 0x9173, + [1481] = 0x9172, [1482] = 0x918B, [1483] = 0x9189, [1484] = 0x9182, + [1485] = 0x91A2, [1486] = 0x91AB, [1487] = 0x91AF, [1488] = 0x91AA, + [1489] = 0x91B5, [1490] = 0x91B4, [1491] = 0x91BA, [1492] = 0x91C0, + [1493] = 0x91C1, [1494] = 0x91C9, [1495] = 0x91CB, [1496] = 0x91D0, + [1497] = 0x91D6, [1498] = 0x91DF, [1499] = 0x91E1, [1500] = 0x91DB, + [1501] = 0x91FC, [1502] = 0x91F5, [1503] = 0x91F6, [1504] = 0x921E, + [1505] = 0x91FF, [1506] = 0x9214, [1507] = 0x922C, [1508] = 0x9215, + [1509] = 0x9211, [1510] = 0x925E, [1511] = 0x9257, [1512] = 0x9245, + [1513] = 0x9249, [1514] = 0x9264, [1515] = 0x9248, [1516] = 0x9295, + [1517] = 0x923F, [1518] = 0x924B, [1519] = 0x9250, [1520] = 0x929C, + [1521] = 0x9296, [1522] = 0x9293, [1523] = 0x929B, [1524] = 0x925A, + [1525] = 0x92CF, [1526] = 0x92B9, [1527] = 0x92B7, [1528] = 0x92E9, + [1529] = 0x930F, [1530] = 0x92FA, [1531] = 0x9344, [1532] = 0x932E, + [1536] = 0x9319, [1537] = 0x9322, [1538] = 0x931A, [1539] = 0x9323, + [1540] = 0x933A, [1541] = 0x9335, [1542] = 0x933B, [1543] = 0x935C, + [1544] = 0x9360, [1545] = 0x937C, [1546] = 0x936E, [1547] = 0x9356, + [1548] = 0x93B0, [1549] = 0x93AC, [1550] = 0x93AD, [1551] = 0x9394, + [1552] = 0x93B9, [1553] = 0x93D6, [1554] = 0x93D7, [1555] = 0x93E8, + [1556] = 0x93E5, [1557] = 0x93D8, [1558] = 0x93C3, [1559] = 0x93DD, + [1560] = 0x93D0, [1561] = 0x93C8, [1562] = 0x93E4, [1563] = 0x941A, + [1564] = 0x9414, [1565] = 0x9413, [1566] = 0x9403, [1567] = 0x9407, + [1568] = 0x9410, [1569] = 0x9436, [1570] = 0x942B, [1571] = 0x9435, + [1572] = 0x9421, [1573] = 0x943A, [1574] = 0x9441, [1575] = 0x9452, + [1576] = 0x9444, [1577] = 0x945B, [1578] = 0x9460, [1579] = 0x9462, + [1580] = 0x945E, [1581] = 0x946A, [1582] = 0x9229, [1583] = 0x9470, + [1584] = 0x9475, [1585] = 0x9477, [1586] = 0x947D, [1587] = 0x945A, + [1588] = 0x947C, [1589] = 0x947E, [1590] = 0x9481, [1591] = 0x947F, + [1592] = 0x9582, [1593] = 0x9587, [1594] = 0x958A, [1595] = 0x9594, + [1596] = 0x9596, [1597] = 0x9598, [1598] = 0x9599, [1600] = 0x95A0, + [1601] = 0x95A8, [1602] = 0x95A7, [1603] = 0x95AD, [1604] = 0x95BC, + [1605] = 0x95BB, [1606] = 0x95B9, [1607] = 0x95BE, [1608] = 0x95CA, + [1609] = 0x6FF6, [1610] = 0x95C3, [1611] = 0x95CD, [1612] = 0x95CC, + [1613] = 0x95D5, [1614] = 0x95D4, [1615] = 0x95D6, [1616] = 0x95DC, + [1617] = 0x95E1, [1618] = 0x95E5, [1619] = 0x95E2, [1620] = 0x9621, + [1621] = 0x9628, [1622] = 0x962E, [1623] = 0x962F, [1624] = 0x9642, + [1625] = 0x964C, [1626] = 0x964F, [1627] = 0x964B, [1628] = 0x9677, + [1629] = 0x965C, [1630] = 0x965E, [1631] = 0x965D, [1632] = 0x965F, + [1633] = 0x9666, [1634] = 0x9672, [1635] = 0x966C, [1636] = 0x968D, + [1637] = 0x9698, [1638] = 0x9695, [1639] = 0x9697, [1640] = 0x96AA, + [1641] = 0x96A7, [1642] = 0x96B1, [1643] = 0x96B2, [1644] = 0x96B0, + [1645] = 0x96B4, [1646] = 0x96B6, [1647] = 0x96B8, [1648] = 0x96B9, + [1649] = 0x96CE, [1650] = 0x96CB, [1651] = 0x96C9, [1652] = 0x96CD, + [1653] = 0x894D, [1654] = 0x96DC, [1655] = 0x970D, [1656] = 0x96D5, + [1657] = 0x96F9, [1658] = 0x9704, [1659] = 0x9706, [1660] = 0x9708, + [1661] = 0x9713, [1662] = 0x970E, [1663] = 0x9711, [1664] = 0x970F, + [1665] = 0x9716, [1666] = 0x9719, [1667] = 0x9724, [1668] = 0x972A, + [1669] = 0x9730, [1670] = 0x9739, [1671] = 0x973D, [1672] = 0x973E, + [1673] = 0x9744, [1674] = 0x9746, [1675] = 0x9748, [1676] = 0x9742, + [1677] = 0x9749, [1678] = 0x975C, [1679] = 0x9760, [1680] = 0x9764, + [1681] = 0x9766, [1682] = 0x9768, [1683] = 0x52D2, [1684] = 0x976B, + [1685] = 0x9771, [1686] = 0x9779, [1687] = 0x9785, [1688] = 0x977C, + [1689] = 0x9781, [1690] = 0x977A, [1691] = 0x9786, [1692] = 0x978B, + [1693] = 0x978F, [1694] = 0x9790, [1695] = 0x979C, [1696] = 0x97A8, + [1697] = 0x97A6, [1698] = 0x97A3, [1699] = 0x97B3, [1700] = 0x97B4, + [1701] = 0x97C3, [1702] = 0x97C6, [1703] = 0x97C8, [1704] = 0x97CB, + [1705] = 0x97DC, [1706] = 0x97ED, [1707] = 0x9F4F, [1708] = 0x97F2, + [1709] = 0x7ADF, [1710] = 0x97F6, [1711] = 0x97F5, [1712] = 0x980F, + [1713] = 0x980C, [1714] = 0x9838, [1715] = 0x9824, [1716] = 0x9821, + [1717] = 0x9837, [1718] = 0x983D, [1719] = 0x9846, [1720] = 0x984F, + [1721] = 0x984B, [1722] = 0x986B, [1723] = 0x986F, [1724] = 0x9870, + [1728] = 0x9871, [1729] = 0x9874, [1730] = 0x9873, [1731] = 0x98AA, + [1732] = 0x98AF, [1733] = 0x98B1, [1734] = 0x98B6, [1735] = 0x98C4, + [1736] = 0x98C3, [1737] = 0x98C6, [1738] = 0x98E9, [1739] = 0x98EB, + [1740] = 0x9903, [1741] = 0x9909, [1742] = 0x9912, [1743] = 0x9914, + [1744] = 0x9918, [1745] = 0x9921, [1746] = 0x991D, [1747] = 0x991E, + [1748] = 0x9924, [1749] = 0x9920, [1750] = 0x992C, [1751] = 0x992E, + [1752] = 0x993D, [1753] = 0x993E, [1754] = 0x9942, [1755] = 0x9949, + [1756] = 0x9945, [1757] = 0x9950, [1758] = 0x994B, [1759] = 0x9951, + [1760] = 0x9952, [1761] = 0x994C, [1762] = 0x9955, [1763] = 0x9997, + [1764] = 0x9998, [1765] = 0x99A5, [1766] = 0x99AD, [1767] = 0x99AE, + [1768] = 0x99BC, [1769] = 0x99DF, [1770] = 0x99DB, [1771] = 0x99DD, + [1772] = 0x99D8, [1773] = 0x99D1, [1774] = 0x99ED, [1775] = 0x99EE, + [1776] = 0x99F1, [1777] = 0x99F2, [1778] = 0x99FB, [1779] = 0x99F8, + [1780] = 0x9A01, [1781] = 0x9A0F, [1782] = 0x9A05, [1783] = 0x99E2, + [1784] = 0x9A19, [1785] = 0x9A2B, [1786] = 0x9A37, [1787] = 0x9A45, + [1788] = 0x9A42, [1789] = 0x9A40, [1790] = 0x9A43, [1792] = 0x9A3E, + [1793] = 0x9A55, [1794] = 0x9A4D, [1795] = 0x9A5B, [1796] = 0x9A57, + [1797] = 0x9A5F, [1798] = 0x9A62, [1799] = 0x9A65, [1800] = 0x9A64, + [1801] = 0x9A69, [1802] = 0x9A6B, [1803] = 0x9A6A, [1804] = 0x9AAD, + [1805] = 0x9AB0, [1806] = 0x9ABC, [1807] = 0x9AC0, [1808] = 0x9ACF, + [1809] = 0x9AD1, [1810] = 0x9AD3, [1811] = 0x9AD4, [1812] = 0x9ADE, + [1813] = 0x9ADF, [1814] = 0x9AE2, [1815] = 0x9AE3, [1816] = 0x9AE6, + [1817] = 0x9AEF, [1818] = 0x9AEB, [1819] = 0x9AEE, [1820] = 0x9AF4, + [1821] = 0x9AF1, [1822] = 0x9AF7, [1823] = 0x9AFB, [1824] = 0x9B06, + [1825] = 0x9B18, [1826] = 0x9B1A, [1827] = 0x9B1F, [1828] = 0x9B22, + [1829] = 0x9B23, [1830] = 0x9B25, [1831] = 0x9B27, [1832] = 0x9B28, + [1833] = 0x9B29, [1834] = 0x9B2A, [1835] = 0x9B2E, [1836] = 0x9B2F, + [1837] = 0x9B32, [1838] = 0x9B44, [1839] = 0x9B43, [1840] = 0x9B4F, + [1841] = 0x9B4D, [1842] = 0x9B4E, [1843] = 0x9B51, [1844] = 0x9B58, + [1845] = 0x9B74, [1846] = 0x9B93, [1847] = 0x9B83, [1848] = 0x9B91, + [1849] = 0x9B96, [1850] = 0x9B97, [1851] = 0x9B9F, [1852] = 0x9BA0, + [1853] = 0x9BA8, [1854] = 0x9BB4, [1855] = 0x9BC0, [1856] = 0x9BCA, + [1857] = 0x9BB9, [1858] = 0x9BC6, [1859] = 0x9BCF, [1860] = 0x9BD1, + [1861] = 0x9BD2, [1862] = 0x9BE3, [1863] = 0x9BE2, [1864] = 0x9BE4, + [1865] = 0x9BD4, [1866] = 0x9BE1, [1867] = 0x9C3A, [1868] = 0x9BF2, + [1869] = 0x9BF1, [1870] = 0x9BF0, [1871] = 0x9C15, [1872] = 0x9C14, + [1873] = 0x9C09, [1874] = 0x9C13, [1875] = 0x9C0C, [1876] = 0x9C06, + [1877] = 0x9C08, [1878] = 0x9C12, [1879] = 0x9C0A, [1880] = 0x9C04, + [1881] = 0x9C2E, [1882] = 0x9C1B, [1883] = 0x9C25, [1884] = 0x9C24, + [1885] = 0x9C21, [1886] = 0x9C30, [1887] = 0x9C47, [1888] = 0x9C32, + [1889] = 0x9C46, [1890] = 0x9C3E, [1891] = 0x9C5A, [1892] = 0x9C60, + [1893] = 0x9C67, [1894] = 0x9C76, [1895] = 0x9C78, [1896] = 0x9CE7, + [1897] = 0x9CEC, [1898] = 0x9CF0, [1899] = 0x9D09, [1900] = 0x9D08, + [1901] = 0x9CEB, [1902] = 0x9D03, [1903] = 0x9D06, [1904] = 0x9D2A, + [1905] = 0x9D26, [1906] = 0x9DAF, [1907] = 0x9D23, [1908] = 0x9D1F, + [1909] = 0x9D44, [1910] = 0x9D15, [1911] = 0x9D12, [1912] = 0x9D41, + [1913] = 0x9D3F, [1914] = 0x9D3E, [1915] = 0x9D46, [1916] = 0x9D48, + [1920] = 0x9D5D, [1921] = 0x9D5E, [1922] = 0x9D64, [1923] = 0x9D51, + [1924] = 0x9D50, [1925] = 0x9D59, [1926] = 0x9D72, [1927] = 0x9D89, + [1928] = 0x9D87, [1929] = 0x9DAB, [1930] = 0x9D6F, [1931] = 0x9D7A, + [1932] = 0x9D9A, [1933] = 0x9DA4, [1934] = 0x9DA9, [1935] = 0x9DB2, + [1936] = 0x9DC4, [1937] = 0x9DC1, [1938] = 0x9DBB, [1939] = 0x9DB8, + [1940] = 0x9DBA, [1941] = 0x9DC6, [1942] = 0x9DCF, [1943] = 0x9DC2, + [1944] = 0x9DD9, [1945] = 0x9DD3, [1946] = 0x9DF8, [1947] = 0x9DE6, + [1948] = 0x9DED, [1949] = 0x9DEF, [1950] = 0x9DFD, [1951] = 0x9E1A, + [1952] = 0x9E1B, [1953] = 0x9E1E, [1954] = 0x9E75, [1955] = 0x9E79, + [1956] = 0x9E7D, [1957] = 0x9E81, [1958] = 0x9E88, [1959] = 0x9E8B, + [1960] = 0x9E8C, [1961] = 0x9E92, [1962] = 0x9E95, [1963] = 0x9E91, + [1964] = 0x9E9D, [1965] = 0x9EA5, [1966] = 0x9EA9, [1967] = 0x9EB8, + [1968] = 0x9EAA, [1969] = 0x9EAD, [1970] = 0x9761, [1971] = 0x9ECC, + [1972] = 0x9ECE, [1973] = 0x9ECF, [1974] = 0x9ED0, [1975] = 0x9ED4, + [1976] = 0x9EDC, [1977] = 0x9EDE, [1978] = 0x9EDD, [1979] = 0x9EE0, + [1980] = 0x9EE5, [1981] = 0x9EE8, [1982] = 0x9EEF, [1984] = 0x9EF4, + [1985] = 0x9EF6, [1986] = 0x9EF7, [1987] = 0x9EF9, [1988] = 0x9EFB, + [1989] = 0x9EFC, [1990] = 0x9EFD, [1991] = 0x9F07, [1992] = 0x9F08, + [1993] = 0x76B7, [1994] = 0x9F15, [1995] = 0x9F21, [1996] = 0x9F2C, + [1997] = 0x9F3E, [1998] = 0x9F4A, [1999] = 0x9F52, [2000] = 0x9F54, + [2001] = 0x9F63, [2002] = 0x9F5F, [2003] = 0x9F60, [2004] = 0x9F61, + [2005] = 0x9F66, [2006] = 0x9F67, [2007] = 0x9F6C, [2008] = 0x9F6A, + [2009] = 0x9F77, [2010] = 0x9F72, [2011] = 0x9F76, [2012] = 0x9F95, + [2013] = 0x9F9C, [2014] = 0x9FA0, [2015] = 0x582F, [2016] = 0x69C7, + [2017] = 0x9059, [2018] = 0x7464, [2019] = 0x51DC, [2020] = 0x7199, +}; + + + + +/* The following table can be generated using + + awk '/^0x/ { print $2, $1; }' < .../eastasia/jis/shiftjis.txt | + egrep "^0x00[[:xdigit:]][[:xdigit:]]" | + sort -u | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $sjis, %rest) = split; + local($u)=hex($ucs4); + local($s)=hex($sjis); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u, + $s < 0x100 ? $s : int($s/256), $s < 0x100 ? 0 : $s&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The only problem is that the shiftjis.txt file does not contain the + mapping for the characters 0x00 to 0x1f. We add them ourself. +*/ +static const char from_ucs4_lat1[0xf8][2] = +{ + [0x0000] = "\x00\x00", [0x0001] = "\x01\x00", [0x0002] = "\x02\x00", + [0x0003] = "\x03\x00", [0x0004] = "\x04\x00", [0x0005] = "\x05\x00", + [0x0006] = "\x06\x00", [0x0007] = "\x07\x00", [0x0008] = "\x08\x00", + [0x0009] = "\x09\x00", [0x000a] = "\x0a\x00", [0x000b] = "\x0b\x00", + [0x000c] = "\x0c\x00", [0x000d] = "\x0d\x00", [0x000e] = "\x0e\x00", + [0x000f] = "\x0f\x00", [0x0010] = "\x10\x00", [0x0011] = "\x11\x00", + [0x0012] = "\x12\x00", [0x0013] = "\x13\x00", [0x0014] = "\x14\x00", + [0x0015] = "\x15\x00", [0x0016] = "\x16\x00", [0x0017] = "\x17\x00", + [0x0018] = "\x18\x00", [0x0019] = "\x19\x00", [0x001a] = "\x1a\x00", + [0x001b] = "\x1b\x00", [0x001c] = "\x1c\x00", [0x001d] = "\x1d\x00", + [0x001e] = "\x1e\x00", [0x001f] = "\x1f\x00", [0x0020] = "\x20\x00", + [0x0021] = "\x21\x00", [0x0022] = "\x22\x00", [0x0023] = "\x23\x00", + [0x0024] = "\x24\x00", [0x0025] = "\x25\x00", [0x0026] = "\x26\x00", + [0x0027] = "\x27\x00", [0x0028] = "\x28\x00", [0x0029] = "\x29\x00", + [0x002a] = "\x2a\x00", [0x002b] = "\x2b\x00", [0x002c] = "\x2c\x00", + [0x002d] = "\x2d\x00", [0x002e] = "\x2e\x00", [0x002f] = "\x2f\x00", + [0x0030] = "\x30\x00", [0x0031] = "\x31\x00", [0x0032] = "\x32\x00", + [0x0033] = "\x33\x00", [0x0034] = "\x34\x00", [0x0035] = "\x35\x00", + [0x0036] = "\x36\x00", [0x0037] = "\x37\x00", [0x0038] = "\x38\x00", + [0x0039] = "\x39\x00", [0x003a] = "\x3a\x00", [0x003b] = "\x3b\x00", + [0x003c] = "\x3c\x00", [0x003d] = "\x3d\x00", [0x003e] = "\x3e\x00", + [0x003f] = "\x3f\x00", [0x0040] = "\x40\x00", [0x0041] = "\x41\x00", + [0x0042] = "\x42\x00", [0x0043] = "\x43\x00", [0x0044] = "\x44\x00", + [0x0045] = "\x45\x00", [0x0046] = "\x46\x00", [0x0047] = "\x47\x00", + [0x0048] = "\x48\x00", [0x0049] = "\x49\x00", [0x004a] = "\x4a\x00", + [0x004b] = "\x4b\x00", [0x004c] = "\x4c\x00", [0x004d] = "\x4d\x00", + [0x004e] = "\x4e\x00", [0x004f] = "\x4f\x00", [0x0050] = "\x50\x00", + [0x0051] = "\x51\x00", [0x0052] = "\x52\x00", [0x0053] = "\x53\x00", + [0x0054] = "\x54\x00", [0x0055] = "\x55\x00", [0x0056] = "\x56\x00", + [0x0057] = "\x57\x00", [0x0058] = "\x58\x00", [0x0059] = "\x59\x00", + [0x005a] = "\x5a\x00", [0x005b] = "\x5b\x00", [0x005c] = "\x81\x5f", + [0x005d] = "\x5d\x00", [0x005e] = "\x5e\x00", [0x005f] = "\x5f\x00", + [0x0060] = "\x60\x00", [0x0061] = "\x61\x00", [0x0062] = "\x62\x00", + [0x0063] = "\x63\x00", [0x0064] = "\x64\x00", [0x0065] = "\x65\x00", + [0x0066] = "\x66\x00", [0x0067] = "\x67\x00", [0x0068] = "\x68\x00", + [0x0069] = "\x69\x00", [0x006a] = "\x6a\x00", [0x006b] = "\x6b\x00", + [0x006c] = "\x6c\x00", [0x006d] = "\x6d\x00", [0x006e] = "\x6e\x00", + [0x006f] = "\x6f\x00", [0x0070] = "\x70\x00", [0x0071] = "\x71\x00", + [0x0072] = "\x72\x00", [0x0073] = "\x73\x00", [0x0074] = "\x74\x00", + [0x0075] = "\x75\x00", [0x0076] = "\x76\x00", [0x0077] = "\x77\x00", + [0x0078] = "\x78\x00", [0x0079] = "\x79\x00", [0x007a] = "\x7a\x00", + [0x007b] = "\x7b\x00", [0x007c] = "\x7c\x00", [0x007d] = "\x7d\x00", + [0x00a2] = "\x81\x91", [0x00a3] = "\x81\x92", [0x00a5] = "\x5c\x00", + [0x00a7] = "\x81\x98", [0x00a8] = "\x81\x4e", [0x00ac] = "\x81\xca", + [0x00b0] = "\x81\x8b", [0x00b1] = "\x81\x7d", [0x00b4] = "\x81\x4c", + [0x00b6] = "\x81\xf7", [0x00d7] = "\x81\x7e", [0x00f7] = "\x81\x80" +}; + + +/* The following table can be generated using + + awk '/^0x/ { print $2, $1; }' < .../eastasia/jis/shiftjis.txt | + egrep "^0x0[34][[:xdigit:]][[:xdigit:]]" | + sort -u | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $sjis, %rest) = split; + local($u)=hex($ucs4); + local($s)=hex($sjis); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x391, + $s < 0x100 ? $s : int($s/256), $s < 0x100 ? 0 : $s&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char from_ucs4_greek[193][2] = +{ + [0x0000] = "\x83\x9f", [0x0001] = "\x83\xa0", [0x0002] = "\x83\xa1", + [0x0003] = "\x83\xa2", [0x0004] = "\x83\xa3", [0x0005] = "\x83\xa4", + [0x0006] = "\x83\xa5", [0x0007] = "\x83\xa6", [0x0008] = "\x83\xa7", + [0x0009] = "\x83\xa8", [0x000a] = "\x83\xa9", [0x000b] = "\x83\xaa", + [0x000c] = "\x83\xab", [0x000d] = "\x83\xac", [0x000e] = "\x83\xad", + [0x000f] = "\x83\xae", [0x0010] = "\x83\xaf", [0x0012] = "\x83\xb0", + [0x0013] = "\x83\xb1", [0x0014] = "\x83\xb2", [0x0015] = "\x83\xb3", + [0x0016] = "\x83\xb4", [0x0017] = "\x83\xb5", [0x0018] = "\x83\xb6", + [0x0020] = "\x83\xbf", [0x0021] = "\x83\xc0", [0x0022] = "\x83\xc1", + [0x0023] = "\x83\xc2", [0x0024] = "\x83\xc3", [0x0025] = "\x83\xc4", + [0x0026] = "\x83\xc5", [0x0027] = "\x83\xc6", [0x0028] = "\x83\xc7", + [0x0029] = "\x83\xc8", [0x002a] = "\x83\xc9", [0x002b] = "\x83\xca", + [0x002c] = "\x83\xcb", [0x002d] = "\x83\xcc", [0x002e] = "\x83\xcd", + [0x002f] = "\x83\xce", [0x0030] = "\x83\xcf", [0x0032] = "\x83\xd0", + [0x0033] = "\x83\xd1", [0x0034] = "\x83\xd2", [0x0035] = "\x83\xd3", + [0x0036] = "\x83\xd4", [0x0037] = "\x83\xd5", [0x0038] = "\x83\xd6", + [0x0070] = "\x84\x46", [0x007f] = "\x84\x40", [0x0080] = "\x84\x41", + [0x0081] = "\x84\x42", [0x0082] = "\x84\x43", [0x0083] = "\x84\x44", + [0x0084] = "\x84\x45", [0x0085] = "\x84\x47", [0x0086] = "\x84\x48", + [0x0087] = "\x84\x49", [0x0088] = "\x84\x4a", [0x0089] = "\x84\x4b", + [0x008a] = "\x84\x4c", [0x008b] = "\x84\x4d", [0x008c] = "\x84\x4e", + [0x008d] = "\x84\x4f", [0x008e] = "\x84\x50", [0x008f] = "\x84\x51", + [0x0090] = "\x84\x52", [0x0091] = "\x84\x53", [0x0092] = "\x84\x54", + [0x0093] = "\x84\x55", [0x0094] = "\x84\x56", [0x0095] = "\x84\x57", + [0x0096] = "\x84\x58", [0x0097] = "\x84\x59", [0x0098] = "\x84\x5a", + [0x0099] = "\x84\x5b", [0x009a] = "\x84\x5c", [0x009b] = "\x84\x5d", + [0x009c] = "\x84\x5e", [0x009d] = "\x84\x5f", [0x009e] = "\x84\x60", + [0x009f] = "\x84\x70", [0x00a0] = "\x84\x71", [0x00a1] = "\x84\x72", + [0x00a2] = "\x84\x73", [0x00a3] = "\x84\x74", [0x00a4] = "\x84\x75", + [0x00a5] = "\x84\x77", [0x00a6] = "\x84\x78", [0x00a7] = "\x84\x79", + [0x00a8] = "\x84\x7a", [0x00a9] = "\x84\x7b", [0x00aa] = "\x84\x7c", + [0x00ab] = "\x84\x7d", [0x00ac] = "\x84\x7e", [0x00ad] = "\x84\x80", + [0x00ae] = "\x84\x81", [0x00af] = "\x84\x82", [0x00b0] = "\x84\x83", + [0x00b1] = "\x84\x84", [0x00b2] = "\x84\x85", [0x00b3] = "\x84\x86", + [0x00b4] = "\x84\x87", [0x00b5] = "\x84\x88", [0x00b6] = "\x84\x89", + [0x00b7] = "\x84\x8a", [0x00b8] = "\x84\x8b", [0x00b9] = "\x84\x8c", + [0x00ba] = "\x84\x8d", [0x00bb] = "\x84\x8e", [0x00bc] = "\x84\x8f", + [0x00bd] = "\x84\x90", [0x00be] = "\x84\x91", [0x00c0] = "\x84\x76" +}; + + +/* The mapping of the Kanji is horrible. The glyphs covered by Shift JIS + are spreaded all around the Unicode CJK area. We use one big table + since using the gaps will not buy us much. + + The following table can be generated using + + awk '/^0x/ { print $2, $1; }' < ...eastasia/jis/shiftjis.txt | + egrep "^0x[2-9][[:xdigit:]][[:xdigit:]][[:xdigit:]]" | + sort -u | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $sjis, %rest) = split; + local($u)=hex($ucs4); + local($s)=hex($sjis); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x2010, + $s < 0x100 ? $s : int($s/256), $s < 0x100 ? 0 : $s&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char from_ucs4_cjk[32657][2] = +{ + [0x0000] = "\x81\x5d", [0x0005] = "\x81\x5c", [0x0006] = "\x81\x61", + [0x0008] = "\x81\x65", [0x0009] = "\x81\x66", [0x000c] = "\x81\x67", + [0x000d] = "\x81\x68", [0x0010] = "\x81\xf5", [0x0011] = "\x81\xf6", + [0x0015] = "\x81\x64", [0x0016] = "\x81\x63", [0x0020] = "\x81\xf1", + [0x0022] = "\x81\x8c", [0x0023] = "\x81\x8d", [0x002b] = "\x81\xa6", + [0x002e] = "\x7e\x00", [0x00f3] = "\x81\x8e", [0x011b] = "\x81\xf0", + [0x0180] = "\x81\xa9", [0x0181] = "\x81\xaa", [0x0182] = "\x81\xa8", + [0x0183] = "\x81\xab", [0x01c2] = "\x81\xcb", [0x01c4] = "\x81\xcc", + [0x01f0] = "\x81\xcd", [0x01f2] = "\x81\xdd", [0x01f3] = "\x81\xce", + [0x01f7] = "\x81\xde", [0x01f8] = "\x81\xb8", [0x01fb] = "\x81\xb9", + [0x0202] = "\x81\x7c", [0x020a] = "\x81\xe3", [0x020d] = "\x81\xe5", + [0x020e] = "\x81\x87", [0x0210] = "\x81\xda", [0x0217] = "\x81\xc8", + [0x0218] = "\x81\xc9", [0x0219] = "\x81\xbf", [0x021a] = "\x81\xbe", + [0x021b] = "\x81\xe7", [0x021c] = "\x81\xe8", [0x0224] = "\x81\x88", + [0x0225] = "\x81\xe6", [0x022d] = "\x81\xe4", [0x0242] = "\x81\xe0", + [0x0250] = "\x81\x82", [0x0251] = "\x81\xdf", [0x0256] = "\x81\x85", + [0x0257] = "\x81\x86", [0x025a] = "\x81\xe1", [0x025b] = "\x81\xe2", + [0x0272] = "\x81\xbc", [0x0273] = "\x81\xbd", [0x0276] = "\x81\xba", + [0x0277] = "\x81\xbb", [0x0295] = "\x81\xdb", [0x0302] = "\x81\xdc", + [0x04f0] = "\x84\x9f", [0x04f1] = "\x84\xaa", [0x04f2] = "\x84\xa0", + [0x04f3] = "\x84\xab", [0x04fc] = "\x84\xa1", [0x04ff] = "\x84\xac", + [0x0500] = "\x84\xa2", [0x0503] = "\x84\xad", [0x0504] = "\x84\xa4", + [0x0507] = "\x84\xaf", [0x0508] = "\x84\xa3", [0x050b] = "\x84\xae", + [0x050c] = "\x84\xa5", [0x050d] = "\x84\xba", [0x0510] = "\x84\xb5", + [0x0513] = "\x84\xb0", [0x0514] = "\x84\xa7", [0x0515] = "\x84\xbc", + [0x0518] = "\x84\xb7", [0x051b] = "\x84\xb2", [0x051c] = "\x84\xa6", + [0x051f] = "\x84\xb6", [0x0520] = "\x84\xbb", [0x0523] = "\x84\xb1", + [0x0524] = "\x84\xa8", [0x0527] = "\x84\xb8", [0x0528] = "\x84\xbd", + [0x052b] = "\x84\xb3", [0x052c] = "\x84\xa9", [0x052f] = "\x84\xb9", + [0x0532] = "\x84\xbe", [0x053b] = "\x84\xb4", [0x0590] = "\x81\xa1", + [0x0591] = "\x81\xa0", [0x05a2] = "\x81\xa3", [0x05a3] = "\x81\xa2", + [0x05ac] = "\x81\xa5", [0x05ad] = "\x81\xa4", [0x05b6] = "\x81\x9f", + [0x05b7] = "\x81\x9e", [0x05bb] = "\x81\x9b", [0x05be] = "\x81\x9d", + [0x05bf] = "\x81\x9c", [0x05df] = "\x81\xfc", [0x05f5] = "\x81\x9a", + [0x05f6] = "\x81\x99", [0x0630] = "\x81\x8a", [0x0632] = "\x81\x89", + [0x065a] = "\x81\xf4", [0x065d] = "\x81\xf3", [0x065f] = "\x81\xf2", + [0x0ff0] = "\x81\x40", [0x0ff1] = "\x81\x41", [0x0ff2] = "\x81\x42", + [0x0ff3] = "\x81\x56", [0x0ff5] = "\x81\x58", [0x0ff6] = "\x81\x59", + [0x0ff7] = "\x81\x5a", [0x0ff8] = "\x81\x71", [0x0ff9] = "\x81\x72", + [0x0ffa] = "\x81\x73", [0x0ffb] = "\x81\x74", [0x0ffc] = "\x81\x75", + [0x0ffd] = "\x81\x76", [0x0ffe] = "\x81\x77", [0x0fff] = "\x81\x78", + [0x1000] = "\x81\x79", [0x1001] = "\x81\x7a", [0x1002] = "\x81\xa7", + [0x1003] = "\x81\xac", [0x1004] = "\x81\x6b", [0x1005] = "\x81\x6c", + [0x100c] = "\x81\x60", [0x1031] = "\x82\x9f", [0x1032] = "\x82\xa0", + [0x1033] = "\x82\xa1", [0x1034] = "\x82\xa2", [0x1035] = "\x82\xa3", + [0x1036] = "\x82\xa4", [0x1037] = "\x82\xa5", [0x1038] = "\x82\xa6", + [0x1039] = "\x82\xa7", [0x103a] = "\x82\xa8", [0x103b] = "\x82\xa9", + [0x103c] = "\x82\xaa", [0x103d] = "\x82\xab", [0x103e] = "\x82\xac", + [0x103f] = "\x82\xad", [0x1040] = "\x82\xae", [0x1041] = "\x82\xaf", + [0x1042] = "\x82\xb0", [0x1043] = "\x82\xb1", [0x1044] = "\x82\xb2", + [0x1045] = "\x82\xb3", [0x1046] = "\x82\xb4", [0x1047] = "\x82\xb5", + [0x1048] = "\x82\xb6", [0x1049] = "\x82\xb7", [0x104a] = "\x82\xb8", + [0x104b] = "\x82\xb9", [0x104c] = "\x82\xba", [0x104d] = "\x82\xbb", + [0x104e] = "\x82\xbc", [0x104f] = "\x82\xbd", [0x1050] = "\x82\xbe", + [0x1051] = "\x82\xbf", [0x1052] = "\x82\xc0", [0x1053] = "\x82\xc1", + [0x1054] = "\x82\xc2", [0x1055] = "\x82\xc3", [0x1056] = "\x82\xc4", + [0x1057] = "\x82\xc5", [0x1058] = "\x82\xc6", [0x1059] = "\x82\xc7", + [0x105a] = "\x82\xc8", [0x105b] = "\x82\xc9", [0x105c] = "\x82\xca", + [0x105d] = "\x82\xcb", [0x105e] = "\x82\xcc", [0x105f] = "\x82\xcd", + [0x1060] = "\x82\xce", [0x1061] = "\x82\xcf", [0x1062] = "\x82\xd0", + [0x1063] = "\x82\xd1", [0x1064] = "\x82\xd2", [0x1065] = "\x82\xd3", + [0x1066] = "\x82\xd4", [0x1067] = "\x82\xd5", [0x1068] = "\x82\xd6", + [0x1069] = "\x82\xd7", [0x106a] = "\x82\xd8", [0x106b] = "\x82\xd9", + [0x106c] = "\x82\xda", [0x106d] = "\x82\xdb", [0x106e] = "\x82\xdc", + [0x106f] = "\x82\xdd", [0x1070] = "\x82\xde", [0x1071] = "\x82\xdf", + [0x1072] = "\x82\xe0", [0x1073] = "\x82\xe1", [0x1074] = "\x82\xe2", + [0x1075] = "\x82\xe3", [0x1076] = "\x82\xe4", [0x1077] = "\x82\xe5", + [0x1078] = "\x82\xe6", [0x1079] = "\x82\xe7", [0x107a] = "\x82\xe8", + [0x107b] = "\x82\xe9", [0x107c] = "\x82\xea", [0x107d] = "\x82\xeb", + [0x107e] = "\x82\xec", [0x107f] = "\x82\xed", [0x1080] = "\x82\xee", + [0x1081] = "\x82\xef", [0x1082] = "\x82\xf0", [0x1083] = "\x82\xf1", + [0x108b] = "\x81\x4a", [0x108c] = "\x81\x4b", [0x108d] = "\x81\x54", + [0x108e] = "\x81\x55", [0x1091] = "\x83\x40", [0x1092] = "\x83\x41", + [0x1093] = "\x83\x42", [0x1094] = "\x83\x43", [0x1095] = "\x83\x44", + [0x1096] = "\x83\x45", [0x1097] = "\x83\x46", [0x1098] = "\x83\x47", + [0x1099] = "\x83\x48", [0x109a] = "\x83\x49", [0x109b] = "\x83\x4a", + [0x109c] = "\x83\x4b", [0x109d] = "\x83\x4c", [0x109e] = "\x83\x4d", + [0x109f] = "\x83\x4e", [0x10a0] = "\x83\x4f", [0x10a1] = "\x83\x50", + [0x10a2] = "\x83\x51", [0x10a3] = "\x83\x52", [0x10a4] = "\x83\x53", + [0x10a5] = "\x83\x54", [0x10a6] = "\x83\x55", [0x10a7] = "\x83\x56", + [0x10a8] = "\x83\x57", [0x10a9] = "\x83\x58", [0x10aa] = "\x83\x59", + [0x10ab] = "\x83\x5a", [0x10ac] = "\x83\x5b", [0x10ad] = "\x83\x5c", + [0x10ae] = "\x83\x5d", [0x10af] = "\x83\x5e", [0x10b0] = "\x83\x5f", + [0x10b1] = "\x83\x60", [0x10b2] = "\x83\x61", [0x10b3] = "\x83\x62", + [0x10b4] = "\x83\x63", [0x10b5] = "\x83\x64", [0x10b6] = "\x83\x65", + [0x10b7] = "\x83\x66", [0x10b8] = "\x83\x67", [0x10b9] = "\x83\x68", + [0x10ba] = "\x83\x69", [0x10bb] = "\x83\x6a", [0x10bc] = "\x83\x6b", + [0x10bd] = "\x83\x6c", [0x10be] = "\x83\x6d", [0x10bf] = "\x83\x6e", + [0x10c0] = "\x83\x6f", [0x10c1] = "\x83\x70", [0x10c2] = "\x83\x71", + [0x10c3] = "\x83\x72", [0x10c4] = "\x83\x73", [0x10c5] = "\x83\x74", + [0x10c6] = "\x83\x75", [0x10c7] = "\x83\x76", [0x10c8] = "\x83\x77", + [0x10c9] = "\x83\x78", [0x10ca] = "\x83\x79", [0x10cb] = "\x83\x7a", + [0x10cc] = "\x83\x7b", [0x10cd] = "\x83\x7c", [0x10ce] = "\x83\x7d", + [0x10cf] = "\x83\x7e", [0x10d0] = "\x83\x80", [0x10d1] = "\x83\x81", + [0x10d2] = "\x83\x82", [0x10d3] = "\x83\x83", [0x10d4] = "\x83\x84", + [0x10d5] = "\x83\x85", [0x10d6] = "\x83\x86", [0x10d7] = "\x83\x87", + [0x10d8] = "\x83\x88", [0x10d9] = "\x83\x89", [0x10da] = "\x83\x8a", + [0x10db] = "\x83\x8b", [0x10dc] = "\x83\x8c", [0x10dd] = "\x83\x8d", + [0x10de] = "\x83\x8e", [0x10df] = "\x83\x8f", [0x10e0] = "\x83\x90", + [0x10e1] = "\x83\x91", [0x10e2] = "\x83\x92", [0x10e3] = "\x83\x93", + [0x10e4] = "\x83\x94", [0x10e5] = "\x83\x95", [0x10e6] = "\x83\x96", + [0x10eb] = "\x81\x45", [0x10ec] = "\x81\x5b", [0x10ed] = "\x81\x52", + [0x10ee] = "\x81\x53", [0x2df0] = "\x88\xea", [0x2df1] = "\x92\x9a", + [0x2df3] = "\x8e\xb5", [0x2df7] = "\x96\x9c", [0x2df8] = "\x8f\xe4", + [0x2df9] = "\x8e\x4f", [0x2dfa] = "\x8f\xe3", [0x2dfb] = "\x89\xba", + [0x2dfd] = "\x95\x73", [0x2dfe] = "\x97\x5e", [0x2e00] = "\x98\xa0", + [0x2e01] = "\x89\x4e", [0x2e04] = "\x8a\x8e", [0x2e05] = "\x98\xa1", + [0x2e06] = "\x90\xa2", [0x2e07] = "\x99\xc0", [0x2e08] = "\x8b\x75", + [0x2e09] = "\x95\xb8", [0x2e0e] = "\x8f\xe5", [0x2e11] = "\x97\xbc", + [0x2e16] = "\x95\xc0", [0x2e1a] = "\x98\xa2", [0x2e1d] = "\x92\x86", + [0x2e21] = "\x98\xa3", [0x2e22] = "\x8b\xf8", [0x2e26] = "\x98\xa4", + [0x2e28] = "\x8a\xdb", [0x2e29] = "\x92\x4f", [0x2e2b] = "\x8e\xe5", + [0x2e2c] = "\x98\xa5", [0x2e2f] = "\x98\xa6", [0x2e32] = "\x98\xa7", + [0x2e33] = "\x94\x54", [0x2e35] = "\x8b\x76", [0x2e3b] = "\x94\x56", + [0x2e3d] = "\x93\xe1", [0x2e3e] = "\x8c\xc1", [0x2e3f] = "\x96\x52", + [0x2e45] = "\xe5\x68", [0x2e46] = "\x98\xa8", [0x2e47] = "\x8f\xe6", + [0x2e48] = "\x98\xa9", [0x2e49] = "\x89\xb3", [0x2e4d] = "\x8b\xe3", + [0x2e4e] = "\x8c\xee", [0x2e4f] = "\x96\xe7", [0x2e52] = "\x9b\xa4", + [0x2e61] = "\x97\x90", [0x2e63] = "\x93\xfb", [0x2e6e] = "\x8a\xa3", + [0x2e70] = "\x8b\x54", [0x2e72] = "\x98\xaa", [0x2e75] = "\x98\xab", + [0x2e76] = "\x97\xb9", [0x2e78] = "\x97\x5c", [0x2e79] = "\x91\x88", + [0x2e7a] = "\x98\xad", [0x2e7b] = "\x8e\x96", [0x2e7c] = "\x93\xf1", + [0x2e7e] = "\x98\xb0", [0x2e81] = "\x89\x5d", [0x2e82] = "\x8c\xdd", + [0x2e84] = "\x8c\xdc", [0x2e85] = "\x88\xe4", [0x2e88] = "\x98\x6a", + [0x2e89] = "\x98\x69", [0x2e8b] = "\x8d\xb1", [0x2e8c] = "\x88\x9f", + [0x2e8e] = "\x98\xb1", [0x2e8f] = "\x98\xb2", [0x2e90] = "\x98\xb3", + [0x2e91] = "\x96\x53", [0x2e92] = "\x98\xb4", [0x2e94] = "\x8c\xf0", + [0x2e95] = "\x88\xe5", [0x2e96] = "\x96\x92", [0x2e98] = "\x8b\x9c", + [0x2e9b] = "\x8b\x9d", [0x2e9c] = "\x8b\x9e", [0x2e9d] = "\x92\xe0", + [0x2e9e] = "\x97\xba", [0x2ea0] = "\x98\xb5", [0x2ea3] = "\x98\xb6", + [0x2ea6] = "\x98\xb7", [0x2eaa] = "\x90\x6c", [0x2eb0] = "\x8f\x59", + [0x2eb1] = "\x90\x6d", [0x2eb2] = "\x98\xbc", [0x2eb4] = "\x98\xba", + [0x2eb6] = "\x98\xbb", [0x2eb7] = "\x8b\x77", [0x2eba] = "\x8d\xa1", + [0x2ebb] = "\x89\xee", [0x2ebd] = "\x98\xb9", [0x2ebe] = "\x98\xb8", + [0x2ebf] = "\x95\xa7", [0x2ec4] = "\x8e\x65", [0x2ec5] = "\x8e\x64", + [0x2ec6] = "\x91\xbc", [0x2ec7] = "\x98\xbd", [0x2ec8] = "\x95\x74", + [0x2ec9] = "\x90\xe5", [0x2ecd] = "\x81\x57", [0x2ece] = "\x98\xbe", + [0x2ecf] = "\x98\xc0", [0x2ed3] = "\x91\xe3", [0x2ed4] = "\x97\xdf", + [0x2ed5] = "\x88\xc8", [0x2edd] = "\x98\xbf", [0x2ede] = "\x89\xbc", + [0x2ee0] = "\x8b\xc2", [0x2ee2] = "\x92\x87", [0x2ee6] = "\x8c\x8f", + [0x2ee7] = "\x98\xc1", [0x2eeb] = "\x94\x43", [0x2ef1] = "\x8a\xe9", + [0x2ef9] = "\x98\xc2", [0x2efa] = "\x88\xc9", [0x2efd] = "\x8c\xde", + [0x2efe] = "\x8a\xea", [0x2eff] = "\x95\x9a", [0x2f00] = "\x94\xb0", + [0x2f01] = "\x8b\x78", [0x2f0a] = "\x89\xef", [0x2f0c] = "\x98\xe5", + [0x2f0d] = "\x93\x60", [0x2f1f] = "\x94\x8c", [0x2f20] = "\x98\xc4", + [0x2f24] = "\x94\xba", [0x2f26] = "\x97\xe0", [0x2f28] = "\x90\x4c", + [0x2f2a] = "\x8e\x66", [0x2f2c] = "\x8e\x97", [0x2f2d] = "\x89\xbe", + [0x2f33] = "\x92\xcf", [0x2f36] = "\x92\x41", [0x2f37] = "\x98\xc8", + [0x2f3d] = "\x88\xca", [0x2f3e] = "\x92\xe1", [0x2f3f] = "\x8f\x5a", + [0x2f40] = "\x8d\xb2", [0x2f41] = "\x97\x43", [0x2f43] = "\x91\xcc", + [0x2f45] = "\x89\xbd", [0x2f47] = "\x98\xc7", [0x2f49] = "\x97\x5d", + [0x2f4a] = "\x98\xc3", [0x2f4b] = "\x98\xc5", [0x2f4c] = "\x8d\xec", + [0x2f4d] = "\x98\xc6", [0x2f4e] = "\x9b\x43", [0x2f59] = "\x98\xce", + [0x2f5f] = "\x98\xd1", [0x2f60] = "\x98\xcf", [0x2f63] = "\x89\xc0", + [0x2f65] = "\x95\xb9", [0x2f66] = "\x98\xc9", [0x2f6b] = "\x98\xcd", + [0x2f6c] = "\x8c\xf1", [0x2f6f] = "\x8e\x67", [0x2f73] = "\x8a\xa4", + [0x2f76] = "\x98\xd2", [0x2f78] = "\x98\xca", [0x2f7b] = "\x97\xe1", + [0x2f7d] = "\x8e\x98", [0x2f7f] = "\x98\xcb", [0x2f81] = "\x98\xd0", + [0x2f86] = "\x98\xd3", [0x2f88] = "\x98\xcc", [0x2f8b] = "\x8b\x9f", + [0x2f8d] = "\x88\xcb", [0x2f90] = "\x8b\xa0", [0x2f91] = "\x89\xbf", + [0x2f9b] = "\x9b\x44", [0x2f9d] = "\x96\x99", [0x2f9e] = "\x95\x8e", + [0x2f9f] = "\x8c\xf2", [0x2fa5] = "\x90\x4e", [0x2fa6] = "\x97\xb5", + [0x2faf] = "\x95\xd6", [0x2fb2] = "\x8c\x57", [0x2fb3] = "\x91\xa3", + [0x2fb4] = "\x89\xe2", [0x2fba] = "\x8f\x72", [0x2fbe] = "\x98\xd7", + [0x2fc0] = "\x98\xdc", [0x2fc1] = "\x98\xda", [0x2fc4] = "\x98\xd5", + [0x2fc7] = "\x91\xad", [0x2fc8] = "\x98\xd8", [0x2fca] = "\x98\xdb", + [0x2fcb] = "\x98\xd9", [0x2fcd] = "\x95\xdb", [0x2fcf] = "\x98\xd6", + [0x2fd1] = "\x90\x4d", [0x2fd3] = "\x96\x93", [0x2fd4] = "\x98\xdd", + [0x2fd5] = "\x98\xde", [0x2fde] = "\x8f\x43", [0x2fdf] = "\x98\xeb", + [0x2fe3] = "\x94\x6f", [0x2fe5] = "\x95\x55", [0x2fe6] = "\x98\xe6", + [0x2fe8] = "\x95\xee", [0x2fea] = "\x89\xb4", [0x2fee] = "\x98\xea", + [0x2ff5] = "\x98\xe4", [0x2ff6] = "\x98\xed", [0x2ff9] = "\x91\x71", + [0x2ffb] = "\x8c\xc2", [0x2ffd] = "\x94\x7b", [0x2fff] = "\xe0\xc5", + [0x3001] = "\x98\xec", [0x3002] = "\x93\x7c", [0x3004] = "\x98\xe1", + [0x3006] = "\x8c\xf4", [0x3009] = "\x8c\xf3", [0x300a] = "\x98\xdf", + [0x300f] = "\x8e\xd8", [0x3011] = "\x98\xe7", [0x3013] = "\x95\xed", + [0x3014] = "\x92\x6c", [0x3015] = "\x98\xe3", [0x3016] = "\x8c\x91", + [0x3018] = "\x98\xe0", [0x3019] = "\x98\xe8", [0x301a] = "\x98\xe2", + [0x301b] = "\x97\xcf", [0x301c] = "\x98\xe9", [0x301d] = "\x98\x60", + [0x3026] = "\x8b\xe4", [0x3029] = "\x8c\x90", [0x3033] = "\x98\xee", + [0x3037] = "\x98\xef", [0x3038] = "\x98\xf3", [0x3039] = "\x88\xcc", + [0x303f] = "\x95\xce", [0x3040] = "\x98\xf2", [0x3045] = "\x98\xf1", + [0x3046] = "\x98\xf5", [0x304a] = "\x98\xf4", [0x304c] = "\x92\xe2", + [0x3055] = "\x8c\x92", [0x305c] = "\x98\xf6", [0x3062] = "\x8e\xc3", + [0x3064] = "\x91\xa4", [0x3065] = "\x92\xe3", [0x3066] = "\x8b\xf4", + [0x3068] = "\x98\xf7", [0x306d] = "\x8b\x55", [0x3070] = "\x98\xf8", + [0x3075] = "\x98\xfa", [0x307d] = "\x96\x54", [0x3081] = "\x8c\x86", + [0x3088] = "\x8e\x50", [0x3089] = "\x94\xf5", [0x308a] = "\x98\xf9", + [0x309c] = "\x8d\xc3", [0x309d] = "\x97\x62", [0x30a2] = "\x98\xfc", + [0x30a3] = "\x99\x42", [0x30a4] = "\x98\xfb", [0x30a5] = "\x8d\xc2", + [0x30a7] = "\x8f\x9d", [0x30ae] = "\x8c\x58", [0x30b2] = "\x99\x43", + [0x30b5] = "\x8b\xcd", [0x30b9] = "\x99\x40", [0x30ba] = "\x99\x41", + [0x30bd] = "\x93\xad", [0x30bf] = "\x91\x9c", [0x30c1] = "\x8b\xa1", + [0x30c5] = "\x96\x6c", [0x30c6] = "\x99\x44", [0x30ca] = "\x97\xbb", + [0x30ce] = "\x99\x45", [0x30d3] = "\x99\x48", [0x30d5] = "\x99\x46", + [0x30d7] = "\x91\x6d", [0x30dd] = "\x99\x47", [0x30de] = "\x99\x49", + [0x30e5] = "\x99\x4b", [0x30e9] = "\x99\x4a", [0x30eb] = "\x95\xc6", + [0x30f0] = "\x8b\x56", [0x30f1] = "\x99\x4d", [0x30f2] = "\x99\x4e", + [0x30f4] = "\x89\xad", [0x30f9] = "\x99\x4c", [0x3102] = "\x8e\xf2", + [0x3104] = "\x99\x51", [0x3105] = "\x99\x50", [0x3106] = "\x99\x4f", + [0x3108] = "\x98\xd4", [0x310a] = "\x99\x52", [0x310f] = "\x8f\x9e", + [0x3111] = "\x99\x53", [0x311a] = "\x97\x44", [0x3122] = "\x96\xd7", + [0x3127] = "\x99\x55", [0x312a] = "\x99\x54", [0x312b] = "\x99\x57", + [0x312c] = "\x99\x56", [0x312f] = "\x99\x58", [0x3130] = "\x99\x59", + [0x3131] = "\x88\xf2", [0x3133] = "\x8c\xb3", [0x3134] = "\x8c\x5a", + [0x3135] = "\x8f\x5b", [0x3136] = "\x92\x9b", [0x3137] = "\x8b\xa2", + [0x3138] = "\x90\xe6", [0x3139] = "\x8c\xf5", [0x313b] = "\x8d\x8e", + [0x313c] = "\x99\x5b", [0x313d] = "\x96\xc6", [0x313e] = "\x93\x65", + [0x3140] = "\x8e\x99", [0x3142] = "\x99\x5a", [0x3144] = "\x99\x5c", + [0x314a] = "\x93\x7d", [0x314c] = "\x8a\x95", [0x3152] = "\x99\x5d", + [0x3155] = "\x93\xfc", [0x3158] = "\x91\x53", [0x3159] = "\x99\x5f", + [0x315a] = "\x99\x60", [0x315b] = "\x94\xaa", [0x315c] = "\x8c\xf6", + [0x315d] = "\x98\x5a", [0x315e] = "\x99\x61", [0x3161] = "\x8b\xa4", + [0x3165] = "\x95\xba", [0x3166] = "\x91\xb4", [0x3167] = "\x8b\xef", + [0x3168] = "\x93\x54", [0x316c] = "\x8c\x93", [0x3170] = "\x99\x62", + [0x3172] = "\x99\x63", [0x3175] = "\x93\xe0", [0x3176] = "\x89\x7e", + [0x3179] = "\x99\x66", [0x317a] = "\x8d\xfb", [0x317c] = "\x99\x65", + [0x317d] = "\x8d\xc4", [0x317f] = "\x99\x67", [0x3180] = "\xe3\xec", + [0x3181] = "\x99\x68", [0x3182] = "\x96\x60", [0x3183] = "\x99\x69", + [0x3185] = "\x99\x6a", [0x3186] = "\x99\x6b", [0x3187] = "\x8f\xe7", + [0x3189] = "\x8e\xca", [0x3190] = "\x8a\xa5", [0x3192] = "\x99\x6e", + [0x3194] = "\x99\x6c", [0x3195] = "\x96\xbb", [0x3196] = "\x99\x6d", + [0x3198] = "\x95\x79", [0x3199] = "\x99\x6f", [0x319a] = "\x99\x70", + [0x319b] = "\x99\x71", [0x319c] = "\x93\x7e", [0x31a0] = "\x99\x75", + [0x31a1] = "\x99\x73", [0x31a2] = "\x99\x74", [0x31a3] = "\x99\x72", + [0x31a4] = "\x8d\xe1", [0x31a5] = "\x99\x76", [0x31a6] = "\x96\xe8", + [0x31a7] = "\x97\xe2", [0x31ad] = "\x99\x77", [0x31b4] = "\x90\xa6", + [0x31b5] = "\x99\x78", [0x31b6] = "\x8f\x79", [0x31b9] = "\x99\x79", + [0x31bb] = "\x92\x9c", [0x31bc] = "\x97\xbd", [0x31bd] = "\x93\x80", + [0x31c6] = "\x99\xc3", [0x31cb] = "\x99\x7a", [0x31cc] = "\xea\xa3", + [0x31cd] = "\x8b\xc3", [0x31d0] = "\x99\x7b", [0x31d1] = "\x96\x7d", + [0x31d6] = "\x8f\x88", [0x31d7] = "\x91\xfa", [0x31d9] = "\x99\x7d", + [0x31da] = "\x93\xe2", [0x31dd] = "\x99\x7e", [0x31e0] = "\x99\x80", + [0x31e1] = "\x8a\x4d", [0x31e5] = "\x99\x81", [0x31e6] = "\x8b\xa5", + [0x31e8] = "\x93\xca", [0x31e9] = "\x89\x9a", [0x31ea] = "\x8f\x6f", + [0x31ed] = "\x94\x9f", [0x31ee] = "\x99\x82", [0x31f0] = "\x93\x81", + [0x31f3] = "\x90\x6e", [0x31f4] = "\x99\x83", [0x31f6] = "\x95\xaa", + [0x31f7] = "\x90\xd8", [0x31f8] = "\x8a\xa0", [0x31fa] = "\x8a\xa7", + [0x31fb] = "\x99\x84", [0x31fe] = "\x99\x86", [0x3201] = "\x8c\x59", + [0x3204] = "\x99\x85", [0x3207] = "\x97\xf1", [0x320d] = "\x8f\x89", + [0x3214] = "\x94\xbb", [0x3215] = "\x95\xca", [0x3217] = "\x99\x87", + [0x3219] = "\x97\x98", [0x321a] = "\x99\x88", [0x321e] = "\x99\x89", + [0x3220] = "\x93\x9e", [0x3223] = "\x99\x8a", [0x3226] = "\x90\xa7", + [0x3227] = "\x8d\xfc", [0x3228] = "\x8c\x94", [0x3229] = "\x99\x8b", + [0x322a] = "\x8e\x68", [0x322b] = "\x8d\x8f", [0x3233] = "\x92\xe4", + [0x3234] = "\x99\x8d", [0x3237] = "\x91\xa5", [0x323a] = "\x8d\xed", + [0x323b] = "\x99\x8e", [0x323c] = "\x99\x8f", [0x323d] = "\x91\x4f", + [0x323f] = "\x99\x8c", [0x3244] = "\x99\x91", [0x3246] = "\x96\x55", + [0x324b] = "\x8d\x84", [0x324e] = "\x99\x90", [0x3253] = "\x8c\x95", + [0x3254] = "\x8d\xdc", [0x3255] = "\x94\x8d", [0x3259] = "\x99\x94", + [0x325a] = "\x99\x92", [0x325f] = "\x95\x9b", [0x3260] = "\x8f\xe8", + [0x3261] = "\x99\x9b", [0x3262] = "\x8a\x84", [0x3263] = "\x99\x95", + [0x3264] = "\x99\x93", [0x3265] = "\x91\x6e", [0x326d] = "\x99\x97", + [0x326f] = "\x99\x96", [0x3273] = "\x8a\x63", [0x3277] = "\x8c\x80", + [0x3278] = "\x99\x9c", [0x3279] = "\x97\xab", [0x327d] = "\x99\x98", + [0x3281] = "\x99\x9d", [0x3282] = "\x99\x9a", [0x3284] = "\x99\x99", + [0x328b] = "\x97\xcd", [0x328f] = "\x8c\xf7", [0x3290] = "\x89\xc1", + [0x3293] = "\x97\xf2", [0x3299] = "\x8f\x95", [0x329a] = "\x93\x77", + [0x329b] = "\x8d\x85", [0x329c] = "\x99\xa0", [0x329d] = "\x99\xa1", + [0x32a1] = "\x97\xe3", [0x32a4] = "\x98\x4a", [0x32a5] = "\x99\xa3", + [0x32a9] = "\x8c\xf8", [0x32ac] = "\x99\xa2", [0x32ae] = "\x8a\x4e", + [0x32b1] = "\x99\xa4", [0x32b3] = "\x96\x75", [0x32b5] = "\x92\xba", + [0x32b7] = "\x97\x45", [0x32b9] = "\x95\xd7", [0x32bd] = "\x99\xa5", + [0x32c2] = "\xe8\xd3", [0x32c5] = "\x93\xae", [0x32c7] = "\x99\xa6", + [0x32c8] = "\x8a\xa8", [0x32c9] = "\x96\xb1", [0x32cd] = "\x8f\x9f", + [0x32ce] = "\x99\xa7", [0x32cf] = "\x95\xe5", [0x32d0] = "\x99\xab", + [0x32d2] = "\x90\xa8", [0x32d3] = "\x99\xa8", [0x32d4] = "\x8b\xce", + [0x32d6] = "\x99\xa9", [0x32d7] = "\x8a\xa9", [0x32e2] = "\x8c\x4d", + [0x32e3] = "\x99\xac", [0x32e5] = "\x99\xad", [0x32e8] = "\x99\xae", + [0x32e9] = "\x99\xaf", [0x32ea] = "\x8e\xd9", [0x32ee] = "\x8c\xf9", + [0x32ef] = "\x96\xdc", [0x32f1] = "\x96\xe6", [0x32f2] = "\x93\xf5", + [0x32f5] = "\x95\xef", [0x32f6] = "\x99\xb0", [0x32f8] = "\x99\xb1", + [0x32fd] = "\x99\xb3", [0x32ff] = "\x99\xb5", [0x3300] = "\x99\xb4", + [0x3305] = "\x99\xb6", [0x3306] = "\x89\xbb", [0x3307] = "\x96\x6b", + [0x3309] = "\x8d\xfa", [0x330a] = "\x99\xb7", [0x330d] = "\x91\x78", + [0x3310] = "\x8f\xa0", [0x3311] = "\x8b\xa7", [0x3313] = "\x99\xb8", + [0x331a] = "\x94\xd9", [0x331f] = "\x99\xb9", [0x3321] = "\x99\xba", + [0x3323] = "\x99\xbb", [0x3328] = "\x99\xbc", [0x3329] = "\x95\x43", + [0x332a] = "\x8b\xe6", [0x332b] = "\x88\xe3", [0x332f] = "\x93\xbd", + [0x3330] = "\x99\xbd", [0x3331] = "\x8f\x5c", [0x3333] = "\x90\xe7", + [0x3335] = "\x99\xbf", [0x3336] = "\x99\xbe", [0x3337] = "\x8f\xa1", + [0x3338] = "\x8c\xdf", [0x3339] = "\x99\xc1", [0x333a] = "\x94\xbc", + [0x333d] = "\x99\xc2", [0x3341] = "\x94\xda", [0x3342] = "\x91\xb2", + [0x3343] = "\x91\xec", [0x3344] = "\x8b\xa6", [0x3347] = "\x93\xec", + [0x3348] = "\x92\x50", [0x334a] = "\x94\x8e", [0x334c] = "\x96\x6d", + [0x334e] = "\x99\xc4", [0x3350] = "\x90\xe8", [0x3356] = "\x8c\x54", + [0x3359] = "\x99\xc5", [0x335e] = "\x99\xc6", [0x335f] = "\x89\x4b", + [0x3360] = "\x88\xf3", [0x3361] = "\x8a\xeb", [0x3363] = "\x91\xa6", + [0x3364] = "\x8b\x70", [0x3365] = "\x97\x91", [0x3367] = "\x99\xc9", + [0x3368] = "\x89\xb5", [0x336b] = "\x99\xc8", [0x336f] = "\x8b\xa8", + [0x3372] = "\x99\xca", [0x3374] = "\x96\xef", [0x3386] = "\x99\xcb", + [0x3388] = "\x97\xd0", [0x338a] = "\x8c\xfa", [0x338f] = "\x8c\xb4", + [0x3390] = "\x99\xcc", [0x3395] = "\x99\xce", [0x3396] = "\x99\xcd", + [0x3398] = "\x90\x7e", [0x3399] = "\x89\x58", [0x339d] = "\x89\x7d", + [0x339e] = "\x99\xcf", [0x33a0] = "\x99\xd0", [0x33a3] = "\x8c\xb5", + [0x33a6] = "\x99\xd1", [0x33ab] = "\x8b\x8e", [0x33b2] = "\x8e\x51", + [0x33b3] = "\x99\xd2", [0x33b8] = "\x96\x94", [0x33b9] = "\x8d\xb3", + [0x33ba] = "\x8b\x79", [0x33bb] = "\x97\x46", [0x33bc] = "\x91\x6f", + [0x33bd] = "\x94\xbd", [0x33be] = "\x8e\xfb", [0x33c4] = "\x8f\x66", + [0x33c6] = "\x8e\xe6", [0x33c7] = "\x8e\xf3", [0x33c9] = "\x8f\x96", + [0x33cb] = "\x94\xbe", [0x33cf] = "\x99\xd5", [0x33d1] = "\x89\x62", + [0x33d2] = "\x91\x70", [0x33d3] = "\x8c\xfb", [0x33d4] = "\x8c\xc3", + [0x33d5] = "\x8b\xe5", [0x33d8] = "\x99\xd9", [0x33d9] = "\x92\x40", + [0x33da] = "\x91\xfc", [0x33db] = "\x8b\xa9", [0x33dc] = "\x8f\xa2", + [0x33dd] = "\x99\xda", [0x33de] = "\x99\xd8", [0x33df] = "\x89\xc2", + [0x33e0] = "\x91\xe4", [0x33e1] = "\x8e\xb6", [0x33e2] = "\x8e\x6a", + [0x33e3] = "\x89\x45", [0x33e6] = "\x8a\x90", [0x33e7] = "\x8d\x86", + [0x33e8] = "\x8e\x69", [0x33ea] = "\x99\xdb", [0x33f1] = "\x99\xdc", + [0x33f3] = "\x8b\x68", [0x33f4] = "\x8a\x65", [0x33f8] = "\x8d\x87", + [0x33f9] = "\x8b\x67", [0x33fa] = "\x92\xdd", [0x33fb] = "\x89\x44", + [0x33fc] = "\x93\xaf", [0x33fd] = "\x96\xbc", [0x33fe] = "\x8d\x40", + [0x33ff] = "\x97\x99", [0x3400] = "\x93\x66", [0x3401] = "\x8c\xfc", + [0x340b] = "\x8c\x4e", [0x340d] = "\x99\xe5", [0x340f] = "\x8b\xe1", + [0x3410] = "\x96\x69", [0x3416] = "\x94\xdb", [0x3419] = "\x99\xe4", + [0x341b] = "\x8a\xdc", [0x341c] = "\x99\xdf", [0x341d] = "\x99\xe0", + [0x341e] = "\x99\xe2", [0x3426] = "\x99\xe3", [0x3428] = "\x8b\x7a", + [0x3429] = "\x90\x81", [0x342b] = "\x95\xab", [0x342c] = "\x99\xe1", + [0x342d] = "\x99\xdd", [0x342e] = "\x8c\xe1", [0x3430] = "\x99\xde", + [0x3432] = "\x98\x43", [0x3436] = "\x95\xf0", [0x3438] = "\x92\xe6", + [0x3439] = "\x8c\xe0", [0x343a] = "\x8d\x90", [0x343e] = "\x99\xe6", + [0x3441] = "\x93\xdb", [0x344f] = "\x99\xea", [0x3458] = "\x8e\xfc", + [0x345a] = "\x8e\xf4", [0x3460] = "\x99\xed", [0x3461] = "\x99\xeb", + [0x3463] = "\x96\xa1", [0x3465] = "\x99\xe8", [0x3466] = "\x99\xf1", + [0x3467] = "\x99\xec", [0x346b] = "\x99\xef", [0x346c] = "\x8c\xc4", + [0x346d] = "\x96\xbd", [0x3470] = "\x99\xf0", [0x3474] = "\x99\xf2", + [0x3476] = "\x99\xf4", [0x347b] = "\x8d\xee", [0x347c] = "\x98\x61", + [0x347e] = "\x99\xe9", [0x347f] = "\x99\xe7", [0x3480] = "\x99\xf3", + [0x3482] = "\x99\xee", [0x3492] = "\x99\xf6", [0x3494] = "\x9a\x42", + [0x3495] = "\x99\xf8", [0x3498] = "\x99\xfc", [0x349b] = "\x9a\x40", + [0x349c] = "\x99\xf9", [0x349f] = "\x9a\x5d", [0x34a2] = "\x8d\xe7", + [0x34a3] = "\x8a\x50", [0x34a8] = "\x99\xf7", [0x34ac] = "\x9a\x44", + [0x34ad] = "\x88\xf4", [0x34ae] = "\x9a\x43", [0x34b0] = "\x88\xa3", + [0x34b1] = "\x95\x69", [0x34b2] = "\x9a\x41", [0x34b4] = "\x99\xfa", + [0x34b7] = "\x99\xf5", [0x34b8] = "\x99\xfb", [0x34b9] = "\x8d\xc6", + [0x34c8] = "\x9a\x45", [0x34d1] = "\x88\xf5", [0x34d2] = "\x9a\x4e", + [0x34d5] = "\x9a\x46", [0x34d6] = "\x9a\x47", [0x34d8] = "\x8f\xa3", + [0x34d9] = "\x96\x89", [0x34dd] = "\x9a\x4c", [0x34de] = "\x9a\x4b", + [0x34e2] = "\x93\x4e", [0x34ea] = "\x9a\x4d", [0x34ed] = "\x9a\x4a", + [0x34f4] = "\x89\x53", [0x34f6] = "\x8d\xb4", [0x34f7] = "\x90\x4f", + [0x34ff] = "\x9a\x48", [0x3500] = "\x93\x82", [0x3504] = "\x9a\x49", + [0x3506] = "\x88\xa0", [0x351e] = "\x9a\x53", [0x351f] = "\x97\x42", + [0x3521] = "\x8f\xa5", [0x3523] = "\x9a\x59", [0x3528] = "\x9a\x58", + [0x3529] = "\x9a\x4f", [0x352e] = "\x91\xc1", [0x3530] = "\x9a\x50", + [0x3534] = "\x91\xed", [0x3535] = "\x9a\x55", [0x3536] = "\x8f\xa4", + [0x353c] = "\x9a\x52", [0x353f] = "\x96\xe2", [0x3543] = "\x8c\x5b", + [0x3546] = "\x9a\x56", [0x3547] = "\x9a\x57", [0x354c] = "\x9a\x54", + [0x354d] = "\x9a\x5a", [0x3553] = "\x9a\x51", [0x356b] = "\x9a\x60", + [0x356c] = "\x9a\x65", [0x356e] = "\x9a\x61", [0x3570] = "\x9a\x5c", + [0x3573] = "\x9a\x66", [0x3574] = "\x91\x50", [0x3577] = "\x9a\x68", + [0x3579] = "\x8d\x41", [0x357a] = "\x9a\x5e", [0x357b] = "\x92\x9d", + [0x3588] = "\x9a\x62", [0x3589] = "\x9a\x5b", [0x358a] = "\x8a\xab", + [0x358c] = "\x8a\xec", [0x358d] = "\x8a\x85", [0x358e] = "\x9a\x63", + [0x358f] = "\x9a\x5f", [0x3597] = "\x8c\x96", [0x3598] = "\x9a\x69", + [0x3599] = "\x9a\x67", [0x359a] = "\x91\x72", [0x359b] = "\x8b\x69", + [0x359c] = "\x8b\xaa", [0x359e] = "\x9a\x64", [0x35a0] = "\x8b\xf2", + [0x35a6] = "\x89\x63", [0x35b4] = "\x9a\x6d", [0x35b5] = "\x9a\x6b", + [0x35b7] = "\x9a\xa5", [0x35c4] = "\x9a\x70", [0x35ca] = "\x9a\x6a", + [0x35cc] = "\x9a\x6e", [0x35cf] = "\x9a\x6c", [0x35d3] = "\x8e\x6b", + [0x35d4] = "\x9a\x6f", [0x35e7] = "\x9a\x72", [0x35e9] = "\x9a\x77", + [0x35ed] = "\x9a\x75", [0x35ee] = "\x9a\x74", [0x35f6] = "\x92\x51", + [0x35f9] = "\x89\xc3", [0x3604] = "\x9a\x71", [0x3606] = "\x9a\x73", + [0x3607] = "\x8f\xa6", [0x3608] = "\x89\x52", [0x360b] = "\x9a\x76", + [0x3619] = "\x89\xdc", [0x361f] = "\x9a\x82", [0x3621] = "\x8f\xfa", + [0x3622] = "\x9a\x7d", [0x3624] = "\x9a\x7b", [0x3626] = "\x9a\x7c", + [0x3628] = "\x9a\x7e", [0x3632] = "\x89\x5c", [0x363c] = "\x91\x58", + [0x363e] = "\x9a\x78", [0x3640] = "\x9a\x79", [0x364b] = "\x8a\x9a", + [0x3654] = "\x9a\x81", [0x3658] = "\x8a\xed", [0x365a] = "\x9a\x84", + [0x365b] = "\x9a\x80", [0x365c] = "\x9a\x83", [0x3664] = "\x95\xac", + [0x3668] = "\x93\xd3", [0x366a] = "\x94\xb6", [0x3670] = "\x9a\x86", + [0x3676] = "\x9a\x85", [0x3677] = "\x8a\x64", [0x367a] = "\x9a\x87", + [0x367f] = "\x9a\x8a", [0x3684] = "\x9a\x89", [0x3690] = "\x9a\x88", + [0x3692] = "\x94\x58", [0x3695] = "\x9a\x8b", [0x369e] = "\x9a\x8c", + [0x36a4] = "\x9a\x8e", [0x36a6] = "\x9a\x8d", [0x36ac] = "\x9a\x90", + [0x36b0] = "\x9a\x93", [0x36b1] = "\x9a\x91", [0x36b2] = "\x9a\x8f", + [0x36b3] = "\x9a\x92", [0x36b8] = "\x9a\x94", [0x36be] = "\x9a\x95", + [0x36c1] = "\x9a\x96", [0x36c3] = "\x9a\x97", [0x36c7] = "\x9a\x98", + [0x36c8] = "\x99\x64", [0x36ca] = "\x8e\xfa", [0x36cb] = "\x8e\x6c", + [0x36ce] = "\x89\xf1", [0x36d0] = "\x88\xf6", [0x36d3] = "\x92\x63", + [0x36de] = "\x9a\x99", [0x36e0] = "\x8d\xa2", [0x36e2] = "\x88\xcd", + [0x36e3] = "\x90\x7d", [0x36e9] = "\x9a\x9a", [0x36ea] = "\x8c\xc5", + [0x36ed] = "\x8d\x91", [0x36ef] = "\x9a\x9c", [0x36f0] = "\x9a\x9b", + [0x36f3] = "\x95\xde", [0x36f4] = "\x9a\x9d", [0x36f8] = "\x9a\x9f", + [0x36f9] = "\x9a\x9e", [0x36fb] = "\x9a\xa0", [0x36fd] = "\x9a\xa1", + [0x36ff] = "\x8c\x97", [0x3702] = "\x89\x80", [0x3703] = "\x9a\xa2", + [0x3706] = "\x9a\xa4", [0x3708] = "\x9a\xa3", [0x370c] = "\x9a\xa6", + [0x370f] = "\x93\x79", [0x3716] = "\x9a\xa7", [0x3717] = "\x88\xb3", + [0x3718] = "\x8d\xdd", [0x371d] = "\x8c\x5c", [0x3720] = "\x92\x6e", + [0x3727] = "\x9a\xa8", [0x3728] = "\x9a\xa9", [0x372b] = "\x9a\xab", + [0x3730] = "\x9a\xac", [0x3732] = "\x8d\xe2", [0x3737] = "\x8b\xcf", + [0x373a] = "\x96\x56", [0x373e] = "\x9a\xaa", [0x373f] = "\x9a\xad", + [0x3740] = "\x8d\xbf", [0x3741] = "\x8d\x42", [0x3751] = "\x9a\xb1", + [0x3754] = "\x8d\xa3", [0x3756] = "\x92\x52", [0x3759] = "\x9a\xae", + [0x375a] = "\x92\xd8", [0x376f] = "\x9a\xb2", [0x3772] = "\x90\x82", + [0x3778] = "\x9a\xb0", [0x3779] = "\x9a\xb3", [0x377b] = "\x8c\x5e", + [0x3783] = "\x9a\xb4", [0x3790] = "\x9a\xb5", [0x3792] = "\x8d\x43", + [0x3793] = "\x8a\x5f", [0x3794] = "\x9a\xb7", [0x379a] = "\x9a\xb8", + [0x37a0] = "\x9a\xb9", [0x37a3] = "\x9a\xb6", [0x37b0] = "\x9a\xaf", + [0x37b3] = "\x9a\xba", [0x37b6] = "\x9a\xbb", [0x37bb] = "\x96\x84", + [0x37be] = "\x8f\xe9", [0x37c2] = "\x9a\xbd", [0x37c3] = "\x9a\xbe", + [0x37c4] = "\x9a\xbc", [0x37c6] = "\x9a\xc0", [0x37cc] = "\x94\x57", + [0x37cf] = "\x88\xe6", [0x37d0] = "\x95\x75", [0x37d3] = "\x9a\xc1", + [0x37e4] = "\x8f\xfb", [0x37e7] = "\x8e\xb7", [0x37e9] = "\x94\x7c", + [0x37ea] = "\x8a\xee", [0x37ec] = "\x8d\xe9", [0x37f0] = "\x96\x78", + [0x37f2] = "\x93\xb0", [0x37f5] = "\x8c\x98", [0x37f6] = "\x91\xcd", + [0x37fa] = "\x9a\xbf", [0x37fb] = "\x9a\xc2", [0x3805] = "\x91\xc2", + [0x3809] = "\x9a\xc3", [0x380d] = "\x9a\xc4", [0x3811] = "\x9a\xc6", + [0x3814] = "\x92\xe7", [0x381a] = "\x8a\xac", [0x381f] = "\xea\x9f", + [0x3820] = "\x89\x81", [0x3821] = "\x95\xf1", [0x3824] = "\x8f\xea", + [0x3825] = "\x93\x67", [0x382a] = "\x8d\xe4", [0x382d] = "\x9a\xcc", + [0x3830] = "\x95\xbb", [0x3831] = "\x97\xdb", [0x383a] = "\x89\xf2", + [0x383b] = "\x9a\xc8", [0x3841] = "\x91\x59", [0x3842] = "\x9a\xcb", + [0x3844] = "\x93\x83", [0x3847] = "\x93\x68", [0x3848] = "\x93\x84", + [0x3849] = "\x94\xb7", [0x384a] = "\x92\xcb", [0x384e] = "\x8d\xc7", + [0x3852] = "\x9a\xc7", [0x3859] = "\x89\x96", [0x385b] = "\x93\x55", + [0x3860] = "\x9a\xc9", [0x3862] = "\x9a\xc5", [0x3865] = "\x90\x6f", + [0x3869] = "\x9a\xcd", [0x386e] = "\x8f\x6d", [0x3873] = "\x8b\xab", + [0x3875] = "\x9a\xce", [0x3883] = "\x95\xe6", [0x3887] = "\x91\x9d", + [0x388c] = "\x92\xc4", [0x388f] = "\x9a\xd0", [0x3898] = "\x96\x6e", + [0x389b] = "\x9a\xd1", [0x389e] = "\x9a\xd6", [0x38a3] = "\x95\xad", + [0x38a8] = "\x9a\xd5", [0x38a9] = "\x9a\xcf", [0x38aa] = "\x9a\xd2", + [0x38ab] = "\x9a\xd4", [0x38ae] = "\x8d\xa4", [0x38b1] = "\x95\xc7", + [0x38b5] = "\x9a\xd7", [0x38b7] = "\x92\x64", [0x38ba] = "\x89\xf3", + [0x38bc] = "\x8f\xeb", [0x38c1] = "\x9a\xd9", [0x38c3] = "\x9a\xd8", + [0x38c5] = "\x8d\x88", [0x38c7] = "\x9a\xda", [0x38c8] = "\x9a\xdc", + [0x38c9] = "\x9a\xdb", [0x38cc] = "\x9a\xde", [0x38ce] = "\x9a\xd3", + [0x38cf] = "\x9a\xe0", [0x38d4] = "\x9a\xdf", [0x38d5] = "\x9a\xdd", + [0x38db] = "\x8e\x6d", [0x38dc] = "\x90\x70", [0x38de] = "\x91\x73", + [0x38df] = "\x9a\xe1", [0x38e0] = "\x90\xba", [0x38e1] = "\x88\xeb", + [0x38e2] = "\x94\x84", [0x38e7] = "\x92\xd9", [0x38e9] = "\x9a\xe3", + [0x38ea] = "\x9a\xe2", [0x38eb] = "\x9a\xe4", [0x38ec] = "\x9a\xe5", + [0x38ed] = "\x9a\xe6", [0x38f2] = "\x9a\xe7", [0x38f9] = "\x95\xcf", + [0x38fa] = "\x9a\xe8", [0x38ff] = "\x89\xc4", [0x3900] = "\x9a\xe9", + [0x3905] = "\x97\x5b", [0x3906] = "\x8a\x4f", [0x3908] = "\x99\xc7", + [0x3909] = "\x8f\x67", [0x390a] = "\x91\xbd", [0x390b] = "\x9a\xea", + [0x390c] = "\x96\xe9", [0x3912] = "\x96\xb2", [0x3915] = "\x9a\xec", + [0x3917] = "\x91\xe5", [0x3919] = "\x93\x56", [0x391a] = "\x91\xbe", + [0x391b] = "\x95\x76", [0x391c] = "\x9a\xed", [0x391d] = "\x9a\xee", + [0x391e] = "\x89\x9b", [0x3921] = "\x8e\xb8", [0x3922] = "\x9a\xef", + [0x3927] = "\x88\xce", [0x3928] = "\x9a\xf0", [0x392e] = "\x9a\xf1", + [0x3934] = "\x89\x82", [0x3937] = "\x8a\xef", [0x3938] = "\x93\xde", + [0x3939] = "\x95\xf2", [0x393e] = "\x9a\xf5", [0x393f] = "\x91\x74", + [0x3940] = "\x9a\xf4", [0x3941] = "\x8c\x5f", [0x3944] = "\x96\x7a", + [0x3945] = "\x9a\xf3", [0x3947] = "\x93\x85", [0x3948] = "\x9a\xf7", + [0x394a] = "\x9a\xf6", [0x3950] = "\x9a\xf9", [0x3952] = "\x9a\xf8", + [0x3955] = "\x89\x9c", [0x3957] = "\x9a\xfa", [0x3958] = "\x8f\xa7", + [0x3959] = "\x9a\xfc", [0x395a] = "\x92\x44", [0x395c] = "\x9a\xfb", + [0x395e] = "\x95\xb1", [0x3963] = "\x8f\x97", [0x3964] = "\x93\x7a", + [0x3968] = "\x9b\x40", [0x396d] = "\x8d\x44", [0x3971] = "\x9b\x41", + [0x3972] = "\x94\x40", [0x3973] = "\x94\xdc", [0x3974] = "\x96\xcf", + [0x397a] = "\x94\x44", [0x397d] = "\x9b\x4a", [0x3983] = "\x8b\x57", + [0x3986] = "\x97\x64", [0x3989] = "\x96\xad", [0x398b] = "\x9b\xaa", + [0x398d] = "\x9b\x42", [0x3993] = "\x9b\x45", [0x3995] = "\x91\xc3", + [0x3998] = "\x96\x57", [0x399c] = "\x93\x69", [0x39a2] = "\x9b\x46", + [0x39a9] = "\x96\x85", [0x39ab] = "\x8d\xc8", [0x39ae] = "\x8f\xa8", + [0x39b6] = "\x9b\x47", [0x39b9] = "\x8e\x6f", [0x39bb] = "\x8e\x6e", + [0x39c0] = "\x88\xb7", [0x39c1] = "\x8c\xc6", [0x39c3] = "\x90\xa9", + [0x39c4] = "\x88\xcf", [0x39c9] = "\x9b\x4b", [0x39ca] = "\x9b\x4c", + [0x39cc] = "\x9b\x49", [0x39d5] = "\x89\x57", [0x39d6] = "\x8a\xad", + [0x39d8] = "\x9b\x48", [0x39da] = "\x96\xc3", [0x39db] = "\x95\x50", + [0x39e6] = "\x88\xa6", [0x39eb] = "\x88\xf7", [0x39ef] = "\x8e\x70", + [0x39f1] = "\x88\xd0", [0x39f3] = "\x88\xa1", [0x39f9] = "\x9b\x51", + [0x3a01] = "\x9b\x4f", [0x3a08] = "\x96\xba", [0x3a0a] = "\x9b\x52", + [0x3a0c] = "\x9b\x50", [0x3a0f] = "\x9b\x4e", [0x3a10] = "\x90\x50", + [0x3a15] = "\x9b\x4d", [0x3a19] = "\x95\xd8", [0x3a1f] = "\x8c\xe2", + [0x3a25] = "\x9b\x56", [0x3a26] = "\x9b\x57", [0x3a2c] = "\x8f\xa9", + [0x3a30] = "\x9b\x53", [0x3a31] = "\x98\x4b", [0x3a36] = "\x94\x6b", + [0x3a39] = "\x9b\x55", [0x3a4a] = "\x8d\xa5", [0x3a52] = "\x9b\x58", + [0x3a56] = "\x95\x77", [0x3a5a] = "\x9b\x59", [0x3a5c] = "\x9b\x54", + [0x3a6f] = "\x96\xb9", [0x3a82] = "\x94\x7d", [0x3a8a] = "\x9b\x5a", + [0x3a8b] = "\x95\x51", [0x3aac] = "\x9b\x5b", [0x3aad] = "\x9b\x5f", + [0x3aae] = "\x9b\x5c", [0x3ab1] = "\x89\xc5", [0x3ab2] = "\x9b\x5e", + [0x3ab9] = "\x8e\xb9", [0x3abb] = "\x9b\x5d", [0x3abc] = "\x8c\x99", + [0x3ac0] = "\x9b\x6b", [0x3ac6] = "\x9b\x64", [0x3ac7] = "\x9b\x61", + [0x3ad1] = "\x92\x84", [0x3ad3] = "\x9b\x60", [0x3ad6] = "\x9b\x62", + [0x3ad9] = "\x9b\x63", [0x3aea] = "\x9b\x65", [0x3aeb] = "\x9b\x66", + [0x3af9] = "\x8a\xf0", [0x3afb] = "\x9b\x68", [0x3afc] = "\x9b\x67", + [0x3b06] = "\x9b\x69", [0x3b12] = "\x8f\xec", [0x3b1a] = "\x9b\x6c", + [0x3b1c] = "\x92\xda", [0x3b20] = "\x89\x64", [0x3b22] = "\x9b\x6a", + [0x3b26] = "\x9b\x6d", [0x3b2e] = "\x9b\x6e", [0x3b30] = "\x9b\x71", + [0x3b33] = "\x9b\x6f", [0x3b35] = "\x9b\x70", [0x3b40] = "\x8e\x71", + [0x3b41] = "\x9b\x72", [0x3b44] = "\x8d\x45", [0x3b45] = "\x9b\x73", + [0x3b47] = "\x8e\x9a", [0x3b48] = "\x91\xb6", [0x3b4a] = "\x9b\x74", + [0x3b4b] = "\x9b\x75", [0x3b4c] = "\x8e\x79", [0x3b4d] = "\x8d\x46", + [0x3b4f] = "\x96\xd0", [0x3b53] = "\x8b\x47", [0x3b54] = "\x8c\xc7", + [0x3b55] = "\x9b\x76", [0x3b56] = "\x8a\x77", [0x3b59] = "\x9b\x77", + [0x3b5b] = "\x91\xb7", [0x3b60] = "\x9b\x78", [0x3b61] = "\x9b\xa1", + [0x3b63] = "\x9b\x79", [0x3b65] = "\x9b\x7a", [0x3b68] = "\x9b\x7b", + [0x3b6a] = "\x9b\x7d", [0x3b70] = "\x9b\x7e", [0x3b73] = "\x9b\x80", + [0x3b75] = "\x91\xee", [0x3b77] = "\x89\x46", [0x3b78] = "\x8e\xe7", + [0x3b79] = "\x88\xc0", [0x3b7b] = "\x91\x76", [0x3b7c] = "\x8a\xae", + [0x3b7d] = "\x8e\xb3", [0x3b7f] = "\x8d\x47", [0x3b85] = "\x93\x86", + [0x3b87] = "\x8f\x40", [0x3b88] = "\x8a\xaf", [0x3b89] = "\x92\x88", + [0x3b8a] = "\x92\xe8", [0x3b8b] = "\x88\xb6", [0x3b8c] = "\x8b\x58", + [0x3b8d] = "\x95\xf3", [0x3b8f] = "\x8e\xc0", [0x3b92] = "\x8b\x71", + [0x3b93] = "\x90\xe9", [0x3b94] = "\x8e\xba", [0x3b95] = "\x97\x47", + [0x3b96] = "\x9b\x81", [0x3b9e] = "\x8b\x7b", [0x3ba0] = "\x8d\xc9", + [0x3ba3] = "\x8a\x51", [0x3ba4] = "\x89\x83", [0x3ba5] = "\x8f\xaa", + [0x3ba6] = "\x89\xc6", [0x3ba8] = "\x9b\x82", [0x3ba9] = "\x97\x65", + [0x3baf] = "\x8f\x68", [0x3bb2] = "\x8e\xe2", [0x3bb3] = "\x9b\x83", + [0x3bb4] = "\x8a\xf1", [0x3bb5] = "\x93\xd0", [0x3bb6] = "\x96\xa7", + [0x3bb7] = "\x9b\x84", [0x3bb9] = "\x9b\x85", [0x3bbc] = "\x95\x78", + [0x3bc0] = "\x9b\x87", [0x3bc2] = "\x8a\xa6", [0x3bc3] = "\x8b\xf5", + [0x3bc4] = "\x9b\x86", [0x3bcb] = "\x8a\xb0", [0x3bcd] = "\x90\x51", + [0x3bce] = "\x9b\x8b", [0x3bcf] = "\x8e\x40", [0x3bd1] = "\x89\xc7", + [0x3bd2] = "\x9b\x8a", [0x3bd4] = "\x9b\x88", [0x3bd5] = "\x9b\x8c", + [0x3bd6] = "\x9b\x89", [0x3bd7] = "\x94\x4a", [0x3bd8] = "\x9e\xcb", + [0x3bd9] = "\x90\x52", [0x3bdb] = "\x9b\x8d", [0x3bde] = "\x97\xbe", + [0x3be0] = "\x9b\x8e", [0x3be3] = "\x9b\x90", [0x3be5] = "\x92\x9e", + [0x3be6] = "\x9b\x8f", [0x3be8] = "\x90\xa1", [0x3bea] = "\x8e\x9b", + [0x3bee] = "\x91\xce", [0x3bef] = "\x8e\xf5", [0x3bf1] = "\x95\x95", + [0x3bf2] = "\x90\xea", [0x3bf4] = "\x8e\xcb", [0x3bf5] = "\x9b\x91", + [0x3bf6] = "\x8f\xab", [0x3bf7] = "\x9b\x92", [0x3bf8] = "\x9b\x93", + [0x3bf9] = "\x88\xd1", [0x3bfa] = "\x91\xb8", [0x3bfb] = "\x90\x71", + [0x3bfd] = "\x9b\x94", [0x3bfe] = "\x93\xb1", [0x3bff] = "\x8f\xac", + [0x3c01] = "\x8f\xad", [0x3c03] = "\x9b\x95", [0x3c06] = "\x90\xeb", + [0x3c0a] = "\x8f\xae", [0x3c10] = "\x9b\x96", [0x3c12] = "\x9b\x97", + [0x3c14] = "\x96\xde", [0x3c18] = "\x9b\x98", [0x3c1d] = "\x8b\xc4", + [0x3c21] = "\x8f\x41", [0x3c28] = "\x9b\x99", [0x3c29] = "\x9b\x9a", + [0x3c2a] = "\x8e\xda", [0x3c2b] = "\x90\x4b", [0x3c2c] = "\x93\xf2", + [0x3c2d] = "\x90\x73", [0x3c2e] = "\x94\xf6", [0x3c2f] = "\x94\x41", + [0x3c30] = "\x8b\xc7", [0x3c31] = "\x9b\x9b", [0x3c35] = "\x8b\x8f", + [0x3c36] = "\x9b\x9c", [0x3c38] = "\x8b\xfc", [0x3c3a] = "\x93\xcd", + [0x3c3b] = "\x89\xae", [0x3c3d] = "\x8e\x72", [0x3c3e] = "\x9b\x9d", + [0x3c3f] = "\x9b\xa0", [0x3c40] = "\x9b\x9f", [0x3c41] = "\x8b\xfb", + [0x3c43] = "\x9b\x9e", [0x3c45] = "\x93\x57", [0x3c4e] = "\x91\xae", + [0x3c50] = "\x93\x6a", [0x3c51] = "\x8e\xc6", [0x3c54] = "\x91\x77", + [0x3c55] = "\x97\x9a", [0x3c5c] = "\x9b\xa2", [0x3c5e] = "\x9b\xa3", + [0x3c5f] = "\x93\xd4", [0x3c61] = "\x8e\x52", [0x3c66] = "\x9b\xa5", + [0x3c69] = "\x9b\xa6", [0x3c7c] = "\x9b\xa7", [0x3c80] = "\x8a\xf2", + [0x3c81] = "\x9b\xa8", [0x3c84] = "\x9b\xa9", [0x3c91] = "\x89\xaa", + [0x3c98] = "\x91\x5a", [0x3c99] = "\x8a\xe2", [0x3c9b] = "\x9b\xab", + [0x3c9c] = "\x96\xa6", [0x3ca1] = "\x91\xd0", [0x3ca3] = "\x8a\x78", + [0x3ca6] = "\x9b\xad", [0x3ca7] = "\x9b\xaf", [0x3ca8] = "\x8a\xdd", + [0x3cab] = "\x9b\xac", [0x3cac] = "\x9b\xae", [0x3cae] = "\x9b\xb1", + [0x3cb5] = "\x9b\xb0", [0x3cb7] = "\x9b\xb2", [0x3cc9] = "\x9b\xb3", + [0x3cd0] = "\x93\xbb", [0x3cd1] = "\x8b\xac", [0x3cd8] = "\x89\xe3", + [0x3cd9] = "\x9b\xb4", [0x3cda] = "\x9b\xb9", [0x3cdd] = "\x9b\xb7", + [0x3cdf] = "\x95\xf5", [0x3ce0] = "\x95\xf4", [0x3ce6] = "\x93\x87", + [0x3cea] = "\x9b\xb6", [0x3ceb] = "\x8f\x73", [0x3ced] = "\x9b\xb5", + [0x3cf7] = "\x90\x92", [0x3cfb] = "\x9b\xba", [0x3cfe] = "\x8d\xe8", + [0x3d01] = "\x9b\xc0", [0x3d04] = "\x9b\xc1", [0x3d05] = "\x9b\xbb", + [0x3d06] = "\x8a\x52", [0x3d07] = "\x9b\xbc", [0x3d08] = "\x9b\xc5", + [0x3d09] = "\x9b\xc4", [0x3d0a] = "\x9b\xc3", [0x3d0b] = "\x9b\xbf", + [0x3d0f] = "\x9b\xbe", [0x3d12] = "\x9b\xc2", [0x3d19] = "\x95\xf6", + [0x3d3b] = "\x9b\xc9", [0x3d3c] = "\x9b\xc6", [0x3d3e] = "\x9b\xc8", + [0x3d40] = "\x97\x92", [0x3d42] = "\x9b\xc7", [0x3d4c] = "\x9b\xbd", + [0x3d59] = "\x90\x93", [0x3d5c] = "\x9b\xca", [0x3d5f] = "\x8d\xb5", + [0x3d63] = "\x9b\xcb", [0x3d66] = "\x9b\xcc", [0x3d72] = "\x9b\xcf", + [0x3d74] = "\x9b\xce", [0x3d77] = "\x9b\xcd", [0x3d7b] = "\x93\x88", + [0x3d7c] = "\x9b\xb8", [0x3d80] = "\x9b\xd5", [0x3d8d] = "\x9b\xd1", + [0x3d92] = "\x9b\xd0", [0x3d9c] = "\x9b\xd2", [0x3d9e] = "\x9b\xd3", + [0x3da7] = "\x9b\xd6", [0x3daa] = "\x97\xe4", [0x3dac] = "\x9b\xd7", + [0x3dad] = "\x9b\xd4", [0x3db9] = "\x9b\xd8", [0x3dbc] = "\x8a\xde", + [0x3dbd] = "\x9b\xd9", [0x3dc2] = "\x9b\xdb", [0x3dc3] = "\x9b\xda", + [0x3dc6] = "\x9b\xdc", [0x3dcb] = "\x9b\xdd", [0x3dcd] = "\x90\xec", + [0x3dce] = "\x8f\x42", [0x3dd1] = "\x8f\x84", [0x3dd3] = "\x91\x83", + [0x3dd5] = "\x8d\x48", [0x3dd6] = "\x8d\xb6", [0x3dd7] = "\x8d\x49", + [0x3dd8] = "\x8b\x90", [0x3ddb] = "\x9b\xde", [0x3dde] = "\x8d\xb7", + [0x3de1] = "\x8c\xc8", [0x3de2] = "\x9b\xdf", [0x3de3] = "\x96\xa4", + [0x3de4] = "\x94\x62", [0x3de5] = "\x9b\xe0", [0x3de7] = "\x8d\x4a", + [0x3deb] = "\x8a\xaa", [0x3ded] = "\x92\x46", [0x3dee] = "\x8b\xd0", + [0x3df2] = "\x8e\x73", [0x3df3] = "\x95\x7a", [0x3df6] = "\x94\xbf", + [0x3dfb] = "\x9b\xe1", [0x3dfc] = "\x8a\xf3", [0x3e01] = "\x9b\xe4", + [0x3e06] = "\x92\x9f", [0x3e09] = "\x9b\xe3", [0x3e0a] = "\x9b\xe2", + [0x3e0b] = "\x9b\xe5", [0x3e0d] = "\x92\xe9", [0x3e15] = "\x90\x83", + [0x3e1b] = "\x8e\x74", [0x3e1d] = "\x90\xc8", [0x3e1f] = "\x91\xd1", + [0x3e20] = "\x8b\x41", [0x3e23] = "\x92\xa0", [0x3e26] = "\x9b\xe6", + [0x3e27] = "\x9b\xe7", [0x3e28] = "\x8f\xed", [0x3e2d] = "\x96\x58", + [0x3e30] = "\x9b\xea", [0x3e33] = "\x9b\xe9", [0x3e34] = "\x9b\xe8", + [0x3e35] = "\x95\x9d", [0x3e37] = "\x9b\xf1", [0x3e3c] = "\x96\x79", + [0x3e3e] = "\x9b\xeb", [0x3e44] = "\x9b\xed", [0x3e45] = "\x96\x8b", + [0x3e47] = "\x9b\xec", [0x3e4f] = "\x9b\xee", [0x3e51] = "\x94\xa6", + [0x3e52] = "\x9b\xef", [0x3e53] = "\x95\xbc", [0x3e54] = "\x9b\xf0", + [0x3e62] = "\x8a\xb1", [0x3e63] = "\x95\xbd", [0x3e64] = "\x94\x4e", + [0x3e65] = "\x9b\xf2", [0x3e66] = "\x9b\xf3", [0x3e68] = "\x8d\x4b", + [0x3e69] = "\x8a\xb2", [0x3e6a] = "\x9b\xf4", [0x3e6b] = "\x8c\xb6", + [0x3e6c] = "\x97\x63", [0x3e6d] = "\x97\x48", [0x3e6e] = "\x8a\xf4", + [0x3e6f] = "\x9b\xf6", [0x3e71] = "\x92\xa1", [0x3e73] = "\x8d\x4c", + [0x3e74] = "\x8f\xaf", [0x3e77] = "\x94\xdd", [0x3e7a] = "\x8f\xb0", + [0x3e7f] = "\x8f\x98", [0x3e85] = "\x92\xea", [0x3e86] = "\x95\xf7", + [0x3e87] = "\x93\x58", [0x3e8a] = "\x8d\x4d", [0x3e8c] = "\x95\x7b", + [0x3e90] = "\x9b\xf7", [0x3e96] = "\x93\x78", [0x3e97] = "\x8d\xc0", + [0x3e9b] = "\x8c\xc9", [0x3e9d] = "\x92\xeb", [0x3ea5] = "\x88\xc1", + [0x3ea6] = "\x8f\x8e", [0x3ea7] = "\x8d\x4e", [0x3ea8] = "\x97\x66", + [0x3eb1] = "\x9b\xf8", [0x3eb2] = "\x9b\xf9", [0x3eb3] = "\x94\x70", + [0x3eb8] = "\x9b\xfa", [0x3eb9] = "\x97\xf5", [0x3eba] = "\x98\x4c", + [0x3ebf] = "\x9b\xfc", [0x3ec0] = "\x9b\xfb", [0x3ec3] = "\x8a\x66", + [0x3ec6] = "\x9c\x40", [0x3eca] = "\x9c\x43", [0x3ecb] = "\x9c\x44", + [0x3ecd] = "\x9c\x42", [0x3ecf] = "\x95\x5f", [0x3ed0] = "\x8f\xb1", + [0x3ed1] = "\x9c\x46", [0x3ed2] = "\x9c\x45", [0x3ed3] = "\x9c\x41", + [0x3ed8] = "\x9c\x47", [0x3ed9] = "\x9c\x48", [0x3edc] = "\x9c\x49", + [0x3ee0] = "\x9c\x4c", [0x3ee1] = "\x9c\x4a", [0x3ee3] = "\x9c\x4b", + [0x3ee4] = "\x9c\x4d", [0x3ee6] = "\x89\x84", [0x3ee7] = "\x92\xec", + [0x3ee8] = "\x9c\x4e", [0x3eea] = "\x8c\x9a", [0x3eeb] = "\x89\xf4", + [0x3eec] = "\x94\x55", [0x3eee] = "\x9c\x4f", [0x3eef] = "\x93\xf9", + [0x3ef1] = "\x95\xd9", [0x3ef3] = "\x9c\x50", [0x3ef4] = "\x98\x4d", + [0x3ef9] = "\x9c\x51", [0x3efa] = "\x95\xbe", [0x3efb] = "\x9c\x54", + [0x3efc] = "\x98\x9f", [0x3efd] = "\x98\xaf", [0x3eff] = "\x8e\xae", + [0x3f00] = "\x93\xf3", [0x3f01] = "\x9c\x55", [0x3f03] = "\x8b\x7c", + [0x3f04] = "\x92\xa2", [0x3f05] = "\x88\xf8", [0x3f06] = "\x9c\x56", + [0x3f07] = "\x95\xa4", [0x3f08] = "\x8d\x4f", [0x3f0b] = "\x92\x6f", + [0x3f0f] = "\x92\xed", [0x3f15] = "\x96\xed", [0x3f16] = "\x8c\xb7", + [0x3f17] = "\x8c\xca", [0x3f19] = "\x9c\x57", [0x3f1d] = "\x9c\x58", + [0x3f1f] = "\x9c\x5e", [0x3f21] = "\x8e\xe3", [0x3f25] = "\x92\xa3", + [0x3f27] = "\x8b\xad", [0x3f28] = "\x9c\x59", [0x3f2c] = "\x95\x4a", + [0x3f2e] = "\x92\x65", [0x3f31] = "\x9c\x5a", [0x3f38] = "\x9c\x5b", + [0x3f3a] = "\x8b\xae", [0x3f3c] = "\x9c\x5c", [0x3f3e] = "\x9c\x5d", + [0x3f41] = "\x9c\x5f", [0x3f43] = "\x93\x96", [0x3f46] = "\x9c\x60", + [0x3f47] = "\x9c\x61", [0x3f49] = "\x9c\x62", [0x3f4c] = "\x9c\x53", + [0x3f4d] = "\x9c\x52", [0x3f51] = "\x9c\x63", [0x3f52] = "\x8c\x60", + [0x3f56] = "\x95\x46", [0x3f59] = "\x8d\xca", [0x3f5a] = "\x95\x56", + [0x3f5b] = "\x92\xa4", [0x3f5c] = "\x95\x6a", [0x3f5d] = "\x9c\x64", + [0x3f60] = "\x8f\xb2", [0x3f61] = "\x89\x65", [0x3f63] = "\x9c\x65", + [0x3f67] = "\x9c\x66", [0x3f69] = "\x96\xf0", [0x3f6c] = "\x94\xde", + [0x3f6f] = "\x9c\x69", [0x3f70] = "\x89\x9d", [0x3f71] = "\x90\xaa", + [0x3f72] = "\x9c\x68", [0x3f73] = "\x9c\x67", [0x3f74] = "\x8c\x61", + [0x3f75] = "\x91\xd2", [0x3f77] = "\x9c\x6d", [0x3f78] = "\x9c\x6b", + [0x3f7a] = "\x9c\x6a", [0x3f7b] = "\x97\xa5", [0x3f7c] = "\x8c\xe3", + [0x3f80] = "\x8f\x99", [0x3f81] = "\x9c\x6c", [0x3f82] = "\x93\x6b", + [0x3f83] = "\x8f\x5d", [0x3f87] = "\x93\xbe", [0x3f88] = "\x9c\x70", + [0x3f89] = "\x9c\x6f", [0x3f8e] = "\x9c\x6e", [0x3f90] = "\x9c\x71", + [0x3f91] = "\x8c\xe4", [0x3f98] = "\x9c\x72", [0x3f99] = "\x95\x9c", + [0x3f9a] = "\x8f\x7a", [0x3f9d] = "\x9c\x73", [0x3f9e] = "\x94\xf7", + [0x3fa3] = "\x93\xbf", [0x3fa4] = "\x92\xa5", [0x3fa9] = "\x93\x4f", + [0x3fac] = "\x9c\x74", [0x3fad] = "\x8b\x4a", [0x3fb3] = "\x90\x53", + [0x3fb5] = "\x95\x4b", [0x3fbc] = "\x8a\xf5", [0x3fbd] = "\x94\x45", + [0x3fc6] = "\x9c\x75", [0x3fc7] = "\x8e\x75", [0x3fc8] = "\x96\x59", + [0x3fc9] = "\x96\x5a", [0x3fcc] = "\x89\x9e", [0x3fcd] = "\x9c\x7a", + [0x3fd0] = "\x92\x89", [0x3fd4] = "\x9c\x77", [0x3fdb] = "\x89\xf5", + [0x3fe0] = "\x9c\xab", [0x3fe1] = "\x9c\x79", [0x3fe5] = "\x94\x4f", + [0x3fe8] = "\x9c\x78", [0x3feb] = "\x9c\x76", [0x3fed] = "\x8d\x9a", + [0x3fef] = "\x9c\x7c", [0x3ffe] = "\x9c\x83", [0x3fff] = "\x9c\x89", + [0x4000] = "\x9c\x81", [0x4002] = "\x93\x7b", [0x4005] = "\x9c\x86", + [0x4006] = "\x95\x7c", [0x4009] = "\x9c\x80", [0x400b] = "\x9c\x85", + [0x400c] = "\x97\xe5", [0x400d] = "\x8e\x76", [0x4010] = "\x91\xd3", + [0x4011] = "\x9c\x7d", [0x4015] = "\x8b\x7d", [0x4016] = "\x9c\x88", + [0x4017] = "\x90\xab", [0x4018] = "\x89\x85", [0x4019] = "\x9c\x82", + [0x401a] = "\x89\xf6", [0x401b] = "\x9c\x87", [0x401f] = "\x8b\xaf", + [0x4021] = "\x9c\x84", [0x402a] = "\x9c\x8a", [0x4031] = "\x9c\x8c", + [0x4032] = "\x9c\x96", [0x4033] = "\x9c\x94", [0x4036] = "\x9c\x91", + [0x403a] = "\x9c\x90", [0x403b] = "\x97\xf6", [0x403d] = "\x9c\x92", + [0x4040] = "\x8b\xb0", [0x4042] = "\x8d\x50", [0x4045] = "\x8f\x9a", + [0x4049] = "\x9c\x99", [0x404a] = "\x9c\x8b", [0x404f] = "\x9c\x8f", + [0x4050] = "\x9c\x7e", [0x4052] = "\x89\xf8", [0x4053] = "\x9c\x93", + [0x4054] = "\x9c\x95", [0x4055] = "\x92\x70", [0x4058] = "\x8d\xa6", + [0x4059] = "\x89\xb6", [0x405a] = "\x9c\x8d", [0x405b] = "\x9c\x98", + [0x405c] = "\x9c\x97", [0x405d] = "\x8b\xb1", [0x405f] = "\x91\xa7", + [0x4060] = "\x8a\x86", [0x4065] = "\x8c\x62", [0x4067] = "\x9c\x8e", + [0x4071] = "\x9c\x9a", [0x4073] = "\x9c\x9d", [0x4074] = "\x9c\x9f", + [0x4079] = "\x8e\xbb", [0x407b] = "\x9c\xa5", [0x407c] = "\x92\xee", + [0x407d] = "\x9c\x9b", [0x4082] = "\x9c\xa3", [0x4084] = "\x89\xf7", + [0x4086] = "\x9c\xa1", [0x4087] = "\x9c\xa2", [0x408a] = "\x9c\x9e", + [0x408b] = "\x9c\xa0", [0x408f] = "\x8c\xe5", [0x4090] = "\x97\x49", + [0x4093] = "\x8a\xb3", [0x4096] = "\x89\x78", [0x4097] = "\x9c\xa4", + [0x4099] = "\x94\x59", [0x409a] = "\x88\xab", [0x40a2] = "\x94\xdf", + [0x40a3] = "\x9c\x7b", [0x40a4] = "\x9c\xaa", [0x40a5] = "\x9c\xae", + [0x40a6] = "\x96\xe3", [0x40a8] = "\x9c\xa7", [0x40ac] = "\x93\x89", + [0x40ad] = "\x9c\xac", [0x40b5] = "\x8f\xee", [0x40b6] = "\x9c\xad", + [0x40b7] = "\x93\xd5", [0x40c1] = "\x98\x66", [0x40c3] = "\x9c\xa9", + [0x40c8] = "\x9c\xaf", [0x40ca] = "\x8d\x9b", [0x40cc] = "\x90\xc9", + [0x40cf] = "\x88\xd2", [0x40d0] = "\x9c\xa8", [0x40d1] = "\x9c\xa6", + [0x40d3] = "\x91\x79", [0x40d7] = "\x9c\x9c", [0x40d8] = "\x8e\x53", + [0x40e0] = "\x91\xc4", [0x40e1] = "\x9c\xbb", [0x40e3] = "\x91\x7a", + [0x40e4] = "\x9c\xb6", [0x40e6] = "\x9c\xb3", [0x40e7] = "\x9c\xb4", + [0x40e9] = "\x8e\xe4", [0x40ea] = "\x9c\xb7", [0x40eb] = "\x9c\xba", + [0x40f0] = "\x9c\xb5", [0x40f1] = "\x8f\x44", [0x40f3] = "\x9c\xb8", + [0x40f6] = "\x9c\xb2", [0x40f8] = "\x96\xfa", [0x40f9] = "\x96\xf9", + [0x40fd] = "\x9c\xbc", [0x40fe] = "\x9c\xbd", [0x40ff] = "\x88\xd3", + [0x4105] = "\x9c\xb1", [0x410a] = "\x8b\xf0", [0x410b] = "\x88\xa4", + [0x410f] = "\x8a\xb4", [0x4111] = "\x9c\xb9", [0x4117] = "\x9c\xc1", + [0x4118] = "\x9c\xc0", [0x411c] = "\x9c\xc5", [0x4124] = "\x9c\xc6", + [0x412c] = "\x9c\xc4", [0x412d] = "\x9c\xc7", [0x412e] = "\x9c\xbf", + [0x412f] = "\x9c\xc3", [0x4132] = "\x9c\xc8", [0x4134] = "\x9c\xc9", + [0x4137] = "\x9c\xbe", [0x4138] = "\x8e\x9c", [0x413a] = "\x9c\xc2", + [0x413b] = "\x91\xd4", [0x413c] = "\x8d\x51", [0x413d] = "\x9c\xb0", + [0x413e] = "\x90\x54", [0x4143] = "\x9c\xd6", [0x4145] = "\x95\xe7", + [0x4148] = "\x9c\xcc", [0x4149] = "\x9c\xcd", [0x414a] = "\x9c\xce", + [0x414d] = "\x9c\xd5", [0x414f] = "\x9c\xd4", [0x4152] = "\x96\x9d", + [0x4153] = "\x8a\xb5", [0x4155] = "\x9c\xd2", [0x4157] = "\x8c\x64", + [0x4158] = "\x8a\x53", [0x415b] = "\x9c\xcf", [0x415e] = "\x97\xb6", + [0x415f] = "\x9c\xd1", [0x4160] = "\x88\xd4", [0x4161] = "\x9c\xd3", + [0x4163] = "\x9c\xca", [0x4164] = "\x9c\xd0", [0x4165] = "\x9c\xd7", + [0x4166] = "\x8c\x63", [0x4167] = "\x9c\xcb", [0x416e] = "\x97\x7c", + [0x4172] = "\x97\x4a", [0x4177] = "\x9c\xda", [0x417a] = "\x9c\xde", + [0x417e] = "\x91\x9e", [0x4180] = "\x97\xf7", [0x4181] = "\x9c\xdf", + [0x4184] = "\x9c\xdc", [0x4186] = "\x9c\xd9", [0x4189] = "\x9c\xd8", + [0x418a] = "\x9c\xdd", [0x4194] = "\x95\xae", [0x4197] = "\x93\xb2", + [0x4199] = "\x8c\x65", [0x419b] = "\x9c\xe0", [0x419c] = "\x9c\xdb", + [0x419e] = "\x9c\xe1", [0x41a2] = "\x8c\x9b", [0x41a6] = "\x89\xaf", + [0x41aa] = "\x9c\xe9", [0x41ae] = "\x8a\xb6", [0x41b3] = "\x9c\xe7", + [0x41b6] = "\x9c\xe8", [0x41b7] = "\x8d\xa7", [0x41b8] = "\x9c\xe6", + [0x41b9] = "\x9c\xe4", [0x41ba] = "\x9c\xe3", [0x41bb] = "\x9c\xea", + [0x41bc] = "\x9c\xe2", [0x41bd] = "\x9c\xec", [0x41c0] = "\x89\xf9", + [0x41d3] = "\x9c\xee", [0x41d6] = "\x9c\xed", [0x41e2] = "\x92\xa6", + [0x41e4] = "\x9c\xf1", [0x41e6] = "\x9c\xef", [0x41e7] = "\x9c\xe5", + [0x41e8] = "\x8c\x9c", [0x41ea] = "\x9c\xf0", [0x41ec] = "\x9c\xf4", + [0x41ed] = "\x9c\xf3", [0x41ee] = "\x9c\xf5", [0x41ef] = "\x9c\xf2", + [0x41f0] = "\x9c\xf6", [0x41f8] = "\x9c\xf7", [0x41f9] = "\x9c\xf8", + [0x41fa] = "\x95\xe8", [0x41fc] = "\x9c\xfa", [0x41fd] = "\x9c\xf9", + [0x41fe] = "\x8f\x5e", [0x4200] = "\x90\xac", [0x4201] = "\x89\xe4", + [0x4202] = "\x89\xfa", [0x4204] = "\x9c\xfb", [0x4206] = "\x88\xbd", + [0x420a] = "\x90\xca", [0x420b] = "\x9c\xfc", [0x420d] = "\xe6\xc1", + [0x420e] = "\x9d\x40", [0x420f] = "\x8c\x81", [0x4211] = "\x9d\x41", + [0x4216] = "\x90\xed", [0x421a] = "\x9d\x42", [0x421e] = "\x9d\x43", + [0x421f] = "\x8b\x59", [0x4220] = "\x9d\x44", [0x4222] = "\x9d\x45", + [0x4223] = "\x9d\x46", [0x4224] = "\x91\xd5", [0x4228] = "\x8c\xcb", + [0x422b] = "\x96\xdf", [0x422f] = "\x96\x5b", [0x4230] = "\x8f\x8a", + [0x4231] = "\x9d\x47", [0x4237] = "\x90\xee", [0x4238] = "\xe7\xbb", + [0x4239] = "\x94\xe0", [0x423b] = "\x8e\xe8", [0x423d] = "\x8d\xcb", + [0x423e] = "\x9d\x48", [0x4243] = "\x91\xc5", [0x4245] = "\x95\xa5", + [0x4248] = "\x91\xef", [0x424b] = "\x9d\x4b", [0x424e] = "\x9d\x49", + [0x4250] = "\x9d\x4c", [0x4253] = "\x9d\x4a", [0x4258] = "\x9d\x4d", + [0x425e] = "\x95\xaf", [0x4261] = "\x88\xb5", [0x4266] = "\x95\x7d", + [0x4269] = "\x94\xe1", [0x426c] = "\x9d\x4e", [0x426e] = "\x9d\x51", + [0x426f] = "\x8f\xb3", [0x4270] = "\x8b\x5a", [0x4272] = "\x9d\x4f", + [0x4273] = "\x9d\x56", [0x4274] = "\x8f\xb4", [0x4279] = "\x9d\x50", + [0x427a] = "\x94\x63", [0x4281] = "\x97\x7d", [0x4282] = "\x9d\x52", + [0x4283] = "\x9d\x53", [0x4284] = "\x9d\x57", [0x4285] = "\x93\x8a", + [0x4286] = "\x9d\x54", [0x4287] = "\x8d\x52", [0x4288] = "\x90\xdc", + [0x428b] = "\x9d\x65", [0x428c] = "\x94\xb2", [0x428e] = "\x91\xf0", + [0x429b] = "\x94\xe2", [0x429c] = "\x9d\xab", [0x42a1] = "\x95\xf8", + [0x42a5] = "\x92\xef", [0x42a9] = "\x96\x95", [0x42ab] = "\x9d\x5a", + [0x42ac] = "\x89\x9f", [0x42ad] = "\x92\x8a", [0x42b2] = "\x9d\x63", + [0x42b5] = "\x92\x53", [0x42b6] = "\x9d\x5d", [0x42b7] = "\x9d\x64", + [0x42b8] = "\x9d\x5f", [0x42b9] = "\x9d\x66", [0x42ba] = "\x9d\x62", + [0x42bc] = "\x9d\x61", [0x42bd] = "\x94\x8f", [0x42bf] = "\x9d\x5b", + [0x42c0] = "\x89\xfb", [0x42c1] = "\x9d\x59", [0x42c2] = "\x8b\x91", + [0x42c3] = "\x91\xf1", [0x42c4] = "\x9d\x55", [0x42c7] = "\x9d\x58", + [0x42c8] = "\x8d\x53", [0x42c9] = "\x90\xd9", [0x42cb] = "\x8f\xb5", + [0x42cc] = "\x9d\x60", [0x42cd] = "\x94\x71", [0x42d0] = "\x8b\x92", + [0x42d1] = "\x8a\x67", [0x42dc] = "\x8a\x87", [0x42dd] = "\x90\x40", + [0x42de] = "\x9d\x68", [0x42df] = "\x9d\x6d", [0x42e1] = "\x9d\x69", + [0x42e3] = "\x8c\x9d", [0x42e5] = "\x9d\x6e", [0x42e6] = "\x8e\x41", + [0x42e7] = "\x8d\x89", [0x42ee] = "\x8f\x45", [0x42ef] = "\x9d\x5c", + [0x42f1] = "\x8e\x9d", [0x42f2] = "\x9d\x6b", [0x42f7] = "\x8e\x77", + [0x42f8] = "\x9d\x6c", [0x42f9] = "\x88\xc2", [0x42fc] = "\x9d\x67", + [0x4301] = "\x92\xa7", [0x4309] = "\x8b\x93", [0x430f] = "\x8b\xb2", + [0x4317] = "\x9d\x6a", [0x4318] = "\x88\xa5", [0x431b] = "\x8d\xc1", + [0x431f] = "\x90\x55", [0x432a] = "\x92\xf0", [0x432d] = "\x94\xd2", + [0x432e] = "\x9d\x70", [0x432f] = "\x91\x7d", [0x4339] = "\x91\xa8", + [0x433c] = "\x8e\x4a", [0x433d] = "\x9d\x71", [0x433f] = "\x9d\x73", + [0x4340] = "\x9d\x6f", [0x4345] = "\x95\xdf", [0x4347] = "\x92\xbb", + [0x434c] = "\x91\x7b", [0x4357] = "\x95\xf9", [0x4358] = "\x8e\xcc", + [0x4359] = "\x9d\x80", [0x435b] = "\x9d\x7e", [0x435e] = "\x90\x98", + [0x4362] = "\x8c\x9e", [0x4366] = "\x9d\x78", [0x4367] = "\x8f\xb7", + [0x436a] = "\x93\xe6", [0x436b] = "\x94\x50", [0x4370] = "\x9d\x76", + [0x4373] = "\x91\x7c", [0x4378] = "\x8e\xf6", [0x4379] = "\x9d\x7b", + [0x437c] = "\x8f\xb6", [0x437e] = "\x9d\x75", [0x437f] = "\x9d\x7a", + [0x4382] = "\x94\x72", [0x4386] = "\x9d\x74", [0x4388] = "\x8c\x40", + [0x438b] = "\x8a\x7c", [0x438f] = "\x9d\x7c", [0x4390] = "\x97\xa9", + [0x4391] = "\x8d\xcc", [0x4392] = "\x92\x54", [0x4393] = "\x9d\x79", + [0x4395] = "\x90\xda", [0x4397] = "\x8d\x54", [0x4398] = "\x90\x84", + [0x4399] = "\x89\x86", [0x439a] = "\x91\x5b", [0x439b] = "\x9d\x77", + [0x439c] = "\x8b\x64", [0x43a2] = "\x8c\x66", [0x43a4] = "\x92\xcd", + [0x43a5] = "\x9d\x7d", [0x43ab] = "\x91\x7e", [0x43ae] = "\x9d\x81", + [0x43b0] = "\x9d\x83", [0x43b3] = "\x91\xb5", [0x43b4] = "\x9d\x89", + [0x43b6] = "\x9d\x84", [0x43b9] = "\x9d\x86", [0x43bf] = "\x95\x60", + [0x43c0] = "\x92\xf1", [0x43c2] = "\x9d\x87", [0x43c6] = "\x97\x4b", + [0x43ca] = "\x97\x67", [0x43cb] = "\x8a\xb7", [0x43d1] = "\x88\xac", + [0x43d3] = "\x9d\x85", [0x43d9] = "\x9d\x82", [0x43de] = "\x8a\xf6", + [0x43e4] = "\x89\x87", [0x43e6] = "\x9d\x88", [0x43ea] = "\x97\x68", + [0x43f6] = "\x9d\x8c", [0x43fd] = "\x91\xb9", [0x43ff] = "\x9d\x93", + [0x4403] = "\x9d\x8d", [0x4406] = "\x9d\x8a", [0x4407] = "\x9d\x91", + [0x440c] = "\x9d\x72", [0x4416] = "\x9d\x8e", [0x4418] = "\x9d\x92", + [0x441c] = "\x94\xc0", [0x441d] = "\x93\x8b", [0x4424] = "\x9d\x8b", + [0x4426] = "\x9d\x8f", [0x442a] = "\x8c\x67", [0x442e] = "\x8d\xef", + [0x4432] = "\x90\xdb", [0x443e] = "\x9d\x97", [0x4448] = "\x93\x45", + [0x4457] = "\x9d\x94", [0x4459] = "\x96\x80", [0x445f] = "\x9d\x95", + [0x4466] = "\x9d\x96", [0x4468] = "\x96\xcc", [0x446a] = "\x90\xa0", + [0x4473] = "\x8c\x82", [0x4478] = "\x9d\x9d", [0x4482] = "\x8e\x54", + [0x4483] = "\x9d\x9a", [0x4485] = "\x9d\x99", [0x448a] = "\x94\x51", + [0x448e] = "\x93\xb3", [0x4494] = "\x93\x50", [0x4495] = "\x9d\x9b", + [0x4499] = "\x9d\x9c", [0x449b] = "\x95\x8f", [0x449d] = "\x94\x64", + [0x449e] = "\x8e\x42", [0x44a0] = "\x90\xef", [0x44a2] = "\x96\x6f", + [0x44a9] = "\x8a\x68", [0x44ab] = "\x9d\xa3", [0x44ac] = "\x9d\x9e", + [0x44b1] = "\x97\x69", [0x44b2] = "\x9d\xa5", [0x44b5] = "\x9d\xa1", + [0x44b7] = "\x9d\xa2", [0x44bd] = "\x91\x80", [0x44c2] = "\x9d\xa0", + [0x44c4] = "\x9d\x5e", [0x44c8] = "\x9d\xa4", [0x44ca] = "\x9d\x9f", + [0x44d0] = "\x9d\xa9", [0x44d1] = "\x9d\xaa", [0x44d2] = "\x93\x46", + [0x44d3] = "\x9d\xac", [0x44d6] = "\x8e\x43", [0x44d7] = "\x9d\xa7", + [0x44dc] = "\x8b\x5b", [0x44df] = "\x9d\xad", [0x44e1] = "\x9d\xa6", + [0x44e2] = "\x9d\xb1", [0x44e4] = "\x9d\xb0", [0x44e6] = "\x9d\xaf", + [0x44ea] = "\x9d\xb2", [0x44ed] = "\x9d\xb4", [0x44ee] = "\x8f\xef", + [0x44f0] = "\x9d\xb3", [0x44f5] = "\x9d\xb7", [0x4508] = "\x9d\xb5", + [0x450c] = "\x9d\xb6", [0x450d] = "\x9d\x90", [0x4513] = "\x9d\xb9", + [0x4514] = "\x9d\xb8", [0x451a] = "\x9d\x98", [0x451b] = "\x9d\xba", + [0x451c] = "\x9d\xae", [0x451f] = "\x8e\x78", [0x4524] = "\x9d\xbb", + [0x4525] = "\x9d\xbc", [0x4526] = "\x9d\xbe", [0x4527] = "\x9d\xbd", + [0x4528] = "\x9d\xbf", [0x4529] = "\x89\xfc", [0x452b] = "\x8d\x55", + [0x452e] = "\x95\xfa", [0x452f] = "\x90\xad", [0x4535] = "\x8c\xcc", + [0x4538] = "\x9d\xc1", [0x453d] = "\x9d\xc4", [0x453f] = "\x95\x71", + [0x4541] = "\x8b\x7e", [0x4545] = "\x9d\xc3", [0x4546] = "\x9d\xc2", + [0x4547] = "\x94\x73", [0x4548] = "\x9d\xc5", [0x4549] = "\x8b\xb3", + [0x454d] = "\x9d\xc7", [0x454e] = "\x9d\xc6", [0x4552] = "\x8a\xb8", + [0x4553] = "\x8e\x55", [0x4556] = "\x93\xd6", [0x455c] = "\x8c\x68", + [0x4560] = "\x90\x94", [0x4562] = "\x9d\xc8", [0x4564] = "\x90\xae", + [0x4565] = "\x93\x47", [0x4567] = "\x95\x7e", [0x4568] = "\x9d\xc9", + [0x4572] = "\x9d\xca", [0x4573] = "\x9d\xcb", [0x4577] = "\x95\xb6", + [0x4578] = "\x9b\x7c", [0x4579] = "\x90\xc4", [0x457c] = "\x95\x6b", + [0x457e] = "\x8d\xd6", [0x4580] = "\x94\xe3", [0x4581] = "\x94\xc1", + [0x4587] = "\x93\x6c", [0x4589] = "\x97\xbf", [0x458b] = "\x9d\xcd", + [0x458c] = "\x8e\xce", [0x458f] = "\x9d\xce", [0x4591] = "\x88\xb4", + [0x4594] = "\x8b\xd2", [0x4595] = "\x90\xcb", [0x4597] = "\x95\x80", + [0x459b] = "\x9d\xcf", [0x459c] = "\x8e\x61", [0x459d] = "\x92\x66", + [0x459f] = "\x8e\x7a", [0x45a0] = "\x90\x56", [0x45a7] = "\x9d\xd0", + [0x45a9] = "\x95\xfb", [0x45ac] = "\x89\x97", [0x45ad] = "\x8e\x7b", + [0x45b1] = "\x9d\xd3", [0x45b3] = "\x9d\xd1", [0x45b4] = "\x9d\xd4", + [0x45b5] = "\x97\xb7", [0x45b6] = "\x9d\xd2", [0x45bb] = "\x90\xf9", + [0x45bc] = "\x9d\xd5", [0x45bf] = "\x91\xb0", [0x45c2] = "\x9d\xd6", + [0x45c7] = "\x8a\xf8", [0x45c9] = "\x9d\xd8", [0x45cb] = "\x9d\xd7", + [0x45d0] = "\x9d\xd9", [0x45d1] = "\x9d\xda", [0x45d2] = "\x8a\xf9", + [0x45d5] = "\x93\xfa", [0x45d6] = "\x92\x55", [0x45d7] = "\x8b\x8c", + [0x45d8] = "\x8e\x7c", [0x45d9] = "\x91\x81", [0x45dc] = "\x8f\x7b", + [0x45dd] = "\x88\xae", [0x45e1] = "\x9d\xdb", [0x45ea] = "\x89\xa0", + [0x45eb] = "\x9d\xdf", [0x45f2] = "\x8d\x56", [0x45f3] = "\x9d\xde", + [0x45f6] = "\x8d\xa9", [0x45f7] = "\x8f\xb8", [0x45fa] = "\x9d\xdd", + [0x45fc] = "\x8f\xb9", [0x45fe] = "\x96\xbe", [0x45ff] = "\x8d\xa8", + [0x4603] = "\x88\xd5", [0x4604] = "\x90\xcc", [0x460c] = "\x9d\xe4", + [0x460f] = "\x90\xaf", [0x4610] = "\x89\x66", [0x4615] = "\x8f\x74", + [0x4617] = "\x96\x86", [0x4618] = "\x8d\xf0", [0x461d] = "\x8f\xba", + [0x461f] = "\x90\xa5", [0x4624] = "\x9d\xe3", [0x4625] = "\x9d\xe1", + [0x4626] = "\x9d\xe2", [0x462c] = "\x92\x8b", [0x462f] = "\x9e\x45", + [0x4631] = "\x9d\xe8", [0x4632] = "\x8e\x9e", [0x4633] = "\x8d\x57", + [0x4634] = "\x9d\xe6", [0x4639] = "\x9d\xe7", [0x463b] = "\x90\x57", + [0x463f] = "\x9d\xe5", [0x4642] = "\x8e\x4e", [0x464d] = "\x9d\xea", + [0x464e] = "\x9d\xe9", [0x464f] = "\x9d\xee", [0x4652] = "\x9d\xef", + [0x4654] = "\x9d\xeb", [0x4656] = "\x8a\x41", [0x4657] = "\x9d\xec", + [0x4658] = "\x9d\xed", [0x4659] = "\x94\xd3", [0x465e] = "\x95\x81", + [0x465f] = "\x8c\x69", [0x4660] = "\x9d\xf0", [0x4664] = "\x90\xb0", + [0x4666] = "\x8f\xbb", [0x466a] = "\x92\x71", [0x4671] = "\x8b\xc5", + [0x4673] = "\x9d\xf1", [0x4674] = "\x9d\xf5", [0x4677] = "\x89\xc9", + [0x4678] = "\x9d\xf2", [0x4679] = "\x9d\xf4", [0x467e] = "\x9d\xf3", + [0x4681] = "\x8f\x8b", [0x4686] = "\x92\x67", [0x4687] = "\x88\xc3", + [0x4688] = "\x9d\xf6", [0x468d] = "\x9d\xf7", [0x4692] = "\x92\xa8", + [0x4696] = "\x97\xef", [0x469b] = "\x8e\x62", [0x469e] = "\x95\xe9", + [0x46a4] = "\x96\x5c", [0x46a8] = "\x9e\x41", [0x46a9] = "\x9d\xf9", + [0x46ac] = "\x9d\xfc", [0x46ae] = "\x9d\xfb", [0x46b1] = "\x9d\xf8", + [0x46b4] = "\x9e\x40", [0x46b7] = "\x93\xdc", [0x46b9] = "\x9d\xfa", + [0x46c6] = "\x9e\x42", [0x46c9] = "\x8f\x8c", [0x46ca] = "\x9e\x43", + [0x46cc] = "\x97\x6a", [0x46cd] = "\x94\x98", [0x46d0] = "\x9e\x44", + [0x46d6] = "\x9e\x46", [0x46d9] = "\x9e\x47", [0x46e0] = "\x9e\x48", + [0x46e2] = "\x8b\xc8", [0x46e3] = "\x89\x67", [0x46e4] = "\x8d\x58", + [0x46e5] = "\x9e\x49", [0x46e7] = "\x9e\x4a", [0x46e8] = "\x8f\x91", + [0x46e9] = "\x91\x82", [0x46ec] = "\x99\xd6", [0x46ed] = "\x91\x5d", + [0x46ee] = "\x91\x5c", [0x46ef] = "\x91\xd6", [0x46f0] = "\x8d\xc5", + [0x46f3] = "\x98\xf0", [0x46f8] = "\x8c\x8e", [0x46f9] = "\x97\x4c", + [0x46fb] = "\x95\xfc", [0x46fd] = "\x95\x9e", [0x46ff] = "\x9e\x4b", + [0x4704] = "\x8d\xf1", [0x4705] = "\x92\xbd", [0x4706] = "\x9e\x4c", + [0x4707] = "\x98\x4e", [0x470b] = "\x96\x5d", [0x470d] = "\x92\xa9", + [0x470e] = "\x9e\x4d", [0x470f] = "\x8a\xfa", [0x4716] = "\x9e\x4e", + [0x4717] = "\x9e\x4f", [0x4718] = "\x96\xd8", [0x471a] = "\x96\xa2", + [0x471b] = "\x96\x96", [0x471c] = "\x96\x7b", [0x471d] = "\x8e\x44", + [0x471e] = "\x9e\x51", [0x4721] = "\x8e\xe9", [0x4724] = "\x96\x70", + [0x4726] = "\x9e\x53", [0x4727] = "\x9e\x56", [0x4728] = "\x9e\x55", + [0x472a] = "\x8a\xf7", [0x472d] = "\x8b\x80", [0x472f] = "\x9e\x52", + [0x4731] = "\x9e\x54", [0x4736] = "\x9e\x57", [0x4739] = "\x90\x99", + [0x473e] = "\x97\x9b", [0x473f] = "\x88\xc7", [0x4740] = "\x8d\xde", + [0x4741] = "\x91\xba", [0x4743] = "\x8e\xdb", [0x4746] = "\x8f\xf1", + [0x4749] = "\x9e\x5a", [0x474c] = "\x93\x6d", [0x474e] = "\x9e\x58", + [0x474f] = "\x91\xa9", [0x4750] = "\x9e\x59", [0x4751] = "\x8f\xf0", + [0x4752] = "\x96\xdb", [0x4753] = "\x9e\x5b", [0x4754] = "\x9e\x5c", + [0x4755] = "\x97\x88", [0x475a] = "\x9e\x61", [0x475d] = "\x8d\x59", + [0x475f] = "\x94\x74", [0x4760] = "\x9e\x5e", [0x4761] = "\x93\x8c", + [0x4762] = "\x9d\xdc", [0x4763] = "\x9d\xe0", [0x4765] = "\x8b\x6e", + [0x4767] = "\x94\x66", [0x476c] = "\x9e\x60", [0x476e] = "\x8f\xbc", + [0x476f] = "\x94\xc2", [0x4775] = "\x9e\x66", [0x4777] = "\x94\xf8", + [0x4779] = "\x9e\x5d", [0x477b] = "\x9e\x63", [0x477c] = "\x9e\x62", + [0x4780] = "\x90\xcd", [0x4785] = "\x96\x8d", [0x4787] = "\x97\xd1", + [0x478a] = "\x96\x87", [0x478c] = "\x89\xca", [0x478d] = "\x8e\x7d", + [0x4790] = "\x98\x67", [0x4791] = "\x9e\x65", [0x4792] = "\x90\x95", + [0x4796] = "\x9e\x64", [0x4799] = "\x9e\x5f", [0x479f] = "\x8c\xcd", + [0x47a3] = "\x9e\x6b", [0x47a4] = "\x9e\x69", [0x47a6] = "\x89\xcb", + [0x47a7] = "\x9e\x67", [0x47a8] = "\x9e\x6d", [0x47a9] = "\x9e\x73", + [0x47b1] = "\x91\xc6", [0x47b4] = "\x95\xbf", [0x47b6] = "\x9e\x75", + [0x47ba] = "\x95\x41", [0x47be] = "\x9e\x74", [0x47bf] = "\x94\x90", + [0x47c0] = "\x96\x5e", [0x47c1] = "\x8a\xb9", [0x47c3] = "\x90\xf5", + [0x47c4] = "\x8f\x5f", [0x47c8] = "\x92\xd1", [0x47ca] = "\x97\x4d", + [0x47cd] = "\x9e\x70", [0x47ce] = "\x9e\x6f", [0x47d2] = "\x9e\x71", + [0x47d4] = "\x9e\x6e", [0x47d7] = "\x9e\x76", [0x47d9] = "\x9e\x6c", + [0x47dc] = "\x9e\x6a", [0x47de] = "\x9e\x72", [0x47df] = "\x9e\x68", + [0x47e1] = "\x92\x8c", [0x47e3] = "\x96\xf6", [0x47e4] = "\x8e\xc4", + [0x47e5] = "\x8d\xf2", [0x47eb] = "\x8d\xb8", [0x47ee] = "\x96\x8f", + [0x47ef] = "\x8a\x60", [0x47f2] = "\x92\xcc", [0x47f3] = "\x93\xc8", + [0x47f4] = "\x89\x68", [0x4803] = "\x90\xf0", [0x4806] = "\x90\xb2", + [0x4807] = "\x8c\x49", [0x480e] = "\x9e\x78", [0x4811] = "\x8d\x5a", + [0x4812] = "\x8a\x9c", [0x4819] = "\x9e\x7a", [0x481a] = "\x8a\x94", + [0x481b] = "\x9e\x81", [0x4822] = "\x9e\x7d", [0x4824] = "\x90\xf1", + [0x4828] = "\x8a\x6a", [0x4829] = "\x8d\xaa", [0x482c] = "\x8a\x69", + [0x482d] = "\x8d\xcd", [0x4830] = "\x9e\x7b", [0x4831] = "\x8c\x85", + [0x4832] = "\x8c\x6a", [0x4833] = "\x93\x8d", [0x4836] = "\x9e\x79", + [0x4838] = "\x88\xc4", [0x483d] = "\x9e\x7c", [0x483e] = "\x9e\x7e", + [0x4840] = "\x8b\xcb", [0x4841] = "\x8c\x4b", [0x4843] = "\x8a\xba", + [0x4844] = "\x8b\x6a", [0x4849] = "\x9e\x82", [0x484c] = "\x8d\xf7", + [0x484d] = "\x96\x91", [0x484f] = "\x8e\x56", [0x4853] = "\x9e\x83", + [0x4857] = "\x95\x4f", [0x4864] = "\x9e\x8f", [0x4866] = "\x89\xb1", + [0x4867] = "\x9e\x84", [0x486e] = "\x9e\x95", [0x486f] = "\x9e\x85", + [0x4871] = "\x97\xc0", [0x4873] = "\x9e\x8c", [0x4875] = "\x94\x7e", + [0x487d] = "\x9e\x94", [0x487f] = "\x9e\x87", [0x4883] = "\x88\xb2", + [0x4884] = "\x9e\x89", [0x4887] = "\x8d\x5b", [0x488b] = "\x9e\x8b", + [0x488d] = "\x9e\x8a", [0x488f] = "\x9e\x86", [0x4890] = "\x9e\x91", + [0x4892] = "\x8f\xbd", [0x4896] = "\x9a\xeb", [0x4897] = "\x8c\xe6", + [0x4898] = "\x97\x9c", [0x489d] = "\x9e\x88", [0x489f] = "\x92\xf2", + [0x48a0] = "\x8a\x42", [0x48a1] = "\x8d\xab", [0x48a3] = "\x9e\x80", + [0x48a5] = "\x9e\x90", [0x48a6] = "\x8a\x81", [0x48a9] = "\x9e\x8e", + [0x48aa] = "\x9e\x92", [0x48ac] = "\x93\x8e", [0x48b4] = "\x8a\xfc", + [0x48b6] = "\x9e\xb0", [0x48b9] = "\x96\xc7", [0x48ba] = "\x9e\x97", + [0x48bb] = "\x8a\xfb", [0x48bd] = "\x9e\x9e", [0x48c2] = "\x96\x5f", + [0x48c4] = "\x9e\x9f", [0x48c5] = "\x9e\xa1", [0x48c7] = "\x9e\xa5", + [0x48c8] = "\x9e\x99", [0x48ca] = "\x92\x49", [0x48cf] = "\x93\x8f", + [0x48d0] = "\x9e\xa9", [0x48d1] = "\x9e\x9c", [0x48d3] = "\x9e\xa6", + [0x48d7] = "\x9e\xa0", [0x48de] = "\x90\x58", [0x48df] = "\x9e\xaa", + [0x48e2] = "\x90\xb1", [0x48e9] = "\x9e\xa8", [0x48ea] = "\x8a\xbb", + [0x48f0] = "\x98\x6f", [0x48f1] = "\x9e\x96", [0x48f4] = "\x9e\xa4", + [0x48f5] = "\x88\xd6", [0x48f8] = "\x9e\x98", [0x48fb] = "\x96\xb8", + [0x48fc] = "\x9e\x9d", [0x48fd] = "\x90\x41", [0x48fe] = "\x92\xc5", + [0x48ff] = "\x9e\x93", [0x4902] = "\x9e\xa3", [0x4909] = "\x90\x9a", + [0x490a] = "\x9e\xad", [0x490b] = "\x8a\x91", [0x490c] = "\x8c\x9f", + [0x4911] = "\x9e\xaf", [0x4912] = "\x9e\x9a", [0x4913] = "\x9e\xae", + [0x4915] = "\x9e\xa7", [0x4916] = "\x9e\x9b", [0x4918] = "\x9e\xab", + [0x491a] = "\x9e\xac", [0x4920] = "\x9e\xbd", [0x4924] = "\x93\xcc", + [0x4926] = "\x9e\xa2", [0x4929] = "\x9e\xb9", [0x492d] = "\x9e\xbb", + [0x492f] = "\x92\xd6", [0x493a] = "\x97\x6b", [0x4943] = "\x95\x96", + [0x4944] = "\x9e\xb6", [0x4945] = "\x91\xc8", [0x4949] = "\x9e\xbc", + [0x494a] = "\x91\x5e", [0x494c] = "\x9e\xb3", [0x494d] = "\x9e\xc0", + [0x494e] = "\x9e\xbf", [0x4950] = "\x93\xed", [0x4951] = "\x9e\xbe", + [0x4952] = "\x93\xe8", [0x495a] = "\x9e\xc2", [0x495b] = "\x9e\xb5", + [0x495d] = "\x8b\xc6", [0x495e] = "\x9e\xb8", [0x495f] = "\x8f\x7c", + [0x4963] = "\x94\x80", [0x4964] = "\x9e\xba", [0x4965] = "\x8b\xc9", + [0x4967] = "\x9e\xb2", [0x4968] = "\x9e\xb4", [0x4969] = "\x9e\xb1", + [0x496c] = "\x98\x4f", [0x496d] = "\x8a\x79", [0x496e] = "\x9e\xb7", + [0x4971] = "\x9e\xc1", [0x4972] = "\x8a\x54", [0x497a] = "\x8d\xe5", + [0x497e] = "\x89\x7c", [0x4981] = "\x9e\xd2", [0x4984] = "\x98\x50", + [0x4985] = "\x9e\xd5", [0x498b] = "\x90\x59", [0x498c] = "\x9e\xd4", + [0x4990] = "\x9e\xd3", [0x4997] = "\x9e\xd0", [0x499e] = "\x9e\xc4", + [0x49a1] = "\x9e\xe1", [0x49a2] = "\x9e\xc3", [0x49a4] = "\x9e\xd6", + [0x49ab] = "\x9e\xce", [0x49ae] = "\x9e\xc9", [0x49af] = "\x9e\xc6", + [0x49b1] = "\x9e\xc7", [0x49b3] = "\x9e\xcf", [0x49b7] = "\xea\xa0", + [0x49ba] = "\x9e\xcc", [0x49bb] = "\x8d\x5c", [0x49bc] = "\x92\xc6", + [0x49bd] = "\x91\x84", [0x49be] = "\x9e\xca", [0x49c0] = "\x9e\xc5", + [0x49c3] = "\x9e\xc8", [0x49c8] = "\x97\x6c", [0x49c9] = "\x96\x8a", + [0x49cd] = "\x9e\xcd", [0x49ce] = "\x9e\xd7", [0x49d7] = "\x9e\xdf", + [0x49d8] = "\x9e\xd8", [0x49db] = "\x9e\xe5", [0x49dd] = "\x9e\xe3", + [0x49e2] = "\x9e\xde", [0x49e9] = "\x9e\xdd", [0x49eb] = "\x92\xce", + [0x49ed] = "\x91\x85", [0x49ef] = "\x9e\xdb", [0x49f2] = "\x9e\xd9", + [0x49f5] = "\x9e\xe0", [0x49fa] = "\x9e\xe6", [0x49fb] = "\x94\xf3", + [0x49fc] = "\x9e\xec", [0x4a02] = "\x9e\xe7", [0x4a03] = "\x9e\xea", + [0x4a04] = "\x9e\xe4", [0x4a07] = "\x92\x94", [0x4a09] = "\x95\x57", + [0x4a0b] = "\x9e\xda", [0x4a0e] = "\x9e\xe2", [0x4a0f] = "\x8f\xbe", + [0x4a11] = "\x96\xcd", [0x4a12] = "\x9e\xf6", [0x4a13] = "\x9e\xe9", + [0x4a19] = "\x8c\xa0", [0x4a1a] = "\x89\xa1", [0x4a1b] = "\x8a\x7e", + [0x4a1e] = "\x9e\xd1", [0x4a25] = "\x8f\xbf", [0x4a26] = "\x9e\xee", + [0x4a28] = "\x9e\xf5", [0x4a29] = "\x8e\xf7", [0x4a2a] = "\x8a\x92", + [0x4a2d] = "\x92\x4d", [0x4a34] = "\x9e\xeb", [0x4a37] = "\x9e\xf0", + [0x4a38] = "\x9e\xf4", [0x4a3b] = "\x8b\xb4", [0x4a48] = "\x8b\x6b", + [0x4a49] = "\x9e\xf2", [0x4a4f] = "\x8b\x40", [0x4a51] = "\x93\xc9", + [0x4a52] = "\x9e\xf1", [0x4a56] = "\x9e\xf3", [0x4a62] = "\x9e\xed", + [0x4a68] = "\x9e\xef", [0x4a6f] = "\x8a\x80", [0x4a70] = "\x92\x68", + [0x4a74] = "\x9e\xfa", [0x4a7d] = "\x9e\xf8", [0x4a7e] = "\x8c\xe7", + [0x4a80] = "\x9e\xf7", [0x4a87] = "\x9f\x40", [0x4a8c] = "\x9e\x77", + [0x4a90] = "\x9e\xf9", [0x4a92] = "\x9e\xfb", [0x4a93] = "\x9e\xfc", + [0x4a9a] = "\x9f\x4b", [0x4a9c] = "\x9f\x47", [0x4a9e] = "\x9e\x8d", + [0x4aa3] = "\x9f\x46", [0x4aa8] = "\x9f\x45", [0x4aab] = "\x9f\x42", + [0x4ab1] = "\x9e\xe8", [0x4ab2] = "\x9f\x44", [0x4ab3] = "\x9f\x43", + [0x4ac1] = "\x9f\x49", [0x4ac3] = "\x98\x45", [0x4aca] = "\x9f\x4c", + [0x4acb] = "\x8b\xf9", [0x4ace] = "\x9f\x48", [0x4acf] = "\x9f\x4a", + [0x4ad8] = "\x94\xa5", [0x4ada] = "\x9f\x4d", [0x4aea] = "\x9f\x51", + [0x4aeb] = "\x9f\x4e", [0x4af4] = "\x97\x93", [0x4af5] = "\x9f\x4f", + [0x4afa] = "\x9e\xdc", [0x4b02] = "\x9f\x52", [0x4b06] = "\x9f\x53", + [0x4b0d] = "\x89\x54", [0x4b0f] = "\x9f\x55", [0x4b10] = "\x8c\x87", + [0x4b11] = "\x8e\x9f", [0x4b13] = "\x8b\xd3", [0x4b17] = "\x89\xa2", + [0x4b22] = "\x97\x7e", [0x4b27] = "\x9f\x57", [0x4b28] = "\x9f\x56", + [0x4b29] = "\x9f\x59", [0x4b2a] = "\x8b\x5c", [0x4b2d] = "\x8b\xd4", + [0x4b2e] = "\x8a\xbc", [0x4b33] = "\x9f\x5c", [0x4b37] = "\x9f\x5b", + [0x4b39] = "\x9f\x5d", [0x4b3c] = "\x89\xcc", [0x4b3e] = "\x92\x56", + [0x4b40] = "\x9f\x5e", [0x4b43] = "\x8a\xbd", [0x4b44] = "\x9f\x60", + [0x4b49] = "\x9f\x5f", [0x4b4b] = "\x9f\x61", [0x4b4f] = "\x9f\x62", + [0x4b51] = "\x9f\x63", [0x4b52] = "\x8e\x7e", [0x4b53] = "\x90\xb3", + [0x4b54] = "\x8d\x9f", [0x4b56] = "\x95\x90", [0x4b59] = "\x95\xe0", + [0x4b5a] = "\x98\x63", [0x4b5f] = "\x8e\x95", [0x4b63] = "\x8d\xce", + [0x4b64] = "\x97\xf0", [0x4b68] = "\x9f\x64", [0x4b69] = "\x9f\x65", + [0x4b6b] = "\x8e\x80", [0x4b6f] = "\x9f\x66", [0x4b70] = "\x9f\x67", + [0x4b73] = "\x9f\x69", [0x4b74] = "\x9f\x68", [0x4b76] = "\x96\x77", + [0x4b79] = "\x8f\x7d", [0x4b7a] = "\x8e\xea", [0x4b7b] = "\x8e\x63", + [0x4b7d] = "\x9f\x6a", [0x4b85] = "\x9f\x6c", [0x4b86] = "\x90\x42", + [0x4b88] = "\x9f\x6b", [0x4b8e] = "\x9f\x6d", [0x4b94] = "\x9f\x6e", + [0x4b9a] = "\x9f\x6f", [0x4b9b] = "\x9f\x70", [0x4b9f] = "\x9f\x71", + [0x4ba1] = "\x9f\x73", [0x4ba2] = "\x9f\x72", [0x4ba3] = "\x9f\x74", + [0x4ba4] = "\x89\xa3", [0x4ba5] = "\x92\x69", [0x4ba7] = "\x9f\x75", + [0x4baa] = "\x8e\x45", [0x4bab] = "\x8a\x6b", [0x4bac] = "\x9f\x76", + [0x4baf] = "\x93\x61", [0x4bb0] = "\x9a\xca", [0x4bb5] = "\x8b\x42", + [0x4bb6] = "\x9f\x77", [0x4bbb] = "\x9f\x78", [0x4bbd] = "\x95\xea", + [0x4bbe] = "\x96\x88", [0x4bc2] = "\x93\xc5", [0x4bc3] = "\x9f\x79", + [0x4bc4] = "\x94\xe4", [0x4bc8] = "\x94\xf9", [0x4bcb] = "\x96\xd1", + [0x4bcf] = "\x9f\x7a", [0x4bdb] = "\x9f\x7c", [0x4bdc] = "\x9f\x7b", + [0x4bdf] = "\x9f\x7e", [0x4be3] = "\x9f\x7d", [0x4bf8] = "\x9f\x81", + [0x4bff] = "\x8e\x81", [0x4c01] = "\x96\xaf", [0x4c03] = "\x9f\x82", + [0x4c04] = "\x9f\x83", [0x4c07] = "\x8b\x43", [0x4c0b] = "\x9f\x84", + [0x4c13] = "\x9f\x86", [0x4c14] = "\x9f\x85", [0x4c24] = "\x90\x85", + [0x4c27] = "\x95\x58", [0x4c28] = "\x89\x69", [0x4c2e] = "\x94\xc3", + [0x4c30] = "\x92\xf3", [0x4c31] = "\x8f\x60", [0x4c32] = "\x8b\x81", + [0x4c3e] = "\x94\xc4", [0x4c40] = "\x8e\xac", [0x4c45] = "\x9f\x88", + [0x4c47] = "\x8a\xbe", [0x4c4a] = "\x89\x98", [0x4c4d] = "\x93\xf0", + [0x4c4e] = "\x9f\x87", [0x4c4f] = "\x8d\x5d", [0x4c50] = "\x92\x72", + [0x4c52] = "\x9f\x89", [0x4c58] = "\x9f\x91", [0x4c5a] = "\x9f\x8a", + [0x4c60] = "\x91\xbf", [0x4c62] = "\x8b\x82", [0x4c63] = "\x9f\x92", + [0x4c6a] = "\x8c\x88", [0x4c6d] = "\x8b\x44", [0x4c6e] = "\x9f\x90", + [0x4c71] = "\x9f\x8e", [0x4c72] = "\x9f\x8b", [0x4c73] = "\x97\x80", + [0x4c78] = "\x92\xbe", [0x4c7c] = "\x93\xd7", [0x4c7d] = "\x9f\x8c", + [0x4c80] = "\x9f\x94", [0x4c82] = "\x9f\x93", [0x4c83] = "\x8c\x42", + [0x4c86] = "\x89\xab", [0x4c89] = "\x8d\xb9", [0x4c8a] = "\x9f\x8d", + [0x4c8b] = "\x9f\x8f", [0x4c91] = "\x96\x76", [0x4c92] = "\x91\xf2", + [0x4c9b] = "\x96\x97", [0x4c9e] = "\x9f\x9c", [0x4ca1] = "\x9f\x9d", + [0x4ca3] = "\x89\xcd", [0x4ca8] = "\x95\xa6", [0x4ca9] = "\x96\xfb", + [0x4caa] = "\x9f\x9f", [0x4cab] = "\x8e\xa1", [0x4cac] = "\x8f\xc0", + [0x4cad] = "\x9f\x98", [0x4cae] = "\x9f\x9e", [0x4caf] = "\x89\x88", + [0x4cb1] = "\x8b\xb5", [0x4cb4] = "\x9f\x95", [0x4cb5] = "\x9f\x9a", + [0x4cb9] = "\x90\xf2", [0x4cba] = "\x94\x91", [0x4cbc] = "\x94\xe5", + [0x4cc3] = "\x9f\x97", [0x4cc5] = "\x96\x40", [0x4cc7] = "\x9f\x99", + [0x4cc9] = "\x9f\xa2", [0x4ccb] = "\x9f\xa0", [0x4ccd] = "\x9f\x9b", + [0x4cd1] = "\x96\x41", [0x4cd2] = "\x94\x67", [0x4cd3] = "\x8b\x83", + [0x4cd5] = "\x93\x44", [0x4cd8] = "\x92\x8d", [0x4cda] = "\x9f\xa3", + [0x4cdf] = "\x9f\xa1", [0x4ce0] = "\x91\xd7", [0x4ce1] = "\x9f\x96", + [0x4ce3] = "\x89\x6a", [0x4cfb] = "\x97\x6d", [0x4cfc] = "\x9f\xae", + [0x4d02] = "\x9f\xad", [0x4d07] = "\x90\xf4", [0x4d09] = "\x9f\xaa", + [0x4d0b] = "\x97\x8c", [0x4d0e] = "\x93\xb4", [0x4d0f] = "\x9f\xa4", + [0x4d15] = "\x92\xc3", [0x4d19] = "\x89\x6b", [0x4d1a] = "\x8d\x5e", + [0x4d1b] = "\x9f\xa7", [0x4d22] = "\x8f\x46", [0x4d23] = "\x9f\xac", + [0x4d25] = "\x9f\xab", [0x4d26] = "\x9f\xa6", [0x4d28] = "\x9f\xa9", + [0x4d2b] = "\x8a\x88", [0x4d2d] = "\x9f\xa8", [0x4d2e] = "\x94\x68", + [0x4d31] = "\x97\xac", [0x4d34] = "\x8f\xf2", [0x4d35] = "\x90\xf3", + [0x4d49] = "\x9f\xb4", [0x4d4a] = "\x9f\xb2", [0x4d4c] = "\x95\x6c", + [0x4d53] = "\x9f\xaf", [0x4d54] = "\x9f\xb1", [0x4d56] = "\x89\x59", + [0x4d59] = "\x8d\x5f", [0x4d5a] = "\x98\x51", [0x4d5c] = "\x8a\x5c", + [0x4d5e] = "\x95\x82", [0x4d64] = "\x97\x81", [0x4d67] = "\x8a\x43", + [0x4d68] = "\x90\x5a", [0x4d69] = "\x9f\xb3", [0x4d75] = "\x9f\xb8", + [0x4d78] = "\x8f\xc1", [0x4d7c] = "\x97\x4f", [0x4d7e] = "\x9f\xb5", + [0x4d83] = "\x9f\xb0", [0x4d85] = "\x9f\xb6", [0x4d89] = "\x97\xdc", + [0x4d8b] = "\x93\x93", [0x4d8c] = "\x93\xc0", [0x4d9f] = "\x8a\x55", + [0x4da2] = "\x89\x74", [0x4da5] = "\x9f\xbc", [0x4da8] = "\x9f\xbf", + [0x4dac] = "\x97\xc1", [0x4db0] = "\x97\x84", [0x4db5] = "\x9f\xc6", + [0x4db6] = "\x9f\xc0", [0x4db7] = "\x9f\xbd", [0x4dbb] = "\x97\xd2", + [0x4dbc] = "\x9f\xc3", [0x4dc1] = "\x8f\x69", [0x4dc2] = "\x9f\xc5", + [0x4dc5] = "\x9f\xca", [0x4dc8] = "\x93\x91", [0x4dc9] = "\x9f\xc8", + [0x4dce] = "\x9f\xc2", [0x4dd1] = "\x92\x57", [0x4dd4] = "\x9f\xc9", + [0x4dd6] = "\x9f\xbe", [0x4dd8] = "\x9f\xc4", [0x4dda] = "\x9f\xcb", + [0x4ddb] = "\x88\xfa", [0x4ddc] = "\x9f\xc1", [0x4dde] = "\x9f\xcc", + [0x4de1] = "\x90\x5b", [0x4de3] = "\x8f\x7e", [0x4de5] = "\x95\xa3", + [0x4de7] = "\x8d\xac", [0x4de9] = "\x9f\xb9", [0x4dea] = "\x9f\xc7", + [0x4deb] = "\x93\x59", [0x4df5] = "\x90\xb4", [0x4df7] = "\x8a\x89", + [0x4df8] = "\x8d\xcf", [0x4df9] = "\x8f\xc2", [0x4dfa] = "\x9f\xbb", + [0x4dfb] = "\x8f\x61", [0x4e03] = "\x8c\x6b", [0x4e05] = "\x9f\xba", + [0x4e09] = "\x9f\xd0", [0x4e0a] = "\x8f\x8d", [0x4e0b] = "\x8c\xb8", + [0x4e0d] = "\x9f\xdf", [0x4e0f] = "\x9f\xd9", [0x4e10] = "\x8b\x94", + [0x4e11] = "\x93\x6e", [0x4e13] = "\x9f\xd4", [0x4e14] = "\x9f\xdd", + [0x4e15] = "\x88\xad", [0x4e16] = "\x89\x51", [0x4e19] = "\x89\xb7", + [0x4e1b] = "\x9f\xd6", [0x4e1c] = "\x91\xaa", [0x4e1d] = "\x9f\xcd", + [0x4e1e] = "\x9f\xcf", [0x4e1f] = "\x8d\x60", [0x4e28] = "\x9f\xe0", + [0x4e2a] = "\x9f\xdb", [0x4e2e] = "\x9f\xd3", [0x4e33] = "\x9f\xda", + [0x4e3a] = "\x96\xa9", [0x4e3d] = "\x9f\xd8", [0x4e3e] = "\x9f\xdc", + [0x4e46] = "\x8c\xce", [0x4e48] = "\x8f\xc3", [0x4e4b] = "\x92\x58", + [0x4e4f] = "\x9f\xd2", [0x4e57] = "\x97\x4e", [0x4e5b] = "\x9f\xd5", + [0x4e5e] = "\x9f\xce", [0x4e5f] = "\x93\x92", [0x4e62] = "\x9f\xd1", + [0x4e66] = "\x9f\xd7", [0x4e6e] = "\x98\x70", [0x4e6f] = "\x8e\xbc", + [0x4e70] = "\x96\x9e", [0x4e72] = "\x9f\xe1", [0x4e7c] = "\x94\xac", + [0x4e7f] = "\x9f\xed", [0x4e80] = "\x8c\xb9", [0x4e86] = "\x8f\x80", + [0x4e88] = "\x9f\xe3", [0x4e8c] = "\x97\xad", [0x4e8d] = "\x8d\x61", + [0x4e8f] = "\x9f\xf0", [0x4e92] = "\x88\xec", [0x4e95] = "\x9f\xee", + [0x4e9a] = "\x9f\xe2", [0x4e9f] = "\x9f\xe8", [0x4ea2] = "\x9f\xea", + [0x4ea6] = "\x97\x6e", [0x4ea7] = "\x9f\xe5", [0x4eaa] = "\x93\x4d", + [0x4ead] = "\x9f\xe7", [0x4eb2] = "\x9f\xef", [0x4eb4] = "\x9f\xe9", + [0x4eb5] = "\x96\xc5", [0x4eb9] = "\x9f\xe4", [0x4ebb] = "\x8e\xa0", + [0x4ebc] = "\x9f\xfc", [0x4ec1] = "\x8a\x8a", [0x4ec3] = "\x9f\xe6", + [0x4ec4] = "\x9f\xeb", [0x4ec5] = "\x9f\xec", [0x4ecd] = "\x91\xea", + [0x4ece] = "\x91\xd8", [0x4edc] = "\x9f\xf4", [0x4edf] = "\x9f\xfa", + [0x4ee2] = "\x9f\xf8", [0x4ee4] = "\x93\x48", [0x4ee7] = "\xe0\x42", + [0x4ee8] = "\x9f\xf5", [0x4eee] = "\x9f\xf6", [0x4eef] = "\x9f\xde", + [0x4ef1] = "\x8b\x99", [0x4ef2] = "\x95\x59", [0x4ef6] = "\x8e\xbd", + [0x4ef9] = "\x8d\x97", [0x4eff] = "\x98\x52", [0x4f01] = "\x9f\xf2", + [0x4f03] = "\xe0\x41", [0x4f04] = "\x89\x89", [0x4f05] = "\x91\x86", + [0x4f10] = "\x94\x99", [0x4f12] = "\x8a\xbf", [0x4f13] = "\x97\xf8", + [0x4f1b] = "\x96\x9f", [0x4f1c] = "\x92\xd0", [0x4f21] = "\x9f\xf9", + [0x4f22] = "\x9f\xfb", [0x4f28] = "\x91\x51", [0x4f2e] = "\xe0\x40", + [0x4f2f] = "\x9f\xf7", [0x4f31] = "\x9f\xf1", [0x4f35] = "\x8a\xc1", + [0x4f44] = "\x8c\x89", [0x4f48] = "\xe0\x4e", [0x4f4b] = "\xe0\x49", + [0x4f4c] = "\x90\xf6", [0x4f4f] = "\x8a\x83", [0x4f54] = "\x8f\x81", + [0x4f56] = "\xe0\x52", [0x4f5d] = "\xe0\x4b", [0x4f5e] = "\x92\xaa", + [0x4f5f] = "\xe0\x48", [0x4f60] = "\x92\xd7", [0x4f64] = "\xe0\x6b", + [0x4f68] = "\xe0\x45", [0x4f6a] = "\xe0\x44", [0x4f6c] = "\xe0\x4d", + [0x4f70] = "\xe0\x47", [0x4f71] = "\xe0\x46", [0x4f72] = "\xe0\x4c", + [0x4f74] = "\x90\x9f", [0x4f76] = "\xe0\x43", [0x4f7e] = "\xe0\x4f", + [0x4f81] = "\xe0\x50", [0x4f87] = "\x8a\xc0", [0x4f91] = "\xe0\x55", + [0x4f93] = "\xe0\x54", [0x4f94] = "\xe0\x56", [0x4f9a] = "\xe0\x59", + [0x4fa1] = "\x93\x62", [0x4fa3] = "\xe0\x53", [0x4fa9] = "\xe0\x57", + [0x4fb0] = "\x8c\x83", [0x4fb1] = "\x91\xf7", [0x4fb2] = "\xe0\x51", + [0x4fb3] = "\x94\x5a", [0x4fb6] = "\xe0\x58", [0x4fc4] = "\xe0\x5d", + [0x4fc5] = "\xe0\x5b", [0x4fc8] = "\xe0\x5e", [0x4fcb] = "\xe0\x61", + [0x4fcf] = "\xe0\x5a", [0x4fd0] = "\x8d\x8a", [0x4fd1] = "\x94\x47", + [0x4fd4] = "\x9f\xb7", [0x4fdb] = "\x97\x94", [0x4fdc] = "\xe0\x5c", + [0x4fde] = "\xe0\x60", [0x4fdf] = "\x91\xf3", [0x4fe1] = "\xe0\x5f", + [0x4fe3] = "\xe0\x4a", [0x4fe6] = "\xe8\x89", [0x4fea] = "\xe0\x64", + [0x4fee] = "\xe0\x68", [0x4ff1] = "\xe0\x66", [0x4ff9] = "\xe0\x62", + [0x4ffb] = "\xe0\x63", [0x4fff] = "\xe0\x67", [0x5001] = "\xe0\x65", + [0x5005] = "\x95\x6d", [0x5008] = "\xe0\x6d", [0x500a] = "\xe0\x6a", + [0x500b] = "\xe0\x69", [0x500d] = "\xe0\x6c", [0x500e] = "\x93\xd2", + [0x500f] = "\xe0\x6e", [0x5016] = "\x92\x95", [0x5017] = "\x91\xeb", + [0x501c] = "\x90\xa3", [0x5020] = "\xe0\x6f", [0x5022] = "\xe0\x71", + [0x502e] = "\xe0\x70", [0x503c] = "\x9f\xf3", [0x5041] = "\xe0\x72", + [0x5048] = "\x93\xe5", [0x5053] = "\xe0\x73", [0x505b] = "\x89\xce", + [0x505f] = "\x93\x94", [0x5060] = "\x8a\x44", [0x5068] = "\x8b\x84", + [0x506c] = "\x8e\xdc", [0x506d] = "\x8d\xd0", [0x5079] = "\x98\x46", + [0x507a] = "\x90\x86", [0x507e] = "\x89\x8a", [0x5082] = "\xe0\x75", + [0x5089] = "\xe0\x74", [0x509c] = "\xe0\x78", [0x509d] = "\x92\x59", + [0x509e] = "\xe0\x7b", [0x509f] = "\xe0\x76", [0x50a3] = "\xe0\x7a", + [0x50a8] = "\xe0\x79", [0x50a9] = "\x93\x5f", [0x50aa] = "\x88\xd7", + [0x50b8] = "\x97\xf3", [0x50bb] = "\xe0\x7d", [0x50bf] = "\x89\x47", + [0x50c9] = "\xe0\x80", [0x50cd] = "\xe0\x7e", [0x50cf] = "\xe0\x7c", + [0x50e1] = "\xe0\x77", [0x50e9] = "\x96\x42", [0x50ed] = "\xe0\x82", + [0x50f9] = "\xe0\x81", [0x5104] = "\x89\x8b", [0x5109] = "\xe0\x84", + [0x510a] = "\x95\xb0", [0x510c] = "\xe0\x83", [0x5111] = "\x96\xb3", + [0x5116] = "\x8f\xc5", [0x5126] = "\x91\x52", [0x512c] = "\x8f\xc4", + [0x5139] = "\x97\xf9", [0x513c] = "\xe0\x8a", [0x513e] = "\x90\xf7", + [0x5145] = "\xe0\x86", [0x5146] = "\xe0\x8b", [0x5149] = "\x89\x8c", + [0x5152] = "\xe0\x89", [0x5154] = "\x94\x81", [0x5155] = "\xe0\x85", + [0x5156] = "\xe0\x88", [0x5157] = "\x8f\xc6", [0x5159] = "\x94\xcf", + [0x515c] = "\xe0\x8c", [0x515e] = "\x8e\xcf", [0x516d] = "\x90\xf8", + [0x5174] = "\xe0\x8f", [0x5178] = "\xe0\x87", [0x517a] = "\x8c\x46", + [0x517f] = "\xe0\x8d", [0x5184] = "\x97\x6f", [0x5185] = "\xe0\x90", + [0x5189] = "\xea\xa4", [0x518f] = "\x8f\x6e", [0x5198] = "\xe0\x91", + [0x519c] = "\xe0\x92", [0x51a1] = "\x94\x4d", [0x51a9] = "\xe0\x94", + [0x51ae] = "\xe0\x95", [0x51b3] = "\x94\x52", [0x51b8] = "\x93\x95", + [0x51b9] = "\xe0\x97", [0x51be] = "\xe0\x99", [0x51c0] = "\x97\xd3", + [0x51c2] = "\xe0\x96", [0x51c4] = "\xe0\x98", [0x51c5] = "\x89\x8d", + [0x51c7] = "\xe0\x93", [0x51cf] = "\x9a\x7a", [0x51d0] = "\xe0\x9a", + [0x51d5] = "\x91\x87", [0x51d6] = "\x8e\x57", [0x51d7] = "\xe0\x9c", + [0x51dc] = "\xe0\x9b", [0x51dd] = "\x90\x43", [0x51de] = "\x99\xd7", + [0x51e5] = "\xe0\x9d", [0x51e9] = "\xe0\x9f", [0x51eb] = "\xe0\x8e", + [0x51ec] = "\xe0\x9e", [0x51ef] = "\xe0\xa0", [0x51f6] = "\x94\x9a", + [0x51fd] = "\xe0\xa1", [0x5200] = "\xe0\xa2", [0x520b] = "\xe0\xa3", + [0x5218] = "\xe0\xa4", [0x521a] = "\x92\xdc", [0x521c] = "\xe0\xa6", + [0x521d] = "\xe0\xa5", [0x5220] = "\xe0\xa7", [0x5222] = "\xe0\xa8", + [0x5225] = "\x8e\xdd", [0x5226] = "\x95\x83", [0x522a] = "\x96\xea", + [0x522b] = "\xe0\xa9", [0x522c] = "\xe0\xaa", [0x522d] = "\x91\x75", + [0x522e] = "\x8e\xa2", [0x522f] = "\xe0\xab", [0x5230] = "\xe0\xac", + [0x5236] = "\xe0\xad", [0x5237] = "\x95\xd0", [0x5238] = "\x94\xc5", + [0x523b] = "\xe0\xae", [0x523c] = "\x94\x76", [0x5242] = "\x92\xab", + [0x5248] = "\xe0\xaf", [0x5249] = "\x89\xe5", [0x524b] = "\x8b\x8d", + [0x524d] = "\x96\xc4", [0x524f] = "\x96\xb4", [0x5251] = "\x89\xb2", + [0x5252] = "\x98\x53", [0x5257] = "\x96\x71", [0x5259] = "\x95\xa8", + [0x5262] = "\x90\xb5", [0x5264] = "\xe0\xb0", [0x5269] = "\x93\xc1", + [0x526d] = "\x8c\xa1", [0x526e] = "\xe0\xb1", [0x5270] = "\x8d\xd2", + [0x5271] = "\xe0\xb3", [0x5272] = "\xe0\xb2", [0x5277] = "\xe0\xb4", + [0x5282] = "\xe0\xb5", [0x5286] = "\xe0\xb6", [0x5290] = "\x8b\x5d", + [0x5292] = "\xe0\xb7", [0x5297] = "\xe0\xb8", [0x529c] = "\x8c\xa2", + [0x529f] = "\x94\xc6", [0x52a2] = "\xe0\xba", [0x52a6] = "\x8f\xf3", + [0x52a9] = "\xe0\xb9", [0x52b2] = "\x8b\xb6", [0x52b3] = "\xe0\xbb", + [0x52b4] = "\xe0\xbd", [0x52b6] = "\xe0\xbc", [0x52be] = "\xe0\xbe", + [0x52c0] = "\x8c\xcf", [0x52c2] = "\xe0\xbf", [0x52c7] = "\x8b\xe7", + [0x52c9] = "\x91\x5f", [0x52cb] = "\x8d\x9d", [0x52d0] = "\xe0\xc1", + [0x52d1] = "\xe0\xc2", [0x52d2] = "\xe0\xc0", [0x52d9] = "\x8e\xeb", + [0x52dc] = "\x93\xc6", [0x52dd] = "\x8b\xb7", [0x52e7] = "\xe0\xc4", + [0x52e8] = "\x92\x4b", [0x52e9] = "\xe0\xc3", [0x52ec] = "\x98\x54", + [0x52ed] = "\x94\x82", [0x52fa] = "\xe0\xc7", [0x5306] = "\xe0\xc9", + [0x5307] = "\xe0\xc6", [0x530b] = "\x96\xd2", [0x530c] = "\xe0\xc8", + [0x530d] = "\xe0\xca", [0x530f] = "\x97\xc2", [0x5315] = "\xe0\xce", + [0x5319] = "\xe0\xcd", [0x531a] = "\x92\x96", [0x531b] = "\x94\x4c", + [0x531e] = "\x8c\xa3", [0x531f] = "\xe0\xcc", [0x5324] = "\xe0\xcb", + [0x5326] = "\x97\x50", [0x5327] = "\x97\x51", [0x532e] = "\xe0\xcf", + [0x532f] = "\x89\x8e", [0x5334] = "\x8d\x96", [0x5335] = "\x8e\x82", + [0x533e] = "\xe0\xd0", [0x533f] = "\xe0\xd1", [0x5347] = "\xe0\xd3", + [0x5353] = "\x8f\x62", [0x5358] = "\xe0\xd5", [0x535a] = "\xe0\xd4", + [0x5360] = "\xe0\xd6", [0x5362] = "\x8a\x6c", [0x5365] = "\xe0\xd8", + [0x5368] = "\xe0\xd7", [0x536a] = "\xe0\xda", [0x536b] = "\xe0\xd9", + [0x5374] = "\x8c\xba", [0x5377] = "\x97\xa6", [0x5379] = "\x8b\xca", + [0x537b] = "\x89\xa4", [0x5386] = "\x8b\xe8", [0x5399] = "\x8a\xdf", + [0x53a2] = "\x97\xe6", [0x53a3] = "\xe0\xdc", [0x53ab] = "\xe0\xde", + [0x53b0] = "\xe0\xdf", [0x53b2] = "\x89\xcf", [0x53b8] = "\xe0\xdb", + [0x53ba] = "\x8e\x58", [0x53bd] = "\x92\xbf", [0x53be] = "\xe0\xdd", + [0x53ce] = "\xe0\xe2", [0x53d0] = "\x8e\xec", [0x53d5] = "\xe0\xe0", + [0x53da] = "\x8c\x5d", [0x53dd] = "\x94\xc7", [0x53de] = "\xe0\xe1", + [0x53e1] = "\xe0\xfc", [0x53e8] = "\xe0\xe7", [0x53ee] = "\x8c\xbb", + [0x53f3] = "\x8b\x85", [0x53f5] = "\xe0\xe4", [0x53f6] = "\x97\x9d", + [0x53f9] = "\x97\xae", [0x5412] = "\x91\xf4", [0x5415] = "\xe0\xe6", + [0x5422] = "\xe0\xe8", [0x5423] = "\x97\xd4", [0x5424] = "\x8b\xd5", + [0x5425] = "\x94\xfa", [0x5426] = "\x94\x69", [0x542a] = "\xe0\xe9", + [0x542f] = "\xe0\xeb", [0x5431] = "\xe0\xee", [0x5445] = "\xe0\xea", + [0x5449] = "\xe0\xed", [0x544a] = "\x8c\xe8", [0x544b] = "\x89\x6c", + [0x544c] = "\xe0\xef", [0x544e] = "\x90\x90", [0x544f] = "\xe0\xec", + [0x5450] = "\x97\xda", [0x5453] = "\xe0\xf2", [0x5454] = "\xea\xa2", + [0x5459] = "\xe0\xf0", [0x545a] = "\xe0\xf3", [0x545f] = "\xe0\xe5", + [0x5460] = "\xe0\xf1", [0x5463] = "\x8d\xba", [0x5466] = "\xe0\xf4", + [0x546e] = "\xe0\xf5", [0x5473] = "\x97\x9e", [0x547b] = "\xe0\xf6", + [0x548e] = "\xe0\xf7", [0x5492] = "\xe0\xe3", [0x5497] = "\xe0\xf8", + [0x54a0] = "\x8a\xc2", [0x54ad] = "\x8e\xa3", [0x54ba] = "\xe0\xf9", + [0x54bf] = "\xe0\xfa", [0x54c4] = "\xe0\xfb", [0x54cc] = "\x89\x5a", + [0x54d0] = "\xe1\x40", [0x54d2] = "\x95\x5a", [0x54d3] = "\xe1\x41", + [0x54d6] = "\x8a\xa2", [0x54d7] = "\xe1\x42", [0x54d9] = "\xe1\x43", + [0x54de] = "\xe1\x44", [0x54e0] = "\xe1\x46", [0x54e1] = "\xe1\x47", + [0x54e2] = "\xe1\x45", [0x54e6] = "\x95\x72", [0x54e7] = "\xe1\x49", + [0x54e8] = "\xe1\x48", [0x54f3] = "\xe1\x4b", [0x54f4] = "\xe1\x4a", + [0x54f5] = "\xe1\x4c", [0x54fc] = "\xe1\x4d", [0x54fd] = "\xe1\x4f", + [0x54fe] = "\xe1\x4e", [0x5501] = "\x8d\x99", [0x5503] = "\xe1\x51", + [0x5505] = "\xe1\x50", [0x5508] = "\x8a\xc3", [0x550a] = "\x90\x72", + [0x550c] = "\x93\x5b", [0x550e] = "\xe1\x52", [0x550f] = "\x90\xb6", + [0x5513] = "\x8e\x59", [0x5515] = "\x89\x99", [0x5516] = "\xe1\x53", + [0x5518] = "\x97\x70", [0x551b] = "\x95\xe1", [0x551c] = "\xe1\x54", + [0x5520] = "\x93\x63", [0x5521] = "\x97\x52", [0x5522] = "\x8d\x62", + [0x5523] = "\x90\x5c", [0x5527] = "\x92\x6a", [0x5528] = "\x99\xb2", + [0x552a] = "\x92\xac", [0x552b] = "\x89\xe6", [0x552c] = "\xe1\x55", + [0x5534] = "\xe1\x56", [0x5536] = "\xe1\x5b", [0x5539] = "\xe1\x59", + [0x553a] = "\xe1\x58", [0x553b] = "\x9d\xc0", [0x553c] = "\x8a\x45", + [0x553d] = "\xe1\x57", [0x553f] = "\x88\xd8", [0x5541] = "\x94\xa8", + [0x5544] = "\x94\xc8", [0x5549] = "\x97\xaf", [0x554a] = "\xe1\x5c", + [0x554b] = "\xe1\x5a", [0x554c] = "\x92\x7b", [0x554d] = "\x90\xa4", + [0x5550] = "\x94\xa9", [0x5552] = "\x95\x4c", [0x5554] = "\xe1\x5e", + [0x5555] = "\x97\xaa", [0x5556] = "\x8c\x6c", [0x5557] = "\xe1\x5f", + [0x5559] = "\xe1\x5d", [0x555a] = "\x94\xd4", [0x555b] = "\xe1\x60", + [0x555d] = "\xe1\x61", [0x5560] = "\x88\xd9", [0x5563] = "\x8f\xf4", + [0x5564] = "\xe1\x66", [0x5566] = "\xe1\x63", [0x5567] = "\x93\xeb", + [0x5568] = "\xe1\x62", [0x556f] = "\x8b\x45", [0x5572] = "\xe1\x69", + [0x5576] = "\xe1\x64", [0x5577] = "\xe1\x65", [0x5579] = "\xe1\x68", + [0x557a] = "\xe1\x67", [0x557b] = "\x95\x44", [0x557e] = "\x91\x61", + [0x557f] = "\x91\x60", [0x5581] = "\x8b\x5e", [0x5584] = "\xe1\x6a", + [0x558a] = "\xe1\x6b", [0x558d] = "\xe1\x6c", [0x5593] = "\xe1\x6e", + [0x5595] = "\xe1\x6d", [0x559b] = "\x89\x75", [0x55a1] = "\xe1\x76", + [0x55a2] = "\x94\xe6", [0x55a3] = "\xe1\x70", [0x55a5] = "\xe1\x72", + [0x55a8] = "\xe1\x74", [0x55a9] = "\x90\x5d", [0x55ac] = "\xe1\x75", + [0x55ad] = "\xe1\x73", [0x55ae] = "\x8e\xbe", [0x55b2] = "\xe1\x6f", + [0x55b3] = "\xe1\x71", [0x55b5] = "\x95\x61", [0x55b7] = "\x8f\xc7", + [0x55ba] = "\xe1\x78", [0x55bd] = "\xe1\x77", [0x55c2] = "\xe1\x79", + [0x55c4] = "\x8e\xa4", [0x55c5] = "\x8d\xad", [0x55c8] = "\x93\x97", + [0x55c9] = "\xe1\x7a", [0x55cb] = "\x92\xc9", [0x55ce] = "\xe1\x7c", + [0x55d2] = "\x97\x9f", [0x55d3] = "\xe1\x7b", [0x55d9] = "\x91\x89", + [0x55e0] = "\xe1\x82", [0x55e2] = "\xe1\x84", [0x55e3] = "\xe1\x85", + [0x55e4] = "\x92\x73", [0x55ea] = "\xe1\x83", [0x55ec] = "\xe1\x80", + [0x55ee] = "\xe1\x7d", [0x55ef] = "\xe1\x7e", [0x55f1] = "\xe1\x81", + [0x55f9] = "\xe1\x88", [0x55fb] = "\xe1\x86", [0x55fd] = "\xe1\x87", + [0x560f] = "\xe1\x89", [0x5610] = "\xe1\x8b", [0x5611] = "\xe1\x8c", + [0x5612] = "\xe1\x8d", [0x5614] = "\xe1\x8e", [0x5617] = "\xe1\x8a", + [0x5620] = "\xe1\x90", [0x5624] = "\xe1\x8f", [0x562b] = "\xe1\x91", + [0x5632] = "\x97\xc3", [0x5636] = "\xe1\x94", [0x5637] = "\xe1\x92", + [0x5638] = "\xe1\x93", [0x563c] = "\x8a\xe0", [0x5642] = "\x96\xfc", + [0x5646] = "\x95\xc8", [0x5648] = "\xe1\x96", [0x564c] = "\xe1\x95", + [0x5651] = "\xe1\x97", [0x5652] = "\xe1\x98", [0x5657] = "\xe1\x9c", + [0x5658] = "\xe1\x99", [0x5659] = "\xe1\x9a", [0x565a] = "\xe1\x9b", + [0x565c] = "\xe1\x9d", [0x5660] = "\xe1\x9e", [0x5662] = "\xe1\x9f", + [0x5666] = "\xe1\xa0", [0x5668] = "\xe1\xa1", [0x566a] = "\x94\xad", + [0x566b] = "\x93\x6f", [0x566c] = "\xe1\xa2", [0x566d] = "\x94\x92", + [0x566e] = "\x95\x53", [0x5670] = "\xe1\xa3", [0x5673] = "\xe1\xa4", + [0x5674] = "\x93\x49", [0x5676] = "\x8a\x46", [0x5677] = "\x8d\x63", + [0x5678] = "\xe1\xa5", [0x567b] = "\xe1\xa6", [0x567e] = "\xe1\xa7", + [0x5680] = "\x8e\x48", [0x5683] = "\xe1\xa9", [0x5686] = "\xe1\xa8", + [0x5689] = "\xe1\xaa", [0x568a] = "\xe1\xab", [0x569e] = "\x94\xe7", + [0x56a0] = "\xe1\xac", [0x56a4] = "\xe1\xad", [0x56a7] = "\xea\x89", + [0x56a8] = "\xe1\xae", [0x56a9] = "\xe1\xaf", [0x56aa] = "\xe1\xb0", + [0x56af] = "\x8e\x4d", [0x56b2] = "\xe1\xb1", [0x56b3] = "\x94\x75", + [0x56b6] = "\x96\x7e", [0x56b8] = "\x89\x6d", [0x56ba] = "\x89\x76", + [0x56bd] = "\xe1\xb2", [0x56c2] = "\xe1\xb4", [0x56c6] = "\xe1\xb3", + [0x56c7] = "\x93\x90", [0x56cb] = "\x90\xb7", [0x56cc] = "\x9f\x58", + [0x56ce] = "\xe1\xb5", [0x56cf] = "\x96\xbf", [0x56d1] = "\xe1\xb6", + [0x56d3] = "\x8a\xc4", [0x56d4] = "\x94\xd5", [0x56d5] = "\xe1\xb7", + [0x56d7] = "\xe1\xb8", [0x56da] = "\xe1\xb9", [0x56de] = "\x96\xda", + [0x56e2] = "\x96\xd3", [0x56e4] = "\x92\xbc", [0x56e8] = "\x91\x8a", + [0x56eb] = "\xe1\xbb", [0x56ee] = "\x8f\x82", [0x56f1] = "\x8f\xc8", + [0x56f4] = "\xe1\xbe", [0x56f7] = "\xe1\xbd", [0x56f8] = "\xe1\xbc", + [0x56f9] = "\x94\xfb", [0x56fb] = "\x8a\xc5", [0x56fc] = "\x8c\xa7", + [0x570b] = "\xe1\xc4", [0x570e] = "\xe1\xc1", [0x570f] = "\x90\x5e", + [0x5710] = "\x96\xb0", [0x5714] = "\xe1\xc0", [0x5715] = "\xe1\xc2", + [0x5716] = "\xe1\xc3", [0x5719] = "\xe1\xbf", [0x5727] = "\xe1\xc5", + [0x5728] = "\xe1\xc6", [0x572a] = "\x92\xad", [0x572c] = "\x8a\xe1", + [0x5730] = "\x92\x85", [0x5737] = "\xe1\xc7", [0x574a] = "\xe1\xc8", + [0x574b] = "\xe1\xcb", [0x5751] = "\x90\x87", [0x5753] = "\x93\xc2", + [0x5755] = "\xe1\xcc", [0x5756] = "\x96\x72", [0x5758] = "\xe1\xc9", + [0x575b] = "\xe1\xca", [0x5769] = "\xe1\xcf", [0x576e] = "\xe1\xce", + [0x576f] = "\xe1\xcd", [0x577b] = "\xe1\xd1", [0x577e] = "\xe1\xd0", + [0x5781] = "\xe1\xd2", [0x578e] = "\xe1\xd4", [0x5790] = "\xe1\xd3", + [0x5795] = "\x95\xcb", [0x579c] = "\x8f\x75", [0x579d] = "\x97\xc4", + [0x57a0] = "\xe1\xd5", [0x57a3] = "\x93\xb5", [0x57a6] = "\xe1\xd6", + [0x57a9] = "\xe1\xd7", [0x57ab] = "\xe1\xdb", [0x57ac] = "\xe1\xd9", + [0x57ad] = "\xe1\xda", [0x57af] = "\xe1\xd8", [0x57b7] = "\xe1\xdc", + [0x57bd] = "\xe1\xdd", [0x57c7] = "\xe1\xde", [0x57ca] = "\xe1\xdf", + [0x57cb] = "\x96\xb5", [0x57cc] = "\xe1\xe0", [0x57d2] = "\x96\xee", + [0x57d3] = "\xe1\xe1", [0x57d5] = "\x92\x6d", [0x57d7] = "\x94\x8a", + [0x57d9] = "\x8b\xe9", [0x57dd] = "\x92\x5a", [0x57de] = "\xe1\xe2", + [0x57df] = "\x8b\xb8", [0x57e3] = "\x90\xce", [0x57ec] = "\xe1\xe3", + [0x57f2] = "\x8d\xbb", [0x57fc] = "\xe1\xe4", [0x5802] = "\xe1\xe5", + [0x5804] = "\x8c\xa4", [0x5805] = "\x8d\xd3", [0x5810] = "\xe1\xe7", + [0x5815] = "\x93\x75", [0x5816] = "\x8d\xd4", [0x5817] = "\x8b\x6d", + [0x5822] = "\x96\x43", [0x5824] = "\x94\x6a", [0x582a] = "\x93\x76", + [0x582f] = "\x8d\x7b", [0x5835] = "\xe1\xe9", [0x584d] = "\x8f\xc9", + [0x585b] = "\x97\xb0", [0x585c] = "\x8d\x64", [0x585f] = "\x8c\xa5", + [0x5862] = "\x94\xa1", [0x5864] = "\xe1\xeb", [0x586c] = "\xe1\xed", + [0x5871] = "\x8c\xe9", [0x5876] = "\xe1\xec", [0x5877] = "\x92\xf4", + [0x587c] = "\xe1\xef", [0x587d] = "\x8a\x56", [0x587e] = "\xe1\xea", + [0x5881] = "\x94\xe8", [0x5883] = "\x89\x4f", [0x5885] = "\x8d\xea", + [0x5887] = "\x98\x71", [0x588a] = "\xe1\xee", [0x5893] = "\xe1\xf0", + [0x5897] = "\x95\xc9", [0x5899] = "\x90\xd7", [0x589a] = "\xe1\xf2", + [0x589f] = "\xe1\xf3", [0x58a5] = "\xe1\xf1", [0x58aa] = "\x8a\x6d", + [0x58ac] = "\xe1\xf9", [0x58ae] = "\xe1\xf8", [0x58b1] = "\x8e\xa5", + [0x58b5] = "\xe1\xfa", [0x58b6] = "\xe1\xf5", [0x58ba] = "\xe1\xfb", + [0x58bb] = "\xe1\xf6", [0x58c0] = "\x94\xd6", [0x58c1] = "\xe1\xf4", + [0x58c4] = "\xe1\xf7", [0x58ca] = "\xe2\x41", [0x58d7] = "\xe2\x40", + [0x58d8] = "\x96\x81", [0x58dc] = "\xe1\xfc", [0x58df] = "\x88\xe9", + [0x58e4] = "\xe2\x43", [0x58ed] = "\xe2\x42", [0x58f1] = "\x8f\xca", + [0x58f7] = "\xe2\x44", [0x58fe] = "\x91\x62", [0x5901] = "\xe2\x46", + [0x5902] = "\xe2\x45", [0x5909] = "\xe2\x47", [0x5916] = "\xe1\xe6", + [0x591a] = "\xe1\xe8", [0x591b] = "\xe2\x49", [0x591c] = "\xe2\x48", + [0x592a] = "\x8e\xa6", [0x592c] = "\x97\xe7", [0x592e] = "\x8e\xd0", + [0x5930] = "\xe2\x4a", [0x5931] = "\x8c\x56", [0x5937] = "\x8b\x5f", + [0x5938] = "\x8b\x46", [0x5939] = "\x8e\x83", [0x5940] = "\x97\x53", + [0x5943] = "\xe2\x50", [0x5945] = "\xe2\x4f", [0x5946] = "\x91\x63", + [0x5947] = "\xe2\x4c", [0x594a] = "\xe2\x4e", [0x594d] = "\x8f\x6a", + [0x594e] = "\x90\x5f", [0x594f] = "\xe2\x4d", [0x5950] = "\xe2\x4b", + [0x5952] = "\x94\x49", [0x5955] = "\x8f\xcb", [0x5958] = "\x95\x5b", + [0x595d] = "\x8d\xd5", [0x5967] = "\x93\x98", [0x596a] = "\xe2\x51", + [0x596f] = "\xe2\x52", [0x5970] = "\xe2\x68", [0x5971] = "\x8b\xd6", + [0x5974] = "\x98\x5c", [0x5975] = "\x91\x54", [0x597a] = "\xe2\x53", + [0x597d] = "\x89\xd0", [0x597e] = "\x92\xf5", [0x597f] = "\x95\x9f", + [0x598d] = "\xe2\x54", [0x5996] = "\x8b\x9a", [0x5997] = "\xe2\x55", + [0x599a] = "\xe2\x57", [0x599e] = "\xe2\x58", [0x59a0] = "\x94\x48", + [0x59a3] = "\xe2\x59", [0x59a9] = "\xe2\x5a", [0x59aa] = "\xe2\x5b", + [0x59ad] = "\x8b\xd7", [0x59ae] = "\x89\xd1", [0x59af] = "\x93\xc3", + [0x59b0] = "\x8f\x47", [0x59b1] = "\x8e\x84", [0x59b9] = "\xe2\x5c", + [0x59bb] = "\x8f\x48", [0x59c1] = "\x89\xc8", [0x59c2] = "\x95\x62", + [0x59c5] = "\xe2\x5d", [0x59c8] = "\x94\xe9", [0x59cf] = "\x91\x64", + [0x59d1] = "\xe2\x60", [0x59d3] = "\xe2\x61", [0x59d4] = "\x94\x89", + [0x59d6] = "\x90\x60", [0x59d7] = "\xe2\x5e", [0x59d9] = "\x92\x81", + [0x59dc] = "\xe2\x5f", [0x59e0] = "\x8f\xcc", [0x59eb] = "\x88\xda", + [0x59f0] = "\x8b\x48", [0x59f8] = "\xe2\x62", [0x59fb] = "\x92\xf6", + [0x59fd] = "\xe2\x63", [0x59fe] = "\x90\xc5", [0x5a04] = "\x96\xab", + [0x5a07] = "\x95\x42", [0x5a08] = "\xe2\x64", [0x5a09] = "\xe2\x65", + [0x5a0a] = "\x92\x74", [0x5a0c] = "\x97\xc5", [0x5a0f] = "\xe2\x67", + [0x5a10] = "\xe2\x66", [0x5a1e] = "\x8e\xed", [0x5a21] = "\xe2\x69", + [0x5a22] = "\x88\xee", [0x5a27] = "\xe2\x6c", [0x5a2b] = "\xe2\x6a", + [0x5a2c] = "\x89\xd2", [0x5a2d] = "\x8c\x6d", [0x5a2e] = "\xe2\x6b", + [0x5a2f] = "\x8d\x65", [0x5a30] = "\x8d\x92", [0x5a32] = "\x95\xe4", + [0x5a33] = "\xe2\x6d", [0x5a36] = "\x96\x73", [0x5a39] = "\xe2\x6f", + [0x5a3d] = "\x90\xcf", [0x5a3e] = "\x89\x6e", [0x5a3f] = "\x89\xb8", + [0x5a40] = "\x88\xaa", [0x5a47] = "\xe2\x6e", [0x5a51] = "\xe2\x70", + [0x5a52] = "\xe2\x71", [0x5a53] = "\x8f\xf5", [0x5a59] = "\xe2\x72", + [0x5a5b] = "\x8a\x6e", [0x5a60] = "\xe2\x74", [0x5a64] = "\x8c\x8a", + [0x5a66] = "\x8b\x86", [0x5a69] = "\xe2\x75", [0x5a6a] = "\x8b\xf3", + [0x5a6d] = "\xe2\x76", [0x5a6f] = "\x90\xfa", [0x5a71] = "\x93\xcb", + [0x5a73] = "\x90\xde", [0x5a74] = "\x8d\xf3", [0x5a78] = "\xe2\x77", + [0x5a82] = "\x92\x82", [0x5a83] = "\x91\x8b", [0x5a85] = "\xe2\x79", + [0x5a86] = "\xe2\x7b", [0x5a87] = "\xe2\x78", [0x5a88] = "\xe2\x7a", + [0x5a8f] = "\x8c\x41", [0x5a99] = "\xe2\x7c", [0x5a9a] = "\x8c\x45", + [0x5a9e] = "\x8b\x87", [0x5a9f] = "\x97\x71", [0x5aa0] = "\xe2\x7e", + [0x5aa6] = "\xe2\x80", [0x5aaa] = "\x89\x4d", [0x5aaf] = "\xe2\x83", + [0x5ab3] = "\x8a\x96", [0x5ab4] = "\xe2\x82", [0x5ab5] = "\xe2\x81", + [0x5ab7] = "\xe2\x85", [0x5ab8] = "\xe2\x7d", [0x5aba] = "\xe2\x86", + [0x5abb] = "\x97\xa7", [0x5abd] = "\xe2\x87", [0x5abf] = "\xe2\x88", + [0x5ac2] = "\x9a\xf2", [0x5ac3] = "\xe2\x8a", [0x5ac5] = "\xe2\x89", + [0x5ac9] = "\xe2\x8b", [0x5aca] = "\xe2\x8c", [0x5acc] = "\x97\xb3", + [0x5acd] = "\xe2\x8d", [0x5acf] = "\xe8\xed", [0x5ad0] = "\x8f\xcd", + [0x5ad1] = "\xe2\x8e", [0x5ad2] = "\xe2\x8f", [0x5ad3] = "\x8f\x76", + [0x5ad5] = "\x93\xb6", [0x5ad6] = "\xe2\x90", [0x5ada] = "\x92\x47", + [0x5add] = "\xe2\x91", [0x5adf] = "\x92\x5b", [0x5ae0] = "\xe2\x92", + [0x5ae6] = "\x8b\xa3", [0x5ae8] = "\x99\x5e", [0x5ae9] = "\x92\x7c", + [0x5aea] = "\x8e\xb1", [0x5aef] = "\x8a\xc6", [0x5af2] = "\xe2\x93", + [0x5af4] = "\xe2\xa0", [0x5af6] = "\xe2\x96", [0x5af8] = "\x8b\x88", + [0x5afa] = "\xe2\x95", [0x5afb] = "\xe2\xa2", [0x5aff] = "\xe2\x94", + [0x5b01] = "\x8f\xce", [0x5b08] = "\xe2\x98", [0x5b09] = "\xe2\x99", + [0x5b0b] = "\x93\x4a", [0x5b0e] = "\xe2\x9a", [0x5b10] = "\x8a\x7d", + [0x5b15] = "\x90\x79", [0x5b16] = "\x95\x84", [0x5b18] = "\xe2\x9c", + [0x5b1c] = "\x91\xe6", [0x5b23] = "\xe2\x97", [0x5b25] = "\xe2\x9b", + [0x5b26] = "\xe2\x9d", [0x5b29] = "\x8d\xf9", [0x5b35] = "\xe2\xa4", + [0x5b36] = "\x95\x4d", [0x5b38] = "\x94\xa4", [0x5b39] = "\x93\x99", + [0x5b3b] = "\x8b\xd8", [0x5b3c] = "\xe2\xa3", [0x5b3d] = "\xe2\xa1", + [0x5b3f] = "\x94\xb3", [0x5b40] = "\xe2\x9e", [0x5b41] = "\x92\x7d", + [0x5b42] = "\x93\x9b", [0x5b44] = "\x93\x9a", [0x5b46] = "\x8d\xf4", + [0x5b4d] = "\xe2\xb6", [0x5b55] = "\xe2\xa6", [0x5b57] = "\xe2\xa8", + [0x5b5c] = "\xe2\xab", [0x5b5e] = "\xe2\xac", [0x5b60] = "\xe2\xa9", + [0x5b61] = "\xe2\xaa", [0x5b64] = "\xe2\xa7", [0x5b65] = "\xe2\xa5", + [0x5b6a] = "\xe2\x9f", [0x5b76] = "\x95\xcd", [0x5b77] = "\x89\xd3", + [0x5b7b] = "\xe2\xb3", [0x5b7d] = "\xe2\xb0", [0x5b7f] = "\xe2\xb5", + [0x5b82] = "\xe2\xb4", [0x5b84] = "\x94\x93", [0x5b85] = "\x96\xa5", + [0x5b87] = "\x8e\x5a", [0x5b88] = "\xe2\xae", [0x5b89] = "\xe2\xb7", + [0x5b8a] = "\xe2\xb2", [0x5b8c] = "\xe2\xb1", [0x5b8d] = "\xe2\xad", + [0x5b8f] = "\xe2\xaf", [0x5b91] = "\x8a\xc7", [0x5b9a] = "\x92\x5c", + [0x5b9d] = "\x90\xfb", [0x5ba1] = "\x94\xa0", [0x5ba4] = "\xe2\xbc", + [0x5ba8] = "\x94\xa2", [0x5bb0] = "\x90\xdf", [0x5bb1] = "\xe2\xb9", + [0x5bb4] = "\x94\xcd", [0x5bb6] = "\xe2\xbd", [0x5bb7] = "\x95\xd1", + [0x5bb9] = "\x92\x7a", [0x5bbb] = "\xe2\xb8", [0x5bbc] = "\xe2\xba", + [0x5bbf] = "\xe2\xbb", [0x5bcd] = "\xe2\xbe", [0x5bd0] = "\x8e\xc2", + [0x5bd4] = "\x93\xc4", [0x5bd5] = "\xe2\xc3", [0x5bd6] = "\xe2\xc2", + [0x5bd9] = "\xe2\xbf", [0x5bdd] = "\x98\x55", [0x5be3] = "\xe2\xc8", + [0x5be6] = "\xe2\xcc", [0x5be7] = "\xe2\xc9", [0x5bf0] = "\xe2\xc5", + [0x5bf7] = "\xe2\xc6", [0x5bfd] = "\xe2\xcb", [0x5c01] = "\xe2\xc0", + [0x5c02] = "\x99\xd3", [0x5c03] = "\xe2\xc7", [0x5c04] = "\xe2\xc1", + [0x5c07] = "\xe2\xca", [0x5c0f] = "\xe2\xd0", [0x5c11] = "\x8a\xc8", + [0x5c13] = "\xe2\xcd", [0x5c17] = "\xe2\xce", [0x5c1a] = "\xe2\xcf", + [0x5c1b] = "\xe2\xd2", [0x5c27] = "\xe2\xd1", [0x5c28] = "\x94\xf4", + [0x5c2d] = "\xe2\xd3", [0x5c2e] = "\x97\xfa", [0x5c2f] = "\x95\xeb", + [0x5c30] = "\xe2\xd8", [0x5c33] = "\xe2\xd5", [0x5c3c] = "\xe2\xd4", + [0x5c3d] = "\x90\xd0", [0x5c3f] = "\xe2\xd7", [0x5c40] = "\xe2\xd9", + [0x5c44] = "\xe2\xd6", [0x5c46] = "\xe2\xdd", [0x5c48] = "\xe2\xda", + [0x5c4f] = "\xe2\xdb", [0x5c50] = "\xe2\xc4", [0x5c54] = "\xe2\xdc", + [0x5c55] = "\xe2\xde", [0x5c5c] = "\xe2\xdf", [0x5c63] = "\x95\xc4", + [0x5c65] = "\xe2\xe0", [0x5c6e] = "\x96\xe0", [0x5c71] = "\x8b\xcc", + [0x5c72] = "\x8c\x48", [0x5c73] = "\xe2\xe1", [0x5c79] = "\x95\xb2", + [0x5c7b] = "\x90\x88", [0x5c7d] = "\x96\xae", [0x5c80] = "\xe2\xe2", + [0x5c82] = "\x97\xb1", [0x5c85] = "\x94\x94", [0x5c87] = "\x91\x65", + [0x5c88] = "\x94\x53", [0x5c8b] = "\x8f\x6c", [0x5c8f] = "\x88\xbe", + [0x5c91] = "\xe2\xe7", [0x5c92] = "\xe2\xe5", [0x5c94] = "\xe2\xe3", + [0x5c95] = "\x8a\x9f", [0x5c97] = "\x8f\xcf", [0x5c98] = "\xe2\xe8", + [0x5c9b] = "\xe2\xe6", [0x5c9d] = "\xe2\xe4", [0x5c9e] = "\xe2\xec", + [0x5ca1] = "\xe2\xeb", [0x5ca2] = "\xe2\xea", [0x5ca3] = "\xe2\xe9", + [0x5ca9] = "\xe2\xed", [0x5cad] = "\xe2\xee", [0x5cae] = "\x90\xb8", + [0x5cb0] = "\xe2\xef", [0x5cb2] = "\xe2\xf1", [0x5cb5] = "\xe2\xf0", + [0x5cba] = "\x8c\xd0", [0x5cbe] = "\x91\x57", [0x5cc2] = "\xe2\xf3", + [0x5cc6] = "\x93\x9c", [0x5cc8] = "\xe2\xf2", [0x5ccc] = "\xe2\xf4", + [0x5cce] = "\x95\xb3", [0x5ccf] = "\x91\x8c", [0x5cd0] = "\x8d\x66", + [0x5cd2] = "\xe2\xf5", [0x5cd7] = "\x97\xc6", [0x5cdf] = "\xe2\xf7", + [0x5ce2] = "\xe2\xf8", [0x5ce4] = "\xe2\xf9", [0x5ce6] = "\xe2\xfa", + [0x5ce8] = "\x8e\x85", [0x5cea] = "\xe2\xfb", [0x5ceb] = "\x8c\x6e", + [0x5cee] = "\x8b\x8a", [0x5cf0] = "\x8b\x49", [0x5cf2] = "\xe3\x40", + [0x5cf4] = "\x96\xf1", [0x5cf5] = "\x8d\x67", [0x5cf6] = "\xe2\xfc", + [0x5cfa] = "\xe3\x43", [0x5cfb] = "\x96\xe4", [0x5cfd] = "\x94\x5b", + [0x5d00] = "\x95\x52", [0x5d04] = "\x8f\x83", [0x5d05] = "\xe3\x42", + [0x5d07] = "\x8e\xd1", [0x5d08] = "\x8d\x68", [0x5d09] = "\x8e\x86", + [0x5d0a] = "\x8b\x89", [0x5d0b] = "\x95\xb4", [0x5d0c] = "\xe3\x41", + [0x5d10] = "\x91\x66", [0x5d11] = "\x96\x61", [0x5d12] = "\x8d\xf5", + [0x5d1b] = "\x8e\x87", [0x5d1c] = "\x92\xdb", [0x5d1e] = "\xe3\x46", + [0x5d1f] = "\x97\xdd", [0x5d20] = "\x8d\xd7", [0x5d22] = "\xe3\x47", + [0x5d23] = "\x90\x61", [0x5d25] = "\xe3\x49", [0x5d29] = "\x8f\xd0", + [0x5d2a] = "\x8d\xae", [0x5d2f] = "\xe3\x48", [0x5d32] = "\x8f\x49", + [0x5d33] = "\x8c\xbc", [0x5d34] = "\x91\x67", [0x5d35] = "\xe3\x44", + [0x5d36] = "\xe3\x4a", [0x5d3b] = "\xe3\x45", [0x5d3c] = "\x8c\x6f", + [0x5d3e] = "\xe3\x4d", [0x5d3f] = "\xe3\x51", [0x5d40] = "\x8c\x8b", + [0x5d46] = "\xe3\x4c", [0x5d4b] = "\xe3\x55", [0x5d4e] = "\x8d\x69", + [0x5d51] = "\x97\x8d", [0x5d52] = "\x88\xba", [0x5d53] = "\xe3\x52", + [0x5d56] = "\x8b\x8b", [0x5d58] = "\xe3\x4f", [0x5d5e] = "\xe3\x50", + [0x5d61] = "\x93\x9d", [0x5d62] = "\xe3\x4e", [0x5d63] = "\xe3\x4b", + [0x5d65] = "\x8a\x47", [0x5d66] = "\x90\xe2", [0x5d69] = "\x8c\xa6", + [0x5d6d] = "\xe3\x57", [0x5d79] = "\xe3\x54", [0x5d7f] = "\xe3\x56", + [0x5d83] = "\xe3\x53", [0x5d89] = "\x8c\x70", [0x5d8a] = "\x91\xb1", + [0x5d8b] = "\xe3\x58", [0x5d8c] = "\x91\x8e", [0x5d8f] = "\xe3\x65", + [0x5d92] = "\xe3\x61", [0x5d93] = "\xe3\x5b", [0x5d9b] = "\xe3\x5f", + [0x5d9c] = "\x8e\xf8", [0x5d9d] = "\x88\xdb", [0x5d9e] = "\xe3\x5a", + [0x5d9f] = "\xe3\x62", [0x5da0] = "\xe3\x66", [0x5da1] = "\x8d\x6a", + [0x5da2] = "\x96\xd4", [0x5da4] = "\x92\xd4", [0x5da5] = "\xe3\x5c", + [0x5da8] = "\xe3\x64", [0x5daa] = "\xe3\x59", [0x5dab] = "\x92\x5d", + [0x5dad] = "\xe3\x5e", [0x5dae] = "\x88\xbb", [0x5daf] = "\x96\xc8", + [0x5db7] = "\xe3\x5d", [0x5dba] = "\x8b\xd9", [0x5dbb] = "\x94\xea", + [0x5dbf] = "\x91\x8d", [0x5dc1] = "\x97\xce", [0x5dc2] = "\x8f\x8f", + [0x5dc5] = "\xe3\x8e", [0x5dc8] = "\xe3\x67", [0x5dca] = "\x90\xfc", + [0x5dcc] = "\xe3\x63", [0x5dcd] = "\xe3\x68", [0x5dce] = "\xe3\x6a", + [0x5dd0] = "\x92\xf7", [0x5dd1] = "\xe3\x6d", [0x5dd4] = "\xe3\x69", + [0x5dd8] = "\x95\xd2", [0x5dd9] = "\x8a\xc9", [0x5ddc] = "\x96\xc9", + [0x5ddf] = "\x88\xdc", [0x5de2] = "\xe3\x6c", [0x5de4] = "\x97\xfb", + [0x5deb] = "\xe3\x6b", [0x5df1] = "\x89\x8f", [0x5df4] = "\x93\xea", + [0x5df5] = "\xe3\x6e", [0x5df9] = "\xe3\x75", [0x5dfa] = "\xe3\x6f", + [0x5dfb] = "\xe3\x76", [0x5e02] = "\xe3\x72", [0x5e0b] = "\x94\x9b", + [0x5e0e] = "\x8e\xc8", [0x5e0f] = "\xe3\x74", [0x5e11] = "\xe3\x71", + [0x5e12] = "\xe3\x77", [0x5e13] = "\xe3\x70", [0x5e16] = "\x8f\x63", + [0x5e1b] = "\x96\x44", [0x5e1e] = "\x8f\x6b", [0x5e21] = "\xe3\x73", + [0x5e22] = "\xe3\x80", [0x5e25] = "\xe3\x7b", [0x5e27] = "\xe3\x7e", + [0x5e29] = "\xe3\x7c", [0x5e2a] = "\xe3\x81", [0x5e2b] = "\xe3\x7a", + [0x5e2d] = "\xe3\x60", [0x5e2e] = "\x90\xd1", [0x5e31] = "\x94\xc9", + [0x5e33] = "\xe3\x7d", [0x5e36] = "\xe3\x78", [0x5e3a] = "\x91\x40", + [0x5e3b] = "\x8c\x71", [0x5e3d] = "\x8f\x4a", [0x5e44] = "\x90\x44", + [0x5e45] = "\x91\x55", [0x5e46] = "\xe3\x84", [0x5e49] = "\xe3\x86", + [0x5e4a] = "\xe3\x87", [0x5e4d] = "\xe3\x83", [0x5e4e] = "\xe3\x85", + [0x5e56] = "\xe3\x79", [0x5e57] = "\xe3\x82", [0x5e59] = "\xe3\x8a", + [0x5e5a] = "\xe3\x89", [0x5e5d] = "\x96\x9a", [0x5e60] = "\x8c\x4a", + [0x5e69] = "\xe3\x88", [0x5e6b] = "\xe3\x8c", [0x5e6c] = "\xe3\x8b", + [0x5e6d] = "\xe3\x8f", [0x5e6f] = "\xe3\x91", [0x5e72] = "\x8e\x5b", + [0x5e73] = "\xe3\x8d", [0x5e78] = "\xe3\x92", [0x5e79] = "\xe3\x93", + [0x5e7c] = "\xe3\x94", [0x5e7e] = "\xe3\x9a", [0x5e7f] = "\x93\x5a", + [0x5e80] = "\xe3\x96", [0x5e82] = "\xe3\x95", [0x5e83] = "\xe3\x97", + [0x5e84] = "\xe3\x98", [0x5e86] = "\xe3\x99", [0x5e8b] = "\xe3\x9b", + [0x5e8c] = "\xe3\x9c", [0x5f26] = "\x8a\xca", [0x5f28] = "\xe3\x9d", + [0x5f2a] = "\xe3\x9e", [0x5f35] = "\xe3\x9f", [0x5f3c] = "\xe3\xa0", + [0x5f3d] = "\xe3\xa1", [0x5f3e] = "\xe3\xa2", [0x5f40] = "\xe3\xa3", + [0x5f41] = "\xe3\xa4", [0x5f44] = "\xe3\xa6", [0x5f45] = "\xe3\xa5", + [0x5f48] = "\xe3\xa7", [0x5f4f] = "\xe3\xa8", [0x5f50] = "\xe3\xa9", + [0x5f57] = "\xe3\xac", [0x5f58] = "\xe3\xaa", [0x5f59] = "\xe3\xab", + [0x5f5a] = "\x8d\xdf", [0x5f5b] = "\x8c\x72", [0x5f5e] = "\x92\x75", + [0x5f60] = "\x94\xb1", [0x5f62] = "\x8f\x90", [0x5f65] = "\x94\x6c", + [0x5f67] = "\x94\xeb", [0x5f68] = "\xe3\xad", [0x5f69] = "\x9c\xeb", + [0x5f72] = "\xe3\xae", [0x5f73] = "\xe3\xb0", [0x5f75] = "\x97\x85", + [0x5f76] = "\xe3\xaf", [0x5f77] = "\xe3\xb2", [0x5f78] = "\xe3\xb1", + [0x5f7a] = "\x97\x72", [0x5f7c] = "\xe3\xb3", [0x5f7e] = "\x94\xfc", + [0x5f84] = "\xe3\xb4", [0x5f8a] = "\xe3\xb7", [0x5f8d] = "\xe3\xb6", + [0x5f8e] = "\xe3\xb5", [0x5f93] = "\xe3\xb8", [0x5f94] = "\x8c\x51", + [0x5f98] = "\x91\x41", [0x5f99] = "\x8b\x60", [0x5f9e] = "\xe3\xbc", + [0x5f9f] = "\xe3\xb9", [0x5fa2] = "\xe3\xba", [0x5fa6] = "\xe3\xbd", + [0x5fa8] = "\xe3\xbe", [0x5fa9] = "\xe3\xbb", [0x5fad] = "\x89\x48", + [0x5fb1] = "\x89\xa5", [0x5fb5] = "\xe3\xc0", [0x5fb6] = "\xe3\xc1", + [0x5fba] = "\xe3\xc2", [0x5fbc] = "\x97\x82", [0x5fc2] = "\x8f\x4b", + [0x5fc4] = "\xe3\xc4", [0x5fc5] = "\xe3\xc3", [0x5fd0] = "\x90\x89", + [0x5fd1] = "\xe3\xc5", [0x5fd6] = "\xe3\xc6", [0x5fd9] = "\xe3\xc7", + [0x5fdb] = "\x8a\xe3", [0x5fe0] = "\x8a\xcb", [0x5fe3] = "\xe3\xc8", + [0x5fe9] = "\xe3\xc9", [0x5feb] = "\x96\x7c", [0x5fec] = "\x97\x83", + [0x5ff0] = "\x97\x73", [0x5ff1] = "\x98\x56", [0x5ff3] = "\x8d\x6c", + [0x5ff4] = "\xe3\xcc", [0x5ff5] = "\x8e\xd2", [0x5ff6] = "\xe3\xcb", + [0x5ffb] = "\xe3\xcd", [0x5ffc] = "\x8e\xa7", [0x6000] = "\x91\xcf", + [0x6002] = "\xe3\xce", [0x6005] = "\x8d\x6b", [0x6007] = "\x96\xd5", + [0x6008] = "\xe3\xcf", [0x6009] = "\xe3\xd0", [0x600c] = "\xe3\xd1", + [0x6011] = "\xe3\xd2", [0x6018] = "\xe3\xd3", [0x6023] = "\x8e\xa8", + [0x6026] = "\x96\xeb", [0x602b] = "\xe3\xd5", [0x602d] = "\x92\x5e", + [0x602f] = "\xe3\xd4", [0x6036] = "\xe3\xd7", [0x603a] = "\xe3\xd6", + [0x6042] = "\xe3\xd8", [0x6046] = "\x90\xb9", [0x6048] = "\xe3\xd9", + [0x604a] = "\xe3\xda", [0x604e] = "\x95\xb7", [0x604f] = "\xe3\xdb", + [0x6051] = "\x91\x8f", [0x6052] = "\xe3\xdc", [0x6058] = "\xe3\xdd", + [0x605f] = "\x97\xfc", [0x6060] = "\xe3\xe0", [0x6062] = "\xe3\xdf", + [0x6063] = "\xe3\xde", [0x6064] = "\x92\xae", [0x6066] = "\xe3\xe1", + [0x6067] = "\x90\x45", [0x6069] = "\xe3\xe2", [0x606d] = "\xe3\xe3", + [0x606e] = "\x98\x57", [0x606f] = "\xe3\xe4", [0x6074] = "\xe3\xe5", + [0x6075] = "\xe3\xe7", [0x6076] = "\xe3\xe6", [0x6077] = "\x94\xa3", + [0x6079] = "\x93\xf7", [0x607b] = "\x98\x5d", [0x607c] = "\x94\xa7", + [0x6083] = "\xe3\xe9", [0x6086] = "\x8f\xd1", [0x6088] = "\x95\x49", + [0x608a] = "\xe3\xea", [0x608b] = "\xe3\xe8", [0x608d] = "\x8a\xcc", + [0x6091] = "\x8c\xd2", [0x6092] = "\x8e\x88", [0x6095] = "\x94\xec", + [0x6099] = "\x8c\xa8", [0x609a] = "\x96\x62", [0x609c] = "\xe3\xed", + [0x609d] = "\xe3\xeb", [0x609f] = "\x8d\x6d", [0x60a1] = "\x8d\x6e", + [0x60a2] = "\x88\xe7", [0x60a4] = "\x8d\xe6", [0x60aa] = "\x94\x78", + [0x60b3] = "\x88\xdd", [0x60b4] = "\xe3\xf2", [0x60b6] = "\x92\x5f", + [0x60bc] = "\x94\x77", [0x60be] = "\x91\xd9", [0x60c6] = "\xe3\xf4", + [0x60c9] = "\xe3\xf0", [0x60ca] = "\xe3\xf3", [0x60cb] = "\xe3\xee", + [0x60cd] = "\xe3\xf1", [0x60ce] = "\x96\x45", [0x60d1] = "\x8c\xd3", + [0x60d4] = "\x88\xfb", [0x60d5] = "\xe3\xef", [0x60df] = "\xe3\xf6", + [0x60e1] = "\xe3\xf7", [0x60e4] = "\x93\xb7", [0x60e8] = "\x8b\xb9", + [0x60ec] = "\xe4\x45", [0x60ed] = "\x94\x5c", [0x60f2] = "\x8e\x89", + [0x60f5] = "\x8b\xba", [0x60f6] = "\x90\xc6", [0x60f7] = "\x98\x65", + [0x60f8] = "\x96\xac", [0x60f9] = "\xe3\xf5", [0x60fa] = "\x90\xd2", + [0x610a] = "\x8b\x72", [0x610b] = "\xe3\xf8", [0x6113] = "\xe3\xfa", + [0x6119] = "\xe3\xf9", [0x611f] = "\xe3\xfb", [0x6121] = "\x92\x45", + [0x6123] = "\x94\x5d", [0x6129] = "\x92\xaf", [0x612e] = "\xe4\x42", + [0x6136] = "\xe4\x41", [0x613b] = "\xe3\xfc", [0x613e] = "\x90\x74", + [0x6140] = "\x95\x85", [0x6141] = "\xe4\x44", [0x6143] = "\xe4\x43", + [0x6144] = "\x8d\x6f", [0x6145] = "\x98\x72", [0x614f] = "\xe4\x54", + [0x6155] = "\xe4\x48", [0x6156] = "\xe4\x49", [0x615b] = "\x8e\xee", + [0x615e] = "\xe4\x47", [0x6160] = "\x8d\x98", [0x6161] = "\xe4\x46", + [0x6164] = "\xe4\x4a", [0x6168] = "\x92\xb0", [0x6169] = "\x95\xa0", + [0x616a] = "\x91\x42", [0x616f] = "\x91\xda", [0x6170] = "\xe4\x4e", + [0x6172] = "\xe4\x4f", [0x6173] = "\xe4\x4b", [0x6178] = "\xe4\x4c", + [0x617a] = "\xe4\x4d", [0x617f] = "\x8d\x70", [0x6183] = "\xe4\x55", + [0x6185] = "\xe4\x51", [0x618a] = "\x95\x86", [0x618c] = "\x96\x8c", + [0x618d] = "\x95\x47", [0x6190] = "\xe4\x50", [0x6193] = "\xe4\x53", + [0x6194] = "\xe4\x52", [0x6198] = "\x96\x63", [0x6199] = "\xe4\x56", + [0x61a0] = "\xe4\x57", [0x61a3] = "\x91\x56", [0x61a5] = "\xe4\x58", + [0x61a8] = "\xe4\x5a", [0x61aa] = "\xe4\x5e", [0x61ad] = "\xe4\x5b", + [0x61ae] = "\xe4\x59", [0x61af] = "\x94\x5e", [0x61b0] = "\xe4\x5c", + [0x61b2] = "\xe4\x5d", [0x61b6] = "\x89\xb0", [0x61b8] = "\xe4\x64", + [0x61b9] = "\xe4\x5f", [0x61bd] = "\xe4\x60", [0x61c1] = "\xe4\x61", + [0x61c3] = "\x91\x9f", [0x61c8] = "\xe4\x63", [0x61c9] = "\xe4\x62", + [0x61ca] = "\xe4\x65", [0x61cf] = "\xe4\x66", [0x61d0] = "\xe4\x67", + [0x61d3] = "\x90\x62", [0x61d5] = "\x89\xe7", [0x61d7] = "\xe4\x68", + [0x61d8] = "\x97\xd5", [0x61da] = "\x8e\xa9", [0x61dd] = "\x8f\x4c", + [0x61e3] = "\x8e\x8a", [0x61e4] = "\x92\x76", [0x61ea] = "\xe4\x69", + [0x61eb] = "\xe4\x6a", [0x61ec] = "\x89\x50", [0x61ee] = "\xe4\x6b", + [0x61f1] = "\xe4\x6c", [0x61f2] = "\xe4\x6d", [0x61f5] = "\xe4\x6e", + [0x61f7] = "\xe4\x6f", [0x61f8] = "\x8b\xbb", [0x61f9] = "\x9d\xa8", + [0x61fa] = "\xe4\x70", [0x61fc] = "\x90\xe3", [0x61fd] = "\xe4\x71", + [0x61fe] = "\x8e\xc9", [0x6200] = "\xe4\x72", [0x6202] = "\x98\xae", + [0x6206] = "\xe4\x73", [0x6207] = "\x95\xdc", [0x6208] = "\x8a\xda", + [0x620b] = "\x91\x43", [0x620c] = "\x8f\x77", [0x620e] = "\x95\x91", + [0x620f] = "\x8f\x4d", [0x6219] = "\xe4\x74", [0x621a] = "\x8d\x71", + [0x621b] = "\xe4\x75", [0x621c] = "\x94\xca", [0x621e] = "\xe4\x84", + [0x6223] = "\xe4\x77", [0x6225] = "\x91\xc7", [0x6226] = "\x94\x95", + [0x6227] = "\x8c\xbd", [0x6228] = "\xe4\x76", [0x6229] = "\x91\x44", + [0x6230] = "\xe4\x78", [0x6237] = "\x92\xf8", [0x6248] = "\xe4\x7a", + [0x6249] = "\xe4\x79", [0x624a] = "\xe4\x7c", [0x624d] = "\xe4\x7b", + [0x624f] = "\xe4\x7d", [0x6252] = "\xe4\x80", [0x6254] = "\xe4\x7e", + [0x6256] = "\x8a\xcd", [0x6258] = "\xe4\x81", [0x625a] = "\xe4\x82", + [0x625b] = "\xe4\x83", [0x625e] = "\x8d\xaf", [0x625f] = "\x97\xc7", + [0x6261] = "\xe4\x85", [0x6262] = "\x90\x46", [0x6266] = "\x89\x90", + [0x6267] = "\xe4\x86", [0x6268] = "\xe4\x87", [0x626e] = "\xe4\x88", + [0x627b] = "\x88\xf0", [0x627d] = "\xe4\x89", [0x6282] = "\xe4\x8a", + [0x6289] = "\x95\x87", [0x628d] = "\x8e\xc5", [0x628f] = "\xe4\x8c", + [0x6295] = "\x8a\x48", [0x6296] = "\x88\xb0", [0x629b] = "\xe4\x8b", + [0x629c] = "\xe4\x8e", [0x629d] = "\x94\x6d", [0x629f] = "\x90\x63", + [0x62a1] = "\x89\xd4", [0x62a3] = "\x96\x46", [0x62a8] = "\x8c\x7c", + [0x62a9] = "\x8b\xda", [0x62ab] = "\xe4\x8d", [0x62ad] = "\x89\xe8", + [0x62b5] = "\x8a\xa1", [0x62c1] = "\x89\x91", [0x62c2] = "\xe4\x92", + [0x62c3] = "\x97\xe8", [0x62c4] = "\x91\xdb", [0x62c7] = "\x95\x63", + [0x62c9] = "\xe4\x9e", [0x62cb] = "\x89\xd5", [0x62cc] = "\xe4\x9c", + [0x62ce] = "\xe4\x9a", [0x62cf] = "\xe4\x91", [0x62d1] = "\xe4\x8f", + [0x62d3] = "\xe4\x90", [0x62d5] = "\x8e\xe1", [0x62d6] = "\x8b\xea", + [0x62d7] = "\x92\x97", [0x62db] = "\x93\xcf", [0x62e1] = "\x89\x70", + [0x62e3] = "\xe4\x94", [0x62e4] = "\xe4\x93", [0x62e9] = "\xe4\x99", + [0x62ea] = "\xe4\x95", [0x62eb] = "\xe4\x98", [0x62f2] = "\x96\xce", + [0x62f3] = "\xe4\x97", [0x62f4] = "\x89\xd6", [0x62f5] = "\x8a\x9d", + [0x62f6] = "\xe4\x9b", [0x62f9] = "\xe4\x9d", [0x62fe] = "\x8c\x73", + [0x6306] = "\xe4\xa1", [0x6307] = "\xe4\xaa", [0x6308] = "\xe4\xab", + [0x630c] = "\x88\xa9", [0x6313] = "\xe4\xb2", [0x6318] = "\x88\xef", + [0x631b] = "\xe4\xa9", [0x631f] = "\xe4\xa8", [0x6321] = "\xe4\xa3", + [0x6322] = "\xe4\xa2", [0x6324] = "\xe4\xa0", [0x6325] = "\xe4\x9f", + [0x6326] = "\x92\x83", [0x6328] = "\x91\xf9", [0x6329] = "\xe4\xa5", + [0x6330] = "\xe4\xa4", [0x6335] = "\xe4\xa7", [0x6339] = "\x91\x90", + [0x633a] = "\x8c\x74", [0x633f] = "\x89\x60", [0x6340] = "\xe4\xa6", + [0x6342] = "\x8d\x72", [0x6348] = "\x91\x91", [0x6363] = "\xe4\xb8", + [0x6365] = "\xe4\xb9", [0x6367] = "\x89\xd7", [0x636b] = "\x89\xac", + [0x636c] = "\xe4\xb6", [0x6375] = "\xe4\xac", [0x6377] = "\xe4\xb4", + [0x6379] = "\xe4\xbb", [0x637a] = "\xe4\xb5", [0x637e] = "\xe4\xb3", + [0x6383] = "\xe4\x96", [0x6386] = "\xe4\xb1", [0x638a] = "\xe4\xad", + [0x638e] = "\x8a\xce", [0x638f] = "\xe4\xaf", [0x6390] = "\xe4\xba", + [0x6392] = "\xe4\xb0", [0x6398] = "\xe4\xbc", [0x639a] = "\xe4\xae", + [0x639b] = "\x94\x9c", [0x63a1] = "\x97\x89", [0x63a5] = "\xe4\xb7", + [0x63ad] = "\xe4\xcd", [0x63b1] = "\xe4\xc5", [0x63b5] = "\x90\x9b", + [0x63ba] = "\x8b\x65", [0x63bc] = "\x8b\xdb", [0x63be] = "\xe4\xc0", + [0x63c3] = "\x89\xd9", [0x63c6] = "\x8f\xd2", [0x63c8] = "\xe4\xc3", + [0x63cc] = "\x8d\xd8", [0x63cf] = "\x93\x70", [0x63d0] = "\xe4\xc8", + [0x63d9] = "\x95\xec", [0x63db] = "\xe4\xbf", [0x63df] = "\x89\xd8", + [0x63e0] = "\x8c\xd4", [0x63e1] = "\x95\x48", [0x63e2] = "\xe4\xc9", + [0x63e4] = "\xe4\xbd", [0x63e7] = "\xe4\xc6", [0x63eb] = "\xe4\xd0", + [0x63ed] = "\xe4\xc1", [0x63f3] = "\xe4\xc2", [0x63f4] = "\x93\xb8", + [0x63f7] = "\xe4\xc7", [0x63fb] = "\xe4\xc4", [0x63fc] = "\x96\x47", + [0x63fd] = "\xe4\xca", [0x63fe] = "\x88\xde", [0x6403] = "\xe4\xbe", + [0x6410] = "\xe4\xcc", [0x6412] = "\xe4\xcb", [0x6419] = "\x94\x8b", + [0x641a] = "\xe4\xd2", [0x641c] = "\xe4\xdd", [0x6421] = "\x8a\x9e", + [0x6425] = "\xe4\xe0", [0x6428] = "\xe4\xce", [0x642c] = "\xe4\xd3", + [0x642d] = "\x97\x8e", [0x6436] = "\xe4\xdc", [0x6439] = "\x97\x74", + [0x643e] = "\x97\xa8", [0x6447] = "\x92\x98", [0x644b] = "\x8a\x8b", + [0x6451] = "\x95\x92", [0x6452] = "\xe4\xe2", [0x6453] = "\x93\x9f", + [0x6456] = "\x88\xaf", [0x6459] = "\xe4\xdb", [0x645b] = "\xe4\xd7", + [0x645c] = "\x91\x92", [0x645d] = "\xe4\xd1", [0x645e] = "\xe4\xd9", + [0x645f] = "\xe4\xde", [0x6461] = "\x94\x4b", [0x6465] = "\x88\xa8", + [0x6467] = "\xe4\xd6", [0x6469] = "\xe4\xdf", [0x646a] = "\x95\x98", + [0x6472] = "\xe4\xda", [0x6474] = "\xe4\xd5", [0x647b] = "\x8f\xd3", + [0x6480] = "\x8f\x4e", [0x6484] = "\x8e\xaa", [0x6489] = "\x96\xd6", + [0x648c] = "\x95\x66", [0x648f] = "\xe4\xe5", [0x6491] = "\xe4\xee", + [0x649d] = "\xe4\xd8", [0x64a2] = "\x8a\x97", [0x64a8] = "\x8f\xf6", + [0x64a9] = "\xe4\xe3", [0x64ab] = "\xe4\xe8", [0x64ac] = "\x91\x93", + [0x64af] = "\xe4\xe4", [0x64b1] = "\xe4\xeb", [0x64b4] = "\x92\x7e", + [0x64b6] = "\xe4\xec", [0x64b9] = "\x97\x75", [0x64ba] = "\xe4\xe1", + [0x64bb] = "\x8a\x57", [0x64bd] = "\xe4\xe7", [0x64c0] = "\xe4\xea", + [0x64c1] = "\x96\xaa", [0x64c6] = "\xe4\xed", [0x64c9] = "\xe4\xe6", + [0x64ca] = "\xe4\xe9", [0x64dc] = "\x96\x48", [0x64de] = "\x98\x40", + [0x64e4] = "\xe4\xf1", [0x64ec] = "\xe4\xf8", [0x64ef] = "\xe4\xf0", + [0x64f0] = "\x8e\xc1", [0x64f6] = "\xe4\xcf", [0x6501] = "\x95\xcc", + [0x6503] = "\x96\xa0", [0x6504] = "\xe4\xf7", [0x6505] = "\xe4\xf6", + [0x6507] = "\xe4\xf2", [0x6508] = "\xe4\xf3", [0x650a] = "\x89\x55", + [0x650f] = "\xe4\xf5", [0x6511] = "\xe4\xef", [0x6516] = "\x92\xd3", + [0x651c] = "\xe4\xf4", [0x651d] = "\x88\xfc", [0x6525] = "\x91\xa0", + [0x652d] = "\x95\xc1", [0x6530] = "\xe4\xf9", [0x6531] = "\xe5\x40", + [0x6533] = "\x94\xd7", [0x6538] = "\xe4\xfc", [0x6539] = "\x8f\xd4", + [0x653a] = "\x8e\xc7", [0x653b] = "\xe5\x42", [0x653e] = "\x8b\xbc", + [0x6545] = "\xe5\x43", [0x6547] = "\x95\x99", [0x6548] = "\xe4\xfb", + [0x654a] = "\xe4\xd4", [0x6553] = "\xe4\xfa", [0x6558] = "\x98\x6e", + [0x6559] = "\x93\xa0", [0x655a] = "\x95\x93", [0x655d] = "\xe5\x4a", + [0x6567] = "\xe5\x50", [0x656e] = "\xe5\x51", [0x6570] = "\xe5\x44", + [0x6574] = "\x94\x96", [0x6577] = "\xe5\x4e", [0x6578] = "\xe5\x46", + [0x657a] = "\xe5\x48", [0x6580] = "\xe5\x52", [0x6581] = "\xe5\x47", + [0x6584] = "\xe5\x4b", [0x6587] = "\x89\x92", [0x6589] = "\x93\xe3", + [0x658b] = "\xe5\x4c", [0x658c] = "\xe5\x4f", [0x6594] = "\xe5\x45", + [0x6596] = "\x91\x45", [0x6598] = "\xe5\x49", [0x6599] = "\x8e\x46", + [0x659a] = "\x90\x64", [0x659b] = "\x8c\x4f", [0x659c] = "\x96\xf2", + [0x659e] = "\x96\xf7", [0x659f] = "\x8f\x92", [0x65a9] = "\xe5\x56", + [0x65aa] = "\xe5\x54", [0x65b1] = "\x98\x6d", [0x65b9] = "\xe5\x53", + [0x65bd] = "\x97\x95", [0x65bf] = "\xe5\x55", [0x65c0] = "\xe5\x57", + [0x65c5] = "\xe5\x58", [0x65cc] = "\xe5\x5b", [0x65cd] = "\xe5\x59", + [0x65d4] = "\x93\xa1", [0x65d5] = "\xe5\x5a", [0x65d9] = "\x94\xcb", + [0x65da] = "\xe5\x4d", [0x65e7] = "\x8f\x93", [0x65e9] = "\xe5\x5c", + [0x65ea] = "\xe5\x61", [0x65eb] = "\x91\x94", [0x65ee] = "\xe5\x60", + [0x65f2] = "\xe5\x41", [0x65f6] = "\xe5\x62", [0x65f7] = "\x91\x68", + [0x65fa] = "\xe5\x5d", [0x65fb] = "\xe5\x5f", [0x6603] = "\xe5\x5e", + [0x6606] = "\x9f\x50", [0x6607] = "\x9f\x41", [0x660a] = "\xe5\x64", + [0x6612] = "\xe5\x63", [0x661d] = "\x97\x96", [0x661f] = "\xe1\xba", + [0x6620] = "\xe5\x65", [0x662f] = "\xe5\x66", [0x663d] = "\xe5\x67", + [0x663e] = "\x8c\xd5", [0x6640] = "\x8b\x73", [0x6644] = "\xe5\x69", + [0x6645] = "\x99\x7c", [0x664a] = "\x8b\x95", [0x664c] = "\x97\xb8", + [0x664e] = "\x8b\xf1", [0x664f] = "\xe5\x6a", [0x6657] = "\xe5\x6b", + [0x665b] = "\x92\x8e", [0x6661] = "\xe5\x6c", [0x6669] = "\x93\xf8", + [0x666b] = "\x88\xb8", [0x667a] = "\x89\xe1", [0x667b] = "\xe5\x71", + [0x667c] = "\xe5\x72", [0x6683] = "\xe5\x6d", [0x6685] = "\x8e\x5c", + [0x6693] = "\xe5\x6e", [0x6694] = "\x94\x61", [0x6699] = "\xe5\x6f", + [0x669a] = "\xe5\x70", [0x669b] = "\xe5\x7a", [0x669f] = "\xe5\x74", + [0x66a0] = "\xe5\x77", [0x66a6] = "\xe5\x73", [0x66b4] = "\xe5\x75", + [0x66b6] = "\xe5\x76", [0x66b7] = "\x8e\xd6", [0x66b9] = "\xe5\x78", + [0x66bb] = "\x92\x60", [0x66bd] = "\x8c\x75", [0x66be] = "\x8a\x61", + [0x66c4] = "\xe5\x7b", [0x66c9] = "\x8a\x5e", [0x66cb] = "\xe5\x81", + [0x66ce] = "\xe5\x7c", [0x66cf] = "\xe5\x80", [0x66d4] = "\x94\xb8", + [0x66d9] = "\xe5\x7d", [0x66dc] = "\xe5\x7e", [0x66dd] = "\x95\x67", + [0x66de] = "\x94\xd8", [0x66df] = "\xe5\x82", [0x66e8] = "\x91\xfb", + [0x66e9] = "\xe5\x8c", [0x66eb] = "\xe5\x88", [0x66ee] = "\x89\xe9", + [0x66f0] = "\xe5\x86", [0x66f2] = "\x96\x49", [0x66f3] = "\xe5\x87", + [0x66f6] = "\xe5\x84", [0x66f8] = "\xe5\x85", [0x66f9] = "\xe5\x8a", + [0x66fa] = "\xe5\x8d", [0x66fd] = "\xe5\x8b", [0x6701] = "\xe5\x89", + [0x6702] = "\xe5\x83", [0x6708] = "\x92\x77", [0x670a] = "\xe5\x94", + [0x670c] = "\x96\xa8", [0x6715] = "\xe5\x92", [0x6719] = "\xe5\x93", + [0x6724] = "\xe5\x8e", [0x6727] = "\xe5\x90", [0x672b] = "\xe5\x91", + [0x672f] = "\xe5\x8f", [0x6739] = "\x90\xe4", [0x673b] = "\x98\x58", + [0x673c] = "\xe5\x98", [0x673e] = "\xe5\x99", [0x6743] = "\xe5\x9f", + [0x6745] = "\x90\x49", [0x6747] = "\xe5\x9b", [0x6749] = "\xe5\x9e", + [0x674f] = "\xe5\x96", [0x6750] = "\xe5\x95", [0x6753] = "\xe5\xa0", + [0x6756] = "\x89\xda", [0x6758] = "\xe5\x9c", [0x675a] = "\xe5\xa1", + [0x675e] = "\xe5\x9d", [0x6764] = "\xe5\x9a", [0x6766] = "\x92\xb1", + [0x6768] = "\xe5\x97", [0x676f] = "\x94\x88", [0x6772] = "\xe5\xa5", + [0x677d] = "\x97\x5a", [0x678f] = "\xe5\xa4", [0x6792] = "\xe5\xa3", + [0x679b] = "\xe5\xac", [0x679f] = "\xe5\xa6", [0x67a3] = "\xe5\xae", + [0x67aa] = "\x97\x86", [0x67ab] = "\xe5\xb1", [0x67ad] = "\xe5\xa8", + [0x67b0] = "\xe5\xa9", [0x67b4] = "\xe5\xad", [0x67b6] = "\xe5\xb0", + [0x67b7] = "\xe5\xaf", [0x67bb] = "\xe5\xa7", [0x67c0] = "\xe5\xaa", + [0x67c2] = "\xe5\xbb", [0x67d0] = "\xe5\xb4", [0x67df] = "\xe5\xb2", + [0x67e2] = "\xe5\xb3", [0x67e6] = "\xe5\xb8", [0x67e7] = "\xe5\xb9", + [0x67e9] = "\x8a\x49", [0x67eb] = "\x8b\x61", [0x67ee] = "\xe5\xb7", + [0x67f5] = "\xe5\xa2", [0x67fd] = "\xe5\xb6", [0x67fe] = "\xe5\xba", + [0x67ff] = "\xe5\xb5", [0x6801] = "\xe5\xbc", [0x6805] = "\xe5\xbe", + [0x6806] = "\xe5\xbd", [0x6811] = "\xe5\xc0", [0x6812] = "\xe5\xbf", + [0x6813] = "\xe5\x79", [0x6817] = "\xe5\xc4", [0x6821] = "\xe5\xc1", + [0x6826] = "\xe5\xc2", [0x6829] = "\xe5\xc3", [0x682b] = "\xe5\xc5", + [0x6830] = "\x8c\x8c", [0x6832] = "\xe5\xc7", [0x6834] = "\xe5\xc6", + [0x6836] = "\x8f\x4f", [0x683c] = "\x8d\x73", [0x683d] = "\x9f\xa5", + [0x6842] = "\xe5\xc8", [0x6843] = "\x8f\x70", [0x6847] = "\x8a\x58", + [0x6849] = "\xe5\xc9", [0x684b] = "\x89\x71", [0x684d] = "\x8f\xd5", + [0x684e] = "\xe5\xca", [0x6851] = "\x8d\x74", [0x6852] = "\xe5\xcb", + [0x6853] = "\x88\xdf", [0x6858] = "\x95\x5c", [0x685b] = "\xe5\xcc", + [0x6860] = "\x90\x8a", [0x6862] = "\xe5\xd3", [0x6865] = "\xe5\xd0", + [0x6867] = "\x92\x8f", [0x686d] = "\xe5\xd1", [0x686e] = "\xe5\xce", + [0x686f] = "\x8b\xdc", [0x6871] = "\xe5\xcd", [0x6872] = "\xe5\xd4", + [0x6878] = "\x8c\x55", [0x687b] = "\x91\xdc", [0x687d] = "\xe5\xda", + [0x6882] = "\xe5\xd6", [0x6886] = "\x91\xb3", [0x6887] = "\xe5\xd5", + [0x6889] = "\xe5\xd8", [0x688e] = "\xe5\xcf", [0x6892] = "\xe5\xd9", + [0x6894] = "\xe5\xdb", [0x689b] = "\x94\xed", [0x689e] = "\xe5\xd7", + [0x68a0] = "\xe5\xdc", [0x68a1] = "\xe5\xde", [0x68a4] = "\x8c\xd1", + [0x68a5] = "\xe5\xd2", [0x68a7] = "\x88\xbf", [0x68af] = "\xe5\xdd", + [0x68b1] = "\x8d\xd9", [0x68b2] = "\x97\xf4", [0x68b3] = "\xe5\xdf", + [0x68b4] = "\xe5\xe0", [0x68b5] = "\x91\x95", [0x68bf] = "\x97\xa0", + [0x68c4] = "\xe5\xe1", [0x68c5] = "\x97\x54", [0x68c8] = "\xe5\xe2", + [0x68c9] = "\xe5\xe3", [0x68cc] = "\x95\xe2", [0x68cd] = "\xe5\xe4", + [0x68cf] = "\x8d\xbe", [0x68d1] = "\x97\xa1", [0x68d8] = "\xe5\xe9", + [0x68e2] = "\xe5\xea", [0x68e3] = "\x8f\xd6", [0x68e4] = "\xe5\xe8", + [0x68e8] = "\x97\x87", [0x68e9] = "\xe5\xe5", [0x68ec] = "\xe5\xe7", + [0x68ed] = "\x90\xbb", [0x68ee] = "\x90\x9e", [0x68f2] = "\xe5\xe6", + [0x68f4] = "\xe5\xeb", [0x68f7] = "\x95\xa1", [0x68fa] = "\xe5\xed", + [0x68fc] = "\xe5\xec", [0x6900] = "\x8a\x8c", [0x6902] = "\x96\x4a", + [0x6903] = "\xe5\xee", [0x690d] = "\xe5\xfa", [0x690e] = "\xe5\xf0", + [0x6915] = "\xe5\xf1", [0x691a] = "\xe5\xf2", [0x691b] = "\xe5\xf3", + [0x6926] = "\xe5\xf7", [0x6928] = "\xe5\xf8", [0x692b] = "\xe5\xf6", + [0x6931] = "\xe5\xf4", [0x6933] = "\xe5\xef", [0x6934] = "\xe5\xf5", + [0x693c] = "\xe5\xf9", [0x693d] = "\xe8\xb5", [0x6946] = "\x89\xa6", + [0x694e] = "\xe5\xfc", [0x694f] = "\x8b\xdd", [0x6950] = "\xe5\xfb", + [0x6954] = "\xe6\x41", [0x6956] = "\xe6\x40", [0x695a] = "\xe6\x43", + [0x695d] = "\xe6\x42", [0x695f] = "\xe6\x44", [0x6962] = "\x8f\x50", + [0x6964] = "\xe6\x45", [0x6967] = "\xe6\x46", [0x696e] = "\xe6\x47", + [0x696f] = "\x90\xbc", [0x6971] = "\x97\x76", [0x6973] = "\xe6\x48", + [0x6976] = "\x95\xa2", [0x6977] = "\x94\x65", [0x6978] = "\xe6\x49", + [0x697a] = "\xe6\x4a", [0x697b] = "\x8c\xa9", [0x697f] = "\x8b\x4b", + [0x6983] = "\xe6\x4b", [0x6986] = "\x8e\x8b", [0x6987] = "\x94\x60", + [0x6988] = "\xe6\x4c", [0x698a] = "\x8a\x6f", [0x6991] = "\xe6\x4d", + [0x6996] = "\xe6\x4f", [0x6997] = "\x97\x97", [0x6999] = "\xe6\x4e", + [0x699a] = "\x90\x65", [0x699c] = "\xe6\x50", [0x699f] = "\xe6\x51", + [0x69a2] = "\xe6\x52", [0x69a3] = "\x8a\xcf", [0x69aa] = "\xe6\x53", + [0x69ad] = "\xe6\x54", [0x69af] = "\xe6\x55", [0x69b0] = "\xe6\x56", + [0x69c2] = "\x8a\x70", [0x69ca] = "\xe6\x57", [0x69cc] = "\xe6\x58", + [0x69cd] = "\xe6\x59", [0x69d3] = "\x89\xf0", [0x69d6] = "\x90\x47", + [0x69d7] = "\xe6\x5a", [0x69e4] = "\xe6\x5b", [0x69e8] = "\xe6\x5c", + [0x69f0] = "\x8c\xbe", [0x69f2] = "\x92\xf9", [0x69f3] = "\xe6\x5d", + [0x69f8] = "\x8c\x76", [0x69fa] = "\x90\x75", [0x69fc] = "\xe6\x60", + [0x69fe] = "\x93\xa2", [0x6a00] = "\xe6\x5f", [0x6a03] = "\x8c\x50", + [0x6a06] = "\xe6\x5e", [0x6a07] = "\x91\xf5", [0x6a08] = "\x8b\x4c", + [0x6a0b] = "\xe6\x61", [0x6a0d] = "\xe6\x62", [0x6a0f] = "\x8f\xd7", + [0x6a13] = "\x8c\x8d", [0x6a15] = "\xe6\x63", [0x6a1a] = "\x96\x4b", + [0x6a1d] = "\x90\xdd", [0x6a21] = "\x8b\x96", [0x6a23] = "\x96\xf3", + [0x6a24] = "\x91\x69", [0x6a26] = "\xe6\x64", [0x6a2a] = "\x90\x66", + [0x6a2b] = "\x92\x90", [0x6a2c] = "\x8f\xd8", [0x6a31] = "\xe6\x65", + [0x6a36] = "\xe6\x68", [0x6a38] = "\xe6\x69", [0x6a40] = "\x8d\xbc", + [0x6a41] = "\x91\xc0", [0x6a42] = "\xe6\x67", [0x6a44] = "\x8f\xd9", + [0x6a45] = "\x95\x5d", [0x6a4b] = "\xe6\x66", [0x6a4e] = "\x8e\x8c", + [0x6a50] = "\x89\x72", [0x6a52] = "\xe6\x6d", [0x6a53] = "\x8c\x77", + [0x6a56] = "\x8e\x8e", [0x6a59] = "\x8e\x8d", [0x6a5b] = "\x98\x6c", + [0x6a5c] = "\xe6\x6c", [0x6a5d] = "\xe6\x6b", [0x6a5e] = "\x91\x46", + [0x6a60] = "\x8b\x6c", [0x6a61] = "\x98\x62", [0x6a62] = "\x8a\x59", + [0x6a63] = "\x8f\xda", [0x6a6c] = "\xe6\x6a", [0x6a72] = "\xe6\x6f", + [0x6a74] = "\xe6\x70", [0x6a75] = "\xe6\x6e", [0x6a77] = "\x8c\xd6", + [0x6a79] = "\x97\x5f", [0x6a7c] = "\x8e\x8f", [0x6a7d] = "\x94\x46", + [0x6a81] = "\xe6\x73", [0x6a83] = "\x90\xbe", [0x6a85] = "\x92\x61", + [0x6a88] = "\x97\x55", [0x6a8a] = "\xe6\x76", [0x6a8e] = "\x8c\xea", + [0x6a90] = "\x90\xbd", [0x6a91] = "\xe6\x72", [0x6a93] = "\xe6\x77", + [0x6a94] = "\x8c\xeb", [0x6a95] = "\xe6\x74", [0x6a96] = "\xe6\x75", + [0x6a98] = "\xe6\x71", [0x6a9c] = "\x90\xe0", [0x6a9d] = "\x93\xc7", + [0x6aa0] = "\x92\x4e", [0x6aa2] = "\x89\xdb", [0x6aa9] = "\x94\xee", + [0x6aac] = "\x8b\x62", [0x6aaf] = "\x92\xb2", [0x6ab2] = "\xe6\x7a", + [0x6ab4] = "\xe6\x78", [0x6ab7] = "\x92\x6b", [0x6abb] = "\x90\xbf", + [0x6abc] = "\x8a\xd0", [0x6abd] = "\xe6\x79", [0x6abf] = "\x90\x7a", + [0x6ac2] = "\x97\xc8", [0x6ac6] = "\x98\x5f", [0x6aca] = "\xe6\x7b", + [0x6acb] = "\xe6\x87", [0x6acc] = "\x92\xb3", [0x6ace] = "\xe6\x86", + [0x6ad0] = "\xe6\x83", [0x6ad1] = "\xe6\x8b", [0x6ad2] = "\xe6\x84", + [0x6ad4] = "\xe6\x80", [0x6ad6] = "\x92\xfa", [0x6ad7] = "\xe6\x7e", + [0x6adb] = "\xe6\x7c", [0x6add] = "\x97\x40", [0x6ade] = "\x8e\x90", + [0x6ae1] = "\xe6\x81", [0x6ae3] = "\xe6\x7d", [0x6ae7] = "\xe6\x85", + [0x6ae8] = "\x8f\x94", [0x6aea] = "\x8c\xbf", [0x6aee] = "\x91\xf8", + [0x6af0] = "\x96\x64", [0x6af1] = "\x89\x79", [0x6af2] = "\x88\xe0", + [0x6af4] = "\x93\xa3", [0x6af7] = "\xe6\x89", [0x6afc] = "\xe6\x88", + [0x6afe] = "\x93\xe4", [0x6b00] = "\xe6\x8d", [0x6b04] = "\xe6\x82", + [0x6b06] = "\xe6\x8c", [0x6b07] = "\xe6\x8e", [0x6b09] = "\x8c\xaa", + [0x6b0a] = "\xe6\x8a", [0x6b0b] = "\x8d\x75", [0x6b0d] = "\x8e\xd3", + [0x6b10] = "\xe6\x8f", [0x6b11] = "\x97\x77", [0x6b16] = "\xe6\x92", + [0x6b18] = "\xe6\x95", [0x6b1b] = "\xe6\x93", [0x6b1c] = "\x95\x54", + [0x6b23] = "\xe6\x90", [0x6b29] = "\x8b\xde", [0x6b2e] = "\xe6\x94", + [0x6b31] = "\xe6\x96", [0x6b39] = "\xe6\x9a", [0x6b3c] = "\xe6\x97", + [0x6b3e] = "\xe6\x99", [0x6b3f] = "\xe6\x98", [0x6b46] = "\xe6\x9b", + [0x6b48] = "\x8e\xaf", [0x6b4a] = "\xe6\x9d", [0x6b4b] = "\xe6\x9c", + [0x6b4c] = "\x95\x88", [0x6b4f] = "\xe6\x9f", [0x6b56] = "\x8c\x78", + [0x6b5b] = "\xe6\x9e", [0x6b5c] = "\xe6\xa0", [0x6b5f] = "\xe6\xa1", + [0x6b60] = "\x8b\x63", [0x6b61] = "\xe3\xbf", [0x6b62] = "\x8f\xf7", + [0x6b64] = "\xe6\xa2", [0x6b67] = "\x8c\xec", [0x6b6d] = "\xe6\xa3", + [0x6b70] = "\xe6\xa4", [0x6b73] = "\x8e\x5d", [0x6b7a] = "\x9d\xcc", + [0x6b7c] = "\xe6\xa5", [0x6b7e] = "\xe6\xa6", [0x6b80] = "\x8f\x51", + [0x6b82] = "\xe6\xa7", [0x6b83] = "\xe6\xa8", [0x6b86] = "\xe6\xa9", + [0x6b89] = "\xe6\xaa", [0x6b8a] = "\xe6\xab", [0x6c27] = "\x92\x4a", + [0x6c2a] = "\xe6\xac", [0x6c2f] = "\xe6\xae", [0x6c31] = "\xe6\xad", + [0x6c36] = "\x93\xa4", [0x6c38] = "\xe6\xaf", [0x6c3a] = "\x96\x4c", + [0x6c3c] = "\xe6\xb0", [0x6c3e] = "\xe6\xb1", [0x6c40] = "\xe6\xb2", + [0x6c45] = "\xe6\xb3", [0x6c4a] = "\x93\xd8", [0x6c51] = "\x8f\xdb", + [0x6c52] = "\xe6\xb4", [0x6c5a] = "\x8d\x8b", [0x6c5b] = "\x98\xac", + [0x6c5c] = "\xe6\xb5", [0x6c68] = "\xe6\xb6", [0x6c69] = "\x95\x5e", + [0x6c6a] = "\xe6\xb7", [0x6c6c] = "\xe6\xbf", [0x6c72] = "\xe6\xb8", + [0x6c75] = "\xe6\xba", [0x6c79] = "\xe6\xb9", [0x6c7a] = "\xe6\xbb", + [0x6c7c] = "\x96\x65", [0x6c7d] = "\xe6\xbc", [0x6c7e] = "\xe6\xbd", + [0x6c84] = "\xe6\xbe", [0x6c88] = "\xe6\xc0", [0x6c8d] = "\x8a\x4c", + [0x6c8e] = "\x92\xe5", [0x6c90] = "\x95\x89", [0x6c91] = "\x8d\xe0", + [0x6c92] = "\x8d\x76", [0x6c97] = "\x95\x6e", [0x6c98] = "\x89\xdd", + [0x6c99] = "\x94\xcc", [0x6c9a] = "\xe6\xc3", [0x6c9b] = "\x8a\xd1", + [0x6c9c] = "\x90\xd3", [0x6c9d] = "\xe6\xc2", [0x6c9e] = "\xe6\xc7", + [0x6c9f] = "\x92\x99", [0x6ca0] = "\x96\xe1", [0x6ca2] = "\xe6\xc5", + [0x6ca3] = "\xe6\xc6", [0x6ca4] = "\x8b\x4d", [0x6ca6] = "\xe6\xc8", + [0x6ca7] = "\x94\x83", [0x6ca8] = "\x91\xdd", [0x6cab] = "\x94\xef", + [0x6cac] = "\x93\x5c", [0x6cad] = "\xe6\xc4", [0x6caf] = "\x96\x66", + [0x6cb0] = "\x89\xea", [0x6cb1] = "\xe6\xca", [0x6cb2] = "\x98\x47", + [0x6cb3] = "\x92\xc0", [0x6cb4] = "\x98\x64", [0x6cb7] = "\x8e\x91", + [0x6cb8] = "\xe6\xc9", [0x6cba] = "\x91\xaf", [0x6cbd] = "\xe6\xda", + [0x6cbe] = "\x91\x47", [0x6cc1] = "\x93\xf6", [0x6cc3] = "\x95\x6f", + [0x6cca] = "\xe6\xcd", [0x6ccb] = "\x8e\x5e", [0x6ccc] = "\x8e\x92", + [0x6cce] = "\x8f\xdc", [0x6cd0] = "\x94\x85", [0x6cd2] = "\x8c\xab", + [0x6cd3] = "\xe6\xcc", [0x6cd4] = "\xe6\xcb", [0x6cd6] = "\x95\x8a", + [0x6cda] = "\x8e\xbf", [0x6cdd] = "\x93\x71", [0x6cea] = "\xe6\xcf", + [0x6ceb] = "\xe6\xd0", [0x6cec] = "\x8d\x77", [0x6ced] = "\xe6\xce", + [0x6cf4] = "\xe6\xd1", [0x6cf5] = "\xe6\xd2", [0x6cf7] = "\xe6\xd4", + [0x6cf8] = "\x91\xa1", [0x6cfa] = "\xe6\xd3", [0x6cfb] = "\x8a\xe4", + [0x6cfd] = "\xe6\xd6", [0x6cff] = "\xe6\xd5", [0x6d00] = "\xe6\xd7", + [0x6d03] = "\xe6\xd9", [0x6d04] = "\xe6\xdb", [0x6d06] = "\xe6\xdc", + [0x6d54] = "\x90\xd4", [0x6d56] = "\x8e\xcd", [0x6d57] = "\xe6\xdd", + [0x6d5b] = "\x8a\x71", [0x6d5d] = "\xe6\xde", [0x6d60] = "\x91\x96", + [0x6d61] = "\xe6\xdf", [0x6d63] = "\xe6\xe0", [0x6d64] = "\x95\x8b", + [0x6d67] = "\x8b\x4e", [0x6d71] = "\xe6\xe1", [0x6d75] = "\x92\xb4", + [0x6d7a] = "\x89\x7a", [0x6d89] = "\xe6\xe2", [0x6d93] = "\x8e\xef", + [0x6d98] = "\x90\x96", [0x6da3] = "\x91\xab", [0x6daa] = "\xe6\xe5", + [0x6dae] = "\xe6\xe4", [0x6db2] = "\xe6\xe3", [0x6dbb] = "\xe6\xeb", + [0x6dbc] = "\xe6\xe9", [0x6dbf] = "\xe6\xe6", [0x6dc6] = "\xe6\xe8", + [0x6dca] = "\xe6\xe7", [0x6dcb] = "\xe6\xea", [0x6dcd] = "\x8b\x97", + [0x6dcf] = "\xe6\xee", [0x6dd1] = "\x90\xd5", [0x6dd3] = "\xe6\xef", + [0x6dd8] = "\x8c\xd7", [0x6dda] = "\xe6\xec", [0x6ddb] = "\xe6\xed", + [0x6ddf] = "\x98\x48", [0x6de3] = "\x92\xb5", [0x6de5] = "\x91\x48", + [0x6dec] = "\xe6\xf0", [0x6def] = "\xe6\xf3", [0x6df8] = "\xe6\xf1", + [0x6df9] = "\xe6\xf2", [0x6dfa] = "\x97\x78", [0x6dff] = "\x93\xa5", + [0x6e00] = "\xe6\xf6", [0x6e0d] = "\xe6\xf4", [0x6e0e] = "\xe6\xf5", + [0x6e0f] = "\xe6\xf7", [0x6e1a] = "\xe7\x48", [0x6e20] = "\xe6\xfa", + [0x6e24] = "\xe6\xfb", [0x6e25] = "\xe6\xf9", [0x6e32] = "\xe6\xf8", + [0x6e34] = "\x92\xfb", [0x6e37] = "\xe7\x40", [0x6e38] = "\xe7\x44", + [0x6e39] = "\xe7\x41", [0x6e3a] = "\xe6\xfc", [0x6e3c] = "\xe7\x42", + [0x6e40] = "\xe7\x43", [0x6e45] = "\xe7\x4a", [0x6e49] = "\xe7\x45", + [0x6e4f] = "\x90\xd6", [0x6e50] = "\xe7\x47", [0x6e53] = "\xe7\x49", + [0x6e54] = "\xe7\x46", [0x6e62] = "\xe7\x4c", [0x6e64] = "\x8f\x52", + [0x6e66] = "\xe7\x4b", [0x6e6c] = "\xe7\x4d", [0x6e71] = "\xe7\x4e", + [0x6e74] = "\xe7\x51", [0x6e75] = "\xe7\x50", [0x6e77] = "\xe7\x4f", + [0x6e7a] = "\xe7\x53", [0x6e7b] = "\xe7\x52", [0x6e7d] = "\x96\xf4", + [0x6e81] = "\xe7\x55", [0x6e83] = "\xe7\x54", [0x6e84] = "\xe7\x56", + [0x6e89] = "\xe7\x57", [0x6e91] = "\xe7\x59", [0x6e9a] = "\xe7\x58", + [0x6e9b] = "\x90\x67", [0x6e9c] = "\xe7\x5a", [0x6e9f] = "\x8b\xeb", + [0x6ea0] = "\xe7\x5b", [0x6ea1] = "\xe7\x5d", [0x6eae] = "\xe7\x5e", + [0x6eb5] = "\xe7\x5f", [0x6eb6] = "\xe7\x5c", [0x6eb8] = "\xe7\x60", + [0x6eba] = "\x8e\xd4", [0x6ebb] = "\xe7\x61", [0x6ebc] = "\x8b\x4f", + [0x6ebd] = "\x8c\x52", [0x6ec2] = "\x8c\xac", [0x6ecb] = "\xe7\x62", + [0x6ecf] = "\x93\xee", [0x6ed2] = "\x93\x5d", [0x6ed3] = "\xe7\x63", + [0x6edb] = "\xe7\x66", [0x6ee8] = "\x8e\xb2", [0x6eeb] = "\xe7\x65", + [0x6eec] = "\xe7\x64", [0x6eed] = "\x8c\x79", [0x6eee] = "\xe7\x67", + [0x6ef3] = "\x8a\x72", [0x6ef5] = "\xe7\x69", [0x6ef9] = "\x8d\xda", + [0x6efa] = "\xe7\x68", [0x6efc] = "\xe7\x71", [0x6f02] = "\xe7\x6b", + [0x6f03] = "\xe7\x6d", [0x6f04] = "\x95\xe3", [0x6f05] = "\xe7\x6a", + [0x6f09] = "\xe7\x6c", [0x6f0b] = "\xe7\x70", [0x6f0c] = "\xe7\x6e", + [0x6f0d] = "\x8b\x50", [0x6f0f] = "\xe7\x6f", [0x6f16] = "\xe7\x72", + [0x6f19] = "\x94\x79", [0x6f1a] = "\x97\xd6", [0x6f1f] = "\x8f\x53", + [0x6f23] = "\xe7\x73", [0x6f28] = "\x97\x41", [0x6f29] = "\xe7\x75", + [0x6f2b] = "\xe7\x74", [0x6f2e] = "\xe7\x78", [0x6f2f] = "\x97\x60", + [0x6f32] = "\xe7\x77", [0x6f34] = "\x8a\x8d", [0x6f35] = "\xe7\x76", + [0x6f36] = "\xe7\x7b", [0x6f39] = "\xe7\x7a", [0x6f3c] = "\xe7\x79", + [0x6f3d] = "\x93\x51", [0x6f3e] = "\xe7\x7c", [0x6f47] = "\xe7\x7d", + [0x6f4c] = "\xe7\x7e", [0x6f4f] = "\x8d\x8c", [0x6f51] = "\x8c\x44", + [0x6f52] = "\xe7\x80", [0x6f53] = "\xe7\x81", [0x6f54] = "\xe7\x82", + [0x6f8b] = "\x90\x68", [0x6f8c] = "\xe7\x83", [0x6f8e] = "\x8e\xab", + [0x6f8f] = "\xe7\x84", [0x6f93] = "\xe7\x85", [0x6f97] = "\x99\x9f", + [0x6f98] = "\x99\x9e", [0x6f9d] = "\xe7\x86", [0x6f9e] = "\xe3\x90", + [0x6f9f] = "\xe7\x87", [0x6fa0] = "\x92\x43", [0x6fa1] = "\x90\x4a", + [0x6fa2] = "\x94\x5f", [0x6fa7] = "\xe7\x88", [0x6faa] = "\x95\xd3", + [0x6fab] = "\x92\xd2", [0x6fac] = "\x8d\x9e", [0x6faf] = "\x92\x48", + [0x6fb2] = "\x89\x49", [0x6fb4] = "\x96\x98", [0x6fb5] = "\x90\x76", + [0x6fbe] = "\x8c\x7d", [0x6fc1] = "\x8b\xdf", [0x6fc4] = "\x95\xd4", + [0x6fca] = "\xe7\x89", [0x6fd2] = "\xe7\x8b", [0x6fd5] = "\xe7\x8a", + [0x6fd6] = "\x89\xde", [0x6fd9] = "\x93\xf4", [0x6fda] = "\xe7\x8c", + [0x6fdb] = "\x94\x97", [0x6fdd] = "\x93\x52", [0x6fdf] = "\xe7\x8d", + [0x6fe0] = "\x8f\x71", [0x6fe4] = "\xe7\x8f", [0x6fe7] = "\x96\xc0", + [0x6fe8] = "\xe7\x9e", [0x6fe9] = "\xe7\x91", [0x6fea] = "\xe7\x92", + [0x6fed] = "\x92\xc7", [0x6ff0] = "\x91\xde", [0x6ff1] = "\x91\x97", + [0x6ff3] = "\x93\xa6", [0x6ff5] = "\xe7\x90", [0x6ff6] = "\x8b\x74", + [0x6ffb] = "\xe7\x99", [0x6ffd] = "\xe7\x96", [0x6ffe] = "\xe7\xa3", + [0x6fff] = "\x93\xa7", [0x7000] = "\x92\x80", [0x7001] = "\xe7\x93", + [0x7003] = "\x92\xfc", [0x7004] = "\x93\x72", [0x7005] = "\xe7\x94", + [0x7006] = "\xe7\x98", [0x7007] = "\x90\x80", [0x7009] = "\x94\x87", + [0x700a] = "\x92\xca", [0x700d] = "\x90\xc0", [0x700e] = "\xe7\x97", + [0x700f] = "\x91\xac", [0x7010] = "\x91\xa2", [0x7011] = "\xe7\x95", + [0x7012] = "\x88\xa7", [0x7013] = "\x98\x41", [0x7017] = "\xe7\x9a", + [0x701e] = "\x91\xdf", [0x7021] = "\x8f\x54", [0x7022] = "\x90\x69", + [0x7025] = "\xe7\x9c", [0x7026] = "\xe7\x9b", [0x7028] = "\x88\xed", + [0x7029] = "\xe7\x9d", [0x702c] = "\x95\x4e", [0x702e] = "\xe7\xa5", + [0x7031] = "\x93\xd9", [0x7032] = "\x90\x8b", [0x7035] = "\x92\x78", + [0x7037] = "\x8b\xf6", [0x7039] = "\xe7\xa4", [0x703a] = "\x97\x56", + [0x703b] = "\x89\x5e", [0x703d] = "\x95\xd5", [0x703e] = "\x89\xdf", + [0x703f] = "\xe7\x9f", [0x7040] = "\xe7\xa0", [0x7041] = "\xe7\xa1", + [0x7042] = "\xe7\xa2", [0x7043] = "\x93\xb9", [0x7044] = "\x92\x42", + [0x7045] = "\x88\xe1", [0x7046] = "\xe7\xa6", [0x7048] = "\xe7\xa7", + [0x7049] = "\xea\xa1", [0x704c] = "\x91\xbb", [0x704e] = "\xe7\xa8", + [0x7050] = "\x89\x93", [0x7051] = "\x91\x6b", [0x7053] = "\x8c\xad", + [0x7055] = "\x97\x79", [0x7058] = "\xe7\xa9", [0x7059] = "\x93\x4b", + [0x705d] = "\x91\x98", [0x705e] = "\x8e\xd5", [0x705f] = "\xe7\xaa", + [0x7062] = "\xe7\xad", [0x7065] = "\x8f\x85", [0x7066] = "\xe7\xab", + [0x7067] = "\x91\x4a", [0x7068] = "\x91\x49", [0x706a] = "\x88\xe2", + [0x706c] = "\x97\xc9", [0x706d] = "\xe7\xaf", [0x706f] = "\x94\xf0", + [0x7070] = "\xe7\xb1", [0x7071] = "\xe7\xb0", [0x7072] = "\xe7\xae", + [0x7073] = "\xe2\x84", [0x7074] = "\x8a\xd2", [0x7077] = "\xe7\x8e", + [0x7079] = "\xe7\xb3", [0x707a] = "\xe7\xb2", [0x707f] = "\xe7\xb4", + [0x7081] = "\x97\x57", [0x7093] = "\x93\xdf", [0x7096] = "\x96\x4d", + [0x7098] = "\xe7\xb5", [0x709a] = "\x8e\xd7", [0x709f] = "\xe7\xb6", + [0x70a1] = "\xe7\xb7", [0x70a5] = "\xe7\xb8", [0x70a8] = "\x93\x40", + [0x70b1] = "\x88\xe8", [0x70ba] = "\x8d\x78", [0x70be] = "\x98\x59", + [0x70cb] = "\xe7\xbc", [0x70d1] = "\x8c\x53", [0x70d2] = "\xe7\xb9", + [0x70d4] = "\xe7\xba", [0x70d8] = "\x95\x94", [0x70dd] = "\x8a\x73", + [0x70e5] = "\x97\x58", [0x70e7] = "\x8b\xbd", [0x70ed] = "\x93\x73", + [0x70f2] = "\xe7\xbd", [0x7102] = "\xe7\xbe", [0x7109] = "\xe7\xbf", + [0x711d] = "\x93\x41", [0x7120] = "\xe7\xc1", [0x7122] = "\xe7\xc0", + [0x7139] = "\x93\xd1", [0x713a] = "\xe7\xc2", [0x713b] = "\x8f\x55", + [0x713c] = "\x8e\xde", [0x713d] = "\x94\x7a", [0x713e] = "\x92\x91", + [0x7142] = "\x8e\xf0", [0x7144] = "\x90\x8c", [0x7146] = "\xe7\xc3", + [0x7148] = "\xe7\xc4", [0x7152] = "\x90\x7c", [0x7153] = "\xe7\xc5", + [0x7155] = "\xe7\xc6", [0x7159] = "\xe7\xc7", [0x715a] = "\x97\x8f", + [0x715c] = "\x8f\x56", [0x7162] = "\xe7\xc9", [0x7163] = "\xe7\xc8", + [0x7165] = "\x8d\x79", [0x7167] = "\x8d\x93", [0x7168] = "\x8e\x5f", + [0x7172] = "\xe7\xcc", [0x7177] = "\x8f\x86", [0x7179] = "\xe7\xcb", + [0x717b] = "\xe7\xca", [0x717d] = "\x91\xe7", [0x7180] = "\x8c\xed", + [0x7182] = "\x90\xc1", [0x7187] = "\x94\xae", [0x718c] = "\x8f\x58", + [0x7192] = "\xe7\xcd", [0x7194] = "\x8f\xdd", [0x719a] = "\xe7\xd0", + [0x719b] = "\xe7\xce", [0x719f] = "\xe7\xcf", [0x71a4] = "\xe7\xd2", + [0x71a5] = "\xe7\xd1", [0x71a8] = "\x8f\xf8", [0x71aa] = "\xe7\xd3", + [0x71b0] = "\xe7\xd4", [0x71b1] = "\xe7\xd5", [0x71b6] = "\x94\xce", + [0x71b7] = "\x8d\xd1", [0x71b8] = "\x8e\xdf", [0x71b9] = "\xe7\xd6", + [0x71bb] = "\xe7\xd7", [0x71bc] = "\x97\xa2", [0x71bd] = "\x8f\x64", + [0x71be] = "\x96\xec", [0x71bf] = "\x97\xca", [0x71c0] = "\xe7\xd8", + [0x71c1] = "\x8b\xe0", [0x71c6] = "\xe7\xd9", [0x71c8] = "\x93\x42", + [0x71cb] = "\xe7\xdc", [0x71cc] = "\x8a\x98", [0x71cd] = "\x90\x6a", + [0x71cf] = "\xe7\xda", [0x71d1] = "\xe7\xdb", [0x71d3] = "\x92\xde", + [0x71d6] = "\x96\x74", [0x71d7] = "\x8b\xfa", [0x71e5] = "\xe7\xde", + [0x71e6] = "\xe7\xdf", [0x71ec] = "\xe7\xdd", [0x71ef] = "\xe7\xe1", + [0x71fd] = "\x93\xdd", [0x71fe] = "\x8a\x62", [0x7201] = "\xe7\xe5", + [0x7204] = "\xe7\xe2", [0x7205] = "\xe7\xe4", [0x720e] = "\xe7\xe0", + [0x7219] = "\xe8\x6e", [0x721c] = "\xe7\xe3", [0x7224] = "\x97\xe9", + [0x7227] = "\x8c\xd8", [0x722f] = "\xe7\xed", [0x7234] = "\x93\x53", + [0x7235] = "\xe7\xe8", [0x7238] = "\xe7\xeb", [0x7239] = "\xe7\xe9", + [0x723b] = "\xe7\xee", [0x7240] = "\xe7\xef", [0x7247] = "\xe7\xe7", + [0x724a] = "\xe7\xf4", [0x724b] = "\x89\x94", [0x724e] = "\xe7\xe6", + [0x7252] = "\x94\xab", [0x7254] = "\xe7\xea", [0x7256] = "\x8f\xde", + [0x7261] = "\x8d\x7a", [0x726e] = "\x96\x67", [0x7270] = "\x8b\xe2", + [0x7273] = "\x8f\x65", [0x7275] = "\x93\xba", [0x7281] = "\x91\x4c", + [0x7283] = "\xe7\xf2", [0x7285] = "\xe7\xec", [0x7286] = "\xe7\xf1", + [0x7288] = "\x96\xc1", [0x728a] = "\x92\xb6", [0x728b] = "\xe7\xf3", + [0x728c] = "\xe7\xf0", [0x729d] = "\x91\x4b", [0x72a7] = "\xe7\xf7", + [0x72a9] = "\xe7\xf6", [0x72bf] = "\xe7\xf5", [0x72c2] = "\x96\x4e", + [0x72d4] = "\x8f\x9b", [0x72d9] = "\xe7\xf8", [0x72da] = "\x95\xdd", + [0x72dd] = "\x89\x73", [0x72e2] = "\x95\x65", [0x72e3] = "\x92\x92", + [0x72e8] = "\x8b\x98", [0x72ea] = "\xe7\xfa", [0x72ec] = "\x8d\x7c", + [0x72f6] = "\x8e\x4b", [0x72ff] = "\xe7\xf9", [0x7300] = "\x90\x8d", + [0x7308] = "\x90\x8e", [0x7309] = "\xe8\x40", [0x730a] = "\xe8\x42", + [0x7310] = "\x8f\xf9", [0x7312] = "\xe8\x41", [0x7313] = "\xe8\x43", + [0x7316] = "\x8b\xd1", [0x7318] = "\x95\x64", [0x731b] = "\x8e\xe0", + [0x731c] = "\x98\x42", [0x731e] = "\xe7\xfc", [0x731f] = "\x8d\xf6", + [0x7322] = "\x98\x5e", [0x7325] = "\xe8\x45", [0x732a] = "\xe8\x44", + [0x732b] = "\xe8\x46", [0x7334] = "\xe7\xfb", [0x733b] = "\x93\xe7", + [0x733d] = "\x93\x74", [0x7344] = "\x92\xd5", [0x7346] = "\xe8\x4b", + [0x734b] = "\x92\x62", [0x734c] = "\xe8\x47", [0x7350] = "\xe8\x48", + [0x735c] = "\x8c\x4c", [0x735e] = "\xe8\x4a", [0x7365] = "\x8c\xae", + [0x736c] = "\xe8\x49", [0x736e] = "\x8f\xdf", [0x737c] = "\x8a\x99", + [0x7384] = "\xe8\x4f", [0x7386] = "\x8d\xbd", [0x7387] = "\x91\x99", + [0x738a] = "\x92\xc8", [0x7397] = "\x8a\x5a", [0x739c] = "\xe8\x4d", + [0x739d] = "\xe8\x4e", [0x739e] = "\x92\xc1", [0x73a0] = "\xe8\x4c", + [0x73a9] = "\xe8\x50", [0x73b3] = "\xe8\x56", [0x73b8] = "\xe8\x59", + [0x73c0] = "\xe8\x58", [0x73c1] = "\x93\x4c", [0x73c6] = "\xe8\x51", + [0x73c7] = "\xe8\x52", [0x73c8] = "\xe8\x55", [0x73cd] = "\xe8\x57", + [0x73d1] = "\x8b\xbe", [0x73d4] = "\xe8\x5a", [0x73d5] = "\xe8\x54", + [0x73d8] = "\xe8\x53", [0x73f3] = "\xe8\x5e", [0x73f7] = "\xe8\x5f", + [0x7400] = "\xe8\x60", [0x7403] = "\xe8\x5d", [0x7404] = "\xe8\x5c", + [0x7408] = "\x8f\xe0", [0x7409] = "\x93\xa8", [0x740a] = "\xe8\x5b", + [0x7411] = "\xe8\x64", [0x741b] = "\xe8\x62", [0x7425] = "\xe8\x63", + [0x7426] = "\xe8\x61", [0x7428] = "\x91\xf6", [0x742a] = "\xe8\x65", + [0x7431] = "\xe8\x66", [0x7434] = "\xe8\x68", [0x7441] = "\x8a\xd3", + [0x7442] = "\xe8\x67", [0x7443] = "\x96\xf8", [0x744a] = "\xe8\x73", + [0x744b] = "\xe8\x69", [0x744e] = "\xe8\x6c", [0x7450] = "\xe8\x6a", + [0x7452] = "\xe8\x6b", [0x745a] = "\xe8\x6d", [0x7460] = "\xe8\x6f", + [0x7465] = "\xe8\x70", [0x7467] = "\xe8\x71", [0x746c] = "\xe8\x74", + [0x746d] = "\xe8\x72", [0x746e] = "\xe8\x75", [0x746f] = "\xe8\x77", + [0x7471] = "\xe8\x76", [0x7567] = "\x92\xb7", [0x7570] = "\x96\xe5", + [0x7572] = "\xe8\x78", [0x7573] = "\x91\x4d", [0x7577] = "\xe8\x79", + [0x7579] = "\x95\xc2", [0x757a] = "\xe8\x7a", [0x757b] = "\x8a\x4a", + [0x757f] = "\x89\x5b", [0x7581] = "\x8a\xd5", [0x7583] = "\x8a\xd4", + [0x7584] = "\xe8\x7b", [0x7586] = "\xe8\x7c", [0x7588] = "\xe8\x7d", + [0x7589] = "\xe8\x7e", [0x7590] = "\xe8\x80", [0x7592] = "\x8a\xd6", + [0x7593] = "\x8a\x74", [0x7594] = "\x8d\x7d", [0x7595] = "\x94\xb4", + [0x7597] = "\xe8\x82", [0x7598] = "\xe8\x81", [0x759d] = "\xe8\x83", + [0x75a2] = "\x89\x7b", [0x75a9] = "\xe8\x86", [0x75ab] = "\xe8\x85", + [0x75ac] = "\xe8\x84", [0x75ae] = "\xe8\x87", [0x75b3] = "\xe8\x8a", + [0x75b7] = "\x88\xc5", [0x75ba] = "\xe8\x88", [0x75bc] = "\xe8\x8c", + [0x75bd] = "\xe8\x8b", [0x75c4] = "\xe8\x8e", [0x75c5] = "\xe8\x8d", + [0x75c6] = "\xe8\x8f", [0x75c8] = "\x93\xac", [0x75cc] = "\xe8\x90", + [0x75d1] = "\xe8\x91", [0x75d2] = "\xe8\x93", [0x75d5] = "\xe8\x92", + [0x760c] = "\x95\x8c", [0x7611] = "\xe8\x94", [0x7618] = "\xe8\x95", + [0x761a] = "\x8d\xe3", [0x761e] = "\xe8\x96", [0x761f] = "\xe8\x97", + [0x7622] = "\x96\x68", [0x762b] = "\x91\x6a", [0x762f] = "\x88\xa2", + [0x7630] = "\x91\xc9", [0x7632] = "\xe8\x98", [0x7634] = "\x95\x8d", + [0x763b] = "\xe8\x9b", [0x763c] = "\xe8\x99", [0x763d] = "\x8d\x7e", + [0x763f] = "\xe8\x9a", [0x7640] = "\x8c\xc0", [0x764b] = "\x95\xc3", + [0x764c] = "\xe8\x9d", [0x764d] = "\xe8\x9f", [0x764e] = "\xe8\x9e", + [0x764f] = "\xe8\xa0", [0x7652] = "\x89\x40", [0x7653] = "\x90\x77", + [0x7654] = "\x8f\x9c", [0x7655] = "\x8a\xd7", [0x7656] = "\xe8\xa1", + [0x765a] = "\x94\x86", [0x765c] = "\xe8\xa3", [0x7660] = "\x89\x41", + [0x7662] = "\xe8\xa2", [0x7663] = "\x92\xc2", [0x7665] = "\x97\xcb", + [0x7666] = "\x93\xa9", [0x7667] = "\xe8\x9c", [0x7668] = "\x97\xa4", + [0x766a] = "\x8c\xaf", [0x766d] = "\x97\x7a", [0x7675] = "\x8b\xf7", + [0x7676] = "\x97\xb2", [0x7678] = "\x8c\x47", [0x767a] = "\x91\xe0", + [0x767b] = "\xe4\x40", [0x767d] = "\xe8\xa4", [0x767e] = "\x8a\x4b", + [0x767f] = "\x90\x8f", [0x7684] = "\x8a\x75", [0x7685] = "\xe8\xa6", + [0x7687] = "\xe8\xa7", [0x7688] = "\xe8\xa5", [0x7689] = "\x8c\x84", + [0x768b] = "\x8d\xdb", [0x768c] = "\x8f\xe1", [0x7690] = "\x89\x42", + [0x7693] = "\x97\xd7", [0x7697] = "\xe8\xa9", [0x7698] = "\xe7\xac", + [0x769a] = "\xe8\xa8", [0x76a0] = "\xe8\xac", [0x76a1] = "\xe8\xaa", + [0x76a2] = "\xe8\xab", [0x76a4] = "\xe8\xad", [0x76a6] = "\xe8\xae", + [0x76a7] = "\x97\xea", [0x76a8] = "\xe8\xaf", [0x76a9] = "\xe8\xb0", + [0x76ab] = "\x90\xc7", [0x76ac] = "\x94\xb9", [0x76b0] = "\x90\x9d", + [0x76b1] = "\x8a\xe5", [0x76b4] = "\x97\x59", [0x76b5] = "\x89\xeb", + [0x76b6] = "\x8f\x57", [0x76b7] = "\x8c\xd9", [0x76b9] = "\xe8\xb3", + [0x76bb] = "\xe8\xb2", [0x76bc] = "\x8e\x93", [0x76bd] = "\xe8\xb4", + [0x76be] = "\xe8\xb1", [0x76c1] = "\x8e\x47", [0x76c5] = "\xe8\xb8", + [0x76c6] = "\xe5\xab", [0x76c9] = "\x99\xd4", [0x76cb] = "\x90\x97", + [0x76cc] = "\xe8\xb6", [0x76d2] = "\x97\xa3", [0x76d3] = "\x93\xef", + [0x76d8] = "\x89\x4a", [0x76da] = "\x90\xe1", [0x76db] = "\x8e\xb4", + [0x76e0] = "\x95\xb5", [0x76e2] = "\x89\x5f", [0x76e6] = "\x97\xeb", + [0x76e7] = "\x97\x8b", [0x76e9] = "\xe8\xb9", [0x76eb] = "\x93\x64", + [0x76f0] = "\x8e\xf9", [0x76f4] = "\xe8\xba", [0x76f6] = "\xe8\xbb", + [0x76f7] = "\x90\x6b", [0x76f8] = "\xe8\xbc", [0x76fa] = "\x97\xec", + [0x76fd] = "\xe8\xb7", [0x76fe] = "\xe8\xbe", [0x76ff] = "\xe8\xc0", + [0x7701] = "\xe8\xbf", [0x7703] = "\xe8\xbd", [0x7706] = "\xe8\xc1", + [0x7709] = "\xe8\xc2", [0x770c] = "\x91\x9a", [0x770e] = "\x89\xe0", + [0x7714] = "\xe8\xc3", [0x7717] = "\x96\xb6", [0x771a] = "\xe8\xc4", + [0x7720] = "\xe8\xc5", [0x7722] = "\x98\x49", [0x7728] = "\x9e\x50", + [0x7729] = "\xe8\xc6", [0x772d] = "\xe8\xc7", [0x772e] = "\xe8\xc8", + [0x7732] = "\xe8\xcc", [0x7734] = "\xe8\xc9", [0x7736] = "\xe8\xca", + [0x7738] = "\xe8\xcb", [0x7739] = "\xe8\xcd", [0x7742] = "\x90\xc2", + [0x7746] = "\x96\xf5", [0x7749] = "\x90\xc3", [0x774c] = "\xe8\xce", + [0x774e] = "\x94\xf1", [0x7750] = "\xe8\xcf", [0x7751] = "\xea\x72", + [0x7752] = "\x96\xca", [0x7754] = "\xe8\xd0", [0x7756] = "\xe8\xd1", + [0x7758] = "\xe8\xd2", [0x7759] = "\x8a\x76", [0x775b] = "\xe8\xd4", + [0x775d] = "\x90\x78", [0x7761] = "\xe8\xd5", [0x7764] = "\x8c\x43", + [0x7769] = "\xe8\xd6", [0x776a] = "\xe8\xda", [0x776c] = "\xe8\xd8", + [0x7771] = "\xe8\xd9", [0x7774] = "\x8a\x93", [0x7775] = "\xe8\xd7", + [0x7776] = "\xe8\xdb", [0x777b] = "\xe8\xdc", [0x777d] = "\x88\xc6", + [0x777f] = "\xe8\xdd", [0x7780] = "\xe8\xde", [0x7788] = "\x8f\xe2", + [0x778c] = "\xe8\xdf", [0x7790] = "\x8b\x66", [0x7793] = "\xe8\xe2", + [0x7796] = "\xe8\xe1", [0x7798] = "\xe8\xe0", [0x779b] = "\xe6\x91", + [0x779d] = "\x95\xda", [0x77a3] = "\xe8\xe3", [0x77a4] = "\xe8\xe4", + [0x77b3] = "\xe8\xe5", [0x77b6] = "\xe8\xe6", [0x77b8] = "\xe8\xe7", + [0x77bb] = "\xe8\xe8", [0x77c3] = "\x8a\xd8", [0x77cc] = "\xe8\xe9", + [0x77dd] = "\xe8\xea", [0x77de] = "\x94\x42", [0x77e2] = "\xe8\xec", + [0x77e3] = "\x89\xb9", [0x77e5] = "\xe8\xef", [0x77e6] = "\xe8\xee", + [0x77eb] = "\x89\x43", [0x77ef] = "\x8b\xbf", [0x77f1] = "\x95\xc5", + [0x77f2] = "\x92\xb8", [0x77f3] = "\x8d\xa0", [0x77f5] = "\x8d\x80", + [0x77f6] = "\x8f\x87", [0x77f8] = "\x90\x7b", [0x77fc] = "\xe8\xf1", + [0x77ff] = "\xe8\xf0", [0x7800] = "\x97\x61", [0x7801] = "\x8a\xe6", + [0x7802] = "\x94\xd0", [0x7803] = "\x93\xda", [0x7807] = "\x90\x9c", + [0x7808] = "\x97\xcc", [0x780a] = "\x8c\x7a", [0x7811] = "\xe8\xf4", + [0x7814] = "\xe8\xf3", [0x781c] = "\x96\x6a", [0x781d] = "\x93\xaa", + [0x7824] = "\x89\x6f", [0x7827] = "\xe8\xf5", [0x7828] = "\xe8\xf2", + [0x782b] = "\x95\x70", [0x782c] = "\x97\x8a", [0x782d] = "\xe8\xf6", + [0x7836] = "\xe8\xf7", [0x783b] = "\xe8\xf9", [0x783c] = "\x91\xe8", + [0x783d] = "\x8a\x7a", [0x783e] = "\x8a\x7b", [0x783f] = "\xe8\xf8", + [0x7844] = "\x8a\xe7", [0x7845] = "\x8c\xb0", [0x7848] = "\x8a\xe8", + [0x784b] = "\x93\x5e", [0x784e] = "\x97\xde", [0x7857] = "\x8c\xda", + [0x785b] = "\xe8\xfa", [0x785f] = "\xe8\xfb", [0x7860] = "\xe8\xfc", + [0x7861] = "\xe9\x40", [0x7863] = "\xe9\x42", [0x7864] = "\xe9\x41", + [0x7898] = "\x95\x97", [0x789a] = "\xe9\x43", [0x789f] = "\xe9\x44", + [0x78a1] = "\xe9\x45", [0x78a6] = "\xe9\x46", [0x78b3] = "\xe9\x48", + [0x78b4] = "\xe9\x47", [0x78b6] = "\xe9\x49", [0x78cb] = "\x94\xf2", + [0x78cc] = "\xe3\xca", [0x78cf] = "\x90\x48", [0x78d2] = "\x8b\x51", + [0x78d9] = "\xe9\x4a", [0x78db] = "\xe9\x4b", [0x78dd] = "\x99\xaa", + [0x78de] = "\x9f\x5a", [0x78df] = "\x94\xd1", [0x78e2] = "\x88\xf9", + [0x78e4] = "\x88\xb9", [0x78ec] = "\x8e\x94", [0x78ed] = "\x96\x4f", + [0x78ee] = "\x8f\xfc", [0x78f3] = "\xe9\x4c", [0x78f5] = "\x96\xdd", + [0x78f9] = "\xe9\x4d", [0x78fa] = "\x97\x7b", [0x78fc] = "\x89\x61", + [0x7900] = "\x8e\x60", [0x7902] = "\xe9\x4e", [0x7903] = "\x89\xec", + [0x7904] = "\xe9\x4f", [0x7908] = "\xe9\x50", [0x790d] = "\xe9\x52", + [0x790e] = "\xe9\x53", [0x7910] = "\xe9\x55", [0x7911] = "\xe9\x51", + [0x7914] = "\xe9\x54", [0x7918] = "\x8a\xd9", [0x791c] = "\xe9\x56", + [0x791e] = "\xe9\x57", [0x792d] = "\xe9\x58", [0x792e] = "\xe9\x59", + [0x7932] = "\xe9\x5a", [0x7935] = "\xe9\x5c", [0x7939] = "\xe9\x5b", + [0x793b] = "\xe9\x5e", [0x793c] = "\xe9\x61", [0x7940] = "\xe9\x5d", + [0x7941] = "\xe9\x5f", [0x7942] = "\xe9\x60", [0x7945] = "\xe9\x62", + [0x7947] = "\x8b\xc0", [0x7986] = "\x8e\xf1", [0x7987] = "\xe9\x63", + [0x7988] = "\xe9\x64", [0x7989] = "\x8d\x81", [0x7995] = "\xe9\x65", + [0x7998] = "\x8a\x5d", [0x799c] = "\x94\x6e", [0x799d] = "\xe9\x66", + [0x799e] = "\xe9\x67", [0x79a3] = "\x92\x79", [0x79a4] = "\x93\xe9", + [0x79ac] = "\xe9\x68", [0x79b1] = "\x94\x9d", [0x79b4] = "\x91\xca", + [0x79b5] = "\x89\x77", [0x79b6] = "\x8b\xec", [0x79b8] = "\x8b\xed", + [0x79c0] = "\x92\x93", [0x79c1] = "\xe9\x6d", [0x79c2] = "\x8b\xee", + [0x79c5] = "\x89\xed", [0x79c8] = "\xe9\x6c", [0x79cb] = "\xe9\x6a", + [0x79cd] = "\xe9\x6b", [0x79cf] = "\xe9\x69", [0x79d2] = "\xe9\x77", + [0x79dd] = "\xe9\x6e", [0x79de] = "\xe9\x6f", [0x79e1] = "\xe9\x70", + [0x79e2] = "\xe9\x71", [0x79e8] = "\xe9\x73", [0x79eb] = "\xe9\x72", + [0x79ef] = "\x8f\x78", [0x79f1] = "\xe9\x74", [0x79f5] = "\xe9\x76", + [0x79fe] = "\x8b\x52", [0x79ff] = "\xe9\x75", [0x7a02] = "\x91\x9b", + [0x7a03] = "\x8c\xb1", [0x7a09] = "\xe9\x78", [0x7a18] = "\x91\xcb", + [0x7a1b] = "\xe9\x79", [0x7a20] = "\x93\xab", [0x7a27] = "\xe9\x7a", + [0x7a2e] = "\xe9\x80", [0x7a30] = "\xe9\x7d", [0x7a32] = "\xe9\x7c", + [0x7a33] = "\xe9\x7e", [0x7a35] = "\xe9\x7b", [0x7a3d] = "\xe9\x82", + [0x7a45] = "\xe9\x81", [0x7a47] = "\xe9\x84", [0x7a4a] = "\x8b\xc1", + [0x7a4b] = "\xe9\x83", [0x7a4f] = "\xe9\x85", [0x7a52] = "\xe9\x86", + [0x7a54] = "\xe9\x88", [0x7a55] = "\xe9\x87", [0x7a59] = "\xe9\x89", + [0x7a5a] = "\xe9\x8b", [0x7a5b] = "\xe9\x8a", [0x7a98] = "\x8d\x9c", + [0x7a9d] = "\xe9\x8c", [0x7aa0] = "\xe9\x8d", [0x7aa8] = "\x8a\x5b", + [0x7aac] = "\xe9\x8e", [0x7ab0] = "\xe9\x8f", [0x7ab4] = "\x90\x91", + [0x7abf] = "\xe9\x90", [0x7ac1] = "\xe9\x91", [0x7ac3] = "\xe9\x92", + [0x7ac4] = "\xe9\x93", [0x7ac8] = "\x8d\x82", [0x7ace] = "\xe9\x94", + [0x7acf] = "\xe9\x95", [0x7ad2] = "\xe9\x96", [0x7ad3] = "\xe9\x97", + [0x7ad6] = "\xe9\x98", [0x7ada] = "\x94\xaf", [0x7adb] = "\xe9\x9a", + [0x7add] = "\x95\x45", [0x7ade] = "\xe9\x9b", [0x7adf] = "\xe9\x99", + [0x7ae1] = "\xe9\x9d", [0x7ae4] = "\xe9\x9c", [0x7ae7] = "\xe9\x9e", + [0x7aeb] = "\xe9\x9f", [0x7af6] = "\xe9\xa0", [0x7b08] = "\xe9\xa1", + [0x7b0a] = "\xe9\xa2", [0x7b0f] = "\xe9\xa3", [0x7b12] = "\xe9\xa4", + [0x7b13] = "\xe9\xa5", [0x7b15] = "\xe9\xa6", [0x7b17] = "\xe9\xa7", + [0x7b18] = "\xe9\xa8", [0x7b19] = "\xe9\xa9", [0x7b1a] = "\xe9\xaa", + [0x7b1e] = "\xe9\xab", [0x7b1f] = "\xe9\xac", [0x7b21] = "\x9f\x54", + [0x7b22] = "\xe9\xad", [0x7b2b] = "\xe2\xf6", [0x7b2c] = "\x8b\x53", + [0x7b31] = "\x8a\x40", [0x7b32] = "\x8d\xb0", [0x7b33] = "\xe9\xaf", + [0x7b34] = "\xe9\xae", [0x7b35] = "\x96\xa3", [0x7b3d] = "\xe9\xb1", + [0x7b3e] = "\xe9\xb2", [0x7b3f] = "\xe9\xb0", [0x7b41] = "\xe9\xb3", + [0x7b44] = "\x96\x82", [0x7b48] = "\xe9\xb4", [0x7b4a] = "\x8b\x9b", + [0x7b5f] = "\x98\x44", [0x7b64] = "\xe9\xb5", [0x7b73] = "\xe9\xb7", + [0x7b7e] = "\x88\xbc", [0x7b81] = "\xe9\xb8", [0x7b82] = "\x95\xa9", + [0x7b83] = "\xe9\xb6", [0x7b86] = "\xe9\xb9", [0x7b87] = "\xe9\xba", + [0x7b8f] = "\xe9\xbb", [0x7b90] = "\xe9\xbc", [0x7b98] = "\xe9\xbd", + [0x7b9a] = "\x96\x8e", [0x7b9b] = "\x8e\x4c", [0x7b9d] = "\x8d\xf8", + [0x7b9e] = "\x91\x4e", [0x7ba4] = "\xe9\xbe", [0x7ba9] = "\xe9\xc1", + [0x7bb0] = "\xe9\xbf", [0x7bb6] = "\xe9\xc2", [0x7bb9] = "\x8c\xef", + [0x7bba] = "\xe9\xc0", [0x7bbf] = "\xe9\xc3", [0x7bc1] = "\xe9\xc4", + [0x7bc2] = "\xe9\xc5", [0x7bc4] = "\xe9\xc9", [0x7bc6] = "\x8e\x49", + [0x7bcb] = "\x91\xe2", [0x7bd1] = "\xe9\xca", [0x7bd2] = "\xe9\xc7", + [0x7bd3] = "\xe9\xc6", [0x7bd4] = "\xe9\xc8", [0x7bd8] = "\x8c\x7e", + [0x7be0] = "\xe9\xce", [0x7be1] = "\xe9\xcd", [0x7be2] = "\xe9\xcc", + [0x7be5] = "\x88\xb1", [0x7bf4] = "\xe9\xd8", [0x7bf6] = "\xe9\xd4", + [0x7bf8] = "\xe9\xd5", [0x7bf9] = "\xe9\xd1", [0x7bfa] = "\xe9\xd7", + [0x7bfc] = "\xe9\xd3", [0x7bfd] = "\x8a\x82", [0x7c00] = "\x98\x6b", + [0x7c02] = "\xe9\xd6", [0x7c03] = "\xe9\xd2", [0x7c04] = "\xe9\xd0", + [0x7c05] = "\xe9\xcf", [0x7c0b] = "\xe9\xda", [0x7c11] = "\xe9\xdd", + [0x7c14] = "\xe9\xdc", [0x7c15] = "\xe9\xdb", [0x7c1d] = "\x95\x68", + [0x7c1e] = "\xe9\xd9", [0x7c1f] = "\x88\xf1", [0x7c20] = "\xe9\xde", + [0x7c22] = "\xe9\xe0", [0x7c29] = "\x8a\x8f", [0x7c2a] = "\xe9\xcb", + [0x7c2b] = "\x89\x56", [0x7c2e] = "\xe9\xe2", [0x7c36] = "\xe9\xe1", + [0x7c37] = "\xe9\xdf", [0x7c38] = "\x92\x4c", [0x7c42] = "\x96\x90", + [0x7c47] = "\x97\xd8", [0x7c4a] = "\xe9\xe3", [0x7c50] = "\xe9\xe4", + [0x7c57] = "\xe9\xe5", [0x7c66] = "\xe9\xe6", [0x7c68] = "\xe9\xe7", + [0x7cd5] = "\x92\xb9", [0x7cd7] = "\xe9\xe8", [0x7cd9] = "\x94\xb5", + [0x7cdb] = "\xe9\xed", [0x7cdc] = "\xe9\xe9", [0x7ce0] = "\xe9\xea", + [0x7ce3] = "\x96\x50", [0x7ce4] = "\x96\xc2", [0x7ce6] = "\x93\xce", + [0x7cf3] = "\xe9\xee", [0x7cf6] = "\xe9\xef", [0x7cf7] = "\x93\xbc", + [0x7cf8] = "\xe9\xec", [0x7cf9] = "\xe9\xeb", [0x7cfe] = "\x89\xa8", + [0x7d02] = "\xe9\xf7", [0x7d05] = "\xe9\xf6", [0x7d0b] = "\x89\x95", + [0x7d0f] = "\xe9\xf4", [0x7d13] = "\xe9\xf3", [0x7d16] = "\xe9\xf1", + [0x7d18] = "\x8a\x9b", [0x7d1a] = "\xe9\xf0", [0x7d1b] = "\x8e\xb0", + [0x7d1c] = "\x89\xa7", [0x7d2b] = "\x8d\x83", [0x7d2e] = "\xe9\xfa", + [0x7d2f] = "\xe9\xf9", [0x7d31] = "\xe9\xf8", [0x7d34] = "\xe9\xf5", + [0x7d36] = "\xe9\xfb", [0x7d38] = "\xe9\xfc", [0x7d40] = "\xea\x44", + [0x7d41] = "\xea\x43", [0x7d49] = "\xea\x45", [0x7d4c] = "\x89\x4c", + [0x7d4d] = "\xea\x40", [0x7d4e] = "\xea\x41", [0x7d50] = "\x8d\x94", + [0x7d51] = "\x96\xb7", [0x7d54] = "\xea\x42", [0x7d5c] = "\x96\x51", + [0x7d5f] = "\xea\x4a", [0x7d62] = "\xea\x46", [0x7d6a] = "\xea\x4b", + [0x7d77] = "\xea\x48", [0x7d79] = "\xea\x47", [0x7d7f] = "\x8c\x7b", + [0x7d8a] = "\xea\x4c", [0x7d94] = "\xea\x4d", [0x7d99] = "\xea\x4e", + [0x7d9b] = "\xea\x49", [0x7d9f] = "\xe9\xf2", [0x7da2] = "\xea\x4f", + [0x7da4] = "\x92\xdf", [0x7da8] = "\xea\x53", [0x7daa] = "\xea\x54", + [0x7dab] = "\xea\x52", [0x7db1] = "\xea\x51", [0x7db2] = "\xea\x57", + [0x7db4] = "\xea\x50", [0x7db6] = "\xea\x55", [0x7dbf] = "\xea\x56", + [0x7dc3] = "\xea\x59", [0x7dc9] = "\xea\x58", [0x7dd6] = "\xea\x5b", + [0x7ddd] = "\xea\x5c", [0x7ddf] = "\xea\x5d", [0x7de2] = "\x98\x68", + [0x7de8] = "\xea\x5a", [0x7de9] = "\x91\xe9", [0x7dea] = "\x8d\xeb", + [0x7ded] = "\xea\x5e", [0x7e0a] = "\xea\x5f", [0x7e0b] = "\xea\x60", + [0x7e0e] = "\xea\x61", [0x7e65] = "\xea\x62", [0x7e68] = "\x8c\xb2", + [0x7e69] = "\xea\x63", [0x7e6d] = "\xea\x64", [0x7e6f] = "\x8e\xad", + [0x7e71] = "\xea\x65", [0x7e78] = "\xea\x66", [0x7e7b] = "\xea\x67", + [0x7e7c] = "\xea\x68", [0x7e81] = "\xea\x6b", [0x7e82] = "\xea\x69", + [0x7e83] = "\x98\x5b", [0x7e85] = "\xea\x6a", [0x7e87] = "\x97\xed", + [0x7e8d] = "\xea\x6c", [0x7e8f] = "\x97\xd9", [0x7e95] = "\xea\x6d", + [0x7e96] = "\x94\x9e", [0x7e99] = "\xea\x6e", [0x7e9a] = "\xea\x70", + [0x7e9d] = "\xea\x71", [0x7ea8] = "\xea\x6f", [0x7ea9] = "\x8d\x8d", + [0x7eaa] = "\x96\xcb", [0x7eab] = "\x96\x83", [0x7eac] = "\x9b\xf5", + [0x7eae] = "\x9f\x80", [0x7eaf] = "\x96\x9b", [0x7eb4] = "\x89\xa9", + [0x7ebc] = "\xea\x73", [0x7ebd] = "\x8b\x6f", [0x7ebe] = "\xea\x74", + [0x7ebf] = "\xea\x75", [0x7ec0] = "\xea\x76", [0x7ec2] = "\x8d\x95", + [0x7ec4] = "\xea\x77", [0x7ec8] = "\xe0\xd2", [0x7ec9] = "\x96\xd9", + [0x7ecb] = "\x91\xe1", [0x7ecc] = "\xea\x78", [0x7ecd] = "\xea\x7a", + [0x7ece] = "\xea\x79", [0x7ed0] = "\xea\x7b", [0x7ed5] = "\xea\x7c", + [0x7ed8] = "\xea\x7d", [0x7edf] = "\xea\x7e", [0x7ee4] = "\xea\x80", + [0x7ee6] = "\xea\x81", [0x7ee7] = "\xea\x82", [0x7ee9] = "\xea\x83", + [0x7eeb] = "\xea\x84", [0x7eec] = "\xea\x85", [0x7eed] = "\xea\x86", + [0x7ef7] = "\xea\x87", [0x7ef8] = "\xea\x88", [0x7efe] = "\x93\x43", + [0x7f03] = "\x8c\xdb", [0x7f05] = "\xea\x8a", [0x7f10] = "\x91\x6c", + [0x7f11] = "\xea\x8b", [0x7f1c] = "\xea\x8c", [0x7f2b] = "\x95\x40", + [0x7f2e] = "\xea\x8d", [0x7f3a] = "\xea\x8e", [0x7f3b] = "\xe2\x56", + [0x7f3e] = "\xe6\xd8", [0x7f3f] = "\xe8\xeb", [0x7f42] = "\xea\x8f", + [0x7f44] = "\xea\x90", [0x7f4f] = "\xea\x92", [0x7f50] = "\xea\x93", + [0x7f51] = "\xea\x94", [0x7f52] = "\x97\xee", [0x7f53] = "\xea\x91", + [0x7f56] = "\xea\x95", [0x7f57] = "\xea\x96", [0x7f5a] = "\xea\x98", + [0x7f5c] = "\xea\x97", [0x7f62] = "\xea\x9a", [0x7f66] = "\xea\x9b", + [0x7f67] = "\xea\x99", [0x7f7d] = "\x97\xb4", [0x7f85] = "\xea\x9c", + [0x7f8c] = "\xea\x9d", [0x7f8d] = "\xe2\x73", [0x7f90] = "\xea\x9e" +}; + + +/* Direction of the transformation. */ +enum direction +{ + illegal, + to_sjis, + from_sjis +}; + +struct sjis_data +{ + enum direction dir; +}; + + +int +gconv_init (struct gconv_step *step, struct gconv_step_data *data) +{ + /* Determine which direction. */ + struct sjis_data *new_data; + enum direction dir; + int result; + + if (__strcasestr (step->from_name, "SJIS") != NULL) + dir = from_sjis; + else if (__strcasestr (step->to_name, "SJIS") != NULL) + dir = to_sjis; + else + dir = illegal; + + result = GCONV_NOCONV; + if (dir != illegal + && ((new_data + = (struct sjis_data *) malloc (sizeof (struct sjis_data))) + != NULL)) + { + new_data->dir = dir; + data->data = new_data; + result = GCONV_OK; + } + + return result; +} + + +void +gconv_end (struct gconv_step_data *data) +{ + free (data->data); +} + + +int +gconv (struct gconv_step *step, struct gconv_step_data *data, + const char *inbuf, size_t *inbufsize, size_t *written, int do_flush) +{ + struct gconv_step *next_step = step + 1; + struct gconv_step_data *next_data = data + 1; + gconv_fct fct = next_step->fct; + size_t do_write; + int result; + + /* If the function is called with no input this means we have to reset + to the initial state. The possibly partly converted input is + dropped. */ + if (do_flush) + { + do_write = 0; + + /* Call the steps down the chain if there are any. */ + if (data->is_last) + result = GCONV_OK; + else + { + struct gconv_step *next_step = step + 1; + struct gconv_step_data *next_data = data + 1; + + result = (*fct) (next_step, next_data, NULL, 0, written, 1); + + /* Clear output buffer. */ + data->outbufavail = 0; + } + } + else + { + enum direction dir = ((struct sjis_data *) data->data)->dir; + + do_write = 0; + + do + { + result = GCONV_OK; + + if (dir == from_sjis) + { + size_t inchars = *inbufsize; + size_t outwchars = data->outbufavail; + char *outbuf = data->outbuf; + size_t cnt = 0; + + while (cnt < inchars + && (outwchars + sizeof (wchar_t) <= data->outbufsize)) + { + int inchar = inbuf[cnt]; + wchar_t ch; + + if (inchar == 0x5c) + ch = L'\xa5'; + else if (inchar == 0x7e) + ch = 0x203e; + else if (inchar < 0x7e) + ch = (wchar_t) inchar; + else if (inchar >= 0xa1 && inchar <= 0xdf) + ch = halfkana_to_ucs4[inchar - 0xa1]; + else if (inchar > 0xea || inchar == 0xa0 || inchar == 0x7f + || inchar == 0x80) + /* These are illegal. */ + ch = L'\0'; + else + { + /* Two-byte character. First test whether the next + character is also available. */ + int inchar2; + int idx; + + if (cnt + 1 >= inchars) + { + /* The second character is not available. Store + the intermediate result. */ + result = GCONV_INCOMPLETE_INPUT; + break; + } + + inchar2 = inbuf[++cnt]; + idx = inchar * 256 + inchar2; + if (idx < 0x8140 || (idx > 0x84be && idx < 0x889f) + || (idx > 0x89fc && idx < 0x9040) + || (idx > 0x9ffc && idx < 0xe040) || idx > 0xeaa4) + /* This is illegal. */ + ch = L'\0'; + else + { + /* We could pack the data a bit more dense. + The second byte will never be 0x7f and it + will also be never >0xfc. But this would + mean yet more `if's. */ + if (idx <= 0x84be) + ch = cjk_block1[(inchar - 0x81) * 192 + + inchar2 - 0x40]; + else if (idx <= 0x89fc) + ch = cjk_block2[(inchar - 0x88) * 192 + + inchar2 - 0x9f]; + else if (idx <= 0x9ffc) + ch = cjk_block3[(inchar - 0x90) * 192 + + inchar2 - 0x40]; + else + ch = cjk_block4[(inchar - 0xe0) * 192 + + inchar2 - 0x40]; + } + + if (ch == L'\0') + --cnt; + } + + if (ch == L'\0' && inbuf[cnt] != '\0') + { + /* This is an illegal character. */ + result = GCONV_ILLEGAL_INPUT; + break; + } + + *((wchar_t *) (outbuf + outwchars)) = ch; + ++do_write; + outwchars += sizeof (wchar_t); + ++cnt; + } + *inbufsize -= cnt; + data->outbufavail = outwchars; + } + else + { + size_t inwchars = *inbufsize; + size_t outchars = data->outbufavail; + char *outbuf = data->outbuf; + size_t cnt = 0; + int extra = 0; + + while (inwchars >= cnt + sizeof (wchar_t) + && outchars < data->outbufsize) + { + int ch = *((wchar_t *) (inbuf + cnt)); + const char *cp; + + if (ch >= (sizeof (from_ucs4_lat1) + / sizeof (from_ucs4_lat1[0]))) + { + if (ch >= 0x0391 && ch <= 0x0451) + cp = from_ucs4_greek[ch - 0x391]; + else if (ch >= 0x2010 && ch <= 0x9fa0) + cp = from_ucs4_cjk[ch - 0x02010]; + else + /* Illegal character. */ + break; + } + else + cp = from_ucs4_lat1[ch]; + + if (cp[0] == '\0' && ch != 0) + /* Illegal character. */ + break; + + outbuf[outchars] = cp[0]; + /* Now test for a possible second byte and write this + if possible. */ + if (cp[1] != '\0') + { + if (outchars + 1 >= data->outbufsize) + { + /* The result does not fit into the buffer. */ + extra = 1; + break; + } + outbuf[++outchars] = cp[1]; + } + + ++do_write; + ++outchars; + cnt += sizeof (wchar_t); + } + *inbufsize -= cnt; + data->outbufavail = outchars; + + if (outchars + extra < data->outbufsize) + { + /* If there is still room in the output buffer something + is wrong with the input. */ + if (inwchars >= cnt + sizeof (wchar_t)) + { + /* An error occurred. */ + result = GCONV_ILLEGAL_INPUT; + break; + } + if (inwchars != cnt) + { + /* There are some unprocessed bytes at the end of the + input buffer. */ + result = GCONV_INCOMPLETE_INPUT; + break; + } + } + } + + if (result != GCONV_OK) + break; + + if (data->is_last) + { + /* This is the last step. */ + result = (*inbufsize > (dir == from_sjis + ? 0 : sizeof (wchar_t) - 1) + ? GCONV_FULL_OUTPUT : GCONV_EMPTY_INPUT); + break; + } + + /* Status so far. */ + result = GCONV_EMPTY_INPUT; + + if (data->outbufavail > 0) + { + /* Call the functions below in the chain. */ + size_t newavail = data->outbufavail; + + result = (*fct) (next_step, next_data, data->outbuf, &newavail, + written, 0); + + /* Correct the output buffer. */ + if (newavail != data->outbufavail && newavail > 0) + { + memmove (data->outbuf, + &data->outbuf[data->outbufavail - newavail], + newavail); + data->outbufavail = newavail; + } + } + } + while (*inbufsize > 0 && result == GCONV_EMPTY_INPUT); + } + + if (written != NULL && data->is_last) + *written = do_write; + + return result; +} diff --git a/iconvdata/t61.c b/iconvdata/t61.c index 915b672d3e..c5bbc42a50 100644 --- a/iconvdata/t61.c +++ b/iconvdata/t61.c @@ -489,6 +489,10 @@ gconv (struct gconv_step *step, struct gconv_step_data *data, ch = L'\0'; else ch = to_ucs4_comb[inchar - 0xc1][inchar2 - 0x20]; + + if (ch == L'\0') + /* Undo the increment for illegal characters. */ + --cnt; } else ch = to_ucs4[inchar]; diff --git a/libio/stdio.h b/libio/stdio.h index 5ba8a30da6..99b61aae01 100644 --- a/libio/stdio.h +++ b/libio/stdio.h @@ -630,7 +630,7 @@ ferror_unlocked (FILE *__stream) /* Print a message describing the meaning of the value of errno. */ extern void perror __P ((__const char *__s)); -/* These variables normally should not be used directly. The `strftime' +/* These variables normally should not be used directly. The `strerror' function provides all the needed functionality. */ #ifdef __USE_BSD extern int sys_nerr; diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c index 416615a1b9..27c83cc0a7 100644 --- a/locale/programs/charmap.c +++ b/locale/programs/charmap.c @@ -44,7 +44,7 @@ #include "charmap-kw.h" -void *xmalloc (size_t __n); +extern void *xmalloc (size_t __n); /* Prototypes for local functions. */ static struct charset_t *parse_charmap (const char *filename); @@ -63,18 +63,23 @@ charmap_read (const char *filename) { if (euidaccess (filename, R_OK) >= 0) pathnfile = filename; - else + else if (filename[0] != '/') { char *cp = xmalloc (strlen (filename) + sizeof CHARMAP_PATH + 1); stpcpy (stpcpy (stpcpy (cp, CHARMAP_PATH), "/"), filename); pathnfile = (const char *) cp; } + else + pathnfile = NULL; - result = parse_charmap (pathnfile); + if (pathnfile != NULL) + { + result = parse_charmap (pathnfile); - if (result == NULL && !be_quiet) - error (0, errno, _("character map file `%s' not found"), filename); + if (result == NULL && !be_quiet) + error (0, errno, _("character map file `%s' not found"), filename); + } } if (result == NULL) @@ -111,31 +116,40 @@ charmap_read (const char *filename) { char junk[BUFSIZ]; - if (fscanf (fp, " <code_set_name> %as", &name) == 1) - break; + if (fscanf (fp, " <code_set_name> %as", &name) == 1 + || fscanf (fp, "%% alias %as", &name) == 1) + { + if (strcasecmp (name, filename) == 0) + break; + + free (name); + name = NULL; + } + + if (fgets (junk, sizeof junk, fp) != NULL) + { + if (strstr (junk, "CHARMAP") != NULL) + /* We cannot expect more aliases from now on. */ + break; - while (fgets (junk, sizeof junk, fp) != NULL - && strchr (junk, '\n') == NULL) - continue; + while (strchr (junk, '\n') == NULL + && fgets (junk, sizeof junk, fp) != NULL) + continue; + } } fclose (fp); if (name != NULL) { - if (strcmp (name, filename) == 0) - { - result = parse_charmap (buf); - - free (buf); + result = parse_charmap (buf); - if (result) - return result; + free (buf); - break; - } + if (result) + return result; - free (name); + break; } } } diff --git a/manual/Makefile b/manual/Makefile index 3546841118..34f894e49e 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -27,9 +27,13 @@ GAWK = gawk INSTALL_INFO = install-info .PHONY: all dvi info -all: dvi info +all: dvi dvi: libc.dvi + +ifneq ($(strip $(MAKEINFO)),) +all: info info: libc.info dir-add.info +endif # Get glibc's configuration info. ifneq (,$(wildcard ../Makeconfig)) diff --git a/math/libm-test.c b/math/libm-test.c index b7f265c038..a4b31a6929 100644 --- a/math/libm-test.c +++ b/math/libm-test.c @@ -53,11 +53,11 @@ scalb, scalbn, signbit, sin, sincos, sinh, sqrt, tan, tanh, trunc and for the following complex math functions: - cacos, cacosh, casin, casinh, catan, catanh, - ccos, ccosh, cexp, clog, cpow, csin, csinh, csqrt, ctanh. + cabs, cacos, cacosh, carg, casin, casinh, catan, catanh, + ccos, ccosh, cexp, clog, cpow, csin, csinh, csqrt, ctan, ctanh. At the moment the following functions aren't tested: - cabs, carg, conj, cproj, cimag, creal, ctan, drem, + conj, cproj, cimag, creal, drem, j0, j1, jn, y0, y1, yn, significand, nan, comparison macros (isless,isgreater,...). @@ -4044,6 +4044,145 @@ catanh_test (void) static void +ctan_test (void) +{ + __complex__ MATHTYPE result; + + result = FUNC(ctan) (BUILD_COMPLEX (0, 0)); + check ("real(ctan(0 + i0)) = 0", __real__ result, 0); + check ("imag(ctan(0 + i0)) = 0", __imag__ result, 0); + result = FUNC(ctan) (BUILD_COMPLEX (0, minus_zero)); + check ("real(ctan(0 - i0)) = 0", __real__ result, 0); + check ("imag(ctan(0 - i0)) = -0", __imag__ result, minus_zero); + result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, 0)); + check ("real(ctan(-0 + i0)) = -0", __real__ result, minus_zero); + check ("imag(ctan(-0 + i0)) = 0", __imag__ result, 0); + result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, minus_zero)); + check ("real(ctan(-0 - i0)) = -0", __real__ result, minus_zero); + check ("imag(ctan(-0 - i0)) = -0", __imag__ result, minus_zero); + + + result = FUNC(ctan) (BUILD_COMPLEX (0, plus_infty)); + check ("real(ctan(0 + i Inf)) = 0", __real__ result, 0); + check ("imag(ctan(0 + i Inf)) = 1", __imag__ result, 1); + result = FUNC(ctan) (BUILD_COMPLEX (1, plus_infty)); + check ("real(ctan(1 + i Inf)) = 0", __real__ result, 0); + check ("imag(ctan(1 + i Inf)) = 1", __imag__ result, 1); + result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, plus_infty)); + check ("real(ctan(-0 + i Inf)) = -0", __real__ result, minus_zero); + check ("imag(ctan(-0 + i Inf)) = 1", __imag__ result, 1); + result = FUNC(ctan) (BUILD_COMPLEX (-1, plus_infty)); + check ("real(ctan(-1 + i Inf)) = -0", __real__ result, minus_zero); + check ("imag(ctan(-1 + i Inf)) = 1", __imag__ result, 1); + + result = FUNC(ctan) (BUILD_COMPLEX (0, minus_infty)); + check ("real(ctan(0 - i Inf)) = 0", __real__ result, 0); + check ("imag(ctan(0 - i Inf)) = -1", __imag__ result, -1); + result = FUNC(ctan) (BUILD_COMPLEX (1, minus_infty)); + check ("real(ctan(1 - i Inf)) = 0", __real__ result, 0); + check ("imag(ctan(1 - i Inf)) = -1", __imag__ result, -1); + result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, minus_infty)); + check ("real(ctan(-0 - i Inf)) = -0", __real__ result, minus_zero); + check ("imag(ctan(-0 - i Inf)) = -1", __imag__ result, -1); + result = FUNC(ctan) (BUILD_COMPLEX (-1, minus_infty)); + check ("real(ctan(-1 - i Inf)) = -0", __real__ result, minus_zero); + check ("imag(ctan(-1 - i Inf)) = -1", __imag__ result, -1); + + result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, 0)); + check_isnan_exc ("real(ctan(Inf + i 0)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(Inf + i 0)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, 2)); + check_isnan_exc ("real(ctan(Inf + i 2)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(Inf + i 2)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, 0)); + check_isnan_exc ("real(ctan(-Inf + i 0)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(-Inf + i 0)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, 2)); + check_isnan_exc ("real(ctan(- Inf + i 2)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(- Inf + i 2)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, minus_zero)); + check_isnan_exc ("real(ctan(Inf - i 0)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(Inf - i 0)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, -2)); + check_isnan_exc ("real(ctan(Inf - i 2)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(Inf - i 2)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, minus_zero)); + check_isnan_exc ("real(ctan(-Inf - i 0)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(-Inf - i 0)) = NaN plus invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, -2)); + check_isnan_exc ("real(ctan(-Inf - i 2)) = NaN plus invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(-Inf - i 2)) = NaN plus invalid exception", + __imag__ result); + + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, plus_infty)); + check ("real(ctan(NaN + i Inf)) = +-0", FUNC(fabs) (__real__ result), 0); + check ("imag(ctan(NaN + i Inf)) = 1", __imag__ result, 1); + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, minus_infty)); + check ("real(ctan(NaN - i Inf)) = +-0", FUNC(fabs) (__real__ result), 0); + check ("imag(ctan(NaN - i Inf)) = -1", __imag__ result, -1); + + result = FUNC(ctan) (BUILD_COMPLEX (0, nan_value)); + check ("real(ctan(0 + i NaN)) = 0", __real__ result, 0); + check_isnan ("imag(ctan(0 + i NaN)) = NaN", __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, nan_value)); + check ("real(ctan(-0 + i NaN)) = -0", __real__ result, minus_zero); + check_isnan ("imag(ctan(-0 + i NaN)) = NaN", __imag__ result); + + result = FUNC(ctan) (BUILD_COMPLEX (0.5, nan_value)); + check_isnan_maybe_exc ("real(ctan(0.5 + i NaN)) = NaN plus maybe invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(0.5 + i NaN)) = NaN plus maybe invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (-4.5, nan_value)); + check_isnan_maybe_exc ("real(ctan(-4.5 + i NaN)) = NaN plus maybe invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(-4.5 + i NaN)) = NaN plus maybe invalid exception", + __imag__ result); + + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, 0)); + check_isnan_maybe_exc ("real(ctan(NaN + i 0)) = NaN plus maybe invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(NaN + i 0)) = NaN plus maybe invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, 5)); + check_isnan_maybe_exc ("real(ctan(NaN + i 5)) = NaN plus maybe invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(NaN + i 5)) = NaN plus maybe invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, minus_zero)); + check_isnan_maybe_exc ("real(ctan(NaN - i 0)) = NaN plus maybe invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctan(NaN - i 0)) = NaN plus maybe invalid exception", + __imag__ result); + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, -0.25)); + check_isnan_maybe_exc ("real(ctan(NaN -i 0.25)) = NaN plus maybe invalid exception", + __real__ result, INVALID_EXCEPTION); + check_isnan ("imag(ctanh(NaN -i 0.25)) = NaN plus maybe invalid exception", + __imag__ result); + + result = FUNC(ctan) (BUILD_COMPLEX (nan_value, nan_value)); + check_isnan ("real(ctan(NaN + i NaN)) = NaN", __real__ result); + check_isnan ("imag(ctan(NaN + i NaN)) = NaN", __imag__ result); + +} + + +static void ctanh_test (void) { __complex__ MATHTYPE result; @@ -4176,6 +4315,11 @@ ctanh_test (void) result = FUNC(ctanh) (BUILD_COMPLEX (nan_value, nan_value)); check_isnan ("real(ctanh(NaN + i NaN)) = NaN", __real__ result); check_isnan ("imag(ctanh(NaN + i NaN)) = NaN", __imag__ result); + + result = FUNC(ctanh) (BUILD_COMPLEX (0, M_PI_4)); + check ("real(ctanh (0 + i pi/4)) == 0", __real__ result, 0); + check_eps ("imag(ctanh (0 + i pi/4)) == 1", __imag__ result, 1, + CHOOSE (0, 0, 2e-7)); } @@ -4622,6 +4766,10 @@ csqrt_test (void) result = FUNC(csqrt) (BUILD_COMPLEX (nan_value, nan_value)); check_isnan ("real(csqrt(NaN + i NaN)) = NaN", __real__ result); check_isnan ("imag(csqrt(NaN + i NaN)) = NaN", __imag__ result); + + result = FUNC(csqrt) (BUILD_COMPLEX (-1, 0)); + check ("real(csqrt(1 + i0) = 0", __real__ result, 0); + check ("imag(csqrt(1 + i0) = 1", __imag__ result, 1); } @@ -4643,6 +4791,133 @@ cpow_test (void) static void +cabs_test (void) +{ + /* cabs (x + iy) is specified as hypot (x,y) */ + MATHTYPE a; + a = random_greater (0); + check_isinfp_ext ("cabs (+inf + i x) == +inf", + FUNC(cabs) (BUILD_COMPLEX (plus_infty, a)), a); + check_isinfp_ext ("cabs (-inf + i x) == +inf", + FUNC(cabs) (BUILD_COMPLEX (minus_infty, a)), a); + + check_isinfp ("cabs (+inf+ iNaN) == +inf", + FUNC(cabs) (BUILD_COMPLEX(minus_infty, nan_value))); + check_isinfp ("cabs (-inf+ iNaN) == +inf", + FUNC(cabs) (BUILD_COMPLEX(minus_infty, nan_value))); + + check_isnan ("cabs (NaN+ iNaN) == NaN", + FUNC(cabs) (BUILD_COMPLEX(nan_value, nan_value))); + + a = FUNC(cabs) (BUILD_COMPLEX (12.4L, 0.7L)); + check ("cabs (x,y) == cabs (y,x)", + FUNC(cabs) (BUILD_COMPLEX(0.7L, 12.4L)), a); + check ("cabs (x,y) == cabs (-x,y)", + FUNC(cabs) (BUILD_COMPLEX(-12.4L, 0.7L)), a); + check ("cabs (x,y) == cabs (-y,x)", + FUNC(cabs) (BUILD_COMPLEX(-0.7L, 12.4L)), a); + check ("cabs (x,y) == cabs (-x,-y)", + FUNC(cabs) (BUILD_COMPLEX(-12.4L, -0.7L)), a); + check ("cabs (x,y) == cabs (-y,-x)", + FUNC(cabs) (BUILD_COMPLEX(-0.7L, -12.4L)), a); + check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(-0.7L, 0)), 0.7L); + check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(0.7L, 0)), 0.7L); + check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(-1.0L, 0)), 1.0L); + check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(1.0L, 0)), 1.0L); + check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(-5.7e7L, 0)), + 5.7e7L); + check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(5.7e7L, 0)), + 5.7e7L); + +} + + +static void +carg_test (void) +{ + /* carg (x + iy) is specified as atan2 (y, x) */ + MATHTYPE x; + + x = random_greater (0); + check ("carg (x + i 0) == 0 for x > 0", + FUNC(carg) (BUILD_COMPLEX(x, 0)), 0); + x = random_greater (0); + check ("carg (x - i 0) == -0 for x > 0", + FUNC(carg) (BUILD_COMPLEX(x, minus_zero)), minus_zero); + + check ("carg (+0 + i 0) == +0", FUNC(carg) (BUILD_COMPLEX(0, 0)), 0); + check ("carg (+0 - i 0) == -0", FUNC(carg) (BUILD_COMPLEX(0, minus_zero)), + minus_zero); + + x = -random_greater (0); + check ("carg (x + i 0) == +pi for x < 0", FUNC(carg) (BUILD_COMPLEX(x, 0)), + M_PI); + + x = -random_greater (0); + check ("carg (x - i 0) == -pi for x < 0", + FUNC(carg) (BUILD_COMPLEX(x, minus_zero)), -M_PI); + + check ("carg (-0 + i 0) == +pi", FUNC(carg) (BUILD_COMPLEX(minus_zero, 0)), + M_PI); + check ("carg (-0 - i 0) == -pi", + FUNC(carg) (BUILD_COMPLEX(minus_zero, minus_zero)), -M_PI); + + x = random_greater (0); + check ("carg (+0 + i y) == pi/2 for y > 0", FUNC(carg) (BUILD_COMPLEX(0, x)), + M_PI_2); + + x = random_greater (0); + check ("carg (-0 + i y) == pi/2 for y > 0", + FUNC(carg) (BUILD_COMPLEX(minus_zero, x)), M_PI_2); + + x = random_less (0); + check ("carg (+0 + i y) == -pi/2 for y < 0", FUNC(carg) (BUILD_COMPLEX(0, x)), + -M_PI_2); + + x = random_less (0); + check ("carg (-0 + i y) == -pi/2 for y < 0", + FUNC(carg) (BUILD_COMPLEX(minus_zero, x)), -M_PI_2); + + x = random_greater (0); + check ("carg (inf + i y) == +0 for finite y > 0", + FUNC(carg) (BUILD_COMPLEX(plus_infty, x)), 0); + + x = -random_greater (0); + check ("carg (inf + i y) == -0 for finite y < 0", + FUNC(carg) (BUILD_COMPLEX(plus_infty, x)), minus_zero); + + x = random_value (-1e4, 1e4); + check ("carg(x + i inf) == pi/2 for finite x", + FUNC(carg) (BUILD_COMPLEX(x, plus_infty)), M_PI_2); + + x = random_value (-1e4, 1e4); + check ("carg(x - i inf) == -pi/2 for finite x", + FUNC(carg) (BUILD_COMPLEX(x, minus_infty)), -M_PI_2); + + x = random_greater (0); + check ("carg (-inf + i y) == +pi for finite y > 0", + FUNC(carg) (BUILD_COMPLEX(minus_infty, x)), M_PI); + + x = -random_greater (0); + check ("carg (-inf + i y) == -pi for finite y < 0", + FUNC(carg) (BUILD_COMPLEX(minus_infty, x)), -M_PI); + + check ("carg (+inf + i inf) == +pi/4", + FUNC(carg) (BUILD_COMPLEX(plus_infty, plus_infty)), M_PI_4); + + check ("carg (+inf -i inf) == -pi/4", + FUNC(carg) (BUILD_COMPLEX(plus_infty, minus_infty)), -M_PI_4); + + check ("carg (-inf +i inf) == +3*pi/4", + FUNC(carg) (BUILD_COMPLEX(minus_infty, plus_infty)), 3 * M_PI_4); + + check ("carg (-inf -i inf) == -3*pi/4", + FUNC(carg) (BUILD_COMPLEX(minus_infty, minus_infty)), -3 * M_PI_4); + +} + + +static void nearbyint_test (void) { check ("nearbyint(+0) = 0", FUNC(nearbyint) (0.0), 0.0); @@ -5266,6 +5541,8 @@ main (int argc, char *argv[]) fmax_test (); /* complex functions */ + cabs_test (); + carg_test (); cexp_test (); csin_test (); csinh_test (); @@ -5279,9 +5556,12 @@ main (int argc, char *argv[]) casinh_test (); catan_test (); catanh_test (); + ctan_test (); ctanh_test (); csqrt_test (); cpow_test (); + + /* multiply and add */ fma_test (); /* special tests */ diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h index 48f01e2d74..aff545636f 100644 --- a/misc/sys/syslog.h +++ b/misc/sys/syslog.h @@ -146,10 +146,6 @@ CODE facilitynames[] = }; #endif -#ifdef KERNEL -#define LOG_PRINTF -1 /* pseudo-priority to indicate use of printf */ -#endif - /* * arguments to setlogmask. */ @@ -169,24 +165,8 @@ CODE facilitynames[] = #define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */ #define LOG_PERROR 0x20 /* log to stderr as well */ -#ifndef KERNEL - -#if 0 -/* - * Don't use va_list in the vsyslog() prototype. Va_list is typedef'd in two - * places (<machine/varargs.h> and <machine/stdarg.h>), so if we include one - * of them here we may collide with the utility's includes. It's unreasonable - * for utilities to have to include one of them to include syslog.h, so we get - * _BSD_VA_LIST_ from <machine/ansi.h> and use it. - */ -#include <machine/ansi.h> -#elif !defined (_BSD_VA_LIST_) -/* In GNU we don't have a <machine/ansi.h> and it would be too painful to - emulate one. */ #define __need___va_list #include <stdarg.h> -#define _BSD_VA_LIST_ __gnuc_va_list -#endif #include <sys/cdefs.h> @@ -206,10 +186,9 @@ extern int setlogmask __P ((int __mask)); extern void syslog __P ((int __pri, __const char *__fmt, ...)); /* Generate a log message using FMT and using arguments pointed to by AP. */ -extern void vsyslog __P ((int __pri, __const char *__fmt, _BSD_VA_LIST_ __ap)); +extern void vsyslog __P ((int __pri, __const char *__fmt, + __gnuc_va_list __ap)); __END_DECLS -#endif /* !KERNEL */ - #endif /* sys/syslog.h */ diff --git a/posix/sys/wait.h b/posix/sys/wait.h index 9b5025ab83..bc2298f667 100644 --- a/posix/sys/wait.h +++ b/posix/sys/wait.h @@ -38,7 +38,7 @@ __BEGIN_DECLS /* Lots of hair to allow traditional BSD use of `union wait' as well as POSIX.1 use of `int' for the status word. */ -# ifdef __GNUC__ +# if defined __GNUC__ && !defined __cplusplus # define __WAIT_INT(status) \ (__extension__ ({ union { __typeof(status) __in; int __i; } __u; \ __u.__in = (status); __u.__i; })) diff --git a/sysdeps/alpha/__longjmp.S b/sysdeps/alpha/__longjmp.S index 34731172e1..7b639f5155 100644 --- a/sysdeps/alpha/__longjmp.S +++ b/sysdeps/alpha/__longjmp.S @@ -19,6 +19,8 @@ #define __ASSEMBLY__ #include <sysdep.h> +#define _ASM +#define _SETJMP_H #include <bits/setjmp.h> diff --git a/sysdeps/alpha/setjmp.S b/sysdeps/alpha/setjmp.S index ae3ceb517d..894bb9ecf0 100644 --- a/sysdeps/alpha/setjmp.S +++ b/sysdeps/alpha/setjmp.S @@ -19,6 +19,8 @@ #define __ASSEMBLY__ #include <sysdep.h> +#define _ASM +#define _SETJMP_H #include <bits/setjmp.h> .ent __sigsetjmp diff --git a/sysdeps/generic/bits/confname.h b/sysdeps/generic/bits/confname.h index 4653887468..3991fb1df4 100644 --- a/sysdeps/generic/bits/confname.h +++ b/sysdeps/generic/bits/confname.h @@ -326,11 +326,12 @@ enum /* Values for the NAME argument to `confstr'. */ enum { - _CS_PATH, /* The default search path. */ + _CS_PATH /* The default search path. */ #define _CS_PATH _CS_PATH #if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \ || defined __USE_LARGEFILE) + , _CS_LFS_CFLAGS = 1000, # define _CS_LFS_CFLAGS _CS_LFS_CFLAGS _CS_LFS_LDFLAGS, @@ -345,11 +346,12 @@ enum # define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS _CS_LFS64_LIBS, # define _CS_LFS64_LIBS _CS_LFS64_LIBS - _CS_LFS64_LINTFLAGS, + _CS_LFS64_LINTFLAGS # define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS #endif #ifdef __USE_UNIX98 + , _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, # define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS, @@ -380,7 +382,7 @@ enum # define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LIBS, # define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS - _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS # define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS #endif }; diff --git a/sysdeps/libm-ieee754/s_ctan.c b/sysdeps/libm-ieee754/s_ctan.c index c68c3ad3e4..f1ce9688bb 100644 --- a/sysdeps/libm-ieee754/s_ctan.c +++ b/sysdeps/libm-ieee754/s_ctan.c @@ -19,6 +19,7 @@ Boston, MA 02111-1307, USA. */ #include <complex.h> +#include <fenv.h> #include <math.h> #include "math_private.h" @@ -44,6 +45,11 @@ __ctan (__complex__ double x) { __real__ res = __nan (""); __imag__ res = __nan (""); + +#ifdef FE_INVALID + if (__isinf (__real__ x)) + feraiseexcept (FE_INVALID); +#endif } } else diff --git a/sysdeps/libm-ieee754/s_ctanf.c b/sysdeps/libm-ieee754/s_ctanf.c index 4209587b37..750d3511b9 100644 --- a/sysdeps/libm-ieee754/s_ctanf.c +++ b/sysdeps/libm-ieee754/s_ctanf.c @@ -19,6 +19,7 @@ Boston, MA 02111-1307, USA. */ #include <complex.h> +#include <fenv.h> #include <math.h> #include "math_private.h" @@ -44,6 +45,11 @@ __ctanf (__complex__ float x) { __real__ res = __nanf (""); __imag__ res = __nanf (""); + +#ifdef FE_INVALID + if (__isinff (__real__ x)) + feraiseexcept (FE_INVALID); +#endif } } else diff --git a/sysdeps/libm-ieee754/s_ctanl.c b/sysdeps/libm-ieee754/s_ctanl.c index 88c02da2ea..31ab3b48a6 100644 --- a/sysdeps/libm-ieee754/s_ctanl.c +++ b/sysdeps/libm-ieee754/s_ctanl.c @@ -19,6 +19,7 @@ Boston, MA 02111-1307, USA. */ #include <complex.h> +#include <fenv.h> #include <math.h> #include "math_private.h" @@ -44,6 +45,11 @@ __ctanl (__complex__ long double x) { __real__ res = __nanl (""); __imag__ res = __nanl (""); + +#ifdef FE_INVALID + if (__isinfl (__real__ x)) + feraiseexcept (FE_INVALID); +#endif } } else diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c index c7fda3eb2c..ef4cb84191 100644 --- a/sysdeps/posix/getcwd.c +++ b/sysdeps/posix/getcwd.c @@ -190,8 +190,8 @@ extern char *alloca (); # define __getcwd getcwd #endif -#ifndef GETCWD_STORAGE_CLASS -# define GETCWD_STORAGE_CLASS +#ifndef GETCWD_RETURN_TYPE +# define GETCWD_RETURN_TYPE char * #endif /* Get the pathname of the current working directory, and put it in SIZE @@ -200,8 +200,7 @@ extern char *alloca (); NULL, an array is allocated with `malloc'; the array is SIZE bytes long, unless SIZE <= 0, in which case it is as big as necessary. */ -GETCWD_STORAGE_CLASS -char * +GETCWD_RETURN_TYPE __getcwd (buf, size) char *buf; size_t size; diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist index 70baab50ee..340f8c641b 100644 --- a/sysdeps/unix/sysv/linux/Dist +++ b/sysdeps/unix/sysv/linux/Dist @@ -39,7 +39,6 @@ sys/io.h sys/kd.h sys/kdaemon.h sys/klog.h -sys/module.h sys/mount.h sys/mtio.h sys/prctl.h diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 7331b38588..253bc26e94 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -12,7 +12,7 @@ ifeq ($(subdir),misc) sysdep_routines += sysctl clone llseek sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \ - sys/module.h sys/io.h sys/klog.h sys/kdaemon.h \ + sys/io.h sys/klog.h sys/kdaemon.h \ sys/user.h sys/sysmacros.h sys/procfs.h sys/prctl.h \ sys/debugreg.h sys/kd.h sys/soundcard.h sys/vt.h \ sys/quota.h sys/fsuid.h bits/mman.h \ diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h index 093ac25096..6a99146b5a 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h @@ -22,7 +22,7 @@ /* The following corresponds to the values from the Linux 2.1.20 kernel. */ /* We need the definition of tcflag_t, cc_t, and speed_t. */ -#include <bits/termios.h> +#include <termios.h> #define __KERNEL_NCCS 19 diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list index 9e4cd39a8f..d3bc033b3d 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscalls.list +++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list @@ -20,7 +20,7 @@ osf_sigprocmask - osf_sigprocmask 2 __osf_sigprocmask getpeername - getpeername 3 __getpeername getpeername getpriority - getpriority 2 __getpriority getpriority mmap - mmap 6 __mmap mmap -llseek EXTRA lseek 3 llseek +llseek EXTRA lseek 3 __llseek llseek lseek64 pread EXTRA pread 4 __pread pread __pread64 pread64 pwrite EXTRA pwrite 4 __pwrite pwrite __pwrite64 pwrite64 diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h index 1d3817f68d..bfa7aae571 100644 --- a/sysdeps/unix/sysv/linux/bits/in.h +++ b/sysdeps/unix/sysv/linux/bits/in.h @@ -57,8 +57,10 @@ struct ip_mreq /* IPV6 socket options. */ #define IPV6_ADDRFORM 1 #define IPV6_PKTINFO 2 -#define IPV6_RXHOPOPTS 3 -#define IPV6_RXDSTOPTS 4 +#define IPV6_RXHOPOPTS 3 /* obsolete name */ +#define IPV6_RXDSTOPTS 4 /* obsolete name */ +#define IPV6_HOPOPTS IPV6_RXHOPOPTS /* new name */ +#define IPV6_DSTOPTS IPV6_RXDSTOPTS /* new name */ #define IPV6_RXSRCRT 5 #define IPV6_PKTOPTIONS 6 #define IPV6_CHECKSUM 7 diff --git a/sysdeps/unix/sysv/linux/getcwd.c b/sysdeps/unix/sysv/linux/getcwd.c index f3406d7916..ed649f8fef 100644 --- a/sysdeps/unix/sysv/linux/getcwd.c +++ b/sysdeps/unix/sysv/linux/getcwd.c @@ -110,6 +110,6 @@ __getcwd (char *buf, size_t size) weak_alias (__getcwd, getcwd) /* Get the code for the generic version. */ -#define GETCWD_STORAGE_CLASS static internal_function +#define GETCWD_RETURN_TYPE static char * internal_function #define __getcwd generic_getcwd #include <sysdeps/posix/getcwd.c> diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h index 80f4516344..efb0c84e5d 100644 --- a/sysdeps/unix/sysv/linux/net/if_arp.h +++ b/sysdeps/unix/sysv/linux/net/if_arp.h @@ -92,7 +92,6 @@ struct arphdr #define ARPHRD_PPP 512 #define ARPHRD_HDLC 513 /* (Cisco) HDLC. */ #define ARPHRD_LAPB 516 /* LAPB. */ -#define ARPHRD_ASH 517 /* ASH. */ #define ARPHRD_TUNNEL 768 /* IPIP tunnel. */ #define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel. */ @@ -101,8 +100,13 @@ struct arphdr #define ARPHRD_LOOPBACK 772 /* Loopback device. */ #define ARPHRD_LOCALTLK 773 /* Localtalk device. */ #define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface. */ -#define ARPHRD_BIF 775 /* AP1000 BIF. */ +#define ARPHRD_BIF 775 /* AP1000 BIF. */ #define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4. */ +#define ARPHRD_IPDDP 777 /* IP-in-DDP tunnel. */ +#define ARPHRD_IPGRE 778 /* GRE over IP. */ +#define ARPHRD_PIMREG 779 /* PIMSM register interface. */ +#define ARPHRD_HIPPI 780 /* High Performance Parallel I'face. */ +#define ARPHRD_ASH 781 /* (Nexus Electronics) Ash. */ /* ARP ioctl request. */ diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h index d1a40be33c..1bd2b159e8 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h @@ -74,8 +74,8 @@ struct termios { #define ICRNL 0000400 #define IXON 0001000 #define IXOFF 0002000 -#if !defined KERNEL || defined __USE_BSD - /* POSIX.1 doesn't want these... */ +/* POSIX.1 doesn't want these... */ +#ifdef __USE_BSD # define IXANY 0004000 # define IUCLC 0010000 # define IMAXBEL 0020000 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h index 7047e47a02..c797f49a84 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h @@ -34,10 +34,6 @@ struct termios tcflag_t c_lflag; /* local mode flags */ cc_t c_line; /* line discipline */ cc_t c_cc[NCCS]; /* control characters */ -#ifdef __KERNEL__ -# define SIZEOF_USER_TERMIOS sizeof (struct termios) - (2*sizeof (cc_t)) - cc_t _x_cc[2]; /* We need them to hold vmin/vtime */ -#endif }; /* c_cc characters */ @@ -61,16 +57,9 @@ struct termios #define VWERASE 14 #define VLNEXT 15 -/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is - * shared with eof/eol - */ -#ifdef __KERNEL__ -# define VMIN 16 -# define VTIME 17 -#else -# define VMIN VEOF -# define VTIME VEOL -#endif +/* User apps assume vmin/vtime is shared with eof/eol */ +#define VMIN VEOF +#define VTIME VEOL /* c_iflag bits */ #define IGNBRK 0x00000001 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list index d0bee8fa07..6491a9ccac 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list @@ -1,7 +1,7 @@ # File name Caller Syscall name # args Strong name Weak names # Whee! 64-bit systems naturally implement llseek. -llseek EXTRA lseek 3 llseek +llseek EXTRA lseek 3 __llseek llseek lseek64 pread EXTRA pread 4 __pread pread __pread64 pread64 pwrite EXTRA pwrite 4 __pwrite pwrite __pwrite64 pwrite64 diff --git a/sysdeps/unix/sysv/linux/sys/module.h b/sysdeps/unix/sysv/linux/sys/module.h deleted file mode 100644 index 0b47da29e7..0000000000 --- a/sysdeps/unix/sysv/linux/sys/module.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _SYS_MODULE_H - -#define _SYS_MODULE_H 1 -#include <features.h> - -#define __need_size_t -#include <stddef.h> - -#include <linux/module.h> - -__BEGIN_DECLS - -/* Return number of kernel symbols if TABLE == NULL, otherwise, return - kernel symbols in TABLE. TABLE must be large enough to hold all - kernel symbols. */ -extern int get_kernel_syms __P ((struct kernel_sym *__table)); - -/* Create a new module of name MODULE_NAME and of size SIZE bytes. - The return address is the starting address of the new module or -1L - if the module cannot be created (the return value needs to be cast - to (long) to detect the error condition). */ -extern unsigned long int create_module __P ((__const char *__module_name, - size_t __size)); - -/* Initialize the module called MODULE_NAME with the CONTENTSSIZE - bytes starting at address CONTENTS. CONTENTS normally contains the - text and data segment of the module (the bss is implicitly zeroed). - After copying the contents, the function pointed to by - ROUTINES.init is executed. When the module is no longer needed, - ROUTINES.cleanup is executed. SYMTAB is NULL if the module does - not want to export symbols by itself, or a pointer to a symbol - table if the module wants to register its own symbols. */ -extern int init_module __P ((__const char *__module_name, - __const void *__contents, size_t __contentssize, - struct mod_routines *__routines, - struct symbol_table *__symtab)); - -/* Delete the module named MODULE_NAME from the kernel. */ -extern int delete_module __P ((__const char *__module_name)); - -__END_DECLS - -#endif /* sys/module.h */ diff --git a/wcsmbs/wcrtomb.c b/wcsmbs/wcrtomb.c index 69c67705c3..63859e158a 100644 --- a/wcsmbs/wcrtomb.c +++ b/wcsmbs/wcrtomb.c @@ -40,7 +40,6 @@ static mbstate_t internal; size_t __wcrtomb (char *s, wchar_t wc, mbstate_t *ps) { - char fake[1]; size_t written = 0; if (ps == NULL) |